From fb84957f9129954b6d6011feab135071fa8e501f Mon Sep 17 00:00:00 2001 From: ScrubN <72096833+ScrubN@users.noreply.github.com> Date: Sat, 3 Aug 2024 20:18:53 -0400 Subject: [PATCH 1/2] Add loading icons for running, ready, waiting, and stopping in task queue & add stopping icon for pages --- TwitchDownloaderWPF/Images/ppStretch.gif | Bin 0 -> 30034 bytes TwitchDownloaderWPF/PageChatDownload.xaml.cs | 1 + TwitchDownloaderWPF/PageChatRender.xaml.cs | 1 + TwitchDownloaderWPF/PageChatUpdate.xaml.cs | 1 + TwitchDownloaderWPF/PageClipDownload.xaml.cs | 1 + TwitchDownloaderWPF/PageQueue.xaml | 2 ++ TwitchDownloaderWPF/PageVodDownload.xaml.cs | 1 + TwitchDownloaderWPF/TwitchDownloaderWPF.csproj | 1 + .../TwitchTasks/ChatDownloadTask.cs | 15 +++++++++++++++ .../TwitchTasks/ChatRenderTask.cs | 15 +++++++++++++++ .../TwitchTasks/ChatUpdateTask.cs | 15 +++++++++++++++ .../TwitchTasks/ClipDownloadTask.cs | 15 +++++++++++++++ TwitchDownloaderWPF/TwitchTasks/ITwitchTask.cs | 1 + .../TwitchTasks/VodDownloadTask.cs | 15 +++++++++++++++ 14 files changed, 84 insertions(+) create mode 100644 TwitchDownloaderWPF/Images/ppStretch.gif diff --git a/TwitchDownloaderWPF/Images/ppStretch.gif b/TwitchDownloaderWPF/Images/ppStretch.gif new file mode 100644 index 0000000000000000000000000000000000000000..978d36e4cc08fa63abf538daad29867da4bc8726 GIT binary patch literal 30034 zcmd@6_dnJD{|Anrg<~K4(7`d{m?0Ti=Nx-W#vx=DDQRn;g=6oLjAKSBtBlAdBT*_^ zvWoWdET!_fpF`vI{(e8-f8g71UFve-e%rU}^?G|)+gceI29O|F$X67ElxSqRSIaFy zmy~GeonYi}lH!u6{p~8+P=R ziFZ7~@Fd1F-qbU}z%ya%1us3%#I0P!6|W>?_e6cqM1v}lzGsrb>aSJLq^+c+t)2`F#id+_~n&ow7R7nnQxD^V8 zRe2iPh1))QKDzwlE4S6>AFJOy6AV{Ze|aPt#-FEoCK-7pnUazXIn955U;Th2{^Tb7 z`t@_Qie%`OycK2%{`wPPzUq-;#6|o`N;2Xmtb}K5uOb=vB-nZYLjwh~_zAQ4HT0mjiln!Xwv$n?%h6xNHEHYW>T>N+RaUTm`%nWZ zN$=D0lBI>+x7D}bzkGV~;qLsqrvqc{A6J)GSHCF*BSOO?uU@N9+Gp53e)9y4LQgui z0{-FGYGZ55#h%jD)vv27t0`$|)pZxAKRsM!IbrqJ@^ba{l7gb_&&#jge*Cnw`u5F# zFTwBm|5tzHR(YK)-L{((Tr71owct?jc)4!~ZXE~;qRuh|D@`ECRfrrCV^hoQq9H|8 zeFkcadty-vcKJ4SC4C9#&3m2<)Ro>$!J5ZoZ0pMgGjQ84`V7{W59eqFnO?#-ba&?I zh3pa?gLFZZ;hsyP#fKIc90&wL+WVgTsDN3isn~(c-M1@H#eR66z)DX+|E$0x=xG(W zRdqVTzc>4`H;;aAvai84hXkeYs1K3!lKs`9#_62}!?o{x?M`@Y@%q72I}M>rcuaN| z*JoTu>zE}yiPT9NWoE=Twox0po5~2`-XnR}UeY7I=-iIjF1W5%M8+K|qCcFzwbEt= zPHv>l4WzA_R$4{9n&m37@2JHzAG(rPwJT>wfj{N_bWeip>eN#v^|SwpvS+pJr^U3N z^A2HW%iDkAsqbo1oVBoQn{h+rST+-cNI-;u&4wW6NDR7!N~Xb(@(wn&Gu^yAmNt70 zKFm-BxZosFRA+H4FPumv5rioN88SC*Qt^~-JEWFZREY`= z4*d|bfk*$)yCq3zr3=i$(Ba$(Dipyh?xQt%T`c@2#WIW$ZP$3|T&l`VVnJu)<;U^Z zp304>Shy5g_ES26DsjaEa!A@3<&ayuvxR(Ligard@122`H`g1E^rsBxZVvB%;zC*A zXPPI-Je3^a+f><7DSr6T;j9Ug6eoiHJS0SN?RjYS^Tr{Yk(gWpnE-_%#f?b>xh@(4 zfqPTykGG8FmD9OL5}L74mQasJXxEnxqzJpZ;xdG(_BkPeR-zK9o_*O6GmhLs7tRXJ>=7-~MBCK5#84(`_&k&_QTKv-8$zweAb5A| zO@_$qP{D?YeFIv%lv62PUwix%PrscEp-hzdaWO>HICV)pkJ~uq?e#vS)q3Hq?oKi8 z5CSNp;CTXRuoD!23n|m%Vo*yXzFTtvnGkFzCrOM(`6@!F@MMdjSjZLVK2F1&1 z8ukWJ#wTza`}*ZJ9x;aQyL?`>Biy)0X^YV0!(m(VQOx#fWxf`1O}>T2g&=V#eXJ7k z@ssY-Mc!;`K9|UkpWMHGev0OS3*y@ZL;X{|22gV56m_Jy!}K(vFF{=U5e3&bZ2>Lk9McF$K$PEq49W%BSzkyNh?C$L+3O#!K`1aV{?K7Hus5{`f zFZr%R>FtmYh)|r!PK?!}(Gt+I zq+6lNC8B3U`5747yO2ta%UYGX#P?SA$K!bhSkHAl7caW_q_bf`pvZ_4KWN*Va7PlK zevoj{EoS_Ju^0zz{mGlwo-E6L@&b7im9_~M6GM-qip9d>=}8hP^hCGeZD}R zS0)A;hn14Zu2ickVpdz#B(Hn<8tQs$+x4c7g!~9m4UceR<1n1kExD25jdxUxZO!Yl z^u_yb4vublCNw=We!q0nq_{F4O8h0?`wt&KynWH7`*j)dedXKFm9l^zjv&yP1S;)d zKF{QPcwTIbCyPTD~tTFzy!rrQa!$RfEr*1XBAiO+F&(hwExG)xsK5zd2u|8 zPX-$sZ2-cx1RM{%Yq~sYBgi6BVE;tnHId&<;3B@U?UTh}Z8@f|QlxJMl z&ffbF>1Gyqe`_C=ms421GXURoB2P z7pjkqL~lyu63NALCM^gSm?voJJaT%Td5-JQ?aoJ(*AHrgR<(Rl6}x&k55ArnF*-J= zq2LjS(j?Y?>^)c~px)Wm@_AvbRM`!Gn)csoqgu}i%@=mZUXRB`2}ufCoI3tV=WaDu zL;LVoIuyDdA?r0jaotKLNX%j}yOgW?;84Y69=;8F=-N&YU;=WQeABgop#7=D^D%4T zR9^Y2OQhqjw40flJDeQ6KJ}rwg>f#O+{G70i|{A2@2G4HAY??~uGUg%T!LmwCE2-l z*Dl_-Hcr2)z2`&BglTG?X_j~CUV6i>J0*P=vtEmfZGV#QkLsgxNF4tB>S?uv07p8! zwOtY4ti|6GE240wnpkQ9i5FDN#UHPK4obP10Nm>Ur!I5w6w2}X5`4T&|Cr_*=C#)o z7lO{l{On17bw8bdacZRX*!#RhZKSMmK5e2e(o^lXmGnI;ncrhxPaX?yx_$cOu~+yu zhOnUXnf_%Nox3^jOA1eCz2<@cP9)Q{U{Yo$(kj`MN;6%n9SQUpMk0;Di%!j=CcC<& zrXw<9q4~unNO>#_Di$wY2ESav?{=k7roN&4QcWCPViUV?cA$Fu`fuLs8p^3Q6a}@@ z*jP_#_Jv3Ue6u%xO?xx7NIw9U%!9%etLEuv;C_w-!^e^&F`Rg@C0{m z!j}r^3ah^9jV#uPMF~~%zz)nOs@nYGRx~G-N80Xc=vds2JtliAXRXH3PDNJI7s6dA)ue_!Plt|F%X9ea zGoBI}hbGkm#^b$)zwDi?u@G$=DCjD`;wu^T`PIJ1<Nfwa-eAaRd-g;1^Aut*cXV71Pi4J}z}+Pf~->-4fsG z?6(iDScCE5HI;(k4M8tH9d4?5cEiF_;K%oLPD&4hUpc$F`6KLRN)Iv_U7i^}jZQF9zgyIpp~L+;_{aV~Z0lPbRaxG8duCyZAQ!db8SscOYOSX%j!MI=r)*+E3?qrk;B`vNPD_C+BxN8nW1-A~(z5bA7&KlQ zDRBX-R(naxy#C5H{-Op2`8JuRnu}|B+lv|;8oo7hyRSbWF8Xprh=vD9-80Tpa?=}U zX6K&2n71}AuDYkHKk@MKQ=u*YEq(p6{O$Yl%h%L%ziS(Uy;uYgX>TC!VE8*3eF?h^ z#wIJ3a*Pr&CVMPU4tACaBCblLD)wUGB~af_d}Irk99#U+nUOeJXh!3S)^;0)>ulcn z(D>!F_4ozD6uW4V(`_nS_rsQI`pInd3X_e1#bE4EqkzLHSU9A^+v%8uw z1$m-?uU9nB*yB1YRi)EEMlWvgzqw-t?;R z3ofNP(yE`zX`r}BodzcLsM*=|sM!13MM^{H_(k90?0xkbofe6Mn3$9+we^QWR8>1c zbpbt{SH=gQM(x=ktahb4sxC;IA!nA2`DPc=W6>7MnSSnb;z*M6j(2y1Vneku9nC#N zk?UPpdM#G<))U_diJAP9__cCf_DBvyBwD+;CjreRwWI~3TSg13MO?B0ODF{DAae;K z+!YPg+HmOu`Vhf7N9TaRVAc2wCqDgCJeR+1o3`h+QE|cZ6tf>@mv!-~!-fO}6P<;#|gaVF=EEW`Bhrb@F2_L;(u=08FEVAW7y^mE6u`gizL>J@sySs9!ik$EBg8}f$vi5|X-+;pQZ$X1i0c>gwFs4q zme`ex71|s%BNvNDewv{v4!O+634d{sL#qW&mZ1L@2$eOXZ(TR~cChBHZL#dl-<%Fp zHQuX5CX2+PH#_;%$wSN;x~ejKC?A zw!KjYdUlT%S*Ix}MnQX6Q&A>`rfF0s)KExUjDepnG{rXF~F$`T$y_rcNyr3P@7%8Z^`eM+2cZy>J$)Ph0x$Mx{IK_B^oRHsD zBtk-~e_1|O_NW|;L>yyzC0f(sfkDFo2h5itz3T-X?TMmX?gd%Sz5pu}D6NGV>&EAJ!7F8O} z-Fta1ba7N9aJbO1^(ggm6L&769}bKSo2dL{0B0^DaAhspXb}lBV7tQDgV8` z-4Oolwsh;)cTY;~1204{S$%K3dgtiWmT;#2Y<2FY4$~v!%VCc$6xEVf|As%5n;rh| zrl)EAR#AQQKo`;sRl+-WCI%hB&H*`jlp?2a2_LSaQa)CA&p@DrR(r0??}d1M_9v{D z^FRB4d_rPUaw4mqr#YqM2{bMtRgBH3OuGuoS!-Zd7YA5~*P*wBAly}{d5vc`GH_vK z_vF+kwX*u9dgp6h`)mj$N^9F;5uOI?3sWa>>e`s$HueCwb2*n1v+Rz%bThK}W}_W; zw`*ICe}|v6eIuxP{tYoRC+?ELxZ^iBRAAqv>El^%wYn69L(k%XT(Bu>gMqF|_Iu)24$)BGDg=Q6(l$I6|%3>=n zRLftkikChQZ@{WGUgec(4v=b5xYF6trr6uv->MJ647H07x3727d#Hzx9#1}f@@#r$ z`avHx<}TRU*EWogpFS_ieZl?r&FkyR&tF22x$ z#*1@_>wdk}4SH&Ri$DH1+8KA(3qs^NCzNZO5#t!F?|vAgRPE(hWOBBoRPu7pEpD3( zC6}SYVcRdb6j>E~Ka4Ugyd{(R@O!ZuYbfbP0h2$d@z_6@|B?wNOv!z>yR+b-N>nM=zdabcUVsQUd z{hnAJAs*zkONj^r1f61NT5%s#+B63Bb_TjDRTCv7(>|34zi)c!&3kZ zE!RXdWE`(weK`)mJ`t>Oj;sjOO~?9$%W z0z$Ra+}f#a*PGYYn^Or5>;Q#Wxx2UVX_nM4=yz{!aUtGac@V2&=%#A0J`vkb+E%2XIGf;k)S zUYk3c5ZH?=P1yVZS(;=pHGqg$7M|%#!6OFyQa2Bb&B|CSRVgN!%tu9MI9qXBWw<#R zmjB&^G}rRPaXn8osWeSCaK$c7NwKixG>Me#oZLkI^SpVP(lO9tFliQ-q*ca3D+yO> zE?v18aQ;%98qx{gifwL_>f~*?(bJLNkKPaIzSVadF+6f-yi2B~X_N3HQPD>zkSDWq z^Uq&QEj$r_Kow)MO4R{lV|%5I%irWye&T+CeH&w-#gU>ohS-*_d|~Pa@((LOMDEgM zxTNzQ+fD?{AwZh;mlaT*>Ey;E6}N;Mgw5Ymag0tb9F3B%ZfscOFGbYe$6vc$zgvGw@9-3z0+K~ds7dA+=ME*L_5-yU$GfK`mu zk{aJWZr-iz+If=pUK*@oGH1%0(Q`L4WOv^7IsSR!cIo~}$KHe^SfBdvoUR+K$L6P7 z@$U(KKcYVS-_6-sGj;OMHn2WFZClSI*8KE))n_v&FhQQmF_#huE0cmJ12_^mMa8@^ zTC7?Eh2`t!>M(|LHmN!6eJE@}OHmg&@y6zpl30<8E|#Pv8oI62BD%lx11H|K%w)fD zft342cR`yY>1c%jJ`NsXEMu*FhmOa%hd17uD1wCu4+IqVr5hMWscTb8=wKLM;rycA zTszal;FvHh`4rey?)Y~0zFJw#^I;(!Fh5Cx`KiF%GlF>H>Puw8hMUi|%Ku|;5dL_! ziCFW~$zyT`P~^}NyPzu{=iD-4Rh)bb-4+IF>^h`$ zeV)F2)+_mRHovl&riF^Ofo{o zzcU)Wt8!*NllE*Ox?86iJdLv>R1m|(BBBEm#`x>pi5&Mr=aLLwRL&(Ee_0Gl;a0)U zb6ULfpHH(?I^LHasAV{x;b^6@G1JW>Y@>)BkEEiI-(hZqgnx`mPi}Db%lUJ@4%{($ zdrMk&3GVM#*)8Uvv_63G{4RhKcZygj6q#&U}H9@ew5Y;-743LO-xPqnHN>=WeWR+ ze;8O%5j>)8L^Qh-gT+d$)k9;l31;N6uP&HhQ09cgqDEKKex&Rf_->&eIlz@cvj|G2VM|LvqV$CZ3L zpFIcW1_}yo&-@p4Xx5;|rT~BA1nl+1?*Z&tSM0SSEv?v32-$(os8l~t6yMDC>@@3W zKmF}%!gSG2861D500NA{D`KI*mBP79s@anA(_j}#>#aq z;qF-ms-iNGaeJd%XM$EgZZ1*x0o#?xAR^CFb61KHLS)0XSa5G+*eyDvd%fYoljR_%F3^kn<*?5y-12GksDsc|&Y zf9u6-$#L|sd9h^%$j&lCK#4^_594&O?XBhm$i8F+-Y}hWwZQ|qDy!W2!PQfjx37?( z>dTRIsY>Sy9wR4?giq82oiFrl(R$>FtD(6S=W`1yF266 z8y9ESJ=q>ABW7^Ivmkozv~`cW*>@y>fMWFLUAe`W^T3lYS)NpRp6RA{E)_M{Zzt*sk2&=`A#nlq&sM7EyA_sKcD{1Npx1(iRF&UFYsEGC@4*%MBCe z0ieA6qlJ?F!hcd0V1+Qi!TwHJ7FH-nW^u5;d20y|eC}9r7gR#k3h>r*J#lDjH~%Q@ zGOl<)t?&`G@q<|e&H8-Xapv&(O*{1r4AQ6V5K>f_v>j{+R$>&b>U+WsaaRr!p?g|; z%SHDpQi5=^_mK-(rrawWQzJ`Uc9KFBK8@Jgr$m&93_OjtYgf&C>ER=Vx`qG8C zJZ?p4JyTS8bLQc>WBZ>;v8!)O1L_vj{H*xfma8xC6v>)Pk^wiGBabhm5;BM5O{IG)yeWmuJCw{2K&TuP*j@~{EfYzryv}+P(V0--p%L>;h zoPkQ|e3)y^F)K3VTk(F?akHlAY})Ei4jkqvr-8peaC8)?zQ4w%si;S3Q%3@N@l5DH z)i;Jwd_-KwQ~ro@3G(UT$;+{r1PzZ$7wCG*u2h^*cP+m*YQ#eUTe{bX!Hbn|GBGI$Ub-#reqom%DQQ2Z!JSp8S99 zqbjNxQJ3PGUS1SfgPL7tA;Jo(s(g_ji9ms%lI{=|8Iqc#wUZOf^hm+{cyMO3POys)F)e=qMG`W+VL&NS(bGkKymYdq?-(h(op&NlxK?OAMO6@nbZ&CK z$CQ41BOcNB?x@5l)b@zb8_3Aj!+u!1s_3p~t1vQ(eLFZ=j(mQcII zg0dg>owF;cs>pS_a!%=dq#k#F{^2|otG|;g7NX7zyvd$ifu4kb#327?zu@PWzclS4 zA4g|0HO8@!bgf#HU85|)!0zp_(hW)N8fVS?x*rB8H92dC|ECMPO=CP zuwYrEjGH+F+HCjUcJ%%lG1U!dM?D8G#`B?!&Ed(3QAn#4Wwb>dzAJi>wO{y+T)+1E zo6hS&z=wsV)%N8G_-`nW)k>SQBKtoU@7U&H`CQaZ zC|z$Ry2Ex^^Z*Jh8SDE63su4;SB`P2t4@Og94{A?pnW?uC`o^|QbEM1zj>DL@qD^1&++ICe+#d&Oe@&K=)Yb9)l(37>Gu}+KTHct^@HG-KgB>1h^#g# ziaWqy@bDSwLGBcnfPsgaZ^8Bw!F4E+yP-UTLxF>=NV;2M&2MOlkk(pqOcWv}sB(}S z!d!**OWL(wS*f~QFceGAgs^5;A2|lU5g>=xs^@*8WEJM*QJ1^HBWVgJ?C4|X%isHT zoP~epcvD(C-4&yNbxI_DENZpw_Hj6VIO1vRap{RMb^7NQqfC=yGLDZd!tRv5zn-|` z8-gYh;j5LqHr|8T^~Q;5J1LARe77AYJhG@iLsnVq$;HnvZe8A^F=Y%8r^yEA$tz&I zfA_3|H@^*=^Bu0Ua3|brwB3a7>#LayMVmU1KUZF!HrtZY!QKLw&4tK`)&-HAij{w` zzsl*u>F&+>(P$sB0-o*03p24pAqMwj6zvY&!E=;V&i-kWLGe5)zjH2dX;C2s&)L$I zYVd%>fzrX8D@*rW!YhjV8c2p@xDpM^v)p!7ZA9-l_^>?tZ;=EJ69Eom11BJ@{y!YX zDMVZvE1m@i`DTGcn?MVW7$^*T$)LWBoT}tl!q;6Nf}+U<^t=m5BgXDu6EwcZ+;2ZG$0Lg|_8E*G1E zifULKVI$;1c?eBtRAf>sWA&~h^^pHvg5!$^CLpb5hLu!aEz) za^Nr^(@JKi)rYb}vQKaSqO9<}ea1?w_Mgiip#eK1@;m-P$SDH{nEq#7br-P*P(-nr z2wuA_#Z&;`{wb2UKn9OWEiDc}ge7P-)?DMz+uW6?Q)r_QzwzBnAD{b&#knLC1UEp} zk#QVpmNH?A=_YzDWy$7SCCf8C|Dw3SMH0Y8Y&h}%i;JQ;g-k6bO! zSij%=>4=g3y?mz-Wwa?J>cHI1G-Vchd2klCX|YW12vuB1OUA$B_Gu&G_tV!BqTidg zGroPAuM_Mw5xW6r;pu0cWlfliUHZ;jI@fXvED^t;Uq$wD9c1p@kJ-4<{mdH^WU(j@ zsCWPDgHozxos11W+vMYv;)`eFarIFp2^wIDNWjG-dy{nDxL76|9EDoNn{+awQ}LW( z^J!-9a_40n#H;=Qy}&aYfM;ETt%qcl2p33PlCKrTT7HAyDY=xkqOmy&bi)g(qr`qc9yGNmT$M3z(pZmt-w2_sOJq=akMT8A>Oq2`N zok#o{a=#S?a8{xNJ_6ISZzOf2vlfH+pbu0#)`XF#`>;y(AkqE$);-}5oR16?O0OJ& zP%nxs7IvOwO&BLZ@?e@fd7YAlPcx$p&%L-^Y?kA6`o!Va6Lr>RPFIck`2@OmM@pE< zoci{8e*E!F;k^|oe2wVuG?Oj>t`8P{s5+e?iGZ#|=>z$y?(HVL1O;jO;1YLl6CE}79LCGqre@G567{~x8{HB{& zgMs{?fjyvy2Pv{Oak8tpFF|kvA6mWyW=<0|kKu#pFa|RS*mR#3ompE1uP)CAn_3!D z1(OuoJlL?%pQ}%9M@d;J#W8JCUO_sSlpS()xgKTWv#1;wQT2e_7Yp~S*?GeoH)mDa znGW+Nbsd;zBng|&c8|y(yYduy?Dd1mYR~=@7>F1;SBlc>A$^SaxM8fnIX_fG9?$3Kx%X*XN$k-=uhqMLTM zcbBMtXqYhbh;|*;Uh;f=!n~^=O1}KB69VXO-*zDZQQrtW!4?yMcCiU4g@DR-jr99KjHbb)#ObqLHWqQ{4W>SL zqD6Ex6f3ZZ)v*B`eS3v50OEVG8#zuXqPO?hARq??UM^GTZlm?NNzK}smC2=B52)_b zI)ok67FKj&qQs~yrH}{96K-M-91)5SyF~7isf~zM(Vd5ZbPXr?h)8dCPeZ7 zJ9^Ob!3&+dMiPhb!#(!y5Q%{EavCr1_pjaf{zX=2XP-MV35X#bS`NFnYO0DqT@$au~+iH zeR?rg46k<-ZJ~g97ci{8Ctqnz_t+EboX#9R&OdhzC??sk(A;oJjZ0U|iV@gKMvH90 z`3Og)EcwTMu3id23oIpg^(K1&*G=l93%m;mi2gg30^(W?nDw_{i$z=)ud62qBAG0+ z$}gpAl~_g##xg29wK{t_MQIF-;oTr|2F}@ODGJ&JONAK-|G-%yL?MX4)TkDb3;p@} z)b^L(x|N-CHi*e!f^1+cz}qHi>oryPYEnVAq_?(tY>gqO#>XBSSF&)Z0@602J9fvl z$Y=HY>Kpf_Yw6thBpP1&=HWFZ2(JL9>4Q(J5m$uQsX02Yg!r^Y0KSE#p49FsPW3Fg zQ@S+@}(YIf7)&sMGH3ELw%gsvG`HaQ>H|66Z9G7c<*L2zTZt3N?`H9h@I4X;{ zW}Zbv01)OYv>2=relycF|0R?h-Q6K{Mn-JcB<+7TG)-Vy)%8OCKQqf1mKXyU^0PtK z$rEA~E!;wJbx_e*0+Cb8pg!0(4!Tw5iA`jnRSG0fGwP!-<<RgsFgl5s)7Xd6_F915lCkiSOla(B3EGmX1cuNP?d$Q27NV)^tQF zm!-~l{a{<{!`miX!`?qr5!j->ULLA9FY)eWD5Fm9W_&9l0Ej}`;i^?kvE?mBS zWLi-bgHm$`>Is8TtW+QUWu4Nk47gx21=~gC;5Meg#OyM0(K-=6FDwQ^gpXzwCvllzi55=geW{S-v5GK=y(v}-hIXZ+C*WQUjI-Y(U8H%`2pn@EvJ zV^dj=$VAVG;}6MfeCeyk@q=E&G%tpq!1e@}!p%R_ zg{8j~j8H@$gfcSFN6LH#Kg|wMxWIvne^<8yQvblKC+8YoY!DKW7Wht|8xS%xP0uC` zxrJ?)D@;`4{w(~QQf!%`_mJnB+62=7hMlyqC>#p9j762CB?~-%_JEH$_Uhq=sP`9d z4NH)B-cU`vcf*EeK7-*_!a1=?KcP*b%k~euXv4V)p|@`tZg$AXT-B_1*lG^A;RHxL zChrXt&L;g%*3Kj^<>RXXb<3q-#)8T zgYo@Vr-1;{2WDAQ(trAW5A#1t`csnuohTszF{^vE;6y4BC6O2k!I$-AD7svnj}k7! z3vN;zD8myf9FYcxUKta{VYU<~+G$Vv%Yo93LUuUcSEXU%6)MS!+zNF}TVd9m>0PSk zS>s>Id0FZX2b^11lEo=#zzxKGPP7p`W1n7+8bLMNduk?iM2R3}jDeEAo3T^g|G4`& z?PhSiO^ic}4xdrH{T|JilkCYg_O`K3|1LNS(keJ1cmHm!VXx`sudkx%94sY004V7^ z)cq)@w&lpVUdk|}`_%D6TC4ziXB_ZbE(6S92+Y7fra*rAH;+U^Q327>@C|!xklOML zD5T8T2lP-;6=~ymjLPhEKSfbn6U+Qm5}Sn#ylAZQVVWfhBLS(r@@SEX#-eCl-CT5O zX7<=jSC4bt1=A8cOTvGGJ?3)|PQqzTW zWvYLknyhZBv7!oxEf%DbS!NKCxMHYXI+ti8BYIA~MMqL2d(-29ALt6oEdgSJjIShW z;Wm~ZNSm);gGMU^4hv-DHTvIc+7E>BY@GJ2nj5}tnG+}nHpmK;wR~3fXIdAXDc^cz z;jbJXD2I%JDcGkp$SDZxYJhbiC5BWrX1K@^Vqh47H(LG-23-J-2jl~VkSHPnL2K75 z!ce&Fg+8_ii$%Cm{iIq*gA)Dx7M08cbK9^Mwr6KCwrTybchu!lOHjgcfalZTy@*ha z<+_7(tlbmxXi0@T5#_7JuqCL|8ba@M*FjuWDH|f6^%sO6jChLoh8+%CRL2xj;-F}l^wxCrM#t_GN2T<4`=V|X^>cj^BVe!pI zje95X!EO)vD_9HV?j@H$wE>K)rr^o!V=3eudt6LTEwwNcn#at{;1W_wH@YCd z_0X)-wM6v25vofzcaWq8tI+SdrS~{MXJHO9FL^bHt0S!&_z??Nt|4v7+s{-a6X08uvs@0Miu;YSdCB&L}?;;5o@ z8L7-3stn4)%^)>^Pe@dn6OXHd-%J7T7DejJLr~HMWqY*__H=2-D7xU_BGi%doA(2N zpsO^`#XcJ|109OJBaEXPNaY1v^k?Fug_H2tV(#i1M>65}d8YiL}I!BE@$$#5W-RM?&RqZEnl3eYsw z1JcxmRt4g2agC6rU9lXl0ME|5X3oK?i6$#YvecSF=BF-iIJQ4_{khz%+dl$$?%HYN z;NK+Yl(HaEm_5<_!aQ_bNpTMqDHOGcKhT-VfT;`IY8IjorbunqL$Puj3C>_r@eLKx zIyxGzn5*>LX$pt!kYd!?-NF!Y+fPe_3b<`0;FZ|4!_ZhX#7T>BaP!cE8hx+ywgXu) zUe$_ zksF>Re%c_K$T?dc&o|)@gqCl$uxu&m|MB15|6l%7APz=#4Z@Pdxeg+<1Ib)MNaMmp zwCglGTx+pV;z*wOu9EyoDCo*GP@50*I>#Y#bfjUoLY!zEh9;mPMXYiyaVpM3pym)X zoT2Y2Y2KSe2vs5M$#PZW+eh)CX6;F73Y4da*?kgWZFEhJnIk;R`cMi z{D8V1!*5fl{!niILV!-gB<38gm%;&xw4?Xc9{x%(R+0WMOmcG|txBgAY?Z$q$v#p2 zo0U_4pZPm0rFF5PSbsSNRM7%=iX;ai#><*hpBT85#U`L7%JLa$Wu0su7cW9}IIs6K z^SF6kSw>OuC3VAYcxFl|E`6(fUNB;?NYy~Lm~4=XESpaA=( z@=t%D4sD2>yPIq88L=Z9q4UBRqQ3=r z{%;{d^5`;ZsYH;Fil6{9kgR2@9=%hK}b4ndvRZ)u!%ou_A73O*f1^ob4#4f&%<{YM)W+en~vlQxZ%e ziF1FOEqM6fX1mCKIIHtOe>YosgaL*tEyJKPviui3K&Ia6yJkDyL5r%QaO?7@$NXE81 z7*Um}l5$}qxZ<=sx_2C_*eLINyxTIfcpG}4!2Z~~u{>p8;pVO!^JiHnS0A(?4M4?W zh&Yoly-K&bMfgueX|?Ep4STS&cFv&Q@7%e~1}Ky3SHtiHMnpY!pmU1Gd}|8k80_*~^RI6&DIy&*JQtk4yzuoU|(9=@b8{JvfQ`Gl&CY{2j!9v5m1lcDY5NX1Xc- z9L8V}2dZ#x39HP5as&M-(y_W)xk7>HWch9JW1Yg3VW@aeU{p)G926Yafn!a|Zs#Ji zjf+>Y@bF4!$-WY;6jd#QfP$#8gS_`>?Srk#hoNU?+C3 zr#%FUyZ;?e{$1Jrj3+<_v%a!jAtUch!-QSIa*M6&AtXzipTI+yUDna^mX(TCUGp|5 zc%WU&BE8%;Q>vf+ae~`LC^8TK^>LzPsi3|AMid|*GH2{;3SO0}-mkU>OG<|5E|Gji!X^Rlf0MWCm*sI>>!7|irPTZf{M9*7k65dkV{&( zjonoua|<9(vrRHuWG?9ABYfxu-vzLn_#(!F?{czF2O4KJ6q;X5T|Qa9V@n5Z)Q!Yk z(>v*3iHxO!_yBbK&*O)%6cz&GYbEyHznjJ(kz)C0T>-)J@7n*bW!BgJWc=^7zqhiB zyPNf43sGj;^gx`nrHyTzFq8q+Fu6|mI>^qP=E1bj2s*ewgNc3L%*DaWzvn1^pfZkM z#yFBb;97FgU6$0~ca3L@4Z57S(I)H_*F`tE&}|krt&JLwulmN43vd()Zy9QR?JwKH z0YhI(2bw;8VYLbhsjfSXTgjr(!Hb1WDexA?O+xdym}a0}Zq=0>FWz@$ZyWLm=O|!I zv!$iRUeq=VZkS}tN(eHsakgz*T>U*M3OfZpH~+i#i-taPqO&eBTY^O2%T%(CDkuY$ zu$a?;Z)p9SRcMI%zetld62tht^$*m-y6Jozrf*PnCB#_X7)Iq-WFQwXRLs21htik~ zD+?^%FpwOZqZV|XZrHHPG1|q(h77JQqYLoIdHAY{P=}!moGlQ-l!3OEvj8W=zQICwh$GZvauB#EB7~$r%8|_ zA_^XD%P~Q);4s~oeDh7W2USJZCGmM#LwkQPb@_BFwx1?j3>njf$Blr2Q2 z;#tJZsvqZ1HUBrDL;oquz-IpfpDdgGU*NNC4B*LsfKMntP|@3_&r(@qpu#oQc-yRP+p`nsoHGRz|tx=Qae-%OUX zFT~7o@(*PvY4zu`2TAjULj3iH-kc0+rd-c=c;fxbzBjW?TEBD-q`RAq6%+$9tAn=6 zd00vx3I}Jtfa^8v;Sb;)=M%Gi5 znCIXK>#VY`JW=8CQ%ZdA5c%t?&s>Y1K@Y;o@9zpEt`}(KSw80%(j?9Ln^{E-_bg zHIEvv?g%lXY_O907tF3kG_2j_r@!PfeY=}<3=oeUPC(a3?C)e)Fdlrn1Bl3+MMt73r&1zUg1`qE5 zTL%L8I|-Lc*7=471c(d};sdfM9qe!64!0G$_%F^b`oDyz3i$rfpG>YTW)q_KYMCXy z31|+YqFf13ZHNkC*S~*cB5c7OLLW#K3mC#cX3M$G8-#7Gt2)SxmIH*)vdUE)z0@jA z$^E)+*f#x;sl!Xh2^ZzFG3?ODW3#EMAv= z1qldI|E0*jXdRosusbM`|MLC++g8^3e%u|v_w&jLpykWid_OzIsT}+QClnV6bbJ0y zL4|Z%5xnC$toQAEgNH7Ra;kAvU=#>|60($2bO)zatYc-(YcBo#E)*&K#!&WEscCn- z20?F_B)5fFsS%$2)~iWKKFU!iFyw)No!#M|c@Hd}bex%iSs9TcXIe0I5t3cYKvV4j z<)zk#gZ$lL>~Wi*=X8lbdr(zRoAt3Vc^U!iIwFA zfII$?!@z*n1yF9RNPRapP2-cYL7+rjLj$4#-wzZ^9y4-iPdctAR_w2=0^oB0YFk(| z@;~uwPT>^th(xDZbb~8iolCfo*=`;vDxP(^!1{hy#gc)`b8sDv8aP!&sTkoj*!^Hh z%b(&@WPavL+vGtyf`#Q6#IN0s>J)s>ta8;ikV{v5C@&<)Hb_xC59`+nW`c|Nb_^|OS`ZsUWgst zSxj$Ze$#5}OgI{Lu76=}XJ~msXei*hj5c+m(SX zM{1+EkvmsDY~P$S$GltMGHkyxxPlQ!+U+TARjn{0h?UV=beOY;Cm4lS z+bUWKTJgYF_wqx%g)Y_y=9!ppW?#WmgSTV$${Wks`#<0v1hg)Dmi%~iV`fuPlGe;@ z=uP8RBe3GXi~d=0Il#zaEb16bun1v-K@46d=;&^fQQ8Geb8)$qPh9z5?;{yp(f?SA zA@3uVwdj4+_uzOR!v@{h3tqA}>OUoubVpsMRCRh`k^t80(HXa(qOBM~t7(}{Ebn`H zYx(3jR|-WDw0&tlz$tOfr_UN#Q#YEVjlCdVNruX=c|wbX`Lo(x;{cNlxi)&!n{fiW zCukrUSXEGZiXQ%MwUL7Pl)^ka5L%72R3^>T*I{Ur_3*T^c z;FMT0tJ?V^Ki_}ID~J7VQh0)QYIibN@W$_vuljR0hQ#i!V@yGGPW(lHM~~n3b?1AL zT}|WQ(O|*9-T*iCYUAKvTJxcI5g<}Ua^Vl0pl}u?4uMwen?!HMm4Q-+=p0cnyx;7> zU4kFdSzKOW)TVUFvqpzpk7 z?@du<6Jfl?-BdEH#TNWCPCpIP<$v|3({z9m>#+r4ND2)%qfcMsfmLlx`ia zc}4(kopse9&}=Keyx09gm!2J98o1$UcX&^_U$V&F^~DPC9S?>pRJjDAv^D}aXqbqk zMDK|J_l7eD-G(hNt{swSh;M`P0a&KlXpF;*JxtfWRH%N_m%c|gTqv)meVuzfHAHu{W-rB7(vR$c`2E8O`C$>dT04|-1@~0mObY8DcfyJ}MQPYDK-vQVEWinVrf%90ie0=IhUc$}i;o zbX=)k7c)s?k1n~PCd#de^yveo(Ruw;N1XgOS+0y%{E`lu_RYPEEe8bddSxIE%ZYab z$+P16q4u1n1>Sd0Yc6XZ&U7WQl^{0RG-(@^)%%Hx7S-#^|C9K;#o)`U$Cdd{z(xP{ zMWrk=*vn|_^vStbT}3xa}?pKUVA(q2fSj2*pE0s@Uqbt2?)x@|Y zuMr_P44jNbMvV>bvhAg2&?!*Kt7C91+pB@Ibcs=efR}v^JaH=}IH(x^=2iZuVg!kq z0(h)_%S3ya2*j%ljKf6n8pj)F!WOTiT@@`RN!(i$24K`erlOwjWbZ15T59&Dv-KC$ zgS{Lwty0c?zJf7Bg8^Y`Ic$T^cI1w7pV3okrNHOg5K*o5rI45)z?$!3(7!m*?us36yuFtQ!txXd5*KY0Q1kl+Nmz8P(X4qqAdi{%tE%# zC+0SUDErBsiTk4{clX4anV}T*qvy6reSJRx$fNy6U-O>H0^`=7#!zq_4ezINOTatN zHm_RA%>Wxg`K5dzz#<%u6_noR-5z-;0GSu5l#a|J{p+2NMZIS=FLR$$3B(2GDKrra ze7;tyS0KbposqJ2pF?=k(hi{@2=H$<3~G}8`NP0SN}0|3a7RwB^xoaes-mJJFrYs?#keUuW(2(qDjeiB*>Av zQ=jI$v&{8&#HjT{$~~IWs_p*)zps!yI4T!yB+dC7j?KLhYzbL6T0?GiwJqPaW>0NM zxLI)v?&GA|S#jfZKX+}} z@0^gtLpRrmATUGzjdKFW;o+37jHOKL6-0=Cc0ddCuqD2aR^ycUA!6JotuIgQ>8bc*GK8v*GG%lVpOml>| zP0c%J2uRuD`{=E7HkXaYA<;;_1S^&Q76!nf0=zk#Pr@+ch8uR*{8Nf3Z~lnrv5yv* zz&d`<_Ox}6L9CbdbngWd%Nx=!4(`pfv(uuw(zqDQ-NLgv&+|g|V#i{i-#TO~Xmo+C zV~RN+*{j%t;FxrPv^!jRz*umDiHNfBt;p;@CPr<1+A}TLJ1?DUJpJ|k)NMk6u&G;%8?(Y~T00(6!EFf+Fi&%K0?Cexb7B;1F|mn_ zU-JE-%F-FKe+79Yf`qXICN3%|Gb=kW#hx2vd8Esk6c!a+DK5Est+eb)j$|Y}TF~?o zzP?rpw((XIQb4y&sin2CqoL<=C-?cfo4x(r5BeTght-OXV6h{Z@yV$PkWldI^~~FM z5}qG23alw0hx3%mccULafBoL|$9_f{iY>)na!o&MP*Wzgs!H(Sdpl>z zcj7mY+#j5n&F4>2FwhPrFdqPoaRfwrRDu`_;K>2Wnrf7gC%bPk;pNWv^EDDhw?UCP z`zeRFY|dhV@FKAa_t6q?!~tv(D2wPLSMynQVt2);GC)8<_)zOFk&q)UH$(2%^p&1p zhraFIl@(|4;5=l(SpA`AxNPcfjJ!>}W}V*zH}6Vy5;LuNOl!htPqJM~>!w~GAsZLt zxY4XTZ=Z#Wi*w{%Kn;R3u7A`Vl?)WPFpgL0lHC@AKn0y81qsS67PfHUOn{L~1T-6` z1UsWnXQ-P%skZFsh=fFTPFV_jXJTb@WYc2c=j93ti;5%juS8rei^iMUmscUB)+4HG zbYV)|wGEZcZS^g8JK7bxF5PavAtibr>#2r$bpP>_r^C-iN5;mVKk<|pl1!GoWK9XM zw6sy&WiL=Wk%p0&CUfg~~=wp!EKDniw^)l&2~1O?y|+tBOl^PA$lsVwjfg%jI>)WU)Y) zkysuHDjOe`?o3lvV!SX(5_Z*L%Jx*Rej@KSn^<|;6eg-mr<=N~I#fD!bYFQ<;P z_2h4t1p;5&bF;NQw$WeFILIAWyiUU8GH{Wl&Uoer-SV6EE2ugo5{+W}ggF0?YxX2T zgG!wz*El@qN6gr>npluK3u&X@1J?FKBMDiw#M_lLNR5AEJT&MGjlWJwJToeZTS_@4 z5uB13H<+XVI3~%m`2{AIOG>YD6<@n?Lp&OvUL#k#QQ)TTr8H#o`Np=E>h?Pww;HOX zMEkMWehi2hdh~D@Y{rw(v4Nv9aQfxNZ6FwdgrQlLUH`rR@@;>eZI8o8qvC=7Z6Whj#CM}11C;!wxVt>`8+r9OII{TFH&$wI6 z5$V9~55;Bzwa~(4l2qf$wMtJo+A4fDzl0$Sde(>ZcArPrTpP}bZ`Ql|q{140*EwsV z1nh<9y}KY`sBEbqn0LtT~>5mpwUJ{2GvZg#%sG z>w24`G75msx>&0;F^>B@ARb&{YvtGG^JNIGto&jQz!Kp2e@Xxlb5lHS@6K*sWRUL7 zND-{0R237LtCB&sGWb7nr}D~g$%@r)XEL+pTzz0Hx>`SvktgYiL8|xtEaNy0m#nJS z=JBS=R+ot;8i>-J<)B*L4s=qNHup8A62-)rHCf~Opo@vBg^DzrjW#aWkcl^a4d2!j zDXm+Vx2C-2S|ai+W&AMx#Oy>zlrQm!VP@dVj$^RfA~FER;^a4QdPYzJoQe&HA@=ZI zl+D+(e+q`ix0l77MOxK!a}+(Cegaa|F%H5j_VhQ(TY} zGFJp8KE5Q2Kp3hVkg7nn+!?l%=uk|J*6xM1L*X3k{}YdRQ{JWjci^PtoP;HQaV0W+ z5!YA5s0IV~6p&eU_W2LC;M-tu4Lq9U$dRc);4U0Sz`N6l#JQJTg8H6M8~IZ#DC!2G zLi}P*UZ97!e0M?Lzc5S;=v60BG#}s;uiW?WRQ2kerH*9(4CiulF&WGF8TF()kx(u} zMcQWIylGI64^#d@x(ZWK87L7K%{}7Q8bMJux|$IHa+egv`Wtq--T{)f^NsOk`lr5X zrcX0ll-ZKHx(DUt z7ck(5yuRzU*$a}XPJVm^BF>H)8TzdtSYHEz499A3qw;IuR;eOfqWY|@`<3UjNIZX) zWL6+?4uZUG*$5UCJ7o6G)ja~2PUu_$PW2hFy7eoKJYasHxcVh9@qd^f(+DJwlRvJ! z4Pr-kczEA%PfP&A7PJ8ntQcbadJ1l4VK%~2?p$>u7Sq;JI()+(H|IRJB8Z`=?Z|CF zu=0#0+1ICD$t|?YCS8=8o|e1c6#H-7@UCC1y@)L7tddfypCiZhWK)-(;%{7 zU!T-5a3OE6wNtl$K|`>E{-6u_mM`D??=W)G)SXa5NFpsZXsRzabb#wX{pVMY?>lw$ zkKXi0mw9S??Kc9X$;_*vl&$?h;{Ir;_)3?!C~-eOdWm5Bi3Ddprc6A1F+?jD(dUBm zL<7Zeh55nR0sRVej*4RPoV6!{&hZGc9sO4(M$O9Fi*wd~2|ZkmlyP1euI9GUAnJ`U z3si7)oU8v}t{aS@RKT1emUF~HeH?MZiXgSGEcWC9cwe?+03Mf@Qq&u_RoSrbt$Im zgae573;8(OxF7!K{o7jpJ+=M^hJkhhCP8RC1fGC-&H03yFq|aS>yDmrOyT-X!S;if zw-w3xEX;*L^6a@SkXTr2@Uh*1hR)_Qr?<_UjI{9S-b(Ut{@rjQ@a672V?H2het6Iy z2j=q^Pk||P!~UIH4=+diUwe`a8h|%ELGf4GndZM}A?qNnG6Vn=|}D_DeRh zFdG3@pVKIScyx%Ug1n1;{se?VU2@UuAq$7n9q(rY-mFOBWoci}P{Tq*o*UD>08#bL zU$3>AWgyg8H}|S1DEl}OLMHmkL5gT&eQ=|JAk%hnDBGvQQ&RcMSIGQ%$Nu+0=gun4 ziAxMG5>*5!K(sjwf_zvU%o8PnYzM+Do2X(3NqFZuIUCTu(~)@cyN=)I&* z_MRaJ6R62nannxo4vP!CDGii%+shAD!;V=|(o(WIp|6@BYczP!q37$>XEjHsZh_c& zvUH5AQtX=51=sm+Q?t#8Ka|Z}Z!(03s$;&HqccHX>v%T{8a_e`4D*3yTbdg4YSe%B zzN~9ox=%3cGi_;s4?pE{NQs~oFhBA&h9dv4F6)0nH$|%Lw~P2bJAU&bcFVO9C^g`c z@AI6dhEFr%+of%nW(^5mrxc5ibdUiBTY6SRTo(#0`%%fv3Xr^HMJt z7H3E1gyBtP%LL_0V2El*sjS+n`kU8p-EL@#u4JcCc3?ng^F8n?1IF`VMZyi7#Trig zL@;`>>*cGN>DO;V40F>`t&PUUNg|W;U#BQPe=Pj|{^7OnH=#YTJm5oR9Rxv?oX21s z+&Apt4L>w;0+VYQuK>4_O4XooB;T$;dRMHx?-rtV<#a;!sz9IILzP8#mkhmHvC}M2 zFIv%5T}}miTkhe_V@tl>2!tvWqYee~PD8*E``(~Vwmb@cYe_}R^GN^hDl?+9% zxVD6kLv8auTYYMqWa#O!3jpG<>Cp|HHcVVpk$)Qw6!c{aCl;?w&iayozR`6fQ?{Y{ zop9aZ^ARNXSDxHLethzFd+X9CJ44@n_?2Bq;3q{Lwzs03fU%dVPSvvMp5j>l0apm}yC_!#pbhE=$ zdxG>91>8w3DoMnG1)0a&xTH4jD?`A7!femu{QHAX1~S7gd3F9oSfruO|S_9!RLSGM$AgcF_Nw0Mtko{PZALeE9W3MPVvH}k?plbrm5 zNbzWU(<_2_Ib<1ZW4TmHwGwyL^~#c}qOjEhqODkLE9P!zS4UTSA3bLc1xj;Od~5__ zUR6fNC^qVruIej1+Yqm*HFoJ>GV#t!co-X zi8No%V3pu34~Mh+0b2u}W?7mbFFraVG(gNVZI9V+rjW=L0E$8>Q{GkN!Q8GCVR5Nd z6^_d0FobJ;Dp@DiD$P`R29RZHh)WOU8XI3r%R^fgjr#8m7=bh6)2=+sWv$ZLO%hRg zP8nAvOpt~iK3-o6o-b-yiv}{@=N58UetG4u-@mHo%Wa52U}f+qxq!4lcygq<% zB??Iow}xG&gqsl*Yr34pRIaMNW*sXPlZ3kdX2{)*9&aX-XTzUm=o}i8>COFQn?~bP zV@J;3lG-Qq+rFUUrF@2tz3N=EkVjechRrxieemmhR3&*W$m;&cpc1v?{dxbsSS|s! zR&{g~B@QH;3sJL^cNhS(gkJv`Sb33b@y#X%#h4H4Y68=C6^4n#@5@yW22wDxS+wpLk_txM*JY2YYXWMDws$V`V9 zK)U1}HO}wj;fINFPA>j!q?xd2#c%cjP*-e^0W%Mec7