From 19e3df1de90fe55883130806f6b964bfa507a228 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Wed, 4 Aug 2021 00:11:49 +0300 Subject: [PATCH] 2021.8 --- Bin/CMP_Framework_MD_DLL.dll | Bin 625664 -> 666624 bytes Bin/PAKBuilder.exe | Bin 343040 -> 343040 bytes Bin/TextureTool.exe | Bin 421888 -> 422912 bytes .../src/CGI/CommandBufferD3D12.cpp | 22 ++-- .../src/CGI/CommandBufferVulkan.cpp | 24 +++-- RendererVulkan/src/CGI/PipelineVulkan.cpp | 2 +- RendererVulkan/src/CGI/RendererVulkan.cpp | 3 +- TextureTool/main.cpp | 11 +- Verus/Verus.props | 4 +- Verus/src/Anim/Animation.cpp | 96 +++++++++--------- Verus/src/Anim/Animation.h | 35 +++---- Verus/src/Anim/Motion.cpp | 14 +++ Verus/src/Anim/Motion.h | 20 ++-- Verus/src/Anim/Shaker.h | 8 +- Verus/src/Anim/Skeleton.cpp | 54 +++++----- Verus/src/Anim/Skeleton.h | 62 +++++------ Verus/src/Anim/Warp.h | 29 ++---- Verus/src/Audio/StreamPlayer.cpp | 2 +- Verus/src/CGI/BasePipeline.h | 4 +- Verus/src/D/RuntimeError.h | 2 +- Verus/src/GUI/Font.h | 7 +- Verus/src/GUI/View.h | 7 +- Verus/src/GUI/ViewManager.h | 7 +- Verus/src/GUI/Widget.h | 10 +- Verus/src/Game/BaseCharacter.h | 8 +- Verus/src/Game/Spirit.h | 2 +- Verus/src/Global/AlignedAllocator.h | 2 +- Verus/src/Global/AllocatorAware.h | 2 +- Verus/src/Global/BaseCircularBuffer.h | 2 +- Verus/src/Global/Convert.h | 2 +- Verus/src/Global/GlobalVarsClipboard.h | 2 +- Verus/src/Global/Macros.h | 8 +- Verus/src/Global/STL.h | 6 +- Verus/src/Global/Singleton.h | 2 +- Verus/src/Global/Store.h | 21 ++-- Verus/src/Global/Utils.h | 4 +- Verus/src/IO/Async.h | 8 +- Verus/src/IO/File.h | 3 +- Verus/src/Net/Addr.h | 6 +- Verus/src/Net/HttpFile.h | 2 +- Verus/src/Net/Multiplayer.h | 12 +-- Verus/src/Scene/Camera.cpp | 6 -- Verus/src/Scene/Camera.h | 6 +- Verus/src/Scene/SceneNodes/Block.h | 4 +- Verus/src/Scene/SceneNodes/Light.h | 2 +- Verus/src/Scene/SceneNodes/Model.h | 8 +- Verus/src/Scene/SceneNodes/SceneNode.h | 24 ++--- Verus/src/verus.h | 24 ++--- 48 files changed, 286 insertions(+), 303 deletions(-) diff --git a/Bin/CMP_Framework_MD_DLL.dll b/Bin/CMP_Framework_MD_DLL.dll index d9600f1a117411c057aa61ffbbd336d0d7aa246e..fbdc95846a27acbf77c4a69c6b575c0a1f69f6f8 100644 GIT binary patch delta 181752 zcmb@v33yXQ7dM_2($aEMX`n!%0Rps^rBe0)_O=P!K#G+`3bIs%iaVATP=U0hg&{RWQgXc7|mQA za{e5nNzx*^w70&2+^pVuYi~*)`m5@#&q6x?#u&|%wLQ9av_2W5(NMzh-zJ0Rn0{@K zE)VNWL-Q+8o*6MzF8-tctQt+hfTFoK6@$v;Sw@Wp88x%vJ}8gTbs1_J+7)ERYBU{@ zNkJJ=e_1GhzydWZBMwAr`XIq&d5tb5b^$^lQDcjh-_>=GMNL?+Pptg4t}{o}YfuYD zPim~(R^Rxr!EnQN0t>$QjO5;WW$4`o@+X3P!MiiH@wLSU&AygD!FxIt(NigD)w3+y zh4N6+QY1y(?+7;*FP5)1j8Ce+9HS93cM77zmdbNmwJxcdOEo?$Z&__vqSbG^(;&BP zGe!5e+NQm>>#bD=P0(`9=@<={x}Qrewpl^g za3R>c`)S$VwsVqzo?YOy157_qa?##qQ#^ZYjYPyxElLr-+unE5m{~(`K3mURbGM>7pR1 z`R53dHkg;;_8D~`YC8#sTdEVJ1IiwF1!;nbB^WOF9-_GIr63gv+&+)-&_f1|@GM&Y?WP&i*rnL#N#K`LU_ z$o&&-?R~}`5Q#8%<>2c*b$f$yuQz&j`dKn)D*W#S@y7|()WmaU&$_Wjb|?1ttRZCD z%%24Dl~i;UAyAe9hXWh3Dql$=i1>=2M&z|b3|Av6K{;|%!3pJ9LJ)E7CUVNE3y@5C z=3fMQO#vvY^0h^9#Md^kWUrYFP70X`o8+ZTl924Zpe>$UC`v^L7FO&o8Kd}bG-wJ% zF9Ud+b&DYAf^R(2tJpI zdzaPGUcdA-btT!G#3pPB#}u4>R5J>^mb9Q zTjHAq?~cB%^g6*u-sTi;l?kkMp;9-XQbNE>vPFOJhUKf)ONhX0nM5&+U1GvG zQr6@frtwqw8-%jc4OFsZ?0GgaCM*!V?@^aSoqusl&)YH>cbna!+cw-S{R;dgvD?}q zzR}L;e7ITr@QWQiI!(zrbX>I?zivxKF69uC@tnC$sEcw56q;z}5(KkLTB%TvkR=f&URwEW3s5Yh056S&^s-bUPub42q(C+bN#pVakLcaZ$QhfD-dGQ>G&T>umzgh4 z^pfJ>wvOe?{aiWZ1pd0rL((|m{4b*S7~&jKopg_Y6xrTg`s$x_lx|c@I`{cs+~VuD zW2m?2{eq?U3(|G@(qgwDN)1MsKHgfrbe&t2KATbxo4t;aAzZ0pUef)FCop(`B+txb+lER-%cQX@VRXT zTq+EYLeAr`6)5i`OVi^aHZzt71K@U#@Zi+Ut+-|Dkr(0y#u0d+^_nLhnSn-H6vA18*vM{pgSVtS>UMJ(K7w;svXiTsr`9ilW|)z z@eqt9Ehk8B+X5kTpVDm>SXQ>P0df3ne&(Fns6e;C=dFeI zG8hYACin3~iiM!nxkM*f4qW*(B$Zg_7kQgY%0++_i^#{R0a7L+Z&CwHm+(nyfK-ae zC%Yu4#tHhxENiGu2;veAal$R3HfJ5e!%KeZ6rn_Fs7FX3az%$B+%L!vRm{4T6aH|& zAb+Im`E2!Wah`|w31;OxSYLwFOoouzEm|@19e~Ob#Bru3U1m@amn{~2x#u}$_6)Kz zi`!z1y?2H|Hh1sj>Cpmm!&~b-0P7$Zd2)}|I@@ZL_?Gy7YCO_>O@pg<1qrV6XCdHR z44%WkjC1=C_E|{kP~ykR3)2l6X5@LB4V<$M298nr4zSW?Z8as`1!-ylq%`-u;s-25 zSRfQ#dDYwIg)#aUUl-s0? z;i*5`o4M7S{|p9ey(A)9Of1TFR+0qGfeg)JQZ%b3X!&v(hJB&p-144WN-3)riK|?Z zlG%ZY7Di>R{0>MX_b!Rm-jq}iDLd#lQm3x!1_OF|9qW`Uv(dQB%yj9SrE#VTe@Q2w zpjB?lhZ)9#CJIhMP-%x3O)W-@GnK@?2ZS1BBtV?GZRR2B|5h#y7Oiq@8sk&!dyrX; zl7tk3*lu93R=h{GOyy-(TZ@=O5DXs&YeCR1wI)oW1hJn^+7%MQm5zk4JW9I|2#cd2 z-l+?VBl*MP2ya*#;Y|)}9O%czOyexI<;&I{CJ*sSknV)?^6tzC8AD`4No6#=wwShp zuPlj##k(ZQTm-{BDvFt0P%LGnG{QNgGSoQ|+P9D5Nd<-Dfp0j1u`LK?-q0b-Ow-i` zFu$f@MIkgLFF?;A6K*MH!{BfhJi|%LW-u+Ar8sT?|F`D!z<@DUzN5!rKCg9(yrws3 zb_(50I%ynQMvykzNTg8b1#EJyT8)B~Z6dqNC?D@}?WB!UBclF3ytO$==x`HE%Cjx- z=imj*tSoAQJ;Y#KaGFV34sT>e^ZN}3`SzaOOfNugmF6i1`JtXJ{p$G!`9#mVbW;uT z_+CB9xw}_a{b#otc`Ln2b9{UNeKgT|k7kU@qCA6qSE^NiEh<)(I;igsDu-s@x6#s!7`vU#E2X+dJ`Y%SXhOA> zcRRa#ur4zRxY3~E^`=76_@D1$G?m65@fM8-@#YeY+u;ZSV+|bo3mB{6D`mcq;e*rx z_Fl+WYkU zh}%>nJ_nr==mMo=vG+rfptxnaL7c%zympa6E=+SI)=s2)L!xP5NC6|RN5n^I!?j;+ zIiI#&t83RRf7_>r{`1)e`Dpqu?EsnU*F(P?A!@%#r=r>~{%-l+j9%00CIDgCPCv@! zXU(3~swG;rTibN{K2HxOK4xE5-7TzlJr-giIrQz_>U%)sNzEb#VjhXPFMR=9-S0m(-vQ)=onK;CHHx8eY?K4zgoesRc<4&$%j{P7~<{4m{|&$sj)`o30s zmT`Ut2I02DhiiY8&Hb$U%hOfP>%NNO{F7z!+TphRasQCKK-63&iDP2INu9z(HM(2IDhsF;(R;;D(BmVeBiu-DEbQ+zlX0BzFOlq z@U?LMbA%$CKZpQ0|16x=oL?JC^-no}-#rF-W&gp6wazP8??MC#{byS`4I-icSrvL{ zK?uEWz<(I;p;MXEzkNK4_oFwcQlI?~nco%*ti=2u?o!=%$^Bo~)oW~GB{o>k#s!F=! zN7gzcF;Y7?w>qFSf_+pKj`$NaP>N#4=2)@uCqH!{rgr>EkCF zK?bi-{1i4h|O}SCn;NMVD9Zwi{&L-b=ezo@bw)cF7IvwwwQ8jK<-Mdjs*X zf8!j|_o8t#V34|THX7}ugYpmdX+52Q3BJ{~myr%}@psRmg_O}p2OBA9nQ*INOTno9 z+96X9#1Q=aAfx6zVlb`$SmRipAw`%X@=`sYevsCC%qn!WFwd~%mNB1d^@|0AJTgn{ z*95&v^LNTdb9zcBO|c1BI$pUCRKU8+cl&70{q=77=d6MH0YeOO55Bv0mz>2<<$EK$ zceJt>LQpc)JNg^u>95-Mv1}M?JPk`-G}a;pRThoa@I>mnaqpHR{D(T*!MYgC%c&fz zAnjMKuGNx+NvmysEbEbRx#1dv{H~*y=g4f5y;|O^r3EO?V-%575RFA}fYtam;)#)W zvv5NE&1&>QIHIuxZ>Eh}jnu31)m||US*dq)BDZy~2(`3y+^X7H3D8s$w*o|B{Nr$l#Lp2+B(7)Sg!l*5=qKQa@lOWiYG;4X zSO#06T0DHzfUB&-A`ID1Y{7@y8gFMzo`G81N33ojWCRvb z0@-E^>R@RgJCR9Hf=&oz%d^JzPkeD;RA1>L`Ut6ea62wOJK6v9A9J3P0jKqxviU}#qhlW2;Xoe>3@I$QI(n@H@n*BPpXO0 zR2<^ge2w~ndYV-WSj;R?zH9>#kIzK(M^tzFes1+vxRUYo>(o#)u@EKRY0DRU{ktL! z8LwGf8dgDn#nPq=_R8$>WBcU;n?nlx$|X#(rQ(hGsp25K#zG(o1_Wh?S2 z9of6x3-}^4N#tP_Vw?jAHAj4C^&U|-O*6>fPZ;2tf+(7%K&(aMbqHXAkV`XO1D|M| zM&X3`Q7mvX1=5V;Sl})-W)cf5QDbJYfLD!~&jM@In1w7rWCPoB7I zooAtLYLpI+XiTL*nlYXQGS!$Q78s+(^kM;*8Z&?erl>I^SYVDC%kKAeDYb_85Z;56fO1|}gVdNCXjI3b>h2p9_@;6(&ZV?+duH>qF`k}oEB zLOc->Fp`w3SfZplV7w&)zE4d}LC2$&u z@DTjg2z(jAF}T4A7^w@Xq)?YZav~yNye$GI<{>o^5is5!0hbaujS&$r-Vp(p5jY{9 zhzJ<(41qnOaRtHC7!d&@^=q}vsD2zU-W>s#tEq{IfbpIPxPrh5@kB&`wYiF9C4tiz z5dkB$xe8vTrUnrnB&Rl4;r3Bdw@IK;#Y5ihayul2+7@X1=)6?VquP@wI#+5*}mFl=$=2dT?6U+db%5~OkXX~$NiS^f;uvM0A~*#$@bH5ny|#4g{|cWGZ{3)V*)zkzM&kaG1->7YZJ)xjY-IcaJ;zU-6+ z=a!1QU~9g_Qs_i;a?XkqC9#eXvpR9*3z3QEwx8^T4Hl>TXXe&Rq^w%9o{&PMcmseVqbeixLL%)RuR2AAR?1R6t#-DJrNOI zSj0W8B2H2ctq%K@-U|y_#WW`%hO9g91shlHWuCja^81;mXRD;MDCvhR;(D(9K6oHY z(Tp4g`EJ}u2`-vSGMx~&=-A5%8jq%NIimS<)w<#tQ7!NrO#Q~WETg%Er;MYJM%ya8 zpSY2QG!)&9FZ&}1Bcm046RG&_gkP%mHe?m25RQ`0)N~;_JgmLnC1#vQ)6hy>I89PG z4NLMZ4mLG@iX_ymv-q;+Af%}{2Of>)%(cZM2|~rkgANUJ0at#6ZArFnev-gY^KYRt zz2H9sgamI6s?=0O^yP#qrD7c-PK%4;jsWg7O$Zm61i3;pN8?$AhH1K*iT>*j5`ET3 zr1(|PPUui|*I~|vxlG=O6>Hbbl$&1hccr*@1zZlUt_D%BbCvZ~u6dm_5oP{Kt;jqgJk!UyFV+d<3XSX0SpDF@yC zfVWxSD)rJ{f5nhbo4G9*I(Mcd#*!;YnAAlh=iZR)@q&2o1)Nhm&)P41a zykVN{rYfxXK(BpFA`q>6I~mT&FjNr$MPh3o?)v#dlsR^kQ%M9JZA z%93x%AKa%mC4EdyIwC6RmjhaouFaA^%SGAGh~fy$zXd+-ab90%{OSK#%c1`(>v=& zjWNi7Oz);ogxhrn-=%bOOHqUEEjf>kkr&NKvGk>!PeApcZm*3YC*Ckves#vE)FY6G z#_?**k8cKpkxCdp7~Fy;YmD6f#?Bt(jKs%p8%FUse?$~#VC+xDV{N=2mIq3C5V*os z={~3h)2Y!YFGo#t1pXF$`9uFJzN?WokQ3Jrtnu*gW#?RDZMqNP{s>cWkhSS{1koTY zm}zag5kWL13l6q6xeqH5qQHrZ#6dPUjw>)fZCI*h-i72Q8Pd9!3^UZeLPdPbHxbl6P zW@zS{G@4CtkKnnC#||Mrb&E#x)Lf0`XFR>;X*Ad2S%~Lez@LWuFFYUO*@wq-0+d&~qcP zFIi;KdHy4Fa~xxyc`F8|EOukrL6D9pPy9#=3h}D}bV#45Kq=p(cmdCq_Va85o=j80 z9JDMNVUX9(8E}2>2pTrj!zG~wHYyrz`wfuEQhZc>&K2AvY85 zNIbLf$eZRSrM$}6rhsi$@ag;Bj86?Aw!J%C9#@dkxlb=*54MV>V?oPf!@&r$w)1en zmn-Oe1%@_YE*KxiaO-gS-GY?fTYIV)7D&eed>pI}6<^TOEgD<9f@JF>ue2g)Xlryo z43qobl+t@>D|E0E!|0wI7DZgUf^I3Tu@$z)cIzNLXSnZ?&xy=^6WA1F`xp2wE--3DviNHAa%PM9m&<&#hNbI8;75 z*E-x9;ukfi2n^J=3%vKmX-X{QoiDlal$%Ip6C5XrqMAF&`rV7IcO_^9>{43#_G zlG1r)N>mXS21hjtR{$bgqbNjcMxz)kp9hML(I~_#Q5ajJc(FB#X@lik=caUiv3nF1 zov%dk$P2A1at>UHqTIz(-CqSMNFqb@}tOD7@hGrR_@o&?I~b*LdvjEwZTXim2okK zCj^hVe3Q+Yeisg$WAshMV^uD}Y>QBF50GWtI;?m946?@P$e?u0Yr^i4+qOiyK8}0y zdQWJ z_4-ZK7ft1dihmVz5;J#8IY~JBVlJ$b&GV;r`Qe$CvHuAS4OBi^Ro7<7p81`v>$<3P zg8xBFThIrIZ#fN9Fh?GK>%iV04){OOEf4sAP50tWEp*=zMfZULM7P-nvz&EOqWe*l z{_^|`4-Ai}#u|D>W5MwFAC2`oW(gr=(9tk4)usztI-ufV6%bk&At!4pe*-@aXT$w0 zsnPa0TcGGHi0Ua*L2AUgLK;M^I1jE&%#aIi8>xS=KenJsI_fT*l;62+%$Oc8gvP}h z7%)oLuh_U42cSdR?~n*6Eioy2z}?a(p>gr3Ixe2WzQHxOXC(GxJDO0Cn}`k!hqs#y z@^|<3OWDBa`5)x`XMpU#eV~2_kPtb~H^{Mfj2Lt9xoC3se!{c}c7 zGJvh<=>Yg&=xIZk?#@U|y^@~$4F-AM-Rag(*R`U@E&URf9xQh$m#>yL-#tZdO;xR` zsxRd3_Y4_R{dAZfvZ~%c#^`w+KxS2;4>Rd`4)7MMDkMGY`@*War~jnBSJD%&XT}r> zH65;mIW+})rSuI%J;|43ES9ez^kkS&67#3hWb*>cjnFR{0f(*Fiac=dnsL7!=b{x#PW~`&2&};vmEG{t@ETKDD1= zo-XBKZS-Hg4f1{Wj!VQMt!j2|0y)&r+G!2)r}tj1FI*cVYm2(tt1!BGmz(u$F$D~` zv)Jlgo~UK#K{-eDxv|Mw2EB^gu5jdQGJy?)sdjQsQJVgF8*ALS#N#?NU^7lPuaV`d zqTZhC3qyzh)`j9e zKtqITwNd`~wjOePamO(yp)=XEfT_O|hgp600obZT)d2pN4z;x>slS1Vt9xGAE>~Zc zi*N5|Eno9@)cwmQpD7-oKi5O;;PZ~iBT7b&S^HQtJ<=gY&r$$e(X$ZnztB?%OmCG8 zOdQqYN_sxO1bX_X`2LQZ*}defMFaFNT2*o^pD}WHsPGo{*bl1B4PYyBdIA0yaykMN zk#jobN^&0jL*98u{}k!($Z6kGu39`$KQ%=qXXjz2{(gbVY$2!V03+uM09%oB81TQ4 zQ`?1&Thxm8&+?^t4+&@tNPO?gm?I5G)dT8(#_DuMM(K8Cb zR`g^7{ug@s028t2Qr9c#dHg)1=eJdVM^E?ea_IvD_4B%_^n7}N(W8Z;ZlULoy^NmI z4_`sgH-P_zo+Dih^7TtHI&`^`obl)6@}>Q(&#(MDa`q?7^-Cw{FLXA@-IsOL&EGE% zT{b#x?OKpSD!Z0cwzP+lvosngNcm=^Xpg*cS#Q(i&KQQgHF|mXvXP$72()gdcYo7| z*PrPllIRs^e6@$cN@42E*r_5y=w=4NIcT>nm8`N18n!TEje?Obwb{ND(bWw)eD7d_ z7Ejb-w+K2q3+mD2(LjBNh9@gwq1=dE%0{$uc4|B{f~`h$Xk4ozFAa6&wsp))V`_Eud5X9GQbihRrJs;Q_fWa+3&pxc95A0|x zc4q$M7XNLlV^JS41+ESh&dhHeBMLLPH7Ur>r9i#MS3^}hrB9sFPG%|8G3LKcz|7q$ zkd2nlA_6Cyl^w)hDPB@@dDIkc=}hJcrBuy(Z!|(_zCoD}xI-FV@ze4GhxDbhBDj2# zTRJ-4XUNP=KawjQ;8Lb z?k!KHpoa_?Jc8G6aCsZGB>|VWNn7$9Nc$DqJwm&3IzSbgi4XM|ThVqH!r18jc}E<# zry-V%hwpyXYxv+!haJpWtziEJ6Dcbn+~u$<-0C`nX?@90{FFj`#lTpvxt0Jb?`gzr zKmr;uS>w>|p$BEC;>lzTra?Cp6k3tO=S^GsFCV7Wn|(3zt)6bW<{k1%&quntx-DZ% zi?o>^K=V0h)j`=_LmYJAD=Fz1L6+bM9BTRm67bxc2Wc%=km{A^K9+suN&3gG!gQxR zRUWXy)~zRLPpN~_6Byv)VZIJ~4;6U^^_jaWM($A2D|O`uI!(F1*ecy% zQky(iYA;9=v0UipNO3f4OAML*CZoJS>?+?^Ve=e?#!~6|47(ZX=T=<#8rGEUY0D}r zXnCSNvP$jo3F0yIY+caustO2N%2W?DhNMV`)0={phX4sN`Dmzi@e5G~PG4D-74K6K zzzGruxTW^|HaU4^ynbPOgWPZB%xnkAK@T|-X8E8MtcPUJe3#YAE-g0+ z2Y+U4i~*8RRcsNCt2ajkEpb#&$XTc|yD;g#N3_asKbUPQFtNfn$}?B?>o%%PEqN4L zll9F=$vw+hW7E+)jpE+QiXSdbG*vh1qzggI#kP^s|H8=2D4~Us+c3j^TAF9dLk?8> zF;;HBQnlQE_}Z*>xmT64a>uc9N4@ixYB#ot6#Um}pC+nWs{KM6wc3YPkI_5e@8BEh z>4XzMB;K7MCvY==3bC35>W}5r4YRQgTkpVNm&#;~^_jGPGeSm0%hG4Y2qis8mV8bv zySF1~IYBfM8ELG!*C8QFBfUIR-sj6VWdHzHJjqxQheC;nT0T41jsQhZd8!vq>V?f{Y2!iP%C;t#BuZt90DDE9?9V@1zyS1nV^y$Ws1%8jVy z=A|h2p{}}~Z!@K-AooiT&7C%VX^cjhi56iT%RCY4iS=OI7(_v8p{P>vSd~R@5l#;M zFc~_~;mgs2LBhcwgO*W5HBn|pe9-c{&LH1h^~%WU574pmj>>fK8E$xt24Degn|Q6up+|Z=8wEO*#4D0SUSgHN~Bw=Yp2^gYu0J_Z;-n6132( zjQ30v*Qzb$53v!l5nqlZB-&)lDIdQfzxnX(x<4+C?xA>B8Z&eh^*Hw!-^W`b)$IF}6chx=gqx|9e^`6^qq+_;ps;RTv7vF9=3BW;n zY;lL6ANP%zdAq;p7pxIo%*QD=LGO1-j%rinbcnb53-5&<+^X+Ugm6nWt{NJj9}M!+ z>e7ub!$8y51y2UDZP_`4C)dE`r?{>Oxr4~f&KWXU-tp*m&%;Q(_a%+yFrIJl{E8{%;kk&g4sI+SN>_u2(w)FVdBab1x~l;1f~O~*tMLrNGZN1XJU8RH9ZwOS`(MV9 zq!sWyh$m_>cwgCtNlUWFajTA_Zd~~%c+>c2e3=EEUcKAT16*P#M`do*|PL-&{Nc3CCqmQj43Ey<{8}$4|*|5eg8J z$5pH#6gez2PHg}Mw$$(*L2t^vWKwZ^LO6JG$&76oEDjsbNI~2Gtf(PV7iVzgap;l^ z=j7sKxYMTOObKP2TGDeH9W1EX=3sAL&4}Ws7AFuF@~5j`srF^jPI|XA8jfI=on{uh zWUQPUBXf_rbv>HpS&t1#oG}d_v{e=xtaQpM8*d!tGFf;5a*Nrt2KF*GR zcnTD=-Y*%doAxVreWq8XLa^^CUP5Li`*zt%=PfhPV>8d8&(cgtwr=e2$)M|UE*=6# zaiJL}Jd<#)55;C;&SMqqUzfZsNG#h-?A3Vb#;>4d%DGShp=zkdNa>Un3e3eZP`8gy z64I-knTOb#;Y4wYrg@^62vggfg$=AMtIH=ST!J29k8q4jm|)Ho^Nvx8u0U1;5#X%M zs{^)@UAa;+YOl(-v*e(u8PkYmFMWZ=Xx@yQMvDD!bk#?QUF+X<4K+c<93k zuzfU^sTJjb-2Lg!u}1O_s0U|ct(-Wjy1^(&J6t$pa6uPebyA-4#0c$vdCe08JgJmX*>fqnrtIu4JH@NsLZt3Cc~55v7@CKJ zDZyMxaZ6Y_xPS|1u=MUu$Cz-hNq|#*+2~>)Fdn>0o=^B0y@J+6g{GtYEJdxa?ZmBusTn&93Snj3C)%_b-YQ0)F6xFw{4h z!?#V12m^iN`$BL8Zfu<*f1>iJV>FN4(mJ+Q($p(x8Tw0zSJ-m*>`~@Ydg)jsg$~R2 z;zrvB$fL{qeS^zq=-Vu)os`-_j$6X=hA=l znkwpI(oS4_71{C$%bOtPCkf(wFws~9Gk_h&E@#Un&}@ViGKOPY^ro-jvN8|hcm+yF zSD63{#7)|Omb%=wyr3l?5wK^`kGS%I$bz*Tk3*t6Sf{1MQxS$KF!KZGhD$gur?GK3d)2NHaGx4vY!d;X>~M3N{K$))Juc;o-Jm;IBaKZG z?8mqj95t0%`JSlJW*it;tuh_!OnFG__HAU#fiCGr3@CRDcS+yS2{*`9m!GKVnIf4y zmA3IncjBr!C=N7!2}fq3&$8~49=GRVX784~<{3I-tXq1*1W&HiKm%7^Zu&R$C0T*1 z`jXxazf^jZs z@E_FV`GRjHB^J`_*{Fx5MHAK)&5rclC2fVEAD0}ScH(vK43_mdWDTKr44B^u! z))KUQp!EMs`OuTD^cs{OB7f1%F3IpmuJnmu%%jBVb@Jw?I!|&1YkB)=ZUwC+LgI1R zgVl{Od_G~lAJK9PSN_k$SZ)0}Z7lV}ghEaq62CrdSr4g*pT+YZOAf+D4(!s3upv z+#_WG3M^?0jNRb5BF|7oFJJ#$2b=#}S%J6U8@To^hzE zJ5(9aa}35)D|(ctW{|#E$M$ifSonJEw= zvsaV~5{G-Uw8~Z(_Kj~qbGXvK`Wt>Xx=BA-Oy~>ySmiaEIgs}cn2?#>Tu$g}JD;%+ zIzptsF@~JJfwqlc?z932Ei-{EBx&my9#+TEp<%yD_Px}{v-lJlevKc6QW9S`f%^Y0 z-sMb;sdbA+2);a=cn^dv@MOB{HCOU9yVCLXwmQdIgsWpa5q`QBab>uO2or#YGp#sB zcC0T?R$j6V-iL__5`UuDk+|_g#DrGf*<}UTmLl>>LEgD?rd-Ti#W!;ISGsz%Fy$ka zC(WsNr-COi0T<9GCrZVSBrlUNV$NBuWmM?hI($rQtCe5 zW{z7`1fO%zPmanvv1L2xoJ;yT*M5mBzmXD1dog=>AW85B+5KZMjWLn-UXCqEq7Lb^ zEQDpPEIL3vvc$;0qivc+St6;um*X+`vy_j)uvFY?O4DX-CC)E34f#vr?rP$tlsE;6 zo!r)Qe1)HFIyyMV8Ek1{enOLJ`xjir90--O9G82(1+LK*j<3LVmY?IwH^K9spIEj0 z13kVWdVQ>1|4PTW2OCJE&;VFgEkE;WCr?LaNGoTWpqyhFvlyqE@O2s($NY2{G@r(u zyxfXl@pX*tE>chjlvfnAE_zrgN^_+jrD@7P5Sj^JhlFPP`=eh4I2T}2qHH{;EztMnxYw+)3qK?gzYA~K{#vf?x8LLkUlY2&eFBL^ zFMV-Ib8uK4xTL}I0qj+b!6)Q1ul3Q@{wgQE-cJ{|T^{@T{N(mu5h+q0=|bEHO`lfa z^!Jx~jmx(Noa*kG+emcG#Fcf>?qp?InGw7XHm>&~hua#ti8~-pxVF{ry2Xzns@ja1 zy2pS^0cz+TfqWD|7l-0PSlov$l~(aJ;hc2zX#W@em2V0MC3p3-Bxv#IjOg2T`V=B?E|2 z>-f3gAUHs^#tH@4mx21Co(UXrP`w2&YC4Kbv?pUBBmOZgG2`mOOngTiD~RI(GUCuc z-X8hEH+uD^^=C$?7FHcfQ>=URnsYUDV>3*%>i` zabu@H7oveho9bpAG(jr2=1KR%t^fq{4?{b*FL@XFC9T8mUl=PI+Brlm zMey_hWN`vUU`b2CHV)C?X-7$PSSu3JYaEiaGE)EF*tw=j{47h^%T1EDrlS{(Ems_flqs-a}80&PKus70}AjZg8Y zi>OlrpHU_)OCOdyCPg%vgYYc1CAob0L6--!nS+10rO#;<$$ofQX7mw_>wJc*vL#2E zA$x?Q%#_>pkjuM6m#eSOmJDk}!&)qxxb26R9>=RBf$rljX(u_}yM!3QH!bM4f4=N$ z!qze=6nxo1;UG4^3}sHcc3~VU-F+?Q*>3x>rQh-rX0;G=njx8Ku9O5sboJw-|K6(W z;K4Uu*i=9(Rb%4=t0Hx59(DmO_oLvwVCB|41$98hK?8DYzM_EvlT3VLcnK3hIthXe zq?NP*vYM2YZ!vaz&M(Be;8AJZC41YV_KWeU)BTqa2E3?Au>Zc$B5{OoMEjz4i(_#7 zq}Bi^?QGPNZED}Ou#Y-6O6C!riV_xM_IjqcjnrQ3i2Z3wj2$JUDr&$Sc+n7-FYi+5 zI#P!e>#%c0S1s-)cz;Hci@42|bBLT6>+&kd_M;)!ex~R+vX!I*LGi7G*kh790XHXh zlsXZ1$t0qC1`HyGI=`XuZj3Tm-@JtMCA|qP_Ogm&u|Xzryl4_TNfR##-v1b+PK2Q` z3#lbD4;-M>Z{S69V}C**9S~5n>I*todadgqOwWc(%$vT|bLHjm zxO|HYf^-?Y<;sg$8)~E!Am{DfIqwKcDPghHa|AXw;lFPej_-)w8|gLy!n^zpxAYlK z7hz36hnuKf2QT2*0Jr8@=mD4Seu!HTho8ntGuK>l1$Seg3Jcn9`+;Rcm}G``5^?b> zKL2*CG4LZCYar-;@KWd2SLaBEmAq(JkMbd;fu+arD(S%EcREVqb0o+5ODxhi2?E6= z+il;oEQK)hQrt@3zIWkOycoBhR+55s5PU>0{mv;SuO|{8n$OzoBKY9}v4VHkrH?TU z#vpyUu*&7Vs9Sn9?jWWGvpfv!o;<+FHXv zQj~6#hfkfCz29`TbloMv2LV66&okOs@jD(dmJi8+wd+yXlFJ$o|^ zZyRl;#D=n+#Et0Fhfug!KAjp_v-b$TmlaYw_zeLVFI?J!ZCu)tmvI}sPzf$RmKEY+ zMHLX81sTI>JjM<2@w#tSiv%|}U3ZjLJ;CN~LjcT`&fxxT%t*H?&~Y|qeA4oX;FeBd zUC-eY^k5zsm}_-#o^c8S8JXu0%tBWaORDg|_SgXvqGXe_AMcm(Y{s(<4@TFLIz07w zj^Sy*qu@D%rx_2%{Sp%}f=#&va2IfCzEakV6;;gfZBj#Qf|=&?_z|oE>DdZi<4@x? z=?vw919nd z#EPNPpTKj16_*&wrSgi3OG4a6JYR(h$hM(#WC8G`%j@xH!1E>YpfZe=I}m;f&lgk( z+^6w;jXr6n6PDPChC*;~0}m|fg`YP_Ebiu%#wO$T6j?fg-$0`M{i#^E##sYgLQ#bC zrytldV8mk{v^>#Sj%6J+dQPp9j+F1_%FjR?93%6BC0!jO zH67o_xI%G$&{PF?_s3AB z1Xwq@K^IGj)=fSMPY$jo$Z0UddNh3XsWuLMJ>CSHz*1G8G6KZXoHWF0RPO}JhZueR zwpa1T+YdRUQ%)}D6qnP?SAUDc4ToSmIUHOLF7?K0rL)~BUi!^}nQfM`AQuGUV6T=- zJ+lzDXD{&qLt_p)yoY9L0{iiY%?Q$Tu;N|th%svndB8f00Ogd0j!*Nr45mXX>QQ9^ zqoes6$d4#&d`^Y>VsTs=+s{Y#0~BTDQja1fO^isR35Yhs&w0{(v@e5SqVNNhL7+6; zj6+UEo*F7pLkrYUDID4(%0roS<}W|w!f^0-lpnL$4UNW|F-hbG1|*Y|XW&-RJqGBD zr~}Up@ZaBtD;Ejbz%z^5;%??M(l0oxLNyE%3#Ci-pvt8l4OI*@hib;Eqf`$L<0L#L zDT5F#!R15v?F`IbP&l{hC}@MqY=d70VfwuQfr&s2T$lordN1&hY9C9gokk&yNTRb+ zIfs0#2}y`>XxSkZ7#wKZENV=L^3nuGJf=aQc~J}s=B4wz1Z#5OfyKAB6o_$x6-Yx% z0r0W{QMG!tOh$*NrDUakeXC+K9H@^2HaUugTq)P6#V$g1&hb)E%!CZ#XBDtk2f?A$ zLF#F=4KMkssF5%jef5gE|3gCy&!sNJz>xYtgOf|0fTK6q2I6OVLU-ef?ZnB3rnlJW zgpEA2ATGcFu*Ayth1iFTzL!nvI8~2gFizEBoZ1G#&0>Sq2Ke$S@!GHi{SEFWvSHx9 zj0Hh*Hw&t}Z8%(vZ2LyAkqyQ}g%#96b(ymaSlc9z089TOdGg|%5)BDM?!ZJ8or#z7 zlOd`nASg>L_yG^|kf#tq!=c5sU#}rZZ$k*uziY@d`V^KPSYyqkv6C(|ETBG=P|<+? zhgD7=DIEkgB$Nq0Gjl4eYA8buWvQV&HB_L67O0_8HB`kMSS1OtN)lj{B;@A7Er7cK z*h^UO=@T}*>{Nat3m42AP|NS-gLG@%*9Ihyaqf9o-=sx3qtd--aF5P$BZYb zunG%QdYmvjM|>~@z^sfC;zz>k6WmD{%Kp|4ZP#R zhtYw&Pp%+u?|Y2AIwCK=V~D)??>^US@WVEX08J==q=A@<_*(GvgGat)ES`S(tc&Yc zcUJIl{Q_mXF|Y)yPnszG>PHl$XvZ+_Cm7OIx2yAw)n<$CcQ!e&->fHY{Qu_ke`hrK zAL6u5t%}O&T+{%C%rqv$^MA+bx3PK_;&hNL=gb^^0PYox_WV;$&jmUNg39SP2_eXf zUk(p(+FPq5=7pFY;d6wa5Xx{I+Cd=J6XaX;KaI+MNJK5M8*zT{1T2q+w5wy>_g*%0 zD>^_8VFSj3R5k2p6OZs8q5Xo5B6dBT(x*Jms^cmyETgVPkMv$PaVxHe2j|=4=Yw2_ z^cC;@rr9a|Mzb+b%dCO-jm2R@d{*r*Om{@L>k#lmBlP%JOs zMIofu7IGoTCx4AUo6X(hcx02BeG_Hy?l7qt2;(jS6?!5FSTG!7kthJmIrJkv{uW}Q zO4mn9XY{ZTs7JOIA{kJs1I*Y$xVP5Ci1TeK^bjeZw3OXKS(ucl$S~DT`(bXy0Wt*b zM-~p^vGn5e5ekfLo7l>xFL4Di7mH`UNf^SeH}Jt7SaHHn>>)>y!n1uuCk9Qs=lr5M zPHDfh;#~1{JQSJl5fxG54np9Ny70l>W2JSB2o$@hhcw=hEtNBNi`j;3aW(T|0dB0g zk)^^aiHSDzYxrQT!+x&l8K8z?l#8w#MjtsQEa@hLLK7p+fRk4xKTA_LIWy0Rj0(^d za5iW(rPuQI^W4h$s3Amze(Yw&pO7%$*gx=9128uPad^e~vV%Sg8C9Xx$d^Ct=t1J_ zfP+l4(rcUIA?;cWX!)3uBw)H}vLD2abHQrqASw`IU2em8Uz`{~K4j>O8|Mf!@)^p& z(y~ZqCoC#hn#J9bol;OHUOJ@a8!N73*qY+;^G;DEB9rMKWNMWM>l`ron_%*HN9S_b zFE5HGu8E3Y8!j1o!_ zSY1KNoD8+$q${Y6dG<9mLZ1ELG)q-Z!#s_ux#h^?qx_T_4@*)BAj5+cxEhO+sOcj~ z9JWy`E=wuEA=k!F(Lzq?2v6s7R}4k~@$(YiR_=Tz+TJUh+im6;6EjEg?@;R+nW75;GlOl4Pq`#W)t{*$c*KT z?B9?&gy$^qgwlCf!UjtCMHHF~p-dQnBgGsGGEYVc3H)#2+?0a=XIx$d5_J)}!)ZUb@NOPQIeiuEb4K4(OiK+e$WkRQ?dH?> zVCQ26=4)Bt)}%NbO*P2R_&a&RWM?-=;SO_VJQfNPvd;+gE#TWUff!EPg0TIaSf_v# zK|$fk-K6x5Wi|o3TilGF?@c|1hA%L1shHZEmzcQJeKf?+PvlYq1am8gPStc$4Gm7ey zMoNP93xpP^sJVo>wox?x!JS`ylHnl5ai?u~wTGc%fjisP+4n5A!lt97ciQsd+sQKJ z!S@|}OKnq{CUa(-4@M1l@?7FBq-CpE0;=i2EHD9aRKdBnEOJQH;jn(d*19ml*7}27 z?e3{Shshr7HT04xU_F}cWe7Smq*a^O?YpiY*}eFD_aB+QVBD3Kuesc!c0TiJOUO{G z;J7GO$-$s8H8uG#oAINj?YEaaxP0}i!QQ&6*)6fB-U5{Msz%+kD2UX5f6+_4Hwz3 zrATwDA{Vf98PP@F$%>pGDKhJCi;R?r1xmB0+(Kgxe5)(K7(X z#Di20V)ALJb$UR#3ehx?1h|?(Fx$-Esr>O8av@bUCOO9z(FC=rDF*5OgA!&bH1lD= zZy50Vvknh8>j#?4GU#3g-49H&>QLpSv|bb-A99}aHZMkI0hfe1x4te9G&$nQbnUttM`ro9*@E~B(rmjU~FaUzQQib(l7 zYOn|PA>}}d^t-5LIdI-S@{NzW1^8?C!oL-+3hOdC3Mj1v)AQZ;>y|m=?Bw6u<4dX=a zV3Oz~~P+u?g2Z@2GdAj5(-Uf|($+9Y5?3acs~w$pTS z4{`%PU!>nzgSpg-K;Xy;Ly z2H?b)sSN)P&b*yxx9%IKLSp`4g zQjdW3(G_G>^MvZjYDhezjRaQ1-4wuRmrvUtXzKj>e^NsuYS@HjqNp1A#_PgWa(Qd; zHDq-XX08SvH&=5jJi}nRL8=|L`D(*Jm!Yvp$ram*@t$H^LI%wg92J4%R}CasMiko3 z>>Jhmf#K7xj*J_yrY2+{VLb-BHY`y)EXXs%r#5UnVT$PFoCE#?o5xsv(%hu4K81~D zXH~mBqRAo7#|E5_77}UM^QU#{vS+E?O#lt?DD-+ZY`|+mC0;VEV8VTZRxsf{M=O|cU!xUFxLari6Yl$|aIup4u`RMk zhw`CUUHDuJc9BbbK*<$vY2c=Pn=9UN3~QVCjo1s^w4ZXth4uL5XLOIbwwX9=4-YI= zeANWcowoT{;3V^(tSwp!EWq2%76fq_6#R2-Z1}K^$`v2LPF!v&j3{+c(YFc0h0tc^ z`21?9UJW(Cf$_#R1+d6TmIXpINFzk!B|`Ofpq2iS)% zGv6=JDOAhc^b3OT$&Ji+9NX8f^y8R&1^xJ7-)CdfEr~zPi;i}uCH{=)h=ubTf+o1l zqKAR8Gf!|WHt5?)yg@X?;#UI^FiCtI1DO#3ED=t7iBE#Vu?d^^KiZOK9rhmm1dVXZ>&c_zit{HNp_`q?Tg zgwGq)EuMx>Gun+a`@V5O(hQwx%1a&tP5RCE8lY*-(_!FD#}Ean7)($cyomsYtALgi zqZ$V!VUC*lEmX=c$Wv@f#khLG$$3&wI;DN^H+rch*doR_b?)jT(u01NZ>kAPNcbTy z#!K}S3kaM+mhvRnuK8!->B*&%)^T0pQc1t^DB65G2+IEzq~zlhyd5xA@_)mCc#>vP zNSO#_k>7yLo?VpQirC)?f@ne%gJ(KzmgaxL(uL5*5#(#cU2g`e#t^C`N`gK!{ifs) zI{ZpP>K_EXNUuhEU1Ets@u}F4%pd>`z_RHlooG?{;;Tx8S4I7A?P1X?;t)Cx}8i-?5~{7BseT8w7n@7N@JrFUnEmM4xCC0c*&j&UUP{ijC?yZKd;p2)oo!QIK>XG zD5=q^SN{Z?OQzw*ac4jsuHH(Snz{&H$9tNTkHR1i#ZBOb=T%*1Eh< zXtR1WT0Q7L?|v&!wNMwiGN{CSA~0*jwrVa}uiofAT!f0zxvT2IL;S)Gm=X~Y_rdE(ZLq*_M$cT}v z?I615a9jeSgbVMlr7k=}wi0(+mC6!?cxNb=F00sBf;IBfms@|RN%)wE)<{YzBXc$G zO=Tr0ahMe1mDqtcbprKJ9B~t^iXFxRL5_if=xZj+i>lWymu;fI>Z0MRS5WUqlvH4+ z_FcKQDf+V(E{`7qo5a>g{YnGI)-u+091(UVOOIARG28eUKP;C}>$uM2;yqTRW-^sZ zD21&))J*sqT)?quMcUQ5U8%)w5}r=mnIj~@OM7YNVr2oaWN0gu)Xyk#kAV@WtUxV- z1R!fj{Ta0L9DEQ}q#oZ-(!_gmy-H5;_sPQ(=n&ATRz$kAb5`tF>1Fv_^mBNkk&dCnHZ+B126PO@ZOTR%^G!d?ISdO znCs00csKKB=FwoA9JSjRe;Tf}LbrD6aZryp>*cx-@h0&+;eWT)dU#_n342#niyb75~A^kmEIyOtCA z;lQ{KQ6X)CaobbaIJ0geW}u=g9JplbN5$WfYRsn^u?L8}D-^f{biY6I2aeA?aLF4> z(}@DpotSG4t(};DNR%aui+^C;g5?W6o+}of%yZ?!Lg<2gs56=iFrlj2hA=VaZ%EVc z$MLqlR-e~P4IAv8gmQaP`Mvi6-st=m#4mzKQL-&a>s&V7omHwC0d0ETawQV-^Hi}!^_sR zhwpMFuC;05U06&b{j)v}+kEpdk<@pf>t5hI!wLu;d4+ZOXL6kX<5f_WbjVh}c7(-J z6^X5Oa%5sAnuql#!nS4m_it=J8Uk;@f z<|mH4oP2a(##Q9}(7>GU9hfs2KhT%)W|u2ft=$?4T=HIM>DGeKk(W8P9GES+J}@xX zFOh4azrv~{ljcZh=`plvUUNjNoQ_DH{vQeP->QeM5u(G!9f#s|}LFw8jS%)3`+3RLL#-HZIx6_5e*s?WDChx}k z^<1)so)yEyn=aPIGXj9m;4r8xZi=9SEn{$?GMqbs!N_ z;kYpg)K(Z@Lfo}&A@F}Xyl$7q4)V87SaL8{VnAj^iRw?_UZTQis{IRprc=C|KhQil zx1`3_+Ce7qV^rpaTZZy{%nj9eH?9Z;4wLX9#lG#fv-1V(7#ZZ|pnpVId!_Fn73G+L zbyB>foT48f-9R*|=JsGV{4kkp=j6jMMIrGzFVQ(sE&rJS^%nzM_mR)5fvtbBUX)fi zs$+rg?x#B;=8_$pJ8^|YVH4zp?UIS91zX^UA>iI|%SqLfw*;2{QA3-Gq;=}W!BiSU z8~&I3_!3S&7FxQeC$ym$kK+w_;k!8CuY501*M_hTmBLHw?i$2)C*L4wFZ{5YvJsY9 zgk_2V{U2U7NXkwh7Q;p0tS!Xp?|&0(^3K3_Z=`$CwqH7dsgrCUg9;UNrNr(qumZ`U zrg2mZ)vk7Lo?JZ!wbNm@RgZZj*&a*P7mnFjJ?2jcof`>nLIdh;FI+4P%Zr_)SDlc# zy6vqq9~;ZK;z&JqwsSo6*rGq%)2~^AVM{2L0e*|1^FbbY9(_Gk#w{`8%=gN z1&D$SpK|AxS&eTAlJ;%VvdCKiRPsjM^iw89L=|8HmCjj@j|%XwXfvQfl0WiFcTwdgVS#NCvY+Jay_BZnNEOp`QRv6`T5>M2{5HnbiE1OS zE^G6LH1^+IW6{+hhvS-?_-orcy!CHu@7Djc=9S#M&fcTGe4o7&rGMuFKC0dHB*z;S zjNV_>UQwqEuC4bEws>HJIS%-+5ibAX-`3)%+1@l{-(^eVJ?e&g?OpnL=XVWGoOq=F zKWy>9218Nx&*}62>2GWC%V0ff@ehCPTD7R=PG57EL8JY&>rS;w8T&8SZVuTCY=O>HvbuG41(Gz0Z}W|<%w6H;o~;jc z@D%Me*S#)af8&frAVDPb%ruI_FpG9alSi_Xa>Xd^)`5xy6{`ck9oJ!Crmg$$sBztP z2FXCt#_mtphDs~anN>e<-T4kck5omk+Pk)BqrHR8qiV=fkOppe;keOa5w19pKT2NlIQiM3Zs&{_yi?PVgN-TB$mge6{4Hs~F~oP#$~ zi~~Zu_G`oXvMKcB6c?g)sz)gq|4>rs&AIq(!#IeC^DMDCrXq79n(|8Hb6QObgUVtL zf&VyCurg5l)k1}!-I##Wit8=Hi~+ODQNN)wg?9O#a=w10j|rO5r^8c?*xxTX942FU z@}KA35=w55rBXHssk_vNbZ9JfLWbz}LsJ6YusqtoQ|<3(jn=j~t|;9^Dbz;jem?)J ztj2q?{86jK8^#}ffc=8b^GZJPZ+1=!hUks@6x$1({6Got`z9wj|4 ztsQkE{E-U1APn~Z;*i58v2;Q$FRcI1geBDhvl#O%#%U%&Q@dD)G__ijjQcb@D~ltI zL-}Fj+QyCP2TvugL>zAtyG|>(Rx6V?8LV3^IxBo!w#;Y|5-l3dQchZ6It*<|hQO=zB;b zLJoEf*wNDr{SHgFr+Wf@So9+KWESPoyos~%FllO!5odE|-}had zqEZEuwWA0UQ8h8suCD}&t7x1%O^3{{2qinF65dIfe{pSBrZpnO&0QH?3kBS2w==WX6%?U|Nw7JgvkDt>~7xg8koZ6!43Og$&y#_$Drylmf zxE=G{Xr0uT$T+uKGDllni9~)(r5Y~#Xf#>hWR;KdjKQE}{?(Qap$M8iMGHJQSsjY+ z^5V<`%7b1ldi7^G{LYy&%=+s`{!2H^tl@Dv$G8<&>$K!w+%ay&PuwwX#n0U_ZpClhF>b|w=@=I+ z7_R!vYQft(n&cAk_=xG4xU-v$xWg+oXBDT#;{k~|`k9qdc}Ya!vW#A-qIj=TQM^~H zDBf#S6z{bviuZ;J-kcbJb#PWUwkeu?Ks->{Zg@znQ4};|$%j_UwX}V>6k0Bf(MKq} z?1{Eu#t~kocMc$XAMb^Qz`twQNWAY96T~I}*n??t4dgTXe1$t>UJN_^n&(M@0{8Fe zF4MM*ilFe&t_;+P_w7|`gzFyFqn*ur2U-`XZAg)01^{!0akhb_E+ivW25p0{LD9RQ z9(fNfJXw=PTSB~x>9u)bk(>hVQCm~d_p;?_W}LVnu-+;3f?)hqnjT0N~XK2co){ebCeXW?Tly6fSh)uFYHQHP;@cp5yRFlCkJmB3j5}%!7asJ?aQwW8f>s&E{@NN|(B3x2mV#jlugF_4Z z(lS?xK%KDDU?p7jB$nQcV)f=*$C=kh^(SL_xOy$gs?Fc=@f zZuBmJ*i%iHDYOmz1FlEKiv&t0j4WnBv?$f)LxEXfW%Uf}tk?9J_e=C(y(Y`7eQy2S zfg+K%=JAxaPdi#AImBPV_dNeM`IEHv%<6~Kr0m;8|2att>3)L|a+syu8W@9;r^Mm`Zjlo;1fo2z zTG+y3n!?v&VCpt5EMj+%DC4u_Q2!@^6UkOylQyA8@p0>si5u5tfe%}tP6g{b3~a!E zxu&;!h@C;!gN2WK+2Z}h;_au9`qv12@fL}6?vYo7kXQOyQPx!WIa<|Q`ZaMXfC5D$ z2qvQDL%O&0DuVH;s_>3M4SGv2c0m%9tbK>M(VHke+fRJzG4h{qZQ#b&8l4C*3>^!0esyagx zcIHG$1g1QyI3X8jlErBw@6d!cZmSyFnG<(l)C&eiE&Pb6l>?&=&WV~(EpuxC!ayzi zYEYaL*P>EW>T3;(4vc#8@lkWy6&o0JSYOnH>!;ir)C`RKvA(z;j5=*#RPQ6A#s@|{ z#gCfEj#O?9>ITLge&TG^OB2{rnI{blSXbff^x0 zQY;IC$&zK5xtI^A>4VNM#30xNRzh${w~)i&7qFYsB$R&l*BwePEE`kBHFwW?IRBG( zU;XR6phP!6otQN<2TwN~y~Z;$D$ekEYR(2wbdSW*Lw zUKDshxn;fu_}Lo@v?32Rx^mTohg&!ai;j7N*Ll&FKsfc4;+89lO)V^YAWhAt2x;@K zKFm(lDc9waiJ0}AfaV^Pd(X&;=vi?399*+N1A_GpW-#KHz#i-d&Yzf>exbN>M*(>o zGgEO3ehPGEF2F+})90APj#sZ8;>_;53kG#VvW+{)E>Q7kx5R$7Q))e82|Wrr)-8^f zHr)hyj(cO_U^3j=eG+ZfZlrBB7(4BNc4>B&(~Lq*1IgHagW=O?N*tUjo)B6f{3(bp zC|^)MZ;F^i9uUxPu&|!K1|$8S+up>02LESYgKxN?zrizb_cgd0&j%X(-v9Zl8+=@Q z6S)mOnr*O&$!8l}c-lv`7sjTD0&geQq~HW4%4={;J{VXk3HCRHzf4la;xcWjYE3e| zvbcSTwoIQx1snKQvm7W8O-_%uz3dG=XmPO0T&>TQnF~(Qa;=V|mbWNbKZhl{wPnGg zmion+y+dvEN?wIE6HP8_lAd^|*wgu6gU1l_T8OY(a6QSZ1^E)x7baPE zsU_y-#y#H9M?)>wV9+ce>wK6--7H|?4DHXF=`#Ua&2M$y{v#Mo%~S=o4Kb^l+2grKd@NyxXL18V=la)c1GLSIw5?m`9($W=%(E%=XBbjfw&p ze=T-iZ`z3H`c9JZIk3JX^aPywYxh|))kzUd|C4MqUv5BuzAYPIEeUu-GIw%z!4zY; zK&WMOl7TN{BbZr)PdzZ|eFM*L0c@aYybIsJOROGabY1g!_j!OLv4m!B&RpU$U;{KB zBO&LxOzK45iO)Okom<4WM`mQ)o8qut^KgIq_RL_HzJv546lb<)4#QQV5_KI){|Kqx zw)BtTdMjZWq`NP$3It}l{>p45iP}UcC|@@8em^6l>LH}Z9kqJB5 znq1tOE8IYX*pd_s;3a&Tjov()70b@yR`dRlX2ugs|-2M8T{Ley)RoI%Yur&=B9#4@|hQne6chR*r;wu(o zSO?=ei$>V}8LLU(^q^$}(j)xjB&@dqU@~SHZ_zFcr4slprt#=XD6Y}b4VpukQ2@lO z;Sm=TvSB%oxry?!`B!SfgeMx@M?$4NGs(F%3T>G&cS0f>1$;A_{dHXuhIWKnOleIr z8keUPZ#%AQSCa_Ebco|kroYwlv8l;ELm>6t1pb11Egq>%}niSs2b{coN~mG;mtjO%iPiF2foPf5u1&v%4spS>qLk z*)#D=a5V--uPARqxe4Zcv$I!EfVx2bwf6Sy*W=e5qAr&&r-<@QFJ>h)kBYwZLvbn> zm(K=GJB696iOBzPlhhf2sR!0id5ucaO^g+)z=66;cVvFqh;Sue-e9uw5j^lnZiHQ# z9}t1>Zs-hDlsQ$FU+`pfUi z+~s2E=>2Ksp%s{0{(;Oq7sJks(Tp2V{?W{I_f-lm=rj)e`d;P>?rX1v>yPWYA(>Cx z$AS~pyfAa@CTn&6iSjMZbh)nuC+PHHnN9Aa*v;{5hrtSUqv>VtbDsyFDCgms@42r- zPLT76%-7w=;@q6G8IR1w+*i{%I=(9sWtnr_=b?ViO6P{6?$Yv1(0w$?glwI&IfI7X z$O6DHy;WI^TM1zVmJNpn0m{I0=E3ZodEq5L5O8acCRZ4VAkzKy86w?3c8`$=4(`kw zVf6dRtJiA#+a#N(&Z^v;5&qRttMgi~{Qby8Tzl7Q|NLx?e}1;sKR?@`^E05t>#u$o zl&Ek}LI9$|2Neb&V5owqvXh<&Qse-N#79F4ftD^H2Ebx$=GPoP8vE{BcL-R_HG#f~ zWrzUi+K}_~>FlRd`t)rLpEq&8JY%}$F8T#-;ELQOzr!6HBk3P6QMw1ue|eMv^oBPJ z(9!7~G6y-VflH58>Q;a^i3Qela}oXDeSTovR=FhYH=_ewecXO5xCx)>J`Mhnthb3> z-;p`|4Yo+a!Gh|FK1pfvZ0s$)cQN}H61iRM$CtkMKhO8ax%sA7^yOQvd<_72L;7;P zzOS~|4ybK{>RvXWx|b?jc)@ooM{4{Jyt_Z=*ZGZaTi&k9e%K2x41niZ`)S&Cg6Q44 z+2c44@JgnU1vS!I*qnIP3=mp|(u1h`!spjxuA~UM-NsFO+6OTc+r?z3&kgDj)#GAa*&HAEY=ckT_U6OZS|v zV`FSibR;*Tp52xi97%30*cifq4LowPdb}<1Y5}v<<)o8nB6lX+$h-i)@3yx6#ZJSU zqiG#V^L3a1Rqigb%?vKsD0ha6k&N1K4TA!DqNyoZx!)GJ{o^#B?k$@4eSsT{8IOjK zKaQ!F60a`ZTQEP21l9a;dW=~5PTqnk#1GaeebCAY zmURpNUt}Sb+S-D}-EfG44a~RT9L|t}{O9*NF~VZ)WPG&px?1on_S`z+k)>i9*E{S?#oQNjZ*U zZ?WiYC`TH{CQKEP8+UlbKFTB!4=q?3o~}bPQ3{v=Zz%at>)NZ2;$X|Fg-J|V9E++k zI;M|5!_x09{iO(b2$3|lDw5NhYZ%J;oML;IA4T&2DjZjnW!jb4|JQZ z;b{=^v+7C*uf{Y!&4Q7#%NFG(eh&by42|2oDc(bVez&#u_8$kN8YvU4w6&#zCj&yP=k>a@l$t%#+VULIHJ-B zB1W*j8FGQ|b77snVfj9>SF~+q;M%vuO_iZKF;Izm<64V3pJl)l*2$Sb**q=g;4Mta zV1#KLBwM~u@f6`wPXVj-kRJw*h3e^jdzjpbVKU@qR)-=MJcZ-3VB}tlXHGp9tWfz2 zHrP`oEjI1?CBrhaXK2Dbw49z%O(XErQ`L=`C7-eVsQ}N)Ce(@tX+6U42}V{1?xL13 zmvnXGc!eY|d2dR#)pv3{AXTZxNb(U`x-LV6Taz*~t3t<#W+(+oTEvw$%5?Z)P4@He zTT9vDK$X2w;tIE1fB%u^TDawa)A^R^O`*w827d6cqKXU9qajRP(VK*yaSgL>50|06 z-cr3Li6WU$d_L1iujJRa0aRj;O*ZzimL)5n=t@4S%gGvucyGB1HMY2Y7cc!$F~S+K z4nM>hW9$qi+XL4=zO*Zkd0nIaGpSG@f1I{YZy+QQynZ=ujOpp~^>c7n&!&(E%eDUc zx9l4tFzUsHCmL3Z!65aR^$ubckKNLz+_kIG76@q#UXNAv1(hnCZ6!FpGMt)M;0#v!SWjzj_a|Vj7<;=t(=$^59gQJQ z>P%!uyw&iiGQcHb`>*G5FT~QVnDj(|e?8+JsQ|Cz+GRFOXO>1vo-6JXQwEU3{SlF_ z_DDv{sy%YRy?UUs@Evxqqo_L!I$s;e{9#q?&A(8}LFMzO{+A+0Qnz52^w7euaS_ok zc12SU$vA_La`yD8Rf%JO64)jXgkG_(&PpRx%BurtZl-dmQ?08LEu%fwx|!)rk+n5A zq<2#S6d$9jFWkH?nbPQRMN9KYYB1q>A7}zD*HU4u`~ni`x6JM5&_cAgq12bK9he*HOW&y^&c+q}tr&Ae<>Ha=dW>Q%*_Y zE?%pdjoc$i>o+SYRMEKYmhxFQ>+9JTmell3^6VV{YJ zzZ0NCgm)^6sK-z7ob1%6mfd($j3T=pOHMxHhiK-vxtZV1q!d>vH2Il%SIFpWq!D8k zh3MU`oLcZO03spV6;c&dBhc7NYhSF(&rW#JS=q|_b!JUenzHC4Q+v_<($rTen;`Tx z^}`tUVo#Y{UYAvx(smCt-@-)I&TiCMJhEC7bt978<2r1n8uuaMg_B)6Mtx6^U({S6 zzC_#etasq_0QkX-GlP9G{G2=J$hxqfi0(4n$i?FIp^I(A}tRx+nI>Mc3Ht?_PtXlKfL5(-8m01pk3M&rWSDPq-_PwHgeHk z*_f;&p;b?d!*&DJisXw$*4CafRl9|G*~7{ zR*5k4tn~DZi@9#H%E3j$lhf}H_0l11C3C}*_Xh5G1zk!lvQV#C)MSx`C%?)?e=fL@ zq~48dd$r0)61If%b<>XS^#ad)ee%Y@9c^4;3l+CW`Si9WKuj0u%eKHBbMz&Q$sLl{ zH@j?vt+9t`Co?S013Q+PCSzk8y~s6lR^P`3?aBlgy1+PgC)2C##&b+D^I z&3!z0$07P(h8e|EGL4QEDJM4J7;R5dWdUq50}2VIJG9;bc9&FUd?{juD?)5TS9;V> zU{+qq2vF-M5YZ)APOdR%6GP3FbzcN>3^u754!#>`|Ez)bjwSVK?3H4V$O?=+rwZ5` zl!xzNQ2w|+fFh~eB$z*-<*qUbwc4izCU-2}G_`l5BL&(#7FA%y9Xj`5QItmiu|Sux z{9fD^QY;29s*;ui9AlB})5_z0sY&n!r*jv^w)ej%QPD`0bWIpIzVDf>$#*%j8+&>&}jVX0tj z11jQm;btfpk9$h;Dix2I{fljizu8CPu<6*P=pr|;-bVCIMDH|APU9*{az?-kJur zmK-QfAnPOXv-V8Qm-?|bk&Y&z8y>|C=pRC#hf)iA{T_uxPutjd5z*_-56BneYDfN@ z4ODaOaCKpOq*x`lM~1nVCjvbYY2NSXb0rbR7D_$~VLneZ3}-qIZ6*{vO$VSl|_n^U%GeYd9>=f{K4t9kfgYDf;j=S2Lgm zZA(x`ti%|wFoeiRcT@gC2JLu^t;5=+_&&yFM3$e}Rx>M$MheOZWy41-kdSn4y4OgY=<_xT`E*lAo-9MzqZ=s zj|CaDOI5O(xC#h1t2XcDb>iLzb;(X}`o2sHb1{%fZ&K^^UYlO=(!}4x%OC0Q$fk>r?D?!hw29>6;i0QLKm0M>E9@@oWf3#-6*o6(6$*=az7?{{1rRI zBi#0x-65m_S6jVYFkc49yd`qZl9p-xwi{L+YQ62<5f|;k$G{Rr_R?ng`V!g(cK2@s z2JCa-zd8(B<}*j{KA4yHiBo*AU)j$OHg;?uxG#(T&%k}zKycsWhA2`_4>Ug@-~SNY zE6EAKeKVo|D{!y;4BR_MACcak`NF0B;Qpq+4cv=*I1bz|n)4ChzIFUxN)sP|?whr4 zLF0~x?mqU{58Zvd4m`3porUfW56nV$a``CeF5sT{Z=t(->^SI7DgP7b4q!jL@KdZV z$q&MCvK1DnIIJa>D35gyV{)?Sc(UT$O6=VnnfyxNj_p1$pYLGx9Kg9&EI#rG3#iYJ zOosej-~)9ZoJ04pc7WFonmZuwptXbE2CoIe;f^_YZ6p&E6U-l=I5k_cJM*231_JJX z74@mj{znY7&h?;D*a%V@cO8!oBm~~olw;!@NC?o#J_yzfK_JV?Sz6#DA-P7jpA!s%NX@jtC$N(m7;-LG>mdsv8IgIe=Yt@%irGpG2F7cw*w0sNIj4u(U0&~ zcPfooOR`|+-$b*i`()f3E&fIUbv{Ei_XGOCIY)Bwe5;M%yeNQ%K6Jky)34Ot`C(Xo z8O$IC-A>{D8Z3W=z`ppi+|EU|k&%5EfB1n)cqOo5A|H+63&Bs=IYnhZyr1o(_e(G@ zaXfDSQCPhyfqhz@IRL&o)DPedzCUz4IuE5?!8{#+&woL%{CIrcI7MUNV|YdX=c@wj z2st{c|KI$@K3b^!)KuZ8`qD>EygG9;YI_^gxA^ zGsk+~ycuL#RE?+(r!4cTQBo`_Y>+@MpnAqm?CWj3nPO{80t&2Xi!R;F#dp(6=int_ zNyjXi>721KlekC$wMCB+z+5Q$e|TGD3HBsR#5q^8=e7f@8SX4UHJU6Mgse$)0`ZIs zosj}%G?sh=;mSN{V{tsnLJx|fj--}A!M0zP8vYA>gJK2SV(_OY8QBa8`j7&nsga0N zAjK9P(<#F~aN^*J0zE5C$bzlT&Pe+X!lTJUy0|@RX~*=)T_blWIT&Z0m8ARJbpgVl z7G0TM*iwMM!RY*O`E36UrbP9YrRNW6FZ`5Xft`|sC-*K)%n2p)qN%Z`W=~{%7|@<` z^4^|3c^^zS4rRu&arp#&*@XrGB7=I{qf57N+}?ZhAEKZU6*NS|VVO>u#>aR}isI$u zc`N7Nn|MoEwyd}JTtvmWiAdb?kDukH$7tH{w-+^()HDaE6mefUm!|d=TycS`m<# z!^a2KkNo>fQX@xeoT8C}U7^pus)2;dv_3X*P^4hXhGN^=k_SU)Z3(RJ46Gl*WmKQ- z39P>~KlIs+PrMdNMUTQmPF;Ro=F@EhwD)=0Y@qwwsg@_dE^5U;I0bGGYjU_2I<%h17dR`3S4`J>}x)FzHM4 zVI>)tY<>8Ph0sc&wmlJ#@@c>Vt&=Cnd3>{9bA&3y#-dYojx3!O~kc$O?J{9xb=($r?cxI^A$L!O;(=FQ!I~;h0py#u?=Q z6+YOWE7rR#`AH-+VY}}>`8fNmeFazoY0TDLCpj6DNmYJRn_b#^_FLJ!fmurmAdm6! z&2kQzv4NY#N=wdmWJZWA`EozG-8K;Y&n=o~SUqt2)HAo<3?vLkHF5m?@cP+3oY6`?|r1ZR<W-4{1dN2=WIXa1=Rpb4XQd^@fMXsYMe&YG~2Cnbf_%H39GD_c%No*nrlm-(84F ztETT{Y-(08O->anvlvlF%KagdKK;uW`Md3a(l$Lftz1;wppe1K!1{INX?)cz#XuN~ucK#| zdsDC5A4?*Dhao1`(H+-n{iE3%<9hQbOShBwX!v>)dSfk(BLGe7%6GNa{C*U=PPE4x zwIQNKJbG-od}sfDnwbC(v!bxz;f0odt8mbQlVD3dz5h1X^JC6^oFlJp+Wn`%_kT;~ zfn~qqNpDU;4CI_mf$#sD1>WNa7P~-6=meI1k0&<`Mw%ZFgqlm0A=7BI9{*_KI^R0l zj{>t{q&ei^>;(lQnbqQmf7;SYy;dx3BBR#Z{_Beu@0a|7pJnqMxRu%8>+vmVIY`=+ z_08=+xUa^_i4ux-BWp5!y7jr=kIs9lweY__pP-SZg7ISS!`yi|xott=uk*SGH$Of< z|JcT=<-;$w%WS{~Ccht8@nx0;qdr!{zZnO-Tbl&qdBO?c2{xmt&|m`BvSlg|D%+(3 ztQwcqyotvEV*H^=_)W6S}jPqXuw$oQelRJeAumvqk?4v^3T;`bZC&L%(XWMC&PP6mGq5!jqm4S& z@?iNOYRRREf#yG-WXQ}ztNB=++`5v}k@>@t`K?19IyKS7lwh?X&W0S{{PFPfC)(GV(jSP%lSKdQ5nScEUc)54khX?sO=+G6Y$$boJmJ{EWyH*p@9^u(^acJ`H!0i%6 zOHJvu^V$M)ziU#I)vJ41-peF6iUgYO{Zn2x(^`)`G$wCr>sf!8d=h6H!8|U$=i2Z; zoJH7={&4PC3v)6l64m+)kSRR*#d&qeXv1b&%?TmW1y;Q=yIYU^VG_y4|8aEwzCpja z_K&0Tc(>k~o|6y?Omn*^ln%PD!MrKz&6J2MyxpoaSGX301h4SKn!0C@{9_z3S9e#mfu7!!jG&I;HKj#M8o5 z<_suF66`KhLy$p(FhQV_{W6|=t+zL8(^vLkG$OI28)(@8)_j4)vbhX8lLR4@l@vll zD4by-MWg=g#fGILk=qz*dcSbqFRdPYDP0?bc3L0G_fJ-F=5bKR))kC&IgBw+=$;?6 zj|C@MAWb}I0T(ah;)RO(utx3U*do7HXHAg<{b>@Rllj1|Z3(M;^!c!#`lSBUY~y{Y z`|gXUMCjfA#GomN&-;l>`V&Kq_9ZUtFFJGz;fcPYDIypd=BEz!r)Hn;OYP;P{zPuk z!x-uvA-{qzbD{<6Md}e>*@|?u6 zoWy74CazK9X$e2|=xl1u5X}WOFc^vRsIH^)a+`mSixG@8_=(TXCSD(+H~Q*5JE!P# zU5;*+%~96U*hmKw>qCFvpL%>w>c*VZpU+J_U#S=QMNjNcd|poC#W{(gm-m1^n>P`TcoJ>d#}@a>0)N#dT3`HtsCK-52ZEJ2W_;m1HMZp8p4$>C+`kL*Q2IuV?U&>a>K)X3L;K)Cy=Y zHw=d_#Cr~h(bNAZP(CM|n&N3&X~0rUBHD6l=vPI{BfsUWx?M;_oEm8_sbPPK((SK^ z?k!LoC*gZWj`0Ll6!9n<+#YGyHrpQA?p}}S6>X{iW2O;Zv}ELuZ~@`*1e4X9TCON; z8N%HC{QiGchco2o^xT@jZm_n4XU<1E`^#26N@=(1slqBQP6Y$&Bfkx8@aQG08+G)n zcSO}I%vSGD$5k)WjiG%Qlk(9eoZIDc5#I?b`|kFM^vnP%DIa`_-jQU(2Ij z+900EFM2oX2SBuV1BS z{YpKjH#rF=ikY~1qJ8&@wo6dAWkC)9IR6IzG+;p^|3$GD|B(Fw0cm_I-D{Q37xAuk z-Zk#E*1a~kSK7Tg?6trnJCOVZW&A7nkLN#$e^ zPP8N*DCVt0)87!RL7;n+PqSW);-H0+_<@Jv)fAeFvloZVM0OkA2fMB=Ce<~YahQ&> zR21LO8}m)rvd+q_W0frsoLl1Y0S*Osc&du9C&V?`a;WutJ3gJTyFqmuCZ?CiWn_}P zVhgI}&^Yc^uE4UHT1aRm^F@ptpJ7y6^mwK9zFpteVFUCaY%#bh!RoX`MX?{E^vKd<+~+m~N9qz4yghmynu^smOvV~r4acMw znLUVm-KtZC%lq$jdy+sRc?tzWd;Ryi{hlw$M{nB$UDUK>Nbkc-AMWXGOJd})I#HvW z&m&CkYA<%(uBp0xWqJdbuuLV8D{i&${zo7KAyt7Y*JjFE`}poVcsPqEF9FA4yRY?`5!r0N>@&u{KVq#MkhZJ zNR6gPuzMB-mWVoA!S-RzrNT9>XFT@tv+AdDu^TL@e{$1DRVqG;aR-yM9eA(XjK@A3 z3KSrTE_fw}#NPCjrk z#)T^xl$AEZjIGFzK{h383n53iAg=~daZ)bs?33OC$gW@30MvqSA*noXRMR-76J?o+ zmeN}}^y%$zYQoGd<(a5`LuW_G_CQgdC9q;Qz10DBkbs-58OVVb+BygOAjFv~Cc!>6 zvCSJ+!iwr*4lDocRc|tH^nt71n1w>PrY4!~Tz%#_j^3jPIQMZydjH+uO0lss7vEc7A~@=$NmaV{b0fo~;U%H*o0v#6tM9kiEDo zU?9q{z)?OHUB!8h-^RFjZ(Q}JZ(Y{r4{7XATw}9Wz4f*C_~s_+V6=YN#b@Vz`fqJ- z(cKqVJI{Rn^RC_V&UWq2HXFwKiQ7##3OF${{;Kxgmu+v@;8V^BAK&7E4c0~4ITxRW zKlL}a_@~<60+|et)5HP=^nVi?N0!EA-_EcD+3_jf|dS#^*64H zq65QXjNH#&rE-GPSCcP54d(*zNN2$0#(Sg4d{7lQA4W5CaA~F+0TD8Kv+S+!%m(Bn zk0Hv4*v}~K)H24QoDdh_s<+llpE~2R^`GqTusWmaoSl;8w0j6)BFkRXEXCt zJyV$C%&z^D$@kp!{uikst)H$@y75UK3p#mRm=6@^Z5X0w7@}?~X8)Q!u?NgXI1)u{ zY0ZCTN&+h!vl0Ja|6?J^;I5D$59tCeHuxSWmj{G0bL})tyzx|Ur%AiX%yU`h)nVFS zmn~8R6dQO^rvA}F9yP@}DQXt*So$_rd_b0kGZS?a$Z@nXu>Kh+$EOpB0#t^1Ofr_e zcE9q*>LfaZ9L&zIPBLU{R*OK)-Q>z<`F0|INwIZ_Ycd zDiAL$<^sL=uwp}NiZ^_D`t<2X_7fBwR@{1E_h*I@Ww?DDUi_O=|8#O*{)OXO&wSxO z^Pf7W^{E$L$sch}>mUC7z5M5gwqDv*m%n6a>wR5c&OdW#>-)SOIk|QEo*(32aB}O* zd%pS==A-OwonFvscdbXSYl~jTpwng8($ zPs_xHv>x7f#@VBf%jVSFY?Q~lJZ8R4hM8l7TdQ6=r(oFO{MLCdU7tU;x%Ii1KG$0G z@@3O$<`j;^rwl{zF8^FOhZs)5o1;e!DDX;VehvyB(|%>2K^OMc!q9Ta=;ydj-YDfX zspe09&neyv&a5tKUHkH>Lnmkbi;G&He0fYk>W%!?{8!FNgqjw4gBFYmwO2B4INoTl zgd(vwE4}IB{Xxhr;()6*?{HJB$O{KIep#8keWNL&VkGd^Ry{O}v&mrarveqa2mN_oTbM&*skTO;o@dE@fd z$=e|BYi#@-q_~+zT-W{|Jl$@K8VAp1VV6? zz#U)4f4JHYzt<06{j|GixA+EFvjUt4mSz2l|+ zd(=hFUviH7u98&)tavfa<06Hb#WNFKgzez}B>&yrBgnbreaqP^&9ju=s5j+@1VZtd zXHBu5(P6+1gf1#8ct<@Bw6Lw}Rbs(xs)sH8P+3c;0!<%xpbZm=W9Wg5$2Aog@QmJ; zIH0q?tRNaZ9aHT6;H?*Y`S0$oJH08(gX(b;wdf`KvN}l%y$3vjOB8(Bgte8xk*HqH zPM1n>mc)mcI5*Wz2JZP5Sp~;xdFJmvp$P!zb&>>F!0R`KlarG1!dT1V@;I#2@qybr zJZe8~V#Q~HA-Bs~Ch;eJRlaM|$%h81ZPz>u7UNC)5rL5jf6@9a4GqVge3S5mcjnul zk@U)&`fzp$k>t4WNdi?rRZkkHoYyW{-csKbO4Sdemb!6wwAqM(C7ot|;p?}I$ zoKH*?z6q-#W|{MicfLwqVpnU6=3|4sBA6zv#vAc?m+>CYyOMVe?*`tDL~U|qtaN3p z<`rwXaV`H1{L}n9_;>Q(#lMSxMlyYKfGquohnGMRUvww|g0lFcLJVGdv5Sf$%}DJ5%9a+AqMgtbHCF)k!x~vm!M?`V1K`xWBi;9Ju)<^vG&4xWf!Qs z@NC{x=~=7NcB|etb8oZiwPkaodXF4ey^X#3s-E~jwIwB1J+4VB*b;Fe2!8R3WosGjQ18|R-RKQFUC;38THoH{(+3R0|E8V0kL9%UbF_~7)|I?< zx^>*ZakXng|NDVWx*XlWK21i-vFJV=A2zTbJ+70<&&D-Td*O0r$H2xdH@D<83@b*h zr5ELD9_2tf1L9!1*X+KD263NkTpqQtk?B7T%TDZdjcsQXPSUW%$_r04F5F&m;(@_h z)rhG}H%pKd9of0%b2tfj4C*b0qFJ1io&^#?hO6-?`}!Z?IrZ+p7e+N8Ls$8v?vl+a zC*lA{T4SBLYN8|@kI>Ghi?Lo3xZQ-S;3)PQi(<~1oWTc^xEuje&b{grki73>i%NBiH ziKHq1@H7d(zQ-l%m&7=Yu0_aXUY+isj;wWp80y9Fm_w1|3)QLN--ngj6iS{2r#YHa%r3tcM~+K;0DfgKl*vi`zMuNNoYXR6m!{}ajd zBd5ie9j4f-9+PhRwaCCZ(ksv*5Mohw0K`d<&W17zuQFbX?t1m+4Che;#_S2hYG4b8 zgDoI|6&BXEfr~TW6S%W?e>L>k8wZ&Tae0=>CXz5vt5_Gxx` z+*vjz8g#aQV*&#eoLe5Ye07b2CEM&L>zKUrmNFuM#jqtY5>VV1*xrf#MJKoRW_Ja_ zvn@h5uCPVWGM;O4Z3p`W^kT{CRWM9s%#s0NYC0Du@D87djp@KCez>rT&<2PK;TR{x zEhKghR+58UIIe4RiNRxFZb=sAhFiYQOpy|LFkHfX@R~~;fHsa#tVClKF6jXV4;Lq- z@MLvddUE^CMSL(R;N}vCos((Wdc1aPBHVITU#1$e=910+CsM^qG)Cc)_p+IWPcF>n zO5|X^CFrmOWV*voNlp3c*VMB(ow=C`sSB4BlWA!}RSln9oXyqh>gw@iHrrkO*)qNS zY)4wQyK}Q;wvp{{W$SVsHXv6`&E}G>Y_9vvf#q{*ONIPwnFK`2P{-OAchS?eUY6D=qhPJ4kzN8D9gq=Ih4p7^cx&O_4VHn<-PZ8{x5TIo25aK@6ZqB6mu0=@- zGc9MvJho;QDjBi3#?M#td)F?k5n@<>R49?@3m&pSyIB5+Flr0zw!qiG__)Uobg%pZ z$K#+jr(0_iU%41905hL;wTW(B*oO2pC{-m0@3hofp5fFwp0U&h zMiM3tYX&j*tUx|sMXuWEX`0CO>G z^SYrQ((?;K$LQeoY4%_2U_XI0ONOOlSNBXQR8#)wz{3ZdlJMJd)Y@Vy1wqpn%gUX) z7In}X+4kms<^C4AwzzhwMNjjG9p&pnI+aH$WYBpiWSqD`*n9iv7NsuB&o&8zLfC<9 z!#@7TLexyK%3Xs14MV~%%u`#oj;d-j)NJc`kix}6i0$~OABK{D64cn}c5m(5u|Q(% z+qPwgZhJ+rF4Xo)QF!Q4UIm&4o810Qh=H4doBP)6=8n8X zGGlh2XEY}~^lkVTbCDQYF7Cpd%+HoetO-uX!s4@~LEn(9ZxSxr5-$w5Ahnz75e5an zx$1>{<|_S&WjQrzHwjAL z3u+ZqZw7hbq<*8x?nRIY0)ar}V9ZW%g|b+xekD(H9pTxq+Gb96UeQewpT~!N3{F|m^umzMmzl~_sd3CopO9k?K8u^=tul`e>F|^Id`D6 z7X_niV@9i#=CuD4$LHClJkRxGezHGLI&I)M?Xx_6+4HJCIqKtL9kA{^SGb0|J^o5? zjmU%qHghBCNOI@7Xxp+6ke3eXBqTBxqOL8SDLkvAsclGle<3~~I+BD(FK>$aZ}J(j?H>WuyHJc`9M z;A?S+S`P!1rCH(vWfwe~4>Urrlr_(ZnSfKSeB=&yV_YuVdTQ$Dao{_UtWn1zTpzbV zH^*@X%)M`(L;&Dj~;D;x6Flx-SaY+~B;;UKm58OTFVu!n z)bqYz?Ty?QlIC1|IZzQ6_UZ{~&;wbT76{b)0?vRC$~{PM8I0<`@UDc6i~tki;syl_ zfrZt>aIVJ52`rp{ujtTV@#C)9rz@h-2s$tHNAYK+ragz!q4A=8eT#!_sc-gH23oh` z9*<-dubSAHy}TM@V_ppeeF*y;E`e1fI;m|F!kftck`&?L3O4J}-(G{mzhdoif+-s8 zFEe0kr(WMYz~h!4?p_8Rne_rysn@k9^=#$!R~&Y;geRITeEtUoNc~)NYFKwsE!(0d zf`BA02mQ;$elEKON6GTi!j1^+g`g6T$HL46^md;z=Lc5rN=&lNtE< z3+P*p(2R5v7Sr#fnboVT?TtL^%IEW(UB1XkzWf2;C%iM30LENkR!yZ@-6*(K$zmyE zC9KS}U``nE`3ojI53W;5<{r}>j3_+$Xkh6tVWiq^(IjH@rExt+$s658(&Fxf`5svb zYBltz18`)vh};{JkyX4FA@!d?LZK|PhrEPkQN=u_=X{U(6b`j~35ayj{#riLOGU%p z0T87k#bjDqbCS`AngF#unnE(5AX1@LC)CnotlfoUH~)QEgqS>{N7aZLp$m0VUG$2@ z*{^#>kL?_I?BLS1z_g7zC86gz{S!RpG-YFd;ARWt8sYw!Oi>Oc1&0@&toiz?9-`cK zEG&}q4V5g`M1xQY3I>o5lj{|kO|R3DS+?LXx2pwaNQ@_rBD+c@q%$x>@-T5&Pku;7 zUf4?ui>an2$-CsSdm&}SS?ZiLs<7dGg^lnF8(5YaN%>}bh-Ol3ww2Ub{3}MDl5+yH zt^ANuN2*6_%3QHHqvapcxeUz=3Wy_|l5p8~sXqys{lO-lxJ!{|9q;z>(QGwZKs34N zFGoah+6itKm8s1r@Tdj4)z1o;wD6?BHM?k@wEO}Ipc8`1*JJ|cye4&fbZ-ybigE-w zzT$t7RFLGOk+Q82?PqrVaG322-GjV&;U_X3`&4otY@9^t+(Sm`-)8?{F^MYo&iv}z zZVJ;ywOzj#5)J&9r7irb61B5_AMdJ1_tj?1ZdVrO@>zEJWu~9`V;53$XBkf2#Dukd zb+|6+^eTtTDelCgGPz(uc#UHfQ!s4KB)NdJwTaDgz0Ly)kRIEi2XkDqWwp#D?5Hx8 zwD!5@iI^|r60s{||9ExI_M(Cy7rp2(eBuyTZQPYwSE{lwaV>vKKxFVYFFL{^1OHv@ zG`R#%Qsj{XBWo9CCiUekt`AYAS?E<(q0i#ilWm9>CB1f zRo3ub14s;HbJGnZ{>pGaL)M=Fm1V)3o-x0eD6_O{!2@D6g0<+OqtJ~V!fn#HXRAa) z!OYdlz7DgKtDLz*4vFQXxFPn16)?VvM*3N=DF$y=2_|L9TjN~M8ZkCDE9q5E1AZj# zn^;yg)I>M$c{Ca49xztX7x8_7^R?XAO&GmZd**&HFQV1$!?RnC9XJl_W;5nZVC&<; zrsK~CxJ!Zo)6(XC6kHtK1S)`if%sc8zl@b$X2*MMS7{1D@O>Mo*;a0KWrgl1UjgB`Elw^*17U+Zq*Y9diuO1@QXKxgCLeM*@R|Ms zM`xSC|BPtB_uWs6TaQ!yd5(2|9`X)Q*1mE3Ebw6q)OmIN z4xoOQ1-@m0;xX0t5ctw9O4uduOGNZazmU&)Y6wa6=U{a8mM%GHkn6&;2__ z4uL9-2EId+3HdT1d`>F}=8|r>o}!d2&xvp3SyGTl-E}?I(yIL0y@YJ;E&Y@t!bWLl z2cIM+$#x!zu{-TfXfag?O1JIxFNoe6PPPs0Ac?AE4tA`%CIR3~veg9L6y97HFYM7A;OvGxd3+wma{7 z^`BR-c{#JBggnr*LVru(QR}DZyYE^vz3H8bXPixPrwpdbjI`TD$kmIi!wXP;*bfR! zkx*qNcLwoo!*SoLxHf=lOh|KE2lsu1u?&>#Nn$@sI~3PN^yR`$Rm{K{ur+gokcgdu zmEzo>w+UjS$PL0A;|!!&`+@>h3em_(T04`V zBYstjUPCa$1%vOYSR!gISD`CNH%5EYfpI(Ki%wvcv~}eZI6f81gRLE?Y6GPkukfKA zsj57vXqHronXUNAvB zTV%sf*1D(>qGP!RkQZGx80D(1 zF|i|ExK)(gRH=3s6!8bTvl3SIjn#y zA9h?#k@ezg0$1ks+_FaA@AAKkZ*s;RM;dXiMK^(f|D=q3757BtF!^ahHT{ zd@n!ul2G_1U&&q)S_{!{mxKz(@#dK2lE%OGl2C0)$T6`$vM0eBfup!ddzbB1WAU-A z+TF7d`2ZS+&u~#RN!V$QyCYO_S&C-HU37zgM<_%^|2?1oFK^!h7ge?WKWA@75XBix z6yKm&7@Fi;(cHalxpAB8u#s*!GA!LP1KwL0G4flq&;w6(Mn=%y1|> z&`Pjg4Z`^|G9{8O3?5aI1Gu5<*n_2HSYg7sJ_H=Z_er`8^q({X>sFZrm8B}vougy0 z>0g7xnp1(6;kHPbIkjvmroe(VlgcDBnfHMI{@<&Q^A>~EFP{sraOHZOe!$TVCemr~CmCe)gOy(|L5!rx zaGfO#vSP6AVauT&pC1X*-Xzi)=1-9OK?~)2Tz)`?Q4#&-KY~1dxgL)naI}MoY}(k! zJILaf!%+WvWi(j)a$`yv%xZ(dFV|!6BSqTgL^c(*fnE(JJ-G?gk?7V?WI~2R4mPMf z=zioa28Ulh6ogZLZ2(v{CnLp^4FIvXh`hyM?#rkAaCNJp zL=GYD7$v74-pn58JgGDsWF!Lo!(8M7}4>2bQU`f z+Yn$n&=1p`VAv2#hsp^ac??Fs!6Q#K$*xh51`OwV11rOW!(ljNG-zSElthR)hFef# ze5X>sp;L!LI3mK!jc^idP`IH)HoUD7Zgk4ElON?1uU%e!2KOd30grln^arIreb|_!!tj#?Lq3q-$vJ!^bzTr&W zFU^>#?FEQvUV(ijwAG>V?sRocB|~ASVYmSl(8>_}M2KaAdhovy33>`S@SzbaZYF_R zI5aMNQSa_$rtC9j83)6#xx>x1>v8LXZA0!h%PXb6wF%|!kZ@Nh8RN@7W1U9a4r?gw zrv{?vzNo2)Ogl{Y4i6#k&g88`je)<|E7DInEORs|2k$n~-Gbx>rY0lfxVgct1)m+A-j1r)-Bc#JeT#BA5qM2Ic`rbaaBlk6`gS;-#p#04}wF z7R=9pw@vCVR!Q4)MCt}6H!LbSuq}-lMP?Z5>$#NO;-6D#V3-H}itXNRbQ#vZu##k1 zK$d+}2CGgCHl1Mmrm6c@4!~qWQ47w6Jx1rkFoH3ySw~|MgOtb8;|ua7>G*B%QLK)$ zXl?Q$G=fA>2TX?V8uBG+2hD#lrg4$KJE7s79W{-sR z>@fzw5Jm)jAix;5ulg5^70?lK z_^}m@MLy6jSRGd)h)>rgN?aCPFb|bwa}W6q?>sz<@!$a0*aAGTS2-4n*<*|Fl;DBA z%CTU*jon4N4cck=q6U3Wvx_xi*CFvn-ZzvZGT~{|R|vyV%qUdBUVt_RlQ5HX`o$3n zL{jYg=u)(HGu!0uo{<2PknpqRWYVl8-irVx~L{%CLDI6BQ+H6}~O;kl6$$7RA>2yl8pw$*iou#JFkh-*k>i{Ft@5e3_6lO_8XlPEz%H<2NUlqt$; z7>pMSzfXm6H_X2om0*8CA|DU4KcrwjwiXKqf=0o}K*e|}!dMWL@n^u;_05`wPiy-c z6di{uAiV*rH~#pvA-bwCW>+Y3;XXWU9Z?#bFGpwv=H&wKy&~TpC9|4>JeJ_ukLOn* z%WM?52-HQchyeJlkc8ub^Mejl=oFSRPiTi^czSg^Vz36ZR&^?z% z7q9g`4sR4iZ+|%Sj)6n(I5_g-s5@a!5N>^dJ<)Myd#uH0g^Gbw6KUyT&Ou&^&{HtK z2`5082x>&^Wg49*YCo!QiS7mo6ejv&Xc^JxeSH~GfiUphVp7y6!F&5@>{=07fq#tnTe{sNZ5NB$p#c1!hmWI*J_X5o&N;(hMLB1bC)F z+iLVSIMSB^jv{12LoNPCIEd*Bc4-xy=wgc4=kyMNG2^;y{ssF!Iu8V1XLlPc?gDb$ zZ**}jS<=F$(d$S!DvW)J)hZfa``|q(i5*+3)xIY!*3PYx8Y|XR*R3%ru3PKz33V%z zs0d+!(;X%MjKs0jy)`*Sg+v3YbYRJ$t5(O+t(Q(5&?1#Fc*Ho=95L>pKS!!|qf6ij zs@tJ-IcB|ZX)WLDXK`AH6;#wZww;vNwB+54y^8RSpfW(3v{w!M8ydi zFTi6UD3(7*dcKAVY7icvfJOg#=bd*%+nxK0M%f1W1R6B{8#JB*3+&K%Q_Fk#DoJBz zOvp2S8y7$lAjPZn%Sbnm(}#pbI2g^T!}dBytbw-ja?yK-hy?d_e1P}sC0z6 z*vw_r0z+UXYz*BOoxTNg!xxV=r5jIRa_iij=k*I_ooaqujNX4am|N-glej>i!6BMi z!OkciAJBio?-J3rNUl;`;YLRy{IeHky%^LI0)Ea>1g{nppn7N}(JUb>P(2Daxtlv2^)r8Oj#LK*6H z0x?JHbV4t%ZuCxoH%;2XUVw@KI`4FyPS9#XP~p>})qz1~VrBRd1`g5qXnUn$<0A~M zgOcr>)fNemK!mzM?->kQZ2qV#f~{+J&t{?zuG?nxfu+Y*YJX~ex{n7HGX^`x`mkT9 z8{`v*sqxYF3a_|=#t*whsW)O?N`_+hk6iHDNA&QIX20^#f2_Np`#^e6SOarTM0`JuySF_ z!BL+f=rA-%RKXt1l*Q5{g*eE?B(W#~+lDqu_Eq4wk{`|$==|DZTwj7Pg9E!7?k@}w zX!9dlWNHzG3*K+BOnXfGrvNr!NIF4L2!voMg1B0{9C@@OzODgCQi-~N7~(jwWuzJx zgo|$gS3z((>$+I(7KBS|0Jn?abPjg0+}nUtP>B8w0ILX4XJr@5gZv2w3s?OOcrs|j z_VYjuKm(~gr*9!AuBeb;>#+oa6-;O(KBa?eP)I_8s|2J71HN5P!WT5FB1F6-{=3`7uf#LlMh^5kXll zo#B_kctEkp)QVs{Q2I;9`wH=B*O-c)5$%#FB2om=JiYZ+A*nPKl3E8H7|g7{-cke) zbuAH>T2aJ>+8xEAxadnGj-Cd=Qwxi(QPxyj4Al5SM~(JPu>cbhtWonpaF8w#MU)VD zf+UeFWY43)HKuR&i2*E7MCI*Z# z%|WgknCApSLOny5G_3}pxCI)BT6dnqu@{nYHJIlLWn-R0b@TyAjbO}kg>pOpEK(>N z)0_dP0L=){5Y5Sfd5*3n5K~Sd!8-FC?ji^#Xv}i~IAD{1o+}K@b11Me%?0492u?9X zb`9n^9SBzon5n@VL6W5*CN~PA)KI*#V*f!z_&tjrR^VenJ zHCDGdREqndS3$E%5KKD_#S7JhnZ5m#YrlgGh|t>N6f%W@`J

f`CoN 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 O!t!dXXk;NbTmBE;2*ox4 delta 138840 zcmd44d3;mF`ahnNlR$u$lS(6HDGd;yr7WcdtyC~+6F7mCTY*9grGP-e4G~&ErKFG+ z8V>>VfJHAVUeSv?SFkMVHKov$MJS5`f?CikDRp5{D1zque&!@y@LoTk&;9-L>#HYc z=9!sio_Xe(XP#M4(W%&?4ZYXit8P#|Gd$J#YWwyNTzG8SpwRPU$E$;Wf&YWnGZTJd z?->c_*n3t&fW4)+s)pkoDUVTizN@HT7hW|D z$lD{)SiGD4nN=$9fO$$%MjfbBnGj)`{E|ARtrtGfs48wF`_$dqqA1L}qK*8Mx|2ZU zt56I^PiY&uBVQ+*dHu5*O>fZ?{>yw5@AsCeRB-PC^`dKUY@JyHhbR04`0EC10QHe==MYq)yYZ1yhyVM}WYL|D|_K{{W$2VN(<-1#rSMN`kJ*_&oeJ8z*>Z+g* zFNu)<(JE3M-*%g?ReP?>L~tcwnC@t!5@HVvvH2z=a!VEiy~a4?ORYOaxezW&r$sk+ zZ4Z~P33_KAlnBUoTJBMLIiP;}Nw|lyXc7Kw_L)c_{QJmK+m` z7ov*NOT0qyqj1SjJ0@D zHF-jEQZ*7B%@ZELlN@_IPk3lQISvX{N59My&YwW&o;=~$zC7XgJy(Qz-cwhFdDZw? zs!7cg<{dqiC!8^Shse~QQh;)yc+sOq~0nuYuUq4@QQD-U5 z2-sa0xq@>^-lp1MwIWJ;$7NbF#bw`LLh^K}&Muu2rHiblHlhWHC1-?UnH=tUI#IeR zx)(<|+|!H>_u^9y=_6ADYDtKjR}GmOvbMcOB_zfz-YLXZU9|}MHIP-6Ffm{i;>=rY z!bC3|;s!YO!;w)6$1ylIEH10r!x@}#E-{(?X{|I&K!*XDRfs)BxU51%j>+VYr69tq z173tRAXBX^96+0pbMvYYQEZALQ4%IzLn{9bEsLI03BV7)G0ATcV)tDEvPVn_SA;C> z0VMT*iddlNic^?WZ4m|@SvUq!^_v+cu+>WVVt)ooWRmqQVE_q}e!e1PR}qetgyU)8 zxFX~NFv$xXzD0+KWCaKE)6X;|e9{f)kgJvGs?w1!YhWTRhsi>MO@?p@dc5p!y;3ONnr@Lsh#g`8@NvWAqg!j!D=UG2d0avrq{ zv_oEo53#e6EW5!b3_MOABo(r&7xssElNcVS(m-86IxIp~m45*xhG>wm1IeTss+Z#+ z;pW1=l*Ga$cajhC7fNCYCPB-AKs6vr)=lJA*_cNq<>770L*JB#m+~M&vLN*X4>l$_ zNJ%Q1l6 zkR9;L0K%nT13952Xa}(s6yN7xj35wm9?)un99h^3fqU!Q;FlWHls%B-3(l)TznWl( zj)e$Qd`MOcc=hcmya+gl0PpPq6;y&DTwBPsYp

a-bzpRq7bXK^k+;YE-4xfsmqp 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ͷ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

D5Dqp?8EUgAsP}g$jdIv(4jB{GVX{y@URI}; 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%0Dc0AgOp&)t4vn#f`_0+ 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 AKL7v# diff --git a/Bin/PAKBuilder.exe b/Bin/PAKBuilder.exe index 3d91157eeff3efd734b32669b7f8517d0b920486..758290850f79afc3b385418b1f61f0cebf733a5d 100644 GIT binary patch delta 39015 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 Lz5kT|Y2SYVbMZ>| delta 38760 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 diff --git a/Bin/TextureTool.exe b/Bin/TextureTool.exe index 446dc0bd1e36d25bcf13ec293734d9af9d4f3fd7..ce3fec5d7d2ace47ae1675587fc0fa14d243c1c7 100644 GIT binary patch delta 54139 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 delta 52861 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 diff --git a/RendererDirect3D12/src/CGI/CommandBufferD3D12.cpp b/RendererDirect3D12/src/CGI/CommandBufferD3D12.cpp index b594a6e..0fc7945 100644 --- a/RendererDirect3D12/src/CGI/CommandBufferD3D12.cpp +++ b/RendererDirect3D12/src/CGI/CommandBufferD3D12.cpp @@ -120,7 +120,7 @@ void CommandBufferD3D12::EndRenderPass() { auto pCmdList = GetD3DGraphicsCommandList(); - CD3DX12_RESOURCE_BARRIER barriers[VERUS_MAX_RT]; + CD3DX12_RESOURCE_BARRIER barriers[VERUS_MAX_CA]; int barrierCount = 0; int index = 0; for (const auto& attachment : _pRenderPass->_vAttachments) @@ -138,7 +138,7 @@ void CommandBufferD3D12::EndRenderPass() barriers[barrierCount++] = CD3DX12_RESOURCE_BARRIER::Transition(resources, _vAttachmentStates[index], attachment._finalState, subresource); } index++; - if (VERUS_MAX_RT == barrierCount) + if (VERUS_MAX_CA == barrierCount) { pCmdList->ResourceBarrier(barrierCount, barriers); barrierCount = 0; @@ -157,16 +157,17 @@ void CommandBufferD3D12::BindVertexBuffers(GeometryPtr geo, UINT32 bindingsFilte auto& geoD3D12 = static_cast(*geo); D3D12_VERTEX_BUFFER_VIEW views[VERUS_MAX_VB]; const int count = geoD3D12.GetVertexBufferCount(); - int at = 0; + int filteredCount = 0; VERUS_FOR(i, count) { if ((bindingsFilter >> i) & 0x1) { - views[at] = *geoD3D12.GetD3DVertexBufferView(i); - at++; + VERUS_RT_ASSERT(filteredCount < VERUS_MAX_VB); + views[filteredCount] = *geoD3D12.GetD3DVertexBufferView(i); + filteredCount++; } } - GetD3DGraphicsCommandList()->IASetVertexBuffers(0, at, views); + GetD3DGraphicsCommandList()->IASetVertexBuffers(0, filteredCount, views); } void CommandBufferD3D12::BindIndexBuffer(GeometryPtr geo) @@ -200,7 +201,8 @@ void CommandBufferD3D12::SetViewport(std::initializer_list il, float mi _viewportSize = Vector4(w, h, 1 / w, 1 / h); } - CD3DX12_VIEWPORT vpD3D12[VERUS_MAX_RT]; + VERUS_RT_ASSERT(il.size() <= VERUS_MAX_CA); + CD3DX12_VIEWPORT vpD3D12[VERUS_MAX_CA]; int count = 0; for (const auto& rc : il) vpD3D12[count++] = CD3DX12_VIEWPORT(rc.getX(), rc.getY(), rc.Width(), rc.Height(), minDepth, maxDepth); @@ -209,7 +211,8 @@ void CommandBufferD3D12::SetViewport(std::initializer_list il, float mi void CommandBufferD3D12::SetScissor(std::initializer_list il) { - CD3DX12_RECT rcD3D12[VERUS_MAX_RT]; + VERUS_RT_ASSERT(il.size() <= VERUS_MAX_CA); + CD3DX12_RECT rcD3D12[VERUS_MAX_CA]; int count = 0; for (const auto& rc : il) rcD3D12[count++] = CD3DX12_RECT( @@ -346,6 +349,7 @@ void CommandBufferD3D12::PrepareSubpass() const auto& ref = subpass._vInput[i]; if (_vAttachmentStates[ref._index] != ref._state) { + VERUS_RT_ASSERT(barrierCount < VERUS_MAX_FB_ATTACH); const auto& resources = fs._vResources[resIndex]; barriers[barrierCount++] = CD3DX12_RESOURCE_BARRIER::Transition(resources, _vAttachmentStates[ref._index], ref._state, subresource); _vAttachmentStates[ref._index] = ref._state; @@ -357,6 +361,7 @@ void CommandBufferD3D12::PrepareSubpass() const auto& ref = subpass._vColor[i]; if (_vAttachmentStates[ref._index] != ref._state) { + VERUS_RT_ASSERT(barrierCount < VERUS_MAX_FB_ATTACH); const auto& resources = fs._vResources[resIndex]; barriers[barrierCount++] = CD3DX12_RESOURCE_BARRIER::Transition(resources, _vAttachmentStates[ref._index], ref._state, subresource); _vAttachmentStates[ref._index] = ref._state; @@ -368,6 +373,7 @@ void CommandBufferD3D12::PrepareSubpass() const auto& ref = subpass._depthStencil; if (_vAttachmentStates[ref._index] != ref._state) { + VERUS_RT_ASSERT(barrierCount < VERUS_MAX_FB_ATTACH); barriers[barrierCount++] = CD3DX12_RESOURCE_BARRIER::Transition(fs._vResources.back(), _vAttachmentStates[ref._index], ref._state, subresource); _vAttachmentStates[ref._index] = ref._state; } diff --git a/RendererVulkan/src/CGI/CommandBufferVulkan.cpp b/RendererVulkan/src/CGI/CommandBufferVulkan.cpp index 457d35a..e8e6f6e 100644 --- a/RendererVulkan/src/CGI/CommandBufferVulkan.cpp +++ b/RendererVulkan/src/CGI/CommandBufferVulkan.cpp @@ -84,15 +84,16 @@ void CommandBufferVulkan::BeginRenderPass(RPHandle renderPassHandle, FBHandle fr vkrpbi.framebuffer = framebuffer._framebuffer; vkrpbi.renderArea.extent.width = framebuffer._width; vkrpbi.renderArea.extent.height = framebuffer._height; - VkClearValue clearValue[VERUS_MAX_FB_ATTACH] = {}; + VkClearValue clearValues[VERUS_MAX_FB_ATTACH] = {}; + VERUS_RT_ASSERT(ilClearValues.size() <= VERUS_MAX_FB_ATTACH); int count = 0; for (const auto& x : ilClearValues) { - memcpy(clearValue[count].color.float32, x.ToPointer(), sizeof(clearValue[count].color.float32)); + memcpy(clearValues[count].color.float32, x.ToPointer(), sizeof(clearValues[count].color.float32)); count++; } vkrpbi.clearValueCount = count; - vkrpbi.pClearValues = clearValue; + vkrpbi.pClearValues = clearValues; vkCmdBeginRenderPass(GetVkCommandBuffer(), &vkrpbi, VK_SUBPASS_CONTENTS_INLINE); if (setViewportAndScissor) { @@ -118,17 +119,18 @@ void CommandBufferVulkan::BindVertexBuffers(GeometryPtr geo, UINT32 bindingsFilt VkBuffer buffers[VERUS_MAX_VB]; VkDeviceSize offsets[VERUS_MAX_VB]; const int count = geoVulkan.GetVertexBufferCount(); - int at = 0; + int filteredCount = 0; VERUS_FOR(i, count) { if ((bindingsFilter >> i) & 0x1) { - buffers[at] = geoVulkan.GetVkVertexBuffer(i); - offsets[at] = geoVulkan.GetVkVertexBufferOffset(i); - at++; + VERUS_RT_ASSERT(filteredCount < VERUS_MAX_VB); + buffers[filteredCount] = geoVulkan.GetVkVertexBuffer(i); + offsets[filteredCount] = geoVulkan.GetVkVertexBufferOffset(i); + filteredCount++; } } - vkCmdBindVertexBuffers(GetVkCommandBuffer(), 0, at, buffers, offsets); + vkCmdBindVertexBuffers(GetVkCommandBuffer(), 0, filteredCount, buffers, offsets); } void CommandBufferVulkan::BindIndexBuffer(GeometryPtr geo) @@ -156,7 +158,8 @@ void CommandBufferVulkan::SetViewport(std::initializer_list il, float m _viewportSize = Vector4(w, h, 1 / w, 1 / h); } - VkViewport vpVulkan[VERUS_MAX_RT]; + VERUS_RT_ASSERT(il.size() <= VERUS_MAX_CA); + VkViewport vpVulkan[VERUS_MAX_CA]; int count = 0; for (const auto& rc : il) { @@ -173,7 +176,8 @@ void CommandBufferVulkan::SetViewport(std::initializer_list il, float m void CommandBufferVulkan::SetScissor(std::initializer_list il) { - VkRect2D rcVulkan[VERUS_MAX_RT]; + VERUS_RT_ASSERT(il.size() <= VERUS_MAX_CA); + VkRect2D rcVulkan[VERUS_MAX_CA]; int count = 0; for (const auto& rc : il) { diff --git a/RendererVulkan/src/CGI/PipelineVulkan.cpp b/RendererVulkan/src/CGI/PipelineVulkan.cpp index 78370ef..88314f3 100644 --- a/RendererVulkan/src/CGI/PipelineVulkan.cpp +++ b/RendererVulkan/src/CGI/PipelineVulkan.cpp @@ -117,7 +117,7 @@ void PipelineVulkan::Init(RcPipelineDesc desc) depthStencilState.depthCompareOp = ToNativeCompareOp(desc._depthCompareOp); depthStencilState.stencilTestEnable = desc._stencilTestEnable; - VkPipelineColorBlendAttachmentState vkpcbas[VERUS_MAX_RT] = {}; + VkPipelineColorBlendAttachmentState vkpcbas[VERUS_MAX_CA] = {}; FillColorBlendAttachmentStates(desc, attachmentCount, vkpcbas); VkPipelineColorBlendStateCreateInfo colorBlendState = {}; colorBlendState.sType = VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO; diff --git a/RendererVulkan/src/CGI/RendererVulkan.cpp b/RendererVulkan/src/CGI/RendererVulkan.cpp index e2dda07..2cb9a59 100644 --- a/RendererVulkan/src/CGI/RendererVulkan.cpp +++ b/RendererVulkan/src/CGI/RendererVulkan.cpp @@ -1175,7 +1175,7 @@ FBHandle RendererVulkan::CreateFramebuffer(RPHandle renderPassHandle, std::initi { VkResult res = VK_SUCCESS; - VkImageView imageViews[VERUS_MAX_RT] = {}; + VkImageView imageViews[VERUS_MAX_FB_ATTACH] = {}; VkFramebuffer framebuffer = VK_NULL_HANDLE; VkFramebufferCreateInfo vkfci = {}; vkfci.sType = VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO; @@ -1188,6 +1188,7 @@ FBHandle RendererVulkan::CreateFramebuffer(RPHandle renderPassHandle, std::initi } for (const auto& x : il) { + VERUS_RT_ASSERT(count < VERUS_MAX_FB_ATTACH); auto& texVulkan = static_cast(*x); switch (cubeMapFace) { diff --git a/TextureTool/main.cpp b/TextureTool/main.cpp index b5b4751..446bc7f 100644 --- a/TextureTool/main.cpp +++ b/TextureTool/main.cpp @@ -18,7 +18,7 @@ void Run() LPWSTR* argArray = CommandLineToArgvW(GetCommandLine(), &argCount); WideString pathnameW; std::wcout << _T("TextureTool") << std::endl; - std::wcout << _T("Copyright (c) 2016-2020 Dmitry Maluev") << std::endl; + std::wcout << _T("Copyright (c) 2016-2021 Dmitry Maluev") << std::endl; if (argCount < 2) { std::wcout << _T("Enter file name: "); @@ -87,7 +87,8 @@ void Run() if (srcMipSet.m_nMipLevels <= 1) CMP_GenerateMIPLevels(&srcMipSet, 0); - CMP_MipLevel* pMipLevel = srcMipSet.m_pMipLevelTable[0]; + CMP_MipLevel* pMipLevel = nullptr; + CMP_GetMipLevel(&pMipLevel, &srcMipSet, 0, 0); const BYTE* pData = pMipLevel->m_pbData; const int pixelCount = srcMipSet.m_nWidth * srcMipSet.m_nHeight; @@ -273,12 +274,14 @@ void Run() } // Save shuffled mip level, read from inIndex: - CMP_MipLevel* pDstMipLevel = srcMipSet.m_pMipLevelTable[mip]; + CMP_MipLevel* pDstMipLevel = nullptr; + CMP_GetMipLevel(&pDstMipLevel, &srcMipSet, mip, 0); memcpy(pDstMipLevel->m_pbData, vMip[inIndex].data(), mipW * mipH * sizeof(UINT32)); } else { - CMP_MipLevel* pDstMipLevel = srcMipSet.m_pMipLevelTable[mip]; + CMP_MipLevel* pDstMipLevel = nullptr; + CMP_GetMipLevel(&pDstMipLevel, &srcMipSet, mip, 0); memcpy(pDstMipLevel->m_pbData, vMip[outIndex].data(), mipW * mipH * sizeof(UINT32)); } diff --git a/Verus/Verus.props b/Verus/Verus.props index b62e089..63791c0 100644 --- a/Verus/Verus.props +++ b/Verus/Verus.props @@ -3,8 +3,8 @@ - C:\Compressonator_3.2.4691\include;C:\Home\Projects\Verus\verus\Verus\src;C:\Home\Middleware\AMD Tootle 2.3\include;C:\Home\Middleware\bullet3-2.89\src;C:\Home\Middleware\bullet3-2.89\Extras;C:\Home\Middleware\libogg-1.3.4\include;C:\Home\Middleware\libvorbis-1.3.7\include;C:\Home\Middleware\openal-soft-1.20.1-bin\include;C:\Home\Middleware\SDL2-2.0.14\include;C:\VulkanSDK\1.2.182.0\Include;$(IncludePath) - C:\Compressonator_3.2.4691\lib\VS2017\x64;C:\Home\Middleware\bullet3-2.89\bin;C:\Home\Middleware\AMD Tootle 2.3\lib;C:\Home\Middleware\libogg-1.3.4\lib;C:\Home\Middleware\libvorbis-1.3.7\lib2;C:\Home\Middleware\openal-soft-1.20.1-bin\libs\Win64;C:\Home\Middleware\SDL2-2.0.14\lib\x64;C:\VulkanSDK\1.2.182.0\Lib;$(LibraryPath) + C:\Compressonator_4.2.5185\include;C:\Home\Projects\Verus\verus\Verus\src;C:\Home\Middleware\AMD Tootle 2.3\include;C:\Home\Middleware\bullet3-2.89\src;C:\Home\Middleware\bullet3-2.89\Extras;C:\Home\Middleware\libogg-1.3.4\include;C:\Home\Middleware\libvorbis-1.3.7\include;C:\Home\Middleware\openal-soft-1.20.1-bin\include;C:\Home\Middleware\SDL2-2.0.14\include;C:\VulkanSDK\1.2.182.0\Include;$(IncludePath) + C:\Compressonator_4.2.5185\lib\VS2017\x64;C:\Home\Middleware\bullet3-2.89\bin;C:\Home\Middleware\AMD Tootle 2.3\lib;C:\Home\Middleware\libogg-1.3.4\lib;C:\Home\Middleware\libvorbis-1.3.7\lib2;C:\Home\Middleware\openal-soft-1.20.1-bin\libs\Win64;C:\Home\Middleware\SDL2-2.0.14\lib\x64;C:\VulkanSDK\1.2.182.0\Lib;$(LibraryPath) diff --git a/Verus/src/Anim/Animation.cpp b/Verus/src/Anim/Animation.cpp index fbe5755..48c99c7 100644 --- a/Verus/src/Anim/Animation.cpp +++ b/Verus/src/Anim/Animation.cpp @@ -66,7 +66,7 @@ Animation::~Animation() { } -void Animation::Update(int alphaTrackCount, PAlphaTrack pAlphaTracks) +void Animation::Update(int layerCount, PLayer pLayers) { VERUS_QREF_TIMER; @@ -75,22 +75,22 @@ void Animation::Update(int alphaTrackCount, PAlphaTrack pAlphaTracks) _vTriggerStates.resize(_pCollection->GetMaxBones()); // Async BindSkeleton(): - if (!_blendMotion.GetBoneCount() && _pSkeleton->GetBoneCount()) - _pSkeleton->InsertBonesIntoMotion(_blendMotion); + if (!_transitionMotion.GetBoneCount() && _pSkeleton->GetBoneCount()) + _pSkeleton->InsertBonesIntoMotion(_transitionMotion); if (_playing) { float dt2 = dt; - if (_blending) // Still blending? + if (_transition) // Still in transition? { - _blendTime += dt2; - if (_blendTime >= _blendDuration) + _transitionTime += dt2; + if (_transitionTime >= _transitionDuration) { - _blending = false; - dt2 -= _blendTime - _blendDuration; + _transition = false; + dt2 -= _transitionTime - _transitionDuration; } } - if (!_blending && !_currentMotion.empty()) // Done blending? + if (!_transition && !_currentMotion.empty()) // Done transitioning? { RMotionData md = *_pCollection->Find(_C(_currentMotion)); const float duration = md._motion.GetDuration(); @@ -102,44 +102,41 @@ void Animation::Update(int alphaTrackCount, PAlphaTrack pAlphaTracks) _time = md._loop ? fmod(_time, duration) : duration; md._motion.ResetTriggers(GetTriggerStatesArray()); // New loop, reset triggers. if (_pDelegate) - _pDelegate->Animation_OnEnd(_C(_currentMotion)); // This can call BlendTo and change everything. + _pDelegate->Animation_OnEnd(_C(_currentMotion)); // This can call TransitionTo and change everything. } } } - UpdateSkeleton(alphaTrackCount, pAlphaTracks); + UpdateSkeleton(layerCount, pLayers); } -void Animation::UpdateSkeleton(int alphaTrackCount, PAlphaTrack pAlphaTracks) +void Animation::UpdateSkeleton(int layerCount, PLayer pLayers) { - if (!_currentMotion.empty() && alphaTrackCount >= 0) // Alpha track (-1) should not modify the skeleton. + if (!_currentMotion.empty() && layerCount >= 0) // Special layer -1 should not modify the skeleton. { RMotionData md = *_pCollection->Find(_C(_currentMotion)); - int alphaMotionCount = 0; - Skeleton::AlphaMotion alphaMotions[s_maxAlphaTracks]; + int layeredMotionCount = 0; + Skeleton::LayeredMotion layeredMotions[s_maxLayers]; - for (int i = 0; i < alphaTrackCount && i < s_maxAlphaTracks; ++i) + for (int i = 0; i < layerCount && i < s_maxLayers; ++i) { - alphaMotions[i]._pMotion = pAlphaTracks[i]._pAnimation->GetMotion(); // Can be in blend state. - alphaMotions[i]._rootBone = pAlphaTracks[i]._rootBone; - alphaMotions[i]._alpha = pAlphaTracks[i]._pAnimation->GetAlpha(); - alphaMotions[i]._time = pAlphaTracks[i]._pAnimation->GetTime(); - alphaMotionCount++; + layeredMotions[i]._pMotion = pLayers[i]._pAnimation->GetMotion(); // Can be in blend state. + layeredMotions[i]._rootBone = pLayers[i]._rootBone; + layeredMotions[i]._alpha = pLayers[i]._pAnimation->GetAlpha(); + layeredMotions[i]._time = pLayers[i]._pAnimation->GetTime(); + layeredMotionCount++; } - if (_blending) + if (_transition) { - md._motion.BindBlendMotion(&_blendMotion, Math::ApplyEasing(_easing, _blendTime / _blendDuration)); - _pSkeleton->ApplyMotion(md._motion, _time, alphaMotionCount, alphaMotions); + md._motion.BindBlendMotion(&_transitionMotion, Math::ApplyEasing(_easing, _transitionTime / _transitionDuration)); + _pSkeleton->ApplyMotion(md._motion, _time, layeredMotionCount, layeredMotions); } else { -#ifdef VERUS_COMPARE_MODE - _pSkeleton->ApplyMotion(md._motion, 0, alphaMotionCount, alphaMotions); -#else - _pSkeleton->ApplyMotion(md._motion, _time, alphaMotionCount, alphaMotions); -#endif + md._motion.BindBlendMotion(nullptr, 0); + _pSkeleton->ApplyMotion(md._motion, _time, layeredMotionCount, layeredMotions); } } } @@ -170,36 +167,35 @@ void Animation::Pause() _playing = false; } -void Animation::BlendTo(CSZ name, Range duration, int randTime, PMotion pFromMotion) +void Animation::TransitionTo(CSZ name, Range duration, int randTime, PMotion pFromMotion) { - VERUS_QREF_UTILS; - PMotion pMotion = pFromMotion; - if (!_currentMotion.empty() || pFromMotion) + if (!_currentMotion.empty() || pFromMotion) // Deal with previous motion? { if (!pFromMotion) pMotion = &_pCollection->Find(_C(_currentMotion))->_motion; - if (_blending) // Already blending? - pMotion->BindBlendMotion(&_blendMotion, Math::ApplyEasing(_easing, _blendTime / _blendDuration)); - pMotion->BakeMotionAt(_time, _blendMotion); // Capture current pose. + if (_transition) // Already in transition? + pMotion->BindBlendMotion(&_transitionMotion, Math::ApplyEasing(_easing, _transitionTime / _transitionDuration)); + pMotion->BakeMotionAt(_time, _transitionMotion); // Capture current pose. pMotion->BindBlendMotion(nullptr, 0); } - if ((0 == duration._max) || (_currentMotion.empty() && name && _prevMotion == name && _blendTime / _blendDuration < 0.5f)) + if ((0 == duration._max) || (_currentMotion.empty() && name && _prevMotion == name && _transitionTime / _transitionDuration < 0.5f)) { - _blending = false; // Special case for alpha tracks. + _transition = false; // Special case for layers. } else { - _blending = true; - _blendDuration = (_currentMotion == (name ? name : "")) ? duration._min : duration._max; - _blendTime = 0; + _transition = true; + // Transition to same motion should be faster. + _transitionDuration = (_currentMotion == (name ? name : "")) ? duration._min : duration._max; + _transitionTime = 0; } _prevMotion = _currentMotion; _currentMotion = name ? name : ""; - // Reset triggers: + // Reset triggers, change motion: if (pMotion) pMotion->ResetTriggers(GetTriggerStatesArray()); if (name) @@ -216,14 +212,14 @@ void Animation::BlendTo(CSZ name, Range duration, int randTime, PMotion p _playing = true; } -bool Animation::BlendToNew(std::initializer_list names, Range duration, int randTime, PMotion pFromMotion) +bool Animation::TransitionToNew(std::initializer_list names, Range duration, int randTime, PMotion pFromMotion) { for (auto name : names) { if (_currentMotion == name) return false; } - BlendTo(*names.begin(), duration, randTime, pFromMotion); + TransitionTo(*names.begin(), duration, randTime, pFromMotion); return true; } @@ -245,8 +241,8 @@ PMotion Animation::GetMotion() { p = &_pCollection->Find(_C(_currentMotion))->_motion; } - if (p && _blending) - p->BindBlendMotion(&_blendMotion, Math::ApplyEasing(_easing, _blendTime / _blendDuration)); + if (p && _transition) + p->BindBlendMotion(&_transitionMotion, Math::ApplyEasing(_easing, _transitionTime / _transitionDuration)); return p; } @@ -259,8 +255,8 @@ float Animation::GetAlpha(CSZ name) const matchCurrentMotion = Str::StartsWith(_C(_currentMotion), name); matchPrevMotion = Str::StartsWith(_C(_prevMotion), name); } - const bool doBlend = name ? (matchCurrentMotion || matchPrevMotion) : true; - if (_blending && doBlend) + const bool doTransition = name ? (matchCurrentMotion || matchPrevMotion) : true; + if (_transition && doTransition) { bool fadeIn = _prevMotion.empty() && !_currentMotion.empty(); bool fadeOut = !_prevMotion.empty() && _currentMotion.empty(); @@ -270,9 +266,9 @@ float Animation::GetAlpha(CSZ name) const fadeOut = matchPrevMotion && !matchCurrentMotion; } if (fadeIn) - return Math::ApplyEasing(_easing, _blendTime / _blendDuration); + return Math::ApplyEasing(_easing, _transitionTime / _transitionDuration); if (fadeOut) - return Math::ApplyEasing(_easing, 1 - _blendTime / _blendDuration); + return Math::ApplyEasing(_easing, 1 - _transitionTime / _transitionDuration); } if (name) return matchCurrentMotion ? 1.f : 0.f; diff --git a/Verus/src/Anim/Animation.h b/Verus/src/Anim/Animation.h index 17bd64a..8580148 100644 --- a/Verus/src/Anim/Animation.h +++ b/Verus/src/Anim/Animation.h @@ -12,7 +12,7 @@ namespace verus }; VERUS_TYPEDEFS(AnimationDelegate); - //! Objects of this type are stored in Collection. + // Objects of this type are stored in Collection. struct MotionData { Motion _motion; @@ -22,7 +22,7 @@ namespace verus VERUS_TYPEDEFS(MotionData); typedef StoreUniqueWithNoRefCount TStoreMotions; - //! The collection of motion objects (Motion) that can be reused by multiple animation objects (Animation). + // The collection of motion objects that can be reused by multiple animation objects. class Collection : private TStoreMotions, public IO::AsyncCallback { public: @@ -38,15 +38,12 @@ namespace verus }; VERUS_TYPEDEFS(Collection); - //! Holds the collection (Collection) of motion objects (Motion) and provides the ability to interpolate between them. - - //! Note: triggers will work properly with 'multiple animations' + 'single - //! collection' only if you add motions before binding collection. - //! + // Holds the collection of motion objects and provides the ability to interpolate between them. + // Note: triggers will work properly with 'multiple animations' + 'single collection' only if you add motions before binding collection. class Animation : public MotionDelegate { public: - static const int s_maxAlphaTracks = 4; + static const int s_maxLayers = 8; enum class Edge : int { @@ -54,34 +51,34 @@ namespace verus end = (1 << 1) }; - struct AlphaTrack + struct Layer { Animation* _pAnimation = nullptr; CSZ _rootBone = nullptr; }; - VERUS_TYPEDEFS(AlphaTrack); + VERUS_TYPEDEFS(Layer); private: PCollection _pCollection = nullptr; PAnimationDelegate _pDelegate = nullptr; PSkeleton _pSkeleton = nullptr; - Motion _blendMotion; + Motion _transitionMotion; String _currentMotion; String _prevMotion; Vector _vTriggerStates; Easing _easing = Easing::quadInOut; float _time = 0; - float _blendDuration = 0; - float _blendTime = 0; - bool _blending = false; + float _transitionDuration = 0; + float _transitionTime = 0; + bool _transition = false; bool _playing = false; public: Animation(); ~Animation(); - void Update(int alphaTrackCount = 0, PAlphaTrack pAlphaTracks = nullptr); - void UpdateSkeleton(int alphaTrackCount = 0, PAlphaTrack pAlphaTracks = nullptr); + void Update(int layerCount = 0, PLayer pLayers = nullptr); + void UpdateSkeleton(int layerCount = 0, PLayer pLayers = nullptr); void BindCollection(PCollection p); void BindSkeleton(PSkeleton p); @@ -94,11 +91,11 @@ namespace verus Str GetCurrentMotionName() const { return _C(_currentMotion); } - void BlendTo(CSZ name, + void TransitionTo(CSZ name, Range duration = 0.5f, int randTime = -1, PMotion pFromMotion = nullptr); - bool BlendToNew(std::initializer_list names, + bool TransitionToNew(std::initializer_list names, Range duration = 0.5f, int randTime = -1, PMotion pFromMotion = nullptr); - bool IsBlending() const { return _blending; } + bool IsInTransition() const { return _transition; } void SetEasing(Easing easing) { _easing = easing; } diff --git a/Verus/src/Anim/Motion.cpp b/Verus/src/Anim/Motion.cpp index 29ba21b..4fd7af6 100644 --- a/Verus/src/Anim/Motion.cpp +++ b/Verus/src/Anim/Motion.cpp @@ -1268,3 +1268,17 @@ int Motion::GetLastKeyframe() const frame = Math::Max(frame, it->second.GetLastKeyframe()); return frame; } + +bool Motion::ExtractNestBone(CSZ name, SZ nestBone) +{ + CSZ pBegin = strstr(name, "["); + CSZ pEnd = strstr(name, "]:"); + if (pBegin && pEnd && pBegin < pEnd) + { + const size_t count = pEnd - pBegin - 1; + strncpy(nestBone, pBegin + 1, count); + nestBone[count] = 0; + return true; + } + return false; +} diff --git a/Verus/src/Anim/Motion.h b/Verus/src/Anim/Motion.h index e3ece7c..f37badb 100644 --- a/Verus/src/Anim/Motion.h +++ b/Verus/src/Anim/Motion.h @@ -11,12 +11,10 @@ namespace verus }; VERUS_TYPEDEFS(MotionDelegate); - //! Motion holds a series of keyframes and provides the ability to interpolate between them. - - //! Motion can be stored in XAN format. Motion's rate can be - //! scaled and even reversed. Animation object (Animation) can be used to - //! handle multiple motion objects. - //! + // Motion holds a series of keyframes and provides the ability to interpolate between them. + // Motion can be stored in XAN format. + // Motion's rate can be scaled and even reversed. + // Animation object can be used to handle multiple motion objects. class Motion : public Object { public: @@ -62,10 +60,10 @@ namespace verus String _name; Motion* _pMotion = nullptr; - TMapRot _mapRot; //!< Rotation keyframes. - TMapPos _mapPos; //!< Position keyframes. - TMapScale _mapScale; //!< Scaling keyframes. - TMapTrigger _mapTrigger; //!< Trigger keyframes. + TMapRot _mapRot; // Rotation keyframes. + TMapPos _mapPos; // Position keyframes. + TMapScale _mapScale; // Scaling keyframes. + TMapTrigger _mapTrigger; // Trigger keyframes. int _lastTriggerState = 0; Flags _flags = Flags::none; @@ -336,6 +334,8 @@ namespace verus void Exec(CSZ code, PBone pBone = nullptr, Bone::Channel channel = Bone::Channel::rotation); int GetLastKeyframe() const; + + static bool ExtractNestBone(CSZ name, SZ nestBone); }; VERUS_TYPEDEFS(Motion); } diff --git a/Verus/src/Anim/Shaker.h b/Verus/src/Anim/Shaker.h index 3ee39da..ab0186a 100644 --- a/Verus/src/Anim/Shaker.h +++ b/Verus/src/Anim/Shaker.h @@ -5,10 +5,8 @@ namespace verus { namespace Anim { - //! Shaker can load standard wav file, 8-bit mono, and use it as a function of time. - - //! Works well for camera's shaking effects. - //! + // Shaker can load standard wav file, 8-bit mono, and use it as a function of time. + // Works well for camera's shaking effects. class Shaker { Vector _vData; @@ -26,7 +24,7 @@ namespace verus void Update(); void Reset() { _offset = 0; } void Randomize(); - //! Returns the current value in the range [-1 to 1]. + // Returns the current value in the range [-1 to 1]. float Get(); void SetScaleBias(float s, float b); }; diff --git a/Verus/src/Anim/Skeleton.cpp b/Verus/src/Anim/Skeleton.cpp index bf34a89..945618d 100644 --- a/Verus/src/Anim/Skeleton.cpp +++ b/Verus/src/Anim/Skeleton.cpp @@ -130,7 +130,7 @@ Skeleton::PBone Skeleton::FindBoneByIndex(int index) return nullptr; } -void Skeleton::ApplyMotion(RMotion motion, float time, int alphaMotionCount, PAlphaMotion pAlphaMotions) +void Skeleton::ApplyMotion(RMotion motion, float time, int layeredMotionCount, PLayeredMotion pLayeredMotions) { if (_ragdollMode) { @@ -168,8 +168,8 @@ void Skeleton::ApplyMotion(RMotion motion, float time, int alphaMotionCount, PAl if (_pCurrentMotion->IsReversed()) _currentTime = _pCurrentMotion->GetNativeDuration() - _currentTime; - _alphaMotionCount = alphaMotionCount; - _pAlphaMotions = pAlphaMotions; + _layeredMotionCount = layeredMotionCount; + _pLayeredMotions = pLayeredMotions; ResetBones(); for (auto& kv : _mapBones) @@ -185,10 +185,10 @@ void Skeleton::ApplyMotion(RMotion motion, float time, int alphaMotionCount, PAl // Reset blend motion! motion.BindBlendMotion(nullptr, 0); - VERUS_FOR(i, _alphaMotionCount) + VERUS_FOR(i, _layeredMotionCount) { - if (_pAlphaMotions[i]._pMotion) - _pAlphaMotions[i]._pMotion->BindBlendMotion(nullptr, 0); + if (_pLayeredMotions[i]._pMotion) + _pLayeredMotions[i]._pMotion->BindBlendMotion(nullptr, 0); } } @@ -233,32 +233,32 @@ void Skeleton::RecursiveBoneUpdate() pMotionBone->ComputeScaleAt(_currentTime, scale); // Blend with other motions: - VERUS_FOR(i, _alphaMotionCount) + VERUS_FOR(i, _layeredMotionCount) { - if (!_pAlphaMotions[i]._pMotion) + if (!_pLayeredMotions[i]._pMotion) continue; - PMotion pAlphaMotion = _pAlphaMotions[i]._pMotion; - Motion::PBone pAlphaBone = pAlphaMotion->FindBone(_C(pCurrentBone->_name)); - const float alpha = _pAlphaMotions[i]._alpha; - float time = _pAlphaMotions[i]._time * pAlphaMotion->GetPlaybackSpeed(); // To native time. - if (pAlphaMotion->IsReversed()) - time = pAlphaMotion->GetNativeDuration() - time; - if (pAlphaBone && alpha > 0 && - (pCurrentBone->_name == _pAlphaMotions[i]._rootBone || - IsParentOf(_C(pCurrentBone->_name), _pAlphaMotions[i]._rootBone))) + PMotion pLayeredMotion = _pLayeredMotions[i]._pMotion; + Motion::PBone pLayeredBone = pLayeredMotion->FindBone(_C(pCurrentBone->_name)); + const float alpha = _pLayeredMotions[i]._alpha; + float time = _pLayeredMotions[i]._time * pLayeredMotion->GetPlaybackSpeed(); // To native time. + if (pLayeredMotion->IsReversed()) + time = pLayeredMotion->GetNativeDuration() - time; + if (pLayeredBone && alpha > 0 && + (pCurrentBone->_name == _pLayeredMotions[i]._rootBone || + IsParentOf(_C(pCurrentBone->_name), _pLayeredMotions[i]._rootBone))) { - // Alpha motion can also be in blend state. - Quat qA; - Vector3 scaleA, eulerA, posA; - pAlphaBone->ComputeRotationAt(time, eulerA, qA); - pAlphaBone->ComputePositionAt(time, posA); - pAlphaBone->ComputeScaleAt(time, scaleA); + // Layered motion can also be in blend state. + Quat qL; + Vector3 scaleL, eulerL, posL; + pLayeredBone->ComputeRotationAt(time, eulerL, qL); + pLayeredBone->ComputePositionAt(time, posL); + pLayeredBone->ComputeScaleAt(time, scaleL); - // Mix with alpha motion: - q = VMath::slerp(alpha, q, qA); - pos = VMath::lerp(alpha, pos, posA); - scale = VMath::lerp(alpha, scale, scaleA); + // Mix with layered motion: + q = VMath::slerp(alpha, q, qL); + pos = VMath::lerp(alpha, pos, posL); + scale = VMath::lerp(alpha, scale, scaleL); } } diff --git a/Verus/src/Anim/Skeleton.h b/Verus/src/Anim/Skeleton.h index 1b21e40..ffc1e6a 100644 --- a/Verus/src/Anim/Skeleton.h +++ b/Verus/src/Anim/Skeleton.h @@ -5,32 +5,26 @@ namespace verus { namespace Anim { - //! Standard skeleton, which can be animated using motion object (Motion). - - //! X3D format can support up to 256 bones, but the hardware has certain - //! limitations. With Shader Model 2.0 the shader can hold about 32 bone - //! matrices. Other bones must be remapped using Primary Bones concept. - //! - //! Alpha Motions (AlphaMotion) add the ability to mix multiple motions, - //! just like images are mixed with alpha channel. Alpha Motion affects - //! it's root bone and all descendants of that bone. - //! - //! A ragdoll can be created automatically or configured using XML .rig file. - //! Ragdoll's simulation can start from any motion frame and any simulated pose - //! can be baked back into motion object, allowing smooth transition to ragdoll - //! simulation and back to motion. - //! + // Standard skeleton, which can be animated using motion object. + // X3D format can support up to 256 bones, but the hardware has certain limitations. + // With Shader Model 2.0 the shader can hold about 32 bone matrices. + // Other bones must be remapped using Primary Bones concept. + // Layered motions add the ability to mix multiple motions, just like images are mixed with alpha channel. + // Layered motion affects it's root bone and all descendants of that bone. + // A ragdoll can be created automatically or configured using XML .rig file. + // Ragdoll's simulation can start from any motion frame and any simulated pose can be baked back into motion object, + // allowing smooth transition to ragdoll simulation and back to motion. class Skeleton : public Object { public: - struct AlphaMotion + struct LayeredMotion { PMotion _pMotion = nullptr; CSZ _rootBone = nullptr; float _alpha = 0; float _time = 0; }; - VERUS_TYPEDEFS(AlphaMotion); + VERUS_TYPEDEFS(LayeredMotion); struct Bone : AllocatorAware { @@ -41,10 +35,10 @@ namespace verus Transform3 _matExternal = Transform3::identity(); Transform3 _matAdapt = Transform3::identity(); Transform3 _matToActorSpace = Transform3::identity(); - Vector3 _rigRot = Vector3(0); //!< Rotation angles of ragdoll's rigid component. - Vector3 _cRot = Vector3(0); //!< Constraint's rotation angles. - Vector3 _cLimits = Vector3(0); //!< Constraint's limits. - Vector3 _boxSize = Vector3(0); //!< For a box shape. + Vector3 _rigRot = Vector3(0); // Rotation angles of ragdoll's rigid component. + Vector3 _cRot = Vector3(0); // Constraint's rotation angles. + Vector3 _cLimits = Vector3(0); // Constraint's limits. + Vector3 _boxSize = Vector3(0); // For a box shape. String _name; String _parentName; btCollisionShape* _pShape = nullptr; @@ -54,10 +48,10 @@ namespace verus float _length = 0; float _mass = 0; float _friction = 0; - int _shaderIndex = 0; //!< Index of a matrix in the vertex shader. + int _shaderIndex = 0; // Index of a matrix in the vertex shader. bool _ready = false; bool _rigBone = true; - bool _hinge = false; //!< btHingeConstraint vs btConeTwistConstraint. + bool _hinge = false; // btHingeConstraint vs btConeTwistConstraint. bool _noCollision = false; }; VERUS_TYPEDEFS(Bone); @@ -73,11 +67,11 @@ namespace verus TMapPrimary _mapPrimary; PBone _pCurrentBone = nullptr; PMotion _pCurrentMotion = nullptr; - PAlphaMotion _pAlphaMotions = nullptr; + PLayeredMotion _pLayeredMotions = nullptr; float _currentTime = 0; float _mass = 0; int _primaryBoneCount = 0; - int _alphaMotionCount = 0; + int _layeredMotionCount = 0; bool _ragdollMode = false; public: @@ -96,14 +90,14 @@ namespace verus PBone InsertBone(RBone bone); PBone FindBone(CSZ name); PcBone FindBone(CSZ name) const; - //! Uses shader's array index to find a bone. + // Uses shader's array index to find a bone. PBone FindBoneByIndex(int index); - //! Sets the current pose using motion object (Motion). + // Sets the current pose using motion object (Motion). void ApplyMotion(RMotion motion, float time, - int alphaMotionCount = 0, PAlphaMotion pAlphaMotions = nullptr); + int layeredMotionCount = 0, PLayeredMotion pLayeredMotions = nullptr); - //! Fills the array of matrices that will be used by a shader. + // Fills the array of matrices that will be used by a shader. void UpdateUniformBufferArray(mataff* p) const; void ResetFinalPose(); @@ -128,9 +122,9 @@ namespace verus return; } - //! Adds skeleton's bones to motion object (Motion). + // Adds skeleton's bones to motion object (Motion). void InsertBonesIntoMotion(RMotion motion) const; - //! Removes motion's bones, which are not skeleton's bones. + // Removes motion's bones, which are not skeleton's bones. void DeleteOutsiders(RMotion motion) const; void AdjustPrimaryBones(const Vector& vPrimaryBones); @@ -145,7 +139,7 @@ namespace verus bool IsRagdollMode() const { return _ragdollMode; } RcTransform3 GetRagdollToWorldMatrix() { return _matRagdollToWorld; } - //! Saves the current pose into motion object (Motion) at some frame. + // Saves the current pose into motion object (Motion) at some frame. void BakeMotion(RMotion motion, int frame = 0, bool kinect = false); void AdaptBindPoseOf(const Skeleton& that); void SimpleIK(CSZ boneDriven, CSZ boneDriver, RcVector3 dirDriverSpace, RcVector3 dirDesiredMeshSpace, float limitDot, float alpha); @@ -158,8 +152,8 @@ namespace verus void FixateFeet(RMotion motion); - //! Tries to compute the highest speed at which a bone would move with this motion applied. - //! Can be used to sync animation and movement to fix the sliding feet problem. + // Tries to compute the highest speed at which a bone would move with this motion applied. + // Can be used to sync animation and movement to fix the sliding feet problem. Vector3 GetHighestSpeed(RMotion motion, CSZ name, RcVector3 scale = Vector3(1, 0, 1), bool positive = false); void ComputeBoneLengths(Map& m, bool accumulated = false); diff --git a/Verus/src/Anim/Warp.h b/Verus/src/Anim/Warp.h index eb79703..66aa0ba 100644 --- a/Verus/src/Anim/Warp.h +++ b/Verus/src/Anim/Warp.h @@ -5,24 +5,17 @@ namespace verus { namespace Anim { - //! Warp manages sphere-based deformations to create such effects like dangling and speech. - - //! Any other part of the mesh can also be deformed. - //! Warp's zone objects (Zone) can use motion object or can simulate spring physics, - //! for example to simulate female's breast. Warp class includes a function to - //! convert special audio files to motion (ConvertAudioToMotion()). - //! - //! If there is a filename.wav, containing character's speech, some additional - //! files must be created: - //! 1. filename_Jaw.wav; effects: Stretch 400, Dynamic 10 Gate, 8000 8-bit. - //! 2. filename_O.wav; effects: Low pass 5000Hz, Keep O noise, Dynamic 10 Gate, - //! 8000 8-bit. - //! 3. filename_S.wav; effects: Keep S noise, Dynamic 10 Gate, Stretch 400, - //! 8000 8-bit. - //! - //! Motion should be applied to the skeleton before it will be used in Update() - //! method. Then _skeletonReady can be set to true for the mesh. - //! + // Warp manages sphere-based deformations to create such effects like dangling and speech. + // Any other part of the mesh can also be deformed. + // Warp's zone objects can use motion object or can simulate spring physics, + // for example to simulate female's breast. + // Warp class includes a function to convert special audio files to motion. + // If there is a filename.wav, containing character's speech, some additional files must be created: + // 1. filename_Jaw.wav; effects: Stretch 400, Dynamic 10 Gate, 8000 8-bit. + // 2. filename_O.wav; effects: Low pass 5000Hz, Keep O noise, Dynamic 10 Gate, 8000 8-bit. + // 3. filename_S.wav; effects: Keep S noise, Dynamic 10 Gate, Stretch 400, 8000 8-bit. + // Motion should be applied to the skeleton before it will be used in Update() method. + // Then _skeletonReady can be set to true for the mesh. class Warp : public Object { public: diff --git a/Verus/src/Audio/StreamPlayer.cpp b/Verus/src/Audio/StreamPlayer.cpp index 042e67f..1d0a225 100644 --- a/Verus/src/Audio/StreamPlayer.cpp +++ b/Verus/src/Audio/StreamPlayer.cpp @@ -244,7 +244,7 @@ void StreamPlayer::ThreadProc() int processed; alGetSourcei(_source, AL_BUFFERS_PROCESSED, &processed); -#ifdef VERUS_RELEASE_DEBUG +#ifdef _DEBUG char debug[80]; sprintf_s(debug, "ThreadProc() processed=%d", processed); VERUS_LOG_DEBUG(debug); diff --git a/Verus/src/CGI/BasePipeline.h b/Verus/src/CGI/BasePipeline.h index fdfa595..813377e 100644 --- a/Verus/src/CGI/BasePipeline.h +++ b/Verus/src/CGI/BasePipeline.h @@ -10,8 +10,8 @@ namespace verus GeometryPtr _geometry; ShaderPtr _shader; CSZ _shaderBranch = nullptr; - String _colorAttachBlendEqs[VERUS_MAX_RT]; - String _colorAttachWriteMasks[VERUS_MAX_RT]; + String _colorAttachBlendEqs[VERUS_MAX_CA]; + String _colorAttachWriteMasks[VERUS_MAX_CA]; PipelineRasterizationState _rasterizationState; PrimitiveTopology _topology = PrimitiveTopology::triangleList; int _sampleCount = 1; diff --git a/Verus/src/D/RuntimeError.h b/Verus/src/D/RuntimeError.h index dcf8c24..134a28a 100644 --- a/Verus/src/D/RuntimeError.h +++ b/Verus/src/D/RuntimeError.h @@ -5,7 +5,7 @@ namespace verus { namespace D { - //! See: https://marknelson.us/posts/2007/11/13/no-exceptions.html + // See: https://marknelson.us/posts/2007/11/13/no-exceptions.html class RuntimeError : public std::exception { mutable StringStream _ss; diff --git a/Verus/src/GUI/Font.h b/Verus/src/GUI/Font.h index 933a2ef..a28505b 100644 --- a/Verus/src/GUI/Font.h +++ b/Verus/src/GUI/Font.h @@ -5,10 +5,9 @@ namespace verus { namespace GUI { - //! Module for drawing texture-based fonts. - - //! Use AngelCode Bitmap Font Generator to create required files. - //! Geometry uses -32767 to 32767 short texture coordinates. + // Module for drawing texture-based fonts. + // Use AngelCode Bitmap Font Generator to create required files. + // Geometry uses -32767 to 32767 short texture coordinates. class Font : public Object { public: diff --git a/Verus/src/GUI/View.h b/Verus/src/GUI/View.h index f0d3492..1998ef4 100644 --- a/Verus/src/GUI/View.h +++ b/Verus/src/GUI/View.h @@ -27,10 +27,9 @@ namespace verus }; VERUS_TYPEDEFS(ViewDelegate); - //! Views contain other controls. - - //! By default they have "done" state. - //! You should call ViewManager::FadeTo() after loading. + // Views contain other controls. + // By default they have "done" state. + // You should call ViewManager::FadeTo() after loading. class View : public Widget, public Container { friend class ViewManager; diff --git a/Verus/src/GUI/ViewManager.h b/Verus/src/GUI/ViewManager.h index 131df3a..fdcab7e 100644 --- a/Verus/src/GUI/ViewManager.h +++ b/Verus/src/GUI/ViewManager.h @@ -5,10 +5,9 @@ namespace verus { namespace GUI { - //! Ultimate GUI manager. - - //! Contains views ordered by z-depth. - //! Contains fonts, cursor and GUI utility functions. + // Ultimate GUI manager. + // Contains views ordered by z-depth. + // Contains fonts, cursor and GUI utility functions. typedef StoreUniqueWithNoRefCount TStoreFonts; class ViewManager : public Singleton, public Object, private TStoreFonts { diff --git a/Verus/src/GUI/Widget.h b/Verus/src/GUI/Widget.h index ba9d5f9..22698ca 100644 --- a/Verus/src/GUI/Widget.h +++ b/Verus/src/GUI/Widget.h @@ -26,12 +26,10 @@ namespace verus typedef std::function TFnEvent; - //! Base class for all controls and even frames. - - //! Control has position, size, id text, value text (for buttons, labels, etc.). - //! It can be enabled/disabled, visible/hidden. - //! Control belongs to certain view and it's position is relative to sizer or - //! owner view if no sizer is specified. + // Base class for all controls and even frames. + // Control has position, size, id text, value text (for buttons, labels, etc.). + // It can be enabled/disabled, visible/hidden. + // Control belongs to certain view and it's position is relative to sizer or owner view if no sizer is specified. class Widget : public AllocatorAware { Animator _animator; diff --git a/Verus/src/Game/BaseCharacter.h b/Verus/src/Game/BaseCharacter.h index 4b337ae..77ba64e 100644 --- a/Verus/src/Game/BaseCharacter.h +++ b/Verus/src/Game/BaseCharacter.h @@ -32,8 +32,8 @@ namespace verus virtual void HandleInput() override; virtual void Update() override; - //! Creates the underlying controller (Physics::CharacterController). - //! EndRagdoll() calls this method automatically. + // Creates the underlying controller. + // EndRagdoll() calls this method automatically. void InitController(); void DoneController(); Physics::RCharacterController GetController() { return _cc; } @@ -62,9 +62,9 @@ namespace verus void AddExtraForce(RcVector3 v) { _extraForce += v; } // For AI: - //! Check if the speed is less than expected. + // Check if the speed is less than expected. bool IsStuck(); - //! Is typically called when AI gets a new task. + // Is typically called when AI gets a new task. void StartUnstuckCooldown() { _unstuckCooldown.Start(); } // Ragdoll: diff --git a/Verus/src/Game/Spirit.h b/Verus/src/Game/Spirit.h index 495695f..36b2bb2 100644 --- a/Verus/src/Game/Spirit.h +++ b/Verus/src/Game/Spirit.h @@ -85,7 +85,7 @@ namespace verus RcVector3 GetSideDirection() const { return _dv._sideDir; } RcVector3 GetSideDirection2D() const { return _dv._sideDir2D; } - //! Rotates smoothly across multiple frames. + // Rotates smoothly across multiple frames. void Rotate(RcVector3 front, float speed); void LookAt(RcPoint3 point, bool forceTarget = false); diff --git a/Verus/src/Global/AlignedAllocator.h b/Verus/src/Global/AlignedAllocator.h index 256c9b3..324c5c1 100644 --- a/Verus/src/Global/AlignedAllocator.h +++ b/Verus/src/Global/AlignedAllocator.h @@ -3,7 +3,7 @@ namespace verus { - //! This allocator will reserve aligned memory blocks. + // This allocator will reserve aligned memory blocks. class AlignedAllocator : public BaseAllocator { INT64 _memUsedTotal = 0; diff --git a/Verus/src/Global/AllocatorAware.h b/Verus/src/Global/AllocatorAware.h index b041b3d..3fb31eb 100644 --- a/Verus/src/Global/AllocatorAware.h +++ b/Verus/src/Global/AllocatorAware.h @@ -3,7 +3,7 @@ namespace verus { - //! Objects of this class will use the allocator provided by Utils. + // Objects of this class will use the allocator provided by Utils. class AllocatorAware { public: diff --git a/Verus/src/Global/BaseCircularBuffer.h b/Verus/src/Global/BaseCircularBuffer.h index 590abe3..6302ae7 100644 --- a/Verus/src/Global/BaseCircularBuffer.h +++ b/Verus/src/Global/BaseCircularBuffer.h @@ -3,7 +3,7 @@ namespace verus { - //! Uses a single, fixed-size buffer as if it was connected end-to-end. + // Uses a single, fixed-size buffer as if it was connected end-to-end. class BaseCircularBuffer { BYTE* _pBase = nullptr; diff --git a/Verus/src/Global/Convert.h b/Verus/src/Global/Convert.h index 9658d67..3b327c6 100644 --- a/Verus/src/Global/Convert.h +++ b/Verus/src/Global/Convert.h @@ -3,7 +3,7 @@ namespace verus { - //! This class converts different data types. + // This class converts different data types. class Convert { public: diff --git a/Verus/src/Global/GlobalVarsClipboard.h b/Verus/src/Global/GlobalVarsClipboard.h index ec84997..cf063a7 100644 --- a/Verus/src/Global/GlobalVarsClipboard.h +++ b/Verus/src/Global/GlobalVarsClipboard.h @@ -3,7 +3,7 @@ namespace verus { - //! This class can transfer singleton pointers to another library. + // This class can transfer singleton pointers to another library. class GlobalVarsClipboard { struct Pair diff --git a/Verus/src/Global/Macros.h b/Verus/src/Global/Macros.h index 88e1dbf..08903d1 100644 --- a/Verus/src/Global/Macros.h +++ b/Verus/src/Global/Macros.h @@ -80,10 +80,10 @@ #define VERUS_UBUFFER struct alignas(VERUS_MEMORY_ALIGNMENT) -#define VERUS_MAX_BONES 128 -#define VERUS_MAX_RT 8 -#define VERUS_MAX_FB_ATTACH (VERUS_MAX_RT * 4) -#define VERUS_MAX_VB 8 +#define VERUS_MAX_BONES 128 +#define VERUS_MAX_CA 8 // Maximum number of color attachments per subpass, similar to D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT. +#define VERUS_MAX_FB_ATTACH 32 // Maximum number of attachments per framebuffer. Includes color and other attachments for all subpasses. +#define VERUS_MAX_VB 8 // Maximum number of vertex buffer bindings per draw call. #define VERUS_COLOR_BLEND_OFF "off" #define VERUS_COLOR_BLEND_ALPHA "s*(sa)+d*(1-sa)" diff --git a/Verus/src/Global/STL.h b/Verus/src/Global/STL.h index b4490a5..3593719 100644 --- a/Verus/src/Global/STL.h +++ b/Verus/src/Global/STL.h @@ -3,7 +3,7 @@ namespace verus { - //! Custom allocator for the Standard Template Library. Will try to use the allocator provided by Utils. + // Custom allocator for the Standard Template Library. Will try to use the allocator provided by Utils. template class AllocatorAwareSTL { @@ -72,14 +72,14 @@ namespace verus } }; - //! This function will compare two allocators. + // This function will compare two allocators. template bool operator==(const AllocatorAwareSTL& l, const AllocatorAwareSTL& r) { return true; } - //! This function will compare two allocators. + // This function will compare two allocators. template bool operator!=(const AllocatorAwareSTL& l, const AllocatorAwareSTL& r) { diff --git a/Verus/src/Global/Singleton.h b/Verus/src/Global/Singleton.h index 90d5d89..304508e 100644 --- a/Verus/src/Global/Singleton.h +++ b/Verus/src/Global/Singleton.h @@ -5,7 +5,7 @@ extern int g_singletonAllocCount; namespace verus { - //! Restricts the instantiation of a class to one object. + // Restricts the instantiation of a class to one object. template class Singleton : public AllocatorAware { diff --git a/Verus/src/Global/Store.h b/Verus/src/Global/Store.h index 6ad800c..a01b6a5 100644 --- a/Verus/src/Global/Store.h +++ b/Verus/src/Global/Store.h @@ -3,18 +3,15 @@ namespace verus { - //! A convenient way to store a collection of objects. - - //! It's a good idea not to use new/delete explicitly. Use STL allocator. - //! 'Unique' class uses map and supports reference counting. - //! The Insert method returns a raw pointer which should be wrapped inside a Ptr. - //! - //! Types of pointers: - //! - raw pointer - very dumb, no automatic initialization. - //! - Ptr wrapper - like a smart pointer, but even smarter. - //! - Pwn wrapper - owning Ptr, basically calls Done in destructor. - //! Use Ptr for function parameters. Use Pwn for class members. - //! + // A convenient way to store a collection of objects. + // It's a good idea not to use new/delete explicitly. Use STL allocator. + // 'Unique' class uses map and supports reference counting. + // The Insert method returns a raw pointer which should be wrapped inside a Ptr. + // Types of pointers: + // - raw pointer - very dumb, no automatic initialization. + // - Ptr wrapper - like a smart pointer, but even smarter. + // - Pwn wrapper - owning Ptr, basically calls Done in destructor. + // Use Ptr for function parameters. Use Pwn for class members. template class Store { diff --git a/Verus/src/Global/Utils.h b/Verus/src/Global/Utils.h index 46b1904..5ff46f7 100644 --- a/Verus/src/Global/Utils.h +++ b/Verus/src/Global/Utils.h @@ -18,9 +18,9 @@ namespace verus Utils(PBaseAllocator pAlloc); ~Utils(); - //! Construct Utils using the provided allocator: + // Construct Utils using the provided allocator: static void MakeEx(PBaseAllocator pAlloc); - //! Destruct Utils using the provided allocator: + // Destruct Utils using the provided allocator: static void FreeEx(PBaseAllocator pAlloc); // Called from BaseGame::Initialize(): diff --git a/Verus/src/IO/Async.h b/Verus/src/IO/Async.h index 4ce3664..cc8b698 100644 --- a/Verus/src/IO/Async.h +++ b/Verus/src/IO/Async.h @@ -11,10 +11,10 @@ namespace verus }; VERUS_TYPEDEFS(AsyncCallback); - //! Load resources asynchronously. - //! Load method just adds the url to a queue. - //! Load and Cancel are virtual so that they can be safely called from another - //! DLL. Internally they can allocate and free memory. + // Load resources asynchronously. + // Load method just adds the url to a queue. + // Load and Cancel are virtual so that they can be safely called from another DLL. + // Internally they can allocate and free memory. class Async : public Singleton, public Object, public Lockable { public: diff --git a/Verus/src/IO/File.h b/Verus/src/IO/File.h index 8964bb5..35f5571 100644 --- a/Verus/src/IO/File.h +++ b/Verus/src/IO/File.h @@ -5,8 +5,7 @@ namespace verus { namespace IO { - //! Treat a file as a stream. - //! + // Treat a file as a stream. class File : public SeekableStream { FILE* _pFile = nullptr; diff --git a/Verus/src/Net/Addr.h b/Verus/src/Net/Addr.h index b1aac55..87d9048 100644 --- a/Verus/src/Net/Addr.h +++ b/Verus/src/Net/Addr.h @@ -5,7 +5,7 @@ namespace verus { namespace Net { - //! Holds IP address and port. + // Holds IP address and port. class Addr { public: @@ -22,13 +22,13 @@ namespace verus bool operator==(const Addr& that) const; - //! Returns localhost address 127.0.0.1. + // Returns localhost address 127.0.0.1. static Addr Localhost(int port = 0); bool IsNull() const { return !_addr || !_port; } bool IsLocalhost() const; - //! Accepts IP:Port or URL, which is resolved using getaddrinfo(). + // Accepts IP:Port or URL, which is resolved using getaddrinfo(). void FromString(CSZ addr); String ToString(bool addPort = false) const; diff --git a/Verus/src/Net/HttpFile.h b/Verus/src/Net/HttpFile.h index 9de0192..51ae230 100644 --- a/Verus/src/Net/HttpFile.h +++ b/Verus/src/Net/HttpFile.h @@ -5,7 +5,7 @@ namespace verus { namespace Net { - //! Provides ability to read files from the internet using HTTP. + // Provides ability to read files from the internet using HTTP. class HttpFile : public IO::Stream { static const int s_httpPort = 80; diff --git a/Verus/src/Net/Multiplayer.h b/Verus/src/Net/Multiplayer.h index efc3af7..92fc91d 100644 --- a/Verus/src/Net/Multiplayer.h +++ b/Verus/src/Net/Multiplayer.h @@ -128,14 +128,14 @@ namespace verus int ReservePlayer(); void CancelReservation(int id); - //! Writes the report into the send buffer for some or all players. This will eventually send this report. - //! \param id Player's ID. Use -1 to send the report to all players. Server cannot send the report to itself. - //! \param p Pointer to report's data. Must not be less than the size of the report. - //! \param deferred Will send it as soon as possible if false. + // Writes the report into the send buffer for some or all players. This will eventually send this report. + // id = Player's ID. Use -1 to send the report to all players. Server cannot send the report to itself. + // p = Pointer to report's data. Must not be less than the size of the report. + // deferred = Will send it as soon as possible if false. void SendReportAsync(int id, BYTE* p, bool deferred = false); - //! Reads reports from recv buffers, cleans them, calls MultiplayerDelegate's callbacks. + // Reads reports from recv buffers, cleans them, calls MultiplayerDelegate's callbacks. void ProcessRecvBuffers(); - //! Writes the KICK report to the player's send buffer. This will eventually kick the specified player. + // Writes the KICK report to the player's send buffer. This will eventually kick the specified player. void Kick(int id); VERUS_P(int GetIdByAddr(RcAddr addr) const); diff --git a/Verus/src/Scene/Camera.cpp b/Verus/src/Scene/Camera.cpp index 7fd01b4..62faaa3 100644 --- a/Verus/src/Scene/Camera.cpp +++ b/Verus/src/Scene/Camera.cpp @@ -47,13 +47,7 @@ void Camera::Update() void Camera::UpdateView() { _frontDir = VMath::normalizeApprox(_atPos - _eyePos); -#ifdef VERUS_COMPARE_MODE - _frontDir = VMath::normalizeApprox(Vector3(glm::round(m_dirFront.GLM() * glm::vec3(4, 4, 4)))); - _eyePos = Point3(int(_eyePos.getX()), int(_eyePos.getY()), int(_eyePos.getZ())); - _matV = Matrix4::lookAt(_eyePos, _eyePos + _frontDir, _upDir); -#else _matV = Matrix4::lookAt(_eyePos, _atPos, _upDir); -#endif _matVi = VMath::orthoInverse(_matV); } diff --git a/Verus/src/Scene/Camera.h b/Verus/src/Scene/Camera.h index 5a5e882..43d526f 100644 --- a/Verus/src/Scene/Camera.h +++ b/Verus/src/Scene/Camera.h @@ -5,7 +5,7 @@ namespace verus { namespace Scene { - //! Basic camera without extra features. For shadow map computations, etc. + // Basic camera without extra features. For shadow map computations, etc. class Camera { protected: @@ -100,14 +100,14 @@ namespace verus }; VERUS_TYPEDEFS(Camera); - //! The interface for getting the cursor's position. + // The interface for getting the cursor's position. struct CursorPosProvider { virtual void GetPos(int& x, int& y) = 0; }; VERUS_TYPEDEFS(CursorPosProvider); - //! More advanced camera, used to show the world to the user. With motion blur. + // More advanced camera, used to show the world to the user. With motion blur. class MainCamera : public Camera { Matrix4 _matPrevVP = Matrix4::identity(); // For motion blur. diff --git a/Verus/src/Scene/SceneNodes/Block.h b/Verus/src/Scene/SceneNodes/Block.h index fd8e1bd..f8fdc0b 100644 --- a/Verus/src/Scene/SceneNodes/Block.h +++ b/Verus/src/Scene/SceneNodes/Block.h @@ -21,8 +21,8 @@ namespace verus }; VERUS_TYPEDEFS(BlockEmitter); - //! Block is a scene node which has a model and material info. - //! Most blocks form the scene's so called static or immovable geometry. + // Block is a scene node which has a model and material info. + // Most blocks form the scene's so called static or immovable geometry. class Block : public SceneNode { Vector4 _userColor = Vector4(0); diff --git a/Verus/src/Scene/SceneNodes/Light.h b/Verus/src/Scene/SceneNodes/Light.h index c01745a..3b2c4f7 100644 --- a/Verus/src/Scene/SceneNodes/Light.h +++ b/Verus/src/Scene/SceneNodes/Light.h @@ -17,7 +17,7 @@ namespace verus }; VERUS_TYPEDEFS(LightData); - //! Light is a scene node with light's info. + // Light is a scene node with light's info. class Light : public SceneNode { LightData _data; diff --git a/Verus/src/Scene/SceneNodes/Model.h b/Verus/src/Scene/SceneNodes/Model.h index faf63c5..d0af9f8 100644 --- a/Verus/src/Scene/SceneNodes/Model.h +++ b/Verus/src/Scene/SceneNodes/Model.h @@ -5,10 +5,10 @@ namespace verus { namespace Scene { - //! Model is an element of the scene manager container - //! * has a mesh - //! * has a material - //! * has generic parameters + // Model is an element of the scene manager container + // * has a mesh + // * has a material + // * has generic parameters class Model : public Object { Mesh _mesh; diff --git a/Verus/src/Scene/SceneNodes/SceneNode.h b/Verus/src/Scene/SceneNodes/SceneNode.h index 1c11a9c..43837d6 100644 --- a/Verus/src/Scene/SceneNodes/SceneNode.h +++ b/Verus/src/Scene/SceneNodes/SceneNode.h @@ -5,17 +5,17 @@ namespace verus { namespace Scene { - //! SceneNode is an element of the scene manager container. - //! * has a name - //! * can be parent or child - //! * has generic parameters - //! * has bounds + // SceneNode is an element of the scene manager container. + // * has a name + // * can be parent or child + // * has generic parameters + // * has bounds class SceneNode : public AllocatorAware, public Physics::UserPtr { protected: - Transform3 _tr = Transform3::identity(); //!< Main transformation matrix. - Vector3 _uiRotation = Vector3(0); //!< User-friendly rotation used in editor's UI. - Vector3 _uiScale = Vector3(1, 1, 1); //!< User-friendly scale used in editor's UI. + Transform3 _tr = Transform3::identity(); // Main transformation matrix. + Vector3 _uiRotation = Vector3(0); // User-friendly rotation used in editor's UI. + Vector3 _uiScale = Vector3(1, 1, 1); // User-friendly scale used in editor's UI. Math::Bounds _bounds; IO::Dictionary _dict; String _name; @@ -24,7 +24,7 @@ namespace verus NodeType _type = NodeType::unknown; bool _dynamic = false; bool _hidden = false; - bool _octreeBindOnce = false; //!< Don't rebind this node after every bounds change. + bool _octreeBindOnce = false; // Don't rebind this node after every bounds change. bool _selected = false; bool _transient = false; @@ -71,9 +71,9 @@ namespace verus virtual void RestoreTransform(RcTransform3 tr, RcVector3 rot, RcVector3 scale); VERUS_P(void ComputeTransform()); - Point3 GetPosition() const; //!< Gets the position from the main transformation matrix. - Vector3 GetRotation() const; //!< Gets the user-friendly rotation. - Vector3 GetScale() const; //!< Gets the user-friendly scale. + Point3 GetPosition() const; // Gets the position from the main transformation matrix. + Vector3 GetRotation() const; // Gets the user-friendly rotation. + Vector3 GetScale() const; // Gets the user-friendly scale. virtual void MoveTo(RcPoint3 pos); virtual void RotateTo(RcVector3 v); virtual void ScaleTo(RcVector3 v); diff --git a/Verus/src/verus.h b/Verus/src/verus.h index 97c4f09..314b9cb 100644 --- a/Verus/src/verus.h +++ b/Verus/src/verus.h @@ -10,21 +10,13 @@ // System: #ifdef _WIN32 -# pragma comment(lib, "ws2_32.lib") # include -# include -# pragma comment(lib, "Shlwapi.lib") # include -# include -# include -# pragma comment(lib, "Shcore.lib") -//# pragma comment(lib, "shell32.lib") -//# define _WIN32_DCOM -//# include -//# include -//# pragma comment(lib, "wbemuuid.lib") -# include -# include +# include +# include +# pragma comment(lib, "WS2_32.lib") +# pragma comment(lib, "ShLwApi.lib") +# pragma comment(lib, "shcore.lib") #else # include #endif @@ -59,7 +51,7 @@ using namespace Microsoft::WRL; # pragma comment(lib, "d3dcompiler.lib") # pragma comment(lib, "dxgi.lib") # pragma comment(lib, "dxguid.lib") -# include "ThirdParty/d3dx12.h" // See: https://github.com/microsoft/DirectX-Graphics-Samples/tree/master/Libraries/D3DX12 +# include "ThirdParty/d3dx12.h" // See: https://github.com/microsoft/DirectX-Headers/tree/main/include/directx # include "ThirdParty/D3D12MemAlloc.h" // See: https://github.com/GPUOpen-LibrariesAndSDKs/D3D12MemoryAllocator #endif @@ -100,9 +92,9 @@ using namespace Microsoft::WRL; # pragma comment(lib, "libvorbisfile.lib") #endif -// AMD Compressonator: +// AMD Compressonator (use CompressonatorFrameWork_x64): #ifdef VERUS_INCLUDE_COMPRESSONATOR -# include +# include # pragma comment(lib, "CMP_Framework_MD_DLL.lib") #endif