From e12cb4609354692214e198fdb64f0659727487eb Mon Sep 17 00:00:00 2001 From: Boblet Date: Mon, 13 May 2024 16:23:28 +0200 Subject: [PATCH] fixes --- changelog | 28 ++++-------------- .../java/com/hbm/blocks/bomb/BlockC4.java | 2 +- .../blocks/bomb/BlockPlasticExplosive.java | 7 ++--- .../java/com/hbm/blocks/bomb/BlockSemtex.java | 2 +- .../java/com/hbm/blocks/bomb/BlockTNT.java | 2 +- .../recipes/CrystallizerRecipes.java | 2 +- .../hbm/tileentity/machine/TileEntityICF.java | 2 +- src/main/resources/assets/hbm/lang/de_DE.lang | 5 ++++ src/main/resources/assets/hbm/lang/en_US.lang | 5 ++++ .../hbm/textures/items/circuit.advanced.png | Bin 0 -> 348 bytes .../hbm/textures/items/circuit.basic.png | Bin 0 -> 331 bytes .../assets/hbm/textures/items/circuit.png | Bin 2019 -> 4205 bytes 12 files changed, 23 insertions(+), 32 deletions(-) create mode 100644 src/main/resources/assets/hbm/textures/items/circuit.advanced.png create mode 100644 src/main/resources/assets/hbm/textures/items/circuit.basic.png diff --git a/changelog b/changelog index 4e94783ae..da1014a41 100644 --- a/changelog +++ b/changelog @@ -1,26 +1,8 @@ -## Added -* ICF pellet maker - * Can create custom ICF fuel pellets - * Pellets use binary fuels, meaning they need two different fluids, two different solids or a solid and a fluid - * Optionally, the pellet maker can accept muon capsules, each capsule can add muons to up to 16 pellets, reducing the laser input requirement - * Fuels currently only have default stats, custom stats will be added in the future - ## Changed -* To make balancing easier, ICFs will only directly convert 25% of incoming laser heat into output heat when there is no fuel pellet loaded, meaning when using fuel, direct heating does not apply -* The ICF should now display its relevant values using Energy Control screens -* Sodium and calcium are now valid crucible materials -* All RBMK models that render as TESRs now use VBOs which should make them somewhat less laggy -* Blocks like explosive charges, radioactive barrels and so on which used to explode instantly when destroyed by another explosion, now behave more like TNT, spawning a primed version of the block that is knocked back by the initial explosion - * This fixes an issue where spamming too many blocks like that could potentially crash servers - * Most explosives go off after a short delay, flammable barrels however will explode on impact -* Removed unused permanent wings -* Added recipes to the ICF parts, the ICF can now be made in survival mode (recipes are still subject to change) +* Updated russian localization +* Nerfed conventional explosives (dynamite, TNT, semtex, C4) in order to not outclass small nukes +* Plastic explosive blocks no longer drop and blocks ## Fixed -* Fixed ICF laser parts being considered valid when bordering an otherwise invalid dependency block -* Fixed soyuz launcher NEI recipe showing the wrong amount of items -* Fixed infinite xp exploit by constantly smelting and cooling things like meteorite ingots -* Fixed centrifuge speed upgrade tooltip -* Fixed smokestacks not working with a lot of machines -* Fixed soot values being completely off for most machines -* Fixed glyphid scouts not spawning in the daylight in rampant mode \ No newline at end of file +* Fixed missing localization for meteorite ores +* Removed the starmetal crystallization recipe, despite starmetal ore no longer existing diff --git a/src/main/java/com/hbm/blocks/bomb/BlockC4.java b/src/main/java/com/hbm/blocks/bomb/BlockC4.java index 6fd3ce025..9486c40e4 100644 --- a/src/main/java/com/hbm/blocks/bomb/BlockC4.java +++ b/src/main/java/com/hbm/blocks/bomb/BlockC4.java @@ -8,6 +8,6 @@ public class BlockC4 extends BlockTNTBase { @Override public void explodeEntity(World world, double x, double y, double z, EntityTNTPrimedBase entity) { - world.createExplosion(entity, x, y, z, 26F, true); + world.createExplosion(entity, x, y, z, 15F, true); } } diff --git a/src/main/java/com/hbm/blocks/bomb/BlockPlasticExplosive.java b/src/main/java/com/hbm/blocks/bomb/BlockPlasticExplosive.java index b67d4d595..a9be990fc 100644 --- a/src/main/java/com/hbm/blocks/bomb/BlockPlasticExplosive.java +++ b/src/main/java/com/hbm/blocks/bomb/BlockPlasticExplosive.java @@ -1,8 +1,8 @@ package com.hbm.blocks.bomb; import com.hbm.entity.item.EntityTNTPrimedBase; -import com.hbm.explosion.ExplosionLarge; -import com.hbm.explosion.ExplosionNT; +import com.hbm.explosion.vanillant.ExplosionVNT; +import com.hbm.explosion.vanillant.standard.BlockProcessorStandard; import com.hbm.interfaces.IBomb; import cpw.mods.fml.relauncher.Side; @@ -78,8 +78,7 @@ public class BlockPlasticExplosive extends BlockDetonatable implements IBomb { public BombReturnCode explode(World world, int x, int y, int z) { if(!world.isRemote) { - new ExplosionNT(world, null, x + 0.5, y + 0.5, z + 0.5, 50).overrideResolution(64).explode(); - ExplosionLarge.spawnParticles(world, x, y, z, ExplosionLarge.cloudFunction(15)); + new ExplosionVNT(world, x + 0.5, y + 0.5, z + 0.5, 20).makeStandard().setBlockProcessor(new BlockProcessorStandard().setNoDrop()).explode(); } return BombReturnCode.DETONATED; diff --git a/src/main/java/com/hbm/blocks/bomb/BlockSemtex.java b/src/main/java/com/hbm/blocks/bomb/BlockSemtex.java index b921891b9..df0b3ba26 100644 --- a/src/main/java/com/hbm/blocks/bomb/BlockSemtex.java +++ b/src/main/java/com/hbm/blocks/bomb/BlockSemtex.java @@ -8,6 +8,6 @@ public class BlockSemtex extends BlockTNTBase { @Override public void explodeEntity(World world, double x, double y, double z, EntityTNTPrimedBase entity) { - world.createExplosion(entity, x, y, z, 20F, true); + world.createExplosion(entity, x, y, z, 12F, true); } } diff --git a/src/main/java/com/hbm/blocks/bomb/BlockTNT.java b/src/main/java/com/hbm/blocks/bomb/BlockTNT.java index ddb8fdbb5..5dd5219d7 100644 --- a/src/main/java/com/hbm/blocks/bomb/BlockTNT.java +++ b/src/main/java/com/hbm/blocks/bomb/BlockTNT.java @@ -8,6 +8,6 @@ public class BlockTNT extends BlockTNTBase { @Override public void explodeEntity(World world, double x, double y, double z, EntityTNTPrimedBase entity) { - world.createExplosion(entity, x, y, z, 12F, true); + world.createExplosion(entity, x, y, z, 10F, true); } } diff --git a/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java b/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java index 95f88f353..8a14ed96f 100644 --- a/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java @@ -72,7 +72,7 @@ public class CrystallizerRecipes extends SerializableRecipe { registerRecipe(PB.ore(), new CrystallizerRecipe(ModItems.crystal_lead, baseTime)); registerRecipe(SA326.ore(), new CrystallizerRecipe(ModItems.crystal_schrabidium, baseTime), sulfur); registerRecipe(LI.ore(), new CrystallizerRecipe(ModItems.crystal_lithium, baseTime), sulfur); - registerRecipe(STAR.ore(), new CrystallizerRecipe(ModItems.crystal_starmetal, baseTime), sulfur); + //registerRecipe(STAR.ore(), new CrystallizerRecipe(ModItems.crystal_starmetal, baseTime), sulfur); registerRecipe(CO.ore(), new CrystallizerRecipe(ModItems.crystal_cobalt, baseTime), sulfur); registerRecipe("oreRareEarth", new CrystallizerRecipe(ModItems.crystal_rare, baseTime), sulfur); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityICF.java b/src/main/java/com/hbm/tileentity/machine/TileEntityICF.java index 3ee61d608..c4e930c6d 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityICF.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityICF.java @@ -99,7 +99,7 @@ public class TileEntityICF extends TileEntityMachineBase implements IGUIProvider if(slots[5] != null && slots[5].getItem() == ModItems.icf_pellet) { if(ItemICFPellet.getFusingDifficulty(slots[5]) <= this.laser) { this.heatup = ItemICFPellet.react(slots[5], this.laser); - this.heat += heat; + this.heat += heatup; if(ItemICFPellet.getDepletion(slots[5]) >= ItemICFPellet.getMaxDepletion(slots[5])) { slots[5] = new ItemStack(ModItems.icf_pellet_depleted); markDirty = true; diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index cabde0f6a..9b1629a20 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -4366,6 +4366,11 @@ tile.ore_gneiss_uranium.name=Schiefer-Uranerz tile.ore_gneiss_uranium_scorched.name=Verschmortes Schiefer-Uranerz tile.ore_lead.name=Bleierz tile.ore_lignite.name=Braunkohleerz +tile.ore_meteor.aluminium.name=Meteoriten-Aluminiumerz +tile.ore_meteor.cobalt.name=Meteoriten-Kobalterz +tile.ore_meteor.copper.name=Meteoriten-Kupfererz +tile.ore_meteor.iron.name=Meteoriten-Eisenerz +tile.ore_meteor.rareearth.name=Meteoriten-Seltenerdenerz tile.ore_meteor_aluminium.name=Meteoriten-Aluminiumerz tile.ore_meteor_copper.name=Meteoriten-Kupfererz tile.ore_meteor_lead.name=Meteoriten-Bleierz diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index e09490ab8..f12535574 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -5431,6 +5431,11 @@ tile.ore_gneiss_uranium.name=Schist Uranium Ore tile.ore_gneiss_uranium_scorched.name=Scorched Schist Uranium Ore tile.ore_lead.name=Lead Ore tile.ore_lignite.name=Lignite Ore +tile.ore_meteor.aluminium.name=Meteor Aluminium Ore +tile.ore_meteor.cobalt.name=Meteor Cobalt Ore +tile.ore_meteor.copper.name=Meteor Copper Ore +tile.ore_meteor.iron.name=Meteor Iron Ore +tile.ore_meteor.rareearth.name=Meteor Rare Earth Ore tile.ore_meteor_aluminium.name=Meteor Aluminium Ore tile.ore_meteor_copper.name=Meteor Copper Ore tile.ore_meteor_lead.name=Meteor Lead Ore diff --git a/src/main/resources/assets/hbm/textures/items/circuit.advanced.png b/src/main/resources/assets/hbm/textures/items/circuit.advanced.png new file mode 100644 index 0000000000000000000000000000000000000000..9a63ae15f45181819bdac2f18c5275b8cd77f64e GIT binary patch literal 348 zcmV-i0i*tjP)vME!)?2<+~4Xsr7sf7%t3>*pfyAoO8SxO#);e8AVax zoCDu)2JFR_aJ`v)QjYR0Q8ujOG#8T703sq?2Gbn$#t} zrf{MZDw-hbtHe%%aoj8|F&b1yiO)dL?-O_)J7q~?H0dD4Ial|P?QbqEapfIUMDIYp uM5{aS+W`+jK;U^bQ8ArT%w|9IAI&E=RC_vP)lA9&0000%qSS!2VU{gE&CO0Wy|tHudXy zNs=U_X-Zj^D5dC691j-@0nh`u+g-4;-D&ONgu`D6dH~}hBY0aUm_|7ON-3(U!We_r zn!2v(6RkJs5*&RD0k~H)UM}HmYsmF`&Z!x28_pRQ*=B;--W-5qae#~^R#?!k8SqS# zMdu6l34920)Lc%Z96X@fS6{?GB)%U;Hv`|@g4GtQUF)WHy0e9)?4y7X2*t|QEX^vN d*-Z2o^$EX9XRWujKLG#$002ovPDHLkV1nlyi1Gjc literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/circuit.png b/src/main/resources/assets/hbm/textures/items/circuit.png index ea79ff8ec2a279926df459aea6ae246e15c55dd6..c6ab4fd6eb4deeb1435b95a46c1423d473aca0e1 100644 GIT binary patch literal 4205 zcmZu#cTm$!^Z!CZFVdxV1ZhSPq>})lKcPyMCZM3w6@wz7hy@;rAiYQpC@KOGO==IrH@$FfTsY!BX4B}b4C_!7NNrVryBY?S~FA&a;3CGHUgv@ zWYTYkn?=M!(w6m#pm{pc9GOxBLj^DXEqF4)R`de$;uj`2*xNIl_2oIJwFIl?@GYyp zirmqRluGQSl^8~0IelSWtzH?Dp8~H?wzB&q`uN0c^S;7+jF*+UO2={DSWrXj>d)4L z!UtREs3~S80rq5*Qv3gbCI?>RVFXrS2vsNISa*dNOK|dK;Qa7) z&6wlOramk;NTzOOna?ziaNzMQVkc~16LaC^K$Edtkp(;1&P^Nsdh&?wEFvn(2FZ zvp#fnb>)B3osgEsecjxaEqLp+q7Xa>13ykeqBl+a#8^M-v`>lE>n|$Z=XDL^#A&T` z&V@AsM~>2j&mPV$1S+7&()&QH}oa z5d&&x)a8>P5;#2=JOaD?I8zAZC%jP?nd!Q}$Jb*9W)1)KSrvcaQ&Vud(&6>*{ z0XkG}WSckAKoa`))lFABEBV~Q0*)%1xR0LU0qSEbLC{$6sa7O6D7qwEFT5v?Vd(C; zZ!v?TH%S?R-~y>zUs791Sy^FR3xjZRGR1y--J3uyK#MsvwsD|lgC2SA^FKGP)&^Q~ ze_rCzE@0Z>1#7`R5#7PW-38K&+F`<0=r?XWd^?h7H$Q2`gf>m9?Ixrbo$fq0-)0k`W1&k-4_FQY7k!Q9gcYAr4O^HhoE$QD?MhkXM>|J_qB{rAK3 zkc^QlF5(|iDSAF4Li)Br1)(rOPwua_T+;-AakFq~wkf(t0;IIYC~FA)@piIy{h`=% zXwAEdP`&C)Kzl>$hR;Cu+Dveu?Z4@6aY696Z5#^+S*19wGq<%FS^&s9p%5{n^viqX zX#e9#X7O~q9~<5e7~A){1GTPJMVH#dT7p~M;l#Isz#3blK}^*HQo zNmch_C-#5~)O!83Ni73|!WVNwsc=CxPxafMIUp`jdDKnr(4q{5SR2?YW~*~0d^T~k zqrC{hybS8Zzj_Ao2`~COF8H479b;hr3`Bj0 zYMXB77F{+rKF$}l+c(p2%gW13;(e_^dD=w)7_#Vi;;(d{M#HzF%ujZbx$cc9b^bii z7pS_Wk@pn8YI^S;SrgRaOlM&cf`yLvE*x~(I-llLg?KYE|F#zZ76}c;uGGGM-g_UuPO$K}J)NT3O+#LVVk#_FySBcrl zW=Qb3yr1Ti*-i7wD3~Qvh6kch9;mHa%MlhAe`H>s;PN)vyc~u?b%Z}8*0WskXRX$V zf2E1)%<o4yV_?K(Y|3S14Y_aG@bU?d=~LxO&z6f&vF0 zAG9xo)#Pco*FO~~8KoYI_lIz*%uMn!#SW5t3QnS3;JFhWjcb{IQdU;>x~pVj?a>11 z2|b#rDTtm(VpqxHV;>alZcu{<9dj|OMSf(((2r#gqc4xlot&Q`tKujfE%=fUJ7e~r z`JB7^>ML4-UH?_(1oKg$^GGaB@FVE6c;#AFx2pD2uz6ic?qq zP#F?;Sy;6Z1HGTj4bO#55(cwWY%6#R=MRh%c{gSnIM$~=&=X=As!v>M@KD2gUobZ} z$C16Gzdj}ZbX27-w3G+>4(@bTB)id`M*`&qy4OPfG*9mes_(}#)iHpRU|qoB`b`r- zF95%wW*XkwhV1*9c0-?wZZ(I!fOYae{e1A>JtHD6uC1^81B;EKkcv%?$iC{lT#Z0> z?+2S&+g^!?s-$j0`~s5h9gGs_lTt%t;+ z9RBP;I&t+jW}EE3d&S@6^d)?68KtgQjjjaM-gnf!WV{LQlmOV|~t6^-6(fP|5j1f{Z|Q;1Nrj>Z0~^~g~HZ4Oo>BP%kI z4uDaKq{bvI@pXCrn3TT&mcqvVc~e#U;2^Y=1Nf~fof5r_**1)Q8K3aBbU|{lQO!3c zHT4wOSGMwW;L$%^imz)5nEHoe2o$QP8L+PH~ZF%+sFa9UQZx zDlN=;ZK3@k&du!o$M{3u3;jNS0(x~D?XO-{&4gQ1uGL7eq`y6McDix}espvMW##P! zx_o(j;wYG#9!6+YP*7&Ny>1&R~ z8(?gG6N9aP3N}7>=E^AoSe%yfzTT^s{Stu~xdf-w#O?D848GzliqojCZ^8H1^2>E2 z4zUQrA^L&XxqoE_v;l9*Y_kiZ_v4ob%(I=RcVE<{`4hr*AaVz?;vjYUgC=&@^KSpZ zK*GdYrq|451v4et(#+Snw2qZ^KSG zQy#wi;hh{jQQ1WZ2Y{pFV}^|$!dIy>LR;JGnEGcx=MJqv<0pT=BserRXp>6n6%bfj z%;t+cyb;wumNV3UtZ$p>=l;_}Njw!VHRs4Tb-3St*s?(_a1F(^qN55fvsZyWcFYRj z#Y-F*Dw;7aJh;i9?;4s>)ShppCoUc={H*rxiH#d=6#mU{IvH~%`;bv1yoFXzdLI_d z2#9;{3Nvp&Ni5GD4r1f(D>85Ja3<#r+z}7~*!E~kcFOEKIUPBRMaExY>jN4!v-_gp8+-;5;&I5iv^$}H(SAU} z7>f?0<%NM$CK;|hr#f9!(K(6~85p_Ng^K(uio`N-qQT`x=u_+aPcC$ZFm>!rdM3ks z2^)fkziATwHK0uO*RpyK)vbjL+2cf~k752n+kFwI|A_$?u24QB zL9m5%fL18JeNs>4XOqY9{9xv}xS;qZ_mm^x=$OV&A%XfO<`wlg4o^=G7{+M_OwM&Y znOn%%$|1$1vg|f36T)-hBIfE~<4&_cgGBq3vx)M2CCretZEL&=#JBMc_f&{Wp=L)S z8hyE{qUK7SfNgr^uYq&2F0mglf=P{%oHGKU(0>{B0A&S7N|N?1OUh(sLmV_vB|(7O zn-as+3nBV6ird6^^G7Q{oOo5FptvG_sS#Q|n_Bp5*ef%2&f0 z-+ww2LCP@~AMuTRbu@a>BOKqj|BX-d$4e|@4Z1^QkVT+*zkjNy36AA5YmNVA|GC84 z?NB6)IFuMhaoqA2KT|Rf`=jJ#4@a6>>hEy+-l}JQv30Pk>1AZam&Qz9b*#T2Jx^M_ z@i~^S;-SReBP555^Nj{_L#Ot6va*VZQKx4BxzdV|OSrp=K;p z|2f{)IW!qw1sv@U#TO2Ui7!L#wgkOXmbyIFy9m%qc0yAr;OH4<%9u^Sa{5XE4+6-hSt>3kzS9xtMfdA@z$5Ikq0K9_W10@h0TV@@ z(>2XBSQxh`h83pCWL_ZsaGa2MJqeKIv`zb;CG|O-xCL|0yu*!%ogDmbaKO-y88Jdl z2{#B@XKO$p+NZ{qKMTFT14IyGMCy2Z294dFgMnDzfb2IePg4fm`RTW4sh;R&OT=q@ zUnwJmotcC-q_ZMX3c*_`b!FrYx^{-+=OLQtj6mZAVWr@Q1rt%QXzaf?YCF+%^bT- zwp+lnPJAC_vhvgTgj#W4h5oBoYh`OkkkL_tp8`b{r?v8MyXO#{;&l% T!_gl4{{dhHN0`-^_$K}bR`>7m delta 1990 zcmaKoc{JOJ9>o*;;MEeEHmM{^XH09EK}$=;68jQWyH-_DQDmw_Z2eiLA=4@&)vDS` zX{n`ZD@M@;wH2kQM(o5Ek~c^ykv!*}Gk?DK`QzSu&i$VI$Crg#P{=j_r1R}D7Ve}1 z7K0EDVX8^9w{XSZz3i%N{0t-{rH*LWjg458=9W5r8;8=z@F!2@?xlL>A9i(YvVUGW zK_0D$QMH!oZX+^$PkLPRQmJwaohaA)mg%6>s4lXBwWQevr!{)NzLEdFeqqL6^UTBd zmo|r)QwIyyR0+bg5+TSyC~GTzan?+Jf#f3L0tE*!4gFVyxGcyA^dzXa&@hdAN8 zO^uCxU0om$3ISx{_`9qIPg*9L^`QLQO{%|%aMvS%9rNjyKM^14g?jkOI;b*#>hyB_ zP_;9m=3)Jup_y!Fbr7zdf=N^}_A?|YyD%qYlnH#(&b$JYqw-$z;=e%Azry_^_sjKw1 zoKAzAEO3qc_sXykp9 zEP#y3N!<>GA%_XQxmvD1DH{v$k1jkhS+q;_yUWlorOSHP<*BH{@S>Wv_Nq|j*_>|f zSnsn%(PP@2+y z2EyJG)3@aZY&(Abl_4GP(d4U9$mPys8sXd%w1xJx)9fLLopebe%s001S0j0+?b%0O zaPT%ZzD6ZZAFLl4Ve&hHrh8^zSbHtOBNMIZn+YTE5M5|!Xp*41oC6Tnflm`X30N8B zee+Tz<-MJ~i`b*%$$9%xQJwVW2x?D{4L&^lKA9}#7);ynIn^|`6E|UtmW(h~yS(VM z1G<_%jr+iT5RDp}&YCT3(Ks-!&U>OMgUTH}r>~zwP_piJ7uztX4^eEUi%VEX)nqU{ z&5$$NkEuz6) z*0;y%XnP?_q&{hFon$X(4L(N|Cyhius0B-8|56*v=Yv!M;&bSV={_t_{4;ZA=KBI+ zvB7cQyJ?XqSY;3gmOQ<@9Q7Yzuvno+np@DGN;Y0Vv5Bqb)A*y!y`xi81v*|cyeu`r zHUT!B|6$$rcq|%frn6HqPyiIV$uw+p4yF>1!ySX22 zndfWZno+w)&S5*rH}&L(JG4oQs~m;w+ZlDw8s86^c>zCzWzUL4%T(IKD=h(5&5KS7>=&=% zUY|CF-YJqPsjI^}JEvv|1vBBw$4p6z&d$zupcX|YE5GLFzx~So+Q{AA*{M`L<=OY)4pbGCxSsAh7H_}# zwM`{BIM_IPMNupT&A4uY9!A~;tyxk_(V!40E5Bmo=RT{1XviSJ-1kQ1== z*xhJg{zeKCXN5Zgcff5s!A1e-y!ZC3=~D9tPp{ysh;n`A_YmhEFkqiV7b?u_CkdfiRkJE7Pxn2ZEORb0?!VzSNBS ztbuozLl={NjF*14LJe5^6FsqXQ4zs0Fen7s*pkfdSS;!~LM-+G=3K$ntL`4RFdOwP z>AWUhU@J19pLC@FCKA`;#lK-LTn<{VaQz96ZZAUAAAUAX&B=)6SFchis217+<6i7V z|FUE@3EXf-7RB@_lIgzyf|O*$g`La`K_(`p8Z9TQ(*d;BYjvv35u;3+Dlyi0DX~o&vo?N^5+EulImNuWz^wu_zxJ z|2a9+uPwwWnXT=fn(+?~Mf7z}WN-T*94$IM_}>l6Ki&UudBMS7#4TrpT42xt_SP<# JTFZdc{{TdQ=eGa=