From 48fa028086a09a29924c2a76b9e82d688598ac8c Mon Sep 17 00:00:00 2001 From: Fr0zka Date: Sat, 10 Oct 2026 20:53:03 +0200 Subject: [PATCH] wip(assembler): M3 round 3 -- separated islands + Unreal island route (owner build 18:46) Islands read as separate (91.89% open sky at mid-height), underside cavity closed, rim teeth were capture shading. Island manifest import + BuildHost proof passed on the pre-cache tree; M1 SurfaceWorld and M2 V1/V2 gates passed. Known open: final XY-column cache compiled in the owner build but is unverified; island LOD0 p95 ~155 ms misses the 133 ms sprint deadline (legacy ~43 ms); the island manifest only fits the BuildHost fixture layout (owner's world: Core init fails, empty world) -> round 4 builds plans inside Unreal. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01MmSoF64BbRFmk9C3p1VsBJ --- .../Private/VoxelContentManager.cpp | 238 ++- .../Private/VoxelForgeCoreAdapter.cpp | 50 +- Source/VoxelForge/Private/VoxelSettings.cpp | 6 +- Source/VoxelForge/Private/VoxelWorld.cpp | 9 +- .../Public/VoxelAtmosphereManager.h | 3 + .../VoxelForge/Public/VoxelContentManager.h | 15 + Source/VoxelForge/Public/VoxelSettings.h | 8 +- Source/VoxelForge/Public/VoxelStrateTypes.h | 6 +- .../Private/VoxelForgeExploreCommandlet.cpp | 1304 ++++++++++++++++- .../include/VoxelForgeCore/VoxelForgeCore.h | 53 +- Standalone/Core/src/FloatingIslandsInternal.h | 261 +++- Standalone/Core/src/ShapeWorldInternal.h | 164 ++- Standalone/Core/src/WorldAssemblerInternal.h | 154 +- Standalone/DESIGN_WORLD_ASSEMBLER.md | 51 +- .../gpu_field_port/LUNA_DIALOGUE.md | 5 + .../Round3/BuildFloatingIslandsAudit.ps1 | 118 ++ .../Round3/FloatingIslandsAudit.cpp | 923 ++++++++++++ .../WorldAssemblerM3/Round3/REPORT.md | 83 ++ .../Round3/RenderFloatingIslandRound3.py | 306 ++++ .../Round3/results/audit.json | 30 + .../Round3/results/captures/contact_sheet.jpg | Bin 0 -> 69308 bytes .../results/captures/edge_cliff_matched.jpg | Bin 0 -> 17251 bytes .../results/captures/overview_matched.jpg | Bin 0 -> 14546 bytes .../results/captures/player_eye_matched.jpg | Bin 0 -> 13077 bytes .../Round3/results/captures/route_matched.jpg | Bin 0 -> 16486 bytes .../results/captures/underside_matched.jpg | Bin 0 -> 18258 bytes .../Round3/results/cluster_legacy.vfmesh | Bin 0 -> 72584 bytes .../Round3/results/cluster_native.vfmesh | Bin 0 -> 398984 bytes .../Round3/results/detail_legacy.vfmesh | Bin 0 -> 197960 bytes .../Round3/results/detail_native.vfmesh | Bin 0 -> 1253864 bytes .../results/floating_island_manifest.json | 1 + .../Round3/results/run_ledger.txt | 12 + .../world_assembly_floating_islands.json | 1 + Standalone/Source/OwnerWorldLoader.h | 11 + .../VoxelForge/Public/VoxelStrateTypes.h | 6 +- Tools/BuildVoxelForgeCoreHost.ps1 | 4 +- Tools/TestVoxelForgeCoreWorldHost.ps1 | 73 +- 37 files changed, 3788 insertions(+), 107 deletions(-) create mode 100644 Standalone/Research/WorldAssemblerM3/Round3/BuildFloatingIslandsAudit.ps1 create mode 100644 Standalone/Research/WorldAssemblerM3/Round3/FloatingIslandsAudit.cpp create mode 100644 Standalone/Research/WorldAssemblerM3/Round3/REPORT.md create mode 100644 Standalone/Research/WorldAssemblerM3/Round3/RenderFloatingIslandRound3.py create mode 100644 Standalone/Research/WorldAssemblerM3/Round3/results/audit.json create mode 100644 Standalone/Research/WorldAssemblerM3/Round3/results/captures/contact_sheet.jpg create mode 100644 Standalone/Research/WorldAssemblerM3/Round3/results/captures/edge_cliff_matched.jpg create mode 100644 Standalone/Research/WorldAssemblerM3/Round3/results/captures/overview_matched.jpg create mode 100644 Standalone/Research/WorldAssemblerM3/Round3/results/captures/player_eye_matched.jpg create mode 100644 Standalone/Research/WorldAssemblerM3/Round3/results/captures/route_matched.jpg create mode 100644 Standalone/Research/WorldAssemblerM3/Round3/results/captures/underside_matched.jpg create mode 100644 Standalone/Research/WorldAssemblerM3/Round3/results/cluster_legacy.vfmesh create mode 100644 Standalone/Research/WorldAssemblerM3/Round3/results/cluster_native.vfmesh create mode 100644 Standalone/Research/WorldAssemblerM3/Round3/results/detail_legacy.vfmesh create mode 100644 Standalone/Research/WorldAssemblerM3/Round3/results/detail_native.vfmesh create mode 100644 Standalone/Research/WorldAssemblerM3/Round3/results/floating_island_manifest.json create mode 100644 Standalone/Research/WorldAssemblerM3/Round3/results/run_ledger.txt create mode 100644 Standalone/Research/WorldAssemblerM3/Round3/results/world_assembly_floating_islands.json diff --git a/Source/VoxelForge/Private/VoxelContentManager.cpp b/Source/VoxelForge/Private/VoxelContentManager.cpp index 672db11..8d2600f 100644 --- a/Source/VoxelForge/Private/VoxelContentManager.cpp +++ b/Source/VoxelForge/Private/VoxelContentManager.cpp @@ -128,6 +128,110 @@ struct FCoreSurfaceSnapshot } }; +struct FCoreFloatingIslandFieldSnapshot +{ + VoxelForgeCore::FloatingIslandRecipeV1 Recipe; + VoxelForgeCore::FloatingIslandPlanV1 Plan; + TUniquePtr Field; +}; + +struct FCoreFloatingIslandSnapshot +{ + TMap> Fields; + + const FCoreFloatingIslandFieldSnapshot* FindField(int32 StrateIndex) const + { + const auto* Found = Fields.Find(StrateIndex); + return Found != nullptr && Found->IsValid() ? Found->Get() : nullptr; + } + + bool GetDensity(int32 StrateIndex, float LegacyVoxelX, float LegacyVoxelY, + float LegacyVoxelZ, float& OutDensity) const + { + OutDensity = 1.0f; + const FCoreFloatingIslandFieldSnapshot* Entry = FindField(StrateIndex); + if (Entry == nullptr || !Entry->Field.IsValid() + || !FMath::IsFinite(LegacyVoxelX) || !FMath::IsFinite(LegacyVoxelY) + || !FMath::IsFinite(LegacyVoxelZ)) + { + return false; + } + // A legacy voxel is 128 subvoxels at 12.5 cm; Core field distances are converted back to legacy units. + // Un voxel historique vaut 128 sous-voxels a 12,5 cm ; la distance Core revient en unites historiques. + constexpr double LegacyVoxelSubvoxels = 128.0; + constexpr double MaximumInput = static_cast(MAX_int64) / LegacyVoxelSubvoxels; + if (FMath::Abs(static_cast(LegacyVoxelX)) > MaximumInput + || FMath::Abs(static_cast(LegacyVoxelY)) > MaximumInput + || FMath::Abs(static_cast(LegacyVoxelZ)) > MaximumInput) + { + return false; + } + const int64 Density = Entry->Field->densitySubvoxels( + static_cast(std::llround(static_cast(LegacyVoxelX) * LegacyVoxelSubvoxels)), + static_cast(std::llround(static_cast(LegacyVoxelY) * LegacyVoxelSubvoxels)), + static_cast(std::llround(static_cast(LegacyVoxelZ) * LegacyVoxelSubvoxels))); + OutDensity = static_cast(static_cast(Density) / LegacyVoxelSubvoxels); + return FMath::IsFinite(OutDensity); + } + + bool GetTopAnchor(int32 StrateIndex, const FVector2D& LocalXYCm, + float& OutGroundLocalZCm) const + { + OutGroundLocalZCm = 0.0f; + const FCoreFloatingIslandFieldSnapshot* Entry = FindField(StrateIndex); + if (Entry == nullptr || !Entry->Field.IsValid() + || Entry->Plan.islands.empty() + || !FMath::IsFinite(LocalXYCm.X) || !FMath::IsFinite(LocalXYCm.Y)) + { + return false; + } + constexpr double SubvoxelsPerCoreVoxel = 256.0; + constexpr double CentimetersPerCoreVoxel = 25.0; + const double XSubvoxels = static_cast(LocalXYCm.X) + * SubvoxelsPerCoreVoxel / CentimetersPerCoreVoxel; + const double YSubvoxels = static_cast(LocalXYCm.Y) + * SubvoxelsPerCoreVoxel / CentimetersPerCoreVoxel; + constexpr double MaximumInput = static_cast(MAX_int64) - 1024.0; + if (FMath::Abs(XSubvoxels) > MaximumInput || FMath::Abs(YSubvoxels) > MaximumInput) + { + return false; + } + const int64 X = static_cast(std::llround(XSubvoxels)); + const int64 Y = static_cast(std::llround(YSubvoxels)); + int64 SearchTop = Entry->Plan.islands.front().topZSubvoxels; + int64 SearchBottom = Entry->Plan.islands.front().bottomZSubvoxels; + for (const auto& Island : Entry->Plan.islands) + { + SearchTop = FMath::Max(SearchTop, Island.topZSubvoxels); + SearchBottom = FMath::Min(SearchBottom, Island.bottomZSubvoxels); + } + SearchTop += 4 * 256; + SearchBottom -= 4 * 256; + constexpr int64 ScanStepSubvoxels = 128; + int64 PreviousZ = SearchTop; + int64 PreviousDensity = Entry->Field->densitySubvoxels(X, Y, PreviousZ); + if (PreviousDensity < 0) return false; + for (int64 Z = SearchTop - ScanStepSubvoxels; Z >= SearchBottom; Z -= ScanStepSubvoxels) + { + const int64 Density = Entry->Field->densitySubvoxels(X, Y, Z); + if (PreviousDensity >= 0 && Density < 0) + { + const double Denominator = static_cast(PreviousDensity - Density); + const double Alpha = Denominator > 0.0 + ? static_cast(PreviousDensity) / Denominator : 0.5; + const double SurfaceSubvoxels = static_cast(PreviousZ) + + static_cast(Z - PreviousZ) * Alpha; + OutGroundLocalZCm = static_cast(SurfaceSubvoxels + * CentimetersPerCoreVoxel / SubvoxelsPerCoreVoxel); + return FMath::IsFinite(OutGroundLocalZCm); + } + PreviousZ = Z; + PreviousDensity = Density; + } + return false; + } +}; + // Global safety cap on spawned decoration ACTORS per cell (across all entries). // HISM instances are exempt — they're batched render data, capped per entry by MaxPerChunk. static constexpr int32 GMaxDecorationActorsPerCell = 400; @@ -174,6 +278,7 @@ void UVoxelContentManager::Initialize(AActor* InOwner, UVoxelStrateManager* InSt Settings = InSettings; Seed = InSeed; NativeSurfaceSnapshot.Reset(); + NativeFloatingIslandSnapshot.Reset(); if (Settings) { @@ -196,6 +301,33 @@ void UVoxelContentManager::Initialize(AActor* InOwner, UVoxelStrateManager* InSt Snapshot->Plans.Add(Plan.strateIndex, Plan); } NativeSurfaceSnapshot = Snapshot; + + if (!Manifest->floatingIslands.empty()) + { + TSharedPtr IslandSnapshot = + MakeShared(); + for (const auto& IslandPlan : Manifest->floatingIslands) + { + TSharedPtr Entry = + MakeShared(); + Entry->Recipe = IslandPlan.manifest.recipe; + Entry->Plan = IslandPlan.manifest.plan; + Entry->Field = MakeUnique( + Entry->Recipe, Entry->Plan); + if (!Entry->Field->isValid()) + { + UE_LOG(LogTemp, Warning, + TEXT("[VoxelContentManager] Core floating-island field rejected strate %d."), + IslandPlan.strateIndex); + continue; + } + IslandSnapshot->Fields.Add(IslandPlan.strateIndex, Entry); + } + if (!IslandSnapshot->Fields.IsEmpty()) + { + NativeFloatingIslandSnapshot = IslandSnapshot; + } + } } else { @@ -244,6 +376,66 @@ bool UVoxelContentManager::QueryNativeSurfaceAnchors( return true; } +bool UVoxelContentManager::QueryNativeFloatingIslandAnchor( + int32 StrateIndex, const FVector2D& LocalXYCm, float& OutGroundLocalZCm) const +{ + OutGroundLocalZCm = 0.0f; + const AVoxelWorld* VoxelWorld = Cast(Owner.Get()); + if (VoxelWorld == nullptr || !VoxelWorld->bUseVoxelForgeCore + || !NativeFloatingIslandSnapshot.IsValid()) + { + return false; + } + return NativeFloatingIslandSnapshot->GetTopAnchor( + StrateIndex, LocalXYCm, OutGroundLocalZCm); +} + +bool UVoxelContentManager::QueryStrateWaterAnchor( + int32 StrateIndex, bool& bOutHasWater, float& OutWaterLocalZCm) const +{ + bOutHasWater = false; + OutWaterLocalZCm = -FLT_MAX; + const AVoxelWorld* VoxelWorld = Cast(Owner.Get()); + if (VoxelWorld == nullptr || StrateManager == nullptr) + { + return false; + } + + if (VoxelWorld->bUseVoxelForgeCore && NativeSurfaceSnapshot.IsValid()) + { + bool bHasPlan = false; + bool bEnabled = false; + float NativeWaterLocalZCm = -FLT_MAX; + if (NativeSurfaceSnapshot->GetWater( + StrateIndex, bHasPlan, bEnabled, NativeWaterLocalZCm) && bHasPlan) + { + bOutHasWater = bEnabled; + OutWaterLocalZCm = bEnabled ? NativeWaterLocalZCm : -FLT_MAX; + return true; + } + } + + for (const FStrateSlot& Slot : StrateManager->GetLayout()) + { + if (Slot.StrateIndex != StrateIndex) + { + continue; + } + const int32 MidChunkZ = Slot.BottomChunkZ + + (Slot.TopChunkZ - Slot.BottomChunkZ) / 2; + const float ManagerWaterVoxelZ = StrateManager->GetWaterLevelWorldZForChunk( + FIntVector(0, 0, MidChunkZ)); + if (ManagerWaterVoxelZ != -FLT_MAX) + { + bOutHasWater = true; + const float ManagerWaterLocalZCm = ManagerWaterVoxelZ * VOXEL_SIZE; + OutWaterLocalZCm = VoxelWorld->FromStrateManagerLocalZ(ManagerWaterLocalZCm); + } + return true; + } + return false; +} + void UVoxelContentManager::BeginDestroy() { // Backstop: stop any worker from touching us. EndPlay → NotifyShutdown should have already drained. @@ -395,6 +587,11 @@ void UVoxelContentManager::UpdateDecorations(const FVector& PlayerWorldPos) && CurrentCtx.bSurfaceWorld && CurrentCtx.NativeSurface.IsValid() && CurrentCtx.NativeSurface->FindPlan(StrateIndex) != nullptr; + CurrentCtx.NativeIslands = NativeFloatingIslandSnapshot; + CurrentCtx.bNativeFloatingIslands = VoxelWorld != nullptr && VoxelWorld->bUseVoxelForgeCore + && StrateManager->GetGeneratorTypeForChunk(RepChunk) == ECaveGeneratorType::FloatingIslands + && CurrentCtx.NativeIslands.IsValid() + && CurrentCtx.NativeIslands->FindField(StrateIndex) != nullptr; { bool bHasNativePlan = false; bool bNativeWaterEnabled = false; @@ -710,7 +907,17 @@ void UVoxelContentManager::BuildCellSpawns(const UVoxelGenerator* Gen, const FTr FChunkBiomeCache BiomeCache; const bool bHasBiomes = Ctx.BiomeCtx.IsValid(); - auto D = [&](float VX, float VY, float VZ) { return Gen->GetDensityAt(VX, VY, VZ); }; + auto D = [&](float VX, float VY, float VZ) + { + if (Ctx.bNativeFloatingIslands && Ctx.NativeIslands.IsValid()) + { + float NativeDensity = 1.0f; + if (Ctx.NativeIslands->GetDensity(Ctx.StrateIndex, VX, VY, VZ, NativeDensity)) + return NativeDensity; + return 1.0f; + } + return Gen->GetDensityAt(VX, VY, VZ); + }; auto GetSurface = [&](float VX, float VY, float& OutGround, float& OutCap) { if (Ctx.bNativeSurface && Ctx.NativeSurface.IsValid()) @@ -1338,6 +1545,21 @@ bool UVoxelContentManager::FindLandmarkColumn(const UVoxelGenerator* Gen, const { if (!Gen) return false; + const auto Density = [&](float SampleX, float SampleY, float SampleZ) + { + if (Ctx.bNativeFloatingIslands && Ctx.NativeIslands.IsValid()) + { + float NativeDensity = 1.0f; + if (Ctx.NativeIslands->GetDensity( + Ctx.StrateIndex, SampleX, SampleY, SampleZ, NativeDensity)) + { + return NativeDensity; + } + return 1.0f; + } + return Gen->GetDensityAt(SampleX, SampleY, SampleZ); + }; + if (Ctx.bSurfaceWorld) { float hC, cC; @@ -1368,7 +1590,7 @@ bool UVoxelContentManager::FindLandmarkColumn(const UVoxelGenerator* Gen, const } // Floor / Wall / Any → the terrain top. if (!(hC >= Ctx.BottomVoxelZ && hC <= Ctx.TopVoxelZ)) return false; - if (!Ctx.bNativeSurface && Gen->GetDensityAt(VX, VY, hC) > 0.5f) return false; + if (!Ctx.bNativeSurface && Density(VX, VY, hC) > 0.5f) return false; float d, hXp, hXm, hYp, hYm; GetSurface(VX + 1.0f, VY, hXp, d); GetSurface(VX - 1.0f, VY, hXm, d); @@ -1384,19 +1606,19 @@ bool UVoxelContentManager::FindLandmarkColumn(const UVoxelGenerator* Gen, const // Bounded by ColDepth like the decoration march (this runs SYNCHRONOUSLY on the game thread): // once past open air, a solid run longer than ColDepth means bedrock down to the strate floor — // stop instead of paying GetDensityAt across the whole remaining band. - float PrevD = Gen->GetDensityAt(VX, VY, Ctx.TopVoxelZ); + float PrevD = Density(VX, VY, Ctx.TopVoxelZ); bool bSeenAir = (PrevD >= 0.0f); float SolidRun = 0.0f; for (float Z = Ctx.TopVoxelZ - Step; Z >= Ctx.BottomVoxelZ; Z -= Step) { - const float Dz = Gen->GetDensityAt(VX, VY, Z); + const float Dz = Density(VX, VY, Z); if ((PrevD >= 0.0f) != (Dz >= 0.0f)) // air ↔ solid crossing { float ZLo = Z, ZHi = Z + Step, DHi = PrevD, DLo = Dz; for (int32 It = 0; It < 4; ++It) { const float ZM = 0.5f * (ZLo + ZHi); - const float DM = Gen->GetDensityAt(VX, VY, ZM); + const float DM = Density(VX, VY, ZM); if ((DM >= 0.0f) == (DHi >= 0.0f)) { ZHi = ZM; DHi = DM; } else { ZLo = ZM; DLo = DM; } } @@ -1405,9 +1627,9 @@ bool UVoxelContentManager::FindLandmarkColumn(const UVoxelGenerator* Gen, const const float ZC = ZLo + (ZHi - ZLo) * T; const FVector LocalGrad( - Gen->GetDensityAt(VX + 1.0f, VY, ZC) - Gen->GetDensityAt(VX - 1.0f, VY, ZC), - Gen->GetDensityAt(VX, VY + 1.0f, ZC) - Gen->GetDensityAt(VX, VY - 1.0f, ZC), - Gen->GetDensityAt(VX, VY, ZC + 1.0f) - Gen->GetDensityAt(VX, VY, ZC - 1.0f)); + Density(VX + 1.0f, VY, ZC) - Density(VX - 1.0f, VY, ZC), + Density(VX, VY + 1.0f, ZC) - Density(VX, VY - 1.0f, ZC), + Density(VX, VY, ZC + 1.0f) - Density(VX, VY, ZC - 1.0f)); FVector N = OwnerXf.TransformVectorNoScale(LocalGrad).GetSafeNormal(); if (N.IsNearlyZero()) N = FVector::UpVector; diff --git a/Source/VoxelForge/Private/VoxelForgeCoreAdapter.cpp b/Source/VoxelForge/Private/VoxelForgeCoreAdapter.cpp index 391d809..08e1cf7 100644 --- a/Source/VoxelForge/Private/VoxelForgeCoreAdapter.cpp +++ b/Source/VoxelForge/Private/VoxelForgeCoreAdapter.cpp @@ -18,6 +18,7 @@ namespace { using FCoreJsonWriter = TJsonWriter>; constexpr double CoreVoxelSizeCm = 25.0; +constexpr double OwnerVoxelSizeCm = 12.5; TSharedPtr SerializeCoreStruct( const UStruct* Type, const void* Data, TSet& ActiveObjects, @@ -309,20 +310,32 @@ bool AttachValidatedWorldAssembly(const UVoxelSettings* Settings, } int32 SurfaceSlotCount = 0; + int32 FloatingIslandSlotCount = 0; for (const FStrateSlot& Slot : StrateManager->GetLayout()) { - if (Slot.Definition != nullptr - && Slot.Definition->GeneratorType == ECaveGeneratorType::SurfaceWorld) + if (Slot.Definition == nullptr) + { + continue; + } + const ECaveGeneratorType Archetype = StrateManager->GetGeneratorTypeForChunk( + FIntVector(0, 0, Slot.TopChunkZ)); + if (Archetype == ECaveGeneratorType::SurfaceWorld) { ++SurfaceSlotCount; } + else if (Archetype == ECaveGeneratorType::FloatingIslands) + { + ++FloatingIslandSlotCount; + } } - if (SurfaceSlotCount == 0 - || Manifest->plan.strates.size() != static_cast(SurfaceSlotCount)) + if (Manifest->plan.strates.size() != static_cast(SurfaceSlotCount) + || Manifest->floatingIslands.size() != static_cast(FloatingIslandSlotCount)) { OutError = FString::Printf( - TEXT("Core world assembly has %d plans for %d resolved SurfaceWorld strates."), - static_cast(Manifest->plan.strates.size()), SurfaceSlotCount); + TEXT("Core world assembly has %d SurfaceWorld and %d floating-island plans for %d resolved SurfaceWorld and %d FloatingIslands strates."), + static_cast(Manifest->plan.strates.size()), + static_cast(Manifest->floatingIslands.size()), + SurfaceSlotCount, FloatingIslandSlotCount); return false; } @@ -332,7 +345,8 @@ bool AttachValidatedWorldAssembly(const UVoxelSettings* Settings, const FStrateSlot* MatchingSlot = StrateManager->GetLayout().FindByPredicate( [&Plan](const FStrateSlot& Slot) { return Slot.StrateIndex == Plan.strateIndex; }); if (MatchingSlot == nullptr || MatchingSlot->Definition == nullptr - || MatchingSlot->Definition->GeneratorType != ECaveGeneratorType::SurfaceWorld + || StrateManager->GetGeneratorTypeForChunk(FIntVector(0, 0, Plan.topChunkZ)) + != ECaveGeneratorType::SurfaceWorld || MatchingSlot->TopChunkZ != Plan.topChunkZ || MatchingSlot->BottomChunkZ != Plan.bottomChunkZ || MatchedStrateIndices.Contains(Plan.strateIndex)) @@ -345,6 +359,25 @@ bool AttachValidatedWorldAssembly(const UVoxelSettings* Settings, MatchedStrateIndices.Add(Plan.strateIndex); } + for (const VoxelForgeCore::WorldAssemblyFloatingIslandPlanV1& Plan : Manifest->floatingIslands) + { + const FStrateSlot* MatchingSlot = StrateManager->GetLayout().FindByPredicate( + [&Plan](const FStrateSlot& Slot) { return Slot.StrateIndex == Plan.strateIndex; }); + if (MatchingSlot == nullptr || MatchingSlot->Definition == nullptr + || StrateManager->GetGeneratorTypeForChunk(FIntVector(0, 0, Plan.topChunkZ)) + != ECaveGeneratorType::FloatingIslands + || MatchingSlot->TopChunkZ != Plan.topChunkZ + || MatchingSlot->BottomChunkZ != Plan.bottomChunkZ + || MatchedStrateIndices.Contains(Plan.strateIndex)) + { + OutError = FString::Printf( + TEXT("Core floating-island plan for strate %d does not exactly match a unique resolved FloatingIslands slot."), + Plan.strateIndex); + return false; + } + MatchedStrateIndices.Add(Plan.strateIndex); + } + const std::string CanonicalJson = Manifest->ToJson(); if (CanonicalJson.empty()) { @@ -403,6 +436,9 @@ bool VoxelForgeCoreAdapter::SerializeResolvedWorld( Root->SetNumberField(TEXT("schema_version"), 1); Root->SetStringField(TEXT("source"), TEXT("VoxelForge Runtime Core snapshot")); Root->SetNumberField(TEXT("voxel_size_cm"), CoreVoxelSizeCm); + Root->SetNumberField(TEXT("owner_voxel_size_cm"), OwnerVoxelSizeCm); + Root->SetNumberField(TEXT("core_voxel_size_cm"), CoreVoxelSizeCm); + Root->SetNumberField(TEXT("owner_to_core_length_scale"), OwnerVoxelSizeCm / CoreVoxelSizeCm); Root->SetNumberField(TEXT("seed"), Seed); Root->SetBoolField(TEXT("open_surface_entry"), Settings->bOpenSurfaceEntry); Root->SetNumberField(TEXT("origin_spine_radius"), OriginSpineRadius); diff --git a/Source/VoxelForge/Private/VoxelSettings.cpp b/Source/VoxelForge/Private/VoxelSettings.cpp index 1c85bcd..b6d8689 100644 --- a/Source/VoxelForge/Private/VoxelSettings.cpp +++ b/Source/VoxelForge/Private/VoxelSettings.cpp @@ -96,8 +96,10 @@ bool UVoxelSettings::SetWorldAssemblyManifestJson(const FString& InJson, FString WorldAssemblyManifestHash = FString::Printf(TEXT("%016llx"), static_cast(Manifest->contentHash)); MarkPackageDirty(); - OutReport = FString::Printf(TEXT("imported native world assembly %s (%d stratum plans)"), - *WorldAssemblyManifestHash, static_cast(Manifest->plan.strates.size())); + OutReport = FString::Printf( + TEXT("imported native world assembly %s (%d SurfaceWorld plans, %d floating-island plans)"), + *WorldAssemblyManifestHash, static_cast(Manifest->plan.strates.size()), + static_cast(Manifest->floatingIslands.size())); return true; } diff --git a/Source/VoxelForge/Private/VoxelWorld.cpp b/Source/VoxelForge/Private/VoxelWorld.cpp index d6daa39..5e9cbd0 100644 --- a/Source/VoxelForge/Private/VoxelWorld.cpp +++ b/Source/VoxelForge/Private/VoxelWorld.cpp @@ -7264,11 +7264,12 @@ bool AVoxelWorld::InitializeVoxelForgeCoreWorld() if (const VoxelForgeCore::WorldAssemblyManifest* Assembly = Snapshot->worldAssembly()) { UE_LOG(LogTemp, Display, - TEXT("[VoxelForgeCoreRuntime] world_assembly_hash=%016llx recipe_hash=%016llx plan_hash=%016llx strates=%d"), + TEXT("[VoxelForgeCoreRuntime] world_assembly_hash=%016llx recipe_hash=%016llx plan_hash=%016llx surface_strates=%d island_strates=%d"), static_cast(Assembly->contentHash), static_cast(Assembly->recipe.contentHash), static_cast(Assembly->plan.contentHash), - static_cast(Assembly->plan.strates.size())); + static_cast(Assembly->plan.strates.size()), + static_cast(Assembly->floatingIslands.size())); } TSharedPtr State = @@ -13285,8 +13286,8 @@ int32 AVoxelWorld::GetCurrentSeason() const FString AVoxelWorld::GetCurrentSeasonContentHash() const { const FString SeasonHash = StrateManager ? StrateManager->GetSeasonContentHash() : FString(); - // Only active Core generation includes the optional native surface manifest in world identity. - // Seul le Core actif inclut le manifeste de surface natif dans l'identite du monde. + // Only active Core generation includes the optional native world assembly in world identity. + // Seul le Core actif inclut l'assemblage natif facultatif dans l'identite du monde. if (!Settings || !bUseVoxelForgeCore) { return SeasonHash; diff --git a/Source/VoxelForge/Public/VoxelAtmosphereManager.h b/Source/VoxelForge/Public/VoxelAtmosphereManager.h index 97914aa..5653218 100644 --- a/Source/VoxelForge/Public/VoxelAtmosphereManager.h +++ b/Source/VoxelForge/Public/VoxelAtmosphereManager.h @@ -34,6 +34,9 @@ public: * dominant-biome change. */ void UpdateForPlayer(const FVector& PlayerWorldPos); + /** Read the player's current atmosphere strate for isolated Core validation. / Lit la strate d'atmosphere active pour le test Core isole. */ + int32 GetCurrentStrateIndex() const { return CurrentStrateIndex; } + /** Tear down spawned layer actors + reset (season reset / shutdown). */ void Reset(); diff --git a/Source/VoxelForge/Public/VoxelContentManager.h b/Source/VoxelForge/Public/VoxelContentManager.h index b07d2ac..9899de3 100644 --- a/Source/VoxelForge/Public/VoxelContentManager.h +++ b/Source/VoxelForge/Public/VoxelContentManager.h @@ -43,6 +43,8 @@ #include "CoreMinimal.h" #include "Containers/Queue.h" + +struct FCoreFloatingIslandSnapshot; #include "VoxelTypes.h" #include "VoxelStrateTypes.h" // FStrateDecoration (resolved per dominant biome) #include "VoxelBiomeTypes.h" // FBiomeContext (per-column biome resolve on the worker) @@ -103,6 +105,16 @@ public: float& OutGroundLocalZCm, bool& bOutHasWater, float& OutWaterLocalZCm) const; + /** Find the top air-to-rock crossing in a Core FloatingIslands plan for content placement. + * / Trouve le premier contact air-roche d'un plan Core FloatingIslands pour placer le contenu. */ + bool QueryNativeFloatingIslandAnchor(int32 StrateIndex, const FVector2D& LocalXYCm, + float& OutGroundLocalZCm) const; + + /** Read the effective water datum used by this strate's content plane. + * / Lit le niveau d'eau effectif utilise par le plan de contenu de cette strate. */ + bool QueryStrateWaterAnchor(int32 StrateIndex, bool& bOutHasWater, + float& OutWaterLocalZCm) const; + //--- DECORATIONS (distance-based world grid, async march) ---------------- /** Stream decoration cells around the player: recompute the desired set on cell/strate change, * launch async march tasks (capped), and apply finished results budgeted. Call every Tick. */ @@ -254,6 +266,8 @@ private: bool bSurfaceWorld = false; // heightfield archetype → use the GetSurfaceHeightAt oracle bool bNativeSurface = false; // Core manifest is the height oracle and water datum / Le manifeste Core definit le relief et le niveau d'eau. TSharedPtr NativeSurface; + bool bNativeFloatingIslands = false; // islands use the Core volume for column snaps / les iles utilisent le volume Core pour les ancres. + TSharedPtr NativeIslands; // Strate biome field (PODs only → worker-safe). Empty ⇒ biomes disabled for this strate. The // worker resolves the dominant biome PER COLUMN (ResolveBiomeSampleAt) so decoration borders @@ -349,6 +363,7 @@ private: // Immutable Core manifest snapshot captured by decoration workers; workers never touch UObjects. // Instantane immuable du manifeste Core pour les workers de decoration; aucun worker ne touche aux UObjects. TSharedPtr NativeSurfaceSnapshot; + TSharedPtr NativeFloatingIslandSnapshot; int32 Seed = 0; diff --git a/Source/VoxelForge/Public/VoxelSettings.h b/Source/VoxelForge/Public/VoxelSettings.h index 1e9e0b2..3fd7650 100644 --- a/Source/VoxelForge/Public/VoxelSettings.h +++ b/Source/VoxelForge/Public/VoxelSettings.h @@ -373,10 +373,10 @@ public: UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Voxel|Strates") TSoftObjectPtr Season; - // Optional reviewed Core surface plan. The canonical JSON stays in this cooked settings asset; - // its Core FNV digest is included in GetCurrentSeasonContentHash when present. - // Plan de surface Core facultatif; le JSON canonique est cuit avec les reglages et son hash - // Core est inclus dans GetCurrentSeasonContentHash lorsqu'il est present. + // Optional reviewed Core SurfaceWorld and FloatingIslands plans. Canonical JSON stays in this + // cooked settings asset; its Core FNV digest enters the season hash only while Core is enabled. + // Plans Core SurfaceWorld et FloatingIslands facultatifs. Le JSON canonique est cuit ici ; + // son hash FNV Core entre dans le hash de saison uniquement lorsque Core est actif. UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Voxel|Strates", meta = (MultiLine = true)) FString WorldAssemblyManifestJson; diff --git a/Source/VoxelForge/Public/VoxelStrateTypes.h b/Source/VoxelForge/Public/VoxelStrateTypes.h index 5578cf4..a7464f3 100644 --- a/Source/VoxelForge/Public/VoxelStrateTypes.h +++ b/Source/VoxelForge/Public/VoxelStrateTypes.h @@ -1741,7 +1741,8 @@ struct VOXELFORGE_API FFloatingIslandParams UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Islands", meta = (ClampMin = "0.0", ClampMax = "1.0")) float IslandDensity = 0.5f; - // Island horizontal radius range (voxels): 12-24 m landmass diameters by default. + // Owner scale: 24–48 legacy voxels = 3–6 m radius at 12.5 cm/voxel (6–12 m diameter). + // Echelle proprietaire : 24–48 voxels legacy = rayon de 3–6 m a 12,5 cm/voxel (diametre 6–12 m). UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Islands", meta = (ClampMin = "2.0")) float IslandMinRadius = 24.0f; @@ -1765,7 +1766,8 @@ struct VOXELFORGE_API FFloatingIslandParams UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Islands", meta = (ClampMin = "0.0")) float SurfaceRoughness = 3.0f; - // SmoothMin blend radius for merging overlapping islands (voxels): 1.5 m by default. + // SmoothMin blend radius: 6 legacy voxels = 0.75 m at the owner's 12.5 cm scale. + // Rayon de fusion SmoothMin : 6 voxels legacy = 0,75 m a l'echelle proprietaire de 12,5 cm. UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Islands", meta = (ClampMin = "0.0")) float SDFBlendRadius = 6.0f; diff --git a/Source/VoxelForgeEditor/Private/VoxelForgeExploreCommandlet.cpp b/Source/VoxelForgeEditor/Private/VoxelForgeExploreCommandlet.cpp index 8e6ff3f..de70838 100644 --- a/Source/VoxelForgeEditor/Private/VoxelForgeExploreCommandlet.cpp +++ b/Source/VoxelForgeEditor/Private/VoxelForgeExploreCommandlet.cpp @@ -11,7 +11,10 @@ #include "Engine/Blueprint.h" #include "Containers/StringConv.h" #include "Components/SceneComponent.h" +#include "Components/HierarchicalInstancedStaticMeshComponent.h" #include "Engine/Engine.h" +#include "Engine/Player.h" +#include "Engine/StaticMesh.h" #include "Engine/GameInstance.h" #include "Engine/World.h" #include "GameFramework/Character.h" @@ -59,6 +62,7 @@ #include "VoxelNoise.h" #include "VoxelPassageGeometry.h" #include "VoxelSettings.h" +#include "VoxelAtmosphereManager.h" #include "VoxelSeasonAsset.h" #include "VoxelStackSampler.h" #include "VoxelStrateDefinition.h" @@ -78,6 +82,7 @@ #include #include #include +#include #include #include #include @@ -798,6 +803,7 @@ struct FExploreArguments bool bCoreHybridFixturePlacement = false; bool bCoreHybridCliffOnly = false; bool bCoreHybridFixturesOnly = false; + bool bCoreFloatingIslandTest = false; bool bRender = true; bool bWalk = true; bool bExport = true; @@ -910,6 +916,9 @@ bool ParseArguments(const FString& Params, FExploreArguments& OutArguments, FStr int32 CoreWorldTest = 0; FParse::Value(*Params, TEXT("coreworldtest="), CoreWorldTest); OutArguments.bCoreWorldTest = CoreWorldTest != 0; + int32 CoreFloatingIslandTest = 0; + FParse::Value(*Params, TEXT("coreislandtest="), CoreFloatingIslandTest); + OutArguments.bCoreFloatingIslandTest = CoreFloatingIslandTest != 0; int32 CoreHybridMesher = 0; FParse::Value(*Params, TEXT("corehybridmesher="), CoreHybridMesher); if (CoreHybridMesher < 0 || CoreHybridMesher > 2) @@ -1465,7 +1474,8 @@ bool ParseArguments(const FString& Params, FExploreArguments& OutArguments, FStr return false; } if ((OutArguments.bCoreHybridMesher || OutArguments.bCoreHybridFixturePlacement - || OutArguments.bCoreHybridCliffOnly || OutArguments.bCoreHybridFixturesOnly) + || OutArguments.bCoreHybridCliffOnly || OutArguments.bCoreHybridFixturesOnly + || OutArguments.bCoreFloatingIslandTest) && !OutArguments.bCoreWorldTest) { OutError = TEXT("Core hybrid tests require coreworldtest."); @@ -1492,6 +1502,14 @@ bool ParseArguments(const FString& Params, FExploreArguments& OutArguments, FStr OutError = TEXT("corehybridfixturesonly cannot be combined with the other focused hybrid modes."); return false; } + if (OutArguments.bCoreFloatingIslandTest + && (OutArguments.bCoreHybridMesher || OutArguments.bCoreHybridFixturePlacement + || OutArguments.bCoreHybridCliffOnly || OutArguments.bCoreHybridFixturesOnly + || OutArguments.CoreWorldAssemblyManifestPath.IsEmpty())) + { + OutError = TEXT("coreislandtest requires coreworldassembly and cannot be combined with hybrid test modes."); + return false; + } if (!OutArguments.CoreWorldAssemblyManifestPath.IsEmpty() && !OutArguments.bCoreWorldTest) { OutError = TEXT("coreworldassembly is accepted only by coreworldtest."); @@ -14502,8 +14520,1273 @@ bool RunHybridPluginMesherFixtures(UVoxelGenerator* Generator, bool bIncludeV2, return true; } +bool RunCoreFloatingIslandActorIntegrationTest( + const FExploreArguments& Arguments, FString& OutError) +{ + UVoxelSettings* AuthoredSettings = LoadObject( + nullptr, *Arguments.SettingsReference); + if (AuthoredSettings == nullptr) + { + OutError = FString::Printf(TEXT("Could not load Core island test settings '%s'."), + *Arguments.SettingsReference); + return false; + } + float StagedWalkSpeedCmPerSecond = 0.0f; + float StagedSprintSpeedCmPerSecond = 0.0f; + if (!ReadStagedPlayerSpeeds( + StagedWalkSpeedCmPerSecond, StagedSprintSpeedCmPerSecond, OutError)) + { + return false; + } + + const FString ManifestPath = FPaths::ConvertRelativePathToFull( + Arguments.CoreWorldAssemblyManifestPath); + if (!IsUnderVoxelForgeSaved(ManifestPath)) + { + OutError = TEXT("Core island test manifest must be staged under the plugin Saved directory."); + return false; + } + FString ManifestJson; + if (!FFileHelper::LoadFileToString(ManifestJson, *ManifestPath)) + { + OutError = FString::Printf(TEXT("Could not read staged island manifest '%s'."), *ManifestPath); + return false; + } + FTCHARToUTF8 Utf8Manifest(*ManifestJson); + std::string CoreError; + const std::optional ParsedAssembly = + VoxelForgeCore::WorldAssemblyManifest::FromJson( + std::string_view(Utf8Manifest.Get(), static_cast(Utf8Manifest.Length())), + CoreError); + if (!ParsedAssembly || ParsedAssembly->floatingIslands.size() != 1u + || !ParsedAssembly->plan.strates.empty() + || ParsedAssembly->floatingIslands.front().strateIndex != 1) + { + OutError = FString::Printf(TEXT("Island manifest must contain one strate-1 island plan and no SurfaceWorld plans: %s"), + ParsedAssembly ? TEXT("manifest shape differs") : UTF8_TO_TCHAR(CoreError.c_str())); + return false; + } + int32 EffectiveSeed = AuthoredSettings->Seed; + if (const UVoxelSeasonAsset* AuthoredSeason = AuthoredSettings->Season.LoadSynchronous()) + { + EffectiveSeed = AuthoredSeason->GetSeasonSeed(); + } + if (ParsedAssembly->recipe.seed != static_cast(EffectiveSeed)) + { + OutError = FString::Printf( + TEXT("Island manifest seed %u does not match the BuildHost settings seed %d."), + ParsedAssembly->recipe.seed, EffectiveSeed); + return false; + } + + // Resolve the current season first so this transient island fixture inherits its fixed water, + // atmosphere and authored content values without editing the cooked settings or strate assets. + // Resoudre la saison avant le fixture pour conserver l'eau et l'ambiance sans modifier les assets. + TStrongObjectPtr SourceManager(NewObject( + GetTransientPackage(), NAME_None, RF_Transient)); + if (!SourceManager.IsValid() + || !SourceManager->Initialize(AuthoredSettings, EffectiveSeed)) + { + OutError = TEXT("Core island test could not resolve the BuildHost season layout."); + return false; + } + const auto FindSourceDefinition = [&](int32 StrateIndex) -> UVoxelStrateDefinition* + { + for (const FStrateSlot& Slot : SourceManager->GetLayout()) + { + if (Slot.StrateIndex == StrateIndex) return Slot.Definition; + } + for (const TSoftObjectPtr& SoftDefinition : AuthoredSettings->StratePool) + { + if (UVoxelStrateDefinition* Definition = SoftDefinition.LoadSynchronous()) return Definition; + } + for (const TPair>& Pair : AuthoredSettings->FixedStrates) + { + if (UVoxelStrateDefinition* Definition = Pair.Value.LoadSynchronous()) return Definition; + } + return nullptr; + }; + UVoxelStrateDefinition* SourceTop = FindSourceDefinition(0); + UVoxelStrateDefinition* SourceIsland = FindSourceDefinition(1); + if (SourceTop == nullptr || SourceIsland == nullptr) + { + OutError = TEXT("Core island test needs authored source definitions for strata 0 and 1."); + return false; + } + + TStrongObjectPtr TestSettings(DuplicateObject( + AuthoredSettings, GetTransientPackage(), NAME_None)); + if (!TestSettings.IsValid()) + { + OutError = TEXT("Could not duplicate transient Core island test settings."); + return false; + } + TestSettings->Season.Reset(); + TestSettings->Seed = EffectiveSeed; + TestSettings->TotalStrates = 2; + TestSettings->InterStrateGapChunks = 0; + TestSettings->bEnableDensityVolume = false; + TestSettings->DecorationRadiusChunks = 2; + TestSettings->DecorationNearRadiusChunks = 1; + TestSettings->DecorationRegionSizeCells = 1; + TestSettings->DecorationSpacingVoxels = 16; + TestSettings->DecorationFarSpacingVoxels = 16; + TestSettings->DecorationMarchStepVoxels = 2; + TestSettings->DecorationMaxCrossingsPerColumn = 2; + TestSettings->DecorationColumnDepthVoxels = 320; + TestSettings->MaxConcurrentDecorationTasks = 2; + TestSettings->MaxDecorationCellsPerFrame = 4; + + TStrongObjectPtr TopDefinition(DuplicateObject( + SourceTop, TestSettings.Get(), NAME_None)); + TStrongObjectPtr IslandDefinition(DuplicateObject( + SourceIsland, TestSettings.Get(), NAME_None)); + if (!TopDefinition.IsValid() || !IslandDefinition.IsValid()) + { + OutError = TEXT("Could not create transient Core island test strate definitions."); + return false; + } + TopDefinition->StrateHeightInChunks = 16; + IslandDefinition->GeneratorType = ECaveGeneratorType::FloatingIslands; + IslandDefinition->StrateHeightInChunks = 64; + IslandDefinition->Landmarks.Empty(); + IslandDefinition->Biomes.Empty(); + IslandDefinition->Decorations.Empty(); + + // Keep the season's water datum when changing only the transient archetype to islands. + // Conserver le niveau d'eau de saison en ne changeant que l'archetype du fixture transitoire. + bool bFixedWaterEnabled = false; + float FixedWaterRelative = 0.0f; + for (const FStrateSlot& Slot : SourceManager->GetLayout()) + { + if (Slot.StrateIndex != 1 || Slot.Definition == nullptr) continue; + const int32 MidChunkZ = Slot.BottomChunkZ + + (Slot.TopChunkZ - Slot.BottomChunkZ) / 2; + const float WaterVoxelZ = SourceManager->GetWaterLevelWorldZForChunk( + FIntVector(0, 0, MidChunkZ)); + if (WaterVoxelZ != -FLT_MAX) + { + const float TopVoxelZ = (static_cast(Slot.TopChunkZ) + 1.0f) * CHUNK_SIZE; + const float BottomVoxelZ = static_cast(Slot.BottomChunkZ) * CHUNK_SIZE; + FixedWaterRelative = FMath::Clamp( + (WaterVoxelZ - BottomVoxelZ) / FMath::Max(TopVoxelZ - BottomVoxelZ, 1.0f), + 0.0f, 1.0f); + bFixedWaterEnabled = true; + } + break; + } + IslandDefinition->bHasWater = bFixedWaterEnabled; + IslandDefinition->GenerationParams.WaterLevelRelative = + bFixedWaterEnabled ? FixedWaterRelative : 0.0f; + IslandDefinition->SurfaceParams.WaterLevelRelative = + bFixedWaterEnabled ? FixedWaterRelative : 0.0f; + + UStaticMesh* ProbeTreeMesh = LoadObject( + nullptr, TEXT("/Engine/BasicShapes/Cube.Cube")); + if (ProbeTreeMesh == nullptr) + { + OutError = TEXT("Could not load the transient cube mesh used to verify island tree anchors."); + return false; + } + FStrateDecoration ProbeTree; + ProbeTree.Profile.InstancedMesh = ProbeTreeMesh; + ProbeTree.Profile.SurfacePlacement = ESurfaceType::Floor; + ProbeTree.Profile.bAlignToSurface = false; + ProbeTree.Profile.MinScale = 0.5f; + ProbeTree.Profile.MaxScale = 0.5f; + ProbeTree.Profile.CullDistance = 30000.0f; + ProbeTree.Profile.bCastShadow = false; + ProbeTree.StreamTier = EDecoStreamTier::Far; + ProbeTree.SpawnDensity = 1.0f; + ProbeTree.MaxPerChunk = 64; + IslandDefinition->Decorations.Add(ProbeTree); + TestSettings->FixedStrates.Add(0, TSoftObjectPtr(TopDefinition.Get())); + TestSettings->FixedStrates.Add(1, TSoftObjectPtr(IslandDefinition.Get())); + + FString ImportReport; + if (!TestSettings->SetWorldAssemblyManifestJson(ManifestJson, ImportReport)) + { + OutError = FString::Printf(TEXT("Could not import the floating-island manifest into transient settings: %s"), + *ImportReport); + return false; + } + FString CanonicalAssemblyJson; + FString ImportedAssemblyHash; + FString ImportError; + if (!TestSettings->GetWorldAssemblyManifestJson( + CanonicalAssemblyJson, ImportedAssemblyHash, ImportError)) + { + OutError = FString::Printf(TEXT("Transient island manifest failed its canonical hash check: %s"), + *ImportError); + return false; + } + + TStrongObjectPtr Manager(NewObject( + GetTransientPackage(), NAME_None, RF_Transient)); + if (!Manager.IsValid() || !Manager->Initialize(TestSettings.Get(), EffectiveSeed)) + { + OutError = TEXT("Core island test could not build the transient two-strate layout."); + return false; + } + const FStrateSlot* IslandSlot = nullptr; + for (const FStrateSlot& Slot : Manager->GetLayout()) + { + if (Slot.StrateIndex == 1) IslandSlot = &Slot; + } + if (IslandSlot == nullptr || IslandSlot->TopChunkZ != -16 + || IslandSlot->BottomChunkZ != -79 + || IslandSlot->Definition == nullptr + || IslandSlot->Definition->GeneratorType != ECaveGeneratorType::FloatingIslands) + { + OutError = FString::Printf( + TEXT("Transient island strate does not match manifest bounds [-16,-79]: actual=[%d,%d]."), + IslandSlot ? IslandSlot->TopChunkZ : MAX_int32, + IslandSlot ? IslandSlot->BottomChunkZ : MIN_int32); + return false; + } + + FString RuntimeJson; + if (!VoxelForgeCoreAdapter::SerializeResolvedWorld( + TestSettings.Get(), Manager.Get(), 3, 8, RuntimeJson, OutError)) + { + return false; + } + FTCHARToUTF8 Utf8Runtime(*RuntimeJson); + std::optional Snapshot = + VoxelForgeCore::ResolvedWorldSnapshot::FromJson( + std::string_view(Utf8Runtime.Get(), static_cast(Utf8Runtime.Length())), + CoreError); + if (!Snapshot || Snapshot->worldAssembly() == nullptr + || Snapshot->worldAssembly()->contentHash != ParsedAssembly->contentHash + || Snapshot->worldAssembly()->floatingIslands.size() != 1u) + { + OutError = FString::Printf(TEXT("Core adapter did not preserve the imported floating-island manifest: %s"), + Snapshot ? TEXT("manifest hash or plan count differs") : UTF8_TO_TCHAR(CoreError.c_str())); + return false; + } + const VoxelForgeCore::WorldAssemblyFloatingIslandPlanV1& NativeIslandPlan = + ParsedAssembly->floatingIslands.front(); + if (NativeIslandPlan.strateIndex != 1 || NativeIslandPlan.manifest.plan.islands.size() != 4u + || NativeIslandPlan.manifest.plan.route.size() < 2u) + { + OutError = TEXT("Core adapter island plan has the wrong strate, island count, or route."); + return false; + } + VoxelForgeCore::FloatingIslandFieldV1 RouteField( + NativeIslandPlan.manifest.recipe, NativeIslandPlan.manifest.plan); + const VoxelForgeCore::FloatingIslandRouteAuditResult RouteAudit = + VoxelForgeCore::AuditFloatingIslandRoute(RouteField); + const VoxelForgeCore::FloatingIslandThicknessAuditResult ThicknessAudit = + VoxelForgeCore::AuditFloatingIslandThickness(NativeIslandPlan.manifest.plan); + if (!RouteField.isValid() || !RouteAudit.passed || !ThicknessAudit.passed) + { + OutError = TEXT("Imported Core island field failed route clearance or mass-thickness validation."); + return false; + } + const VoxelForgeCore::WorldAssemblyRoutePointV1& StartRoute = + NativeIslandPlan.manifest.plan.route.front(); + constexpr double SubvoxelsPerCoreVoxel = 256.0; + constexpr double CoreVoxelSizeCm = 25.0; + const FVector CameraVoxels( + static_cast(StartRoute.positionSubvoxels[0]) / SubvoxelsPerCoreVoxel, + static_cast(StartRoute.positionSubvoxels[1]) / SubvoxelsPerCoreVoxel, + static_cast(StartRoute.positionSubvoxels[2]) / SubvoxelsPerCoreVoxel); + const FVector CameraLocalCm = CameraVoxels * CoreVoxelSizeCm; + UE_LOG(LogTemp, Display, + TEXT("[VoxelForgeCoreIslandTest] manifest_import=PASS hash=%s recipe_hash=%016llx plan_hash=%016llx scale_owner_cm=12.5 scale_core_cm=25 islands=%d connectors=%d route_segments=%llu route_clearance_subvoxels=%lld water_fixed=%d water_relative=%.6f"), + *ImportedAssemblyHash, + static_cast(NativeIslandPlan.manifest.recipe.contentHash), + static_cast(NativeIslandPlan.manifest.plan.contentHash), + static_cast(NativeIslandPlan.manifest.plan.islands.size()), + static_cast(NativeIslandPlan.manifest.plan.clusterEdges.size()), + static_cast(RouteAudit.segmentsTested), + static_cast(RouteAudit.minimumClearanceSubvoxels), + bFixedWaterEnabled ? 1 : 0, FixedWaterRelative); + + // Generate the standalone reference before actor startup so two full Core worlds do not overlap. + // Generer la reference Standalone avant l'acteur pour ne pas garder deux mondes Core complets. + TMap ExpectedHashes; + TSet ExpectedDesiredSet; + std::vector Desired; + std::array ExpectedAggregates{}; + std::map TimingProbeKeys; + std::int32_t CoverageLocalTiles = 0; + std::int32_t CoverageFaces = 0; + std::int32_t TransitionFaces = 0; + std::int32_t Lod0Tiles = 0, Lod1Tiles = 0; + VoxelForgeCore::Vec3d Camera{CameraVoxels.X, CameraVoxels.Y, CameraVoxels.Z}; + VoxelForgeCore::ShapeBuildRequest Request; + { + VoxelForgeCore::World ReferenceWorld(std::move(*Snapshot)); + Desired = ReferenceWorld.desiredTiles(Camera); + if (Desired.empty()) + { + OutError = TEXT("Standalone Core returned no tiles around the island route start."); + return false; + } + std::int32_t FineMin[3] = {MAX_int32, MAX_int32, MAX_int32}; + std::int32_t FineMax[3] = {MIN_int32, MIN_int32, MIN_int32}; + std::int32_t ClipMin[3] = {MAX_int32, MAX_int32, MAX_int32}; + std::int32_t ClipMax[3] = {MIN_int32, MIN_int32, MIN_int32}; + for (const VoxelForgeCore::TileKey& Key : Desired) + { + const std::int32_t Extent = 32 << Key.lod; + const std::int32_t Origins[3] = { + Key.coordinate.x * Extent, Key.coordinate.y * Extent, Key.coordinate.z * Extent}; + for (int32 Axis = 0; Axis < 3; ++Axis) + { + ClipMin[Axis] = FMath::Min(ClipMin[Axis], Origins[Axis]); + ClipMax[Axis] = FMath::Max(ClipMax[Axis], Origins[Axis] + Extent); + if (Key.lod < ReferenceWorld.configuration().fullResolutionLodCount) + { + FineMin[Axis] = FMath::Min(FineMin[Axis], Origins[Axis]); + FineMax[Axis] = FMath::Max(FineMax[Axis], Origins[Axis] + Extent); + } + } + if (Key.lod == 0) ++Lod0Tiles; + if (Key.lod == 1) ++Lod1Tiles; + } + if (FineMin[0] == MAX_int32 || ClipMin[0] == MAX_int32) + { + OutError = TEXT("Standalone Core island clipmap bounds are invalid."); + return false; + } + Request.minVoxel = {FineMin[0], FineMin[1], FineMin[2]}; + Request.maxVoxel = {FineMax[0], FineMax[1], FineMax[2]}; + Request.clipMinVoxel = {ClipMin[0], ClipMin[1], ClipMin[2]}; + Request.clipMaxVoxel = {ClipMax[0], ClipMax[1], ClipMax[2]}; + Request.workerLimit = 8; + Request.detail = VoxelForgeCore::DetailVariant::coherent; + Request.includeFarWorld = true; + FStandaloneCoreAdapterScheduler Scheduler; + if (!ReferenceWorld.compile(Request, Scheduler, CoreError)) + { + OutError = FString::Printf(TEXT("Standalone Core island reference compile failed: %s"), + UTF8_TO_TCHAR(CoreError.c_str())); + return false; + } + ReferenceWorld.retainTileRegions(Desired); + VoxelForgeCore::TileGenerationOptions Options; + Options.hashDensity = true; + std::vector AggregateRows; + AggregateRows.reserve(Desired.size()); + for (const VoxelForgeCore::TileKey& Key : Desired) + { + const std::optional Mesh = + ReferenceWorld.generateTile(Key, Options, CoreError); + if (!Mesh || !Mesh->hasDensityHash || !Mesh->hasMeshHash + || !Mesh->hasPayloadHash || !Mesh->hasTopologyHash) + { + OutError = FString::Printf(TEXT("Standalone Core island tile generation failed: %s"), + UTF8_TO_TCHAR(CoreError.c_str())); + return false; + } + const FVoxelTileKey RuntimeKey( + FIntVector(Key.coordinate.x, Key.coordinate.y, Key.coordinate.z), Key.lod); + FVoxelForgeCoreTileHashRecord Record; + Record.Density = Mesh->densityHash; + Record.Mesh = Mesh->meshHash; + Record.Payload = Mesh->payloadHash; + Record.Topology = Mesh->topologyHash; + Record.Triangles = static_cast(Mesh->indices.size() / 3u); + Record.bEmpty = Mesh->indices.empty(); + Record.bHasHashes = true; + ExpectedHashes.Add(RuntimeKey, Record); + ExpectedDesiredSet.Add(RuntimeKey); + AggregateRows.push_back({Key, + {Record.Density, Record.Mesh, Record.Payload, Record.Topology}}); + + if (Key.lod > 1u) continue; + const bool bAir = Mesh->diagnostics.tileClass == VoxelForgeCore::TileClass::allAir; + const bool bSolid = Mesh->diagnostics.tileClass == VoxelForgeCore::TileClass::allSolid; + bool bIslandBounds = false; + bool bConnectorBounds = false; + const std::int64_t TileMinimum[3] = { + static_cast(Key.coordinate.x) * (32ll << Key.lod) * 256ll, + static_cast(Key.coordinate.y) * (32ll << Key.lod) * 256ll, + static_cast(Key.coordinate.z) * (32ll << Key.lod) * 256ll}; + const std::int64_t TileMaximum[3] = { + TileMinimum[0] + (32ll << Key.lod) * 256ll, + TileMinimum[1] + (32ll << Key.lod) * 256ll, + TileMinimum[2] + (32ll << Key.lod) * 256ll}; + const auto IntersectsFeature = [&](const auto& Feature) + { + for (int32 Axis = 0; Axis < 3; ++Axis) + { + if (TileMaximum[Axis] <= Feature.influenceMinimumSubvoxels[Axis] + || TileMinimum[Axis] >= Feature.influenceMaximumSubvoxels[Axis]) return false; + } + return true; + }; + for (const auto& Island : NativeIslandPlan.manifest.plan.islands) + bIslandBounds |= IntersectsFeature(Island); + for (const auto& Connector : NativeIslandPlan.manifest.plan.clusterEdges) + bConnectorBounds |= IntersectsFeature(Connector); + const std::string LodName = "lod" + std::to_string(Key.lod) + ":"; + const std::string Kind = bAir ? "air" : bSolid ? "solid" + : (bConnectorBounds && !bIslandBounds) ? "span" + : bIslandBounds ? "island" : "mixed"; + const std::string ProbeName = LodName + Kind; + if (TimingProbeKeys.find(ProbeName) == TimingProbeKeys.end()) + TimingProbeKeys.emplace(ProbeName, Key); + if (!bAir && !bSolid + && TimingProbeKeys.find(LodName + "mixed") == TimingProbeKeys.end()) + TimingProbeKeys.emplace(LodName + "mixed", Key); + } + ExpectedAggregates = StandaloneCoreAggregateHashes(AggregateRows); + if (!AuditCoreClipmapCoverage(Desired, Camera, 128, + CoverageLocalTiles, CoverageFaces, TransitionFaces, OutError)) + { + OutError = FString::Printf(TEXT("Island standalone clipmap coverage failed: %s"), *OutError); + return false; + } + + UVoxelGenerator* LegacyGenerator = NewObject( + GetTransientPackage(), NAME_None, RF_Transient); + UVoxelMarchingCubesMesher* LegacyMesher = NewObject( + GetTransientPackage(), NAME_None, RF_Transient); + if (LegacyGenerator == nullptr || LegacyMesher == nullptr) + { + OutError = TEXT("Could not allocate the matched legacy island timing fixture."); + return false; + } + LegacyGenerator->InitializeSettings(TestSettings.Get()); + LegacyGenerator->SetStrateManager(Manager.Get()); + LegacyMesher->SetGenerator(LegacyGenerator); + LegacyMesher->SetGeometryVoxelSizeCm(static_cast(CoreVoxelSizeCm)); + const auto P95Milliseconds = [](TArray& Samples) + { + Samples.Sort(); + const int32 Index = FMath::Clamp( + FMath::CeilToInt(static_cast(Samples.Num()) * 0.95f) - 1, + 0, Samples.Num() - 1); + return Samples.IsEmpty() ? 0.0 : Samples[Index]; + }; + for (const auto& ProbePair : TimingProbeKeys) + { + const VoxelForgeCore::TileKey& Key = ProbePair.second; + TArray CoreMilliseconds; + TArray CoreClassificationMilliseconds; + TArray CoreColumnComputeMilliseconds; + TArray CoreMeshingMilliseconds; + TArray LegacyMilliseconds; + CoreMilliseconds.Reserve(5); + CoreClassificationMilliseconds.Reserve(5); + CoreColumnComputeMilliseconds.Reserve(5); + CoreMeshingMilliseconds.Reserve(5); + LegacyMilliseconds.Reserve(5); + for (int32 Repeat = 0; Repeat < 5; ++Repeat) + { + const double CoreStart = FPlatformTime::Seconds(); + const std::optional TimedCoreMesh = + ReferenceWorld.generateTile(Key, {}, CoreError); + const double CoreElapsedMs = (FPlatformTime::Seconds() - CoreStart) * 1000.0; + if (!TimedCoreMesh) + { + OutError = FString::Printf(TEXT("Core island timing sample failed: %s"), + UTF8_TO_TCHAR(CoreError.c_str())); + return false; + } + CoreMilliseconds.Add(CoreElapsedMs); + CoreClassificationMilliseconds.Add(TimedCoreMesh->diagnostics.classificationMilliseconds); + CoreColumnComputeMilliseconds.Add(TimedCoreMesh->diagnostics.columnComputeMilliseconds); + CoreMeshingMilliseconds.Add(TimedCoreMesh->diagnostics.meshingMilliseconds); + const int32 Extent = CHUNK_SIZE << Key.lod; + const FIntVector CoreOrigin( + Key.coordinate.x * Extent, Key.coordinate.y * Extent, + Key.coordinate.z * Extent); + const FIntVector LegacyOrigin = CoreOrigin * 2; + const int32 LegacyStep = 2 << Key.lod; + const double LegacyStart = FPlatformTime::Seconds(); + const FVoxelMeshData LegacyMesh = LegacyMesher->GenerateMesh( + LegacyOrigin, LegacyStep, CHUNK_SIZE); + const double LegacyElapsedMs = (FPlatformTime::Seconds() - LegacyStart) * 1000.0; + LegacyMilliseconds.Add(LegacyElapsedMs); + if (Repeat == 0) + { + const int32 CoreTriangles = static_cast(TimedCoreMesh->indices.size() / 3u); + const int32 LegacyTriangles = LegacyMesh.Triangles.Num() / 3; + const double TileTravelCm = CoreVoxelSizeCm * Extent; + const double WalkDeadlineMs = TileTravelCm / FMath::Max(StagedWalkSpeedCmPerSecond, 1.0f) * 1000.0; + const double SprintDeadlineMs = TileTravelCm / FMath::Max(StagedSprintSpeedCmPerSecond, 1.0f) * 1000.0; + UE_LOG(LogTemp, Display, + TEXT("[VoxelForgeIslandStreaming] lod=%d kind=%s key=(%d,%d,%d) core_triangles=%d legacy_triangles=%d tile_travel_cm=%.0f walk_deadline_ms=%.3f sprint_deadline_ms=%.3f"), + static_cast(Key.lod), UTF8_TO_TCHAR(ProbePair.first.c_str()), + Key.coordinate.x, Key.coordinate.y, Key.coordinate.z, + CoreTriangles, LegacyTriangles, TileTravelCm, WalkDeadlineMs, SprintDeadlineMs); + } + } + const double CoreP95 = P95Milliseconds(CoreMilliseconds); + const double CoreClassificationP95 = P95Milliseconds(CoreClassificationMilliseconds); + const double CoreColumnComputeP95 = P95Milliseconds(CoreColumnComputeMilliseconds); + const double CoreMeshingP95 = P95Milliseconds(CoreMeshingMilliseconds); + const double LegacyP95 = P95Milliseconds(LegacyMilliseconds); + const int32 Extent = CHUNK_SIZE << Key.lod; + const double TileTravelCm = CoreVoxelSizeCm * Extent; + const double WalkDeadlineMs = TileTravelCm / FMath::Max(StagedWalkSpeedCmPerSecond, 1.0f) * 1000.0; + const double SprintDeadlineMs = TileTravelCm / FMath::Max(StagedSprintSpeedCmPerSecond, 1.0f) * 1000.0; + UE_LOG(LogTemp, Display, + TEXT("[VoxelForgeIslandStreaming] timing lod=%d kind=%s repeats=5 core_p95_ms=%.3f core_classify_p95_ms=%.3f core_columns_p95_ms=%.3f core_mesh_p95_ms=%.3f legacy_p95_ms=%.3f walk_deadline_ms=%.3f sprint_deadline_ms=%.3f core_walk_lag_ms=%.3f legacy_walk_lag_ms=%.3f core_sprint_lag_ms=%.3f legacy_sprint_lag_ms=%.3f"), + static_cast(Key.lod), UTF8_TO_TCHAR(ProbePair.first.c_str()), + CoreP95, CoreClassificationP95, CoreColumnComputeP95, CoreMeshingP95, + LegacyP95, WalkDeadlineMs, SprintDeadlineMs, + FMath::Max(0.0, CoreP95 - WalkDeadlineMs), FMath::Max(0.0, LegacyP95 - WalkDeadlineMs), + FMath::Max(0.0, CoreP95 - SprintDeadlineMs), FMath::Max(0.0, LegacyP95 - SprintDeadlineMs)); + } + for (const int32 Lod : {0, 1}) + { + if (TimingProbeKeys.find("lod" + std::to_string(Lod) + ":air") == TimingProbeKeys.end() + || (TimingProbeKeys.find("lod" + std::to_string(Lod) + ":island") == TimingProbeKeys.end() + && TimingProbeKeys.find("lod" + std::to_string(Lod) + ":mixed") == TimingProbeKeys.end())) + { + OutError = FString::Printf(TEXT("Island clipmap timing did not find air and surface probes at LOD%d."), Lod); + return false; + } + } + UE_LOG(LogTemp, Display, + TEXT("[VoxelForgeCoreIslandTest] standalone_reference=PASS tiles=%d lod0=%d lod1=%d lod_transitions=%d coverage_local=%d checked_faces=%d density=0x%016llx mesh=0x%016llx payload=0x%016llx topology=0x%016llx"), + ExpectedDesiredSet.Num(), Lod0Tiles, Lod1Tiles, TransitionFaces, CoverageLocalTiles, + CoverageFaces, static_cast(ExpectedAggregates[0]), + static_cast(ExpectedAggregates[1]), + static_cast(ExpectedAggregates[2]), + static_cast(ExpectedAggregates[3])); + } + + const auto BuildWorkerHashAggregate = [&](uint32 WorkerCount, + std::array& OutHashes) -> bool + { + FTCHARToUTF8 WorkerJson(*RuntimeJson); + std::string WorkerError; + std::optional WorkerSnapshot = + VoxelForgeCore::ResolvedWorldSnapshot::FromJson( + std::string_view(WorkerJson.Get(), static_cast(WorkerJson.Length())), + WorkerError); + if (!WorkerSnapshot) + { + OutError = FString::Printf(TEXT("Core W%u island snapshot failed: %s"), + WorkerCount, UTF8_TO_TCHAR(WorkerError.c_str())); + return false; + } + VoxelForgeCore::World WorkerWorld(std::move(*WorkerSnapshot)); + VoxelForgeCore::ShapeBuildRequest WorkerRequest = Request; + WorkerRequest.workerLimit = WorkerCount; + FStandaloneCoreAdapterScheduler Scheduler; + if (!WorkerWorld.compile(WorkerRequest, Scheduler, WorkerError)) + { + OutError = FString::Printf(TEXT("Core W%u island compile failed: %s"), + WorkerCount, UTF8_TO_TCHAR(WorkerError.c_str())); + return false; + } + WorkerWorld.retainTileRegions(Desired); + VoxelForgeCore::TileGenerationOptions Options; + Options.hashDensity = true; + std::vector Rows; + Rows.reserve(Desired.size()); + for (const VoxelForgeCore::TileKey& Key : Desired) + { + const std::optional Mesh = + WorkerWorld.generateTile(Key, Options, WorkerError); + if (!Mesh || !Mesh->hasDensityHash || !Mesh->hasMeshHash + || !Mesh->hasPayloadHash || !Mesh->hasTopologyHash) + { + OutError = FString::Printf(TEXT("Core W%u island tile hash failed: %s"), + WorkerCount, UTF8_TO_TCHAR(WorkerError.c_str())); + return false; + } + Rows.push_back({Key, {Mesh->densityHash, Mesh->meshHash, + Mesh->payloadHash, Mesh->topologyHash}}); + } + OutHashes = StandaloneCoreAggregateHashes(Rows); + return true; + }; + std::array W1Hashes{}, W16Hashes{}; + if (!BuildWorkerHashAggregate(1, W1Hashes) + || !BuildWorkerHashAggregate(16, W16Hashes)) + { + return false; + } + if (W1Hashes != ExpectedAggregates || W16Hashes != ExpectedAggregates) + { + OutError = TEXT("Island clipmap hashes differ across worker limits 1, 8 and 16."); + return false; + } + UE_LOG(LogTemp, Display, + TEXT("[VoxelForgeCoreIslandTest] worker_hash_matrix=1/8/16 stable=1 density=0x%016llx mesh=0x%016llx payload=0x%016llx topology=0x%016llx"), + static_cast(ExpectedAggregates[0]), + static_cast(ExpectedAggregates[1]), + static_cast(ExpectedAggregates[2]), + static_cast(ExpectedAggregates[3])); + + const UWorld::InitializationValues WorldInitialization = UWorld::InitializationValues() + .AllowAudioPlayback(false).RequiresHitProxies(false).CreatePhysicsScene(true) + .CreateNavigation(false).CreateAISystem(false).ShouldSimulatePhysics(true) + .SetDefaultGameMode(AGameModeBase::StaticClass()).SetTransactional(false); + UWorld* TestWorld = UWorld::CreateWorld(EWorldType::Game, false, + FName(TEXT("VoxelForgeCoreIslandValidationWorld")), GetTransientPackage(), + false, ERHIFeatureLevel::Num, &WorldInitialization); + if (TestWorld == nullptr) + { + OutError = TEXT("Could not create the transient BuildHost island actor world."); + return false; + } + UGameInstance* TestGameInstance = NewObject(GEngine); + FWorldContext& TestWorldContext = GEngine->CreateNewWorldContext(EWorldType::Game); + TestWorldContext.OwningGameInstance = TestGameInstance; + TestWorldContext.SetCurrentWorld(TestWorld); + TestWorld->SetGameInstance(TestGameInstance); + TestWorld->SetShouldTick(false); + TestGameInstance->Init(); + TestWorld->AddToRoot(); + struct FIslandWorldCleanup + { + UWorld* World = nullptr; + uint64 PreviousFrameCounter = GFrameCounter; + ~FIslandWorldCleanup() + { + if (World != nullptr) + { + if (World->HasBegunPlay()) + { + World->BeginTearingDown(); + World->EndPlay(EEndPlayReason::Quit); + } + if (UGameInstance* GameInstance = World->GetGameInstance()) GameInstance->Shutdown(); + if (GEngine != nullptr) GEngine->DestroyWorldContext(World); + World->DestroyWorld(false); + if (World->IsRooted()) World->RemoveFromRoot(); + } + GFrameCounter = PreviousFrameCounter; + } + } Cleanup{TestWorld, GFrameCounter}; + + if (!TestWorld->SetGameMode(FURL())) + { + OutError = TEXT("Could not create the transient GameMode for island actor validation."); + return false; + } + AGameModeBase* ValidationGameMode = TestWorld->GetAuthGameMode(); + if (ValidationGameMode == nullptr) + { + OutError = TEXT("Transient island validation GameMode was not available before startup."); + return false; + } + // Preserve the explicitly placed route pawn; GameMode's default spawn would move Core's first compile to the origin. + // Conserver le pawn de route ; le spawn par defaut du GameMode deplacerait le premier compile Core a l'origine. + ValidationGameMode->DefaultPawnClass = nullptr; + UPlayer* TestPlayer = NewObject(GEngine, NAME_None, RF_Transient); + APlayerController* PlayerController = TestWorld->SpawnActor( + APlayerController::StaticClass(), FTransform::Identity, + FActorSpawnParameters()); + if (TestPlayer == nullptr || PlayerController == nullptr) + { + OutError = TEXT("Could not spawn a BuildHost route player controller."); + return false; + } + // The world stream anchor reads only the first controller's pawn; use a transient base player + // to avoid online identity initialization in this headless commandlet. + // L'ancre de streaming lit le pawn du premier controleur ; eviter l'initialisation en ligne. + PlayerController->SetPlayer(TestPlayer); + // This transient world has not initialized actors yet, so register the controller explicitly. + // Ce monde transitoire n'a pas encore initialise ses acteurs ; enregistrer le controleur. + TestWorld->AddController(PlayerController); + APawn* PlayerPawn = TestWorld->SpawnActor(APawn::StaticClass(), + CameraLocalCm, FRotator::ZeroRotator); + if (PlayerPawn == nullptr) + { + OutError = TEXT("Could not spawn the BuildHost island route player."); + return false; + } + USceneComponent* PawnRoot = NewObject(PlayerPawn, NAME_None, RF_Transient); + if (PawnRoot == nullptr) + { + OutError = TEXT("Could not create the BuildHost island route pawn root."); + return false; + } + PlayerPawn->SetRootComponent(PawnRoot); + PawnRoot->RegisterComponent(); + PlayerPawn->SetActorLocation(CameraLocalCm, false, nullptr, ETeleportType::TeleportPhysics); + PlayerController->Possess(PlayerPawn); + APlayerController* FirstPlayerController = TestWorld->GetFirstPlayerController(); + UE_LOG(LogTemp, Display, + TEXT("[VoxelForgeCoreIslandTest] player_preflight first=%s manual=%s first_pawn=%s route_pawn=%s route_controller=%s first_matches=%d possess_matches=%d position_matches=%d route_position=(%.1f,%.1f,%.1f) world_netmode=%d"), + *GetNameSafe(FirstPlayerController), *GetNameSafe(PlayerController), + *GetNameSafe(FirstPlayerController ? FirstPlayerController->GetPawn() : nullptr), + *GetNameSafe(PlayerPawn), *GetNameSafe(PlayerPawn->GetController()), + FirstPlayerController == PlayerController ? 1 : 0, + PlayerController->GetPawn() == PlayerPawn ? 1 : 0, + PlayerPawn->GetActorLocation().Equals(CameraLocalCm, 0.1) ? 1 : 0, + PlayerPawn->GetActorLocation().X, PlayerPawn->GetActorLocation().Y, + PlayerPawn->GetActorLocation().Z, static_cast(TestWorld->GetNetMode())); + if (FirstPlayerController != PlayerController + || PlayerController->GetPawn() != PlayerPawn + || !PlayerPawn->GetActorLocation().Equals(CameraLocalCm, 0.1)) + { + OutError = TEXT("BuildHost route controller did not retain the route pawn before Core initialization."); + return false; + } + // Spawn and possess the route pawn before AVoxelWorld begins play. Its initial Core snapshot + // must compile the same route-centered clipmap that the Standalone reference audits. + // Creer le joueur avant le monde voxel afin que le premier clipmap Core soit centre sur la route. + AVoxelWorld* Actor = TestWorld->SpawnActorDeferred( + AVoxelWorld::StaticClass(), FTransform::Identity, nullptr, nullptr, + ESpawnActorCollisionHandlingMethod::AlwaysSpawn); + if (Actor == nullptr) + { + OutError = TEXT("Could not spawn the transient AVoxelWorld for island validation."); + return false; + } + Actor->Settings = TestSettings.Get(); + Actor->bManageAtmosphere = true; + Actor->bUseVoxelForgeCore = true; + Actor->CoreMesherRecipe = EVoxelForgeCoreMesherRecipe::MarchingCubesV1; + Actor->CoreClipRadius = 3; + Actor->CoreMaxClipLevel = 8; + Actor->bCaptureVoxelForgeCoreHashesForValidation = true; + Actor->FinishSpawning(FTransform::Identity); + TestWorld->InitializeActorsForPlay(FURL()); + TestWorld->BeginPlay(); + // GameMode may restart manually spawned controllers at BeginPlay and replace their pawn. + // Reassert the route pawn after startup so both the first Core request and later clipmap + // comparisons stay tied to the authored island route. + // Le GameMode peut remplacer le pawn au demarrage ; reprendre explicitement le pawn de route. + PlayerPawn->SetActorLocation(CameraLocalCm, false, nullptr, ETeleportType::TeleportPhysics); + PlayerController->Possess(PlayerPawn); + if (PlayerController->GetPawn() != PlayerPawn + || !PlayerPawn->GetActorLocation().Equals(CameraLocalCm, 0.1)) + { + OutError = TEXT("BuildHost GameMode did not preserve the route pawn after BeginPlay."); + return false; + } + Actor->SetActorTickEnabled(true); + FString ActorRuntimeJson; + FString ActorRuntimeError; + const bool bActorRuntimeSerialized = VoxelForgeCoreAdapter::SerializeResolvedWorld( + Actor->Settings, Actor->StrateManager, 3, 8, ActorRuntimeJson, ActorRuntimeError); + UE_LOG(LogTemp, Display, + TEXT("[VoxelForgeCoreIslandTest] world_initialized=1 core=1 actor_initialized=%d player=(%.1f,%.1f,%.1f) possessed=(%.1f,%.1f,%.1f) snapshot_parity=%d expected_bytes=%d actor_bytes=%d"), + Actor->IsActorInitialized() ? 1 : 0, + CameraLocalCm.X, CameraLocalCm.Y, CameraLocalCm.Z, + PlayerController->GetPawn() ? PlayerController->GetPawn()->GetActorLocation().X : 0.0, + PlayerController->GetPawn() ? PlayerController->GetPawn()->GetActorLocation().Y : 0.0, + PlayerController->GetPawn() ? PlayerController->GetPawn()->GetActorLocation().Z : 0.0, + bActorRuntimeSerialized && ActorRuntimeJson == RuntimeJson ? 1 : 0, + RuntimeJson.Len(), ActorRuntimeJson.Len()); + + const auto DesiredTilesLoaded = [](const AVoxelWorld* World) + { + if (World == nullptr || World->DesiredSorted.IsEmpty()) return false; + for (const FVoxelTileKey& Key : World->DesiredSorted) + if (!World->LoadedTiles.Contains(Key)) return false; + return true; + }; + const auto CollisionSetSettled = [](const AVoxelWorld* World) + { + if (World == nullptr) return false; + for (const FVoxelTileKey& Key : World->CollisionDesiredTiles) + if (!World->CollisionReadyTiles.Contains(Key) + && !World->CollisionNotRequiredTiles.Contains(Key)) return false; + return true; + }; + const auto TickWorldUntil = [&](double TimeoutSeconds, const TFunction& Predicate) + { + const double Deadline = FPlatformTime::Seconds() + TimeoutSeconds; + double LastProgress = FPlatformTime::Seconds(); + int32 Ticks = 0; + while (FPlatformTime::Seconds() < Deadline) + { + TestWorld->Tick(LEVELTICK_All, 0.016f); + ++GFrameCounter; + ++Ticks; + FPlatformProcess::Sleep(0.001f); + if (Predicate()) return true; + const double Now = FPlatformTime::Seconds(); + if (Now - LastProgress >= 10.0) + { + UE_LOG(LogTemp, Display, + TEXT("[VoxelForgeCoreIslandTest] wait ticks=%d ready=%d desired=%d loaded=%d pending=%d cooks=%d active=%d"), + Ticks, Actor->IsVoxelForgeCoreReady() ? 1 : 0, Actor->DesiredSorted.Num(), + Actor->LoadedTiles.Num(), Actor->PendingTiles.Num(), + Actor->PendingCollisionCooks.Num(), Actor->ActiveTaskCount.load(std::memory_order_acquire)); + LastProgress = Now; + } + } + return false; + }; + if (!TickWorldUntil(600.0, [&]() + { + return Actor->IsVoxelForgeCoreReady() && Actor->bAllChunksLoaded + && Actor->PendingTiles.IsEmpty() && Actor->PendingCollisionCooks.IsEmpty() + && Actor->PendingUnload.IsEmpty() + && Actor->ActiveTaskCount.load(std::memory_order_acquire) == 0 + && DesiredTilesLoaded(Actor) && CollisionSetSettled(Actor); + })) + { + OutError = FString::Printf( + TEXT("BuildHost island clipmap did not settle: ready=%d desired=%d loaded=%d pending=%d cooks=%d active=%d."), + Actor->IsVoxelForgeCoreReady() ? 1 : 0, Actor->DesiredSorted.Num(), + Actor->LoadedTiles.Num(), Actor->PendingTiles.Num(), + Actor->PendingCollisionCooks.Num(), Actor->ActiveTaskCount.load(std::memory_order_acquire)); + return false; + } + TSet ActualDesiredSet; + TSet ActualVisualSet; + TArray RuntimeCollisionSupportKeys; + int32 RuntimeCollisionSupportTiles = 0; + for (const FVoxelTileKey& Key : Actor->DesiredSorted) ActualDesiredSet.Add(Key); + for (const FVoxelTileKey& Key : ActualDesiredSet) + { + if (!Actor->CollisionOnlyTiles.Contains(Key)) + { + ActualVisualSet.Add(Key); + continue; + } + const FVoxelForgeCoreTileHashRecord* SupportHash = Actor->VoxelForgeCoreTileHashes.Find(Key); + if (!Actor->CollisionDesiredTiles.Contains(Key) || SupportHash == nullptr + || !SupportHash->bHasHashes + || (!Actor->CollisionReadyTiles.Contains(Key) + && !Actor->CollisionNotRequiredTiles.Contains(Key))) + { + OutError = FString::Printf( + TEXT("BuildHost island collision-only support tile (%d,%d,%d) was not hashed and cooked."), + Key.Coord.X, Key.Coord.Y, Key.Coord.Z); + return false; + } + ++RuntimeCollisionSupportTiles; + RuntimeCollisionSupportKeys.Add(Key); + } + if (ActualVisualSet.Num() != ExpectedDesiredSet.Num()) + { + OutError = FString::Printf( + TEXT("BuildHost island visual clipmap has %d tiles; Standalone expected %d (runtime collision-only=%d)."), + ActualVisualSet.Num(), ExpectedDesiredSet.Num(), RuntimeCollisionSupportTiles); + return false; + } + if (!RuntimeCollisionSupportKeys.IsEmpty()) + { + FTCHARToUTF8 SupportJson(*RuntimeJson); + std::string SupportError; + std::optional SupportSnapshot = + VoxelForgeCore::ResolvedWorldSnapshot::FromJson( + std::string_view(SupportJson.Get(), static_cast(SupportJson.Length())), + SupportError); + if (!SupportSnapshot) + { + OutError = FString::Printf(TEXT("Could not parse the Standalone collision-support snapshot: %s"), + UTF8_TO_TCHAR(SupportError.c_str())); + return false; + } + VoxelForgeCore::World SupportReferenceWorld(std::move(*SupportSnapshot)); + std::vector SupportReferenceKeys; + VoxelForgeCore::ShapeBuildRequest SupportRequest; + SupportRequest.workerLimit = 8; + SupportRequest.detail = VoxelForgeCore::DetailVariant::coherent; + SupportRequest.includeFarWorld = true; + std::int32_t SupportFineMin[3] = {MAX_int32, MAX_int32, MAX_int32}; + std::int32_t SupportFineMax[3] = {MIN_int32, MIN_int32, MIN_int32}; + std::int32_t SupportClipMin[3] = {MAX_int32, MAX_int32, MAX_int32}; + std::int32_t SupportClipMax[3] = {MIN_int32, MIN_int32, MIN_int32}; + for (const FVoxelTileKey& Key : RuntimeCollisionSupportKeys) + { + const std::int32_t Extent = 32 << Key.Level; + const std::int32_t Origin[3] = { + Key.Coord.X * Extent, Key.Coord.Y * Extent, Key.Coord.Z * Extent}; + for (int32 Axis = 0; Axis < 3; ++Axis) + { + SupportClipMin[Axis] = FMath::Min(SupportClipMin[Axis], Origin[Axis]); + SupportClipMax[Axis] = FMath::Max(SupportClipMax[Axis], Origin[Axis] + Extent); + if (Key.Level < SupportReferenceWorld.configuration().fullResolutionLodCount) + { + SupportFineMin[Axis] = FMath::Min(SupportFineMin[Axis], Origin[Axis]); + SupportFineMax[Axis] = FMath::Max(SupportFineMax[Axis], Origin[Axis] + Extent); + } + } + SupportReferenceKeys.push_back({ + {Key.Coord.X, Key.Coord.Y, Key.Coord.Z}, static_cast(Key.Level)}); + } + if (SupportClipMin[0] == MAX_int32) + { + OutError = TEXT("Standalone collision-support tile bounds are invalid."); + return false; + } + if (SupportFineMin[0] == MAX_int32) + { + for (int32 Axis = 0; Axis < 3; ++Axis) + { + SupportFineMin[Axis] = SupportClipMin[Axis]; + SupportFineMax[Axis] = SupportClipMax[Axis]; + } + } + SupportRequest.minVoxel = {SupportFineMin[0], SupportFineMin[1], SupportFineMin[2]}; + SupportRequest.maxVoxel = {SupportFineMax[0], SupportFineMax[1], SupportFineMax[2]}; + SupportRequest.clipMinVoxel = {SupportClipMin[0], SupportClipMin[1], SupportClipMin[2]}; + SupportRequest.clipMaxVoxel = {SupportClipMax[0], SupportClipMax[1], SupportClipMax[2]}; + FStandaloneCoreAdapterScheduler SupportScheduler; + if (!SupportReferenceWorld.compile(SupportRequest, SupportScheduler, SupportError)) + { + OutError = FString::Printf(TEXT("Standalone collision-support compile failed: %s"), + UTF8_TO_TCHAR(SupportError.c_str())); + return false; + } + SupportReferenceWorld.retainTileRegions(SupportReferenceKeys); + VoxelForgeCore::TileGenerationOptions SupportOptions; + SupportOptions.hashDensity = true; + for (const FVoxelTileKey& Key : RuntimeCollisionSupportKeys) + { + const VoxelForgeCore::TileKey SupportKey{ + {Key.Coord.X, Key.Coord.Y, Key.Coord.Z}, static_cast(Key.Level)}; + const std::optional SupportMesh = + SupportReferenceWorld.generateTile(SupportKey, SupportOptions, SupportError); + const FVoxelForgeCoreTileHashRecord* Actual = Actor->VoxelForgeCoreTileHashes.Find(Key); + if (!SupportMesh || !SupportMesh->hasDensityHash || !SupportMesh->hasMeshHash + || !SupportMesh->hasPayloadHash || !SupportMesh->hasTopologyHash + || Actual == nullptr || !Actual->bHasHashes + || Actual->Density != SupportMesh->densityHash + || Actual->Mesh != SupportMesh->meshHash + || Actual->Payload != SupportMesh->payloadHash + || Actual->Topology != SupportMesh->topologyHash + || Actual->Triangles != static_cast(SupportMesh->indices.size() / 3u) + || Actual->bEmpty != SupportMesh->indices.empty()) + { + OutError = FString::Printf( + TEXT("BuildHost collision-support tile (%d,%d,%d) does not match Standalone."), + Key.Coord.X, Key.Coord.Y, Key.Coord.Z); + return false; + } + } + UE_LOG(LogTemp, Display, + TEXT("[VoxelForgeCoreIslandTest] collision_support_hashes=PASS standalone_tiles=%d"), + RuntimeCollisionSupportKeys.Num()); + } + for (const FVoxelTileKey& Key : ExpectedDesiredSet) + { + const FVoxelForgeCoreTileHashRecord* Actual = Actor->VoxelForgeCoreTileHashes.Find(Key); + const FVoxelForgeCoreTileHashRecord* Expected = ExpectedHashes.Find(Key); + if (!ActualVisualSet.Contains(Key) || Actual == nullptr || Expected == nullptr + || !Actual->bHasHashes || Actual->Density != Expected->Density + || Actual->Mesh != Expected->Mesh || Actual->Payload != Expected->Payload + || Actual->Topology != Expected->Topology || Actual->Triangles != Expected->Triangles + || Actual->bEmpty != Expected->bEmpty) + { + OutError = FString::Printf( + TEXT("BuildHost island tile hash mismatch at (%d,%d,%d) LOD%d: " + "density=%016llx/%016llx mesh=%016llx/%016llx payload=%016llx/%016llx " + "topology=%016llx/%016llx triangles=%d/%d empty=%d/%d hashes=%d/%d."), + Key.Coord.X, Key.Coord.Y, Key.Coord.Z, Key.Level, + static_cast(Actual ? Actual->Density : 0ull), + static_cast(Expected ? Expected->Density : 0ull), + static_cast(Actual ? Actual->Mesh : 0ull), + static_cast(Expected ? Expected->Mesh : 0ull), + static_cast(Actual ? Actual->Payload : 0ull), + static_cast(Expected ? Expected->Payload : 0ull), + static_cast(Actual ? Actual->Topology : 0ull), + static_cast(Expected ? Expected->Topology : 0ull), + Actual ? Actual->Triangles : -1, Expected ? Expected->Triangles : -1, + Actual && Actual->bEmpty ? 1 : 0, Expected && Expected->bEmpty ? 1 : 0, + Actual && Actual->bHasHashes ? 1 : 0, Expected && Expected->bHasHashes ? 1 : 0); + return false; + } + } + for (const FVoxelTileKey& Key : Actor->CollisionDesiredTiles) + { + const FVoxelForgeCoreTileHashRecord* Expected = ExpectedHashes.Find(Key); + if (Expected == nullptr && Actor->CollisionOnlyTiles.Contains(Key)) + { + const FVoxelForgeCoreTileHashRecord* SupportHash = Actor->VoxelForgeCoreTileHashes.Find(Key); + if (SupportHash == nullptr || !SupportHash->bHasHashes + || (!Actor->CollisionReadyTiles.Contains(Key) + && !Actor->CollisionNotRequiredTiles.Contains(Key))) + { + OutError = FString::Printf( + TEXT("BuildHost island collision-only support tile (%d,%d,%d) has no cooked collision."), + Key.Coord.X, Key.Coord.Y, Key.Coord.Z); + return false; + } + continue; + } + if (Expected == nullptr + || (Expected->bEmpty && !Actor->CollisionNotRequiredTiles.Contains(Key)) + || (!Expected->bEmpty && !Actor->CollisionReadyTiles.Contains(Key))) + { + OutError = FString::Printf(TEXT("BuildHost island collision state differs from Standalone for (%d,%d,%d)."), + Key.Coord.X, Key.Coord.Y, Key.Coord.Z); + return false; + } + } + UE_LOG(LogTemp, Display, + TEXT("[VoxelForgeCoreIslandTest] pass phase=initial standalone_visual_tiles=%d collision_support_extra=%d collision_desired=%d collision_ready=%d collision_empty=%d standalone_hashes=1 lod0=%d lod1=%d transitions=%d"), + ExpectedDesiredSet.Num(), RuntimeCollisionSupportTiles, Actor->CollisionDesiredTiles.Num(), + Actor->CollisionReadyTiles.Num(), Actor->CollisionNotRequiredTiles.Num(), + Lod0Tiles, Lod1Tiles, TransitionFaces); + + const auto LocalPointFromSubvoxels = [](const std::int64_t Position[3]) + { + return FVector( + static_cast(Position[0]) * 25.0 / 256.0, + static_cast(Position[1]) * 25.0 / 256.0, + static_cast(Position[2]) * 25.0 / 256.0); + }; + const FVector IslandTopXY = LocalPointFromSubvoxels( + NativeIslandPlan.manifest.plan.islands.front().centerSubvoxels.data()); + const auto& Connector = NativeIslandPlan.manifest.plan.clusterEdges.front(); + const FVector SpanXY( + (static_cast(Connector.startSubvoxels[0] + Connector.endSubvoxels[0]) * 0.5) + * 25.0 / 256.0, + (static_cast(Connector.startSubvoxels[1] + Connector.endSubvoxels[1]) * 0.5) + * 25.0 / 256.0, + (static_cast(Connector.startSubvoxels[2] + Connector.endSubvoxels[2]) * 0.5) + * 25.0 / 256.0); + float IslandContentGroundCm = 0.0f; + float SpanContentGroundCm = 0.0f; + if (Actor->ContentManager == nullptr + || !Actor->ContentManager->QueryNativeFloatingIslandAnchor(1, + FVector2D(IslandTopXY.X, IslandTopXY.Y), IslandContentGroundCm) + || !Actor->ContentManager->QueryNativeFloatingIslandAnchor(1, + FVector2D(SpanXY.X, SpanXY.Y), SpanContentGroundCm)) + { + OutError = TEXT("Core island content could not resolve the island-top and connector anchors."); + return false; + } + const auto CheckTerrainAnchor = [&](const TCHAR* Label, const FVector& XY, + float ContentGroundCm, float& OutTerrainGroundWorldZ, FVector& OutGroundWorld) -> bool + { + const FVector StartLocal(XY.X, XY.Y, ContentGroundCm + 400.0f); + const FVector StartWorld = Actor->GetActorTransform().TransformPosition(StartLocal); + float TerrainGroundWorldZ = 0.0f, TerrainCeilingWorldZ = 0.0f; + if (!Actor->GetVoxelSurfaceHeightAt(StartWorld, TerrainGroundWorldZ, TerrainCeilingWorldZ)) + { + OutError = FString::Printf(TEXT("Core island %s height query found no ground from air."), Label); + return false; + } + const FVector GroundWorld = Actor->GetActorTransform().TransformPosition( + FVector(XY.X, XY.Y, ContentGroundCm)); + OutTerrainGroundWorldZ = TerrainGroundWorldZ; + OutGroundWorld = FVector(GroundWorld.X, GroundWorld.Y, TerrainGroundWorldZ); + const double DeltaCm = FMath::Abs(TerrainGroundWorldZ - GroundWorld.Z); + if (DeltaCm > 25.0) + { + OutError = FString::Printf(TEXT("Core island %s terrain/content anchors differ by %.2f cm."), + Label, DeltaCm); + return false; + } + return true; + }; + float IslandTerrainGroundWorldZ = 0.0f, SpanTerrainGroundWorldZ = 0.0f; + FVector IslandGroundWorld = FVector::ZeroVector, SpanGroundWorld = FVector::ZeroVector; + if (!CheckTerrainAnchor(TEXT("top"), IslandTopXY, IslandContentGroundCm, + IslandTerrainGroundWorldZ, IslandGroundWorld) + || !CheckTerrainAnchor(TEXT("span"), SpanXY, SpanContentGroundCm, + SpanTerrainGroundWorldZ, SpanGroundWorld)) + { + return false; + } + + const int32 IslandStrate = Actor->GetStrateAtPosition(IslandGroundWorld); + const int32 SpanStrate = Actor->GetStrateAtPosition(SpanGroundWorld); + if (IslandStrate != 1 || SpanStrate != 1 || Actor->AtmosphereManager == nullptr) + { + OutError = FString::Printf(TEXT("Island top/span resolved to wrong strate: island=%d span=%d atmosphere=%d."), + IslandStrate, SpanStrate, Actor->AtmosphereManager ? 1 : 0); + return false; + } + Actor->AtmosphereManager->UpdateForPlayer( + Actor->GetActorTransform().TransformPosition(CameraLocalCm)); + const int32 AtmosphereStrate = Actor->AtmosphereManager->GetCurrentStrateIndex(); + if (AtmosphereStrate != 1) + { + OutError = FString::Printf(TEXT("Island route selected atmosphere strate %d instead of 1."), + AtmosphereStrate); + return false; + } + bool bContentHasWater = false; + float ContentWaterLocalZCm = -FLT_MAX; + if (!Actor->ContentManager->QueryStrateWaterAnchor( + 1, bContentHasWater, ContentWaterLocalZCm)) + { + OutError = TEXT("Core island content did not return the fixed strate water datum."); + return false; + } + float ManagerTopZ = 0.0f, ManagerBottomZ = 0.0f; + const float ManagerRouteZ = Actor->ToStrateManagerLocalZ(CameraLocalCm.Z); + if (!Actor->StrateManager->GetStrateUnrealZRange( + ManagerRouteZ, ManagerTopZ, ManagerBottomZ)) + { + OutError = TEXT("Core island atmosphere check could not resolve corrected strate bounds."); + return false; + } + const float AtmosphereTopCm = Actor->FromStrateManagerLocalZ(ManagerTopZ); + const float AtmosphereBottomCm = Actor->FromStrateManagerLocalZ(ManagerBottomZ); + if (IslandContentGroundCm < AtmosphereBottomCm || IslandContentGroundCm > AtmosphereTopCm + || (bContentHasWater && (ContentWaterLocalZCm < AtmosphereBottomCm + || ContentWaterLocalZCm > AtmosphereTopCm))) + { + OutError = TEXT("Island ground or fixed water datum falls outside the resolved atmosphere strate."); + return false; + } + UE_LOG(LogTemp, Display, + TEXT("[VoxelForgeCoreIslandTest] height_anchor_agreement=PASS island_ground_cm=%.3f island_terrain_world_z=%.3f span_ground_cm=%.3f span_terrain_world_z=%.3f corrected_strate=%d atmosphere_strate=%d water_enabled=%d water_local_cm=%.3f atmosphere_bounds_cm=(%.3f,%.3f)"), + IslandContentGroundCm, IslandTerrainGroundWorldZ, SpanContentGroundCm, + SpanTerrainGroundWorldZ, IslandStrate, AtmosphereStrate, + bContentHasWater ? 1 : 0, ContentWaterLocalZCm, AtmosphereBottomCm, AtmosphereTopCm); + + const auto CheckCapsuleContact = [&](const TCHAR* Label, const FVector& GroundWorld) -> bool + { + const FVector Start = GroundWorld + FVector(0.0, 0.0, 200.0); + const FVector End = GroundWorld + FVector(0.0, 0.0, 60.0); + const FCollisionShape Capsule = FCollisionShape::MakeCapsule(34.8f, 90.1f); + FCollisionQueryParams QueryParams( + SCENE_QUERY_STAT(VoxelForgeCoreIslandCapsuleContact), false); + FHitResult Hit; + if (!TestWorld->SweepSingleByChannel( + Hit, Start, End, FQuat::Identity, ECC_Pawn, Capsule, QueryParams) + || Hit.GetActor() != Actor) + { + OutError = FString::Printf(TEXT("BuildHost capsule did not contact the Core island %s."), Label); + return false; + } + const FVector LocalHit = Actor->GetActorTransform().InverseTransformPosition(Hit.ImpactPoint); + constexpr double CoreTileExtentCm = 32.0 * 25.0; + const FVoxelTileKey Tile(FIntVector( + FMath::FloorToInt(LocalHit.X / CoreTileExtentCm), + FMath::FloorToInt(LocalHit.Y / CoreTileExtentCm), + FMath::FloorToInt(LocalHit.Z / CoreTileExtentCm)), 0); + if (!Actor->CollisionReadyTiles.Contains(Tile) + || FVector::Dist(Hit.ImpactPoint, GroundWorld) > 100.0) + { + OutError = FString::Printf(TEXT("Core island %s capsule hit is outside its cooked support tile."), Label); + return false; + } + UE_LOG(LogTemp, Display, + TEXT("[VoxelForgeCoreIslandTest] capsule_contact=PASS surface=%s tile=(%d,%d,%d) hit_cm=(%.1f,%.1f,%.1f) collision_ready=1"), + Label, Tile.Coord.X, Tile.Coord.Y, Tile.Coord.Z, + Hit.ImpactPoint.X, Hit.ImpactPoint.Y, Hit.ImpactPoint.Z); + return true; + }; + if (!CheckCapsuleContact(TEXT("island_top"), IslandGroundWorld) + || !CheckCapsuleContact(TEXT("span"), SpanGroundWorld)) + { + return false; + } + + // Let the real async decoration pipeline place a transient tree mesh, then prove each instance + // sits on the Core surface and the neighboring air/rock signs are correct. + const bool bTreesReady = TickWorldUntil(90.0, [&]() + { + TArray Components; + Actor->GetComponents(Components); + for (const UHierarchicalInstancedStaticMeshComponent* Component : Components) + if (Component != nullptr && Component->GetStaticMesh() == ProbeTreeMesh + && Component->GetInstanceCount() > 0) return true; + return false; + }); + if (!bTreesReady) + { + OutError = TEXT("Core island test did not stream the transient tree decoration onto the route island."); + return false; + } + TArray TreeComponents; + Actor->GetComponents(TreeComponents); + int32 TreeInstances = 0; + double MaximumTreeSurfaceDensity = 0.0; + for (const UHierarchicalInstancedStaticMeshComponent* Component : TreeComponents) + { + if (Component == nullptr || Component->GetStaticMesh() != ProbeTreeMesh) continue; + for (int32 InstanceIndex = 0; InstanceIndex < Component->GetInstanceCount(); ++InstanceIndex) + { + FTransform InstanceTransform; + if (!Component->GetInstanceTransform(InstanceIndex, InstanceTransform, true)) continue; + const FVector InstanceWorld = InstanceTransform.GetLocation(); + float AtSurface = 0.0f, BelowSurface = 0.0f, AboveSurface = 0.0f; + if (!Actor->QueryVoxelForgeCoreDensityAt(InstanceWorld, AtSurface) + || !Actor->QueryVoxelForgeCoreDensityAt(InstanceWorld - FVector(0, 0, 25), BelowSurface) + || !Actor->QueryVoxelForgeCoreDensityAt(InstanceWorld + FVector(0, 0, 25), AboveSurface) + || FMath::Abs(AtSurface) > 0.75f || BelowSurface >= 0.0f || AboveSurface <= 0.0f) + { + OutError = FString::Printf(TEXT("Transient island tree %d is not anchored at an air-to-rock Core crossing."), + TreeInstances); + return false; + } + MaximumTreeSurfaceDensity = FMath::Max(MaximumTreeSurfaceDensity, + static_cast(FMath::Abs(AtSurface))); + ++TreeInstances; + } + } + if (TreeInstances == 0) + { + OutError = TEXT("Core island transient tree validation found no instances."); + return false; + } + UE_LOG(LogTemp, Display, + TEXT("[VoxelForgeCoreIslandTest] content_anchor=PASS tree_instances=%d maximum_surface_density=%.5f no_floaters=1"), + TreeInstances, MaximumTreeSurfaceDensity); + + FVector CarveLocal(IslandTopXY.X, IslandTopXY.Y, IslandContentGroundCm - 40.0f); + const FVector CarveWorld = Actor->GetActorTransform().TransformPosition(CarveLocal); + float DensityBefore = 0.0f, OutsideBefore = 0.0f; + if (!Actor->QueryVoxelForgeCoreDensityAt(CarveWorld, DensityBefore) + || !Actor->QueryVoxelForgeCoreDensityAt(CarveWorld + FVector(90, 0, 0), OutsideBefore) + || DensityBefore >= 0.0f) + { + OutError = TEXT("Island Blueprint edit probe did not begin inside solid rock."); + return false; + } + Actor->CarveAtPosition(CarveWorld, 6.0f, 10.0f); + float CarvedDensity = 0.0f, OutsideAfterCarve = 0.0f; + if (!Actor->QueryVoxelForgeCoreDensityAt(CarveWorld, CarvedDensity) + || !Actor->QueryVoxelForgeCoreDensityAt(CarveWorld + FVector(90, 0, 0), OutsideAfterCarve) + || CarvedDensity <= DensityBefore || FMath::Abs(OutsideAfterCarve - OutsideBefore) > 1.0e-4f) + { + OutError = TEXT("Island Blueprint carve did not add air inside 75 cm or changed a point 90 cm away."); + return false; + } + Actor->FillAtPosition(CarveWorld, 6.0f, 10.0f); + float FilledDensity = 0.0f, OutsideAfterFill = 0.0f; + if (!Actor->QueryVoxelForgeCoreDensityAt(CarveWorld, FilledDensity) + || !Actor->QueryVoxelForgeCoreDensityAt(CarveWorld + FVector(90, 0, 0), OutsideAfterFill) + || FilledDensity >= CarvedDensity || FMath::Abs(OutsideAfterFill - OutsideBefore) > 1.0e-4f) + { + OutError = TEXT("Island Blueprint fill did not restore solid direction or changed a point 90 cm away."); + return false; + } + UE_LOG(LogTemp, Display, + TEXT("[VoxelForgeCoreIslandTest] blueprint_edit=PASS carve_sign=air fill_sign=solid radius_legacy_voxels=6 radius_cm=75 strength_legacy=10 density_before=%.4f carved=%.4f filled=%.4f outside_90cm_delta=%.6f"), + DensityBefore, CarvedDensity, FilledDensity, + FMath::Abs(OutsideAfterFill - OutsideBefore)); + + const FString CoreSeasonHash = Actor->GetCurrentSeasonContentHash(); + const float LegacyDensityBeforeSwitch = Actor->Generator->GetDensityAt( + IslandTopXY.X / VOXEL_SIZE, IslandTopXY.Y / VOXEL_SIZE, + IslandContentGroundCm / VOXEL_SIZE); + Actor->bUseVoxelForgeCore = false; + float DisabledAnchorZ = 0.0f; + const bool bDisabledAnchorAvailable = Actor->ContentManager->QueryNativeFloatingIslandAnchor( + 1, FVector2D(IslandTopXY.X, IslandTopXY.Y), DisabledAnchorZ); + const FString LegacySeasonHash = Actor->GetCurrentSeasonContentHash(); + const float LegacyDensityAfterSwitch = Actor->Generator->GetDensityAt( + IslandTopXY.X / VOXEL_SIZE, IslandTopXY.Y / VOXEL_SIZE, + IslandContentGroundCm / VOXEL_SIZE); + if (bDisabledAnchorAvailable || Actor->bUseVoxelForgeCore + || FMath::Abs(LegacyDensityAfterSwitch - LegacyDensityBeforeSwitch) > 1.0e-6f + || CoreSeasonHash.IsEmpty() || CoreSeasonHash == LegacySeasonHash) + { + OutError = TEXT("Core-off island check changed legacy generation or retained Core manifest anchors/hash."); + return false; + } + Actor->bUseVoxelForgeCore = true; + UE_LOG(LogTemp, Display, + TEXT("[VoxelForgeCoreIslandTest] switch_off_legacy=PASS core_hash=%s off_hash=%s native_anchor_when_disabled=0 legacy_voxel_cm=%.1f legacy_density_before=%.6f after=%.6f"), + *CoreSeasonHash, *LegacySeasonHash, VOXEL_SIZE, + LegacyDensityBeforeSwitch, LegacyDensityAfterSwitch); + + UE_LOG(LogTemp, Display, TEXT("[VoxelForgeCoreIslandTest] pass complete=1")); + return true; +} + bool RunCoreWorldActorIntegrationTest(const FExploreArguments& Arguments, FString& OutError) { + if (Arguments.bCoreFloatingIslandTest) + { + return RunCoreFloatingIslandActorIntegrationTest(Arguments, OutError); + } UVoxelSettings* AuthoredSettings = LoadObject( nullptr, *Arguments.SettingsReference); if (!AuthoredSettings) @@ -15241,6 +16524,9 @@ bool RunCoreWorldActorIntegrationTest(const FExploreArguments& Arguments, FStrin int32 GeometryAuditL0Distance = MAX_int32; int32 GeometryAuditL1Distance = MAX_int32; int32 GeometryAuditHorizonDistance = MAX_int32; + FAssemblerGeometryAudit BestSpanGeometryAuditL0; + double BestSpanRatioL0 = -std::numeric_limits::infinity(); + int32 GeometryAuditL0CandidateCount = 0; int32 HorizonAuditLOD = 0; for (const VoxelForgeCore::TileKey& Key : SurfaceTravelDesired) { @@ -15292,6 +16578,16 @@ bool RunCoreWorldActorIntegrationTest(const FExploreArguments& Arguments, FStrin } const double SpanRatioX = Candidate.SpanXcm / Candidate.ExpectedTileSpanCm; const double SpanRatioY = Candidate.SpanYcm / Candidate.ExpectedTileSpanCm; + if (LOD == 0) + { + ++GeometryAuditL0CandidateCount; + const double MinimumSpanRatio = FMath::Min(SpanRatioX, SpanRatioY); + if (MinimumSpanRatio > BestSpanRatioL0) + { + BestSpanRatioL0 = MinimumSpanRatio; + BestSpanGeometryAuditL0 = Candidate; + } + } if (SpanRatioX >= 0.75 && SpanRatioY >= 0.75 && SpanRatioX <= 1.05 && SpanRatioY <= 1.05) { @@ -15356,6 +16652,12 @@ bool RunCoreWorldActorIntegrationTest(const FExploreArguments& Arguments, FStrin } if (!GeometryAuditL0.bValid || !GeometryAuditL1.bValid || !GeometryAuditHorizon.bValid) { + UE_LOG(LogTemp, Error, + TEXT("[VoxelForgeGeometryAudit] best_lod0_candidate count=%d min_span_ratio=%.6f tile=(%d,%d,%d) span_cm=(%.3f,%.3f) expected_cm=%.3f"), + GeometryAuditL0CandidateCount, BestSpanRatioL0, + BestSpanGeometryAuditL0.Tile.X, BestSpanGeometryAuditL0.Tile.Y, + BestSpanGeometryAuditL0.Tile.Z, BestSpanGeometryAuditL0.SpanXcm, + BestSpanGeometryAuditL0.SpanYcm, BestSpanGeometryAuditL0.ExpectedTileSpanCm); OutError = FString::Printf( TEXT("Native geometry audit missed full-span tiles (l0=%d l1=%d horizon_lod=%d horizon=%d)."), GeometryAuditL0.bValid ? 1 : 0, GeometryAuditL1.bValid ? 1 : 0, diff --git a/Standalone/Core/include/VoxelForgeCore/VoxelForgeCore.h b/Standalone/Core/include/VoxelForgeCore/VoxelForgeCore.h index 2d8b011..6480bfa 100644 --- a/Standalone/Core/include/VoxelForgeCore/VoxelForgeCore.h +++ b/Standalone/Core/include/VoxelForgeCore/VoxelForgeCore.h @@ -278,23 +278,6 @@ namespace VoxelForgeCore std::uint64_t contentHash = 0; }; - struct VFCORE_API WorldAssemblyManifest - { - std::uint32_t schemaVersion = WorldAssemblySchemaVersion; - WorldAssemblyRecipeV1 recipe; - WorldAssemblyPlanV1 plan; - std::uint64_t contentHash = 0; - - // JSON is the reviewed season-manifest payload. Hashes use canonical ordered fields, - // little-endian integers and FNV-1a 64; textual key order and whitespace do not matter. - // Le JSON est le payload de saison valide; les entiers little-endian sont haches en FNV-1a 64, sans dependance a la mise en forme. - static std::optional FromJson( - std::string_view json, std::string& error); - bool finalize(std::string& error); - bool validate(std::string& error) const; - std::string ToJson() const; - }; - // Reusable finite 3D island features. The recipe owns fixed-scale shape ranges; the plan // serializes the seeded anchors, connected cluster graph, route and sharp-ready connectors. // Reutilisable dans toute recette : le plan porte les ancres, le graphe, la route et les plans nets. @@ -305,6 +288,12 @@ namespace VoxelForgeCore // bounded lobed roots and arched spans without changing the feature-family schema. std::uint32_t geometryVersion = 2; std::uint32_t unitsPerVoxel = static_cast(WorldAssemblySubvoxelsPerVoxel); + // Import scale is explicit: legacy owner voxels are 12.5 cm and Core voxels are 25 cm. + // L'echelle d'import est explicite : voxel owner de 12,5 cm et voxel Core de 25 cm. + std::uint32_t ownerVoxelSizeMicrons = 125000; + std::uint32_t coreVoxelSizeMicrons = 250000; + std::uint32_t ownerToCoreScaleNumerator = 1; + std::uint32_t ownerToCoreScaleDenominator = 2; std::uint32_t seed = 0; std::int64_t layoutOriginXSubvoxels = 0; std::int64_t layoutOriginYSubvoxels = 0; @@ -327,9 +316,9 @@ namespace VoxelForgeCore std::int64_t rootDepthRatioQ16 = 49152; // 0.75 radius, profile 2 only std::int64_t blendRadiusSubvoxels = 3 * WorldAssemblySubvoxelsPerVoxel; std::int64_t contourWarpSubvoxels = 6 * WorldAssemblySubvoxelsPerVoxel + 77; // 6.3 - std::int64_t roughnessSubvoxels = 3 * WorldAssemblySubvoxelsPerVoxel / 2; + std::int64_t roughnessSubvoxels = WorldAssemblySubvoxelsPerVoxel; std::int64_t boundarySealSubvoxels = 2 * WorldAssemblySubvoxelsPerVoxel; - std::int64_t bridgeHalfWidthSubvoxels = 6 * WorldAssemblySubvoxelsPerVoxel; + std::int64_t bridgeHalfWidthSubvoxels = 3 * WorldAssemblySubvoxelsPerVoxel; std::int64_t bridgeThicknessSubvoxels = 4 * WorldAssemblySubvoxelsPerVoxel; WorldAssemblyRouteConstraintsV1 routeConstraints; std::uint64_t contentHash = 0; @@ -384,6 +373,32 @@ namespace VoxelForgeCore std::string ToJson() const; }; + struct WorldAssemblyFloatingIslandPlanV1 + { + std::int32_t strateIndex = -1; + std::int32_t topChunkZ = 0; + std::int32_t bottomChunkZ = 0; + FloatingIslandManifestV1 manifest; + }; + + struct VFCORE_API WorldAssemblyManifest + { + std::uint32_t schemaVersion = WorldAssemblySchemaVersion; + WorldAssemblyRecipeV1 recipe; + WorldAssemblyPlanV1 plan; + std::vector floatingIslands; + std::uint64_t contentHash = 0; + + // JSON is the reviewed season-manifest payload. Hashes use canonical ordered fields, + // little-endian integers and FNV-1a 64; textual key order and whitespace do not matter. + // Le JSON est le payload de saison valide; les entiers little-endian sont haches en FNV-1a 64, sans dependance a la mise en forme. + static std::optional FromJson( + std::string_view json, std::string& error); + bool finalize(std::string& error); + bool validate(std::string& error) const; + std::string ToJson() const; + }; + struct FloatingIslandBoundsAuditResult { std::uint64_t boxesTested = 0; diff --git a/Standalone/Core/src/FloatingIslandsInternal.h b/Standalone/Core/src/FloatingIslandsInternal.h index e9e339a..8783687 100644 --- a/Standalone/Core/src/FloatingIslandsInternal.h +++ b/Standalone/Core/src/FloatingIslandsInternal.h @@ -158,6 +158,10 @@ namespace floating_island_detail std::uint64_t hash = StartHash(); HashWord(hash, recipe.schemaVersion, 4); HashWord(hash, recipe.unitsPerVoxel, 4); + HashWord(hash, recipe.ownerVoxelSizeMicrons, 4); + HashWord(hash, recipe.coreVoxelSizeMicrons, 4); + HashWord(hash, recipe.ownerToCoreScaleNumerator, 4); + HashWord(hash, recipe.ownerToCoreScaleDenominator, 4); HashWord(hash, recipe.seed, 4); HashWord(hash, static_cast(recipe.layoutOriginXSubvoxels), 8); HashWord(hash, static_cast(recipe.layoutOriginYSubvoxels), 8); @@ -258,6 +262,10 @@ namespace floating_island_detail || (recipe.geometryVersion == 1 && (recipe.crustDepthBonusQ16 != 0 || recipe.rootDepthRatioQ16 != 0)) || recipe.unitsPerVoxel != Q + || recipe.ownerVoxelSizeMicrons != 125000 + || recipe.coreVoxelSizeMicrons != 250000 + || recipe.ownerToCoreScaleNumerator != 1 + || recipe.ownerToCoreScaleDenominator != 2 || recipe.primaryIslandCount < 3 || recipe.primaryIslandCount > 9 || recipe.layoutMaximumZSubvoxels <= recipe.layoutMinimumZSubvoxels || recipe.layoutMaximumZSubvoxels - recipe.layoutMinimumZSubvoxels > 2048 * Q @@ -339,6 +347,30 @@ namespace floating_island_detail return static_cast(recipe.contourWarpSubvoxels) * (0.50 * a + 0.30 * b + 0.20 * c); } + inline double LobePhase(const FloatingIslandRecipeV1& recipe, + const FloatingIslandAnchorV1& island) + { + return static_cast(Roll(recipe.seed, island.stableId, 0x4c4f4245ull) + & 0xffffffffull) * (2.0 * Pi / 4294967296.0); + } + + inline double LobeOffsetWithPhase(const FloatingIslandRecipeV1& recipe, + double angle,double zSubvoxels,double phase) + { + const double z = zSubvoxels / static_cast(Q); + const double a = std::sin(3.0 * angle + phase + z * 0.017); + const double b = std::sin(5.0 * angle - phase * 0.73 - z * 0.023); + const double c = std::sin(8.0 * angle + phase * 1.41 + z * 0.011); + return static_cast(recipe.contourWarpSubvoxels) * (0.50 * a + 0.30 * b + 0.20 * c); + } + + inline double LobeOffsetAtAngle(const FloatingIslandRecipeV1& recipe, + const FloatingIslandAnchorV1& island, + double angle,double zSubvoxels) + { + return LobeOffsetWithPhase(recipe,angle,zSubvoxels,LobePhase(recipe,island)); + } + inline double Roughness(const FloatingIslandRecipeV1& recipe, std::uint64_t featureId, double x, double y, double z) { @@ -382,6 +414,83 @@ namespace floating_island_detail return static_cast(island.topZSubvoxels) - drop; } + struct FIslandColumnCacheEntry + { + bool bValid=false; + std::uint32_t Seed=0; + std::uint64_t StableId=0; + std::int64_t SampleX=0,SampleY=0,CenterX=0,CenterY=0,TopZ=0,Radius=0,TopHalf=0; + std::int64_t TopFlattenQ16=0,ContourWarp=0; + double DeltaX=0.0,DeltaY=0.0,Radial=0.0,Angle=0.0,LobePhase=0.0,TopSurface=0.0; + }; + + inline const FIslandColumnCacheEntry& IslandColumnCache( + const FloatingIslandRecipeV1& recipe,const FloatingIslandAnchorV1& island, + double x,double y) + { + // Density samples arrive on integer Core lattice columns; reuse the exact column metrics + // across Z samples without changing the field value or touching shared world state. + // Les echantillons suivent les colonnes Core entieres; reutiliser les memes metriques XY. + constexpr std::size_t Ways=4; + constexpr std::size_t SetCount=2048; + static_assert((SetCount&(SetCount-1))==0); + static thread_local std::array Cache{}; + const std::int64_t SampleX=static_cast(x); + const std::int64_t SampleY=static_cast(y); + std::uint64_t IndexKey=island.stableId + ^(static_cast(SampleX)*0x9e3779b97f4a7c15ull) + ^(static_cast(SampleY)*0xc2b2ae3d27d4eb4full) + ^(static_cast(recipe.seed)<<23); + IndexKey^=IndexKey>>33; + IndexKey*=0xff51afd7ed558ccdull; + IndexKey^=IndexKey>>33; + const std::size_t Base=static_cast(IndexKey&(SetCount-1))*Ways; + FIslandColumnCacheEntry* Replacement=&Cache[Base+((IndexKey>>11)&(Ways-1))]; + for(std::size_t Way=0;Way(island.centerSubvoxels[0]); + Entry.DeltaY=y-static_cast(island.centerSubvoxels[1]); + Entry.Radial=std::hypot(Entry.DeltaX,Entry.DeltaY); + Entry.Angle=std::atan2(Entry.DeltaY,Entry.DeltaX); + Entry.LobePhase=LobePhase(recipe,island); + const double EffectiveRadius=std::max(1.0,static_cast(island.radiusSubvoxels) + +LobeOffsetWithPhase(recipe,Entry.Angle,static_cast(island.topZSubvoxels), + Entry.LobePhase)); + const double Edge=std::clamp(Entry.Radial/EffectiveRadius,0.0,1.0); + const double Drop=(1.0-Q16ToDouble(recipe.topFlattenQ16)) + *static_cast(island.topHalfSubvoxels)*2.0*Edge*Edge; + Entry.TopSurface=static_cast(island.topZSubvoxels)-Drop; + return Entry; + } + inline std::int64_t ScaledQ16(std::int64_t value, std::int64_t scaleQ16) { return (value * scaleQ16 + Q16 / 2) / Q16; } @@ -406,42 +515,104 @@ namespace floating_island_detail inline std::int32_t RootCount(const FloatingIslandRecipeV1& recipe, const FloatingIslandAnchorV1& island) { - return 3 + static_cast(Roll(recipe.seed, island.stableId, - 0x524f4f54434e54ull) & 1ull); + // Keep four separate side lobes and a full-depth central buttress to close the measured + // underside cavity without driving the outer roots to one point. + // Garder quatre lobes lateraux et un renfort central profond pour fermer la cavite mesuree. + return 5; } inline double UnitHash(std::uint64_t hash) { return static_cast(hash & 0xffffull) / 65535.0; } + struct FRootLobeParameters + { + double RootX=0.0,RootY=0.0,CenterZ=0.0; + double RadiusXSquared=1.0,RadiusYSquared=1.0,VerticalRadiusSquared=1.0; + double MinimumRadius=1.0; + }; + + struct FRootLobeCacheEntry + { + bool bValid=false; + std::uint32_t Seed=0; + std::uint64_t StableId=0; + std::int32_t RootIndex=0,GeometryVersion=0; + std::array Center{}; + std::int64_t TopZ=0,Radius=0,TaperEndQ16=0; + std::int64_t ThicknessRatioQ16=0,CrustDepthBonusQ16=0,RootDepthRatioQ16=0; + FRootLobeParameters Parameters{}; + }; + inline double RootLobeDensity(const FloatingIslandRecipeV1& recipe, const FloatingIslandAnchorV1& island, std::int32_t rootIndex, double x, double y, double z) { - constexpr std::array, 4> pattern{{ - {{-0.92, -0.12}}, {{0.28, 0.98}}, {{0.83, -0.42}}, {{-0.16, -0.94}}}}; - const std::uint64_t salt = 0x524f4f540000ull + static_cast(rootIndex); - const std::uint64_t roll = Roll(recipe.seed, island.stableId, salt); - const double radius = static_cast(island.radiusSubvoxels); - const double rootDepth = radius * Q16ToDouble(recipe.rootDepthRatioQ16); - const double crustBottom = static_cast(IslandCrustBottom(recipe, island)); - const double orbit = radius * (0.17 + 0.07 * UnitHash(roll)); - const double rootX = static_cast(island.centerSubvoxels[0]) - + pattern[static_cast(rootIndex)][0] * orbit; - const double rootY = static_cast(island.centerSubvoxels[1]) - + pattern[static_cast(rootIndex)][1] * orbit; - const double shortRootVariation = UnitHash(Roll(recipe.seed, island.stableId, salt ^ 0x4c454eull)); - const double lengthRatio = rootIndex == 0 ? 1.0 - : Q16ToDouble(island.taperEndQ16) * (0.82 + 0.18 * shortRootVariation); - const double lowerDepth = rootDepth * lengthRatio; - const double embedDepth = rootDepth * (rootIndex == 0 ? 0.30 : 0.22); - const double verticalRadius = 0.5 * (lowerDepth + embedDepth); - const double centerZ = crustBottom + 0.5 * (embedDepth - lowerDepth); - const double rx = radius * (0.15 + 0.055 * UnitHash(Roll(recipe.seed, island.stableId, salt ^ 0x5258ull))); - const double ry = radius * (0.15 + 0.065 * UnitHash(Roll(recipe.seed, island.stableId, salt ^ 0x5259ull))); - const double q = (x - rootX) * (x - rootX) / (rx * rx) - + (y - rootY) * (y - rootY) / (ry * ry) - + (z - centerZ) * (z - centerZ) / (verticalRadius * verticalRadius); - return (std::sqrt(std::max(q, 0.0)) - 1.0) * std::min({rx, ry, verticalRadius}); + // Cache derived root constants per worker. The complete immutable input key keeps this + // value-only cache safe across worlds, epochs and worker schedules. + // Mettre en cache les constantes par worker; la cle complete evite tout partage d'etat. + constexpr std::size_t CacheSize=1024; + static_assert((CacheSize&(CacheSize-1))==0); + static thread_local std::array Cache{}; + const std::uint64_t IndexKey=island.stableId^(island.stableId>>33) + ^(static_cast(recipe.seed)<<17) + ^(static_cast(static_cast(rootIndex))*0x9e3779b97f4a7c15ull); + FRootLobeCacheEntry& Entry=Cache[static_cast(IndexKey)&(CacheSize-1)]; + const bool bKeyMatches=Entry.bValid&&Entry.Seed==recipe.seed + &&Entry.StableId==island.stableId&&Entry.RootIndex==rootIndex + &&Entry.GeometryVersion==recipe.geometryVersion + &&Entry.Center==island.centerSubvoxels + &&Entry.TopZ==island.topZSubvoxels&&Entry.Radius==island.radiusSubvoxels + &&Entry.TaperEndQ16==island.taperEndQ16 + &&Entry.ThicknessRatioQ16==recipe.thicknessRatioQ16 + &&Entry.CrustDepthBonusQ16==recipe.crustDepthBonusQ16 + &&Entry.RootDepthRatioQ16==recipe.rootDepthRatioQ16; + if(!bKeyMatches) + { + constexpr std::array, 4> pattern{{ + {{-0.92, -0.12}}, {{0.28, 0.98}}, {{0.83, -0.42}}, {{-0.16, -0.94}}}}; + const std::uint64_t salt = 0x524f4f540000ull + static_cast(rootIndex); + const std::uint64_t roll = Roll(recipe.seed, island.stableId, salt); + const double radius = static_cast(island.radiusSubvoxels); + const double rootDepth = radius * Q16ToDouble(recipe.rootDepthRatioQ16); + const double crustBottom = static_cast(IslandCrustBottom(recipe, island)); + const bool centralButtress = rootIndex == 4; + const double orbit = centralButtress ? 0.0 + : radius * (0.17 + 0.07 * UnitHash(roll)); + const double rootX = static_cast(island.centerSubvoxels[0]) + + (centralButtress ? 0.0 : pattern[static_cast(rootIndex)][0] * orbit); + const double rootY = static_cast(island.centerSubvoxels[1]) + + (centralButtress ? 0.0 : pattern[static_cast(rootIndex)][1] * orbit); + const double shortRootVariation = UnitHash(Roll(recipe.seed, island.stableId, salt ^ 0x4c454eull)); + const double lengthRatio = centralButtress ? 1.0 : (rootIndex == 0 ? 1.0 + : Q16ToDouble(island.taperEndQ16) * (0.82 + 0.18 * shortRootVariation)); + const double lowerDepth = rootDepth * lengthRatio; + const double embedDepth = rootDepth * (centralButtress ? 0.22 : (rootIndex == 0 ? 0.30 : 0.22)); + const double verticalRadius = 0.5 * (lowerDepth + embedDepth); + const double centerZ = crustBottom + 0.5 * (embedDepth - lowerDepth); + const double rx = radius * (centralButtress ? 0.25 + : 0.15 + 0.055 * UnitHash(Roll(recipe.seed, island.stableId, salt ^ 0x5258ull))); + const double ry = radius * (centralButtress ? 0.25 + : 0.15 + 0.065 * UnitHash(Roll(recipe.seed, island.stableId, salt ^ 0x5259ull))); + Entry.bValid=true; + Entry.Seed=recipe.seed; + Entry.StableId=island.stableId; + Entry.RootIndex=rootIndex; + Entry.GeometryVersion=recipe.geometryVersion; + Entry.Center=island.centerSubvoxels; + Entry.TopZ=island.topZSubvoxels; + Entry.Radius=island.radiusSubvoxels; + Entry.TaperEndQ16=island.taperEndQ16; + Entry.ThicknessRatioQ16=recipe.thicknessRatioQ16; + Entry.CrustDepthBonusQ16=recipe.crustDepthBonusQ16; + Entry.RootDepthRatioQ16=recipe.rootDepthRatioQ16; + Entry.Parameters={rootX,rootY,centerZ,rx*rx,ry*ry, + verticalRadius*verticalRadius,std::min({rx,ry,verticalRadius})}; + } + const FRootLobeParameters& Parameters=Entry.Parameters; + const double q = (x - Parameters.RootX) * (x - Parameters.RootX) / Parameters.RadiusXSquared + + (y - Parameters.RootY) * (y - Parameters.RootY) / Parameters.RadiusYSquared + + (z - Parameters.CenterZ) * (z - Parameters.CenterZ) / Parameters.VerticalRadiusSquared; + return (std::sqrt(std::max(q, 0.0)) - 1.0) * Parameters.MinimumRadius; } inline double ApplySurfaceDetail(const FloatingIslandRecipeV1& recipe, @@ -482,19 +653,18 @@ namespace floating_island_detail std::max({z - top, radial - envelope, bottomZ - z}), x, y, z); } - const double dx = x - static_cast(island.centerSubvoxels[0]); - const double dy = y - static_cast(island.centerSubvoxels[1]); - const double radial = std::hypot(dx, dy); + const FIslandColumnCacheEntry& Column=IslandColumnCache(recipe,island,x,y); + const double dx=Column.DeltaX; + const double dy=Column.DeltaY; + const double radial=Column.Radial; const double topZ = static_cast(island.topZSubvoxels); const double radius = static_cast(island.radiusSubvoxels); const double effectiveRadius = std::max(0.0, - radius + LobeOffset(recipe, island, dx, dy, z)); + radius + LobeOffsetWithPhase(recipe,Column.Angle,z,Column.LobePhase)); const double edge = std::clamp(radial / std::max(effectiveRadius, 1.0), 0.0, 1.0); const double lowerSurface = static_cast(IslandCrustBottom(recipe, island)) + radius * 0.16 * edge * edge; - const double top = IslandTopSurface(recipe, island, - static_cast(island.centerSubvoxels[0]) + dx, - static_cast(island.centerSubvoxels[1]) + dy); + const double top = Column.TopSurface; const double topDistance = z - top; const double sideDistance = radial - effectiveRadius; const double undersideDistance = lowerSurface - z; @@ -774,7 +944,9 @@ namespace floating_island_detail // Land each connector well inside the broad top so the full capsule footprint remains // supported across the bridge-to-island transition, including bounded surface roughness. // Les connecteurs recouvrent le plateau pour soutenir toute la capsule au raccord. - const double landingFraction = recipe.geometryVersion >= 2 ? 0.38 : 0.62; + // Keep the narrow span exposed to open sky; a smaller fraction buries most of it in the island tops. + // Garder la passerelle etroite visible dans le vide ; une fraction plus faible l'enfouit dans les plateaux. + const double landingFraction = recipe.geometryVersion >= 2 ? 0.52 : 0.62; const double fromReach = static_cast(from.radiusSubvoxels) * landingFraction; const double toReach = static_cast(to.radiusSubvoxels) * landingFraction; const double sx = from.centerSubvoxels[0] + ux * fromReach; @@ -912,6 +1084,10 @@ std::optional FloatingIslandManifestV1::FromJson( || !floating_island_detail::ReadHash(root.Get("content_hash"), manifestHash) || !floating_island_detail::ReadU32(recipeValue.Get("schema_version"), manifest.recipe.schemaVersion) || !floating_island_detail::ReadU32(recipeValue.Get("units_per_voxel"), manifest.recipe.unitsPerVoxel) + || !floating_island_detail::ReadU32(recipeValue.Get("owner_voxel_size_microns"), manifest.recipe.ownerVoxelSizeMicrons) + || !floating_island_detail::ReadU32(recipeValue.Get("core_voxel_size_microns"), manifest.recipe.coreVoxelSizeMicrons) + || !floating_island_detail::ReadU32(recipeValue.Get("owner_to_core_scale_numerator"), manifest.recipe.ownerToCoreScaleNumerator) + || !floating_island_detail::ReadU32(recipeValue.Get("owner_to_core_scale_denominator"), manifest.recipe.ownerToCoreScaleDenominator) || !floating_island_detail::ReadU32(recipeValue.Get("seed"), manifest.recipe.seed) || !floating_island_detail::ReadInteger(recipeValue.Get("origin_x_q"), manifest.recipe.layoutOriginXSubvoxels) || !floating_island_detail::ReadInteger(recipeValue.Get("origin_y_q"), manifest.recipe.layoutOriginYSubvoxels) @@ -1026,6 +1202,10 @@ std::string FloatingIslandManifestV1::ToJson() const << floating_island_detail::HashText(value.contentHash) << "\",\"recipe\":{" << "\"schema_version\":" << recipe.schemaVersion << ",\"units_per_voxel\":" << recipe.unitsPerVoxel + << ",\"owner_voxel_size_microns\":" << recipe.ownerVoxelSizeMicrons + << ",\"core_voxel_size_microns\":" << recipe.coreVoxelSizeMicrons + << ",\"owner_to_core_scale_numerator\":" << recipe.ownerToCoreScaleNumerator + << ",\"owner_to_core_scale_denominator\":" << recipe.ownerToCoreScaleDenominator << ",\"seed\":" << recipe.seed << ",\"origin_x_q\":" << recipe.layoutOriginXSubvoxels << ",\"origin_y_q\":" << recipe.layoutOriginYSubvoxels @@ -1190,6 +1370,17 @@ std::optional PlanFloatingIslandCluster( static_cast(std::ceil(riseLimit(static_cast(i), static_cast(i + 1))))); } + if (recipe.geometryVersion >= 2) + { + // Step the outer route islands around the middle island so the connected path still reads as separate floating masses. + // Decaler les iles externes autour de l'ile centrale pour distinguer les masses tout en gardant la route continue. + constexpr std::int64_t VerticalStagger = 3 * floating_island_detail::Q; + for (std::uint32_t i = 0; i < count; ++i) + { + if (i < middle) tops[i] -= VerticalStagger; + else if (i > middle) tops[i] += VerticalStagger; + } + } for (std::uint32_t i = 0; i < count; ++i) { const std::uint64_t site = 0x100000000ull + i; diff --git a/Standalone/Core/src/ShapeWorldInternal.h b/Standalone/Core/src/ShapeWorldInternal.h index d1fc725..7649fa3 100644 --- a/Standalone/Core/src/ShapeWorldInternal.h +++ b/Standalone/Core/src/ShapeWorldInternal.h @@ -936,6 +936,12 @@ public: // edge interpolation and normals to the existing mesher. float DensityAt(float X,float Y,float Z) const { + float IslandDensity=0.0f; + if(NativeFloatingIslandDensityAt(X,Y,Z,IslandDensity)) + { + ++ThreadClassificationStats().NativeFloatFieldCalls; + return ApplyEditBrushes(IslandDensity,X,Y,Z); + } float NativeDensity=0.0f; if(NativeSurfaceDensityAt(X,Y,Z,NativeDensity)) { @@ -954,6 +960,13 @@ public: float DensityAtLattice(int32 X,int32 Y,int32 Z) const { + float IslandDensity=0.0f; + if(NativeFloatingIslandDensityAt(static_cast(X),static_cast(Y), + static_cast(Z),IslandDensity)) + { + ++ThreadClassificationStats().NativeLatticeFieldCalls; + return ApplyEditBrushes(IslandDensity,X,Y,Z); + } float NativeDensity=0.0f; if(NativeSurfaceDensityAt(static_cast(X),static_cast(Y), static_cast(Z),NativeDensity)) @@ -975,6 +988,12 @@ public: float DensityAtUnclamped(float X,float Y,float Z) const { + float IslandDensity=0.0f; + if(NativeFloatingIslandDensityAt(X,Y,Z,IslandDensity)) + { + ++ThreadClassificationStats().NativeUnclampedFieldCalls; + return ApplyEditBrushes(IslandDensity,X,Y,Z); + } float NativeDensity=0.0f; if(NativeSurfaceDensityAt(X,Y,Z,NativeDensity)) { @@ -1007,11 +1026,18 @@ public: Count=std::clamp(Count,0,8); if(Count==0)return; bool bHasLegacySurfaceSample=false; + bool bHasNativeIslandSample=false; for(int32 Lane=0;Lane(XStart+Lane*XStep),static_cast(Y), - static_cast(Z)); - if(bHasLegacySurfaceSample) + { + const float SampleX=static_cast(XStart+Lane*XStep); + const float SampleY=static_cast(Y); + const float SampleZ=static_cast(Z); + bHasLegacySurfaceSample|=UsesLegacySurfaceField(SampleX,SampleY,SampleZ); + float IslandDensity=0.0f; + bHasNativeIslandSample|=NativeFloatingIslandDensityAt( + SampleX,SampleY,SampleZ,IslandDensity); + } + if(bHasLegacySurfaceSample||bHasNativeIslandSample) { for(int32 Lane=0;LaneManager) { + // Keep the delivered SurfaceWorld chunk mapping unchanged. + // Conserver le mapping de chunks SurfaceWorld deja livre. const int32 FirstChunk=FMath::FloorToInt(static_cast(BMin[2]) /static_cast(CHUNK_SIZE)); const int32 LastChunk=FMath::FloorToInt(static_cast(BMax[2]) /static_cast(CHUNK_SIZE)); for(int32 ChunkZ=FirstChunk;ChunkZ<=LastChunk;++ChunkZ) { - if(Owner->Manager->GetGeneratorTypeForChunk(FIntVector(0,0,ChunkZ)) - ==ECaveGeneratorType::SurfaceWorld) + const ECaveGeneratorType Type=Owner->Manager->GetGeneratorTypeForChunk( + FIntVector(0,0,ChunkZ)); + if(Type==ECaveGeneratorType::SurfaceWorld) { bSurfaceOverlap=true; const int32 StrateIndex=Owner->Manager->GetStrateIndex( @@ -1211,12 +1245,39 @@ public: bBadPlan=true; SurfacePlan=Candidate; } - else bOtherStrateOverlap=true; + else if(Type!=ECaveGeneratorType::FloatingIslands) + bOtherStrateOverlap=true; + } + + // Floating islands use the explicit 12.5 cm owner to 25 cm Core mapping: + // one legacy 4 m chunk occupies 16 Core voxels. + // Les iles flottantes suivent l'echelle explicite proprietaire/Core: 16 voxels Core. + constexpr int32 CoreVoxelsPerIslandChunk=CHUNK_SIZE/2; + const int32 FirstIslandChunk=FMath::FloorToInt(static_cast(BMin[2]) + /static_cast(CoreVoxelsPerIslandChunk)); + const int32 LastIslandChunk=FMath::FloorToInt(static_cast(BMax[2]) + /static_cast(CoreVoxelsPerIslandChunk)); + for(int32 ChunkZ=FirstIslandChunk;ChunkZ<=LastIslandChunk;++ChunkZ) + { + const ECaveGeneratorType Type=Owner->Manager->GetGeneratorTypeForChunk( + FIntVector(0,0,ChunkZ)); + if(Type==ECaveGeneratorType::FloatingIslands) + { + bIslandOverlap=true; + const int32 StrateIndex=Owner->Manager->GetStrateIndex( + static_cast((static_cast(ChunkZ*CHUNK_SIZE+CHUNK_SIZE/2))*VOXEL_SIZE)); + const auto* Candidate=FindWorldAssemblyFloatingIslandStratum(StrateIndex,ChunkZ); + if(!Candidate||(IslandPlan&&IslandPlan!=Candidate))bBadPlan=true; + IslandPlan=Candidate; + } + else bIslandOtherStrateOverlap=true; } } const auto Finish=[&](EVoxelTileClass Verdict,bool bUnknown=false) { - FBoxClassification Result{Verdict,bSurfaceOverlap&&!bOtherStrateOverlap,bUnknown}; + const bool bNative=(bSurfaceOverlap&&!bOtherStrateOverlap) + ||(bIslandOverlap&&!bIslandOtherStrateOverlap); + FBoxClassification Result{Verdict,bNative,bUnknown}; auto& Counts=ThreadClassificationStats(); Counts.Milliseconds+=std::chrono::duration(Clock::now()-Start).count(); if(!Result.bNativeSurface||bUnknown)++Counts.UnknownBoxes; @@ -1227,7 +1288,9 @@ public: }; // A box crossing recipes cannot use one field interval; unknown composition stays Mixed. // Une boite qui traverse plusieurs recettes reste Mixed, car l'intervalle d'un seul champ ne suffit pas. - if(bBadPlan|| (bSurfaceOverlap&&bOtherStrateOverlap)) + if(bBadPlan||(bSurfaceOverlap&&(bIslandOverlap||bOtherStrateOverlap)) + ||(bIslandOverlap&&(bIslandOtherStrateOverlap + ||(!bSurfaceOverlap&&bOtherStrateOverlap)))) return Finish(EVoxelTileClass::Mixed,true); if(!EditBrushes.empty()&&EditBoundsMin.X<=BMax[0]&&EditBoundsMax.X>=BMin[0] &&EditBoundsMin.Y<=BMax[1]&&EditBoundsMax.Y>=BMin[1] @@ -1273,6 +1336,38 @@ public: default:return Finish(EVoxelTileClass::Mixed,true); } } + if(bIslandOverlap) + { + if(!IslandPlan)return Finish(EVoxelTileClass::Mixed,true); + constexpr std::int64_t Scale=VoxelForgeCore::WorldAssemblySubvoxelsPerVoxel; + constexpr std::int64_t CoreVoxelsPerLegacyChunk=CHUNK_SIZE/2; + const std::int64_t Bottom=static_cast(IslandPlan->bottomChunkZ) + *CoreVoxelsPerLegacyChunk*Scale; + const std::int64_t Top=(static_cast(IslandPlan->topChunkZ)+1) + *CoreVoxelsPerLegacyChunk*Scale; + const std::int64_t Seal=IslandPlan->manifest.recipe.boundarySealSubvoxels; + const std::int64_t BoxBottom=static_cast(BMin[2])*Scale; + const std::int64_t BoxTop=static_cast(BMax[2])*Scale; + const bool bBottomSealOverlap=BoxBottom=Bottom; + const bool bTopSealOverlap=BoxBottom<=Top&&BoxTop>Top-Seal; + if(bBottomSealOverlap) + return Finish(BoxBottom>=Bottom&&BoxTop<=Bottom+Seal + ?EVoxelTileClass::AllSolid:EVoxelTileClass::Mixed); + if(bTopSealOverlap) + return Finish(BoxBottom>=Top-Seal&&BoxTop<=Top + ?EVoxelTileClass::AllSolid:EVoxelTileClass::Mixed); + const VoxelForgeCore::FloatingIslandFieldV1 Block( + IslandPlan->manifest.recipe,IslandPlan->manifest.plan); + if(!Block.isValid())return Finish(EVoxelTileClass::Mixed,true); + const auto Interval=Block.interval(static_cast(BMin[0])*Scale, + static_cast(BMin[1])*Scale,static_cast(BMin[2])*Scale, + static_cast(BMax[0])*Scale,static_cast(BMax[1])*Scale, + static_cast(BMax[2])*Scale); + if(!Interval.known)return Finish(EVoxelTileClass::Mixed,true); + if(Interval.minimumDensitySubvoxels>=0)return Finish(EVoxelTileClass::AllAir); + if(Interval.maximumDensitySubvoxels<0)return Finish(EVoxelTileClass::AllSolid); + return Finish(EVoxelTileClass::Mixed); + } const bool bRock=EvaluateFast((BMin[0]+BMax[0])*0.5, (BMin[1]+BMax[1])*0.5,(BMin[2]+BMax[2])*0.5); return Finish(bRock?EVoxelTileClass::AllSolid:EVoxelTileClass::AllAir); @@ -1753,6 +1848,16 @@ private: return It==WorldAssembly->plan.strates.end()?nullptr:&*It; } + const VoxelForgeCore::WorldAssemblyFloatingIslandPlanV1* FindWorldAssemblyFloatingIslandStratum( + int32 StrateIndex,int32 ChunkZ) const + { + if(!WorldAssembly||StrateIndex<0)return nullptr; + const auto It=std::find_if(WorldAssembly->floatingIslands.begin(), + WorldAssembly->floatingIslands.end(),[StrateIndex,ChunkZ](const auto& Entry) + {return Entry.strateIndex==StrateIndex&&ChunkZ<=Entry.topChunkZ&&ChunkZ>=Entry.bottomChunkZ;}); + return It==WorldAssembly->floatingIslands.end()?nullptr:&*It; + } + bool NativeSurfaceDensityAt(float X,float Y,float Z,float& OutDensity) const { if(!WorldAssembly||!Owner||!Owner->Manager||!Owner->Generator @@ -1778,6 +1883,45 @@ private: return true; } + bool NativeFloatingIslandDensityAt(float X,float Y,float Z,float& OutDensity) const + { + if(!WorldAssembly||!Owner||!Owner->Manager||!Owner->Generator + ||!std::isfinite(X)||!std::isfinite(Y)||!std::isfinite(Z))return false; + // Convert Core query Z back to the owner's legacy chunk coordinate. + // Convertir Z du Core vers la coordonnee de chunk legacy du proprietaire. + constexpr int32 CoreVoxelsPerLegacyChunk=CHUNK_SIZE/2; + const int32 ChunkZ=FMath::FloorToInt(Z/static_cast(CoreVoxelsPerLegacyChunk)); + if(Owner->Manager->GetGeneratorTypeForChunk(FIntVector(0,0,ChunkZ)) + !=ECaveGeneratorType::FloatingIslands)return false; + const int32 StrateIndex=Owner->Manager->GetStrateIndex( + static_cast((static_cast(ChunkZ*CHUNK_SIZE+CHUNK_SIZE/2))*VOXEL_SIZE)); + const auto* Plan=FindWorldAssemblyFloatingIslandStratum(StrateIndex,ChunkZ); + if(!Plan)return false; + constexpr double Scale=static_cast(VoxelForgeCore::WorldAssemblySubvoxelsPerVoxel); + constexpr double Maximum=1000000000000.0/Scale; + if(std::abs(static_cast(X))>Maximum||std::abs(static_cast(Y))>Maximum + ||std::abs(static_cast(Z))>Maximum)return false; + const auto ToFixed=[](float Value) + {return static_cast(std::llround(static_cast(Value) + *VoxelForgeCore::WorldAssemblySubvoxelsPerVoxel));}; + const VoxelForgeCore::FloatingIslandFieldV1 Field( + Plan->manifest.recipe,Plan->manifest.plan); + if(!Field.isValid())return false; + std::int64_t Density=Field.densitySubvoxels(ToFixed(X),ToFixed(Y),ToFixed(Z)); + // A legacy 4 m chunk is 16 Core voxels at the published 12.5 cm to 25 cm scale. + // Un chunk legacy de 4 m represente 16 voxels Core avec l'echelle publiee. + const std::int64_t Bottom=static_cast(Plan->bottomChunkZ) + *CoreVoxelsPerLegacyChunk*VoxelForgeCore::WorldAssemblySubvoxelsPerVoxel; + const std::int64_t Top=(static_cast(Plan->topChunkZ)+1) + *CoreVoxelsPerLegacyChunk*VoxelForgeCore::WorldAssemblySubvoxelsPerVoxel; + const std::int64_t Seal=Plan->manifest.recipe.boundarySealSubvoxels; + const std::int64_t Zq=ToFixed(Z); + if(Zq>=Bottom&&Zq(1,Zq-Bottom)); + if(Zq<=Top&&Zq>Top-Seal)Density=std::min(Density,-std::max(1,Top-Zq)); + OutDensity=static_cast(static_cast(Density)/Scale); + return std::isfinite(OutDensity); + } + bool UsesLegacySurfaceField(float X,float Y,float Z) const { if(!Owner||!Owner->Manager||!Owner->Generator)return false; diff --git a/Standalone/Core/src/WorldAssemblerInternal.h b/Standalone/Core/src/WorldAssemblerInternal.h index 49c13f9..ced1443 100644 --- a/Standalone/Core/src/WorldAssemblerInternal.h +++ b/Standalone/Core/src/WorldAssemblerInternal.h @@ -8,6 +8,7 @@ #include #include #include +#include #include #include @@ -403,9 +404,91 @@ namespace world_assembly_detail HashWord(hash, manifest.schemaVersion, 4); HashWord(hash, manifest.recipe.contentHash, 8); HashWord(hash, manifest.plan.contentHash, 8); + // Preserve the historical SurfaceWorld manifest digest when no island plan is attached. + if (!manifest.floatingIslands.empty()) + { + HashWord(hash, 0x464c4f415449534cull, 8); + HashWord(hash, manifest.floatingIslands.size(), 4); + for (const auto& islands : manifest.floatingIslands) + { + HashWord(hash, static_cast(islands.strateIndex), 4); + HashWord(hash, static_cast(islands.topChunkZ), 4); + HashWord(hash, static_cast(islands.bottomChunkZ), 4); + HashWord(hash, islands.manifest.contentHash, 8); + } + } return hash; } + inline void AppendJsonString(std::ostringstream& out, std::string_view value) + { + out << '"'; + for (const unsigned char ch : value) + { + switch (ch) + { + case '"': out << "\\\""; break; + case '\\': out << "\\\\"; break; + case '\b': out << "\\b"; break; + case '\f': out << "\\f"; break; + case '\n': out << "\\n"; break; + case '\r': out << "\\r"; break; + case '\t': out << "\\t"; break; + default: + if (ch < 0x20) out << "\\u00" << std::hex << std::setw(2) + << std::setfill('0') << static_cast(ch) << std::dec; + else out << static_cast(ch); + break; + } + } + out << '"'; + } + + inline void AppendJsonValue(std::ostringstream& out, const VFJson::Value& value) + { + if (std::holds_alternative(value.Data)) out << "null"; + else if (const auto* boolean = std::get_if(&value.Data)) out << (*boolean ? "true" : "false"); + else if (const auto* number = std::get_if(&value.Data)) + { + char buffer[64]; + const auto result = std::to_chars(buffer, buffer + sizeof(buffer), *number, + std::chars_format::general, std::numeric_limits::max_digits10); + if (result.ec == std::errc{}) out.write(buffer, result.ptr - buffer); + else out << '0'; + } + else if (const auto* string = std::get_if(&value.Data)) AppendJsonString(out, *string); + else if (const auto* array = std::get_if(&value.Data)) + { + out << '['; + for (std::size_t i = 0; i < array->size(); ++i) + { if (i) out << ','; AppendJsonValue(out, (*array)[i]); } + out << ']'; + } + else + { + const auto& object = std::get(value.Data); + std::vector keys; + keys.reserve(object.size()); + for (const auto& entry : object) keys.push_back(entry.first); + std::sort(keys.begin(), keys.end()); + out << '{'; + for (std::size_t i = 0; i < keys.size(); ++i) + { + if (i) out << ','; + AppendJsonString(out, keys[i]); out << ':'; + AppendJsonValue(out, object.at(std::string(keys[i]))); + } + out << '}'; + } + } + + inline std::string JsonText(const VFJson::Value& value) + { + std::ostringstream out; + AppendJsonValue(out, value); + return out.str(); + } + inline bool ParseRecipe(const VFJson::Value& value, WorldAssemblyRecipeV1& recipe, std::string& error) { @@ -566,6 +649,26 @@ namespace world_assembly_detail if (error.empty()) error = "world assembly manifest is missing a required field"; return std::nullopt; } + const VFJson::Value& islandPlans = value.Get("floating_islands"); + if (!std::holds_alternative(islandPlans.Data)) + { + if (!islandPlans.IsArray() || islandPlans.AsArray().size() > MaxStrateCount) + { error = "world assembly floating-island plans must be an array of at most sixty-four entries"; return std::nullopt; } + for (const VFJson::Value& islandValue : islandPlans.AsArray()) + { + WorldAssemblyFloatingIslandPlanV1 entry; + if (!islandValue.IsObject() + || !ReadI32(islandValue.Get("strate_index"), entry.strateIndex) + || !ReadI32(islandValue.Get("top_chunk_z"), entry.topChunkZ) + || !ReadI32(islandValue.Get("bottom_chunk_z"), entry.bottomChunkZ)) + { error = "world assembly floating-island slot is missing its resolved strate bounds"; return std::nullopt; } + const std::string nestedJson = JsonText(islandValue.Get("manifest")); + auto parsedIsland = FloatingIslandManifestV1::FromJson(nestedJson, error); + if (!parsedIsland) return std::nullopt; + entry.manifest = std::move(*parsedIsland); + manifest.floatingIslands.push_back(std::move(entry)); + } + } if (!manifest.validate(error)) return std::nullopt; return manifest; } @@ -1292,8 +1395,10 @@ bool WorldAssemblyManifest::finalize(std::string& error) if (schemaVersion != WorldAssemblySchemaVersion || plan.schemaVersion != WorldAssemblySchemaVersion || !world_assembly_detail::ValidateRecipe(recipe, error)) { if (error.empty()) error = "world assembly manifest or plan version is unsupported"; return false; } - if (plan.strates.empty() || plan.strates.size() > world_assembly_detail::MaxStrateCount) - { error = "world assembly plan must contain one to sixty-four finite strates"; return false; } + if ((plan.strates.empty() && floatingIslands.empty()) + || plan.strates.size() > world_assembly_detail::MaxStrateCount + || floatingIslands.size() > world_assembly_detail::MaxStrateCount) + { error = "world assembly must contain SurfaceWorld or floating-island plans within the sixty-four-strate limit"; return false; } std::vector strateIds; for (auto& stratum : plan.strates) { @@ -1323,6 +1428,25 @@ bool WorldAssemblyManifest::finalize(std::string& error) strateIds.push_back(stratum.strateIndex); stratum.contentHash = world_assembly_detail::HashStratum(stratum); } + std::vector islandStrateIds; + for (auto& islands : floatingIslands) + { + if (islands.strateIndex < 0 || islands.topChunkZ < islands.bottomChunkZ + || std::find(islandStrateIds.begin(), islandStrateIds.end(), islands.strateIndex) != islandStrateIds.end()) + { error = "world assembly contains invalid or duplicate floating-island strate bounds"; return false; } + if (!islands.manifest.validate(error)) return false; + if (islands.manifest.recipe.seed != recipe.seed) + { error = "floating-island seed does not match the world assembly season seed"; return false; } + constexpr std::int64_t CoreVoxelsPerLegacyChunk = 16; + const std::int64_t bottomQ = static_cast(islands.bottomChunkZ) + * CoreVoxelsPerLegacyChunk * WorldAssemblySubvoxelsPerVoxel; + const std::int64_t topQ = (static_cast(islands.topChunkZ) + 1) + * CoreVoxelsPerLegacyChunk * WorldAssemblySubvoxelsPerVoxel; + if (islands.manifest.recipe.layoutMinimumZSubvoxels < bottomQ + || islands.manifest.recipe.layoutMaximumZSubvoxels > topQ) + { error = "floating-island recipe layout escapes the resolved 12.5 cm legacy strate bounds"; return false; } + islandStrateIds.push_back(islands.strateIndex); + } recipe.contentHash = world_assembly_detail::HashRecipe(recipe); plan.contentHash = world_assembly_detail::HashPlan(plan); contentHash = world_assembly_detail::HashManifest(*this); @@ -1337,13 +1461,19 @@ bool WorldAssemblyManifest::validate(std::string& error) const const std::uint64_t expectedManifest = contentHash; std::vector expectedStrates; for (const auto& stratum : plan.strates) expectedStrates.push_back(stratum.contentHash); + std::vector expectedIslandManifests; + for (const auto& islands : floatingIslands) expectedIslandManifests.push_back(islands.manifest.contentHash); if (!copy.finalize(error)) return false; if (expectedRecipe != copy.recipe.contentHash || expectedPlan != copy.plan.contentHash - || expectedManifest != copy.contentHash || expectedStrates.size() != copy.plan.strates.size()) + || expectedManifest != copy.contentHash || expectedStrates.size() != copy.plan.strates.size() + || expectedIslandManifests.size() != copy.floatingIslands.size()) { error = "world assembly recipe, plan or manifest content hash does not match its fields"; return false; } for (std::size_t i = 0; i < expectedStrates.size(); ++i) if (expectedStrates[i] != copy.plan.strates[i].contentHash) { error = "world assembly stratum content hash does not match its fields"; return false; } + for (std::size_t i = 0; i < expectedIslandManifests.size(); ++i) + if (expectedIslandManifests[i] != copy.floatingIslands[i].manifest.contentHash) + { error = "world assembly floating-island content hash does not match its fields"; return false; } return true; } @@ -1474,7 +1604,23 @@ std::string WorldAssemblyManifest::ToJson() const } out << "]}"; } - out << "]}}"; + if (value.floatingIslands.empty()) out << "]}}"; + else + { + out << "]},\"floating_islands\":["; + for (std::size_t i = 0; i < value.floatingIslands.size(); ++i) + { + const auto& islands = value.floatingIslands[i]; + if (i) out << ','; + const std::string nested = islands.manifest.ToJson(); + if (nested.empty()) return {}; + out << "{\"strate_index\":" << islands.strateIndex + << ",\"top_chunk_z\":" << islands.topChunkZ + << ",\"bottom_chunk_z\":" << islands.bottomChunkZ + << ",\"manifest\":" << nested << '}'; + } + out << "]}"; + } return out.str(); } diff --git a/Standalone/DESIGN_WORLD_ASSEMBLER.md b/Standalone/DESIGN_WORLD_ASSEMBLER.md index 665a67e..01001ee 100644 --- a/Standalone/DESIGN_WORLD_ASSEMBLER.md +++ b/Standalone/DESIGN_WORLD_ASSEMBLER.md @@ -542,6 +542,55 @@ what the shape list alone misses: site selection, cluster connectivity, landings route. The support ranges do not promise that every roll is pretty or walkable; measurement rejects bad candidates and records which constraint failed. +#### M3 round 2 — look pass and standalone gates + +The legacy settings describe a stochastic site process, not a fixed island count: `IslandDensity=0.5` +is the chance that each hashed XY cell exists. The owner settings are spacing 112 legacy voxels, +radii 24–48 legacy voxels, thickness ratio 0.6, vertical jitter/top flatten 0.6, roughness 3, +blend 6 and boundary seal 4. The production legacy field uses 12.5 cm voxels and Core uses 25 cm, so +the round-2 Core recipe halves length-valued settings: 56 spacing, 12–24 radii, 1.5 roughness, 3 +blend, 2 seal and 6.3 contour warp. Those values preserve 14 m spacing and 3–6 m radii under the +production source scale. The legacy struct's radius comment instead assumes 25 cm, and the frozen +probe metadata reports 25 cm while production `Source` and the plugin `CLAUDE.md` report 12.5 cm. +The next round must reconcile that fixture metadata before publishing the importer contract. + +Geometry version 2 adds a broad crust and 3–4 deterministic tapering root lobes per island. Its +measured total depth is 0.75 of island diameter; the old thin profile control measures 0.30 and is +rejected by the 0.70 thickness gate. Full bounded roughness remains on cliffs and roots, while top +detail is reduced where the route needs stable footing. The three primary islands guarantee an +entrance-to-exit route; density 0.5 selected one optional side island for this seed, giving four +islands and three sharp-tag-ready arched spans. The side island is not part of the route. + +[`M3 Round 2 report`](Research/WorldAssemblerM3/Round2/REPORT.md) records the five matched views, +owner-parameter conversion, the full run ledger, and Round 3 delivery plan. The contact sheet is +[`contact_sheet.jpg`](Research/WorldAssemblerM3/Round2/results/captures/contact_sheet.jpg). Bounds +had zero misses, the route passed 254 capsule centers and 69,088 field samples, the raised-route and +thin-pad controls failed as intended, and W1/W8/W16 field hashes matched. On the same 32,768 physical +query locations, Core took 38.06 ms versus 64.64 ms for the legacy evaluator. The local sample still +contains 10.6× as many native solid points (1,380 vs 130), due to the guaranteed route backbone and +deeper root profile; this is a known local density difference, not an occupancy-parity claim. + +#### M3 round 3 — Unreal delivery plan + +1. Resolve the legacy/Core voxel-scale conflict using the production field constant and the owner + snapshot producer; record a single conversion rule in the imported manifest and its preview notes. +2. Add the floating-island recipe and plan to the existing optional `world_assembly` import pattern. + Parse through `ResolvedWorldSnapshot::FromJson`, validate recipe/plan hashes and stable feature + IDs, and reject malformed or scale-mismatched payloads before generation. +3. Prove the imported plan in a null-RHI BuildHost commandlet. Check the canonical hashes and W1/W8/W16 + queries, then compare generated tiles against the reviewed standalone field without changing the + existing Core world or SurfaceWorld hashes. +4. Carry island and sharp-tag-ready span IDs into the feature-aware mesher path. Audit same-LOD and + LOD0/LOD1 borders around the crust, roots and arch landings. +5. Cook the rendered collision, trace it on the Pawn channel, and capsule-sweep the same serialized + route. Compare collision support points to analytic Core support at the island tops and spans. +6. Hand the owner the manifest, five-view sheet, import steps, route coordinates, and collision + results. Use a duplicated test settings asset for preview only after the owner authorizes project + asset work; keep shipped assets untouched during the standalone proof. + +Water remains a separate fixed-season body and is not part of the round-2 field or the round-3 +collision claim. + ## E. Milestones that end in owner-visible artifacts These estimates are engineering rounds, not elapsed-time promises. Each milestone ends with a @@ -551,7 +600,7 @@ standalone viewer/contact sheet, data report or playable inspection the owner ca |---|---:|---|---| | M1 — sharp-mesher decision spike | 2 rounds | 25 cm contact sheet of corner, one-metre step, cliff ledge and doorway: current MC beside feature-aware output; include LOD/tile seam and collision overlays | Measure surface error, normal splits, determinism and seam behavior before building architectural recipes on top | | M2 — SurfaceWorld native vertical slice | 3 rounds | Matched-camera native surface with two biomes, a coast/beach, cliff/overhang, cap, route markers and timing beside the exact legacy bridge | No missed bound; the matched full-view workload materially beats the 23.085 s bridge; local collision/query readiness is reported separately; route candidate survives final composition | -| M3 — FloatingIslands volumetric proof | 2 rounds | Walkable island cluster with underside/cliff views, water/body overlay, tile/LOD seam views and bound counters | Stable field/feature IDs; no false interval proof; route support is visible and capsule-swept | +| M3 — FloatingIslands volumetric proof and Unreal delivery | 3 rounds | Walkable island cluster with underside/cliff views, tile/LOD seam views, imported manifest, BuildHost proof and cooked route collision | Stable field/feature IDs; no false interval proof; route support is visible and capsule-swept | | M4 — route, edit and water law | 2 rounds | Owner can inspect before/after edit views and traverse the tested route; report shows protect-or-replace transaction and unchanged seasonal water IDs | Final-field capsule clearance/support passes; edit either preserves route or atomically installs a replacement; water remains fixed | M1 goes first because the owner needs to judge crisp geometry before a slow legacy/native comparison diff --git a/Standalone/Research/OwnerShapeWorld/gpu_field_port/LUNA_DIALOGUE.md b/Standalone/Research/OwnerShapeWorld/gpu_field_port/LUNA_DIALOGUE.md index 5155e60..09f57eb 100644 --- a/Standalone/Research/OwnerShapeWorld/gpu_field_port/LUNA_DIALOGUE.md +++ b/Standalone/Research/OwnerShapeWorld/gpu_field_port/LUNA_DIALOGUE.md @@ -1063,3 +1063,8 @@ match; the M2 mesher hash matrix was not replayed. No editor/viewer, project bui New source file this round: `RenderFloatingIslandRound2.py`. — Luna +## World assembler M3 round 3 — 2026-10-10 + +The owner's scale is settled at 12.5 cm per legacy voxel and 25 cm per Core voxel (owner-to-Core length ratio 0.5). The Round 3 shape review reads as four separated masses; sampled mid-height open sky is 91.89% of the XY bounding box. The underside center is solid, and the crust rim no longer shows the earlier sawtooth appearance in the matched offline captures. + +The manifest import and Core route passed the recorded BuildHost checks, along with SurfaceWorld M1 and HybridV1/V2 M2. Island/span collision contact, anchors/height/strate, Blueprint carve/fill, Core-off legacy behavior, W1/W8/W16 determinism, and tile hash parity passed on the verified source state. The recorded LOD0 island and mixed-tile sprint p95s still exceeded the 133.333 ms deadline by about 24 ms and 20 ms. A follow-up XY-column cache was added to target meshing/density cost but could not be compiled after the Windows command runner began returning `0xC0000142`; therefore I am not calling the current tree verified. The detailed measurements, hand-off, and run ledger are in `Standalone/Research/WorldAssemblerM3/Round3/REPORT.md`. diff --git a/Standalone/Research/WorldAssemblerM3/Round3/BuildFloatingIslandsAudit.ps1 b/Standalone/Research/WorldAssemblerM3/Round3/BuildFloatingIslandsAudit.ps1 new file mode 100644 index 0000000..820bcd3 --- /dev/null +++ b/Standalone/Research/WorldAssemblerM3/Round3/BuildFloatingIslandsAudit.ps1 @@ -0,0 +1,118 @@ +[CmdletBinding()] +param( + [string]$ProbePath = (Join-Path $PSScriptRoot '..\..\OwnerShapeWorld\core_strate_coverage\probes\type_6_FloatingIslands.json'), + [string]$OutputDirectory = (Join-Path $PSScriptRoot 'results') +) + +$ErrorActionPreference = 'Stop' +$ScriptProcess = Get-Process -Id $PID +$ScriptProcess.PriorityClass = 'BelowNormal' +$StandaloneRoot = [IO.Path]::GetFullPath((Join-Path $PSScriptRoot '..\..\..')) +$BuildRoot = Join-Path $StandaloneRoot 'Build\VoxelForgeCore' +$CoreLibrary = Join-Path $BuildRoot 'VoxelForgeCore.lib' +$AuditSource = Join-Path $PSScriptRoot 'FloatingIslandsAudit.cpp' +$AuditExe = Join-Path $BuildRoot 'FloatingIslandsAudit.exe' +$ProbePath = [IO.Path]::GetFullPath($ProbePath) +$OutputDirectory = [IO.Path]::GetFullPath($OutputDirectory) +$VcVars = 'E:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat' +if (-not (Test-Path -LiteralPath $CoreLibrary -PathType Leaf)) { throw "Core library is missing: $CoreLibrary" } +if (-not (Test-Path -LiteralPath $ProbePath -PathType Leaf)) { throw "Legacy probe is missing: $ProbePath" } +if (-not (Test-Path -LiteralPath $VcVars -PathType Leaf)) { throw "MSVC environment script is missing: $VcVars" } +[IO.Directory]::CreateDirectory($OutputDirectory) | Out-Null + +$IncludeArgs = @( + ('/I"{0}"' -f (Join-Path $StandaloneRoot 'Core\include')), + ('/I"{0}"' -f (Join-Path $StandaloneRoot 'Core\src')), + ('/I"{0}"' -f (Join-Path $StandaloneRoot 'Compat')), + ('/I"{0}"' -f (Join-Path $StandaloneRoot 'Source')), + ('/I"{0}"' -f (Join-Path $StandaloneRoot 'Source\VoxelForge\Public')), + ('/I"{0}"' -f (Join-Path $StandaloneRoot 'Source\VoxelForge\Private')) +) +$LegacyObjectNames = @( + 'UnrealPerlin.obj','StandaloneDataAssetGlue.obj','VoxelBiomeDefinition.obj','VoxelCaveMorphology.obj', + 'VoxelDensityAblation.obj','VoxelDensityOpStack.obj','VoxelDensityProfile.obj','VoxelDiffLayer.obj', + 'VoxelGenerator.obj','VoxelHeightOpStack.obj','VoxelMarchingCubesMesher.obj','VoxelSettings.obj', + 'VoxelStrateComposer.obj','VoxelStrateManager.obj','VoxelStrateMeasure.obj','VoxelTerrainOpDefinition.obj', + 'VoxelWormField.obj','GpuFarViewerLinkStubs.obj' +) +foreach ($ObjectName in $LegacyObjectNames) { + if (-not (Test-Path -LiteralPath (Join-Path $BuildRoot $ObjectName) -PathType Leaf)) { + throw "Required legacy bridge object is missing: $ObjectName; run Standalone/Build.ps1 -Target All first." + } +} + +$ResponsePath = Join-Path $BuildRoot 'floating-islands-audit.rsp' +$ResponseLines = @('/nologo','/std:c++20','/O2','/arch:AVX2','/fp:precise','/EHsc','/D_CRT_SECURE_NO_WARNINGS') + + $IncludeArgs + @(('/Fe"{0}"' -f $AuditExe),('"{0}"' -f $AuditSource)) + + @($LegacyObjectNames | ForEach-Object { '"{0}"' -f $_ }) + @( + ('"{0}"' -f $CoreLibrary),'/link','d3d11.lib','dxgi.lib','d3dcompiler.lib','user32.lib','gdi32.lib' + ) +[IO.File]::WriteAllLines($ResponsePath,$ResponseLines,[Text.UTF8Encoding]::new($false)) +Push-Location $BuildRoot +try { + $CompileCommand = 'call "{0}" >nul && cl.exe @"{1}"' -f $VcVars,$ResponsePath + & $env:ComSpec /d /s /c $CompileCommand + if ($LASTEXITCODE -eq -1073741502) { throw 'Audit build exited with 0xC0000142; retry once using this same wrapper.' } + if ($LASTEXITCODE -ne 0) { throw "Floating-island audit build failed with exit code $LASTEXITCODE" } + if (-not (Test-Path -LiteralPath $AuditExe -PathType Leaf)) { throw "Audit executable was not produced: $AuditExe" } +} finally { Pop-Location } + +$RunLedger = Join-Path $OutputDirectory 'run_ledger.txt' +$RunRecords = [Collections.Generic.List[string]]::new() +$Succeeded = $false +for ($Attempt = 1; $Attempt -le 2 -and -not $Succeeded; ++$Attempt) { + $StartInfo = [Diagnostics.ProcessStartInfo]::new() + $StartInfo.FileName = $AuditExe + $StartInfo.Arguments = '"{0}" "{1}"' -f $ProbePath.Replace('"','\"'),$OutputDirectory.Replace('"','\"') + $StartInfo.WorkingDirectory = $BuildRoot + $StartInfo.UseShellExecute = $false + $StartInfo.CreateNoWindow = $true + $StartInfo.RedirectStandardOutput = $true + $StartInfo.RedirectStandardError = $true + $Process = [Diagnostics.Process]::new() + $Process.StartInfo = $StartInfo + [void]$Process.Start() + try { $Process.PriorityClass = 'BelowNormal' } catch { } + $StdoutTask = $Process.StandardOutput.ReadToEndAsync() + $StderrTask = $Process.StandardError.ReadToEndAsync() + $Clock = [Diagnostics.Stopwatch]::StartNew() + [int64]$PeakPrivateBytes = 0 + $LimitFailure = $null + while (-not $Process.WaitForExit(250)) { + $Process.Refresh() + $PeakPrivateBytes = [Math]::Max($PeakPrivateBytes,$Process.PrivateMemorySize64) + if ($PeakPrivateBytes -gt 8GB) { + $LimitFailure = 'process private bytes exceeded 8 GiB' + $Process.Kill() + break + } + if ($Clock.Elapsed.TotalMinutes -ge 15.0) { + $LimitFailure = 'audit test exceeded the 15-minute time box' + $Process.Kill() + break + } + } + $Process.WaitForExit() + $Clock.Stop() + $Process.Refresh() + $PeakPrivateBytes = [Math]::Max($PeakPrivateBytes,$Process.PrivateMemorySize64) + $Stdout = $StdoutTask.GetAwaiter().GetResult() + $Stderr = $StderrTask.GetAwaiter().GetResult() + if ($Stdout) { Write-Output $Stdout.TrimEnd() } + if ($Stderr) { [Console]::Error.WriteLine($Stderr.TrimEnd()) } + $ExitCode = $Process.ExitCode + $Status = if ($LimitFailure) { $LimitFailure } elseif ($ExitCode -eq 0) { 'passed' } else { "failed exit=$ExitCode" } + $RunRecords.Add("attempt=$Attempt status=$Status elapsed_s=$([Math]::Round($Clock.Elapsed.TotalSeconds,2)) peak_private_MiB=$([Math]::Round($PeakPrivateBytes/1MB,1)) exit=$ExitCode") + if ($LimitFailure) { break } + if ($ExitCode -eq 0) { $Succeeded = $true; break } + if ($ExitCode -eq -1073741502 -and $Attempt -eq 1) { + $RunRecords.Add('retry_reason=0xC0000142 single permitted retry') + continue + } + break +} +[IO.File]::WriteAllLines($RunLedger,$RunRecords,[Text.UTF8Encoding]::new($false)) +Get-Content -LiteralPath $RunLedger | Write-Output +if (-not $Succeeded) { throw "Floating-island audit run failed or exceeded a process limit. See $RunLedger" } +Write-Output "audit_executable=$AuditExe" +Write-Output "audit_results=$OutputDirectory" diff --git a/Standalone/Research/WorldAssemblerM3/Round3/FloatingIslandsAudit.cpp b/Standalone/Research/WorldAssemblerM3/Round3/FloatingIslandsAudit.cpp new file mode 100644 index 0000000..a317713 --- /dev/null +++ b/Standalone/Research/WorldAssemblerM3/Round3/FloatingIslandsAudit.cpp @@ -0,0 +1,923 @@ +#include "CoreMinimal.h" +#include "OwnerWorldLoader.h" +#include "VoxelForgeCore/VoxelForgeCore.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(_WIN32) +#ifdef TEXT +#undef TEXT +#endif +#ifndef NOMINMAX +#define NOMINMAX +#endif +#include +#ifdef TEXT +#undef TEXT +#endif +#endif + +namespace +{ + using namespace VoxelForgeCore; + constexpr std::int64_t Q = WorldAssemblySubvoxelsPerVoxel; + using Clock = std::chrono::steady_clock; + using Point = std::array; + + struct OracleAnchor + { + Point surfaceQ{}; + std::uint32_t supportScore = 0; + }; + + struct SampleStats + { + std::string hash; + double legacyMilliseconds = 0.0; + double nativeMilliseconds = 0.0; + std::uint64_t signMismatches = 0; + std::uint64_t legacySolidSamples = 0; + std::uint64_t nativeSolidSamples = 0; + std::uint64_t legacyOnlySolidSamples = 0; + std::uint64_t nativeOnlySolidSamples = 0; + double legacyChecksum = 0.0; + double nativeChecksum = 0.0; + }; + + struct Triangle + { + std::array values{}; // Three xyz vertices followed by one flat normal. + }; + + struct MeshResult + { + std::uint64_t gridSamples = 0; + std::uint64_t triangles = 0; + std::uint64_t bytes = 0; + }; + + struct ExistingHashes + { + std::string round1Manifest; + std::string surfaceWorldRound4Manifest; + }; + + struct OpenSkyAudit + { + std::array minimumXY{}; + std::array maximumXY{}; + std::int64_t midHeight = 0; + std::uint64_t openSamples = 0; + std::uint64_t totalSamples = 0; + }; + + std::uint64_t Mix(std::uint64_t value) + { + value += 0x9e3779b97f4a7c15ull; + value = (value ^ (value >> 30)) * 0xbf58476d1ce4e5b9ull; + value = (value ^ (value >> 27)) * 0x94d049bb133111ebull; + return value ^ (value >> 31); + } + + std::uint64_t Next(std::uint64_t& state) + { + state += 0x9e3779b97f4a7c15ull; + return Mix(state); + } + + std::int64_t VoxQ(double value) + { return static_cast(std::llround(value * static_cast(Q))); } + + std::string Hex64(std::uint64_t value) + { + std::ostringstream output; + output << std::hex << std::setfill('0') << std::setw(16) << value; + return output.str(); + } + + std::string HashValues(const std::vector& values) + { + std::uint64_t hash = 14695981039346656037ull; + for (const auto value : values) + for (int byte = 0; byte < 8; ++byte) + { + hash ^= static_cast(static_cast(value) >> (byte * 8)); + hash *= 1099511628211ull; + } + return Hex64(hash); + } + + ExistingHashes VerifyExistingManifests(const std::filesystem::path& standaloneRoot) + { + const auto read = [](const std::filesystem::path& path) + { + std::ifstream input(path, std::ios::binary); + if (!input) throw std::runtime_error("cannot read existing manifest: " + path.string()); + return std::string(std::istreambuf_iterator(input), std::istreambuf_iterator()); + }; + ExistingHashes hashes; + std::string error; + const auto round1 = WorldAssemblyManifest::FromJson(read( + standaloneRoot / "Research/WorldAssemblerM1/round1-manifest.json"), error); + if (!round1 || !round1->validate(error) + || Hex64(round1->contentHash) != "c87ae279b0e26f53") + throw std::runtime_error("existing M1 manifest hash changed or failed validation: " + error); + hashes.round1Manifest = Hex64(round1->contentHash); + error.clear(); + const auto surface = WorldAssemblyManifest::FromJson(read( + standaloneRoot / "Research/WorldAssemblerM1/round4/world_assembly.json"), error); + if (!surface || !surface->validate(error) + || Hex64(surface->contentHash) != "8933693d9560ba9f") + throw std::runtime_error("existing SurfaceWorld round-4 hash changed or failed validation: " + error); + hashes.surfaceWorldRound4Manifest = Hex64(surface->contentHash); + return hashes; + } + + float LegacyDensity(const FStandaloneOwnerWorld& owner, const Point& q) + { + constexpr double CoreToLegacyVoxelScale = 2.0; + return owner.Generator->GetDensityAt( + static_cast(CoreToLegacyVoxelScale * q[0] / static_cast(Q)), + static_cast(CoreToLegacyVoxelScale * q[1] / static_cast(Q)), + static_cast(CoreToLegacyVoxelScale * q[2] / static_cast(Q))); + } + + OracleAnchor FindLegacyAnchor(const FStandaloneOwnerWorld& owner) + { + OracleAnchor best; + const float highZ = -560.0f; + const float lowZ = -2480.0f; + constexpr float ScanStep = 8.0f; + for (int y = -448; y <= 448; y += 16) + for (int x = -448; x <= 448; x += 16) + { + float airZ = highZ; + float above = owner.Generator->GetDensityAt(static_cast(x), + static_cast(y), airZ); + if (above < 0.0f) continue; + for (float solidZ = highZ - ScanStep; solidZ >= lowZ; solidZ -= ScanStep) + { + const float density = owner.Generator->GetDensityAt(static_cast(x), + static_cast(y), solidZ); + if (density < 0.0f) + { + float outside = airZ, inside = solidZ; + for (int iteration = 0; iteration < 12; ++iteration) + { + const float middle = (outside + inside) * 0.5f; + if (owner.Generator->GetDensityAt(static_cast(x), + static_cast(y), middle) < 0.0f) inside = middle; + else outside = middle; + } + const std::int64_t topQ = VoxQ(outside); + std::uint32_t score = 0; + for (int dy = -16; dy <= 16; dy += 8) + for (int dx = -16; dx <= 16; dx += 8) + if (owner.Generator->GetDensityAt(static_cast(x + dx), + static_cast(y + dy), + static_cast((topQ - 4 * Q) / static_cast(Q))) < 0.0f) + ++score; + if (score > best.supportScore + || (score == best.supportScore + && std::abs(x) + std::abs(y) + < std::abs(best.surfaceQ[0] / Q) + std::abs(best.surfaceQ[1] / Q))) + { + best.surfaceQ = {static_cast(x) * Q, + static_cast(y) * Q, topQ}; + best.supportScore = score; + } + break; // The first air-to-solid crossing is the island top. + } + airZ = solidZ; + } + } + return best; + } + + std::vector MakeSamples(const FloatingIslandInfluenceBounds& bounds, + std::size_t count, std::uint64_t seed) + { + std::vector points(count); + std::uint64_t state = seed; + for (auto& point : points) + for (std::size_t axis = 0; axis < 3; ++axis) + { + const std::uint64_t span = static_cast( + bounds.maximumSubvoxels[axis] - bounds.minimumSubvoxels[axis] + 1); + point[axis] = bounds.minimumSubvoxels[axis] + + static_cast(Next(state) % std::max(span, 1)); + } + return points; + } + + OpenSkyAudit MeasureOpenSky(const FloatingIslandFieldV1& field) + { + OpenSkyAudit result; + const FloatingIslandInfluenceBounds bounds = field.influenceBounds(); + if (!bounds.finite) throw std::runtime_error("floating-island cluster has no finite bounds"); + result.minimumXY = {bounds.minimumSubvoxels[0], bounds.minimumSubvoxels[1]}; + result.maximumXY = {bounds.maximumSubvoxels[0], bounds.maximumSubvoxels[1]}; + result.midHeight = (bounds.minimumSubvoxels[2] + bounds.maximumSubvoxels[2]) / 2; + constexpr std::int64_t SampleStep = 4 * Q; + for (std::int64_t y = result.minimumXY[1]; y <= result.maximumXY[1]; y += SampleStep) + for (std::int64_t x = result.minimumXY[0]; x <= result.maximumXY[0]; x += SampleStep) + { + if (field.densitySubvoxels(x, y, result.midHeight) >= 0) ++result.openSamples; + ++result.totalSamples; + } + return result; + } + + void WriteIslandImportManifest(const std::filesystem::path& standaloneRoot, + const FloatingIslandManifestV1& islands, const FStrateSlot& slot, + const std::filesystem::path& outputDir) + { + const auto parentPath = standaloneRoot / "Research/WorldAssemblerM1/round4/world_assembly.json"; + std::ifstream parentInput(parentPath, std::ios::binary); + if (!parentInput) throw std::runtime_error("cannot read seed-matched parent world assembly recipe"); + const std::string parentText{std::istreambuf_iterator(parentInput), + std::istreambuf_iterator()}; + std::string error; + auto parsedParent = WorldAssemblyManifest::FromJson(parentText, error); + if (!parsedParent) throw std::runtime_error("cannot parse parent world assembly recipe: " + error); + parsedParent->plan.strates.clear(); + parsedParent->floatingIslands.clear(); + WorldAssemblyFloatingIslandPlanV1 entry; + entry.strateIndex = slot.StrateIndex; + entry.topChunkZ = slot.TopChunkZ; + entry.bottomChunkZ = slot.BottomChunkZ; + entry.manifest = islands; + parsedParent->floatingIslands.push_back(std::move(entry)); + if (!parsedParent->finalize(error)) + throw std::runtime_error("combined island import manifest is invalid: " + error); + const std::string canonical = parsedParent->ToJson(); + const auto roundTrip = WorldAssemblyManifest::FromJson(canonical, error); + if (canonical.empty() || !roundTrip || roundTrip->ToJson() != canonical) + throw std::runtime_error("combined island import manifest failed canonical round-trip: " + error); + std::ofstream nested(outputDir / "floating_island_manifest.json", std::ios::trunc); + nested << islands.ToJson() << '\n'; + if (!nested) throw std::runtime_error("cannot write nested floating-island manifest"); + std::ofstream combined(outputDir / "world_assembly_floating_islands.json", std::ios::trunc); + combined << canonical << '\n'; + if (!combined) throw std::runtime_error("cannot write combined floating-island import manifest"); + } + + SampleStats HashWithWorkers(const FloatingIslandFieldV1& field, + const FStandaloneOwnerWorld& owner, const std::vector& points, + std::uint32_t workers, bool measure) + { + std::vector values(points.size()); + std::vector threads; + threads.reserve(workers); + const auto evaluate = [&](std::uint32_t worker) + { + for (std::size_t i = worker; i < points.size(); i += workers) + values[i] = field.densitySubvoxels(points[i][0], points[i][1], points[i][2]); + }; + for (std::uint32_t worker = 0; worker < workers; ++worker) + threads.emplace_back(evaluate, worker); + for (auto& thread : threads) thread.join(); + + SampleStats stats; + stats.hash = HashValues(values); + if (!measure) return stats; + std::vector legacyValues(points.size()); + const auto beginLegacy = Clock::now(); + double legacyChecksum = 0.0; + for (std::size_t i = 0; i < points.size(); ++i) + { + const float value = LegacyDensity(owner, points[i]); + legacyValues[i] = value; + legacyChecksum += value; + } + const auto endLegacy = Clock::now(); + const auto beginNative = Clock::now(); + double nativeChecksum = 0.0; + for (const Point& point : points) + nativeChecksum += static_cast(field.densitySubvoxels( + point[0], point[1], point[2])) / static_cast(Q); + const auto endNative = Clock::now(); + for (std::size_t i = 0; i < values.size(); ++i) + { + const bool legacySolid = legacyValues[i] < 0.0f; + const bool nativeSolid = values[i] < 0; + if (legacySolid) ++stats.legacySolidSamples; + if (nativeSolid) ++stats.nativeSolidSamples; + if (legacySolid && !nativeSolid) ++stats.legacyOnlySolidSamples; + if (nativeSolid && !legacySolid) ++stats.nativeOnlySolidSamples; + if (legacySolid != nativeSolid) ++stats.signMismatches; + } + stats.legacyMilliseconds = std::chrono::duration(endLegacy - beginLegacy).count(); + stats.nativeMilliseconds = std::chrono::duration(endNative - beginNative).count(); + stats.legacyChecksum = legacyChecksum; + stats.nativeChecksum = nativeChecksum; + return stats; + } + + using D3 = std::array; + D3 Add(D3 a, D3 b) { return {a[0] + b[0], a[1] + b[1], a[2] + b[2]}; } + D3 Sub(D3 a, D3 b) { return {a[0] - b[0], a[1] - b[1], a[2] - b[2]}; } + D3 Mul(D3 a, double s) { return {a[0] * s, a[1] * s, a[2] * s}; } + double Dot(D3 a, D3 b) { return a[0] * b[0] + a[1] * b[1] + a[2] * b[2]; } + D3 Cross(D3 a, D3 b) + { return {a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0]}; } + double Length(D3 a) { return std::sqrt(Dot(a, a)); } + D3 Normalize(D3 a) + { + const double length = Length(a); + return length > 1e-12 ? Mul(a, 1.0 / length) : D3{0.0, 0.0, 1.0}; + } + + double SampleNative(const FloatingIslandFieldV1& field, const Point& q) + { return static_cast(field.densitySubvoxels(q[0], q[1], q[2])) / static_cast(Q); } + + double SampleLegacy(const FStandaloneOwnerWorld& owner, const Point& q) + { return static_cast(LegacyDensity(owner, q)); } + + double TetGradient(const std::array& points, const std::array& values, D3& output) + { + const D3 a = Sub(points[1], points[0]); + const D3 b = Sub(points[2], points[0]); + const D3 c = Sub(points[3], points[0]); + const D3 bc = Cross(b, c), ca = Cross(c, a), ab = Cross(a, b); + const double determinant = Dot(a, bc); + if (std::abs(determinant) < 1e-12) { output = {0.0, 0.0, 1.0}; return 0.0; } + output = Mul(Add(Add(Mul(bc, values[1] - values[0]), + Mul(ca, values[2] - values[0])), Mul(ab, values[3] - values[0])), 1.0 / determinant); + return Length(output); + } + + MeshResult ExtractMesh(const std::filesystem::path& outputPath, + Point minimumQ, Point maximumQ, std::int64_t stepQ, + const std::function& density) + { + const std::size_t nx = static_cast((maximumQ[0] - minimumQ[0]) / stepQ + 1); + const std::size_t ny = static_cast((maximumQ[1] - minimumQ[1]) / stepQ + 1); + const std::size_t nz = static_cast((maximumQ[2] - minimumQ[2]) / stepQ + 1); + const std::size_t gridCount = nx * ny * nz; + if (gridCount > 4'000'000) throw std::runtime_error("mesh grid exceeds the 4M-sample cap"); + std::vector grid(gridCount); + const auto gridIndex = [=](std::size_t x, std::size_t y, std::size_t z) + { return (z * ny + y) * nx + x; }; + for (std::size_t z = 0; z < nz; ++z) + for (std::size_t y = 0; y < ny; ++y) + for (std::size_t x = 0; x < nx; ++x) + { + const Point q{minimumQ[0] + static_cast(x) * stepQ, + minimumQ[1] + static_cast(y) * stepQ, + minimumQ[2] + static_cast(z) * stepQ}; + grid[gridIndex(x, y, z)] = static_cast(density(q)); + } + + constexpr std::array, 8> Corner = {{{0,0,0},{1,0,0},{1,1,0},{0,1,0}, + {0,0,1},{1,0,1},{1,1,1},{0,1,1}}}; + constexpr std::array, 6> Tets = {{{0,5,1,6},{0,1,2,6},{0,2,3,6}, + {0,3,7,6},{0,7,4,6},{0,4,5,6}}}; + constexpr std::array, 6> TetEdges = {{{0,1},{0,2},{0,3},{1,2},{1,3},{2,3}}}; + std::vector triangles; + triangles.reserve(8192); + for (std::size_t z = 0; z + 1 < nz; ++z) + for (std::size_t y = 0; y + 1 < ny; ++y) + for (std::size_t x = 0; x + 1 < nx; ++x) + { + std::array cubePoints{}; + std::array cubeValues{}; + double low = std::numeric_limits::infinity(); + double high = -std::numeric_limits::infinity(); + for (std::size_t corner = 0; corner < Corner.size(); ++corner) + { + const auto& offset = Corner[corner]; + cubePoints[corner] = { + static_cast(minimumQ[0] + static_cast(x + offset[0]) * stepQ) / Q, + static_cast(minimumQ[1] + static_cast(y + offset[1]) * stepQ) / Q, + static_cast(minimumQ[2] + static_cast(z + offset[2]) * stepQ) / Q}; + cubeValues[corner] = grid[gridIndex(x + offset[0], y + offset[1], z + offset[2])]; + low = std::min(low, cubeValues[corner]); + high = std::max(high, cubeValues[corner]); + } + if (low >= 0.0 || high < 0.0) continue; + + for (const auto& tet : Tets) + { + std::array points{}; + std::array values{}; + for (std::size_t i = 0; i < 4; ++i) + { points[i] = cubePoints[tet[i]]; values[i] = cubeValues[tet[i]]; } + std::array polygon{}; + std::size_t polygonCount = 0; + for (const auto& edge : TetEdges) + { + const int ia = edge[0], ib = edge[1]; + if ((values[ia] < 0.0) == (values[ib] < 0.0)) continue; + const double t = values[ia] / (values[ia] - values[ib]); + const D3 point = Add(points[ia], Mul(Sub(points[ib], points[ia]), t)); + bool duplicate = false; + for (std::size_t i = 0; i < polygonCount; ++i) + if (Length(Sub(polygon[i], point)) < 1e-7) { duplicate = true; break; } + if (!duplicate && polygonCount < polygon.size()) polygon[polygonCount++] = point; + } + if (polygonCount < 3) continue; + D3 normal{}; + TetGradient(points, values, normal); + normal = Normalize(normal); + D3 center{}; + for (std::size_t i = 0; i < polygonCount; ++i) center = Add(center, polygon[i]); + center = Mul(center, 1.0 / polygonCount); + const D3 axis = std::abs(normal[2]) < 0.85 ? D3{0,0,1} : D3{0,1,0}; + const D3 right = Normalize(Cross(axis, normal)); + const D3 up = Normalize(Cross(normal, right)); + std::array, 4> ordered{}; + for (std::size_t i = 0; i < polygonCount; ++i) + { + const D3 delta = Sub(polygon[i], center); + ordered[i] = {std::atan2(Dot(delta, up), Dot(delta, right)), polygon[i]}; + } + std::sort(ordered.begin(), ordered.begin() + polygonCount, + [](const auto& a, const auto& b) { return a.first < b.first; }); + for (std::size_t i = 1; i + 1 < polygonCount; ++i) + { + D3 a = ordered[0].second, b = ordered[i].second, c = ordered[i + 1].second; + if (Dot(Cross(Sub(b, a), Sub(c, a)), normal) < 0.0) std::swap(b, c); + Triangle triangle; + for (std::size_t axisIndex = 0; axisIndex < 3; ++axisIndex) + { + triangle.values[axisIndex] = static_cast(a[axisIndex]); + triangle.values[3 + axisIndex] = static_cast(b[axisIndex]); + triangle.values[6 + axisIndex] = static_cast(c[axisIndex]); + triangle.values[9 + axisIndex] = static_cast(normal[axisIndex]); + } + triangles.push_back(triangle); + } + } + } + + std::ofstream output(outputPath, std::ios::binary | std::ios::trunc); + if (!output) throw std::runtime_error("cannot create mesh capture: " + outputPath.string()); + const std::uint32_t count = static_cast(triangles.size()); + output.write("VFMI", 4); + output.write(reinterpret_cast(&count), sizeof(count)); + for (const auto& triangle : triangles) + output.write(reinterpret_cast(triangle.values.data()), + static_cast(sizeof(triangle.values))); + output.close(); + MeshResult result; + result.gridSamples = gridCount; + result.triangles = triangles.size(); + result.bytes = std::filesystem::file_size(outputPath); + return result; + } + + void WriteJson(const std::filesystem::path& path, const FloatingIslandManifestV1& manifest, + const FloatingIslandBoundsAuditResult& bounds, const FloatingIslandRouteAuditResult& route, + const FloatingIslandRouteAuditResult& raised, const SampleStats& sample, + const FloatingIslandThicknessAuditResult& thickness, + const FloatingIslandThicknessAuditResult& thinThickness, + const OracleAnchor& anchor, const std::array& meshes, + const std::array& fieldHashes, const ExistingHashes& oldHashes, + const OpenSkyAudit& openSky) + { + const Point ownerAnchorQ = anchor.surfaceQ; + const Point coreAnchorQ{ownerAnchorQ[0] / 2, ownerAnchorQ[1] / 2, ownerAnchorQ[2] / 2}; + std::ofstream out(path, std::ios::trunc); + if (!out) throw std::runtime_error("cannot create audit result JSON"); + out << std::setprecision(12); + out << "{\n \"recipe_hash\":\"" << Hex64(manifest.recipe.contentHash) + << "\",\n \"plan_hash\":\"" << Hex64(manifest.plan.contentHash) + << "\",\n \"manifest_hash\":\"" << Hex64(manifest.contentHash) + << "\",\n \"unchanged_existing_hashes\":{\"m1_round1_manifest\":\"" + << oldHashes.round1Manifest << "\",\"surfaceworld_round4_manifest\":\"" + << oldHashes.surfaceWorldRound4Manifest << "\"}" + << ",\n \"geometry_version\":" << manifest.recipe.geometryVersion + << ",\n \"owner_voxel_size_cm\":12.5,\n \"core_voxel_size_cm\":25" + << ",\n \"owner_to_core_length_scale\":0.5" + << ",\n \"plan_islands\":" << manifest.plan.islands.size() + << ",\n \"mid_height_open_sky\":{\"sampling_step_m\":1.0,\"z_core_voxels\":" + << openSky.midHeight / static_cast(Q) + << ",\"bounds_xy_core_voxels\":[" + << openSky.minimumXY[0] / static_cast(Q) << ',' + << openSky.minimumXY[1] / static_cast(Q) << ',' + << openSky.maximumXY[0] / static_cast(Q) << ',' + << openSky.maximumXY[1] / static_cast(Q) + << "],\"open_samples\":" << openSky.openSamples + << ",\"total_samples\":" << openSky.totalSamples + << ",\"open_fraction\":" << (openSky.totalSamples + ? static_cast(openSky.openSamples) / openSky.totalSamples : 0.0) << "}" + << ",\n \"plan_connectors\":" << manifest.plan.clusterEdges.size() + << ",\n \"route_points\":" << manifest.plan.route.size() + << ",\n \"legacy_anchor_owner_voxels\":[" << ownerAnchorQ[0] / static_cast(Q) + << ',' << ownerAnchorQ[1] / static_cast(Q) << ',' + << ownerAnchorQ[2] / static_cast(Q) << ']' + << ",\n \"comparison_anchor_core_voxels\":[" << coreAnchorQ[0] / static_cast(Q) + << ',' << coreAnchorQ[1] / static_cast(Q) << ',' + << coreAnchorQ[2] / static_cast(Q) << "],\n \"legacy_anchor_plateau_samples\":" + << anchor.supportScore << ",\n \"recipe_parameters\":{\"seed\":" << manifest.recipe.seed + << ",\"primary_island_count\":" << manifest.recipe.primaryIslandCount + << ",\"density_q16\":" << manifest.recipe.islandDensityQ16 + << ",\"spacing_voxels\":" << manifest.recipe.spacingSubvoxels / static_cast(Q) + << ",\"radius_voxels\":[" << manifest.recipe.minimumRadiusSubvoxels / static_cast(Q) + << ',' << manifest.recipe.maximumRadiusSubvoxels / static_cast(Q) + << "],\"thickness_ratio_q16\":" << manifest.recipe.thicknessRatioQ16 + << ",\"vertical_jitter_q16\":" << manifest.recipe.verticalJitterQ16 + << ",\"top_flatten_q16\":" << manifest.recipe.topFlattenQ16 + << ",\"contour_warp_voxels\":" << manifest.recipe.contourWarpSubvoxels / static_cast(Q) + << ",\"crust_depth_bonus_q16\":" << manifest.recipe.crustDepthBonusQ16 + << ",\"root_depth_ratio_q16\":" << manifest.recipe.rootDepthRatioQ16 + << ",\"roughness_voxels\":" << manifest.recipe.roughnessSubvoxels / static_cast(Q) + << ",\"blend_voxels\":" << manifest.recipe.blendRadiusSubvoxels / static_cast(Q) + << ",\"bridge_half_width_voxels\":" << manifest.recipe.bridgeHalfWidthSubvoxels / static_cast(Q) + << ",\"bridge_thickness_voxels\":" << manifest.recipe.bridgeThicknessSubvoxels / static_cast(Q) + << "},\n \"stable_island_ids\":["; + for (std::size_t i = 0; i < manifest.plan.islands.size(); ++i) + { if (i) out << ','; out << '\"' << Hex64(manifest.plan.islands[i].stableId) << '\"'; } + out << "],\n \"stable_connector_ids\":["; + for (std::size_t i = 0; i < manifest.plan.clusterEdges.size(); ++i) + { if (i) out << ','; out << '\"' << Hex64(manifest.plan.clusterEdges[i].stableId) << '\"'; } + out << "],\n \"island_profiles\":["; + for (std::size_t i = 0; i < manifest.plan.islands.size(); ++i) + { + if (i) out << ','; + const auto& island = manifest.plan.islands[i]; + const double ratio = static_cast(island.topZSubvoxels - island.bottomZSubvoxels) + / (2.0 * static_cast(island.radiusSubvoxels)); + out << "{\"id\":\"" << Hex64(island.stableId) << "\",\"ordinal\":" << island.ordinal + << ",\"center_voxels\":[" << island.centerSubvoxels[0] / static_cast(Q) + << ',' << island.centerSubvoxels[1] / static_cast(Q) + << ',' << island.centerSubvoxels[2] / static_cast(Q) + << "],\"radius_voxels\":" << island.radiusSubvoxels / static_cast(Q) + << ",\"top_voxels\":" << island.topZSubvoxels / static_cast(Q) + << ",\"bottom_voxels\":" << island.bottomZSubvoxels / static_cast(Q) + << ",\"depth_to_diameter\":" << ratio << '}'; + } + out << "],\n \"bounds\":{\"passed\":" << (bounds.passed ? "true" : "false") + << ",\"negative_control_detected\":" << (bounds.negativeControlDetected ? "true" : "false") + << ",\"boxes\":" << bounds.boxesTested << ",\"samples\":" << bounds.pointSamples + << ",\"unknown\":" << bounds.unknownBounds << ",\"missed\":" << bounds.missedBounds + << ",\"island_boxes\":" << bounds.islandBoundsTested + << ",\"connector_boxes\":" << bounds.connectorBoundsTested + << ",\"void_boxes_proved_air\":" << bounds.voidBoxesProvedAir << "},\n \"thickness\":{\"passed\":" + << (thickness.passed ? "true" : "false") + << ",\"islands_tested\":" << thickness.islandsTested + << ",\"islands_below_minimum\":" << thickness.islandsBelowMinimum + << ",\"minimum_depth_to_diameter_ratio\":" << thickness.minimumDepthToDiameterRatio + << ",\"required_depth_to_diameter_ratio\":" << thickness.requiredDepthToDiameterRatio + << ",\"minimum_island_id\":\"" << Hex64(thickness.minimumIslandStableId) << "\"}" + << ",\n \"thin_pad_negative_control\":{\"detected\":" + << ((!thinThickness.passed && thinThickness.islandsBelowMinimum == thinThickness.islandsTested) + ? "true" : "false") + << ",\"failed_islands\":" << thinThickness.islandsBelowMinimum + << ",\"minimum_depth_to_diameter_ratio\":" << thinThickness.minimumDepthToDiameterRatio << "}" + << ",\n \"route\":{\"passed\":" + << (route.passed ? "true" : "false") << ",\"segments\":" << route.segmentsTested + << ",\"centers\":" << route.centerSamples << ",\"capsule_samples\":" + << route.capsuleFieldSamples << ",\"blocked\":" << route.blockedCapsuleSamples + << ",\"support_samples\":" << route.supportProbeSamples << ",\"unsupported\":" + << route.unsupportedCenterSamples << ",\"grade_failures\":" << route.gradeFailures + << ",\"minimum_clearance_subvoxels\":" << route.minimumClearanceSubvoxels + << "},\n \"raised_route_negative_control\":{\"detected\":" + << ((!raised.passed && (raised.unsupportedCenterSamples || raised.blockedCapsuleSamples)) ? "true" : "false") + << ",\"passed\":" << (raised.passed ? "true" : "false") + << ",\"unsupported\":" << raised.unsupportedCenterSamples + << ",\"blocked\":" << raised.blockedCapsuleSamples << "},\n \"determinism\":{\"W1\":\"" + << fieldHashes[0] << "\",\"W8\":\"" << fieldHashes[1] << "\",\"W16\":\"" + << fieldHashes[2] << "\",\"plan_repeat\":true,\"hash_samples\":32768},\n \"timing\":{\"same_queries\":32768,\"legacy_ms\":" + << sample.legacyMilliseconds << ",\"native_ms\":" << sample.nativeMilliseconds + << ",\"native_over_legacy\":" << (sample.nativeMilliseconds / std::max(sample.legacyMilliseconds, 1e-9)) + << ",\"sign_mismatches\":" << sample.signMismatches << ",\"sign_mismatch_percent\":" + << (100.0 * sample.signMismatches / 32768.0) + << ",\"legacy_solid_samples\":" << sample.legacySolidSamples + << ",\"native_solid_samples\":" << sample.nativeSolidSamples + << ",\"legacy_only_solid_samples\":" << sample.legacyOnlySolidSamples + << ",\"native_only_solid_samples\":" << sample.nativeOnlySolidSamples << "},\n \"mesh\":["; + constexpr std::array names{"cluster_legacy", "cluster_native", "detail_legacy", "detail_native"}; + for (std::size_t i = 0; i < meshes.size(); ++i) + { + if (i) out << ','; + out << "{\"name\":\"" << names[i] << "\",\"grid_samples\":" << meshes[i].gridSamples + << ",\"triangles\":" << meshes[i].triangles << ",\"bytes\":" << meshes[i].bytes << '}'; + } + out << "],\n \"route_points_core_voxels\":["; + for (std::size_t i = 0; i < manifest.plan.route.size(); ++i) + { + if (i) out << ','; + const auto& point = manifest.plan.route[i]; + out << '[' << point.positionSubvoxels[0] / static_cast(Q) << ',' + << point.positionSubvoxels[1] / static_cast(Q) << ',' + << point.positionSubvoxels[2] / static_cast(Q) << ']'; + } + out << "]\n}\n"; + } +} + +int main(int argc, char** argv) +{ +#if defined(_WIN32) + SetPriorityClass(GetCurrentProcess(), BELOW_NORMAL_PRIORITY_CLASS); + SetProcessAffinityMask(GetCurrentProcess(), static_cast(0xFFFF)); +#endif + try + { + if (argc != 3) + { std::cerr << "usage: FloatingIslandsAudit \n"; return 2; } + const std::filesystem::path probePath = argv[1]; + const std::filesystem::path outputDir = argv[2]; + std::filesystem::create_directories(outputDir); + const auto standaloneRoot = probePath.parent_path().parent_path().parent_path() + .parent_path().parent_path(); + const ExistingHashes oldHashes = VerifyExistingManifests(standaloneRoot); + + FStandaloneOwnerWorld owner; + std::string error; + if (!StandaloneOwnerLoader::Load(probePath.string(), owner, error)) + throw std::runtime_error("legacy probe load failed: " + error); + const OracleAnchor anchor = FindLegacyAnchor(owner); + if (anchor.supportScore < 9) + throw std::runtime_error("legacy scan found no broad FloatingIslands top in the frozen strate range"); + const Point coreAnchorQ{anchor.surfaceQ[0] / 2, + anchor.surfaceQ[1] / 2, anchor.surfaceQ[2] / 2}; + + FloatingIslandRecipeV1 recipe; + recipe.seed = 0; + recipe.layoutOriginXSubvoxels = coreAnchorQ[0]; + recipe.layoutOriginYSubvoxels = coreAnchorQ[1]; + recipe.layoutCenterTopZSubvoxels = coreAnchorQ[2]; + recipe.geometryVersion = 2; + recipe.layoutMinimumZSubvoxels = coreAnchorQ[2] - 80 * Q; + recipe.layoutMaximumZSubvoxels = coreAnchorQ[2] + 48 * Q; + recipe.primaryIslandCount = 3; + recipe.islandDensityQ16 = 32768; + recipe.spacingSubvoxels = 56 * Q; + recipe.minimumRadiusSubvoxels = 12 * Q; + recipe.maximumRadiusSubvoxels = 24 * Q; + recipe.thicknessRatioQ16 = 39322; + recipe.verticalJitterQ16 = 39322; + recipe.topFlattenQ16 = 39322; + recipe.taperEndMinimumQ16 = 29491; + recipe.taperEndMaximumQ16 = 45875; + recipe.blendRadiusSubvoxels = 3 * Q; + recipe.contourWarpSubvoxels = VoxQ(6.3); + recipe.roughnessSubvoxels = Q; + recipe.boundarySealSubvoxels = 2 * Q; + recipe.bridgeHalfWidthSubvoxels = VoxQ(2.5); + recipe.bridgeThicknessSubvoxels = 4 * Q; + + const auto beginPlanning = Clock::now(); + auto planned = PlanFloatingIslandCluster(recipe, error); + const auto endPlanning = Clock::now(); + if (!planned) throw std::runtime_error("native island planner failed: " + error); + const std::string canonical = planned->ToJson(); + for (int repeat = 0; repeat < 2; ++repeat) + { + std::string repeatError; + const auto repeated = PlanFloatingIslandCluster(recipe, repeatError); + if (!repeated || repeated->contentHash != planned->contentHash + || repeated->plan.contentHash != planned->plan.contentHash + || repeated->ToJson() != canonical) + throw std::runtime_error("repeated native plan hash or canonical JSON changed"); + } + const auto parsed = FloatingIslandManifestV1::FromJson(canonical, error); + if (!parsed || parsed->ToJson() != canonical || !parsed->validate(error)) + throw std::runtime_error("native manifest did not validate after round-trip: " + error); + + FloatingIslandFieldV1 field(planned->recipe, planned->plan); + if (!field.isValid()) throw std::runtime_error("native field rejected the planned island graph"); + const auto& middleIsland = planned->plan.islands.at(1); + const std::int64_t crustBottom = middleIsland.topZSubvoxels + - middleIsland.radiusSubvoxels * (planned->recipe.thicknessRatioQ16 + + planned->recipe.crustDepthBonusQ16) / 65536; + std::cout << "underside_center_density_q="; + for (int sample = 0; sample <= 8; ++sample) + { + if (sample) std::cout << ','; + const std::int64_t z = crustBottom - middleIsland.radiusSubvoxels * sample / 8; + std::cout << field.densitySubvoxels(middleIsland.centerSubvoxels[0], + middleIsland.centerSubvoxels[1], z); + } + std::cout << '\n'; + const auto& ownerSlots = owner.Manager->GetLayout(); + const auto islandSlot = std::find_if(ownerSlots.begin(), ownerSlots.end(), + [](const FStrateSlot& slot) + { return slot.Definition != nullptr + && slot.Definition->GeneratorType == ECaveGeneratorType::FloatingIslands; }); + if (islandSlot == ownerSlots.end()) + throw std::runtime_error("owner snapshot has no resolved FloatingIslands strate slot"); + if (planned->recipe.seed != static_cast(owner.Seed)) + throw std::runtime_error("native island recipe seed does not match the owner season"); + const OpenSkyAudit openSky = MeasureOpenSky(field); + const auto bounds = AuditFloatingIslandBounds(field, 512); + const auto route = AuditFloatingIslandRoute(field); + const auto raisedRoute = AuditFloatingIslandRoute(field, 8 * Q); + const auto thickness = AuditFloatingIslandThickness(planned->plan); + auto thinPlan = planned->plan; + for (auto& island : thinPlan.islands) + island.bottomZSubvoxels = island.topZSubvoxels + - island.radiusSubvoxels * planned->recipe.thicknessRatioQ16 / 65536; + const auto thinThickness = AuditFloatingIslandThickness(thinPlan); + const auto influence = field.influenceBounds(); + const auto points = MakeSamples(influence, 32768, 0x4d33524f554e4431ull); + const auto w1 = HashWithWorkers(field, owner, points, 1, false); + const auto w8 = HashWithWorkers(field, owner, points, 8, false); + const auto w16 = HashWithWorkers(field, owner, points, 16, true); + const std::array hashes{w1.hash, w8.hash, w16.hash}; + if (w1.hash != w8.hash || w1.hash != w16.hash) + throw std::runtime_error("native field sample hash differs between W1/W8/W16"); + if (!bounds.passed) throw std::runtime_error("native island bounds audit or negative control failed"); + if (!thickness.passed || thinThickness.passed + || thinThickness.islandsBelowMinimum != thinThickness.islandsTested) + throw std::runtime_error("native island thickness audit or thin-pad negative control failed"); + std::cout << "route_diagnostics pass=" << route.passed << " segments=" << route.segmentsTested + << " centers=" << route.centerSamples << " capsule_samples=" << route.capsuleFieldSamples + << " blocked=" << route.blockedCapsuleSamples << " support_samples=" << route.supportProbeSamples + << " unsupported=" << route.unsupportedCenterSamples << " grade_failures=" << route.gradeFailures + << " minimum_clearance_q=" << route.minimumClearanceSubvoxels + << " first_blocked_segment=" << route.firstBlockedSegment + << " first_unsupported_segment=" << route.firstUnsupportedSegment + << " first_grade_segment=" << route.firstGradeFailureSegment + << " unsupported_center_voxels=" << route.firstUnsupportedCenterSubvoxels[0] / static_cast(Q) + << ',' << route.firstUnsupportedCenterSubvoxels[1] / static_cast(Q) + << ',' << route.firstUnsupportedCenterSubvoxels[2] / static_cast(Q) << '\n'; + if (!route.passed) + { + const auto& routePoints = planned->plan.route; + if (route.firstBlockedSegment != ~std::uint64_t{0}) + std::cout << "first_blocked_position_voxels=" + << route.firstBlockedPositionSubvoxels[0] / static_cast(Q) << ',' + << route.firstBlockedPositionSubvoxels[1] / static_cast(Q) << ',' + << route.firstBlockedPositionSubvoxels[2] / static_cast(Q) << '\n'; + const std::size_t debugBegin = route.firstUnsupportedSegment == ~std::uint64_t{0} + ? 0 : static_cast(route.firstUnsupportedSegment); + for (std::size_t i = debugBegin > 1 ? debugBegin - 1 : 0; + i < std::min(routePoints.size(), debugBegin + 3); ++i) + { + const auto& point = routePoints[i].positionSubvoxels; + std::cout << "route_point=" << i << ' ' + << point[0] / static_cast(Q) << ',' + << point[1] / static_cast(Q) << ',' + << point[2] / static_cast(Q) << '\n'; + } + const double maxGrade = static_cast(planned->recipe.routeConstraints.maximumGradeQ16) / 65536.0; + for (std::size_t i = 0; i + 1 < routePoints.size(); ++i) + { + const auto& a = routePoints[i].positionSubvoxels; + const auto& b = routePoints[i + 1].positionSubvoxels; + const double horizontal = std::hypot(static_cast(b[0] - a[0]), + static_cast(b[1] - a[1])); + const double grade = horizontal > 0.0 ? std::abs(static_cast(b[2] - a[2])) / horizontal : 1e9; + if (grade > maxGrade + 1e-7) + std::cout << "grade_segment=" << i << " ratio=" << grade << " limit=" << maxGrade + << " from=" << a[0] / static_cast(Q) << ',' << a[1] / static_cast(Q) + << ',' << a[2] / static_cast(Q) << " to=" << b[0] / static_cast(Q) + << ',' << b[1] / static_cast(Q) << ',' << b[2] / static_cast(Q) << '\n'; + } + for (std::size_t i = 0; i < planned->plan.islands.size(); ++i) + { + const auto& island = planned->plan.islands[i]; + std::cout << "island=" << i << " center=" << island.centerSubvoxels[0] / static_cast(Q) + << ',' << island.centerSubvoxels[1] / static_cast(Q) << ',' + << island.topZSubvoxels / static_cast(Q) << " radius=" + << island.radiusSubvoxels / static_cast(Q) << '\n'; + } + const auto& constraints = planned->recipe.routeConstraints; + const auto& unsupported = route.firstUnsupportedCenterSubvoxels; + const double foot = unsupported[2] / static_cast(Q) + - constraints.capsuleHeightSubvoxels / (2.0 * Q); + std::cout << "unsupported_route_probe=" << unsupported[0] / static_cast(Q) + << ',' << unsupported[1] / static_cast(Q) << ',' + << unsupported[2] / static_cast(Q) << " foot=" << foot << '\n'; + const double probeRadius = constraints.supportProbeRadiusSubvoxels / static_cast(Q); + const std::array, 5> supportPoints{{ + {0.0,0.0},{probeRadius,0.0},{-probeRadius,0.0},{0.0,probeRadius},{0.0,-probeRadius}}}; + for (std::size_t probeIndex = 0; probeIndex < supportPoints.size(); ++probeIndex) + { + double firstSolidDepth = -1.0; + for (double depth = (constraints.minimumClearanceSubvoxels + 0.5 * Q) / static_cast(Q); + depth <= (constraints.minimumClearanceSubvoxels + constraints.supportSearchDepthSubvoxels) + / static_cast(Q) + 0.001; depth += 0.5) + { + const auto density = field.densitySubvoxels( + std::llround(unsupported[0] + supportPoints[probeIndex][0] * Q), + std::llround(unsupported[1] + supportPoints[probeIndex][1] * Q), + std::llround((foot - depth) * Q)); + if (density < 0) { firstSolidDepth = depth; break; } + } + std::cout << "support_probe=" << probeIndex << " first_solid_depth_vox=" << firstSolidDepth << '\n'; + std::cout << "support_profile=" << probeIndex << ':'; + for (double depth = 0.5; depth <= 5.0; depth += 0.5) + { + const auto density = field.densitySubvoxels( + std::llround(unsupported[0] + supportPoints[probeIndex][0] * Q), + std::llround(unsupported[1] + supportPoints[probeIndex][1] * Q), + std::llround((foot - depth) * Q)); + std::cout << ' ' << depth << '=' << density; + } + std::cout << '\n'; + } + for (std::size_t i = 0; i < planned->plan.clusterEdges.size(); ++i) + { + const auto& edge = planned->plan.clusterEdges[i]; + std::cout << "connector=" << i << " start=" << edge.startSubvoxels[0] / static_cast(Q) + << ',' << edge.startSubvoxels[1] / static_cast(Q) << ',' + << edge.startSubvoxels[2] / static_cast(Q) << " end=" + << edge.endSubvoxels[0] / static_cast(Q) << ',' + << edge.endSubvoxels[1] / static_cast(Q) << ',' + << edge.endSubvoxels[2] / static_cast(Q) << '\n'; + } + } + if (!route.passed) throw std::runtime_error("native route capsule sweep failed"); + if (raisedRoute.passed || (raisedRoute.unsupportedCenterSamples == 0 + && raisedRoute.blockedCapsuleSamples == 0)) + throw std::runtime_error("raised-route negative control did not detect unsupported traversal"); + + std::array meshes{}; + const auto clusterBounds = field.influenceBounds(); + if (!clusterBounds.finite) throw std::runtime_error("native cluster mesh bounds are not finite"); + const Point clusterMin{clusterBounds.minimumSubvoxels[0] - 8 * Q, + clusterBounds.minimumSubvoxels[1] - 8 * Q, clusterBounds.minimumSubvoxels[2] - 8 * Q}; + const Point clusterMax{clusterBounds.maximumSubvoxels[0] + 8 * Q, + clusterBounds.maximumSubvoxels[1] + 8 * Q, clusterBounds.maximumSubvoxels[2] + 8 * Q}; + const Point detailMin{coreAnchorQ[0] - 64 * Q, coreAnchorQ[1] - 64 * Q, coreAnchorQ[2] - 80 * Q}; + const Point detailMax{coreAnchorQ[0] + 64 * Q, coreAnchorQ[1] + 64 * Q, coreAnchorQ[2] + 16 * Q}; + meshes[0] = ExtractMesh(outputDir / "cluster_legacy.vfmesh", clusterMin, clusterMax, 4 * Q, + [&](const Point& q) { return SampleLegacy(owner, q); }); + meshes[1] = ExtractMesh(outputDir / "cluster_native.vfmesh", clusterMin, clusterMax, 4 * Q, + [&](const Point& q) { return SampleNative(field, q); }); + meshes[2] = ExtractMesh(outputDir / "detail_legacy.vfmesh", detailMin, detailMax, 2 * Q, + [&](const Point& q) { return SampleLegacy(owner, q); }); + meshes[3] = ExtractMesh(outputDir / "detail_native.vfmesh", detailMin, detailMax, 2 * Q, + [&](const Point& q) { return SampleNative(field, q); }); + if (meshes[0].triangles == 0 || meshes[1].triangles == 0 + || meshes[2].triangles == 0 || meshes[3].triangles == 0) + throw std::runtime_error("matched legacy/native mesh extraction produced an empty field"); + + WriteJson(outputDir / "audit.json", *planned, bounds, route, raisedRoute, + w16, thickness, thinThickness, anchor, meshes, hashes, oldHashes, openSky); + WriteIslandImportManifest(standaloneRoot, *planned, *islandSlot, outputDir); + std::cout << std::setprecision(4) + << "legacy_anchor_owner_voxels=" << anchor.surfaceQ[0] / static_cast(Q) << ',' + << anchor.surfaceQ[1] / static_cast(Q) << ',' + << anchor.surfaceQ[2] / static_cast(Q) + << " comparison_anchor_core_voxels=" << coreAnchorQ[0] / static_cast(Q) << ',' + << coreAnchorQ[1] / static_cast(Q) << ',' + << coreAnchorQ[2] / static_cast(Q) + << " plateau_samples=" << anchor.supportScore << '\n' + << "recipe_hash=" << Hex64(planned->recipe.contentHash) + << " plan_hash=" << Hex64(planned->plan.contentHash) + << " manifest_hash=" << Hex64(planned->contentHash) + << " prior_m1_hash=" << oldHashes.round1Manifest + << " prior_surfaceworld_hash=" << oldHashes.surfaceWorldRound4Manifest + << " islands=" << planned->plan.islands.size() + << " connectors=" << planned->plan.clusterEdges.size() + << " route_points=" << planned->plan.route.size() + << " planning_ms=" << std::chrono::duration(endPlanning - beginPlanning).count() << '\n' + << "bounds_pass=" << bounds.passed << " boxes=" << bounds.boxesTested + << " point_samples=" << bounds.pointSamples << " unknown=" << bounds.unknownBounds + << " missed=" << bounds.missedBounds << " void_air=" << bounds.voidBoxesProvedAir + << " negative_control=" << bounds.negativeControlDetected << '\n' + << "route_pass=" << route.passed << " segments=" << route.segmentsTested + << " centers=" << route.centerSamples << " capsule_samples=" << route.capsuleFieldSamples + << " blocked=" << route.blockedCapsuleSamples << " support_probes=" << route.supportProbeSamples + << " unsupported=" << route.unsupportedCenterSamples << " grade_failures=" << route.gradeFailures + << " clearance_q=" << route.minimumClearanceSubvoxels << '\n' + << "raised_route_detected=" << (!raisedRoute.passed && raisedRoute.unsupportedCenterSamples > 0) + << " unsupported=" << raisedRoute.unsupportedCenterSamples + << " blocked=" << raisedRoute.blockedCapsuleSamples << '\n' + << "thickness_pass=" << thickness.passed << " islands=" << thickness.islandsTested + << " min_depth_diameter=" << thickness.minimumDepthToDiameterRatio + << " threshold=" << thickness.requiredDepthToDiameterRatio + << " thin_pad_detected=" << (!thinThickness.passed + && thinThickness.islandsBelowMinimum == thinThickness.islandsTested) + << " thin_ratio=" << thinThickness.minimumDepthToDiameterRatio << '\n' + << "field_hashes W1=" << w1.hash << " W8=" << w8.hash << " W16=" << w16.hash + << " legacy_ms=" << w16.legacyMilliseconds << " native_ms=" << w16.nativeMilliseconds + << " mismatch_percent=" << (100.0 * w16.signMismatches / 32768.0) + << " legacy_solid=" << w16.legacySolidSamples << " native_solid=" << w16.nativeSolidSamples + << " legacy_only=" << w16.legacyOnlySolidSamples << " native_only=" << w16.nativeOnlySolidSamples << '\n' + << "mesh_samples=" << meshes[0].gridSamples << ',' << meshes[1].gridSamples + << ',' << meshes[2].gridSamples << ',' << meshes[3].gridSamples + << " triangles=" << meshes[0].triangles << ',' << meshes[1].triangles + << ',' << meshes[2].triangles << ',' << meshes[3].triangles << '\n' + << "audit_json=" << (outputDir / "audit.json").string() << '\n'; + return 0; + } + catch (const std::exception& exception) + { + std::cerr << "FLOATING_ISLAND_AUDIT_FAIL: " << exception.what() << '\n'; + return 1; + } +} diff --git a/Standalone/Research/WorldAssemblerM3/Round3/REPORT.md b/Standalone/Research/WorldAssemblerM3/Round3/REPORT.md new file mode 100644 index 0000000..e230e56 --- /dev/null +++ b/Standalone/Research/WorldAssemblerM3/Round3/REPORT.md @@ -0,0 +1,83 @@ +# World assembler M3 round 3 + +Date: 2026-10-10 + +## Status + +The island recipe, manifest import, BuildHost world proof, and matched offline captures are in place. The final profiling pass found a remaining LOD0 sprint budget miss, and a follow-up XY-column cache was then added to `FloatingIslandsInternal.h`. That last source edit has **not** been compiled or exercised: the command runner began failing to start with Windows status `0xC0000142` after a completed profile run. Therefore the verified BuildHost results below apply to the root-parameter-cache version immediately before the XY-column-cache edit, not to the current tree. Treat round 3 as **not fully verified / do not hand off the current binary yet** until that edit is either verified or reverted and rebuilt. + +## Scale contract + +The owner's legacy voxel size is **12.5 cm** (`Source/VoxelForge/Public/VoxelTypes.h`, `VOXEL_SIZE`). Core operates at **25 cm**, so owner-to-Core lengths multiply by **0.5** and Core-to-owner lengths multiply by **2**. Island radii are 24–48 owner voxels = 3–6 m = 12–24 Core voxels. Site spacing is 112 owner voxels = 14 m = 56 Core voxels. Standalone's old 25 cm metadata was not authoritative; the import validator and audit metadata now pin 12.5/25 cm and the 1:2 ratio. The radius comment is corrected to this contract. + +## Shape review and measurements + +Round 3's downscaled, matched offline captures show four distinct masses with sky visible between them; the three connectors remain traversable and read as narrow spans. The underside center is a shaded solid buttress/dimple, not a through-hole. The edge capture does not show the former sawtooth rim; the crust edge is smooth at the displayed scale. These are offline CPU renders, not captures from the owner's Unreal viewport. + +At the sampled mid-height plane, the open-sky measure is **1,462 / 1,591 = 91.89%** of the cluster XY bounding box. Sampling is at 1 m spacing, Core Z `-964.039`. Island radii are 3–6 m; connector full width is 1.25 m, thickness 1 m, blend 0.75 m, and roughness 0.25 m. The plan has four islands, three connectors, and 28 route segments. The route audit checks 68,816 capsule samples and reports no blocked, unsupported, or over-grade samples; minimum clearance is 99 subvoxel samples. + +The mass audit checked 515 bounds / 13,851 samples with no missed island bounds. The thin-pad negative control was caught on all four islands (measured ratio 0.2999 against required 0.70; passing minimum was 0.75). The raised-route negative control was also caught. The underside audit samples the center column at nine points; rerun the audit after resolving the unverified cache edit to retain that numeric output in `results/audit.json`. + +## Import and season hashing + +Import `Standalone/Research/WorldAssemblerM3/Round3/results/world_assembly_floating_islands.json` through the existing `UVoxelSettings` manifest JSON import (`SourceWorldAssemblyManifestJson` / **Import World Assembly Manifest JSON**). Then assign that settings asset to `AVoxelWorld` and enable **Voxel World → Core → Use VoxelForge Core** (`bUseVoxelForgeCore`). The recipe remains on the Core world-assembly route. Its assembly content hash enters the season hash only when Core is enabled; Core-off keeps the legacy season identity. Water remains fixed for the season and player edits remain unrestricted. + +Verified artifact hashes: + +- Plan: `61fd58f65c5fe157` +- Recipe: `ef1340d32b072ba3` +- Nested floating-island manifest: `54160b4d25d0279f` +- World assembly content: `94b563f1ce622def` +- W1/W8/W16 standalone determinism: `5764b702482740e8` + +## BuildHost proof recorded before the final unverified edit + +BuildHost runs used `Tools/BuildVoxelForgeCoreHost.ps1` and the test scripts with a 900 second timeout, BelowNormal priority, and at most four parallel build actions. No owner project/editor was opened or built. Measured process peaks stayed below 4 GB. The passing island run recorded: + +- 2,553 standalone tile hashes matched; Core reported 512 LOD0 tiles, 448 LOD1 tiles, 432 LOD transitions, 573 local-coverage checks, and 3,438 neighbor-face checks. +- Aggregate hashes: density `e46d4280f73f03f3`, mesh `a7c92c6ce22ba08b3`, payload `040e800d58e1c2f1`, topology `da689102032f94da`. +- Coverage completed; collision was cooked and capsule contact passed on both an island top and a span. +- Height/anchor agreement passed for the island and span; content anchors reported 14 trees and no floaters. Corrected strate and atmosphere strate both reported 1; water was enabled at local `-49,376 cm` and unchanged. +- Blueprint edit passed: carve/fill on an island with legacy radius 6 (=75 cm) and strength 10; the 90 cm outside sample had zero density delta. +- Core-off passed with legacy density unchanged; the Core-only hash was omitted while Core was off. +- SurfaceWorld M1 regression test passed with the original worker hash `0x8cc18e2981c50c4e`; HybridV1 and HybridV2 M2 recipe fixtures passed. + +Logs are in `results/m1_surfaceworld_buildhost.*`, `results/m2_hybrid_v1_buildhost.*`, `results/m2_hybrid_v2_buildhost.*`, and `results/m3_floating_islands_buildhost.*`. These pre-profile logs do not prove the final XY-column-cache edit. + +## Streaming profile and remaining work + +The final instrumented BuildHost commandlet completed and its internal validator printed PASS. The outer PowerShell wrapper then exited 1 because its console-title channel failed (`0xE9`); this is recorded as a wrapper failure despite the commandlet pass marker. The timing profile showed density/meshing dominates; classifier and column work were negligible. + +The same measured per-tile p95 is compared with the available time at each movement speed: at 600 cm/s the deadlines are 1,333.333 ms for LOD0 and 2,666.667 ms for LOD1; at 6,000 cm/s they are 133.333 ms and 266.667 ms, respectively. Core and legacy timings from the instrumented run were: + +| LOD | Tile kind | Core p95 | Legacy p95 | Walk deadline / result | Sprint deadline / result | +|---|---|---:|---:|---|---| +| 0 | Air | 0.017 ms | 38.842 ms | 1,333.333 ms / pass | 133.333 ms / pass | +| 0 | Island | 157.671 ms | 43.702 ms | 1,333.333 ms / pass | 133.333 ms / 24.338 ms late | +| 0 | Mixed/span | 153.082 ms | 42.146 ms | 1,333.333 ms / pass | 133.333 ms / 19.749 ms late | +| 1 | Air | 0.009 ms | 46.549 ms | 2,666.667 ms / pass | 266.667 ms / pass | +| 1 | Mixed/span | 151.685 ms | 42.701 ms | 2,666.667 ms / pass | 266.667 ms / pass | + +LOD1 mixed was 151.685 ms against its 266.667 ms sprint deadline; LOD1 air was 0.009 ms. The root-parameter cache preserved hashes but did not clear the LOD0 sprint miss. The XY-column cache was added afterward to target the measured mesher/density hot path; it has not been compiled or measured. Resolve that before claiming the streaming goal complete. + +## Run ledger and incidents + +- SurfaceWorld M1, HybridV1 M2, HybridV2 M2, and the island BuildHost proof all passed on the verified source state described above. +- Earlier island BuildHost attempts, in order, failed as follows: (1) desired tiles were 2,227 instead of 2,553 because the route player was absent; (2) the GameMode spawned an origin pawn; (3) possession caused 2,557 desired tiles because dynamic collision support was active; (4) the support tile key did not match; (5) disabling the collision gate restored 2,553 tiles but exposed a hash mismatch at `(-2,0,-31)`; (6) `CreateLocalPlayer(true)` hung and was manually stopped after roughly 3–4 minutes; (7) the base UPlayer fixture lacked controller registration/root transform and failed preflight after 5:10; (8) explicit `AddController`, root setup, and `SetActorLocation` fixed the fixture and the island proof passed. The manual stop was not a crash. +- Earlier compile failures included an invalid `DuplicateObject` overload, private helper access, an unresolved `GetEffectiveWorldSeed` export, and integer narrowing. They were corrected; subsequent builds passed. +- One initial standalone build used the wrong `-Workers` switch and failed immediately; `-CompileWorkers 4` succeeded. +- M1 threshold experiments before restoring the original chunk mapping failed at LOD8 edge bounds: threshold 4.0 measured 52,075.827 > 51,200 at tile `(2,0,-1)`; 4.125 measured 53,960.427 > 52,800; 4.25 measured 54,806.919 > 54,400. Threshold 4.5 passed that edge check but left no full-span LOD0 candidate. Restoring SurfaceWorld's original 32-voxel chunk mapping, using the separate 16-Core-voxel island mapping, and restoring threshold 4.0 made M1 pass. +- The last commandlet itself passed, but the wrapper returned 1 on console error `0xE9`. Subsequent PowerShell and `cmd.exe` launches returned `0xC0000142`; the requested retry was made, then additional shell inspection launches also failed. No further build was attempted. No new `UECC-*` folder was reported by the latest BuildHost crash check; only historical folders dated 2026-09-17 and 2026-10-08 were present. +- No `0xC0000142` BuildHost retry was observed in the completed runs. Peak recorded BuildHost test process memory was about 3.98 GB. + +## Owner hand-off + +After the final cache edit is verified, import the manifest above into `UVoxelSettings`, assign the settings asset to the world, and turn on `bUseVoxelForgeCore`. To find the cluster, start at the actor-local route point `(-380, 631.8, -23,837) cm` and follow the route toward the middle island (roughly +X / -Y). The center island is near actor-local `(600, -306, -23,872) cm`; the span contact is near `(113, 161, -23,860) cm`. + +For an underside view, use a free camera near `(600, -306, -24,750) cm`, looking upward toward `(600, -306, -24,300) cm`. For an overview, start near `(680, -5,000, -21,500) cm` and look toward `(678, -556, -24,100) cm`. These are actor-local suggestions; apply the actor transform in the level. The contact sheet and matched captures are under this Round3 `results/` directory and are downscaled offline renders; BuildHost validation uses null RHI. + +Likely Unreal compile spots are `VoxelSettings.h/.cpp`, `VoxelContentManager.h/.cpp`, `VoxelWorld.cpp`, `VoxelForgeCoreAdapter.cpp`, and `VoxelForgeExploreCommandlet.cpp`; canonical Core changes are in `Standalone/Core/include/VoxelForgeCore/VoxelForgeCore.h`, `Standalone/Core/src/ShapeWorldInternal.h`, `FloatingIslandsInternal.h`, and `WorldAssemblerInternal.h`. + +## Source and artifact inventory + +Round 3 adds these research/support sources: `Standalone/Research/WorldAssemblerM3/Round3/FloatingIslandsAudit.cpp`, `BuildFloatingIslandsAudit.ps1`, and `RenderFloatingIslandRound3.py`. Existing source edits include `Standalone/Source/OwnerWorldLoader.h`, `Standalone/Core/src/FloatingIslandsInternal.h`, `Standalone/Core/src/ShapeWorldInternal.h`, and `Source/VoxelForgeEditor/Private/VoxelForgeExploreCommandlet.cpp`. There is no new Unreal runtime source file for the manifest path. BuildHost scripts and `.log`/capture/JSON outputs are evidence/support artifacts. diff --git a/Standalone/Research/WorldAssemblerM3/Round3/RenderFloatingIslandRound3.py b/Standalone/Research/WorldAssemblerM3/Round3/RenderFloatingIslandRound3.py new file mode 100644 index 0000000..a188567 --- /dev/null +++ b/Standalone/Research/WorldAssemblerM3/Round3/RenderFloatingIslandRound3.py @@ -0,0 +1,306 @@ +#!/usr/bin/env python3 +"""Small CPU-only matched views of the legacy and native FloatingIslands fields.""" +from __future__ import annotations + +import ctypes +import json +import math +import struct +from pathlib import Path + +from PIL import Image, ImageDraw + + +ROOT = Path(__file__).resolve().parent +RESULTS = ROOT / "results" +CAPTURES = RESULTS / "captures" +CAPTURES.mkdir(parents=True, exist_ok=True) +WIDTH, HEIGHT = 320, 226 +BACKGROUND = (236, 240, 242) +LEGACY_COLOR = (133, 127, 105) +NATIVE_COLOR = (78, 135, 151) +ROUTE_COLOR = (223, 72, 45) +TILE_COLOR = (178, 60, 52) +LOD_COLOR = (211, 136, 45) +Q = 256.0 + + +def lower_priority() -> None: + if hasattr(ctypes, "windll"): + ctypes.windll.kernel32.SetPriorityClass(ctypes.windll.kernel32.GetCurrentProcess(), 0x00004000) + + +def read_mesh(path: Path): + raw = path.read_bytes() + if len(raw) < 8 or raw[:4] != b"VFMI": + raise RuntimeError(f"invalid field mesh: {path}") + count = struct.unpack_from(" 1.0e-12 else (0.0, 0.0, 1.0) + + +def dot(a, b): + return sum(x * y for x, y in zip(a, b)) + + +def cross(a, b): + return (a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0]) + + +def project(points, target, view_dir, scale=None): + direction = normalize(view_dir) + forward = tuple(-value for value in direction) + reference_up = (0.0, 1.0, 0.0) if abs(forward[2]) > 0.98 else (0.0, 0.0, 1.0) + right = normalize(cross(forward, reference_up)) + up = normalize(cross(right, forward)) + camera_points = [] + for point in points: + delta = tuple(point[i] - target[i] for i in range(3)) + camera_points.append((dot(delta, right), dot(delta, up), dot(delta, forward))) + if scale is None: + span_x = max((p[0] for p in camera_points), default=1.0) - min((p[0] for p in camera_points), default=0.0) + span_y = max((p[1] for p in camera_points), default=1.0) - min((p[1] for p in camera_points), default=0.0) + scale = 0.86 * min((WIDTH - 30) / max(span_x, 1.0e-6), (HEIGHT - 30) / max(span_y, 1.0e-6)) + pixels = [ + (WIDTH * 0.5 + point[0] * scale, 31 + (HEIGHT - 31) * 0.5 - point[1] * scale, point[2]) + for point in camera_points + ] + return pixels, scale, right, up, forward + + +def common_scale(mesh_pair, target, view_dir): + vertices = mesh_pair[0][1] + mesh_pair[1][1] + _, scale, _, _, _ = project(vertices, target, view_dir) + return scale + + +def projected_line(a, b, target, basis, scale): + right, up, forward = basis + points = [] + for point in (a, b): + delta = tuple(point[i] - target[i] for i in range(3)) + points.append((WIDTH * 0.5 + dot(delta, right) * scale, + 31 + (HEIGHT - 31) * 0.5 - dot(delta, up) * scale)) + return points + + +def render(mesh, mesh_pair, method, target, view_dir, title, subtitle, *, route=None, + guide=None, camera_eye=None, framing_radius=None): + triangles, vertices = mesh + perspective = camera_eye is not None + if perspective: + forward = normalize(tuple(target[i] - camera_eye[i] for i in range(3))) + reference_up = (0.0, 1.0, 0.0) if abs(forward[2]) > 0.98 else (0.0, 0.0, 1.0) + right = normalize(cross(forward, reference_up)) + up = normalize(cross(right, forward)) + scale = WIDTH * 0.91 + origin = camera_eye + else: + if framing_radius is None: + scale = common_scale(mesh_pair, target, view_dir) + else: + scale = 0.86 * min((WIDTH - 30) / (2.0 * framing_radius), + (HEIGHT - 30) / (2.0 * framing_radius)) + _, _, right, up, forward = project((), target, view_dir, scale) + origin = target + + def screen(point): + delta = tuple(point[i] - origin[i] for i in range(3)) + cx, cy, depth = dot(delta, right), dot(delta, up), dot(delta, forward) + if perspective: + if depth <= 1.0: + return None + return (WIDTH * 0.5 + cx * scale / depth, + 31 + (HEIGHT - 31) * 0.5 - cy * scale / depth, depth) + return (WIDTH * 0.5 + cx * scale, + 31 + (HEIGHT - 31) * 0.5 - cy * scale, depth) + + background = Image.new("RGB", (WIDTH, HEIGHT + 32), BACKGROUND) + draw = ImageDraw.Draw(background) + draw.rectangle((0, 0, WIDTH - 1, 31), fill=(34, 46, 54)) + draw.text((8, 4), title, fill=(250, 252, 253)) + draw.text((8, 17), subtitle, fill=(190, 207, 215)) + pixels = background.load() + zbuffer = [float("inf")] * (WIDTH * (HEIGHT - 31)) + camera_fill = forward if perspective else normalize(view_dir) + light = normalize((-0.25 + 1.2 * camera_fill[0], + -0.35 + 1.2 * camera_fill[1], + 0.45 + 1.2 * camera_fill[2])) + base = LEGACY_COLOR if method == "legacy" else NATIVE_COLOR + for tri in triangles: + points = [screen(tri[offset:offset + 3]) for offset in (0, 3, 6)] + if any(point is None for point in points): + continue + x0 = max(0, int(math.floor(min(p[0] for p in points)))) + x1 = min(WIDTH - 1, int(math.ceil(max(p[0] for p in points)))) + y0 = max(31, int(math.floor(min(p[1] for p in points)))) + y1 = min(HEIGHT - 1, int(math.ceil(max(p[1] for p in points)))) + if x0 > x1 or y0 > y1: + continue + (ax, ay, az), (bx, by, bz), (cx, cy, cz) = points + denominator = (by - cy) * (ax - cx) + (cx - bx) * (ay - cy) + if abs(denominator) < 1.0e-10: + continue + normals = [normalize(tri[offset:offset + 3]) for offset in (9, 12, 15)] + for y in range(y0, y1 + 1): + row = (y - 31) * WIDTH + for x in range(x0, x1 + 1): + sx, sy = x + 0.5, y + 0.5 + u = ((by - cy) * (sx - cx) + (cx - bx) * (sy - cy)) / denominator + v = ((cy - ay) * (sx - cx) + (ax - cx) * (sy - cy)) / denominator + w = 1.0 - u - v + if u < -1e-8 or v < -1e-8 or w < -1e-8: + continue + if perspective: + depth = 1.0 / (u / az + v / bz + w / cz) + else: + depth = u * az + v * bz + w * cz + normal = normalize(tuple(u * normals[0][axis] + v * normals[1][axis] + + w * normals[2][axis] for axis in range(3))) + shade = 0.50 + 0.50 * max(0.0, dot(normal, light)) + color = tuple(max(0, min(255, int(channel * shade))) for channel in base) + index = row + x + if depth < zbuffer[index]: + zbuffer[index] = depth + pixels[x, y] = color + + basis = (right, up, forward) + if guide: + origin = guide["origin_voxels"] + top = guide["top_voxels"] + for x_delta, color, label in ((32.0, TILE_COLOR, "32v tile"), (64.0, LOD_COLOR, "64v LOD1")): + line = projected_line((origin[0] + x_delta, origin[1] - 190.0, top - 65.0), + (origin[0] + x_delta, origin[1] + 190.0, top + 14.0), + target, basis, scale) + draw.line(line, fill=color, width=2) + draw.text((max(2, min(WIDTH - 55, int(line[1][0]) + 2)), + max(33, min(HEIGHT - 11, int(line[1][1]) - 12))), label, fill=color) + if route: + points = [screen(point) for point in route] + points = [point[:2] for point in points if point is not None] + if len(points) >= 2: + draw.line(points, fill=(250, 248, 239), width=5, joint="curve") + draw.line(points, fill=ROUTE_COLOR, width=3, joint="curve") + for index in (0, len(points) - 1): + x, y = points[index] + draw.ellipse((x - 4, y - 4, x + 4, y + 4), fill=(250, 248, 239), outline=ROUTE_COLOR, width=2) + return background + + +def titled_pair(left, right, category): + pair = Image.new("RGB", (WIDTH * 2, HEIGHT + 32), (220, 226, 229)) + pair.paste(left, (0, 0)) + pair.paste(right, (WIDTH, 0)) + draw = ImageDraw.Draw(pair) + draw.rectangle((0, 0, WIDTH * 2 - 1, HEIGHT + 31), outline=(72, 84, 91), width=1) + draw.text((8, HEIGHT + 14), f"{category} | same target, camera and scale", fill=(45, 55, 61)) + return pair + + +def main(): + lower_priority() + data = json.loads((RESULTS / "audit.json").read_text(encoding="utf-8")) + anchor = data["comparison_anchor_core_voxels"] + route = data["route_points_core_voxels"] + profiles = data["island_profiles"] + middle_island = profiles[1] + cluster = { + "legacy": read_mesh(RESULTS / "cluster_legacy.vfmesh"), + "native": read_mesh(RESULTS / "cluster_native.vfmesh"), + } + detail = { + "legacy": read_mesh(RESULTS / "detail_legacy.vfmesh"), + "native": read_mesh(RESULTS / "detail_native.vfmesh"), + } + a = anchor + scenes = ( + ("overview", "Cluster overview", cluster, (a[0], a[1], a[2] - 28.0), (8.0, -10.0, 7.0), None, None), + ("underside", "Cluster underside and lobed roots", detail, + (middle_island["center_voxels"][0], middle_island["center_voxels"][1], + middle_island["bottom_voxels"] - 6.0), (0.12, -0.08, -1.0), None, None), + ("edge_cliff", "Thick crust and bounded rock detail", detail, + (middle_island["center_voxels"][0], middle_island["center_voxels"][1], + middle_island["top_voxels"] - middle_island["radius_voxels"] * 0.65), + (1.0, -0.25, 0.18), None, None), + ("route", "Supported route across the cluster", cluster, + (middle_island["center_voxels"][0], middle_island["center_voxels"][1], + middle_island["top_voxels"] - 18.0), (8.0, -10.0, 7.0), route, None), + ) + pairs = [] + for key, title, meshes, target, camera, path, grid in scenes: + framing_radius = 28.0 if key in ("underside", "edge_cliff") else None + left = render(meshes["legacy"], (meshes["legacy"], meshes["native"]), "legacy", + target, camera, title, "Legacy bridge | exact owner field", route=None, + guide=grid, framing_radius=framing_radius) + route_caption = "Core native | planner route" if path else "Core native | matched field view" + right = render(meshes["native"], (meshes["legacy"], meshes["native"]), "native", + target, camera, title, route_caption, route=path, guide=grid, + framing_radius=framing_radius) + pair = titled_pair(left, right, title) + out = CAPTURES / f"{key}_matched.jpg" + pair.save(out, quality=82, optimize=True) + pairs.append(pair) + print(f"capture={out.name} bytes={out.stat().st_size} size={pair.size[0]}x{pair.size[1]}") + + eye_index = 5 + eye_route = route[eye_index] + eye = (eye_route[0], eye_route[1], eye_route[2] + 3.68) + next_island = profiles[1] + look = (next_island["center_voxels"][0], next_island["center_voxels"][1], + next_island["top_voxels"] + 5.0) + perspective_pair = [] + for method, meshes in (("legacy", cluster), ("native", cluster)): + perspective_pair.append(render(meshes[method], (meshes["legacy"], meshes["native"]), method, + look, (0.0, 0.0, -1.0), "Island-edge player view", "Eye at 1.8 m | route span to next island", + route=None, camera_eye=eye)) + eye_pair = titled_pair(perspective_pair[0], perspective_pair[1], "Island-edge player view") + eye_path = CAPTURES / "player_eye_matched.jpg" + eye_pair.save(eye_path, quality=80, optimize=True) + pairs.insert(3, eye_pair) + print(f"capture={eye_path.name} bytes={eye_path.stat().st_size} size={eye_pair.size[0]}x{eye_pair.size[1]}") + + sheet = Image.new("RGB", (WIDTH * 2, (HEIGHT + 32) * len(pairs)), (218, 225, 228)) + for row, pair in enumerate(pairs): + sheet.paste(pair, (0, row * (HEIGHT + 32))) + sheet_path = CAPTURES / "contact_sheet.jpg" + sheet.save(sheet_path, quality=76, optimize=True) + oversized = [(path.name, path.stat().st_size) for path in sorted(CAPTURES.glob("*.jpg")) + if path.stat().st_size >= 300_000] + for path in sorted(CAPTURES.glob("*.jpg")): + print(f"capture_size={path.name} bytes={path.stat().st_size}") + if oversized: + raise RuntimeError(f"captures exceed the 300 KB limit: {oversized}") + print(f"contact_sheet={sheet_path.name} bytes={sheet_path.stat().st_size} views=5 matched_pairs=5") + + +if __name__ == "__main__": + main() diff --git a/Standalone/Research/WorldAssemblerM3/Round3/results/audit.json b/Standalone/Research/WorldAssemblerM3/Round3/results/audit.json new file mode 100644 index 0000000..dbe450f --- /dev/null +++ b/Standalone/Research/WorldAssemblerM3/Round3/results/audit.json @@ -0,0 +1,30 @@ +{ + "recipe_hash":"ef1340d32b072ba3", + "plan_hash":"61fd58f65c5fe157", + "manifest_hash":"54160b4d25d0279f", + "unchanged_existing_hashes":{"m1_round1_manifest":"c87ae279b0e26f53","surfaceworld_round4_manifest":"8933693d9560ba9f"}, + "geometry_version":2, + "owner_voxel_size_cm":12.5, + "core_voxel_size_cm":25, + "owner_to_core_length_scale":0.5, + "plan_islands":4, + "mid_height_open_sky":{"sampling_step_m":1.0,"z_core_voxels":-964.0390625,"bounds_xy_core_voxels":[-45.58203125,-107.33984375,99.73828125,62.82421875],"open_samples":1462,"total_samples":1591,"open_fraction":0.918918918919}, + "plan_connectors":3, + "route_points":29, + "legacy_anchor_owner_voxels":[48,16,-1904.03515625], + "comparison_anchor_core_voxels":[24,8,-952.015625], + "legacy_anchor_plateau_samples":25, + "recipe_parameters":{"seed":0,"primary_island_count":3,"density_q16":32768,"spacing_voxels":56,"radius_voxels":[12,24],"thickness_ratio_q16":39322,"vertical_jitter_q16":39322,"top_flatten_q16":39322,"contour_warp_voxels":6.30078125,"crust_depth_bonus_q16":9830,"root_depth_ratio_q16":49152,"roughness_voxels":1,"blend_voxels":3,"bridge_half_width_voxels":2.5,"bridge_thickness_voxels":4}, + "stable_island_ids":["e6e461e18b3a9c87","2bc1820baba047f6","adc259cbe2a395e9","7855fb022cc561c9"], + "stable_connector_ids":["eaa5dd310e846520","034023599b466c51","4962fa885545fb26"], + "island_profiles":[{"id":"e6e461e18b3a9c87","ordinal":0,"center_voxels":[-15.19921875,25.2734375,-960.5078125],"radius_voxels":14.08203125,"top_voxels":-957.69140625,"bottom_voxels":-978.81640625,"depth_to_diameter":0.750069348128},{"id":"2bc1820baba047f6","ordinal":1,"center_voxels":[24,-12.2265625,-954.8984375],"radius_voxels":14.42578125,"top_voxels":-952.015625,"bottom_voxels":-973.65625,"depth_to_diameter":0.75006769564},{"id":"adc259cbe2a395e9","ordinal":2,"center_voxels":[63.19921875,26.28515625,-955.57421875],"radius_voxels":20.23828125,"top_voxels":-951.52734375,"bottom_voxels":-981.88671875,"depth_to_diameter":0.750048253233},{"id":"7855fb022cc561c9","ordinal":3,"center_voxels":[-1.19921875,-68.2265625,-950.75390625],"radius_voxels":22.8125,"top_voxels":-946.19140625,"bottom_voxels":-980.41015625,"depth_to_diameter":0.75}], + "bounds":{"passed":true,"negative_control_detected":true,"boxes":515,"samples":13851,"unknown":72,"missed":0,"island_boxes":4,"connector_boxes":3,"void_boxes_proved_air":1}, + "thickness":{"passed":true,"islands_tested":4,"islands_below_minimum":0,"minimum_depth_to_diameter_ratio":0.75,"required_depth_to_diameter_ratio":0.7,"minimum_island_id":"7855fb022cc561c9"}, + "thin_pad_negative_control":{"detected":true,"failed_islands":4,"minimum_depth_to_diameter_ratio":0.299891686975}, + "route":{"passed":true,"segments":28,"centers":253,"capsule_samples":68816,"blocked":0,"support_samples":1344,"unsupported":0,"grade_failures":0,"minimum_clearance_subvoxels":99}, + "raised_route_negative_control":{"detected":true,"passed":false,"unsupported":253,"blocked":0}, + "determinism":{"W1":"5764b702482740e8","W8":"5764b702482740e8","W16":"5764b702482740e8","plan_repeat":true,"hash_samples":32768}, + "timing":{"same_queries":32768,"legacy_ms":64.3305,"native_ms":46.2981,"native_over_legacy":0.71969128174,"sign_mismatches":1473,"sign_mismatch_percent":4.49523925781,"legacy_solid_samples":100,"native_solid_samples":1399,"legacy_only_solid_samples":87,"native_only_solid_samples":1386}, + "mesh":[{"name":"cluster_legacy","grid_samples":34686,"triangles":1512,"bytes":72584},{"name":"cluster_native","grid_samples":34686,"triangles":8312,"bytes":398984},{"name":"detail_legacy","grid_samples":207025,"triangles":4124,"bytes":197960},{"name":"detail_native","grid_samples":207025,"triangles":26122,"bytes":1253864}], + "route_points_core_voxels":[[-15.19921875,25.2734375,-953.48046875],[-12.3984375,22.59375,-953.57421875],[-9.59765625,19.91796875,-952.78515625],[-6.80078125,17.23828125,-952.28515625],[-4,14.55859375,-951.765625],[-1.19921875,11.87890625,-951.25],[1.6015625,9.203125,-950.66015625],[4.40234375,6.5234375,-950.12890625],[7.19921875,3.84375,-949.6015625],[10,1.16796875,-948.97265625],[12.80078125,-1.51171875,-948.3203125],[15.6015625,-4.19140625,-947.796875],[18.3984375,-6.87109375,-947.4375],[21.19921875,-9.546875,-947.9296875],[24,-12.2265625,-947.890625],[26.80078125,-9.4765625,-948.04296875],[29.6015625,-6.7265625,-947.046875],[32.3984375,-3.97265625,-947.21875],[35.19921875,-1.22265625,-947.36328125],[38,1.52734375,-947.37890625],[40.80078125,4.27734375,-947.3125],[43.6015625,7.03125,-947.15234375],[46.3984375,9.78125,-947.1953125],[49.19921875,12.53125,-947.16015625],[52,15.28125,-947.03125],[54.80078125,18.03125,-946.94921875],[57.59765625,20.78515625,-947.55078125],[60.3984375,23.53515625,-947.46875],[63.19921875,26.28515625,-947.34765625]] +} diff --git a/Standalone/Research/WorldAssemblerM3/Round3/results/captures/contact_sheet.jpg b/Standalone/Research/WorldAssemblerM3/Round3/results/captures/contact_sheet.jpg new file mode 100644 index 0000000000000000000000000000000000000000..41910b198a6cd9568e72acb0a9f5b9eabc08f486 GIT binary patch literal 69308 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 T{2r7Utj4{0vEK7 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 D73#FJ literal 0 HcmV?d00001 diff --git a/Standalone/Research/WorldAssemblerM3/Round3/results/captures/edge_cliff_matched.jpg b/Standalone/Research/WorldAssemblerM3/Round3/results/captures/edge_cliff_matched.jpg new file mode 100644 index 0000000000000000000000000000000000000000..99d77e6c8b2fde08a9d12525ef1b6dfaa897f4c7 GIT binary patch literal 17251 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 literal 0 HcmV?d00001 diff --git a/Standalone/Research/WorldAssemblerM3/Round3/results/captures/overview_matched.jpg b/Standalone/Research/WorldAssemblerM3/Round3/results/captures/overview_matched.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6bb71378d507d6090685405e866d063f4f60eec9 GIT binary patch literal 14546 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 literal 0 HcmV?d00001 diff --git a/Standalone/Research/WorldAssemblerM3/Round3/results/captures/route_matched.jpg b/Standalone/Research/WorldAssemblerM3/Round3/results/captures/route_matched.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c7deaa5a00fbee2dc021655b667fe2d6ebca2613 GIT binary patch literal 16486 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
    QA-GsHp=Aknik4@h3)|_ZZr1YoP zSx*i>M=Vz}{2N#%$oJpuNsHQNHMVVQX`bs#sfjaWZq?WLJ-ate=jgO80$m{wOf}#V zu|kESEUBHzTnbmGsGuTpchR)<{E{X!RPsuMNrIn9p|y_gQ{yJNHSPO(LTYntUn~_X z<362i^;JXSv~P9TZe${bT)1iz9a)km^uLOfm!enYsi#DRdRe0@c%QSzj*o8BfkCxx zRN~~qlKS~L(f9$WnvvV;T&X9@QgMyLf>pu;X5{0&vn0OEx$N9;&Z5(Df>FyH>_5xF z%+vShrJ{e4Gm<*pZEwvJZ6xo7Zr^8@cEfm7Wo`^eNn;z!0&XuFqsB0JLFZv~gtVu% z(Sh$DQ+){g7~j&V%`8Mkdq4u0Xx9tZ>5d0vkU9Sl~q;gQS_&^ zjhw}OkW5twT6H5nG2p)&NB>Xg|B!(X_GGH+*W6u^)3N+*c?KpP$n`sM0sz1YKq_&> z{Hs<=eFZ9cOToNB+H30J$x@rdv(!H&N?G48B>|hQ{_Y=z{*>4VF&BkPrZYY2r=0&G zv9bO+;7{rQ4E;YV@W1~G@VM=hsp^x)Y85%1bn>X*VcLiM+ZHU|O0ZNMba%oH=*qT-&s&+ql8QqzMunoj2a)c(LA-B4M~U!R6TH z!|%hq3HT@44Qo8< z!{CfK$@=ul_)C)z}Y%6^8mq)Pf>Y;fs8B@W9NybW+WrWE5|77$(F`RrJ@ zDrXk^w-)oiofizvubey5wRozRns(b2qFvq*`iC6@iazl^hWG9N;cfFP{lE0vorg$0 z)z>IhALod-EA$l}HKA|wi$=Q!bQ1CN@#EP;odP1vBTv=%L5AW=&V|B*Ci)PMujN&; zn~m4jF<0~+WT1bL!M2dk`eCx`$<#HTj>Bkvr^hPG_~*VSCjn!(C4X`q;`oQfGw4&< z&oCW-S>hD`z{id^;s0KXlRL;H%Z;cwc)?&>$fIWLwnVJHouNBYZ7XM<^whHH3;&Q$ zaBa!h@R~Lz;9HaZZ=fbJqFtenJo=N$(kBm+%oDNA+DiUoa=yN8$kUd^r!_~&$a?A< z@tkEoy8Nh>D{J~ip1Vb8eQO)59BY1ovD+rtwm|5>d?7<+Kf`qVWg9Q+(YEei!j}58 z`8_)h*(XGSZ*Yhq9h{@+0|E=v(_B?Lid(VsE1I694*7Yc5}(aZTO= z46l!m_tnSZ7x?wX6tMk8VMyP{aQ**}w_=0hM9%L^?@k_@b6&8xR`e}K)C+x;M@?(I z7as<@7NlRs%b4>rH_Q{xjE>W`cYmA5p}|Cm42I5pTjvHSL+#FbbM0sTh? z+fsPkmthYT`;;|be*eefeGIRUkCzPP1F}qc#RAW&k?go;pD*`AVm{Ei!uuc@;(c?< z^#xBX*~H>8#^Q?y)JKNb#}z+T{8J8K^&iH<`r?m&^daYc#|yNpIUmP(q1}Whi1*DA@DutD2xQ-wcCV;Es7Z4w+lp^~ z?Yz)e+EU_ybbNUu#u&Cs!N5NvKaqR1*wdx0)o#y;$sO$LuD(CYTs&`%tM`k=p0r&l zznZUNLz+S#$C61etmPb%%KdmAJI8={Lx%hy{Zs1o2klg%6Go*} z^%Wi&%!O3m@+a}qCmr=gV!UiW`gEm&PUHP0XHCWb$Y5Lh(>Kf_^Oy`4|6ZKhwJ`cLtI43+&1 zZ#QmUGHAPUiLj;p`X4$kVxK-qP8~!hU|MrmcWo};gOKm{G0NOmDOKQs=7nRBNB>~{ zmMMKNvtsxyqq4Ju!XtxiA&>hkU-3nvTu&KtMV2FL$?p z*iqp{EJ=Nelep&B(igm7l(tyst$4tAqq5Wo9mZSnN%hi)XlwCGeh7Js$ZdSKJRcBk zsrd}-o50Xs_BCcM&zF!txO1$l?uFUx7-#-xOx~MTS@LgAtc_g$DS`q^Wz2bBFtf^EPZ<+WI!OH#{H=&7)*k^@5 zWAmauHb2v|ZEm=?MT=>HJ8CyFs^1*R_D3rQE^eLVpF5#1c(d(I?bwJ6W*v8Bg+~V4 zijPMIobe%M44&YFL5Jdw?dZ*=L>?}W2@4r|)GT4^G5ujhoQqHVAvAJ91!y<>l zeDzV=?_FuGO!3_ADDtZc9hN#u)~5W5@({r*46Bcim-Ti&!M2HheHov~P}$G$cH`zH z6PGRJ&-}Rc#Sk(zTYvBBadirhVc8b(7g)YMB=C<~?0XP-^bh9SV_i|^sYOd2TS87M zJTll8@|eSjoY1%C@O*MA&t27g74jlrNay^6sXQOH^Riy(3r*4PL{I8z;oiTmhPl^z z*1MlA;D1V*^`Lp0B+{(c3WqAigvUngy@(=?sU$Z+k=X~C&Y<;uwa_&UEXiMd- zc%#^pv4lD$2fB>ClNULLu8{iDhiGf{Q_asQXAt=Y=8#mDeoOS_Gw*-5*_~MbRbDbw zzoE$to+l&UW6Mz2`K=UVB7aUabh^JR`9J^2Yrec!%KT}|CBx232K$42lY~RX95H>g zMgH#*A!fgjOK#WaEr!Cw7#mL-#C3Q)0FOEtV;DblX#JS+C-=OfQKp@z`6W%%M_%a2 za|A1f6&>HPOUE(Q(|qysJ~*d~kH>r!^G_;E-_D*~nx9|SNuiksM@PEWdc_>sZ6!av zc>}Z2uJgv#PS5%MXgQ~7i~8%w=QPG=>t!~5dO_il!T6!!HptZ0T)8K?5^u;Tw%{MC zm+_3T8Xu22hCQDg5IK$KpK~@PxL(r|Cmt*P}T zVKv>eYPM2%(UxGSEcKB`&AmCN_+uMwb2rJOcbuNZNZYKQZ$A~sJLX8W%FT8iZ#m6# zU`DvN^uHywzx(EPWUWotyR4i68LIy>eyV5H(Ad1JxAPR+#DBND0?#)dmWVKs8Tfb> z?|-EQlsi$of-l;yz4qIXitd}|!xbKVg5$m2vz}u{+K%q6&7)%Rq)9%M4S1bN@?! zqEDVDU+kOfFz@xNWq7^7tRs#chZ&A^_~9&_RkTd@W^;8EOrHc&-N+SpZIuW zu>TpmpU|o%J*vIk)=JSw2FI@QmVc0^-0W0Q;hz;Zo;YrX7SV^ib~1g7M+S2_CEtU6 zR^~92vn6x1a7FeU^Q3}I!;^Sq#olnpq(yuR;plA~rD*GAg zXFR;DkIUAczu6h;8!@u2|HY$!WSMyK3;Bn}fcnVDdONS|gFLqpIZQ%c9?Nql%9oD( zv!<%ZmneS|dm=KV(>7=v-z)9Bthe*zH@d!Bt^8*<`#RQVi!hPlWgo-)Da&HA*uU(2 z9QsN5m7Hsy=lkZ%*?Sq!f4UwW8jF{6hixG*&KG=nJLqG(+waXXE)M$9k@LbZUw$Zj zh_=X6e)!+mO;stM#C!&G3@S^%O*=k_@9+DcZRPv#s=MR(o@KX{{Gk~SjRW^n>Gkhd z;rp-TQIqejK7S&wGAvh-KBv4UGse3iI6b8n+~c)uoHclGHb zug0gPkL}K#|KncvtxEAg^)f!u7I}a8FrKdeWQ-R6G=rjC(pUVtkgq>WQ`L4KY*1KF zcIq2bVVF-Wo?UMQ|1^4-Tc4Vyk;>CGJ;~6uBUxr0l040eUlV2<`{hz z%yun$I@Ys0I^5fBNn0&_WGd}XBUIs$p}qUll`)>LY;Usjvfj>9|B2t?isbp#hty#v zGWS=_;bZLH*_U7W_=4Wnf!k*e((?bR^5}D%i&JmPXdy}JYxTbiRrHa;wvgwHF9$FJ9@?8{ZHmgVt$eNvSpDg(G|9TG5z>>WH8q{F}94}xkHp=Mi|TAVBeQ}G|x#` zeX^&aT%Y2N#=yQjf1r6MM)G`52c9@NW?Uz64@$qRyX$5Dp&qlX$ba^IsI4vihFu?~ zb4I35`=-LM`uKQRZ|4(q80gohG0^&n43+&1Z#QmUGI81RvC}&1`yhk9rLy$rpes4e zr`t2=?5p$#8QC||M;?8M`q*x&2MdjX%R{(Qa_<>BJmk?cH;1J`7} zXZaXjA0ICn+T&!I_S1oJ=p#dAAH((kKOSNL=BsG>!94$|bUuvrAN47gd~?d{g}%yL z@kX&HV+nP(j|wvSjSA8}of_fO7x9U)ihQaBv-b*@iv8E`f7s*lv$CiCa8C@2bIwM; zuR-yNYrev;{WLya*4ud+yI)^4Vj@FjKg0Ly|ILfoh+}?v->HFUMPKm3=So|^tMNuL zBlNMK36KXLqOHR7u1J4c`z-FEQC}y!5~UpOna!>bJegKA=1PTvj^w9&_XpWALU{r* zv=>w=Fx-=vJqK&&Wxbsz-;#dylzI&N24?>^%0!0BlHq%ekLOdx|A|(3iVZo}B2L77 zO?j4&pBt?|uj(U%Z6S~GhWgmg1CR1KayNTlV*}GiAEGVt)b*V`^E=veo?TaA{-its z_vn4g=DX&eALx1XHOxD2Y16=)HTP=Udxwbp#K$8;du8Uc13gFL;AOp?C*KnPYQ`>p z|2LRDUy97X%c*aI5qr0<%=%9@#N)i<9HH&@hgY;R0c8Vk)2@UTGiZ^P*3HhVz;8Ill<9upW2gN^?$xw!3r5Tr z+9DsYK7sz-&Sl!&FHIC48Ol{sr4ac;d^|Fk+bI2kbzbg?JZE6_wX-1o;c$9A%^=7>=CrKOs?I-uiq_GN&RHaAh!PFo?>YxJ~znqU#(u8 ze{p7`yO6V@{%}-v-+m$YILj9KpK2F1nslnAm!HS(KSCdn!Tu;btlP>O%j!#g*U8`i z1U+78eUo=%`mis<7>BeU@5;W@+C?mKbbX1JFxMQ zmSRtPzJ3x<>oD3P|L^yo10%QR)}Ll*r0~dKe~`yx3XgZHfBIyAzyB1|;`pNdNcP7X zn^uAlr3-SJDRFCRr%jK1Hd?(9pEBWHnGMfc| z=x5aWt-elkDmC$aB3TY&`u@JtK;qzu;j!WC&%m3D0-JZJZg&2ml8*2F(Xk`nLF2~} zdoFrtr!a4)lK;8)jjv|b-Bm%yXa4QB^jtLYbq^LZkG|_|tm$1-887yM%K07ZJwHAU z^UiOZ!R%RnnK2~n8y(+MLti0Zy|ZE5`Tf1&4sWRN$cVO9coMb>^CFL9#I}&nI%d(K z0~-R&j`_>!$Rl&%?=kE;)e6sgrXL@V4Epn8;*{>u7pt3H-c{7)JW~8@DKWv-qWyYL zzh~C_Wi)r~vW?P*udBz;0pemr>{;)o6`bJKE;p-aZXKCVN1l!~de=|#)c?W3Vc!46 zOQuGnDSW&+`-ORHzfR$paqNQ;)1)(xPdSg+7V>YBym36rnAEI3tBt}VgTA%%^0+{K z;$^$5YBbh%)H`52$k>>hCDKS9rO9qyFT1;ZoFpxP_LA(ym!XVk?CDL?tfOM=b(a3u|8zD z($Kt8Hjj?aJlkz0zj{{#vve+JOz)L>b$qXi_HOx(58ua`{x^-nyn9PU7~i(5Xr>=u zmc_Hx2fHol6aTrBX}oEk%QS{nQFzpxv$GTLfA0d(*!nnTV(YI(@qsBMx%hlGqo81_#t7{a?ReZ-d z9q%(PEcP_-80KyAGPh$;u3PR6bz}3A*>YiutHsX6o>Fa99_vw4tS1XNpZ?Dh4)%3V zm>s3tdGbGLQoSsb|HUVouZJ=Q&=&bFl^*f)Yi~>De~2q&Fdpo@j7ii-onse&cMM*= z#l2xyq;Gu|F^s-N+q&n|YJCsAb_ebnrQ@1>;pJ>sxw%U`b%%#}aqS)Qw3FT>s-gRI z@J9`K$`9o`L{ujKoR}Qu9nmh0en09jb?Vcz~>^|V!` zO1kI&CH5B?189rwL;?ksiL#OytfXw*N^8;Y?f~NG!S`Y&{qpPGDdw*=0zT#nZ&k`&od*)eE0B|fZ;n!=;|KF&VN~q(H=_cc}(fqp3o9u-lX-P z8V@IAHA2kJv3SYk3+?I}d~&WQU4+VGJ!*>mVy5SOu`ur+Z<3mxT(4vPNZL-f^Ym;C zG3hGyVtt$G38@g~efMu(!!zX%V@JClY(2F6jJC*^ezDrf{AGjj{r2t(j|}=JK3*^) z=fSqFxDuOZn>KQU_ixYj$%m8|p>L6|pK^-v{Kp~2j;tZNx`$f(FRlN(X4AVWq278& z61v+pon@3-Go0yL^Rg=w?a}lMOemi(=_~KJk;c=;socpk(SBjg>H3VJuCkx#ne$LD z+I}w5+F13zh|%oN5eknCwi_RBAB*h&t`U#j*_V$s?w=C%Zm0ZfnQ6R^0M2;LnYJJqXPB{VZe32I`N++uM@*iSple zH2J#6Soh07g~vW%Tga<>5beKWzoYdn+2@&_F^NRJ;d#H&Xf|pv-yh>*K2D08SL#ud zl_?&izT8jkykw|emIX`yM(fBUld?JO*CO`bPd>u;-~HFb{!9I*JPK`*-`#tNBjq3V? zakAu~SiEHB&6(>O_-eMNiBsjV9yP^&F_ZJN=eN_?*I1lxm~Q9EhonjMvW)&mUSVK< zpIltW?~jL69%9pnIfd9j9`|Kz3*&R%;qSBpoz@%UIt<|ZyNpltE!xgCOK3T&%`+BG z9<1Y@`}Dg-uFRF@d0bQ2Z)m{&J2N~=FO#&hyUNRy4&>=sKKTxae6H{8{V;E#3NAgv zljp|POAj|7o@H3feco-b%FoDMR=@bVkMX2yWu8CC7(h+5O|TOF$)Mwg%+j1WgkG@6Q-AOka z!>_J#BpyD9@23S{(KGOr!-Ts6u1@kK&ll#M(mK>%ruDGEgK64J=LlV?2VU&s6S*y} zpLU*nDD`C-d7LA(rLyGD6-&(EgY#?WWsIRd>b#nm#ducZs>6Mio$v7c zO~j;{kA=IW-wKW$ZVVgUM7y77sKS#^B!g|Kyyf$VBy>%9qJJ*rctiV4;p08Al;X|O zwDWTAVivDAQa2p0mAKxA=MOYqo`=AmMf=NhbE4g;5^H1kjF-`AA#o{HC(Hl3f z)T1VE%hDHf9Ie}V8YA_A>SY<@0eNH+_7ObA?QbV*Yh?3Z-BEhAb<}IXoW`x+eKc@87Th|`3CJTxjs(u)b1wo z&&gTaYtflT^86t#=I<$U;^dWj)MRDy=Qq8D{(`Sg$FQHHbUQB@s;4sbhgkBbokvFG zEn@CcU&|ow6=(V0rVn!pvGKon8E-;g#BH%_Y4sjQPsJ2U+>-65R!)V!#c>53U8zM> znWFvFny%-I_Yo*3q4NBEGd&mo4)ZpBwaB$|&Qwn|b}gv+ii&#vUL_pU)74OTWH6Vo z^HP)auQcf`Ju?iXkYHz zE!xw#e3*CUh|$K5Pkr2nriRAiCDZa#4_C`%V?1YSt31}DCg1m2|4Dz*pA(HPtFBd@ z`gVkF=V>g&WGK$^Lsm}zU6?oQuf4{9SAKDvy-U|CEI*?y@^6#uGLB8W=qNBJSmBXD z|JZr*3FYCakL}*=x4^h(u5@R+OZf@qhk{4nqV20qYmMyX8@aW>Aw1tBo^m!N$76ZO z(%hpx2a|~Xr9{9*cf^{}v3SY!{3k3_Wchir)# zpXgY;WJpJrB`y4E%{#V*{G9ib`TFzCKym+0#sD%rmVEPT=ViR1KJij#Ppe^$8`mzl zdzBOS`y{XA!{E2DBomEdnY(H4Cy4VM$)j(vE#xuh#GHr9ML$J(b`=u-oPVU2_Q#%4 zJijGv1CJaJl_yiyN5Z;Say>dX1E^E5}qP`xZG^93=0w#ZNLOyl!avp4N8R*WHo z@nh#@e9rDN*)^yzy-yU%`y>6c_StsFvd_yk*En{53iE>f!FG|yydCEPZ9|&s+J%j6 zwRe+;>&PR6eM4T&X{{WF@{l{fjqwDs`?Hr9IUO0cjB_Vp`>&ms%>Ao#T)8)o@pNya z@>q|WJkMcs_xq4A@0cPZ9PMISY1=M^>vo>zlo+a~GU>M;IGLaCtTZTJvf>bJk^gq) z8qNnCA^)qq)WmqR^D>@MA9VtY9MsZ&EUQf$)lcz{otHYdnrG18?B3>1)wH>eIjwvj z=T;=U7Z3Sug&tA*!CyWEo-7>ch>NHE4Q;=BG+Mv2DTc?itS1Jap_Sz^^Vs#G?GgIq zN=3Mj;^K*s_0%`yaZZsz{ekJ1Xse4i*3$1_`#Z!HG8hkbp8Q7Vaj1_v2S<+30`5k+ z>%I-;`jST_56Op= zSEH}ccFm5hMyb@H+U28tc)mnD&!aG>V&$k>Lp&SUeWH5@68!x1@J?-e=0UM|$&5KS zEKVNlX^)n?*xv_o{cP<|%J+SAJ5SI0QXfM88^U5^pl4(EFz>nTV~myC$7mT7hwyw% z#sJzP|M6pDV|(|d+N*8kA1khq!TGZDGA23ucX6MQ0#85qzsXv0HEQ0c9YfjM?`Gli?=D&CCelGGo83V{*JlJ^|pQw-R zo*Mo*ropzI+Srd257v1B`W9`IlpgOW+;gJVkzG$va~O8*i20xARBRtS|LYJ>+GfK4 zOP-F`VrqoO;w7^<_tZFfr5-g|nf!UYh0q_=u%n~FswmygOD2-(Q#k|c&%6~K91lB| zsd3+{1L-nDClr}WG)Z`VQNwO1#HYZ)eo#Ns7WBheh! z?8L)8HHWIa&>ZL~^fJtg4C^UT~_YP_6W4SIKRA} z-8;H)tfkRgIy$rz`Iw9uWJG=?;=#_#m_&VSxAiy6wUh}XwQ_a( z^ZrO4b3C+tHf6b%eQ<np?8ibpON)c=Eu43q(RmrkL9>{`5qI#;~>i> z^K+kd?ey=8C*{}2NZ-yABkM^YdDOwV#`!H;=m$r$&uR3~KU?T_Ud9jVBQG>Xj*SfJ zd(w<^bowV!8#%(4U$JE`9IxH;k45Tl^uA2rV$dhZZyJ5vU489n{YClooR>aF25payeChr^-wJK# zQjtGM9({$j&zdGSHosV-9c1@Ul|2skTvpEds=KFPH+FwNN7h}w-)sVqCMgH@`E$-7EcCRc|Qyvd8CXqqgH0jT{`=_6-_4{X-Z+{mtjJ`$N@uzpi zgqCltJ!9`*sCyjjxoq9;Tfe7g61xwcJ5x(XjZ@<_BUAoSdh<3x{QVBeBSSi}E#y%X=NfG@&A+QvPTNt>l6x4_x8eck z6!|IjifgC6ZS*Tk6Y_W<|5J{K4BF=TGlSOR$EI4HwCs6BrZ0K)E!uvYWVvJ7qDk7F z%)a|IOrQ2sS~KaLI9ku;yLd0y`EviM<@NJv#yYyMqWzRzWAX9G;9hCxrKZ%U{YctU zIl;%``sZ>^-~E@^eL$Z2gS?^xb1mzMUwC$ucC0Y-4Sj&YIYqw4(QwD9cO&)Cnj#)( zyp#tbgSKmpv5uQN$7?Nr7WsqZ(I;rz^w?yr(TZ-4dJRYT_d6OR?S0Z$%05VWyze9H zk;gL49p(d4lNj{BtQS0q``Ylu0P@8AFJ8uj!ayvMdgSI^jsnRjzqR6rc(S$Y6H7M4 z<8!UF=E!GasZ96IUfvD$?sH}_GL&0qoE{z$i-UA{h3 zf5tQt{r~bXGmi(?rKniEWJpK0W#?r*YKrkr^whl^>TUBRsiRB(1Mbbgi2D(;pQwqv z>+vMx%+=Of?yI)vuXz83Cf>`i^RhpRKKO@x*=PD9ZBl37e#(48ac<|O4)Nk6&i7@^ z6OZM%c#Hvi{7B#KZ)bA>Kjr8}Il7?%A)z^VPEd3IlUz=VeTyKDH}-PyaIiLky#D z678sBf|@lRcd2u#aOw*+a+Z?@B59jAx9$Egw%T*~I46`I3Gs zG`|bqk3zld?_VhT;B%_?wWac?Y4zVZ?yxi2xl??+Ki?g1)G0aGe7Lu*5)a6rZ&lvX zBwtA%qHUW0>Ka*A4mW>F^PN%S)I;a3dyj*vH75VRR?5wj-SPYX_~emht}ymH_rTa~ zX}nyAoXJ1YCNe9`hukOQd~Hd7W8yvm?0cvjn=jbTK^#H(%vYZ7HTZgX`qxonJ@o5SEcxb?uZN;7mAB%J zVo$~rjwSU>&G_xlv~E{tsh`T%XSB8asjj!L{l^rp33R-aep-jeMz_W70>XaStUazc znDyWCvzR;KlZ_=_@v%_+BrN<)t5PpnO#kKV_n>G$^3Shji~Pue|M2{$c_#Mv?|?^! z%FQd*=lwxm?X%Su@@b|H)AsL=()t7pGLc6H$BX>Do(WuyM-=7l5+m0iIm=U*^Tw9Ag&lLd0>m5Mhu zk&$J7i~~;`@%)hI{uFa$kLQKMhjIOPn{vero0dl}F|DD}AL^UzLz0MN&JjOLPr>|f1?$B;{6QuGag>nqyC*k!j}4Tzt$kWo=^H`hk=YN6JzIz zrEW&e*m+{98Pufl$}!4%vZZm-c!|#u;dQQVy8iIW5c1DO zr7YuwxT8mkm?xjtHtoD*XntiGdDM($%lygPB?JD6R`iJ{AIiS@%Mxe)R5jK4mHvO1 z;hLLFLZ*$5#Y+a;LLOrV+j74+;!GR4gU`i`Ctut~uW&QX`XD8Kkioe?9yQU2czg}g z3Y*%m0cP)^gAC-6!M2cJTlIl+Xy2uWFSe!meXW#_wOa3w|MO}P17`hR$g4Js2)bDgtTYQA6RUKMGgJ~G%A@~9ch*0;9oZsgKtA1!Fk?-FFw zf9;e$!L{XH;2G^;+FGVQCcVNV!~5pbM;`sj_imq0HkM52qVdx4cqV^AzP{CYUYD(J z)*K;2^|EhM(^b;@53X#w78W#~Cu!=;y7N18Kx;O?J9@<`lfIZP-~IxO-8Mmjk~-Ic z`9+4xeunAz%Qjxt$7L(}W1TP985#>QvaSEc%kfHH+TwWYP8{c4wseEpB$VQRo>JcN zrj9@U4~J@|nTGwHE@14oG%l_K<3)zbeunAz%kl8C|8nl6-)7z(#`n@;bHhy3Ctfnx z7V@Zxwz5pVBA&E)w;&#nkveu>GSZ*Yhq9h{@+0|^>%%^Xd*8;fYn?+bZ7}=Oys%H! zcIAzKt4A>ZTl=QMu=@CTS#RgbS5lw%h3yx}P}$E=yZ;Z5u|Z|x$qy&r^*BiSAKCR2 z)JF!}LLN2Ic7C%ToLxVO_zc{<`ryyZpFi8;6B*KxbAdc+qW>{}xVj{_xjW5J!~NN* z^dA{)3wd0VaS!Erd-P`WaG03i!dvIKzqY0G*^B;lUSX&{K3>+-xq!dSc;^4M(L%re z_95<@(|za5eunXk;e8-|A5SdJS8N_)4C0~q>QelCe26@M_v`QGnmop+Z@#uvo-u5l zm-(lRRUCW9@9V@|Y*pT9P&tC}v^Bpr-p43yDLm8h@CreTcRee}?@b$Ef^GjWpfD%ymf< zxxQ<($}BdN#o?BeO1an7^L#I({s)X6WuE?4XMZ2cV(hjwUamt1{1dI{6Ypo3j=wB% zw!SHvIHy$h`G3gD()@nkkmFIYc^`vqA+N>{)Aach+ci=*bu2G8$e2GtjW=Y-57IxI zqQ7X@ljk)b=Ey%1`IhIC*F9ZK^glA#pSjCZ>OW^_ zVP?d2utO6CW?@+khtV%x|A3iuvu?`i^^Y z@MspF$gr~XE%3zBP-F2J1M$rl>LWw-vMmzlAGY2S!+he;A>$egV`Y3QK15q+clY&S z#*+7)W5!OW<99dLr#%jHm;`OsD*mKBPwbBtuP~$|`^NgC@Uk8?iD%>OHB0!vRKH5b z!mN}ZTJ27ny_z$8j)2$oLGJ2Bp1U)jr~T35c|PWEYo2Ax`eV(njrYZX(w4$A9e+%+ zvR@x`7%$^f^?{NmR=4mLPZDyARLH!gC0p65W0!SexMTWUUITr8Cf(bldz{GgSn~I0 zw`I%xW6iIn&v{=AC~YY`(_#J>IT$PZ^+AX6R=lx##*3T~Z7p8S-(LH9%rU4e{kFPb zPrjdaT}=6m%1egV`}!7(_tm2&=h@iLObhXb<{Rq>>XFTe*d1Xab7$8Lr}R1Ub5d8= zlFb-z=m~}@Jk6=qpNp0)^H1|EYmFnDhQ#8fzS0)(JWiNDMSNQN*iVN0KG9sC{4aS~ zj*rJZ9dnWdTiEpzIoC`*asJBgCP$e6AqP+xs*jJC^{7ca^S|8R#Q@lP3rxdN2{=P@ z#M|}pe-2Hgv9Gc07j}&mc#Hv@FVe2KE1NO28e6aIye|fnwvdN-Q}j_sbe{by@w@@o88F@yc=bakc{n5c|< z%3`*@LA)VDevtkdnfs}hW!o5Ib8uUQM+S3ImACv!y!6S{z=FI?{(sjoHNSpX&aL_% z8Eh+gp3-{DOTQY80`iOeLB=`da=vok_jR2Yc3cWt;k!Pwa9aAni2vB}1v!bru=@CT zS#Rg*UZ>O-Qygs~LuEfh?Z(5)dbBO|wL0g?KU<=D^Za)H{A&g>;gJE(R|kzCVvsL+ zXrQ_8++z3A#0M3g=cqpaU_M+a#bC2^RQ14IeYYq)GT0XKJSSnAB8M60_dm}w`Eywz zUNxVb#~F*KXSdj~$@0%UiOzE!J1^@|lef$KnIS5~``7eK?up~OIUZK^<+r|eInNlW zPktu;k=cOfx5IYOen)-w^#Nl5=Bw+k8Tj>+!4y9>Ud|o1rSPQVk57m(&?z@HeGK~s zzW*roed{*b0`Ff=*m{UL2IhEFmVUea_h3HWWo$jP^OB)@dVY-ZRpjxxJ7VPXc*q}H zJl|cT_z3gy+DV3;mzvlgVXFG$RwP(h9569zsMtlF^2I& z{_N!G?pV4c%Cz$`W>6n_uH%n?D~1&v|Aa+zeToMW|JJb(ACGw~=8*DvJesd}-!$Uq zrWYQJWb?`$2j2k)CxYzujz>D#Y)?1@;ye!6EK2%!GI{vyst z$mimG#EMnq3;sP`TUBYSQ87B$EP1V{tNxsKL4Q`IF_u)yKlHrIb3fAl?s^-uN17DO z{}yAnCI4_8GT@(RMW1*-!*u**iL>KZ)r2{vdH2oNocTZUdvxG^_V$IE&kk7H(pZBKz)OjA_9p3V+7Pj@07Mk!o6B&GFm~!CeIy4*7_?# zJ@HK{orbV}NNct}r*ugMZSh(0m2+Qek87sZrX=pH@W=@LhR$kpLcGW;42-??q&NQl zmrS)?(^JmTCUom*B99E}Bai+>pD4C$tesLl(muUp&-25+i8)5}kaVsu8}mBbu-xWm zvf0}AH6{e4+DO;ytbG<4s^5FNlrx;|BX(Za+j*KV;%6$;?QspA zpXl6*w=4KQ0}5%we@vpKoi|e9aqiGRp59vE>ic=MgHIx2@uW|4gl!=&bVMGG`q{h{*6xN8@4y?z$R`-8mNXDc?4 z_pDf<6`VR*3tQ8d=VLO5K?cW*Jo*P2%56Ga$;tcke$hki=*0cn%~|aEcJL=MmoDJgMEO|6 zIOnuK`Z<^Qt`FBemNBpozrJU!+X}<>_xN~OZ|4)#pWxT07^3rEWT@B^=ysSst zp(%!Qp5pD@FP-@Qcp~p-0~z!!`se%n?~KoRUTB}TI+Xq(gZjv0o`Cw;?)#o+WA=B* z8u-`4DF6F7;`$QoaeTk)$MXdK-WT&u9(oUqUC)v4)ZpGN_Fuslom9juzwE8n;-4Js z{MzD?;n#(jKesFm@v1!aLFjOvF(TjF&HYJyI`2e-W-HkTc1;TUNwFm7n#YxIzFb){ z^ZcpBIVBxmTPknGo2qZ=oIRQ`hJ6En<=2O)Uc|5(+ZIoK7azJlY`r&Rf1il@ z(`r?S_kER&#-<9Db@nw?#`10GN5k)*p2zpZ6#iOBpWD2S!Xv}43;FbsSLe&}xnfJ5 zZ&X0PyQCh^H~4tj^()#>w>|ro=OnndD(eX_YJPH8%sbP$l<*I2-Sd;0`#rsngPIn@ z^?mcD^2k`et=jV@_Ye6qTjVJ`$%c5$0WgP|-!Gf1+0;nql`yHc83rC}m}p!uS_3mMY+I6d0AC|_(|*4ud+JMq`jPU897t7jujWFnieX9#@^ z@24!Y{*#TJ#~8r*>aozRJx`fatF@<}qK^!=g*<0`@rnA_&+XZ+Yq#c14V>1hw~0PP zTjWpdE*p5`z@OTML%q2FrGIdY<5K3~W2gO5Ssx&eMV})d{{1`cN!yLuuFFl8`9)^l z!h)_w8rw&hetbMKn9I%866txLEYb?>X~NbAYmZR#fpIMUe-L{Un=jfk#QtLOd@q&^ z*NKn!)l>eX@az2g6w{QSsG7w47_J{5FBwb!M7juJ%ly;r)exSaOzFLv?e7*d?b0yk z@pjX>50THAtEYMJWD>2~;%f?z{=xiY=b29C*@5+AUgh|#@W^0WDsSyUYCf>m?<+MQ zu=CQlyPctrXY+i+&dYkCZ}H^Yo^-!5b0=fz%Tn5nn!bF)KS$ID>04@7@b^2m;P-Q{ z|3ueYtbU4ElKK=Uam|;Vm-^6_2nJs~kd7~p#TdhO8EM5Q=}hqDRA_6ptL8r!IZyj0 z<^ba>n9lJ9<~TnuX7{anK8^{?y&$mUH5#wQBSZCRrp|WmSP`3-^>&{8^PKHpz1HlA z={-JJ+jl?AM5d41!+rQeB<&s4uHYlzH*i!rS3+A-E<)icx3T7WH|J@7GaVfmcs_f1 z?FxH80`*0XD&`d1LLT#2)JL5k{+q-1uSIX8O!OhzB2UvxHpKHi&Np9}W6X}Y?VLS; zy>B*& z#p!=@9}*+l6+HEyZ0tP70M6IfLpij55Bh7%ORM_GU|YxwM&!w;kNs?%w1HMmpBI?$ z<46;Ih_=X6|5I#er$y#q_v&{8FZHPnTK|!uvY+AojLqY`;~b%F#!=$;ir+67%Hv1I12WjIowwE#E5?xT z9WqY4`L2*wHT5tPeJJ`P)*|GSHy;?de#micwPBI;{KQZ6muthQf*0U?kma%5@s*Yum2qM2wu)F@zNIg-*?{893A#(<+FaT%r7!| zFK2YsTE^CPrXL@V4EFy_u}#{?)cPx9|N7dCf> zIrNY$;`gs8hG`uZd!^7{^yDY!qU#5og#i%{bO9eb=Vj;`#NTQ7;Pd$Wyy%OTJYjn6vrbnXghiBI&Mqxa4MDfErbO# z>Kn+2d?2w3B7owVck==aU6eG~UMs*ji* z!{>L?;*ySi!_w=^kFxj&Kci2Aw;cD6H!y7?Jx4@m$A|PCIB(6bHAl$jNPSH!nelt= z(d4cQk4)3^r=3j=(I4d1K3jV_@?VG53Cvt7vz~M4cP8@4;CPY8H52zBs^3}CivJaF zv*@`hi{B5S@lxJ`nlZT_I%85Ff1nb!&@P-_;Vi>H0S9 z*J8~_2G{E7hvoEtrqpueo5R*a7SHk+$77l5`|SDE?;m+R2N^sDk$?X~A@fkW+Is4{ z3HkL>sgFz_uMwv{_6Hd}7P9Smt7T2MNy~b>ssHzRXq};WlfO|zW%|98oo~eNGo)x3 zWd8lNgpR-Iq5NhJ@K?UiZ?4?d&j?(k>!^vpM^WRx&~L@`n-9yZZwzQ=zHGMMfjlxw zf9|(+w@eab{^%*8&9}?MQ zxAuL}B4)?4<#gnc;p+?=OQtEoEU$~7r|}YVBKti)Ue6Hr+eFFoY5C?PHs>a7!{bxV z3$}&)&nXvZD?`(of5y~Pcx2H3c3vJwsE>2q==>S&M9PEz{_JWI>_r}Zh;1QX|NO9nU#ny=Z;bz*#Si+N?PWgA-j`YK z%F5@MetbMK=-VBCC381vn8uvu(l89v^dHG{oL z^w5~UcC|MG5{+d3vE~tNk#Cqdjgd2*ZY)k0uJFj9|LwfocTgYOeSEQqvEkrQx2JLh z*Oxr{7Hz*B+Rk0Gi#CE~nA~CtOpgjYOfP^D-J5T;6rfz=r+g!dftqt{F z|KxTRruEH=6SPJCMfw)n^;gH;{i~7xEgl(+2Rl#xq zZ_(C0c$em_liYC67^vf#{PjWtSIJe!&1MsWy}0&%ziE_Sxc4P@Sle70@|26p-=N@m zDf7?p0m0sScRy-(&*m~8#S~EVk-@f*$9m-Ro)W*^@vK*{H|67cj(rb%8;MfVc&#`= zTjaN0+u+!>CD@3jzyAU}G8hkbp8QEMiTbGXi2+d_WW&%d|cuT(!*@zMlR43-BA-BL6mDb7Rw~$;POZgB2bb^pBkK?kA`=9o7TK}7rm=Ls``G0!OSqG;K zA8(wi9~z67OjMig&d&uW1jX2RtVd10A2HwNW_+F>k00zGPV_XDd$77Ws8KgK90=wJN5wjYkIK!OqK=M15@c+PlQHcK$cVXxo|n zeN~8I^ex&ZEuP0+q*jzM{$QxC?$H;y|0y4!_5W&hoxOiC&>KFnPfVR|r;Yjf`!juO zUXtfAxlf2ef4a`CHYU%T9@FT`5YAKoX-)?$J>~4!z5~}p+cD3AjalcSjiK!C!EqfQ zj|{dOA8#Lv?0>pY7+sZTM-?qBG3UNTfK%Yu!~BUAMiyZ6NOY3_d7_?X|H z>O84C^N%&}RHpG#JYc&?yG+m~_B(3SORnOE9k{ZA_HfoZWBlixI?cOtgbSz#nUpFUqJ<}To9d4uYSdW@~za#%J zK3&094)%4g|29gu^W2Awp?XE%F&Q9^n2THIMy$bBF)*-7ANwf&tr$k%qHU9_TO60#9Cd&DI8w));r6mju53+e2JPw_?8V$*W{-w? zNZ%~RmBu*~p6->%-&o-HO<4b@Ee!VV3ooF%rffG#=BXTuCm#}nZ6S~KsCns4Chq^r zJ%YVS8{N=4tr_nQjH166X2l8GBLAlFaz~@nE!|b_i+oAO3^EuGc3#FL>SMc=zy9C| zukUsrs3!C!k3K}(O)n2SQf7YWj;IpJ`fvFV-{I=GH6I`ErVYW~%eCw48~VL5(%n1D z@;8e|27R?Ey;Ga+{L?T!U3E2I>c!Ut%Bg67f4k{k(5AL5{^wOSTYX&M$Pr#y$KOe? z+e-fG?XqT#E=dAU{}rI{sLAsU_MXupww5A~?=)ds$R{mW)NHV+rF&1Q+Pad%(B8-5 zhw>%b2j_kBF(|a0Sf8EC?>J@;936|7OwrZT;~o+Gh5!5osnS+$_>{~z8mj;+U{V)2sc z(qLPhyi$*vtW3U@`qKY)UNTfK%j)`U#R=LXpMBUU{yb8T@gm=oF@p@xyL|Cr=VeTy zKE`LBU#7bM$bQFh@(MfNA%@YnXj|uBy;i0BWgK&vKPfMgJ~XzT=415dV?O_!zthH` zF&C>SuIEsHXpVl}e$wfRddzbGv~An3tMOz~3CFl7aXm-!$Y8ti@tD71TeoVgGK!x` zuXPC<#Pb=_=Xnn1JgmIE#q*%n--!6}bm*;p-!(iIFPSp;AH~Tl^{7d0G5<(?89#Pj zGE^_i7(d7()92w8|6IJw@r>{9)7Es;kw@ms*PG6N&7*uSR%A$_Pl$17wHJM_j2CT@ z|MKZCEokQ=?LwKh3XcrtW5_Ex2IW_5E-2@r{ma|^Sx}9-!vBK@UUXktJ(}k~aWP@P zCyA3+>QR&0V*Z!<(*Jf|GE^_i=zq#*WDKA!@_Y7|;m?nC_)N!(%KJ4T9_+k~Pt-@9 zmUWv3CT-JOtKLCeFOod^7Hy9t+^_BFkiwWWbbzkr80^^+=6}k6XunRG@pRD5nZe!* z#cyb<5-oK1Zr3XoFPVk zC;t#b^;9PPoeS>s_x*c(Vg7_UMO)-=6;H|IKYS$dHcpS$F{i3OJ-I?d@robHg+8~Ad?=J@3WCSPYFdI8EgxAtVcf0oz8$Bu-Cug$1*9<^QxG3cu|Mnz2z%5Dbj zX`o|1i8&ILhcztkyxcR`+cry4bH|7Nj)S>t>-ZkM-B$7!(iSjhlpYvZ;%GgEM@`XI zL+6d&?05to-|54)ke{=^s(HOp6|MNfa=Mb^Vb00QiBAVOuT~EBwm8x)M&J2YV1wIH zv3SXpxjxO=dO?8mrz$Fs^^|)^UgR?kxqjkbI`H?u(tM24?L58fL4D}Ec^cdA8aj(s z3-&f{nA1J1t~ao@$<_z(Guk2_J|NNvt3EHV>lcxKNSMbL5>7Bu zXZpdBXe^62)*s2EZ_##ehBn6Wds_qhmmR6AIUeMkEbr<#&E>qv@+jJmF1vENb6<#x z#Y<*e%k6RUNc$BWx1JAEzF<+4_`p3?b52d~=BTsp+oKv)=vgF6U ze$D;at1S6byKGPncZWhkU-D{xZuzZJXdC0#yQ3XR z_WJU9pFa8)+d>|5T7K<_+47v3c|aCa})aIC-TW zHF-YP(62A%AX>NcDTo1NMC^&Vw)5m4I!{D>)G2%?RD1e0o#8nv^d*ny7ifDwXG-l%;Ri7*7E-=i zlIPWww^O-G-Q3Q<_Xc}^%2mjF3%(A83QWQZ+g)Af~@D~4(z^~TvKE{@>q_Gm%kH2b0p^u+uAsz zzJ57Ze$fUnIH$;8T9ZuE=9SfZ7OJVl8!~9y`uB^DI{!X$etvDazZ zf$w*95{}gId<1iBDzEuEz?m>4*xMzdhIu|uW=93RBF~@Y?~vGSCI9ASL-TH(^m?{N zp_-Dz^Ya&RzCiimpom_otI3$^^=_eWrjPOHc@%3M@^ou zviF{%*zUQ#b`=jA9J-z%YEpj7{4e#z@fEGxdC64jvW4@b zE3m&s`>;n0`vz9^Jue|+0Bw;!dM>RIc)CvD;c?>pLh{JqeA#*OC!NEhKE~3c-g%Am zzopPRuc7Pb^Z0xbkG@6QxkcZ&OD#I>xcxAKpO26}KktB?lk&ZhJI6SOWflG}_wkjZ zP{q-)c*%@B@=Kh&QjeO{7W2QSMc?ZzVJ~UAgaQ*4X#_r;o>TF0_5T`jvavhTk1OvFm|q&i|Uv z9Y1GbdD_V|qn+nU3IAVz^e~_e%Mb0mWO`(K8Yi#RqbB8nY`jum`rpn=hU#Tm^}iJ- zXp8)SA{QNGb8-#&U*-Lp5D#`<#wY5dPQN~n9lg4~bVN)b|FgLA#WVT}ZR?Ecrd4l| zI&kXxa2@k-%<-taX2T$7$1cMEKV{yfwNElA7B86+l@iCvEA^;J=NHWXt-A^R<|UQ| z=6DmO+j+@QJ(a0H#F9UWr+i+<0NNt|_0&ebpH3OauCLm7smad^eDPrC$)6OHsE<0^ zu5V(`!(0#8^PSL_Jo*-GuRXbOsKu)tnxn=bp3f6cc{}D{RBoAbfO9F!53}rT82DzV zOY7fsR4iUHdkST8{nBrMvn9)ik>{FhT#0@O_9BD&<5~_0oV_WR{_opHJU=9#5T7*> zduD@`I}cTDGgQr~H$8VGutdVfjJM(h_0cwLV?u5E-%A3w-=loq;*sI8$J(NJu=C^} zI>$tP)G2$ukaqf)?b_LQ1Gv8A@%#mCOTV42P24d+`{r)2jybvfy_Do5**iy&pRb(Q zLob_qonugnyINd4<)3Jq|5yh-)slofpOp2);5*2&{P04sxAL3j`v3KD{y|Y)R~+|8 zgCt5#Y}5=HDH#l!0x_oQGP3Vp9!PXXFjZ>QF#$yrZ90IAS}DI4i6IKD=sIAH*|ZXn z5bKYau*JacqJeBQrvBEbG*JYh78CptF%^^E^WNU<_wADIUw7_&&bjZNbN8L^zJ2%3 z3w-1!d19m=x;Es|59S*4d*4zc_D2Wv#>AQ2mzV1Y{UfjW6!E9un8=|2G5k-;q1ZS! z%OUEoSho~^;xUG3yFV$G?VGkqi9VWR&~K;#s6F_!Oj_0Tt zv?B0o{j;tRcWC3q1e1YBpZZwUYMIap$m5=F91HpI{8*PQ^eg49mEqi|VLs4mgr=!P zT~52SUA-Tl(Oj~2N#jX#ySPUe`0-llse*$|I0L0jb8QV%G5DpMOTbW{EE<^>syk1tR65YqYR zAN}0;>>cH5$6dz<&*}P5@)%pRjT#r^y!l#-^7Vo|ZqzWM_KC4HO(p8!){nQTSLj`3 z@yR$_&lWaj`0bEZT9Fl509}$+s8M2>2Q8o z#ng{iaMU?iL#bUfw?h5x3Ozm#<#(~5QA_=J$rQcZ-Y;+HN1vii@tjN>vFZ4`h|Ee7Z~c7wg&^6&DXDmaZ~9u zz5a?g5WlZX?C})s*F}!dw)l-s*15in{p=9!Z}qMdWYG3*`J|XJBEP#tevwB;Uwis` z@Z~8!r1Q}~`Uy%(jA_d2V$CC$YW^jU8WL@%ov&e2Q-WDYeaUdWqUkiZe+% zMZNxg=_7IH0?O6HqF!4X9^(rqy{lMK5)C{usD*ra>684+Ghy(om2sAl+`9C6zV~m* z3SI*;I2Q8A;28poa`p3Mj$9P`(}&OC^CEu9PY#}|Add|CM;;kmOSpb=F4QZwnPGh5 z(Rl95%Qc4nk=K3dx)B-lZ%VT&31fSeDcQRIqsAvLydUy(IM; zojF5#%%G#-`K0Ve9@}KA{cfiMAU?#)b8IlbvY&WsS&{O7j;Iy%fi-}+Mtf9jF-Tu|G>p(f)*E%|O7Yu7 zi;Hs?8y%6weR;`P2UhjV8~V|wXw$hCEB>PUuWZ@EMm@fo8_&e>&ISFPzS!riJpL4K z>mF|4k+4y(J6+Q=#A`YVHIHZ?Ew`(4GQ|0o3%8ix4~b%z67u|b$*lXTSzUL` zuC5b%Ly)IBD9_=+^J|iL$pnN^Pfu1Q&U;%vK(&IFrcYKT|RJYznWH>(Oeroomt}HZcV(hX>S%k5TLI&ia%+1WY9Kw&qO7xFOn7i!t?yi!((jG z_QRD)Eb+xC^A2|oH)t45zvQ_}?T%S|Tp+k!{U zBhOR%OlTg|At{*_KJTR~(YN~EQ2OJkzN2kNhJ}|*Ua!?i*-s3{U-r{j!+OJb$u^;# zwfgSO5#|p0kljO>?Ta})>-sQ*-bMy(lj}ZLj-4tsfA=2McY5xsuQ8k>+GYmyD1SCx zk6vIdFw`%+M^T&3k9x@_&aXH=-qrBllZq`;oPXl!r}-LdrI&B-3Uke`*5`}&WO*JG z`NVtU$kN4p)r<(%UDn3><7q6k4Jw?&>-Xu;(`3IEf4DZ;Ph)9uml_TjITvF7A1`%+ zfr0pt{|zZGDkFF3zxO4Nb41(rsv<|>fF32#p3iaLE8TPCo>^+sd%P3f>CG)aggB?K zJM9e1f7y?h4DR)Cf4$LZ3x3lXk@-83FRxGBgV4I+{Ez+v?%3JRzyQ~!?-L9>GI%{S z-zlNzoUhJW&T(7=BgS3Pxm&ybA#LSOvKe@Il^-t|%~rgJFrq8H`SyZZ=eEAlEVn$v zkEeGJh{63V$YVeH#CP+m=4Ltv^gOHNzMIW)j=u4c*EY*_R{MY9)Y9b~8QkANek8y8 z&;$Hpik*#}{TxRI-yds9KO_Ff(dTl{9m-w5Uc?^!6*ut6pnv3Pj&fXN(3WDa20g)2 zkL&eI@&<<1o9B9bdAY{WKaNYh{-OUXz3Z0ver+W#zLS_2%onvw8h)1C z@yKk?yF>AlAlH>qtR`Dgq!+z1z8S-Ezkl9cuzoN;k za%TU6ubgL+Cge^$J=r!=#as55=$EMCcJx8|YT70}_%B{CSQqkMy~bpo=rKcS7wUs` z<-2P|57#)ZZ?4d%1_Ka-rl)s=3Fv$yH3xW+LAe`FDNpYW5|b} zEW|PfxsqNV)=`WZHRt7Q_Y_6vwZ`Te8$&DdWpy1@Jm|C3r)`-btIhFLX*-TyZ_u6e zIsb#Ie8Sj7zVQ*gKB-|RQgUu7hCDJD5Aqm4GQ&EpVhszM?9`Q@D76r_tKMr|$|^L5C}OfB!&ext5@$bwWYlbQOtpR49Ys+nsFSU8RrnOfcRyw1Vibn?f?rl$r1|M-_ zIpgeAJTllX$RmUPi@HSU%8$%Y+Pl43Bf7rSAXcd5F(n^F&LG462yKx^pIj@UA=;+Q zj;2TF4`6wkotOQqH5dByT0BwFjpsw^==|hq1uN!tSsuT@BZGB)8J~{~Zq|eaHh!tf zXUshw|MCiFl=imRSdA_3a98qbQ(l#ym}AJVwDDqRmt2y*y*RAIFJi{NUcGFzu5GRR z+BA9Gb&p@IS++4niY^eU${%ES{Fj68Yh&{M&5LqN-pcKv_G#`2)8tzZG#;a_Y3jZl z$B;SqX0)u~L#=-azfe!)-=1AebEo=}X-D?` z&QG&{WNtf-(dp}%{SOOlDAm~JNh&=P^P8DR2HQKT!dxjwepk}wSP7OmN9((?F>N;G_gt$jvyCrKsCo3`_IM}#G+_|i z)GI>8BXjyomf|P8Rk*3VrU;uC*@5NpoN@_#nl_y=m?dsH@%wpZwlO0`&7+^Z?F!MdY3-S{sWf}gc8$`m zA~(!D*OuENZ@2b`rqNp;W>@u-N>8*!e)}66+Vgcd3px>_;*sHP7kzEXi*n>ATx^lK z$;;f{4dd+SqpcyVZr5bRzu=KUZIMTxTu-4P+J0U$kUkqSjD794LZzo){WQY$;W>bP zF^PVbvR^h}8JqJe&sU<4EO}8^N|Be+)~j9E)q=Z~_!Do>GQPbf>kqk&d041uKi0o~ zGCf`Bl!`|t``W|I^t;oHP5XzNkjLLm+`sre#ji!ZPiA&u3%ktH4?AbeEP278f8_BQ z8*P!l>m)I&U>_RLq7p+M8Slq0&ZM9ELVBg6fO-*?C(gZ?p>PNh-(mH7Gk1C64U-$x?HEP0Vj^i>&Fx@M++TK^6T zFUl=>G0%Jdtk3SmU8gs1+A?HNTO2#PCZ^Ck&s(!CDMeYs-jhjk=rm(jPg(QKGA>{9 zO*K05`-^=2=*u)EHww15CBI(3qK!+}`iti|)}oQxw#wLoA9TatP~5+; zebU>JxZgWUpY@TSKY>REOf1xe%%jeY~?Y>Q=O)EB1{EIo9^THPS(M9T$8otMA zk^5y;JTj=yvQ188)`_Jwf2xIl&=BW36>p)r&}7;7W{N(1{5B$fWaq5%v=O;SdA*{K zkimFz3=JeUVH0SD7v}lXHYLtj`BS(F=N6ndde(nSZ$`V3=#{6H`BU)7@cbDzHCD+7 zOJ2NZK>wT{v}MV~n5p#Rgui!--1u4G@gB<23HD`K*7&$e*W{S#X= z>6|!YsSoD)A+GL3C7x9K0R7Og&csx-l+s_~y#&4=K-(9kPwP(@eaM?xUlsp?M~3Hy zs26$k$zv96N83ZarceieU$XiBaYawTpeD$-uRWKR{pd?VUoeX0$fG{>rUcV47ax+8 z>%m{V=%X?o^)h3An)Ue?j|^|G(9>h}5;}XE4+-peg5sDxUpS@a$9F~?3z zKHXf%gcb7p6JW4Uk-y$yqcpUT7twjWq*#tTzZUwe+T$wyeBGYdMA|V+UNDV}M`eLa^p1TUll#g;+8x&afQ$@naS$ zJddYno!)H3n9p?e&vvT#Pc@onXq2H>Vn)7F*WS!6_!FHqyMv17v57XK?O3;ZY)s)s ztji@&I&R1igK>X`wx&jIuSYL~y`x^6x25^|@olp{hukM=Vy|^zuR6;23z^~i{Pb7z z=;u^OjHXrf0*pNE!7AJsukdfCn|Wc2yjI&;8nCJYJG|6Ir6<}V@7rmOMq8{2^EoZw zkD$Mh;pL*QEqPIne4)=_hOh7TDB31_FV*Dk>CakMc%tNk;E_RXkw>3gE1@CUj+rt` z|0tz5`|#6R(GxWn`rNM8=D&P6d|M*RC+?+VCl*!l$Y5Qo>|98t0eKjur|7<}0lKi{ z{aROdS%3L`NUk5dw57t#*M@4_mG(Zdc}eG%>dS)G_oeurlk?&o9oqgZY0dV1Y{u3< z&i;!R{;^)<@tqjfg}mpd3hdap@~mOZJBmCqQ+xR;?{=Py4>uu?<;dIX`zt&jU&A83 zSpL@q*^)1nRQjCD^4G0S=I?C7Ovt~_;lWl*j^&RrD0Zn_biAAmH zmmMQ@Z+q_0x=iJoN9pd**{Y3NZobxyNmc6lQpAgfKkCbxj(b7zJtybI`%knjP^~we zILd{EQb%UV3;$Rz^4OP8at*Ld3>T0yE7wEb-%`YE1#by<>&8d!%X*&6=OR(RU{3Y|uz-{Jj;m+$Xs_W$~wr{r_04C$Y{jp}}cJ~w_1Gi-c&S&3)o z<`w!+KXjzxMkn?C5$GVm63@0-Wl6(U z-=u4|9aZ;tWbj^dxmsJ&&VPdR?29eK`5EWlq{{4h@d?3f{rh;S>!jfnnf8+dbV;ADDH{HNc+>~)FEcj>vKZGB zQlXTFD*wn}UC687;s4P#?#gf_{?EJQ^&9IpQ={Ro6my^(!*bLX^&DNP4vV(UmhOzO zVU}~+p{`f8e%|J}QHS^(F67ZCep5i(GI1ZJFZ1q54lX)nJ`sM9x!yDGzy6J`KZL}$nxG%xb@H$IU)UnQ z(xDqk^v)^Go-2Rvfcph94V%R4j+ss?x$!R^8Jz37O=?d*Rq>YwdzDbei^ylpRo-9Z z!!yPIKL1BF*|{sBx3^GaFei~8(WVS*n(jvKzAL57|Fv^H(cZonZo*u`JgMdrK)pA* zlZe~q?>mA=hTkuip8uxAW66u}Q0SlY!jEg>92&XXi#%)lT^aA9y%_V58^OA)b#D~^ z?}|L6DKol~Iu+BYI)*=U0`jBQU8f}qb|Y;j?N#x}VEo8qj!A3A=*BgFtaaw^Z{>dX z$#|v26SsAfboNPGGOBn!hCDKud;j9`dl}Z%eR-mkRj4f~xT6?DhQ}%s`DU?#=FJ9z;@l1>^PrWaS zKL6s8L9N!_|0Rv9VoMr+liv?0%sc`Tim-~ws{;^)<@tXqHg?#yvd05P_9xU~P14SO0 z_{0zL_mtVj)aWo1@>q_1pYR;=_Z0qZE7Y`bToD#=#EW^^-q#~jesxx6L(0F&hMJHM ztz^RnXLVttDi-}qPoW{&F7|R@+Q)6!nDAnBaEHLmuDcVB$D_>O)P4md8CNEluPd)v zpw#7)FocF`Ig%1rv*%XU?~bQ;(!t zO`O@jMLCrBtAa-cwM8C%@-_+$(YD_HYf^y`Em@6v^7AmX(e`|-{0`YX2C*;J?5aWf z-E(9U1LWUp&_|ZMsHYNTncTI^QHF4g>iV}G8(+R*6x3}f7?Fw+q0-Ym4~b4psq zQ2dUGa|`kwBl@uWd*;)T_E#x><3L;Fn@;S{y7!2sIp1DT@yJA1E~I?VEn*5YA&=$A z=V)5$_xImWlfOqO3w$t)mTewLkx3Ys->`k_OeKerck~Wnw!7!igXgNLc+>~yx9+jN zY*ewk)OLF#6^{(og}i0X2indu&N^fsJG`&?IJ%$Rhz!YnnA)E&#VmR8jgt4fuw5MA zfRxC;p7zbItmKbi@E!OD&vwf9h`J}kOiyYKAuCVC&@<&yl>8BXxKCk={I=c!WNYbe zG;ycA-T>-Frc2u-#Xp}PEP2r`v_*bk!ay=PIFgpFM^*C)GBGd4x-4D8*Exrp{>3AM zW8umaZ*r&EW=*MUc^Kv=<`SPjgFf=_N1>+LUOCvETJrPZ@JLmDBEzqzJ&ZAK>mR1# zdAax|g>@l6JYOkxy=Es8+U}|zW5Armx~`SAW3fd#lNlQdEAy53=3@Ch%c}2qoa>NFEp3tKyO2^PBLGJhm6xxa5PR z_~&}ksB9XLZvaUe`bv*HGFX=-FLXvt&~~5o5gI$mk6fKTNy(oUB_|t?q{?Gz;z42+ zDfeju^Y|)q-rT>{`q_~1evL`#r&kqTe6v%1p90(SquY?0KTDBkFZ-)_OaG!?Hl^9?hdJMoJiuDFbD9MFYfIr2G|E?0OS&tQKq7VWW=O6@;VWKKRy z)ei39p~Q@QlR;hC3dcvZ&Co3>p0`D`5p5d`F3TQvYswmi?4))5&udrrYGxQ@#oL>u zZLz+oA@xV7a@}BDbEU4iZyrde%KoC~Ye>wJ=UOHHGV{VVa?cg%=*9Ka`eIMk`Px~f zU0Vv7{Rv6 zgD-2$`4I9|nlPj~+q+2q{to_;L2X@uN1t3zp&{C4zNV7bF*~N|-CXvs)?DZ_{c_fS z`7q(QH|aXC9W4|1gCdU%*5!1xFR|-4hi-0pS?2%bGv*#IH?=6Qw6}eZ1@zO9Zsbk# zcN7`SG2}}u`b2Bz??xP7%%P|`kKxJFMv6~y%_VTbG=X$|-t^K1H9MZ&7Wa zzk^~ss$wIJ>w6#K=JZn)KQdU??(0lCKcOjE&g?Dx|A`0VRP%r0M4$6_Woa+%Y^=od zDZ2uh9&AfKZpfwdmuMF<*cZm9UgW;bBFQ!WBh~)wYq&jfwKgiRod5DSouB@zwRe7B zpLnoJ%g1}>=6rg;@KJ0>vDn|=gHp9aYO8tlQ?EgBeObR@EPU5Ndg)ex{2f14`>m>( z=hxg8`FF!w=o`El$}V&{q~eh|+G&d7hsTpp=e&O9p;;tn4}vy!Won34DT zZqy&?9>tP2d8v5bUeQLht+zd0e|t?7^Dg44YA@~Y^M)`sYjNeEibv*i`B25rO8NP@wCODER=qoOy2B`zBVT;Q zNQLM6*S}njt$fvv{T%#RkIdo05xSX%rAo}mUpQTbrDiTV=A>;jC zZSOv^p7Qs{O{ceNXDl^eCk{(f+G1U#CM&d|CTmb;GsSg8oEPhh&~|0N8mzc=9hTfZ z?Jr*V$9j>+Z?aey@})<1Wpz_t(+MwEQsj~GE3jNyKa({{?qA@s9QndlD-@ph@4Tf$ z*sqo+Xr*Rd^vL{rw#bkp_g+O45DTGlbiJnO zSJ&&tp4TtJEP26Ty~tw@pe^#&Y@z0JnSQM1-fznHdXY28VE$Oi|MKq-WF61T>-``n zksmQ>#(&y!zLjSHYd-I>idQkv7s#Ve)DY)S65~kwp7dtvwQ{QTM+WOc9yP~r=nL1j zRPxP1en0R3u|28LzA!u3d%7}z3eC|L`Gt8plVRI`QvK!)Dju1Ghim_r&;R0)sa&I@ zA-K;bCAV97btct2f2FU|(^dYF;jxL_v*blN@^~+}zrQn?x$hjcEqIf9r1|MqIPcMx z4dU~8kgnU^bnS=L=Ih`=o0WK$#9OibFZ-}xb5H1TofYTB`YW{k&^#}*nc9s7jcrOT zdEp=HMIOJoqb>69z2&{meTy+EUvr8)GTABp{#9=uh3E5+zLly8J?YK|@1_uIov$m6;!?q96e z!g?F)F3|MX{aO3)iPVx8b)kRcF$d5V`J_$()GIZV748ru$Nwj1kiq<^UvWIW93RSh zYdjQQQ;UgFPdg7UX-hNxxGT4dZvd`>oJ{Jt48wsa2O-J zje@~vEfo*C;Tn(JJEkk+-BJG5=3k>RnS9NW)f>NA`F@RkBs51pa%m&7sBT4e>qg*1OBnSs|QtN zt4g;aGYrS{mb}pLg>AGF55E^6kA6@SwuG7R zS;Ar701~i{NqMd=Qt`Mx5N)M3!^!f>i=+shA4LZH0{IOkwB+QovSg_HSc>Jyqn_Jd zcOXa3T$0>}-TR9defnuAUqAm)$_`1(X-9D#Alf2t zcX1GV;dWB0)4c@6HDG9qylz_v8(4Fiq+jQ%;*qKM$X}jM9%{>X4>KW;<;YL;HS;__ zTUw7|jUJAd4h-FfQm;3{UeX%$X}QhYjoPA9r2l!GQU6GT|wJYUy3pmzrTs&)D ziX9!>k=XA2q&y!A9vSZE!X|TjEqSrd6a8boZ=0570Z-eL<<@8ABRT$zQyf$1f8pUu ztXIJ{q{hV{<@sN%*|S^^X|*P&uCslZ>Gj6DwD#3rq?vOfRWpCqpr(D4&wG*ilDWc6 zt<#^;^LlSmdgyc&kBssh_1i!4JWkPGY$Ls7_RsUPL_kTlW^`u~v?WW?Q}D=OU6#Di zA2mT+=YSHd#w&N?_UxOUKNnTFZ>2kJE8q8%C+h}R%c+~jzs1Pq&)($F@p!@$YmkM_ zoXFOS=KUjLT_~<^MB6)_c4Yd)+GJ8;`F(}#NASpCy~v|auA%5Vw5_oJizagDP!iLS zDbK5dLCw$qh*A2B$G`IRNKJ>fp@gNZQt`;3f8?tIl&L>kAhm>5u&>mLre-H8<3YL89zH*kofy&>+BN{IE5Jyvc6>mbcDf4|Lknm+T*Q zX0{r6e>7-l$&0!iuHTVx4Nk*0`c=f9A-VrMF`RTM@k_FZ^S@$m5zlv_(F3NO9JGy(iO# zYV^n> zguHbvXZEsWEta?WGd=QL6QLp6mRsz`+Vw5RzU+OX=l$iJy1=;ZlR2M7u3{dh47X=B zdh!Tia8=pG$ZZXoLt)JNe(&LIEZVM*reCi9iPI8-7x z^GWEyuHRmxtj88SGT0Z$qfgWm$M2G(9oY&uYgTvR8j3tJSQqlO)*oT1s}>l$^Zu3B zIGvxBWZXZ`d`*+g@n<_fmRh{`Vj~>VDe|}`ncIr>!*`Fpkba(T&*tqqqvDalx{${l zK>t{8%=}MMr3dX<;gLpVJ`p*C4Cc?Po8zS5s*!B|jE|~(w&X=_yHs8#J)Y>qp6?Uq z)tKjV6)(3}=+oXRFX_I#6>DpMLp2}rHVOvkIu#GP;TqJyQbu`w>}+F~qM;^SkBz#a zp2)KiRmq|cwb^c~?aKN?(Wl5HRyeBo=X1rscx13G{?jXykB^(M0XdT8-#euZ&*XEY zm*tjoM!p{Um7lp0VoLa2+EDypoYC)Fh{-m02;1bimYyuPNy8a_{zj&JUqf5u+j>Q@ zGp_?_+_2Lb$Ro2mUm3;EYT1AJ-O;S@;UoI(xid1b9C=dE%=6f8AC6|@e;v{nTG2lP znaW>F8(ig>IfH!aj%fDd#Yz3j4b@aUwij)$TpGa+HQY;&zG;(z^FPk*(#`yab!?{b z!+!Z&%<4g`YsMwI;re_%t^-F~I*betGHTY2T||+=HJtfwq{`zr&Umz){QTe%N(RYm zi^|RGsN#`9|HxxG^6_5l6#u+0+@r(DfJ#f~s&k=weGAlRs^^hZpol!3X#}tk=e!o7sgRc({F@@)}XVX&L$(fE!#UsP7TO6Ed9Mnqw zy$?Ju7yAgXF68YemSjPn-O16@w^j2Y#vI$Oq#?VLxxG1KinA_PJ;}pLnHj2>VeUo# zf_#p1j<)V(LXk8Tj|{d2dDR+VXiK@4vC4Y>_sOBA@0SnJ-gSM+x&pH)mSfwoy;alf zSl$I)NQO|k&M3KQY$=r|Nn-!lSHK-U!c795yIA#k>i*pGsJIOdAF4Tl$ty6j+ z*}wmYwD+`D#pC*Iv|YGuD9PTvN3!xLPm#g4An$5bh3v>d$nLK-DV8IT@jE|mLE4uo zMHZIY_7^YOIB`{9rM*1=|HUJ-Ic%ECp%<~rc!>xYPWEinOIcTY>rn@c4SBC#{$xh# zQ>pY`KNXJ*&PB-c=fKT2qm5j9cHw4Cf{r1)MLM3zU`j&OmiSH(pY?gKl!i|y)86LA}JMu0ImuuEc z?nkEQHJ=|S7}Ny$yJw2hw^c&Oj*?3$mLre)eB1p=KR0D4arLBs@uH7<(PUD%L#Wc; zfAPqmK7;J`OZASplERsJRC*#4?B2npv_Id!5Mt^&&YhIFdO_+{Ltc*!`Xhs5;fq^u zGF-b(TKwh=tutk-HqCCVp{M+u&(}+DSTW8p!Onb5-$fg^|E5wJE!{Jajd7j-d%bjo zp_AP2$fF;f^-9{i&oEXkGeE^7Gr)b5ynZ{vP`H8otU@WxQ7e!g_Zv#F9QpkxHYhxg z=i>JdwEV|@>{iVzJu^nkbtt^BYeU>Wz1&<8(FSJD-ee(7S4bisal6cMD zPa~N_tUMorCWEG$_2D_d%SB)8I$4c`zHGvV-ICY0L%Ag{>N18`C%pn2vywOBWj;w; z%)XhS?=S8%Nqc2>Go?>Q6-v_DXXDn(=cxjZOr4dhv}w0{7$!uAnvlnRL)=#ECqh4OA3Dfq zA+%&;4fCiaFJeRg$m1Rpv_*d1g`O35r%aO<2Xfof6 z^`G~e&KQBpj(MWE49~N_E!2A`|k6{_N-7}d)9quEovEq$Y-qUUp)2~ z&Y!b$yRmx@OEb4!YX8V!Y{+kn-LKtPW{_bhGtX~#m-RG^j#1BbqkEo~_IcH1U#FI1 zmb{otajrui_dW5kFZM(6Yf)F(S*NAC`75#b>NS`pFBq&BdCW<)MSf_IHF>A6&%Q_J zRQ3mn97YE7dC99C((WbwSkaZ+RO7{x7h`SBz6|N*m5yxF{0|B*%8^HX@&+!J&R%n4 zqtgp0`-y}mxQ8fjz6(mexx5QCH4GR^Ha%ZNTWyyA-T`QcOm>l53eV@C@41H%)7%8= zd6z#A{Lvg4)Zda9nj`;hc9yn4PV@bx;MX8xKVSYE9%tnBPy{&5gL55$47z-H+^awQ}&&$O=JFE-&tZnaT z$Tkl$;Jy6!!l1nv^AOkh+FHpClz0jbF2k-bYez=BmB+g(=09^3^7on+W2cUFB;%6& zR6H`+7UX$9Zp*H3IQS^kbacy+|JumQuU;>t#N+(+g%naiN20nuSMovdoDus0aqr%? zMW>{OiLJ>1clrDi@Q)1Eg*-B-E%M7Qx6&lA!Q|2t`8*TQA2mmw@7FMN98LnuWl~i+ z^eO7Y`K1d+lU&Qg|Kdf?)SPwvzx??ZuVO&YF4l{sojC@Ri}@E)oD)(`WNGzN8yhNr z2sPo@Uv_;E2_2s+KxFCL`>_}ODl7RQDm^ckUzSk3Gtm@jg)ROg*4B8eue1JYLSWHi;ePmWzeU{jE!mjUw#H>$4V9RjAFBjhbrqQg@0r)A1rwhKQd@rH+-Jt-gX3C znKqogjStt||Fu|~qobUY^4gxqBj#(TjWS>V@JTY~?de>sQ0`vrRgZgm+$YOcO;>)&` zK2H69Owvt%n4-Ni$@0YVg2$uQcs5f zCLidd_!l{Vyz$T^UH-f&N_+psBZJx^k3M<)LPNA|=6+C$%0GndurH+2b8v3HCY+zq zEx${FzObu*QYuv}h}loPtE@*AePqdtx=Og-m!dp-F`ws&wCu%AhKFSiX={9yeXiSN zuzF|G4wm1U@aqUilTz27=2|v8Yz%#LUjF+IoRRk}vL9+5{nR+!j@63Gq79t0<@xgu zkIdoQ=JIH{-n#dCFm0Wsw0iePs(5J9W~DCPUgW*I&!znTfl)(P<2suSCynMfk;l3c zD$bxA8ug$##>jtj7}|xl$bZ-zPd{|FJc2fCA z24h1$%w~pR)~z&cp%?1s8GQB_U|LQSs*YeI^==gRiR1GR`pH|WKAqzo%+}psE@94~ zE%N;L%lqg^w!i6g6|Z6-Z|iSeroZ+fn5BN+tneboEP3&qd~HZG8W2&FwF+v%kijZ9%EibaytjzWm?~XNDYEMGQ+FwrdL}hMMr%qj^V9q8qq5Bi>WZIQG=vnnU`r~}#}zvjVca`^fbeTGdSMIIS^ zzCwQVb${KPw0+v6-R1dB-dkaRDqWi_e@o@pc?+1wTGC8M*5y_^X5-mhgZsoeBlaw# zZJV_GtbCXkOFl~^OJ4ZLdXdLHS!j!V(;l7KwxTxdzO7b59+^Gk%=_ziZ45ObkLAdJ z9%1IW{xr1}%Tu{7J2Efu05TnR`RbB-?^5~*`H7@ED?A{bUXQp%kw*>D_QusPTBe{c zn>8$p;`1Rs`(>ONt{a`OSvz@ms7brcm$~12K>c%Bg#IW~XScalS) z{_M_|uX;;f?C<8hu484{drwi<|NjoKz`<$tpA4|2*>zc2(RoSoT z(|v0b(qXYZYwdIJFP`6XE6!KjcG}d4bgWR3H9cnD-z{RmJ#@S-VH^Fi3Ave3jdlGY zf4`IC6g)B*rzJ1ig|^7wnOK!%&mioAbsojP;E_Q+?^SmqN2cglox9hR=T-50LCw$9 z34Qz`N)yj9ZtPA}4b}57k6$qOtgGh#=uqs~Y(*3E^Yfp+D0xRmoYIT4pfO8i|9{FY zc~RHWEv{rS%g>I-%HJ2@`4*p1dAZH>Q%e83MEf#*qvD#Foo^^I_`HgIi*d=+y>ebn zbU-*$J&(aNSg?M!VQ$0w+M)U7-|wAAFhh@}($pcHmHV~WcaOHnvpsGs;czMPZf{*V z{y+Qlkul$|A8PlM4K-QveE%aaNB-^oS@Qkvp>}1?P}7@5UaWHG*V32+sT7&S7W~X5 zzUMl`gnUf@S^63kPf2O_gZ}z`Av8qWDy6>bueDmFnb2*#ibn?PMgFhn&)>ggkl*ZB zfK}U{gSb?z%~X3xL8}2*%=_!_&X#qEuwrip`H;kF!!xiPwM9LvY)zy)&kZH{uEtS( zCOP=a(cqYUS380K)`sVkqIbuVjA}0WW=Zu`ylVeA*bZLlL9}+urITg8QDktB>h<;f z`Q)LtnmiYsi0ML-Lsm(b@_twG$Y5;9V>$B9)y)2RU%x-loa89kfUswGGmuB7d+$ny zOU64&ZannrK`J)fDLwSMB(H({^PGmZ$hSKeO17V#r+2-+OvNLE&sxai^8-E`R4?SK z^N_#cQTaW_m9`=5Ud4&hz&m~t?h{8_gA%+9JR7br{oiStK1A z&`!l8)A_M^-)=$qISqL%NB(oH*k2!FnsR+4yV!Sw)b4q#9+`XJ2Ix$WvlPvd&v!b4 zO~{)d-59y%0P?60KL6C)6T+S^UneET&QtNoU|q=LJqYh#9yh1ybOWzyFZGny_3dp- zo^LEhQVS<2^Ru|GA;bNYddvTwPKb&}pSa%~ZG+-`iS_L#(zETkDKfa{achZb^1b7s zwm^vd`*+zWvh04KlxlpXM;;mUk35zm-}kQAj~`;1&^D4(^P48MD&ej{9+}B?rt6BP zT~pe->y$qU@V_Nxek?+fM+WtIJ-8J)zg$wKCo(JB&DO;fIidL9-7y!@jB+Jw zUFH2a@LYim-Yb0_{D_awa%u0Noyz@%>&EXFIOp^Eux^DXivL#2yRi3#ze!{KR#Rkf zK1Y7jgBkj7Ij=}hN6P0|z&R(XxmSLVofXgj-jJLRowZD!(Mj&$?HS1P_s@di*S{Kk z(~gw)ej?Ay#km2Nwt_e1y+T_Q>PU`UzoTj|#(cd-oT18Lex5*xX;qbLv}$=B`MmZ! zRmH6QMmB4Oyx#3Cy;s(i==R@I@yK9XkjFWnuO~NH<(Ed z>Qg)9VwSvMaBlw>kLMw9|9l^A#Lo~@fn~PjTE%sehDv|=7YxRRyxQlVzW8{mtm1#K z+?HiqS4j@~lB9uFV#p(d@gR@=i#f3It9;*)tQdtZR9AE;9aEIqDtXQ~CR1`^vo2)|?({!h0Fscf#`N7}-&kR7-YH ze%}cm8UFjOK%TcszFG3(TnqHidEsYnJ1m{WI+ucegB zGxhv@i4c?Pi8|zViB@EzL!!cqGXe1Y1hhR|qbjMV*O5JqPqgBG1dj~Xi#+lbRO~udPy>24^eL9E%dF-z{ zF0IM71tO^2eCRFY>4Z+9E$`QWU9` zyTA0}sD}o5WboMrc|I?RISuDnUT*rx&wmIpUG9HSa_Sr@l^hemkij_?`Q>{jQr-3( z#Lcm*G9L>6$OLY)Go;Nh`>(j+y{1;X$x_Ln2xd8F3R~nub+e_p&c`*MmW3;SUvK*^ zYhCJN`R|^<88tXRlnHibmnYXEA#)EY-ya2!4F8^3=tgd(y_UQ=+YCcb-CsDV>nLrj>j~o4ADe8^-?S3 z@%#<6&8-jDWc?aR3Vv8mk>N3jwjkf-(G%yjH9|>1P^vuN{$a3<$k$Kbsi|Cd7|H0A zNwFMxel7HLNGl-iEIgKUOfL2pFBsd2<8-#8&H5vcI$&MM_dOINy^ISd?dF%G$RmSu z7xKH)HJQ;Ni;VR>q`i&%|{K&)XZHU4k83+lhTIRh=U9dRKU6dJVHC$d{{LncdNzrw3kCWyo_)gobEa z_($1R_u_l8&`RmllRXqFh0#0Vv5=KL~?cWXQoC;%J~CAL$pPH_mFGS zCV9_ugE#gn9+}uE8^u3w@4t9tuq|CTev$k;_GC44k5ta1s4_Lln0ua_GxGk;-P`z? z4fIU$@E=ZElX;V1h`I~IJqEF0Iquw=;# z2K^(Cd#=$I`OAr|*xZ>l+1|EAB;=9Vos=!-!))W)aC!a*9?Oyce*dk)^R|CJQk7jV zuVZuFk7OWYzu-Zp@2R(VV%i>Pq*OsKJm&J<)b?!@_K9;yqf%x(UPl$J{>i zWH*s+jVs(eERwL%_! zqCPl&a}Nk)RX=WO}juXc|JzUURK*iNR>&w!7bU#E%JHD zvJN6<+>g)e61LGZtC5aAEm^^0@_I<%k->T`dDL9gh5XQrtF6mJTjx@ zzeHN-qj~N+?^lw{$m+~o=47aNWKdh=(I<~zXo$9U$yTJDO>gE>Q~vwcpu=la~IQJqSLX z1$p#|=Wn2Glh6$-Mwct@>S$`Xl38?XAmnUw#(NNK>8cVq{y_CS>|ed4D&IcVuuZkE;|$dIt|V z;GkP6zYi>JXfQm^n3k{(C&cd~nISLJ*&!CTfP{3EaS`R5E4wC(R!oHdZo{7qgQuDqWV?Zq}Ce<$6Q z9_`wfR11Bh(i1gA-e*-&*59v*d}hscSx?Xh=1d&#IXBc|*AiQhN#iQ2cw|spV_3HqrMaW%k^Z9NB7$44#2-(_x}=euz%KzZ}i)M|v;XDfL^tT*V`U{*lLW=P2bwFF>HJ-tQ z?M;;4?(U)Dk-@nOdCVVGU(3HMo8}&=#4}`cTUKy!MUsE$)(qtNZ#u#7>$c@b8ZS77 zn2_h?;!F%nTfrA^QIkavZcYwW?m#gH%o(g}?Hd=C)3qAe7&}*azAE4lX1v=?-WUId zlE`8q#=MQ?xk!Evd}Iny;@8I?l=k=plII3_KfYWp&LP3`H_&$C`zzA8VFSsK_40Zl z;F00wqF&_DC$=4J^)GYLnET_%x)SNi?`xqCYKVL*7avXFv`Av*7*DYrdDQ2b*Fw!$ zrwJt5wV>XT7yXsB(@1)~HTUnocw|t|q8kIGvEEU{cWYTaj;U4;2f1vTHrlvkV~7dI z!pz#k$+O-%DQ!p^MIO&5LEC3Jdk}|@Yb2ME_bD>i7sw~q>_FNKJS#oQ`J7@o^4MQT zTh=F6_B10MH(u6T@}f_%y{#gh$dX)yEPUMXFaILP>;j`*R#Y6NDj||Qg$glO~#S06$iKZO6ZO;UDWo9?t~8x{%K?F9-WIwg;OS?n#kHCad5Y zWq)_Yun-gSSdM(`q*V&f+gmA5Ip*G{1Jm1$(Ia#AZJM@z`FKSWLPNBDdpajQ@YI?4t*OE4XPnTU?HX%X(S&QBrTz6J#^Bb_e7&q!oKjca3X3(B zoAzR?Odf{koN!*8NrJYK9@8~pM-qUV8%l+-DUjDDa@r7e2#dEcmj_YoCH(Ea5;Po&z(>qjOegdO- zjtANz|Db0Z*7cG-+xlR*gfXKn@-JN5vBy2^*!ziQUc`yE$T!c|hGpd}%T9IfqWBj) zGOb=Nmiw!TGQN;UruFd@?U)(f3WI#uieYSc{(W>oqi=fTQ6HQi4i1iH%^q~rH+yhG z#Uq1tA&)uP=wz05aeTPJ;X{ZCb8kcPFw)*Okv_JHrO4y?6=>^sH;~NuaYG+k>k`Fs zd(9+?)8?kjq_%kQiI#Ur!ptC{EX?ICRdu{r&i=I~2Cfbk%+ zp~PM7rq8{UzL>La1lgEwPiOpEM^Oi~MLy=sP%>=qELt?@3>A+Ijy2?Yj(v}6WOyR~ z{>8Dw%SB$f&K$*x)f*vAZhBF}%f-1Lmb~y2xwNU$DT`j|!bLM;Q zOWm(bt_h#tbosw#maq>om3{8aPIjwIcGdKi^ZC!YA9y|n`Z?XZII}tHPW;k~%k$44 z9vSqHJo?18pzVR(W!ZH1_T;nkP31f*(O%RF`I_gFY1Lib$ZHw~)+!zu-d>?C@_Zf^XE<1%cVTtsS!U%Q^6%5) z3#Arz1Id@<4OGqi(RS{M^IF04{b-eDMv|l}(^R~Qk?Z~6cb<&$m85!pN_0i>Zo%oI###f2_YL|NhGP(oN2v zKe{2aF*Zxvy@}cX`VaLr1rCOh_m>u{cw|tkqf`5nONG-U&vyIiBhRHSCo8+T+~_UO zZ}Pjx{srG{Z&4{%H3Lod9>S18+gDc`D7HMFme-rIUuBCh$7a`5@e7_a z$WL1zR0P2{zmqtCx~>C@VL-F#oR;(r0D z%S_{2u}NR%ICI8oP62J705y+(N_TK$Q@&56GtSs3=WhrenbviOD1KTvhnP0b*h!oA zY{7yK%X`3}9QmPl%sg-JoT6@QZLA}^RV0@lnF59V4Ij^2X*q-ZlrintkWLlY%{I3) zkmqd?ZA9DJ*Q&8vHMQ(=fjb$Ks#Y+J-)F5YW6RrH+F-5EsV!8>d_8oCwNlqoU2Zz{ z&N$}nl&+lrFBnT(uESXQ{nedVXBv5KAN_tgh#`{{;iPENql($T;B7OeI2TFG!609_6U7<$M-K@FjyDz=o4d$f8%I~dSz~JkZ%Vm@y-~w>bpV72az+# zpti`PPp+rX5N%&(F4xDiRM+|Y<642*V0rsb(;tXEtfB`1;pGP5z8(xVA8R(h`DMf}_++D>emmmSpg zVtaEvbS~AiCb?hWrpq(F=1P7iIVtq8OW6hH>*hC?EAvC(@^@6{)SlS|$meqcV`E*xCQvX*En~!Pe6<;gsqDyRR#-_f2E4~%JpN8)Saf_-a`o*V^Y_Hx_bg;;Px#?d zn;cT&uRZd!)U5a`DSEC(xqpfFsu;N6tvYc~x*A%P9JO^;*5|+L_)_sR^V%R?y$;se z%XV`9$m`PoyOxLT2hU&h=R+Tb7v+{b*Xm;#*;f8nZ)yXY;5d#Uqq#gt$C*MU&He@7 zbYKmdohMJml}I&T@!SA~=bEGK+G;WM$mhZt#deQU`5!uekZyC6oXYq`Ti=oMsAtSb zR{T>-it+F^ingQehI$=Ymy^X=x2Ii{^`dEq_AC0-EjvoLualMbR7DH^MvLBwk_y7HQj_2%|^P2a}JoD!6%(JEGiFJ`L_H!~_eq|T!)^CtbPhMBkBqZ~s z|8isOmj&dN?_fH?o4v0L;^Q14-)#L7veaQFHAq47y37%l-uJ2rv%;9>Y(4YmXIY^L z|NVq@+ViRRXmFRD@}Gu{?RefFzLvvv7xEa>wk?NwKEkjgCTq`whp1_HCfaEBFkSp2 zpC_<$w2$DlQtOY(8~hs5%O}>-#urA&$YA{1?`J4=`QOg^nLXqWaS7C8PzpuHB{jnG z@Ml%!?*(~N_Lg$m=(2M4SuPUtI7VC_n$HiEownblv$~hi@yK9X$k#0=TF%pQLN1c zw=X<}0CrC=KaQ#6rR2u2nJviH+);9L^hz&eZ0qt|ZQj;oeOGr1d6nfPT~N2LF8+@O zkJ%c`M|jsojj!?6$#)I!K2D(5>WAuhoI8HZc|KnQH+&(!o!&}rZ+hAB8iQ>ik1=)q zSK_Pr_9R;Ye2usLyw#=b?@VeI}MGVXW|=n%qN5Rqj90auPMfwKVdD_Vi8u z?d~Sj4rQ9K_0N_AE<(k1>M@VQ*U1Av-J%al)stO!7L;vyjlp#<@)*;;u8(kn?d3hX z$I?foe;9PR|&peRo3AuUpMDm!=!{DT6|WxjEpWm799@1QgL8pA#zYNq{eOOJM>%AD zL7CkIRJTIWn0af$yr}rAUKK%Fm z`h$|j6XVYtM%QJ24(yL`u908ysk!mmw4e0odbYm+9vRQAJ1HGiMv0HSuFp^x`K;|7 zSqB9HnYlRxt$?;MXRDE;}F={qUaqKNUs&C2TcR@mPK-v=Rs zYj5|Kd5mszvKq73uEN#>t;9it8Ypp$4_k=8dN&cGmGy0_jAOQbd-gAlKKT}?@ET*w zbN&B0v%dxQ?|9@ynzA!YMrOyZ7Hm!8BP{0r25VR2N6gPnUA@wzMTeqve1eac!tgo8 zy5xFII%D1+>AoRScFNyO?C0E2=|A$=?yBjn>6#!5tv!*imomnSb&(g26Y1$=2l>T4 zwkO}wO_blNI%iqkMa=Cd3VYa|nwNKKCJL|Famm_w%}$MH(YIYf6<#a1<@tDjmS^{C z#pg4xT)l|iNE;&~6I!f`GF~TFHNM8zf9fu+c|Dn4aSGG%d@R~rpq|Ms&E~A5CeqBS z?RiaeYzz4xMf}9a?)4NsQ7dd~Xu>6PiPve=>1m*B%WM6?aUqX-VqN5W3=X8DrfsAR z3lC#@W~|$BkF&1iKyjjvmvEikt6#{wGCjY=l?FA9(DBIdIIBGy3xyin^IEwr&$Wtb zVX`JZaifFswWhK4!(?PixeZX}>%2FgFWyg;f4(zOY8o+{4t5FA@t8CGSexI`4~tXs za{*n_bd(*hG1wOJo8I>n7p*CkK3^HRif#S#D@Gd~o+`6;EYNUchA zrt?09>v+sD%!dM&K2qrRw)A1&NIRa#P@#{8vsoukNx%0ub% zk|u@M%58Z*mgB5$pK)V}>y`+bC2z2d%(*e_d2_}*V|x}JU*og-j3z^dkE92Cm~=eO zDeC`!@jNDUd;O zXXH_5)Z|N!8Hzsq+}GA^IN7v4lFrJm>aWcg)+s@i-U! zSkv>`@|=dDmCi^Nm)Y|ggKZ&?F|lvP+^fXzjhZUsEtNI5A?f>A`D&6rACN(9k;j-^ zD@{YJTlk}k6t!-w{JTmvot~W6G(FwlF!->^+T(z`)HhEX+IDrMj7-qxWcJRtslvYW_!>X)OB)*Uv6fVRQKXCv*7fOY zRqFD;_fo^6iWO;S+Zqyp}tC=k#~6y9Q38 z{R@Z5?7x&XWu4_mkG{gZiwegc;L*zq=?0Yf5*w*Fa z?MqG8tNToi_YNOGAC8TXkvVlCP8s80rXi1`@%>y5n4M3zqhwp8j>oy+$C{qMQj3~r zdofLK+VdKNZ6S{_v2T&>He2#GQS%|^JZE#>C82VQD1AO4gW4jGG5HuZ4Y6*mPT6T$ z=TUNM-DS)V;Xak>gP~XXs`4aD^?8AU9LKb38XAAn!#gkS)!2SlH-AMzcDVpy%&SLU*)A?-Q%hC-Fed(@HJ&(D8 z^LwXsd1@Wsm-cLD&-0i(XRs~gF(&q{X~&tCFi&44KRfMorhcpAoD1YJ zChCuV?=1Enw5_9^Xut>dj3wxU47PH6q# z>3*8(;~~T2cz@_F7!TU>TDdK+{4Ja|S#Nhr@;dP3tn_=+I2oC#)BTh=-H^)Xm-&Zm zE(SCH#@x$ zqJNG@$*3XL)$!)thS==qq$@|+`%A$$L(g;9^Uuju-wY9aqfFMF&i4$_UBl?yhiv~2 zJTkmoxH(K%JJO!l%58Z*_Gf+A_g>eoGxRC<%1}0Dtc;A$LkC6kOiP*myxnxZ|LFCk z*P0yk_}pL}k2!$zbt&L2k(VS&efRXSq#FBp&7DSl zWYiGrBJY0u3;E~zL^{ph>5RT8dZE0$L1d)z_nYm{5X0%GC5^4xv{v-j^h8ar|81`5 z!_SXLv*k6O%VahDAbz^}!Z|{INKkd-_ZJ@Y+*}VGk4)Z~LCIqcLzMm?uj@192J%4% zPSDGag7JBa96J9N85}S2s1Gs?mR~mS3+<=$C))id=@5{^SZ!M!ou0^`S2?mkPGhyC z?_}pj#_wn(I#24L#5teVKx`n77qamE7c1YkZJf}JT}zGq@m;zwaUyMXfM1`@D7WQ# zE`4Ut!@f?rFHN|3RB~xMRz`*&b4H7=@%bvU>%{C|@x(|S|6y+}h39jMbr((8tMD!# zM#`_-yNf%^o0R_B^4eG`cDza_Za2|mKYQ!Oi*>P|&R-AHyrGM!&m{J~KJX#YV{E^& zndsd%QaICyeZMTtk!~u{j83^0uH%v6aaIit7di^|yjE_@bA7I}>p=;-bI{L|tJ7C` zB4uP=7@H~jOf>TOVt#2l->te2E&k}Tv}!?wj>oy<$C~~v>z$GAWVT98V#nI?8iQ>i z@A{~*7}H-p&+?dBE@4}K)t^Yi<0n#*EmXGUwH(87A&;7)e~WRB9jQ+5X7gb;yN1cg zBZKjgN1qKn&&)0SM91G_gaW=M>$VZ@QlI(LX+XH@-}3bs_i2&gaT};@d+GW4oF2rAW83G^ZhdBV^PN>muLca*{bQ>on?~ zDUAKSWcZ@!VLCqSCzkI$S{UzdvW8YklI}jvO;1eW{$2);3@{R z=rOLBM~Tz!j}WG@e7kYTDdLH^=!4?WNnl9PD*-t zgq|70zRL~mR&p{an!lUK^=JJ|=YJ0BL084jrbm8^)bW@DIA71k?UTF$CeY~fp?17B zr`Q(qN*ty?_h2zT_Op1=%~ERSJai?EmQh2ji@e{Ee$pbTA|264^;h}t3HL>Hp5(oW zV)>J!ga_8wxB>LJu zI(+Rw8JRNOCn%bGO=n~0er!5l^hp?TUAL3YKQvg!V-DbaJzVZf*0wrCXSfcrJa6)DY_;uh(<7==89gvVJIPnkjA{947Q^#>YEb ztTQQ6NNZ@ambl!NTzh<%z8}xl4^VE)^RX=PW6z#^_9IF6j?r^D2Fl1BoIFF((6OHy zU*pew&P-mquBR)H2kUs8Q`Eo3#dArsejTPcCylVAJkXPcQ=NrbyepYKICq-8n zMn{#1kkL2By2v}H1(4cn?$GD4y>&b?TsKW;KTr1xWChO+{36k((5$(qA-$3U3-}%aXt?$I= zi}|bR{PHEqUcIg!r+2On)$y1c{8*b`|7yEDtF<~!tGLi?{qv?JX@fn<+ax2848}(uJzMmg;~%aN z{Zk`_p&llyMXF#ZZuO$i2SzFWE&qMvJ~=Wx&W4duf>7U{*UD{quC1A^w_^`gGL+oj zj{ck+DI-%*T%pVnY0c-CdCTei=$DTS)vC^*y|abrc+4@(htqFz8fpYBrr8t6*zr6j z&oOKZc_j`TuX5c4av1x$GOL53+I%k>KQ2l}4Y4lr!B4UqYBnac&>*g7oVda|TFIZ6 z7dDDlyVf+*$1oj_bBg*eO)f$@#kHZG3xwP8+8kk9$SZNu z^9SQ&KMQ0lOsalsO!xi^mu;^RXt{@c=R?a#YT2ZG@j|}RJJnG4hHBHJ*+M*ou zz3tRelniz|Cnfr_`x!ugWHA2FI}gdFrTUf;WMq6Ghx8?bFqpBSkt(Z^8{-q`rp~zg`X0_C8K1a!I|Do$Rlli;Hl%0!M2b`9~-YJOf9?F5_NHw5N&1ahpO!Q z#iO>g5%V{YM~0Vg_n#$nI%&^q<;Yio?~;G3f6g2;;TC93|r%VO`|EzbR_2-MKZb^pwpP^R(mZ#|WKXvK)qM9C$rq z+=TM<^z!wR`wRAa3p_IK&rY)xEI&(leu}*>?tk#e;J3wRHmOT@erZN0*JAr+h>r{} z*S_nGJjTQvz`B`N)-W_qI!XP6p|UNn=1TO~_w`bzV_eUS>kfF0VD)uBOTv^G;r283{%6xm!=ln5 z(#HGjcLI21c=-l8Q^XH*CPQ=lzGv?IeaVra z`qUf~qT`WK`>DqNUp&q=&hNqs6-f5s&FSf5YCdoc`E@$vv7cSW6(jxMte3tGj+RkF z&TDm%Z&NHYanEg%CPk)SA7SzNbqc&jz`gXZ?^db%Cg*v?XVW`U?{H^De@#yuV-u%j z=FjtQX9rtP7OQ8B%+gj8#?{x&7tRs#N1M4DSGm-dUIjJK@yNXTnVj4#fqx&I`TxM{ z`V6^&{Pf!o$%VPw$dWVuGV;jac#+3z5Xj_jxghy>PxajN`c_TjkIjk1WGb&-Ur5&z z8NAkzz1}_I@vE#cYiK3r&t&+t=z-TPyD3zkQ`$l|NBE zfPSu%Lt1%1LdRncsClB!SNlBG>CfkxrGbs3?RafYu`T2=-!MM*v&_v3H2)qgcqetyOv7;FOX^Aj&sL6Wb(lx2XnwQev*W4fO zrs&Uoa%6aUo~4V0mZA2%R&LAlu`h^Wewyi)^z?NuTBmxnj7&hyj*9*(g1P>@U6tP# z>`hON>nb@Gj?(d%12|u6Ta=>ipE^qA_v+&#gKZ(NGU|0AjF0_v-CK(0YZ54hY>bvs zL#&H@-d=1r);*UVd$8Ys@V(Ka?i5`eDXv(+c=U2E)SKFG5E0OTN!hgz3)YBSLLss?ntvFm84B4 zhv|6C0i3Tg{bosJ`sJo;vW~UmwK>JMkXPfV*KsgD_A@ch4C#H~D=AhQE2D;37x}g4 z&YAbNDNE~|nRyLGQ9lOr&wV~ zyq;f|JWBL7EoHyAT*CC0IXO}7R$ebuWLYeEh1d|ncWH84tAH0Op(!!NdH0Rea*_PLG4C5oO#!;^mVSJ2Z zXa^- zn!fZ6*73;jI1f535=;~He9E!OqGJxeE@Jb`m?7sj{CBMJHF_;1($d;;rvlYvTV7+Z zE#xt0urBiD_UtF?CwR!cKRYS;spS|ln4dSdoi)7PK1eQnjNMNN`HT$KjT*7jFexf4 zJ;i?iQA4bYe4`d!NTtaW=}HT~o|56yqGx`2<8;wy{30Ryc$0N*&m3fhwHdwrgk9eU z9vNP~XW$ay47>lwme;T zJ0-H`*MLU`+xlNTGMGQ!Ib*!O^lB)-nZxc6Ve$F;ieD!}2J1%r9pp9POC;SnLkgew9C%#jCYWtNr6>I zsOjDSJr6m6a}ghZ(cnfN(>m4q+wocsI6zy-t8vupO8i*MCG6+!mIn>b4mPKb#Uf?Y z5bGkJeSq1s?8;P$_ThSF_}=JIpZ&XBtn+%gu$f)^2sgem+;Q`ep6A!|$nZG7+*S(f z*jm(<*UD{qKK9b=`u^o1e+<8#<)e8fMajqnj9;$kzgW3m#`~%A+n?khV(t>O&x1%E zk2!$z^`Px(!=(5!)FDnE9~o>5d6iK;e2kC%?A!gQ;dYUS(o^PBqJ~%(`P5(e48EUR zN+o8DXZmM&!suzA_1Y-bezHb*#`a(S)R|nYQd3Hl`Ss!q9vNO9b$zYShV6rFd9B=* z=Xzda`@z?{s*w?wi_*($BV=S;(l#iXud2uMpSP>>*0A!V;@o`nXKkiG^b>PH%`0`j z>YS-a9+k>RmpI$=+MHrr$YXwDd~EkwZzoc|Z3F4=?PwV_#Jb3T+fkhS=*sT7`Jn2l z>4Rfz+FW;-?s@Ik5omzwjhp_b(=#QEszx85s^6gP|saGmn4+D?PduzOC&Z7Di z$lH4U{I{21b3y)^=MfV0yg&UnZjc=E{f=c;TB6W&G@GNXXDtEk5`;O+)Z;Tvcd>JQ zu=U5DEp%zQk#hS{1=;=28H{aR{$20>hfLNyb9T^_0bX=|?_s+5t2aGle$g>uXL@{% zcO2(QAExb~^STa`k-_+vqn{~td4KYq9U#x?nn*{qm`0IVU+In|@YDgN&&WS4(n_A* zth799g*4@J0IFr@;_{SvwN zvHKg9>m%xQ3S@Zst#{jn8E5QytsMD!HFjFgrdXA=)-ZVry*{ZcooQt24TysbFAphe z&tpt_@tC4v_7szqF5H=}C;MKx%XGSFVF&uJib>Y-z+hYdi^tsH$J+d6t6Y;BYd52H z2Z!n6BZGZI9%EwPUZq(r#lG)Q=KAZ|D)iAh_SLNMjm70{NnYXM?#eB z(IFGfJF7579vN&4dAzQH*C4(HZ?WVWzg@_A!DMyZa+Y?qOqQ+}36haVCbY>q%gh}K zNIdW=>ZHie!#(^s}-wA@4fJo8UH3Ix*mv)OtT@|hoN zJjR*$Dp}grCLg`qGg`(mVqN6@Kf6=64uhpH%QSyp^|5XJ?M>^q3ZL(ptcP6(klWF* zlK6o2hk3ACIr23tG_bt9$N%C{90<-vXhEoYl;6E5FmznRR_-qavLXuVuLUYui_lAlk;CXj1gd&%+L z5|!`kX^d@M{`d0kpvn58>Ut7bs{!-8M(E<3dKm)PXM^&j^1$I{FZO;L zT}&7|_CM%w1yb?FF!NmI=h*VR4_p&$3wbq;I$!))n+uHd(WeHUN< z^!d}Hgt6DFoO0>eY=6gM@^d=BZh{PY^*Y{0b4^3#zIQeje!eI_w7AjNT9O8(u>B75 z{Cyhf47OD~hpRDknunacdokNTHd4;x+{Z@Gxlx*jIO@Jd$iv>NdAe384Zpa^(CG~K zPcnF9c=^50$wD7?F1F>ha$BDF&C2+$Ri@ED^=g}aa)rsr@MF&KKB(=ge0;N6iXVQt zYp9MNb+Wd?b4{>r$t}Ya{${}lIe*StVi|`$if*>NHr`RW`_l@Qiy5*Eh*11_K409! zN5388^g274P7hdO=({yk$0LK|LLNO#^pLyGYAPmVPZCc1n5@lx0_gK$Hs$^Ie_z(HQRJLHhXQe)2UEhd}OdKt(L?qx+)>|?n8-IQa_S4;a%eVVT|7n#ya z$72rQd|imEKu;E#W*)VH`R6b$WUwvdRYuJ>jE`~FI+v%9PTo#RIUFschFBN*fbdc@ z%Z?!Pm`s{~uKLpGA;

    6uZ1l5EirNj!VAsqaG9cN;NZS{<+E{!@a~G*>?#i_v(3{ z#6IG}?up8IlQTJTscQ`6Lkf?h7b1h?(i7HGTV9KaZ6W`CL@#At_<0%YA}@Lb%4-%J zq}2{?r^q97qI6FsPMpPLMIITPR2RHy2xLeI$KKH(pqX$WW0=iHG0UW9u61hC+rkPC$j5zg$K$pfh(j= zZue;Q9wWqVoB6)XWW~D3yO@JyLw-t!y)DYlUm0_Xb&)TyE0PvH93rRH&!gj!!F*`b zpq=zaGRey)Y*u*w`_HelAcJ+s)OVBq1`LuMdX1NHjGWi%BA@uFoOEVour$60_cyq| zs`{3;er5yXE+ISf^M}%SQgY^IX<^e~*_KJDctp)@7DwZ|xnC!}U*(oZ9B9Pi^ZRns zeL3*ZLb}ftuXWok)Y)pX-W?i4@@JnS9rR<*?*NYsFR$Q`DEy1G=e2TMp68z1Op~?2 z=Gi3f?i0y0evC3+towz@op+7QMcXXeRhJ@L>CEup(_X;$`y2z*9d~WdkvPn8Qkzc>a@a51$ zJ0G-MY`F5EP-&pax_*EosqsC;{C}!yuUpNl z;-h6`V&`%H@R%?{;QI4^s{ENzjfv@A6G>q2u|OVk0O#w=nIhz-UpuMO7kzwWur1_O zM)e^vKDJxwZ+^m@G;`nKV`bD3>monFr!tvy+*!KbOVv};2gf*E;{Kt!e;Lwg2$}AZ zVy;++U+>76FVr0QQ@w_f!ud-{cT)NFrVJjL6^C|+LoRc_DA>FE z&Hni!x6I@MExg+@#1wC4LOM4=J=t4cV)70`q6yu>D=C zP&iD_W1I^@5&2i;i;}63uP**Z_cWz$X?AZ6#<8T{qPNa3pmlH z+KrubJTf?6$RmUCH>EwZ^!R>SnTy%?%gWcX)RnUqJ)q=|mSf29INDqwk1-o@L+2Lq5m2Z4w<-j868C zmXXIC!+c0^DoRPIGPIOiq#dv247P>58b`e@fbp^2g{||@pjvCB?iZtF)DY_;Kh%%i zk6o^!B)w+)P0;7{w|Hf|9!!%3jn*i~T<63)Z6#mvr`McVww?qYHNm>HZdg*4i1%JG zPZ+QGQK~0q>j&4=;?WUFJws_eNy1x zPdu~Em5iIWTe^3K>B;;te%|3eBr?1_i}|eJ!hU~jd9B=*=Y1=Ejp^@NnGDPHRm#6V zQbwk5HTLaq##G_=9xLste4#cQ3=e+fldd|B*YSLenzlIJj-{yK(#||meagN=2;)Kq z+d^Jt)cM8u80U?2#E|d%SaZ?m<7Ctj>mu(_z5@B~zFTsaqU2uUyyPJd&I#G}voSKi zksiGyJYJ+8Yv=btbq0|0wK_6yKD+Y%4UMs_%e9)%;*|c@lsMdMK{vUF>f(P)Sk2}x zRd{+{i?8x6KBXBJ-1;M(aEaFOIH#!p*YQP(b;nn!e?Oc4!yI8-$g6SG{K5D*mOi5j zl7m_INOMN9^$+A5GU(rm`Li3R?M>|>^`MX=?C?zS%Fx0_R#Uj@HnwA&kOt6 z+R2vJ%58bB?S`o)Ylj`5Xxp`(VW%#047y0(>a?u^`dkw30 z@crg&vBanIik?$y%oOu)zO5XqUJX0{vhm(}|AHJ`e}&|G+e$_z;L-H|v_<|<{X)i1 zNwK8!=4LE@hEHYdU(Kp`UASs8Sv%kRN%D*>L$<8xAtSS{MXWe6-Ke7q&ub-FGM+Y*nut;qMp5E+@XjaMp~RATSoQrlJe0i+Wt zU#SV{v{%og=BUr#<^g2&IB#;z&z{%j6x%{xjiY*)7$5tY@~=1X=vjwsIUXXThFBN* z3wKMAzz-qh@(6Z+4){pu`7~S@CqD3cDmY~_S!c)%NWZ1+$&(S>@6GU?km2QfqMi!n z{{`FeTDdLH$9{l)Z+G_rchY}z4CI;G?FPQ@4z~U;9vSq?ausYwrdM$^E)46)_K$BYs~3F`dNAJxJq`4o4vf1>TW>i` zv#s{m@yO)K@!Rs{#aH3bXp{AS@yIA`#bp+&Z)eYiJx-wS_e_^!O(SJwmhSmyabQfg z`RRR2=R5pxp^JqWx^~5A85yi=?Cp@k>vDZ6KM#{P21n3o{yimRmWaPCK|8-H8X_N^ z79w|8HHYTuz1)mEju-v3u#qA1ZsUBq{hyvk2HQd&eF^lYPFWsXJZiodVz;sDjE7@r z{;86eaE$vc8NL=Wyu9F-7ee42dtNKI<+(oBuCn+47m1-0Up?`%TnUwt8Q}6%(SI`A zqbcpC^NG!B(5sCXNM4)R^W)G@yIe}2uX@>>=myt$(y6FuJD&G}=K!{aJmw_E$97#i zdQ!jDC+Ynw19kCHPmHsQ75;{PX{8gIvIIe={;uf$=$;oNt{_}I^$ z1K)b(2)BBzxinrzO|UNVUcU>|>uXz*Ds94L^tI5ldOSJaQfAmQVeNa9wP<%DJ&8I> z7PVvhDfWzfO_vwSnhNV8|La;;>HFXo;(wM`j=BH2dATDURK-jdEg7ogag12^mw7~Equ*BY z$jb5)JSg<^zO*l5nRep2V0~(`mI_^Gn7^zv@vW@+ORBGk439Hw?kiym^U7>_t=yL9 zb3KLKj}dO&YWQ3Dt>NFmv9gX~TK%WV;3EHxckY^5q~xGYQo`^M9bXg}WnAg;{}+#Q z!H>1JJiS{HpI=E*{Bw4Fkd^Z_B=?Px$9~2=W6x_mTxrO*HA+Seu`cpOvzrZT%9J8I z*!xe=b3+f%!Mh^!9{&i*4NcaV*z<-(`3e~Qaan?vSz@x1hPnM@oraLx$lsjt%TVHU9%G*9 zPKuuY=>uboUbsyeFJHgidC|sL;zDn-_;fzK{-8PX>(6B~K7IU+6#1?CtGxf*XGUg` z_>tsFRM&q0i$?~%)-rc;7%MIOMAp1y@xfO_&ybfVRaMuYVU4HL#ZN@y^vWb7gMJ|L zBmSevV2@+$WC8{bKOTJNE`*rohT{~=O~}I%j=CvQ%OI67a|<_mVNK^08+vkw>OWcppX2Ur}6tcJEm_?|O1FUB7({S&%SN zMjmqj=d0A`#M=IqxH<+v+qkhoTQ)P_1dX(1biJBna;?H{XxxxR) z#*01Kete3UEM;OjX|lGTHAP&PkLM?Ai$CYf^nCPzT{ol?NZhHn#L~B$j7-oX_I)lT zpY?oL(Mn{X=xDrJz)!aK7(WWh%Q(;PLsR|9h8`u1RZDH~I%;jJ1dWh_V7db{_z0YiRx!Yxwj7+C03lvR4+wu8g?WXhb9xKRH zznrAUA(M_r%~79#WAjO`6M0D6`}+9EU|YzmG1WZ5_}I@o$2XB=3-x;9I!ZVjT6Vksr_G;>kH{w+S$0W zge!}m!6Sp-JKLWnaKO9Q5L1R=l@J)e4G!Y<)ZaY#tgI=4f13 zNc9i--x24L;c=Xz3W)7W+4EYtE$Uxp7pJe_&hKB z`&Ig>@@I=X(lPU28w&i2l99o>^?cR3JpX;!cYyLYy=>^RG9U?=NB`bi@_#R&tY?tF z+#^B`dDfQ1Z@wy_Cg?F@-O9-Ua_2mmjN^(o)A7h)yU3%@gB}_$&z+iI>D$LApQL5E zJ&av@*H-3B(-SobK9QJ1&mv2#t<;=4=I#PCNX zU>LH}9k0zP#z!7C#Q4~^ZbRqNiW@(XCkNSmyWmry2jzIYon>6}Y~nKJ7d`NDq$S$Q z#GIzy?`Qp%h2@pr<3fH|-ZJ!)aV;5Di2Gws7L7+n@m|<(?>+WAk32H{&IyW!2Uc+X zna`8X=ZmmPRr*gRZ)c{NUk=c(lqwj1=u zftG3hm>lcXPeu)~F7kQ3Ml`PK8Bf}a>HZ%3d*nWwtv^;~v!l3XI{V()!AazCrb8s( z$pJDl0~3l`HqTP$LiKi-o}*3H`Hv_$urmiK>^xM*Bg2oi_{i&G!rV2f_=kB-g~T)L z{b`*RR3NdR6Uh7MVKVZ_U|YyzKH!{U-OU%rlcI%Ik?Ad%UkaX&&W~c{?#KApgRMo+ zgp$e~n;9SeD5m&V+PJU}4NcRO{&POg;A?c;9dB?+E~5IY>H4E4$k%-7W_*`*4vBVR z=SS{YrSr%{y96YEub*4#&;R0);p5W!zbWxInb-9{DEg)4pyCv3<1yVh`>& zvhtS23WzJ&{S}@si%SdIG^0hbGrttdZF!zQUR6!jb?=KwZ)HzPqoQPF_%Ua+_!=+$ z2vnZeE_aT7p9>hQyJ%l?r7oY}&N)~=*uVJ8Eh#cD&ovic9#hvC$hQcMmfc?#V9)qf z)bTiWtZQcXd9-}mlkVC`m_8Z47J61sGW&~9e&!WBHevVwe7-~PXX|2aSBbs<8F*xP zd9O3MMIZM3mo2ZA+wxqWxWOjt!bRX&^Be7bh0 zk?uVftmAR+__3z{v{zke@zowQ@?(e{uQAvb@~)3tiLSR*PY?CPwnByO^h2sQ-9C)n zpJ~HuIfmmx9yLc#593s1a+Chs($#gYl6^j|e@kC0>2SCG~QP2S+k(pG~6? zzaAJ)1+eQ!;Iru%R{l9Pr?`HRJ+GD9@?6^{%)7hSeH?x7SC;IvjFFKED#pII#Tchi ze15sVr}DMRt&rYU+++USV7!jU9K(Dl5iwUP-D9`;y{|pbWAYrswvbojs6H^p$A0dc z8Y@khG2Gms`*`*~H}oVk{&tY}`9|nf;hJGb@kpJ&haO$gGb6>KM{|l7mYA$0b7@&T z=1S!J&6)lYVxGI%l=TUEgUC-yOQs+DJtTdfwb${;DDOgKV}Cu+105B{O_ZTR-zgi!9>gcP4Az2keV*mcFFi zUw;4I6j3WjzQ}}Vu}HW&FL#E&HOxtPKo)oJuj7$X+btxPXYU_IUdO;(cU{iDy~XCj ze*$~H^}{s7OaCwAvwv?Hd1Np?@|Zt3r&xD>)is8%F&|0f9rgQGd_BN@SM)Gly{3vy zg0qOfU$gIh_?{;-Jc^O%rtJ5h`?~2oGQ51p^xR@dke;_?_!xh)YdXmPIDM29Y-uE8 zw+@n#H};;PXc9h1<+Zv84pk#t?wuv~_72qXICrQ|%a4Z)>_zY7`?vmfJdere2-`wl zjidVH7$5uTP^uUy!S0`Lb}&>%4Y4lrXAk}|oIMyt{44PL6*GKS^hig<%@^-_=Mg`# z_nG)KUPRd0qJKV5ydpi>86KTium^>e_E#%cW zYJOsTY}fER+A#i7dE!=|y$?|5X=mgr^6sY>5cXesGLQegXXu7w^sLVAtz~`V>#<%# zwvcR%_IRzi$M!ogUsxCU!lM((@8Pqg>oU8(2|O}?j;|1ZP0gpoM;<+4tc(2OiW^9- z!?ZZf8>2)iPV0>f- zJa}zsn^TSd=k*xUtnx5p`6?^b=Y^SW+_yvqy|M$+Ps6(-qm9+3%vHa4&v@=jpcldS zo}-F6DgB?{JQEGi+0K|dtccF9Ko0@=W0y|S^`p8O6Hn}C@iX?_xJTyYq1j6+@qbP3 zBW=s%Z`|7^Z@NFD_6K9Oo#kz*ajk^H=Ssy{^^Q%pcIt#{_>aIE-8SD@8*nec2BrZ`1|}Rl3Lr5t$#As`M9?#^RtCm=97zfzp%*~Fd>k(s6EwS zX~yoi0UjA%{%nSe*teuTua(>K4sovHZ^j4J7)_79jWvJR5H2Ibk2%Bppth^>KYvYB z_Jh|~g(4PFsJH89L(V{U{(^lR zGQ9lwJ7=+opFRIyImA@sxQbKQxk)xHptDTh3~vHP%NTQC0Kb33RZL{hXdu6Jei<5g zWsZ5qgJ>O(Ie_!E^KN5$bNf8AJ9|GK#zzL*LSAJGDZT;5$2ez$+~~$R(+n%GM9HWj z)0WaaLE8wanM0(#4(C**816zmc)eLWY;e zmvR=H^|9x*a$BBjJIR+_7i+ytl8d^L)4SOBFQDC|Vf_{T_qXBt^LAA}_qrTXi?~c= zCL`15$!JA$AAhbt@2AR(9&zU3C99HKBcgRY<^ayu z=L7kq-DBLyX!gArjE@Yqg}lnB`+AIzapn)mC)LkegVe4XEu)557x}HnmY9u)oylh9 zea?J;r>@~~kJEGYMDa*nXYp#F$y#Oi5`!VFDXGhT=Wt(u3@P+$2x-#OIhV1=LcN>u9flbJ!lKg&*3?3O?zF|&Tu~IdAUMsid`Pj#n zX5Z^MTbYoHkz~{QF)}hsLS`xYpR2(2=k2O|<>9Vm^1t!q;8Z=2Ie_yuWcUq3@k}#_ zxps&yJ~G%A@+za|C&tHqw)g#FFcfb}+OY2GPnU)1c+3HuuO0mc8yeggOC~S2=e0S- zwvbojWOxo*E@3|{SH~KD)ND@1v+t#%hFBN*sA3}we}1(h{bP9kXXu7we0^kzGIqXy zbS}G;)=*w2w$n1$By7elqIe8q7ce+_s4lp~B zmzz9UeD0B|=V)9bytf4m z<+i*-TwU>OPIi4~zY7gp)`M(36DlJ!TkgvGR#%M4!OxGpU6o%rXQvdFxiCo$iq`QC z)qNC(&nea|)@Xv%$h!bp&Cf@mCu)Lq-v>-&@AGja52~^E;~@|6v7gAJhFDj}SFcZR zwu>U09hkoX>n>a)d3G8odbX}5wy9~d=5Wp-RZepz{jc%ubWUP3A9^&lppZD|s<}n9wzGj`y~0F^WF?x3~C?wPaW3mSmIT2svk#8Dhb|)s#3mcNiz<++E~B?<}Oq z5PM#mJB*LKzR!G))Lg=LV`^SBj6QsXEcrN0Mjja)FY>r%z%>jnUpv2oGOoGz`WaqS zEo5xBr-R(HORRWgbH()WW@wA?claidLw=jdf;N3*eas9V{EK}iDVOsh@@W8n{wU+TgXaidKKQ6X zi68Xsj(O?KP;xVn`z;y$!I-ggdyBC#jTFA|t%0=Xp95rSw!yMKW=37)SHDk_j`W*K zhSz7;U*MdG4E6_k{2jpG*in@u#8G8M(J_U(&;nU?NCeiOD{h2ME(czK|+C^r88 z@LIVo?+_=7J=wc23htk0Ua_$UF|hafBU4r6=MjcyU>;C9^R%$*lg!E{{_M0%j$Y4K_M-8zq@^Ow^q*bf> zk=R3g|CRB(jlZ$HeB{&y%2@u6Id7oepAw(Gm*jiH^_brQXHpo}~+ zI9}vYA7rYKda1J!E7sACMQ?Es|cldm8=L*U-gBrg@e~vH34GSG^}xC+~~Y zHm*vpr{j@9{j2PlL%O{#ZEU#COSxW?-+C}5`TI!g4}-Hs&V4W?JS%&afnAIF@0j&} zVVM`ysV2MM0LpE7hg}C!W@Tq}*}uo}b?L4`(K0d{x;k4p^CUgK#vk3Dixz!UUg|k= ztd2kPthvJTzG2+&ynmc}`~+`A&zVMaXgyZW}ZHte$`n-nnszG&>>qi=6TbGYF zYhG2KpE)YirVFBV@n>H$Cv&DeXZU@L>AcY`#dFHL>U4SsJ&$w2k2O6{taxOezM?Lz z_cKZt9~o>5`RlFDB(H9GNXZA(2ixj(BeUe~@Pf7~&|kLYwVc7RBah{LjGBfRr%-Nh z61uRIJa!Iye$z&CO_Mp{^A&w~Ze%{ckVL;OOG7WI_XBJCBZF-%&b*f_&Qn9~*13{$ zy>(z>qB7pQHTziZZrh#WS%T@$uKyO;yE{d63bv91PSTLjYBYtg^(2(r@(#OprR*yk zY<*#NmaOla(-H3?Wn})0?!)G2S4w*plgH8crN5if?pG>EcQZxl__s$VDGVPY*7bMq zLq|WXEajUVq2t5z4zlbXutymS)}3%+F>PD9l6>x%yN>65(8i8+_s**$ciJ(4zBklT z{@%5`!oR_0C#qOpuG*8bxo)kBOJ+GD9@?0Os z*6e#s$Noqc@3x}Sw{RJmwSjJmK7YNro;?3mzSWdmG&O|KrsX4aJkA~JKe47eJ(;;F zO)!Mn@!A|=TgVrj;%}K$??C$BONO4)~h)Es})FwVBn z*;2mhG4z~IsEj-^7$153ox$IP%%Rtld%xb3GK^{K`atsR6F!}OO=9;8!S50>ynN@2 zJt@WhKfG3M%X4kBcVyqYY?I`9=tu;0X&Npg^M1iS_BXyOWpg_=ze>9*|7l`rY0i;$ zwD^oj9gjJN`H&@KyZK4q*7WKPdtS>KYzuicPWpKbav1wrx!FE*8|S%nYEp=d8e(1K zJNeu-CrY#FA$Gln-%no6x>w1c7qL#sVeR*%NXRx2kue>x&S`f5Wxkf8;N+_c1y) zy+B9a3)Jz*pw7snp8QzTq?qFg!jJiH?}r0tN!MAOX@!w&{R8?VgYoO!eMHLKyhV4l zWcy9_9NEmPTa`FFde5=A-QAor_3udb?AUC}$9tPoC_C=d-c1_UIz>9ShWSNMZp%CD z+MIIu-$-k|UiGA2-z(5*gQ8_*_%Ua+_!>W8NqgmfkI(BP6<%YoZsRerN?kr)x2gG* z`#sKV_0z@wkub+H?!#tfEXe07T3a5u+(BMaKD&;`v18q&y8Yz)yM9QUraw{dzhXM` z^Cq6-K8+h&77hrCpoTf1}yo3!FER;pJm;ZcEAE)SlPMZF#Oks&BA$ z>L*XSvaK_1#@>I3%wE$_MUxf+KfmzvwaUL}*OKNwnxDQ2)AKlY{8-c9ujzIgm{f`u zX*NO^9~o>5`K!?}miqm6Dw?C7*w>l$&kmR_@j^VhFN6m4~fN{E|1<>D* zTG70h$H>SdgYl8a-(ft5ZdzU2lDKqRN}7MLHFZ*Mn!ib5TK_Hc2jD!83@KYzuicj+*}%ANzT7Ru-Dmw8JZlf8def(b z1@YB5>beo*W4qoXV3!kvHs$y8#DjariFvlB%&Wl0 z%gRHJZ%MgOiapO5IED1OcbmRF%HCH4<+eN@%e{)h*6HRDGQ7YH>il?wjLZ;M*~ppq z?rMCEUs`hjssCyMZSH8&@i?dIysP?WN*GT{xrNa?1%mB(9+S^0wuL=lwg+yX=_saY623Tie<6VO`|kmmFsBzL`xPc(|MFu&0txzq^|MXa1EDa>Q*(nOL0Z!^;0VW_mhp|4H{Z zWbX@ta$BB{U35|P-&b=swR(ig$jl(l0%xYVs_`}cZ^4d+{AJ>3Dtmtp@;KN0nDcyo zT?))F%ownqK49+)vgI`f+d>{=V%-t53JME4sya+6xWuq}P9FJRd40YigF5SY&=YxV zYx9T1q}dOC(E$(Hehu{G$C@UyAGJ}A`FcB3)i4t8IGtAcz^(@Yj|?x@<}uAbhFIi} z)U#z5Wxv2<@_hlW{};WTXBi-`O?g`~*gD9o9X-*>iLN@&u1CPS6d7K=^~2hfqUG#) zt=yJ(*tI658vDDhGJw#)F22%!_b3?|e#{x(2en<55BoJz*^k`5AFl8kgLQpQFH-7q zeF~%+l>Nwz-EO-0D^eC)wtQKq{DvTZXO6o(EcbH5^04|k9`(Wf%i)fB8w5- zbUZTH7V@|b#5H{VS0gMf`m9f>%JvsWd$*#dxmIc28FoH`eFQSRyzImEDOuTiz?Rp_ zZF#QSDz<)GaIiI%Tpvq$TSdsoIGr4+Xt<8;$JKUK{`Bq1^ug(ev;{XA#S&Z+aOd#j$hbl+Q@ zqPYINzEJt}QibTZ!4Jg)5A{680IpZ?l46u}dL)kC?#OE~fWDAd?WlDt+Q)GYzFCBp z4>%^~bBU5rL+p!uTCfvs6!}6lwPgF@khf!wJz(j#v_*B+$$O`pZT*VQ6;tcwqLVAI z`^|tyhPU4xzfQKybL6#ld!EnTYctD*nzCoz2SrK9xK+ubXr5;Y(_itc^53@I z5U*KYiy!~i^B4oTUbe`cV)EJy@mjxVoqc4`7xF5j#wXgxamM_;Q!MfQwRo&Uw1gUB zU*vUqD)oYz6Jm}%<#c%3kZ$Ybj!!WMS?0UjCNp5@hAc{PiFdtPg| z=eho`QrKRfbV=9|G=+X;-GKBBsCMSLKE8Wl6E9SUUYsh>ph?!1Y>?RDfK* zHTy)k2UfVwijg2Ywh+tpZnt&wtq<6 z#T8Yi()bb+BxH7UoWXKh#<0IB)vwBLK0n0ZNmtV2eaGo|i~(G)@)s^!KA%saH(QT& z;JJMs1LzBR)s7mUXdlN}u+bGuzU3R}+^_5#?N~!WtRk<|2Xb1>$!~lvY;qmCMqbbI zpZocH3C|lu(82du{s}xXygh&GHS&FSz0aQ4+USUzP8>qBQxkE|!v0Avzvo0N3ku-Fzf(t|`=%eY^v&tS^fJ^o6`?C$nya z7{hU{YgUM)7g#|@W($^3L+p!uN`qO#h+E_7!be=sVWzTSYn2>$Wcz`p`4Ow+ZbkTf zhnYrpS|y*!Z?@$+5lI4`c+ykDS^Pu0Jb@#OxGGSv4oxBq7yQFH8DaKbF|_ui7Uw4mpaLBICARzsmLcx|{yiCdrREDqSens=5{WPVmmvi{DuL}8GB;nPvNIAj(ne<7D{Jg5)WgPZyb zQg)9eLiWbBbUZTX3wg}LvBo*v%xrCvuv8B4VaI=`sdUInUrS;)_V=jNcWRx53~whL zmdVpcIr3V&J zj>j0l_3F2O6D`-oCM*mwJMerAJOmJ3oVx)PBq(d%q~Pbw^=3n?&A07{Na(|?Yq`4mwPUD z{-)jBwz!7(idht9I0QL;E<+C&PNs*j9Zl&V3^!)DZh3U$sba>h^k- zIE#Hx3iEKRaW>z|YF&7Dx%^=z+kf!CDJGQKF6LUU)pu&0g$%b-a7eN|d8Z?DPPUVAd9HX5h+KVIRjMVWM1GrwlpY0Vr zM%NI3os4ndwKYXw$g6hLx*qN0IK5vS7T-2pEn2F_NT?z9MZQg*U1IYxTSPZEc0T~r zO<3dPc1cY07?vy_V|wMsJ8x$-;3ByqTgP8Xo0Q+&7us3csJ7()@;2>0 zwX}phGH4%pY{wYGc!;RJBsJ&7_4I1}v64Nn#TfcUUbUmfGulTx1LjOh-BfCa=v`!@ zglmL-k+su<!xalJn2u_vqaWO^?pezX{v9PZ5O7k-Xb`|{u1PKT=^DY?%@ ziWyN`$E#yg8MOajJTe%cOV0)iMb8eDvO0fI-?z!~QeI;sgMAklY$rrFcc$-4MN6n5 z=XpNH`y!ufMnRJO;t2X^1=CZh2i3X^Yp7gfCwt!WTP`OjvhQ`K1sOhd%R+^hY`uU- zhPQimTrO{#<;ZL8_B_|~)NZq_>a|ZjbQJeK@G7l z@>%cSwY(K`((vs}Po*AI>oTmNXmn0fn|;gV8R6`E2cOH64SUi>dYJ9s0*?%DFI{<= z>=NL}Ywh+tpL@x%X4|z=6-ertzr~}wBPC>RJAYO5_glmCSNy8HTh(dg&g`CaOwM2( zk1>Gjm2jj9>C=5Yjqna};I$Y)U&yO=)c8dEIL_;qn&eig-{Q$J5fW;MeUWd`rVwer z@Pv4?89Tp2&4Tq;{K&4RIX#!k7g%mN@yt|G&)`Q>a#ZFpkr6ZMQ|tP15;6^+bTV<~X)mrnudP&mLDq((X|1E8`BH?A#~8r%s-Nyc zim(1#^bU)3;JHm61LzBR)s7mUXdlN}YOM>I6PGUbh>es`L+p$E`fD@E&TYMD#2EH| zZ{PW*C0Q0LHO~4sNv4v=7s=Uvu=@j9`zYHYIq~}#Tinh@#BcO=x-fz5A40o5&*$=) z@$>RlCcpYP(-9u*ek8ED;8K#J;mu6@8vnR!Pg4DDE1Inrd;T5PQKvcd%~vv!6#uIp zt@=WZ2W@@PKKixiwHg_HA;0SWJThcaADX@S7zyiQbv)`G1@gswHj{rZ#L@FrhwFG` zP-o;(PySoe4CALJ z6`;i$A2gJTh?bDyzd6Ilp!!vLuVSx7UXO3}j!}4x!M;cCs(raWMRR&9^}Fj8SDpRm z=Vn=(A4*hW8+nu5M=Bh>lHQqhS*iEA=6nwUYkcfGao$*|;t+&vnc0XSP|= zEOc!3ih@NREg^HNJHNj)QU1r19p4ncDnID#KAN0$o1xCwF*+V&0M{!=??ZI&f^7z; z^dJYG+vhQWzK~b#sPTsOah%P{ZlnE|?iN}VGfSu;_Cxy7%~Cd%*F{;gVzsr;AIBK`2Hwy<}~XdRC+fa{f!Wj0;ExT=uw zV7vp*?eiEwU&yO=)O{PYkK=4TJ)Xv!w+L~?LnYJ@`yzke&xaOUb<(iEk9t4nTfar} zN>+biO@#F<*2|pHcx0Y8$YG6kTOfDYWVRt+a?zu-L1*TvH3I8v&&{Ik{f(9+p@-eBE5tg;-l~V zC3_|$>QDWv@#U)JHhz25UW)gbPchHO8fxFMik>Iq7RiTM?N(HbB~M%I6Aw#Ty{Xo5 z$Z$JX*DsJ$59)bj!e~9u{GT)bz8HUVi~4uBa_AcJ_&U?y(ndm_+te7ek382$nyH`riPQ07baF>_zXb5e@b=)V z^W@k49C@wXp6A+5XZF)wnvm>u8q=^t6C`AYJn}Me=JhnKepLC*McBK#%T%G`Lc?`D z#sIF@$DC!!@|!NS>H$Yyivje7ylO{{PqdHY%)h)8@%UbVW~_^lP($pCe5)f>$jK_D zXuut&C)6xhf32F8V7j(?u3WZ>*_Q3C4{;ZU(q~o{pTHx-+f&-im5bGO2ZJR(@3p1`QIR~>yf#Bf0t=y`#DN& zg*?`w=nMJ&rRI?4JEqgXvZJKEzqeUm9gUY`n0@{|yH#i6<$ZjAfc<{`G+wcvw{I?~ zf8Od+_Ahx^efo#7@9VT9UM}-3_Q$@)bC&nvJThpX z3{d-WJ@>3_D;;c@Mf&-6A4Mi8>vn6hO&v4xPb2C}9qKfZZuM;_B9C*#zVAl#l7`&N zBQ^5y5V6j}dO4}y0_%{u)8zt<%(hnR?~CW#ucIA)uy|1FceUn1hPTf>GF|S*_Q&jb zt=*pI`qW_iZ*eVdiFp!c(N3#EBxGi#^LwP@%d88!T66ZbqDtFw;``uZ<^dWR*}DvM_*F@xIv^iQM11~!(wkCb$Ty@lV{2cLmhdo-Ja+A$FS=K_2=)P<6T^7M9I+-GM7)W?5XAoOo#jnbLNeZT? z2hF5`pMrEe#u&!KU1>Pov3Ul4x_pcS&+YRVLtn_NcGP%A`#8>9&4cKL6RT*^e@05E zA@)UnR;m3ob)zRemdNgJQED8u?#3Fq`cZ>*Xt@M=cD&hE+FPVK*Y6VDuCo14;F00& zzmLq42Oe?cwRU@+&%Nk1v+d?f8|~Y*5H-#Zl#rQK*h|r0W_u2*UzPWc+Ch7HndqKl zBXvB+0IpY3tPAZCSckfP33K4J7(idht9H~q1hkLi9J#F;ZJ(GEw#P>k_tD-Vja9CL8-^F)<*th zU=!)r%aL?-QVl63KA)l?uivpR@-Br0>H2YRS~Jd7$0Jkwv$JBS_f7Ub5a5x)7{K*9 ze&w!s)Taz>5g#ep^I8m`edJX;YJ8%7w3Bq{vglDn6bHvfOQ<3CMgCInCN!-^yyY`{ z-#*W=YbVT9^vs%Xzh{>Q)0N+9?j0{LIB&KU$$pKLuRn`C@#-fbvv=55mY?(U9g9yT zS6BJ1H@=ZmXIl}ExxF*%9kr&guSc9uCdgjNX4{s%FUhjfw=Lx!v+u*Q8boVHeo*!I zo-+r{QheoE^px!GaQDcTF6?~>z$2sPuJLjbvyZ%vfw}jSA1ZVCe#&ec-`1D(Yd?)t ze`c1DM+WU9k9wje*f-7Ry^x-;l%)Bv{7R`u)I1Y&_(_GmOm9sIGD$GoR+e!krAM5$ z+?uCdFH?DBxE+^iGv!C)9C@wXp66>fAk1u=bfOxW@VbatioNd_nfBjJCeF-fV^GJb z@>h;$Cl?m7quP~d9gk~)`b>%|PdX3%_sC`TK3KGm4EjP|Wz_gV`)H@##mXe2@n=ia zmM94|#JX4{HIt;wpX`NS@7BP3)FvzM& zVUzTFB7^qrc}-{TOVi}omHo~iIJbM*s$ldc6;8* zFIvuDz-&AG>Z({|>>Kg$*(eDa{+ly=42s`OKH&90<^JIzQn-$P)oYK!b4{@Cs=!|g zzqLkx9babgPV4N8G3=Z*#)f@IU9Kc;ds#vX`BGm5#G6}#9e6DU&=>NGoy_<|`#8=!=N8ikv4h0}MMEUi5c?v3Ier;+JJC*Do67dP zpl-q%=V7-{t6!(d^661#+xvSFw5CtIVQEeF_X|8SygipNMP4)0k=NSoc|P}CZ11tw zw=g;*pUv>E5GEn>dddVv|GB|Tf9^MvFZ{kfb-v*xHnv6Tc#HvDuaH@FY0?lc@j`|p zuf+iRLSC`M^yf7o+Q)I;%jrSM%}(O%n~@S~h<%aYx+0jy&yO=Kws1Z9ebH*&gf-6m zx1QD_Yp2Lwi_Ny@{dUu*;bVo6t=jXvDvu1e^LbI6eD|^=ueICreD3aB%(e+RmeB19 z0-1h(jD$?bBA$xoC+2hg**G)#w>^r`FmlT9wOzE1#~8r%+UDa#J4`)ph=1zHYio+W zkXP(5efT~A+Q)IW>zjrCGS4vVdLAvIhS(SRky~78$-BNntap^Ip28Z(xXam^`$(K@ zy20+3>*pyoI@d{v8Bs&I9+!MKR>||Rc0=A-yi7M2d`if3_P$(p{Z8YNQLfD~Jr|y1 z?`H-cnUKA?6wN#BVRPr#0W4R^Najlp1ofJ>OT8=@MK_|+>Gh}Joz`F z-(DJy?&_!TT08QMdoA>w?LJvq_rLo-B1fI_lR{=z4>J22kBs7%t=EekW*hRzgpQo$ z$=CFM^=T&W-S7vQy?nJW_dXksa?MMv6R}2HTJe!*PA?XptR8$I3?yA5S{Vk}`1PY| zN?ye4N@RF@`=e9jK(<$7&ui`WJRe&=W@qm)e-d0dEH!0exP**%{?E$z12(ewzFRx-d!Z#;%9fTHS`sTHt08aSD4KBMEf|-58qr!i*v+4w?|2+A@)VSS>@*B zxY6A*=@8fRPtAq(W4)d`Oiyo3l+RXT=dT^($?4!EG5dA3{?%$UWVoFyZ70feOFHse zyFJhK&(8S8K7+~qtcixgYr-XDe8%ih^v}V@po}wR~UZ$;WYxp7>;vyYa==F(9Lo!g2jWb#-FboTXqscIYDdZFgX`+TZy4Bh1~?%C$4_5 zyWe!KqI#|Hzj$P@*7kl-)VN^NJYjJyR*&;~nd!{yT&ziXyJ1PNQhSE%89*g+MOetb zmx>J5q{u&6@`J8y@=>^*j-&|^ z@+})|R(QUq*!PV`7)^Rtn9SSH?mq`TQ4{RjrQBp%tJfvLrxu^@AN`R*zsRG8*jLA& zSwY1>SJKXjUC)KO3~Q(zzT>R5?u?Tk4rKYmfqFD|&n#q0ZvOt#KXn{3yuD%l@v;j$ zKiczJyFJgf^&e`sZBF-~o95&o8{ULV$lSTl-tWYiT-}-eieHs?TF{o}Nv%L8UY?-i z`5I|!jqCOMLVLRUa|Lo>zay{30Qy26;|=ZOIFUyUu`lvdecfr*!{zdiHhd>^ZHTcH$L~KQB8A@O9jGpJjMX7SJDYD`lCV)a;BUk z&u#J;KwrqKcGP_aw2$KqJnv19K6N6#4ZN2dM{F8E8 zmu?G_Pi{BclH;n<_g!ZTy$Uk@fk%e7Kim`{C!TTSwRU@+&;1I2wzqXbTC`wuva)fw zgiKhUY>MU?s~MyCRrv>{-dGaHEEKvlnyBM325`N0BwrPS4y+PNo{DzhwKYXw$g6hL zeFn6T;~eaEOT4=}M3_-9MnVm-FY+g=Wr+1gP8UQeT30_}4Y;`FinRH=BIG=0*|Uue zT1svseh9|~S5}_KY@EZa)LdA5BHy*?Pg)@ECb=`yq~noMo}Fa+FTZEDA&-o2!VFf! zj+Pg1VEXfCEi?I17go@&9RrDZ>?jF&i~(G)_PvW*Hr#1J9;ZY)@LCL@FXUA_>OKS7 zN5A3+H%pb;bA%Fp6D8CT`yxN=;cv_BsfUGe7u5TQpV;_$+-$qJPd4^`uWGB@o66>! zoz-RW|2`6KZ~aQnZR#iK7^aD~7M<_TRrGm#lfA2FxT~;rT3%!E+`V)>GH4%puCrzn zHOIaMG76H#rN0rUNi2Wh`vWW=;5DXwJwC=~g4}wE+1B&kzvRe)4&+*qJ`ys;hsAiV zsyqSecQ#-4tVHLHIgIj+0whmxFCDM?QW^eRvyZ&aCc9@?)And&TQ*MC_ays%LD*U{ zV4sDQ+BrZ%9vSq7Jl9RLi5gb*Q`tyANtifw{YH1q(alG7` z-H*NHQgJe%Jh#bX0DU2^+EL>Z z?W5ml%RXVnrYwZMj*?JA?2G)<^A*V9%HxC|!AwuSpTP9z`v6#jXZ4t7`aNcx?8NGh zpMSL?k)LuILR>TVA2NAlxShY6kCjteIr3V&J@s~$4U(mT?EQWT zLx`L{Sg^7086l4hZyz`;NFK(nrP}jayFJh6{v|j29@Ec}B;?U)!`YnS5;Cohu~g_9+|p(51NL%M=JLJi$@0cF4p$0Xx!-UFD$yzIu#*6$@V$cRd@Q!8HL&P`VxI<;GIW;OAxyr2X#6!y!|5?AipW$$ZPHPypvx)d14W> zZT8-7l$>@Zjc-nnkl8Ud;uY{+9Bhc$AKs-vyNyAGC}*>Sa6Y?;7xNS&BiQ>WkjEIn^*Zw| zkZ#ZCOm55%b>OuaKwrqKb~5*oAjZ(|y6WTTiNz0vrR;sws3G=6zTB~nw9m$cLfc~6 z{(xF{V~w1>1iE#`Ml6S|lkd2LP6 z7xJndH9pZkj&uD$v*`WTHev9F7zs7RzQ~s{UlE_@%0XHOviyP7gKH8-%12mTiS;1X z%N~VS(+bThlLBYi{T09?^LFKwv^$XjGG+Sz7mtkUtDkIT@0%*uaWZ{un@_&B9VH=i z;Y);~e>kg&kdLiXODy(twQ%fvjE=_`!1bCpctz@)5z7T{uZa%476a%DdDTwlJ`%(j zj&sZL1*uaTe-%2Eijhzg?2CMnJ;f|f>SQ4Y-m!RQ^(M~~_&xyE;6)N9OTEjDl#g9v z`gog!Zn1=TxA+K-SA{q4wW?e;vMdwL{$zPn3d!S%0Qq_ewOLS{sXL4-47 z;+X!*I92|yJaIzLO>4OKRs2VBf%koKOe?#4Kz#9Ki*LY8xFigG`Z?={CCx!G0 z+(JU0s`oP}>&0qbWVoHsqJ!in4fVV|!{YSN*5B*DO&uLZ$(WU+b@q`#U&yPB8lPw%$Js3WN9xEQ zdx`VLF%oKseUXppw$S3T>kuh$72lOdVM)Hx5Y%~!=(AHAO~KH0rZ8uYDbMvw2$LFHf~Xi+{bs3 zd!A+qHN?Ki-xYTWM^Dcr7e_KZVP69G5LOyzo9Yc8C{L-$-d}psg-qXDm2Azdf4TmA z-vb$L=fK$k@{5X&yw+~d^SLLLHrpD7R3$SHR3_g?hD*p?e2}PU9>|YZ$~aZt|K$o{ zUjg=khsi^o~TLPBC8dx zc)hujEGMHYl_O2hn%VavH<;WH`zv;Et#Q3NZC*yo7pzF;|Lw?YzR*7M`Z4ppI5jrV zZ=DtWNl1$@GAjRA33+62zR06K$lNCTO-aK?Df9BPmN!PrJMztLwUMT*>P<3A7tg$& zuGXzsWA+UlVqNUoMegm&?q97HPiuWGMm{xX_s>I}iwtkSlfSEcmYrYhd9B@^ck=5f zKV=8RefsrGMKbtV=KbDm{JbtkhTBOB@R7p<9eJ(Y zp6A-u?`5_vxmb@T53Nkv-3pVCc_X+hdWLo2`t$l)Tyh<$A~`LmYXn-Ja)j59rTw z%V90WS6dsAqw69iWc;5$Wc6J~xqDxxzv5Tr`*i$a30+i`jGh&x<1q$sy-Gd3Xvuro zh0I&w$ZKngzK~b#sPTsOahy^8FIhe|t3vYch>}o4?2G)1ej~&-eM}_%Uv_?B^)f%l z@frtf%#i7W)24a!kaM&9d9EeY5WB7QCS3|M{eee@xBpnuL!Qg>WP4s~x99oXmkngk zvk#~$x^?j(&znU^$Sf_@LD7FH`^JsxSLKf`E^i5M(wKaI5~<@c25`M9ZU3HH?p`C3 z@1-NJ#Q^$3UbUmfC)&qxHgNuu+Ud5Dn8!y-s3G=6enh3^sgnu`Bx#9OFRL{U)|j*R z7>$kd_{j79+54K>&Jd#8btn0rvU(8eTx59r;E?WeD|S80p4Zy#c|P}!M)tjcW?@46 z7Sl;mn@|avUj-K!ITOzAxmEqD{J@}Z!kpGVWJ-9Lj>j0l_3Bn88|h~0Mn16b|Dt_l z&=>M5qsAxNM?0GakXqZ?$_?`j>5HqX7OYs#Nr<-gWU6n44S zH0J4Kl=L?Fy%TC*mJk}t*J-w7V9)oYNFmQb><5nLb z^L_)h4n>)HH>8q%`@vwwT?pu>x;mLA;iP4l5xT-HeV$lR`XKKIeGh2 zNl@1Jf$LPd&8;07Saz(04Ca%_r_Y;7GuE^x<0`ZFKSSPyIZ|Fr6>GMGM%m2vUi=3B z6iZeeNxHeP`@MljhPMwd=PCbP)sffQ?Rh6ZL0(&ieS5Bg6J1ww2yvM-K|;n@t}@FB z1^FGjwyyeB`B(Y3i%F+jkl%+Rbo|Yny%e73=h)ZxW+9s0yCvDZh3B`ul{}Nz1*i%3 zb)Hdx&M|f-E$iudWN@6wqlV}U`OuCH=+FEiBxV+?7a;G#9O>Hni)pD*Ci!%8wx4PF zZu$AW9?A7x%MaB&4H<6dbc#vtC^+(3yFJgf{Z_|p+irSc>D74v`En#<1P2(=0y` zRKjXt3cr6Cd7xJndwJt#W=+`!A zr`WONDDt*Sn1mW)U*sDHU9`xx>XGpU)ax(&yvFl1%#oZtOQtzRdCF;QKdpK0vX*m$ zV@dUYSo|ybp~@q}+Y{qG<-l5wyw+~d^SPI2`$fz0SG4p@3?`kAvUmf(!7cJB`ls^! zPsQ*5pT`)$^*TBtLGXIepM3XZ`2g5Q27T#xh)Z7r?>nrEDkf1OV>jsWOf7>WjT)^7j$C!D}I^&j2~hAEqqQ4A|6lK zcwpUejj*rp!Oy~jvt!7l&w3si^lQ&+@rk~WZ6IaVfALJigNsIiLt)q+`x zY0G%h++WpG(+B7H(ppWKJ3p2t_sk$ygL;u%)%rb%~_IdiK40<$R=`7x0+R+ecq+tc>&F#Es&CNh?UX zons|r@OX~=*(-VJwn{0a)h~9v6^?s&jNeiGSm~ope+6Df_C7 z8b!Fdo zfa9vJFW5ifd0klDDZ4QsthbKGG2qyAJRCQW&)&A4r};w*Wt;{5r_ZFkrBr> z(d2{deSOew&pY|mk*nq~+wLA5LPpG4O-r;KB_R{=uM5ln>&R=fsrEJAwPSwT|58<< z??Cpv1B~I0PdSC>#}Mr6yMHTfeW1C}<&jy(KlxC}l=GCkG8gQ7-2DNK_dY;V{^_RU z`CPQQW8d?eXVRNBvr9*Qb=J+7^V*oZ{i^f7vBjoQ^7z&gI`-{Aot~%_^7mZR$Q`E7 z{Pyhl12%Dv?z>8xJ}$2$ODuPq@G>`j|7tKj)ry_(fJcV6ul-s{UdFEX+4EYvJ@4dK zUiN1D81y_VCuE#QmSA%%FJI#C7ghYK{KDWAF}6WG4X76?A%lH)`W8|8 z^0oUgZM0N0a3O7XYBWXWNxmGWTEP3fawOlwXZ77fk4kbu{yZc5-72AqGPZz>iqtFIODd9Fnd$$B zvG2>Z`tEMFy}q4;HuP>u?`I2_keQUHkD^H*mg8|d8bANhY_a5^SbCuD1RalSiu#u+ zWEEnb^`_0)`y|mmGUy9=l~Mmr(LUPA+D;a}fAFW>hS=NxqY1`y+?(BGK;7qb%*C#{ z@gReKkw-mI6Jcra|KjK6>%WZEOMVwU+f~%*j|}gtt=EBe-Hiu*?$E*VA&Qz{tn&6^ zrwS|&aAt%y9M3;SNl z`b4pGBCPn~_#7WJ85 zXAj+wHkp)uIn06AG)Mc$qlRc7$M)!yRhTlnHQoJ!)gz!A&hg{UN&g#vol&mF4hcm? z&l>FdCg_iSk-xUKzHwFYn)G~7eI1X?%F$t_r7ue<@$+9iG8n5xavP1mi_NFKEu}N< ztLuVmQKo%2Q?v0|WuJCt+sVGSQlA#tEtJeNQO6_0=W;hDtNi-^;I(#p-s#Xc>ywu3 zdnlLgraC`dC>-oGQ9`D`?rtW|SlB(xif)pnSgE5B|$s1L@^k>@$36>HxKEywrL z@yMVrOqcTCv<9&Ey5AjS5F(Exk~{M< z@BhiPVGmFuRp+5f?7?e@IWp&QmtjPGzbQAqhGpE$VrLtX$n!nh7_TSF7(#|5nPzRhY4zjvK5O5x z@TPS;tM?NP=|bSS6!F|wcE2dJ+w)u>zE{xnXqr&wpMGLk6nkD6Y_{`DQZ!tdX@ow1&oqc4`7xHa0mY5E@ep2RznxL--f-jwXeT~?6 zc(`QGYcYxQLLS>uL$q_+-^ti|qMPLHS3o)&aKco7(<7@FKS%gpG;LY)&|1J#{e9Ox zLmB7OhDFG<>K&x}&Lvp<|6%O=a(#ZaXV0&(W4ZIc)oJTP5jy)_uAWddOlRjTZb##* zMOel3FmK_}oEROCYmMvGphRi9tb7Nd+L)`Xp_%T(-8ZXX!wrSlLtvnEh{YR`oA~z+kMlTpd1rE=zc#>RgaDQ zTaM;*_P1W4j_Bn3hq3R==f0NPVgDk|Hn)i1CrZc^cX_X99>DelxE+o6Thxdgxa~>Z z+p_u;))&_Z`!3xxm$dV&LeF}z^CR%cpx^)Ek@->VohkeGTZ;ah#%?1mn|MhnM+@rg zBZJx^k2d)nH4U-v;np`v*>|m^4dq@^)Dtxc?EF#Dho8Ty(8k7j7qVIsTC(e>pg%I` ztDSE%W0@ciY2@YC7Cdg_xw6?bU(=A&R;zzK_I};0;WW$UwbZ&mzOyW9l8X z&N4XiTDv{(bm)lnR}-^M+S`;CE-+1SHbhFuyz9;CS;mxN*Em$aDnGBt47zh&B~q>5 zI0+f-Tf2+em+N!kVYIZ_EgQM#+%^@N@jZP_>5r_+nj#;tI9lqRl8@wQW3V8P`d~ir zbY7^`ebfxVXrCSH>C>-45^9Kjk+0Kp zg{8pM`}D=Jp-j)c%HI(`FXK7!!qkl>_k?5C-t7Lss*g(u-y$c`l@s~#=MRqzZ;t+&$W#m!s5R`A>n#PU0R&gG05C6zERQtJgdP~zbZeV>)U^DLedQw|+7`StqSn#$f!=z5%rOS9FZd9t(X%fKVU+kO3xTOST}tP3)#FEt;t z=e4{GdCVnV)UIw^bN(zX``aZmA5hQBcrLDC8fY5zW`#A9-Df^$_YAstiW3Q%!0sne z@&}bihPMZNTWP&m#*x?B?Rlp|%dD=Y*!!cZCQ<*(ONHS}LL_8*%o@bvXPLEg0Tw@s zUzIN%{DdBB5l^hs`bfxN-(I`azFhyp)gmRgn3m+@=bHv(B3cYIdB0zwXpa1bL*dfL zL4!#1eQv49qdu5#9NZWq9h-e#$iBU;jz&zqOtsK>MgM>J{liM$ zqVfkfZ>PWW&k`QiHS2hc0bH+#JFn4@(es4M%>x{GEe6mR@~Ry*-q1dd^Q!+DO2)GH z?Mxglp@!HOdB3-h#D@OfG-xy1A6D`K^}LMd(6{SSOoc~nwhrXyj%UZj2P4bTKIvS4 zoq{Gun)xR)&k+6MOVO}7{QWk6&dYcXz57%)Rj#qsYGU`p&+s}SrWE}yI$hB7$Z$Jr zlDAnOvuFA3d9B@^=X#D_&ffP}>6AF`XdYT(Sd@fJUP=|s=dR%T^Kq(t-cub7q$hje zvuBu&=WC>`HLlmIxYFWR_sKMV*aQb&TT}FfJjNT^$8k=MDI^YcE>ErhL`kS2_Cov?oZHPY^XH&-gCitlZWg?+Xr3p5>(9rj@~yn9kzYS@(6$5g zJjMX7SI!T`Nwtr;X}b(ZURzW2g}iD<%`?$Hjx%;qF|uRzS8;+Ld;Ue2^Zbczf5`jz161_a9Uq8QvZg5N%z_@&S8ZYq#f}%;T;7OSAp(gYRj_8=Eb)d;a>e=ql&$tU{N73sO>bXBCkgbeom^%r|KneklzsT+Nz#|chST-nAHnTE-O zOsA(rC=BxPQ@o_1RjWxwkCYdXM}08g2z)wGa(lhwNVUrM49FvczL3XbIG#h#)}Lmo ze>>iq!LIF|y1SjOF?$I+BiQrxa2`j7x95vaus(}%8&xMVD`BLoq`M0>ri=V&#@W}A?Z;j?!cctk0bMH5pJjzdFF{b7KQC>6t z_gmv{cPm0ab?q)KIhjwg=QRd>AwPM_+RQjN+psV4N8-Jup3f8L?0v;0_Ua`a0m*=r)AMLnL?m&~~v=i>eMM$_t z*cbVH?nT7XIp2sSO0f64;&~tP0n1y_)Ux7S>$i36dc=(GhTF52h@man^>^Tr;q9Kc z=U6k?-wX1Sga0D$2?l0C06=nHusS6a+qU*vmK zx+o00-$v>aSx$*hjYkIKGt!wD>P_q+HEvNr7thFG-+ex%4Rx+M(e@vsCCqa;&(8(? zZwLA9o)tvbA*;nTIk=u56o%&sc#dAy@1befo|)G9EZ;6avl=P#>#gwl1b^QD504CQ zU%g|Rb^Jg_UTe4KdF+iEX0|me(1u)IKTNE#k=y^XMjt=i`rqG<;y083dwL;bpPH}e zwtaPVJTmC(zj$OYes+|+M0}gpmF6rgt=QLc7-X<-Z|{wyMZLMAOPgQ`HRQb37y09j zN{|M=pM_t&dA;*THyr{>|a%jfGg%vTy2^qn@D(u*R~t3esl=9eaA%*bDw zYLw>9tjYfqkjFV<-`l@SONW|wkeW5FA>erybD^4DI+?Ei)6r_|!|K!chGM;?XK1v0 z=Jlh@b1pL6&e7GKtW(&2uRX7|+w)u>r)ab7^u}6Z^@U65waOt9G9{n3S2TIVp5ax; zsq(LL52s)Dz7v1NPSEl8>#ONsm6W5WY>&kc{URNBjX__?qfH#!=jZKAc^h|C)}o=c zGCeUZT;l&n9vNH<c}en_8hFi_-?L0`!8bDZZie{1>O{O@tTa=hX> z8|F(zmpMzFvp1w=_H<-_kAHY%o*kWP@>tT%I%qWe9*`Z+HOzKRwXgX?es3jbNvQ5l z2m5wX>}xzShBL9sT9=q@wk^DLjegs-lZLJBDItR~hVig8sW5$9cQI}8B-nxHzIcqG zedJX;Y7U9^(eI4MCFzW~Q}o5T00}k0zR2Ice3bq(swTa(f4DAR!W`!Gp5>;1BSWki z``PuTGVP_q=~cwANo6JPlWR;73BD|@*nQWKoBbEx;?=Uu;|6;_IrK%oX7@VMr5V#` z?vr&TXeTIS zhd9Hz4}DNOTtW@8FY@&##nEj61;u~9hf4P6=-6X@tY!H72Kjj>^L(9cby;KnqqFI@ zNkqqQDSF?u?MrWEEmXddb>$ATZRYo)##2%~TBCdi9ghtEt@%P8ZSMc}@PBKEeM8x^ zCeva!ij^Y!NcU=G@rp6`vdXb+%-iyK6&v5lddW}y?S7ZX$rzh+^^IidkO5M^uZJlz z_I>$U^k(l%UvWK!bgsUIzIiuTXa7>6U&?s0u$-3L`5*5lkny|P&_Odpbv(`y$3LN4 zPIBXYFS_sB1P7km!ZXlY%_-`B@}r`lR7`d67%iOjqh zCB16cg()V4?AlhTWap19lDIv z@wnEwUL#7kB0s|SHchPMx@ozJ?b zvm>vy+w)HMGSZAa+5OvhKZ@>WmWa25qa|ecZ_e;BD1I~ffhGP@zGuCwF?$~iFxdBW z&1_0vuFt+2>^dU*Cl{@vvwvhjK~t-=0!j=cpQA=U>F;-^=-^8$DB47QF#l{iAWUj{ zc$sBQp9wl18T5rbp2u}L*tK@1Tdkd~6^EN`S>gj}QkKGEcuBTjs_f&b=k%(;@b-EO zN?N;4a^$skd!B21Hr{L-)OQ5ER<)8?GE2CGOoDS;MZ@OW_Z>3%uU%Tx&b5|`fo%U7 zd5i&EuT_&8(=5S@ML&;72VRQ-^o6`)Co?|LKKgAMP=_9?Kg)8Qea{y)#JLaW6gi;G@j08L)3x);Z?1EbjBR4W-dT*NZ}!#ci5gV@p)*R@g@LD_ap7K3Y?D8^7F6uY-8<{lmt?>eA& zxUig7@teu#yYpKpA>|@d4o2#DK1WSkobUTK?}e35aud@-N1of~8lo@c6+4;hi}rDx zt1Vdw>AqU1=o&4dhS(SReTDOotg-WiYWdjpS;zx1XDj%ysMm@4`K_JV^ML8^+mN_7 z(}bR5x&D9hMr3$<{-wFBLrjjm)^5-9xtC&lWs@`dlb*@N#NxZcC1eH#6jSui%W_)9 zZzjJvN^reK5vuf+iRLSC`M^yhUA+DE_6<}T!D zV7#!RXoQ3sV&DJbQ8%39$qOw1Wb@_uRi$sg$-CRx#LkKRq^zk`y#8(AtmIS*&&I}c zezdbF`USaKFI1>}YOn*Ztp(ag9&Ms8%yq9#E@*t5b)MMbQFk?8W#i;|CgzGupA<9w zGd3~p346Y~@1vIVaj(Y0>(4BHcz&D7Bg5O@Sr?{F?c~U7?e@G=T934B?0$f5nmWGVLe3x9XoMt?2XRuZ7+HGV@!eKhH~%;dW-%+>+LPf+MfB+w)wXG6C%V zuF#gW&cxrsv4-IiGR2yv@a;T(9v*^3$w~Lg~`a z<8}6tL0`x#OlG{Hecd<<+z|^NY$_~l9wVWK*cbT^CmPYNZ(j)W8nAfgIW4o#a}3P! zzPE`t6)U$Yt?3}M?Nj+v;-*JX`GThFDsEuh~gB^LT-Ja+A@Aqc+8)sO= zPbc=1EY*V~WUe$|_vbU_K6^$$8D}Q{Y+Xe%{`tRxmHj;;k1>GjRmIJTEUB7>G<+55 zz-uvpzK~b!WX2oXN56ZgXCYr&z7xi~MoFk4_C>yA?;T?NxOF6D6?^|1%U6egy_xob z?JHuwg!$g?7HRZe?ta8w8m8ls@hG~+Wcsi-?J27-{)(|4SUz4;n7FPK+^~vk1>GjRk%zJdN})jva0H62VRQ-^o6`) zCo|sAK92KU)fr?C7M@>tAK=e9p+N^`!M=5n3s zb6FJM+*?Ni`t$X=Xj)u{pVycs&=>j2$-~7QKHo^v)&4pj8Rgm{(^d*J+mJ^l@5ppT z{~D~uM_z2w#d7reGZON}Uqap?mNM7Zqvut_C+j`3J7cH=&-LdqfWDB&m_+;NS7=*D z*w-?M+_r>Cs3G=6{(SMGqI>IP;*va$>BI7Ww!S=vw9mKSb=a1+EYfTnS3iv;E-FhB zokvK>Y@K}3)T2@6T5vmTE(6%{+~>GVitH&&62AoMc*R#H!+&e`k=NV&v(}B>9xL|U z+5N+dO7Ah$>hXzWtR5&Kj|}=kUKc<7`Z602j{)pkS#(bwl=_VkWc32G&+~lDv3Yw~ z{$*3EfV{g)k|L1)zD=6Y5OFnxGFc75hE((LCdVO>4;{wr87?2CL`+imiB z;1{8JN@l&884t)bkcxW^Yc*4`kGy`&e_{#wQ!hM8)*NYMso!u3d1P?D$fG{U^i41C zRlWF0WjrnS=QM73b&wS4!uDH0Ph>Ek_f2|CVn071Q}(ibS)Ok*-FTjixvp8rXPR7W znly75`(A35GqlvEHS||qKOK(@w=?X?dFcbYSJr`ds%i9k&SDrC?Azteb^5H(7kYAw zw{)|_RZl0zcYCbz{5S85{P2?=ma=!fq z*BVU{`S=%AyCXcv{)!kHv-eAbhRWJy>T~lmyI++3=6s?0b&S5ZPS6p}D(cn?`yzj> zUA6y5*m*!j(R+U%#fk;7gI&ZfVnHdp6LzqR4MkC`V8O;>1rf!LV#hAnyJ9aWunCKc zy>}nWWAD9p-(;4N@9y*S|9XyxoSe_SNxt_clgZA`k~>wV(RBwJS@6g-bqLfAxjK;w z|HxbRIXjn-zx?2}A@-6z@mt@4A&(4>7kS+0;2u)cyWO%=VmF*U&`$c&fQ;aAMm^DI zzOLhShQ_a$=>J9EA5x>Jvyxwxrp&^pINRrQLEN(-Km6@pZREkmg#6=X!6ReQAK;a1 zH1{d?0JsOsaNVhU(c50Ka|$;($2FuYZ>*JuMT+mo?N$09cw|Jqrcs%+1n2+qYP~ft z@}U5K_PE$fUwSEIwsfxiFow*>-2C@*In%zF*#Gc$v-oC*>}YReh_t9?1VaXGzt`RQ zC*PKq9ma~@8zHqgGMplVu|s|8xBN{<|0qiyUny(RA7s!!@~9#D$96Av%S%5!T_H8D zZr)Fdn2J3B?!m-9;oIgJoqczl!#bVZg}|^k|_73;z?o6;(93raqsL#TU97 zNuO-FY%tv$ZNXzqQGes3Q?zpWW5dX^q5t94m||PVD}MNTBKGa*AIEa$^=!Jyc7T+> z6o0=i-rw+J`%4w2$RmUP|HdOzcX89Kw)CdxV0U(LPXk7R7iy7F z%VN$V|D!iyYxCAro`Fyqq1*q`Q`o-OIJ24!`CeZ96Z>J~$7Y}x9wn2+y#67&wK^+;_@S(8T)d2;&!Hpsg-B}H<|FP27fA$`buQmG&}hq?F2S(=fAL~|k()8BeT%$WF&&Xn*7huIQJ>7wrP%pF#Yx0KduGk6 znyc*!|Hz|;=pX&OotsXbn;3gb)wLxhFtQTqmSDRbGhc>ic0=> zEZ@seqGJr3Hm8Xe8EadikJpB9Q-Saqh9di9`o<7t;Xg2_yrSXB?PmWfFFo?mmL0l; zl4c_rGM4_cW4CE|74|&G6)OHBkMULVBrA@{EA?6VgFLq7)MN)uNM0`$apT|jgnUCr z=%DJ;Twj!2m|23=4=rZFBZJpUOWsm*Rg>7r`ifQ}zTd7kAq8T;8X6>3gHWU#H9 z#`{jTOz}Ji1N!xaPckIysL{_`Fst$XI<}K3!cK{yc4zmK7*en*}b| zudyo>V*GT$hBIc~tz6jF#uDq$p`m2Wt8JlwK=T+Wt6Y^M(e1QNnFUIb0q!uePQ_D0Fl?}+eX%u8EvL&CQ z5AwIa)?~T5N^EdO9t$4zMB74V8?j-w4Vdk_Jcih}6^vtE*=FhKXdFB!yDW4#&exNG z&=rR6ulT$AO6Qk^PgQekTa|x2x}|j6Fot>0IHtr`<(1!7$ntr)P&q}PWUkNOcw|cM zteF)Ty{T{TL~YyUk<4N1V2l1BgZW_1t2toJtGQRa{$_23-{aZnIeB>hvo+aQ*x^rZ zES1dVsB7V-S#j0K?x{LvzdllfJTf@;(yTPuvY<6Py6dLa>-00$b(+X|p3nTZ3<}xi z`coEqe&_qBTAOmSa>mYV+op1oZdLAdH9xIwRenHFeHK%>0n25oB#GZ3@VK?or}1QnQ2s2K_y?LGGr#pBX4Zl4$G(B!))YAimz#2;SGACXJK7Wodnwd9$uwmDvqZ^)=+G2Z_lFBsI8 zUaL=rRBFW9CnRW5L%at;t!_9qV!1xmCq=(5)Z#rt?U|0gfTi?%Usi;xK;IuendYQ11E7HYj{Yu9BD;##4e1uyE67iBeGb~-I-TA?<1 zUf0QhevlDmHGi)3tV_DhX-ssVY^gP`GC_lL>JBVErOf@m@yOu4Owkq|9_Q70)L(pcw|I<)aTDW4*d72t$DTHniq4Yew}br zVvSQ;@qak~eu3gYs~-6$?$u?%S1J;2>doKJQ1C)6lJWQ@{a=h2FY?s83v*j;r;HbQ z)E4!uVDG}_KWa#}H(q4n9~srZXbXAN5dCAj_rmfsj}=vk_?vvgRX(_a`ebepG4+(4 zlh69ZPd1k~4n3pfTQ7%JQrj0%tj~jmX~7vb9a*m1GaF>b}Jmvt#5qWE$YVM)!HiySF zE&72}`I7j&GCMylZ9QdGpWukHB*m{Bvkm*rzmJp63$0WJ_tKWUrRJ(8be*hdCF0xv zUOh7D(nzmUj{F)1F+v90TEDFU+1arXTh==;Evb25IppV4pWOU=H#SKF<$n$x^_jK6 zTz<0E9N!9wCD_kLZJEc2h1$W32FTmpbDH-soPXc?rEI#vSF)y`1lzHO6og`dP7a7M=Mvge9CfM3F}Z{r`Hz?zsxZwzWYBQJ}P29}Ko6RF5>Q!x#N1tNss)lI0U}j%> z;v|0;W~=2|{qG6#n*&#U;zw}JuS}6^xaZc@Dr_z%R?n^M-wNJxCQjR%Fx|LEsn)!h zkE6xe4%mJRa3_x|*JT;D_4#rA}P4;E`z+I#=>oqex^ZlV%{BwpBj0t$e1#Y5xzYc! z;o-({?1tYi12X9qXB#K1H1`?#36m}u9@~s(jrz~C;6?w{F{16wt_4`5nE|Zv@%;uo z-@vnrS`!BvFZcA)P37mAci)a=`#$(muVTHWiVw#a?|iGFtp8|>eE-7!%;VxQdg1OR zDP`VNWn6jE!%c3lXJm~r+=PB|bZN-;W!STIUbiiHWYGWLcw{hkb31LK4p;T;@bX^< z><==cti~OA^ckufWL&z^Q^^_BcH703wD;5DYXz{%dAoEq<^onENaz03G0!^vy{62J*4=v#n|AvEeW21 z;Q5L8ZOZH6TAh~fpWiL0Ng}UH%;YjogFG^#9C1La^bL7ypRx5cO75ZU+6FaAwOWMD z`MO9spAqY-IM;gXU({$n+dN(zi+APG+Ep!ju)WKEOV<5S`+&B4&zB(ss<&j#E8W#1 zj|}RJysl`U^zejQy7-adCOq50^NNrUo-FZvO;&VsbqRT7L^)%Yc`W~n7x$;=AN@p3 z^JgPAIWTcQD|AyeR2jt<`Z<2bLuxw7pC$YYFUErUw;K71mKzhyzHi&D!Ftud;79cB zm3}`@Z6&@h>b<6={eoG`5{oT(WP~3z7RaMd)C6r4wpU}r`smp9Er}ZUE-PrWkL7i> zHt|05vx|cM-bx?T@*u%Amio9{O{Q|rE$l4IVRw^KU2yi!I#sr&3$Wc4m2 ze#3`U;Ya0>LI233&zKW?h*)!k{;b;prQFdY++@2Zko4)7j}7W&lZHGp*cS3wkGxtI z*OxK&fyAR-esg@`-0XkZ3jVBzj{MH=%(i{4sGPrv`6bRR(I>_NdGv|-jOTBAUpX`V zc^|T zF|Q)&@$oA~MlFjzBfqgqPqsPYm!zye{C-yCn>aVXd;jnTt}@$RR@ZVD|2|Ro3X&Y% zf&S>nf1d()WJLX)Bb9Xzmi(7j>#cb)H$T1L?~`omE+x!WYE^pzNs8i)I8bZbAo7p~*5%mKGH2M#Z4EjIo z!C+((3mJMdeBeT1eM&ZT0MjqpcJhoN(R33J(-f6nwHUA6%;*JdF z+kbg;J|ly+>#KdBp#!`qbr$#U+4+x*&_~t3_wL(L;|C{T#~@T1fnUFq=W!uf;pb_Zl=*;&ou= z0NQ8l7P=r-JTH;WBO~hB%PRlj(I@5r+D@BxEv?}1-*o%39?Y7@{8aPjMAKkx^2wK! z|Fy_BwC$hKMqd8ZoX;IMyJ(a6?|B^zu*_#HEA=)-H6{7x=#xchl12h$E zg5+^`>~-VsTb_5}xz=520qtF)5Az+FLGersZ8yB`Aun86M$z-u*vT|#Q$5 zdhFszmj17YMgAazS|N`6W>y}cPEw9&qzp#m!gFL)1Qe$UEcDnkL#( zZR==%N$E|0(;N@ondqm=BZKW)^XjU(fM+Wtb_b){pJ2qvj zI*w5KubzWh^0Q=BpCNZ#NZ%KP9IJ5q2)va`awq2tFc2KeG2{67@=+V z4i7X%X2!7MZ2}ED3na*6v>KgVeG$_{`EI(m?g#&jPn0(VnD6x}ek*LaV~AmkqaUY{ z0*Ue$&n8(hO_bMv_5D*;ZGD|88a}p(W*@g#r`Ej6V7tg;&Y&&w!69~9C;q;>k-5ro z{j+ln8Bwq1QizwWG^WsKHm7Hl!mIVj$G%-IHy&ahZ>K!>wR1|3XC2G&^GxuAjHp+& zMIL>khG=U$nWnn(-(vkIZ4mdLt>McetN!G3{J$%e@|@&wQ%-5O6p|;Lt*yhKw*ej* zmzArtZ29|;1HVhNz6G%mhhluZ+5V9c^=d4vd9~h}SM%Xkxkpm(rF~hwXJ^trwmoPp zDUZ;7;qQU5*_>ot>(F0!h<`_3l#?2E=eeObefj9XJo2_?L&pWtJ&)3jD~bl2bA~f* zLc07ZtF{kZLuu@%Af`M0OtR)x2HQoxRj|ou(_*UP6K#>-Xbfi8^OvRWqwh$_Ba^dv zn&Ri+sBjbVSpUCxG2ZVThqJaNHYo4NL&mx7A!DlVFhvv9kKlJcj$p5B2GUbg&l`|O z4bj#=p)$MP*_XBY{K4?9=_+H{PW^PdW(&<{8I2Kvx=KcKSzN!wIsE&5XX(bUAoe9{ zEw$!V2G7-zk7~QoSjbn6(JW(>OZ%*NWw*7}?wuj1Qa9FPMowbQtNp=tkr!iBa{z6T zPnl<*HnUtX`;_~Qggi2$Ud@fJ{k_r>FZE&Dio8{LwH|r@%Il3i5`vUi1YWl@?D;vG zHJ&t;q90^Ly_(O+qfgWjKVOKua)SO`7Q|xKZnDrH8EgxAJoCr1_uZ+n#+9L+bUn|9 zn`WnUVViC^&?e7wktY6e#t83rN{rAJd6x=-Y-4MCsvVh&h@4Slinhpq7*vhsJRiVT z4$Nc0BZIj&KUWbtCAup+ST(1@t2toJtGQQc`)k_Gr4u_@Vg*G8$1D7+{7bv`%;nh+ zI;Yu6T6}D0e#Ht?&eO#C*ve1il$fgJs(i1wIqVB{yVlEmzQmbEQBjIMh2jRKkJAoR z%IGKc+%tOdb1=EoVzfc{QF&z0Kl14F%CBbW>RRM?zM)d?&?4Nl&v`VFnoXw9@0>6o zj|{ejJk}%cIjwY7TY6LLoKhbUStxZi{5?0?gZrw?n; zKQiig#d_7tV8dF~>p|XKV;VezZM5t{+TPJ2I+sP+XPe?YwnRw{$-B7@IsEK)>i^=! z83Ni~`luoM4%AlSrPeFwhY$<3UbOW)y$&g!Lu0{Hq)Y1*6tm^Wwb1 zt-hbG@jE_VI7`8Ev%RM>s8jFaZ2MUA^DQcmOu585@<{%h$CRIASo38kbx`IAwuOA5 z>pSVIfZ24z-J0+l&}e5>!H z*dyaCdZbSQ3m)~v^F!w*y_sFjPxNL!M++VqYzuijXT$TfH9tM&DOXzSHogxxRc_sw zp7c9HJH`%R$XhUXz2w-w=IcUixhizcJ3@Dqie$)$_^Pq141BeBR}INiN7LLk5&z-U zTteH}sat52%^dpszIb0pc79s7CDwCsKHT9~Dy^j{!Te@>TKLED3O_2pW3Mgyp?yF* z$9gmCd-gUH+v&bP;Bx`)%R0KXmeyAdXRmsS`~6w6%2?Yv-s!63=g5_TQU|}Qbl|N% z>{#S%*>__*-2mF(@a6*ph^eTThcC9N5DKcp5cw~-zsz^7*|F49JG)fAfA=)Cp);)xcto3i$(i06U6nz>FCuG1EJ44^p8WubpE_10H&%O+Qo11&d1Ub30eSJc=f_1$bnW?jqC`0~Vw%#2sX^6cyG?6# z#|nj;4h@cGZf=(i<)z&G^EI*W+MtVDVCGd@Dqk!8jt14En#FQbSJbC(iNortOWQSr@Mx zhKOAJ^9yJf8Bwq19`fiD^~e3Z?UQlLYw3-&!t;I`kVgjFLLRT_xPP#@k|Z~OxJY+} zKNr2YK^3y)nlH=WVu%5GWJI||+CpW#$fM8KrfqVXt@(N(c#;41{JVt4Sz2=K+Y{Qj z*-wf*GT0XK=+n=}>{H|b+Wxz#Bx#YumR9fS$E^FW_Ss^ua$HC3n>nz|JNyh3bU>dg z$&Z5ijEw$j05w>buAHQ}d?)Pk1>+xmy^TVf%gS#c`>WJ?f@^V8H zf3GOdnXYyhjhh})-9>)C-{heW+u>cE{Y+k^SyT0fvDfhf$~+SM$tFAglvO`HZC}x( zNv+t!r6(n8US-ff@)x2X@qJFF;uCF=AJ@c#y)R#coqu;$LLQk1F}D>zF|pw$RYh& z9m_H2U71?kAL3qaQbT4OpSnj^g`Z2`;qO&kQ2LD_q~mSr*=Lin)YdzgdwnV;`{aL&}-`O2SXvgCt?DN%?%iHWyay4+s8k$u7pf=8!ck6~I`wev;g|^7IyEKw` z9&V>y=)b^%N2c<-9dhi!?MnXtjYkIeHWSMZBX_#lNk8IN@XsG#7<+l%(7B7}ZFpJN z;gaHWN#)nZfv4~378MLPjj2C||Bkqher366%L*Tj$>(mGHRrr<@pFI5s-L%-HthG1 zd~D#NILVq<8T5~QeCTJsuXw2VL|f$7@$UxpiknC^Wg{fykr|TzjpFBIv2YXeSdaXS zvSwba|IZ%j+5A3x=)+lC(vZns&LS_*d(ZFS+cI z@mc4SidOqdHDjfdal*L`0N`GD3K#@lV+d>|%UmjzM z`KY<4mh;+#o2n%?CguCqXUcgUT+@;1GbU%2Er0%hMWj?Uq9vQs(1DGKY+Go)qgvY`DyOn$gdgbD$9q@C>o;e z*KWRS`k^ZP9fG3`$fG`Z{jx2nV|_MMBcTWUEO=zFE#!p`s-E&>Z)J>r{EQ{oM3l0) zHl@rn(z1IJrI$&)7&2&!db*7o%2vwpQtaB%S?j;~nuXV+OE)*l?LtoL9`Wb3x?PBp zs@e@B3yuu2;E@s6ng({K6|Im*pQ$f4$}iUnhW{21_)mM6B!$s%@?m^MEi!2i8~%)O zh`qVIfIrXw#9<^cdMuO5w<>4BBZK~t$9m)+wb+=|mfn=uWE9CCI!3x1<3y21=H<;T z^1hJk%6PBM%}rVwE0T4Wi!tPpL4BG8mLy#>i;!-b;>z`1>;c5S0+|aJx63Wbam9aM zcUQ8YRwJ_Xo%npmyk`(RGI;GSy3&`-&0T?fFIu1C^$V{}@de)*!|wmqJ#^-J#znAd zeR~?T1!APd@(<&n?H`pGp)K-h@jcj#ij(Ppked?eZIfZMKBp{VYGDih9Xxun!FOV4 zo-H>lc=Xx5{70kkGeQ$?LLTdp|JKCJi@Cf!x(9pP&W5>ek4{78PW5-jibsDd8Y0h5 z^kjXGeWwQYz=B78@cOH%6T^m|USXIVxX*$|2HQejUBiVwLx(z$!DBz^T=d~4wO*|M zWokDk^Dk9Yo|jPT1;0>!E7|Qg#{z9b7fB?-r6$>vbCLm>=mlGt8Vm1{8&`uOIHr#^-NJ{ypa4jq5P3y)!+1^4tvzD7jmgOgvbVU+-GV zB1W~|@cGWmsWr@V2mO3qEwk#uU!8(OU3h?zj zQLd}`!t42aqKYNR!z962+Rh7dB-;`ikhSwOCFHIBtL-9>KJ)u6S7IvsKi|AmDTna) zjo*LQm3*#hlt!&ik&s6Q+d>}ek-t$lA*(ID>D0xp8tm@RqT^CJBU@%M}J=M!e$f2e!Fp9`9EX@%TaeyV$Q zP3XT~o-*jEqJM?F*R;33MU%7r?kmqTsJvi~y)fVFeY(3s{wG54{QKRmIV6WkfZ6a z2kxC3w9P~2|J#*ZaoVmyzQRlXY{`1F{%AX6VLmd&Cy)%ZsiQ>(&iRFkqxg|-> z=cdFO@U6NatCz-?HllBO6Y^V9B3a9%VNzs; z*=eW=?(xvp_hTe;yfsuRm2-{-j|{epy!afXPqiX)9KUWRPPt&*v)^9cP>ruYyguBu zkkYqlh5*`cV?{D0w+}zxIAtvG&|cBALz#=lz(M9R+7^r{NyBT8BR9Gxq#=(Cwu?Oa z3_tqtPwc9dHg^OAkU`s@6&6dwmi3jwzYitIpe^bdd9^d`IIJS^C@=I(GCJ(DlUYQ# z>9a1)nER@oJa3fHKgrlMGmp}4q(i!9lYc*Q)<=B)m1OjqB>EF>TC*X|=(fRJM%%FK zGc`f?W5~JWOs;=6j|{epJo?1gp>3u11NQJ*TyYm@71-buT1I1p=I&B;L@4jWJYH0$#>9vReg;odlnW_MrG#h~A<{N5)wuSTBvzwAc z+QgG48dhOWOYN}E$!Qa&xbbJWe zqsfqZwNFn&9vSqHJk}$htN!M!w)CcD)7p|E9-pNa{dY*nBU5FGT1YKId`R1Nl?dKbH_Vm7ZdbFFC-HkXye~f4q7GSm#hdi55^g~L zbC5vx+k@aqE49H--kdG|elAOL*j&!@)+JN=Qi?SNW=hK>zu~RFN zGWAl@ta+8e@rEsKO&p!ekOyVwYpi)S$4)j+XBi*Gy{g`XJnDe9$fx*JCefdolGe%d zHOM1_X9dWM`?93NIpxexJm=wF81GM?#RRZbZSykc=KOttz#~&{f-KjIEFg~?%-_!g z{L|CTA)+3LxZd!c+&E3Y2 zRxC48IiFE;z?xTMU0{ulb!6SqIk;i)Eo$jk` z=}nr=UC7CmeuhF_^E2d;2|b!1pPeS|YxJfiO@heRnR^X3?l~ErQJ^jI`@_4DB{qu; z`ntI+cx3SG0(tSdVTmfmWX9Kgy!XNTnx`+5>H8aD8Ru<`p0(9t-V5Lg@%$^7ae&1^Y1nDbwk`2V4pvio@Jc!+&tcL|BRx)S4EJX zS2r0f`T(}bcNmge>oRsmlndxJ!bGfuqM%(+{KN)s38%J_1-K6|pjLIW} z?IMppMW0n|(Kg{gHSMx_J1PmOgls zqda3e*PlPf7=KKxE&O?gkjc^`yHK(qbDP5Zb~bBXE$w6aSRZpN(Dv^BV5wrONOJh+ zS*`G+^2msKwO!=VC&n6W+x>c%=9w#oT%`Pcl9S*)+JpX!)2q}fDYs1zH{rciP}lCH zLH(R$|EE1^$ouYJlpd%nspLP}Ci@1H{EuEq`G4lsB7?C&{&Vl&Qt9L#WKVd0i+Ev- zkgvPsv9!5p2)WvrYOx-99B;s~oFr{rTQcazQpuWEb4;6Od%8y#bG{*uI-o7`tG9WO z(q0wFy0-}u^2p%5C-S(T$G!TE?mGEKCntH&xNuXEPJP(VxizWF?E6$+(Oi}nRa7)b zTjXQ;Z%LVa0<>i|II(mmaeq-+;n5cPZ$bH3V7X&dU)#rmM<&;0N%7;x=PB}7k9?>N zfBr;im;au-+bA~Mb^(=xMrn|_*iR>4>>=i_-h}*u2cy{b!EqBv-ES ztXhX(hN8`vTkyzWTgc;{w!z}1a{nq$a>@k$c^vF-x8>|ZroVb5+3hYbA)k0*sqC@B zy#Ao=*@Ho(-qakV;L)90WS*xi{u7Hi^UUQi{_dJPuE8Ym_H!wv{&ou<8T5}l)*~PM zOMKoZ;;uI>3hGaY|1_!5@I4fHWPD#Nm#3X8ukc6O6eepX+LIlX%Q4geZISPur!%>m zm{)q%HlGEL4DQvD$Na=xTHjTc*LSETKjLRuxxU!2YcIb`g){j3=#=}Q`tm4#-zUnZ z0ri#KMn5)%{Fy@~Nvbr!&Vok<{r`okA&*p5t%Vaaz5GNEy@96G6%qB-&*XZZ8d3GX!9x1O=!Q6HQyZgePnWH3nc z9uKwPk-@f*M-5*li+jxaat?kTXj8kDQWj@}4X2(m#J1@wmADzH=&5Rsu|QjsV^Nke zce+H*H{+kr&XU`Is41uN?}atUA1C*>t0Q;w=l*&9;D>dUvG-2BubuKcfW$54@0jNG z0XM5FG0kT?Lw5L8Qz@furKM9P?~Qum9XgDE{+`VvgY6=ZKG(*_{uyKSCDWC10-yVO zZ77+3VuxgRYAi(_8EgxAtVe#T@64>W^rqzN0i@S-XGya;4?`ZA3HfHpIr7(2^zo{Y zlXM^TRiek;EqG*5&rtgdQu6}EiFRs3uIEBIVSg2Q<5hl7H*AjF_8%8HC{yUaP!63g zbk>_Lq{e7dLPnENDVFQGP+m2^ilTXsE_39RjV?+VZJX`dq79usp2T*K8YPHC3=X?<7#T-Q2xwBqM9gYSQ7uRJe$Y3mxPrY_a8g{ThnK*n&3NjcYk{3FX%u;6@LGmEu2HyFi+UG7{)`vT{{s;>s2m(XI*i&wk-;??dC%~AOgF-V_)Xct z-(THTes->*{Pwctnu+US;R^l+&(I#^M3VSDqih}-Q6F$hqx8p`uTj@s$pKuG(a)VZ z&U8zyF{I13>Jp9@`)rfcfv-PaivJU=EX~`0AQ@HvFtzN1dHpwETeJE19mmqeUqi{> z9NVn;YzF&}y!hRv@6)~H@F@N}dJB5U=VmsNeN(tryuMB-QTj7t(nCW^zHa1XL0f)( z87PMy)+*zjGq<-qCsxGB(ssPx2|75bE4h<<4CXoy+`Obl1*2lI1}B}WW2`cVk^XLc;bdgMh} z)$`{l5B8-^6;h%1G|8G*nc~+*WVNd|A&-7USLevbXcuSZklRj!TY zlDoo9lP6A)^L+P|+fNqPuPO4CpXT}EUbu+V$3B=e^n9rB`l*eS@%An`K~Aq?&L6bB z@P3*U-)kgkMhaW-$Y8t3qt7duQGc}6+KyGqetd0za3_cqb^az*3@k^HM+VzM9_x|c zzH8hcJ%8lrPF$*dmByx3q{t(a`@|&KZkEJ#(3^TRPM0p%^CV|F6=%pJgL-=RS}cvb z-IR>_ZqIO!R3m+=>>t@s9?QR9V6nH^ds-S`3MD!6{A)nI=C-MF$F>cXSfFjLgD0ir z*P$f3_8S8-q7Q29kdM#Tn#^8PntZSF+ko}RW4v4|wjj~p$`QY3$^YTiT*C2AK3#yE zZbnG%4@PS3U(KXe^@&5=VTwF5xc5U|{BGJ12VeOq z|6T*mWt?|a^#+4?m+_=;yI2GA$cXysPEC~lTk{)>_$o0%|LEtzx#NbuY&==A;ZZ93 z#5s%pJ9mqut{o#t;PZW2oFnD(MakuCeC1#K^99W9BF)c99_0s;mv)N`$Tzc%lAC=u zuU%+cqQH5na;|}-%k$X=WJDj-u^_+EX@oSbY9vXy&)+W%42}``5+}W-2OGzdBG>Mx zVmeHshYCXfIKod z_mQ7;qn9x}COP9(Q9VD??rPjw>0m~qYUc8|ng=t|zl51=>?*LtSuNPy{7cgWW3%Hx zM#bxvJo+hhqb|E;(~zyot)a*xbMQ)k#m@~_{%qJg2UgRi4SPAklVUyc+xMAy(VtH? zZp`O_Cwmxu%Nv;rcX}CfO-NSyjQr-F^;pTJ9_(YOm{jCN-_$Xpt$*iAY-mO^R_f@u z)EePl#@rWDGIZm_cpZ(aYNTZ}+-xq#MW!ij9ZT3iefYcUZpL>tq(3QVEUgoLFf;b1 z?6PW`zv5YXW9<{#p-yXN&8rNyi+r02T@>9WzSWyfK5C|vMO)~nOwuaD=AZRg+|x!3 zd1TN(@)$3)MZWVn7xwXhhS^tWY7t*#gda7Rta-H_`JoTJj63e6D0;fCD$f4x)1GB~ zU7_Tg$|HlZLmqvKc&RZ$TgUbLY5ul)_PBU_TBNP5QU4${W6mlbFMj6#s9-<#x^z+XnWxD>L@r3{W3*<1`x~|S`%;RCsXMKlr z+U8Biv$KZ2{PV%=oJU5~tJ)%uK82pDhG_e_WEW}Ek1?#}rX~i#s2a|WoS!b%7NPCQ z)J0193+2!5Zg?tvs~o~|KbWDM|EoMQfejjD*@l^B*Oo}rAwTK8%ty-mkpi$MR@pIa1SjJ^%#=5+E)A$ih zShdPk*nk`l6y9dXj*LAb$G{f(Pq6`P$hSP~-3J%`ePsT5Xcmu5lS^}z`pSIW-qDt@ zO|%LdKC1@BdgS*UHS=Qq{MgE$<@w;iNUQc5WCo6(V_fcR?mzO+c6DIujumB@$LCt` zI9{~fI=3l%XQ<3d2F&NbpUBtP2?sKYyyxSEYX`3L&K2xgNXK@p*Hd?8JyCgNBGyhY zu1wmSv2dy0gnVS70mhyEcA4iR_uqg2{y$~aPvQW3_A=U&PJY#vS@SA`{*fO!I!@8K z;bXn&<>5(6S>z}BaXO=?%fIJhw|euq-aTidGpsDj1c(+$PC zv+<5PiVThy=g!%L>MXa77h5^31;sTG*H7_$CcU&TW2r%JdS5MG>RWacD>b>c7I|bu zIdbkkB{z___F2=k$2`Bl|K`9mQr#A1S;Q#6Z31&aet-Uahl%bc(^f{tgXik!Hc!leO7IeFViuAd_J8<`~G`D@vrKDOfJ8T z#N1Yx>2EwTs85~4jY#2=4Osq?Ka}TH+P~YL(dw>wJy+LiT!-tFl-LN5sw_I9y0V_D zJTirEBp6LmTQdTO>rKdi-96hl{>?_S=KNX^cWLvVvg*g~QDauq@r2=RD>r7%s|@-_ z-fQF>zNVS|qb>5C&*Wx9haaXRTznbw$o%TLTJaOPSZ_ie>yb|kG4tYjWa=}Db$B_S zx;*HYf=p_1g7NjRt$e&;Cgl5%AIYX{SwdTv_0k}ZdgAr#n5F|8Jh~WLFSWDak-@f* z$2A|<-Y1o28l(JnWXyfR-!GRqnx5(TfvyP*WXL0PDLU5Z9!!>HVL+w06`e zhV{sc^;V6w!>1K=XVtxihf%{B)?4#xtgkqDvbf}9hRBk26<)2k=G9#FaVP9~4i}c8 zsYa2(@rrg;{@9G(?Ba|k^np!9igQ-{erUe2Nf~|i@VUUtc6E}J*aa_sD%~3w!u)Cw ztu?PQI5+<<{_L+U=KP1Yy2h3vvsoTisYPjqey|TXmz$SqKw1{5$b1U!rs)CgeEjoo z&!}nQeeQkQX9`WqIGebjGk3NN-s)lGAG<2x;T}TZ3Ud&M& z-}? zzD8Cak}+^YzzHc^O!SgOp(74 zRF8DHoTjbHF=)bBV+D7)h zENyZMWyz+gJfE}mTr+fVmOlK{EUh)B6kDGWv4Q`7jlLjjxFeE|IOoTfXDl*q`mkDA-_REM?pN}#zGZ6D z3+)3~s}l?Pbz!B#qb>678oIJ#(F?T+TfHoJWY$++qxe~rs5c>x^~moyZRSP1icE}Q z=gN20ru52fK*r5?t?^Xx^-4^UZ}2vTMgQ8a*>k;F3i7BA?l;ojjAgmkxzh^yhgk5) zU|Yyr=e)<_4H-u-o9B)?kH&1xl=4>(VOPsfRN|{L*0yCL*D5-H`+PzwI3a;vKf%|3 zo)2pMzqLm5{4vKun=(!*FX4I);-4jY%=(wc#m%+wkG9B5QaiHlb~EaKv5?|l?GG}A z?#{|;E6ilgtK$;>Ra@lCee)xurxs&9_g7Q;qw>fcm>a3fKinL zey!d~x1t#(Zhp+#zv>fnFRFWGa`mJ$GkV;n!jJ0n`__d#=gqNx7`#X+4}8M+|FN#b z_Kh1mGINx|tK&jjR8^J+{xeu^;y^L z*A19&m`jJoEis0L%+CmGr#E$3Ie^ugeo0$s!bSS@+$^Kl!8wYCXp4O7&Y|p3<}q#K zLg#79zv8~Y%%d&xQ|q*1r^dw7R!{91^2oG0FY6OQ@ z0N)U5HzUG;OcC#;MpOKJC1;QiyE2A7jc-TwN7h^Ls1MGUmMg}y-Ce0baAccX6650 zolnH)->#o&7d%{EN}|_8Zw#BuWa3{d9|%OJ@|J) zW}T<$KMnl-2}wpx+>DIoo%l7Emz~pQC>ri=vBy}uYIk9`!`qg2g2Epk^&LH?W!k=R3~j)uq-MpR}Bnp-s}8!h3$F16Q|U^Y3&O%m6wPZ=}l;h{Fd48Y4u&xX^FX=`T0h6jL;VOVK$TL{vKcGzeOy0WH3)+a&}>M z?LSlZ=yCkKE<1ma?|5{b@$#ryidIeho3XDGDzUfa+${198Pp1S^ojc5diAM#eWshx zn0>LWXFwhqYzukoIlFh$oQzL=O~82<|Jj9HjVM5mnFzDycgLC6cEPK*NiNmNxF^mu zb*)C3zbbR&%6>k7&ADBCtGQhFk>0d>?0DigeT^Zc&N40f5oOgDd4K+0Oxr%)3?Kc+ zD)U`!7nzlAhOD;2Ox8TEX{s&qW5Oax_;+u^Ee+pq!}^2F!xCw_*zxB0{*6Zl*P zMw59>R(ik4Io)FZ;@n)aC)Kzyd{RbnNBN>ik}gy`S+=T$9m*n z=QQ(TJ^7el&&C=K(2EmpX^?rAnQDw0HA$Hx$ZPHmV;<`^(Vq3sry`H~;QABiI+C?b zTSood&sgxtU|YyzPHyhIUw5VEw2UCWXTw|yX3=EzWqav;rKMWr)93BiovUEZXSDVE z8cmMY{Hm>=muZpNQ1YNojm15dtduA6d%c4E*(+_oBtz#Zi55IE=pT8kM}A1z)U39` zOe?32Bf~4rGR!Xe*?>GU1=^B1ls0!`iMh zqAYl1aPAUw?xkWMFekCCq1yu3_*(@@%CAiR`A)Wf&%|wfjttERexo-vX|P2p zi|dqMqvLddTNUZn$pH)*w8j2>Ei|5;eDGZxUu>+boVtyfyenk0ImWId= zcvPExh_)x?`h29AlLtm6>s;E5&A4z?Z^B$EGj%+fAGBP%V|Ahy`MP_Pb)l|f6>ZTr zE^0jKIe)+QYmbRqWXc}qYd+UUXp*|pT#n=Ge~r82$&Xiaw7Zv$x8RXM|HxxK^8dUM zbIqJTOMZ+ayK04L*XOuzKpvURn^Sa2d&emG7CvqqadDoleRl1O0d+uICeOmf zS#5=xkY8M`C+mOxn-tuByB7H;ep`(rU56-|qwQ4Z0QTclA=1~rdMfg$59ad==O9+1 zb1rgayq^V+47P>5xW3yC7?=^xKU479wNZC}XGq4c9_IazouQx7w{A~t$-GA$$j zWk28%Hc-)X!-|bM*Fzyn8EtjXYLW>44rSBo?Ww}Q$|HmAB9A`n7G2GA*c`jlRm|mX z@p{v&Eg__7rDxK@_zkJZBZF-rkM+n8&b=k8tuWIMzdj^kUX--I%Q=cXGMR&R=vH3n zrRXz!cTRHK*`8GKuEvl@MvPb0GdjtGOgptq3Z)eot_k|O`*khDhh*e_X1P8b`X_=k z-WDl&EsD@0e@oi0iw_m~qc@>#_v@p{b|-!w6#o(cSdTo$ zEBx|EVwk%~3ex3EwdU1a!tvJl6iS{KKPk1Z@|nLQCVPy?jQ*0W%PcTh(Gz)G)6f?A z<3+}hjxX9vTN7>@kVgjBI^=P_7ozAiD6x&IR{{TfLvcx13$-e)|e2lC3{&T?6$x2z|wq1N29b#%M zxmO&{kU?A2)6Y4YUCC8Z`ry6PAU+5DJgBo0uL*REkK4HpN?Fv4wxk+*Q|43`GQ+7N z$-n8}|Hs%_fJL>ue;fllP%*K2uRr7-FofrgxxcMi`{jv z-5uB+|CzIle0ROx|Ig>)ah`cT?>jT!dCxgB?}=5BIk9Z9#_&EMA9B4t2^g|Ze%63J zKf~_deZ3Hv;?4F2n{$2g-kdEcrT=Qiv-)eT+GyI^+m|suFWH~;7L>%VAx~wE1tWcx13$4H!As_h~Rh1O*`)TDL8Ps!@+QyW3LKrEU z^?-JNWQ$8kN;S5RC~(D9F%}3(DS46W-%Bahh|hbNxosxJOW$WOsos5)#+NA-qUnD& z%~i>h$5KYy#H}m5N`8wciCfF)xF5kI!|O%6$fHl*XEE1k8~@^xWSqy||6Ns6hxN$g z{1%SmG{P}Ap6JTj=~`|1VM zX{{p31@FdeJupX^%Ji?o^j~?(pe%F@NeSTkv-->*E&jt=_;`g!N0Aj)oGJz%Zr%oXd0!ou40MLKk>+*o^=~bGWpPp zWSw|K#Wm83Q}dNte}$wJx?wQm+Gg4QU9$SXKpuV0l!$!&>+_ZSi!A!1?TOj@dHJQ7ZDt;Mxy)yzbz&nAgXDZL0NW zz=HwwO=**S(07~F^%}3a$iHU!pZynC%f-4+m+(4>*S;aXq? zpNFhH*i3t#)~=(JqW{2-LH2CzBPwayU>;G#xL`ZQO*`E?-c27pG52Ys`GI>z(s^Ii)pQ)AI5`XGM$u)^lqUw*gmGmpP8V z@!WsbTGqBwH#f4WTyFYhWtxiqL)w;7IPY58!VBBL`n%Lgor{nYIlZj?!x*vu(@wRK zM_o;p)86#@jpshOKG+uWs2ldp;@`5KEPLRy{PKYl4R>b0uL1LD#e+UED~glz{cF<5 zMVD3NQA1oiS@Fz|&|&JG>ROo}Q#cnbGPNPGJFclMYq00ZVUBEhF<+(nwk8u2wy2%H zJ+-{Q#x&vQ6FioAZ0~JQN1NZNfxFdzl3S1mVQDHdcnl(M{^Cw6*?W*5Svncd0s#8l81JT*xCyIo4rZBJ+w19 z+-bGdc(KnVCpsr*@8_!Zr&-c$_3FsBq|&2zs&$`(wQ~a33i-%UTU2>iJF@ffEh`=w z91HUNJ*+pIYo*W{2J?hzSCV#mx}_{(_cVF^s^%7b9^6`BI)AhU`PRmf^7@o^ZrXUa z?|YJTS>|(OZM*p71a*gT7zuB0r@j9rcw7IXUF6XxYKyiDk55*|cN|6rzW=VhA1Cz3 zIYK_z>}k4HYY$fG`eTeUVm^$Q^NE0(6Vyoi}G;R#7Q+FSJb6ORn)d8_hS zWAgCEByl|Z{xEz0qF}YUDLcar<^kdUNr5xmQ{IO#{aO8}m6mvD>@q?s*R3TfcdL-b z%dIW(wqsO>B&Qt~{n6HSdq-KGGMrTFnp=DSLh#67yU3$YoNKhblrmNxuzDDI=bqnc zemO7Z6!~uUF|uMGK~gejQn4O+)W<}oN>MjkkU`xYsVy&Ja#)4zNrBN8eg4EFgL)RK z*Ix>F){+dY$Mj^+QM>HXrRZN8%%1kXv~aNoDWmwa=&b(QuzK3@_;^t!`ES2LWPZCf zD)Jh$Tc^c;d!rA1U8I3l?s%`6JTo<#w7+=10rJRTTgW5B`z+=T`O_f^@i<(GG=2QF z0oEgr^Ly)c0GWQ$iF_Zt-DJy)*h783lP$9U5?_)sCO5U^MN9@&YEHVJao6YpaS`&i~G5Gn26wZ^_*vB`Y2o%XQ6i zZT%CUHK4ZlptoMy9AR5GhV&wjTK=s*RUesDeyCoV-Z266iTW?9;zD1> z9FtE^uWGF)#60>(9(`h4sQ-w8jpV7heyTyCLE7{7Li5%?YGi12+fx3rR_clpyE6i-mi|(pEBAJ9Mjz(3SF)#8(Bchkk?;N8pZZiTL6GVHDa_0dDI8v^F!ST>dWp&v^}xgibn?9LLOrVgz8w>KbJ{wJO(dGhe>)ID*zrEv68*Qs8+xiziG4>{~bEkRH zan-Q!s+R8+KBYy2f6cWhJDoC^mrd_Rj`w(}a{YO`wmfGRC-h6V4KrU(=s=o$%0xF0 zyelD(4EEoa7rNQ5lKq<*q|tCt@E&na3oy)#&LU+O6_d zEuQm!sKj)$_{X+dpS0AscxNzwd*756>r;eGTldO@^~hs?YOZZhZ$#!MUrx6%+VWzI zMKAL6l0_fn(GM>R4UspVZA@Lulpqm%PnblUaDA2!j8qmqFP3tAr@<`hd2Eb%97Z<3 z-mk@vs7D^l+!lG^lQZwOkNTyRDBF!^?_ZRTA}J^PYySU@=ZvW5{{M~V_2|?06q72al^C z+rPHrk-=jDd5j;NYx!;^Wl;XSDIeK)Go}xVp{tIsmCDz3R7yU)G36a94R3VCB*x2+L9|6axTb-;v)`j;**D0F zM+T2Ihf@t?1Qth;F2vT6?0K_CDaRae?NW3-#6X;bV!2^{4D4O_r^8*VYeW zUbu#0PLcP{Tb`b~E|Epw8mrh(93#f+>%VklTx4ZBbw+75Y5HQtd(_+HT$F3FTj`N- zEBQiMOWF6_Elr>5ot??i-Hm9>xo$?}1D-Ba_E&hHKHlBRQ~8co?)`Uha->O9I`U*a z33={cFxVFIyw5^I^pAe77w$##d2CTHeVHMn&S;B#@mqPwwf;rbpf2ovbBFUgeJ zPF{Yhjkkou1$kxdp49Gjbu0hKa6ck8kVl_)HE%G_0^gek%UGoddt(v^g*0#m( zK2hBscc7Vyj!fs|FVtPJK7GXZPzf<`fy6-y&5`s!MzJqwaTF zYws_J7(@Qf+Ek@XzsK5mquKM!y6wH`C9knY^n(nq7uq6^KDnMkL$s|jdZtQegwxyq zL>Rw0zE-k+y`HY&TjfcjbM^j13_GqH7x-}ATfalZ=+Go-Moh>hz=8M}YSM-OHi%RUb z6oC(KAEcz-PuAuaZIK`RDV&}xGD-cub+)N`%MNUe2^x>K$hU10OT(jc%Oew;Snt?|9O}^Yj0@v$6E$aC^DOJCcaZkFM>MOq~yDnjn96d@QXqJ+Ev| zayKH68lr7Z*D%^LGErTSJkf}n|9!2uQrP9H<{xcS-I~&yg-g)#p{2Czk+^>0H3)5c zHmglP_oz=FUN5c1k2o%P3_M+SQS*y@->x&b`Ull~+}7 zb2BR*nUEftHNL?>77u^mk=finYr6k1bFLD7$^5*V)toJ(*zulmUc$a1ziW&SS(VqB z-l*)z&OaGEGN>)`s3-bIKLt1Yk|7DD>DE%^WISFlwo~eKS5|~CP2QT#V2-*LO*`Lj zDDO)RFhzTHQGDJk(=SX3~C88#H%%bgtIV0$fv6B2&FI(}*V7tg;j8)2;Nx$p;=HzXo+4BhyZ@tq-kVW^Z z%hv+Bn2_Ih-A+HJ{T5AIv_0q*OBz%yBxn2d!idbZZaju9b5U!KrQD3|HB#MTi1V15 z>QI->Ry;E3A9<`t{znlW|Gcd*^T$Gw^~0D(Zl?$lq%mPCC!eEWfWl#)?M)#~{g($-e+EgKQ)(xn{TR#cX;&lvOA|Ex)Iv~$`a>7Sj4wdW^=AM8)G%fR$@ z!_3DgM$++ZN+wnr5iTQxK9PUDU<7rU;VPGWJypV(Om)qykJvFOdF&vA8Dq(5M?C4c z%0pT^a;p*f?zuASJ-<%Uv_;#)rg(DhQ)Q`Hx!Fc!67JaP`B=DC&$F@fKPwj)V=&*! z6HB`7DK0;GyTXb`2K^(C^~jHSYVptGKZ`zw{M6-_>F3IJRy;CztRWx&u&6T1(>M8{JKKY>eChTH&6CUU z_k&p3w{bJAKg)gc(pI{5bn*PkQlNVYW#e;2(~vVI1DpIR3)_1qi__8{o6xtZ<4m@^ zV6a`}M^|9?Sq9bBe4;J#>~RNm}CSAMH5BaaL(&r}Rr-;n?Cq_L9Aqm`y7`bR%+ zZg!-HZrxIkzT@9t%9vBMMgH@ZGHR8D5%kdU&Q?4!+>e;+`$y-g&Atw$30YT~upW71 z^G0kx*iP&JwkqS)N%tb?$J##Ze4F718D1~q6M6KBnxO6Ur=@6IrU2SAzO!XLoPJ)d z@Up*ht@a?T4`@3x$yGhxFPzdoeYEqNm=`>!p{?hfA++M-PHMY_1{u#ec3X1l?fP{} z-oU;|#mf;s;Qd_EQ?FCI3h^$tdumXCGNPtMyR*<%Xtb8&q?-=@h0`TZ$Y&KlcP>py+IS03YU zpygUS8gCvdsGsOyi8sz9ntjvzlVKYXdP*L+w->!txUy=?3;)3fIJSS6bMo>T^p4C?c$rXnBjKa6e;X7^xVj;#1D4tl$l9klUoDq2pyyEle@N^4_8 z-VPXEFXj$;E1#et+M=GQVV=3p?3!gcHAtjq0 zl$w@1uOg4k-}6B`B)X+NoANGI%T? zkMW7IROHlW@25l5q=)QxH-gPW>7<(ZrRp7)sC66JEAw`5)#4d#k)M@&Fr8LpoK&p# zMs@m@Z{BuE?KB>3kmrvcx13G zqFfz|#O;2}P zSl_GBWUY+0L18y#eUDJ`*WHm;JTllW^62y0T1UN@yD`4Sv~vCY2J@D~2GX?AczNly zfhzLIU|YyzJ@Q3fSp4(&A6lsg`5InFUh?^piaauoUyJG0(_J)uR;LXj&xb9P79QVV z#UsPVEA(6t+eO~Gwl~RrAwk7+g8ze3`a^|}B~{k06 z`bve5Yx<+@!25Mczy)^_c(bYr8QupmcgUCUZbJ&zcOXemE19q!d7Q6uJA+Biz)a-a zf+DIdFJcMD8^C_+@?qW5q)o2Be&dBEyEc~94}G&s(-V2r0oy`;f2bRY{ZO9l>hPC} zJTiE$Lmtl$cr1Va`*FtJ@*Efi# z8+*4m#Rm72kU8z}(z|;nM@@6&d$9A#(oge@Yd)BC$fG`ZzVhi7PcIc5XYy%&*osF6 z+d`i2BmSv7%EUEkSRhCl@b@T{mwCNKw=lDGvY8rjID#ZcyQ#=r`@nKL>DnT{baH<( zD3hu_>c`&iVD~X=-N==6V=Md4KyaL5s`rwXWsOPrl_BSLwm$_*Eu^xFGuP##y(#pe; z1b4q|vgL(_9ea#cJQEVM@jfv(Af6{HklUHNs>maQ`sB(PDUY8rl$^=rqkeVWo}qcV zwp^dT|Jkb5A1rS$ckS;?Gfikjb}Y|qrKiw}&xPQ*{udior1#h9f725gQRe>tjpshG z&w}Uv@8l{=_YLwRr&}njKNpl--zw>XTny%)15Yc?KfELd?RfxJZ)_}c{-oj}g(roR zIiII#_aDD(_@Kq)met3VmyXx8GTQoe^_R|li6JAFIa=|^V7thp&)whXFKs{WO4Z7b z*?n{Sw9@2Eyq60E+t#O^zYb0%oJ zD8Ic{KVEMzH(U5j{i{)TvcFJa?S8k=6E#$4S$KZDIF0(Q&i)cg<}POWBJha}`nTmp zJYb*Ec3X`^wSBwZr2McRDy|9n8e>z<+)1w6Sp2Z^o*s&JE&C@{9OJ}t6zOx( zv$3UomE|iIRBukwwil&8U8l1AiS-zTE%I>%n~v_KtiIx>Gu zZp!$Hr)!aIE}nGbmbV%&<`iv_zm)1kntb!4^Pc6CIU{&v_Is8{Z!66FCmtEpwxdrK zvSkUOFLJe(gg#tDTmuVzxSq;=iJlIuM#4gBO1S3C_du`Ib9C~4K7s3>v0hz&p&I$w zQb+tdCYt_@=lY=S!9DfKG{rJsqF!h&=0eo-wra&xC#0HWSueqSi9Yi=Lf)-Tb+T-L zL_8N}@xprKMVXKH?>E&**$o!||HgAh)c+Tc4C*s>SZPwdK!BzH>^V1w?sG_U_Its& zwiN3(zTW%PuNn<{C6NbvbFuYX29FG{KYn+;b}q8z5Bbj2&N=8G{glpJjSgujlhN;s zn9!#v^D(0TTIFidyQ!X9|8dRsVbMON(~5~?$4!G7*IhSyER-k8LrLULlL>jBjr$b$ zxs$ZMq3!6Yo8^;b2a^u3sSX+52Qe1pmu9t-Kc>Z!sQc^L^*V#WF(QBZhp+tnaWvUb zz|VyB$n&z$v(LGP^2(>tBu%RK8!wpAyY?%UDlgXbM;>*+wvcZ(akTu@dpOarmrckc zgKJUb`F(`K7uS&aXW4f@U~Plzjd{mjsLGyhT})I;_AJtQ&#d1MA&5^aT<|HLDMW64^jHd&fn zpAL8$ZG7bslI*ZChoW6C*f&W|?a%hBY&SEPl8ycT;D9Z;X`#b8=*55vBzL>eWM0pC zTU)`q?#)a)j4eP@D^(!;8z91Gk?mD~*=DNNUMp8;{(pApByE~jnI_iow&IcDeuV!w zD+}qKyOpC^JR1`JUb*X4lXuhgEM{1_-husE%s6e`PW(2%_1@@ZFwbZZO7o4hqnD!` zOvM7Ll6$#sSYm+jL*h37DhoeB^UBhYl)ALVb@mM@8(uKzA9?*8U&{NrmaQjeHJPWC zxmM`s@#;$Sj)yDF=d?yf9vSriCmxx%PUBU}yo8xkE7;NI+d9${r&meHh%!G0k^lZC zC(XA$kn+P_FkH8P)05jSoYI-5jry$RCvnY;Yh%7%nmp;JHWz(P_|d!6iPRfkNJbtR zUOsmzld{ptU`C$Tmp*Q%#hb0I;OETtpqu);lNoZbk@s25spFdi-WE;R`=_N6wQ|E! z>^q0S?!;-02i@|io5qVdMO)<0kN8Kf7vF})Z&qc_2p*aFIX0)a6=wbuj|^&?ZCV}T zpQ|oarZzF5hPdWOt+o|r=fcBvNW)TgCR{Uz^v|s9n}5>#0{ey-u63t5HX!%TxDww6 zc3%I+^Y}#DEf+n>{6e*~^S`Lq&JQpbqMor6gY$)RioDkp6ieP(U043 zciMV}hc;j6QGgN@$*Gq+CA{X^ zZSmA!PCDfs$M;jLoR)T6)3ftE4|4Cj8_oXXj?tDE3|?FRi(fbJH1lckFWSmCu@3Qw zt4lXW;qnlKaO)J$s;{z1D`l{efQK0pXzG;uelh%*i!zdFZ*7{c6Tx>(1W%f z;pt^NMq!KmN9Vfaulsdqe5PD%y^)~_G7dXLTkQGaKk&%lSn7?aMMJjP<9(97S7NuNul}Dbm%Tr+XHIx|*z2pB{;P92(LF_*&~`Ld`m&&h{%rj7bPfCJ zA8!(RX4o3;7omemmE@zwr}5*mJ3dhkVhtLLMP2n z&duywWWZxR@^)J~r?(qszFDylJ(bpyUXLCuA=73_PyO7*?=(%2FW~M#SB+~;b4^-f z#iNF3J3Mb`>e#}c`g*RDzU>*LzuxpC;5YLgJApFi7_u78xi)$onK%EGp(Yp{B5-~ifx&T83~7Yw$GJnyrZQ?x}sn|-3X zk%Us`;yY#Jk>T}Xt_L5>q52hzp|?8RXXl@cdgSx89<1-u^1L?QE3@*cMq>jHfG%*55Dr)S@|KmR7d6thd3oPmSWF{k*0$*T4aiEie3I zyU6oCi#bJGKmkReG3^N9Oa}vA>Sr+ll2!nx8MdaIu?}e`L5HF&DPHsJG=sJe+c?P73#z zXwhETj7epuC68PlV2J_t&D%$I8D+bfjoJMwgZZ$ZNv)T?0PQ+SM}oJp-{WBQ{2F9y zEBN?>D@>+?-gH6BN>=+d+(Yql-wpYcPV8IpNwFpA*@?B(hlveIAEjUN!sVWtf86UK z|D$p#dU;KC^=m(C9vMqpjg_yv*>l&xPrg1y>wk|o?0A9kV!QXk{nR!Sic$7IK^__O zk39NBTkZR_>3SMg`=}r57N^sz`w`q@;{J42nYPJ>r2NW{d+fI)N>7wZUplNhH0e*U z9(n$K#qACSG~EiXJ}CLTAFfVnGTe$shL`z#6{iOCfANC(l;ErJ1J<$kiJWuEbDPdm zcjp+Y?U%(oV&9P8v&BX2_A*f2`!vFeM+Wt@<@x%M=K;_^&UOEV&T6rS9o4-DEdB+L z+M+G_QCoLvu1Vc+Y#@2vx?pntX%^l1Hxh^MlPt#qEAz2GP}p-FIg696GaJ%OE}dl5 z(AHM)kvl!5EN?2(t_cboZ^pcE|AHyyd`T;(uyuo$W?q#cP86)FU zrlyY_{1h*ppH|LSfp#2bPi%S77WzjXHAGu0KKiu!IM9a{ZI+23kIXXr4w^oEEFNVX z)VDu|(wfyK$;cyv+9HoWuOCaJ=7$Y6eb9E>3R!hJA59(N=1a(Xr z*=h-MESO8-`|Dk0YiVtL^Yo$3Np_+uNoC}b;pHI(y_9_(?0ZVU^ZGoky|nqVwH5rt za}{V%P9M_#K)e_4vzSxbVISeK#Lv~;TI|uvL7wdQs@D4u=b{y8j5fgF zmUkbQX^c+^t9V0Z^2hot*Tmam->3Qmj|^(NEr%Zot5l4JOl@tIkHQ=gYBl9ZB|2v` zA^R#{k}$`TKl5ns?03p5G3@)>m>a1R#BvX@4ak;9p~ipXxjtx{T)Z~9d$qo{e-!oF zo(twe)bqApI#nd=j;BBW0}Re7^3^9)AjAEA$W;50URaMjj`!jhJ+Y6;PI3&PvMn!S zY*&XM?=2sSYx@6*M+S32lM9`fmj|^cr?MTi@{bJai9FBihW%ASi9W#c1F)AD`(?hr zzF#(+{od;g`N--iY`vGkBg5-of5@lx-G%}McVggb}FuH-DNpOI3wEfC|gUbk7eKb$h*8Bb-k7%w?6hw!g}PfKTX#L z(`LHwa`_YWRa;(Y6;r%sdb?p}q_Wi%Y9|+46$Hz4?Ff)x1k+bAfFwdj3-G;ntqkPMIyEAM69} z<&T`LNPKJP>6_X=5QJ_J;~Ow7|%3OrH!M8Jyoi(Thyg zyBTOe2flyLh#BPF?K|mDymQjxXX(1su_t#Y2N&-bE^(zFFT zW-rgxyNs`^JZfqwXKPYN>rbL{nob@TPZOODrZ29u_2)a+)#8Wqz8^En!uHjQ`?}2R z8SX3Lm5sK%V6a`}xej8CXp4Nir5yNYavlhE+xhox8jlEeuTEjqff4n&=76I`@GkkHpJ7cK0{3RIo)e){)E)iTtCP3%Cbqm_GW!{mwK7{v2Mu|phWxl=x+Qh7$`@e{gqO!xZmM)* zd6=&YpP9Vdg{#F*M3B}lYm!5kglK)hTodxuUOZ;s@rhB7_p;`Z(b{7DAGwQt&l!0B zo5Es@*cS4$m-rYvf7z-=(Ln@xWWuVi(Z+jkkHP#W9vSXOXoY;gHdB(Tdp1*?*zY4) z<%_iE4J`Sq!hvCGn^!Yb_CG-$b0)m($i8=@o6qt&|G^7Jvt{}?MjOokbf2zfE>S}* z=P=}V|LIJxiX*lD@1AQg7b#akty*oin(4}5rccH^V&9O@@^+fK?AB2AZa|n7j|^&S z%k%X)&qJbrY`10P3^j-2K(%SC#lPTDPqfYK*-veCeWto*SQxR+L1pB`cdDRa+-f=349!ItNG z@;oZ~$9U_ssID5kVV1hnmBj&{rJ4vQZ|Ft3F<9A4hrsjo6Fmc`r5 zj#8HGH)Z0~>o;C7#SCwfhHdDlbc(d*u^xSDZ880u)M4M-xjsslPx`2~DA$G9@?3w; z%=5dF#LM{`vG>=WhNw0DW~td_gO=YDF@UznpK15XWPfU{dZryapFmt8gYjU?bNzXq z7X7228}(C7K6THiIZyV{{0knnMcYRk9Vm@|CizroMXpy4PdYZQm$H%Hzhk+hCg%gS zYbY;ESE7_9>^Yp~WeU?p(fj4y?7b^qzx+e2c78r~J~XL${{dPV{mkiWM_c{Xk#t$G zNJ1VN^p8CH^c-JI)12pC?p3d%mAC2)=1R>%NpQCx>V4Bv33+6&E#xr z+KNYp>nY|AdCUQNEIM!89noE>FwZ(4_~D2b`SQI6dEIfO*T3;xf3%J9_acuc)YS50 zqF&37L2QV6-d2_w4Tw{7SIhGlz+em@A2ZvHG-S_*oC=GRupW6F@8{dTq?Z3oxyQ|d z#FiJDc;?$iJxe#&VjFqPVWKVamHJJVqaquTD=q~I^2lIr6M3G)>2hVHQnw^KzF66_ zcZ}ADJ^8BW`{W&~%*)Jv>vLiR_4s>$ni7>)<|6V@aD&kGCB_X{0TV`%ZZ?A_=h!%WEh$WlfB z{o@#||H$8Th^22M?A5jQORabuFWT-t9!VRp+j;V#O96$bN> z#v^E(ta;UzU9!tX{A%die+$yiIcSS~{uPbslioK~)%m)7?ubRtEbKQQ8zx%HJXX<9 zj?-PKo5v`%{oWH+JTmAXdDI`2Q0j5*yZUI!F01)MhWin7jXW~VI@i$G2@Tft zM{Q5<>PgEwq^P0)^j48a2L1nuNBuG1nEW)HCbm`7iYHrI`9}u(hCJ?ZaDQZXd5u2D z_FjrFyY5_^RGNe&_|w$Al_cbm;pI)!`)FfF-qz>w=IkXpHos{5^hF7>v|tk&tDp3n zf8i7NO4XJ+k^cJ|(|sKVv;Ef^z3@5l)kf`@;{Fe$SjtsG4CaSlYLbr04d{cY6KsE% zF)p-4{^E!#B%&svkL!=p{0kkB**;vf#ojOe1CI=EON^z!r|QHvQb%tNFD2o=4EG?s zJp0fzh3{W>K7OsfY*x?sV{unv%L~S0yH?@*ssG~b{4I>#2EHGhXE{#6Kh~qqj=_nH zU#sz>>SdwB$5)ejP75K{d#I_}8kqNium8j9&s3zp3}*MdO^qQ{8>z3#jrffhj7Ppz z$;a=^P~NPz=CK}qTJ|Gr6}yrD&GSBUX7>KSwEpw{@V@Xq@&2IB*w+8TBZFGm`se3) zzE4O0*zTWr)D~?~Ppdr|U)!^`_@0rk^9Kx_r}P}ot}hL%t6P_?H`+CgA-23=x@?F~ zKI=4FahYw+V?FxR_7Oam`m^UZ3YAeORA-Nr934Syc`e=;Gu&~wrvG_^!F<%MfNAo^ zKsBvsw6@CkmwwQ6jX6^{(YgDuZB;W3H+F_!+sqgH6^?=o90{e6?L#tUZ2x<^UD*%m6NnEuFfKbaP- z(9V0aj-5?fYFeh1kw5x1OifxmggEEztUdoAcx13Y$fHm1{%2VKE$7%J#~x_qLhRcG zJ~P8fF2&6>^7C{Vd1SCHAa@`8K=ZHKnCX&`9fD} zkVfU}kttm(%UF**FN;`xw!boI@cy>6BT^=|ykKx|+t`#zihJTthQ6xH?%!3>pUpf$ zdHR&aJnT(yAJJ<~Jl)%6zHxfyCffQ|@W?28E9*yhSglmgVK5_q!LPD@ef%m-L+-!N z@bSOO!q1l#ag@3rH+@<0Lubni2K^(yr54}USYjS+k*^pO&wkHktm#U(k2>U$*|)~x zr*2Mz8F{QnzR_~gZkTym>v%e-;Z)PQ%SVjJtXfxD?<=il;|((-Kc+`Kb=;lVboWM- z33=2L_g}`?c>3)80;6ePgcXkrwuL&WghH9GS#j?^EAAtv*iVYYy1D={f*qG#lL84$i+Ok+#A;wFQ+P{~kI;)5Nn^k@XT zzm~xx(`&M@4KtHboygn1-_%26%9xNxhS!V!+w!8`mKR!0SsF;r+|5Zp?l$Qn7M)L? z+@4xA*>Ezsj(PvDvYmgb;%zjTM>WV!TQt6?Chd@j`?dS*{GX~Zwzh)r>DE=<^SU~1 zRk;qqeFv_wdHL#s?TW&lcMbK+OuG)uq|W~uOs*VPlPgu&t@*dL{r`CMX=y7}89CM3 zza5Mb+d_W9nDT1()DLQzksaB36*b}am@Gbvc08n&yRvV~{E0_~`w{veZ@mZM`!CCW zhp%s!Ox&v^Mi|WNcQsVM+?#IFO^qhDykJ(XTbbM`V5hQ|U0adIdh}^oZ?oTC8e}lv z-4mcz-Py*paaA<2<$0euQ_63d*8hX-enIxFr%jvVi>VjRTlQaKUeFf#&{eNZ1Dh3A zUkp$_R722XcR(lX_|Hay3`yIZ%?UAxqc`?jjepb=ZRPFOD zsZGszV#^EW=-{a2lJ)i~eo@vu)}v3$dYi@45O#m+VRqBnJ1dM~XX1%1uf-c&);ndz7rBS^nxkA^GgCe)7Ap zh~Id@OnF`}IpOnO#cilHkM-!&vW`tvPO*3%Jn^OUeCuap%W`qVmgkytW?ZX!n*N8` zv5@8Cb?LzLUB<(M`Fc1bPS6(l8LwLy@4s7NZ19q=&og*rFdl4qE&f?dqJQ+$bYC}P zzI?N#zgt`U3m&ya+xDwJnxez&%2jej6Wp_y=h`JNU%OMe!0svF-l6xl#w78A1KFEp zfQ&p}1HUKRE!PWeJ)Ei(+0NcguJKxaUU{23xoBTmp3`5c*jT!;s3F>x$XCjAr)!$ru5dRps^T@eP%>LIWcO|gmbYA6`TZ9@UX`s6ZTeU$vcNDW|gjUw`FB4m__zBM;xw?pF#P8SLA;{2O$VLp55k zn@n)OfO`SHp7eXRkLkwVFZPL}BXd5K4!8ecwZA}ymlNI|RJye>Sn<4mNDrf?KemPZ z;QO(3h-YRw@k_W4`+$22Y%5pkIJ)o78>!}l!^Ry=sr&kkDZ?>u71i+z9E z<#iUh`+F*5J@yUzQ!gZno~_JbmXQx;nQ27c<;^zzgacbOZP9ji?^t5&Q$YT7 zv`Hc|l~-;1rB&Q&OWA?lm#3@a$=0+WX=EG8ibn?hBaijSA3iPG3NzQ38Bfa2Y9n=W zx@ANjnKCuE>ql(Zrp4Qa2JxhH_;|@DM->z5fVRl{9El;hqMhWU_3B#j$lzKXd0p|e zWb@^_nuc~8o+m4F6X%6baetS(Hdb4~l%p=Ln#9(qP^=@vKSSGD!+45=VaLEll^2<;lzD zUQj|sq&yW@;h%~#*X9rqX){Cc=rA#y_NXpC^0SE z$JfIdae}u03y%!OgROrNljtAY{S%K`p>5&)Z%wO=+Vu{rrfvsJ&w%8touRkB3 zx}?lv`=d`E;}h7Qj{W_{3+8N-$mC+jFDct?c&taCmh~`;ZMOeK|F*mq|BU&0B1+SL z2fKF`aV(2z^9~|4m@oDtmKZ?W|Aj{eJw%<81 z)mt9EPSG{*H{v&5FkLtNOnPj8UO6}0n#X$dX<2VGZI`omEe}+a{Trv43fCDyY_?dX>^pCThepWLvihn`7Y-%1yrw^6ygjFA`oCq@_lV7f z<(D5)Ow9|i>o3F!+Ws#*G8hlG{<;2q-;MsU-F}}d$))1;x;bMk{SiEBi?+Q#?U#E6 z1*i=t_a(M_y8gXW6~3p#z1x--%rE;FSFyB=e5Hutv_+lc+FFtG!glbneB|WjT=ew! zvIOgq?;4fan`_JWk}bnJ%awaHQeRvfX2l~j^LOy&|p!{q= zL)9gSttTO_kimGc<++}GpN{^~&vH|+e0PnkR%Z8sEq*e1ZY%T@`b0jwqvLuyK8h!} zf5g4sr>QmcuX3JJcCdIZTCO7v-)xf4o!l+|)wiZzf9SNP8`>g&Qc~!$vz5q%Gkc8r zAJ=1hE{o1+i@g6D9~%6zJSkD`suhn+=s=5~O(hLxjK(rNRM!u|nBUkZ}?*Ej0- zbibmN(ROfXeX@E&ZDMEG%${ds_qoz}WUyW2(dR?|b-(7WrerB!J;8oEV@5gh^13fE z88_*WM+VzM9+{%|*QWaqvl{!HRnDYZ`$i<^z#J0#K|W8n4fYy9k>TSNdM@{yDxX@|iqxo{iC|8kBD|tLtTHIm#&DCXSo5%G{O;7ld+m+uWmp$@R)7;ip@Pl<_ z==ImWrV0i9t$6gQwY4U*-tGd+&jbI(_kFS*tLMiTwuQV;pBHM^isRMun}dk;9{;4) zf1Y#T`_qu2X-d!a?0L&l26f51bGp2jBY)!s6J7a9^7tc<74vm#9_!JkwqNG`-}2u) z9}8z56nUhLtKLbrKTRvHPTUk}`nHts-!pW^w*D6$8PvztznD|>kL^~PQ9}KBuCJ-k zT1$TfkJ_SbmKFolsn5>qRJ$l*okQUH6HC5=?@xz3eytei7|gNX^Qq0ZNpkzFzw?4w zvpprbqj#F}eS)gi&MDgdFFZ0B54QeAOrn2m_fI@(g|;|es~m!sKe6OA`2KW%@LR==J)fVYU1n3A zkEP{DhuH6&LmmT}>F#mKo|oS!&Drw|$YVY7yv+4XVtd2?;sq0tX{^RiW%{34c-=Ip zd_TFsj^RxIj5xuz{udq@j0ao)A|}y4w)-a@wL)7QuXPTA?>#N~3ce5h9Qa1@X8Yw4 z-J+!~YKrtMB#zkff|*@i`ZZt3V?FxR_POc${}(Uxw>zuO8A zW#wt65yX}kOpD=}lY{rXQbLzm^H`5Qwf!>F-|onN^IU(<%)4o?>HmfGr(j@dIrpI? z$uHG%zgWZow)Ma8$Y4C!`WG>Y{xO#R#G_Vdi+Wn+5VZV>C8xpnp{vxVN^Z7aE*()w z4!YteR|ttDw!C1D6q}WFdgBXa7rXa|Jl3O6ZJ*1u9rT+09`tGlIn}?KT;_NbvE{k` zoY|7FEQy!jpJw^z1&O7l_S{u+Q3^eJoeJ(+LqV! zXXi=ukAD8dqgH5(`d|*hHebCbX#=pX$I{61H=`B{Km>m_^N1Y(%;+?MBj(DrR|h^A-m zoQ!AR$F}o+tk|)A3g$X6{}BGvnLe)Dh)kNeNBf?(;E~~eCKY<3?Z0gKq`Hr_IYR%~ zZl17m^kKG!{bwTX?>I4BX*PFSYg{Yr2-w#w&axgZ^!Kp%3;MZFlP3=**4v zNRU5!XNi4BWpV!>%4%1GdBglA`W6-J^qb4_{K-;%rz&4HJy%@1FYB&1C$&bIWnSO< zuOFJ8W&c{D_ikXP#WUKrD!f-NGQ>cRUi#^UJTllW^62xL>ylsEj$+@p;X2o1{geX- zk<>;z}ek>Ay8ae73mNV%Rxl$j0?yWLxEZ2XHek0qz z^LQBSkb{ih9Ypq4`@!-X89XnK?Z;!D{YKlYm3n87cUt+HF$Zbw5kwB`E~dR-Df}aY zZ6S{g&K>g8dln?OkF_HCOO#;#GvWc~6#4EOi;`%s=A?G;buX+(o|i?ub?n7{pW>ei zP_y?o*`q7E@;SFeV2oel)4WLX3Vn{ zD^Z-REZK~VJGVlIeA9@vde>u*G|kc0{cQ(S@)e>P)P2I4pm~*Dx$!#Pb7QjkD=Hss{4~-$JVE_XV>3mchUAf*G^$aWdVURqy+c zHIMb^la~k8%&YZ3Ft)V%eE)O#?C8$KmKV&P0ymN?8gl(7k4(Z$_IytIct0<1B-b&qwk6L+N7K^l`}sbGwRv=`w}Rl+_vG#FiJ# zl#tY4@qj${(=augHZT3&9ZEj&-BLz=d*DJ{9@i0M!C_w+d1SCZ$fHk;8MLk6vN8GM zmXFjijAi~a;uaaS<@?P-OVZ?nx^7zjO~kw{FJhbX&*v?YU)3FE#iLeei~3mSh^AWf zXZa|ef2f*luYYmaU>>{4NlK0HD_?MkBDTC>8n0fP98xixesPjDkM-!&k`F1U&+@@w z?oi4}Ds`c|T)U^`{b+t%@cJ5#(|#QzI4|dOe^gsFD^EJkFQ(;Z1dj~1Yt3iG1I{V( zY<`Ux4_tp9lgOYg)6*#8lh+F#wL)9e(<(=VISN*OR6e_Y*AA8!{cz2cIZK56?Q;aN z&vPk)x8%nP>iurA_b<*~Gr8XxCXdZCoY?YQTh2K7@z^M+ zKlq;I3VaTjPCn``&l_+}PQZk8^7~ib zsvdYtKBS<&*)5CztOujy_6;M6EzdRQ%$gj_P7^#|q@ZIM?h zF7Zle8X@~~{eedY%gGlvU6XHf5D?xR<@w0RgMUA6s%l2*j^vT z_O@9=OUe0XIm+AWMH5?IFvA>kB;R|JO@E%{Z;{7(p3@LKFLQ03p0Vc#LQBg1uI841 z%!($qykKhi6w>sccALH5bfS*bq*SEL{{@<9 z_(TT%Bacj0w+-5y^8MPfT3fX89X7xDvbHBtD?Q|zSF#f1kwO2+W6U6fwsOEwshLk+ zd0sKL{(%@n2II|^=bG~zEc!=3^KT841{N+Nn^ReSNsC(xk8^>x%f}Ph)Oen**Psyu zb7KAPQ+nf5X8n-2*7-4g7eDf&!7aJwy@xXLC;XCV%6m&b4Q*RFxR8PDw{*5|Xl+6U z=NI|f9hwlg_a(^pW35ccU~C{?uhkv-n1@2%6#Fc5M#LmCXj|s=R=IxPDZ0QE_WeWP zG5?0PoaHv0$NUoJeBA7P^={wu=xelL?_2#0qlH@UQ9lJukS;~*^_Pa^)?yfKkw4)d zN=qj_SC5d!a&V}g8ni|Jd68H;eAg&rNU7phJTecT_-KCawl$cM$9m*5zqIgt zzgh8JJdJW%Y;3mH!wZ>eAAR)I((-8SnPG)1`ouH&^;s*jcdj8Hbwp*)RZnm?jf%^zL%z?ECHgbt9kjVX zTf&~xZFXd<=|*^C37Hc2c#g|57jTk34-u!lV)$UnL@&Lb9Y`yn9Ih57&bF8hc;4jbI zq1rVX^nZ+<2UHYE_x3?iF=xdrxaNdlgy}A3z$^w-%!*mT89>EAG+@S@#hkOQS(xc! z#&*pS*POGfYtHej>Y?T7aeco(=Xk7B=XY;aJ$1Y4c25V=HYCW5=dj&+KC`ADEo2zR za(g`Y?3ul==+>ted3U4%LH=p4XV%<|=WU^F70;8xt_|^|Vt`~u2K$D5Qk5}c$wMQ_ zQaRm>42}``*$sw^Zx*mzY$N;LE*meOM}FM{8MICCS}Fcp;iwq0xChJMGRKIvINn=> z%IUIwEk}flO^Nm#$DU*Jb041HJ~>^;P>_}1 z=*>M|Nz77|@^dr7LaFb$gxh{6YqgdZO){^EOLtrDwwW za&bhPWApQijGUk4fz=8XG2GyKK92J(R_?yAePH}Ayvq3WZJ((>@H`JZG2O2Jxc=>| zE0^2L$S<2e+t)U2C~0?ejq-gll}CpAQQJZued63{Y%f(4Ps|G?k9($Q<`?Hw!!teC zkMBV`w0Ba@N7OjfFc5EC|351{7b5-b&zq|}YKyi*E-&{j)#<*lY(PBG_=Q)QE(;6))CYO)XU@^WO8k!tDrgN^W7i+~_eBN>=?lV0 zQUAY`_iL#De_#;UP(hqYDPS$F{xo79ymXV z#b@RrK((d#qamt4* z8eYi0Ev;cEyS8W>c2G}}Tq~3PZ7K@L;9MZTGS!t#_3TU*9&i_sLCuk`)WRr!nbM!E zt!`E3i|fPB6OlpN`AK^5Yu!lU2LF8)VhrrnDhjF#G;j znK)XtT3YHN_Yz`yf4w2SM@c2#&=&dN;3#@&z=lM^ygF|Tc?KbH~(qbJle_!)A{GDE!_01$B zU$=~j24*o!9^Jxxkw<+nU#Va$r@2M9DUAi>{huu{Ogvjw(H3n7(pchFsl1r~-2)vmeZDXHITyW8+RJa*`%;co ztV_mksYezT%O@a@4EjeN>yiIj?Vsuj-RRd%hm-+hH(|W3>%$T{>kdQ zjjyBht-^WsefGwlWajjS?EZu#L)e4bik@R!lMK!|Iis~b*RL?SZ*4L zpluntR?MDfC|P>B71KYHM+VzP9)056q3u3z_8qkzJ&9+I?wa}KygH}INA<};%o{tA zdA-vuSdTpFpOeSXIygL+18Y$hJqGLrPZS3$%z zx&EUCh9Q4dGA!N~F5_A{KBOU;)uRrXJEWk1{H2Er4BHP^Qsx3}E8q4eH!9aBGxm*5 zK?dgndE0@b;^nbnWbU?z6l8FYkY6CkA7BmtV5S{YDlUUswkjO zT$9niwP9`geu@wAon_VW@A_@6sx$Ow`@&SGc7~}R8yQB9XU8wApWV+#>Cg7R7fKH= zhLPyoW0da+c08$5`s1{<9b3~lqqS|FdxF$<;|Nk~>v%TaE(Vo%^slz7p2`p_86H=W?>2Ax;(y2bysG2OH9R zah*-_q78d3l>9A&5%t2YR_x&EUK zzJ>LQ{u>@8N`oR>kq^$f+5M=aSYihbcTiMsV)1 zt-$Atq!Cjhh)>n(8Xg&J7kTuFbBea*nng>?){P)*+TGT~8)~xi)=0z7OMc3D&kmX; z1tjz*#XfFV;!TZDWY9nISdTpFdG*3GOVss#r0@D0EFViWBs~-i3j^3UBdUxygf}OK z!L^uHtbSx$LFvyQ!576WsRM{#;C*)gTcY9OH~adN?f5uDt|U=87SQ%+=e^>dl_nBb zb_v_xGkIjNUF6Z{ww-Z5=dS*Qc%@u(3wu{dsi$I>34O>0*Hsqek-@f*M+WDVm(}>u zRqQQ3yEUBH+yg{MUS-ff@>q{PQU57x#*1WrE7GxKZsN$RF@Lw^IDQ42CS*T^5}QjFBu8%Smj_)8NH7z4=9YFLnbs}Mwn9hhXndgO7u zi$?xI{C62h^13v^kym4QY04x+BcpwP{~eDE=IYhnm(f=T6%W{rPjP*3Ffyyq$t zV5rTm(`whE%yq2LsTtDZIYY_K^W~KFaB|52MRP}9^^+7dTI$(i6j|9hJr$3UxUbQM zxVQd>1NYcF{NZ?6QRbW|e;q___{_8*zxJPK!`i$4N?T})JTiPNYTu9-=Xi<%+hWL~ zJTVqzaO}uO4}2r!uN6{2d(Yn1T$}gX^lt1M>+G6vYtsSSaZh{s;_w5uw2wx4*3PoD)AeT5TF=*9?shM$ z%b5MF-p<5TTNL_~J zupp0&N7liLpXm)uGV)lDyxYM+8SNV7Jxv?XeY?Eqjl!LE$oSXjZJoS{kKHIE-*9C^ zIw`mgwaoVMMV{-aYKXRHpO&ZJ-I~%Ovm5z#+UjGSb|uADC!T9q!g_kB+1B+>d--g* zS!t{A+kH}=65%xX%m*Li10U=5+bJ2Em#|J9#Tl*b&`o=#A|1o&&SNEXj=bt0+eM!D zS)Eg~MZVSAA~et7w)97vN;>3`!B|?iJr6Cgvm^cSs(=OSk^kePk2TvpJ}#qNtyC@= zJE;@hb*Gsbd1QFKsx9*9lk2H!h_+q7?UekzBk1jYKIS{~vRRkbH`^|3Vj8k*%iXi3 z+P03jmuG&r_orTXu$a~^nm)=a`_@{S&6>SohUScS&XH=@A8ez7JBdS^MAM1RcYGXq z)jzh2JnyqQr)Z1(_O)k)dz<6w#V1*Okw*q&X;oO7aOP?}EqJ@UvI_bu@zl4Vi{f968DzL0Ra@lIC)ZQe5N&U;`;lI|Mbq3jZrQ(=k)dH{Z|^kq z*w4N~RLbRo*t=X}%8=x#&1sh1HI&~MR1LX*Re$6yH!F~oZ2{E%{7%Kc$|ED5vHR!o z_B$RK9Lveb3dEG7G0oC$i7)>Rbj^(&wmoH8%&>B&OFNVp{*XSy`n}-}Tlrijx!@f= zb+1sFzPZ*zH#mNVbx8%z*!iBjGRvx;;Mt975cQzVJja?Hd6hx`$nQEbldWUh75`|9 z{Q6z(=+$F|=$=&xX5^8%)ozyJCx0=Mj6BvOe?V{Nxt=MNJJ8~d^3#yN2kVeod18k3 zaecc!$bSoNPrvpoKv$mItl?2lv^}xYK-X8OL|-)7ro;6g*Y;kY;;c3NciZ|;Gs#oJ zo6<=Q%hQ7)ZkB#i$5v9_w#a{Xs!kI|(La%JnMlQN|LLRFTwtX`t(-)e{_f zmBC~4fAOPca-VkpYFmGNtW2B>>FLtYD?0RpeZXUR*5B31Y@0xfh930cjOx>+)q0{H zJ01U?s+5biHp#lA`lR7)FPh6aOmG~dYK#1s!#tP-8$b6|gA)_s${5u{Q z9Lu2T4GAq%hi-oThk(Z~9-B{-lC8c2H`^YCo8)+@19b|{M?JTWHK*=Rw!VnmtZ0a~ z$d}Nyqc5Wh(_FQC>6Z3g$<~4O3XitPTjPe)vYQr4dxtdB@W|ZovHR&XpZyj9Jk}#` zIIOm7l#?e9qo@3qNjBXjGcsBFCtLk`@Ua+W5xZ#aQ(?&tP}lq zBo_@SVASx)U|Yyz%s8c$^qY}ot1V~^i%(W|owh~k+ca+-xpTV)6`Kte9C?+&*!W+3 zu9{nwxxlvG?-$9Fh-$RRq^bh?!9HLtjcVyf&fTg)n_NGx3vlV>cXQfSTkIaz=a5r= z{i|)Y1#YyL+vebH8D-jPtZ;o0`wg$kN!{Hco%|Lb&FBN;Pa8AKs%@^;LxlUa;;HWI z1;LS58EhAM-e+};Xp8(rxQ=eyBwDjiNbwj})*T`Ck2o_}wUP zA8%8Sep3BqqiD(c+ci8g+>bhU$fHlLr>Y^^+P2Ks_3oHJJ#NkrLhHQud&1f+vw>;8 zvy#4b>Q-B5ioHC~ZJVNhi2rj-@ToXDGkUmXT=;80*B%*~GycfGnPt`1u>Y9lYE&HU z*yxnt$g2#ti#+eMI;UuhymkLWUF@BB+Opq10eNIFmR#iaI_CxPbTxZVC)OkXbihZy z+28EPOYd_7bs4)$N1t3zRYSC$yRfZvd3-c=9r#X{`$tQCIhW10 z#J*hf0s1`BMw`{gUOt(+QPKbDzk9{x7U8sC@HpT4#k=ZD=y`nxGik%mvT7Uee_o8- z-H+x-@sS*PmBDtA=Y3Y^6m5~;TeKM2->NlDzrV@i7&EFZ@*X3eiAx{%ri1=r^93=6 z%(oLw^<$>m*U~Y8*-4kAE_B=sc0W1r$nbhqTjbFv*HhIHZPUUpi__~2q%V%L>z|y- z&~TM8Ot0=W*KXO%&i74n$!YCK+qVVj4)0kS9+|brhh^9r<$zutNXPtnXpg=3H9Rsn z*N(h8M~=KYmM?!aBZZciqjT@n^u_%V_p+t)S6K%>S!1iY(j&d>Wp@c^65DVbnOhAuHe8<7G(03SZxi+#m8clk)QN5freI@mOAjr zF*EY05AN5;AH~rI-F{fY2j153$Y5K@V+>&YTriB&w|ukOHh3)i-r4zqN;!&C;mURkGI{SLu^6+@#k$h7lyY(*lN|l5HF1AdgdWJ2 zqT!K2|HxxK@^6OQ{c~-v%xq2c$wleukewFfk$KsEs@~~G(4J)`72Po-L|EM zM}6>k`H>z&3kQ0NAH)tC9vN&4d5lS?&U5vn$THiD<7{tY<({9GDSa#V)r&NIR*znI zw9?|ps|?28|Kjfz=05HI)wX`j^Cs=9*P~;uMX!I56XIjKG^*mseIGpf($ zrmgIlvd{Ic^zBOdPHB^zHmp85e$$HvwvAVKwOzDDe(#}%WaHb~^h=Ko8XlRW!8k-@P9)^1299Pp%{1D9&z4Pz<)*u~a>`?GD6d$IGKHSsjtu+2h6pHY?qzKg8# zoY{(o7~8+&C#+t=;&6t-qb>4z?u@3X$!(`wwG-;$a>USVkoI<4Zbm=Y2aKg3UIR#jt5>8#6VI~v+^tuAmU1_aZ6+*e=>4?@}g|eE4))$~H35j65=jC#Y>1<=^qha6hV67o1GQ zZS_HE!-+%-e;$8*$`o72u1s@Q{^QdWMe{ADUDhq-CfnXsGRc8a0W^AP1?tK2$w5PR zS(lWbY}b(S70jHs+p2zc`HD2YO?7(DqqUDCuQKQ#`HoThSlmuje4;J#bt8i4+#?0) zq!KNCkVocYxZRIaQBGY{NF6*4?eC$RUd82zU zEqpOIO%ADVK_2x)ThCIB>6%v_)M&U3xUy2kVh{&#~HiG#l@yQ9kHen!XNfL08TgtBE&cP%GroC+dUi)zjAlsH=2U zI#zUq1$kt!E#&c-ov|WSUuJ2NEpeYo#$#>W^aOJ9V5E?xR90W)9~3p~C&k<60&V>k zC6HN<*Z3YA)n7nnxu=D#5BAs&{*xcS6K(IdndHJ<6Ugl!ddt+NT{Jv0=pT8kN50qo zl#I5FvTq8z7wlM5ORF<~3dkdqJDXW=8E2m_>&yf)WlTSzR=Zhd)B$ag&o()MTzES~ z=sRD_BZF%Z@_78>v3a>(s&z!WakknkSSL5lcLS;HeUJBEEfi}~rXkgeyyV?FXS zvf6nb|CgIb(x4rirRsC`>5$3SD%F~`6CaCFM*j82VRZeErBd$m?^2OReQ^ERdu#+f zmw&QUqv1;pj|{ejJjUdM!>Rg7a}sUs_L^jjr8^(vNb;yBf^(_P0`j?AoAq%KiHf#p zo4rarS$6iQaQ|(RfXtB6sd{xTwyk9G$@GkoO!B{O3FKfxd*O>|l7>eH{UeX{$b0(j z&uGgioBiX+uCu*_*ul9(WqxF$Z4;pGjkCfn4kCK-8N|NN;@ znImjV!>4qlmPdI=nrosj_5ouO+xn+|XS(I1D`~cPjjr^;E$q0k`^UD9B-`tIzGTnW z1P0J*Pdvyl^A-W?k;ndgy5mbD?$jh-p0DXt#Yrkmph*}$@9L(lTjb13lR_dYItPOKk`_QeAg!XGTJiAo?YTe zy&Q9d^2_!J$Ro2i&wl;-u`x=#o!lHp-uZnS1Kh1qUjVQbN~j&zPK7gp69+4OTQ|^1#@sn5Htl;*;PtsI{S`eA zhi=y|Ki^9!qwRu|VI(F*7Qd98qT!Ljc9BP)Vc9mZ7`D&d+JDw7m$pC*&bam$#^UqK1GwOpY$SoVT6GEh>!dA zhja7zG0AAF>k&;nvj&O9EM){_aPE-z7!gX=_B|<<4X!O^%S)mN#&k87ihJnDdbLw-!zX!10;sn~kyp91p8 z;97?~9`AU}^7}D*u4t|F$J=)_y*SDs>b^N^))QoS`COUSwi_-c8TkPAjy{h$fyx|V zTgZnOiK6X?%@rStRvq%l@Ul~P=7(JyLB7Y6jCvLWjsqGqN+vP|)J7|OG(c+p88T5&~Sal>V`Bx9oStug% z-=XrfY;XIslS#fmJ+FS!+V-|)J=prg>T7gtujpSgYk!L?JE!Vc>Z&iVzt)b|o8 zPM>z2kKHK$jzICsd$R_QLT{y3U!JUmA;UpPm| zzxdHxtg&S@nH}Y?!+PX#ydMwu6SoW;tlA&(5^PRR2;BKmVH+s4=IK4I9)c)hxRdDk6I?>AX2HVRm;>@NvlS}B@4 z@~WScqlVJ@K5NCl%5+byM&g+tLE*Vi)pp;q1f~ANY?JK1I+PX`Pl#9YG-KB%Ga2k# znWJ`|AMatyhR|N7Lt?#;<5H1F2K_toYCpNHI>wV{r&$NQJ#@|wB6cv7;QXfx%hSYb@ol-%zX{_JH8&)uBNxGsb`XDR8y`c^@96WOJ7?_syXyancU4lUv>%<>G}|x!RiC)`g{*2xmMvQ&jZe=? zdAq95q&qeA>RhYk&$mqS;`AZp`CyyG-_!G7JZHYYQf-ZL(;Gv`Y#*C+i%v{I9vNP* z_TQ0L>m7M@EN9;iAq9?DCI3^|HSvit!=I1%klkC+^IYBrH2*FyLJO6)XyO?d&P!dr zZCg8=WaN4MUZ1*(=8m>1Uvs@TP2N$DO!kVmU>`8Xus?}?eCg=0T4ZBHn^gWB!Q{|d zwv9PW^5>}X*7%CGZJmp<`DOJZlWHmb-#qJrG_L4Cvija5f!B|k&+AQc>B;Wa9HF(9 zGTP2QL!}X&jAU6tHTL{SCXWoZi#+-_vr|vsw69jB@95Q>1paM-Zz^Ck>Ab`bQq?kw-m|=g&2)EmzC- znVomgR|nD>R;p#|n~mwu>fZ`>{c}AlZaH>3mV|C8t-P;kb!)r+9=o^2lJj$fHl3JG3o+V1k*yE6!sce?BO4esNBbA5?gT*@f}9uQxDb zJ@UM)##`s8mF9Qv;z;b}?}8(*GPbmXX>NXYeSXIygLSliWHjcECokV_L_rIHK z+jf*O$!~2r(rPExw)vMbDfiE(JhaC{&UZ_N25;g>!opL^{pVv>+GBor#T;p!qU~k0 zHCSf~1$risp}h>g+`q~rgY6=ZK5_2QHnQ|q;a2eka$;A2FETi%$nTndTzGRZp7aV0 zFk?OPysXCClvPiJnH^$Cc55lokyjbR^gL-7&f4|)9ghqjud3&?;&}xti6c$N6jbgX zzBaspt@RR<+_`dV()WzF?LE6^gWuo#YI6hScx-j+hj?vg5Aq~(o{raZp07VDk7aKA z_4OAq|Mi~AH_QKvSN*H)B9A_C?$mm2+bZIe_&qk%?jPnC=M?#J0VhR2b`9mgRxe+y zM;`TYK5|VA$~Ayg*QE%KysF`dJ9S93AKw>@^6z+LP|uKocf~oO{YcTOsmlGp?p5mA z#`QPJ&JULRg;e*p?d!<&XZQDhePZ9gcEwf{gV_5S+Bas;53>5zZub3%bY0eo4;nN9W`^f7zvsQ}`uvVZ2K8)yW4CbrbUevs_7Fy1 zd(N&=)KoM?tV*&o&;&&#TwyLWY=Z~x3rZeH!<>&UCjd*MY! zyG9v#^ux<)3?P5hxfAVmBNw^0d%0Q7(|8P=eo{xDG~LH`<%CIA>v?Wgf5~8SB>bF` zzp3?{Zz_1{w~z8s#*Vfr^#+mkVV9(C;RAJ8k9?iIEm^K;*KLdc08(hxEvcPncMXrs zwyJji$^eu6J02Oe%#W}9&j*l>pROzY$NnJm&BaS^oyf;xlpAFqND9xpF6Fn4N>Rtl zbwFF>Tdf;R+{JTJxu=O59vRF#3G`%-lHt-EVEp%C@WXP4etz!)T)*_AV3l zccRf3zauLvE1Ii3w?)4Cr4dx9F+nVOrJYdFnxE-hM&Z#G`O8^D>7sq7#S*36G(0jS zzM$e~QlLpj9_#;$=X%CYW#0iTeNpK@G80<<@S9ndkHsjfet6lIK8RMkc0sIC$>58; zI$o|1#xuliK$x&PKh!${}d$CY^IepH`J zQbK>uwOU^A*d!ktGmu=FdG)tEXNuYeWY`+z=8gN2=0_h$fwvr zJgqyJyegP3eONU>hw-V#0FN<#em5{AzoKWyun3y#^mb8hTv`*K$nbJPjr_KwMNKmD zy#Cg}yo%=77VuE+r;f-Y6#c|wahigwwCk_r{#?7T}|w-_=QSLH@kmqt9nL# zZFX!9NpDFH-787P-+17I^~hs?+OBFxcb+Lo;``1P9C>w&VLkZyGH=%?BaeP~S=A8v z>Mz>T@>vU$D#r1G8Yg@W8G6yE?>ncItE z=6t}(aX)p-S$7B-I^?k8UuC!-WYlumIFtPU<2fT8QT-d`LDhzk4oeP8A9IiOLI23? zJ2yZ-r@j67UDtd7nX==CL|=ye)Q9VUw#c8oIFN{ME=o-|Mrn9t@K`_|;|J$D=29iS zdr)4R2h%FLR01t~ezVZyN`Bv`7c1!-vwE%}+9H1^FoBMUnkQ_1*-3Y#Rtvq;fzMXX zqb>4tKlY-@?>>mt2krAk9+?k=?0&8fHp$5U7sF!``G7UOXpWlfTN&&R`79S}=o8N8 zR$^G?x$Ua7zO?JL$Kpnx$^!DJ55_YMjHiWeBn$O>?bPtdU|YzmamDp1;WSYm(hR*Ry&|0(sVGjBs+Cj}Ccc8h%UC_nX4U zVw5L$WcORno+})h^3g{fFV_KWk-vG_NUHR(NS+_YYItPuSVJD;O^pE_W7k~z>*q|r zW;Om`&o8t0Kkt5iMC|v1D!*qL(yl4-jJC)>899iieEwTJdgr?G`=zyxwaoQI9%GXKX7MflmG$Fxw*RuSIOR3d z*(f)TYDOyLFGrh&J~lh@Duc22zxd=z+^5~Y+Sbzp?AD6lYIIVpUf5E2uzg-Q!{$hx zyEQ@f`g+gVbFLgTawU4Sfc41Z{9bNUl+w9v$n(a*7VIaE5s!t(`vb_f(-r9Y zrTKMr8?Diwy!cN>pLgp6&fWT1=5ext-K*R~aw49AI+|thW0Ct*$LMIQ@-gxf(WyWc z>hiBAL7v~Up)x)fRx9P3u_oD(S9L>Ms?3G;U@^cK=W2oFY@o#qOWa@9%hI zxF2<{OF!&FHv49$w1RBDv+l6IT^f4cK@y zHFUI9`LX_UBxz46+GByB;hj3CE1GbhURBxstIU6Wn@Rp1j|^&Cbmm=QOJZl*ba^)B zKeNwSzduua^7uTG^R80%8qcohJ7*^`kM#7~@gr=0GkIjNZ%Gj;!id{7X;Op_!8pXV zg4a*2dxdGm?ho{iq|Huk76@}1G{m?ek?d0NU?5cQ4k)@QUuetqP3Xxe9gliqTm82VrL)Q`6Wx8bTkx3080O_kRSsDLbSC*r z`<>$VyIH7pPIKbOtIWa$JM@D`OV$(YeMHEkAG`k)>niqJ67mNwjTB>Di_*_~n-Hu= z{zllJivI4d?D^2p9m2GGFQt$RAsQZ;_4~K|oUaGj4vPg-^U$uR1r3kP3f&HU?{ta9 z6fGawYC<0MS9lyX``0Mdh}^uPuOv7_}{#8>@#NSnq!Kd{hFBM zJx!`wChvSHE!o|hpnqg=?oO|mD1NC^gnnAsSi>X3%W5nkZ)fcLAhv~kw~>-~agZ|& zY1LF&&(%E+wL;r1$D4@H&hD13#e@=Ela~hF*Y~p=vp$W`uFto3Hz&quLGtQeOv5{M zexv_q*#-Oh$;ygW?0J?~$*)Ae_%Bi!lkYFQ%3xc_V?Fn;^5N$nD&>E>o8-w0D~WX_ zKdJv4_PtAp6SV!m@W^01IQm!jP4tiL{*K4}3vK7u{UTg+bCc%RjbZ)I)No6%i$NJL zTicg6a8}CM$FO_ze0Ah{-cr;nHJR;?nLIM6)rYVjLhkW->FIxiH2W8>$-G>9`F86o z_Po!qb^~elChp?-FDKajiac*$Vy$`8Bq!GCs~1NuRpuA>!P(yi(iw+pi5Cj6?->D) z4EjetyjVZQKi|L5Kl)kma3BrsZxlO>Vb_4bKl%(gz|ZxTDCAuvqDM`#9R!-TE z)N$Eu?R!v;EtB-0`mI;^e=7OVvh~M`^-UEtJTmCtk>_*7^90<3(DrK0igc~_TA{%h z1N+`z=DO{8yq8Ycs`RJsCRsQzr>OKMUo62j+0j1U*^w7OK)@>q{P?Z?X!YtQoR`MzDE zrC!nOQlZ2+;>hzk;!K}*rbaeN%NnJ+a+?2G17z6)7OOo*Js*kwO2CJlBx#(Woujb{V@`Y;v`(lsnNxv};J_ zdc}{&*>~4jiw2qG%Ka;g*N0Y=A}Wslg;$yNdH&IN&AQfF%3sT4J^HjC?@O$H{~w-f z$eDKTPZd3**t>&#*JT%TYH?abppGp>-qcyQzuJ=wmD{?X6>;<>G=r>akJeF^1S$el8A1lM!N zwYuhmh1RNf+4+e4*ELMMFnhl^-xGoCfL-2p=YF7rU1krVkoB z&zk#){hCJ3QZtk_lb`Ob?TxqV2iv!Nt$sdsF;RFhWB697J0tLJ}NaW zL-XBw*Bhg)!`VAy$K?D||07SdwQg>ceC3>AF`&NS(NN z?kIwLBCfH#>{>I%x+lL$&QUPJ+&$MEOX;A5UwD<-W<0B39}r_LTtLfXJ^EDIVsmkh z>0hs?(VXqY21{7!1mei^`Ql8VbXJ+K8La%_bt_%Sj+>UIBiQ#MAqLPE`Iis2>(0!- zZAtB~<&nYoapcwbJTX5_UoV=kEk+sJinw=27k{IS7FXr0Z@e{bf^A+C6SL8#p$mN@b%Q>4@r z{j;};)(tJRJl3O6Wxrr^*Pi9E-;+v+71}HmZIdI3BhTlTGfU|cWq!vuX77u>{Z(w8 zw%u}NLJtj(493spkqgDIrj?dW`-f?GWH9!SR~V)V&mpya%Z&fnx{F2c9@8vY*AHX! z%X45mk6NK^*{-=nx2V5`b7CxU+|vySQ>=VX$G!FNRJM+=zkESKBJ!(JvKpi%6Is03 zdDV7z-dIv&TLEECSZxuRn19$g9n+KZ*~6Wb@~kA2ymwtVInZd1xYj*L!z07{qxwf4 z=M)*V&0i;63_LwgJU+$9^vR4XWH25ac{L`{Kl-U&t-YAH&UxX_GJJi`jA7IeZLi&B z*XP+^7w6$5G{8;2;F`ap3I9Dkphe)%vQtDo>$wD$hu?c5{c+5T2Ib95&YsK7;;^2= zINGZGsN?0S^+Yb}dp{pBw{F6IQ|OrCbAW!9KKy5y^G+-uuq8Z@V)GZGr>e2v3!o2< zwkn^iN1)^xB2sVm@hIe#{W`*St=CHuU)jvX5055}{7)v=E`_g=mECVPWW0qAY#_Z0;^#Y=^N6-% z{|`JesI8-at_jb3(Lc63!ELJLRnNjw4))zzyB|A`+M;c)-J*2mifj%T8bh>uG+TRF zTRb1&>u|e5KGxYd!}a>(QsO&NKZbmWx)a z-a=P2&nxrln+e2`=lXM|ROxey{wrAd*r6-FXH0Cqp0V$_L!6*3^3yH3g~F?jm_z>3 z^2lI3IPz*tqJM1H|4we<^54{a;)vb9%A>Yuo8`?8U6wbs%_aX$Alf~bt-VZtzF+fo z_`)bZ>%BkN{Un~R#UaHPOXI6{_=Q)Q%f^@bwgJA@f-FBo9{nh5JJZw5801%5PK&NH zY*NGA9SPPW-)HA+Z=J>sOeJNn^1y#`tc?%hKnvOt%ciY_xEax z`jhFmj!OmGH5ZY0+M3fa;!RKce#FW=R@1ypvVQ(Y@o98*>V7uA#y{s(2HQd&>yht2 zG`nKkwFbMM{P}@UAo-kh_t-$De`cJZE%Fu8KMBPPr%N?Fv^+96*N(gzljtAYJwLFx zc;?C$>7Oblr9Uc<`3c&dJKs-yR_V0#KypgAfQr^X`@BNNP2IoS{ zXZE?~$Up4!%ksmgvF=Lw&lrOV1~0o_En*!s!X&#@Aaq&n085_hRmq?RIrNJj7g03CTnl;c8V%^U9%n48-*{?x zWR$jU|C7eGLVjMtCqE}v&vRgG3;DmVR-{EYbeD?f_9faJiTyUg=alVbJRf-V?~kDwAz=u>Q+>_AMo5i#*n&PbJ@A{hZ`(l0Pn7EA{F2&MdYV zN*sAU7S3!*?V{)9+3fgQa6d?zvZS<>JDmMK1v;ZG@^{WBO4g3~r7SClYj|W(A4i^R z!t-SGkL?zpJ4F+kmm{MDX-E- zWH-rS&c&qgY8@@U_t-Nqkk=t|tIcfvIHxyh&g{B6@>q|&l7}!oFEam=XLv|;hu+l1 zZj2?4JlC8v`aZK2{Y~uJ(VaV|Ej0q2EiY!W>j@AiXp8)~r57xpuR2+p#%XzEFdiIv zH73zNwp$>#Y+3v0oTdG!IHf--k6NMa_*zA!3IjS?{{APHXmh;GoRjAdOXht^t6I_| zue_LOsbBiC&^|}}FTBd^f3#iy$EvSshSFLd>(Qr@&oFJ%%CKv3ZxSv0nqCz)|A-@w zymBlvCinzy|V@~})Uf0Le_E3DHt>>qSQr=NzglTkyhDQeH?svT7 zSk(UK=(t=rb9Ib#y2L1re;gzB4S7ut2Kgb+H?F+`D$C62tx zd_0lEKyH6ZOJnhaJl3O6C7)rj*MlAJPr{0cR}*FlFWK+8jy#V~&IE4EVc_L2ZtPi@ zu{p(ue{L3nk7{{j0$sBzJfFLWm=j``4o8G53kEZNGUpxR0o%RMXsXz-K#Vk|r#+uk zbw&pLJMugp_&E-0g|_$Gxr&1yU$tBmVu?1#%gn)eK4vf#upVUjPm5uC@qL+Pz7_h$ z{KBh@YnCF0yT$WZL)vS3tVf?pzQ^<|HNYgFd}I)>9}CoNXca>od9FEUO7API=vlTi z%O``1h;Q!=71~~A=lc*RXp8)ym>uFE-4x-#op240490^a&-LWzHRvDPbsjoToYVQ7 z#eWIAehV>-+M+G$>6kMI)hK4=IWy+Q3w>C>*h@)qMTQ4AGmfU z1G3eYuC4keBJ-$x<&2nQzo!pi`8n4%jy;dFDv;##9jO}-;YN^02K^(CbBYYw9x(Wd zZ;Q6p&D+GT7eQPhgYn?VbNzW9j{ecl$!m>7uTIN+_epmD$n&zQr>c+3Qc<~nyL@5{ z!F(QbR9Cn-(#HOa42D$|KY+@+~i1k#6o_FF#2qG;}DtMc7*8R*-0n|0$KR?_h3 zQ)w%$W7#b6^vVWKAEXA+9Dq-<&z?0XW?;AEsqT9JJ$Z1>ZTzb!BGc92%Ouws=0z^S7M` zL()>%_0s$wPh0YTY;E@068{UYGULw9*1!4EJMF8BmRIsdrkhJalZ*`d|8}yFRJN-> zdD-5b?Jukk8T?<<*f|9&d*smC`d`gMLaz)JzrJs! zke|DMs`$5GGxJ{qd48A~!>BFVy45-rv+8jGw(O=2oSzg*ZadKKtc7F@s zyYiJRF3$Ig`-NAT$InmvC$FhTpFHnn+6J(D!?^#&N8`mT?0#BDUS+mgjw}3Jw%!_= zuNRhAt}RaL$$!7dj1#m)-u+=kOU3M^#l9!)zrU+7gAB%lBhTZR$0Yj4c7MmCwrHD+ zd@~OnR7lLl-m${-c2&cr`PpyWOp~AI3mN*19V|-&T7-#PKKE02-XA_kx#(T}RsU@Y zkG7jD9F%6?&Ld7J!0tQaI%n|6V7tHL@%#eYid-^7@~r72)Lj%sFlWXbjF4=j-3@r_FP>gcvM&?B99EVg*?_HUv_N1 zjJAw&yTrnzf_Z~*q%xRUyf(*_z@^|VR$iw-SNU}>73oN2)JrOdgM8_rtUJQDaiWKzuIk zctX4$SWx;=c94=kt32k)T?*Fou}o;l-bV`lkBCFr{kJPD zBlfRke5TIGpzWHvuPx)|b+@#>V9#$=osmI(9C@w@KaW8F*lt>`0@947ImNrBc>c!n z+YBDHMcd-D^Gb)^bBHgR^8InH{`}D&^!{pgp3-lezEMgF?ZNI(#@sL0#EoKHhqk1& z?>puBR+UFa$tzg9Jdgb^p2vggAIrS0l#Q|C(W30y693ESk0Ybj^L`?aK5?$qdhY+| zP(l{IscQGn^UsX=#TY=IzAQsduka&V>I@OF9(kp$j99JtXJJyV${k^iR~zEUtMQCl zt(`x_GU!xI5*y-6v^n8!W$t)B$@7OPucy+{gG_SIgk-5o|AFF_*F%2cRmL-9rT)j) zt2BO=mRIr?Hs0Q8CK(y@-~8O4QpKS~$jZ$+a_KUAE>G15<^pZ~Kj)`A!@NnSRkuat zk->J6SLcz>uUh7Find4J){*`y$#OCFhxN$wGS`;J+xpQFQu*P*BsAiyhJ7hYvrPLlPlrY)jP!nHil zqjH&Bh7QpK~|x+(D)M zPBzH_KNgCY9($7ed#e!Sk-@f*M+WB<<7fA+=|Z!oWyqyH&4?qf#wYqmUh&E1k;gnT z=zm?W;X;M*q2dNVe*HP~7{R$i+gnS^TE5KNAiC|cKaUV~q&_np4^nr*Ma^|^k175Rmx~v{ahByITBCG zetp26ug~O>;q_{}$fHk;4YaLRd8)YR$S~5^yO8p{xf%}`1IUw@q0)+=X5@KjVI_We zob&T0WYAVv+FLr7eV^ER@*v{KsJ3`6uut42%_{j)Og-5~!y|)wA}`I(X2@JmGPUv& z?e)tDyMNC)O{yAbB$Hd!WZzrNWKhEip6vb*WnE&=cMH#@#HzhX)YcOk{gFZcj=VZA z*k`oucq|{a?I}bS>?uJoC+E4`tW#yuPP4U?mmfvtVzFVA->|i(d(r1omE<|1Bd;=; zd;c$fPd~kqn_*kYVh|}e`n`1j_)-!5U>`8wuG-Lv>^b&B>i4p)l258WD^&3KITux` z+RM))Sbq4r2iaEfht#ECnN)0-msMNjE99v~zV|On+f8Ec905&`d48tM&-wZtj|`4w z{WEXkT(A^<@lg^7?_BDae!H2UvR|lkyvdjQlE-K@E`)9G5QMXxWKWzOzfo zpZRgk&m)jQ+XM6Vi=~HO7P3Yfi6f)h;&}7VIc-U;nVmd~>Fkitu)Tw|#d9IPkG$!! zm873!`|_10)aQ6@v0S-Q%Kmcv?gk~sFtw=h?x&Uy#XQpON2FZG!mh<_OaAFZRBDzMp1jf(+Wajol=={W)Gt4rS-3z~dOv zHhSnXVPT6;;w^Je<@!M3t}99UdG<~=*b8ud&YkU>RA5q1lHQ}AnO}2Id1QEfWM@7v zM)|*Z9-rtR{nRPsL_2Qkp~NTp#5EuN_ZwH7CY)$VW=(V!_l;xMWcWJ6{Hs2BdCu8l zO8v-6Ci$Pl8uajaU$UU+E_Qvu-hbrz*j1kQe}B`4^yV)1E))I-JThvT`~NSV`@}x0 zJompRy*^!4-J4Xo)xeBvGOqtlTdNu>Z0zIL*^j-qd|EKsxhXf@^@m$3^2qRV#jbsr z4n_^{=ri}uG8tNB`fvDeHL_@o7o9p`g6Qa9^@)2y`HmII{6W=dt_aHZm#PNUr}1yE zpL6lNy|+@<_hi5C7py}PH#MZmU)lSOfk&p*!&(`(M%jDA1F=}^U^*m_oxcN*46j%9 zapcu{M_wJv=3AA>3J(MQE2e#Fsckz*(=Bi8ny~i|H#o5WXW401F1;Unm+7fLveBN& z^Q4n&0?C_F6D3~HL2iyPouGIhEa?_Rlxz@c9G6 zWjA&Vu==S}ekgswy%PC5bBfdZZHtot-#moBS6S`z0@p2mYTvF6AE1#`pe z|BL5Zq3yzEmC25ydgb_1>y_gX#;(@$wn8U1Ax~Gb-`4maFsKRgbISJ+Uv+Fiu0CSd z6d14O7094%p@f>^yhG;%`kXzd1w8KWXiE#7w(RS$UkqH$o`+)jRW)I`-^7O|8P_89 zc<1Xwmc+_5vX>v}@sxcZ0eED1{h38u*t{G6ljr)NfAq7xi8uWq)mQXEpK6)=ME_Bv zy{X%DJFjnF)u6_V>XWyXAhLTESe!3nzZdUmR-68_sv)_W_0rG&EAs_oQF-20ha3W( zzNSXT`f1k(eR4+Sx&Qy-xt`c(mFKo=F4v(6U+a^>F>5Wj<~VI_WEdts^Bd28Q{d&R z%N{Fw&YaqV{5AcD6g{BcFTBd&TJ*p87cY+6*9T~8Ufr5xLJ?28b@fCM{a_z(E&9W^ zJSot(BJI5M7F*vM8C0JIb{c-p#o!YDO8H4|_CBbn2BcRHFS^FviRquoBeU&p7(YCI&+40ir=NKJrRenpQ3sRmNCFznvwMd?zNJB{5^BF!z z8-g~b{48_cX|zc`^q`g0XiEXg{%8I(``~D+@*B+uEb&qWx_AhCz6^M$t)rE`ai2No zM=0gmY<>P6j|}&t_8Lr0-Qdq`2iF1nar2$}h{-HI0{f-wJFyWO<+JL=Qjh zrrED?kK^UQOC|JcQrUO?R-{M|y#5ltyRr40)$c0rsrbRY9{G8V?@2xPI+KZY**O*T zf9i*ZN`H7Cjs|a2%GLj2@3;A5qqu0w7)dHQSi>WOV{v|e)w1MbU8z}YG{HT6SJ%#d zTi=(^S7d$0y}Q>NSMt^)SsePX`G4}fKWIB5@Qx_o>94HMYCUIg>}ox4>wr%X*;S;F zeLV+#P!r@o3H8h`Ed@xJ2Rr|TyaE}t{Zc=_+5hhg!s;dL{$Aj5jA%Qz)n!Z0)h)&R zMs~jt%LAjH=GF(jVfXOEUZ(CBe1CaVvLapjLr(@wIxY@v02=VQ05S8GhLH()TTCg|{){_SSqo$@GZ~`gi12eX!4HJ2p#Y zI=-(TsdeS31@|nct<4QP)9UHJwdDJ6b3+wUSJ9K^>qeToyU^0#-G1R!2KTc6#XHUN zQ04;L8d0mSxR+&p=|Sq1s6waKI3v0qYGWw>O!e8tF!yVj4F6pe zJ>5F8_w%H0u>>U4paCy@nV!vAy`6Wo<@3n-go3qo<*GNL;c4u7aNwP`X8Lsf)?V?y zgWa$DJ06+MHQW50-J+g1HH|_ea z4Le>k_iNnac)3E;YWjO@uROOS3oSLRiF7q8n0ROFX*lt=RECCH+y6hG>C@g;3-%6r zt$(heI!D^J`2K6>4@J(j+*?wDj?KdJflMBKe!1C4;b-+{`NMB`WN_|UG~Os|n^1$2 z_r64%17zk8d_Ns9t*-ujTXy~S+!M>R{X?YS&Le-}RpvnDVTQZ$o_ZIS?;(%%=+nMm zv;B_UU-!RwWo=uRQt&uh}_QzOjaaZENV$*t5)+QgV=|z6+(HQ7x5xM$M6s!Cc6Z zSAE*sYN7WF)B4}J>zH`&-&@k1H?0Z!M85mEv5Nj3y0Coyay{{KY^dbo62&s=X2}#v%MH|zhbd5 z6_Pf3o>ZybTP>=xwwzAZoD4vOqyM;PRno0MUY2^mw9ZL-oWk;{~x@{Tsb&d z;Ty-YW8uprG5emZG%SVPPX#f9Z6W_;>|4SA-Ye-qQZEgU49>M9uf`kt$95mS_7sD6 z?2!6)9ioX()DUftHQnm-uBfkcduI#@`Y_utdx^Jwy}dZkki8|}bJ_mO%F40NuKyP< zVb#_A){KsdD9ik3>g;H%@^2gbWAXB8M7syp((vdr@5q^o|K)4h_p^S(BZKpGwcR4~ zyV^~u%~GCtcqAJNy<*>rR{FfuaHON~v&{Q5YQIVLvF+DY{ksXhP?22&f-ySUs(im% z`Ngl}+S1qmkFoQBikkWUKK3ql#V&SG#EQsfh6L;lJNDjL?9xP3R8X05RL$AGjM=|bY3E8}-^)7nh_q+#Q?J`Mn;?%2 zj?F8NpHOXWJ!{W2r6|@lSR?Ruqp?lJZ!d%G>8std^yzg@$mtT9g4Y<%H$LA^(bm86 z56j+;Q%Lc~!ztDvSid~(y~XNxp{cl?)ncAUH;^n(3z8q@f+;fIITNkk#hWQUk)Ia1 zh77Mbn1;ta6_CL(AYb-GFg^Gyk^GdNE5HA!jTsrV-M#puKuuf}w)6#TkZnpk=OP!hz6c3JI&yhkc zfcbg(Ts5s;y`5;;{J)gzIU0`)_w&ZD3G3HvN4{y-%2JKa?UnJMf9y9;`;6A|!Uap3 z=7AJ>WO$p8e@vfX`=5A?Ior%#;b*h&0QXINDobwYYYk0XN^b1+OuftC!j9 zLL;&lw{~_(OZ7RbBM0XBm3>o$*pNM+x$nqk%jU9;_E3%SQCc76vQ8Pq>D9<{~3&eXmow4F0d&QUak>T_V8|EoDU z&#!uy8z-J(&%e37_-0wLq^9iiDJ%uAG4;-eNO5z(jX4l9SxUDwM2z*<^SB*-D)}T|TiE(`U~ecn zlJTazd1V)B@RkDnnzR6hmLjB<>c#Zk7Wrp;m zZ-22{q@Ks^=u^punf^{}zRSn#dV#M$eS_`sQ=5^D8RF$R z#m&^nE9(zqo}Bnc(LWt~wsv05%*5y7Sh-R|cKre31a1F@M+W1;=wDe+V%YC`!#-la zsqv^S+8$V$B$y6#l<&R>rC4)yc3LJqzu!?DzFl8`Z85c`USegr!r;t0-s$oxY5lZ* zN^Z>CO03Qfwl9Bpi8O1O%_`73DR_;+zL3Z5=+kHSa>f5Y?D|9D5LZ&M%_@0pCiYzc zh!eE^8y*>q2cv(kKd*VwKlXdJut54R9UjWH8R$xX#1+cKSH2yCb@fNR!@P3 zn?u$q`^ambrHN~l_Qoab`K1me=%SUCt(n+w1R{?NYW29SRj9kMkTs}K6J0&UYXPo5 zueo@;Yp)pb7Hf~s+tT_y>4?vZMtSJU)fFUvAzqnNti_N|9^Ksfa^c7%`-A*C9vQW- z1abGhU_0{lmh$>8LGh1$A>S;znRRWK3rQ|z3sSLzyEJxHta$SlyCw!T5!M&cd0)v- z+tp4Ayx&8|Bg5MsC+CaHdIj76#A}Rdn;`o3{4>w@g)_Nd^Li~oTy~LtuW8Y9`B9Z= zNf)Eo_whhy+!y3`1trSzt3yfs77f<%$e=z(UYk?&kNs||vO_*TtF$S@Vs^Yh44|H9 z+eln1FDfuG>6tu)@eQRAYn)PN@pjswOU1!eg6+d2>q^g_FBaFadS_*yfpW$v+sWL1 z{U~lnp0~L^W7zlEBHcaY@Q6T5@uv|fc#V;#)m8X8?0xnhrQ6D3JsKySZNZ)|f_cQg z{)R^e=hx_;>&feM^pE|f#$yeOx;2yk3P93nzm@$_fY{kP4rxn{{@SG zsHw3=hXX{0rHBKJU$(oKdanJ(NMjA&Fb#o+Af?q(GoZGzTpDm+C#P%)6|YfM&Ov)JbKEU#borCFwo z->1?E3;#b8!pGBJVfb~1r)5K>Gd?SS$DU(<4}bCTDa7`-v$DSq-q@Gszrw*wmT&iu zS@O2m`^Pb0U&!lfG+v+bW0Tc`JpZp=ca?bAiQNyXo{0<`=O>>|6Gn}^#;jgCURp3< zmAHZZJ}mOM9et|xNPJTrIirod{~=xrUrs7{$kyAWmiNBZ-epqrTOb zPkmy?Bg6^XBEPl7R8z@Mb>;n~*!#l3BZKi^F+%Oy^XqDEe0PE4IGd6Zu+9x0{gaXb1{ z>k*dQ6#p~NHRsIkgR>R=vlL<9udb9N^k`EB~Z~8hch}#r3S@ za+A_>uGZny$ZL$}@`aLh@M1BX)$hpTcJ!lq_y?7jFu@yZ&)n26^K75%H$V%I;z zKM7uq^2x{g@_2K^3HJ3jJTe#$M*mt&qJQi+H6FD>TijoLjpnE^dA)NuevWuQGT7ds zR7H|8ue*HxQYba@8dI;w3dtpGzUal~4td;;KGk}Pee>x5!*l&P)93aIMgQ&X*tgj) zlq8Q1yULb{{Q8(9POz`P;gP|3F#6YG68&Spsqv^4+M+&KlU{kYM(R9&rdW5LzCL}s zqaEE`_<|)VAQMI2>GDRYdgnRp9LJBBjfy^v*t_t#%A}{B1zyTi4%JSeqk`?n7l)D88LP;(d$IeQ5GQDh{EwTB$no@U^06lDc^=@A!FVw8O8m3y z9_Szaq{d_YjQ=5D#d;iTOx~WGbFDb#KC2gEn^}7|-CfxW-aw%32LOPN!n zt;ScF+15Hb-zlM_l!fLx=`NLsT_;-EJA?Xq)?3*ZUOShW{#<_1?xrbrSWg{~H5zZ5 z2ksUV*s=B}USm|-L!uMAmw|kFS6-(dQezVK1;-f>mfm`4>lI;Xul5vqWY9nIsGFX5 z=$7bmK=$zSAjy8be&N?-)axWhUemL5y-o6ina)DVed_fAjYmDvc1VXr`Fm>@q2{>3 zRA2KtYH(g3tr{YW!&ogp&$X@Wwqby&azJpLf0FsKswhmcIOcieuifufO4u!TB=!=X&xuME}@tYCLL-wy3AR z=5^G7yzZNF;-I)HeXu>v;(T(Cp6@0 zuiP@PJf^sHf1x&!)W~a$?=fEQ9}-_O{|^$&%TlReQ`_-s{jS9T+9K~BQAu7qCCIcR zK+hwC@nGb+{`|TS`o~yGjYqA}Hr*F?{b8}-^Y|i{`*f3Y<9JJhvIhS!2J8!YeNDmZBefpk`R6C`p!g;;yI(&*7V?bQVfp-keLo-S z6l7+1n2*O_W+jt$(rK`@L*JgEp%y7t-l@WYE8n z=Nj@DK&{ZWeSwQYmAtzwdlyEs-^X#(9hjr?w(C=iXl3_{|2^?V2=ZuV`DRPWYfRM| zi=@K`WbrFo2aw0@=u_>B>BG)1f8rGl86z}Xr0BV)Vz51_Y;N+g!VF99!=otrM+WD2 zd_Y-3>d&(5{TiX;k-^wNUS-sn#J+TVJy){!=QhjLLu$RI#V~4%wz$9g8iChGYCXd9 z&u2Gxi!Qy`_cw04lKZchB=z4qiW+&18S>u>$(FoVeAimf<976^=EE$%>hWiu>(80% zc~>g>XK2A{rCK6;*|LcxT|U0QjyS=-{)R^eqKMnWl|Sq14E0%)04or38;1;*_y^9=D@UHJ?8u?%Wb=pYduu z@ozXsSU7PcHS%14&fH$k>!U+rFIFGXoLk7cS_w(fZCE}Dae}tUXa6ynd=6WbRPG@A zJ{9oDU_2OkEhf=F`bmvPtl3y2#I)^&Ig&prxO(oIe+n#+CIED*zP+t ziuRi|QOK0{V;$s?LI23(oFap^cf)g&ke~B~)mvCT19626#)FaP`YUxe>?8Ua(=aRP zyJ(K-;9|Aj)Ogeo$5yh?Hlf+3SRwC-(YpEwb8OzudVqazZbGm<{9;<`zYly#x@~Rg z*+dU%dDAnB=2%-H|J}>kn(**A@$6DZ$0MWm^+;@Yjy=Bze4ZdLHb;*X|JWDurGB|u zXD&}eKi|zq^)-T{X5sngk>S_H4$Xt@uSa&5%XY0nPAndgg4dWLA0(;P^(&$WTW^ua z?dVg@haZW)UG;q0{(>_8H|)80qb=Vr&hMUgN-lG8FY%PxQRHzSQLCu;v*g;No|9}n zQ}WszVPD9rKGixJ8T7wn?KpYv*Fa($%kLNSx?bf`TeL-e^fiK`X5smB_{}?F(K772 zN&l9W*Gc)vn|oo@$ZO2cF>R&qZ*Pl(-Ss?fN1tk*&-7%^6aH7atXy|X4$`80I5qN$ z=8W+^)JBuvsyNh-+0y}A^X_(#vxA7_HTG(FdmHlxt_d^M*rAvYCLL%wv%_b z$t@e_B?-HEecfNGb@Qf@XY#hN?V%X_!)$NczQ43_O$-=B*nqyr{yyZx4Quac|sT(eo6$Uv?{tryQ9v2WiTmCxm%NTjVQj zsVtuwm4ggBsppZw`8D!fPhJ9X^e`Hg~&1u2>2!pDzU6;p=&vH09GN zb$(fU?4bMNc=inQit=&N_-XgWxSZ@>f6b=C#EaR98;PX2o!e?WZ}VfJX`W#F)c8ii z*VdnfxhGQc8Z)7c%Kyv!XBqE8+GkwhyNs-5WN84c=GYTOqvyy9LA}Q8f#(aLJ-)->$JMQ9QY(mh`rsVzNuoS$; zgw&cX-8gnz+{)?~nvv)K zXJW63``WVgT+TsU2lgc!ua2ZfUSncvER+h{u8aRR(et<+eX8{c%R_?x%=0P6xkXMgKP<@TY>r=HJJI3DEDXTgUF${g{&zTHsUX|A&84+FZ=XYam{^8U9> z$RmS&A&+r_4BGyRUm^s*OG7(u?#SlX5x2--92$8o=Fva;NiH}|7{7lq@jl9*CwCkp zI2UMpW6>aT$m_N+qiqPqn)Kk4O;XP3$HZ86uMKO%%NPA<;=M97HX*4F@=afClBzG^ z>p8oI3AWQ7)}=SwxYF>~b4Xy~j==1a2g*IPmQX{W1xW6^Ju;1zo@uV&@y(rd$YHgy{jJ(~b{4??JHTHh- zb8lA5nTjmG@|Gs$eWqw)wAJ{{naf&>ulJ*w#)Kt#mo!O3JfDlBSRJab#ds~L z)@yM!FUtwdN04(3x>4jY=jZME?f(;NjbZr%@Cvgkt(5aRt3jYI*Bv*(SG$L;7-$@96+2LHbEnko7hUC-X@1fR%D zJ2P4TnQ12jr-&4J)Ewt`$jc|Pf79=zYc-OB*J1|yLSFItI}VXS|Bq{)muJ@d6^N{?{}>7_l4Qq{nqnv zOc%NB@(!kRH?;aool{#_Kgl*E4U28F9c@$Nk->gbKaF`81PP?#L9p#sp@LleT0|BaLA7FY>q@eJXwNcxL|ln_Nh_0+A;6PmR11 z^Nfl6Hbv3XIbX1S@${oYqSF+iROQh+9vPgkm}9Sm0nSr}Tx*T~Rn7T);anph)G$Wc zl3$HU{n#9_^lip-;nuni!kTxH6nXTCbAde8={OhI7wU;TGT1Nj`WlwsV^wQvUZ=RM z{~~T?-xF*9s~E}gxD+|LF^n2{jagiOmNYo$H!-e}p2zLzQ>laa{PO#2;NQqA^UIjS zl)b;n_!#!Q=+&BYNy3fcCic(rJx3g(?ceaoV7wXqb4~bl8}yI;<_()m7Jr#!YIQ~( zkH(``XltoflH4xmO7_hTqxu??*Vk%2%j=hnF7L(KliB$+mx%v%o zNR!5X5dRyg=eeIQ6~8I@*r1aOB}=IvN*nq3#x00fa3Jl!^1JeV7>!2;$Adij+}4NP z%jR>+a;N%z*!OK%d-ud(dvMlHw8<8Cvd8liK^__G3wewgWY9KC&?!|}D{>uxn=NlbkKnD9l z9vO@!Vhmx2W z_C6r+lxKN88f^Y?cnyygbeDB{Fmsg)VXXs8W{MU)pw3L!nr_xNSUm(N9T6* z;iQZLZbzQCxeol=%Z);1>FF>#d0wp|HS!vRwf3?d&4g8?6+M+Hm!aNaH5WT(d9B3r z*zv9zq^oDy`y*ZrtzY}*ls#(}rtY8oB=>)_E5|t2KFE{(m94dYPLuaMuB_vcQS#(f zc_gP$7XQGfea*f*&9?Kn#lDc=(>=giui={g&$i{Ges`NmepfR|qY~JCWT+i5A1?bL zkF~&-E=e2awb1d%@b;z2&QdEk_CDYrc#TnQ^GIXZ^Duwn`Mz)_TYYx_i?y98yI#F* zik!dce!1H*{(h@NXWW;+;gLaoQuD7e>il9~JzV$6mTwmeO|Rz9tUcgqE-8%VU|pv6mAXvGC9N;az7IC1nY_JQRT#usg`SNVv_Q7;Q7B}9UlWRZ~eoh ze>&!t>g8a+t=TD5I^8`c`*~&&wg(mxAS-0G+udcj_E&z-P@W|ZFka^ zboYb#(KPK4{-w5xDsQ1^jImNz^@0cN-WmJtf!ebXb zj||3xk=NpFRIVUtROSrIzGGi;r88K(YUUuX2dM8$YCJL+d&r|tu8F2C+IG!*J!y5r zOr+rYNQyNY))c(ma$7Fx28-3Fxr+&LZ?cd~;VF5I>HH{K+HcDxU1YTk^0*y+s(rDw zg}pCU=VD>uOtsfSu6(1Zk>_*7ng33(@BgrNT6Vm6?yMzj>VH?TROk9TVgPNCk9VTN zzzcT;k4kzT8H^tzuW6VxEK*7um{FN8>}$zzN!YV16KOq+&zD1UWN@6wqfe}PabC)Z zwS>C6vyz@YA}R97U|-1VYesfYmgl!@j(Gmxri`<+pWWZw(fNpw**_f_x^5IT@)}d3 z&J>9RIZGyXe-nA!jy~0Tgq9&R%COnRNfZeUt7FPr+-WGB=fH{g_;ESe@vhc`nr*`UK>ECRpk-$3Oca?_hk5;| z=6>J%^7=84G?vwm6C1UmOU7p2A2ch6jz@-%NAr(7&M7izyFK%4(#7k;zAj$s_lUHZ zK?dW&$ZIi){;}Ub@!Xcz$Y?vi{4BzMYN$l}5ft-b%<*`;g}tz}pVj-*SUx=Z&ffhe zSU!B|hM#olLQzF?qwW8XN1tk6uF{whdjG9vh-_Y575~^5@`oE$v8L-cS^gnarurO} z=Qe6S%=4VB--}5#{n+pG%5!9oZtVOxd1wk=V?3I-l051cm8N#l^SB*-s(BO}XVX9P z%DylrT@Us>e70ZRIW(&cIb?K{SA){>SOfJHQ{v-`p14#<563* zMLqR7ExR_(k1v*!@cd^^L~*G;dp2e(nPLg7XCfmqM^GcLF|) zN3GBn_0i|FVT%4df9Cnj#j+)&c$Poh$@U>B>3cbnX2d9J9N(1a1F@ zM+W1;=wFLT^pE|f#-mnfTc%Q4%dfTNNc`|oRF|W&Tu7N~mJjp%v)p;IL<<&^;#%l=+>Soge2Hnx zzW<5-jl7~iV@4%TQuN=-*8d5IOOu_Ci<8VV`15j(I6>RL;gP|3F#6YG68&Spsqv^S z+T#A|b4Z>)tNAL=PmYHbmU>38?`QtwPNIFhNMX-VYUDNMYu%aBf6+yxsLanhyBRDaq9DyTFfAW@nGb&m_+~B@7jfr1>2_DWIQ<(Ft8vW?zCw+9Sq~y0o zTaC{s)Uq!3|0uYWuBzkFr`lIF>F_f4yfN@I2J!3L)fE5O7xG(LxLK>sxNCCxNvJ-D z(AD!Q~Q!84I4bC>J`^*nAzpK89uv>pFvUeTX1;!gH%KAVe5vF!Jz_g+h?RCEvt zyU5-*ggC*z{)R^eT^g(PRsL?sUel5n2zlC0k?Fp{5aZ{ zOnMzgjl9O>s5wl^QMr;-rJJ6|?dVg@m)LPS_|Lp@EHh^7)FF!g3E}Kp-+kv>Ot%M+ zCBwP?jyS=-{)R^eT*aWe|A;!Ri2;R_~dAh;ra>9O zowOvc+k{giuQ5Xxjg=mHRFd*A{gKD*=u^#?s!2{v&p+{8f6h3+Vc!E}?a}OdMZ%(7 zLX8h?$+uGMd;xKSef)zo?=l zPGZ-4Nh#7RV=zg-V+1ww8gun(th8mFo79_KXF#6&=@?yAIUfz^9VcD1scqyRt??me zgUiuthfGR-rSZt%c#ub*t-Sg8)pOr6_FfWipPUwKznoZ+h@B7sl-6=qEjqefn1uKCZ9wvDYQJz~!bA?3o|Yr-w|&ZGsrL8u+ik^SCN{(Q6=8A zm`4U}V|UCpx&9nX{O$bxddD$>TA}UGs5~S%%Tr<4_6UkO^Ps!)q}zMSNkezDZ;?U% z99Xz5-Bw{g8CCflLH-ou7w#>m=!v#-oJ=$_xiY=%JFX5gs4emn?mQs{NiUk_T1Xva zP;=y$J%}e~O@rv1mL-(=(qaY~w4M2ODcR)rRPb2B-Y-`2XEnxfAJLYx+=la*uVN0y z+c%GUNiEs)ON;ZnSq}~xD(u@wlzeY)RBc5Qqpil5>+4}Xx89pRk3Avib3C5ks`(_( zAFeH|EwyC%q%Crj<@?oq=xS0l|LE3})mCa7`K8~|SUS@#)NSq$ zw!aP@85|Gt=o9A-ZKE=lm%H`uNylHip_^ZvQ{=gxuUPGPBm=7>Sv+Vlsbe5MIX|pN zesW(@uUBh4YK69_k3Pra`K_9B^88`QAa5y49DDxx(L77U{7`aZSqL@q8ngQLp#RMm z^4yP4UQyA1%bgHu%N1XxjeO^Rn=KW_R-`TF@#ELQBZK2X9)056p>6GR1LS~tb?C`* z{P*G=^NVweJl8Wzr!Mr~PBk91nA9;4pPY|vAS7qCUDDPswl9e3GBv zJ5=8Zhmo2k>`3=E9FN08nN>)iw7+xbqvHO=U@4Uk>yQ7 zbv$Z?wx|#0gpIz&NONA+mb~V$YY31ZW_?wXRy(v%C|$lDMSk(V7|GkLo@>xH{k|-8 z?vFOK)1liIWVnW!w#c{eC_~40lxXjQ4=l)_=E&#k(nfHLZ%4PcQs;~7!)p*^(DwUM zFQL-iwq#rue*KEygHUYg0CZnsT&KP8}j^5x-s{?~R& z++{1c*=#@aIg8bMhnw|iaynXQZ@*-|o%2Rpjko76ZXI;7pmjw3^t8<9I>{Lx?ECH0 zCHd^2r2n-!?^NGx_dOCRzpPQoDn?YJPA~?et;X-VF3SsF=ChW~R zMWx+jq1m1qj|}fu8-Hk2X8HWp2G)}qiqM#d49P>P{~q)5Z3m|R{Jk%%&G{;=%=Q71 z6-neH(K==;`~6ln25ldWwi^HX$`m2pelKgEepPk66Zp(}?1th$Ph+z^H69t<_lM;s zn=x`DeRN1mg|oh_^2d-fk;0(`-MMQM9&vT}SQ~TZ-%^*nAzpK81%+P>s9+YeoNEFbi(F2B#!jT(7AX3l)-QA!zqb{Dffv|KiM zeU(qLZ&+vL_|@hGZIO5Fn^i8~`;&Zjh@M9VwKekEagF{tul2iS(qOq#^U3nX%Sog<1x`TB)i!jX4xv73t23GNg7IxJlCHyiN})I@t$bQo5O4$U+rts z@D2@Rx7X}^fpG$3K)!Xl7fItR4de$e^*k~d4@REr&(~z#*r4B>^CdQ>c2o?JPU;+pp5X{`ede74&9H`1?fA#@~N=+sdz-qnL3&wpFFX4xI; z+Qolond#F-GTUqB%uZw07q-4@kx%De`7P$(4EBXQZb!bNb16mt={3yu56wH0&qEi> z!^fGG^;wGnv_;-&nIFmMzEGa*&f*i|O2;U%r_QyJ*UmfWAN^#$(wZ!i$I09Gvicoj z7}tNaJus#M`KLq&x$abUy$dw_R$~I?8uIf?%)7cuJ6#X6{dWG^G~)(OYe1bf%I{xm znj?c+C5w5x$%=QHxT3S0s6_qbe%TCkwUX<+HdA%|Q zqpik&s!-Hgc)~Gxsk5h!N1tk6t8H7Gu(b<#>Ckevj;&VwV_(Q8Z>V8SJ{2wZ{ak^b zzZH?Z@7H?Ur*USxZar7l8TI_~s%#ePqj^qp3tJlR zvGr$A)-2XtEz`)iPyS#2Ri^Tp9?E`Mikt0w%eR$p?R+D*7}rrbe`&hmz97H7L2da| z#jkSF=^b=DGN_M{=P|?c1oV${QR!oXoc;b-`AswSJ$5(`qMm3QSZ$*`A#tSqCRcx| zKS%KMqk2B#>(!;tYuG#n*+;D_CTCgv)AIITzWz9LzF)QU@3{`Lqn_8RWsujME+{8| zR(bA|=LzO_#gdyzs!z1t(k_FX@S}j-|CgRe2K!BoH|~oz{x;W(%E#~jw7gc*ZkmSYK7Kf0e!!14u8%{{DUA2Hx10=D(=Vi=_D({pFz*^#1u;q%qhR^13w;)^NU_WU#Kb-TNA3Ur@XY zX%H48?}-~sjl9Nm*mKHyZ{KQLCj*b$(Wkmzt+q*w&;PUo*_kj!PE&d?HS&C|;EbR9 zDRzEYZ7aaqOX{a3(VuUm_)zmezj%X0?Q3T=zzs7D?QogkMkGnC?*AKzjr-J5ltt)0Jq{cp>D zRVSdWmmJsjfq=Zzfx^C-r|=kK@4vG)*JodIv;ASuGPF^bT-I){((C*qgMA^7+mWwp zKETdLt8ERdv)}*nx=eDOo-L0Z(TO6D49;)N`B-xLz$DrIUXYGQ24e$xl~MBw>*Pspj~?f`Q9qIQPr^9Dc^uhjyB(4Cr`6| zddFU-w8tcCwtVF%YHqaE_`31M<(&5_Sr05=^&`#^^RF>?J=ZJk;?!(UjYkIO;;uc! zvih5k^+Ep1^hKY~zB7OPj)5)Z#5sjFsr$m(yf0stFI~KwTkcn_iq$2T7j=StG}>x> zt`JYt$K#T9XMVQ7z&n9Y&zyx6|Mgisq{bt|{b>7+{Erj$#W9oBe8Xu=AMxb=wZF&T zNAZ7rquKuB>U!cFRm(c}NioXDpzWj4miy=YvQ4kZt0-S<_^N*i^4!11WG)z>w9B+g zoks@u{my~RWW#_e)(4H4o-pQB$A>9C`SG~u-{DHzW;NS~9;i2O zNwusU=IplAPG3#OqffQ3rM3gr%y#6vd9F-$N@UyFK4M?U?{O8aqq4NzKQB`Ss>@-N zoK4M_`1#uQaH(yO zJ1rkm_dV`Q6*Y13wabwgl+!jGR>nhaQ4 zPwsszgyMGOvEP|1V@Lp5Aiq36K*uA4<3V0`j(|0mueZ&QEmy{K^>8!!&9^xD*<$uR zeAvhRTetZ>3{)BPzkYdZ%Ya|o;)vA+I|} z!1;x*x3y|5vmMF8t|#1|VEWIkx?Dc}C~D+2=25h(7+rmtZLopI?dVfo&zIUJWHj5; z^oTZ%B))Q~0TI;5^Ywu<#g~+3>-kb!_6%mbSF7hj`McBQt*?jacw{z}&aUu0K3Apt zC4BrkL*71w{eC*k5%z`r#uz6Oe`cCobibZQ2DMF%N3F0g)DzD;y!~(Uc-zl7vpuj; zJ8|d2<+gUU%=Yp_JZZ*nE#zU3+4Xifha!XLN+YlNRBe~qPS?@jo$((pip4Y;k zqEF<19%`@X*{>3-bFWS$1EcH9E$$4_@yOu(_8;y=hEx#b_uWEtJTe#?$g7N+N9o7r zh|dC->X3X@JmszD*!cot7&SrLEE&8>&CVWjrtcvXbB3#pLdAseRkk+U^!Y=TE)g`M ziKkpSdW8k~H?1a%>Hp=&FS|zowx{y>(FUQ}tlm|(6J*{GpYb~;&Gy-G6P0$6u4a4H z{Sw{OExq;d^P@T*8T5}l#tbrOTcCDxGN|}_`K83Jhd_)WgL7@qbs;ylGa_J#bkm(8pr z)4Gwui*r$3j-ljN>N%aCe{<(wtgQbp<9fUb=s z&2o*U-ARs1+Vvte4}6fRck=f#3lyJdJ8s1Sxk8sL!jhWo`&x=0l}Cne*ZNJ3H|~oz z{_BB_(FZF!u_EK3Id`^CUxK7+O{ z^F8GjeO6eicZ{I8<{Q_O1{-;t1ljW?y%nD2$tAZ=h@iNJ8*Mc{abY?V*lb}2KvetTjf`8>FxJpag$6uic4-PKcc%Q4@UkY3N@cJ!$pkMnG= z8UL#97*gkPf7$i?U~1%fta4^^&R%S6^K5m~ne8Vs6erW&Gs-!(hwFG`LLc+`i^qA8 zeSER3aTtABG&(=>(2hHs9YetX`Yh zIwLLEH;Z*_xr#df$Y5W{<96i3=Eo`i?H=rULcJ~|@bMsd%lx4fd1P>YSLSL&F5V83 z$-QAZ9vO@cgIZ1dS0Gy#6}Ju${V1-txCZiegXS}B z&sbfy=UfZx_hSL3+$;0Y4a-gvyMlfYG2cA?tx}I z^8ftg>;E*xKlX+Eg4zDogD0Hj+-XWG>!H?f#jTxw+iL5%>i<%VKQt>Tb?1)d7W+PlF6QAF#Lrr>s9(3?PHHCwE7XrOVREdH-YU8^jed7!O8X zJ1?Mr^fRa0IC5$4Y0DTNcE1>67}qzneO_q@c~g9~rP6CwkAQ}UCM5li8FmeAwA!A; zo=+<{Hkg*mxKG~wy1EbY$e?adAMPQc_Gfa9@&UBr(rwAJ++)=_TDvj1%$G_3Yda-Q zv^^cqu0L;gvz{)N!UO z!PRU}U&`OQ#=C@kI=%!gm1$-2(F}2lf1|C&_p4LZdT{h&d2sdWIv#zheND6t&tJc8)(XThP@xOCq(=l$Kx}|j<(2?p4~|HkR_&5`}91n$*7z7pdI1QrQ-*rC8!JTb;_EG6=T*kN_*$hsy``RSo2DY&RN}kK9!>Au4O?&lZCwmWV-I& z_d6!d_ED|W_QL}#_oxv?Z63V@{*OE|=pT8E8D!A5$k{KXX64z!%X=}{xKO#RZ z-GO8$wq3cu27MvF;7v{IjS&On8x7s4{v5%daaGrRzCLe#G}_iNH+z<#eOl|IM;(2x zw(69E*O>Zc=OnkBI>xr1-7iKSx1&$q=HnEYf7{qJR?oQD{X5ThqDEe0M!3vW_$Ec! za}lp+$wga_m)n%)^@u}fv_*c$TC?occc$!Ik)MwoJTj<{k>{H5JOurtpMyh}%exci zTY@^X?~}uM7PUp&Fn7CruE08(eofmwdvyXusQCcD;h@ z_Ir-*_=hGhj^nWuWJlYY(`(Di0wR1GoYwQm;9R7}%p#4E=F zV>URm^DpDmm1fUBzwb?IN*zqX;4q5*kvTCwSmC+0c?xdwDF_2?Q#J?ak?3;Rq^ zG)G(HSM2Re3V#`I%F{~E<2f32``o-MG3`BJx|yu!k-@%@$90dlcNHFQYqy#`QxUaB zG_4wIi*3iQzrCtJGZw2RG|I%!caHNTGI%aC@|sV@mT7p#uJ`{Vt}30H>zB|vp{DBp zH}gzdqiEQ_y`B%QNob!Ak4yzT-5KwQ6C4lPc5$6d-q${A3OB3uixxA;U_2Oke!TD; z4EBN8D2v>^F7m)Gv-TgZz&Gxz9b}8-n8)kdoCz15)q|1W$ytz6a z8T5}lZbu&HIxey(ty(xcNrMXv9JFXD(tVUtj|gLf)&k;wi++A zYiP~n@{4%h+(-212*){#ub(Aa4zan`Hrww7&Xvd95y`d;gQ=0%nE8S8lbh@qYOC8! z&*OIVsjTyz%(e#g*!i^Le7R_;Hsso_U|OiphGZwUUAZRA_EFmx^z-&=25UppGjecf zZ5@vc`bVDYrujq-(YDc1bGn(av;U6TJz2)1=)?^Con>M8H= zEK52a2&K3kdF8$g(=9XSi+IX@))M5dQ&#zReIM#U9&YX>e7lyC=VRu~dY9fJZ@aK|xuq9`5#@de_t%Wl`A5cS zOIwBK`M~L6w}l!$KZT~FN6{j`x`^Hl1}X8WADe?eQ|^{f>*Z@9US`i@!~P{*zulB{(nW}&0xrUsX(sin$&-e;v`(PJ|d^YzKUjG+P(LXXcU#&a(lfs943ei{f zJTknk%{B6<=aHvo@$}RPWiGJalOF!$M?zPj?`?Mf7xYI4{UeV)F~>ul7v=6tUjAHU zifA83kw*smLf&`|omo2E=6%R)pIl{)=reejEqw=e{l7k;Un95p#QXAmiREv<^DAU9 z7c%miPu13Jt8hl|zf+V*lZvMmt`8{x+rP?;`^D~&vH2a}QO`?DCHl^Do5{I0d%hRq z5XXbI7ur`-Dl5-^opWIPTeu>^c$<=kwO2+<96h6uE(ygNN1eO$A0gRQsj~0Z7ojz z#A}RdtJVT8Y06Q*%SU}4-;pThkSY68`PSQt(d4nigq{T&>hcpjC-U~<3q5Uh*!|fD z@A6sQ)@LK$Qd2st$lBz6`3EYR>vJIoU#@8d>#b?;$+Lg*>v;63_SM-oVh77VfiJRT zRG&*dUGX6f@&32R2_4?LXzUA#AEM?cXQIksXwSUi@mY=BmyKiM5xxflZC|XkG`7y|I zyq%{>@}~WLl=B7JHtXL@wgnatVpzSe>a6m}V85yHnEzm3SKo)pUD^y0>YQZjA$$Jh zRnY;;7O_ zUYOHr4tc(a<^QmK`GKYiGrALd<{$h^PDIX~E)%`w+nOSSbAj`DBnrG)D%P z34g)!c?XXS_JzDICuF&Va(-m_BtO4r+uXzUwyD`3@`#d_$4issBB9jCYs`N&CyN>7{HS)@u$(UK2VwAbg+tzIFKW{m4vact1 z=Cj{-gE&N6JmL{#d-;f+`yl^}>Ks9f z5ic@m*k}RyEys3>6-oywbA+~YPlr?SL47i6led5j&M)$XrVOM$_YRW}$D0Yb9eJGh z?s+@XJjWgqVcY~_-|JZM8ygt8m z=q7LIC6Bz6gPe9^=L@CAQS)ll7W>lk4$X`9wI5JpPn`=*tJ{-uSW2$SMAFY^-&chB zGVX5RZXKID3*$pun@n$lyvXt^DS19-&NOOz-pbo+c>CxMQ{k7D$YN=f&Ob7R z%FX%TzTZk-Woomq61m=B6n&fHy>;+%b^JIs&NQT+yPn1-4(OQu?s^fZs)cdue_JX_IC`cPX}*E zLrhhD$hUc6DR{04XZn45M|nFv`(DcV*%`_1PPNGL)p{No)PGf*bfo&rnxy*?J&z1; zYjchKEgxr^`$TJHe|7r;eBqVp$Op-r%v};jkw>4rt;JQUJZOu3J=s!L_;n$MxGrY- z7-(2!*)mo`@wJ!5D%-AUH8P;P>{g&Q`=$fSpTVb**XE-9@j>#|JJU%kDVSo7W~?th zr)y=S?7ocuxt~c5)9X~GTR@mHHk-VwX@w^&YpjU+B4S%U-|mS zG&J6)os$1+JTh2c82NU+`F^qYST~u(12@|#ZR~5|KRM(clOt(h!_sxQAB{%_$B8`p z#MnUFJ11Oe^vt?+?wyIuza!o-W{`hmE=SqLSX$;V!zu(yZ%>~wOrc1L(*r7Bu+=bu2 zo-JxTGMN7x`H4*f70v7S9V>Qft zG9I->+gJ69$_0E0857B#2Vmc`n&tF6Ct>X;<$Z0VS&dn8;jsh$KEAdc?0#|iMoyM8 zJKB?b>BA{*=e8QJd<%=~$@FJmZL`ej(v_^(5tf2i^kj^O*J+jy3%1v+UBLO<{*1XA zkOIzp{Em6YzW#(p!(bH4T@ zCKLaj3B)ik*cb9xBN+4BwUd2q>)G>@)laf}tsQ%jm62i8$ZJeBvEYHcqkL`2Zh9WK zbN?Ez_QmGQ%WTi*vEB6UU|%Az@1YraWxg0w%f(fhuYYQ?>lnMfnEbkRCDFUs{Sk-( zwEY_%8H^vJ|Nq5j$t?$*va7L*eOb2!)i{vz^E`iP7s>X#0edbneFh@t3ntl;M^YoNF~#n#qQCBnwp{G` zHu7p6A=q+HG~1Cu|4VWfCVQe>Xff}G>i1RHamV?p5izVr6KuBTdfN{Z($dMfCX=}( zTPXFl7BlD{ZO@#_K|0RsO~T%@dIw?*8H_h0&yPo5Q=@(Pp2)mL_XiGN>(Y0@#1S;wGle4%F~cD4uIIfY#h1b*R{!;0P^sX z&Cj0lsILcwK3&-P0%I5$>Ds&~DY~B`whPYenL4QNCUgm>0}8j6W89A=Am>79Jcbvh#kVij5J{1-@zp}iZf1mdesgc-{ z=B%@wpdaLM-k(dy1$!|+y8c*ciaatHKgc(fvWdZ7{z`lrZM9e(-(roByxEJ?`x;J> zN1wc{#X0h*Gx|qAW1cwCa~o#KQ`QGiEq`xWi(o#9ITCO8{TT`Yy%N1qu_)2!V2+%SpU1<7Rkzh<&tIjT*Hez|6iVtH7($J_#uRDn zm3-uSjsMr!S%62ae1Ct@B8B2^7l-0-i*%E87k76nRtju^UZmcl#fv)yez?2uCT+t4 zm*Q5exLw>S&U+?l=r`#Le|Vlg%rnpDoSFHalgXKtth{Boo@agnrdLts|z%DL&iFyxt^cbuxf9D6XffS1}vK7&gp$F}Z$ zh0aCjd5^#&gY!WiePZm;c5C~Yj?Gv43Z;ra*TolOiu}qWFFgPAA0Rx-dQagMP3WA0 z4BD1^cf~W`p>TfG8}|BqN)Ds8Xp8#jYB1&As@8<;K6`RaO}S-HdjDeeNAsKnf8J$v zpkU-RW?sj}v0cMz$_W%NnSF>*rNd!ed@-iT=XP!3>C>~XP_CGo4_ZzlgSO|I)%CnoI+C|#C;cIZ zQ7g37>7(3F)q0HGTVHRgEpLzZbB?}KT?qE7C1)B)_dD_U-ZlG|JO?AA^|QGlk3KPWT0irjcV{Bs;fIgvAMycXiu|g= zJGfeDh6?F>sQIAiPiGKh(DwSeHQdsQ{=6s4f5>6f1Z{IxbK}RA_238h2okW4GTyKE zysaU7(szd^%}C3)sDGCCn>#QSuQ6VW*LYnSSwn6`zkPr_^ZE6$dOwP)7VY(-kJ?6l zhOnFK`7%t{@~>S)9vRlJjfFh=)MCV9hqfyck4yKy4i*Bcdx*$rZ5C7H^PWtU?tDy+ z7vv=4SuEJu0eSB`rkL_2dhv4$chco2YK#2)tk0yl%w_rcUFiK;<#k%MW@GJ_IqJx6 zYy6zeZ)UUj&8jK8&}XaiM0yC%$6w|5p31J{k-^%`$ZI~;u`0`1>gfH)59`a{sE{G1 zZq@d}2ks@Uv9fZ#U@UN~!RE3tMeGTDyiZ9Tj|`55Jo?0#qHUWmKHS@};Xgjl7()>^5zxJo!djcMF2FF6aez^#Kt2up4j{S6=g&ac$L|c_t^S1s- zi}0`e3I1l^3_tZ`HLcN>#gUy&;wSbHUiEq>ox50_*X5gXEvWg){I^alDIcNdC$uZ? z5wm9DId1E_>cYh4KfGoZE2n5~wAJ`^?<_IjLxT8SX$tFj^r_Cjs9bF%eRdIeAv`C= zrKsW`$3lL;wP{S#AN%=ddrbnysDpPa%hO?{KSw(>RD4#Z&)y)v^H>3)N9`B9)Q!IH z06HUsw%G?P;iP#IzvUc#UmJL2P#+`D@|^8C=pX%D_&1Wvb0H5u{Q&!Z5PRQBV-7!!8v z8jtyaYh>-ABf;=kv?^-jMz`yqhqjCp*JtQ|8assI3M4WH|X$y8U=9Z=TU!$0LLOkw>4XA=(bf zdyFgjs+N${r)F|KsMjenXzSrv&4tF-;=7lj^Our8Dvz3=E%I6pu$)%TQ<-8G{d1Mq=Nr2g)SP7gD;3Nr&!y*1O#ClNdhzrE_i}JA zA#Fk>OT_uCisnXJjrXxWmEKj$!Bwl#PsgKAWxWSJ#}%LI=R`iqx0%I6{Vb+97V@!C zwKGT=|9D!tOaem z9_}OvUpGk)G9~iJ?3zT+s7#(){qbXzwh!$OGcTHjsSUbu+1pkUkVgjnBafOOgSM^C zwBU-CF3Bwnrr%$NxFCc27_>{{z?Jy1k`m4x}GonKR?M5^MBxN@y4(`EKCn9m}fY zkwO2+U;H0^ua^9?{6YWf+|+Tu?y|&0^^D@rgyk17rYFaTTMC_i5$C^{e%ln{8<*Kr z*zL^6dvB|#^8we$+Cr&oafRObIk`S2@Mq7=a}~Y^ z>2G+AQEd;!jfvIsY+c&?Q;((clb&9u-_sn!$L6EwSpkneBT7%C`5#hr_$3b-;#g-a zi@9R-{iA>lU6S)bz3z}f{iijJ;Jz*_$xjkk{Ym#A(v9s8s3+RGe4ouNT2zpK?oZ!; zhn(@~w#*X0_gvhz9ez&CjZSa+3eT2Y=c@2oO5$>UAEx7xIbCjv!dqpU8}Jx+91Hm=&C_uSPygl8t)lA- z@&p--osrk_5dEW{U-76R+SV;5aN^&axew>*xo(grI0x2VY}yl-;V{)9pYKY}$L`#Y z+5=MY8l&1SiCcHZ&zUgsfmESlf39%<{;7D=0hMvtJjwE@|2idh$a^1{MmjH1`jJ8Z z;t1E6j9;w$r-5w*)DYvveOhceoNrIuKAQhO4L0!ke`M#nNBaxdk39SSNRfyw%D6F$ zX7TUN+!s6lH$ulF!`f_~x&QNX{*Kp}27?wUyvJET=k6!Bxi(LyatE)|{Tg(}xgme% zMql%kx)EG=RzCob4C-U#**?Jb8T5~S4%>U1#~%^6^t)958jsqd?VH=_xFN?MnU5T1 ze2Q+{%F;7klVi7N_+F*`<&mHB@Q($2iRir2b_adl33y~s&#K#Y*kdQW5OY|<1v`-)pRE0;@HAzf-#feT1OG0? z9~luW7oj#}`+J@b|;s{!nODGUauXmB2 zET-(bMh0!C)Lr5j-?^m2{k4`qDv#QtZHYqt%*Xmv5gSVp0_Fhb&$8TmE&abPio5s3 z&zW`ATs|V>IKFgOn}GeupO_zO`8#-qqK|7(AHH^)h2jqSzC7~Cp#F}92hDZ&q~UAa zV%K9z+|d^K6}Gv2_H9M^D@kfTYuC7u*K(uI)d2oWm%3uLV)Xe3@~`o@cC_7EW}7|j z=QjMgrNKh|kBOF$swI_mnYz5Sgl#JJvu(QlBzEs9Kj+A8tIXLOjg^|N4@kvpOqAzs z3v08wddcdk(k$xN1* zyOwM9w<_yJ|JaW{m$^N*Fk7Zi@lJcB&vi2MElT(axJJ~c>Bx_k>q8S_Z_@k^)j!C$ z$(4?CA3s#Ue&kJCGF!9d*`)Yyb7l&E>qQ^w6xAEZBg5KkJ|=oT+wXXdsa!8fng4du zC-6j!=d6>S-1~#oUowbZZ@t4CFMnf!pqLZ1)YWv zQ#PM{HS5IIqWP!&9^<+7+bz#7-y%}+8WT`6$|I#}r>_?)FB_XN^Z~(YDv$w>{b4OIk1H0OpTrGUbn{j&glf zIGa(Z-9Me~*&CRsY>0^}0jP`vpHHU|5^!T$keeJ6>ZV zhOqfm5dNijy{~oKUZ3JMn&z*IDU9_eJTe$BqknA=(XS;XKihq~Wv4&SSIP6yc+?hc z+fY8!pFNiH88vxvrs&Vy+drwW(#}Botof2nxNd(Zjp|uN$0LJ!=5Kk-WpD;&;8OqvMf5|Hz|0s3F?!_$!U0$_^jl;p-bbV_4p@ zeFhn{W!kVcGkuUptag0)Py zzR6luP<6XZ&+Et&%X@!5BKdFboQhYpB?iYr9{ZVpjrU(o`Al(XYKRxc6m9>6M+W1C z`JnVC?=$Eh$3;DnM-9*>R_~fV=O1Rw5@XLm`#ETi3~Duf z?g{&eIhUlB8+>*7iECu-$=BB?dY%r*5!3ML0ei+y?UnuE%%aUoO!e173SV%odyMyj zD#E0>^Lf37De+?S$t|w+V)I8mjl9OZSXbEkPtqE%oQC*fKl)VGJ1dK2@eO+aaq%O2 zuMW4&X&%!4z?ZX{s9(K)3tF|cpr1uMze>x0q!Cue)zb0Epnv3oy`;ix@^;yaw;i##$IFC(w*A?P3dP`ziT`q17***{Zq7&Syg~ zPtk4PQ~qb}eShnzw7p25f)*E{CUc$#P_s-E^K_PoVxv1@b8QufG;j_^7#+VkVxeDnyl^#_Kgqi7A`U$L+Z- zZ2p&S6&I7v-?C3W86g;Xjj7e&-Fkj_P76ozMIQUnr@G!|mPYUCe38Gl*sMkY{^|pI zeOt*ZwSPxbCkGzaj^pb26hEjT^4Bc+9d0f|g%JZB zbp293B=0lGpzXPBkL*|GAGKG|@+X-`tVH5JeFWDJglJoYpH8t-~v zjfFt*a&4DG@}8TPAKZ~X&j5LXw#d6TGdc2fDZsBTO|Sm|j||4q$ZLBD`bR&wAF6)T zeF-&0TRoqm;ik&1f96}CN-dQ3A$mPo49OyN*q$louO9S#Ezlep)N1#NllJ0`&q{f( z4-)h_tZK+|p3SrB@a7h#=evD5V}d(gvbzSiQ}lUNzl9Q0qpij-`L|}wh0yduVAIe1 zFpA3||K^suEG`fuoX@ziIi(@4lKuXGFaddFSo?ca2aA)|`#WA^6x${fEmnH{)~`vF{$qJPN{fBTVil5fz5)(*uNrQ&hDXp8*hZ5FB7pq2bgj-DS2x*?B#y3KcWxa>N@ z-=yE~X8kOO**;_BHT@sgyJWXJKiUr}*KZ1s+M+FEnGNGH2aNfnX+FFojYn@egBA=@|eP09i5F`K7miY2NV(hoSv-&(G zhf!O!Wh@&*<%6t;(yUN)Gi?b{*0`5G+wfnRKJy@SOSWI7=!^{7 zPMgDd&S}+7+A@{CZw|bU$uw9QE9nir7V!&y8Za2IRvzW~8>5FyRLX~S|;SH&6WBVF9wFN{WFDM1q{xuNRQo${>WoL z`gHx|O=~}*@K<`B5lxLPp7*zf3wjMx;>*^1<;_~lAkwFeuf?<1nm%HUWf7@(jd_u6 zur)F3I?MlPy~txf`c(BiVzJ$)_ZNJx(uMSiSpKhL znQwYAZ#>KA6rIr)`3e)KIQ9o+5Z_(U^T?o9Mqazd(Latm?fr7cgV`qj^)og9H6FD^ z+jM&>@zu|b6~oSi2$*A-pG{1`)|s!?T0%+x>6L18+5d_Y3oHp2upfC-!USu-BU_dD zzWMCIJ$)>TC+6vSWLR6thlhU7-|-q#`FXIyZ>3mt72V7^W{wcYO<{Vbe!hO-x2DaPjy7jWOeYlOAWzBp=`@{~Rwn{Zley=V^i!X-7YF^u;} zOjNWT?sG;A$+Vbz@*zynUxRG_QLlF;AI=`LjG=scf8bw7@6lsC&p(Yw%_lQUXAib| z_?w!zCEx!yi1>zop;m`?R(SiN&ZvuO;l#$DjUu1finMy6Bos0(tPd_ zUGK;vgX={ebwgX^n-1S9j&4YwL8SW&>t~v<`+||zw7rwGMI3Z~4i|0H^QbM_E?PLn zu{>g|C;x%oZ-wg`bBwk9LXTOBQhr|i;AU?5e!Y3u%hbHa9D5jSjS`Pp^3b!9k;i`Y zsgCu)GKunM$PPF2kIf6s0=>U!Xq{N|n5F+?J&*n9leMQM zol^37`rwS*ie6dxmgB<&Bd;+d%1pMNn0WrTJTgt^O!|4f$S(`kjIT>b3I6u?O!RxZRBuCG>1|W;p>d;P{E1_k_*aWnUb`3W_3)RY{LZW=O(}Bk@*}<^=)!KxY(<4?C%cMpXeW%Dy``LLVPsE3weww z+9JQbeE}}R;i{Z1HR&Ap7z^;du!L;9QeqDgyy(H9}reK(W{m9#zPO|REt6mrGo(1_< z-J{F}^5}VFFut>jKH(bj-MDS<)csS-85|4wXAwuZ`UN|4yGO8km7P=6oHX*9pVyWC z2>K9&ALj>S3TsejR_Qtyv8uTXkdC}|Eaa8 zhxBBG3*T>hfS|tyY5z&y6Igr`Jkwe0)A^!T(mBWV?bo?l!^2bY8gu2rAnTPIX|1Jb zKFDJ~`ef~XM_rWpT;6fXQGa%N-XzoS=zpd$UY|ZMC&bos1zhbY-#kYRKJZA572xHUh4jz6kUAh$M_wLjmmIZG7y!1)}tNL;A;JWp+n$SBV>N?vdG z&@_D6{Z^@)IY>a=P*2wG8n#Z}OzUl(KeH5=_*fjCCNveVF{`M%5+@I$8GMiT8Rbn*pEK1?rlT*FIV_F?LDN~{yW49uPMGu^2c=xSSLSy zZFB1MWY2L*Uhm=7N5q-sU8L+YDPF*%Cak?;!CLv^C7bhiyvC@u%Vn3T2V5PomE=fX+C#KjD!Bg=>)DvxYA6YEESd>Mo^CVQj9K-yq)Noa7`weU5ELUvK3v1qU{qr}My1E1j*pEDW z?vvABy?z@vN#af~X(WmD^gJ@kbE25G$865u@rwS$d@4`B-$DF&yUqC_*pG{!=_0*v ztzKVROmS|1!XtzEVDzu$A^OLB`xTGcqHRGT4SzgW3+bPufkMZQgJU*#S*z}8^n9nP zzAJvV*?Ozfb&)M`5}y#hNGcOc&kF^ejkX$p=w>P2{c9s>Y@GT$E-fy~^P`e|+T#Y% zUbI|(b;{=a6^{(Yt4QI({A{_QReVeme#YN)h zQM06xiS)b_SfkNa?(HR&_PJL!=dXBVaP5;5Yl{=p zESF+D$v@0_YbjR?^Uv-<@%0iE|5+Z{oL|Dy^76M?(#Otv9vPh5z@slY{~I%WM`gYH{OfmyMDt$m&vns*_^@SV#R3(*ND?Ig{R^*W_h7(aUIG<%TH)8LLU3k zr@EgkkjJe4J2}WMYe`3;XTp_XcsP#5y+=jMX zl5cjYZza0FL!O}RpYX_FJ{bLLIf?#p++Xpi721AXU69X~(O;^3VU(b|2f_V|-7l8D zjh08;u{qOatuM+A^GLPQhNa>)W*Pa z<_4proi&o5f1aGfs4dzyu?XV#A$g>o>B0oON8|l{>)^{?9kVT$H?#WWc1E85q^}b~ z1nftiJ=d$rmZi#lbHJ7KeDxK%B)7_X9vS61V5H|Titq1ura5Eka*q`KGaj)ycLrwV zZ`CO%`R}3oBjgFr4f#dYGx7GT1*8WT^*l0|4@REp&+0VvkK^vDmzmF7D7SPuExkSu zIjqwb^z_)B#ATN=NVOgl54r_DY-3^TWi?C_ySvh!OXL34F%#c0XAbEMo!^m12K5Yl zSD23|lS`W4BUr$?2x|b=F4$~=T>qKP>7KYq>Q|;bSEb;{RJ_Khwo&rYcQ$A3^9!X# zt21$JJEi7L+f*j&(;jhs{+g+*1$pd8pA~lYp!<82!aoa~C4GG}%Um&PlyIa~$GEGN z7sz(1bM*BLJIAT@)%T^mv>-C19{uTfyr;8vh&)ejP4(FCc#TnQqvV~$e>~1h*27=w zwWa*W`5*hQKDVmengU)f74xzv@ret=%D0G-iR$FJ=tbq>$UW%k$e$e>ou4Ls9< z)y(K0$IaJpfaJZ`oh#l@^{?@$C)y6n$w_?v(0Vl%hX}eFNvRLjdW_wFtKXX|`>e1z zCw_B?yvb8^tPW4bYfPKbE^+by%#*wB)brSnKGk|4O3ty!<{Z*n6mJczDdyM^E*N>1 zGmNP?+eOj;2>BoT%vI{(_Pt(_Q0WYa9Ye>Ju~@jFk7o9Q`%MqXnoAN^apcXO_sxLnU;Kl)Vb0oo52{GM0# zOk#2rYHeoiopVTswwKLA$1fJ2RipJnp5R!2!XtzEVDzu#GwF~1aok_=s1@3xp1K-I zxwoqI7`xA&-8@eYrgK5I$DO#nMYf9r_J#{aUSn#94Dc%3WuBa2o1Vvh^r_y*DYq%U z=-a0`d9Lq&Isrq$Nd$L zTA?kjS63skXSdR|#_BOvZ(O-HU+#XB?x!VO`SLfOh)H)t1S798uc|)rN^@tPT!PNC z$YVeHRO=bi|FF&3VtZD8Mut~nz=aUO$Se92bLYWpMgKk9ZO-~G37ozEHu1zp+HWCG z(DqMwWH29${+TB1jDY@e++Xpi721}%l!<@a^odw7ZK!}X9@d8eEh|~tex5HkyG!o} zoyo*sz44zo*CkZIe&pG6^R~C1tJGHqHf84PExRdJETiXs2iWaBj$N%Tt(t9QINy*HF(RgZW_OwVXu%m`h#f z6y_Ipej*-dulm<`)D~@vO(?=w_If5(tIzlp-PV2zQr5`o^EY`1EA8@BcU61XflssU zhS=^Voxgxb2KC%}wi%zHW}=vLaFBp?FV=Xhy=qF7T#M@MS)*r4LYsGDmdhhj@fxGr zM#`oHdTqAtEU7B3_bUBewi`I@P`UdX?4ZYW;kCa4%_p+rDA~y?=*1)>N!ral>>u1MTO(<26RL zrL}CeIp5dlC0+YIK%D>o^{+Dbl3FSA_da8DmOE2II^^+Me3qW#3p(T6{)9&cwKDo= zIk8|jFi6qbtr$<%g<`!IOA+?(zr$Zv&y^r_Zkk@BE^QQa)vQm8mCwEU$MsKoclgTton9{Smht}^;<2bXp8*+HpYw3Mhq6ax6|{;U_Kam zEf3K@=G(NJ@#49CK4P(ss(+0~ZPC_6$|l91igZ*Q6DH_tRHZ&w>tUt-=`l^79%Xa3 zd74gqkl5RC=W;|UzHc%UpKVO+jS17_WpnjB_M=a=9*dO6O#eO4^k+=k+~HK8N6K?& z+ngDnxQP94wsx#aQ0rkW2XHLpgKOV$)cdQg%e5zvGoXlbF%{mT;`SmGa^BoAu^}FM2x)(dUyf zra0E0@W^0382vN-*%=M}){i6rC;~SVwW+JcT>fFTz28 zf|1u4pXUKy^PSV=xl8pt_M=a=9;3aT_7n7PHHv=>cdERDdl0CC9}C%vsO5E z)93dvrfB;oJTjOMM*mEIc8){;IPR}_)Cz5Jy}BAzsn6A#S*e#yGnD%I$LR!)ecy2W zf^Z=fpUklSRRgBWtbR7~T0ioL-nYVY6jOn+kNH=`B(%hCP%yZZ<3L6L9={VDai zmIFA4KjD$Vd@%Y~@}JIV=pS?GcRaIYnxHMNS6`#jv#E(^^)RdVGFFa~|3~dHm2&a_ z`)7zbeYY^d$ZO1nDm5%+`5E#Ns-Ka^e)Or@+|0_kxD&OaQzmz>so6dB}Ie@mvSDIf@;Tzjh^O{f0hg3YHYMXk$*|uowGTQ zQlY7MjoEd)b(}}oM0x#rJ&*n9Q>j;JK4a+h5cF^4*_;^@a|IhS#OO@$aq)X2l za)rCF*OOCpMqA_;1ZR+L*J;c}kJIzWpjJj+(S**G=pVXGbs%*U}d4jfo z!XtzEVDzu$B>Km3f5oF#XuIS>ycnIS9Op7AT+r3<%K1e-FR=P>(4g^hWvUx{UUm^b zU3BBd?T$#rYs~#CV`8IbkC$uE>;K4OKl)VaRhHZT2e0HmF*$dRr{CTUlkYCk`^T8# zSbxGJgZY5-SNdsBU}sqLkK=w^nn~OgTb{eQT06g}JZg)!RSMj36x)-7>qyTh*VXXK z`9(cbu=?=D!SOOr>z&+ez1geoelFx`cq(3F9!wrC=3F&iwl383*pEJydX@ByrRxR# z8+oQVV~V=DNv!QpuW#QDT+FQ>>&EpduAX1C96;MY;gP|7F#2ct&(5&uA9LwfJZg)! zxL#ciubf}h^8%|6hZLM3SElpJn0d3g_uiMyW9vr!9W!2jLh(W#`_ZRT zuQF{n{hn9!Cx-uPF#YalnB03K#UkmuXS8KMS2T(0XUG#A>rZ%OFdvNmnf~mYi~e!k zU-76F+M+(X8eTcSsOJS%A67^|QJzS3V|29-T$W44%$w-i~m&oT6QlHc)6bHe+@vy} zG^waLuDN<1(Q*K7k-spo3cq}PQFA}#_k&XM3K`4?Bd_RBd5Hcomwv^gwrE>xc13>a z)gESFpHKm7csws0{N`(E+CNgBLg$6SFdY;v9Yu^OP z73uS$SkD`IjXCboK5o~g5V`wpJ&*n9Q>`ccWYbAKkMlIzntG`GoJ~Pej=81ya(C(b z2(T{nIi*%ZT8p2uUL&t*qW7Po&&=ZgNO8-`@Ld|x^P|W=(}bP-jJ)P2mxsUPTCoH_ zcZQxvt_?wU-N^LW{Ci%}keHg|T@^iN(7mSR)*s^c8jZNeJJs`rmIFA}pYX_F?2P`k zoJ9YaOTXe#E3`#Dbu~6SU$FeAdY;v9nO6tM)uZXV9{;$AlUr`)yg!5sMqXoj`A>?i z^dUg*NAW@)`_ZRbPf|XUw!h<*oF^try6Kb~esUzWvmO-eyS8=b2K-O0=d~QbvHpZd z2J^w_U&~4KkGb?K9<@SST(7RiX6FmipVjlMew#ltQ2s>gT{v_xx2UH(*Ccy{VB|IC zHDNco@vgQPQjNH{ipqB zbFK?s;%MzZjIVl~K2HL9g0{%7%`${Pb#ONSy&*kc6nJDXAB?<~ljtA)G^o;mU(h}? zH?|0UUIKC$wL)9eQ(t3KZASXDdY;v3?Oue+52*bmLuEcPcYkiulMunkYs`_t)h%vu z!E(+sdLH}HCu`@bqt;^+ZdT&=zwXVwcuAk%20zFY{?W@)x5+T2p7|AzjA=(FT8mo$ zc-j-WZvij33vrw29%F&F z<4afJJuLk>mzyC1*6?^tZ|xBzU_bK5{`0e(o)Mzx z|0^CDjNPsu_4($*dvo`1tM6ZEIfG*%|5mc_uM76(s(wp;zau#(jlAaP>Jtm!r*=Qi zJ4w&u+R=96{sH`0ajAK%Uyy)xGS*ier~o9BM!5o^3*O+Fm+2e9e8!Ydn{T6xbN1tlF)Km7N z*BO4tvpF;7+@ze!{8wD1@6!#MCO&u-%q@JTex66u5XVCPv}J}Ev@MwX_dh+43~FWM z*>%m%S?C|*yRPpHvEBV}j{cPQ3p5_JMO$32u7*_VXSJqf^~u~vzH-n`o3p)#VE>=_ zAXn&ZxM1Wprh$28?39t`(o&=&c; z4Wb>cG1>SBp;W&?ULk||VC0p2CjHSr`nlhAp~F$@Ajh%m3vw8>LfcN~UAV^a#ks7T zA_QFxsni~7y~^qk-#Ruq@*#bmtxryV!H#R((&r(mc#ZMs-o&frxWRH6%2njCAAPEI zPEUEvahvn}iHDpx_k*}MJXA39OmoKc3*eM^Wv2H@S9BXF4)br!O=zmtt6EIa7WoG= zJ976&_2Nv8^gJ?{4@REp&(2WjA9JZv-}YSTa@Dx^L$vx?Hru7?Y{ z8d9mB)q0iH2{k?rk;l{PHl^k*cbq>MCSD#Dk&4%t$czbIRU6yn5%jzWEdQbA zXaW1N1~%=eWicfVQsS7U`DJd;zHxlCtC3G(Fz)Av+;l8Th~du&e!BQ#OmW=Sv6+R2 zZPN(t9hDTG>BG)Y$e?XMm*f2H{)5Ce-{|=;ki)okwB0-ZBp2p3mVfIzTEMypYXH_B zb-24+`t|H1Jk-zU|G?g099;>MOOLVfU}% zce=^B&e@z*H%$>o<*3YGJw(s%f;tD8LQ<}{N&CCYf%N$hBL-7x%krb zJb%WsJ(ktIMqbml?8>xa`B|Cxck}c-YK68-!lsGw_bTx*2k1NtbqL<$SUcFQyZrG2 z)mN7K=0#5i^WDqQ>mdeSV}i@Ch;@73O+H8QLLU3kCu=|7(@M#QiY+;Fj}D&v{EZ=k zk=K~l+1|zsU-^3;nF3|$c~BHz7O!Eq)|y-Ft-&u(AFA_@j5Dp850R7)$Yajn+>kGt zcAwcVOHJPGJJT~IZ;`=#Gx99HtcFMb=;wL!z2@|TEAvG;s%Lc9NJ`C#wpW&Za;)_1 z!(Uk%B59$i-H+#rZhFGGWe!ixCo{#;4UKV)?Ix$8*B_9_e)P%O zUe7x!`uCaHliRa$FJJxbP{GJ+%neUBA?Jw>zvYp^{FxK>4Ew|Hr&LO$Z_T{^6q~CJ~9<@c=_*>DAe$^AXn*rg1 zu7*+WO=`Ww?o&^Asdgt!=O+4aJBbH<)h=jaLizO?>29(`6_v4ZLc_4+dMrsSN_ z`G;|Ddj@cyX71&y-k{g(ASaEy=BH_32d?arC)}|l+TVajZP6Bata-XTzTzEeTMoZ z@GhCt^F50B=y+tj23%J7eN^Wlk1@rukdIi(bGd@gay9y^^^cY_$YAV@yjH`be;k*7 ziivx_<~;X;{ayg%Flval$m{NjaL;A?*uv&5<%6`}el3_y{MOH#Z?z&wF!CD1_&Fvu z-|8-O6}#^0#t(QEB;X#4`?;wE?dL6sC;x}s)|i(K@#XV2pz9s__56-lldJ0g_1@KH z7t;X#$Y?!pDv`qAd|H3}WNvt{8{hgPyFaF^3&;8$uhkevUR!(O?a$^iL%jL=>s9|6 zk84NUVd?gmpI-Lm(|HC7c%5Pnuy(wA3t6PsV>4~*C;1OJ#m#LHn2OgJ#`|USQm%zj zQeVmPNahNT3=}ZOFrSx)CwNt=(?T9k=hNLi6Zr8BGw|Q?_z2jKd{b*y%h1{l6#p)z zmh&fH)Rc}k8>Zut!TJ0b`8W5e$uX|^WHmpvIpbK!*K%^4-@0R5>9JZqtNWgj*Zgc) Tz;o&S&vRl=J&$WgTjc*A8pYO4 literal 0 HcmV?d00001 diff --git a/Standalone/Research/WorldAssemblerM3/Round3/results/detail_legacy.vfmesh b/Standalone/Research/WorldAssemblerM3/Round3/results/detail_legacy.vfmesh new file mode 100644 index 0000000000000000000000000000000000000000..e12a387ce5b2eea5c253a224bea9c1623bf0f7f6 GIT binary patch literal 197960 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

    0ivFZbQvo(+%xK}H7q4*NIh#rRU{ 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

    {W6*Le=pX%LT)W5F-0jDEz99XL7)EW; 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

    Yw$5s;*|Dlrz^|n zS$WK<>&=ztdf}7uU%Ysql*YUoPS;ni+VSV$JW0(k-$iQU6(Ulk`={l# z#dz(QU&7(F`-~&vVMHq4U;=uamJCo}`P(Lo7TpOP{_D!miSbrHXlzAy3GVXV%Fjd~s!o`9owo zZ!kU1{>Aq!`~5$8Wbj*rg-gtpdUj~W0>%4vF+Va9o^+W*x7liIh{u^KlaL!V}c<=sb=c#=fi>opir{Ce?3O zn2h^49#76!xy@JgF2P5MhC&WExT~GlKRJd z9}ABRj<4Ts7wJW&Osw5Z{rqld2Kz$3?Ycnrtw~X~tUcZDGc{@FjXbBE>#){$bE|{2 z@6Vb%Zac>2zO_g?7V4t>k}E>S@5a)-UE`ax`h8w6?jwAO^{wwI0Y^KlK{3IpczU-a zG5BqWTB@(QX30)vu=c$zGbesupm()6p*KA??0IhXeR-g|C6Tt*2!`t&)(!edUo zFE4)Ri%-gb@wAP^;Jf`VrY)~-pOhqZZxJF}k5T$QNXJ;xc^}oCXB5lnE~aG{8jeuU z`Uj@s4W{<4{d|~jL*7Un&ymM=%&G53;`=&czsuoTnC%+yMJZb-M7Hy^{>0>R6+XRK zcKYO#;{9crGHcjPX~$~Pvsq`1MgCH^d1}(^rP3d_==WbHj||q+&Kt*V%#V3SzL=oa z9`U>4d&Zb=>gP?YEylWf{!nU7U~1^NQ8FH*@OZe!{S0q4#+`o^^=~+Rp0qL`FB>*L zRK|AX@w>4R!GB1X#q-Gv#QRK;M+UzO(BtxI7P#`Ba?s7s!Xr~@1cP%a{YjIUAM;Flyo%+&G)Q%NOwYHN8phgUY`@QE zl6qIn#NKWQlkvEL`#3G<^77)5;@I-gZKxip$=`mgk2dm zNXBCb9)E^aiQ_j!{xFfhWZnF%+xEKB*k_?Kwj+<D`!&k&mK~3;fElP+m5lL zJI>#8H&02a+wlk)k4v}@(sEDnT_l&UJ}GMh%By8N`AB8ohNR*RhIr#UF9WJIQID6N z#umNwldbzWX+uArkWR`k>&t`0^=Bqe-+14N*roeR#(LUgg|Ddb9$p(&xlt$9>nQ2j+%C+C?>4maMop~w z%{;lf*Hh0%Ok*>m=y}~_ttNDiu=7TqT3ub$%PBt69|Ot%GB|I<;RQ0^5WutmUr@Ib?c7I z?3I&#f75ucqdnH(N3Oo0mLF0|p8WVX8MhJZnQ`}v0AY%=RCBSY(KtQ+#TE8I-HI-|V2@~5QL$6#<9kq_#&P)gsvrrdmE t^?&NA?{~;x?A-1_(tb~8R`!*Cf5+HQaoaKWt9aMurl*Biy4|7j{{b2AHZcGI literal 0 HcmV?d00001 diff --git a/Standalone/Research/WorldAssemblerM3/Round3/results/detail_native.vfmesh b/Standalone/Research/WorldAssemblerM3/Round3/results/detail_native.vfmesh new file mode 100644 index 0000000000000000000000000000000000000000..aba4f7ef5fe07597b774a185f4a903df050fdac1 GIT binary patch literal 1253864 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 z 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%0AB;&0@#wDts9C)4vVJwNkr(TnH;Q#y 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

    OlGJKOD(uk0DG|FZzroXow8z*=wSb>2}eD?0eXT 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�IZ0!R`q*y$9NU#7U*8=H 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 Z-dGjWhMgX>pFKU9^z?cR&k 52075.827 > 51200 at LOD8 tile (2,0,-1); 4.125 -> 53960.427 > 52800; 4.25 -> 54806.919 > 54400; 4.5 passed edge bounds but yielded no full-span LOD0 candidate. Restoring the correct split chunk mapping and baseline 4.0 threshold passed. +FAIL: Earlier compile errors were corrected: DuplicateObject overload, private helper access, unresolved GetEffectiveWorldSeed export, and uint32-to-int32 narrowing. Initial standalone invocation with -Workers failed; -CompileWorkers 4 succeeded. +RETRY/ENVIRONMENT: One requested retry followed a 0xC0000142 shell-start failure; additional PowerShell/cmd inspection launches also failed with 0xC0000142. No subsequent BuildHost attempt was made. No 0xC0000142 BuildHost retry occurred during the completed runs. +CRASH CHECK: No new UECC-* folder reported; only historical folders dated 2026-09-17 and 2026-10-08. The CreateLocalPlayer hang was manually stopped, not a crash. Latest BuildHost test peak was below 4 GB; all completed test/build steps stayed within 15 minutes. +CURRENT TREE CAVEAT: XY-column cache was edited after the passing/profiled BuildHost run. It remains uncompiled and unmeasured due shell startup failures; current tree is not verified until that edit is built/tested or reverted. diff --git a/Standalone/Research/WorldAssemblerM3/Round3/results/world_assembly_floating_islands.json b/Standalone/Research/WorldAssemblerM3/Round3/results/world_assembly_floating_islands.json new file mode 100644 index 0000000..1b92aae --- /dev/null +++ b/Standalone/Research/WorldAssemblerM3/Round3/results/world_assembly_floating_islands.json @@ -0,0 +1 @@ +{"schema_version":1,"content_hash":"94b563f1ce622def","recipe":{"schema_version":1,"evaluator_version":4,"units_per_voxel":256,"seed":0,"biome_cell_size_q":204800,"biome_warp_q":64000,"biome_warp_wavelength_q":142222,"biome_border_blend_q":30720,"climate_relief_wavelength_q":853333,"climate_moisture_wavelength_q":640000,"climate_relief_contrast_q16":131072,"content_hash":"c37de78b759c0a4c","biomes":[{"id":4097,"base_height_q":-516096,"continent_amplitude_q":128000,"continent_wavelength_q":256000,"mountain_amplitude_q":0,"mountain_wavelength_q":128000,"detail_amplitude_q":512,"detail_wavelength_q":6400,"relief_min_q16":0,"relief_max_q16":19661,"moisture_min_q16":0,"moisture_max_q16":19661,"relief_strength_q16":6554,"relief_contrast_q16":104858,"relief_wavelength_q":2560000,"height_warp_strength_q":12288,"height_warp_wavelength_q":32000,"beach_width_q":3072,"cliff_strength_q16":0,"cliff_slope_threshold_q16":32768,"cliff_sharpness_q16":131072,"cliff_sample_distance_q":512,"cliff_max_displacement_q":0,"cap_enabled":true,"cap_height_q":-149094,"cap_warp_strength_q":0,"cap_warp_wavelength_q":25600,"cap_undulation_q":256000,"cap_wavelength_q":1280000,"cap_detail_amplitude_q":2560,"cap_detail_wavelength_q":25600,"cap_ridge_amplitude_q":0,"cap_ridge_wavelength_q":12800},{"id":4098,"base_height_q":-484639,"continent_amplitude_q":128000,"continent_wavelength_q":256000,"mountain_amplitude_q":128000,"mountain_wavelength_q":512000,"detail_amplitude_q":512,"detail_wavelength_q":25600,"relief_min_q16":52429,"relief_max_q16":65536,"moisture_min_q16":52429,"moisture_max_q16":65536,"relief_strength_q16":45875,"relief_contrast_q16":104858,"relief_wavelength_q":170667,"height_warp_strength_q":12288,"height_warp_wavelength_q":25600,"beach_width_q":3072,"cliff_strength_q16":65536,"cliff_slope_threshold_q16":19661,"cliff_sharpness_q16":327680,"cliff_sample_distance_q":5120,"cliff_max_displacement_q":2570240,"cap_enabled":true,"cap_height_q":-149094,"cap_warp_strength_q":0,"cap_warp_wavelength_q":25600,"cap_undulation_q":230400,"cap_wavelength_q":1280000,"cap_detail_amplitude_q":2560,"cap_detail_wavelength_q":25600,"cap_ridge_amplitude_q":0,"cap_ridge_wavelength_q":12800},{"id":4099,"base_height_q":-516096,"continent_amplitude_q":20480,"continent_wavelength_q":85333,"mountain_amplitude_q":0,"mountain_wavelength_q":128000,"detail_amplitude_q":512,"detail_wavelength_q":6400,"relief_min_q16":6554,"relief_max_q16":26214,"moisture_min_q16":32768,"moisture_max_q16":52429,"relief_strength_q16":0,"relief_contrast_q16":16384,"relief_wavelength_q":170752,"height_warp_strength_q":16640,"height_warp_wavelength_q":32000,"beach_width_q":3072,"cliff_strength_q16":0,"cliff_slope_threshold_q16":32768,"cliff_sharpness_q16":131072,"cliff_sample_distance_q":512,"cliff_max_displacement_q":0,"cap_enabled":true,"cap_height_q":-149094,"cap_warp_strength_q":0,"cap_warp_wavelength_q":25600,"cap_undulation_q":256000,"cap_wavelength_q":1280000,"cap_detail_amplitude_q":2560,"cap_detail_wavelength_q":25600,"cap_ridge_amplitude_q":0,"cap_ridge_wavelength_q":12800},{"id":4100,"base_height_q":-385024,"continent_amplitude_q":20480,"continent_wavelength_q":256000,"mountain_amplitude_q":20480,"mountain_wavelength_q":512000,"detail_amplitude_q":512,"detail_wavelength_q":25600,"relief_min_q16":64881,"relief_max_q16":65536,"moisture_min_q16":52429,"moisture_max_q16":65536,"relief_strength_q16":45875,"relief_contrast_q16":104858,"relief_wavelength_q":170667,"height_warp_strength_q":12288,"height_warp_wavelength_q":25600,"beach_width_q":3072,"cliff_strength_q16":0,"cliff_slope_threshold_q16":32768,"cliff_sharpness_q16":131072,"cliff_sample_distance_q":512,"cliff_max_displacement_q":0,"cap_enabled":true,"cap_height_q":-149094,"cap_warp_strength_q":0,"cap_warp_wavelength_q":25600,"cap_undulation_q":230400,"cap_wavelength_q":1280000,"cap_detail_amplitude_q":2560,"cap_detail_wavelength_q":25600,"cap_ridge_amplitude_q":0,"cap_ridge_wavelength_q":12800}]},"plan":{"schema_version":1,"content_hash":"89cd31291d2aefa4","strates":[]},"floating_islands":[{"strate_index":1,"top_chunk_z":-16,"bottom_chunk_z":-79,"manifest":{"schema_version":1,"content_hash":"54160b4d25d0279f","recipe":{"schema_version":1,"units_per_voxel":256,"owner_voxel_size_microns":125000,"core_voxel_size_microns":250000,"owner_to_core_scale_numerator":1,"owner_to_core_scale_denominator":2,"seed":0,"origin_x_q":6144,"origin_y_q":2048,"center_top_z_q":-243716,"layout_min_z_q":-264196,"layout_max_z_q":-231428,"primary_island_count":3,"island_density_q16":32768,"spacing_q":14336,"minimum_radius_q":3072,"maximum_radius_q":6144,"thickness_ratio_q16":39322,"vertical_jitter_q16":39322,"top_flatten_q16":39322,"taper_end_min_q16":29491,"taper_end_max_q16":45875,"geometry_version":2,"crust_depth_bonus_q16":9830,"root_depth_ratio_q16":49152,"blend_radius_q":768,"contour_warp_q":1613,"roughness_q":256,"boundary_seal_q":512,"bridge_half_width_q":640,"bridge_thickness_q":1024,"route_constraints":{"version":1,"capsule_radius_q":348,"capsule_height_q":1802,"maximum_grade_q16":17560,"sweep_spacing_q":128,"support_probe_radius_q":230,"support_search_depth_q":512,"minimum_clearance_q":128,"minimum_support_probes":3},"content_hash":"ef1340d32b072ba3"},"plan":{"content_hash":"61fd58f65c5fe157","islands":[{"stable_id":"e6e461e18b3a9c87","ordinal":0,"center_q":[-3891,6470,-245890],"radius_q":3605,"top_half_q":721,"top_z_q":-245169,"bottom_z_q":-250577,"taper_end_q16":41663,"bounds_min_q":[-11669,-1308,-253137],"bounds_max_q":[3887,14248,-242609]},{"stable_id":"2bc1820baba047f6","ordinal":1,"center_q":[6144,-3130,-244454],"radius_q":3693,"top_half_q":738,"top_z_q":-243716,"bottom_z_q":-249256,"taper_end_q16":33506,"bounds_min_q":[-1722,-10996,-251816],"bounds_max_q":[14010,4736,-241156]},{"stable_id":"adc259cbe2a395e9","ordinal":2,"center_q":[16179,6729,-244627],"radius_q":5181,"top_half_q":1036,"top_z_q":-243591,"bottom_z_q":-251363,"taper_end_q16":39164,"bounds_min_q":[6825,-2625,-253923],"bounds_max_q":[25533,16083,-241031]},{"stable_id":"7855fb022cc561c9","ordinal":3,"center_q":[-307,-17466,-243393],"radius_q":5840,"top_half_q":1168,"top_z_q":-242225,"bottom_z_q":-250985,"taper_end_q16":33440,"bounds_min_q":[-10320,-27479,-253545],"bounds_max_q":[9706,-7453,-239665]}],"cluster_edges":[{"stable_id":"eaa5dd310e846520","from_island_id":"e6e461e18b3a9c87","to_island_id":"2bc1820baba047f6","start_q":[-2536,5174,-245089],"end_q":[4756,-1803,-243568],"half_width_q":640,"thickness_q":1024,"bounds_min_q":[-4200,-3467,-249185],"bounds_max_q":[6420,6838,-242544],"sharp_tag_ready":true},{"stable_id":"034023599b466c51","from_island_id":"2bc1820baba047f6","to_island_id":"adc259cbe2a395e9","start_q":[7514,-1784,-243592],"end_q":[14257,4841,-243505],"half_width_q":640,"thickness_q":1024,"bounds_min_q":[5850,-3448,-247688],"bounds_max_q":[15921,6505,-242481],"sharp_tag_ready":true},{"stable_id":"4962fa885545fb26","from_island_id":"2bc1820baba047f6","to_island_id":"7855fb022cc561c9","start_q":[5356,-4881,-243607],"end_q":[939,-14697,-242382],"half_width_q":640,"thickness_q":1024,"bounds_min_q":[-725,-16361,-247703],"bounds_max_q":[7020,-3217,-241358],"sharp_tag_ready":true}],"route":[{"feature_id":"2e805a1f1f778cbb","position_q":[-3891,6470,-244091],"radius_q":1024},{"feature_id":"5be3b2b1e01722ea","position_q":[-3174,5784,-244115],"radius_q":1024},{"feature_id":"ab4eda612c1f03b5","position_q":[-2457,5099,-243913],"radius_q":1024},{"feature_id":"ba2fd2b050d0dd8c","position_q":[-1741,4413,-243785],"radius_q":1024},{"feature_id":"fc5829ee129fdc4f","position_q":[-1024,3727,-243652],"radius_q":1024},{"feature_id":"1393bb00329a9d5e","position_q":[-307,3041,-243520],"radius_q":1024},{"feature_id":"1dabc9715c93e2c9","position_q":[410,2356,-243369],"radius_q":1024},{"feature_id":"0ea2008a85e73050","position_q":[1127,1670,-243233],"radius_q":1024},{"feature_id":"754f55a5f1465cf3","position_q":[1843,984,-243098],"radius_q":1024},{"feature_id":"1b6752776b4a7d22","position_q":[2560,299,-242937],"radius_q":1024},{"feature_id":"0ab3b704db76084d","position_q":[3277,-387,-242770],"radius_q":1024},{"feature_id":"bd6980911e0879c4","position_q":[3994,-1073,-242636],"radius_q":1024},{"feature_id":"ad164d7d0c049d87","position_q":[4710,-1759,-242544],"radius_q":1024},{"feature_id":"9661463acbada2d6","position_q":[5427,-2444,-242670],"radius_q":1024},{"feature_id":"280a96547fadb0a1","position_q":[6144,-3130,-242660],"radius_q":1024},{"feature_id":"531455b42fc13108","position_q":[6861,-2426,-242699],"radius_q":1024},{"feature_id":"55d04c20849d7fcb","position_q":[7578,-1722,-242444],"radius_q":1024},{"feature_id":"ac4ebe80860dbdfa","position_q":[8294,-1017,-242488],"radius_q":1024},{"feature_id":"ff942855bf8e3fc5","position_q":[9011,-313,-242525],"radius_q":1024},{"feature_id":"e6b8bba6c6acaf9c","position_q":[9728,391,-242529],"radius_q":1024},{"feature_id":"ae47379bbd4f7fdf","position_q":[10445,1095,-242512],"radius_q":1024},{"feature_id":"98779442384a30ee","position_q":[11162,1800,-242471],"radius_q":1024},{"feature_id":"f4c7757b2ee9fe19","position_q":[11878,2504,-242482],"radius_q":1024},{"feature_id":"3ea33fae0f75b9e0","position_q":[12595,3208,-242473],"radius_q":1024},{"feature_id":"38a8dfe9adb37e83","position_q":[13312,3912,-242440],"radius_q":1024},{"feature_id":"dfde44af59268bf2","position_q":[14029,4616,-242419],"radius_q":1024},{"feature_id":"0378552bc60e49dd","position_q":[14745,5321,-242573],"radius_q":1024},{"feature_id":"40dd5b33f799a194","position_q":[15462,6025,-242552],"radius_q":1024},{"feature_id":"fc2c5b613f6a5cd7","position_q":[16179,6729,-242521],"radius_q":1024}]}}}]} diff --git a/Standalone/Source/OwnerWorldLoader.h b/Standalone/Source/OwnerWorldLoader.h index 549e864..ca3f8b7 100644 --- a/Standalone/Source/OwnerWorldLoader.h +++ b/Standalone/Source/OwnerWorldLoader.h @@ -299,6 +299,17 @@ namespace StandaloneOwnerLoader Error = "export voxel_size_cm does not match the standalone VOXEL_SIZE"; return false; } + const VFJson::Value& OwnerVoxelSize = Root.Get("owner_voxel_size_cm"); + const VFJson::Value& CoreVoxelSize = Root.Get("core_voxel_size_cm"); + const VFJson::Value& OwnerToCoreScale = Root.Get("owner_to_core_length_scale"); + if (!std::holds_alternative(OwnerVoxelSize.Data) + && (!OwnerVoxelSize.IsNumber() || OwnerVoxelSize.Number() != 12.5 + || !CoreVoxelSize.IsNumber() || CoreVoxelSize.Number() != 25.0 + || !OwnerToCoreScale.IsNumber() || OwnerToCoreScale.Number() != 0.5)) + { + Error = "owner-to-Core import scale must be 12.5 cm to 25 cm at a 0.5 length ratio"; + return false; + } Out.Seed = static_cast(Root.Get("seed").Integer()); Out.ClipRadius = static_cast(Root.Get("clip_radius").Integer(6)); Out.MaxClipLevel = static_cast(Root.Get("max_clip_level").Integer(8)); diff --git a/Standalone/Source/VoxelForge/Public/VoxelStrateTypes.h b/Standalone/Source/VoxelForge/Public/VoxelStrateTypes.h index 5578cf4..a7464f3 100644 --- a/Standalone/Source/VoxelForge/Public/VoxelStrateTypes.h +++ b/Standalone/Source/VoxelForge/Public/VoxelStrateTypes.h @@ -1741,7 +1741,8 @@ struct VOXELFORGE_API FFloatingIslandParams UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Islands", meta = (ClampMin = "0.0", ClampMax = "1.0")) float IslandDensity = 0.5f; - // Island horizontal radius range (voxels): 12-24 m landmass diameters by default. + // Owner scale: 24–48 legacy voxels = 3–6 m radius at 12.5 cm/voxel (6–12 m diameter). + // Echelle proprietaire : 24–48 voxels legacy = rayon de 3–6 m a 12,5 cm/voxel (diametre 6–12 m). UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Islands", meta = (ClampMin = "2.0")) float IslandMinRadius = 24.0f; @@ -1765,7 +1766,8 @@ struct VOXELFORGE_API FFloatingIslandParams UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Islands", meta = (ClampMin = "0.0")) float SurfaceRoughness = 3.0f; - // SmoothMin blend radius for merging overlapping islands (voxels): 1.5 m by default. + // SmoothMin blend radius: 6 legacy voxels = 0.75 m at the owner's 12.5 cm scale. + // Rayon de fusion SmoothMin : 6 voxels legacy = 0,75 m a l'echelle proprietaire de 12,5 cm. UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Islands", meta = (ClampMin = "0.0")) float SDFBlendRadius = 6.0f; diff --git a/Tools/BuildVoxelForgeCoreHost.ps1 b/Tools/BuildVoxelForgeCoreHost.ps1 index 20fcf6f..aa314fc 100644 --- a/Tools/BuildVoxelForgeCoreHost.ps1 +++ b/Tools/BuildVoxelForgeCoreHost.ps1 @@ -130,11 +130,11 @@ $buildSucceeded = $false for ($attempt = 1; $attempt -le 2 -and -not $buildSucceeded; ++$attempt) { $attemptStdout = if ($attempt -eq 1) { $BuildStdout } else { Join-Path $LogRoot 'UBT-CoreIntegration.retry.stdout.log' } $attemptStderr = if ($attempt -eq 1) { $BuildStderr } else { Join-Path $LogRoot 'UBT-CoreIntegration.retry.stderr.log' } - Write-Host "BuildHost UBT attempt $attempt of 2; max parallel actions=$MaxParallelActions; normal priority." + Write-Host "BuildHost UBT attempt $attempt of 2; max parallel actions=$MaxParallelActions; BelowNormal priority." $process = Start-Process -FilePath $dotnet -ArgumentList $argumentList -WorkingDirectory $PluginRoot ` -RedirectStandardOutput $attemptStdout -RedirectStandardError $attemptStderr ` -WindowStyle Hidden -PassThru - $process.PriorityClass = [Diagnostics.ProcessPriorityClass]::Normal + $process.PriorityClass = [Diagnostics.ProcessPriorityClass]::BelowNormal $started = [datetime]::UtcNow while (-not $process.HasExited) { Start-Sleep -Seconds 5 diff --git a/Tools/TestVoxelForgeCoreWorldHost.ps1 b/Tools/TestVoxelForgeCoreWorldHost.ps1 index 3742686..33ac887 100644 --- a/Tools/TestVoxelForgeCoreWorldHost.ps1 +++ b/Tools/TestVoxelForgeCoreWorldHost.ps1 @@ -5,7 +5,8 @@ param( [ValidateSet('MarchingCubesV1', 'WorldAssemblerHybridV1', 'WorldAssemblerHybridV2')][string]$CoreMesherRecipe = 'MarchingCubesV1', [switch]$EnableHybridFixturePlacement, [switch]$HybridCliffOnly, - [switch]$HybridFixturesOnly + [switch]$HybridFixturesOnly, + [switch]$FloatingIslandsOnly ) # Exercise AVoxelWorld Core streaming, collision, anchor movement, and carving in BuildHost only. @@ -41,7 +42,11 @@ function Assert-UnderPath([string]$Candidate, [string]$Root) { Assert-UnderPath $HostRoot (Join-Path $PluginRoot 'Saved\BuildHost') Assert-UnderPath $OutputRoot (Join-Path $StagePlugin 'Saved') if ([string]::IsNullOrWhiteSpace($WorldAssemblyManifestPath)) { - $WorldAssemblyManifestPath = Join-Path $PluginRoot 'Standalone\Research\WorldAssemblerM1\round4\world_assembly.json' + $WorldAssemblyManifestPath = if ($FloatingIslandsOnly) { + Join-Path $PluginRoot 'Standalone\Research\WorldAssemblerM3\Round3\results\world_assembly_floating_islands.json' + } else { + Join-Path $PluginRoot 'Standalone\Research\WorldAssemblerM1\round4\world_assembly.json' + } } $WorldAssemblyManifestPath = [IO.Path]::GetFullPath($WorldAssemblyManifestPath) Assert-UnderPath $WorldAssemblyManifestPath $PluginRoot @@ -84,7 +89,13 @@ foreach ($directory in @($OutputDirectory, $InputDirectory, $LogDirectory, $Loca } Copy-Item -LiteralPath $WorldAssemblyManifestPath -Destination $StagedWorldAssembly -Force $ManifestData = Get-Content -LiteralPath $StagedWorldAssembly -Raw | ConvertFrom-Json -if ($ManifestData.content_hash -ne '8933693d9560ba9f') { +if ($FloatingIslandsOnly) { + if ($ManifestData.content_hash -ne '94b563f1ce622def' -or + @($ManifestData.floating_islands).Count -ne 1 -or + @($ManifestData.plan.strates).Count -ne 0) { + throw "BuildHost world assembly input is not the reviewed round-3 island manifest: $($ManifestData.content_hash)" + } +} elseif ($ManifestData.content_hash -ne '8933693d9560ba9f') { throw "BuildHost world assembly input is not the reviewed round-4 manifest: $($ManifestData.content_hash)" } if ($EnableHybridFixturePlacement -and $CoreMesherRecipe -eq 'MarchingCubesV1') { @@ -102,6 +113,10 @@ if ($HybridFixturesOnly -and $CoreMesherRecipe -eq 'MarchingCubesV1') { if ($HybridFixturesOnly -and ($HybridCliffOnly -or $EnableHybridFixturePlacement)) { throw '-HybridFixturesOnly cannot be combined with the other focused hybrid modes.' } +if ($FloatingIslandsOnly -and ($CoreMesherRecipe -ne 'MarchingCubesV1' -or + $EnableHybridFixturePlacement -or $HybridCliffOnly -or $HybridFixturesOnly)) { + throw '-FloatingIslandsOnly uses the reviewed MC island manifest and cannot be combined with hybrid modes.' +} $CrashBefore = @{} foreach ($CrashRoot in $CrashRoots) { @@ -134,6 +149,7 @@ $HybridMesherFlag = switch ($CoreMesherRecipe) { $HybridFixturePlacementFlag = if ($EnableHybridFixturePlacement) { 1 } else { 0 } $HybridCliffOnlyFlag = if ($HybridCliffOnly) { 1 } else { 0 } $HybridFixturesOnlyFlag = if ($HybridFixturesOnly) { 1 } else { 0 } +$FloatingIslandsOnlyFlag = if ($FloatingIslandsOnly) { 1 } else { 0 } $BaseArguments = @( ('-project="{0}"' -f $HostProject), '-nullrhi', '-unattended', '-nop4', '-nosplash', '-NoSound', @@ -144,6 +160,7 @@ $BaseArguments = @( ('-LocalDataCachePath="{0}"' -f $DerivedDataCache), '-run=VoxelForgeExplore', '-seed=0', '-archetype=TunnelNetwork', '-slot=0', '-modes=export', '-gameconfig=1', '-coreworldtest=1', + ("-coreislandtest=$FloatingIslandsOnlyFlag"), '-settingsref=/Game/VoxelForge/DA_Settings.DA_Settings', ('-coreworldassembly="{0}"' -f $StagedWorldAssembly), ("-corehybridmesher=$HybridMesherFlag"), @@ -152,6 +169,11 @@ $BaseArguments = @( ("-corehybridfixturesonly=$HybridFixturesOnlyFlag"), ('-out="{0}"' -f $OutputDirectory) ) +if ($FloatingIslandsOnly) { + # Keep this stationary route fixture out of the movement gate; island/span cooked contacts are probed directly. + # Garder ce fixture immobile hors du gate de mouvement ; les contacts cuisines ile/pont sont verifies directement. + $BaseArguments += '-voxel.CollisionGate=0' +} $OldLocalAppData = $env:LOCALAPPDATA $env:LOCALAPPDATA = $LocalAppData @@ -171,11 +193,11 @@ try { $StdoutPath = Join-Path $LogDirectory $StdoutFileName $StderrPath = Join-Path $LogDirectory $StderrFileName $Arguments = @($BaseArguments) + ('-abslog="{0}"' -f $LogPath) - Write-Host "BuildHost Core actor commandlet attempt $Attempt of 2; normal priority." + Write-Host "BuildHost Core actor commandlet attempt $Attempt of 2; BelowNormal priority." $Process = Start-Process -FilePath $EditorCmd -ArgumentList $Arguments -WorkingDirectory $HostRoot ` -RedirectStandardOutput $StdoutPath -RedirectStandardError $StderrPath ` -WindowStyle Hidden -PassThru - $Process.PriorityClass = [Diagnostics.ProcessPriorityClass]::Normal + $Process.PriorityClass = [Diagnostics.ProcessPriorityClass]::BelowNormal $StartedUtc = [datetime]::UtcNow $PeakPrivateBytes = [int64]0 while (-not $Process.HasExited) { @@ -198,7 +220,8 @@ try { $ExitCode = $Process.ExitCode if ([string]::IsNullOrEmpty([string]$ExitCode) -and (Test-Path -LiteralPath $LogPath -PathType Leaf)) { $CompletedLog = Get-Content -LiteralPath $LogPath -Raw - if ($CompletedLog -match '\[VoxelForgeCoreWorldTest\] pass complete=1' -and + if (($CompletedLog -match '\[VoxelForgeCoreWorldTest\] pass complete=1' -or + $CompletedLog -match '\[VoxelForgeCoreIslandTest\] pass complete=1') -and $CompletedLog -match 'Commandlet VoxelForgeExploreCommandlet_\d+ finished execution \(result 0\)') { $ExitCode = 0 } elseif ($CompletedLog -match 'Commandlet VoxelForgeExploreCommandlet_\d+ finished execution \(result (-?\d+)\)') { @@ -230,6 +253,44 @@ if (-not (Test-Path -LiteralPath $FinalLog -PathType Leaf)) { $FinalLog = Join-Path $LogDirectory 'CoreWorldValidation.retry.log' } $Text = Get-Content -LiteralPath $FinalLog -Raw +if ($FloatingIslandsOnly) { + foreach ($Marker in @( + '[VoxelForgeCoreIslandTest] manifest_import=PASS', + '[VoxelForgeCoreIslandTest] standalone_reference=PASS', + '[VoxelForgeCoreIslandTest] worker_hash_matrix=1/8/16 stable=1', + '[VoxelForgeCoreIslandTest] pass phase=initial', + '[VoxelForgeCoreIslandTest] height_anchor_agreement=PASS', + '[VoxelForgeCoreIslandTest] content_anchor=PASS', + '[VoxelForgeCoreIslandTest] blueprint_edit=PASS', + '[VoxelForgeCoreIslandTest] switch_off_legacy=PASS', + '[VoxelForgeCoreIslandTest] pass complete=1', + '[VoxelForgePawnSpeedFixture] source=staged_blueprints walk_cm_s=600.000 sprint_cm_s=6000.000' + )) { + if ($Text.IndexOf($Marker, [StringComparison]::Ordinal) -lt 0) { + throw "BuildHost floating-island log is missing '$Marker'. See $FinalLog." + } + } + foreach ($Surface in @('island_top', 'span')) { + if ($Text -notmatch ('\[VoxelForgeCoreIslandTest\] capsule_contact=PASS surface=' + + [regex]::Escape($Surface) + ' .*collision_ready=1')) { + throw "BuildHost island log is missing cooked capsule contact for '$Surface'. See $FinalLog." + } + } + foreach ($Lod in @(0, 1)) { + if ($Text -notmatch ('\[VoxelForgeIslandStreaming\] timing lod=' + $Lod + ' kind=.*air .*core_p95_ms=') -or + $Text -notmatch ('\[VoxelForgeIslandStreaming\] timing lod=' + $Lod + ' kind=.*(island|mixed|span) .*legacy_p95_ms=')) { + throw "BuildHost island log is missing matched air and surface timing at LOD$Lod. See $FinalLog." + } + } + $NewCrashes = @(Get-NewCrashFolders) + if ($NewCrashes.Count -gt 0) { + throw "New UECC crash folders appeared during the island actor test: $($NewCrashes -join '; ')" + } + Write-Host "VOXELFORGE_CORE_FLOATING_ISLANDS_PASS manifest=$($ManifestData.content_hash) hashes=standalone water_fixed=1 lod=0,1 workers=1,8,16" + Write-Host "Core actor log: $FinalLog" + Write-Host "Peak commandlet private bytes sampled: $PeakPrivateBytes" + return +} if ($HybridFixturesOnly) { foreach ($Fixture in @('corner90', 'doorway', 'riser1m', 'cliff_ledge', 'organic_cave_chamber')) { $FixtureMarker = '\[WorldAssemblerHybridPluginFixture\] name=' +

    !h%!f{+#?Xz8!&%HDKHt-G(w5h9 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­w%v131-yGK(@2g7cJQ{1^F$XYSpW4Yf`y-Q{ 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