From 75ee5ce621b167f1457e04cef2d427eb9879c0e5 Mon Sep 17 00:00:00 2001 From: thehun927 Date: Mon, 18 May 2026 23:19:56 -0400 Subject: [PATCH] stage 2 complete. cleaned up verbose code and double logging --- .../Patches/PlantAdditiveAppliedPatch.cs | 40 +++++++++----- AbsorbentSoil/Patches/PlantInitializePatch.cs | 52 +++++++++++------- .../bin/Release/net6.0/AbsorbentSoil.pdb | Bin 26396 -> 26416 bytes .../net6.0/AbsorbentSoil.AssemblyInfo.cs | 2 +- .../AbsorbentSoil.AssemblyInfoInputs.cache | 2 +- .../obj/Release/net6.0/AbsorbentSoil.dll | Bin 22528 -> 22528 bytes .../obj/Release/net6.0/AbsorbentSoil.pdb | Bin 26396 -> 26416 bytes .../obj/Release/net6.0/ref/AbsorbentSoil.dll | Bin 9728 -> 9728 bytes .../Release/net6.0/refint/AbsorbentSoil.dll | Bin 9728 -> 9728 bytes 9 files changed, 59 insertions(+), 37 deletions(-) diff --git a/AbsorbentSoil/Patches/PlantAdditiveAppliedPatch.cs b/AbsorbentSoil/Patches/PlantAdditiveAppliedPatch.cs index 4a7957d..c9440d5 100644 --- a/AbsorbentSoil/Patches/PlantAdditiveAppliedPatch.cs +++ b/AbsorbentSoil/Patches/PlantAdditiveAppliedPatch.cs @@ -2,32 +2,42 @@ using System; using HarmonyLib; using Il2CppScheduleOne.Growing; using Il2CppScheduleOne.ItemFramework; +using Il2CppScheduleOne.ObjectScripts; using MelonLoader; namespace AbsorbentSoil { [HarmonyPatch(typeof(Plant), nameof(Plant.AdditiveApplied))] - internal static class Plant_AdditiveApplied_Patch + public static class PlantAdditiveAppliedPatch { public static void Postfix(Plant __instance, AdditiveDefinition additive, bool isInitialApplication) { - try + if (__instance == null || additive == null) + return; + + // Important cleanup: + // Initial applications are caused by load/init/reapply behavior. + // Do NOT treat them as a fresh additive pour. + if (isInitialApplication) { - MelonLogger.Msg($"Plant.AdditiveApplied fired. Plant={__instance?.name}, Pot={__instance?.Pot?.name}, Additive={additive?.ID}, Initial={isInitialApplication}"); + if (AbsorbentSoilMod.VerboseLogging) + MelonLogger.Msg($"[Absorbent Soil] Ignored initial additive fire: {additive.ID}"); - if (__instance == null || __instance.Pot == null || additive == null) - return; - - string additiveId = additive.ID; - if (string.IsNullOrWhiteSpace(additiveId)) - return; - - AdditiveMemory.Remember(__instance.Pot, additiveId); - } - catch (Exception ex) - { - MelonLogger.Warning($"Plant.AdditiveApplied postfix failed: {ex}"); + return; } + + Pot pot = __instance.Pot; + if (pot == null) + return; + + string potKey = PotKeyHelper.GetPotKey(pot); + if (string.IsNullOrWhiteSpace(potKey)) + return; + + AdditiveMemory.Remember(pot, additive.ID); + + if (AbsorbentSoilMod.VerboseLogging) + MelonLogger.Msg($"[Absorbent Soil] Remembered player additive '{additive.ID}' for pot '{potKey}'"); } } } diff --git a/AbsorbentSoil/Patches/PlantInitializePatch.cs b/AbsorbentSoil/Patches/PlantInitializePatch.cs index 39b1f56..379dc94 100644 --- a/AbsorbentSoil/Patches/PlantInitializePatch.cs +++ b/AbsorbentSoil/Patches/PlantInitializePatch.cs @@ -3,34 +3,46 @@ using HarmonyLib; using Il2CppScheduleOne.Growing; using Il2CppScheduleOne.ObjectScripts; using MelonLoader; +using System.Collections.Generic; namespace AbsorbentSoil { [HarmonyPatch(typeof(Plant), nameof(Plant.Initialize))] - internal static class Plant_Initialize_Patch + public static class PlantInitializePatch { + private static readonly HashSet ReappliedPlants = new HashSet(); + public static void Postfix(Plant __instance) { - try + if (__instance == null) + return; + + int plantId = __instance.GetInstanceID(); + + if (ReappliedPlants.Contains(plantId)) + return; + + ReappliedPlants.Add(plantId); + + Pot pot = __instance.Pot; + if (pot == null) + return; + + string potKey = PotKeyHelper.GetPotKey(pot); + if (string.IsNullOrWhiteSpace(potKey)) + return; + + var additives = AdditiveMemory.Get(pot); + + if (additives == null || additives.Count == 0) + return; + + if (AbsorbentSoilMod.VerboseLogging) + MelonLogger.Msg($"[Absorbent Soil] Reapplying {additives.Count} remembered additive(s) to plant in pot '{potKey}'"); + + foreach (string additiveId in additives) { - PersistenceStore.EnsureLoaded(); - - MelonLogger.Msg($"Plant.Initialize fired. Plant={__instance?.name}, Pot={__instance?.Pot?.name}"); - - if (__instance == null || __instance.Pot == null) - return; - - Pot actualPot = __instance.Pot; - var additiveIds = AdditiveMemory.Get(actualPot); - - MelonLogger.Msg($"Plant.Initialize pot key={PotKeyHelper.GetPotKey(actualPot)}, remembered additives={additiveIds.Count}"); - - foreach (string additiveId in additiveIds) - Pot_ApplyAdditive_Patch.ReapplyWithoutRecapture(actualPot, additiveId); - } - catch (Exception ex) - { - MelonLogger.Warning($"Plant.Initialize postfix failed: {ex}"); + pot.ApplyAdditive(additiveId, true); } } } diff --git a/AbsorbentSoil/bin/Release/net6.0/AbsorbentSoil.pdb b/AbsorbentSoil/bin/Release/net6.0/AbsorbentSoil.pdb index b55dff98920217d5f5580a3ef878626aaa1b509f..909799c047fade767a53f16a0a53c31988a448a1 100644 GIT binary patch delta 2589 zcmaKue@v8h9LGP;!^z$Az;PU)a42vho}hp!B7%wxe`kdr-hqH6CudUllbd>_J=)CD zX2G6HTlSN+lxb6$*$R`TZT4gKhq|_=TdcX2o3l07Y-`o~^L@UTkFI*~{khNU`}sVd z@9#SgT~v-=RC=bh9dr?mdxmJIMs$bZH^w%1u7A86E^X6^9NZRar0wwQ*k2f0JP)6P z;8+{DzH37SeEaIMm)btQy5vOpzQR9SLzUI%yM}sua@@IyErcqd1HGpTynZ+elnQZi zPw({tjWdE!jp$S=&?yb7haQDu&~uQdC50|P-qsYF4@IFas2kb~^*~>=rWo{1E5;%ojV`rn^gT4( zs?$%jhl-&Gpczmd7RP#YS_E!@!q7^n1L|rUK`K^)*MevTlwk9? z8Z%C#A&qqWSqV2Jr-9GH&xAaPdSpBWoQ_3J@ERM>fL{iA5l@%-MxDfG4;2JWl4tR-6MT5mr8}pt{gUS$} zDLddTE5DDYVBU#1zU(mgyX*#6*q8^%HD?;KpcB9c&t71jTOyz1)i&mM z4YnW==Sj@8#W{Z#WF!*!h1vHd)Y_Qib8H29kLzvB@wqn61JAQD$LHIazgHGemhsOB zc}W)95^xN}vl>>xapK3?9G~#{dqEMGOT}&BXIQk{6uwvZ+@cb^*BMa(9Z_9L2h&#*p4i%M_6Ced|RYlw+~a(lw(!4aAD+NkQU zmh*8?Xh(=|vqHlmKHm!M4ZFqXvL=uC{Ibbf)^D46_Z0fW?A5Yxvbxu{PoegXj?P%; zmgwRR+St{;K4zZOwwjfCmAOSP(Kl|0Es4hI$!L6_Pk&nR7i_NRf3>Cfa@*n0Pd)L& zg)<*iK3}zMLDj96^9`RIdoQcVtW6F0`*O}5efhWA@!uUS@g3fCrEACFq}L7(nY9Og z%@6Oo9t{laPF<|}FAmMRbf|H{xY`T1T8_`YHYtDi(w&itE89y?4OhMX;^6NCH`A(@ z2A7S%jrX`S$f>#%^6Bv;Dss4-6jWU!$?1rrEjjL_bd@wKrPKiosN}M6q9dM)H^@n= zRaXNk>Lzo|V>L#;GDMB@*_?n`-ovJ!aS$eWb{mdcw%097mWYxLa$6BMT{}-Uvo^ug;I0zQ;Ywj6gjr)r0yukuHhek>RoelO>ZF6Tp4i&{$+@A zbQoeN!WZH}w`NXW6;%2Mo?X?cjB3i}Y1})PrZQ8BEE<#281Ifn*Ofoixqg$6=gD&q qMPQoFm^&kX`Gp_+S~S2kzXB6H%ijBJ&J4W0+O4Xg$iRoub;{r9lTWn( delta 2564 zcmZ{le@su_}<Z)=5 z1zgk$uI$>>4$k@fe0kg6@v4)Bw?DjCY#(Y^S9f}F-wa18Vk@CV&?|$d+%7j9j6-&a zi#rF$-4@R9K_wA~bWFXvHjZk2aWw2R(H*GLZ>Dy?g=PmV^fvSS1!A^ce z2_oSb5}2LfApCO3h3+m9e`yLg3r<8FM?tHXi2NjxpNO_3RMUAkZeWsCBEM)zL5D{8 zJmX|aq#2^XQSdZyn&5Kqba1-hVsHw0w%}aw46s}96W~+>zh&SQj8D&s1`j&$!R&<6 z&>=$XQYjjEkGMlFI`kSi5BxRww1_VR^PxH} zI3JvVV!UN@u_*;${yh%O0~ZV449)^C7R>qC;H9KSJK#M+^Rh)C>QZkkGA!J8(h?wm@gT3*H)?xx-@y=KN&_=J;|0b9{xN9&d4lfjM4D$-Mv3 zC7*?cswoN822Mh}#=yKHD-Dcep#Au*C*k4bU$nAI^XF;Y1}kGD_!kGMGTqbQBCJHa zU==M8E83&cd@UOF`7@#S3Ty3rWM$kfQ4HOJHHp6eYSFW>ME~QfBESborfBLK_z&N~ z0xcRHo?p-s{h+n*a}k4s$&-EuHcqQ%)~r>tHX25|od#j!ADY%ET4YiW;Sxi)VWV@@ zXUgrm&y(Xp?>9(P?~T#?@4T_v^@Fv%^AhFxqTlXaK0fPUKObR+S$=gG4Vk z@Ka-W%Gbs-)EEWJdMQYBNe%qLMXy!}1Bq3(tC x;fav(VJS*Tl*=s!jEQEC7H diff --git a/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.AssemblyInfo.cs b/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.AssemblyInfo.cs index f285866..175fbe1 100644 --- a/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.AssemblyInfo.cs +++ b/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.AssemblyInfo.cs @@ -13,7 +13,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("AbsorbentSoil")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Release")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+162a1ce7951370e4cbd8c674c284b30f8a85cbd4")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+b21db135dbb267f14ba001c06d5e767684e16748")] [assembly: System.Reflection.AssemblyProductAttribute("AbsorbentSoil")] [assembly: System.Reflection.AssemblyTitleAttribute("AbsorbentSoil")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.AssemblyInfoInputs.cache b/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.AssemblyInfoInputs.cache index 73a7919..f77f843 100644 --- a/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.AssemblyInfoInputs.cache +++ b/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.AssemblyInfoInputs.cache @@ -1 +1 @@ -67d62e0901b35175e30da93a43a11d964fe004e1a9681a2e3903abe5b9ef6961 +b9ad6f2e98c8850d94d764bf380f030dbfc6c348e959950e4fa42b574c0504d4 diff --git a/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.dll b/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.dll index f598550c94347ef5c13ab7d45ff6aab71782d92e..ffc449b4ab0d7da83f2e59667b06d6bbfc6b2f8e 100644 GIT binary patch delta 8671 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 delta 8823 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 diff --git a/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.pdb b/AbsorbentSoil/obj/Release/net6.0/AbsorbentSoil.pdb index b55dff98920217d5f5580a3ef878626aaa1b509f..909799c047fade767a53f16a0a53c31988a448a1 100644 GIT binary patch delta 2589 zcmaKue@v8h9LGP;!^z$Az;PU)a42vho}hp!B7%wxe`kdr-hqH6CudUllbd>_J=)CD zX2G6HTlSN+lxb6$*$R`TZT4gKhq|_=TdcX2o3l07Y-`o~^L@UTkFI*~{khNU`}sVd z@9#SgT~v-=RC=bh9dr?mdxmJIMs$bZH^w%1u7A86E^X6^9NZRar0wwQ*k2f0JP)6P z;8+{DzH37SeEaIMm)btQy5vOpzQR9SLzUI%yM}sua@@IyErcqd1HGpTynZ+elnQZi zPw({tjWdE!jp$S=&?yb7haQDu&~uQdC50|P-qsYF4@IFas2kb~^*~>=rWo{1E5;%ojV`rn^gT4( zs?$%jhl-&Gpczmd7RP#YS_E!@!q7^n1L|rUK`K^)*MevTlwk9? z8Z%C#A&qqWSqV2Jr-9GH&xAaPdSpBWoQ_3J@ERM>fL{iA5l@%-MxDfG4;2JWl4tR-6MT5mr8}pt{gUS$} zDLddTE5DDYVBU#1zU(mgyX*#6*q8^%HD?;KpcB9c&t71jTOyz1)i&mM z4YnW==Sj@8#W{Z#WF!*!h1vHd)Y_Qib8H29kLzvB@wqn61JAQD$LHIazgHGemhsOB zc}W)95^xN}vl>>xapK3?9G~#{dqEMGOT}&BXIQk{6uwvZ+@cb^*BMa(9Z_9L2h&#*p4i%M_6Ced|RYlw+~a(lw(!4aAD+NkQU zmh*8?Xh(=|vqHlmKHm!M4ZFqXvL=uC{Ibbf)^D46_Z0fW?A5Yxvbxu{PoegXj?P%; zmgwRR+St{;K4zZOwwjfCmAOSP(Kl|0Es4hI$!L6_Pk&nR7i_NRf3>Cfa@*n0Pd)L& zg)<*iK3}zMLDj96^9`RIdoQcVtW6F0`*O}5efhWA@!uUS@g3fCrEACFq}L7(nY9Og z%@6Oo9t{laPF<|}FAmMRbf|H{xY`T1T8_`YHYtDi(w&itE89y?4OhMX;^6NCH`A(@ z2A7S%jrX`S$f>#%^6Bv;Dss4-6jWU!$?1rrEjjL_bd@wKrPKiosN}M6q9dM)H^@n= zRaXNk>Lzo|V>L#;GDMB@*_?n`-ovJ!aS$eWb{mdcw%097mWYxLa$6BMT{}-Uvo^ug;I0zQ;Ywj6gjr)r0yukuHhek>RoelO>ZF6Tp4i&{$+@A zbQoeN!WZH}w`NXW6;%2Mo?X?cjB3i}Y1})PrZQ8BEE<#281Ifn*Ofoixqg$6=gD&q qMPQoFm^&kX`Gp_+S~S2kzXB6H%ijBJ&J4W0+O4Xg$iRoub;{r9lTWn( delta 2564 zcmZ{le@su_}<Z)=5 z1zgk$uI$>>4$k@fe0kg6@v4)Bw?DjCY#(Y^S9f}F-wa18Vk@CV&?|$d+%7j9j6-&a zi#rF$-4@R9K_wA~bWFXvHjZk2aWw2R(H*GLZ>Dy?g=PmV^fvSS1!A^ce z2_oSb5}2LfApCO3h3+m9e`yLg3r<8FM?tHXi2NjxpNO_3RMUAkZeWsCBEM)zL5D{8 zJmX|aq#2^XQSdZyn&5Kqba1-hVsHw0w%}aw46s}96W~+>zh&SQj8D&s1`j&$!R&<6 z&>=$XQYjjEkGMlFI`kSi5BxRww1_VR^PxH} zI3JvVV!UN@u_*;${yh%O0~ZV449)^C7R>qC;H9KSJK#M+^Rh)C>QZkkGA!J8(h?wm@gT3*H)?xx-@y=KN&_=J;|0b9{xN9&d4lfjM4D$-Mv3 zC7*?cswoN822Mh}#=yKHD-Dcep#Au*C*k4bU$nAI^XF;Y1}kGD_!kGMGTqbQBCJHa zU==M8E83&cd@UOF`7@#S3Ty3rWM$kfQ4HOJHHp6eYSFW>ME~QfBESborfBLK_z&N~ z0xcRHo?p-s{h+n*a}k4s$&-EuHcqQ%)~r>tHX25|od#j!ADY%ET4YiW;Sxi)VWV@@ zXUgrm&y(Xp?>9(P?~T#?@4T_v^@Fv%^AhFxqTlXaK0fPUKObR+S$=gG4Vk z@Ka-W%Gbs-)EEWJdMQYBNe%qLMXy!}1Bq3(tC x;fav(VJS*Tl*=s!jEQEC7H diff --git a/AbsorbentSoil/obj/Release/net6.0/ref/AbsorbentSoil.dll b/AbsorbentSoil/obj/Release/net6.0/ref/AbsorbentSoil.dll index d279ecee844fac2ae536f966b53250e223881b1f..8d7cb45d2dc4dfc25d8d843addffb10eb909ede0 100644 GIT binary patch delta 1834 zcmZXVU1%It6vxk*k9#MZWb(0Q^Ien1XhT}qO?GEDf;6##7#c~^57JQbu$$eqt08SQ z23jqf3Y8YccAZ$#hxSElsTP{J5s^S2dG&UD{&-{})tWutW?`BojWt%D0K;kl+r^F zWA?lKliRO+zjWmIiM{Wo%Cz56fx9*`x87X^fOJOC9$@}0Q3If9=j2QAiG42vjm|Ov zjgC#bcS1MCr6TUx-P=vaUG_YSC4SS8VgLrusJC?nA4+XizSc`XVbvb3wT} ztGi&oGE0@ODmPUIN%dKZ|5Sv|NS&8DBJ+bXZr7_hgPV%bhq%LFa0|s;SJgF(=6H^; zk-8P3Z&K`n9-P%pxXfSVCVar}tL1P(TLcq!=^tw*e53tkFZ23@s6PtV!2>%;8N}!k z#ZoQ`0i+*bDSU~y*q}pOmD{=?MS9J&v_XnBn5N1rI=~31paT+FxT=MTnDnmdtD5i% z;23#R8c~AKCGoUCqC#2PnxP^|g&8s>Mc2``43$W4o00C4rq^kD(bFTn_cPPifZA9J zOSHTZuzxYU{3~_`o&=9wU+{d-GTl;yfljgdH>#HP7cid=tRr!E(v@f60e{8umSCSf zUr?J6y;P^dFcO%fd;BfKImkuTz74lVF&d2~|$0V^EO#C*EW^Xc<-^xZlNvz5FqeF^q6dYq;~GOHZ= zjD3RD4xJ;aaY$TttwW3aSFCerf&Y<5;Ap7_HUIAk!r_)*R@%I(p@mc%eGRvyou zU_^Ljj^ybLj^}2NFh|V{AxFp9My1iIJjGgbB)e?PdKnV$(h3Jq60ldiQ!qzBj}OHP z+)#lYlnwOiq%+z4IjT`%jvhrVY44fK*Wz@XG&sbQ&csfVNMIOg+5!d|a$)N4fpv7i;SLjIV~3i?B- zCu(QZ@)i0RWyb>%cP1M>csKRahAo)%YALhfAEiG6ZQz3_L`d5qAS02pAP8fW^OF+> mFa3NlN@`I>0Al2d3JXG15hG8KA42v})4XDI$WL6-%l`$ixLLsf delta 1827 zcmZXVYfM~46vxlGkC|nG%hHwC0+mOwB9O4K?4ylVl156z0BtHXhLB}hWLpAN5n~&& z!~~;>FEXUYhBV=WX{mmItXh($Hr9k_HSopSny6_?qBS-#;1^4p=$YBwyGxwS{^$J8 zIdkUDy?5r$bj@^q@RqTD&ZX+P{fH<1f_UzCh+S50?TUjR=Sy=4%>t0Ms6xd^tA$;wwPyP$7Up zeeJQMaF}eDv^$P<9-_WqtgvW&%RsUL7(A)pGZ|b`+MwMu3&6poe@c0#Q8%5iM_(Wv z)fOo8jCMgJ+Ne40So%gFANKQG#-fWcx7DXPs0r;h9jg5qI8LJDHo&w z(htxD-{W1@YtupPo+(LFu{v5>FWCmnP-cQg4}cCPAdw$8jW7{YvFqlhA!9j;at)$5 zp;O_YM50_p9VyCFv@b=Lq7Qe`REi3c;~dE|$zq59rk{Sfk|)fcVYP z%zt3N!(-qPl{wFKY|#Bc=y_VM{>{=2^8{wo#4eI|Cz*K`cKEAyYz%*tE*O&7ybB+gN1BEX<~Lo=t1J==Ls(vY)f6^u*a+EVhdtpkS#@SJ~%SX44{( z$0m8%dD59lkDgUCSvjeVbe5&(N@iBg(1Dcg+HDs*#ByHggiQHH z&w&jSp^%h88L1QMl^r5=K|84jI!UXbSLt!3VWlypFDZRp>D#1rFh|PZBc&^(4e%3e zB)s|MSmrU?=t%hoLZm17LDD8BJvT(u>cvfQ*{UmAP^XjJotZW*wk&tiQ?yih)Mi=` zLW#11TEjCI9-ka+A0CcP#-^g}r%sK0#OJ+2-?VQC99d(N8TYAh9LER@=0zX d@{zZdGDgS_)4wg1=M#OkD_UMiecR@m`F|ILQq=$e diff --git a/AbsorbentSoil/obj/Release/net6.0/refint/AbsorbentSoil.dll b/AbsorbentSoil/obj/Release/net6.0/refint/AbsorbentSoil.dll index d279ecee844fac2ae536f966b53250e223881b1f..8d7cb45d2dc4dfc25d8d843addffb10eb909ede0 100644 GIT binary patch delta 1834 zcmZXVU1%It6vxk*k9#MZWb(0Q^Ien1XhT}qO?GEDf;6##7#c~^57JQbu$$eqt08SQ z23jqf3Y8YccAZ$#hxSElsTP{J5s^S2dG&UD{&-{})tWutW?`BojWt%D0K;kl+r^F zWA?lKliRO+zjWmIiM{Wo%Cz56fx9*`x87X^fOJOC9$@}0Q3If9=j2QAiG42vjm|Ov zjgC#bcS1MCr6TUx-P=vaUG_YSC4SS8VgLrusJC?nA4+XizSc`XVbvb3wT} ztGi&oGE0@ODmPUIN%dKZ|5Sv|NS&8DBJ+bXZr7_hgPV%bhq%LFa0|s;SJgF(=6H^; zk-8P3Z&K`n9-P%pxXfSVCVar}tL1P(TLcq!=^tw*e53tkFZ23@s6PtV!2>%;8N}!k z#ZoQ`0i+*bDSU~y*q}pOmD{=?MS9J&v_XnBn5N1rI=~31paT+FxT=MTnDnmdtD5i% z;23#R8c~AKCGoUCqC#2PnxP^|g&8s>Mc2``43$W4o00C4rq^kD(bFTn_cPPifZA9J zOSHTZuzxYU{3~_`o&=9wU+{d-GTl;yfljgdH>#HP7cid=tRr!E(v@f60e{8umSCSf zUr?J6y;P^dFcO%fd;BfKImkuTz74lVF&d2~|$0V^EO#C*EW^Xc<-^xZlNvz5FqeF^q6dYq;~GOHZ= zjD3RD4xJ;aaY$TttwW3aSFCerf&Y<5;Ap7_HUIAk!r_)*R@%I(p@mc%eGRvyou zU_^Ljj^ybLj^}2NFh|V{AxFp9My1iIJjGgbB)e?PdKnV$(h3Jq60ldiQ!qzBj}OHP z+)#lYlnwOiq%+z4IjT`%jvhrVY44fK*Wz@XG&sbQ&csfVNMIOg+5!d|a$)N4fpv7i;SLjIV~3i?B- zCu(QZ@)i0RWyb>%cP1M>csKRahAo)%YALhfAEiG6ZQz3_L`d5qAS02pAP8fW^OF+> mFa3NlN@`I>0Al2d3JXG15hG8KA42v})4XDI$WL6-%l`$ixLLsf delta 1827 zcmZXVYfM~46vxlGkC|nG%hHwC0+mOwB9O4K?4ylVl156z0BtHXhLB}hWLpAN5n~&& z!~~;>FEXUYhBV=WX{mmItXh($Hr9k_HSopSny6_?qBS-#;1^4p=$YBwyGxwS{^$J8 zIdkUDy?5r$bj@^q@RqTD&ZX+P{fH<1f_UzCh+S50?TUjR=Sy=4%>t0Ms6xd^tA$;wwPyP$7Up zeeJQMaF}eDv^$P<9-_WqtgvW&%RsUL7(A)pGZ|b`+MwMu3&6poe@c0#Q8%5iM_(Wv z)fOo8jCMgJ+Ne40So%gFANKQG#-fWcx7DXPs0r;h9jg5qI8LJDHo&w z(htxD-{W1@YtupPo+(LFu{v5>FWCmnP-cQg4}cCPAdw$8jW7{YvFqlhA!9j;at)$5 zp;O_YM50_p9VyCFv@b=Lq7Qe`REi3c;~dE|$zq59rk{Sfk|)fcVYP z%zt3N!(-qPl{wFKY|#Bc=y_VM{>{=2^8{wo#4eI|Cz*K`cKEAyYz%*tE*O&7ybB+gN1BEX<~Lo=t1J==Ls(vY)f6^u*a+EVhdtpkS#@SJ~%SX44{( z$0m8%dD59lkDgUCSvjeVbe5&(N@iBg(1Dcg+HDs*#ByHggiQHH z&w&jSp^%h88L1QMl^r5=K|84jI!UXbSLt!3VWlypFDZRp>D#1rFh|PZBc&^(4e%3e zB)s|MSmrU?=t%hoLZm17LDD8BJvT(u>cvfQ*{UmAP^XjJotZW*wk&tiQ?yih)Mi=` zLW#11TEjCI9-ka+A0CcP#-^g}r%sK0#OJ+2-?VQC99d(N8TYAh9LER@=0zX d@{zZdGDgS_)4wg1=M#OkD_UMiecR@m`F|ILQq=$e