From 73fc85df3be3fe4b610c1e8c19cc19e44da64569 Mon Sep 17 00:00:00 2001 From: codemann8 Date: Sun, 7 May 2023 20:19:18 -0500 Subject: [PATCH] Big ROM changes - New Item GFX code - Fixed Bonk Dupe issue - Fixed Bonk Despawn issue --- Rom.py | 2 +- asm/owrando.asm | 46 ++++++++++++++++++++++++++---------------- data/base2current.bps | Bin 106284 -> 106730 bytes 3 files changed, 30 insertions(+), 18 deletions(-) diff --git a/Rom.py b/Rom.py index cfa99828..aa09743e 100644 --- a/Rom.py +++ b/Rom.py @@ -38,7 +38,7 @@ from source.dungeon.RoomList import Room0127 JAP10HASH = '03a63945398191337e896e5771f77173' -RANDOMIZERBASEHASH = 'f5f779f1820204cd019ca5293594f955' +RANDOMIZERBASEHASH = '3c651a38ea79504029c71b382c9c17da' class JsonRom(object): diff --git a/asm/owrando.asm b/asm/owrando.asm index 55420da0..166aa1e0 100644 --- a/asm/owrando.asm +++ b/asm/owrando.asm @@ -424,14 +424,16 @@ LoadMapDarkOrMixed: OWBonkGoodBeeDrop: { - LDA.l OWFlags+1 : AND.b #$02 : BNE .shuffled + LDA.l OWFlags+1 : AND.b #!FLAG_OW_BONKDROP : BNE .shuffled .vanilla ; what we wrote over STZ.w $0DD0,X LDA.l BottleContentsOne : ORA.l BottleContentsTwo ORA.l BottleContentsThree : ORA.l BottleContentsFour RTL .shuffled - PHY : TXY + LDA.w $0DD0,X : BNE + + JMP .return+1 + + PHY : TXY LDA.l RoomDataWRAM[$0120].high : AND.b #$02 : PHA : BNE + ; check if collected LDA.b #$1B : STA $12F ; JSL Sound_SetSfx3PanLong ; seems that when you bonk, there is a pending bonk sfx, so we clear that out and replace with reveal secret sfx + @@ -495,33 +497,37 @@ OWBonkGoodBeeDrop: ; spawn itemget item .spawn_item ; A = item id ; Y = bonk sprite slot ; S = Collected PLX : BEQ + : LDA.b #$00 : STA.w $0DD0,Y : BRA .return - + LDA.b #$01 : STA !REDRAW + + PHA + + LDA.b #$01 : STA !FORCE_HEART_SPAWN LDA.b #$EB : STA.l $7FFE00 JSL Sprite_SpawnDynamically+15 ; +15 to skip finding a new slot, use existing sprite - TYX : STZ.w $0F20,X ; layer the sprite is on - + LDA.b #$01 : STA.w !SPRITE_REDRAW,Y + + PLA : STA.w $0E80,Y + ; affects the rate the item moves in the Y/X direction - STZ.w $0D40,X + LDA.b #$00 : STA.w $0D40,Y LDA.b #$0A : STA.w $0D50,Y LDA.b #$1A : STA.w $0F80,Y ; amount of force (gives height to the arch) LDA.b #$FF : STA.w $0B58,Y ; stun timer LDA.b #$30 : STA.w $0F10,Y ; aux delay timer 4 ?? dunno what that means + LDA.b #$00 : STA.w $0F20,Y ; layer the sprite is on + ; sets the tile type that is underneath the sprite, water - LDA.b #$09 : STA.l $7FF9C2,X ; TODO: Figure out how to get the game to set this + TYX : LDA.b #$09 : STA.l $7FF9C2,X ; TODO: Figure out how to get the game to set this ; sets OW event bitmask flag, uses free RAM LDA.l OWBonkPrizeTable[42].flag : STA.w $0ED0,Y - + ; determines the initial spawn point of item LDA.w $0D00,Y : SEC : SBC.l OWBonkPrizeTable[42].vert_offset : STA.w $0D00,Y LDA.w $0D20,Y : SBC #$00 : STA.w $0D20,Y - LDA.b #$01 : STA !REDRAW - .return PLY LDA #$08 ; makes original good bee not spawn @@ -533,8 +539,10 @@ OWBonkDrops: { CMP.b #$D8 : BEQ + RTL - + LDA.l OWFlags+1 : AND.b #!FLAG_OW_CROSSED : BNE + + + LDA.l OWFlags+1 : AND.b #!FLAG_OW_BONKDROP : BNE + JSL.l Sprite_TransmuteToBomb : RTL + + LDA.w $0DD0,Y : BNE + + RTL + ; loop thru rando bonk table to find match @@ -618,13 +626,17 @@ OWBonkDrops: ; spawn itemget item .spawn_item ; A = item id ; Y = tree sprite slot ; S = Collected, FlagBitmask, X (row + 2) PLX : BEQ + : LDA.b #$00 : STA.w $0DD0,Y : JMP .return ; S = FlagBitmask, X (row + 2) - + LDA 2,S : TAX : INX + + PHA - LDA.b #$01 : STA !REDRAW + LDA.b #$01 : STA !FORCE_HEART_SPAWN LDA.b #$EB : STA.l $7FFE00 JSL Sprite_SpawnDynamically+15 ; +15 to skip finding a new slot, use existing sprite + LDA.b #$01 : STA.w !SPRITE_REDRAW,Y + + PLA : STA.w $0E80,Y + ; affects the rate the item moves in the Y/X direction LDA.b #$00 : STA.w $0D40,Y LDA.b #$0A : STA.w $0D50,Y @@ -637,14 +649,12 @@ OWBonkDrops: ; sets OW event bitmask flag, uses free RAM PLA : STA.w $0ED0,Y ; S = X (row + 2) - + ; determines the initial spawn point of item PLX : INX : INX : INX LDA.w $0D00,Y : SEC : SBC.w OWBonkPrizeData,X : STA.w $0D00,Y LDA.w $0D20,Y : SBC #$00 : STA.w $0D20,Y - LDA.b #$01 : STA !REDRAW - PLB : RTL .return @@ -958,7 +968,9 @@ OWNewDestination: OWLoadSpecialArea: { LDA.l Overworld_LoadSpecialOverworld_RoomId,X : STA.b $A0 - JSL Overworld_LoadSpecialOverworld ; sets M and X flags + CMP.w #$0182 : BNE + + JSL ZoraSplashGfxFix + + JSL Overworld_LoadSpecialOverworld ; sets M and X flags TYX LDY.b #$00 CPX.b #$01 : BNE + ; check if going to water transition diff --git a/data/base2current.bps b/data/base2current.bps index 49650e2da50eb26d5f164437c9493f2468ba1965..ab93a09e84c87d32990525473ea45acda28d3f49 100644 GIT binary patch delta 15397 zcmX|o2Ut_r`~ST+lf8$`Z~+Ab1t%gXLv2J<9CZLHDrz)}yDBO-xu3sLAd_Y=5j)T|Ji&o>Ko6KHuSFLx2CK z`pT3E2i8+Gi|Jd!dzF>v*sDsP^K6kNb;y$XSE+nh=ZU%-S5#L=ld?9pTpa!~x<#3> z??m|=@`mYhBw@qDaLo1Y%W${_kHbI07JOXLe}~w3itb1Sk&ftPl*^zr$*f z*X9FWRFQk2H4!)Lu(>XzKxx-ow|>8J`E5284Y{P3?Y9NWy4!3C95)o~IZl(WU^d|u zHsl!F-@lVmlQ|FBel(hfhwQhyl6`f@YplsvMfK52np}Up;pb-ZIy^}XCHQY(53v-F zhZ8tHcqd%InNDz@!Wxe2q{=onvRKJI+2C`4Ca<@#SqkOs(z+njb05R@r>bc3`)75Q zMLhkGowA=MhaIRFsc1m-_m|M*XZV&AfggYY+?_;98`N;e;8D=T4YabYVEd0da>+*c zFEmvo~J^Ifg^{?$oa?MDuMs_&&Sx$ zwb65ESM(dH-E0d@PVZ(Hq4gC#V_zxP{mFV#ZOMvD$}xYk@%zh2=`q$QdZl~^&j|cw zvP*2HS!N`t~**-*ubv^4priItQqDHFR*4p&)uB!#s!0K7l;fSMe0 zqM?NeoJi?`6}h{m!Hax&sGcn&_ZSdga79x|e!!;Mq1*W9@rM5J>u8UjvWQWTW1hke zE3fg1&)EL>{c3XiQ$!opP&7u6W3b_tE5c@Mr6kc}!N^zSIiJF&_0({uCXB zdgmW$GN7PNEN?Sq6|1Uf&%K2$=&jwobq}g~(W%QUoY8c}TFKp~CLf+?=s%5??L@<- zN}8Pgntf3|HHLyaZAM#ti>7K}PyO&)n?ND`kqxKH$h)xDCPIcLL3;nqmQ|p@DZ0z12-`#pK1#zM&}8H%mI<;e6f4#7s;E@iJ9S3- z%ewvsHCcpM&@(kjs_Od>)x54^Gp@qA{(fOTouPPB_p>@<4!YHwVALxW0(~Jq- zPtqish7V9@7*H3PXeIu6T6a}xDq?^B-~171(`-zz*>(gm`yqU2J680`T-SfN!c?rl z&fP9Pq%f5n?8se;?#xpVYZ3|3si01GKb?bhIlQ@BWf)ky* zaH@5I(-n>^ct8`kv!d27Z2xHmIrWMcw|pB=kd9hbh&cF);<|W>0x#60xsA=d)E1`T z0*ZTyCWjW+c_PMC&?}nuREqA@6vVm@-(&mDG#PlBW&GDe&jOk} zd5_(;|K?v#?F2@@b83&r=uyt?i5NWW=C}B}(`-N5o4WraR}qN?RAyumTL16a%$)_@ zLB)H35>({Ej9PsjMs9e3Ry*bSs|<8?dQj^dH0fPlZ>vy{Uo%n1seapiwT^Ays>wf~ zi~I0UorV>mDV<;fcb+`0Xvr_30`{P>4?y-Hx=9Dw?!@)Y^YhhY3S8|j@|^XoF6GKa z5o%ETtd6D0%4c;MXd_0!YWH}d>#I5;I+(}cbNA`8XK(6)3gPVZ(r6^3nto+1NA~5L zIyC<;*;I7oQR(B>l&z&d(`4gcbuSF;)iZzo{Q6-=9-T4&uezOb?WHn>ea3^o>Ou3y*sQ+svQa zPLuBru|E7l_>+e+{DFoo(%7u5oq|M1#*{ZKSF0rVy=J_8@|6~DCs${v-mv{4)RPQ< zGc5ERh5yoe-m_*X`R5;Ore}fD>JIC=U-=Wt6e@Xl*wjaK1_s)E_(0hQsmUR-Bvb9k z9p|)**Re3&uSB`T#Cm!I<%!!!KS7UgEsxZ1m8#-;38l{Xgzg3s5+k0lElRH^>?U*w zwjkCDxA^?E2VEKKCukElAtCbPV;Dni0;SoW%0-8jk8ZO&foi8pcvy*UaeTe<)@>Fm zLcH!7D}lq~*N;oS%?1I=;c#ub|D&3hWL_^z9_?kbs;OH{l8bywp5=v2_J}`i)zp`G zoN<+u3HK{|pfP^L@NTp_+zRRroOdVINd3eNF&$IIYzJ8ste&EPg|ScQj0rdWGL&?N z0g?%%_xeg!RG=W`aKx3X${+q@Q_!NSly$ZW>J(g-;DMilI}%1jD9DwqQU7={W#ksb zE&8X_D7j`o#%g_YbiR^3#$rdy$nPxzb5Vhs)WEw5NAa65Co!4eJa7FW5hvV0U!CfK zI@=^5JD39XMnpd|1@PgN?HMLj&XNAZiWof?gglTN0W9BbZ*!8p(za3pT zzgSxU0^u6GupJ^Qu0U>D}C;iw1QR>7>=r}?Ph#V|JV-xerf%}h_{o(fGAVCL*o^7TT-R-u}Z53kSMK&0+~ zF|+&$4h_?11qTX?Q8lKL!wQOk=L=8377B;*!gCc;1BE7NuSs7GYiGrKhI2mrL6mUx zxYTgtZLX9=>_XuyMN;ygS&L-7Rcr$}SjCb@>RHvH&fLSl6P-g%ZZP;B<#2r6y*Ks% zBU{x1vZ_MhnbLGPnr!Q4a|Wb6X(UoznDBc6V62X90N)A8pi^wgC~?}k5`mddB8311 zo&)w|Wotu=myu&~evUD#0VS?ZeN!VLGam4BBq36!+n)NMl~*9054->u;a>Q7w(AT@ zJzK)nkBF9fO5u(QTuwww&n>m>6q#K*$D18Gqs=y*6U+iJiP}j}8^h>SnOPX4LPU>A zduoZsb0&K;cK~GuU{q@GZ0XS?yL}3&7*4rehUxLD5&>L#NLkUDtE$pfp&^EyY>-IB zwYmEgV|Dd;=XBm?0U1%vrut(ItM|Y{2eAr+#&QVCC=p0QC>M8cPIN>PK{xm%qgb;gPHBAS}|bcy^- zppuS+#Jn@ImG#Ea^`js)=P4?zq)}E-A67}t{r}lCOLiX0x_qhS*Lzh`^HJ9KOE$DV zsFL~`WqDt+$Leh>sRjQ(`^b`Ah_ZY4TY4_3=N_OIq3o(J*}D4m`>m+OD8DP8UfDWz zzAqZ&L#b{!^fOe)YplnofB`Vewm2vb* zQX|G-elTIN*XXakztpK5Ek@0|TzHU*VB|F-seXji_|X&!QI9T7N$6>(lB@O%0ooly zVDaKa*(f{kc1|#=tX<&)G)2k{EfS_tAvsZ-hei}yyU_=Y1X}w6#fBER3286PZ-oni z>IF?m^+MI(6j{sp(!$;sw2e|Q#mYgGcWq!GV6wbG?Uen62WaEJCR->71lkZ1C_kEf zn>eJU%cb5xGb@jB6~Yjp6(~{nwR!Z07AeMT-vL*q&5?y~JbONO+Am$wX}ABe1{`o< zBIs0$EerVes|Y}OXyry50|O#S$w@XPrZr_)t8uBxvu%YRXj)1um!Z|%6$WSys)A@{ z)B=@U<3-cPOp{yf@-U!`GnCcmh5>4YX0PfpdUvIXi*|xFW|_IhRVI%nI6B>lnA8fV zrH>$_k?@=Jkf4*T#xW&)92{EwK6WU?(^We0Mv9j>=my|7(!?@sAYGAD=6dEt7{Au)r z7Yf5xxG))9pOp+OOetVIP>hy9>(RjIZ}{K4T(hm==Xbf}>Q+{d0Xu`7%B;^<=%sM9 z`Env+bass_f$1?!g))F&zG2nzn-ZyL=BbvzE|IQJ9R0fkrs&hXVC+}CuX@oZLN#3? zZBjZEF8Q8V5DPCY8E^GfFU3{mF%Bf;E)5%(!}&-_;S;5+VFBD711fM8Zs}RWj|DYi zU4iOQs!Sq1IX0miwc@;|acNhic0wx5S~|)xwv9DClLCrj0@rkEyjH-YOOt$uO#`&G z#86lsoKUQgO5heTfP(3u(&vC`ofz_$sr>Cyz(ev1tP2^C8m1x{h-93*0+Z?wxG6C0 zH!1MjWh1|0oy88{)KosseWX%?ET z^g~0=zdc>W_h8a^|0tiOD4F|ZT+AG)4^S1UdMF8$({qhWvO%N=(E(hcD%RLxpr8eMRl$nerKU%`H>NE>x|0b zQQ?rNJ2@v$5jCQ9!8D_`hEZ4cX{s6ZNDwSG8WxF-#Y3r)z-b1IUhy^I9tl+|yoi|s z*tBB2zy7>23oGHI2s@0{7P_Xxh+F6n9a+}Qo+yZ~^dweyLhqG94s$y-G=*v9nqcpb zFwzUoS{X%rEr!&}gmA{uzlR4b=z?KRs?0cO;*kM=^Q1?x8Se@^-wpdaV*<+cqzRcx z?n?OQ%GCH_`zdSf(V^v}xOG8URss<|26km_k+pZRjiSq4IRoWRJI$J1pe99lLC2!E>}rRP`R|P} zw&blI&{%-zahKi!QOgjOBD1|7duhvzj$s9!Yk`yH zM)gG=(z*)%hyY!VnWD$AXVtLz%p4C4)S%%IN%|U^Q@#UZ-dM&H>WJoe@}fST<|Q5G zCn4${piiSc0^sj$J_|5FrC*ena;mTB;PER43j9wFkJs7&WlHR&w&U>Y)fsV%FBO<= zXS`!BsSZ_4dC!v~wh71WKgSnsHHw_CG$G~5WHaO4X*esNh97y-+UDlw|9P` zzu}*&y=7KFYS@5AA~1UyaWoqJWg~&epO=xo#Yq7_7`Y}qvz$ymQRZm2J*T`3SC*DN zb}V^!uA)BqAT^+R&G;tVta9KPb5-cuKE|v#R@6crlbY7uCv$g(FZThZT z)bn!xp#54QN^zl_QZRPw&r{PhWM&&ZEg2)2Z-n_}@n~$BKhzgdo9aE~^C%B_wN=C+ zZAq=YoQgMaDC(~!xq`T|gUVxUc-QN#dDm;Xl!`|w(q;)Yd*|k#ux$Q>nyW~Q0Aq7B z%ViG}K)7g{QKY*{KHtYL;fPinMLxzaY1if+0;%=yLxI^!=V-KT;fU5>xr#o_thirc zvLtF+`M6mRt9s|5lOSpl9UU^`VHrIFPdRi|8!=U(ja{hF+@zc;=O$IrgQyKN!|9I; zJ?KytBquj^tVoqv6zGEb?47VvG9IsiA0>1AhK;)3EKd7!U^rNebpx~1{yN2H#*+WK zf%dy_&DvmMXCf?KyOvzM@M#%ORA&TSNSuT7BcAHeo}zrtKvQO|^nfzuCQMl8DjR#3 zx~g&PK8KlvCot8p&Rk%90`pwUg^~M}eWILNxBaTc<+Kqqabd>6_7Nrm_!>u|r-w1p z>{1(d>jbae*GUW%Tdl%a@^_RiT}^;=7|Nwdw!6EJ0YI05uK8 z&DI7aDy?vpQlZC^RmT5ezo@4Eq(m}JwFId3IIz*f!gHdJ*Y!k?*dR@nHA+N=>rmJ} z6@&tl;IXZlBl5U@^#%H5_Fj8>?d7!(*Z#T2xegtr?zkfyCiQpoRVamBqPIMGRlDZ8 zg2+ib1asstUFsK+d%jPk;AaWM2410dXmO3@6b{tl*4E6%u%gn*&I&hxZg^8>&Gp*r z_3)@P%A4f=hEyq42%ws3!+UCUrJgHsMX4kQ%D#qwNuy=t1C@0(^Hmk)jMT-&?N!JG z$Ur85ShFkti9~u983aR{S)@8ur8=psJ(} zL3y(=$mEm829Xc%u{lR7zPn8njbWIWSlK1aY^mCcYt)iiF44o5|2_ z_A3#*X3LEd3(2BcdC2ZW!(BcC-0aDk?sQ&58b1ScT1@ zAE%xp=KN}1#cWE0j@f}Sr<mL}708qFA z8HkMYJ{X{&aE883NReDOa*&l4+iihEM|LASs&>NZ!Ux4`E+~;1rCNxPorT@((M?l( zA$FRUQ~>)s8~h)ZP6{hLA*bsLWCNWW zs1mrs4X8$n0AoeKPuYP)Y!LL@ID}X>0Z!OBJ5ZPM!lWmvfL+$e(k$wNgnr>u-D2;V zBSj14X8KxKKEoCs+vp=$5bzr%YLdg-8;4ILv3)0u0<$;y0WGb5wBjn`K;$cJ3{qy% z*1QV6Kx(PbCfftrgv3MbX*)`aRH$9(fNn>g;@{>*|Bg>5 zJlEo?`1);2;a{5<&fjql9Y{|mAo*iWwA3*BZLZm;M-x31o%o3Jv@!mWpIUQLP_40C|LRDW-@VC^Egmh0_D((@c+=7}dKKLzodP`j5 zkWmO8g$panZvEI9W3p@8G?P+JH2KyC&Z4?k&!ng%rkOIIc}^|T@Bk8Jc5-GB_*3)mgb_FIMt8osm}_*l2(R{^j1HRb zDMuu_eKcCiN>f_nkDIJ@dLvH2Jh(Tpmo^D>daZjBJiFC9qR zCu+9kng}m1QZQ+Yf!YP1?tu;__wVt465-N>HrJrE|C9Z|kbm*JMR8Yx==Vdd{Si^cW z$T^pSQvE%eY)~`P9kowI?fW4{QK?PK71SKaFj?^Q_L0tecLTjwBbtq6&6bCaPijH)9B^9;p5%hZuGr+U=O*aJnZ`^+xHr)=_ovL?&9>4Lj;bdh>uzs@ncG zx0%B+4XGE}fphkHE=>>!isNv|odb4K4JZB@O<*Q_W`r+H+8II2?1Ni&k{*2z^pheg zE)7cCI|oAtUsrSvws*mAxUgyGav5*!d%clp;phpeA?0l@7_7>54>1*?V8ZlGe4CDc7gN5SrlPzfW1g+ClD#2!JmAGQ==5 zVa+Z-nYRV|a?mdN3RIk9?JPn?wE*Z40*3fdRi~X8E=dIS+3~<1EK30O_<7Ait2ySZctfKcy{VGo2TZ>^a=vK8IVZNmDnM*pPMnO*Vl+;%^QgGWGTT&twX zA4F{Y3Y=Mld~%7M3Vz?~JcY2&0pwLnbDyXdA|FP<89SIs!5tZY)L5Yt`OqO_iJ_cW z{gBRBYT#>y(+)yn+mBRq`6~DO&|^kagL|%osk8^|Au(bZ0?@nYO(A03}AD(JA+82!-4^n%QtQS2sa!c?Ssb~?rwP(HK z+}vN0?aPSf0Em~UR$Yb3d&lA=1bbbBHy)xEtK=0+K%|+YAJnX_&`m~3{y7A&{R|`a z{rHoVv^fUb_xgx-zbfl<1Yw5NO!!f?Aq+$|9KqoC+e_6V5_xZ-EBt$J9L~bgxzSTr zUZsLmu|U_@(eNvK6J5(#&E|<8)noKRaT606^RcQW5)3tdWg=DMK<&;elxyVz$9x22 zl){llb&C+GS}+nCa@V?Ym;fN^a=eG>2(e)u6^RbeJ{T?wB)k|nN9Klag==JScp=ou z=HdI`Cs`OO2?8~^4g3L!h*^i>3oz8Ca&7!^CGx3jgm0l2MY?%kJa-TWc1nPmd3uNg zjy}7|56+?d1MscXIfVNVEmjh}EsJLi>ElVp1FpB6veU}Tt?gA%O~n&|OW<8<6p{2A z3gjYg`NXK#aJbwrphK0G4%Em@HaS+$jriRS5LipHh-;P_5$8!j3AkSFOE~O>g>rvl z)H--fp6Iq=!3VXtu_Iot5$`&#O40hIRiH2#o)2KU5c9*HIR)t6l&B)`+{dX4^B@eJ-!q{w{V`hrn(B?4ErC@PV0 zZ;(-uT_O|z6ef!LTdKoE+3%$t@fUN+rq6_S^whuMo`vrEhz27XglGh!;fRh!bPS?#h{hs1711e+-ZN1GyZcp+h?PYBZ7?&FcyNAx1)dH6 z%#X0&zVJPL2&~hUVnCac4ny~+*$ms-M`s)x5NL?4uz3GOB5panzTa>I%mI z#>JAXoH1)Z7VeTeM+hRb>=ks+Ev z&2jiJ{8&!ThbvM3ty7dHj!SvK+E;3QJWlf}$1BjV%cm8>P&&`~=meE&wY(+-fd&Xo zsiCz8VHbUim^HPvwAdYYDxWmFwdN8QhW?VV0?kSQzgN+mRg2}V$t8ycQ9F|JPL1u% z)nci#7s#N0eZ-OB&d7T>Sn}Zr)`5vO^>z*-U&D*XZY6KP$gW6c2Xr|!!`1mk9hq{6 zC4aeFm$9;ZOG4Rj`6jsK&@_7%#rL>&i41#M?eml;T7Nh+)Z3w6n*E+x=kYqM z;LA=QV(oNjbs>&O8r3Skkb#HnNGPoG)DxI0H&q7L-lOJg(RGB70 z0HC!9-ssvblt~JyJT0*n&c5g;bX!+Q9ngBNYu$b^4!7RyRjl0bHW!Ls!n2n~5W-RL z)ujSro(S%|oP_wy*~@`M)Nc6XvL~^11pMdnKlX1EX7J^3tWYKUbm96Qp~CNY#r_09Rif9tiLJL709=E+_@B=LmK#+4jX_ zYqRh&&-4zNBZOYFIjI7EcQt`CVSO(gxH^G|TnNV+6Nr@AaHnyF-;Aw=mFeRus}Qq~ zv^Nsc`iQ0b%RHs3%Wrcv)=S|>V>myqoz>Wkf??OT;GnhYS|~nNx~mXo?JA_i@Jtz3 zg1mhaX5p+toe|-0$nSCl37Lf+^5(0lGLz7-9r0@y0J+uhpX)=3(Rgd%jfpr?p_bhY z#qFW;<~aV|rL<=KGI;r>$a+R}QL$GX&@PRJuWw3L{`$Bs!|gvi)s_pnJVDkgI) zSh7UJlHXKX>>y#Eh@5eV4Uv>D_gB{-OA)DgWbk3Qj#7q5q^g6O=_88NjtU>C_%$b# zQW%ysrMM$9OOx(SL2DZTb5r2=x4i9qcvR&Umtw`neOj+9*mr9JkxW3}Za-q8GmPs_ zObkH3irlYEM$`?)J{rI=a!RP(;{mj3GmFZ|$r{$MUo&i1(T{;Ob$yP~9yF}OmpF%W zxQB%{hplXw$!SV>q1!{S*}uC2T?^RT?Z$if9ZNokpSlBhAJBBVpucIH)2wAwnL&#d z(UGx*QvulvSDT`o7H)r7Bh-yFbIG%h>dGa~1+5LHiMZR0l|`yGP+!SDb`%941W|?} zCUQsX$J>oKu7kCAweAUUU77v1}TkY+*AkAD*(>smd2 zswa|%Wz(h77=1k`=9M<aIQ>Qes37iFHR9XK~Fx zn-9R5*)+_YQ2?bg3Mw)YBSceVwq(`42fb zF=GNOd?XS&BlK;pW=s}ree_AVab*!Tn%UkBzwMn)j2PQG*qdPMxK}{e@b%6F{dl;c z^?u~4*3?(oPJCW+u_k9ay!4-#{4q2hGx7B6Ly=c!St#HkXOT>#O6*!HY*rYqF^jyd zT1R}gCxknRZVF?(_MV!8@8*l#J|Lsg&Jdwpx2_oZ{pL(6(IJByITs?{<;E~OCo#Qz ze8F7jmm0s_C6{Ns%k@&B2Z_RArK*i@b9pat-}tE1{^B0PFwJy3 zX0{ObBG&O3sSqD-wJV@Rp~|iu6ToPNcszgjiee^Y74xeQj}0mxIip#XxgQRhNZA3) zguT5~h**BvkZqYIdN5)u+}GJLj?xW%m+QH4JVLY`U_Rt9JFM_D!p@huYlRQ>nA)$* z0jro4N40S&g1M~?w)14jOU5`_<39LnCc+v&m^e9J2!71CY33m_MlY}cc-OYg43E^tE`5&f_<~fadrB(?>l;V~LFYW+!kV9)Z{b^K_%V zd8*OMG_uc8vyt(&$G!0|W`aFhmWj*)dpu)gRxFMTRkOXJ9xW|$Z>SQKvB$d|e}7goAL#@*6x>swXdhRm(*Y0W&g(+M``rN_ zgS#+(j`&{u40G5K|Jr}_%U7du^IMC9rpe-^gbAflKoI@95&06|iq0^OPWV)hP_8u^ z2fzzd*nC;B4bIqqV+G)JX1x<0fX6V!PWTY~Bh%o7pUeF5Rh^lC&GAD4xQbja0Rc#f z@fKQvPmR{rNZ+8HlhRlb)+g$C@(M*}2fR37`a7pf)aS@7+`9k2BcqF5lk}0P7KaRq z!gEVHLKNF1BC3y^gUX6kGr@n%56*aiw>b2VdPhoy=bujIBeG)Fk^^S<2E;z zAzbj0QG2*I+x~vtsq7$kU;k>20JPbz764}Dy4p70kcJETEd5T?UY+Y?S!`PNitFDD zyc9DlT<{V2Xh!XVcLa`~kmsBKI38=U(aSLHqR!kGFMv5jkE_H8GWaT0hT@But*-d> zk)x{_d_2&e)FJME=UuJ}VO!c+_Mqmm57uJaVd@>F88xA#>^19y8ScVee=yl@co6Q+ zKsS8k@U22M6~d$-`!OJ}rzGgRwpCv0u)YXx4JlRcO*{580efognLpgnj?HEe z>^{fYJQ}tAyT3EK-rIM?GsoT07GyJ5-SMILFU)Iq`~bd?+3A7jYp`W`rlc4!341Jn=~hZsX-mxzTcga{7M3L{+Ymno_=3P~Wk6^M_i=&Er%Oopjf&iw0xe}@lYT7B`c#CR8`-xsHeRRPQ{KRlG!Bx1a?rjlO8OPH^N@oD~J(g!G4W}LH%+3uuLl<><}ove~}iHsy}ven9@ZQlpuq4=mOLR0}2 zn9i12=KG<7n~5L+3}@D_cz;{L?TgGjhh0{1UYy%`Ss}0_xp3+CjN350jN=|&*48`> zzlsxRRd$5pGEebjqe&pGeO10zU@)?vGs-wb-m3k4Oo(PZTZfi}YMZSx*JbuF$sMM&MdJ z&}-RI)SvH^M`b*LCElQXZIWJRXYYVvPMC|Un>Ju<1EY_`LpXk8Ow7GVe4U5`X6`5?X&QqE6VjBnJ7aK9oaa1IUO$X^Jr+OizKPp|4A@$PlOS+RCw%whxm2?^x~+8_ z?nX=-(@YAqse;_*5P>!m5ysjx?{~AWK_tjUJ}e~M?a@jAldWN>AQu61LCn`*X;ni3 zltcrC)j5V21Ka?JW$Y&4Uct*+-noK|m^=AW6uPK(Mh;`^w#pL{sR1b)Vnb?UgNcAU z8Sw->K<0I#giD4#s*_0bunzRQ7AL1EiAj#E*bGcAI?QM=jWHCyMY0?{bQrKsZq#AD zwkH})ZicTL8%Cnhn1vRF#nK5vFpLKCZ^j_=(*dn7c|a|Rk+Q78cT0(e>sI-zLvrJx zhqfn7oPp>})aKKGXD0Jv0zQmazHaaH0LC>2kBXC?Xv!2RPFPUcNTlr98HJ|d&09F8 zfbwMqQpHc*1Xv-`D)9*ox&3SfQ0=FR-Dme(P7t2{~oa0>?fl) z`wd7cw)iz~^7HCB>TTv5c_l)?HF8Rj<7xl_q^RqjG)ojx>>0BF1t(zFOrO5QCy3g& z_-SXyRl`N2szbphKhy~-sV)(qm`sb>jeZva;N~qXb~U-=-!v2`6n4P$Z_a_4Fr}c- ztgvomhV39^;0?b6SuB9taj>-ki9}?>i7-vjVh|97(j4nX|i^ z61BcpbcvYkoN7H!-~BBJ)XO%W0)DMKa;odI_EhVaeT&$T|0#v=9Dp|J-w`slN~jRd z$jP&2a|_d&So=0%#n{dR2OK{zrMFE%I(~AA4Vo7{wv!&;30%=;F_Zo1n<$uv`=v0h zQ$My7A-$q30W*3=30(g`!-4AOrO!(xOzxbD^2E_DB}yTdTDh#9nVs5$l5;h&qnYN3 zxNipKt?8nq8o6#aCc^$592|_tjwVezt+pf+&-_)G09xY#_3Ifq^=DIWxoB}Q;|8ev z$X)dqxvk9iwXa!?2%L2EtfwBI@c{;$;>_K*d{6!;5VEI=`DY@&9>2v%V)3cL+txim z*zh&vtrNo7k46(Z$c{z_Jj_xnA35XZl-u&SZyp=jp;UjUnN$+)zS{EE8{p^Bb_Ujb>)}MwMcIp{j5%Wo$te zyHds!8WT}Go~;NK zdbXw|Qfjbrz$_@|9Htg)lBzZ1u2Acng0CRJ>Oq-xMXH_Nt5woj*{8SCc72i=KA&l< zFqO)d1Nt?7wz0`2_P44Wy-;fW83_$>rY%4q3C}VbX*-$+ZV7?W6&!j05IbXXd(mFb zaar_$Sw0zePhO|20zbbvhn?vWGoxJzpa{gZKK2B-UCU{-6pJknbn_)C7=2BmIimQf zs5b9%PZ63TU;m3|%1=dTj(mL&oWfj~jE~1>FrOyl{u3-A%R`v-z;=eaLESok>``^f zGJ3$w;M)llsk4k;25eEPT~cAPA3)Iy?U-Hkf7qF(m4I0mj}PHGKs=Gz6OWHW{k6v9 zWkZ(jsI4&DceJ!OcEdRI&szo4i|aW@{ZLCjYu9mne{u z-jjxM&5w!Wwv!cbiA^1yd4v$3pE;RPNP1w*0iBsM@FH^{Q^6C~OC0MeI3WNJ(eaKf z|E<&~v@8lV|I0Tri>KjX{(@;P;4%urZ;>ARmv83Y{Fg87{pJF(`^vOzd!S8kJ2DNQ zjE~}HeJ&e{VYmpd-kfl>zKpTibEMXPjh@N!c}nAYkMDRC8(gP%#>WoM;m;kM z$Dcp%yluL+0(ZlgV9wklvlf4wls|P*lWtBHCK$xf>+>}Hl;-j0gWW0FcQdrryW{Vd zdwZ2sDodxWI;wGV3k6M%>BSevZT1G*&0k%w4GrB-*~#+x)L_MnG?A z?ub{iw$Bp$q?4E9tSSXT5@6$3=PII{oSg8$(MP=8&S|G*wq47?H*g$FZ8shKZtuE- zsx=DgpDRHh+QhlI3&(1-=cV$E)i8E3lSSdj63Rv6%2X@LnUVWdU+<$jG`>ZuJqPLD zkAuHeCPgWfgM&{s^9~%{nEp!n-{2=0u7tyKFIP<-9PH>=*0HR1=kCkQd^t{XX0E5& TcFFN3AK~tM=Jm(lbiMw6_fO6& delta 14923 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 R-r^_t_1|0mkJoMR{(n{5-pl|1