From 9f2d7f6e6b4211e0e63c749a20143ba4fa4a8214 Mon Sep 17 00:00:00 2001 From: wbt5 Date: Fri, 19 Jun 2020 22:22:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=81=AB=E7=8C=AB=E7=9B=B4?= =?UTF-8?q?=E6=92=AD=E5=BC=B9=E5=B9=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + README.md | 6 ++- danmu/danmaku/__init__.py | 4 +- .../__pycache__/__init__.cpython-38.pyc | Bin 2356 -> 0 bytes .../__pycache__/bilibili.cpython-38.pyc | Bin 2686 -> 0 bytes .../danmaku/__pycache__/douyu.cpython-38.pyc | Bin 1885 -> 0 bytes danmu/danmaku/__pycache__/huya.cpython-38.pyc | Bin 2589 -> 0 bytes .../__pycache__/kuaishou.cpython-38.pyc | Bin 9985 -> 0 bytes danmu/danmaku/huomao.py | 49 ++++++++++++++++++ .../tars/__pycache__/__init__.cpython-38.pyc | Bin 3151 -> 0 bytes .../tars/__pycache__/__packet.cpython-38.pyc | Bin 3219 -> 0 bytes .../tars/__pycache__/__tars.cpython-38.pyc | Bin 16056 -> 0 bytes .../tars/__pycache__/__tup.cpython-38.pyc | Bin 3463 -> 0 bytes .../tars/__pycache__/__util.cpython-38.pyc | Bin 9069 -> 0 bytes .../tars/__pycache__/exception.cpython-38.pyc | Bin 2875 -> 0 bytes 15 files changed, 57 insertions(+), 3 deletions(-) create mode 100644 .gitignore delete mode 100644 danmu/danmaku/__pycache__/__init__.cpython-38.pyc delete mode 100644 danmu/danmaku/__pycache__/bilibili.cpython-38.pyc delete mode 100644 danmu/danmaku/__pycache__/douyu.cpython-38.pyc delete mode 100644 danmu/danmaku/__pycache__/huya.cpython-38.pyc delete mode 100644 danmu/danmaku/__pycache__/kuaishou.cpython-38.pyc create mode 100644 danmu/danmaku/huomao.py delete mode 100644 danmu/danmaku/tars/__pycache__/__init__.cpython-38.pyc delete mode 100644 danmu/danmaku/tars/__pycache__/__packet.cpython-38.pyc delete mode 100644 danmu/danmaku/tars/__pycache__/__tars.cpython-38.pyc delete mode 100644 danmu/danmaku/tars/__pycache__/__tup.cpython-38.pyc delete mode 100644 danmu/danmaku/tars/__pycache__/__util.cpython-38.pyc delete mode 100644 danmu/danmaku/tars/__pycache__/exception.cpython-38.pyc diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..59fb926 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*/__pycache__/ \ No newline at end of file diff --git a/README.md b/README.md index 40c869b..078fcdb 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ **26** 个直播平台的直播源获取:斗鱼直播、虎牙直播、哔哩哔哩直播、战旗直播、网易 CC 直播、火猫直播、企鹅电竞、YY 直播、一直播、快手直播、花椒直播、映客直播、西瓜直播、触手直播、NOW 直播、抖音直播,爱奇艺直播、酷狗直播、龙珠直播、PPS 奇秀直播、六间房、17 直播、来疯直播、优酷轮播台、网易 look 直播、千帆直播。 - **4** 个直播平台的弹幕获取:斗鱼直播、虎牙直播、哔哩哔哩直播、快手直播。 + **5** 个直播平台的弹幕获取:斗鱼直播、虎牙直播、哔哩哔哩直播、快手直播、火猫直播。 ## 运行 @@ -23,7 +23,9 @@ ## 更新 -### 2020.06.18:新增弹幕功能 +### 2020.06.19:新增火猫直播弹幕获取 + +2020.06.18:新增弹幕功能 - 添加斗鱼、虎牙、哔哩哔哩和快手 4 个平台的弹幕获取。后续添加其他平台。 - 实现弹幕功能的代码和思路主要来自:[danmaku](https://github.com/IsoaSFlus/danmaku) 和 [ks_barrage](https://github.com/py-wuhao/ks_barrage),感谢两位大佬! diff --git a/danmu/danmaku/__init__.py b/danmu/danmaku/__init__.py index 9e3cee7..cd26fa4 100644 --- a/danmu/danmaku/__init__.py +++ b/danmu/danmaku/__init__.py @@ -6,6 +6,7 @@ from .bilibili import Bilibili from .douyu import Douyu from .huya import Huya from .kuaishou import KuaiShou +from .huomao import HuoMao __all__ = ['DanmakuClient'] @@ -26,7 +27,8 @@ class DanmakuClient: for u, s in {'douyu.com': Douyu, 'live.bilibili.com': Bilibili, 'huya.com': Huya, - 'kuaishou.com': KuaiShou}.items(): + 'huomao.com': HuoMao, + 'kuaishou.com': KuaiShou,}.items(): if re.match(r'^(?:http[s]?://)?.*?%s/(.+?)$' % u, url): self.__site = s break diff --git a/danmu/danmaku/__pycache__/__init__.cpython-38.pyc b/danmu/danmaku/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 701c26aff6f22061c732dc0729b9e85f0c13de10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2356 zcmZuz-EJF26rS1N@!D>aw6vjBp)D=y(l$nbxTvb8A`!IwL=^!Q7TRUwna1nvu9KPB zhFFe-)bavcb79}n7eL(e7JJK8c?2X7=ZxbdHmo&g&Ybx>=bLZN_{(N9An@Jz?a#+| z7$JXP4C_L^$LAb7(!Yq6VkyB&@xJUC7!?3NoY>`ykEI4Je?ytG#ls1jV^m?j_jy zNtvYUonBcrSCb-7w#t<(6@_l&630Ia8h4?n_dp1OZiCB|ThB>kbDKL*JKW_S)Gqfq zgWBUY9zgB$I=I!4K1^*R7L(5f1@#FQN0uxG4veRi?EJJ-3`iID*<$h+eS!ziz^YF|nH$cJ4*Y}A>T4DG@Qc3R(R%w< ztMw8C?K5mCYyu@n==5tG!Cz|k^8S35J{3!NC|Hb%b>Kvd*4TnGQE(=vb>Z=~&5JwzaCj>)+$luCO==vIyr*^|n~5a~`u%ZjQOL|%Y3|5|Bv zdbw!rZs^v7y>=&&`2*SOindm*&-PY&T(qP}vYRlq#ew;yk-+~}9H&L9<9KO%uVRzN z30P9y070lX^}9%!6;NyZ`+LEeGra+2)S>+|Q%A8hS*(pWbMhe`Sbm41J_P}cBSTewStl>(TIkCLtQyrf zg^qU>1oxyT>tK;hGzVa6_lg35kr-qZC{gfuV^0eeI&u-mcrXTVifU49#yru9ir7Ro zV2{OXINdkk?W#ASp^*55F4EHgNB@;+Fb>8|VS%_HAq*DxKtU|js-{B|eb+gPuYc|! zW;;ZyM=4={I__U9l$wNkT-4XKRhzs7(pXS0&<9(vpu*MHLMPcn>Fd}1yK}MVD9pe_- zYhOrA{bAi;H^yWh3}e&+F4}OF;#_T34l+Z|L0@HWms-AoqpqO14B~)Gl?_893obj& zXF+T}5peZ^VCEgdcSbFMKpYpKoB$Fn(mAO6=cmz}nl}X~5(?9d0Tiz<1Wk?wZHP6r zF_jOU5gAz%IF3l;8uv{!mA9Gbj*t?`Ew7`viURY^u`A$0rjvRZjLQ5i0FNE;-}|S3 zYT9ozZY^Y(W{M;iaa;v)ocDN{q27ogpC;M3N4}1mAd<&+zj?Uvvw1`dKAd`~e<;Ew<7ILWd&HrpJF-Z){h Y0J}Yo;tn2wLQa4akSQC~{4CG@7duQX0{{R3 diff --git a/danmu/danmaku/__pycache__/bilibili.cpython-38.pyc b/danmu/danmaku/__pycache__/bilibili.cpython-38.pyc deleted file mode 100644 index ed65ea8646e6867c6e4abf64d8e6e71a17e56e62..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2686 zcmZ`*O>Er86`mOmxg`@ZJ@;S)##{>+P_DTdDb)AKji5LwiTC(s z-kbMk-pu=k@6ONr1fI`6{`6OWuM_egY@B{9X#4~yUjrtHpj{GHUm8+qvo7mdq1EFd zr&Yfl+NGTnI#-FX1pj~te!#+-ptnfVJ_0{vtH})S$L&4i3{(8JvG??I68F2%D+$I5 znV_L1SjdGH+R_nR*dLGs8rDE|M6Hxv;X)M8xNAu_*#;WDdOy!EwOZRMi$y!mb$9FP*o%LGza64bE;=f25go4O`=r6PFUD?*FH_Ff5)uYSM+eY;lPYr}Qpnm}6 zp8^xKAQMQ;lnQHwoF!w@A!DlPgiXmCWD}Bfjr{SiV^*+HBbOX+E(FYvN32 zc2hd$1s8mU2z!N$ZOwOUg{@s&uJ$J0lq^Gp11enMJ+y=`=6=T}z6fBPqvyoD4hjdf zb+BP#;Vi*E(Kui;$wjGfV2(~fC-a3frIg$zKO{e&#ebXJ`AS>YcNYqJk3pIjw?-Ft zwC-bm<9>3Xo9xRk=T&8p-2Lyh-o`IBq9jf9j}!5ur?ho+43FU=*0HHoO3@+Y@P&VV z^vT*xc(Qhc*=}0KL5oBfYnX`8?W;^@`%*R8Q~LT-dZ|f`pUZx%Vx6hn*m2%Yk`a3| zIcng>aA3HvN4Qb=BjHvB|8x= zIXAU@7LF^K_d~Bt0R~kbj8rbLKNIx|e4ehicCwyq-QU)&n-Adls@_eN;mOQf*B`7y z_?D7!_d5`vCE~O)Y@M9){sS`ytBUUDum$%rsCANKZ4tIaIbEX5@CG0;klBAZ zXP-Mj++L>cF)N83bM_h=Ew6o1IH%lwsU$GtSQ6_%`M)7ASO7o_$O7V{Rb7^eV8Z$> zTY4(Z5E$hclu z#XLYvZI2x?^`Wj!+yWtF0bvC}MFbD|#48pio|p$%t4~=`7YmmOav0~8<1Uu^hFGlL z4(nJ`hOmY3b;$bXO8rtorVRW%Cl*UD%isn5mg71MMu0W={l;aI-kkZLEB*hbv|9jR z#pq{d4W88vz6-P+i?5?$T=**l?k<)>TM-;J){x*FDQZ@jgB56X^$iX*kxisqn(s!!+(eU&(9j4B`P+aWo9)5F?@rMimxl=%W+3|9V*( z@-$1Ou~dA&X{jH8R=t6&1+3{SypN5y@qSzOH6WyV0d+58Cm+E*YJ4HVPal9RH=ay~ zJqbuG)mbzb`o_xTz)%VQ1wBKBp^33zn4!BRW>)OmIK^^uLPnr{3EKGx7-1aH4qnFS zDs9m7fPM_VKH#7W7>HQNS)IAmFD;h9q7D{5=<21eQ6eXYmJe-4*s()h;4Z6!$E9P3 z;fO~0`pjnmw3g@@HhS&^K{097yteS4C5mv{qR9AB)XT)Mi*gV}gJImQG-?%QZZH{2 zZ_8Ml#S?K8kJf(NH9@XpowR#W?_@%~3Ih}(@u{TXm7*{+Y8q~h0lZ9IJs8Cwk~hF@<6C%^l=dx-gRFW!MK;JmAr|Cl4FgyklzN7YyA%wimPP+ diff --git a/danmu/danmaku/__pycache__/douyu.cpython-38.pyc b/danmu/danmaku/__pycache__/douyu.cpython-38.pyc deleted file mode 100644 index 296c315a139d88466183b7a80381287174784e23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1885 zcmbtV&2t+y6qmHx4?A{}wrN8c7=ovVnrX9TXlV%vm?;eOK&H@PC?4p})=zOZS?{`% zOdEI2CFMWh#K(+%1!;K?HT{(p-w;o!ac0(JuB9ET*KJ=da^m}hVX*TNw$KzlA zynWjzQq?q7GQ|wcD6kbWp_)$Fj9enuF&`h0Z*NRk!KMy4niuqdE|VF3 zsyjPz3TNuhj%+7fds82H!DkFy>+4f;nS6Al{g~V$|Kt? z;n_$B3~Ebc;uk*Duas-yP3tg+H*GAFQsPeM3V%i^foADt{{MN=jooJ9ZZpjP!qy`i z9zMY_UfR)mXy0J)EcM}dp(PV&t)KfG9=v+~%A_rAj>pSY^3%MZWK!G>Wu6Zb=xiFA z9M;g_5Z{L=j>Nu{abwj>lE2F58K17s?&e9>m-%QIVt~%(xDod4df^QmVSC=VYM3V4 z_;Hfki<#!NG!dD;DU?d`%s73ajia~_<6#{-yrT8FmPse#Y&yAvKE-F)KV4zB7MTNGv!b#Y`>^~jWx7PU~ZXA zU1&ga#%8oU<-t5G%&?YVaf6^|4^ABMCpQS3f+aW&XTEo)9$GA~5O}V%T|rwq^$YYu zv3l+Hp6RGug)SNjMGKR=o0=~xLZV+u_qq&2zwGB_!dz>!G4 zE~3cPqiB%BD7E`W6x|)gX{C|NHf(K2#8Tf8u{I~3Zm-)MeHo{wp>(X1-azP`9HhOM zeA5zJRmaGxW$k0)7mlcTBmv%(GtL;TpJKGswY@5dm#nd^A>(0h81;173rdq?F3Sk3 X)+*Sj?*EqUP0D^V0<5!uHk`i!=u6*j diff --git a/danmu/danmaku/__pycache__/huya.cpython-38.pyc b/danmu/danmaku/__pycache__/huya.cpython-38.pyc deleted file mode 100644 index f01a6944cf85e0ef5dfaacd461e3bdedcbe54763..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2589 zcmaJ@&2t+?7Vn;(kwzc>h~t=Li;rOs5RpVOI5rL#mN-j@3tP#?&ax#w#8}<7#vaXx z?j9VeMwbo6fr2}=m4kGHDvIL7KR^}dJ@=K9IqjJX``*YTa!Bn=&2PHj>wd5M&3nI| zJ5y6d0$1;+Up^d^3Hcd2lNW=|oA9VA04JP=q%nTe2IUrKq19mxM#zd1&W& z{!;>Nm%HGmVC)-7&+k8Zq|~dmT8l?Vs_J)xY8#~0R@|wnE_!266B58Xm}M8&Hvi$q zQ5Zxb3HD}gMt78uH-sDt}$}j@Q6f3-|u}1@R>%cz%RO-3QG+8Bk7B zG9=s@QO=$uPmnT3i|4+y9>{kGc4`mp(aE@h zqn#lHD24Yye#8d3G&h7mjp!hsX$p_gxS6K-7){|_vP}MdV*57vCwa853&Y}w42o%S zSki@qGB4?=G=GndASX^_)7<6diT(_q;?t-4GpG7xJ_|P7Q#Q){49E(P$mV!y!cLi= z9rsVxR7y+Pnr3+k_K)is_s?(_RyH>xnT!t4f*gC45K7BpnM?k@h;;w6t+*eAp-N><)q2Id+U@SWTwboOu6kSXZV(D@+u!qLa55Q+EZ-JB7gF`l`n_Hf@K?PHFPwjG z@zRwKE>vES7Gz%k+|JEg+Z%uLF1$Xe>z~`cv;If1#01_s#)*a;W1$|~2o6FHArDYl zFplbmfi`(Rh%str>RK2;Xtsq?K^z&jFSN0>xT}pNg~=%>wpQB|w(e~1Y;11S-!jg= zjFYZJ7me8+po*J`?k0L$OW}8nb0h;Tj1xq9<+5S$YUFq0I23*a#pRQG+dom%w?A`%x#!&_7IS8DVvMrUXlG9;s#!?Zq=-QLO?H%cgUdMXcX!Hb?(N zr|B#$o;)vFE}e%q-t*%YNT6*^)BY^7V|BvhDN@4EhtD;5)PDeg$br~_$Sq9{=sgA$ z#Rfq10|s5iIu<_1Nvi!O#YBsDdS~6bss1$Dsu++^tcCfSV(hN&Z!NBJX3GMwoYA` z&Tqn_<^diaIJj*%bQnys`%hS0RSmo z(*roefY{j(OpfqCwCl0}+Uv$n^xkU4HjrX)q+rU+rvOZD><;Rf1+mJqX$%$Ax;Xke zP{C#BDcl30{pbJhGONE&se?DS*^K;-Xf{o;+3dtT39(&nHa|}MaIBFvFgoEE^I2xj zZQS(|bTh{;&Ds)w9x{r!E-_Ivf(hsN{`}6+K?# zGKyCKj18`o#6KCspgFP6Y>UN*ANwU3qdWj&&Dl1^yJ*eR1*okBsJsQJu4$_b_1B+y zB>weELE>+WL=*C51P{OzfS9G;h2INv=0S4EvVQCLc0WQxf{6-#zW5 zzqfll0wCo&Q*dr?_w9T8=iU3aZ+X78HLTz_`?LSNbgy4g{(~CzKOY*$@K~o&Fomgk zB_-c#N)>G_rHQvM1RHszoOhwQvuZdEFkJZ)Pu|rb%TX4de||}R5H2bLaAc;F_59| z4jQ#?)Us;bY@MjL;Q1LI%Ro<6S;Yp|RHpSRD=PEZYE`|V_9!c211#{awxZeEs&7ph zRwfh{JgvO*FDt&P@3LN1sv0w1*F5;!E4uAp4X{vEUk$Fg*lXH~-!@i5RX+>&Dr@SB zAGH?D6~H@!cM$K^UWIyBjCo}x#G)(VYH&5YrmVEEwv|XVAnL8GeI;tQtVRHDtF{SP zdo^5b=~1c?Jgs=5c-pb{j%sMNwc4?!s>%iBkn)_nmTBeUmUh*shUPRdu%i+LJMO>n zqxC=k%WIZ(|IT}N-}u{4@2uT@>BDf${f+W@>!{Zv;JxpDeD}={YTy2N{RiK?`_{+n z?|!uYS1)=P)23bF#U_$#=4`T*T{P|UJZ~MvR82%QEH~%VEMsS^qxar_|I<%iy!-x| zWfs}pw?4Z2`VYL}2{WI&Y9?)NW(pImacOpG(JVHC%9(jHoom87TF&rHAy(n}P2|ti z{@QQwTi&~1+hyx$e}Cb?d~VKKC|x^{EfxCbuJzNz{mZYOEiLEr`Aq+z0|T*rxpNDp zqWK50v2*8RvL2gC#s&w|16b#x89STF65wJyHd-#{%?sx2nVj7}GBA8#@W9ZK*uFET zXU|!Y%d*0+$u2k$F9K-}?OS8GW**|z_bm;KGSTZx0;WQlRr5+Zx(GQFjgup=FCJ~ zb%G0KhGDwphpt&CO_NO&=SqD?_Z@g5zQ2!lJAOT9*_^b=iPW>*@e5Wvtqot+3IWmh zg}VC}YWQu{($MN`5wD|r<59$y2Hm}=`e%V5=KVQl)%L$mpYzfPz37i&Cq}{LV1Ty6^geKnU`0#O4KAvMd zNLWG3oj~WNRZfLBx62Lmb6Pnk6X}FJK}`7}Cib9w9h9#j`5Kn5Lr&10S+++U)w-?l zy%^`SvHpcp!R)^_Yxkd9$}VJh;T$hrHnX3xl~xlSX0-EU_<%Ifx&}A!-qx=ANl>! z<6|erPo6qG@$8w&vx(=XXU;!=;o?_PX*M^XTg+dnT)n>RC_)5l?O2+lrgQhP;CR6C z^GtExbOLy>Qo#vi7fQLT$s>g2%R$g}J6AB{J|{@*w@jPwK^K3F3i?E{c!X*@QHX$X}{UW?Z0Ik3pc+Y|;bq4phrmd>XSX1GT!cQpzqh*`E zmZuaJ0ZuD$)Kz~~TMew?`>D#6XX)#(DE``5`@6mstr)3qNo>LtU$GC6nLi zfo10QteLSbr^BmHfLZ)%ChtTnJ7edv1=C(AF&@KmgbeeiskXU#Q4hkM$;s#wd-Vz7zzP;=L3iG#11=K!S;PkcC+b-Uf@X zR=h*(F%q&@)Kr*tuuec)SQqQYJHmFbop`sh9<~ebDC=dr@or-eu|0UVvxnJUygS$< zEQWU{dzAIz-Nm9XEsyg~#98G(!M|q6YA{yt6@Q4{V?{m=kih-stm+ueI412iye$MWRGEfkc+v3PcVAzBZEgKKx1{Jxx%a~7I_amdSw`kZ z3m!EA>x}wlC`=uL1A|9neaW%(>G9F&nd9T5GwIQ>GkyCTs0RmzB+~fw^wjj0&O@?u zB5`u6sc&dtz$Hw~j8CVhr>4$sGyKq?i*<5*{6zZP`Q+)o{jtYl0N;K4!}Xv3c>Tw3 zHJw&y2QV%-HFP#HsY;L~^DX^RSC~>il>znVvc~ zp4d9tVV7AFXKZpRxdmr<@SxoC^u&qr^w{aq#Hp<~!|pi8$7ddh;tnHFwwq{V*yX#} zTJqfZ*u>~0xH~p=K7moE5+^54rIRzGGvj^U$CU9E832BciYHLi$Ofg_;MU8~FpAEF z>;DqLcuzrV9J`JDn$+msod`p zg!w4UDPAHa1?*{p;X%MA;3okmrCneF2|Y$;AXrrwef%UK2#ZBPb+WhzmqjmpB|9Jn-tM~rlC+qM1 zS?ycjx&PsZaUD(v+!g%h7l7l0#;<41vW?GkTayM+HJiChh~&hr-6#}rlQBBLAyi|{3lUelLP#1OnxUDnzt(U2XJcft!CzN^t z9{GwY4hzy(2#>qmiG!bcJyxpNvC>>j#P|>-60kaX8>eO(h3f@4`8xg_6`RqI2z;Ig z?0a}DIv3F1yYbMGX}POWl7#Rkwn!4~cZ}%C1>g&-iw2*@UW604tYM!DPcYguJxZ?v ze@MYS=TnsO(i%Nvngj zLP@u#32mm)BB1*fpmIGpLWwz|i`q?oYN8n;5ap9nsi!#CAbDBWRJT zyQx|ug0@4@cDS^mZD~6N?M*@3C1|;z?Gm(IE^T;Q+HOI6%iGHicP~2y{8KSzj~Mgk zV$2>fW{*2&%eG_g0g5nxzTaUP0UI(nhwSRgkFES=0?|c2_ACxx4Zc$dKoc z+^|GOF#FeEhaG%-{f)nVHu>o%A0WV=s}!?j@nXp_B-AKzb*^G9JT85~K8|!++#70Z z0#l-`zxvOJm%KBBn2~u@+omxKay{!e-|!9@9)VOmVadsZrn*@U>8{Mug^ZnD$Q9?u zN|mC`$=u^qBfBP%9~9tJJ0-1v1_wvM{%aZlY&SN&QxfZdd?q!p#>4(P~oVKo~lUG*#3 z07k@G+?Mcr@qmmizJ#T63NZLZD!xKRii##fcNnlw@L1HT7<3rZ;Reb1HG~*wQMf@4 za<8aMoV_k?{hLnxMDM{UJn3z8Ds|h;k|){tHKdGw4Jh;k772-bAC4KgXpojt*dIzA zk$qHgus||M*glF)L^cexpcnCrMh6bJpCTaJqar&>R6#&r^Pq+c z4FS3;$G`|kFbUiiK!51rMqFqsp#SROMg>$sstH#du7*deIyAg3A>$m<4o5>?R)jtx z+aj_$B=MAJxe5V1ov{{#yd#z@aeF#bT;#LpPx-T@{D!a_l$xh7^L9Xrs0a~qG)y}s zpG4AhLu7>bQW$hQ=mtsLQSt=|s-2Z9t`biwI{CFuKUuIO;#TWoFMN zxa|0CrsvnUnX(92_`y?dqr(61Dd}|3S~unH#$DDMh=#dH)4bEb3urt*)0U+Se?d)~ z@${fxzb<=Fsb8dxxV3E11EWq4QY~dz(QK}q$xpZnK?(kpxR$|PnLKCdP2w%=AFlwh z*~r;|wG)qIoZl>~;v7Y?xwnyb&Dyese}0TBr1L#g9>BkMek=Zc5laQT2kY~BmP*>0 zPy>H)#`3%{FB6kC4GpIz85(|t3OaIei;C@-nMX&Am`R@Ga}=K#+Ska??Y!KBnfgmi zvOQA~Xu76#i&!4>M6KQdd>zowa{yQ6M`~j0H$7;*1Na*cTJHcp0aQAkdI#`t9P{n^cXO*ULF> zo~Ur#50r|0j(}}hamhM^>oD9KAfGc&&@L-qvQNlZbOXQEN7`2!3 zCi&W08?`&=E_f6b8lkrwI$TxeCTgD|4*b&fmygSD&x?1Q9b)2K)-tB=XHb+5wZ z(v8di@oW>1)kT^OS&bGRss|KpU<4V;yuCTUUv@2R+JNDG^jM5`lMUYO`Me|As*4Hgofq7TxA7b2He1X}B zN8XGsue6m=)hDinL&dMD5Rnln zQ|%clD1yrs@Lh#Q)jH7>N`P=tMPmQo(IoZBDZfJT8y}i~gl1glls=Lv&K}epUv`1V zTjbFrLjbiXE)V6wgF-Y%z3!+>j=Ic6D5_p-cG3jCgq2t)P@#kr{n72jW?&h?y)&IE zcDpx<8_Bv(wHxU=x|b#$=>`QQY?@P|@@N*vRZ%ym>bajG}OGGsH^Sbec~PXp#yM zHIGn@!ehDLOH?~d1x3G{0!&UJAEzLUQhb-&n_FL4~VY10a5t=LYD04;(PDVj7zR0D1{T$G?Rbgh^a)gkFt zMt07FG)un{w^{WSy6S&Mkwhi245k!@n)A=)J7;D%GtbNAf`sSiTW@}|bCUFijP#?z zc!(7Kh!>MAiOEdyWM8oqnewWq`kJMQyoS7P=_0RthM%)?vh-MD2FtyYSnfixOlBTQ zt^B!ucjxZT?msg6Y{`ihM|}_f)n6SR{xlfI(NV-*$A?rS>6bW4Yh}`&5Bi5r@6?TY z=wt5DU_C?%pQ3wLvSfIzzzg^dFBDh3P%Ra<$~4%TtHIV_>&$>{xH@bdc8-~_P1ksl zgOY=iX9Xw)C?*sWN|BYIl%V9HN(ssm zTZXa>r3|GEWra1NG@(?WRG_S~H7ILPs!*y>*4YM>4Jb7zH7GaOCX`JmbtrWxH`x}H zEhr5r4JfzRHk55BOHh{FW%ddC^p$iWTPw)lW}k_C6Zy~C9g$yUUtre0Ow0%a-wU|= z-k8%wiZL%CGZ}Lxqm^>LHfgm(^Ol<4&ZU}|wmoos*S3>_ZTkU>J<6AC`;XZ1#wC{$ zFQQlR`u9ouB=Ft#pWUc^IO?4^+&|>O3%3`A?PsG$0dw0}INsMW_u9-E__269r*WH{ zXxnyw(2s0;XE@@tux}!T3SOox>`Za3&&8EqqaBVfDdqLpe;OK2i*p-kLM1yBwK+$f zegzAVIuN&0NU}2_Yg1%52t3yrTn$TdZ>!u%0n1r|Re#x=fA;hI@-vw`f6A~#$>(?x|JQn1ymuvu(j#QTHa7toAxjmIh6+W*4Ey+sp8 zIMjHW!mSgIPNK;}c{&^(A%%2wMAF~#OX;QjS~-#~Kl7wr3nILV~fnT>W+ROm|n+SN&77=`(n4o_~4wT!*oj z*eO32bgn|vpMele@DUsH0q5)n6NWIKGhs?TG>*)H35X?ZK!3AAYYGM*Hh1UnLYA>!EA!%?rP6US$?8$QjQxYD%o_16sde~3QqPZzg?=xx zhQ1@!lW>ymhGUu4^!3>!BGtZkkV>7o`rFz4`%=N1_v5ilW~nmqW36#GjYc|%l1VCm zNi%n$G>ZY9hUrXaPX7M_{GsLO{tKqg!1O=A>px7!vj6m6+P{4eJq*?Own~OFN_GF% z!L>xlzLMeSlbIUzMK~GHNQRGQ{WMg%9|Ti6;+^S1<^@4KiPIo>4c@D_KrrrVq)NN?wq(4A;#*SGE;RX)iL-WMs3j`g+Ay!t1BTPWt3St4`l@N#+ zK>P~g08%d@4dDXPEFq5Y0BJ3e_OK&rfNYeIuJ8fbM1(@3zN;|e=D4Fd`fHAHKgZ3@ z9TYAK4@C_HCS`9cv!ALsl?rENc05TheWB1gvq1k+;T(dmTvj+$;Z$_6iYE^gzCzVe zG*C2Av{2yZRT~8)JX0Gex*%Q{nVBRyv!8^cnWV7D#WoCPE-ht0c^^8tSB)-T{~eyG zdbOBS$voT)Zi1ZJfm2D@5&IP~>X@g-(8Sah<_Wkeuu@x~%dBlkaB?+TIFRNG3l}WV zVQ$636YkQY1{Ub9+L}deY2kwfI?JzE)I}XE8nli^v9`Ks0@fm|Szs;ErqF8>+AdH} zbe8Y$5XOcZVuLKZWZ5myP0=NEi_ooS9Qb2150-s}F>=^kFvx|kFI*G~v+A&ubBRLs z$l=!!-YBz5j=zC;d&Ms~`X-DZ=*Pm;sS`?nVeuOAOJz3sNTgf z3PgJfv6ia$5WsL$7#^!&R2Q*(Y9yW#gmI$Phd2?LsT6`9uHd>##+Lx6g2W7mZ}HYz z+v3}RSlj}JH<Wv_HJPSwpNS=%yk!q-Q zzC+pwCDK_~8gMvpZ5)kd`Y;iyhr8HWZl$^@I$I=3jk)RZ4(}LV!{9zN8jAp~JQx&L zp=lJ0f+_gGl-98=t)YVriYDbiQ6#A@7e&$$Zc!vXh_zbQ+LL;kOtj3))8X65=sSDU zsHjjo)$vL$SE?x85KgP2h(kV8{d7|I*rR$`BXTr$DbjmB#Z(?gNM#g9z;$~vEpZsp z*OIi1tI{2>8>!h6{d2Yz?i$emU;&PB-vG(uIK0SaMkB%x2g}TWBmXJ){Yeec^_JS ztQGplq$)?z&S}h#EJMuyJ1DO*{|OZBz$#eOhRdBnh*Kag+%R**TOv>m$fmYLoC5I+ z1g?VxLQD>4+Z0}bw1{zQ3&uruJ^gUo3S(S-gyKJ+@W=R;wG&2`xC>2VJw|e?7T8yU zx5Qnl4>Q!KC@z7>T0ww`97H2vsUXPLdl`p`lgZPVC+Z4{f95FM^$lnRM_I^GHQ*>{ tbRxSwJ9B~n@Ao-9;vHlb~ diff --git a/danmu/danmaku/tars/__pycache__/__tars.cpython-38.pyc b/danmu/danmaku/tars/__pycache__/__tars.cpython-38.pyc deleted file mode 100644 index 59cc6f56bf7e6acb6a43efad91a76b4bb6ae79a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16056 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 diff --git a/danmu/danmaku/tars/__pycache__/__tup.cpython-38.pyc b/danmu/danmaku/tars/__pycache__/__tup.cpython-38.pyc deleted file mode 100644 index 762d73cae3cd51e7537b173c4948b6108aa2a855..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3463 zcmbVPTXP#V6qfepwPWYjG-=ubDNq;>r5*-mfYK=~Az?buv{NTM_HFrd^MuBb~F7&e`u=yi+LT7@i;Bd-=;>1;$>| zi4KorcqNE3Tnk&|bwewAaWq{ff`o4@_i) z|AGl$W)JO3PVh1-W>2s)+dARsi#%~+U29;R-wsuDKh~XCm$i~%6Kiv{cDMEFQsJR| z63a+G2&?;2S81zP9~+a~XwjeOB*T?i#S*yq3s$kEBW&TkV28ZoO1JI_cQkW^Co+bU zkr{CO(aaH9kuw}$`ryorW{${rq-9oebR*wbFaHYrU zj#+Vg?8xmi@I0M4q|q0w%#Qh1F{{W*iQf!6)kYXai5F>AYduQb-2*M7%2F_Pl^}p% zm`q!Jnk-Ms?#6q2QYnv4IP*%iE#xsic_bTq$4o6i=jJh@%hVAXPA#eEJARJ#_S)oXgIIA_ zO#N0_m4=d<`116e?#j4MBbhf<>>{Z%O|eU0d~na?!x^p7AU3=Zmi-xJoprIv(U zX4*QkQ+Nu#%K8*jovq4ZdHc@xPC0nEQQrA!J6ON}{l=yuNEaOgUh?u#$C0A=pE#jz z*QQ!!M#(5{=zx6nTe>E>GPCBnV|7<2Z8MTQqs0i#Yj}H_7N;6az5n+c<@L>k6;sbs zm$A!#URTJdx(T8Gzb;8u$;iXU1wqX?-!%}L9kS<6&pF~fj;q^!o5LaN7FO&&tI;QM zde%*(MO@w5O0DcF+B0#VshXC_ECLhaQ(yvY5G2`0Qh%3*Mr2)9bcc?t4>~e&S`<%K z=zY80jwW0ov5^4pftl*YJwD633*(;x5><-o!)HvVU99$yCh80@;(*bbMn=R6blS6) zkq>`2FzZ>X?73|;wFi=$kTfeRMoQZ~Gh4;XSjd5e9O3o>%c8fn*}aMkc1I(f?8aKI zwc2`ZuN}9<+P*xvaW%R|+G6ZpevO#n8+&fUL}aNXyYX99c66=XQtxA~NVCL2P7nhl zst;-TDlK!J@b($&!SoNojmQ}pZ0B(QAJ5Ji$^muOns{Rj&}7*RnnB2~APho)4j=?+ z*udMM1Xcw$0v8;Qk}v3tk+rmclr`S~>6tT~JDQ252*hIAcJ$-8Pv%uIj|;pnOW~ zhHMpWgG5Earea5D!RN^qg@OS5h>{=!{uV8t=PlsS>Mo7rFclt)m2~rwd)>lB!HBH^YI-quhDh4GNs?I(lUXU>k=WMC#*kync-vA=5H+(|H zrfN5hNfc!&RitiYE5t&RKy8#M6}w%FpmObuzj;EE%KLbAP)W=~-8`REHWeE~3I*Iz z=p%DM0TgR}hQfH5%7-!S99?Z%5#d%FGE|C=r@a{Oo*TEa;g1=aC3i)MP`yjt8g*1MDGI;p3+gB*tFNg0n!3~Kz))0dDRN1w zA0ono&;418=WGXU%IIOu^IgB-=lzUtn|F&d>NDEMWJE6r=$}Yh8)HJ@J9Re#Zv`5Y j&q$p@&1>&cjcT@;cDKa8nVRJm**hWt;(|P%{_KAN8Eef< diff --git a/danmu/danmaku/tars/__pycache__/__util.cpython-38.pyc b/danmu/danmaku/tars/__pycache__/__util.cpython-38.pyc deleted file mode 100644 index ecb77c6eb83a33d51b1582397b62902f64be99a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9069 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 diff --git a/danmu/danmaku/tars/__pycache__/exception.cpython-38.pyc b/danmu/danmaku/tars/__pycache__/exception.cpython-38.pyc deleted file mode 100644 index 6b636896405a9476c2be2a6df66f96a6c5c01439..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2875 zcmbW3%TC)s6o#Dy$ekpF5JI5g+KNT%O_x{!nMf`2;AkfEDVNW4eCEuYm&*kM*T>Go*J{=<9thNH2Jj9oc%3qg1A`eX z^$U#~KQk98aGGVn8J+^C!82?YJS#Z^o?}^XR`Luu$MWF3=Z%JMNZ?hfnj^sLferoK#aMXCx7?F%)TEc)E z7b#|3q*)5zO^?cFwg~p`96ktpzSq6ajB=Lc*?n$Vqk?7ieHOViE?L%fWV`Vv_lB6m zU&-$Gp?T@|xq167G>?bQr7il$!vDdYFffmXdp_f);I{iR60XT?uOG?YzKYBcW|NQA zuLeUwH(Est(&%!AWUbk((QK%_=MKy#{5t9h-u1)%yIv4>1^w^j*5eVf&=5Iv3ut3A zv6gvh+I-Xt`gZ7CKBCM+QCF12TFRAa<)L?DyFK>Bb|e0XmX_b5q9xYSHpbd>FNg*M zUxa7F!DGfE3=PFdtYvJHvCG3f-}8`HlWhI}^Q25~Do$c8XM5WD$qy2F%kV5KUSch; z%p=V8)OW6UBIP_3Ek#MJrCg?|V$I$S<5iO+z7uSuG>f)v%Ce{+m9pHq2$CfIFNv28_aZ520YZ;ZaI^h8i4@8e85mQ~Z{J z-NjM1s;8#_usr^?v{hM(h6o