From aed7a1e051fed3ea2fcd1a2925ba8923961ae85c Mon Sep 17 00:00:00 2001 From: Niek Schoemaker <32094562+niekschoemaker@users.noreply.github.com> Date: Fri, 27 Oct 2023 21:31:09 +0200 Subject: [PATCH] Performance optimalizations and refactoring --- .gitignore | 1 + CodeWalker.Core/CodeWalker.Core.csproj | 7 +- .../GameFiles/FileTypes/AwcFile.cs | 2 +- .../GameFiles/FileTypes/Gxt2File.cs | 42 +- .../GameFiles/FileTypes/PedFile.cs | 2 +- .../GameFiles/FileTypes/YbnFile.cs | 2 +- .../GameFiles/FileTypes/YcdFile.cs | 12 +- .../GameFiles/FileTypes/YddFile.cs | 9 +- .../GameFiles/FileTypes/YdrFile.cs | 15 +- .../GameFiles/FileTypes/YedFile.cs | 13 +- .../GameFiles/FileTypes/YfdFile.cs | 10 +- .../GameFiles/FileTypes/YftFile.cs | 2 +- .../GameFiles/FileTypes/YldFile.cs | 43 +- .../GameFiles/FileTypes/YmapFile.cs | 10 +- .../GameFiles/FileTypes/YmfFile.cs | 10 +- .../GameFiles/FileTypes/YmtFile.cs | 2 +- .../GameFiles/FileTypes/YndFile.cs | 4 +- .../GameFiles/FileTypes/YnvFile.cs | 2 +- .../GameFiles/FileTypes/YptFile.cs | 2 +- .../GameFiles/FileTypes/YtdFile.cs | 11 +- .../GameFiles/FileTypes/YtypFile.cs | 2 +- .../GameFiles/FileTypes/YvrFile.cs | 2 +- .../GameFiles/FileTypes/YwrFile.cs | 2 +- CodeWalker.Core/GameFiles/GameFile.cs | 22 + CodeWalker.Core/GameFiles/GameFileCache.cs | 2896 ++--------------- .../GameFiles/MetaTypes/Archetype.cs | 23 +- CodeWalker.Core/GameFiles/MetaTypes/Meta.cs | 23 + .../GameFiles/MetaTypes/MetaNames.cs | 7 + .../GameFiles/MetaTypes/MetaTypes.cs | 49 +- .../GameFiles/MetaTypes/MetaXml.cs | 23 +- .../GameFiles/MetaTypes/PsoTypes.cs | 100 +- .../GameFiles/MetaTypes/XmlMeta.cs | 50 +- .../GameFiles/Resources/Drawable.cs | 26 +- .../GameFiles/Resources/ResourceBaseTypes.cs | 2 +- .../GameFiles/Resources/ResourceBuilder.cs | 26 +- .../GameFiles/Resources/ResourceData.cs | 88 +- .../GameFiles/Resources/Texture.cs | 27 +- CodeWalker.Core/GameFiles/RpfFile.cs | 560 +++- CodeWalker.Core/GameFiles/RpfManager.cs | 105 +- CodeWalker.Core/GameFiles/Utils/DDSIO.cs | 37 +- CodeWalker.Core/GameFiles/Utils/Data.cs | 103 +- CodeWalker.Core/GameFiles/Utils/GTACrypto.cs | 303 +- CodeWalker.Core/GameFiles/Utils/GTAKeys.cs | 96 +- CodeWalker.Core/GameFiles/Utils/Jenk.cs | 109 +- CodeWalker.Core/Tests/GameFileCache.cs | 2496 ++++++++++++++ CodeWalker.Core/Utils/Cache.cs | 97 +- CodeWalker.Core/Utils/FbxConverter.cs | 1 - CodeWalker.Core/Utils/Timer.cs | 35 + CodeWalker.Core/Utils/Utils.cs | 23 + .../CodeWalker.ErrorReport.csproj | 1 + CodeWalker.Peds/CodeWalker.Peds.csproj | 5 + .../CodeWalker.RPFExplorer.csproj | 6 + CodeWalker.RPFExplorer/Program.cs | 3 +- CodeWalker.Shaders/BasicVS_PNCTX.hlsl | 16 + CodeWalker.Shaders/CodeWalker.Shaders.vcxproj | 1 + CodeWalker.Shaders/Common.hlsli | 3 - CodeWalker.Shaders/DirLightPS.hlsl | 15 +- CodeWalker.Shaders/DirLightPS_MS.hlsl | 6 +- CodeWalker.Shaders/LightPS.hlsl | 6 +- CodeWalker.Shaders/LightPS.hlsli | 28 +- CodeWalker.Shaders/LightPS_MS.hlsl | 11 +- CodeWalker.Shaders/LodLightsPS.hlsl | 6 +- CodeWalker.Shaders/LodLightsPS_MS.hlsl | 10 +- CodeWalker.Shaders/LodLightsVS.hlsl | 1 + .../CodeWalker.Vehicles.csproj | 6 + .../CodeWalker.WinForms.csproj | 5 + CodeWalker/App.config | 45 +- CodeWalker/CodeWalker.csproj | 3 + CodeWalker/ExploreForm.Designer.cs | 36 +- CodeWalker/ExploreForm.cs | 573 ++-- CodeWalker/ExploreForm.resx | 50 +- CodeWalker/Forms/MetaForm.cs | 4 +- CodeWalker/Forms/ModelForm.Designer.cs | 4 +- CodeWalker/Forms/ModelForm.cs | 156 +- CodeWalker/Forms/ModelMatForm.cs | 2 +- CodeWalker/Forms/RelForm.cs | 8 +- CodeWalker/Forms/TextForm.cs | 4 +- CodeWalker/Forms/XmlForm.cs | 4 +- CodeWalker/Forms/YtdForm.cs | 7 +- CodeWalker/GameFiles/GameFileCacheFactory.cs | 14 +- CodeWalker/PedsForm.cs | 5 +- CodeWalker/Program.cs | 35 +- CodeWalker/Project/MenyooXml.cs | 4 +- .../Panels/EditProjectManifestPanel.cs | 2 +- .../Project/Panels/GenerateLODLightsPanel.cs | 2 - CodeWalker/Project/ProjectFile.cs | 20 +- CodeWalker/Project/ProjectForm.cs | 6 - CodeWalker/Properties/Settings.Designer.cs | 188 +- CodeWalker/Properties/Settings.settings | 24 + CodeWalker/Rendering/DirectX/DXForm.cs | 2 +- CodeWalker/Rendering/DirectX/DXManager.cs | 104 +- CodeWalker/Rendering/Renderable.cs | 55 +- CodeWalker/Rendering/Renderer.cs | 192 +- CodeWalker/Rendering/ShaderManager.cs | 27 +- CodeWalker/Rendering/Shaders/DeferredScene.cs | 17 +- CodeWalker/Rendering/Utils/GpuBuffers.cs | 3 + CodeWalker/Rendering/Utils/Shadowmap.cs | 2 +- CodeWalker/Rendering/Utils/UnitSphere.cs | 2 +- CodeWalker/Tools/AudioExplorerForm.cs | 1 + CodeWalker/Tools/BinarySearchForm.cs | 18 +- CodeWalker/Tools/BrowseForm.cs | 12 +- CodeWalker/Tools/ExtractRawForm.cs | 2 +- CodeWalker/Tools/ExtractShadersForm.cs | 7 +- CodeWalker/Tools/ExtractTexForm.cs | 2 +- CodeWalker/Utils/AudioUtils.cs | 8 +- CodeWalker/Utils/ConsoleWindow.cs | 157 + CodeWalker/Utils/GTAFolder.cs | 10 +- CodeWalker/VehicleForm.cs | 3 +- CodeWalker/World/CutsceneForm.cs | 4 +- CodeWalker/World/WorldSearchForm.cs | 4 +- CodeWalker/WorldForm.Designer.cs | 87 +- CodeWalker/WorldForm.cs | 55 +- CodeWalker/WorldForm.resx | 57 +- Shaders/BasicPS.cso | Bin 11084 -> 119128 bytes Shaders/BasicPS_Deferred.cso | Bin 6744 -> 73828 bytes Shaders/BasicVS_Box.cso | Bin 4548 -> 124880 bytes Shaders/BasicVS_Capsule.cso | Bin 5208 -> 125540 bytes Shaders/BasicVS_Cylinder.cso | Bin 5256 -> 125588 bytes Shaders/BasicVS_PBBNCCT.cso | Bin 11832 -> 142404 bytes Shaders/BasicVS_PBBNCCTTX.cso | Bin 12556 -> 147224 bytes Shaders/BasicVS_PBBNCCTX.cso | Bin 12532 -> 145152 bytes Shaders/BasicVS_PBBNCT.cso | Bin 11800 -> 142372 bytes Shaders/BasicVS_PBBNCTT.cso | Bin 11824 -> 142396 bytes Shaders/BasicVS_PBBNCTTT.cso | Bin 11848 -> 142420 bytes Shaders/BasicVS_PBBNCTTX.cso | Bin 12524 -> 145144 bytes Shaders/BasicVS_PBBNCTX.cso | Bin 12500 -> 145120 bytes Shaders/BasicVS_PNCCT.cso | Bin 10120 -> 136596 bytes Shaders/BasicVS_PNCCTT.cso | Bin 10144 -> 136620 bytes Shaders/BasicVS_PNCCTTT.cso | Bin 10168 -> 136644 bytes Shaders/BasicVS_PNCCTTTX.cso | Bin 10716 -> 139240 bytes Shaders/BasicVS_PNCCTTX.cso | Bin 10692 -> 139216 bytes Shaders/BasicVS_PNCCTX.cso | Bin 10668 -> 139192 bytes Shaders/BasicVS_PNCT.cso | Bin 10088 -> 136564 bytes Shaders/BasicVS_PNCTT.cso | Bin 10112 -> 136588 bytes Shaders/BasicVS_PNCTTT.cso | Bin 10136 -> 136612 bytes Shaders/BasicVS_PNCTTTX.cso | Bin 10684 -> 139208 bytes Shaders/BasicVS_PNCTTX.cso | Bin 10660 -> 139184 bytes Shaders/BasicVS_PNCTX.cso | Bin 10636 -> 139160 bytes Shaders/BasicVS_Sphere.cso | Bin 4456 -> 122740 bytes Shaders/BoundingBoxVS.cso | Bin 1524 -> 29696 bytes Shaders/BoundingSphereVS.cso | Bin 1352 -> 27476 bytes Shaders/BoundsPS.cso | Bin 504 -> 12292 bytes Shaders/CablePS.cso | Bin 7116 -> 70104 bytes Shaders/CablePS_Deferred.cso | Bin 3076 -> 55824 bytes Shaders/CableVS.cso | Bin 9864 -> 134292 bytes Shaders/CloudsPS.cso | Bin 2772 -> 47328 bytes Shaders/CloudsVS.cso | Bin 4716 -> 69752 bytes Shaders/DirLightPS.cso | Bin 7484 -> 84808 bytes Shaders/DirLightPS_MS.cso | Bin 40892 -> 169416 bytes Shaders/DirLightVS.cso | Bin 996 -> 27120 bytes Shaders/DistantLightsPS.cso | Bin 660 -> 14496 bytes Shaders/DistantLightsVS.cso | Bin 1892 -> 30064 bytes Shaders/LightPS.cso | Bin 5968 -> 85880 bytes Shaders/LightPS_MS.cso | Bin 32948 -> 141652 bytes Shaders/LightVS.cso | Bin 2500 -> 30672 bytes Shaders/LodLightsPS.cso | Bin 5984 -> 77164 bytes Shaders/LodLightsPS_MS.cso | Bin 34116 -> 146796 bytes Shaders/LodLightsVS.cso | Bin 2580 -> 33600 bytes Shaders/MarkerPS.cso | Bin 584 -> 14420 bytes Shaders/MarkerVS.cso | Bin 1360 -> 27484 bytes Shaders/PPBloomFilterBPHCS.cso | Bin 3256 -> 21188 bytes Shaders/PPBloomFilterVCS.cso | Bin 2556 -> 22536 bytes Shaders/PPCopyPixelsPS.cso | Bin 884 -> 14720 bytes Shaders/PPFinalPassPS.cso | Bin 1456 -> 15292 bytes Shaders/PPFinalPassVS.cso | Bin 532 -> 12320 bytes Shaders/PPLumBlendCS.cso | Bin 976 -> 14812 bytes Shaders/PPReduceTo0DCS.cso | Bin 2224 -> 18108 bytes Shaders/PPReduceTo1DCS.cso | Bin 2136 -> 20068 bytes Shaders/PPSSAAPS.cso | Bin 1420 -> 17304 bytes Shaders/PathBoxPS.cso | Bin 504 -> 12292 bytes Shaders/PathBoxVS.cso | Bin 1316 -> 15152 bytes Shaders/PathDynVS.cso | Bin 1420 -> 27544 bytes Shaders/PathPS.cso | Bin 472 -> 12260 bytes Shaders/PathVS.cso | Bin 984 -> 14820 bytes Shaders/ShadowPS.cso | Bin 1156 -> 14992 bytes Shaders/ShadowVS.cso | Bin 2588 -> 34856 bytes Shaders/ShadowVS_Skin.cso | Bin 4220 -> 42632 bytes Shaders/SkyMoonPS.cso | Bin 780 -> 14616 bytes Shaders/SkyMoonVS.cso | Bin 1144 -> 27268 bytes Shaders/SkySunPS.cso | Bin 508 -> 12296 bytes Shaders/SkySunVS.cso | Bin 1104 -> 27228 bytes Shaders/SkydomePS.cso | Bin 3720 -> 52372 bytes Shaders/SkydomeVS.cso | Bin 5408 -> 82732 bytes Shaders/TerrainPS.cso | Bin 13328 -> 100892 bytes Shaders/TerrainPS_Deferred.cso | Bin 9300 -> 88672 bytes Shaders/TerrainVS_PNCCT.cso | Bin 4912 -> 61756 bytes Shaders/TerrainVS_PNCCTT.cso | Bin 4936 -> 61780 bytes Shaders/TerrainVS_PNCCTTTX.cso | Bin 5508 -> 64400 bytes Shaders/TerrainVS_PNCCTTX.cso | Bin 5484 -> 64376 bytes Shaders/TerrainVS_PNCCTX.cso | Bin 5460 -> 64352 bytes Shaders/TerrainVS_PNCTTTX.cso | Bin 5484 -> 64376 bytes Shaders/TerrainVS_PNCTTX.cso | Bin 5460 -> 64352 bytes Shaders/TreesLodPS.cso | Bin 2072 -> 32292 bytes Shaders/TreesLodPS_Deferred.cso | Bin 1340 -> 29512 bytes Shaders/TreesLodVS.cso | Bin 3012 -> 37328 bytes Shaders/WaterPS.cso | Bin 9896 -> 136372 bytes Shaders/WaterPS_Deferred.cso | Bin 5824 -> 74956 bytes Shaders/WaterVS_PCT.cso | Bin 4600 -> 90116 bytes Shaders/WaterVS_PNCT.cso | Bin 4604 -> 90120 bytes Shaders/WaterVS_PNCTX.cso | Bin 5020 -> 90536 bytes Shaders/WaterVS_PT.cso | Bin 4096 -> 87564 bytes Shaders/WidgetPS.cso | Bin 544 -> 12332 bytes Shaders/WidgetVS.cso | Bin 2068 -> 17952 bytes 203 files changed, 5562 insertions(+), 4128 deletions(-) create mode 100644 CodeWalker.Core/Tests/GameFileCache.cs create mode 100644 CodeWalker.Core/Utils/Timer.cs create mode 100644 CodeWalker/Utils/ConsoleWindow.cs diff --git a/.gitignore b/.gitignore index bb079fa..50fe9ad 100644 --- a/.gitignore +++ b/.gitignore @@ -241,3 +241,4 @@ ModelManifest.xml # FAKE - F# Make .fake/ /Toolbar/cammodes.psd +Shaders \ No newline at end of file diff --git a/CodeWalker.Core/CodeWalker.Core.csproj b/CodeWalker.Core/CodeWalker.Core.csproj index 09bb40b..b515aad 100644 --- a/CodeWalker.Core/CodeWalker.Core.csproj +++ b/CodeWalker.Core/CodeWalker.Core.csproj @@ -1,12 +1,17 @@ - + netstandard2.0 + latest + true + + + diff --git a/CodeWalker.Core/GameFiles/FileTypes/AwcFile.cs b/CodeWalker.Core/GameFiles/FileTypes/AwcFile.cs index cb6f23a..cc79536 100644 --- a/CodeWalker.Core/GameFiles/FileTypes/AwcFile.cs +++ b/CodeWalker.Core/GameFiles/FileTypes/AwcFile.cs @@ -1917,7 +1917,7 @@ namespace CodeWalker.GameFiles Buffer.BlockCopy(data, 16, newdata, 0, newlen); data = newdata; - ResourceDataReader rd = new ResourceDataReader(resentry, data); + using var rd = new ResourceDataReader(resentry, data); ClipDict = rd.ReadBlock(); diff --git a/CodeWalker.Core/GameFiles/FileTypes/Gxt2File.cs b/CodeWalker.Core/GameFiles/FileTypes/Gxt2File.cs index 09ad5a7..5e4731c 100644 --- a/CodeWalker.Core/GameFiles/FileTypes/Gxt2File.cs +++ b/CodeWalker.Core/GameFiles/FileTypes/Gxt2File.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Concurrent; using System.Collections.Generic; using System.ComponentModel; using System.Globalization; @@ -171,69 +172,44 @@ namespace CodeWalker.GameFiles public static class GlobalText { - public static Dictionary Index = new Dictionary(); + public static ConcurrentDictionary Index = new (); private static object syncRoot = new object(); public static volatile bool FullIndexBuilt = false; public static void Clear() { - lock (syncRoot) - { - Index.Clear(); - } + Index.Clear(); } public static bool Ensure(string str) { uint hash = JenkHash.GenHash(str); if (hash == 0) return true; - lock (syncRoot) - { - if (!Index.ContainsKey(hash)) - { - Index.Add(hash, str); - return false; - } - } - return true; + return !Index.TryAdd(hash, str); } public static bool Ensure(string str, uint hash) { if (hash == 0) return true; - lock (syncRoot) - { - if (!Index.ContainsKey(hash)) - { - Index.Add(hash, str); - return false; - } - } - return true; + return !Index.TryAdd(hash, str); } public static string GetString(uint hash) { string res; - lock (syncRoot) + if (!Index.TryGetValue(hash, out res)) { - if (!Index.TryGetValue(hash, out res)) - { - res = hash.ToString(); - } + res = hash.ToString(); } return res; } public static string TryGetString(uint hash) { string res; - lock (syncRoot) + if (!Index.TryGetValue(hash, out res)) { - if (!Index.TryGetValue(hash, out res)) - { - res = string.Empty; - } + res = string.Empty; } return res; } diff --git a/CodeWalker.Core/GameFiles/FileTypes/PedFile.cs b/CodeWalker.Core/GameFiles/FileTypes/PedFile.cs index 5fb180a..1c60cb3 100644 --- a/CodeWalker.Core/GameFiles/FileTypes/PedFile.cs +++ b/CodeWalker.Core/GameFiles/FileTypes/PedFile.cs @@ -48,7 +48,7 @@ namespace CodeWalker.GameFiles } - ResourceDataReader rd = new ResourceDataReader(resentry, data); + using var rd = new ResourceDataReader(resentry, data); Meta = rd.ReadBlock(); diff --git a/CodeWalker.Core/GameFiles/FileTypes/YbnFile.cs b/CodeWalker.Core/GameFiles/FileTypes/YbnFile.cs index ac487cd..ec05eba 100644 --- a/CodeWalker.Core/GameFiles/FileTypes/YbnFile.cs +++ b/CodeWalker.Core/GameFiles/FileTypes/YbnFile.cs @@ -51,7 +51,7 @@ namespace CodeWalker.GameFiles throw new Exception("File entry wasn't a resource! (is it binary data?)"); } - ResourceDataReader rd = new ResourceDataReader(resentry, data); + using var rd = new ResourceDataReader(resentry, data); Bounds = rd.ReadBlock(); diff --git a/CodeWalker.Core/GameFiles/FileTypes/YcdFile.cs b/CodeWalker.Core/GameFiles/FileTypes/YcdFile.cs index afcd771..89a58b4 100644 --- a/CodeWalker.Core/GameFiles/FileTypes/YcdFile.cs +++ b/CodeWalker.Core/GameFiles/FileTypes/YcdFile.cs @@ -44,20 +44,20 @@ namespace CodeWalker.GameFiles throw new Exception("File entry wasn't a resource! (is it binary data?)"); } - ResourceDataReader rd = null; + try { - rd = new ResourceDataReader(resentry, data); + using ResourceDataReader rd = new ResourceDataReader(resentry, data); + + ClipDictionary = rd?.ReadBlock(); + + InitDictionaries(); } catch (Exception ex) { //data = entry.File.DecompressBytes(data); //?? LoadException = ex.ToString(); } - - ClipDictionary = rd?.ReadBlock(); - - InitDictionaries(); } public void InitDictionaries() diff --git a/CodeWalker.Core/GameFiles/FileTypes/YddFile.cs b/CodeWalker.Core/GameFiles/FileTypes/YddFile.cs index f9e7e2f..0ed54f0 100644 --- a/CodeWalker.Core/GameFiles/FileTypes/YddFile.cs +++ b/CodeWalker.Core/GameFiles/FileTypes/YddFile.cs @@ -43,7 +43,7 @@ namespace CodeWalker.GameFiles throw new Exception("File entry wasn't a resource! (is it binary data?)"); } - ResourceDataReader rd = new ResourceDataReader(resentry, data); + using var rd = new ResourceDataReader(resentry, data); DrawableDict = rd.ReadBlock(); @@ -74,6 +74,7 @@ namespace CodeWalker.GameFiles { var drawable = drawables[i]; var hash = hashes[i]; + drawable.Hash = hash; if ((drawable.Name == null) || (drawable.Name.EndsWith("#dd"))) { string hstr = JenkIndex.TryGetString(hash); @@ -101,6 +102,12 @@ namespace CodeWalker.GameFiles return data; } + new public long MemoryUsage { + get { + return DrawableDict.MemoryUsage; + } + } + } diff --git a/CodeWalker.Core/GameFiles/FileTypes/YdrFile.cs b/CodeWalker.Core/GameFiles/FileTypes/YdrFile.cs index 55de93b..213fffd 100644 --- a/CodeWalker.Core/GameFiles/FileTypes/YdrFile.cs +++ b/CodeWalker.Core/GameFiles/FileTypes/YdrFile.cs @@ -39,7 +39,7 @@ namespace CodeWalker.GameFiles throw new Exception("File entry wasn't a resource! (is it binary data?)"); } - ResourceDataReader rd = new ResourceDataReader(resentry, data); + using var rd = new ResourceDataReader(resentry, data); //MemoryUsage = 0; @@ -58,6 +58,11 @@ namespace CodeWalker.GameFiles } + public void Unload() + { + + } + public byte[] Save() { byte[] data = ResourceBuilder.Build(Drawable, 165); //ydr is type/version 165... @@ -65,7 +70,13 @@ namespace CodeWalker.GameFiles return data; } - + new public long MemoryUsage + { + get + { + return Drawable.MemoryUsage; + } + } } diff --git a/CodeWalker.Core/GameFiles/FileTypes/YedFile.cs b/CodeWalker.Core/GameFiles/FileTypes/YedFile.cs index 6e62ab4..d236e70 100644 --- a/CodeWalker.Core/GameFiles/FileTypes/YedFile.cs +++ b/CodeWalker.Core/GameFiles/FileTypes/YedFile.cs @@ -41,21 +41,20 @@ namespace CodeWalker.GameFiles throw new Exception("File entry wasn't a resource! (is it binary data?)"); } - ResourceDataReader rd = null; try { - rd = new ResourceDataReader(resentry, data); + using var rd = new ResourceDataReader(resentry, data); + + ExpressionDictionary = rd?.ReadBlock(); + + + InitDictionaries(); } catch (Exception ex) { //data = entry.File.DecompressBytes(data); //?? LoadException = ex.ToString(); } - - ExpressionDictionary = rd?.ReadBlock(); - - - InitDictionaries(); } public byte[] Save() diff --git a/CodeWalker.Core/GameFiles/FileTypes/YfdFile.cs b/CodeWalker.Core/GameFiles/FileTypes/YfdFile.cs index 5c9a79b..9bfb7ba 100644 --- a/CodeWalker.Core/GameFiles/FileTypes/YfdFile.cs +++ b/CodeWalker.Core/GameFiles/FileTypes/YfdFile.cs @@ -36,19 +36,17 @@ namespace CodeWalker.GameFiles throw new Exception("File entry wasn't a resource! (is it binary data?)"); } - ResourceDataReader rd = null; + try { - rd = new ResourceDataReader(resentry, data); + using var rd = new ResourceDataReader(resentry, data); + + FrameFilterDictionary = rd.ReadBlock(); } catch (Exception ex) { - //data = entry.File.DecompressBytes(data); //?? LoadException = ex.ToString(); } - - FrameFilterDictionary = rd?.ReadBlock(); - } public byte[] Save() diff --git a/CodeWalker.Core/GameFiles/FileTypes/YftFile.cs b/CodeWalker.Core/GameFiles/FileTypes/YftFile.cs index 86a65af..4283bef 100644 --- a/CodeWalker.Core/GameFiles/FileTypes/YftFile.cs +++ b/CodeWalker.Core/GameFiles/FileTypes/YftFile.cs @@ -40,7 +40,7 @@ namespace CodeWalker.GameFiles throw new Exception("File entry wasn't a resource! (is it binary data?)"); } - ResourceDataReader rd = new ResourceDataReader(resentry, data); + using var rd = new ResourceDataReader(resentry, data); Fragment = rd.ReadBlock(); diff --git a/CodeWalker.Core/GameFiles/FileTypes/YldFile.cs b/CodeWalker.Core/GameFiles/FileTypes/YldFile.cs index 68032ac..a849a14 100644 --- a/CodeWalker.Core/GameFiles/FileTypes/YldFile.cs +++ b/CodeWalker.Core/GameFiles/FileTypes/YldFile.cs @@ -40,36 +40,35 @@ namespace CodeWalker.GameFiles throw new Exception("File entry wasn't a resource! (is it binary data?)"); } - ResourceDataReader rd = null; + try { - rd = new ResourceDataReader(resentry, data); + using var rd = new ResourceDataReader(resentry, data); + + ClothDictionary = rd?.ReadBlock(); + + if (ClothDictionary != null) + { + Dict = new Dictionary(); + int n = ClothDictionary.ClothNameHashes?.data_items?.Length ?? 0; + for (int i = 0; i < n; i++) + { + if (i >= (ClothDictionary.Clothes?.data_items?.Length ?? 0)) break; + + var hash = ClothDictionary.ClothNameHashes.data_items[i]; + var cloth = ClothDictionary.Clothes.data_items[i]; + + Dict[hash] = cloth; + } + } + + Loaded = true; } catch (Exception ex) { //data = entry.File.DecompressBytes(data); //?? LoadException = ex.ToString(); } - - ClothDictionary = rd?.ReadBlock(); - - - if (ClothDictionary != null) - { - Dict = new Dictionary(); - int n = ClothDictionary.ClothNameHashes?.data_items?.Length ?? 0; - for (int i = 0; i < n; i++) - { - if (i >= (ClothDictionary.Clothes?.data_items?.Length ?? 0)) break; - - var hash = ClothDictionary.ClothNameHashes.data_items[i]; - var cloth = ClothDictionary.Clothes.data_items[i]; - - Dict[hash] = cloth; - } - } - - Loaded = true; } public byte[] Save() diff --git a/CodeWalker.Core/GameFiles/FileTypes/YmapFile.cs b/CodeWalker.Core/GameFiles/FileTypes/YmapFile.cs index 09a5e5a..fc99f3c 100644 --- a/CodeWalker.Core/GameFiles/FileTypes/YmapFile.cs +++ b/CodeWalker.Core/GameFiles/FileTypes/YmapFile.cs @@ -96,7 +96,7 @@ namespace CodeWalker.GameFiles return; } - ResourceDataReader rd = new ResourceDataReader(resentry, data); + using var rd = new ResourceDataReader(resentry, data); Meta = rd.ReadBlock();//maybe null this after load to reduce memory consumption? @@ -1336,15 +1336,11 @@ namespace CodeWalker.GameFiles { var newnamel = newname.ToLowerInvariant(); var newnamex = newname + ".ymap"; - var newnamexl = newname.ToLowerInvariant(); var newhash = JenkHash.GenHash(newnamel); JenkIndex.Ensure(newnamel); if (RpfFileEntry != null) { RpfFileEntry.Name = newnamex; - RpfFileEntry.NameLower = newnamexl; - RpfFileEntry.NameHash = JenkHash.GenHash(newnamexl); - RpfFileEntry.ShortNameHash = newhash; } Name = newnamex; _CMapData.name = newhash; @@ -3034,6 +3030,8 @@ namespace CodeWalker.GameFiles public bool Enabled { get; set; } = true; + public bool Visible { get; set; } = true; + public void Init(YmapLODLights l, YmapDistantLODLights p, int i) { LodLights = l; @@ -3306,7 +3304,7 @@ namespace CodeWalker.GameFiles var vertexCount = indicesOffset / 12; var indexCount = (int)(dataSize - indicesOffset);// / 4; Data = MetaTypes.GetByteArray(meta, vptr, dataSize); - Vertices = MetaTypes.ConvertDataArray(Data, 0, vertexCount); + Vertices = MetaTypes.ConvertDataArray(Data, 0, vertexCount).ToArray(); Indices = new byte[indexCount]; Buffer.BlockCopy(Data, indicesOffset, Indices, 0, indexCount); BuildTriangles(); diff --git a/CodeWalker.Core/GameFiles/FileTypes/YmfFile.cs b/CodeWalker.Core/GameFiles/FileTypes/YmfFile.cs index 8d46d87..ff34af6 100644 --- a/CodeWalker.Core/GameFiles/FileTypes/YmfFile.cs +++ b/CodeWalker.Core/GameFiles/FileTypes/YmfFile.cs @@ -67,14 +67,10 @@ namespace CodeWalker.GameFiles - ResourceDataReader rd = new ResourceDataReader(resentry, data); + using var rd = new ResourceDataReader(resentry, data); Meta = rd.ReadBlock(); - - - - } @@ -90,13 +86,13 @@ namespace CodeWalker.GameFiles MapDataGroups = PsoTypes.GetObjectArray(Pso, d.MapDataGroups); - imapDependencies = PsoTypes.GetItemArray(Pso, d.imapDependencies); + imapDependencies = PsoTypes.GetItemArray(Pso, d.imapDependencies).ToArray(); imapDependencies2 = PsoTypes.GetObjectArray(Pso, d.imapDependencies_2); itypDependencies2 = PsoTypes.GetObjectArray(Pso, d.itypDependencies_2); - HDTxdAssetBindings = PsoTypes.GetItemArray(Pso, d.HDTxdBindingArray); + HDTxdAssetBindings = PsoTypes.GetItemArray(Pso, d.HDTxdBindingArray).ToArray(); Interiors = PsoTypes.GetObjectArray(Pso, d.Interiors); diff --git a/CodeWalker.Core/GameFiles/FileTypes/YmtFile.cs b/CodeWalker.Core/GameFiles/FileTypes/YmtFile.cs index 0e52c51..bd92886 100644 --- a/CodeWalker.Core/GameFiles/FileTypes/YmtFile.cs +++ b/CodeWalker.Core/GameFiles/FileTypes/YmtFile.cs @@ -62,7 +62,7 @@ namespace CodeWalker.GameFiles RpfResourceFileEntry resentry = entry as RpfResourceFileEntry; if (resentry != null) { - ResourceDataReader rd = new ResourceDataReader(resentry, data); + using var rd = new ResourceDataReader(resentry, data); Meta = rd.ReadBlock(); diff --git a/CodeWalker.Core/GameFiles/FileTypes/YndFile.cs b/CodeWalker.Core/GameFiles/FileTypes/YndFile.cs index d1196c1..d86fecc 100644 --- a/CodeWalker.Core/GameFiles/FileTypes/YndFile.cs +++ b/CodeWalker.Core/GameFiles/FileTypes/YndFile.cs @@ -84,7 +84,7 @@ namespace CodeWalker.GameFiles throw new Exception("File entry wasn't a resource! (is it binary data?)"); } - ResourceDataReader rd = new ResourceDataReader(resentry, data); + using var rd = new ResourceDataReader(resentry, data); NodeDictionary = rd.ReadBlock(); @@ -95,8 +95,6 @@ namespace CodeWalker.GameFiles //links will be populated by the space... maybe move that code here? - - string areaidstr = Name.ToLowerInvariant().Replace("nodes", "").Replace(".ynd", ""); int areaid = 0; int.TryParse(areaidstr, out areaid); diff --git a/CodeWalker.Core/GameFiles/FileTypes/YnvFile.cs b/CodeWalker.Core/GameFiles/FileTypes/YnvFile.cs index 345949c..a2ac2b4 100644 --- a/CodeWalker.Core/GameFiles/FileTypes/YnvFile.cs +++ b/CodeWalker.Core/GameFiles/FileTypes/YnvFile.cs @@ -90,7 +90,7 @@ namespace CodeWalker.GameFiles throw new Exception("File entry wasn't a resource! (is it binary data?)"); } - ResourceDataReader rd = new ResourceDataReader(resentry, data); + using var rd = new ResourceDataReader(resentry, data); Nav = rd.ReadBlock(); diff --git a/CodeWalker.Core/GameFiles/FileTypes/YptFile.cs b/CodeWalker.Core/GameFiles/FileTypes/YptFile.cs index b12cdf2..c56164e 100644 --- a/CodeWalker.Core/GameFiles/FileTypes/YptFile.cs +++ b/CodeWalker.Core/GameFiles/FileTypes/YptFile.cs @@ -44,7 +44,7 @@ namespace CodeWalker.GameFiles throw new Exception("File entry wasn't a resource! (is it binary data?)"); } - ResourceDataReader rd = new ResourceDataReader(resentry, data); + using var rd = new ResourceDataReader(resentry, data); //MemoryUsage = 0; diff --git a/CodeWalker.Core/GameFiles/FileTypes/YtdFile.cs b/CodeWalker.Core/GameFiles/FileTypes/YtdFile.cs index 54ad038..19356c8 100644 --- a/CodeWalker.Core/GameFiles/FileTypes/YtdFile.cs +++ b/CodeWalker.Core/GameFiles/FileTypes/YtdFile.cs @@ -31,6 +31,7 @@ namespace CodeWalker.GameFiles Loaded = true; } + public void Load(byte[] data, RpfFileEntry entry) { Name = entry.Name; @@ -43,7 +44,7 @@ namespace CodeWalker.GameFiles throw new Exception("File entry wasn't a resource! (is it binary data?)"); } - ResourceDataReader rd = new ResourceDataReader(resentry, data); + using var rd = new ResourceDataReader(resentry, data); TextureDict = rd.ReadBlock(); @@ -64,7 +65,13 @@ namespace CodeWalker.GameFiles return data; } - + new public long MemoryUsage + { + get + { + return TextureDict.MemoryUsage; + } + } } diff --git a/CodeWalker.Core/GameFiles/FileTypes/YtypFile.cs b/CodeWalker.Core/GameFiles/FileTypes/YtypFile.cs index 5fff26d..6d22181 100644 --- a/CodeWalker.Core/GameFiles/FileTypes/YtypFile.cs +++ b/CodeWalker.Core/GameFiles/FileTypes/YtypFile.cs @@ -208,7 +208,7 @@ namespace CodeWalker.GameFiles - ResourceDataReader rd = new ResourceDataReader(resentry, data); + using var rd = new ResourceDataReader(resentry, data); Meta = rd.ReadBlock(); diff --git a/CodeWalker.Core/GameFiles/FileTypes/YvrFile.cs b/CodeWalker.Core/GameFiles/FileTypes/YvrFile.cs index ec6a2de..c0f7ecb 100644 --- a/CodeWalker.Core/GameFiles/FileTypes/YvrFile.cs +++ b/CodeWalker.Core/GameFiles/FileTypes/YvrFile.cs @@ -31,7 +31,7 @@ namespace CodeWalker.GameFiles throw new Exception("File entry wasn't a resource! (is it binary data?)"); } - ResourceDataReader rd = new ResourceDataReader(resentry, data); + using var rd = new ResourceDataReader(resentry, data); //MemoryUsage = 0; diff --git a/CodeWalker.Core/GameFiles/FileTypes/YwrFile.cs b/CodeWalker.Core/GameFiles/FileTypes/YwrFile.cs index 3f0b636..7f8a0f1 100644 --- a/CodeWalker.Core/GameFiles/FileTypes/YwrFile.cs +++ b/CodeWalker.Core/GameFiles/FileTypes/YwrFile.cs @@ -31,7 +31,7 @@ namespace CodeWalker.GameFiles throw new Exception("File entry wasn't a resource! (is it binary data?)"); } - ResourceDataReader rd = new ResourceDataReader(resentry, data); + using var rd = new ResourceDataReader(resentry, data); //MemoryUsage = 0; diff --git a/CodeWalker.Core/GameFiles/GameFile.cs b/CodeWalker.Core/GameFiles/GameFile.cs index 05d2064..a61f02b 100644 --- a/CodeWalker.Core/GameFiles/GameFile.cs +++ b/CodeWalker.Core/GameFiles/GameFile.cs @@ -101,6 +101,28 @@ namespace CodeWalker.GameFiles Hash = hash; Type = type; } + + public override bool Equals(object obj) + { + if (obj == null) return false; + if (obj is not GameFileCacheKey gameFileCacheKey) return false; + return gameFileCacheKey.Hash == Hash && gameFileCacheKey.Type == Type; + } + + public static bool operator ==(GameFileCacheKey first, GameFileCacheKey second) + { + return first.Equals(second); + } + + public static bool operator !=(GameFileCacheKey first, GameFileCacheKey second) + { + return !first.Equals(second); + } + + public override int GetHashCode() + { + return (int)Hash; + } } diff --git a/CodeWalker.Core/GameFiles/GameFileCache.cs b/CodeWalker.Core/GameFiles/GameFileCache.cs index 16df0af..ea5fc4f 100644 --- a/CodeWalker.Core/GameFiles/GameFileCache.cs +++ b/CodeWalker.Core/GameFiles/GameFileCache.cs @@ -1,7 +1,9 @@ -using SharpDX; +using CodeWalker.Core.Utils; +using SharpDX; using System; using System.Collections.Concurrent; using System.Collections.Generic; +using System.Diagnostics; using System.IO; using System.Linq; using System.Text; @@ -11,12 +13,12 @@ using System.Xml; namespace CodeWalker.GameFiles { - public class GameFileCache + public partial class GameFileCache { public RpfManager RpfMan; - private Action UpdateStatus; - private Action ErrorLog; - public int MaxItemsPerLoop = 1; //to keep things flowing... + public event Action UpdateStatus; + public event Action ErrorLog; + public int MaxItemsPerLoop = 3; //to keep things flowing... private ConcurrentQueue requestQueue = new ConcurrentQueue(); @@ -25,18 +27,17 @@ namespace CodeWalker.GameFiles public volatile bool IsInited = false; private volatile bool archetypesLoaded = false; - private Dictionary archetypeDict = new Dictionary(); - private Dictionary textureLookup = new Dictionary(); + private ConcurrentDictionary archetypeDict = new ConcurrentDictionary(); + private ConcurrentDictionary textureLookup = new ConcurrentDictionary(); private Dictionary textureParents; private Dictionary hdtexturelookup; private object updateSyncRoot = new object(); private object requestSyncRoot = new object(); - private object textureSyncRoot = new object(); //for the texture lookup. - private Dictionary projectFiles = new Dictionary(); //for cache files loaded in project window: ydr,ydd,ytd,yft - private Dictionary projectArchetypes = new Dictionary(); //used to override archetypes in world view with project ones + private ConcurrentDictionary projectFiles = new ConcurrentDictionary(); //for cache files loaded in project window: ydr,ydd,ytd,yft + private ConcurrentDictionary projectArchetypes = new ConcurrentDictionary(); //used to override archetypes in world view with project ones @@ -58,7 +59,7 @@ namespace CodeWalker.GameFiles //static cached data loaded at init - public Dictionary YtypDict { get; set; } + public ConcurrentDictionary YtypDict { get; set; } public List AllCacheFiles { get; set; } public Dictionary YmapHierarchyDict { get; set; } @@ -112,7 +113,7 @@ namespace CodeWalker.GameFiles public bool LoadVehicles = true; public bool LoadPeds = true; public bool LoadAudio = true; - private bool PreloadedMode = false; + private bool PreloadedMode = true; private string GTAFolder; private string ExcludeFolders; @@ -162,15 +163,22 @@ namespace CodeWalker.GameFiles textureLookup.Clear(); - GameFile queueclear; - while (requestQueue.TryDequeue(out queueclear)) + while (requestQueue.TryDequeue(out _)) { } //empty the old queue out... } - public void Init(Action updateStatus, Action errorLog) + public void SetGtaFolder(string folder) { - UpdateStatus = updateStatus; - ErrorLog = errorLog; + Clear(); + + GTAFolder = folder; + } + + public void Init(Action updateStatus = null, Action errorLog = null) + { + using var _ = new DisposableTimer("GameFileCache.Init"); + if (updateStatus != null) UpdateStatus += updateStatus; + if (errorLog != null) ErrorLog += errorLog; Clear(); @@ -181,7 +189,7 @@ namespace CodeWalker.GameFiles - RpfMan = new RpfManager(); + RpfMan = RpfManager.GetInstance(); RpfMan.ExcludePaths = GetExcludePaths(); RpfMan.EnableMods = EnableMods; RpfMan.BuildExtendedJenkIndex = BuildExtendedJenkIndex; @@ -233,99 +241,81 @@ namespace CodeWalker.GameFiles GC.Collect(); //try free up some of the previously used memory.. } - UpdateStatus("Scan complete"); + UpdateStatus?.Invoke("Scan complete"); IsInited = true; } public void Init(Action updateStatus, Action errorLog, List allRpfs) { - UpdateStatus = updateStatus; - ErrorLog = errorLog; + using var _ = new DisposableTimer("GameFileCache.Init"); + if (updateStatus != null) + { + UpdateStatus += updateStatus; + } + if (errorLog != null) + { + ErrorLog += errorLog; + } Clear(); PreloadedMode = true; EnableDlc = true;//just so everything (mainly archetypes) will load.. EnableMods = false; - RpfMan = new RpfManager(); //try not to use this in this mode... + RpfMan ??= RpfManager.GetInstance(); RpfMan.Init(allRpfs); + AllRpfs = allRpfs; BaseRpfs = allRpfs; DlcRpfs = new List(); - UpdateStatus("Building global dictionaries..."); - InitGlobalDicts(); - - UpdateStatus("Loading manifests..."); - InitManifestDicts(); - - UpdateStatus("Loading global texture list..."); - InitGtxds(); - - UpdateStatus("Loading archetypes..."); - InitArchetypeDicts(); - - UpdateStatus("Loading strings..."); - InitStringDicts(); - - UpdateStatus("Loading audio..."); - InitAudio(); + Task.WhenAll( + Task.Run(InitGlobalDicts), + Task.Run(InitManifestDicts), + Task.Run(InitGtxds), + Task.Run(InitArchetypeDicts), + Task.Run(InitStringDicts), + Task.Run(InitAudio) + ).GetAwaiter().GetResult(); IsInited = true; } private void InitGlobal() { + using var _ = new DisposableTimer("InitGlobal"); BaseRpfs = GetModdedRpfList(RpfMan.BaseRpfs); AllRpfs = GetModdedRpfList(RpfMan.AllRpfs); DlcRpfs = GetModdedRpfList(RpfMan.DlcRpfs); - UpdateStatus("Building global dictionaries..."); InitGlobalDicts(); } private void InitDlc() { - - UpdateStatus("Building DLC List..."); InitDlcList(); - UpdateStatus("Building active RPF dictionary..."); InitActiveMapRpfFiles(); - UpdateStatus("Building map dictionaries..."); - InitMapDicts(); - - UpdateStatus("Loading manifests..."); - InitManifestDicts(); - - UpdateStatus("Loading global texture list..."); - InitGtxds(); - - UpdateStatus("Loading cache..."); - InitMapCaches(); - - UpdateStatus("Loading archetypes..."); - InitArchetypeDicts(); - - UpdateStatus("Loading strings..."); - InitStringDicts(); - - UpdateStatus("Loading vehicles..."); - InitVehicles(); - - UpdateStatus("Loading peds..."); - InitPeds(); - - UpdateStatus("Loading audio..."); - InitAudio(); - + Task.WhenAll( + Task.Run(InitMapDicts), + Task.Run(InitManifestDicts), + Task.Run(InitGtxds), + Task.Run(InitMapCaches), + Task.Run(InitArchetypeDicts), + Task.Run(InitStringDicts), + Task.Run(InitVehicles), + Task.Run(InitPeds), + Task.Run(InitAudio) + ).GetAwaiter().GetResult(); } private void InitDlcList() { + UpdateStatus?.Invoke("Building DLC List..."); + using var _ = new DisposableTimer("InitDlcList"); //if (!EnableDlc) return; string dlclistpath = "update\\update.rpf\\common\\data\\dlclist.xml"; @@ -353,12 +343,12 @@ namespace CodeWalker.GameFiles //get dlc path names in the appropriate format for reference by the dlclist paths - Dictionary dlcDict = new Dictionary(); - Dictionary dlcDict2 = new Dictionary(); + Dictionary dlcDict = new Dictionary(StringComparer.OrdinalIgnoreCase); + Dictionary dlcDict2 = new Dictionary(StringComparer.OrdinalIgnoreCase); foreach (RpfFile dlcrpf in DlcRpfs) { if (dlcrpf == null) continue; - if (dlcrpf.NameLower == "dlc.rpf") + if (dlcrpf.Name.Equals("dlc.rpf", StringComparison.OrdinalIgnoreCase)) { string path = GetDlcRpfVirtualPath(dlcrpf.Path); string name = GetDlcNameFromPath(dlcrpf.Path); @@ -410,7 +400,7 @@ namespace CodeWalker.GameFiles if (file == null) continue; var fpath = file.Path; var frelpath = fpath.Replace(updrpfpath, "update:").Replace('\\', '/').Replace(lpath, dlcpath).Replace('/', '\\'); - if (frelpath.StartsWith("mods\\")) + if (frelpath.StartsWith("mods\\", StringComparison.OrdinalIgnoreCase)) { frelpath = frelpath.Substring(5); } @@ -475,7 +465,7 @@ namespace CodeWalker.GameFiles foreach (var sfile in DlcSetupFiles) { if ((sfile == null) || (sfile.DlcFile == null)) continue; - DlcNameList.Add(GetDlcNameFromPath(sfile.DlcFile.Path)); + DlcNameList.Add(GetDlcNameFromPath(sfile.DlcFile.Path).ToLowerInvariant()); } if (DlcNameList.Count > 0) @@ -522,6 +512,8 @@ namespace CodeWalker.GameFiles private void InitActiveMapRpfFiles() { + UpdateStatus?.Invoke("Building active RPF dictionary..."); + using var _ = new DisposableTimer("InitActiveMapRpfFiles"); ActiveMapRpfFiles.Clear(); foreach (RpfFile baserpf in BaseRpfs) //start with all the base rpf's (eg x64a.rpf) @@ -599,7 +591,7 @@ namespace CodeWalker.GameFiles string dlcname = GetDlcNameFromPath(dlcfile.Path); - if ((dlcname == "patchday27ng") && (SelectedDlc != dlcname)) + if ((dlcname == "patchday27ng") && (!SelectedDlc.Equals(dlcname, StringComparison.OrdinalIgnoreCase))) { continue; //hack to fix map getting completely broken by this DLC.. but why? need to investigate further! } @@ -730,7 +722,7 @@ namespace CodeWalker.GameFiles - if (dlcname == SelectedDlc) + if (dlcname.Equals(SelectedDlc, StringComparison.OrdinalIgnoreCase)) { break; //everything's loaded up to the selected DLC. } @@ -828,7 +820,7 @@ namespace CodeWalker.GameFiles private string GetDlcRpfVirtualPath(string path) { path = path.Replace('\\', '/'); - if (path.StartsWith("mods/")) + if (path.StartsWith("mods/", StringComparison.OrdinalIgnoreCase)) { path = path.Substring(5); } @@ -836,7 +828,7 @@ namespace CodeWalker.GameFiles { path = path.Substring(0, path.Length - 7);//trim off "dlc.rpf" } - if (path.StartsWith("x64")) + if (path.StartsWith("x64", StringComparison.OrdinalIgnoreCase)) { int bsind = path.IndexOf('/'); //replace x64*.rpf if ((bsind > 0) && (bsind < path.Length)) @@ -846,7 +838,7 @@ namespace CodeWalker.GameFiles else { } //no hits here } - else if (path.StartsWith("update/x64/dlcpacks")) + else if (path.StartsWith("update/x64/dlcpacks", StringComparison.OrdinalIgnoreCase)) { path = path.Replace("update/x64/dlcpacks", "dlcpacks:"); } @@ -857,10 +849,10 @@ namespace CodeWalker.GameFiles } private string GetDlcNameFromPath(string path) { - string[] parts = path.ToLowerInvariant().Split('\\'); + string[] parts = path.Split('\\'); if (parts.Length > 1) { - return parts[parts.Length - 2].ToLowerInvariant(); + return parts[parts.Length - 2]; } return path; } @@ -958,12 +950,14 @@ namespace CodeWalker.GameFiles private void InitGlobalDicts() { - YdrDict = new Dictionary(); - YddDict = new Dictionary(); - YtdDict = new Dictionary(); - YftDict = new Dictionary(); - YcdDict = new Dictionary(); - YedDict = new Dictionary(); + UpdateStatus?.Invoke("Building global dictionaries..."); + using var timer = new DisposableTimer("InitGlobalDicts"); + YdrDict = new Dictionary(80000); + YddDict = new Dictionary(11000); + YtdDict = new Dictionary(40000); + YftDict = new Dictionary(40000); + YcdDict = new Dictionary(20000); + YedDict = new Dictionary(300); foreach (var rpffile in AllRpfs) { if (rpffile.AllEntries == null) continue; @@ -999,11 +993,13 @@ namespace CodeWalker.GameFiles } } } - + Console.WriteLine($"YdrDict: {YdrDict.Count}; YddDict: {YddDict.Count}; YtdDict: {YtdDict.Count}; YftDict: {YftDict.Count}; YcdDict: {YcdDict.Count}; YedDict: {YedDict.Count}"); } private void InitMapDicts() { + UpdateStatus?.Invoke("Building map dictionaries..."); + using var _ = new DisposableTimer("InitMapDicts"); YmapDict = new Dictionary(); YbnDict = new Dictionary(); YnvDict = new Dictionary(); @@ -1054,9 +1050,11 @@ namespace CodeWalker.GameFiles private void InitManifestDicts() { + UpdateStatus?.Invoke("Loading manifests..."); + using var _ = new DisposableTimer("InitManifestDicts"); AllManifests = new List(); hdtexturelookup = new Dictionary(); - IEnumerable rpfs = PreloadedMode ? AllRpfs : (IEnumerable)ActiveMapRpfFiles.Values; + IEnumerable rpfs = PreloadedMode ? AllRpfs : ActiveMapRpfFiles.Values; foreach (RpfFile file in rpfs) { if (file.AllEntries == null) continue; @@ -1072,7 +1070,7 @@ namespace CodeWalker.GameFiles { try { - UpdateStatus(string.Format(entry.Path)); + UpdateStatus?.Invoke(string.Format(entry.Path)); YmfFile ymffile = RpfMan.GetFile(entry); if (ymffile != null) { @@ -1115,7 +1113,8 @@ namespace CodeWalker.GameFiles private void InitGtxds() { - + UpdateStatus?.Invoke("Loading global texture list..."); + using var timer = new DisposableTimer("InitGtxds"); var parentTxds = new Dictionary(); IEnumerable rpfs = PreloadedMode ? AllRpfs : (IEnumerable)ActiveMapRpfFiles.Values; @@ -1202,6 +1201,8 @@ namespace CodeWalker.GameFiles private void InitMapCaches() { + UpdateStatus?.Invoke("Loading cache..."); + using var _ = new DisposableTimer("InitMapCaches"); AllCacheFiles = new List(); YmapHierarchyDict = new Dictionary(); @@ -1271,38 +1272,33 @@ namespace CodeWalker.GameFiles private void InitArchetypeDicts() { - - YtypDict = new Dictionary(); + UpdateStatus?.Invoke("Loading archetypes..."); + YtypDict = new ConcurrentDictionary(); archetypesLoaded = false; archetypeDict.Clear(); if (!LoadArchetypes) return; + using var timer = new DisposableTimer("InitArchetypeDicts"); var rpfs = EnableDlc ? AllRpfs : BaseRpfs; - foreach (RpfFile file in rpfs) //RpfMan.BaseRpfs)RpfMan.AllRpfs)//ActiveMapRpfFiles.Values) // - { - if (file.AllEntries == null) continue; - if (!EnableDlc && file.Path.StartsWith("update")) continue; + var allYtypes = rpfs + .Where(p => p.AllEntries != null && (EnableDlc || !p.Path.StartsWith("update"))) + .SelectMany(p => p.AllEntries.Where(p => p.NameLower.EndsWith(".ytyp"))); - //parse ytyps - foreach (RpfEntry entry in file.AllEntries) + Parallel.ForEach(allYtypes, new ParallelOptions { MaxDegreeOfParallelism = 4 }, (entry) => + { + try { - try - { - if (entry.NameLower.EndsWith(".ytyp")) - { - AddYtypToDictionary(entry); - } - } - catch (Exception ex) - { - ErrorLog(entry.Path + ": " + ex.Message); - } + AddYtypToDictionary(entry); } - } + catch (Exception ex) + { + ErrorLog(entry.Path + ": " + ex.ToString()); + } + }); archetypesLoaded = true; @@ -1310,7 +1306,7 @@ namespace CodeWalker.GameFiles private void AddYtypToDictionary(RpfEntry entry) { - UpdateStatus(string.Format(entry.Path)); + //UpdateStatus?.Invoke(string.Format(entry.Path)); YtypFile ytypfile = RpfMan.GetFile(entry); if (ytypfile == null) { @@ -1318,18 +1314,24 @@ namespace CodeWalker.GameFiles } if (ytypfile.Meta == null) { - throw new Exception("ytyp file was not in meta format."); - } - if (YtypDict.ContainsKey(ytypfile.NameHash)) - { - //throw new Exception("ytyp " + JenkIndex.GetString(ytypfile.NameHash) + " already loaded."); - //errorAction(entry.Path + ": ytyp " + JenkIndex.GetString(ytypfile.NameHash) + " already loaded."); - YtypDict[ytypfile.NameHash] = ytypfile; //override ytyp and continue anyway, could be unique archetypes in here still... - } - else - { - YtypDict.Add(ytypfile.NameHash, ytypfile); + if (ytypfile.Pso == null && ytypfile.Rbf == null) + { + throw new Exception("ytyp file was not in meta format."); + } + return; } + YtypDict[ytypfile.NameHash] = ytypfile; + + //if (YtypDict.ContainsKey(ytypfile.NameHash)) + //{ + // //throw new Exception("ytyp " + JenkIndex.GetString(ytypfile.NameHash) + " already loaded."); + // //errorAction(entry.Path + ": ytyp " + JenkIndex.GetString(ytypfile.NameHash) + " already loaded."); + // YtypDict[ytypfile.NameHash] = ytypfile; //override ytyp and continue anyway, could be unique archetypes in here still... + //} + //else + //{ + // YtypDict.Add(ytypfile.NameHash, ytypfile); + //} @@ -1343,10 +1345,6 @@ namespace CodeWalker.GameFiles { uint hash = arch.Hash; if (hash == 0) continue; - if (archetypeDict.ContainsKey(hash)) - { - var oldval = archetypeDict[hash]; //replace old archetype? - } archetypeDict[hash] = arch; } } @@ -1379,6 +1377,8 @@ namespace CodeWalker.GameFiles public void InitStringDicts() { + UpdateStatus?.Invoke("Loading strings..."); + using var timer = new DisposableTimer("InitStringDicts"); string langstr = "american_rel"; //todo: make this variable? string langstr2 = "americandlc.rpf"; string langstr3 = "american.rpf"; @@ -1491,7 +1491,8 @@ namespace CodeWalker.GameFiles //Vehiclelayouts mostly to handle ped interactions with the vehicle - + UpdateStatus?.Invoke("Loading vehicles..."); + using var _ = new DisposableTimer("InitVehicles"); IEnumerable rpfs = PreloadedMode ? AllRpfs : (IEnumerable)ActiveMapRpfFiles.Values; @@ -1586,6 +1587,7 @@ namespace CodeWalker.GameFiles addVehicleFiles(DlcActiveRpfs); } + Console.WriteLine($"allVehicles: {allVehicles.Count()}"); VehiclesInitDict = allVehicles; @@ -1595,6 +1597,8 @@ namespace CodeWalker.GameFiles { if (!LoadPeds) return; + UpdateStatus?.Invoke("Loading peds..."); + using var _ = new DisposableTimer("InitPeds"); IEnumerable rpfs = PreloadedMode ? AllRpfs : (IEnumerable)ActiveMapRpfFiles.Values; List dlcrpfs = new List(); if (EnableDlc) @@ -1692,9 +1696,7 @@ namespace CodeWalker.GameFiles if (file.AllEntries == null) continue; foreach (RpfEntry entry in file.AllEntries) { -#if !DEBUG try -#endif { if ((entry.NameLower == "peds.ymt") || (entry.NameLower == "peds.meta")) { @@ -1713,13 +1715,12 @@ namespace CodeWalker.GameFiles allPedsFiles.Add(pf); } } -#if !DEBUG catch (Exception ex) { string errstr = entry.Path + "\n" + ex.ToString(); - ErrorLog(errstr); + ErrorLog?.Invoke(errstr); + Console.WriteLine(errstr); } -#endif } } }); @@ -1731,14 +1732,12 @@ namespace CodeWalker.GameFiles if (file.AllEntries == null) continue; foreach (RpfEntry entry in file.AllEntries) { -#if !DEBUG try -#endif { - if (entry.NameLower.EndsWith(".ymt")) + if (entry.Name.EndsWith(".ymt", StringComparison.OrdinalIgnoreCase)) { - var testname = entry.GetShortNameLower(); - var testhash = JenkHash.GenHash(testname); + var testname = entry.ShortName; + var testhash = JenkHash.GenHashLower(testname); if (allPeds.ContainsKey(testhash)) { var pf = RpfMan.GetFile(entry); @@ -1750,13 +1749,12 @@ namespace CodeWalker.GameFiles } } } -#if !DEBUG catch (Exception ex) { string errstr = entry.Path + "\n" + ex.ToString(); - ErrorLog(errstr); + ErrorLog?.Invoke(errstr); + Console.WriteLine(errstr); } -#endif } } }); @@ -1791,6 +1789,8 @@ namespace CodeWalker.GameFiles { if (!LoadAudio) return; + UpdateStatus?.Invoke("Loading audio..."); + using var timer = new DisposableTimer("InitAudio"); Dictionary datrelentries = new Dictionary(); void addRpfDatRelEntries(RpfFile rpffile) { @@ -1918,7 +1918,7 @@ namespace CodeWalker.GameFiles public bool SetDlcLevel(string dlc, bool enable) { - bool dlcchange = (dlc != SelectedDlc); + bool dlcchange = (!dlc.Equals(SelectedDlc, StringComparison.OrdinalIgnoreCase)); bool enablechange = (enable != EnableDlc); bool change = (dlcchange && enable) || enablechange; @@ -1986,15 +1986,9 @@ namespace CodeWalker.GameFiles { if (f == null) return; if (f.RpfFileEntry == null) return; - if (f.RpfFileEntry.ShortNameHash == 0) - { - f.RpfFileEntry.ShortNameHash = JenkHash.GenHash(f.RpfFileEntry.GetShortNameLower()); - } + if (f.RpfFileEntry.ShortNameHash == 0) return; var key = new GameFileCacheKey(f.RpfFileEntry.ShortNameHash, f.Type); - lock (requestSyncRoot) - { - projectFiles[key] = f; - } + projectFiles[key] = f; } public void RemoveProjectFile(GameFile f) { @@ -2002,54 +1996,43 @@ namespace CodeWalker.GameFiles if (f.RpfFileEntry == null) return; if (f.RpfFileEntry.ShortNameHash == 0) return; var key = new GameFileCacheKey(f.RpfFileEntry.ShortNameHash, f.Type); - lock (requestSyncRoot) - { - projectFiles.Remove(key); - } + projectFiles.TryRemove(key, out _); } public void ClearProjectFiles() { - lock (requestSyncRoot) - { - projectFiles.Clear(); - } + projectFiles.Clear(); } public void AddProjectArchetype(Archetype a) { if ((a?.Hash ?? 0) == 0) return; - lock (requestSyncRoot) - { - projectArchetypes[a.Hash] = a; - } + projectArchetypes[a.Hash] = a; } public void RemoveProjectArchetype(Archetype a) { if ((a?.Hash ?? 0) == 0) return; Archetype tarch = null; - lock (requestSyncRoot) + projectArchetypes.TryGetValue(a.Hash, out tarch); + if (tarch == a) { - projectArchetypes.TryGetValue(a.Hash, out tarch); - if (tarch == a) - { - projectArchetypes.Remove(a.Hash); - } + projectArchetypes.TryRemove(a.Hash, out _); } } public void ClearProjectArchetypes() { - lock (requestSyncRoot) - { - projectArchetypes.Clear(); - } + projectArchetypes.Clear(); } public void TryLoadEnqueue(GameFile gf) { - if (((!gf.Loaded)) && (requestQueue.Count < 10))// && (!gf.LoadQueued) + if (gf.Loaded || gf.LoadQueued) + { + return; + } + if (requestQueue.Count < 20)// && (!gf.LoadQueued) { - requestQueue.Enqueue(gf); gf.LoadQueued = true; + requestQueue.Enqueue(gf); } } @@ -2057,17 +2040,17 @@ namespace CodeWalker.GameFiles public Archetype GetArchetype(uint hash) { if (!archetypesLoaded) return null; - Archetype arch = null; - projectArchetypes.TryGetValue(hash, out arch); - if (arch != null) return arch; + if (projectArchetypes.TryGetValue(hash, out var arch) && arch != null) + { + return arch; + } archetypeDict.TryGetValue(hash, out arch); return arch; } public MapDataStoreNode GetMapNode(uint hash) { if (!IsInited) return null; - MapDataStoreNode node = null; - YmapHierarchyDict.TryGetValue(hash, out node); + YmapHierarchyDict.TryGetValue(hash, out var node); return node; } @@ -2085,25 +2068,21 @@ namespace CodeWalker.GameFiles if (ydr == null) { var e = GetYdrEntry(hash); - if (e != null) + + if (e == null) { - ydr = new YdrFile(e); - if (mainCache.TryAdd(key, ydr)) - { - TryLoadEnqueue(ydr); - } - else - { - ydr.LoadQueued = false; - //ErrorLog("Out of cache space - couldn't load drawable: " + JenkIndex.GetString(hash)); //too spammy... - } + return null; } - else + ydr = new YdrFile(e); + if (!mainCache.TryAdd(key, ydr)) { - //ErrorLog("Drawable not found: " + JenkIndex.GetString(hash)); //too spammy... + //ErrorLog("Out of cache space - couldn't load drawable: " + JenkIndex.GetString(hash)); //too spammy... + ydr.LoadQueued = false; + return null; } } - else if (!ydr.Loaded) + + if (!ydr.Loaded && !ydr.LoadQueued) { TryLoadEnqueue(ydr); } @@ -2493,29 +2472,20 @@ namespace CodeWalker.GameFiles } } - - public bool ContentThreadProc() + private void LoadFile(GameFile req) { - Monitor.Enter(updateSyncRoot); - - GameFile req; - //bool loadedsomething = false; - - int itemcount = 0; - - while (requestQueue.TryDequeue(out req) && (itemcount < MaxItemsPerLoop)) + try { //process content requests. if (req.Loaded) - continue; //it's already loaded... (somehow) + return; //it's already loaded... (somehow) - if ((req.LastUseTime - DateTime.Now).TotalSeconds > 0.5) - continue; //hasn't been requested lately..! ignore, will try again later if necessary + if ((req.LastUseTime - DateTime.Now).TotalSeconds > 3.0) + return; //hasn't been requested lately..! ignore, will try again later if necessary - itemcount++; //if (!loadedsomething) //{ - //UpdateStatus("Loading " + req.RpfFileEntry.Name + "..."); + //UpdateStatus?.Invoke("Loading " + req.RpfFileEntry.Name + "..."); //} switch (req.Type) @@ -2560,25 +2530,47 @@ namespace CodeWalker.GameFiles string str = (req.Loaded ? "Loaded " : "Error loading ") + req.ToString(); //string str = string.Format("{0}: {1}: {2}", requestQueue.Count, (req.Loaded ? "Loaded" : "Error loading"), req); - UpdateStatus(str); + UpdateStatus?.Invoke(str); //ErrorLog(str); if (!req.Loaded) { ErrorLog("Error loading " + req.ToString()); } + } + catch(Exception e) + { + req.LoadQueued = false; + req.Loaded = false; + Console.WriteLine(e); + } + finally + { + req.LoadQueued = false; + } + + } - //loadedsomething = true; + public bool ContentThreadProc() + { + lock (requestSyncRoot) + { + mainCache.BeginFrame(); + } + int itemcount = 0; + lock (updateSyncRoot) + { + GameFile req; + + while ((itemcount < MaxItemsPerLoop) && requestQueue.TryDequeue(out req)) + { + LoadFile(req); + + itemcount++; + } } - //whether or not we need another content thread loop - bool itemsStillPending = (itemcount >= MaxItemsPerLoop); - - - Monitor.Exit(updateSyncRoot); - - - return itemsStillPending; + return itemcount >= 1; } @@ -2590,32 +2582,24 @@ namespace CodeWalker.GameFiles { if (ytd?.TextureDict?.TextureNameHashes?.data_items == null) return; - lock (textureSyncRoot) + foreach (uint hash in ytd.TextureDict.TextureNameHashes.data_items) { - foreach (uint hash in ytd.TextureDict.TextureNameHashes.data_items) - { - textureLookup[hash] = ytd.RpfFileEntry; - } - + textureLookup[hash] = ytd.RpfFileEntry; } } public YtdFile TryGetTextureDictForTexture(uint hash) { - lock (textureSyncRoot) + if (textureLookup.TryGetValue(hash, out var e)) { - RpfFileEntry e; - if (textureLookup.TryGetValue(hash, out e)) - { - return GetYtd(e.ShortNameHash); - } - + return GetYtd(e.ShortNameHash); } + return null; } public YtdFile TryGetParentYtd(uint hash) { MetaHash phash; - if (textureParents.TryGetValue(hash, out phash)) + if (textureParents is not null && textureParents.TryGetValue(hash, out phash)) { return GetYtd(phash); } @@ -2623,8 +2607,11 @@ namespace CodeWalker.GameFiles } public uint TryGetParentYtdHash(uint hash) { - MetaHash phash = 0; - textureParents.TryGetValue(hash, out phash); + if (textureParents is null) + { + return 0u; + } + textureParents.TryGetValue(hash, out MetaHash phash); return phash; } public uint TryGetHDTextureHash(uint txdhash) @@ -2829,2437 +2816,6 @@ namespace CodeWalker.GameFiles return exclpaths; } - - - - - - - public void TestAudioRels() - { - UpdateStatus("Testing Audio REL files"); - - - bool savetest = true; - bool xmltest = true; - bool asmtest = true; - - foreach (RpfFile rpf in RpfMan.AllRpfs) - { - foreach (RpfEntry entry in rpf.AllEntries) - { - var rfe = entry as RpfFileEntry; - var rbfe = rfe as RpfBinaryFileEntry; - if ((rfe == null) || (rbfe == null)) continue; - - if (rfe.NameLower.EndsWith(".rel")) - { - UpdateStatus(string.Format(entry.Path)); - - RelFile rel = new RelFile(rfe); - RpfMan.LoadFile(rel, rfe); - - - - byte[] data; - - if (savetest) - { - - data = rel.Save(); - if (data != null) - { - if (data.Length != rbfe.FileUncompressedSize) - { } - else if (data.Length != rel.RawFileData.Length) - { } - else - { - for (int i = 0; i < data.Length; i++) //raw file test - if (data[i] != rel.RawFileData[i]) - { break; } - } - - - RelFile rel2 = new RelFile(); - rel2.Load(data, rfe);//roundtrip test - - if (rel2.IndexCount != rel.IndexCount) - { } - if (rel2.RelDatas == null) - { } - - } - else - { } - - } - - if (xmltest) - { - var relxml = RelXml.GetXml(rel); //XML test... - var rel3 = XmlRel.GetRel(relxml); - if (rel3 != null) - { - if (rel3.RelDatasSorted?.Length != rel.RelDatasSorted?.Length) - { } //check nothing went missing... - - - data = rel3.Save(); //full roundtrip! - if (data != null) - { - var rel4 = new RelFile(); - rel4.Load(data, rfe); //insanity check - - if (data.Length != rbfe.FileUncompressedSize) - { } - else if (data.Length != rel.RawFileData.Length) - { } - else - { - for (int i = 0; i < data.Length; i++) //raw file test - if (data[i] != rel.RawFileData[i]) - { break; } - } - - var relxml2 = RelXml.GetXml(rel4); //full insanity - if (relxml2.Length != relxml.Length) - { } - if (relxml2 != relxml) - { } - - } - else - { } - } - else - { } - - } - - if (asmtest) - { - if (rel.RelType == RelDatFileType.Dat10ModularSynth) - { - foreach (var d in rel.RelDatasSorted) - { - if (d is Dat10Synth synth) - { - synth.TestDisassembly(); - } - } - } - } - - } - - } - - } - - - - var hashmap = RelFile.HashesMap; - if (hashmap.Count > 0) - { } - - - var sb2 = new StringBuilder(); - foreach (var kvp in hashmap) - { - string itemtype = kvp.Key.ItemType.ToString(); - if (kvp.Key.FileType == RelDatFileType.Dat151) - { - itemtype = ((Dat151RelType)kvp.Key.ItemType).ToString(); - } - else if (kvp.Key.FileType == RelDatFileType.Dat54DataEntries) - { - itemtype = ((Dat54SoundType)kvp.Key.ItemType).ToString(); - } - else - { - itemtype = kvp.Key.FileType.ToString() + ".Unk" + kvp.Key.ItemType.ToString(); - } - if (kvp.Key.IsContainer) - { - itemtype += " (container)"; - } - - //if (kvp.Key.FileType == RelDatFileType.Dat151) - { - sb2.Append(itemtype); - sb2.Append(" "); - foreach (var val in kvp.Value) - { - sb2.Append(val.ToString()); - sb2.Append(" "); - } - - sb2.AppendLine(); - } - - } - - var hashmapstr = sb2.ToString(); - if (!string.IsNullOrEmpty(hashmapstr)) - { } - - } - public void TestAudioYmts() - { - - StringBuilder sb = new StringBuilder(); - - Dictionary allids = new Dictionary(); - - foreach (RpfFile file in AllRpfs) - { - foreach (RpfEntry entry in file.AllEntries) - { - try - { - var n = entry.NameLower; - if (n.EndsWith(".ymt")) - { - UpdateStatus(string.Format(entry.Path)); - //YmtFile ymtfile = RpfMan.GetFile(entry); - //if ((ymtfile != null)) - //{ - //} - - var sn = entry.GetShortName(); - uint un; - if (uint.TryParse(sn, out un)) - { - if (allids.ContainsKey(un)) - { - allids[un] = allids[un] + 1; - } - else - { - allids[un] = 1; - //ushort s1 = (ushort)(un & 0x1FFFu); - //ushort s2 = (ushort)((un >> 13) & 0x1FFFu); - uint s1 = un % 80000; - uint s2 = (un / 80000); - float f1 = s1 / 5000.0f; - float f2 = s2 / 5000.0f; - sb.AppendFormat("{0}, {1}, 0, {2}\r\n", f1, f2, sn); - } - } - - - } - } - catch (Exception ex) - { - UpdateStatus("Error! " + ex.ToString()); - } - } - } - - var skeys = allids.Keys.ToList(); - skeys.Sort(); - - var hkeys = new List(); - foreach (var skey in skeys) - { - FlagsUint fu = new FlagsUint(skey); - //hkeys.Add(skey.ToString("X")); - hkeys.Add(fu.Bin); - } - - string nstr = string.Join("\r\n", hkeys.ToArray()); - string pstr = sb.ToString(); - if (pstr.Length > 0) - { } - - - } - public void TestAudioAwcs() - { - - StringBuilder sb = new StringBuilder(); - - Dictionary allids = new Dictionary(); - - foreach (RpfFile file in AllRpfs) - { - foreach (RpfEntry entry in file.AllEntries) - { - //try - //{ - var n = entry.NameLower; - if (n.EndsWith(".awc")) - { - UpdateStatus(string.Format(entry.Path)); - var awcfile = RpfMan.GetFile(entry); - if (awcfile != null) - { } - } - //} - //catch (Exception ex) - //{ - // UpdateStatus("Error! " + ex.ToString()); - //} - } - } - } - public void TestMetas() - { - //find all RSC meta files and generate the MetaTypes init code - - MetaTypes.Clear(); - foreach (RpfFile file in AllRpfs) - { - foreach (RpfEntry entry in file.AllEntries) - { - //try - { - var n = entry.NameLower; - //if (n.EndsWith(".ymap")) - //{ - // UpdateStatus(string.Format(entry.Path)); - // YmapFile ymapfile = RpfMan.GetFile(entry); - // if ((ymapfile != null) && (ymapfile.Meta != null)) - // { - // MetaTypes.EnsureMetaTypes(ymapfile.Meta); - // } - //} - //else if (n.EndsWith(".ytyp")) - //{ - // UpdateStatus(string.Format(entry.Path)); - // YtypFile ytypfile = RpfMan.GetFile(entry); - // if ((ytypfile != null) && (ytypfile.Meta != null)) - // { - // MetaTypes.EnsureMetaTypes(ytypfile.Meta); - // } - //} - //else if (n.EndsWith(".ymt")) - //{ - // UpdateStatus(string.Format(entry.Path)); - // YmtFile ymtfile = RpfMan.GetFile(entry); - // if ((ymtfile != null) && (ymtfile.Meta != null)) - // { - // MetaTypes.EnsureMetaTypes(ymtfile.Meta); - // } - //} - - - if (n.EndsWith(".ymap") || n.EndsWith(".ytyp") || n.EndsWith(".ymt")) - { - var rfe = entry as RpfResourceFileEntry; - if (rfe == null) continue; - - UpdateStatus(string.Format(entry.Path)); - - var data = rfe.File.ExtractFile(rfe); - ResourceDataReader rd = new ResourceDataReader(rfe, data); - var meta = rd.ReadBlock(); - var xml = MetaXml.GetXml(meta); - var xdoc = new XmlDocument(); - xdoc.LoadXml(xml); - var meta2 = XmlMeta.GetMeta(xdoc); - var xml2 = MetaXml.GetXml(meta2); - - if (xml.Length != xml2.Length) - { } - if ((xml != xml2) && (!n.EndsWith("srl.ymt") && !n.StartsWith("des_"))) - { } - - } - - - } - //catch (Exception ex) - //{ - // UpdateStatus("Error! " + ex.ToString()); - //} - } - } - - string str = MetaTypes.GetTypesInitString(); - - } - public void TestPsos() - { - //find all PSO meta files and generate the PsoTypes init code - PsoTypes.Clear(); - - var exceptions = new List(); - var allpsos = new List(); - var diffpsos = new List(); - - foreach (RpfFile file in AllRpfs) - { - foreach (RpfEntry entry in file.AllEntries) - { -#if !DEBUG - try -#endif - { - var n = entry.NameLower; - if (!(n.EndsWith(".pso") || - n.EndsWith(".ymt") || - n.EndsWith(".ymf") || - n.EndsWith(".ymap") || - n.EndsWith(".ytyp") || - n.EndsWith(".cut"))) - continue; //PSO files seem to only have these extensions - - var fentry = entry as RpfFileEntry; - var data = entry.File.ExtractFile(fentry); - if (data != null) - { - using (MemoryStream ms = new MemoryStream(data)) - { - if (PsoFile.IsPSO(ms)) - { - UpdateStatus(string.Format(entry.Path)); - - var pso = new PsoFile(); - pso.Load(ms); - - allpsos.Add(fentry.Path); - - PsoTypes.EnsurePsoTypes(pso); - - var xml = PsoXml.GetXml(pso); - if (!string.IsNullOrEmpty(xml)) - { } - - var xdoc = new XmlDocument(); - xdoc.LoadXml(xml); - var pso2 = XmlPso.GetPso(xdoc); - var pso2b = pso2.Save(); - - var pso3 = new PsoFile(); - pso3.Load(pso2b); - var xml3 = PsoXml.GetXml(pso3); - - if (xml.Length != xml3.Length) - { } - if (xml != xml3) - { - diffpsos.Add(fentry.Path); - } - - - //if (entry.NameLower == "clip_sets.ymt") - //{ } - //if (entry.NameLower == "vfxinteriorinfo.ymt") - //{ } - //if (entry.NameLower == "vfxvehicleinfo.ymt") - //{ } - //if (entry.NameLower == "vfxpedinfo.ymt") - //{ } - //if (entry.NameLower == "vfxregioninfo.ymt") - //{ } - //if (entry.NameLower == "vfxweaponinfo.ymt") - //{ } - //if (entry.NameLower == "physicstasks.ymt") - //{ } - - } - } - } - } -#if !DEBUG - catch (Exception ex) - { - UpdateStatus("Error! " + ex.ToString()); - exceptions.Add(ex); - } -#endif - } - } - - string allpsopaths = string.Join("\r\n", allpsos); - string diffpsopaths = string.Join("\r\n", diffpsos); - - string str = PsoTypes.GetTypesInitString(); - if (!string.IsNullOrEmpty(str)) - { - } - } - public void TestRbfs() - { - var exceptions = new List(); - var allrbfs = new List(); - var diffrbfs = new List(); - - foreach (RpfFile file in AllRpfs) - { - foreach (RpfEntry entry in file.AllEntries) - { - var n = entry.NameLower; - if (!(n.EndsWith(".ymt") || - n.EndsWith(".ymf") || - n.EndsWith(".ymap") || - n.EndsWith(".ytyp") || - n.EndsWith(".cut"))) - continue; //PSO files seem to only have these extensions - - var fentry = entry as RpfFileEntry; - var data = entry.File.ExtractFile(fentry); - if (data != null) - { - using (MemoryStream ms = new MemoryStream(data)) - { - if (RbfFile.IsRBF(ms)) - { - UpdateStatus(string.Format(entry.Path)); - - var rbf = new RbfFile(); - rbf.Load(ms); - - allrbfs.Add(fentry.Path); - - var xml = RbfXml.GetXml(rbf); - if (!string.IsNullOrEmpty(xml)) - { } - - var xdoc = new XmlDocument(); - xdoc.LoadXml(xml); - var rbf2 = XmlRbf.GetRbf(xdoc); - var rbf2b = rbf2.Save(); - - var rbf3 = new RbfFile(); - rbf3.Load(rbf2b); - var xml3 = RbfXml.GetXml(rbf3); - - if (xml.Length != xml3.Length) - { } - if (xml != xml3) - { - diffrbfs.Add(fentry.Path); - } - - if (data.Length != rbf2b.Length) - { - //File.WriteAllBytes("C:\\GitHub\\CodeWalkerResearch\\RBF\\" + fentry.Name + ".dat0", data); - //File.WriteAllBytes("C:\\GitHub\\CodeWalkerResearch\\RBF\\" + fentry.Name + ".dat1", rbf2b); - } - else - { - for (int i = 0; i < data.Length; i++) - { - if (data[i] != rbf2b[i]) - { - diffrbfs.Add(fentry.Path); - break; - } - } - } - - } - } - } - - } - } - - string allrbfpaths = string.Join("\r\n", allrbfs); - string diffrbfpaths = string.Join("\r\n", diffrbfs); - - } - public void TestCuts() - { - - var exceptions = new List(); - - foreach (RpfFile file in AllRpfs) - { - foreach (RpfEntry entry in file.AllEntries) - { -#if !DEBUG - try -#endif - { - var rfe = entry as RpfFileEntry; - if (rfe == null) continue; - - if (rfe.NameLower.EndsWith(".cut")) - { - UpdateStatus(string.Format(entry.Path)); - - CutFile cut = new CutFile(rfe); - RpfMan.LoadFile(cut, rfe); - - //PsoTypes.EnsurePsoTypes(cut.Pso); - } - } -#if !DEBUG - catch (Exception ex) - { - UpdateStatus("Error! " + ex.ToString()); - exceptions.Add(ex); - } -#endif - } - } - - string str = PsoTypes.GetTypesInitString(); - if (!string.IsNullOrEmpty(str)) - { - } - } - public void TestYlds() - { - - var exceptions = new List(); - - foreach (RpfFile file in AllRpfs) - { - foreach (RpfEntry entry in file.AllEntries) - { -#if !DEBUG - try -#endif - { - var rfe = entry as RpfFileEntry; - if (rfe == null) continue; - - if (rfe.NameLower.EndsWith(".yld")) - { - UpdateStatus(string.Format(entry.Path)); - - YldFile yld = new YldFile(rfe); - RpfMan.LoadFile(yld, rfe); - - } - } -#if !DEBUG - catch (Exception ex) - { - UpdateStatus("Error! " + ex.ToString()); - exceptions.Add(ex); - } -#endif - } - } - - if (exceptions.Count > 0) - { } - } - public void TestYeds() - { - - var exceptions = new List(); - - foreach (RpfFile file in AllRpfs) - { - foreach (RpfEntry entry in file.AllEntries) - { -#if !DEBUG - try -#endif - { - var rfe = entry as RpfFileEntry; - if (rfe == null) continue; - - if (rfe.NameLower.EndsWith(".yed")) - { - UpdateStatus(string.Format(entry.Path)); - - YedFile yed = new YedFile(rfe); - RpfMan.LoadFile(yed, rfe); - - var xml = YedXml.GetXml(yed); - var yed2 = XmlYed.GetYed(xml); - var data2 = yed2.Save(); - var yed3 = new YedFile(); - RpfFile.LoadResourceFile(yed3, data2, 25);//full roundtrip - var xml2 = YedXml.GetXml(yed3); - if (xml != xml2) - { } - - } - } -#if !DEBUG - catch (Exception ex) - { - UpdateStatus("Error! " + ex.ToString()); - exceptions.Add(ex); - } -#endif - } - } - - if (exceptions.Count > 0) - { } - } - public void TestYcds() - { - bool savetest = false; - var errorfiles = new List(); - var errorentries = new List(); - foreach (RpfFile file in AllRpfs) - { - foreach (RpfEntry entry in file.AllEntries) - { - //try - //{ - if (entry.NameLower.EndsWith(".ycd")) - { - UpdateStatus(string.Format(entry.Path)); - YcdFile ycd1 = RpfMan.GetFile(entry); - if (ycd1 == null) - { - errorentries.Add(entry); - } - else if (ycd1?.LoadException != null) - { - errorfiles.Add(ycd1);//these ones have file corruption issues and won't load as resource... - } - else if (savetest) - { - if (ycd1.ClipDictionary == null) - { continue; } - - //var data1 = ycd1.Save(); - - var xml = YcdXml.GetXml(ycd1); - var ycdX = XmlYcd.GetYcd(xml); - var data = ycdX.Save(); - var ycd2 = new YcdFile(); - RpfFile.LoadResourceFile(ycd2, data, 46);//full roundtrip - - { - if (ycd2 == null) - { continue; } - if (ycd2.ClipDictionary == null) - { continue; } - - var c1 = ycd1.ClipDictionary.Clips?.data_items; - var c2 = ycd2.ClipDictionary.Clips?.data_items; - if ((c1 == null) || (c2 == null)) - { continue; } - if (c1.Length != c2.Length) - { continue; } - - var a1 = ycd1.ClipDictionary.Animations?.Animations?.data_items; - var a2 = ycd2.ClipDictionary.Animations?.Animations?.data_items; - if ((a1 == null) || (a2 == null)) - { continue; } - if (a1.Length != a2.Length) - { continue; } - - var m1 = ycd1.AnimMap; - var m2 = ycd2.AnimMap; - if ((m1 == null) || (m2 == null)) - { continue; } - if (m1.Count != m2.Count) - { continue; } - foreach (var kvp1 in m1) - { - var an1 = kvp1.Value; - var an2 = an1; - if (!m2.TryGetValue(kvp1.Key, out an2)) - { continue; } - - var sa1 = an1?.Animation?.Sequences?.data_items; - var sa2 = an2?.Animation?.Sequences?.data_items; - if ((sa1 == null) || (sa2 == null)) - { continue; } - if (sa1.Length != sa2.Length) - { continue; } - for (int s = 0; s < sa1.Length; s++) - { - var s1 = sa1[s]; - var s2 = sa2[s]; - if ((s1?.Sequences == null) || (s2?.Sequences == null)) - { continue; } - - if (s1.NumFrames != s2.NumFrames) - { } - if (s1.ChunkSize != s2.ChunkSize) - { } - if (s1.FrameOffset != s2.FrameOffset) - { } - if (s1.DataLength != s2.DataLength) - { } - else - { - //for (int b = 0; b < s1.DataLength; b++) - //{ - // var b1 = s1.Data[b]; - // var b2 = s2.Data[b]; - // if (b1 != b2) - // { } - //} - } - - for (int ss = 0; ss < s1.Sequences.Length; ss++) - { - var ss1 = s1.Sequences[ss]; - var ss2 = s2.Sequences[ss]; - if ((ss1?.Channels == null) || (ss2?.Channels == null)) - { continue; } - if (ss1.Channels.Length != ss2.Channels.Length) - { continue; } - - - for (int c = 0; c < ss1.Channels.Length; c++) - { - var sc1 = ss1.Channels[c]; - var sc2 = ss2.Channels[c]; - if ((sc1 == null) || (sc2 == null)) - { continue; } - if (sc1.Type == AnimChannelType.LinearFloat) - { continue; } - if (sc1.Type != sc2.Type) - { continue; } - if (sc1.Index != sc2.Index) - { continue; } - if (sc1.Type == AnimChannelType.StaticQuaternion) - { - var acsq1 = sc1 as AnimChannelStaticQuaternion; - var acsq2 = sc2 as AnimChannelStaticQuaternion; - var vdiff = acsq1.Value - acsq2.Value; - var len = vdiff.Length(); - var v1len = Math.Max(acsq1.Value.Length(), 1); - if (len > 1e-2f * v1len) - { continue; } - } - else if (sc1.Type == AnimChannelType.StaticVector3) - { - var acsv1 = sc1 as AnimChannelStaticVector3; - var acsv2 = sc2 as AnimChannelStaticVector3; - var vdiff = acsv1.Value - acsv2.Value; - var len = vdiff.Length(); - var v1len = Math.Max(acsv1.Value.Length(), 1); - if (len > 1e-2f * v1len) - { continue; } - } - else if (sc1.Type == AnimChannelType.StaticFloat) - { - var acsf1 = sc1 as AnimChannelStaticFloat; - var acsf2 = sc2 as AnimChannelStaticFloat; - var vdiff = Math.Abs(acsf1.Value - acsf2.Value); - var v1len = Math.Max(Math.Abs(acsf1.Value), 1); - if (vdiff > 1e-2f * v1len) - { continue; } - } - else if (sc1.Type == AnimChannelType.RawFloat) - { - var acrf1 = sc1 as AnimChannelRawFloat; - var acrf2 = sc2 as AnimChannelRawFloat; - for (int v = 0; v < acrf1.Values.Length; v++) - { - var v1 = acrf1.Values[v]; - var v2 = acrf2.Values[v]; - var vdiff = Math.Abs(v1 - v2); - var v1len = Math.Max(Math.Abs(v1), 1); - if (vdiff > 1e-2f * v1len) - { break; } - } - } - else if (sc1.Type == AnimChannelType.QuantizeFloat) - { - var acqf1 = sc1 as AnimChannelQuantizeFloat; - var acqf2 = sc2 as AnimChannelQuantizeFloat; - if (acqf1.ValueBits != acqf2.ValueBits) - { continue; } - if (Math.Abs(acqf1.Offset - acqf2.Offset) > (0.001f * Math.Abs(acqf1.Offset))) - { continue; } - if (Math.Abs(acqf1.Quantum - acqf2.Quantum) > 0.00001f) - { continue; } - for (int v = 0; v < acqf1.Values.Length; v++) - { - var v1 = acqf1.Values[v]; - var v2 = acqf2.Values[v]; - var vdiff = Math.Abs(v1 - v2); - var v1len = Math.Max(Math.Abs(v1), 1); - if (vdiff > 1e-2f * v1len) - { break; } - } - } - else if (sc1.Type == AnimChannelType.IndirectQuantizeFloat) - { - var aciqf1 = sc1 as AnimChannelIndirectQuantizeFloat; - var aciqf2 = sc2 as AnimChannelIndirectQuantizeFloat; - if (aciqf1.FrameBits != aciqf2.FrameBits) - { continue; } - if (aciqf1.ValueBits != aciqf2.ValueBits) - { continue; } - if (Math.Abs(aciqf1.Offset - aciqf2.Offset) > (0.001f * Math.Abs(aciqf1.Offset))) - { continue; } - if (Math.Abs(aciqf1.Quantum - aciqf2.Quantum) > 0.00001f) - { continue; } - for (int f = 0; f < aciqf1.Frames.Length; f++) - { - if (aciqf1.Frames[f] != aciqf2.Frames[f]) - { break; } - } - for (int v = 0; v < aciqf1.Values.Length; v++) - { - var v1 = aciqf1.Values[v]; - var v2 = aciqf2.Values[v]; - var vdiff = Math.Abs(v1 - v2); - var v1len = Math.Max(Math.Abs(v1), 1); - if (vdiff > 1e-2f * v1len) - { break; } - } - } - else if ((sc1.Type == AnimChannelType.CachedQuaternion1) || (sc1.Type == AnimChannelType.CachedQuaternion2)) - { - var acrf1 = sc1 as AnimChannelCachedQuaternion; - var acrf2 = sc2 as AnimChannelCachedQuaternion; - if (acrf1.QuatIndex != acrf2.QuatIndex) - { continue; } - } - - - - - } - - - //for (int f = 0; f < s1.NumFrames; f++) - //{ - // var v1 = ss1.EvaluateVector(f); - // var v2 = ss2.EvaluateVector(f); - // var vdiff = v1 - v2; - // var len = vdiff.Length(); - // var v1len = Math.Max(v1.Length(), 1); - // if (len > 1e-2f*v1len) - // { } - //} - } - - - } - - - } - - - } - - } - } - //if (entry.NameLower.EndsWith(".awc")) //awcs can also contain clip dicts.. - //{ - // UpdateStatus(string.Format(entry.Path)); - // AwcFile awcfile = RpfMan.GetFile(entry); - // if ((awcfile != null)) - // { } - //} - //} - //catch (Exception ex) - //{ - // UpdateStatus("Error! " + ex.ToString()); - //} - } - } - - if (errorfiles.Count > 0) - { } - - } - public void TestYtds() - { - bool ddstest = false; - bool savetest = false; - var errorfiles = new List(); - foreach (RpfFile file in AllRpfs) - { - foreach (RpfEntry entry in file.AllEntries) - { - //try - { - if (entry.NameLower.EndsWith(".ytd")) - { - UpdateStatus(string.Format(entry.Path)); - YtdFile ytdfile = null; - try - { - ytdfile = RpfMan.GetFile(entry); - } - catch(Exception ex) - { - UpdateStatus("Error! " + ex.ToString()); - errorfiles.Add(entry); - } - if (ddstest && (ytdfile != null) && (ytdfile.TextureDict != null)) - { - foreach (var tex in ytdfile.TextureDict.Textures.data_items) - { - var dds = Utils.DDSIO.GetDDSFile(tex); - var tex2 = Utils.DDSIO.GetTexture(dds); - if (!tex.Name.StartsWith("script_rt")) - { - if (tex.Data?.FullData?.Length != tex2.Data?.FullData?.Length) - { } - if (tex.Stride != tex2.Stride) - { } - } - if ((tex.Format != tex2.Format) || (tex.Width != tex2.Width) || (tex.Height != tex2.Height) || (tex.Depth != tex2.Depth) || (tex.Levels != tex2.Levels)) - { } - } - } - if (savetest && (ytdfile != null) && (ytdfile.TextureDict != null)) - { - var fentry = entry as RpfFileEntry; - if (fentry == null) - { continue; } //shouldn't happen - - var bytes = ytdfile.Save(); - - string origlen = TextUtil.GetBytesReadable(fentry.FileSize); - string bytelen = TextUtil.GetBytesReadable(bytes.Length); - - if (ytdfile.TextureDict.Textures?.Count == 0) - { } - - - var ytd2 = new YtdFile(); - //ytd2.Load(bytes, fentry); - RpfFile.LoadResourceFile(ytd2, bytes, 13); - - if (ytd2.TextureDict == null) - { continue; } - if (ytd2.TextureDict.Textures?.Count != ytdfile.TextureDict.Textures?.Count) - { continue; } - - for (int i = 0; i < ytdfile.TextureDict.Textures.Count; i++) - { - var tx1 = ytdfile.TextureDict.Textures[i]; - var tx2 = ytd2.TextureDict.Textures[i]; - var td1 = tx1.Data; - var td2 = tx2.Data; - if (td1.FullData.Length != td2.FullData.Length) - { continue; } - - for (int j = 0; j < td1.FullData.Length; j++) - { - if (td1.FullData[j] != td2.FullData[j]) - { break; } - } - - } - - } - } - } - //catch (Exception ex) - //{ - // UpdateStatus("Error! " + ex.ToString()); - //} - } - } - if (errorfiles.Count > 0) - { } - } - public void TestYbns() - { - bool xmltest = false; - bool savetest = false; - bool reloadtest = false; - var errorfiles = new List(); - foreach (RpfFile file in AllRpfs) - { - foreach (RpfEntry entry in file.AllEntries) - { - //try - { - if (entry.NameLower.EndsWith(".ybn")) - { - UpdateStatus(string.Format(entry.Path)); - YbnFile ybn = null; - try - { - ybn = RpfMan.GetFile(entry); - } - catch (Exception ex) - { - UpdateStatus("Error! " + ex.ToString()); - errorfiles.Add(entry); - } - if (xmltest && (ybn != null) && (ybn.Bounds != null)) - { - var xml = YbnXml.GetXml(ybn); - var ybn2 = XmlYbn.GetYbn(xml); - var xml2 = YbnXml.GetXml(ybn2); - if (xml.Length != xml2.Length) - { } - } - if (savetest && (ybn != null) && (ybn.Bounds != null)) - { - var fentry = entry as RpfFileEntry; - if (fentry == null) - { continue; } //shouldn't happen - - var bytes = ybn.Save(); - - if (!reloadtest) - { continue; } - - string origlen = TextUtil.GetBytesReadable(fentry.FileSize); - string bytelen = TextUtil.GetBytesReadable(bytes.Length); - - - var ybn2 = new YbnFile(); - RpfFile.LoadResourceFile(ybn2, bytes, 43); - - if (ybn2.Bounds == null) - { continue; } - if (ybn2.Bounds.Type != ybn.Bounds.Type) - { continue; } - - //quick check of roundtrip - switch (ybn2.Bounds.Type) - { - case BoundsType.Sphere: - { - var a = ybn.Bounds as BoundSphere; - var b = ybn2.Bounds as BoundSphere; - if (b == null) - { continue; } - break; - } - case BoundsType.Capsule: - { - var a = ybn.Bounds as BoundCapsule; - var b = ybn2.Bounds as BoundCapsule; - if (b == null) - { continue; } - break; - } - case BoundsType.Box: - { - var a = ybn.Bounds as BoundBox; - var b = ybn2.Bounds as BoundBox; - if (b == null) - { continue; } - break; - } - case BoundsType.Geometry: - { - var a = ybn.Bounds as BoundGeometry; - var b = ybn2.Bounds as BoundGeometry; - if (b == null) - { continue; } - if (a.Polygons?.Length != b.Polygons?.Length) - { continue; } - for (int i = 0; i < a.Polygons.Length; i++) - { - var pa = a.Polygons[i]; - var pb = b.Polygons[i]; - if (pa.Type != pb.Type) - { } - } - break; - } - case BoundsType.GeometryBVH: - { - var a = ybn.Bounds as BoundBVH; - var b = ybn2.Bounds as BoundBVH; - if (b == null) - { continue; } - if (a.BVH?.Nodes?.data_items?.Length != b.BVH?.Nodes?.data_items?.Length) - { } - if (a.Polygons?.Length != b.Polygons?.Length) - { continue; } - for (int i = 0; i < a.Polygons.Length; i++) - { - var pa = a.Polygons[i]; - var pb = b.Polygons[i]; - if (pa.Type != pb.Type) - { } - } - break; - } - case BoundsType.Composite: - { - var a = ybn.Bounds as BoundComposite; - var b = ybn2.Bounds as BoundComposite; - if (b == null) - { continue; } - if (a.Children?.data_items?.Length != b.Children?.data_items?.Length) - { } - break; - } - case BoundsType.Disc: - { - var a = ybn.Bounds as BoundDisc; - var b = ybn2.Bounds as BoundDisc; - if (b == null) - { continue; } - break; - } - case BoundsType.Cylinder: - { - var a = ybn.Bounds as BoundCylinder; - var b = ybn2.Bounds as BoundCylinder; - if (b == null) - { continue; } - break; - } - case BoundsType.Cloth: - { - var a = ybn.Bounds as BoundCloth; - var b = ybn2.Bounds as BoundCloth; - if (b == null) - { continue; } - break; - } - default: //return null; // throw new Exception("Unknown bound type"); - break; - } - - - - } - } - } - //catch (Exception ex) - //{ - // UpdateStatus("Error! " + ex.ToString()); - //} - } - } - if (errorfiles.Count > 0) - { } - } - public void TestYdrs() - { - bool savetest = false; - bool boundsonly = true; - var errorfiles = new List(); - foreach (RpfFile file in AllRpfs) - { - foreach (RpfEntry entry in file.AllEntries) - { - //try - { - if (entry.NameLower.EndsWith(".ydr")) - { - UpdateStatus(string.Format(entry.Path)); - YdrFile ydr = null; - try - { - ydr = RpfMan.GetFile(entry); - } - catch (Exception ex) - { - UpdateStatus("Error! " + ex.ToString()); - errorfiles.Add(entry); - } - if (savetest && (ydr != null) && (ydr.Drawable != null)) - { - var fentry = entry as RpfFileEntry; - if (fentry == null) - { continue; } //shouldn't happen - - if (boundsonly && (ydr.Drawable.Bound == null)) - { continue; } - - var bytes = ydr.Save(); - - string origlen = TextUtil.GetBytesReadable(fentry.FileSize); - string bytelen = TextUtil.GetBytesReadable(bytes.Length); - - var ydr2 = new YdrFile(); - RpfFile.LoadResourceFile(ydr2, bytes, 165); - - if (ydr2.Drawable == null) - { continue; } - if (ydr2.Drawable.AllModels?.Length != ydr.Drawable.AllModels?.Length) - { continue; } - - } - } - } - //catch (Exception ex) - //{ - // UpdateStatus("Error! " + ex.ToString()); - //} - } - } - if (errorfiles.Count != 13) - { } - } - public void TestYdds() - { - bool savetest = false; - var errorfiles = new List(); - foreach (RpfFile file in AllRpfs) - { - foreach (RpfEntry entry in file.AllEntries) - { - //try - { - if (entry.NameLower.EndsWith(".ydd")) - { - UpdateStatus(string.Format(entry.Path)); - YddFile ydd = null; - try - { - ydd = RpfMan.GetFile(entry); - } - catch (Exception ex) - { - UpdateStatus("Error! " + ex.ToString()); - errorfiles.Add(entry); - } - if (savetest && (ydd != null) && (ydd.DrawableDict != null)) - { - var fentry = entry as RpfFileEntry; - if (fentry == null) - { continue; } //shouldn't happen - - var bytes = ydd.Save(); - - string origlen = TextUtil.GetBytesReadable(fentry.FileSize); - string bytelen = TextUtil.GetBytesReadable(bytes.Length); - - - var ydd2 = new YddFile(); - RpfFile.LoadResourceFile(ydd2, bytes, 165); - - if (ydd2.DrawableDict == null) - { continue; } - if (ydd2.DrawableDict.Drawables?.Count != ydd.DrawableDict.Drawables?.Count) - { continue; } - - } - if (ydd?.DrawableDict?.Hashes != null) - { - uint h = 0; - foreach (uint th in ydd.DrawableDict.Hashes) - { - if (th <= h) - { } //should never happen - h = th; - } - } - } - } - //catch (Exception ex) - //{ - // UpdateStatus("Error! " + ex.ToString()); - //} - } - } - if (errorfiles.Count > 0) - { } - } - public void TestYfts() - { - bool savetest = false; - var errorfiles = new List(); - var sb = new StringBuilder(); - var flagdict = new Dictionary(); - foreach (RpfFile file in AllRpfs) - { - foreach (RpfEntry entry in file.AllEntries) - { - //try - { - if (entry.NameLower.EndsWith(".yft")) - { - UpdateStatus(string.Format(entry.Path)); - YftFile yft = null; - try - { - yft = RpfMan.GetFile(entry); - } - catch (Exception ex) - { - UpdateStatus("Error! " + ex.ToString()); - errorfiles.Add(entry); - } - if (savetest && (yft != null) && (yft.Fragment != null)) - { - var fentry = entry as RpfFileEntry; - if (fentry == null) - { continue; } //shouldn't happen - - var bytes = yft.Save(); - - - string origlen = TextUtil.GetBytesReadable(fentry.FileSize); - string bytelen = TextUtil.GetBytesReadable(bytes.Length); - - var yft2 = new YftFile(); - RpfFile.LoadResourceFile(yft2, bytes, 162); - - if (yft2.Fragment == null) - { continue; } - if (yft2.Fragment.Drawable?.AllModels?.Length != yft.Fragment.Drawable?.AllModels?.Length) - { continue; } - - } - - if (yft?.Fragment?.GlassWindows?.data_items != null) - { - var lastf = -1; - for (int i = 0; i < yft.Fragment.GlassWindows.data_items.Length; i++) - { - var w = yft.Fragment.GlassWindows.data_items[i]; - if (w.Flags == lastf) continue; - lastf = w.Flags; - flagdict.TryGetValue(w.Flags, out int n); - if (n < 10) - { - flagdict[w.Flags] = n + 1; - sb.AppendLine(entry.Path + " Window " + i.ToString() + ": Flags " + w.Flags.ToString() + ", Low:" + w.FlagsLo.ToString() + ", High:" + w.FlagsHi.ToString()); - } - } - } - - } - } - //catch (Exception ex) - //{ - // UpdateStatus("Error! " + ex.ToString()); - //} - } - } - var teststr = sb.ToString(); - - if (errorfiles.Count > 0) - { } - } - public void TestYpts() - { - var savetest = false; - var errorfiles = new List(); - foreach (RpfFile file in AllRpfs) - { - foreach (RpfEntry entry in file.AllEntries) - { - //try - { - if (entry.NameLower.EndsWith(".ypt")) - { - UpdateStatus(string.Format(entry.Path)); - YptFile ypt = null; - try - { - ypt = RpfMan.GetFile(entry); - } - catch (Exception ex) - { - UpdateStatus("Error! " + ex.ToString()); - errorfiles.Add(entry); - } - if (savetest && (ypt != null) && (ypt.PtfxList != null)) - { - var fentry = entry as RpfFileEntry; - if (fentry == null) - { continue; } //shouldn't happen - - var bytes = ypt.Save(); - - - string origlen = TextUtil.GetBytesReadable(fentry.FileSize); - string bytelen = TextUtil.GetBytesReadable(bytes.Length); - - var ypt2 = new YptFile(); - RpfFile.LoadResourceFile(ypt2, bytes, 68); - - if (ypt2.PtfxList == null) - { continue; } - if (ypt2.PtfxList.Name?.Value != ypt.PtfxList.Name?.Value) - { continue; } - - } - } - } - //catch (Exception ex) - //{ - // UpdateStatus("Error! " + ex.ToString()); - //} - } - } - if (errorfiles.Count > 0) - { } - } - public void TestYnvs() - { - bool xmltest = true; - var savetest = false; - var errorfiles = new List(); - foreach (RpfFile file in AllRpfs) - { - foreach (RpfEntry entry in file.AllEntries) - { - //try - { - if (entry.NameLower.EndsWith(".ynv")) - { - UpdateStatus(string.Format(entry.Path)); - YnvFile ynv = null; - try - { - ynv = RpfMan.GetFile(entry); - } - catch (Exception ex) - { - UpdateStatus("Error! " + ex.ToString()); - errorfiles.Add(entry); - } - if (xmltest && (ynv != null) && (ynv.Nav != null)) - { - var xml = YnvXml.GetXml(ynv); - if (xml != null) - { } - var ynv2 = XmlYnv.GetYnv(xml); - if (ynv2 != null) - { } - var ynv2b = ynv2.Save(); - if (ynv2b != null) - { } - var ynv3 = new YnvFile(); - RpfFile.LoadResourceFile(ynv3, ynv2b, 2); - var xml3 = YnvXml.GetXml(ynv3); - if (xml.Length != xml3.Length) - { } - var xmllines = xml.Split('\n'); - var xml3lines = xml3.Split('\n'); - if (xmllines.Length != xml3lines.Length) - { } - } - if (savetest && (ynv != null) && (ynv.Nav != null)) - { - var fentry = entry as RpfFileEntry; - if (fentry == null) - { continue; } //shouldn't happen - - var bytes = ynv.Save(); - - string origlen = TextUtil.GetBytesReadable(fentry.FileSize); - string bytelen = TextUtil.GetBytesReadable(bytes.Length); - - var ynv2 = new YnvFile(); - RpfFile.LoadResourceFile(ynv2, bytes, 2); - - if (ynv2.Nav == null) - { continue; } - - } - } - } - //catch (Exception ex) - //{ - // UpdateStatus("Error! " + ex.ToString()); - //} - } - } - if (errorfiles.Count > 0) - { } - } - public void TestYvrs() - { - - var exceptions = new List(); - - foreach (RpfFile file in AllRpfs) - { - foreach (RpfEntry entry in file.AllEntries) - { -#if !DEBUG - try -#endif - { - var rfe = entry as RpfFileEntry; - if (rfe == null) continue; - - if (rfe.NameLower.EndsWith(".yvr")) - { - if (rfe.NameLower == "agencyprep001.yvr") continue; //this file seems corrupted - - UpdateStatus(string.Format(entry.Path)); - - YvrFile yvr = new YvrFile(rfe); - RpfMan.LoadFile(yvr, rfe); - - var xml = YvrXml.GetXml(yvr); - var yvr2 = XmlYvr.GetYvr(xml); - var data2 = yvr2.Save(); - var yvr3 = new YvrFile(); - RpfFile.LoadResourceFile(yvr3, data2, 1);//full roundtrip - var xml2 = YvrXml.GetXml(yvr3); - if (xml != xml2) - { } - - } - } -#if !DEBUG - catch (Exception ex) - { - UpdateStatus("Error! " + ex.ToString()); - exceptions.Add(ex); - } -#endif - } - } - - if (exceptions.Count > 0) - { } - } - public void TestYwrs() - { - - var exceptions = new List(); - - foreach (RpfFile file in AllRpfs) - { - foreach (RpfEntry entry in file.AllEntries) - { -#if !DEBUG - try -#endif - { - var rfe = entry as RpfFileEntry; - if (rfe == null) continue; - - if (rfe.NameLower.EndsWith(".ywr")) - { - UpdateStatus(string.Format(entry.Path)); - - YwrFile ywr = new YwrFile(rfe); - RpfMan.LoadFile(ywr, rfe); - - var xml = YwrXml.GetXml(ywr); - var ywr2 = XmlYwr.GetYwr(xml); - var data2 = ywr2.Save(); - var ywr3 = new YwrFile(); - RpfFile.LoadResourceFile(ywr3, data2, 1);//full roundtrip - var xml2 = YwrXml.GetXml(ywr3); - if (xml != xml2) - { } - - } - } -#if !DEBUG - catch (Exception ex) - { - UpdateStatus("Error! " + ex.ToString()); - exceptions.Add(ex); - } -#endif - } - } - - if (exceptions.Count > 0) - { } - } - public void TestYmaps() - { - foreach (RpfFile file in AllRpfs) - { - foreach (RpfEntry entry in file.AllEntries) - { - try - { - if (entry.NameLower.EndsWith(".ymap")) - { - UpdateStatus(string.Format(entry.Path)); - YmapFile ymapfile = RpfMan.GetFile(entry); - if ((ymapfile != null))// && (ymapfile.Meta != null)) - { } - } - } - catch (Exception ex) - { - UpdateStatus("Error! " + ex.ToString()); - } - } - } - } - public void TestYpdbs() - { - foreach (RpfFile file in AllRpfs) - { - foreach (RpfEntry entry in file.AllEntries) - { - var rfe = entry as RpfFileEntry; - if (rfe == null) continue; - - try - { - if (rfe.NameLower.EndsWith(".ypdb")) - { - UpdateStatus(string.Format(entry.Path)); - YpdbFile ypdb = RpfMan.GetFile(entry); - if (ypdb != null) - { - var odata = entry.File.ExtractFile(entry as RpfFileEntry); - //var ndata = ypdb.Save(); - - var xml = YpdbXml.GetXml(ypdb); - var ypdb2 = XmlYpdb.GetYpdb(xml); - var ndata = ypdb2.Save(); - - if (ndata.Length == odata.Length) - { - for (int i = 0; i < ndata.Length; i++) - { - if (ndata[i] != odata[i]) - { break; } - } - } - else - { } - } - else - { } - } - } - catch (Exception ex) - { - UpdateStatus("Error! " + ex.ToString()); - } - - } - } - } - public void TestYfds() - { - foreach (RpfFile file in AllRpfs) - { - foreach (RpfEntry entry in file.AllEntries) - { - var rfe = entry as RpfFileEntry; - if (rfe == null) continue; - - try - { - if (rfe.NameLower.EndsWith(".yfd")) - { - UpdateStatus(string.Format(entry.Path)); - YfdFile yfd = RpfMan.GetFile(entry); - if (yfd != null) - { - if (yfd.FrameFilterDictionary != null) - { - // check that all signatures can be re-calculated - foreach (var f in yfd.FrameFilterDictionary.Filters.data_items) - { - if (f.Signature != f.CalculateSignature()) - { } - } - } - - var xml = YfdXml.GetXml(yfd); - var yfd2 = XmlYfd.GetYfd(xml); - var data2 = yfd2.Save(); - var yfd3 = new YfdFile(); - RpfFile.LoadResourceFile(yfd3, data2, 4);//full roundtrip - var xml2 = YfdXml.GetXml(yfd3); - if (xml != xml2) - { } - } - else - { } - } - } - catch (Exception ex) - { - UpdateStatus("Error! " + ex.ToString()); - } - - } - } - } - public void TestMrfs() - { - foreach (RpfFile file in AllRpfs) - { - foreach (RpfEntry entry in file.AllEntries) - { - try - { - if (entry.NameLower.EndsWith(".mrf")) - { - UpdateStatus(string.Format(entry.Path)); - MrfFile mrffile = RpfMan.GetFile(entry); - if (mrffile != null) - { - var odata = entry.File.ExtractFile(entry as RpfFileEntry); - var ndata = mrffile.Save(); - if (ndata.Length == odata.Length) - { - for (int i = 0; i < ndata.Length; i++) - { - if (ndata[i] != odata[i]) - { break; } - } - } - else - { } - - var xml = MrfXml.GetXml(mrffile); - var mrf2 = XmlMrf.GetMrf(xml); - var ndata2 = mrf2.Save(); - if (ndata2.Length == odata.Length) - { - for (int i = 0; i < ndata2.Length; i++) - { - if (ndata2[i] != odata[i] && !mrfDiffCanBeIgnored(i, mrffile)) - { break; } - } - } - else - { } - - bool mrfDiffCanBeIgnored(int fileOffset, MrfFile originalMrf) - { - foreach (var n in originalMrf.AllNodes) - { - if (n is MrfNodeStateBase state) - { - // If TransitionCount is 0, the TransitionsOffset value can be ignored. - // TransitionsOffset in original MRFs isn't always set to 0 in this case, - // XML-imported MRFs always set it to 0 - if (state.TransitionCount == 0 && fileOffset == (state.FileOffset + 0x1C)) - { - return true; - } - } - } - - return false; - } - } - else - { } - } - } - catch (Exception ex) - { - UpdateStatus("Error! " + ex.ToString()); - } - } - } - - // create and save a custom MRF - { - // Usage example: - // RequestAnimDict("move_m@alien") - // TaskMoveNetworkByName(PlayerPedId(), "mymrf", 0.0, true, 0, 0) - // SetTaskMoveNetworkSignalFloat(PlayerPedId(), "sprintrate", 2.0) - var mymrf = new MrfFile(); - var clip1 = new MrfNodeClip - { - NodeIndex = 0, - Name = JenkHash.GenHash("clip1"), - ClipType = MrfValueType.Literal, - ClipContainerType = MrfClipContainerType.ClipDictionary, - ClipContainerName = JenkHash.GenHash("move_m@alien"), - ClipName = JenkHash.GenHash("alien_run"), - LoopedType = MrfValueType.Literal, - Looped = true, - }; - var clip2 = new MrfNodeClip - { - NodeIndex = 0, - Name = JenkHash.GenHash("clip2"), - ClipType = MrfValueType.Literal, - ClipContainerType = MrfClipContainerType.ClipDictionary, - ClipContainerName = JenkHash.GenHash("move_m@alien"), - ClipName = JenkHash.GenHash("alien_sprint"), - LoopedType = MrfValueType.Literal, - Looped = true, - RateType = MrfValueType.Parameter, - RateParameterName = JenkHash.GenHash("sprintrate"), - }; - var clipstate1 = new MrfNodeState - { - NodeIndex = 0, - Name = JenkHash.GenHash("clipstate1"), - InitialNode = clip1, - Transitions = new[] - { - new MrfStateTransition - { - Duration = 2.5f, - HasDurationParameter = false, - //TargetState = clipstate2, - Conditions = new[] - { - new MrfConditionTimeGreaterThan { Value = 4.0f }, - }, - } - }, - }; - var clipstate2 = new MrfNodeState - { - NodeIndex = 1, - Name = JenkHash.GenHash("clipstate2"), - InitialNode = clip2, - Transitions = new[] - { - new MrfStateTransition - { - Duration = 2.5f, - HasDurationParameter = false, - //TargetState = clipstate1, - Conditions = new[] - { - new MrfConditionTimeGreaterThan { Value = 4.0f }, - }, - } - }, - }; - clipstate1.Transitions[0].TargetState = clipstate2; - clipstate2.Transitions[0].TargetState = clipstate1; - var rootsm = new MrfNodeStateMachine - { - NodeIndex = 0, - Name = JenkHash.GenHash("statemachine"), - States = new[] - { - new MrfStateRef { StateName = clipstate1.Name, State = clipstate1 }, - new MrfStateRef { StateName = clipstate2.Name, State = clipstate2 }, - }, - InitialNode = clipstate1, - }; - mymrf.AllNodes = new MrfNode[] - { - rootsm, - clipstate1, - clip1, - clipstate2, - clip2, - }; - mymrf.RootState = rootsm; - - var mymrfData = mymrf.Save(); - //File.WriteAllBytes("mymrf.mrf", mymrfData); - //File.WriteAllText("mymrf.dot", mymrf.DumpStateGraph()); - } - } - public void TestFxcs() - { - foreach (RpfFile file in AllRpfs) - { - foreach (RpfEntry entry in file.AllEntries) - { - try - { - if (entry.NameLower.EndsWith(".fxc")) - { - UpdateStatus(string.Format(entry.Path)); - var fxcfile = RpfMan.GetFile(entry); - if (fxcfile != null) - { - var odata = entry.File.ExtractFile(entry as RpfFileEntry); - var ndata = fxcfile.Save(); - if (ndata.Length == odata.Length) - { - for (int i = 0; i < ndata.Length; i++) - { - if (ndata[i] != odata[i]) - { break; } - } - } - else - { } - - var xml1 = FxcXml.GetXml(fxcfile);//won't output bytecodes with no output folder - var fxc1 = XmlFxc.GetFxc(xml1); - var xml2 = FxcXml.GetXml(fxc1); - if (xml1 != xml2) - { } - - - for (int i = 0; i < fxcfile.Shaders.Length; i++) - { - if (fxc1.Shaders[i].Name != fxcfile.Shaders[i].Name) - { } - fxc1.Shaders[i].ByteCode = fxcfile.Shaders[i].ByteCode; - } - - var xdata = fxc1.Save(); - if (xdata.Length == odata.Length) - { - for (int i = 0; i < xdata.Length; i++) - { - if (xdata[i] != odata[i]) - { break; } - } - } - else - { } - - - } - else - { } - } - } - catch (Exception ex) - { - UpdateStatus("Error! " + ex.ToString()); - } - } - } - } - public void TestPlacements() - { - //int totplacements = 0; - //int tottimedplacements = 0; - //int totaudioplacements = 0; - //StringBuilder sbtest = new StringBuilder(); - //StringBuilder sbterr = new StringBuilder(); - //sbtest.AppendLine("X, Y, Z, name, assetName, drawableDictionary, textureDictionary, ymap"); - //foreach (RpfFile file in RpfMan.AllRpfs) - //{ - // foreach (RpfEntry entry in file.AllEntries) - // { - // try - // { - // if (entry.NameLower.EndsWith(".ymap")) - // { - // UpdateStatus(string.Format(entry.Path)); - // YmapFile ymapfile = RpfMan.GetFile(entry); - // if ((ymapfile != null))// && (ymapfile.Meta != null)) - // { - // //if (ymapfile.CMapData.parent == 0) //root ymap output - // //{ - // // sbtest.AppendLine(JenkIndex.GetString(ymapfile.CMapData.name) + ": " + entry.Path); - // //} - // if (ymapfile.CEntityDefs != null) - // { - // for (int n = 0; n < ymapfile.CEntityDefs.Length; n++) - // { - // //find ytyp... - // var entdef = ymapfile.CEntityDefs[n]; - // var pos = entdef.position; - // bool istimed = false; - // Tuple archetyp; - // if (!BaseArchetypes.TryGetValue(entdef.archetypeName, out archetyp)) - // { - // sbterr.AppendLine("Couldn't find ytyp for " + entdef.ToString()); - // } - // else - // { - // int ymapbasecount = (archetyp.Item1.CBaseArchetypeDefs != null) ? archetyp.Item1.CBaseArchetypeDefs.Length : 0; - // int baseoffset = archetyp.Item2 - ymapbasecount; - // if (baseoffset >= 0) - // { - // if ((archetyp.Item1.CTimeArchetypeDefs == null) || (baseoffset > archetyp.Item1.CTimeArchetypeDefs.Length)) - // { - // sbterr.AppendLine("Couldn't lookup CTimeArchetypeDef... " + archetyp.ToString()); - // continue; - // } - - // istimed = true; - - // //it's a CTimeArchetypeDef... - // CTimeArchetypeDef ctad = archetyp.Item1.CTimeArchetypeDefs[baseoffset]; - - // //if (ctad.ToString().Contains("spider")) - // //{ - // //} - // //sbtest.AppendFormat("{0}, {1}, {2}, {3}, {4}", pos.X, pos.Y, pos.Z, ctad.ToString(), entry.Name); - // //sbtest.AppendLine(); - - // tottimedplacements++; - // } - // totplacements++; - // } - - // Tuple audiotyp; - // if (AudioArchetypes.TryGetValue(entdef.archetypeName, out audiotyp)) - // { - // if (istimed) - // { - // } - // if (!BaseArchetypes.TryGetValue(entdef.archetypeName, out archetyp)) - // { - // sbterr.AppendLine("Couldn't find ytyp for " + entdef.ToString()); - // } - // if (audiotyp.Item1 != archetyp.Item1) - // { - // } - - // CBaseArchetypeDef cbad = archetyp.Item1.CBaseArchetypeDefs[archetyp.Item2]; - // CExtensionDefAudioEmitter emitr = audiotyp.Item1.AudioEmitters[audiotyp.Item2]; - - // if (emitr.name != cbad.name) - // { - // } - - // string hashtest = JenkIndex.GetString(emitr.effectHash); - - // sbtest.AppendFormat("{0}, {1}, {2}, {3}, {4}, {5}", pos.X, pos.Y, pos.Z, cbad.ToString(), entry.Name, hashtest); - // sbtest.AppendLine(); - - // totaudioplacements++; - // } - - // } - // } - - // //if (ymapfile.TimeCycleModifiers != null) - // //{ - // // for (int n = 0; n < ymapfile.TimeCycleModifiers.Length; n++) - // // { - // // var tcmod = ymapfile.TimeCycleModifiers[n]; - // // Tuple archetyp; - // // if (BaseArchetypes.TryGetValue(tcmod.name, out archetyp)) - // // { - // // } - // // else - // // { - // // } - // // } - // //} - // } - // } - // } - // catch (Exception ex) - // { - // sbterr.AppendLine(entry.Path + ": " + ex.ToString()); - // } - // } - //} - - //UpdateStatus("Ymap scan finished."); - - //sbtest.AppendLine(); - //sbtest.AppendLine(totplacements.ToString() + " total CEntityDef placements parsed"); - //sbtest.AppendLine(tottimedplacements.ToString() + " total CTimeArchetypeDef placements"); - //sbtest.AppendLine(totaudioplacements.ToString() + " total CExtensionDefAudioEmitter placements"); - - //string teststr = sbtest.ToString(); - //string testerr = sbterr.ToString(); - - //return; - } - public void TestDrawables() - { - - - DateTime starttime = DateTime.Now; - - bool doydr = false; - bool doydd = false; - bool doyft = true; - - List errs = new List(); - Dictionary vdecls = new Dictionary(); - Dictionary vdecluse = new Dictionary(); - int drawablecount = 0; - foreach (RpfFile file in AllRpfs) - { - foreach (RpfEntry entry in file.AllEntries) - { - try - { - if (doydr && entry.NameLower.EndsWith(".ydr")) - { - UpdateStatus(entry.Path); - YdrFile ydr = RpfMan.GetFile(entry); - - if (ydr == null) - { - errs.Add(entry.Path + ": Couldn't read file"); - continue; - } - if (ydr.Drawable == null) - { - errs.Add(entry.Path + ": Couldn't read drawable data"); - continue; - } - drawablecount++; - foreach (var kvp in ydr.Drawable.VertexDecls) - { - if (!vdecls.ContainsKey(kvp.Key)) - { - vdecls.Add(kvp.Key, kvp.Value); - vdecluse.Add(kvp.Key, 1); - } - else - { - vdecluse[kvp.Key]++; - } - } - } - else if (doydd & entry.NameLower.EndsWith(".ydd")) - { - UpdateStatus(entry.Path); - YddFile ydd = RpfMan.GetFile(entry); - - if (ydd == null) - { - errs.Add(entry.Path + ": Couldn't read file"); - continue; - } - if (ydd.Dict == null) - { - errs.Add(entry.Path + ": Couldn't read drawable dictionary data"); - continue; - } - foreach (var drawable in ydd.Dict.Values) - { - drawablecount++; - foreach (var kvp in drawable.VertexDecls) - { - if (!vdecls.ContainsKey(kvp.Key)) - { - vdecls.Add(kvp.Key, kvp.Value); - vdecluse.Add(kvp.Key, 1); - } - else - { - vdecluse[kvp.Key]++; - } - } - } - } - else if (doyft && entry.NameLower.EndsWith(".yft")) - { - UpdateStatus(entry.Path); - YftFile yft = RpfMan.GetFile(entry); - - if (yft == null) - { - errs.Add(entry.Path + ": Couldn't read file"); - continue; - } - if (yft.Fragment == null) - { - errs.Add(entry.Path + ": Couldn't read fragment data"); - continue; - } - if (yft.Fragment.Drawable != null) - { - drawablecount++; - foreach (var kvp in yft.Fragment.Drawable.VertexDecls) - { - if (!vdecls.ContainsKey(kvp.Key)) - { - vdecls.Add(kvp.Key, kvp.Value); - vdecluse.Add(kvp.Key, 1); - } - else - { - vdecluse[kvp.Key]++; - } - } - } - if ((yft.Fragment.Cloths != null) && (yft.Fragment.Cloths.data_items != null)) - { - foreach (var cloth in yft.Fragment.Cloths.data_items) - { - drawablecount++; - foreach (var kvp in cloth.Drawable.VertexDecls) - { - if (!vdecls.ContainsKey(kvp.Key)) - { - vdecls.Add(kvp.Key, kvp.Value); - vdecluse.Add(kvp.Key, 1); - } - else - { - vdecluse[kvp.Key]++; - } - } - } - } - if ((yft.Fragment.DrawableArray != null) && (yft.Fragment.DrawableArray.data_items != null)) - { - foreach (var drawable in yft.Fragment.DrawableArray.data_items) - { - drawablecount++; - foreach (var kvp in drawable.VertexDecls) - { - if (!vdecls.ContainsKey(kvp.Key)) - { - vdecls.Add(kvp.Key, kvp.Value); - vdecluse.Add(kvp.Key, 1); - } - else - { - vdecluse[kvp.Key]++; - } - } - } - } - - } - - } - catch (Exception ex) - { - errs.Add(entry.Path + ": " + ex.ToString()); - } - } - } - - - string errstr = string.Join("\r\n", errs); - - - - //build vertex types code string - errs.Clear(); - StringBuilder sbverts = new StringBuilder(); - foreach (var kvp in vdecls) - { - var vd = kvp.Value; - int usage = vdecluse[kvp.Key]; - sbverts.AppendFormat("public struct VertexType{0} //id: {1}, stride: {2}, flags: {3}, types: {4}, refs: {5}", vd.Flags, kvp.Key, vd.Stride, vd.Flags, vd.Types, usage); - sbverts.AppendLine(); - sbverts.AppendLine("{"); - uint compid = 1; - for (int i = 0; i < 16; i++) - { - if (((vd.Flags >> i) & 1) == 1) - { - string typestr = "Unknown"; - uint type = (uint)(((ulong)vd.Types >> (4 * i)) & 0xF); - switch (type) - { - case 0: typestr = "ushort"; break;// Data[i] = new ushort[1 * count]; break; - case 1: typestr = "ushort2"; break;// Data[i] = new ushort[2 * count]; break; - case 2: typestr = "ushort3"; break;// Data[i] = new ushort[3 * count]; break; - case 3: typestr = "ushort4"; break;// Data[i] = new ushort[4 * count]; break; - case 4: typestr = "float"; break;// Data[i] = new float[1 * count]; break; - case 5: typestr = "Vector2"; break;// Data[i] = new float[2 * count]; break; - case 6: typestr = "Vector3"; break;// Data[i] = new float[3 * count]; break; - case 7: typestr = "Vector4"; break;// Data[i] = new float[4 * count]; break; - case 8: typestr = "uint"; break;// Data[i] = new uint[count]; break; - case 9: typestr = "uint"; break;// Data[i] = new uint[count]; break; - case 10: typestr = "uint"; break;// Data[i] = new uint[count]; break; - default: - break; - } - sbverts.AppendLine(" public " + typestr + " Component" + compid.ToString() + ";"); - compid++; - } - - } - sbverts.AppendLine("}"); - sbverts.AppendLine(); - } - - string vertstr = sbverts.ToString(); - string verrstr = string.Join("\r\n", errs); - - UpdateStatus((DateTime.Now - starttime).ToString() + " elapsed, " + drawablecount.ToString() + " drawables, " + errs.Count.ToString() + " errors."); - - } - public void TestCacheFiles() - { - foreach (RpfFile file in AllRpfs) - { - foreach (RpfEntry entry in file.AllEntries) - { - try - { - if (entry.NameLower.EndsWith("cache_y.dat"))// || entry.NameLower.EndsWith("cache_y_bank.dat")) - { - UpdateStatus(string.Format(entry.Path)); - var cdfile = RpfMan.GetFile(entry); - if (cdfile != null) - { - var odata = entry.File.ExtractFile(entry as RpfFileEntry); - //var ndata = cdfile.Save(); - - var xml = CacheDatXml.GetXml(cdfile); - var cdf2 = XmlCacheDat.GetCacheDat(xml); - var ndata = cdf2.Save(); - - if (ndata.Length == odata.Length) - { - for (int i = 0; i < ndata.Length; i++) - { - if (ndata[i] != odata[i]) - { break; } - } - } - else - { } - } - else - { } - } - } - catch (Exception ex) - { - UpdateStatus("Error! " + ex.ToString()); - } - } - } - } - public void TestHeightmaps() - { - var errorfiles = new List(); - foreach (RpfFile file in AllRpfs) - { - foreach (RpfEntry entry in file.AllEntries) - { - if (entry.NameLower.EndsWith(".dat") && entry.NameLower.StartsWith("heightmap")) - { - UpdateStatus(string.Format(entry.Path)); - HeightmapFile hmf = null; - hmf = RpfMan.GetFile(entry); - var d1 = hmf.RawFileData; - //var d2 = hmf.Save(); - var xml = HmapXml.GetXml(hmf); - var hmf2 = XmlHmap.GetHeightmap(xml); - var d2 = hmf2.Save(); - - if (d1.Length == d2.Length) - { - for (int i = 0; i < d1.Length; i++) - { - if (d1[i] != d2[i]) - { } - } - } - else - { } - - } - } - } - if (errorfiles.Count > 0) - { } - } - public void TestWatermaps() - { - var errorfiles = new List(); - foreach (RpfFile file in AllRpfs) - { - foreach (RpfEntry entry in file.AllEntries) - { - if (entry.NameLower.EndsWith(".dat") && entry.NameLower.StartsWith("waterheight")) - { - UpdateStatus(string.Format(entry.Path)); - WatermapFile wmf = null; - wmf = RpfMan.GetFile(entry); - //var d1 = wmf.RawFileData; - //var d2 = wmf.Save(); - //var xml = WatermapXml.GetXml(wmf); - //var wmf2 = XmlWatermap.GetWatermap(xml); - //var d2 = wmf2.Save(); - - //if (d1.Length == d2.Length) - //{ - // for (int i = 0; i < d1.Length; i++) - // { - // if (d1[i] != d2[i]) - // { } - // } - //} - //else - //{ } - - } - } - } - if (errorfiles.Count > 0) - { } - } public void GetShadersXml() { bool doydr = true; @@ -5301,7 +2857,7 @@ namespace CodeWalker.GameFiles { if (doydr && entry.NameLower.EndsWith(".ydr")) { - UpdateStatus(entry.Path); + UpdateStatus?.Invoke(entry.Path); YdrFile ydr = RpfMan.GetFile(entry); if (ydr == null) { continue; } @@ -5310,7 +2866,7 @@ namespace CodeWalker.GameFiles } else if (doydd & entry.NameLower.EndsWith(".ydd")) { - UpdateStatus(entry.Path); + UpdateStatus?.Invoke(entry.Path); YddFile ydd = RpfMan.GetFile(entry); if (ydd == null) { continue; } @@ -5322,7 +2878,7 @@ namespace CodeWalker.GameFiles } else if (doyft && entry.NameLower.EndsWith(".yft")) { - UpdateStatus(entry.Path); + UpdateStatus?.Invoke(entry.Path); YftFile yft = RpfMan.GetFile(entry); if (yft == null) { continue; } @@ -5348,7 +2904,7 @@ namespace CodeWalker.GameFiles } else if (doypt && entry.NameLower.EndsWith(".ypt")) { - UpdateStatus(entry.Path); + UpdateStatus?.Invoke(entry.Path); YptFile ypt = RpfMan.GetFile(entry); if (ypt == null) { continue; } diff --git a/CodeWalker.Core/GameFiles/MetaTypes/Archetype.cs b/CodeWalker.Core/GameFiles/MetaTypes/Archetype.cs index 41a1e27..6c791c7 100644 --- a/CodeWalker.Core/GameFiles/MetaTypes/Archetype.cs +++ b/CodeWalker.Core/GameFiles/MetaTypes/Archetype.cs @@ -88,9 +88,25 @@ namespace CodeWalker.GameFiles public uint TimeFlags { get; set; } public bool[] ActiveHours { get; set; } - public string[] ActiveHoursText { get; set; } + private readonly Lazy _activeHoursText; + public string[] ActiveHoursText { get => _activeHoursText.Value; } public bool ExtraFlag { get { return ((TimeFlags >> 24) & 1) == 1; } } + public TimeArchetype() + { + _activeHoursText = new Lazy(() => + { + var activeHoursText = new string[24]; + for (int i = 0; i < ActiveHours.Length; i++) + { + var nxth = (i < 23) ? (i + 1) : 0; + var hrs = string.Format("{0:00}:00 - {1:00}:00", i, nxth); + activeHoursText[i] = (hrs + (ActiveHours[i] ? " - On" : " - Off")); + } + + return activeHoursText; + }); + } public void Init(YtypFile ytyp, ref CTimeArchetypeDef arch) { @@ -117,16 +133,11 @@ namespace CodeWalker.GameFiles if (ActiveHours == null) { ActiveHours = new bool[24]; - ActiveHoursText = new string[24]; } for (int i = 0; i < 24; i++) { bool v = ((TimeFlags >> i) & 1) == 1; ActiveHours[i] = v; - - int nxth = (i < 23) ? (i + 1) : 0; - string hrs = string.Format("{0:00}:00 - {1:00}:00", i, nxth); - ActiveHoursText[i] = (hrs + (v ? " - On" : " - Off")); } } diff --git a/CodeWalker.Core/GameFiles/MetaTypes/Meta.cs b/CodeWalker.Core/GameFiles/MetaTypes/Meta.cs index 5fbb9b1..8771575 100644 --- a/CodeWalker.Core/GameFiles/MetaTypes/Meta.cs +++ b/CodeWalker.Core/GameFiles/MetaTypes/Meta.cs @@ -1179,6 +1179,29 @@ namespace CodeWalker.GameFiles { return new MetaHash(v); } + + public override bool Equals(object obj) + { + if (obj == null) return false; + if (obj is not MetaHash metaHash) return false; + + return metaHash.Hash == Hash; + } + + public override int GetHashCode() + { + return (int)Hash; + } + + public static bool operator ==(MetaHash a, MetaHash b) + { + return a.Equals(b); + } + + public static bool operator !=(MetaHash a, MetaHash b) + { + return !a.Equals(b); + } } diff --git a/CodeWalker.Core/GameFiles/MetaTypes/MetaNames.cs b/CodeWalker.Core/GameFiles/MetaTypes/MetaNames.cs index 5f24c0c..49e320c 100644 --- a/CodeWalker.Core/GameFiles/MetaTypes/MetaNames.cs +++ b/CodeWalker.Core/GameFiles/MetaTypes/MetaNames.cs @@ -10,14 +10,21 @@ namespace CodeWalker.GameFiles public static class MetaNames { + public static Dictionary stringCache = new Dictionary(); public static bool TryGetString(uint h, out string str) { + if (stringCache.TryGetValue(h, out str)) + { + return str != null; + } if (Enum.IsDefined(typeof(MetaName), h)) { str = ((MetaName)h).ToString(); if (str.StartsWith("@")) str = str.Substring(1); //mainly to handle the @null entry + stringCache.Add(h, str); return true; } + stringCache.Add(h, str); str = null; return false; } diff --git a/CodeWalker.Core/GameFiles/MetaTypes/MetaTypes.cs b/CodeWalker.Core/GameFiles/MetaTypes/MetaTypes.cs index 7e122cd..8c63ec2 100644 --- a/CodeWalker.Core/GameFiles/MetaTypes/MetaTypes.cs +++ b/CodeWalker.Core/GameFiles/MetaTypes/MetaTypes.cs @@ -10,6 +10,7 @@ using System.Xml; using TC = System.ComponentModel.TypeConverterAttribute; using EXP = System.ComponentModel.ExpandableObjectConverter; using CodeWalker.World; +using System.Reflection; namespace CodeWalker.GameFiles { @@ -1479,22 +1480,29 @@ namespace CodeWalker.GameFiles public static T ConvertData(byte[] data) where T : struct { - GCHandle handle = GCHandle.Alloc(data, GCHandleType.Pinned); - var h = handle.AddrOfPinnedObject(); - var r = Marshal.PtrToStructure(h); - handle.Free(); - return r; + MemoryMarshal.TryRead(data.AsSpan(), out T value); + + return value; + //GCHandle handle = GCHandle.Alloc(data, GCHandleType.Pinned); + //var h = handle.AddrOfPinnedObject(); + //var r = Marshal.PtrToStructure(h); + //handle.Free(); + //return r; } public static T ConvertData(byte[] data, int offset) where T : struct { - GCHandle handle = GCHandle.Alloc(data, GCHandleType.Pinned); - var h = handle.AddrOfPinnedObject(); - var r = Marshal.PtrToStructure(h + offset); - handle.Free(); - return r; + MemoryMarshal.TryRead(data.AsSpan(offset), out T value); + + return value; + //GCHandle handle = GCHandle.Alloc(data, GCHandleType.Pinned); + //var h = handle.AddrOfPinnedObject(); + //var r = Marshal.PtrToStructure(h + offset); + //handle.Free(); + //return r; } - public static T[] ConvertDataArray(byte[] data, int offset, int count) where T : struct + public static Span ConvertDataArray(byte[] data, int offset, int count) where T : struct { + return MemoryMarshal.Cast(data.AsSpan(offset, count * Marshal.SizeOf(typeof(T)))); T[] items = new T[count]; int itemsize = Marshal.SizeOf(typeof(T)); //for (int i = 0; i < count; i++) @@ -1520,8 +1528,6 @@ namespace CodeWalker.GameFiles { return null; } T[] items = new T[count]; - int itemsize = Marshal.SizeOf(typeof(T)); - int itemsleft = (int)count; //large arrays get split into chunks... //MetaName blocktype = 0; for (int i = 0; i < count; i++) @@ -1572,13 +1578,18 @@ namespace CodeWalker.GameFiles int blockcount = ptrblock.DataLength / itemsize; int itemcount = blockcount - itemoffset; if (itemcount > itemsleft) - { itemcount = itemsleft; } //don't try to read too many items.. - for (int i = 0; i < itemcount; i++) { - int offset = (itemoffset + i) * itemsize; - int index = curi + i; - items[index] = ConvertData(ptrblock.Data, offset); - } + itemcount = itemsleft; + } //don't try to read too many items.. + + + ConvertDataArray(ptrblock.Data, itemoffset * Marshal.SizeOf(typeof(T)), itemcount).CopyTo(items.AsSpan(curi)); + //for (int i = 0; i < itemcount; i++) + //{ + // int offset = (itemoffset + i) * itemsize; + // int index = curi + i; + // items[index] = ConvertData(ptrblock.Data, offset); + //} itemoffset = 0; //start at beginning of next block.. curi += itemcount; itemsleft -= itemcount; diff --git a/CodeWalker.Core/GameFiles/MetaTypes/MetaXml.cs b/CodeWalker.Core/GameFiles/MetaTypes/MetaXml.cs index 87d2c38..15f8715 100644 --- a/CodeWalker.Core/GameFiles/MetaTypes/MetaXml.cs +++ b/CodeWalker.Core/GameFiles/MetaTypes/MetaXml.cs @@ -1423,7 +1423,7 @@ namespace CodeWalker.GameFiles arrEnum.SwapEnd(); var enumArr = PsoTypes.GetUintArray(cont.Pso, arrEnum); var enumDef = cont.GetEnumInfo((MetaName)arrEntry.ReferenceKey); - WriteItemArray(sb, enumArr, indent, ename, "enum", (ie)=> { + WriteItemArray(sb, enumArr, indent, ename, "enum", (ie)=> { var eval = enumDef?.FindEntry((int)ie); return HashString(eval?.EntryNameHash ?? 0); }); @@ -1945,9 +1945,10 @@ namespace CodeWalker.GameFiles if (lastcol || lastn) sb.AppendLine(); } } - public static void WriteRawArray(StringBuilder sb, T[] arr, int ind, string name, string typeName, Func formatter = null, int arrRowSize = 10) where T : struct + + public static void WriteRawArray(StringBuilder sb, Span arr, int ind, string name, string typeName, Func formatter = null, int arrRowSize = 10) where T : struct { - var aCount = arr?.Length ?? 0; + var aCount = arr.Length; //var arrRowSize = 10; var aind = ind + 1; var arrTag = name;// + " itemType=\"" + typeName + "\""; @@ -1986,15 +1987,25 @@ namespace CodeWalker.GameFiles SelfClosingTag(sb, ind, arrTag); } } + + public static void WriteRawArray(StringBuilder sb, T[] arr, int ind, string name, string typeName, Func formatter = null, int arrRowSize = 10) where T : struct + { + WriteRawArray(sb, arr.AsSpan(), ind, name, typeName, formatter, arrRowSize); + } public static void WriteItemArray(StringBuilder sb, T[] arr, int ind, string name, string typeName, Func formatter) where T : struct { - var aCount = arr?.Length ?? 0; + WriteItemArray(sb, arr.AsSpan(), ind, name, typeName, formatter); + } + + public static void WriteItemArray(StringBuilder sb, Span arr, int ind, string name, string typeName, Func formatter) where T : struct + { + var itemCount = arr.Length; var arrTag = name;// + " itemType=\"Hash\""; var aind = ind + 1; - if (aCount > 0) + if (itemCount > 0) { OpenTag(sb, ind, arrTag); - for (int n = 0; n < aCount; n++) + for (int n = 0; n < itemCount; n++) { Indent(sb, aind); sb.Append(""); diff --git a/CodeWalker.Core/GameFiles/MetaTypes/PsoTypes.cs b/CodeWalker.Core/GameFiles/MetaTypes/PsoTypes.cs index 8ea0cd3..e6d9c3f 100644 --- a/CodeWalker.Core/GameFiles/MetaTypes/PsoTypes.cs +++ b/CodeWalker.Core/GameFiles/MetaTypes/PsoTypes.cs @@ -8,7 +8,7 @@ using System.Threading.Tasks; using TC = System.ComponentModel.TypeConverterAttribute; using EXP = System.ComponentModel.ExpandableObjectConverter; - +using System.Diagnostics; namespace CodeWalker.GameFiles { @@ -15819,45 +15819,46 @@ namespace CodeWalker.GameFiles public static T ConvertDataRaw(byte[] data) where T : struct { - GCHandle handle = GCHandle.Alloc(data, GCHandleType.Pinned); - var h = handle.AddrOfPinnedObject(); - var r = Marshal.PtrToStructure(h); - handle.Free(); - return r; + MemoryMarshal.TryRead(data.AsSpan(), out T value); + + return value; } public static T ConvertDataRaw(byte[] data, int offset) where T : struct { - GCHandle handle = GCHandle.Alloc(data, GCHandleType.Pinned); - var h = handle.AddrOfPinnedObject(); - var r = Marshal.PtrToStructure(h + offset); - handle.Free(); - return r; + MemoryMarshal.TryRead(data.AsSpan(offset), out T value); + + return value; + //return MemoryMarshal.GetReference(data.AsSpan(offset)); + //GCHandle handle = GCHandle.Alloc(data, GCHandleType.Pinned); + //var h = handle.AddrOfPinnedObject(); + //var r = Marshal.PtrToStructure(h + offset); + //handle.Free(); + //return r; } public static T ConvertData(byte[] data, int offset) where T : struct, IPsoSwapEnd { - GCHandle handle = GCHandle.Alloc(data, GCHandleType.Pinned); - var h = handle.AddrOfPinnedObject(); - var r = Marshal.PtrToStructure(h + offset); - handle.Free(); - r.SwapEnd(); - return r; + MemoryMarshal.TryRead(data.AsSpan(offset), out T value); + + value.SwapEnd(); + + return value; + //GCHandle handle = GCHandle.Alloc(data, GCHandleType.Pinned); + //var h = handle.AddrOfPinnedObject(); + //var r = Marshal.PtrToStructure(h + offset); + //handle.Free(); + //r.SwapEnd(); + //return r; } - public static T[] ConvertDataArrayRaw(byte[] data, int offset, int count) where T : struct + public static SpanConvertDataArrayRaw(byte[] data, int offset, int count) where T : struct { - T[] items = new T[count]; - int itemsize = Marshal.SizeOf(typeof(T)); - //for (int i = 0; i < count; i++) - //{ - // int off = offset + i * itemsize; - // items[i] = ConvertDataRaw(data, off); - //} + return MemoryMarshal.Cast(data.AsSpan(offset, count * Marshal.SizeOf(typeof(T)))); - GCHandle handle = GCHandle.Alloc(items, GCHandleType.Pinned); - var h = handle.AddrOfPinnedObject(); - Marshal.Copy(data, offset, h, itemsize * count); - handle.Free(); + //GCHandle handle = GCHandle.Alloc(items, GCHandleType.Pinned); + //var h = handle.AddrOfPinnedObject(); + //Marshal.Copy(data, offset, h, itemsize * count); + //handle.Free(); - return items; + //return items; } @@ -15878,7 +15879,7 @@ namespace CodeWalker.GameFiles return e; } - public static T[] GetItemArrayRaw(PsoFile pso, Array_Structure arr) where T : struct + public static Span GetItemArrayRaw(PsoFile pso, Array_Structure arr) where T : struct { if ((arr.Count1 > 0) && (arr.Pointer > 0)) { @@ -15887,7 +15888,7 @@ namespace CodeWalker.GameFiles } return null; } - public static T[] GetItemArray(PsoFile pso, Array_Structure arr) where T : struct, IPsoSwapEnd + public static Span GetItemArray(PsoFile pso, Array_Structure arr) where T : struct, IPsoSwapEnd { if ((arr.Count1 > 0) && (arr.Pointer > 0)) { @@ -15906,7 +15907,7 @@ namespace CodeWalker.GameFiles } - public static uint[] GetUintArrayRaw(PsoFile pso, Array_uint arr) + public static Span GetUintArrayRaw(PsoFile pso, Array_uint arr) { byte[] data = pso.DataSection.Data; var entryid = arr.PointerDataId; @@ -15917,12 +15918,12 @@ namespace CodeWalker.GameFiles var entryoffset = arr.PointerDataOffset; var arrentry = pso.DataMapSection.Entries[(int)entryid - 1]; int totoffset = arrentry.Offset + (int)entryoffset; - uint[] readdata = ConvertDataArrayRaw(data, totoffset, arr.Count1); + var readdata = ConvertDataArrayRaw(data, totoffset, arr.Count1); return readdata; } - public static uint[] GetUintArray(PsoFile pso, Array_uint arr) + public static Span GetUintArray(PsoFile pso, Array_uint arr) { - uint[] uints = GetUintArrayRaw(pso, arr); + var uints = GetUintArrayRaw(pso, arr); if (uints == null) return null; for (int i = 0; i < uints.Length; i++) { @@ -15933,7 +15934,7 @@ namespace CodeWalker.GameFiles public static MetaHash[] GetHashArray(PsoFile pso, Array_uint arr) { - uint[] uints = GetUintArrayRaw(pso, arr); + var uints = GetUintArrayRaw(pso, arr); if (uints == null) return null; MetaHash[] hashes = new MetaHash[uints.Length]; for (int n = 0; n < uints.Length; n++) @@ -15946,7 +15947,7 @@ namespace CodeWalker.GameFiles - public static float[] GetFloatArrayRaw(PsoFile pso, Array_float arr) + public static Span GetFloatArrayRaw(PsoFile pso, Array_float arr) { byte[] data = pso.DataSection.Data; var entryid = arr.PointerDataId; @@ -15957,12 +15958,12 @@ namespace CodeWalker.GameFiles var entryoffset = arr.PointerDataOffset; var arrentry = pso.DataMapSection.Entries[(int)entryid - 1]; int totoffset = arrentry.Offset + (int)entryoffset; - float[] readdata = ConvertDataArrayRaw(data, totoffset, arr.Count1); + var readdata = ConvertDataArrayRaw(data, totoffset, arr.Count1); return readdata; } - public static float[] GetFloatArray(PsoFile pso, Array_float arr) + public static Span GetFloatArray(PsoFile pso, Array_float arr) { - float[] floats = GetFloatArrayRaw(pso, arr); + var floats = GetFloatArrayRaw(pso, arr); if (floats == null) return null; for (int i = 0; i < floats.Length; i++) { @@ -15975,7 +15976,7 @@ namespace CodeWalker.GameFiles - public static ushort[] GetUShortArrayRaw(PsoFile pso, Array_Structure arr) + public static Span GetUShortArrayRaw(PsoFile pso, Array_Structure arr) { byte[] data = pso.DataSection.Data; var entryid = arr.PointerDataId; @@ -15986,12 +15987,12 @@ namespace CodeWalker.GameFiles var entryoffset = arr.PointerDataOffset; var arrentry = pso.DataMapSection.Entries[(int)entryid - 1]; int totoffset = arrentry.Offset + (int)entryoffset; - ushort[] readdata = ConvertDataArrayRaw(data, totoffset, arr.Count1); + Span readdata = ConvertDataArrayRaw(data, totoffset, arr.Count1); return readdata; } - public static ushort[] GetUShortArray(PsoFile pso, Array_Structure arr) + public static Span GetUShortArray(PsoFile pso, Array_Structure arr) { - ushort[] ushorts = GetUShortArrayRaw(pso, arr); + var ushorts = GetUShortArrayRaw(pso, arr); if (ushorts == null) return null; for (int i = 0; i < ushorts.Length; i++) { @@ -16007,7 +16008,7 @@ namespace CodeWalker.GameFiles public static T[] GetObjectArray(PsoFile pso, Array_Structure arr) where U : struct, IPsoSwapEnd where T : PsoClass, new() { - U[] items = GetItemArray(pso, arr); + Span items = GetItemArray(pso, arr); if (items == null) return null; if (items.Length == 0) return null; T[] result = new T[items.Length]; @@ -16038,13 +16039,11 @@ namespace CodeWalker.GameFiles - public static PsoPOINTER[] GetPointerArray(PsoFile pso, Array_StructurePointer array) + public static Span GetPointerArray(PsoFile pso, Array_StructurePointer array) { uint count = array.Count1; if (count == 0) return null; - int ptrsize = Marshal.SizeOf(typeof(MetaPOINTER)); - int itemsleft = (int)count; //large arrays get split into chunks... uint ptrindex = array.PointerDataIndex; uint ptroffset = array.PointerDataOffset; var ptrblock = (ptrindex < pso.DataMapSection.EntriesCount) ? pso.DataMapSection.Entries[ptrindex] : null; @@ -16071,13 +16070,12 @@ namespace CodeWalker.GameFiles { uint count = array.Count1; if (count == 0) return null; - PsoPOINTER[] ptrs = GetPointerArray(pso, array); + var ptrs = GetPointerArray(pso, array); if (ptrs == null) return null; if (ptrs.Length < count) { return null; } T[] items = new T[count]; - int itemsize = Marshal.SizeOf(typeof(T)); for (int i = 0; i < count; i++) { diff --git a/CodeWalker.Core/GameFiles/MetaTypes/XmlMeta.cs b/CodeWalker.Core/GameFiles/MetaTypes/XmlMeta.cs index a7e362e..ed52163 100644 --- a/CodeWalker.Core/GameFiles/MetaTypes/XmlMeta.cs +++ b/CodeWalker.Core/GameFiles/MetaTypes/XmlMeta.cs @@ -243,106 +243,106 @@ namespace CodeWalker.GameFiles default: return "XML"; } } - public static MetaFormat GetXMLFormat(string fnamel, out int trimlength) + public static MetaFormat GetXMLFormat(string fileName, out int trimlength) { var mformat = MetaFormat.RSC; trimlength = 4; - if (!fnamel.EndsWith(".xml")) + if (!fileName.EndsWith(".xml", StringComparison.OrdinalIgnoreCase)) { mformat = MetaFormat.XML;//not really correct, but have to return something... } - if (fnamel.EndsWith(".pso.xml")) + if (fileName.EndsWith(".pso.xml")) { mformat = MetaFormat.PSO; trimlength = 8; } - if (fnamel.EndsWith(".rbf.xml")) + if (fileName.EndsWith(".rbf.xml", StringComparison.OrdinalIgnoreCase)) { mformat = MetaFormat.RBF; trimlength = 8; } - if (fnamel.EndsWith(".rel.xml")) + if (fileName.EndsWith(".rel.xml", StringComparison.OrdinalIgnoreCase)) { mformat = MetaFormat.AudioRel; } - if (fnamel.EndsWith(".ynd.xml")) + if (fileName.EndsWith(".ynd.xml", StringComparison.OrdinalIgnoreCase)) { mformat = MetaFormat.Ynd; } - if (fnamel.EndsWith(".ynv.xml")) + if (fileName.EndsWith(".ynv.xml", StringComparison.OrdinalIgnoreCase)) { mformat = MetaFormat.Ynv; } - if (fnamel.EndsWith(".ycd.xml")) + if (fileName.EndsWith(".ycd.xml", StringComparison.OrdinalIgnoreCase)) { mformat = MetaFormat.Ycd; } - if (fnamel.EndsWith(".ybn.xml")) + if (fileName.EndsWith(".ybn.xml", StringComparison.OrdinalIgnoreCase)) { mformat = MetaFormat.Ybn; } - if (fnamel.EndsWith(".ytd.xml")) + if (fileName.EndsWith(".ytd.xml", StringComparison.OrdinalIgnoreCase)) { mformat = MetaFormat.Ytd; } - if (fnamel.EndsWith(".ydr.xml")) + if (fileName.EndsWith(".ydr.xml", StringComparison.OrdinalIgnoreCase)) { mformat = MetaFormat.Ydr; } - if (fnamel.EndsWith(".ydd.xml")) + if (fileName.EndsWith(".ydd.xml", StringComparison.OrdinalIgnoreCase)) { mformat = MetaFormat.Ydd; } - if (fnamel.EndsWith(".yft.xml")) + if (fileName.EndsWith(".yft.xml", StringComparison.OrdinalIgnoreCase)) { mformat = MetaFormat.Yft; } - if (fnamel.EndsWith(".ypt.xml")) + if (fileName.EndsWith(".ypt.xml", StringComparison.OrdinalIgnoreCase)) { mformat = MetaFormat.Ypt; } - if (fnamel.EndsWith(".yld.xml")) + if (fileName.EndsWith(".yld.xml", StringComparison.OrdinalIgnoreCase)) { mformat = MetaFormat.Yld; } - if (fnamel.EndsWith(".yed.xml")) + if (fileName.EndsWith(".yed.xml", StringComparison.OrdinalIgnoreCase)) { mformat = MetaFormat.Yed; } - if (fnamel.EndsWith(".ywr.xml")) + if (fileName.EndsWith(".ywr.xml", StringComparison.OrdinalIgnoreCase)) { mformat = MetaFormat.Ywr; } - if (fnamel.EndsWith(".yvr.xml")) + if (fileName.EndsWith(".yvr.xml", StringComparison.OrdinalIgnoreCase)) { mformat = MetaFormat.Yvr; } - if (fnamel.EndsWith(".awc.xml")) + if (fileName.EndsWith(".awc.xml", StringComparison.OrdinalIgnoreCase)) { mformat = MetaFormat.Awc; } - if (fnamel.EndsWith(".fxc.xml")) + if (fileName.EndsWith(".fxc.xml", StringComparison.OrdinalIgnoreCase)) { mformat = MetaFormat.Fxc; } - if (fnamel.EndsWith("cache_y.dat.xml")) + if (fileName.EndsWith("cache_y.dat.xml", StringComparison.OrdinalIgnoreCase)) { mformat = MetaFormat.CacheFile; } - if (fnamel.EndsWith(".dat.xml") && fnamel.StartsWith("heightmap")) + if (fileName.EndsWith(".dat.xml", StringComparison.OrdinalIgnoreCase) && fileName.StartsWith("heightmap", StringComparison.OrdinalIgnoreCase)) { mformat = MetaFormat.Heightmap; } - if (fnamel.EndsWith(".ypdb.xml")) + if (fileName.EndsWith(".ypdb.xml", StringComparison.OrdinalIgnoreCase)) { mformat = MetaFormat.Ypdb; } - if (fnamel.EndsWith(".yfd.xml")) + if (fileName.EndsWith(".yfd.xml", StringComparison.OrdinalIgnoreCase)) { mformat = MetaFormat.Yfd; } - if (fnamel.EndsWith(".mrf.xml")) + if (fileName.EndsWith(".mrf.xml", StringComparison.OrdinalIgnoreCase)) { mformat = MetaFormat.Mrf; } diff --git a/CodeWalker.Core/GameFiles/Resources/Drawable.cs b/CodeWalker.Core/GameFiles/Resources/Drawable.cs index b4768a3..c2703fb 100644 --- a/CodeWalker.Core/GameFiles/Resources/Drawable.cs +++ b/CodeWalker.Core/GameFiles/Resources/Drawable.cs @@ -2,6 +2,7 @@ using System; using System.Collections.Generic; using System.ComponentModel; +using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -5331,6 +5332,15 @@ namespace CodeWalker.GameFiles var d = new Drawable(); d.LightAttributes = dd.LightAttributes; d.Name = dd.Name; + if (d.Hash != 0) + { + d.Hash = dd.Hash; + } + else + { + d.Hash = JenkHash.GenHash(dd.Name); + } + d.Bound = dd.Bound; r = d; } @@ -5383,6 +5393,7 @@ namespace CodeWalker.GameFiles // reference data public string Name { get; set; } + public uint Hash { get; set; } public Bounds Bound { get; set; } public string ErrorMessage { get; set; } @@ -5455,6 +5466,7 @@ namespace CodeWalker.GameFiles public override void WriteXml(StringBuilder sb, int indent, string ddsfolder) { YdrXml.StringTag(sb, indent, "Name", YdrXml.XmlEscape(Name)); + YdrXml.StringTag(sb, indent, "Hash", Hash.ToString()); base.WriteXml(sb, indent, ddsfolder); if (Bound != null) { @@ -5468,6 +5480,10 @@ namespace CodeWalker.GameFiles public override void ReadXml(XmlNode node, string ddsfolder) { Name = Xml.GetChildInnerText(node, "Name"); + if (uint.TryParse(Xml.GetChildInnerText(node, "Hash"), out var hash)) + { + Hash = hash; + } base.ReadXml(node, ddsfolder); var bnode = node.SelectSingleNode("Bounds"); if (bnode != null) @@ -5847,7 +5863,15 @@ namespace CodeWalker.GameFiles var d = new Drawable(); d.ReadXml(inode, ddsfolder); drawables.Add(d); - drawablehashes.Add(JenkHash.GenHash(d.Name));//TODO: check this! + if (d.Hash != 0) + { + drawablehashes.Add(d.Hash); + } + else + { + drawablehashes.Add(JenkHash.GenHash(d.Name));//TODO: check this! + } + } } diff --git a/CodeWalker.Core/GameFiles/Resources/ResourceBaseTypes.cs b/CodeWalker.Core/GameFiles/Resources/ResourceBaseTypes.cs index 00904e7..9ccb354 100644 --- a/CodeWalker.Core/GameFiles/Resources/ResourceBaseTypes.cs +++ b/CodeWalker.Core/GameFiles/Resources/ResourceBaseTypes.cs @@ -1791,7 +1791,7 @@ namespace CodeWalker.GameFiles { int datalength = ItemCount * StructureSize; byte[] data = reader.ReadBytes(datalength); - Items = MetaTypes.ConvertDataArray(data, 0, ItemCount); + Items = MetaTypes.ConvertDataArray(data, 0, ItemCount).ToArray(); } public override void Write(ResourceDataWriter writer, params object[] parameters) diff --git a/CodeWalker.Core/GameFiles/Resources/ResourceBuilder.cs b/CodeWalker.Core/GameFiles/Resources/ResourceBuilder.cs index 773c9ec..dba5d87 100644 --- a/CodeWalker.Core/GameFiles/Resources/ResourceBuilder.cs +++ b/CodeWalker.Core/GameFiles/Resources/ResourceBuilder.cs @@ -348,9 +348,9 @@ namespace CodeWalker.GameFiles fileBase.FilePagesInfo.GraphicsPagesCount = (byte)graphicsPageFlags.Count; - var systemStream = new MemoryStream(); - var graphicsStream = new MemoryStream(); - var resourceWriter = new ResourceDataWriter(systemStream, graphicsStream); + using var systemStream = new MemoryStream(); + using var graphicsStream = new MemoryStream(); + using var resourceWriter = new ResourceDataWriter(systemStream, graphicsStream); resourceWriter.Position = 0x50000000; foreach (var block in systemBlocks) @@ -456,15 +456,12 @@ namespace CodeWalker.GameFiles public static byte[] Compress(byte[] data) { - using (MemoryStream ms = new MemoryStream()) + using (MemoryStream ms = RpfFile.recyclableMemoryStreamManager.GetStream()) { DeflateStream ds = new DeflateStream(ms, CompressionMode.Compress, true); ds.Write(data, 0, data.Length); ds.Close(); - byte[] deflated = ms.GetBuffer(); - byte[] outbuf = new byte[ms.Length]; //need to copy to the right size buffer... - Array.Copy(deflated, outbuf, outbuf.Length); - return outbuf; + return ms.ToArray(); } } public static byte[] Decompress(byte[] data) @@ -472,14 +469,17 @@ namespace CodeWalker.GameFiles using (MemoryStream ms = new MemoryStream(data)) { DeflateStream ds = new DeflateStream(ms, CompressionMode.Decompress); - MemoryStream outstr = new MemoryStream(); + MemoryStream outstr = RpfFile.recyclableMemoryStreamManager.GetStream("Decompress", data.Length); ds.CopyTo(outstr); - byte[] deflated = outstr.GetBuffer(); - byte[] outbuf = new byte[outstr.Length]; //need to copy to the right size buffer... - Array.Copy(deflated, outbuf, outbuf.Length); - return outbuf; + return outstr.ToArray(); } } + public static DeflateStream Decompress(Stream stream) + { + DeflateStream ds = new DeflateStream(stream, CompressionMode.Decompress); + return ds; + } + } } diff --git a/CodeWalker.Core/GameFiles/Resources/ResourceData.cs b/CodeWalker.Core/GameFiles/Resources/ResourceData.cs index 3093d74..f1d18d2 100644 --- a/CodeWalker.Core/GameFiles/Resources/ResourceData.cs +++ b/CodeWalker.Core/GameFiles/Resources/ResourceData.cs @@ -38,13 +38,16 @@ namespace CodeWalker.GameFiles /// /// Represents a resource data reader. /// - public class ResourceDataReader : DataReader + public class ResourceDataReader : DataReader, IDisposable { private const long SYSTEM_BASE = 0x50000000; private const long GRAPHICS_BASE = 0x60000000; - private Stream systemStream; - private Stream graphicsStream; + private readonly Stream systemStream; + private readonly Stream graphicsStream; + + private readonly long systemSize = 0; + private readonly long graphicsSize = 0; public RpfResourceFileEntry FileEntry { get; set; } @@ -71,7 +74,7 @@ namespace CodeWalker.GameFiles { get; set; - } + } = SYSTEM_BASE; /// /// Initializes a new resource data reader for the specified system- and graphics-stream. @@ -81,14 +84,16 @@ namespace CodeWalker.GameFiles { this.systemStream = systemStream; this.graphicsStream = graphicsStream; + this.systemSize = systemStream.Length; + this.graphicsSize = graphicsStream.Length; } public ResourceDataReader(RpfResourceFileEntry resentry, byte[] data, Endianess endianess = Endianess.LittleEndian) : base((Stream)null, endianess) { FileEntry = resentry; - var systemSize = resentry.SystemSize; - var graphicsSize = resentry.GraphicsSize; + this.systemSize = resentry.SystemSize; + this.graphicsSize = resentry.GraphicsSize; //if (data != null) //{ @@ -103,9 +108,8 @@ namespace CodeWalker.GameFiles // } //} - this.systemStream = new MemoryStream(data, 0, systemSize); - this.graphicsStream = new MemoryStream(data, systemSize, graphicsSize); - Position = 0x50000000; + this.systemStream = new MemoryStream(data, 0, (int)systemSize); + this.graphicsStream = new MemoryStream(data, (int)systemSize, (int)graphicsSize); } public ResourceDataReader(int systemSize, int graphicsSize, byte[] data, Endianess endianess = Endianess.LittleEndian) @@ -113,24 +117,21 @@ namespace CodeWalker.GameFiles { this.systemStream = new MemoryStream(data, 0, systemSize); this.graphicsStream = new MemoryStream(data, systemSize, graphicsSize); - Position = 0x50000000; } - - /// /// Reads data from the underlying stream. This is the only method that directly accesses /// the data in the underlying stream. /// - protected override byte[] ReadFromStream(int count, bool ignoreEndianess = false) + protected override byte[] ReadFromStream(int count, bool ignoreEndianess = false, byte[] buffer = null) { if ((Position & SYSTEM_BASE) == SYSTEM_BASE) { // read from system stream... - systemStream.Position = Position & ~0x50000000; + systemStream.Position = Position & ~SYSTEM_BASE; - var buffer = new byte[count]; + buffer ??= new byte[count]; systemStream.Read(buffer, 0, count); // handle endianess @@ -139,17 +140,17 @@ namespace CodeWalker.GameFiles Array.Reverse(buffer); } - Position = systemStream.Position | 0x50000000; + Position = systemStream.Position | SYSTEM_BASE; return buffer; } - if ((Position & GRAPHICS_BASE) == GRAPHICS_BASE) + else if ((Position & GRAPHICS_BASE) == GRAPHICS_BASE) { // read from graphic stream... - graphicsStream.Position = Position & ~0x60000000; + graphicsStream.Position = Position & ~GRAPHICS_BASE; - var buffer = new byte[count]; + buffer ??= new byte[count]; graphicsStream.Read(buffer, 0, count); // handle endianess @@ -158,12 +159,44 @@ namespace CodeWalker.GameFiles Array.Reverse(buffer); } - Position = graphicsStream.Position | 0x60000000; + Position = graphicsStream.Position | GRAPHICS_BASE; return buffer; } throw new Exception("illegal position!"); } + public override byte ReadByte() + { + if ((Position & SYSTEM_BASE) == SYSTEM_BASE) + { + + + + + // read from system stream... + + systemStream.Position = Position & ~SYSTEM_BASE; + + var readByte = (byte)systemStream.ReadByte(); + + Position = systemStream.Position | SYSTEM_BASE; + return readByte; + + } + if ((Position & GRAPHICS_BASE) == GRAPHICS_BASE) + { + // read from graphic stream... + + graphicsStream.Position = Position & ~GRAPHICS_BASE; + + var readByte = (byte)graphicsStream.ReadByte(); + + Position = graphicsStream.Position | GRAPHICS_BASE; + return readByte; + } + throw new Exception("illegal position!"); + } + /// /// Reads a block. /// @@ -447,6 +480,13 @@ namespace CodeWalker.GameFiles return result; } + public override void Dispose() + { + base.Dispose(); + + systemStream?.Dispose(); + graphicsStream?.Dispose(); + } } @@ -454,7 +494,7 @@ namespace CodeWalker.GameFiles /// /// Represents a resource data writer. /// - public class ResourceDataWriter : DataWriter + public class ResourceDataWriter : DataWriter, IDisposable { private const long SYSTEM_BASE = 0x50000000; private const long GRAPHICS_BASE = 0x60000000; @@ -596,7 +636,13 @@ namespace CodeWalker.GameFiles } } + public override void Dispose() + { + base.Dispose(); + systemStream?.Dispose(); + graphicsStream?.Dispose(); + } } diff --git a/CodeWalker.Core/GameFiles/Resources/Texture.cs b/CodeWalker.Core/GameFiles/Resources/Texture.cs index f27a96a..26f0127 100644 --- a/CodeWalker.Core/GameFiles/Resources/Texture.cs +++ b/CodeWalker.Core/GameFiles/Resources/Texture.cs @@ -218,12 +218,25 @@ namespace CodeWalker.GameFiles public uint Unknown_4Ch { get; set; } // 0x00000000 // reference data - public string Name { get; set; } - public uint NameHash { get; set; } + public string Name { get => name; set + { + name = value; + nameHash = 0; + } + } + public uint NameHash { get + { + if (nameHash == 0) + { + nameHash = JenkHash.GenHashLower(name); + } + return nameHash; + } + set => nameHash = value; } private string_r NameBlock = null; - - + private uint nameHash; + private string name; public TextureUsage Usage { @@ -281,11 +294,6 @@ namespace CodeWalker.GameFiles this.NamePointer // offset ); - if (!string.IsNullOrEmpty(Name)) - { - NameHash = JenkHash.GenHash(Name.ToLowerInvariant()); - } - //switch (Unknown_32h) //{ // case 0x20: @@ -405,7 +413,6 @@ namespace CodeWalker.GameFiles public virtual void ReadXml(XmlNode node, string ddsfolder) { Name = Xml.GetChildInnerText(node, "Name"); - NameHash = JenkHash.GenHash(Name?.ToLowerInvariant()); Unknown_32h = (ushort)Xml.GetChildUIntAttribute(node, "Unk32", "value"); Usage = Xml.GetChildEnumInnerText(node, "Usage"); UsageFlags = Xml.GetChildEnumInnerText(node, "UsageFlags"); diff --git a/CodeWalker.Core/GameFiles/RpfFile.cs b/CodeWalker.Core/GameFiles/RpfFile.cs index 53d8e78..bb3afb7 100644 --- a/CodeWalker.Core/GameFiles/RpfFile.cs +++ b/CodeWalker.Core/GameFiles/RpfFile.cs @@ -1,10 +1,17 @@ -using System; +using Microsoft.IO; +using System; +using System.Buffers; +using System.Buffers.Binary; using System.Collections.Generic; using System.ComponentModel; +using System.Diagnostics; using System.IO; using System.IO.Compression; +using System.IO.Pipes; using System.Linq; +using System.Security.Cryptography.X509Certificates; using System.Text; +using System.Threading; using System.Threading.Tasks; namespace CodeWalker.GameFiles @@ -13,7 +20,24 @@ namespace CodeWalker.GameFiles public class RpfFile { public string Name { get; set; } //name of this RPF file/package - public string NameLower { get; set; } + + + private string _nameLower; + public string NameLower + { + get + { + if (_nameLower == null) + { + _nameLower = Name.ToLowerInvariant(); + } + return _nameLower; + } + set + { + _nameLower = value; + } + } public string Path { get; set; } //path within the RPF structure public string FilePath { get; set; } //full file path of the RPF public long FileSize { get; set; } @@ -61,7 +85,6 @@ namespace CodeWalker.GameFiles { FileInfo fi = new FileInfo(fpath); Name = fi.Name; - NameLower = Name.ToLowerInvariant(); Path = relpath.ToLowerInvariant(); FilePath = fpath; FileSize = fi.Length; @@ -69,7 +92,6 @@ namespace CodeWalker.GameFiles public RpfFile(string name, string path, long filesize) //for a child RPF { Name = name; - NameLower = Name.ToLowerInvariant(); Path = path.ToLowerInvariant(); FilePath = path; FileSize = filesize; @@ -147,8 +169,11 @@ namespace CodeWalker.GameFiles throw new Exception("Invalid Resource - not GTAV!"); } - byte[] entriesdata = br.ReadBytes((int)EntryCount * 16); //4x uints each - byte[] namesdata = br.ReadBytes((int)NamesLength); + byte[] entriesdata = ArrayPool.Shared.Rent((int)EntryCount * 16); + byte[] namesdata = ArrayPool.Shared.Rent((int)NamesLength); + + br.BaseStream.Read(entriesdata, 0, (int)EntryCount * 16); + br.BaseStream.Read(namesdata, 0, (int)NamesLength); switch (Encryption) { @@ -156,25 +181,25 @@ namespace CodeWalker.GameFiles case RpfEncryption.OPEN: //OpenIV style RPF with unencrypted TOC break; case RpfEncryption.AES: - entriesdata = GTACrypto.DecryptAES(entriesdata); - namesdata = GTACrypto.DecryptAES(namesdata); + GTACrypto.DecryptAES(entriesdata, (int)EntryCount * 16); + GTACrypto.DecryptAES(namesdata, (int)NamesLength); + IsAESEncrypted = true; break; case RpfEncryption.NG: - entriesdata = GTACrypto.DecryptNG(entriesdata, Name, (uint)FileSize); - namesdata = GTACrypto.DecryptNG(namesdata, Name, (uint)FileSize); + default: + GTACrypto.DecryptNG(entriesdata, Name, (uint)FileSize, 0, (int)EntryCount * 16); + GTACrypto.DecryptNG(namesdata, Name, (uint)FileSize, 0, (int)NamesLength); + IsNGEncrypted = true; break; - default: //unknown encryption type? assume NG.. never seems to get here - entriesdata = GTACrypto.DecryptNG(entriesdata, Name, (uint)FileSize); - namesdata = GTACrypto.DecryptNG(namesdata, Name, (uint)FileSize); - break; } + using var entriesrdr = new DataReader(new MemoryStream(entriesdata, 0, (int)EntryCount * 16)); + using var namesrdr = new DataReader(new MemoryStream(namesdata, 0, (int)NamesLength)); - var entriesrdr = new DataReader(new MemoryStream(entriesdata)); - var namesrdr = new DataReader(new MemoryStream(namesdata)); - AllEntries = new List(); + + AllEntries = new List((int)EntryCount); TotalFileCount = 0; TotalFolderCount = 0; TotalResourceCount = 0; @@ -213,28 +238,24 @@ namespace CodeWalker.GameFiles e.Read(entriesrdr); - namesrdr.Position = e.NameOffset; - e.Name = namesrdr.ReadString(); - if (e.Name.Length > 256) - { - // long names can freeze the RPFExplorer - e.Name = e.Name.Substring(0, 256); - } - e.NameLower = e.Name.ToLowerInvariant(); - - if ((e is RpfFileEntry) && string.IsNullOrEmpty(e.Name)) - { - } - if ((e is RpfResourceFileEntry))// && string.IsNullOrEmpty(e.Name)) - { - var rfe = e as RpfResourceFileEntry; - rfe.IsEncrypted = rfe.NameLower.EndsWith(".ysc");//any other way to know..? - } - AllEntries.Add(e); } + foreach(var entry in AllEntries) + { + namesrdr.Position = entry.NameOffset; + entry.Name = namesrdr.ReadString(256); + if (entry.Name.Length > 256) + { + // long names can freeze the RPFExplorer + entry.Name = entry.Name.Substring(0, 256); + } + if (entry is RpfResourceFileEntry rfe)// && string.IsNullOrEmpty(e.Name)) + { + rfe.IsEncrypted = rfe.Name.EndsWith(".ysc", StringComparison.OrdinalIgnoreCase);//any other way to know..? + } + } Root = (RpfDirectoryEntry)AllEntries[0]; Root.Path = Path.ToLowerInvariant();// + "\\" + Root.Name; @@ -251,17 +272,16 @@ namespace CodeWalker.GameFiles { RpfEntry e = AllEntries[i]; e.Parent = item; - if (e is RpfDirectoryEntry) + if (e is RpfDirectoryEntry rde) { - RpfDirectoryEntry rde = e as RpfDirectoryEntry; - rde.Path = item.Path + "\\" + rde.NameLower; + rde.Path = item.Path + "\\" + rde.Name; item.Directories.Add(rde); stack.Push(rde); } else if (e is RpfFileEntry) { RpfFileEntry rfe = e as RpfFileEntry; - rfe.Path = item.Path + "\\" + rfe.NameLower; + rfe.Path = item.Path + "\\" + rfe.Name; item.Files.Add(rfe); } } @@ -270,32 +290,41 @@ namespace CodeWalker.GameFiles br.BaseStream.Position = StartPos; CurrentFileReader = null; - + ArrayPool.Shared.Return(entriesdata); + ArrayPool.Shared.Return(namesdata); } - public void ScanStructure(Action updateStatus, Action errorLog) + public bool ScanStructure(Action updateStatus, Action errorLog) { - using (BinaryReader br = new BinaryReader(File.OpenRead(FilePath))) + + using var fileStream = File.OpenRead(FilePath); + using var br = new BinaryReader(fileStream); + try { - try - { - ScanStructure(br, updateStatus, errorLog); - } - catch (Exception ex) - { - LastError = ex.ToString(); - LastException = ex; - errorLog(FilePath + ": " + LastError); - } + return ScanStructure(br, updateStatus, errorLog); + } + catch (Exception ex) + { + LastError = ex.ToString(); + LastException = ex; + errorLog?.Invoke(FilePath + ": " + LastError); + return false; } } - private void ScanStructure(BinaryReader br, Action updateStatus, Action errorLog) + private bool ScanStructure(BinaryReader br, Action updateStatus, Action errorLog) { - ReadHeader(br); + if (FilePath == "update\\update.rpf\\dlc_patch\\patchday1ng\\x64\\patch\\data\\lang\\chinesesimp.rpf") return false; + try + { + ReadHeader(br); + } catch + { + return false; + } GrandTotalRpfCount = 1; //count this file.. GrandTotalFileCount = 1; //start with this one. @@ -311,13 +340,10 @@ namespace CodeWalker.GameFiles { try { - if (entry is RpfBinaryFileEntry) + if (entry is RpfBinaryFileEntry binentry) { - RpfBinaryFileEntry binentry = entry as RpfBinaryFileEntry; - //search all the sub resources for YSC files. (recurse!) - string lname = binentry.NameLower; - if (lname.EndsWith(".rpf") && binentry.Path.Length < 5000) // a long path is most likely an attempt to crash CW, so skip it + if (binentry.Name.EndsWith(".rpf", StringComparison.OrdinalIgnoreCase) && binentry.Path.Length < 5000) // a long path is most likely an attempt to crash CW, so skip it { br.BaseStream.Position = StartPos + ((long)binentry.FileOffset * 512); @@ -327,15 +353,16 @@ namespace CodeWalker.GameFiles subfile.Parent = this; subfile.ParentFileEntry = binentry; - subfile.ScanStructure(br, updateStatus, errorLog); + if (subfile.ScanStructure(br, updateStatus, errorLog)) + { + GrandTotalRpfCount += subfile.GrandTotalRpfCount; + GrandTotalFileCount += subfile.GrandTotalFileCount; + GrandTotalFolderCount += subfile.GrandTotalFolderCount; + GrandTotalResourceCount += subfile.GrandTotalResourceCount; + GrandTotalBinaryFileCount += subfile.GrandTotalBinaryFileCount; - GrandTotalRpfCount += subfile.GrandTotalRpfCount; - GrandTotalFileCount += subfile.GrandTotalFileCount; - GrandTotalFolderCount += subfile.GrandTotalFolderCount; - GrandTotalResourceCount += subfile.GrandTotalResourceCount; - GrandTotalBinaryFileCount += subfile.GrandTotalBinaryFileCount; - - Children.Add(subfile); + Children.Add(subfile); + } } else { @@ -359,7 +386,7 @@ namespace CodeWalker.GameFiles errorLog?.Invoke(entry.Path + ": " + ex.ToString()); } } - + return true; } @@ -437,26 +464,25 @@ namespace CodeWalker.GameFiles br.Read(tbytes, 0, (int)totlen); - byte[] decr; if (IsAESEncrypted) { - decr = GTACrypto.DecryptAES(tbytes); + GTACrypto.DecryptAES(tbytes); //special case! probable duplicate pilot_school.ysc ofpath = outputfolder + "\\" + Name + "___" + resentry.Name; } else { - decr = GTACrypto.DecryptNG(tbytes, resentry.Name, resentry.FileSize); + GTACrypto.DecryptNG(tbytes, resentry.Name, resentry.FileSize); } try { - MemoryStream ms = new MemoryStream(decr); + MemoryStream ms = new MemoryStream(tbytes); DeflateStream ds = new DeflateStream(ms, CompressionMode.Decompress); - MemoryStream outstr = new MemoryStream(); + MemoryStream outstr = recyclableMemoryStreamManager.GetStream(); ds.CopyTo(outstr); byte[] deflated = outstr.GetBuffer(); byte[] outbuf = new byte[outstr.Length]; //need to copy to the right size buffer for File.WriteAllBytes(). @@ -498,7 +524,33 @@ namespace CodeWalker.GameFiles - + //public Stream ExtractFileStream(RpfFileEntry entry) + //{ + // try + // { + // using (BinaryReader br = new BinaryReader(File.OpenRead(GetPhysicalFilePath()))) + // { + // if (entry is RpfBinaryFileEntry binaryFileEntry) + // { + // return ExtractFileBinary(binaryFileEntry, br); + // } + // else if (entry is RpfResourceFileEntry resourceFileEntry) + // { + // return ExtractFileResource(resourceFileEntry, br); + // } + // else + // { + // return null; + // } + // } + // } + // catch (Exception ex) + // { + // LastError = ex.ToString(); + // LastException = ex; + // return null; + // } + //} public byte[] ExtractFile(RpfFileEntry entry) { @@ -506,13 +558,13 @@ namespace CodeWalker.GameFiles { using (BinaryReader br = new BinaryReader(File.OpenRead(GetPhysicalFilePath()))) { - if (entry is RpfBinaryFileEntry) + if (entry is RpfBinaryFileEntry binaryFileEntry) { - return ExtractFileBinary(entry as RpfBinaryFileEntry, br); + return ExtractFileBinary(binaryFileEntry, br); } - else if (entry is RpfResourceFileEntry) + else if (entry is RpfResourceFileEntry resourceFileEntry) { - return ExtractFileResource(entry as RpfResourceFileEntry, br); + return ExtractFileResource(resourceFileEntry, br); } else { @@ -543,27 +595,25 @@ namespace CodeWalker.GameFiles br.BaseStream.Position += offset; br.Read(tbytes, 0, (int)totlen); - byte[] decr = tbytes; - if (entry.IsEncrypted) { if (IsAESEncrypted) { - decr = GTACrypto.DecryptAES(tbytes); + GTACrypto.DecryptAES(tbytes); } else //if (IsNGEncrypted) //assume the archive is set to NG encryption if not AES... (comment: fix for openIV modded files) { - decr = GTACrypto.DecryptNG(tbytes, entry.Name, entry.FileUncompressedSize); + GTACrypto.DecryptNG(tbytes, entry.Name, entry.FileUncompressedSize); } //else //{ } } - byte[] defl = decr; + byte[] defl = tbytes; if (entry.FileSize > 0) //apparently this means it's compressed { - defl = DecompressBytes(decr); + defl = DecompressBytes(tbytes); } else { @@ -596,23 +646,21 @@ namespace CodeWalker.GameFiles br.Read(tbytes, 0, (int)totlen); - - byte[] decr = tbytes; if (entry.IsEncrypted) { if (IsAESEncrypted) { - decr = GTACrypto.DecryptAES(tbytes); + GTACrypto.DecryptAES(tbytes); } else //if (IsNGEncrypted) //assume the archive is set to NG encryption if not AES... (comment: fix for openIV modded files) { - decr = GTACrypto.DecryptNG(tbytes, entry.Name, entry.FileSize); + GTACrypto.DecryptNG(tbytes, entry.Name, entry.FileSize); } //else //{ } } - byte[] deflated = DecompressBytes(decr); + byte[] deflated = DecompressBytes(tbytes); byte[] data = null; @@ -623,7 +671,7 @@ namespace CodeWalker.GameFiles else { entry.FileSize -= offset; - data = decr; + data = tbytes; } @@ -665,6 +713,22 @@ namespace CodeWalker.GameFiles return file; } + public static T GetFile(RpfEntry e, Stream data) where T : class, PackedFileStream, new() + { + T file = null; + RpfFileEntry entry = e as RpfFileEntry; + if ((data != null)) + { + if (entry == null) + { + entry = CreateResourceFileEntry(data, 0); + } + file = new T(); + file.Load(data, entry); + } + return file; + } + public static T GetResourceFile(byte[] data) where T : class, PackedFile, new() @@ -679,6 +743,36 @@ namespace CodeWalker.GameFiles } return file; } + + + public static void LoadResourceFile(T file, Stream data, uint ver) where T : class, PackedFileStream + { + //direct load from a raw, compressed resource file (openIV-compatible format) + + RpfResourceFileEntry resentry = CreateResourceFileEntry(data, ver); + + if (file is GameFile) + { + GameFile gfile = file as GameFile; + + var oldresentry = gfile.RpfFileEntry as RpfResourceFileEntry; + if (oldresentry != null) //update the existing entry with the new one + { + oldresentry.SystemFlags = resentry.SystemFlags; + oldresentry.GraphicsFlags = resentry.GraphicsFlags; + resentry.Name = oldresentry.Name; + } + else + { + gfile.RpfFileEntry = resentry; //just stick it in there for later... + } + } + + data = ResourceBuilder.Decompress(data); + + file.Load(data, resentry); + } + public static void LoadResourceFile(T file, byte[] data, uint ver) where T : class, PackedFile { //direct load from a raw, compressed resource file (openIV-compatible format) @@ -695,9 +789,6 @@ namespace CodeWalker.GameFiles oldresentry.SystemFlags = resentry.SystemFlags; oldresentry.GraphicsFlags = resentry.GraphicsFlags; resentry.Name = oldresentry.Name; - resentry.NameHash = oldresentry.NameHash; - resentry.NameLower = oldresentry.NameLower; - resentry.ShortNameHash = oldresentry.ShortNameHash; } else { @@ -710,6 +801,45 @@ namespace CodeWalker.GameFiles file.Load(data, resentry); } + + public static RpfResourceFileEntry CreateResourceFileEntry(Stream stream, uint ver, uint? header = null) + { + var resentry = new RpfResourceFileEntry(); + + using var reader = new BinaryReader(stream, Encoding.UTF8, true); + + //hopefully this data has an RSC7 header... + uint rsc7 = header ?? reader.ReadUInt32(); // BitConverter.ToUInt32(data, 0); + if (rsc7 == 0x37435352) //RSC7 header present! + { + int version = reader.ReadInt32(); // BitConverter.ToInt32(data, 4);//use this instead of what was given... + resentry.SystemFlags = reader.ReadUInt32();// BitConverter.ToUInt32(data, 8); + resentry.GraphicsFlags = reader.ReadUInt32(); //BitConverter.ToUInt32(data, 12); + //if (stream.Length > 16) + //{ + // int newlen = stream.Length - 16; //trim the header from the data passed to the next step. + // byte[] newdata = new byte[newlen]; + // Buffer.BlockCopy(data, 16, newdata, 0, newlen); + // data = newdata; + //} + //else + //{ + // data = null; //shouldn't happen... empty.. + //} + } + else + { + //direct load from file without the rpf header.. + //assume it's in resource meta format + resentry.SystemFlags = RpfResourceFileEntry.GetFlagsFromSize((int)stream.Length, 0); + resentry.GraphicsFlags = RpfResourceFileEntry.GetFlagsFromSize(0, ver); + } + + resentry.Name = ""; + + return resentry; + } + public static RpfResourceFileEntry CreateResourceFileEntry(ref byte[] data, uint ver) { var resentry = new RpfResourceFileEntry(); @@ -742,7 +872,6 @@ namespace CodeWalker.GameFiles } resentry.Name = ""; - resentry.NameLower = ""; return resentry; } @@ -896,14 +1025,14 @@ namespace CodeWalker.GameFiles - + public static RecyclableMemoryStreamManager recyclableMemoryStreamManager = new RecyclableMemoryStreamManager(); public byte[] DecompressBytes(byte[] bytes) { try { using (DeflateStream ds = new DeflateStream(new MemoryStream(bytes), CompressionMode.Decompress)) { - using (var outstr = new MemoryStream()) + using (var outstr = recyclableMemoryStreamManager.GetStream("DecompressBytes", bytes.Length)) { ds.CopyTo(outstr); byte[] deflated = outstr.GetBuffer(); @@ -929,7 +1058,7 @@ namespace CodeWalker.GameFiles } public static byte[] CompressBytes(byte[] data) //TODO: refactor this with ResourceBuilder.Compress/Decompress { - using (MemoryStream ms = new MemoryStream()) + using (MemoryStream ms = recyclableMemoryStreamManager.GetStream("CompressBytes", data.Length)) { using (var ds = new DeflateStream(ms, CompressionMode.Compress, true)) { @@ -1023,7 +1152,6 @@ namespace CodeWalker.GameFiles Root = new RpfDirectoryEntry(); Root.File = this; Root.Name = string.Empty; - Root.NameLower = string.Empty; Root.Path = Path.ToLowerInvariant(); } if (Children == null) @@ -1397,7 +1525,7 @@ namespace CodeWalker.GameFiles file.Path = dir.Path + "\\" + file.NameLower; RpfBinaryFileEntry binf = file as RpfBinaryFileEntry; - if ((binf != null) && file.NameLower.EndsWith(".rpf")) + if ((binf != null) && file.Name.EndsWith(".rpf", StringComparison.OrdinalIgnoreCase)) { RpfFile childrpf = FindChildArchive(binf); if (childrpf != null) @@ -1413,7 +1541,7 @@ namespace CodeWalker.GameFiles } foreach (var subdir in dir.Directories) { - subdir.Path = dir.Path + "\\" + subdir.NameLower; + subdir.Path = dir.Path + "\\" + subdir.Name; UpdatePaths(subdir); } } @@ -1531,9 +1659,6 @@ namespace CodeWalker.GameFiles entry.File = parent; entry.Path = rpath; entry.Name = name; - entry.NameLower = namel; - entry.NameHash = JenkHash.GenHash(name); - entry.ShortNameHash = JenkHash.GenHash(entry.GetShortNameLower()); dir.Files.Add(entry); @@ -1574,13 +1699,10 @@ namespace CodeWalker.GameFiles entry.File = parent; entry.Path = rpath; entry.Name = name; - entry.NameLower = namel; - entry.NameHash = JenkHash.GenHash(name); - entry.ShortNameHash = JenkHash.GenHash(entry.GetShortNameLower()); foreach (var exdir in dir.Directories) { - if (exdir.NameLower == entry.NameLower) + if (exdir.Name.Equals(entry.Name, StringComparison.OrdinalIgnoreCase)) { throw new Exception("RPF Directory \"" + entry.Name + "\" already exists!"); } @@ -1600,14 +1722,61 @@ namespace CodeWalker.GameFiles return entry; } + public static RpfFileEntry CreateFileEntry(string name, string path, Stream data) + { + //this should only really be used when loading a file from the filesystem. + RpfFileEntry e; + using var reader = new BinaryReader(data, Encoding.UTF8, true); + + uint rsc7 = (reader.BaseStream.Length > 4) ? reader.ReadUInt32() : 0; + if (rsc7 == 0x37435352) //RSC7 header present! create RpfResourceFileEntry and decompress data... + { + e = RpfFile.CreateResourceFileEntry(data, 0);//"version" should be loadable from the header in the data.. + data = ResourceBuilder.Decompress(data); + } + else + { + var be = new RpfBinaryFileEntry + { + FileSize = (uint)(data?.Length ?? 0), + FileUncompressedSize = (uint)(data?.Length ?? 0), + }; + e = be; + } + e.Name = name; + e.Path = path; + return e; + } + + public static RpfFileEntry CreateFileEntry(string name, string path, ref byte[] data) + { + //this should only really be used when loading a file from the filesystem. + RpfFileEntry e = null; + uint rsc7 = (data?.Length > 4) ? BitConverter.ToUInt32(data, 0) : 0; + if (rsc7 == 0x37435352) //RSC7 header present! create RpfResourceFileEntry and decompress data... + { + e = RpfFile.CreateResourceFileEntry(ref data, 0);//"version" should be loadable from the header in the data.. + data = ResourceBuilder.Decompress(data); + } + else + { + var be = new RpfBinaryFileEntry(); + be.FileSize = (uint)data?.Length; + be.FileUncompressedSize = be.FileSize; + e = be; + } + e.Name = name; + e.Path = path; + return e; + } + public static RpfFileEntry CreateFile(RpfDirectoryEntry dir, string name, byte[] data, bool overwrite = true) { - string namel = name.ToLowerInvariant(); if (overwrite) { foreach (var exfile in dir.Files) { - if (exfile.NameLower == namel) + if (exfile.Name.Equals(name, StringComparison.OrdinalIgnoreCase)) { //file already exists. delete the existing one first! //this should probably be optimised to just replace the existing one... @@ -1621,6 +1790,7 @@ namespace CodeWalker.GameFiles RpfFile parent = dir.File; string fpath = parent.GetPhysicalFilePath(); + string namel = name.ToLowerInvariant(); string rpath = dir.Path + "\\" + namel; if (!File.Exists(fpath)) { @@ -1644,7 +1814,6 @@ namespace CodeWalker.GameFiles { //RSC header is present... import as resource var rentry = new RpfResourceFileEntry(); - var version = BitConverter.ToUInt32(data, 4); rentry.SystemFlags = BitConverter.ToUInt32(data, 8); rentry.GraphicsFlags = BitConverter.ToUInt32(data, 12); rentry.FileSize = len; @@ -1661,11 +1830,11 @@ namespace CodeWalker.GameFiles entry = rentry; } - if (namel.EndsWith(".rpf") && (hdr == 0x52504637)) //'RPF7' + if ((hdr == 0x52504637) && name.EndsWith(".rpf", StringComparison.OrdinalIgnoreCase)) //'RPF7' { isrpf = true; } - if (namel.EndsWith(".awc")) + if (name.EndsWith(".awc", StringComparison.OrdinalIgnoreCase)) { isawc = true; } @@ -1693,16 +1862,14 @@ namespace CodeWalker.GameFiles entry.File = parent; entry.Path = rpath; entry.Name = name; - entry.NameLower = name.ToLowerInvariant(); - entry.NameHash = JenkHash.GenHash(name); - entry.ShortNameHash = JenkHash.GenHash(entry.GetShortNameLower()); + entry.NameLower = namel; foreach (var exfile in dir.Files) { - if (exfile.NameLower == entry.NameLower) + if (exfile.Name.Equals(entry.Name, StringComparison.OrdinalIgnoreCase)) { throw new Exception("File \"" + entry.Name + "\" already exists!"); } @@ -1715,15 +1882,13 @@ namespace CodeWalker.GameFiles using (var fstream = File.Open(fpath, FileMode.Open, FileAccess.ReadWrite)) { - using (var bw = new BinaryWriter(fstream)) - { - parent.InsertFileSpace(bw, entry); - long bbeg = parent.StartPos + (entry.FileOffset * 512); - long bend = bbeg + (GetBlockCount(entry.GetFileSize()) * 512); - fstream.Position = bbeg; - fstream.Write(data, 0, data.Length); - WritePadding(fstream, bend); //write 0's until the end of the block. - } + using var bw = new BinaryWriter(fstream); + parent.InsertFileSpace(bw, entry); + long bbeg = parent.StartPos + (entry.FileOffset * 512); + long bend = bbeg + (GetBlockCount(entry.GetFileSize()) * 512); + fstream.Position = bbeg; + fstream.Write(data, 0, data.Length); + WritePadding(fstream, bend); //write 0's until the end of the block. } @@ -1736,14 +1901,10 @@ namespace CodeWalker.GameFiles file.StartPos = parent.StartPos + (entry.FileOffset * 512); parent.Children.Add(file); - using (var fstream = File.OpenRead(fpath)) - { - using (var br = new BinaryReader(fstream)) - { - fstream.Position = file.StartPos; - file.ScanStructure(br, null, null); - } - } + using var fstream = File.OpenRead(fpath); + using var br = new BinaryReader(fstream); + fstream.Position = file.StartPos; + file.ScanStructure(br, null, null); } return entry; @@ -1756,7 +1917,6 @@ namespace CodeWalker.GameFiles //(since all the paths are generated at runtime and not stored) file.Name = newname; - file.NameLower = newname.ToLowerInvariant(); file.Path = GetParentPath(file.Path) + newname; file.FilePath = GetParentPath(file.FilePath) + newname; @@ -1772,13 +1932,9 @@ namespace CodeWalker.GameFiles string dirpath = GetParentPath(entry.Path); entry.Name = newname; - entry.NameLower = newname.ToLowerInvariant(); entry.Path = dirpath + newname; - string sname = entry.GetShortNameLower(); - JenkIndex.Ensure(sname);//could be anything... but it needs to be there - entry.NameHash = JenkHash.GenHash(newname); - entry.ShortNameHash = JenkHash.GenHash(sname); + JenkIndex.EnsureLower(entry.ShortName);//could be anything... but it needs to be there RpfFile parent = entry.File; string fpath = parent.GetPhysicalFilePath(); @@ -2011,7 +2167,7 @@ namespace CodeWalker.GameFiles } if (!dirpath.EndsWith("\\")) { - dirpath = dirpath + "\\"; + dirpath += "\\"; } return dirpath; } @@ -2038,16 +2194,89 @@ namespace CodeWalker.GameFiles public RpfFile File { get; set; } public RpfDirectoryEntry Parent { get; set; } - public uint NameHash { get; set; } - public uint ShortNameHash { get; set; } + public uint NameHash { get + { + if (nameHash == 0 && !string.IsNullOrEmpty(Name)) + { + nameHash = JenkHash.GenHashLower(Name); + } + return nameHash; + } + set + { + nameHash = value; + } + } + public uint ShortNameHash { get + { + if (shortNameHash == 0 && !string.IsNullOrEmpty(ShortName)) + { + shortNameHash = JenkHash.GenHashLower(ShortName); + } + return shortNameHash; + } + set + { + shortNameHash = value; + } + } public uint NameOffset { get; set; } - public string Name { get; set; } - public string NameLower { get; set; } + public string Name { get => name; set + { + if (name == value) + { + return; + } + name = value; + nameLower = null; + nameHash = 0; + shortNameHash = 0; + shortName = null; + } + } + public string NameLower + { + get + { + return nameLower ??= Name?.ToLowerInvariant(); + } + set { nameLower = value; } + } + + public string ShortName { + get + { + if (string.IsNullOrEmpty(shortName) && !string.IsNullOrEmpty(Name)) + { + int ind = Name.LastIndexOf('.'); + if (ind > 0) + { + shortName = Name.Substring(0, ind); + } + else + { + shortName = Name; + } + } + + return shortName; + } + set + { + shortName = value; + } + } + public string Path { get; set; } public uint H1; //first 2 header values from RPF table... public uint H2; + private string name; + private string nameLower; + private uint shortNameHash; + private uint nameHash; + private string shortName; public abstract void Read(DataReader reader); public abstract void Write(DataWriter writer); @@ -2059,29 +2288,12 @@ namespace CodeWalker.GameFiles public string GetShortName() { - int ind = Name.LastIndexOf('.'); - if (ind > 0) - { - return Name.Substring(0, ind); - } - return Name; - } - public string GetShortNameLower() - { - if (NameLower == null) - { - NameLower = Name.ToLowerInvariant(); - } - int ind = NameLower.LastIndexOf('.'); - if (ind > 0) - { - return NameLower.Substring(0, ind); - } - return NameLower; + return ShortName; } } - [TypeConverter(typeof(ExpandableObjectConverter))] public class RpfDirectoryEntry : RpfEntry + [TypeConverter(typeof(ExpandableObjectConverter))] + public class RpfDirectoryEntry : RpfEntry { public uint EntriesIndex { get; set; } public uint EntriesCount { get; set; } @@ -2113,7 +2325,8 @@ namespace CodeWalker.GameFiles } } - [TypeConverter(typeof(ExpandableObjectConverter))] public abstract class RpfFileEntry : RpfEntry + [TypeConverter(typeof(ExpandableObjectConverter))] + public abstract class RpfFileEntry : RpfEntry { public uint FileOffset { get; set; } public uint FileSize { get; set; } @@ -2144,7 +2357,7 @@ namespace CodeWalker.GameFiles case 0: IsEncrypted = false; break; case 1: IsEncrypted = true; break; default: - throw new Exception("Error in RPF7 file entry."); + throw new Exception($"Error in RPF7 file entry. {EncryptionType}"); } } @@ -2516,14 +2729,15 @@ namespace CodeWalker.GameFiles public override void Read(DataReader reader) { + var buffer = ArrayPool.Shared.Rent(3); NameOffset = reader.ReadUInt16(); - var buf1 = reader.ReadBytes(3); - FileSize = (uint)buf1[0] + (uint)(buf1[1] << 8) + (uint)(buf1[2] << 16); - - var buf2 = reader.ReadBytes(3); - FileOffset = ((uint)buf2[0] + (uint)(buf2[1] << 8) + (uint)(buf2[2] << 16)) & 0x7FFFFF; + reader.ReadBytes(3, buffer); + FileSize = (uint)buffer[0] + (uint)(buffer[1] << 8) + (uint)(buffer[2] << 16); + reader.ReadBytes(3, buffer); + FileOffset = ((uint)buffer[0] + (uint)(buffer[1] << 8) + (uint)(buffer[2] << 16)) & 0x7FFFFF; + ArrayPool.Shared.Return(buffer); SystemFlags = reader.ReadUInt32(); GraphicsFlags = reader.ReadUInt32(); @@ -2751,6 +2965,10 @@ namespace CodeWalker.GameFiles void Load(byte[] data, RpfFileEntry entry); } + public interface PackedFileStream : PackedFile + { + void Load(Stream stream, RpfFileEntry entry); + } diff --git a/CodeWalker.Core/GameFiles/RpfManager.cs b/CodeWalker.Core/GameFiles/RpfManager.cs index c5e9bfd..63fd00c 100644 --- a/CodeWalker.Core/GameFiles/RpfManager.cs +++ b/CodeWalker.Core/GameFiles/RpfManager.cs @@ -1,5 +1,8 @@ -using System; +using CodeWalker.Core.Utils; +using System; +using System.Collections.Concurrent; using System.Collections.Generic; +using System.Diagnostics; using System.IO; using System.Linq; using System.Text; @@ -10,14 +13,19 @@ namespace CodeWalker.GameFiles { public class RpfManager { + private static RpfManager _instance = new RpfManager(); + public static RpfManager GetInstance() + { + return _instance ??= new RpfManager(); + } //for caching and management of RPF file data. public string Folder { get; private set; } public string[] ExcludePaths { get; set; } public bool EnableMods { get; set; } public bool BuildExtendedJenkIndex { get; set; } = true; - public Action UpdateStatus { get; private set; } - public Action ErrorLog { get; private set; } + public event Action UpdateStatus; + public event Action ErrorLog; public List BaseRpfs { get; private set; } public List ModRpfs { get; private set; } @@ -34,8 +42,9 @@ namespace CodeWalker.GameFiles public void Init(string folder, Action updateStatus, Action errorLog, bool rootOnly = false, bool buildIndex = true) { - UpdateStatus = updateStatus; - ErrorLog = errorLog; + using var _ = new DisposableTimer("RpfManager.Init"); + UpdateStatus += updateStatus; + ErrorLog += errorLog; string replpath = folder + "\\"; var sopt = rootOnly ? SearchOption.TopDirectoryOnly : SearchOption.AllDirectories; @@ -52,7 +61,8 @@ namespace CodeWalker.GameFiles ModRpfDict = new Dictionary(); ModEntryDict = new Dictionary(); - foreach (string rpfpath in allfiles) + var rpfs = new ConcurrentBag(); + Parallel.ForEach(allfiles, (rpfpath) => { try { @@ -69,37 +79,66 @@ namespace CodeWalker.GameFiles break; } } - if (excl) continue; //skip files in exclude paths. + if (excl) return; //skip files in exclude paths. } rf.ScanStructure(updateStatus, errorLog); if (rf.LastException != null) //incase of corrupted rpf (or renamed NG encrypted RPF) { - continue; + return; } - AddRpfFile(rf, false, false); + rpfs.Add(rf); } catch (Exception ex) { errorLog(rpfpath + ": " + ex.ToString()); } + }); + + var calculateSum = (RpfFile rpf) => { return 0; }; + + calculateSum = (RpfFile rpf) => + { + return rpf.AllEntries?.Count ?? 0 + rpf.Children?.Sum(calculateSum) ?? 0; + }; + + var minCapacity = rpfs.Sum(calculateSum); + if (minCapacity > AllRpfs.Capacity) + { + AllRpfs.Capacity = minCapacity; + } + + foreach(var rpf in rpfs) + { + AddRpfFile(rpf, false, false); } if (buildIndex) { - updateStatus("Building jenkindex..."); - BuildBaseJenkIndex(); + updateStatus?.Invoke("Building jenkindex..."); + Task.Run(() => + { + BuildBaseJenkIndex(); + IsInited = true; + }); + updateStatus?.Invoke("Scan complete"); } + else + { + updateStatus?.Invoke("Scan complete"); + IsInited = true; + } + + - updateStatus("Scan complete"); - - IsInited = true; + } public void Init(List allRpfs) { + using var _ = new DisposableTimer("RpfManager.Init"); //fast init used by RPF explorer's File cache AllRpfs = allRpfs; @@ -122,9 +161,11 @@ namespace CodeWalker.GameFiles } } - BuildBaseJenkIndex(); - - IsInited = true; + Task.Run(() => + { + BuildBaseJenkIndex(); + IsInited = true; + }); } @@ -182,25 +223,13 @@ namespace CodeWalker.GameFiles EntryDict[entry.Path] = entry; } - if (entry is RpfFileEntry) - { - RpfFileEntry fentry = entry as RpfFileEntry; - entry.NameHash = JenkHash.GenHash(entry.NameLower); - int ind = entry.NameLower.LastIndexOf('.'); - entry.ShortNameHash = (ind > 0) ? JenkHash.GenHash(entry.NameLower.Substring(0, ind)) : entry.NameHash; - if (entry.ShortNameHash != 0) - { - //EntryHashDict[entry.ShortNameHash] = entry; - } - } - } } catch (Exception ex) { file.LastError = ex.ToString(); file.LastException = ex; - ErrorLog(entry.Path + ": " + ex.ToString()); + ErrorLog?.Invoke(entry.Path + ": " + ex.ToString()); } } } @@ -348,12 +377,12 @@ namespace CodeWalker.GameFiles public void BuildBaseJenkIndex() { - JenkIndex.Clear(); - StringBuilder sb = new StringBuilder(); - foreach (RpfFile file in AllRpfs) + using var _ = new DisposableTimer("BuildBaseJenkIndex"); + Parallel.ForEach(AllRpfs, new ParallelOptions { MaxDegreeOfParallelism = 4 }, (file) => { try { + StringBuilder sb = new StringBuilder(); JenkIndex.Ensure(file.Name); foreach (RpfEntry entry in file.AllEntries) { @@ -364,6 +393,7 @@ namespace CodeWalker.GameFiles int ind = nlow.LastIndexOf('.'); if (ind > 0) { + JenkIndex.Ensure(entry.Name.Substring(0, ind)); JenkIndex.Ensure(nlow.Substring(0, ind)); @@ -485,11 +515,16 @@ namespace CodeWalker.GameFiles } } - catch + catch(Exception err) { + ErrorLog?.Invoke(err.ToString()); //failing silently!! not so good really } - } + }); + //foreach (RpfFile file in AllRpfs) + //{ + + //} for (int i = 0; i < 100; i++) { diff --git a/CodeWalker.Core/GameFiles/Utils/DDSIO.cs b/CodeWalker.Core/GameFiles/Utils/DDSIO.cs index 3542699..8463654 100644 --- a/CodeWalker.Core/GameFiles/Utils/DDSIO.cs +++ b/CodeWalker.Core/GameFiles/Utils/DDSIO.cs @@ -105,6 +105,20 @@ using System.Threading.Tasks; namespace CodeWalker.Utils { + public class AssertionFailedException : Exception + { + public AssertionFailedException() : base("Assertion failed") + { + } + + public AssertionFailedException(string message) : base(message) + { + } + + public AssertionFailedException(string message, Exception inner) : base(message, inner) + { + } + } public static class DDSIO { @@ -176,6 +190,7 @@ namespace CodeWalker.Utils swaprb = false; break; case DXGI_FORMAT.DXGI_FORMAT_R8G8B8A8_UNORM: // TextureFormat.D3DFMT_A8B8G8R8 + case DXGI_FORMAT.DXGI_FORMAT_R8G8B8A8_TYPELESS: px = imgdata; break; case DXGI_FORMAT.DXGI_FORMAT_R8_UNORM: // TextureFormat.D3DFMT_L8 @@ -221,8 +236,8 @@ namespace CodeWalker.Utils - MemoryStream ms = new MemoryStream(); - BinaryWriter bw = new BinaryWriter(ms); + using MemoryStream ms = new MemoryStream(texture.Data.FullData.Length + 128); + using BinaryWriter bw = new BinaryWriter(ms); int nimages = img.MipMapLevels; @@ -353,8 +368,8 @@ namespace CodeWalker.Utils throw new Exception("Unsupported texture dimension"); } - byte[] buff = ms.GetBuffer(); + byte[] outbuf = new byte[ms.Length]; //need to copy to the right size buffer for File.WriteAllBytes(). Array.Copy(buff, outbuf, outbuf.Length); @@ -544,8 +559,8 @@ namespace CodeWalker.Utils int add = 0; for (int i = 0; i < img.MipMapLevels; i++) { - images[i].width = img.Width / div; - images[i].height = img.Height / div; + images[i].width = Math.Max(img.Width / div, 1); + images[i].height = Math.Max(img.Height / div, 1); images[i].format = format; //(DXGI_FORMAT)img.Format; images[i].pixels = buf + add; @@ -773,7 +788,7 @@ namespace CodeWalker.Utils break; default: - assert(IsValid(fmt)); + assert(IsValid(fmt), $"{fmt} is not a valid texture format"); assert(!IsCompressed(fmt) && !IsPacked(fmt) && !IsPlanar(fmt)); { @@ -904,11 +919,17 @@ namespace CodeWalker.Utils } } - public static void assert(bool b) + public static void assert(bool b, string message = null) { if (!b) { - throw new Exception(); + if (message is null) + { + throw new AssertionFailedException(); + } else + { + throw new AssertionFailedException(message); + } } } diff --git a/CodeWalker.Core/GameFiles/Utils/Data.cs b/CodeWalker.Core/GameFiles/Utils/Data.cs index 755f942..58d3243 100644 --- a/CodeWalker.Core/GameFiles/Utils/Data.cs +++ b/CodeWalker.Core/GameFiles/Utils/Data.cs @@ -26,11 +26,9 @@ using SharpDX; using System; -using System.Collections.Generic; using System.IO; -using System.Linq; +using System.Runtime.CompilerServices; using System.Text; -using System.Threading.Tasks; namespace CodeWalker.GameFiles { @@ -54,10 +52,12 @@ namespace CodeWalker.GameFiles String = 9, } - public class DataReader + public class DataReader : IDisposable { private Stream baseStream; + private readonly byte[] _buffer = new byte[8]; + /// /// Gets or sets the endianess of the underlying stream. /// @@ -106,15 +106,15 @@ namespace CodeWalker.GameFiles /// Reads data from the underlying stream. This is the only method that directly accesses /// the data in the underlying stream. /// - protected virtual byte[] ReadFromStream(int count, bool ignoreEndianess = false) + protected virtual byte[] ReadFromStream(int count, bool ignoreEndianess = false, byte[] buffer = null) { - var buffer = new byte[count]; + buffer ??= new byte[count]; baseStream.Read(buffer, 0, count); // handle endianess if (!ignoreEndianess && (Endianess == Endianess.BigEndian)) { - Array.Reverse(buffer); + Array.Reverse(buffer, 0, count); } return buffer; @@ -123,17 +123,22 @@ namespace CodeWalker.GameFiles /// /// Reads a byte. /// - public byte ReadByte() + public virtual byte ReadByte() { - return ReadFromStream(1)[0]; + var result = baseStream.ReadByte(); + if (result == -1) + { + throw new InvalidOperationException("Tried to read from stream beyond end!"); + } + return (byte) result; } /// /// Reads a sequence of bytes. /// - public byte[] ReadBytes(int count) + public byte[] ReadBytes(int count, byte[] buffer = null) { - return ReadFromStream(count, true); + return ReadFromStream(count, true, buffer); } /// @@ -141,7 +146,7 @@ namespace CodeWalker.GameFiles /// public short ReadInt16() { - return BitConverter.ToInt16(ReadFromStream(2), 0); + return BitConverter.ToInt16(ReadFromStream(2, buffer: _buffer), 0); } /// @@ -149,7 +154,7 @@ namespace CodeWalker.GameFiles /// public int ReadInt32() { - return BitConverter.ToInt32(ReadFromStream(4), 0); + return BitConverter.ToInt32(ReadFromStream(4, buffer: _buffer), 0); } /// @@ -157,7 +162,7 @@ namespace CodeWalker.GameFiles /// public long ReadInt64() { - return BitConverter.ToInt64(ReadFromStream(8), 0); + return BitConverter.ToInt64(ReadFromStream(8, buffer: _buffer), 0); } /// @@ -165,7 +170,7 @@ namespace CodeWalker.GameFiles /// public ushort ReadUInt16() { - return BitConverter.ToUInt16(ReadFromStream(2), 0); + return BitConverter.ToUInt16(ReadFromStream(2, buffer: _buffer), 0); } /// @@ -173,7 +178,7 @@ namespace CodeWalker.GameFiles /// public uint ReadUInt32() { - return BitConverter.ToUInt32(ReadFromStream(4), 0); + return BitConverter.ToUInt32(ReadFromStream(4, buffer: _buffer), 0); } /// @@ -181,7 +186,7 @@ namespace CodeWalker.GameFiles /// public ulong ReadUInt64() { - return BitConverter.ToUInt64(ReadFromStream(8), 0); + return BitConverter.ToUInt64(ReadFromStream(8, buffer: _buffer), 0); } /// @@ -189,7 +194,7 @@ namespace CodeWalker.GameFiles /// public float ReadSingle() { - return BitConverter.ToSingle(ReadFromStream(4), 0); + return BitConverter.ToSingle(ReadFromStream(4, buffer: _buffer), 0); } /// @@ -197,23 +202,51 @@ namespace CodeWalker.GameFiles /// public double ReadDouble() { - return BitConverter.ToDouble(ReadFromStream(8), 0); + return BitConverter.ToDouble(ReadFromStream(8, buffer: _buffer), 0); } /// /// Reads a string. /// - public string ReadString() + unsafe public string ReadString(int maxLength = 1024) { - var bytes = new List(); - var temp = ReadFromStream(1)[0]; - while (temp != 0) + var bytes = stackalloc byte[Math.Min(maxLength, 1024)]; + var temp = ReadByte(); + var charsRead = 0; + while (temp != 0 && (Length == -1 || Position <= Length)) { - bytes.Add(temp); - temp = ReadFromStream(1)[0]; + if (charsRead > 1023) + { + throw new Exception("String too long!"); + } + if (charsRead < maxLength) + { + bytes[charsRead] = temp; + } + temp = ReadByte(); + charsRead++; } - return Encoding.UTF8.GetString(bytes.ToArray()); + return Encoding.UTF8.GetString(bytes, Math.Min(charsRead, maxLength)); + } + + unsafe public string ReadStringLower() + { + var bytes = stackalloc byte[1024]; + var temp = ReadByte(); + var charsRead = 0; + while (temp != 0 && (Length == -1 || Position <= Length)) + { + if (charsRead > 1023) + { + throw new Exception("String too long!"); + } + bytes[charsRead] = temp; + temp = ReadByte(); + charsRead++; + } + + return Encoding.UTF8.GetString(bytes, charsRead); } @@ -279,12 +312,13 @@ namespace CodeWalker.GameFiles } } - - - + public virtual void Dispose() + { + baseStream?.Dispose(); + } } - public class DataWriter + public class DataWriter : IDisposable { private Stream baseStream; @@ -476,6 +510,15 @@ namespace CodeWalker.GameFiles Write(value.M44); } + public virtual void Dispose() + { + baseStream.Dispose(); + } + + public virtual void Close() + { + baseStream.Close(); + } } diff --git a/CodeWalker.Core/GameFiles/Utils/GTACrypto.cs b/CodeWalker.Core/GameFiles/Utils/GTACrypto.cs index d6ccd47..682b3a9 100644 --- a/CodeWalker.Core/GameFiles/Utils/GTACrypto.cs +++ b/CodeWalker.Core/GameFiles/Utils/GTACrypto.cs @@ -23,8 +23,12 @@ //shamelessly stolen using System; +using System.Buffers; using System.Collections.Generic; +using System.Diagnostics; +using System.IO; using System.Linq; +using System.Runtime.InteropServices; using System.Security.Cryptography; using System.Text; using System.Threading.Tasks; @@ -34,7 +38,10 @@ namespace CodeWalker.GameFiles public class GTACrypto { - + public static byte[] DecryptAES(byte[] data, int length) + { + return DecryptAESData(data, GTA5Keys.PC_AES_KEY, length, 1); + } public static byte[] DecryptAES(byte[] data) { return DecryptAESData(data, GTA5Keys.PC_AES_KEY); @@ -45,6 +52,11 @@ namespace CodeWalker.GameFiles } public static byte[] DecryptAESData(byte[] data, byte[] key, int rounds = 1) + { + return DecryptAESData(data, key, data.Length, rounds); + } + + public static byte[] DecryptAESData(byte[] data, byte[] key, int length, int rounds = 1) { var rijndael = Rijndael.Create(); rijndael.KeySize = 256; @@ -53,18 +65,17 @@ namespace CodeWalker.GameFiles rijndael.Mode = CipherMode.ECB; rijndael.Padding = PaddingMode.None; - var buffer = (byte[])data.Clone(); - var length = data.Length - data.Length % 16; + length = length - length % 16; // decrypt... if (length > 0) { var decryptor = rijndael.CreateDecryptor(); for (var roundIndex = 0; roundIndex < rounds; roundIndex++) - decryptor.TransformBlock(buffer, 0, length, buffer, 0); + decryptor.TransformBlock(data, 0, length, data, 0); } - return buffer; + return data; } public static byte[] EncryptAESData(byte[] data, byte[] key, int rounds = 1) { @@ -93,7 +104,7 @@ namespace CodeWalker.GameFiles - public static byte[] GetNGKey(string name, uint length) + public static uint[][] GetNGKey(string name, uint length) { uint hash = GTA5Hash.CalculateHash(name); uint keyidx = (hash + length + (101 - 40)) % 0x65; @@ -101,63 +112,61 @@ namespace CodeWalker.GameFiles } - public static byte[] DecryptNG(byte[] data, string name, uint length) + public static byte[] DecryptNG(byte[] data, string name, uint fileSize, int offset = 0, int? length = null) { - byte[] key = GetNGKey(name, length); - return DecryptNG(data, key); + var key = GetNGKey(name, fileSize); + return DecryptNG(data, key, offset, length); } - public static byte[] DecryptNG(byte[] data, byte[] key) + public unsafe static byte[] DecryptNG(byte[] data, uint[][] key, int offset = 0, int? length = null) { - var decryptedData = new byte[data.Length]; - - var keyuints = new uint[key.Length / 4]; - Buffer.BlockCopy(key, 0, keyuints, 0, key.Length); - - for (int blockIndex = 0; blockIndex < data.Length / 16; blockIndex++) + length ??= data.Length; + fixed (byte* bptr = data) { - var encryptedBlock = new byte[16]; - Array.Copy(data, 16 * blockIndex, encryptedBlock, 0, 16); - var decryptedBlock = DecryptNGBlock(encryptedBlock, keyuints); - Array.Copy(decryptedBlock, 0, decryptedData, 16 * blockIndex, 16); + for (int blockIndex = offset * 16; blockIndex < length / 16; blockIndex++) + { + DecryptNGBlock(bptr + 16 * blockIndex, key); + } } - if (data.Length % 16 != 0) - { - var left = data.Length % 16; - Buffer.BlockCopy(data, data.Length - left, decryptedData, data.Length - left, left); - } - - return decryptedData; + return data; } - public static byte[] DecryptNGBlock(byte[] data, uint[] key) + public unsafe static void DecryptNGBlock(byte[] data, uint[][] key) { - var buffer = data; - - // prepare key... - var subKeys = new uint[17][]; - for (int i = 0; i < 17; i++) + fixed(byte* bptr = data) { - subKeys[i] = new uint[4]; - subKeys[i][0] = key[4 * i + 0]; - subKeys[i][1] = key[4 * i + 1]; - subKeys[i][2] = key[4 * i + 2]; - subKeys[i][3] = key[4 * i + 3]; + DecryptNGBlock(data, key); } + } - buffer = DecryptNGRoundA(buffer, subKeys[0], GTA5Keys.PC_NG_DECRYPT_TABLES[0]); - buffer = DecryptNGRoundA(buffer, subKeys[1], GTA5Keys.PC_NG_DECRYPT_TABLES[1]); + public unsafe static void DecryptNGBlock(byte* data, uint[][] key) + { + DecryptNGRoundA(data, key[0], GTA5Keys.PC_NG_DECRYPT_TABLES[0]); + DecryptNGRoundA(data, key[1], GTA5Keys.PC_NG_DECRYPT_TABLES[1]); for (int k = 2; k <= 15; k++) - buffer = DecryptNGRoundB(buffer, subKeys[k], GTA5Keys.PC_NG_DECRYPT_TABLES[k]); - buffer = DecryptNGRoundA(buffer, subKeys[16], GTA5Keys.PC_NG_DECRYPT_TABLES[16]); - - return buffer; + DecryptNGRoundB(data, key[k], GTA5Keys.PC_NG_DECRYPT_TABLES[k]); + DecryptNGRoundA(data, key[16], GTA5Keys.PC_NG_DECRYPT_TABLES[16]); } + public unsafe static void DecryptNGRoundA(byte[] data, uint[] key, uint[][] table) + { + fixed(byte* bptr = data) + { + DecryptNGRoundA(bptr, key, table); + } + } + + public unsafe static void DecryptNGRoundB(byte[] data, uint[] key, uint[][] table) + { + fixed (byte* bptr = data) + { + DecryptNGRoundB(bptr, key, table); + } + } // round 1,2,16 - public static byte[] DecryptNGRoundA(byte[] data, uint[] key, uint[][] table) + public unsafe static void DecryptNGRoundA(byte* data, uint[] key, uint[][] table) { var x1 = table[0][data[0]] ^ @@ -184,18 +193,14 @@ namespace CodeWalker.GameFiles table[15][data[15]] ^ key[3]; - var result = new byte[16]; - Array.Copy(BitConverter.GetBytes(x1), 0, result, 0, 4); - Array.Copy(BitConverter.GetBytes(x2), 0, result, 4, 4); - Array.Copy(BitConverter.GetBytes(x3), 0, result, 8, 4); - Array.Copy(BitConverter.GetBytes(x4), 0, result, 12, 4); - return result; + *(uint*)data = x1; + *(uint*)(data + 4) = x2; + *(uint*)(data + 8) = x3; + *(uint*)(data + 12) = x4; } - - // round 3-15 - public static byte[] DecryptNGRoundB(byte[] data, uint[] key, uint[][] table) + public unsafe static void DecryptNGRoundB(byte* data, uint[] key, uint[][] table) { var x1 = table[0][data[0]] ^ @@ -222,31 +227,10 @@ namespace CodeWalker.GameFiles table[12][data[12]] ^ key[3]; - //var result = new byte[16]; - //Array.Copy(BitConverter.GetBytes(x1), 0, result, 0, 4); - //Array.Copy(BitConverter.GetBytes(x2), 0, result, 4, 4); - //Array.Copy(BitConverter.GetBytes(x3), 0, result, 8, 4); - //Array.Copy(BitConverter.GetBytes(x4), 0, result, 12, 4); - //return result; - - var result = new byte[16]; - result[0] = (byte)((x1 >> 0) & 0xFF); - result[1] = (byte)((x1 >> 8) & 0xFF); - result[2] = (byte)((x1 >> 16) & 0xFF); - result[3] = (byte)((x1 >> 24) & 0xFF); - result[4] = (byte)((x2 >> 0) & 0xFF); - result[5] = (byte)((x2 >> 8) & 0xFF); - result[6] = (byte)((x2 >> 16) & 0xFF); - result[7] = (byte)((x2 >> 24) & 0xFF); - result[8] = (byte)((x3 >> 0) & 0xFF); - result[9] = (byte)((x3 >> 8) & 0xFF); - result[10] = (byte)((x3 >> 16) & 0xFF); - result[11] = (byte)((x3 >> 24) & 0xFF); - result[12] = (byte)((x4 >> 0) & 0xFF); - result[13] = (byte)((x4 >> 8) & 0xFF); - result[14] = (byte)((x4 >> 16) & 0xFF); - result[15] = (byte)((x4 >> 24) & 0xFF); - return result; + *(uint*)data = x1; + *(uint*)(data + 4) = x2; + *(uint*)(data + 8) = x3; + *(uint*)(data + 12) = x4; } @@ -267,11 +251,11 @@ namespace CodeWalker.GameFiles public static byte[] EncryptNG(byte[] data, string name, uint length) { - byte[] key = GetNGKey(name, length); + var key = GetNGKey(name, length); return EncryptNG(data, key); } - public static byte[] EncryptNG(byte[] data, byte[] key) + public static byte[] EncryptNG(byte[] data, uint[][] key) { if ((GTA5Keys.PC_NG_ENCRYPT_TABLES == null) || (GTA5Keys.PC_NG_ENCRYPT_LUTs == null)) { @@ -280,14 +264,11 @@ namespace CodeWalker.GameFiles var encryptedData = new byte[data.Length]; - var keyuints = new uint[key.Length / 4]; - Buffer.BlockCopy(key, 0, keyuints, 0, key.Length); - for (int blockIndex = 0; blockIndex < data.Length / 16; blockIndex++) { byte[] decryptedBlock = new byte[16]; Array.Copy(data, 16 * blockIndex, decryptedBlock, 0, 16); - byte[] encryptedBlock = EncryptBlock(decryptedBlock, keyuints); + byte[] encryptedBlock = EncryptBlock(decryptedBlock, key); Array.Copy(encryptedBlock, 0, encryptedData, 16 * blockIndex, 16); } @@ -300,26 +281,15 @@ namespace CodeWalker.GameFiles return encryptedData; } - public static byte[] EncryptBlock(byte[] data, uint[] key) + public static byte[] EncryptBlock(byte[] data, uint[][] key) { var buffer = data; - // prepare key... - var subKeys = new uint[17][]; - for (int i = 0; i < 17; i++) - { - subKeys[i] = new uint[4]; - subKeys[i][0] = key[4 * i + 0]; - subKeys[i][1] = key[4 * i + 1]; - subKeys[i][2] = key[4 * i + 2]; - subKeys[i][3] = key[4 * i + 3]; - } - - buffer = EncryptRoundA(buffer, subKeys[16], GTA5Keys.PC_NG_ENCRYPT_TABLES[16]); + buffer = EncryptRoundA(buffer, key[16], GTA5Keys.PC_NG_ENCRYPT_TABLES[16]); for (int k = 15; k >= 2; k--) - buffer = EncryptRoundB_LUT(buffer, subKeys[k], GTA5Keys.PC_NG_ENCRYPT_LUTs[k]); - buffer = EncryptRoundA(buffer, subKeys[1], GTA5Keys.PC_NG_ENCRYPT_TABLES[1]); - buffer = EncryptRoundA(buffer, subKeys[0], GTA5Keys.PC_NG_ENCRYPT_TABLES[0]); + buffer = EncryptRoundB_LUT(buffer, key[k], GTA5Keys.PC_NG_ENCRYPT_LUTs[k]); + buffer = EncryptRoundA(buffer, key[1], GTA5Keys.PC_NG_ENCRYPT_TABLES[1]); + buffer = EncryptRoundA(buffer, key[0], GTA5Keys.PC_NG_ENCRYPT_TABLES[0]); return buffer; } @@ -425,5 +395,136 @@ namespace CodeWalker.GameFiles + } + + public class DecryptNGStream : Stream + { + public string Name { get; set; } + + private long _length = 0; + + private Stream _baseStream; + + public Stream BaseStream { get => _baseStream; private set => _baseStream = value; } + + public uint[][] Key { get; set; } + private long offset = 0; + + public override long Length + { + get + { + if (_length != 0) return _length; + return _baseStream.Length - offset; + } + } + + private DecryptNGStream(string name, uint length) + { + _length = length; + Name = name; + Key = GTACrypto.GetNGKey(name, length); + } + + public DecryptNGStream(byte[] data, string name, uint fileSize) : this(name, fileSize) + { + BaseStream = new MemoryStream(data); + } + + public DecryptNGStream(Stream data, string name, uint fileSize) : this(name, fileSize) + { + BaseStream = data; + } + + public DecryptNGStream(Stream data, string name, uint fileSize, int start, int length = 0): this(data, name, fileSize) + { + this.offset = start; + this._length = length; + } + + public override bool CanRead => _baseStream.CanRead; + + public override bool CanSeek => _baseStream.CanSeek; + + public override bool CanWrite => _baseStream.CanWrite; + + public override long Position + { + get + { + var position = _baseStream.Position - offset; + + position = position - position % 16; + return position + positionInBuffer; + } + set + { + positionInBuffer = 0; + _baseStream.Position = (value + offset); + ReadBlock(); + } + } + + public override void Flush() + { + return; + } + + public void ReadBlock() + { + _baseStream.Read(_buffer, 0, _buffer.Length); + } + + private byte[] _buffer = new byte[16]; + private byte positionInBuffer = 0; + public override int Read(byte[] buffer, int offset, int count) + { + if (positionInBuffer > 0) + { + var toCopy = (byte)Math.Min(16 - positionInBuffer, count); + Array.Copy(_buffer, positionInBuffer, buffer, offset, toCopy); + positionInBuffer += toCopy; + if (positionInBuffer >= 16) + { + positionInBuffer = 0; + } + offset += toCopy; + count -= toCopy; + } + var i = 0; + while (count >= 16) + { + _baseStream.Read(buffer, offset + i, 16); + i += 16; + } + if (count > 0) + { + _baseStream.Read(_buffer, 0, 16); + GTACrypto.DecryptNG(_buffer, Key, 0, 16); + Array.Copy(_buffer, positionInBuffer, buffer, offset + i, count - i); + positionInBuffer += (byte)(count - i); + } + var data = _baseStream.Read(buffer, offset, count); + + GTACrypto.DecryptNG(buffer, Key, offset, count); + + return data; + } + + public override long Seek(long offset, SeekOrigin origin) + { + throw new NotImplementedException(); + } + + public override void SetLength(long value) + { + throw new NotSupportedException(); + } + + public override void Write(byte[] buffer, int offset, int count) + { + + throw new NotImplementedException(); + } } } diff --git a/CodeWalker.Core/GameFiles/Utils/GTAKeys.cs b/CodeWalker.Core/GameFiles/Utils/GTAKeys.cs index 7a3c1b9..5a6ad7c 100644 --- a/CodeWalker.Core/GameFiles/Utils/GTAKeys.cs +++ b/CodeWalker.Core/GameFiles/Utils/GTAKeys.cs @@ -47,7 +47,7 @@ namespace CodeWalker.GameFiles public static byte[] PC_AES_KEY; // 32 // ng decryption/encryption expanded keys... - public static byte[][] PC_NG_KEYS; // 101, 272 + public static uint[][][] PC_NG_KEYS; // 101, 272 // ng decryption tables... public static uint[][][] PC_NG_DECRYPT_TABLES; // 17, 16, 256 @@ -73,15 +73,26 @@ namespace CodeWalker.GameFiles var exeStr = new MemoryStream(exeData); updateStatus("Searching for AES key..."); - PC_AES_KEY = HashSearch.SearchHash(exeStr, GTA5KeyHashes.PC_AES_KEY_HASH, 0x20); + PC_AES_KEY = HashSearch.SearchHash(exeStr, GTA5KeyHashes.PC_AES_KEY_HASH, 32); //updateStatus("aes key found"); updateStatus("Searching for NG keys..."); - PC_NG_KEYS = HashSearch.SearchHashes(exeStr, GTA5KeyHashes.PC_NG_KEY_HASHES, 0x110); + //PC_NG_KEYS = HashSearch.SearchHashes(exeStr, GTA5KeyHashes.PC_NG_KEY_HASHES, 272); + var tabs = HashSearch.SearchHashes(exeStr, GTA5KeyHashes.PC_NG_KEY_HASHES, 272); + PC_NG_KEYS = new uint[tabs.Length][][]; + for (int i = 0; i < tabs.Length; i++) + { + PC_NG_KEYS[i] = new uint[tabs[i].Length / 4 / 4][]; + for (int j = 0; j < tabs[i].Length / 4; j++) + { + Buffer.BlockCopy(tabs[i], 0, PC_NG_KEYS[i][j], 0, 16); + } + //Buffer.BlockCopy(tabs[i], 0, PC_NG_DECRYPT_TABLES[i][j], 0, tabs[i].Length); + } //updateStatus("ng keys found"); updateStatus("Searching for NG decrypt tables..."); - var tabs = HashSearch.SearchHashes(exeStr, GTA5KeyHashes.PC_NG_DECRYPT_TABLE_HASHES, 0x400); + tabs = HashSearch.SearchHashes(exeStr, GTA5KeyHashes.PC_NG_DECRYPT_TABLE_HASHES, 1024); //updateStatus("ng decrypt tables found"); updateStatus("Searching for NG hash lookup tables..."); @@ -277,14 +288,14 @@ namespace CodeWalker.GameFiles db[i] = (byte)((m[i] - rb1[i] - rb2[i] - rb3[i] - rb4[i]) & 0xFF); } - db = GTACrypto.DecryptAESData(db, PC_AES_KEY); + GTACrypto.DecryptAESData(db, PC_AES_KEY); byte[] b = null; using (MemoryStream dms = new MemoryStream(db)) { using (DeflateStream ds = new DeflateStream(dms, CompressionMode.Decompress)) { - using (MemoryStream outstr = new MemoryStream()) + using (MemoryStream outstr = RpfFile.recyclableMemoryStreamManager.GetStream()) { ds.CopyTo(outstr); b = outstr.GetBuffer(); @@ -848,11 +859,13 @@ namespace CodeWalker.GameFiles random.NextBytes(buf_encrypted); // decrypt - var buf_decrypted = GTACrypto.DecryptNGRoundA( + GTACrypto.DecryptNGRoundA( buf_encrypted, noKey, tables); + var buf_decrypted = buf_encrypted; + // make row var row = new RandomGaussRow(); //row.A[0 + buf_decrypted[inByte0]] = true; @@ -1148,33 +1161,35 @@ namespace CodeWalker.GameFiles public class CryptoIO { - public static byte[][] ReadNgKeys(string fileName) + public static uint[][][] ReadNgKeys(string fileName) { - byte[][] result; + using var fs = new FileStream(fileName, FileMode.Open); + using var rd = new DataReader(fs); - var fs = new FileStream(fileName, FileMode.Open); - var rd = new DataReader(fs); - - result = new byte[101][]; - for (int i = 0; i < 101; i++) - { - result[i] = rd.ReadBytes(272); - } - - fs.Close(); - - return result; + return ReadNgKeys(rd); } - public static byte[][] ReadNgKeys(byte[] data) + public static uint[][][] ReadNgKeys(byte[] data) { - byte[][] result; + using var rd = new DataReader(new MemoryStream(data)); - var rd = new DataReader(new MemoryStream(data)); + return ReadNgKeys(rd); + } - result = new byte[101][]; + public static uint[][][] ReadNgKeys(DataReader rd) + { + var result = new uint[101][][]; for (int i = 0; i < 101; i++) { - result[i] = rd.ReadBytes(272); + result[i] = new uint[68 / 4][]; + for (int j = 0; j < 68 / 4; j++) + { + result[i][j] = new uint[4]; + for (int k = 0; k < 4; k++) + { + result[i][j][k] = rd.ReadUInt32(); + } + + } } @@ -1182,16 +1197,23 @@ namespace CodeWalker.GameFiles } - public static void WriteNgKeys(string fileName, byte[][] keys) + public static void WriteNgKeys(string fileName, uint[][][] keys) { //var fs = new FileStream(fileName, FileMode.Create); //var wr = new DataWriter(fs); - var ms = new MemoryStream(); - var wr = new DataWriter(ms); + using var ms = new MemoryStream(); + using var wr = new DataWriter(ms); for (int i = 0; i < 101; i++) { - wr.Write(keys[i]); + for (int j = 0; j < keys[i].Length; j++) + { + for (int k = 0; j < keys[i][j].Length; k++) + { + wr.Write(keys[i][j][k]); + } + + } } //fs.Close(); @@ -1207,8 +1229,8 @@ namespace CodeWalker.GameFiles { uint[][][] result; - var fs = new FileStream(fileName, FileMode.Open); - var rd = new DataReader(fs); + using var fs = new FileStream(fileName, FileMode.Open); + using var rd = new DataReader(fs); // 17 rounds... result = new uint[17][][]; @@ -1235,7 +1257,7 @@ namespace CodeWalker.GameFiles { uint[][][] result; - var rd = new DataReader(new MemoryStream(data)); + using var rd = new DataReader(new MemoryStream(data)); // 17 rounds... result = new uint[17][][]; @@ -1263,8 +1285,8 @@ namespace CodeWalker.GameFiles { //var fs = new FileStream(fileName, FileMode.Create); //var wr = new DataWriter(fs); - var ms = new MemoryStream(); - var wr = new DataWriter(ms); + using var ms = new MemoryStream(); + using var wr = new DataWriter(ms); // 17 rounds... for (int i = 0; i < 17; i++) @@ -1293,8 +1315,8 @@ namespace CodeWalker.GameFiles { GTA5NGLUT[][] result; - var fs = new FileStream(fileName, FileMode.Open); - var rd = new DataReader(fs); + using var fs = new FileStream(fileName, FileMode.Open); + using var rd = new DataReader(fs); // 17 rounds... result = new GTA5NGLUT[17][]; diff --git a/CodeWalker.Core/GameFiles/Utils/Jenk.cs b/CodeWalker.Core/GameFiles/Utils/Jenk.cs index 00164e8..dd85ad3 100644 --- a/CodeWalker.Core/GameFiles/Utils/Jenk.cs +++ b/CodeWalker.Core/GameFiles/Utils/Jenk.cs @@ -1,8 +1,11 @@ using System; +using System.Collections.Concurrent; using System.Collections.Generic; +using System.Diagnostics; using System.IO; using System.Linq; using System.Text; +using System.Threading; using System.Threading.Tasks; namespace CodeWalker.GameFiles @@ -55,6 +58,24 @@ namespace CodeWalker.GameFiles return h; } + public static uint GenHashLower(string text) + { + if (text == null) return 0; + uint h = 0; + for (int i = 0; i < text.Length; i++) + { + + h += (byte)char.ToLowerInvariant(text[i]); + h += (h << 10); + h ^= (h >> 6); + } + h += (h << 3); + h ^= (h >> 11); + h += (h << 15); + + return h; + } + public static uint GenHash(string text) { if (text == null) return 0; @@ -192,59 +213,96 @@ namespace CodeWalker.GameFiles + public static class DictionaryExtension + { + public static bool TryAdd(this Dictionary dict, TKey key, TValue value) + { + if (dict.ContainsKey(key)) + { + return false; + } + dict[key] = value; + return true; + } + } public static class JenkIndex { - public static Dictionary Index = new Dictionary(); - private static object syncRoot = new object(); + public static ConcurrentDictionary Index = new ConcurrentDictionary(Environment.ProcessorCount, 1500000); public static void Clear() { - lock (syncRoot) - { - Index.Clear(); - } + Index.Clear(); } public static bool Ensure(string str) { uint hash = JenkHash.GenHash(str); if (hash == 0) return true; - lock (syncRoot) + if (Index.ContainsKey(hash)) { - if (!Index.ContainsKey(hash)) - { - Index.Add(hash, str); - return false; - } + return true; + } + lock (Index) + { + Index[hash] = str; + return false; + } + } + + public static bool EnsureLower(string str) + { + uint hash = JenkHash.GenHashLower(str); + if (hash == 0) return true; + if (Index.ContainsKey(hash)) + { + return true; + } + + Index.TryAdd(hash, str); + return false; + } + + public static void AddRange(params string[] strings) + { + foreach(var s in strings) + { + uint hash = JenkHash.GenHash(s); + if (hash == 0) continue; + + Index[hash] = s; + } + } + + public static void AddRangeLower(params string[] strings) + { + foreach (var s in strings) + { + uint hash = JenkHash.GenHashLower(s); + if (hash == 0) continue; + + Index[hash] = s; } - return true; } public static string GetString(uint hash) { string res; - lock (syncRoot) + if (!Index.TryGetValue(hash, out res)) { - if (!Index.TryGetValue(hash, out res)) - { - res = hash.ToString(); - } + res = hash.ToString(); } return res; } public static string TryGetString(uint hash) { string res; - lock (syncRoot) + if (!Index.TryGetValue(hash, out res)) { - if (!Index.TryGetValue(hash, out res)) - { - res = string.Empty; - } + res = string.Empty; } return res; } @@ -252,10 +310,7 @@ namespace CodeWalker.GameFiles public static string[] GetAllStrings() { string[] res = null; - lock (syncRoot) - { - res = Index.Values.ToArray(); - } + res = Index.Values.ToArray(); return res; } diff --git a/CodeWalker.Core/Tests/GameFileCache.cs b/CodeWalker.Core/Tests/GameFileCache.cs new file mode 100644 index 0000000..6443693 --- /dev/null +++ b/CodeWalker.Core/Tests/GameFileCache.cs @@ -0,0 +1,2496 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.IO; +using System.Linq; +using System.Text; +using System.Xml; + +namespace CodeWalker.GameFiles +{ + public partial class GameFileCache + { + [Conditional("TEST_ALL"), Conditional("TEST_CACHES")] + public void TestCacheFiles() + { + foreach (RpfFile file in AllRpfs) + { + foreach (RpfEntry entry in file.AllEntries) + { + try + { + if (entry.NameLower.EndsWith("cache_y.dat"))// || entry.NameLower.EndsWith("cache_y_bank.dat")) + { + UpdateStatus?.Invoke(string.Format(entry.Path)); + var cdfile = RpfMan.GetFile(entry); + if (cdfile != null) + { + var odata = entry.File.ExtractFile(entry as RpfFileEntry); + //var ndata = cdfile.Save(); + + var xml = CacheDatXml.GetXml(cdfile); + var cdf2 = XmlCacheDat.GetCacheDat(xml); + var ndata = cdf2.Save(); + + if (ndata.Length == odata.Length) + { + for (int i = 0; i < ndata.Length; i++) + { + if (ndata[i] != odata[i]) + { break; } + } + } + else + { } + } + else + { } + } + } + catch (Exception ex) + { + UpdateStatus?.Invoke("Error! " + ex.ToString()); + } + } + } + } + + [Conditional("TEST_ALL"), Conditional("TEST_HEIGHTMAPS")] + public void TestHeightmaps() + { + var errorfiles = new List(); + foreach (RpfFile file in AllRpfs) + { + foreach (RpfEntry entry in file.AllEntries) + { + if (entry.NameLower.EndsWith(".dat") && entry.NameLower.StartsWith("heightmap")) + { + UpdateStatus?.Invoke(string.Format(entry.Path)); + HeightmapFile hmf = null; + hmf = RpfMan.GetFile(entry); + var d1 = hmf.RawFileData; + //var d2 = hmf.Save(); + var xml = HmapXml.GetXml(hmf); + var hmf2 = XmlHmap.GetHeightmap(xml); + var d2 = hmf2.Save(); + + if (d1.Length == d2.Length) + { + for (int i = 0; i < d1.Length; i++) + { + if (d1[i] != d2[i]) + { } + } + } + else + { } + + } + } + } + if (errorfiles.Count > 0) + { } + } + + [Conditional("TEST_ALL"), Conditional("TEST_WATERMAPS")] + public void TestWatermaps() + { + var errorfiles = new List(); + foreach (RpfFile file in AllRpfs) + { + foreach (RpfEntry entry in file.AllEntries) + { + if (entry.NameLower.EndsWith(".dat") && entry.NameLower.StartsWith("waterheight")) + { + UpdateStatus?.Invoke(string.Format(entry.Path)); + WatermapFile wmf = null; + wmf = RpfMan.GetFile(entry); + //var d1 = wmf.RawFileData; + //var d2 = wmf.Save(); + //var xml = WatermapXml.GetXml(wmf); + //var wmf2 = XmlWatermap.GetWatermap(xml); + //var d2 = wmf2.Save(); + + //if (d1.Length == d2.Length) + //{ + // for (int i = 0; i < d1.Length; i++) + // { + // if (d1[i] != d2[i]) + // { } + // } + //} + //else + //{ } + + } + } + } + if (errorfiles.Count > 0) + { } + } + + [Conditional("TEST_ALL"), Conditional("TEST_RELS")] + public void TestAudioRels() + { + UpdateStatus?.Invoke("Testing Audio REL files"); + + + bool savetest = true; + bool xmltest = true; + bool asmtest = true; + + foreach (RpfFile rpf in RpfMan.AllRpfs) + { + foreach (RpfEntry entry in rpf.AllEntries) + { + var rfe = entry as RpfFileEntry; + var rbfe = rfe as RpfBinaryFileEntry; + if ((rfe == null) || (rbfe == null)) continue; + + if (rfe.Name.EndsWith(".rel", StringComparison.OrdinalIgnoreCase)) + { + UpdateStatus?.Invoke(string.Format(entry.Path)); + + RelFile rel = new RelFile(rfe); + RpfMan.LoadFile(rel, rfe); + + + + byte[] data; + + if (savetest) + { + + data = rel.Save(); + if (data != null) + { + if (data.Length != rbfe.FileUncompressedSize) + { } + else if (data.Length != rel.RawFileData.Length) + { } + else + { + for (int i = 0; i < data.Length; i++) //raw file test + if (data[i] != rel.RawFileData[i]) + { break; } + } + + + RelFile rel2 = new RelFile(); + rel2.Load(data, rfe);//roundtrip test + + if (rel2.IndexCount != rel.IndexCount) + { } + if (rel2.RelDatas == null) + { } + + } + else + { } + + } + + if (xmltest) + { + var relxml = RelXml.GetXml(rel); //XML test... + var rel3 = XmlRel.GetRel(relxml); + if (rel3 != null) + { + if (rel3.RelDatasSorted?.Length != rel.RelDatasSorted?.Length) + { } //check nothing went missing... + + + data = rel3.Save(); //full roundtrip! + if (data != null) + { + var rel4 = new RelFile(); + rel4.Load(data, rfe); //insanity check + + if (data.Length != rbfe.FileUncompressedSize) + { } + else if (data.Length != rel.RawFileData.Length) + { } + else + { + for (int i = 0; i < data.Length; i++) //raw file test + if (data[i] != rel.RawFileData[i]) + { break; } + } + + var relxml2 = RelXml.GetXml(rel4); //full insanity + if (relxml2.Length != relxml.Length) + { } + if (relxml2 != relxml) + { } + + } + else + { } + } + else + { } + + } + + if (asmtest) + { + if (rel.RelType == RelDatFileType.Dat10ModularSynth) + { + foreach (var d in rel.RelDatasSorted) + { + if (d is Dat10Synth synth) + { + synth.TestDisassembly(); + } + } + } + } + + } + + } + + } + + + + var hashmap = RelFile.HashesMap; + if (hashmap.Count > 0) + { } + + + var sb2 = new StringBuilder(); + foreach (var kvp in hashmap) + { + string itemtype = kvp.Key.ItemType.ToString(); + if (kvp.Key.FileType == RelDatFileType.Dat151) + { + itemtype = ((Dat151RelType)kvp.Key.ItemType).ToString(); + } + else if (kvp.Key.FileType == RelDatFileType.Dat54DataEntries) + { + itemtype = ((Dat54SoundType)kvp.Key.ItemType).ToString(); + } + else + { + itemtype = kvp.Key.FileType.ToString() + ".Unk" + kvp.Key.ItemType.ToString(); + } + if (kvp.Key.IsContainer) + { + itemtype += " (container)"; + } + + //if (kvp.Key.FileType == RelDatFileType.Dat151) + { + sb2.Append(itemtype); + sb2.Append(" "); + foreach (var val in kvp.Value) + { + sb2.Append(val.ToString()); + sb2.Append(" "); + } + + sb2.AppendLine(); + } + + } + + var hashmapstr = sb2.ToString(); + if (!string.IsNullOrEmpty(hashmapstr)) + { } + + } + + [Conditional("TEST_ALL"), Conditional("TEST_YMTS")] + public void TestAudioYmts() + { + + StringBuilder sb = new StringBuilder(); + + Dictionary allids = new Dictionary(); + + foreach (RpfFile file in AllRpfs) + { + foreach (RpfEntry entry in file.AllEntries) + { + try + { + var n = entry.NameLower; + if (n.EndsWith(".ymt")) + { + UpdateStatus?.Invoke(string.Format(entry.Path)); + //YmtFile ymtfile = RpfMan.GetFile(entry); + //if ((ymtfile != null)) + //{ + //} + + var sn = entry.GetShortName(); + uint un; + if (uint.TryParse(sn, out un)) + { + if (allids.ContainsKey(un)) + { + allids[un] = allids[un] + 1; + } + else + { + allids[un] = 1; + //ushort s1 = (ushort)(un & 0x1FFFu); + //ushort s2 = (ushort)((un >> 13) & 0x1FFFu); + uint s1 = un % 80000; + uint s2 = (un / 80000); + float f1 = s1 / 5000.0f; + float f2 = s2 / 5000.0f; + sb.AppendFormat("{0}, {1}, 0, {2}\r\n", f1, f2, sn); + } + } + + + } + } + catch (Exception ex) + { + UpdateStatus?.Invoke("Error! " + ex.ToString()); + } + } + } + + var skeys = allids.Keys.ToList(); + skeys.Sort(); + + var hkeys = new List(); + foreach (var skey in skeys) + { + FlagsUint fu = new FlagsUint(skey); + //hkeys.Add(skey.ToString("X")); + hkeys.Add(fu.Bin); + } + + string nstr = string.Join("\r\n", hkeys.ToArray()); + string pstr = sb.ToString(); + if (pstr.Length > 0) + { } + + + } + + [Conditional("TEST_ALL"), Conditional("TEST_AWCS")] + public void TestAudioAwcs() + { + + StringBuilder sb = new StringBuilder(); + + Dictionary allids = new Dictionary(); + + foreach (RpfFile file in AllRpfs) + { + foreach (RpfEntry entry in file.AllEntries) + { + //try + //{ + var n = entry.NameLower; + if (n.EndsWith(".awc")) + { + UpdateStatus?.Invoke(string.Format(entry.Path)); + var awcfile = RpfMan.GetFile(entry); + if (awcfile != null) + { } + } + //} + //catch (Exception ex) + //{ + // UpdateStatus?.Invoke("Error! " + ex.ToString()); + //} + } + } + } + + [Conditional("TEST_ALL"), Conditional("TEST_METAS")] + public void TestMetas() + { + //find all RSC meta files and generate the MetaTypes init code + + MetaTypes.Clear(); + foreach (RpfFile file in AllRpfs) + { + foreach (RpfEntry entry in file.AllEntries) + { + //try + { + var n = entry.NameLower; + //if (n.EndsWith(".ymap")) + //{ + // UpdateStatus?.Invoke(string.Format(entry.Path)); + // YmapFile ymapfile = RpfMan.GetFile(entry); + // if ((ymapfile != null) && (ymapfile.Meta != null)) + // { + // MetaTypes.EnsureMetaTypes(ymapfile.Meta); + // } + //} + //else if (n.EndsWith(".ytyp")) + //{ + // UpdateStatus?.Invoke(string.Format(entry.Path)); + // YtypFile ytypfile = RpfMan.GetFile(entry); + // if ((ytypfile != null) && (ytypfile.Meta != null)) + // { + // MetaTypes.EnsureMetaTypes(ytypfile.Meta); + // } + //} + //else if (n.EndsWith(".ymt")) + //{ + // UpdateStatus?.Invoke(string.Format(entry.Path)); + // YmtFile ymtfile = RpfMan.GetFile(entry); + // if ((ymtfile != null) && (ymtfile.Meta != null)) + // { + // MetaTypes.EnsureMetaTypes(ymtfile.Meta); + // } + //} + + + if (n.EndsWith(".ymap") || n.EndsWith(".ytyp") || n.EndsWith(".ymt")) + { + var rfe = entry as RpfResourceFileEntry; + if (rfe == null) continue; + + UpdateStatus?.Invoke(string.Format(entry.Path)); + + var data = rfe.File.ExtractFile(rfe); + using var rd = new ResourceDataReader(rfe, data); + var meta = rd.ReadBlock(); + var xml = MetaXml.GetXml(meta); + var xdoc = new XmlDocument(); + xdoc.LoadXml(xml); + var meta2 = XmlMeta.GetMeta(xdoc); + var xml2 = MetaXml.GetXml(meta2); + + if (xml.Length != xml2.Length) + { } + if ((xml != xml2) && (!n.EndsWith("srl.ymt") && !n.StartsWith("des_"))) + { } + + } + + + } + //catch (Exception ex) + //{ + // UpdateStatus?.Invoke("Error! " + ex.ToString()); + //} + } + } + + string str = MetaTypes.GetTypesInitString(); + + } + + [Conditional("TEST_ALL"), Conditional("TEST_PSOS")] + public void TestPsos() + { + //find all PSO meta files and generate the PsoTypes init code + PsoTypes.Clear(); + + var exceptions = new List(); + var allpsos = new List(); + var diffpsos = new List(); + + foreach (RpfFile file in AllRpfs) + { + foreach (RpfEntry entry in file.AllEntries) + { +#if !DEBUG + try +#endif + { + var n = entry.NameLower; + if (!(n.EndsWith(".pso") || + n.EndsWith(".ymt") || + n.EndsWith(".ymf") || + n.EndsWith(".ymap") || + n.EndsWith(".ytyp") || + n.EndsWith(".cut"))) + continue; //PSO files seem to only have these extensions + + var fentry = entry as RpfFileEntry; + var data = entry.File.ExtractFile(fentry); + if (data != null) + { + using (MemoryStream ms = new MemoryStream(data)) + { + if (PsoFile.IsPSO(ms)) + { + UpdateStatus?.Invoke(string.Format(entry.Path)); + + var pso = new PsoFile(); + pso.Load(ms); + + allpsos.Add(fentry.Path); + + PsoTypes.EnsurePsoTypes(pso); + + var xml = PsoXml.GetXml(pso); + if (!string.IsNullOrEmpty(xml)) + { } + + var xdoc = new XmlDocument(); + xdoc.LoadXml(xml); + var pso2 = XmlPso.GetPso(xdoc); + var pso2b = pso2.Save(); + + var pso3 = new PsoFile(); + pso3.Load(pso2b); + var xml3 = PsoXml.GetXml(pso3); + + if (xml.Length != xml3.Length) + { } + if (xml != xml3) + { + diffpsos.Add(fentry.Path); + } + + + //if (entry.NameLower == "clip_sets.ymt") + //{ } + //if (entry.NameLower == "vfxinteriorinfo.ymt") + //{ } + //if (entry.NameLower == "vfxvehicleinfo.ymt") + //{ } + //if (entry.NameLower == "vfxpedinfo.ymt") + //{ } + //if (entry.NameLower == "vfxregioninfo.ymt") + //{ } + //if (entry.NameLower == "vfxweaponinfo.ymt") + //{ } + //if (entry.NameLower == "physicstasks.ymt") + //{ } + + } + } + } + } +#if !DEBUG + catch (Exception ex) + { + UpdateStatus?.Invoke("Error! " + ex.ToString()); + exceptions.Add(ex); + } +#endif + } + } + + string allpsopaths = string.Join("\r\n", allpsos); + string diffpsopaths = string.Join("\r\n", diffpsos); + + string str = PsoTypes.GetTypesInitString(); + if (!string.IsNullOrEmpty(str)) + { + } + } + + [Conditional("TEST_ALL"), Conditional("TEST_RBFS")] + public void TestRbfs() + { + var exceptions = new List(); + var allrbfs = new List(); + var diffrbfs = new List(); + + foreach (RpfFile file in AllRpfs) + { + foreach (RpfEntry entry in file.AllEntries) + { + var n = entry.NameLower; + if (!(n.EndsWith(".ymt") || + n.EndsWith(".ymf") || + n.EndsWith(".ymap") || + n.EndsWith(".ytyp") || + n.EndsWith(".cut"))) + continue; //PSO files seem to only have these extensions + + var fentry = entry as RpfFileEntry; + var data = entry.File.ExtractFile(fentry); + if (data != null) + { + using (MemoryStream ms = new MemoryStream(data)) + { + if (RbfFile.IsRBF(ms)) + { + UpdateStatus?.Invoke(string.Format(entry.Path)); + + var rbf = new RbfFile(); + rbf.Load(ms); + + allrbfs.Add(fentry.Path); + + var xml = RbfXml.GetXml(rbf); + if (!string.IsNullOrEmpty(xml)) + { } + + var xdoc = new XmlDocument(); + xdoc.LoadXml(xml); + var rbf2 = XmlRbf.GetRbf(xdoc); + var rbf2b = rbf2.Save(); + + var rbf3 = new RbfFile(); + rbf3.Load(rbf2b); + var xml3 = RbfXml.GetXml(rbf3); + + if (xml.Length != xml3.Length) + { } + if (xml != xml3) + { + diffrbfs.Add(fentry.Path); + } + + if (data.Length != rbf2b.Length) + { + //File.WriteAllBytes("C:\\GitHub\\CodeWalkerResearch\\RBF\\" + fentry.Name + ".dat0", data); + //File.WriteAllBytes("C:\\GitHub\\CodeWalkerResearch\\RBF\\" + fentry.Name + ".dat1", rbf2b); + } + else + { + for (int i = 0; i < data.Length; i++) + { + if (data[i] != rbf2b[i]) + { + diffrbfs.Add(fentry.Path); + break; + } + } + } + + } + } + } + + } + } + + string allrbfpaths = string.Join("\r\n", allrbfs); + string diffrbfpaths = string.Join("\r\n", diffrbfs); + + } + + [Conditional("TEST_ALL"), Conditional("TEST_CUTS")] + public void TestCuts() + { + + var exceptions = new List(); + + foreach (RpfFile file in AllRpfs) + { + foreach (RpfEntry entry in file.AllEntries) + { +#if !DEBUG + try +#endif + { + var rfe = entry as RpfFileEntry; + if (rfe == null) continue; + + if (rfe.NameLower.EndsWith(".cut")) + { + UpdateStatus?.Invoke(string.Format(entry.Path)); + + CutFile cut = new CutFile(rfe); + RpfMan.LoadFile(cut, rfe); + + //PsoTypes.EnsurePsoTypes(cut.Pso); + } + } +#if !DEBUG + catch (Exception ex) + { + UpdateStatus?.Invoke("Error! " + ex.ToString()); + exceptions.Add(ex); + } +#endif + } + } + + string str = PsoTypes.GetTypesInitString(); + if (!string.IsNullOrEmpty(str)) + { + } + } + + [Conditional("TEST_ALL"), Conditional("TEST_YLDS")] + public void TestYlds() + { + + var exceptions = new List(); + + foreach (RpfFile file in AllRpfs) + { + foreach (RpfEntry entry in file.AllEntries) + { +#if !DEBUG + try +#endif + { + var rfe = entry as RpfFileEntry; + if (rfe == null) continue; + + if (rfe.NameLower.EndsWith(".yld")) + { + UpdateStatus?.Invoke(string.Format(entry.Path)); + + YldFile yld = new YldFile(rfe); + RpfMan.LoadFile(yld, rfe); + + } + } +#if !DEBUG + catch (Exception ex) + { + UpdateStatus?.Invoke("Error! " + ex.ToString()); + exceptions.Add(ex); + } +#endif + } + } + + if (exceptions.Count > 0) + { } + } + + [Conditional("TEST_ALL"), Conditional("TEST_YEDS")] + public void TestYeds() + { + + var exceptions = new List(); + + foreach (RpfFile file in AllRpfs) + { + foreach (RpfEntry entry in file.AllEntries) + { +#if !DEBUG + try +#endif + { + var rfe = entry as RpfFileEntry; + if (rfe == null) continue; + + if (rfe.NameLower.EndsWith(".yed")) + { + UpdateStatus?.Invoke(string.Format(entry.Path)); + + YedFile yed = new YedFile(rfe); + RpfMan.LoadFile(yed, rfe); + + var xml = YedXml.GetXml(yed); + var yed2 = XmlYed.GetYed(xml); + var data2 = yed2.Save(); + var yed3 = new YedFile(); + RpfFile.LoadResourceFile(yed3, data2, 25);//full roundtrip + var xml2 = YedXml.GetXml(yed3); + if (xml != xml2) + { } + + } + } +#if !DEBUG + catch (Exception ex) + { + UpdateStatus?.Invoke("Error! " + ex.ToString()); + exceptions.Add(ex); + } +#endif + } + } + + if (exceptions.Count > 0) + { } + } + + [Conditional("TEST_ALL"), Conditional("TEST_YCDS")] + public void TestYcds() + { + bool savetest = false; + var errorfiles = new List(); + var errorentries = new List(); + foreach (RpfFile file in AllRpfs) + { + foreach (RpfEntry entry in file.AllEntries) + { + //try + //{ + if (entry.NameLower.EndsWith(".ycd")) + { + UpdateStatus?.Invoke(string.Format(entry.Path)); + YcdFile ycd1 = RpfMan.GetFile(entry); + if (ycd1 == null) + { + errorentries.Add(entry); + } + else if (ycd1?.LoadException != null) + { + errorfiles.Add(ycd1);//these ones have file corruption issues and won't load as resource... + } + else if (savetest) + { + if (ycd1.ClipDictionary == null) + { continue; } + + //var data1 = ycd1.Save(); + + var xml = YcdXml.GetXml(ycd1); + var ycdX = XmlYcd.GetYcd(xml); + var data = ycdX.Save(); + var ycd2 = new YcdFile(); + RpfFile.LoadResourceFile(ycd2, data, 46);//full roundtrip + + { + if (ycd2 == null) + { continue; } + if (ycd2.ClipDictionary == null) + { continue; } + + var c1 = ycd1.ClipDictionary.Clips?.data_items; + var c2 = ycd2.ClipDictionary.Clips?.data_items; + if ((c1 == null) || (c2 == null)) + { continue; } + if (c1.Length != c2.Length) + { continue; } + + var a1 = ycd1.ClipDictionary.Animations?.Animations?.data_items; + var a2 = ycd2.ClipDictionary.Animations?.Animations?.data_items; + if ((a1 == null) || (a2 == null)) + { continue; } + if (a1.Length != a2.Length) + { continue; } + + var m1 = ycd1.AnimMap; + var m2 = ycd2.AnimMap; + if ((m1 == null) || (m2 == null)) + { continue; } + if (m1.Count != m2.Count) + { continue; } + foreach (var kvp1 in m1) + { + var an1 = kvp1.Value; + var an2 = an1; + if (!m2.TryGetValue(kvp1.Key, out an2)) + { continue; } + + var sa1 = an1?.Animation?.Sequences?.data_items; + var sa2 = an2?.Animation?.Sequences?.data_items; + if ((sa1 == null) || (sa2 == null)) + { continue; } + if (sa1.Length != sa2.Length) + { continue; } + for (int s = 0; s < sa1.Length; s++) + { + var s1 = sa1[s]; + var s2 = sa2[s]; + if ((s1?.Sequences == null) || (s2?.Sequences == null)) + { continue; } + + if (s1.NumFrames != s2.NumFrames) + { } + if (s1.ChunkSize != s2.ChunkSize) + { } + if (s1.FrameOffset != s2.FrameOffset) + { } + if (s1.DataLength != s2.DataLength) + { } + else + { + //for (int b = 0; b < s1.DataLength; b++) + //{ + // var b1 = s1.Data[b]; + // var b2 = s2.Data[b]; + // if (b1 != b2) + // { } + //} + } + + for (int ss = 0; ss < s1.Sequences.Length; ss++) + { + var ss1 = s1.Sequences[ss]; + var ss2 = s2.Sequences[ss]; + if ((ss1?.Channels == null) || (ss2?.Channels == null)) + { continue; } + if (ss1.Channels.Length != ss2.Channels.Length) + { continue; } + + + for (int c = 0; c < ss1.Channels.Length; c++) + { + var sc1 = ss1.Channels[c]; + var sc2 = ss2.Channels[c]; + if ((sc1 == null) || (sc2 == null)) + { continue; } + if (sc1.Type == AnimChannelType.LinearFloat) + { continue; } + if (sc1.Type != sc2.Type) + { continue; } + if (sc1.Index != sc2.Index) + { continue; } + if (sc1.Type == AnimChannelType.StaticQuaternion) + { + var acsq1 = sc1 as AnimChannelStaticQuaternion; + var acsq2 = sc2 as AnimChannelStaticQuaternion; + var vdiff = acsq1.Value - acsq2.Value; + var len = vdiff.Length(); + var v1len = Math.Max(acsq1.Value.Length(), 1); + if (len > 1e-2f * v1len) + { continue; } + } + else if (sc1.Type == AnimChannelType.StaticVector3) + { + var acsv1 = sc1 as AnimChannelStaticVector3; + var acsv2 = sc2 as AnimChannelStaticVector3; + var vdiff = acsv1.Value - acsv2.Value; + var len = vdiff.Length(); + var v1len = Math.Max(acsv1.Value.Length(), 1); + if (len > 1e-2f * v1len) + { continue; } + } + else if (sc1.Type == AnimChannelType.StaticFloat) + { + var acsf1 = sc1 as AnimChannelStaticFloat; + var acsf2 = sc2 as AnimChannelStaticFloat; + var vdiff = Math.Abs(acsf1.Value - acsf2.Value); + var v1len = Math.Max(Math.Abs(acsf1.Value), 1); + if (vdiff > 1e-2f * v1len) + { continue; } + } + else if (sc1.Type == AnimChannelType.RawFloat) + { + var acrf1 = sc1 as AnimChannelRawFloat; + var acrf2 = sc2 as AnimChannelRawFloat; + for (int v = 0; v < acrf1.Values.Length; v++) + { + var v1 = acrf1.Values[v]; + var v2 = acrf2.Values[v]; + var vdiff = Math.Abs(v1 - v2); + var v1len = Math.Max(Math.Abs(v1), 1); + if (vdiff > 1e-2f * v1len) + { break; } + } + } + else if (sc1.Type == AnimChannelType.QuantizeFloat) + { + var acqf1 = sc1 as AnimChannelQuantizeFloat; + var acqf2 = sc2 as AnimChannelQuantizeFloat; + if (acqf1.ValueBits != acqf2.ValueBits) + { continue; } + if (Math.Abs(acqf1.Offset - acqf2.Offset) > (0.001f * Math.Abs(acqf1.Offset))) + { continue; } + if (Math.Abs(acqf1.Quantum - acqf2.Quantum) > 0.00001f) + { continue; } + for (int v = 0; v < acqf1.Values.Length; v++) + { + var v1 = acqf1.Values[v]; + var v2 = acqf2.Values[v]; + var vdiff = Math.Abs(v1 - v2); + var v1len = Math.Max(Math.Abs(v1), 1); + if (vdiff > 1e-2f * v1len) + { break; } + } + } + else if (sc1.Type == AnimChannelType.IndirectQuantizeFloat) + { + var aciqf1 = sc1 as AnimChannelIndirectQuantizeFloat; + var aciqf2 = sc2 as AnimChannelIndirectQuantizeFloat; + if (aciqf1.FrameBits != aciqf2.FrameBits) + { continue; } + if (aciqf1.ValueBits != aciqf2.ValueBits) + { continue; } + if (Math.Abs(aciqf1.Offset - aciqf2.Offset) > (0.001f * Math.Abs(aciqf1.Offset))) + { continue; } + if (Math.Abs(aciqf1.Quantum - aciqf2.Quantum) > 0.00001f) + { continue; } + for (int f = 0; f < aciqf1.Frames.Length; f++) + { + if (aciqf1.Frames[f] != aciqf2.Frames[f]) + { break; } + } + for (int v = 0; v < aciqf1.Values.Length; v++) + { + var v1 = aciqf1.Values[v]; + var v2 = aciqf2.Values[v]; + var vdiff = Math.Abs(v1 - v2); + var v1len = Math.Max(Math.Abs(v1), 1); + if (vdiff > 1e-2f * v1len) + { break; } + } + } + else if ((sc1.Type == AnimChannelType.CachedQuaternion1) || (sc1.Type == AnimChannelType.CachedQuaternion2)) + { + var acrf1 = sc1 as AnimChannelCachedQuaternion; + var acrf2 = sc2 as AnimChannelCachedQuaternion; + if (acrf1.QuatIndex != acrf2.QuatIndex) + { continue; } + } + + + + + } + + + //for (int f = 0; f < s1.NumFrames; f++) + //{ + // var v1 = ss1.EvaluateVector(f); + // var v2 = ss2.EvaluateVector(f); + // var vdiff = v1 - v2; + // var len = vdiff.Length(); + // var v1len = Math.Max(v1.Length(), 1); + // if (len > 1e-2f*v1len) + // { } + //} + } + + + } + + + } + + + } + + } + } + //if (entry.NameLower.EndsWith(".awc")) //awcs can also contain clip dicts.. + //{ + // UpdateStatus?.Invoke(string.Format(entry.Path)); + // AwcFile awcfile = RpfMan.GetFile(entry); + // if ((awcfile != null)) + // { } + //} + //} + //catch (Exception ex) + //{ + // UpdateStatus?.Invoke("Error! " + ex.ToString()); + //} + } + } + + if (errorfiles.Count > 0) + { } + + } + + [Conditional("TEST_ALL"), Conditional("TEST_YTDS")] + public void TestYtds() + { + bool ddstest = false; + bool savetest = false; + var errorfiles = new List(); + foreach (RpfFile file in AllRpfs) + { + foreach (RpfEntry entry in file.AllEntries) + { + //try + { + if (entry.NameLower.EndsWith(".ytd")) + { + UpdateStatus?.Invoke(string.Format(entry.Path)); + YtdFile ytdfile = null; + try + { + ytdfile = RpfMan.GetFile(entry); + } + catch (Exception ex) + { + UpdateStatus?.Invoke("Error! " + ex.ToString()); + errorfiles.Add(entry); + } + if (ddstest && (ytdfile != null) && (ytdfile.TextureDict != null)) + { + foreach (var tex in ytdfile.TextureDict.Textures.data_items) + { + var dds = Utils.DDSIO.GetDDSFile(tex); + var tex2 = Utils.DDSIO.GetTexture(dds); + if (!tex.Name.StartsWith("script_rt")) + { + if (tex.Data?.FullData?.Length != tex2.Data?.FullData?.Length) + { } + if (tex.Stride != tex2.Stride) + { } + } + if ((tex.Format != tex2.Format) || (tex.Width != tex2.Width) || (tex.Height != tex2.Height) || (tex.Depth != tex2.Depth) || (tex.Levels != tex2.Levels)) + { } + } + } + if (savetest && (ytdfile != null) && (ytdfile.TextureDict != null)) + { + var fentry = entry as RpfFileEntry; + if (fentry == null) + { continue; } //shouldn't happen + + var bytes = ytdfile.Save(); + + string origlen = TextUtil.GetBytesReadable(fentry.FileSize); + string bytelen = TextUtil.GetBytesReadable(bytes.Length); + + if (ytdfile.TextureDict.Textures?.Count == 0) + { } + + + var ytd2 = new YtdFile(); + //ytd2.Load(bytes, fentry); + RpfFile.LoadResourceFile(ytd2, bytes, 13); + + if (ytd2.TextureDict == null) + { continue; } + if (ytd2.TextureDict.Textures?.Count != ytdfile.TextureDict.Textures?.Count) + { continue; } + + for (int i = 0; i < ytdfile.TextureDict.Textures.Count; i++) + { + var tx1 = ytdfile.TextureDict.Textures[i]; + var tx2 = ytd2.TextureDict.Textures[i]; + var td1 = tx1.Data; + var td2 = tx2.Data; + if (td1.FullData.Length != td2.FullData.Length) + { continue; } + + for (int j = 0; j < td1.FullData.Length; j++) + { + if (td1.FullData[j] != td2.FullData[j]) + { break; } + } + + } + + } + } + } + //catch (Exception ex) + //{ + // UpdateStatus?.Invoke("Error! " + ex.ToString()); + //} + } + } + if (errorfiles.Count > 0) + { } + } + + [Conditional("TEST_ALL"), Conditional("TEST_YBNS")] + public void TestYbns() + { + bool xmltest = false; + bool savetest = false; + bool reloadtest = false; + var errorfiles = new List(); + foreach (RpfFile file in AllRpfs) + { + foreach (RpfEntry entry in file.AllEntries) + { + //try + { + if (entry.NameLower.EndsWith(".ybn")) + { + UpdateStatus?.Invoke(string.Format(entry.Path)); + YbnFile ybn = null; + try + { + ybn = RpfMan.GetFile(entry); + } + catch (Exception ex) + { + UpdateStatus?.Invoke("Error! " + ex.ToString()); + errorfiles.Add(entry); + } + if (xmltest && (ybn != null) && (ybn.Bounds != null)) + { + var xml = YbnXml.GetXml(ybn); + var ybn2 = XmlYbn.GetYbn(xml); + var xml2 = YbnXml.GetXml(ybn2); + if (xml.Length != xml2.Length) + { } + } + if (savetest && (ybn != null) && (ybn.Bounds != null)) + { + var fentry = entry as RpfFileEntry; + if (fentry == null) + { continue; } //shouldn't happen + + var bytes = ybn.Save(); + + if (!reloadtest) + { continue; } + + string origlen = TextUtil.GetBytesReadable(fentry.FileSize); + string bytelen = TextUtil.GetBytesReadable(bytes.Length); + + + var ybn2 = new YbnFile(); + RpfFile.LoadResourceFile(ybn2, bytes, 43); + + if (ybn2.Bounds == null) + { continue; } + if (ybn2.Bounds.Type != ybn.Bounds.Type) + { continue; } + + //quick check of roundtrip + switch (ybn2.Bounds.Type) + { + case BoundsType.Sphere: + { + var a = ybn.Bounds as BoundSphere; + var b = ybn2.Bounds as BoundSphere; + if (b == null) + { continue; } + break; + } + case BoundsType.Capsule: + { + var a = ybn.Bounds as BoundCapsule; + var b = ybn2.Bounds as BoundCapsule; + if (b == null) + { continue; } + break; + } + case BoundsType.Box: + { + var a = ybn.Bounds as BoundBox; + var b = ybn2.Bounds as BoundBox; + if (b == null) + { continue; } + break; + } + case BoundsType.Geometry: + { + var a = ybn.Bounds as BoundGeometry; + var b = ybn2.Bounds as BoundGeometry; + if (b == null) + { continue; } + if (a.Polygons?.Length != b.Polygons?.Length) + { continue; } + for (int i = 0; i < a.Polygons.Length; i++) + { + var pa = a.Polygons[i]; + var pb = b.Polygons[i]; + if (pa.Type != pb.Type) + { } + } + break; + } + case BoundsType.GeometryBVH: + { + var a = ybn.Bounds as BoundBVH; + var b = ybn2.Bounds as BoundBVH; + if (b == null) + { continue; } + if (a.BVH?.Nodes?.data_items?.Length != b.BVH?.Nodes?.data_items?.Length) + { } + if (a.Polygons?.Length != b.Polygons?.Length) + { continue; } + for (int i = 0; i < a.Polygons.Length; i++) + { + var pa = a.Polygons[i]; + var pb = b.Polygons[i]; + if (pa.Type != pb.Type) + { } + } + break; + } + case BoundsType.Composite: + { + var a = ybn.Bounds as BoundComposite; + var b = ybn2.Bounds as BoundComposite; + if (b == null) + { continue; } + if (a.Children?.data_items?.Length != b.Children?.data_items?.Length) + { } + break; + } + case BoundsType.Disc: + { + var a = ybn.Bounds as BoundDisc; + var b = ybn2.Bounds as BoundDisc; + if (b == null) + { continue; } + break; + } + case BoundsType.Cylinder: + { + var a = ybn.Bounds as BoundCylinder; + var b = ybn2.Bounds as BoundCylinder; + if (b == null) + { continue; } + break; + } + case BoundsType.Cloth: + { + var a = ybn.Bounds as BoundCloth; + var b = ybn2.Bounds as BoundCloth; + if (b == null) + { continue; } + break; + } + default: //return null; // throw new Exception("Unknown bound type"); + break; + } + + + + } + } + } + //catch (Exception ex) + //{ + // UpdateStatus?.Invoke("Error! " + ex.ToString()); + //} + } + } + if (errorfiles.Count > 0) + { } + } + + [Conditional("TEST_ALL"), Conditional("TEST_YDRS")] + public void TestYdrs() + { + bool savetest = false; + bool boundsonly = true; + var errorfiles = new List(); + foreach (RpfFile file in AllRpfs) + { + foreach (RpfEntry entry in file.AllEntries) + { + //try + { + if (entry.NameLower.EndsWith(".ydr")) + { + UpdateStatus?.Invoke(string.Format(entry.Path)); + YdrFile ydr = null; + try + { + ydr = RpfMan.GetFile(entry); + } + catch (Exception ex) + { + UpdateStatus?.Invoke("Error! " + ex.ToString()); + errorfiles.Add(entry); + } + if (savetest && (ydr != null) && (ydr.Drawable != null)) + { + var fentry = entry as RpfFileEntry; + if (fentry == null) + { continue; } //shouldn't happen + + if (boundsonly && (ydr.Drawable.Bound == null)) + { continue; } + + var bytes = ydr.Save(); + + string origlen = TextUtil.GetBytesReadable(fentry.FileSize); + string bytelen = TextUtil.GetBytesReadable(bytes.Length); + + var ydr2 = new YdrFile(); + RpfFile.LoadResourceFile(ydr2, bytes, 165); + + if (ydr2.Drawable == null) + { continue; } + if (ydr2.Drawable.AllModels?.Length != ydr.Drawable.AllModels?.Length) + { continue; } + + } + } + } + //catch (Exception ex) + //{ + // UpdateStatus?.Invoke("Error! " + ex.ToString()); + //} + } + } + if (errorfiles.Count != 13) + { } + } + + [Conditional("TEST_ALL"), Conditional("TEST_YDDS")] + public void TestYdds() + { + bool savetest = false; + var errorfiles = new List(); + foreach (RpfFile file in AllRpfs) + { + foreach (RpfEntry entry in file.AllEntries) + { + //try + { + if (entry.NameLower.EndsWith(".ydd")) + { + UpdateStatus?.Invoke(string.Format(entry.Path)); + YddFile ydd = null; + try + { + ydd = RpfMan.GetFile(entry); + } + catch (Exception ex) + { + UpdateStatus?.Invoke("Error! " + ex.ToString()); + errorfiles.Add(entry); + } + if (savetest && (ydd != null) && (ydd.DrawableDict != null)) + { + var fentry = entry as RpfFileEntry; + if (fentry == null) + { continue; } //shouldn't happen + + var bytes = ydd.Save(); + + string origlen = TextUtil.GetBytesReadable(fentry.FileSize); + string bytelen = TextUtil.GetBytesReadable(bytes.Length); + + + var ydd2 = new YddFile(); + RpfFile.LoadResourceFile(ydd2, bytes, 165); + + if (ydd2.DrawableDict == null) + { continue; } + if (ydd2.DrawableDict.Drawables?.Count != ydd.DrawableDict.Drawables?.Count) + { continue; } + + } + if (ydd?.DrawableDict?.Hashes != null) + { + uint h = 0; + foreach (uint th in ydd.DrawableDict.Hashes) + { + if (th <= h) + { } //should never happen + h = th; + } + } + } + } + //catch (Exception ex) + //{ + // UpdateStatus?.Invoke("Error! " + ex.ToString()); + //} + } + } + if (errorfiles.Count > 0) + { } + } + + [Conditional("TEST_ALL"), Conditional("TEST_YFTS")] + public void TestYfts() + { + bool savetest = false; + var errorfiles = new List(); + var sb = new StringBuilder(); + var flagdict = new Dictionary(); + foreach (RpfFile file in AllRpfs) + { + foreach (RpfEntry entry in file.AllEntries) + { + //try + { + if (entry.NameLower.EndsWith(".yft")) + { + UpdateStatus?.Invoke(string.Format(entry.Path)); + YftFile yft = null; + try + { + yft = RpfMan.GetFile(entry); + } + catch (Exception ex) + { + UpdateStatus?.Invoke("Error! " + ex.ToString()); + errorfiles.Add(entry); + } + if (savetest && (yft != null) && (yft.Fragment != null)) + { + var fentry = entry as RpfFileEntry; + if (fentry == null) + { continue; } //shouldn't happen + + var bytes = yft.Save(); + + + string origlen = TextUtil.GetBytesReadable(fentry.FileSize); + string bytelen = TextUtil.GetBytesReadable(bytes.Length); + + var yft2 = new YftFile(); + RpfFile.LoadResourceFile(yft2, bytes, 162); + + if (yft2.Fragment == null) + { continue; } + if (yft2.Fragment.Drawable?.AllModels?.Length != yft.Fragment.Drawable?.AllModels?.Length) + { continue; } + + } + + if (yft?.Fragment?.GlassWindows?.data_items != null) + { + var lastf = -1; + for (int i = 0; i < yft.Fragment.GlassWindows.data_items.Length; i++) + { + var w = yft.Fragment.GlassWindows.data_items[i]; + if (w.Flags == lastf) continue; + lastf = w.Flags; + flagdict.TryGetValue(w.Flags, out int n); + if (n < 10) + { + flagdict[w.Flags] = n + 1; + sb.AppendLine(entry.Path + " Window " + i.ToString() + ": Flags " + w.Flags.ToString() + ", Low:" + w.FlagsLo.ToString() + ", High:" + w.FlagsHi.ToString()); + } + } + } + + } + } + //catch (Exception ex) + //{ + // UpdateStatus?.Invoke("Error! " + ex.ToString()); + //} + } + } + var teststr = sb.ToString(); + + if (errorfiles.Count > 0) + { } + } + + [Conditional("TEST_ALL"), Conditional("TEST_YPTS")] + public void TestYpts() + { + var savetest = false; + var errorfiles = new List(); + foreach (RpfFile file in AllRpfs) + { + foreach (RpfEntry entry in file.AllEntries) + { + //try + { + if (entry.NameLower.EndsWith(".ypt")) + { + UpdateStatus?.Invoke(string.Format(entry.Path)); + YptFile ypt = null; + try + { + ypt = RpfMan.GetFile(entry); + } + catch (Exception ex) + { + UpdateStatus?.Invoke("Error! " + ex.ToString()); + errorfiles.Add(entry); + } + if (savetest && (ypt != null) && (ypt.PtfxList != null)) + { + var fentry = entry as RpfFileEntry; + if (fentry == null) + { continue; } //shouldn't happen + + var bytes = ypt.Save(); + + + string origlen = TextUtil.GetBytesReadable(fentry.FileSize); + string bytelen = TextUtil.GetBytesReadable(bytes.Length); + + var ypt2 = new YptFile(); + RpfFile.LoadResourceFile(ypt2, bytes, 68); + + if (ypt2.PtfxList == null) + { continue; } + if (ypt2.PtfxList.Name?.Value != ypt.PtfxList.Name?.Value) + { continue; } + + } + } + } + //catch (Exception ex) + //{ + // UpdateStatus?.Invoke("Error! " + ex.ToString()); + //} + } + } + if (errorfiles.Count > 0) + { } + } + + [Conditional("TEST_ALL"), Conditional("TEST_YNVS")] + public void TestYnvs() + { + bool xmltest = true; + var savetest = false; + var errorfiles = new List(); + foreach (RpfFile file in AllRpfs) + { + foreach (RpfEntry entry in file.AllEntries) + { + //try + { + if (entry.NameLower.EndsWith(".ynv")) + { + UpdateStatus?.Invoke(string.Format(entry.Path)); + YnvFile ynv = null; + try + { + ynv = RpfMan.GetFile(entry); + } + catch (Exception ex) + { + UpdateStatus?.Invoke("Error! " + ex.ToString()); + errorfiles.Add(entry); + } + if (xmltest && (ynv != null) && (ynv.Nav != null)) + { + var xml = YnvXml.GetXml(ynv); + if (xml != null) + { } + var ynv2 = XmlYnv.GetYnv(xml); + if (ynv2 != null) + { } + var ynv2b = ynv2.Save(); + if (ynv2b != null) + { } + var ynv3 = new YnvFile(); + RpfFile.LoadResourceFile(ynv3, ynv2b, 2); + var xml3 = YnvXml.GetXml(ynv3); + if (xml.Length != xml3.Length) + { } + var xmllines = xml.Split('\n'); + var xml3lines = xml3.Split('\n'); + if (xmllines.Length != xml3lines.Length) + { } + } + if (savetest && (ynv != null) && (ynv.Nav != null)) + { + var fentry = entry as RpfFileEntry; + if (fentry == null) + { continue; } //shouldn't happen + + var bytes = ynv.Save(); + + string origlen = TextUtil.GetBytesReadable(fentry.FileSize); + string bytelen = TextUtil.GetBytesReadable(bytes.Length); + + var ynv2 = new YnvFile(); + RpfFile.LoadResourceFile(ynv2, bytes, 2); + + if (ynv2.Nav == null) + { continue; } + + } + } + } + //catch (Exception ex) + //{ + // UpdateStatus?.Invoke("Error! " + ex.ToString()); + //} + } + } + if (errorfiles.Count > 0) + { } + } + + [Conditional("TEST_ALL"), Conditional("TEST_YVRS")] + public void TestYvrs() + { + + var exceptions = new List(); + + foreach (RpfFile file in AllRpfs) + { + foreach (RpfEntry entry in file.AllEntries) + { +#if !DEBUG + try +#endif + { + var rfe = entry as RpfFileEntry; + if (rfe == null) continue; + + if (rfe.NameLower.EndsWith(".yvr")) + { + if (rfe.NameLower == "agencyprep001.yvr") continue; //this file seems corrupted + + UpdateStatus?.Invoke(string.Format(entry.Path)); + + YvrFile yvr = new YvrFile(rfe); + RpfMan.LoadFile(yvr, rfe); + + var xml = YvrXml.GetXml(yvr); + var yvr2 = XmlYvr.GetYvr(xml); + var data2 = yvr2.Save(); + var yvr3 = new YvrFile(); + RpfFile.LoadResourceFile(yvr3, data2, 1);//full roundtrip + var xml2 = YvrXml.GetXml(yvr3); + if (xml != xml2) + { } + + } + } +#if !DEBUG + catch (Exception ex) + { + UpdateStatus?.Invoke("Error! " + ex.ToString()); + exceptions.Add(ex); + } +#endif + } + } + + if (exceptions.Count > 0) + { } + } + + [Conditional("TEST_ALL"), Conditional("TEST_YWRS")] + public void TestYwrs() + { + + var exceptions = new List(); + + foreach (RpfFile file in AllRpfs) + { + foreach (RpfEntry entry in file.AllEntries) + { +#if !DEBUG + try +#endif + { + var rfe = entry as RpfFileEntry; + if (rfe == null) continue; + + if (rfe.NameLower.EndsWith(".ywr")) + { + UpdateStatus?.Invoke(string.Format(entry.Path)); + + YwrFile ywr = new YwrFile(rfe); + RpfMan.LoadFile(ywr, rfe); + + var xml = YwrXml.GetXml(ywr); + var ywr2 = XmlYwr.GetYwr(xml); + var data2 = ywr2.Save(); + var ywr3 = new YwrFile(); + RpfFile.LoadResourceFile(ywr3, data2, 1);//full roundtrip + var xml2 = YwrXml.GetXml(ywr3); + if (xml != xml2) + { } + + } + } +#if !DEBUG + catch (Exception ex) + { + UpdateStatus?.Invoke("Error! " + ex.ToString()); + exceptions.Add(ex); + } +#endif + } + } + + if (exceptions.Count > 0) + { } + } + + [Conditional("TEST_ALL"), Conditional("TEST_YMAPS")] + public void TestYmaps() + { + foreach (RpfFile file in AllRpfs) + { + foreach (RpfEntry entry in file.AllEntries) + { + try + { + if (entry.NameLower.EndsWith(".ymap")) + { + UpdateStatus?.Invoke(string.Format(entry.Path)); + YmapFile ymapfile = RpfMan.GetFile(entry); + if ((ymapfile != null))// && (ymapfile.Meta != null)) + { } + } + } + catch (Exception ex) + { + UpdateStatus?.Invoke("Error! " + ex.ToString()); + } + } + } + } + + [Conditional("TEST_ALL"), Conditional("TEST_YPDBS")] + public void TestYpdbs() + { + foreach (RpfFile file in AllRpfs) + { + foreach (RpfEntry entry in file.AllEntries) + { + var rfe = entry as RpfFileEntry; + if (rfe == null) continue; + + try + { + if (rfe.NameLower.EndsWith(".ypdb")) + { + UpdateStatus?.Invoke(string.Format(entry.Path)); + YpdbFile ypdb = RpfMan.GetFile(entry); + if (ypdb != null) + { + var odata = entry.File.ExtractFile(entry as RpfFileEntry); + //var ndata = ypdb.Save(); + + var xml = YpdbXml.GetXml(ypdb); + var ypdb2 = XmlYpdb.GetYpdb(xml); + var ndata = ypdb2.Save(); + + if (ndata.Length == odata.Length) + { + for (int i = 0; i < ndata.Length; i++) + { + if (ndata[i] != odata[i]) + { break; } + } + } + else + { } + } + else + { } + } + } + catch (Exception ex) + { + UpdateStatus?.Invoke("Error! " + ex.ToString()); + } + + } + } + } + + [Conditional("TEST_ALL"), Conditional("TEST_YFDS")] + public void TestYfds() + { + foreach (RpfFile file in AllRpfs) + { + foreach (RpfEntry entry in file.AllEntries) + { + var rfe = entry as RpfFileEntry; + if (rfe == null) continue; + + try + { + if (rfe.NameLower.EndsWith(".yfd")) + { + UpdateStatus?.Invoke(string.Format(entry.Path)); + YfdFile yfd = RpfMan.GetFile(entry); + if (yfd != null) + { + if (yfd.FrameFilterDictionary != null) + { + // check that all signatures can be re-calculated + foreach (var f in yfd.FrameFilterDictionary.Filters.data_items) + { + if (f.Signature != f.CalculateSignature()) + { } + } + } + + var xml = YfdXml.GetXml(yfd); + var yfd2 = XmlYfd.GetYfd(xml); + var data2 = yfd2.Save(); + var yfd3 = new YfdFile(); + RpfFile.LoadResourceFile(yfd3, data2, 4);//full roundtrip + var xml2 = YfdXml.GetXml(yfd3); + if (xml != xml2) + { } + } + else + { } + } + } + catch (Exception ex) + { + UpdateStatus?.Invoke("Error! " + ex.ToString()); + } + + } + } + } + + [Conditional("TEST_ALL"), Conditional("TEST_MRFS")] + public void TestMrfs() + { + foreach (RpfFile file in AllRpfs) + { + foreach (RpfEntry entry in file.AllEntries) + { + try + { + if (entry.NameLower.EndsWith(".mrf")) + { + UpdateStatus?.Invoke(string.Format(entry.Path)); + MrfFile mrffile = RpfMan.GetFile(entry); + if (mrffile != null) + { + var odata = entry.File.ExtractFile(entry as RpfFileEntry); + var ndata = mrffile.Save(); + if (ndata.Length == odata.Length) + { + for (int i = 0; i < ndata.Length; i++) + { + if (ndata[i] != odata[i]) + { break; } + } + } + else + { } + + var xml = MrfXml.GetXml(mrffile); + var mrf2 = XmlMrf.GetMrf(xml); + var ndata2 = mrf2.Save(); + if (ndata2.Length == odata.Length) + { + for (int i = 0; i < ndata2.Length; i++) + { + if (ndata2[i] != odata[i] && !mrfDiffCanBeIgnored(i, mrffile)) + { break; } + } + } + else + { } + + bool mrfDiffCanBeIgnored(int fileOffset, MrfFile originalMrf) + { + foreach (var n in originalMrf.AllNodes) + { + if (n is MrfNodeStateBase state) + { + // If TransitionCount is 0, the TransitionsOffset value can be ignored. + // TransitionsOffset in original MRFs isn't always set to 0 in this case, + // XML-imported MRFs always set it to 0 + if (state.TransitionCount == 0 && fileOffset == (state.FileOffset + 0x1C)) + { + return true; + } + } + } + + return false; + } + } + else + { } + } + } + catch (Exception ex) + { + UpdateStatus?.Invoke("Error! " + ex.ToString()); + } + } + } + + // create and save a custom MRF + { + // Usage example: + // RequestAnimDict("move_m@alien") + // TaskMoveNetworkByName(PlayerPedId(), "mymrf", 0.0, true, 0, 0) + // SetTaskMoveNetworkSignalFloat(PlayerPedId(), "sprintrate", 2.0) + var mymrf = new MrfFile(); + var clip1 = new MrfNodeClip + { + NodeIndex = 0, + Name = JenkHash.GenHash("clip1"), + ClipType = MrfValueType.Literal, + ClipContainerType = MrfClipContainerType.ClipDictionary, + ClipContainerName = JenkHash.GenHash("move_m@alien"), + ClipName = JenkHash.GenHash("alien_run"), + LoopedType = MrfValueType.Literal, + Looped = true, + }; + var clip2 = new MrfNodeClip + { + NodeIndex = 0, + Name = JenkHash.GenHash("clip2"), + ClipType = MrfValueType.Literal, + ClipContainerType = MrfClipContainerType.ClipDictionary, + ClipContainerName = JenkHash.GenHash("move_m@alien"), + ClipName = JenkHash.GenHash("alien_sprint"), + LoopedType = MrfValueType.Literal, + Looped = true, + RateType = MrfValueType.Parameter, + RateParameterName = JenkHash.GenHash("sprintrate"), + }; + var clipstate1 = new MrfNodeState + { + NodeIndex = 0, + Name = JenkHash.GenHash("clipstate1"), + InitialNode = clip1, + Transitions = new[] + { + new MrfStateTransition + { + Duration = 2.5f, + HasDurationParameter = false, + //TargetState = clipstate2, + Conditions = new[] + { + new MrfConditionTimeGreaterThan { Value = 4.0f }, + }, + } + }, + }; + var clipstate2 = new MrfNodeState + { + NodeIndex = 1, + Name = JenkHash.GenHash("clipstate2"), + InitialNode = clip2, + Transitions = new[] + { + new MrfStateTransition + { + Duration = 2.5f, + HasDurationParameter = false, + //TargetState = clipstate1, + Conditions = new[] + { + new MrfConditionTimeGreaterThan { Value = 4.0f }, + }, + } + }, + }; + clipstate1.Transitions[0].TargetState = clipstate2; + clipstate2.Transitions[0].TargetState = clipstate1; + var rootsm = new MrfNodeStateMachine + { + NodeIndex = 0, + Name = JenkHash.GenHash("statemachine"), + States = new[] + { + new MrfStateRef { StateName = clipstate1.Name, State = clipstate1 }, + new MrfStateRef { StateName = clipstate2.Name, State = clipstate2 }, + }, + InitialNode = clipstate1, + }; + mymrf.AllNodes = new MrfNode[] + { + rootsm, + clipstate1, + clip1, + clipstate2, + clip2, + }; + mymrf.RootState = rootsm; + + var mymrfData = mymrf.Save(); + //File.WriteAllBytes("mymrf.mrf", mymrfData); + //File.WriteAllText("mymrf.dot", mymrf.DumpStateGraph()); + } + } + + [Conditional("TEST_ALL"), Conditional("TEST_FXCS")] + public void TestFxcs() + { + foreach (RpfFile file in AllRpfs) + { + foreach (RpfEntry entry in file.AllEntries) + { + try + { + if (entry.NameLower.EndsWith(".fxc")) + { + UpdateStatus?.Invoke(string.Format(entry.Path)); + var fxcfile = RpfMan.GetFile(entry); + if (fxcfile != null) + { + var odata = entry.File.ExtractFile(entry as RpfFileEntry); + var ndata = fxcfile.Save(); + if (ndata.Length == odata.Length) + { + for (int i = 0; i < ndata.Length; i++) + { + if (ndata[i] != odata[i]) + { break; } + } + } + else + { } + + var xml1 = FxcXml.GetXml(fxcfile);//won't output bytecodes with no output folder + var fxc1 = XmlFxc.GetFxc(xml1); + var xml2 = FxcXml.GetXml(fxc1); + if (xml1 != xml2) + { } + + + for (int i = 0; i < fxcfile.Shaders.Length; i++) + { + if (fxc1.Shaders[i].Name != fxcfile.Shaders[i].Name) + { } + fxc1.Shaders[i].ByteCode = fxcfile.Shaders[i].ByteCode; + } + + var xdata = fxc1.Save(); + if (xdata.Length == odata.Length) + { + for (int i = 0; i < xdata.Length; i++) + { + if (xdata[i] != odata[i]) + { break; } + } + } + else + { } + + + } + else + { } + } + } + catch (Exception ex) + { + UpdateStatus?.Invoke("Error! " + ex.ToString()); + } + } + } + } + + [Conditional("TEST_ALL"), Conditional("TEST_PLACEMENTS")] + public void TestPlacements() + { + //int totplacements = 0; + //int tottimedplacements = 0; + //int totaudioplacements = 0; + //StringBuilder sbtest = new StringBuilder(); + //StringBuilder sbterr = new StringBuilder(); + //sbtest.AppendLine("X, Y, Z, name, assetName, drawableDictionary, textureDictionary, ymap"); + //foreach (RpfFile file in RpfMan.AllRpfs) + //{ + // foreach (RpfEntry entry in file.AllEntries) + // { + // try + // { + // if (entry.NameLower.EndsWith(".ymap")) + // { + // UpdateStatus?.Invoke(string.Format(entry.Path)); + // YmapFile ymapfile = RpfMan.GetFile(entry); + // if ((ymapfile != null))// && (ymapfile.Meta != null)) + // { + // //if (ymapfile.CMapData.parent == 0) //root ymap output + // //{ + // // sbtest.AppendLine(JenkIndex.GetString(ymapfile.CMapData.name) + ": " + entry.Path); + // //} + // if (ymapfile.CEntityDefs != null) + // { + // for (int n = 0; n < ymapfile.CEntityDefs.Length; n++) + // { + // //find ytyp... + // var entdef = ymapfile.CEntityDefs[n]; + // var pos = entdef.position; + // bool istimed = false; + // Tuple archetyp; + // if (!BaseArchetypes.TryGetValue(entdef.archetypeName, out archetyp)) + // { + // sbterr.AppendLine("Couldn't find ytyp for " + entdef.ToString()); + // } + // else + // { + // int ymapbasecount = (archetyp.Item1.CBaseArchetypeDefs != null) ? archetyp.Item1.CBaseArchetypeDefs.Length : 0; + // int baseoffset = archetyp.Item2 - ymapbasecount; + // if (baseoffset >= 0) + // { + // if ((archetyp.Item1.CTimeArchetypeDefs == null) || (baseoffset > archetyp.Item1.CTimeArchetypeDefs.Length)) + // { + // sbterr.AppendLine("Couldn't lookup CTimeArchetypeDef... " + archetyp.ToString()); + // continue; + // } + + // istimed = true; + + // //it's a CTimeArchetypeDef... + // CTimeArchetypeDef ctad = archetyp.Item1.CTimeArchetypeDefs[baseoffset]; + + // //if (ctad.ToString().Contains("spider")) + // //{ + // //} + // //sbtest.AppendFormat("{0}, {1}, {2}, {3}, {4}", pos.X, pos.Y, pos.Z, ctad.ToString(), entry.Name); + // //sbtest.AppendLine(); + + // tottimedplacements++; + // } + // totplacements++; + // } + + // Tuple audiotyp; + // if (AudioArchetypes.TryGetValue(entdef.archetypeName, out audiotyp)) + // { + // if (istimed) + // { + // } + // if (!BaseArchetypes.TryGetValue(entdef.archetypeName, out archetyp)) + // { + // sbterr.AppendLine("Couldn't find ytyp for " + entdef.ToString()); + // } + // if (audiotyp.Item1 != archetyp.Item1) + // { + // } + + // CBaseArchetypeDef cbad = archetyp.Item1.CBaseArchetypeDefs[archetyp.Item2]; + // CExtensionDefAudioEmitter emitr = audiotyp.Item1.AudioEmitters[audiotyp.Item2]; + + // if (emitr.name != cbad.name) + // { + // } + + // string hashtest = JenkIndex.GetString(emitr.effectHash); + + // sbtest.AppendFormat("{0}, {1}, {2}, {3}, {4}, {5}", pos.X, pos.Y, pos.Z, cbad.ToString(), entry.Name, hashtest); + // sbtest.AppendLine(); + + // totaudioplacements++; + // } + + // } + // } + + // //if (ymapfile.TimeCycleModifiers != null) + // //{ + // // for (int n = 0; n < ymapfile.TimeCycleModifiers.Length; n++) + // // { + // // var tcmod = ymapfile.TimeCycleModifiers[n]; + // // Tuple archetyp; + // // if (BaseArchetypes.TryGetValue(tcmod.name, out archetyp)) + // // { + // // } + // // else + // // { + // // } + // // } + // //} + // } + // } + // } + // catch (Exception ex) + // { + // sbterr.AppendLine(entry.Path + ": " + ex.ToString()); + // } + // } + //} + + //UpdateStatus?.Invoke("Ymap scan finished."); + + //sbtest.AppendLine(); + //sbtest.AppendLine(totplacements.ToString() + " total CEntityDef placements parsed"); + //sbtest.AppendLine(tottimedplacements.ToString() + " total CTimeArchetypeDef placements"); + //sbtest.AppendLine(totaudioplacements.ToString() + " total CExtensionDefAudioEmitter placements"); + + //string teststr = sbtest.ToString(); + //string testerr = sbterr.ToString(); + + //return; + } + + [Conditional("RUN_TESTS"), Conditional("TEST_DRAWABLES")] + public void TestDrawables() + { + + + DateTime starttime = DateTime.Now; + + bool doydr = false; + bool doydd = false; + bool doyft = true; + + List errs = new List(); + Dictionary vdecls = new Dictionary(); + Dictionary vdecluse = new Dictionary(); + int drawablecount = 0; + foreach (RpfFile file in AllRpfs) + { + foreach (RpfEntry entry in file.AllEntries) + { + try + { + if (doydr && entry.NameLower.EndsWith(".ydr")) + { + UpdateStatus?.Invoke(entry.Path); + YdrFile ydr = RpfMan.GetFile(entry); + + if (ydr == null) + { + errs.Add(entry.Path + ": Couldn't read file"); + continue; + } + if (ydr.Drawable == null) + { + errs.Add(entry.Path + ": Couldn't read drawable data"); + continue; + } + drawablecount++; + foreach (var kvp in ydr.Drawable.VertexDecls) + { + if (!vdecls.ContainsKey(kvp.Key)) + { + vdecls.Add(kvp.Key, kvp.Value); + vdecluse.Add(kvp.Key, 1); + } + else + { + vdecluse[kvp.Key]++; + } + } + } + else if (doydd & entry.NameLower.EndsWith(".ydd")) + { + UpdateStatus?.Invoke(entry.Path); + YddFile ydd = RpfMan.GetFile(entry); + + if (ydd == null) + { + errs.Add(entry.Path + ": Couldn't read file"); + continue; + } + if (ydd.Dict == null) + { + errs.Add(entry.Path + ": Couldn't read drawable dictionary data"); + continue; + } + foreach (var drawable in ydd.Dict.Values) + { + drawablecount++; + foreach (var kvp in drawable.VertexDecls) + { + if (!vdecls.ContainsKey(kvp.Key)) + { + vdecls.Add(kvp.Key, kvp.Value); + vdecluse.Add(kvp.Key, 1); + } + else + { + vdecluse[kvp.Key]++; + } + } + } + } + else if (doyft && entry.NameLower.EndsWith(".yft")) + { + UpdateStatus?.Invoke(entry.Path); + YftFile yft = RpfMan.GetFile(entry); + + if (yft == null) + { + errs.Add(entry.Path + ": Couldn't read file"); + continue; + } + if (yft.Fragment == null) + { + errs.Add(entry.Path + ": Couldn't read fragment data"); + continue; + } + if (yft.Fragment.Drawable != null) + { + drawablecount++; + foreach (var kvp in yft.Fragment.Drawable.VertexDecls) + { + if (!vdecls.ContainsKey(kvp.Key)) + { + vdecls.Add(kvp.Key, kvp.Value); + vdecluse.Add(kvp.Key, 1); + } + else + { + vdecluse[kvp.Key]++; + } + } + } + if ((yft.Fragment.Cloths != null) && (yft.Fragment.Cloths.data_items != null)) + { + foreach (var cloth in yft.Fragment.Cloths.data_items) + { + drawablecount++; + foreach (var kvp in cloth.Drawable.VertexDecls) + { + if (!vdecls.ContainsKey(kvp.Key)) + { + vdecls.Add(kvp.Key, kvp.Value); + vdecluse.Add(kvp.Key, 1); + } + else + { + vdecluse[kvp.Key]++; + } + } + } + } + if ((yft.Fragment.DrawableArray != null) && (yft.Fragment.DrawableArray.data_items != null)) + { + foreach (var drawable in yft.Fragment.DrawableArray.data_items) + { + drawablecount++; + foreach (var kvp in drawable.VertexDecls) + { + if (!vdecls.ContainsKey(kvp.Key)) + { + vdecls.Add(kvp.Key, kvp.Value); + vdecluse.Add(kvp.Key, 1); + } + else + { + vdecluse[kvp.Key]++; + } + } + } + } + + } + + } + catch (Exception ex) + { + errs.Add(entry.Path + ": " + ex.ToString()); + } + } + } + + + string errstr = string.Join("\r\n", errs); + + + + //build vertex types code string + errs.Clear(); + StringBuilder sbverts = new StringBuilder(); + foreach (var kvp in vdecls) + { + var vd = kvp.Value; + int usage = vdecluse[kvp.Key]; + sbverts.AppendFormat("public struct VertexType{0} //id: {1}, stride: {2}, flags: {3}, types: {4}, refs: {5}", vd.Flags, kvp.Key, vd.Stride, vd.Flags, vd.Types, usage); + sbverts.AppendLine(); + sbverts.AppendLine("{"); + uint compid = 1; + for (int i = 0; i < 16; i++) + { + if (((vd.Flags >> i) & 1) == 1) + { + string typestr = "Unknown"; + uint type = (uint)(((ulong)vd.Types >> (4 * i)) & 0xF); + switch (type) + { + case 0: typestr = "ushort"; break;// Data[i] = new ushort[1 * count]; break; + case 1: typestr = "ushort2"; break;// Data[i] = new ushort[2 * count]; break; + case 2: typestr = "ushort3"; break;// Data[i] = new ushort[3 * count]; break; + case 3: typestr = "ushort4"; break;// Data[i] = new ushort[4 * count]; break; + case 4: typestr = "float"; break;// Data[i] = new float[1 * count]; break; + case 5: typestr = "Vector2"; break;// Data[i] = new float[2 * count]; break; + case 6: typestr = "Vector3"; break;// Data[i] = new float[3 * count]; break; + case 7: typestr = "Vector4"; break;// Data[i] = new float[4 * count]; break; + case 8: typestr = "uint"; break;// Data[i] = new uint[count]; break; + case 9: typestr = "uint"; break;// Data[i] = new uint[count]; break; + case 10: typestr = "uint"; break;// Data[i] = new uint[count]; break; + default: + break; + } + sbverts.AppendLine(" public " + typestr + " Component" + compid.ToString() + ";"); + compid++; + } + + } + sbverts.AppendLine("}"); + sbverts.AppendLine(); + } + + string vertstr = sbverts.ToString(); + string verrstr = string.Join("\r\n", errs); + + UpdateStatus?.Invoke((DateTime.Now - starttime).ToString() + " elapsed, " + drawablecount.ToString() + " drawables, " + errs.Count.ToString() + " errors."); + + } + } +} diff --git a/CodeWalker.Core/Utils/Cache.cs b/CodeWalker.Core/Utils/Cache.cs index aac6ce1..65fc7cf 100644 --- a/CodeWalker.Core/Utils/Cache.cs +++ b/CodeWalker.Core/Utils/Cache.cs @@ -1,4 +1,6 @@ -using System; +using CodeWalker.GameFiles; +using System; +using System.Collections.Concurrent; using System.Collections.Generic; using System.Linq; using System.Text; @@ -15,6 +17,7 @@ namespace CodeWalker public DateTime CurrentTime = DateTime.Now; private LinkedList loadedList = new LinkedList(); + private object loadedListLock = new object(); private Dictionary> loadedListDict = new Dictionary>(); public int Count @@ -43,25 +46,30 @@ namespace CodeWalker public TVal TryGet(TKey key) { LinkedListNode lln = null; - if (loadedListDict.TryGetValue(key, out lln)) + lock (loadedListLock) { - loadedList.Remove(lln); - loadedList.AddLast(lln); - lln.Value.LastUseTime = CurrentTime; + if (loadedListDict.TryGetValue(key, out lln)) + { + + loadedList.Remove(lln); + loadedList.AddLast(lln); + + lln.Value.LastUseTime = CurrentTime; + } } return (lln != null) ? lln.Value : null; } public bool TryAdd(TKey key, TVal item) { - if (item.MemoryUsage == 0) - { - } item.Key = key; if (CanAdd()) { - var lln = loadedList.AddLast(item); - loadedListDict.Add(key, lln); - Interlocked.Add(ref CurrentMemoryUsage, item.MemoryUsage); + lock(loadedListLock) + { + var lln = loadedList.AddLast(item); + loadedListDict.Add(key, lln); + Interlocked.Add(ref CurrentMemoryUsage, item.MemoryUsage); + } return true; } else @@ -74,9 +82,13 @@ namespace CodeWalker { while ((!CanAdd()) && (oldlln != null) && ((CurrentTime - oldlln.Value.LastUseTime).TotalSeconds > cachetime)) { - Interlocked.Add(ref CurrentMemoryUsage, -oldlln.Value.MemoryUsage); - loadedListDict.Remove(oldlln.Value.Key); - loadedList.Remove(oldlln); //gc should free up memory later.. + lock(loadedListLock) + { + Interlocked.Add(ref CurrentMemoryUsage, -oldlln.Value.MemoryUsage); + loadedListDict.Remove(oldlln.Value.Key); + loadedList.Remove(oldlln); //gc should free up memory later.. + } + oldlln.Value = null; oldlln = null; //GC.Collect(); @@ -87,9 +99,12 @@ namespace CodeWalker } if (CanAdd()) //see if there's enough memory now... { - var newlln = loadedList.AddLast(item); - loadedListDict.Add(key, newlln); - Interlocked.Add(ref CurrentMemoryUsage, item.MemoryUsage); + lock(loadedListLock) + { + var newlln = loadedList.AddLast(item); + loadedListDict.Add(key, newlln); + Interlocked.Add(ref CurrentMemoryUsage, item.MemoryUsage); + } return true; } else @@ -108,35 +123,49 @@ namespace CodeWalker public void Clear() { - loadedList.Clear(); - loadedListDict.Clear(); - CurrentMemoryUsage = 0; + lock(loadedList) + { + loadedList.Clear(); + loadedListDict.Clear(); + CurrentMemoryUsage = 0; + } } public void Remove(TKey key) { - LinkedListNode n; - if (loadedListDict.TryGetValue(key, out n)) + if (!loadedListDict.ContainsKey(key)) { - loadedListDict.Remove(key); - loadedList.Remove(n); - Interlocked.Add(ref CurrentMemoryUsage, -n.Value.MemoryUsage); + return; + } + lock(loadedListLock) + { + LinkedListNode n; + if (loadedListDict.TryGetValue(key, out n)) + { + loadedListDict.Remove(key); + loadedList.Remove(n); + Interlocked.Add(ref CurrentMemoryUsage, -n.Value.MemoryUsage); + } } } public void Compact() { - var oldlln = loadedList.First; - while (oldlln != null) + lock(loadedList) { - if ((CurrentTime - oldlln.Value.LastUseTime).TotalSeconds < CacheTime) break; - var nextln = oldlln.Next; - Interlocked.Add(ref CurrentMemoryUsage, -oldlln.Value.MemoryUsage); - loadedListDict.Remove(oldlln.Value.Key); - loadedList.Remove(oldlln); //gc should free up memory later.. - oldlln.Value = null; - oldlln = nextln; + var oldlln = loadedList.First; + while (oldlln != null) + { + if ((CurrentTime - oldlln.Value.LastUseTime).TotalSeconds < CacheTime) break; + var nextln = oldlln.Next; + Interlocked.Add(ref CurrentMemoryUsage, -oldlln.Value.MemoryUsage); + loadedListDict.Remove(oldlln.Value.Key); + loadedList.Remove(oldlln); //gc should free up memory later.. + + oldlln.Value = null; + oldlln = nextln; + } } } diff --git a/CodeWalker.Core/Utils/FbxConverter.cs b/CodeWalker.Core/Utils/FbxConverter.cs index 3cd38a1..d62fb67 100644 --- a/CodeWalker.Core/Utils/FbxConverter.cs +++ b/CodeWalker.Core/Utils/FbxConverter.cs @@ -781,7 +781,6 @@ namespace CodeWalker texParam.Unknown_30h = 1;// 131073;//wtf is this? 2x shorts, 0x00020001 texParam.Unknown_32h = 2; texParam.Name = name; - texParam.NameHash = JenkHash.GenHash(name.ToLowerInvariant()); return texParam; } private void AddShaderParam(List paramNames, List paramValues, ShaderParamNames paramName, object paramValue) diff --git a/CodeWalker.Core/Utils/Timer.cs b/CodeWalker.Core/Utils/Timer.cs new file mode 100644 index 0000000..3bc52cd --- /dev/null +++ b/CodeWalker.Core/Utils/Timer.cs @@ -0,0 +1,35 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Text; + +namespace CodeWalker.Core.Utils +{ + public class DisposableTimer : IDisposable + { + public static event Action TimerStopped; + public readonly Stopwatch _stopwatch; + + static DisposableTimer() + { +#if DEBUG + TimerStopped += (timeSpan, name) => Debug.WriteLine($"{name} took {timeSpan.TotalMilliseconds} ms"); +#endif + TimerStopped += (timeSpan, name) => Console.WriteLine($"{name} took {timeSpan.TotalMilliseconds} ms"); + } + + public string Name { get; private set; } + + public DisposableTimer(string name) + { + _stopwatch = Stopwatch.StartNew(); + Name = name; + } + + public void Dispose() + { + _stopwatch.Stop(); + TimerStopped?.Invoke(_stopwatch.Elapsed, Name ?? string.Empty); + } + } +} diff --git a/CodeWalker.Core/Utils/Utils.cs b/CodeWalker.Core/Utils/Utils.cs index bf5748f..c7c8159 100644 --- a/CodeWalker.Core/Utils/Utils.cs +++ b/CodeWalker.Core/Utils/Utils.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Globalization; +using System.IO; using System.Linq; using System.Runtime.InteropServices; using System.Text; @@ -100,6 +101,10 @@ namespace CodeWalker } return Encoding.UTF8.GetString(bytes); } + public static bool Contains(this string source, string toCheck, StringComparison comp) + { + return source?.IndexOf(toCheck, comp) >= 0; + } } @@ -271,5 +276,23 @@ namespace CodeWalker } } + public static class SpanExtensions + { + public static int Read(this Stream stream, Span buffer) + { + var n = Math.Min(stream.Length - stream.Position, buffer.Length); + if (n <= 0) + return 0; + + for (int i = 0; i < buffer.Length; i++) + { + var result = stream.ReadByte(); + buffer[i] = (byte)result; + } + + return buffer.Length; + } + } + } diff --git a/CodeWalker.ErrorReport/CodeWalker.ErrorReport.csproj b/CodeWalker.ErrorReport/CodeWalker.ErrorReport.csproj index f64066c..6c0b155 100644 --- a/CodeWalker.ErrorReport/CodeWalker.ErrorReport.csproj +++ b/CodeWalker.ErrorReport/CodeWalker.ErrorReport.csproj @@ -6,6 +6,7 @@ true CW.ico CodeWalker Error Report Tool + latest \ No newline at end of file diff --git a/CodeWalker.Peds/CodeWalker.Peds.csproj b/CodeWalker.Peds/CodeWalker.Peds.csproj index 4e3ddb5..a4fee3d 100644 --- a/CodeWalker.Peds/CodeWalker.Peds.csproj +++ b/CodeWalker.Peds/CodeWalker.Peds.csproj @@ -15,6 +15,11 @@ x64 + + + + + diff --git a/CodeWalker.RPFExplorer/CodeWalker.RPFExplorer.csproj b/CodeWalker.RPFExplorer/CodeWalker.RPFExplorer.csproj index c31034a..776afa0 100644 --- a/CodeWalker.RPFExplorer/CodeWalker.RPFExplorer.csproj +++ b/CodeWalker.RPFExplorer/CodeWalker.RPFExplorer.csproj @@ -10,12 +10,18 @@ dexyfex software dexyfex CodeWalker RPF Explorer + latest x64 + + + + + diff --git a/CodeWalker.RPFExplorer/Program.cs b/CodeWalker.RPFExplorer/Program.cs index b71d471..3d237d4 100644 --- a/CodeWalker.RPFExplorer/Program.cs +++ b/CodeWalker.RPFExplorer/Program.cs @@ -6,6 +6,7 @@ using System.Diagnostics; using System.Linq; using System.Threading.Tasks; using System.Windows.Forms; +using CodeWalker.Utils; namespace CodeWalker.RPFExplorer { @@ -18,7 +19,7 @@ namespace CodeWalker.RPFExplorer static void Main() { //Process.Start("CodeWalker.exe", "explorer"); - + ConsoleWindow.Hide(); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new ExploreForm()); diff --git a/CodeWalker.Shaders/BasicVS_PNCTX.hlsl b/CodeWalker.Shaders/BasicVS_PNCTX.hlsl index 92632f0..304d63c 100644 --- a/CodeWalker.Shaders/BasicVS_PNCTX.hlsl +++ b/CodeWalker.Shaders/BasicVS_PNCTX.hlsl @@ -9,6 +9,22 @@ struct VS_INPUT float4 Tangent : TANGENT; }; +struct PNCTX_OUTPUT +{ + float4 Position : SV_POSITION; + float3 Normal : NORMAL; + float2 Texcoord0 : TEXCOORD0; + float2 Texcoord1 : TEXCOORD1; + float2 Texcoord2 : TEXCOORD2; + float4 Shadows : TEXCOORD3; + float4 LightShadow : TEXCOORD4; + float4 Colour0 : COLOR0; + float4 Colour1 : COLOR1; + float4 Tint : COLOR2; + float4 Tangent : TEXCOORD5; + float4 Bitangent : TEXCOORD6; + float3 CamRelPos : TEXCOORD7; +}; VS_OUTPUT main(VS_INPUT input, uint iid : SV_InstanceID) { diff --git a/CodeWalker.Shaders/CodeWalker.Shaders.vcxproj b/CodeWalker.Shaders/CodeWalker.Shaders.vcxproj index b5d6e35..da33fd1 100644 --- a/CodeWalker.Shaders/CodeWalker.Shaders.vcxproj +++ b/CodeWalker.Shaders/CodeWalker.Shaders.vcxproj @@ -106,6 +106,7 @@ $(ProjectDir)..\Shaders\%(Filename).cso 4.0 + true diff --git a/CodeWalker.Shaders/Common.hlsli b/CodeWalker.Shaders/Common.hlsli index 8f4747e..fb03e61 100644 --- a/CodeWalker.Shaders/Common.hlsli +++ b/CodeWalker.Shaders/Common.hlsli @@ -1,6 +1,3 @@ - - - struct ShaderGlobalLightParams { float3 LightDir; diff --git a/CodeWalker.Shaders/DirLightPS.hlsl b/CodeWalker.Shaders/DirLightPS.hlsl index 8e97e51..a32ed6b 100644 --- a/CodeWalker.Shaders/DirLightPS.hlsl +++ b/CodeWalker.Shaders/DirLightPS.hlsl @@ -17,7 +17,8 @@ PS_OUTPUT main(VS_Output input) { uint3 ssloc = uint3(input.Pos.xy, 0); //pixel location float depth = DepthTex.Load(ssloc).r; - if (depth == 0) discard; //no existing pixel rendered here + if (depth <= 0) + discard; //no existing pixel rendered here float4 diffuse = DiffuseTex.Load(ssloc); float4 normal = NormalTex.Load(ssloc); @@ -29,9 +30,15 @@ PS_OUTPUT main(VS_Output input) switch (RenderMode) { - case 5: output.Colour = float4(diffuse.rgb, 1); return output; - case 6: output.Colour = float4(normal.rgb, 1); return output; - case 7: output.Colour = float4(specular.rgb, 1); return output; + case 5: + output.Colour = float4(diffuse.rgb, 1); + return output; + case 6: + output.Colour = float4(normal.rgb, 1); + return output; + case 7: + output.Colour = float4(specular.rgb, 1); + return output; } float4 spos = float4(input.Screen.xy/input.Screen.w, depth, 1); diff --git a/CodeWalker.Shaders/DirLightPS_MS.hlsl b/CodeWalker.Shaders/DirLightPS_MS.hlsl index 1beb390..3a08efc 100644 --- a/CodeWalker.Shaders/DirLightPS_MS.hlsl +++ b/CodeWalker.Shaders/DirLightPS_MS.hlsl @@ -34,7 +34,8 @@ PS_OUTPUT main(VS_Output input) for (int i = 0; i < sc; i++) { float depth = DepthTex.Load(ssloc, i); - if (depth == 0) continue; //no existing subpixel rendered here + if (depth == 0) + continue; //no existing subpixel rendered here float4 diffuse = DiffuseTex.Load(ssloc, i); float4 normal = NormalTex.Load(ssloc, i); @@ -56,7 +57,8 @@ PS_OUTPUT main(VS_Output input) d *= SampleMult; a *= SampleMult; - if (d <= 0) discard; + if (d <= 0) + discard; PS_OUTPUT output; output.Colour = float4(c, a); diff --git a/CodeWalker.Shaders/LightPS.hlsl b/CodeWalker.Shaders/LightPS.hlsl index 7096c76..429a517 100644 --- a/CodeWalker.Shaders/LightPS.hlsl +++ b/CodeWalker.Shaders/LightPS.hlsl @@ -18,7 +18,8 @@ float4 main(VS_Output input) : SV_TARGET { uint3 ssloc = uint3(input.Pos.xy, 0); //pixel location float depth = DepthTex.Load(ssloc).r; - if (depth == 0) discard; //no existing pixel rendered here + if (depth == 0) + discard; //no existing pixel rendered here float4 diffuse = DiffuseTex.Load(ssloc); float4 normal = NormalTex.Load(ssloc); @@ -31,7 +32,8 @@ float4 main(VS_Output input) : SV_TARGET float3 norm = normal.xyz * 2 - 1; float4 lcol = DeferredLight(camRel, norm, diffuse, specular, irradiance); - if (lcol.a <= 0) discard; + if (lcol.a <= 0) + discard; return lcol; } diff --git a/CodeWalker.Shaders/LightPS.hlsli b/CodeWalker.Shaders/LightPS.hlsli index a7b27ec..d143386 100644 --- a/CodeWalker.Shaders/LightPS.hlsli +++ b/CodeWalker.Shaders/LightPS.hlsli @@ -117,6 +117,7 @@ float4 DeferredLODLight(float3 camRel, float3 norm, float4 diffuse, float4 specu LODLight lodlight = LODLights[iid]; float3 srpos = lodlight.Position - (camRel + CameraPos.xyz); //light position relative to surface position float ldist = length(srpos); + if (LightType == 4)//capsule { float3 ext = lodlight.Direction.xyz * lodlight.OuterAngleOrCapExt; @@ -124,14 +125,17 @@ float4 DeferredLODLight(float3 camRel, float3 norm, float4 diffuse, float4 specu ldist = lsn.w; srpos.xyz = lsn.xyz; } - - if (ldist > lodlight.Falloff) return 0; //out of range of the light... - if (ldist <= 0) return 0; + + if (ldist > lodlight.Falloff) + return 0; //out of range of the light... + if (ldist <= 0) + return 0; float4 rgbi = Unpack4x8UNF(lodlight.Colour).gbar; float3 lcol = rgbi.rgb * rgbi.a * 96.0f; float3 ldir = srpos / ldist; float pclit = saturate(dot(ldir, norm)); + float lamt = 1; if (LightType == 1)//point (sphere) @@ -154,7 +158,8 @@ float4 DeferredLODLight(float3 camRel, float3 norm, float4 diffuse, float4 specu pclit *= lamt; - if (pclit <= 0) return 0; + if (pclit <= 0) + return 0; float3 refl = GetReflectedDir(camRel, norm); float specb = saturate(dot(refl, ldir)); @@ -177,11 +182,14 @@ float4 DeferredLight(float3 camRel, float3 norm, float4 diffuse, float4 specular ldist = lsn.w; srpos.xyz = lsn.xyz; } - if (ldist > InstFalloff) return 0; - if (ldist <= 0) return 0; + if (ldist > InstFalloff) + return 0; + if (ldist <= 0) + return 0; float d = dot(srpos, InstCullingPlaneNormal) - InstCullingPlaneOffset; - if (d > 0) return 0; + if (d > 0) + return 0; float4 rgbi = float4(InstColour, InstIntensity); float3 lcol = rgbi.rgb;// * rgbi.a; // * 5.0f; @@ -198,7 +206,8 @@ float4 DeferredLight(float3 camRel, float3 norm, float4 diffuse, float4 specular float ang = acos(-dot(ldir, InstDirection)); float iang = InstConeInnerAngle; float oang = InstConeOuterAngle; - if (ang > oang) return 0; + if (ang > oang) + return 0; lamt *= saturate(1 - ((ang - iang) / (oang - iang))); lamt *= GetAttenuation(ldist, InstFalloff, InstFalloffExponent); } @@ -209,7 +218,8 @@ float4 DeferredLight(float3 camRel, float3 norm, float4 diffuse, float4 specular pclit *= lamt; - if (pclit <= 0) return 0; + if (pclit <= 0) + return 0; float3 refl = GetReflectedDir(camRel, norm); float specb = saturate(dot(refl, ldir)); diff --git a/CodeWalker.Shaders/LightPS_MS.hlsl b/CodeWalker.Shaders/LightPS_MS.hlsl index ebfab23..e998070 100644 --- a/CodeWalker.Shaders/LightPS_MS.hlsl +++ b/CodeWalker.Shaders/LightPS_MS.hlsl @@ -18,14 +18,14 @@ float4 main(VS_Output input) : SV_TARGET uint2 ssloc = uint2(input.Pos.xy); //pixel location float2 spos = float2(input.Screen.xy / input.Screen.w); float4 c = 0; - float d = 0; int sc = min(SampleCount, 8); [unroll] for (int i = 0; i < sc; i++) { float depth = DepthTex.Load(ssloc, i); - if (depth == 0) continue; //no existing subpixel rendered here + if (depth == 0) + continue; //no existing subpixel rendered here float4 diffuse = DiffuseTex.Load(ssloc, i); float4 normal = NormalTex.Load(ssloc, i); @@ -37,15 +37,16 @@ float4 main(VS_Output input) : SV_TARGET float3 norm = normal.xyz * 2 - 1; float4 colour = DeferredLight(camRel, norm, diffuse, specular, irradiance); + if (colour.a <= 0) + discard; c += colour; - d += depth; } c *= SampleMult; - d *= SampleMult; - if (d <= 0) discard; + if (c.a <= 0) + discard; return c; } diff --git a/CodeWalker.Shaders/LodLightsPS.hlsl b/CodeWalker.Shaders/LodLightsPS.hlsl index b2b7e40..877c952 100644 --- a/CodeWalker.Shaders/LodLightsPS.hlsl +++ b/CodeWalker.Shaders/LodLightsPS.hlsl @@ -18,7 +18,8 @@ float4 main(VS_Output input) : SV_TARGET { uint3 ssloc = uint3(input.Pos.xy, 0); //pixel location float depth = DepthTex.Load(ssloc).r; - if (depth == 0) discard; //no existing pixel rendered here + if (depth == 0) + discard; //no existing pixel rendered here float4 diffuse = DiffuseTex.Load(ssloc); float4 normal = NormalTex.Load(ssloc); @@ -31,7 +32,8 @@ float4 main(VS_Output input) : SV_TARGET float3 norm = normal.xyz * 2 - 1; float4 lcol = DeferredLODLight(camRel, norm, diffuse, specular, irradiance, input.IID); - if (lcol.a <= 0) discard; + if (lcol.a <= 0) + discard; return lcol; } diff --git a/CodeWalker.Shaders/LodLightsPS_MS.hlsl b/CodeWalker.Shaders/LodLightsPS_MS.hlsl index cb7d0f8..4001a02 100644 --- a/CodeWalker.Shaders/LodLightsPS_MS.hlsl +++ b/CodeWalker.Shaders/LodLightsPS_MS.hlsl @@ -26,7 +26,8 @@ float4 main(VS_Output input) : SV_TARGET for (int i = 0; i < sc; i++) { float depth = DepthTex.Load(ssloc, i); - if (depth == 0) continue; //no existing subpixel rendered here + if (depth == 0) + continue; //no existing subpixel rendered here float4 diffuse = DiffuseTex.Load(ssloc, i); float4 normal = NormalTex.Load(ssloc, i); @@ -38,15 +39,16 @@ float4 main(VS_Output input) : SV_TARGET float3 norm = normal.xyz * 2 - 1; float4 colour = DeferredLODLight(camRel, norm, diffuse, specular, irradiance, input.IID); + if (colour.a <= 0) + discard; c += colour; - d += depth; } c *= SampleMult; - d *= SampleMult; - if (d <= 0) discard; + if (c.a <= 0) + discard; return c; } diff --git a/CodeWalker.Shaders/LodLightsVS.hlsl b/CodeWalker.Shaders/LodLightsVS.hlsl index 8880a0f..d0409d3 100644 --- a/CodeWalker.Shaders/LodLightsVS.hlsl +++ b/CodeWalker.Shaders/LodLightsVS.hlsl @@ -12,6 +12,7 @@ struct LODLight float FalloffExponent; float InnerAngle; //for cone float OuterAngleOrCapExt; //outer angle for cone, cap extent for capsule + float Distance; }; struct VS_Output diff --git a/CodeWalker.Vehicles/CodeWalker.Vehicles.csproj b/CodeWalker.Vehicles/CodeWalker.Vehicles.csproj index 4a32fe0..c046705 100644 --- a/CodeWalker.Vehicles/CodeWalker.Vehicles.csproj +++ b/CodeWalker.Vehicles/CodeWalker.Vehicles.csproj @@ -9,12 +9,18 @@ dexyfex software dexyfex CodeWalker Vehicle Viewer + latest x64 + + + + + diff --git a/CodeWalker.WinForms/CodeWalker.WinForms.csproj b/CodeWalker.WinForms/CodeWalker.WinForms.csproj index e599f32..2d5623b 100644 --- a/CodeWalker.WinForms/CodeWalker.WinForms.csproj +++ b/CodeWalker.WinForms/CodeWalker.WinForms.csproj @@ -1,9 +1,14 @@  + + x64 + + Library net48 true + latest diff --git a/CodeWalker/App.config b/CodeWalker/App.config index 38524be..bb8b598 100644 --- a/CodeWalker/App.config +++ b/CodeWalker/App.config @@ -43,27 +43,6 @@ True - - 720 - - - True - - - Global - - - contrails - - - True - - - True - - - True - True @@ -247,6 +226,30 @@ + + 720 + + + False + + + Global + + + contrails + + + True + + + True + + + True + + + 2 + diff --git a/CodeWalker/CodeWalker.csproj b/CodeWalker/CodeWalker.csproj index c2cba3a..cca3d9b 100644 --- a/CodeWalker/CodeWalker.csproj +++ b/CodeWalker/CodeWalker.csproj @@ -9,6 +9,7 @@ dexyfex dexyfex software dexyfex + latest @@ -18,6 +19,7 @@ + @@ -25,6 +27,7 @@ + diff --git a/CodeWalker/ExploreForm.Designer.cs b/CodeWalker/ExploreForm.Designer.cs index ab4bfea..155179a 100644 --- a/CodeWalker/ExploreForm.Designer.cs +++ b/CodeWalker/ExploreForm.Designer.cs @@ -1,4 +1,6 @@ -namespace CodeWalker +using CodeWalker.Core.Utils; + +namespace CodeWalker { partial class ExploreForm { @@ -158,6 +160,7 @@ this.OpenFileDialog = new System.Windows.Forms.OpenFileDialog(); this.FolderBrowserDialog = new System.Windows.Forms.FolderBrowserDialog(); this.VSExtender = new WeifenLuo.WinFormsUI.Docking.VisualStudioToolStripExtender(this.components); + this.openConsoleToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.MainMenu.SuspendLayout(); this.MainToolbar.SuspendLayout(); this.MainStatusBar.SuspendLayout(); @@ -409,6 +412,7 @@ this.ViewSmallIconsMenu, this.ViewListMenu, this.ViewDetailsMenu, + this.openConsoleToolStripMenuItem, this.toolStripSeparator11, this.ViewThemeMenu}); this.ViewMenu.Name = "ViewMenu"; @@ -418,21 +422,21 @@ // ViewLargeIconsMenu // this.ViewLargeIconsMenu.Name = "ViewLargeIconsMenu"; - this.ViewLargeIconsMenu.Size = new System.Drawing.Size(134, 22); + this.ViewLargeIconsMenu.Size = new System.Drawing.Size(180, 22); this.ViewLargeIconsMenu.Text = "Large Icons"; this.ViewLargeIconsMenu.Click += new System.EventHandler(this.ViewLargeIconsMenu_Click); // // ViewSmallIconsMenu // this.ViewSmallIconsMenu.Name = "ViewSmallIconsMenu"; - this.ViewSmallIconsMenu.Size = new System.Drawing.Size(134, 22); + this.ViewSmallIconsMenu.Size = new System.Drawing.Size(180, 22); this.ViewSmallIconsMenu.Text = "Small Icons"; this.ViewSmallIconsMenu.Click += new System.EventHandler(this.ViewSmallIconsMenu_Click); // // ViewListMenu // this.ViewListMenu.Name = "ViewListMenu"; - this.ViewListMenu.Size = new System.Drawing.Size(134, 22); + this.ViewListMenu.Size = new System.Drawing.Size(180, 22); this.ViewListMenu.Text = "List"; this.ViewListMenu.Click += new System.EventHandler(this.ViewListMenu_Click); // @@ -441,14 +445,14 @@ this.ViewDetailsMenu.Checked = true; this.ViewDetailsMenu.CheckState = System.Windows.Forms.CheckState.Checked; this.ViewDetailsMenu.Name = "ViewDetailsMenu"; - this.ViewDetailsMenu.Size = new System.Drawing.Size(134, 22); + this.ViewDetailsMenu.Size = new System.Drawing.Size(180, 22); this.ViewDetailsMenu.Text = "Details"; this.ViewDetailsMenu.Click += new System.EventHandler(this.ViewDetailsMenu_Click); // // toolStripSeparator11 // this.toolStripSeparator11.Name = "toolStripSeparator11"; - this.toolStripSeparator11.Size = new System.Drawing.Size(131, 6); + this.toolStripSeparator11.Size = new System.Drawing.Size(177, 6); // // ViewThemeMenu // @@ -458,7 +462,7 @@ this.ViewThemeLightMenu, this.ViewThemeDarkMenu}); this.ViewThemeMenu.Name = "ViewThemeMenu"; - this.ViewThemeMenu.Size = new System.Drawing.Size(134, 22); + this.ViewThemeMenu.Size = new System.Drawing.Size(180, 22); this.ViewThemeMenu.Text = "Theme"; // // ViewThemeWindowsMenu @@ -506,35 +510,35 @@ // ToolsBinSearchMenu // this.ToolsBinSearchMenu.Name = "ToolsBinSearchMenu"; - this.ToolsBinSearchMenu.Size = new System.Drawing.Size(180, 22); + this.ToolsBinSearchMenu.Size = new System.Drawing.Size(161, 22); this.ToolsBinSearchMenu.Text = "Binary Search..."; this.ToolsBinSearchMenu.Click += new System.EventHandler(this.ToolsBinSearchMenu_Click); // // ToolsAudioExplorerMenu // this.ToolsAudioExplorerMenu.Name = "ToolsAudioExplorerMenu"; - this.ToolsAudioExplorerMenu.Size = new System.Drawing.Size(180, 22); + this.ToolsAudioExplorerMenu.Size = new System.Drawing.Size(161, 22); this.ToolsAudioExplorerMenu.Text = "Audio Explorer"; this.ToolsAudioExplorerMenu.Click += new System.EventHandler(this.ToolsAudioExplorerMenu_Click); // // ToolsRpfBrowserMenu // this.ToolsRpfBrowserMenu.Name = "ToolsRpfBrowserMenu"; - this.ToolsRpfBrowserMenu.Size = new System.Drawing.Size(180, 22); + this.ToolsRpfBrowserMenu.Size = new System.Drawing.Size(161, 22); this.ToolsRpfBrowserMenu.Text = "Old RPF Browser"; this.ToolsRpfBrowserMenu.Click += new System.EventHandler(this.ToolsRpfBrowserMenu_Click); // // ToolsJenkGenMenu // this.ToolsJenkGenMenu.Name = "ToolsJenkGenMenu"; - this.ToolsJenkGenMenu.Size = new System.Drawing.Size(180, 22); + this.ToolsJenkGenMenu.Size = new System.Drawing.Size(161, 22); this.ToolsJenkGenMenu.Text = "JenkGen"; this.ToolsJenkGenMenu.Click += new System.EventHandler(this.ToolsJenkGenMenu_Click); // // ToolsJenkIndMenu // this.ToolsJenkIndMenu.Name = "ToolsJenkIndMenu"; - this.ToolsJenkIndMenu.Size = new System.Drawing.Size(180, 22); + this.ToolsJenkIndMenu.Size = new System.Drawing.Size(161, 22); this.ToolsJenkIndMenu.Text = "JenkInd"; this.ToolsJenkIndMenu.Click += new System.EventHandler(this.ToolsJenkIndMenu_Click); // @@ -1308,6 +1312,13 @@ // this.VSExtender.DefaultRenderer = null; // + // openConsoleToolStripMenuItem + // + this.openConsoleToolStripMenuItem.Name = "openConsoleToolStripMenuItem"; + this.openConsoleToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.openConsoleToolStripMenuItem.Text = "Open Console"; + this.openConsoleToolStripMenuItem.Click += new System.EventHandler(this.ViewConsoleMenu_Click); + // // ExploreForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -1476,5 +1487,6 @@ private System.Windows.Forms.ToolStripSeparator toolStripSeparator13; private System.Windows.Forms.ToolStripMenuItem ListContextNewYtdFileMenu; private System.Windows.Forms.ToolStripMenuItem ToolsAudioExplorerMenu; + private System.Windows.Forms.ToolStripMenuItem openConsoleToolStripMenuItem; } } \ No newline at end of file diff --git a/CodeWalker/ExploreForm.cs b/CodeWalker/ExploreForm.cs index 0044ba9..aa738bd 100644 --- a/CodeWalker/ExploreForm.cs +++ b/CodeWalker/ExploreForm.cs @@ -2,8 +2,11 @@ using CodeWalker.GameFiles; using CodeWalker.Properties; using CodeWalker.Tools; +using CodeWalker.Utils; using CodeWalker.World; +using CodeWalker.Core.Utils; using System; +using System.Collections.Concurrent; using System.Collections.Generic; using System.ComponentModel; using System.Data; @@ -16,7 +19,9 @@ using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; using System.Xml; +using System.Xml.Linq; using WeifenLuo.WinFormsUI.Docking; +using System.Runtime.CompilerServices; namespace CodeWalker { @@ -46,13 +51,15 @@ namespace CodeWalker private MainTreeFolder SearchResults; private List AllRpfs { get; set; } - private GameFileCache FileCache { get; set; } = GameFileCacheFactory.Create(); + private GameFileCache FileCache { get; set; } private object FileCacheSyncRoot = new object(); public bool EditMode { get; private set; } = false; public ThemeBase Theme { get; private set; } + public static CancellationTokenSource CancellationTokenSource = new CancellationTokenSource(); + public ExploreForm() { @@ -63,6 +70,8 @@ namespace CodeWalker ShowMainListViewPathColumn(false); LoadSettings(); + + UpdateStatus += UpdateStatus_EventHandler; } private void SetTheme(string themestr, bool changing = true) @@ -183,26 +192,28 @@ namespace CodeWalker return; } + FileCache = GameFileCacheFactory.Create(); - Task.Run(() => + new Task(async () => { + Thread.CurrentThread.Name = "FileCache ContentThread"; try { GTA5Keys.LoadFromPath(GTAFolder.CurrentGTAFolder, Settings.Default.Key); } catch { - UpdateStatus("Unable to load gta5.exe!"); + UpdateStatus?.Invoke("Unable to load gta5.exe!"); return; } - RefreshMainTreeView(); + await RefreshMainTreeView(); - UpdateStatus("Scan complete."); + UpdateStatus?.Invoke("Scan complete."); InitFileCache(); - while (!IsDisposed) //run the file cache content thread until the form exits. + while (!IsDisposed && !CancellationTokenSource.IsCancellationRequested) //run the file cache content thread until the form exits. { if (FileCache.IsInited) { @@ -220,7 +231,7 @@ namespace CodeWalker Thread.Sleep(20); } } - }); + }, CancellationTokenSource.Token, TaskCreationOptions.LongRunning).Start(TaskScheduler.Default); } private void InitFileCache() @@ -231,20 +242,20 @@ namespace CodeWalker { if (!FileCache.IsInited) { - UpdateStatus("Loading file cache..."); + UpdateStatus?.Invoke("Loading file cache..."); var allRpfs = AllRpfs; - FileCache.Init(UpdateStatus, UpdateErrorLog, allRpfs); //inits main dicts and archetypes only... + FileCache.Init(updateStatus: null, UpdateErrorLog, allRpfs); //inits main dicts and archetypes only... - UpdateStatus("Loading materials..."); + UpdateStatus?.Invoke("Loading materials..."); BoundsMaterialTypes.Init(FileCache); - UpdateStatus("Loading scenario types..."); + UpdateStatus?.Invoke("Loading scenario types..."); Scenarios.EnsureScenarioTypes(FileCache); - UpdateStatus("File cache loaded."); + UpdateStatus?.Invoke("File cache loaded."); } } - }); + }, CancellationTokenSource.Token); } public GameFileCache GetFileCache() { @@ -258,7 +269,7 @@ namespace CodeWalker private void InitFileTypes() { - FileTypes = new Dictionary(); + FileTypes = new Dictionary(StringComparer.OrdinalIgnoreCase); InitFileType(".rpf", "Rage Package File", 3); InitFileType("", "File", 4); InitFileType(".dat", "Data File", 4); @@ -339,7 +350,7 @@ namespace CodeWalker return FileTypes[""]; } - var ext = Path.GetExtension(fn).ToLowerInvariant(); + var ext = Path.GetExtension(fn); if (!string.IsNullOrEmpty(ext)) { FileTypeInfo ft; @@ -347,10 +358,9 @@ namespace CodeWalker { if (ft.SubTypes != null) { - var fnl = fn.ToLowerInvariant(); foreach (var sft in ft.SubTypes) { - if (fnl.EndsWith(sft.Extension)) + if (fn.EndsWith(sft.Extension, StringComparison.OrdinalIgnoreCase)) { return sft; } @@ -371,9 +381,14 @@ namespace CodeWalker } } - + public event Action UpdateStatus; - public void UpdateStatus(string text) + public void InvokeUpdateStatus(string msg) + { + UpdateStatus?.Invoke(msg); + } + + public void UpdateStatus_EventHandler(string text) { try { @@ -386,7 +401,10 @@ namespace CodeWalker StatusLabel.Text = text; } } - catch { } + catch(Exception ex) { + Console.WriteLine(ex); + Debug.WriteLine(ex); + } } public void UpdateErrorLog(string text) { @@ -398,10 +416,15 @@ namespace CodeWalker } else { - //StatusLabel.Text = text; + Debug.WriteLine(text); + Console.WriteLine(text); + StatusLabel.Text = text; } } - catch { } + catch (Exception ex) { + Debug.WriteLine(ex); + Console.WriteLine(ex); + } } @@ -459,8 +482,8 @@ namespace CodeWalker public void Navigate(string path) { if (!Ready) return; - var pathl = path.ToLowerInvariant().Replace('/', '\\'); - if ((CurrentFolder != null) && (CurrentFolder.Path.ToLowerInvariant() == pathl)) return; //already there + var pathl = path.Replace('/', '\\'); + if ((CurrentFolder != null) && (CurrentFolder.Path.Equals(path, StringComparison.InvariantCultureIgnoreCase))) return; //already there var hierarchy = pathl.Split(new[] { '\\' }, StringSplitOptions.RemoveEmptyEntries); TreeNode n = MainTreeView.Nodes[0];// FindTreeNode("gta v", null); if (!string.IsNullOrEmpty(path)) @@ -670,7 +693,7 @@ namespace CodeWalker var tnc = (parent != null) ? parent.Nodes : MainTreeView.Nodes; foreach (TreeNode node in tnc) { - if (node.Text.ToLowerInvariant() == text) + if (node.Text.Equals(text, StringComparison.OrdinalIgnoreCase)) { return node; } @@ -680,14 +703,15 @@ namespace CodeWalker - private void RefreshMainTreeView() + private async Task RefreshMainTreeView() { Ready = false; AllRpfs = null; - ClearMainTreeView(); + BeginInvoke(() => MainTreeView.BeginUpdate); + + UpdateStatus?.Invoke("Scanning..."); - UpdateStatus("Scanning..."); var root = new MainTreeFolder(); root.FullPath = GTAFolder.GetCurrentGTAFolderWithTrailingSlash(); @@ -695,7 +719,9 @@ namespace CodeWalker root.Name = "GTA V"; RootFolder = root; - RefreshMainTreeViewRoot(root); + var tasks = new List>(); + + tasks.Add(Task.Run(() => RefreshMainTreeViewRoot(root, true))); var remFolders = new List(); @@ -706,7 +732,15 @@ namespace CodeWalker if (Directory.Exists(extraroot.FullPath)) { - RefreshMainTreeViewRoot(extraroot); + try + { + tasks.Add(Task.Run(() => RefreshMainTreeViewRoot(extraroot))); + } + catch(Exception ex) + { + remFolders.Add(extraroot); + } + } else { @@ -719,106 +753,139 @@ namespace CodeWalker ExtraRootFolders.Remove(remFolder); } + var nodes = await Task.WhenAll(tasks); - Ready = true; + Invoke(() => + { + MainTreeView.BeginUpdate(); + ClearMainTreeView(); + + MainTreeView.Nodes.AddRange(nodes); + + Ready = true; + + MainTreeView.EndUpdate(); + MainTreeViewRefreshComplete(); + }); - MainTreeViewRefreshComplete(); } - private void RefreshMainTreeViewRoot(MainTreeFolder f) + + private TreeNode RefreshMainTreeViewRoot(MainTreeFolder f, bool gameRoot = false) { - var allRpfs = new List(); + var allRpfs = new ConcurrentBag(); var fullPath = f.FullPath; var subPath = f.Path; - var allpaths = Directory.GetFileSystemEntries(fullPath, "*", SearchOption.AllDirectories); - var nodes = new Dictionary(); + FileSystemInfo[] allpaths; - foreach (var path in allpaths) + using (new DisposableTimer("RefreshMainTreeViewRoot -> EnumerateFileSystemInfos")) { - var relpath = path.Replace(fullPath, ""); - var filepathl = path.ToLowerInvariant(); + allpaths = new DirectoryInfo(fullPath).EnumerateFileSystemInfos("*", SearchOption.AllDirectories).ToArray(); + } - var isFile = File.Exists(path); //could be a folder + using var _ = new DisposableTimer("RefreshMainTreeViewRoot"); - UpdateStatus("Scanning " + relpath + "..."); + //var allpaths = Directory.EnumerateFileSystemEntries(fullPath, "*", SearchOption.AllDirectories); + //var allDirs = new HashSet(Directory.EnumerateDirectories(fullPath, "*", SearchOption.AllDirectories)); + //var allfiles = new HashSet(Directory.GetFiles(fullPath, "*", SearchOption.AllDirectories)); + var nodes = new ConcurrentDictionary(); - MainTreeFolder parentnode = null, prevnode = null, node = null; - var prevnodepath = ""; - var idx = isFile ? relpath.LastIndexOf('\\') : relpath.Length; - while (idx > 0) //create the folder tree nodes and build up the hierarchy + var partitioner = Partitioner.Create(allpaths, EnumerablePartitionerOptions.NoBuffering); + + Parallel.ForEach(partitioner, new ParallelOptions { MaxDegreeOfParallelism = 4, TaskScheduler = TaskScheduler.Default }, (fileEntryInfo) => + { + try { - var parentpath = relpath.Substring(0, idx); - var parentidx = parentpath.LastIndexOf('\\'); - var parentname = parentpath.Substring(parentidx + 1); - var exists = nodes.TryGetValue(parentpath, out node); - if (!exists) - { - node = CreateRootDirTreeFolder(parentname, subPath + parentpath, fullPath + parentpath); - nodes[parentpath] = node; - } - if (parentnode == null) - { - parentnode = node; - } - if (prevnode != null) - { - node.AddChild(prevnode); - } - prevnode = node; - prevnodepath = parentpath; - idx = relpath.LastIndexOf('\\', idx - 1); - if (exists) break; - if (idx < 0) - { - f.AddChild(node); - } - } + var path = fileEntryInfo.FullName; + var relpath = path.Substring(fullPath.Length); - if (isFile) - { - if (filepathl.EndsWith(".rpf")) //add RPF nodes + var isFile = fileEntryInfo is FileInfo; + //var isFile = !path.I.Contains(path); //could be a folder + + //UpdateStatus?.Invoke("Scanning " + relpath + "..."); + + MainTreeFolder parentnode = null, prevnode = null, node = null; + var prevnodepath = ""; + var idx = isFile ? relpath.LastIndexOf('\\') : relpath.Length; + while (idx > 0) //create the folder tree nodes and build up the hierarchy { - RpfFile rpf = new RpfFile(path, relpath); - - rpf.ScanStructure(UpdateStatus, UpdateErrorLog); - - if (rpf.LastException != null) //incase of corrupted rpf (or renamed NG encrypted RPF) + var parentpath = relpath.Substring(0, idx); + var parentidx = parentpath.LastIndexOf('\\'); + var parentname = parentpath.Substring(parentidx + 1); + var exists = true; + node = nodes.GetOrAdd(parentpath, (key) => { - continue; - } - - node = CreateRpfTreeFolder(rpf, relpath, path); - - RecurseMainTreeViewRPF(node, allRpfs); - - if (parentnode != null) + //Console.WriteLine($"Creating treenode for {parentpath}"); + var node = CreateRootDirTreeFolder(parentname, subPath + parentpath, fullPath + parentpath); + exists = false; + return node; + }); + parentnode ??= node; + if (prevnode != null) { - parentnode.AddChild(node); + node.AddChild(prevnode); } - else + prevnode = node; + prevnodepath = parentpath; + idx = relpath.LastIndexOf('\\', idx - 1); + + if (exists) break; + if (idx < 0) { f.AddChild(node); } } - else + + if (isFile) { - if (parentnode != null) + if (path.EndsWith(".rpf", StringComparison.OrdinalIgnoreCase)) //add RPF nodes { - parentnode.AddFile(path); + RpfFile rpf = new RpfFile(path, relpath); + + rpf.ScanStructure(updateStatus: null, UpdateErrorLog); + + if (rpf.LastException != null) //incase of corrupted rpf (or renamed NG encrypted RPF) + { + return; + } + + node = CreateRpfTreeFolder(rpf, relpath, path); + + RecurseMainTreeViewRPF(node, allRpfs); + + if (parentnode != null) + { + parentnode.AddChild(node); + } + else + { + f.AddChild(node); + } } else { - f.AddFile(path); + JenkIndex.Ensure(Path.GetFileNameWithoutExtension(path)); + if (parentnode != null) + { + parentnode.AddFile(path); + } + else + { + f.AddFile(path); + } } } } - } + catch (Exception ex) { + Console.WriteLine(ex); + UpdateErrorLog(ex.ToString()); + } + }); - - AddMainTreeViewRoot(f); + var rootNode = CreateTreeNode(f); if (f.Children != null) { - f.Children.Sort((n1, n2) => n1.Name.CompareTo(n2.Name)); + f.Children.Sort((n1, n2) => StringComparer.OrdinalIgnoreCase.Compare(n1.Name, n2.Name)); foreach (var node in f.Children) { @@ -826,13 +893,14 @@ namespace CodeWalker } } - if (AllRpfs == null) + if (gameRoot) { - AllRpfs = allRpfs; + AllRpfs = allRpfs.ToList(); } + return rootNode; } - private void RecurseMainTreeViewRPF(MainTreeFolder f, List allRpfs) + private void RecurseMainTreeViewRPF(MainTreeFolder f, ConcurrentBag allRpfs) { var rootpath = GTAFolder.GetCurrentGTAFolderWithTrailingSlash(); @@ -870,11 +938,9 @@ namespace CodeWalker { foreach (RpfEntry entry in rpf.AllEntries) { - if (string.IsNullOrEmpty(entry.NameLower)) continue; - var shortnamel = entry.GetShortNameLower(); - JenkIndex.Ensure(shortnamel); - entry.ShortNameHash = JenkHash.GenHash(shortnamel); - entry.NameHash = JenkHash.GenHash(entry.NameLower); + if (string.IsNullOrEmpty(entry.Name)) continue; + var shortName = entry.ShortName; + JenkIndex.EnsureLower(shortName); } } } @@ -902,22 +968,33 @@ namespace CodeWalker } catch { } } + + private TreeNode CreateTreeNode(MainTreeFolder f) + { + int imgIndex = 1; //FOLDER imageIndex + if (string.IsNullOrEmpty(f.Path)) imgIndex = 0; //ROOT imageIndex + var rn = new TreeNode(f.Name, imgIndex, imgIndex); + rn.Name = f.Path; + rn.ToolTipText = f.FullPath; + rn.Tag = f; + + f.TreeNode = rn; + + return rn; + } + private void AddMainTreeViewRoot(MainTreeFolder f) { try { if (InvokeRequired) { - Invoke(new Action(() => { AddMainTreeViewRoot(f); })); + BeginInvoke(new Action(() => { AddMainTreeViewRoot(f); })); } else { - int imgIndex = 1; //FOLDER imageIndex - if (string.IsNullOrEmpty(f.Path)) imgIndex = 0; //ROOT imageIndex - var rn = MainTreeView.Nodes.Add(f.Path, f.Name, imgIndex, imgIndex); - rn.ToolTipText = f.FullPath; - rn.Tag = f; - f.TreeNode = rn; + var node = CreateTreeNode(f); + MainTreeView.Nodes.Add(node); } } catch { } @@ -926,19 +1003,19 @@ namespace CodeWalker { try { - if (InvokeRequired) - { - Invoke(new Action(() => { AddMainTreeViewNode(f); })); - } - else - { + //if (InvokeRequired) + //{ + // Invoke(new Action(() => { AddMainTreeViewNode(f); })); + //} + //else + //{ string n = f.Name; var root = f.Parent?.TreeNode; RecurseAddMainTreeViewNodes(f, root); root.Expand(); - } + //} } catch { } } @@ -958,7 +1035,7 @@ namespace CodeWalker if (f.Children != null) { - f.Children.Sort((n1, n2) => n1.Name.CompareTo(n2.Name)); + f.Children.Sort((n1, n2) => StringComparer.OrdinalIgnoreCase.Compare(n1.Name, n2.Name)); foreach (var child in f.Children) { @@ -1090,7 +1167,7 @@ namespace CodeWalker { if (f.Parent == null) return; - f.Parent.Children?.Remove(f); + f.Parent.RemoveChild(f); if (f.TreeNode != null) { @@ -1130,13 +1207,13 @@ namespace CodeWalker { if ((child != tnf) && (child.Path == tnf.Path)) { - pfolder.Children.Remove(child); + pfolder.RemoveChild(child); child.TreeNode.Remove(); break; } } } - RecurseMainTreeViewRPF(tnf, AllRpfs); + RecurseMainTreeViewRPF(tnf, new ConcurrentBag(AllRpfs)); RecurseAddMainTreeViewNodes(tnf, pfolder.TreeNode); } private void EnsureImportedFolder(RpfDirectoryEntry entry, RpfDirectoryEntry parentrpffldr) @@ -1265,9 +1342,9 @@ namespace CodeWalker CurrentFiles.Clear(); - UpdateStatus("Searching..."); + UpdateStatus?.Invoke("Searching..."); - var term = text.ToLowerInvariant(); + var term = text; //Task.Run(() => //{ @@ -1280,11 +1357,11 @@ namespace CodeWalker if (Searching) { Searching = false; - UpdateStatus("Search complete. " + resultcount.ToString() + " items found."); + UpdateStatus?.Invoke("Search complete. " + resultcount.ToString() + " items found."); } else { - UpdateStatus("Search aborted. " + resultcount.ToString() + " items found."); + UpdateStatus?.Invoke("Search aborted. " + resultcount.ToString() + " items found."); } Cursor = Cursors.Default; @@ -1429,7 +1506,7 @@ namespace CodeWalker } - private void View(MainListItem item) + public void View(MainListItem item) { #if !DEBUG try @@ -1468,7 +1545,7 @@ namespace CodeWalker if (fe == null) { //this should only happen when opening a file from filesystem... - fe = CreateFileEntry(name, path, ref data); + fe = RpfFile.CreateFileEntry(name, path, ref data); } switch (ft.DefaultAction) @@ -1665,37 +1742,8 @@ namespace CodeWalker } private void ViewModel(string name, string path, byte[] data, RpfFileEntry e) { - var nl = e?.NameLower ?? ""; - var fe = Path.GetExtension(nl); ModelForm f = new ModelForm(this); - f.Show(); - switch (fe) - { - case ".ydr": - var ydr = RpfFile.GetFile(e, data); - f.LoadModel(ydr); - break; - case ".ydd": - var ydd = RpfFile.GetFile(e, data); - f.LoadModels(ydd); - break; - case ".yft": - var yft = RpfFile.GetFile(e, data); - f.LoadModel(yft); - break; - case ".ybn": - var ybn = RpfFile.GetFile(e, data); - f.LoadModel(ybn); - break; - case ".ypt": - var ypt = RpfFile.GetFile(e, data); - f.LoadParticles(ypt); - break; - case ".ynv": - var ynv = RpfFile.GetFile(e, data); - f.LoadNavmesh(ynv); - break; - } + f.ViewModel(data, e); } private void ViewCut(string name, string path, byte[] data, RpfFileEntry e) { @@ -1823,44 +1871,20 @@ namespace CodeWalker f.LoadMeta(ypdb); } - private RpfFileEntry CreateFileEntry(string name, string path, ref byte[] data) - { - //this should only really be used when loading a file from the filesystem. - RpfFileEntry e = null; - uint rsc7 = (data?.Length > 4) ? BitConverter.ToUInt32(data, 0) : 0; - if (rsc7 == 0x37435352) //RSC7 header present! create RpfResourceFileEntry and decompress data... - { - e = RpfFile.CreateResourceFileEntry(ref data, 0);//"version" should be loadable from the header in the data.. - data = ResourceBuilder.Decompress(data); - } - else - { - var be = new RpfBinaryFileEntry(); - be.FileSize = (uint)data?.Length; - be.FileUncompressedSize = be.FileSize; - e = be; - } - e.Name = name; - e.NameLower = name?.ToLowerInvariant(); - e.NameHash = JenkHash.GenHash(e.NameLower); - e.ShortNameHash = JenkHash.GenHash(Path.GetFileNameWithoutExtension(e.NameLower)); - e.Path = path; - return e; - } - private Form FindExistingForm(RpfFileEntry e) { if (e == null) return null; var allforms = Application.OpenForms; - var path = e.Path.ToLowerInvariant(); + var path = e.Path; foreach (var form in allforms) { - var metaform = form as MetaForm; - if (metaform?.rpfFileEntry == e) return metaform; - if (metaform?.rpfFileEntry?.Path?.ToLowerInvariant() == path) - return metaform; //need to test the path as well since the file entry may have been replaced by a new version..! - + if (form is MetaForm metaForm) + { + if (metaForm.rpfFileEntry == e) return metaForm; + if (metaForm.rpfFileEntry?.Path?.Equals(path, StringComparison.OrdinalIgnoreCase) ?? false) + return metaForm; //need to test the path as well since the file entry may have been replaced by a new version..! + } } return null; } @@ -1986,7 +2010,7 @@ namespace CodeWalker private void EnsureEditModeWarning() { - bool mods = CurrentFolder.Path.ToLowerInvariant().StartsWith("mods"); + bool mods = CurrentFolder.Path.StartsWith("mods", StringComparison.OrdinalIgnoreCase); bool srch = CurrentFolder?.IsSearchResults ?? false; bool fsys = CurrentFolder?.RpfFolder == null; bool game = CurrentFolder?.Path != CurrentFolder?.FullPath; @@ -2109,13 +2133,21 @@ namespace CodeWalker var idx = MainListView.SelectedIndices[0]; if ((idx < 0) || (idx >= CurrentFiles.Count)) return; var file = CurrentFiles[idx]; - var nl = file?.File?.NameLower ?? file?.Name?.ToLowerInvariant(); + var nl = file?.File?.Name ?? file?.Name; if (!string.IsNullOrEmpty(nl)) { - needfolder = nl.EndsWith(".ytd") || nl.EndsWith(".ydr") || nl.EndsWith(".ydd") || nl.EndsWith(".yft") || nl.EndsWith(".ypt") || nl.EndsWith(".awc") || nl.EndsWith(".fxc"); + needfolder = nl.EndsWith(".ytd", StringComparison.OrdinalIgnoreCase) + || nl.EndsWith(".ydr", StringComparison.OrdinalIgnoreCase) + || nl.EndsWith(".ydd", StringComparison.OrdinalIgnoreCase) + || nl.EndsWith(".yft", StringComparison.OrdinalIgnoreCase) + || nl.EndsWith(".ypt", StringComparison.OrdinalIgnoreCase) + || nl.EndsWith(".awc", StringComparison.OrdinalIgnoreCase) + || nl.EndsWith(".fxc", StringComparison.OrdinalIgnoreCase); } } + var refreshNeeded = false; + if ((MainListView.SelectedIndices.Count == 1) && (!needfolder)) { var idx = MainListView.SelectedIndices[0]; @@ -2138,7 +2170,7 @@ namespace CodeWalker { //this should only happen when opening a file from filesystem... var name = new FileInfo(file.FullPath).Name; - fentry = CreateFileEntry(name, file.FullPath, ref data); + fentry = RpfFile.CreateFileEntry(name, file.FullPath, ref data); } string xml = MetaXml.GetXml(fentry, data, out newfn); @@ -2155,6 +2187,12 @@ namespace CodeWalker try { File.WriteAllText(path, xml); + if (CurrentFolder.FullPath.Equals(Path.GetDirectoryName(path), StringComparison.OrdinalIgnoreCase)) + { + CurrentFolder.EnsureFile(path); + refreshNeeded = true; + } + } catch (Exception ex) { @@ -2193,7 +2231,7 @@ namespace CodeWalker { //this should only happen when opening a file from filesystem... var name = new FileInfo(file.FullPath).Name; - fentry = CreateFileEntry(name, file.FullPath, ref data); + fentry = RpfFile.CreateFileEntry(name, file.FullPath, ref data); } string xml = MetaXml.GetXml(fentry, data, out newfn, folderpath); @@ -2207,6 +2245,11 @@ namespace CodeWalker try { File.WriteAllText(path, xml); + if (CurrentFolder.FullPath.Equals(Path.GetDirectoryName(path), StringComparison.OrdinalIgnoreCase)) + { + CurrentFolder.EnsureFile(path); + refreshNeeded = true; + } } catch (Exception ex) { @@ -2221,6 +2264,10 @@ namespace CodeWalker MessageBox.Show("Errors were encountered:\n" + errstr); } } + + if (refreshNeeded) { + RefreshMainListView(); + } } private void ExtractRaw() { @@ -2504,7 +2551,7 @@ namespace CodeWalker } if (!IsFilenameOk(fname)) return; //new name contains invalid char(s). don't do anything - if (!fname.ToLowerInvariant().EndsWith(".rpf")) + if (!fname.EndsWith(".rpf", StringComparison.OrdinalIgnoreCase)) { fname = fname + ".rpf";//make sure it ends with .rpf } @@ -2541,7 +2588,7 @@ namespace CodeWalker if (newrpf != null) { var node = CreateRpfTreeFolder(newrpf, newrpf.Path, GTAFolder.GetCurrentGTAFolderWithTrailingSlash() + newrpf.Path); - RecurseMainTreeViewRPF(node, AllRpfs); + RecurseMainTreeViewRPF(node, new ConcurrentBag(AllRpfs)); AddNewFolderTreeNode(node); } @@ -2558,7 +2605,7 @@ namespace CodeWalker } if (!IsFilenameOk(fname)) return; //new name contains invalid char(s). don't do anything - if (!fname.ToLowerInvariant().EndsWith(".ytd")) + if (!fname.EndsWith(".ytd", StringComparison.OrdinalIgnoreCase)) { fname = fname + ".ytd";//make sure it ends with .ytd } @@ -2614,10 +2661,9 @@ namespace CodeWalker var fi = new FileInfo(fpath); var fname = fi.Name; - var fnamel = fname.ToLowerInvariant(); var trimlength = 4; - if (!fnamel.EndsWith(".fbx")) + if (!fname.EndsWith(".fbx", StringComparison.OrdinalIgnoreCase)) { MessageBox.Show(fname + ": Not an FBX file!", "Cannot import FBX"); continue; @@ -2687,6 +2733,20 @@ namespace CodeWalker if (!EnsureRpfValidEncryption() && (CurrentFolder.RpfFolder != null)) return; + if (MainListView.SelectedIndices.Count > 0) + { + var paths = new List(); + for (int i = 0; i < MainListView.SelectedIndices.Count; i++) + { + var idx = MainListView.SelectedIndices[i]; + if ((idx < 0) || (idx >= CurrentFiles.Count)) continue; + + paths.Add(CurrentFiles[idx].FullPath); + } + ImportXml(paths.ToArray()); + return; + } + OpenFileDialog.Filter = "XML Files|*.xml"; if (OpenFileDialog.ShowDialog(this) != DialogResult.OK) return; ImportXml(OpenFileDialog.FileNames); @@ -2706,20 +2766,18 @@ namespace CodeWalker var fi = new FileInfo(fpath); var fname = fi.Name; - var fnamel = fname.ToLowerInvariant(); var fpathin = fpath; - if (!fnamel.EndsWith(".xml")) + if (!fname.EndsWith(".xml", StringComparison.OrdinalIgnoreCase)) { MessageBox.Show(fname + ": Not an XML file!", "Cannot import XML"); continue; } var trimlength = 4; - var mformat = XmlMeta.GetXMLFormat(fnamel, out trimlength); + var mformat = XmlMeta.GetXMLFormat(fname, out trimlength); fname = fname.Substring(0, fname.Length - trimlength); - fnamel = fnamel.Substring(0, fnamel.Length - trimlength); fpathin = fpathin.Substring(0, fpathin.Length - trimlength); fpathin = Path.Combine(Path.GetDirectoryName(fpathin), Path.GetFileNameWithoutExtension(fpathin)); @@ -2926,7 +2984,7 @@ namespace CodeWalker { Clipboard.SetText(fnames.ToString()); } - UpdateStatus(CopiedFiles.Count.ToString() + " item" + ((CopiedFiles.Count != 1) ? "s" : "") + " copied"); + UpdateStatus?.Invoke(CopiedFiles.Count.ToString() + " item" + ((CopiedFiles.Count != 1) ? "s" : "") + " copied"); } private void CopyPath() { @@ -3021,7 +3079,7 @@ namespace CodeWalker //renaming a filesystem item... var dirinfo = new DirectoryInfo(item.FullPath); var newpath = Path.Combine(dirinfo.Parent.FullName, newname); - if (item.FullPath.ToLowerInvariant() == newpath.ToLowerInvariant()) + if (item.FullPath.Equals(newpath, StringComparison.OrdinalIgnoreCase)) { return;//filesystem tends to be case-insensitive... paths are the same } @@ -3281,13 +3339,14 @@ namespace CodeWalker Task.Run(() => { - RefreshMainTreeViewRoot(root); + var node = RefreshMainTreeViewRoot(root); Invoke(new Action(() => { + MainTreeView.Nodes.Add(node); MainTreeView.SelectedNode = root.TreeNode; })); - }); + }, CancellationTokenSource.Token); } private void CloseFolder(MainTreeFolder folder) { @@ -3411,15 +3470,26 @@ namespace CodeWalker } - + [MethodImpl(MethodImplOptions.AggressiveInlining)] protected override void WndProc(ref Message m) { //handle back/forward buttons globally for all the form if (m.Msg == 0x319) //WM_APPCOMMAND { var cmd = (m.LParam.ToInt64() >> 16) & 0xFFF; - if (cmd == 1) GoBack(); //APPCOMMAND_BROWSER_BACKWARD - if (cmd == 2) GoForward(); //APPCOMMAND_BROWSER_FORWARD + if (cmd == 1) + { + GoBack(); //APPCOMMAND_BROWSER_BACKWARD + } + else if (cmd == 2) + { + GoForward(); //APPCOMMAND_BROWSER_FORWARD + } + } + else if (m.Msg == 0x10) // WM_CLOSE + { + ConsoleWindow.Close(); + CancellationTokenSource.Cancel(); } base.WndProc(ref m); } @@ -3800,12 +3870,13 @@ namespace CodeWalker private void RefreshButton_Click(object sender, EventArgs e) { - Task.Run(() => + if (!Ready) return; + Task.Run(async () => { - RefreshMainTreeView(); + await RefreshMainTreeView(); - UpdateStatus("Scan complete."); - }); + UpdateStatus?.Invoke("Scan complete."); + }, CancellationTokenSource.Token); } private void EditModeButton_Click(object sender, EventArgs e) @@ -4109,6 +4180,11 @@ namespace CodeWalker SetView(System.Windows.Forms.View.List); } + private void ViewConsoleMenu_Click(object sender, EventArgs e) + { + ConsoleWindow.Show(); + } + private void ViewDetailsMenu_Click(object sender, EventArgs e) { SetView(System.Windows.Forms.View.Details); @@ -4189,13 +4265,28 @@ namespace CodeWalker public class MainTreeFolder { public string Name { get; set; } + + private string _nameLower; + public string NameLower + { + get + { + return _nameLower ??= Name.ToLowerInvariant(); + } + set + { + _nameLower = value; + } + } public string Path { get; set; } public string FullPath { get; set; } public RpfFile RpfFile { get; set; } public RpfDirectoryEntry RpfFolder { get; set; } public List Files { get; set; } + private object filesLock = new object(); public MainTreeFolder Parent { get; set; } public List Children { get; set; } + private object childrenLock = new object(); public List ListItems { get; set; } public TreeNode TreeNode { get; set; } public bool IsSearchResults { get; set; } @@ -4204,15 +4295,32 @@ namespace CodeWalker public void AddFile(string file) { - if (Files == null) Files = new List(); - Files.Add(file); + lock (filesLock) + { + if (Files == null) Files = new (); + Files.Add(file); + } } public void AddChild(MainTreeFolder child) { - if (Children == null) Children = new List(); - Children.Add(child); - child.Parent = this; + lock(childrenLock) + { + if (Children == null) Children = new List(); + Children.Add(child); + child.Parent = this; + } } + + public void RemoveChild(MainTreeFolder child) { + if (Children == null) return; + + lock(childrenLock) + { + Children.Remove(child); + child.Parent = null; + } + } + public void AddChildToHierarchy(MainTreeFolder child) { var relpath = child.Path.Replace(Path + "\\", ""); @@ -4248,9 +4356,9 @@ namespace CodeWalker } public void RemoveFile(string file) { - if (Files != null) + lock(filesLock) { - Files.Remove(file); + Files?.Remove(file); } } @@ -4270,16 +4378,19 @@ namespace CodeWalker } if (Files != null) { - foreach (var file in Files) + lock(filesLock) { - ListItems.Add(new MainListItem(file, rootpath, this)); + foreach (var file in Files) + { + ListItems.Add(new MainListItem(file, rootpath, this)); + } } } if ((RpfFolder != null) && (RpfFolder.Files != null)) { foreach (var file in RpfFolder.Files) { - if (file.NameLower.EndsWith(".rpf")) continue; //RPF files are already added.. + if (file.Name.EndsWith(".rpf", StringComparison.OrdinalIgnoreCase)) continue; //RPF files are already added.. ListItems.Add(new MainListItem(file, rootpath, this)); } } @@ -4295,7 +4406,7 @@ namespace CodeWalker { foreach (var file in RpfFolder.Files) { - if (file.NameLower.EndsWith(".rpf")) continue; //RPF files are already added.. + if (file.Name.EndsWith(".rpf", StringComparison.OrdinalIgnoreCase)) continue; //RPF files are already added.. ic++; } } @@ -4313,9 +4424,9 @@ namespace CodeWalker int resultcount = 0; //if (!form.Searching) return resultcount; - form.UpdateStatus("Searching " + Path + "..."); + form.InvokeUpdateStatus("Searching " + Path + "..."); - if (Name.ToLowerInvariant().Contains(term)) + if (Name.Contains(term, StringComparison.OrdinalIgnoreCase)) { form.AddSearchResult(new MainListItem(this)); resultcount++; @@ -4329,7 +4440,7 @@ namespace CodeWalker { //if (!form.Searching) return resultcount; var fi = new FileInfo(file); - if (fi.Name.ToLowerInvariant().Contains(term)) + if (fi.Name.Contains(term, StringComparison.OrdinalIgnoreCase)) { form.AddSearchResult(new MainListItem(file, rootpath, this)); resultcount++; @@ -4341,8 +4452,8 @@ namespace CodeWalker foreach (var file in RpfFolder.Files) { //if (!form.Searching) return resultcount; - if (file.NameLower.EndsWith(".rpf")) continue; //don't search rpf files.. - if (file.NameLower.Contains(term)) + if (file.Name.EndsWith(".rpf", StringComparison.OrdinalIgnoreCase)) continue; //don't search rpf files.. + if (file.Name.Contains(term, StringComparison.OrdinalIgnoreCase)) { form.AddSearchResult(new MainListItem(file, rootpath, this)); resultcount++; diff --git a/CodeWalker/ExploreForm.resx b/CodeWalker/ExploreForm.resx index 835a9b5..6c8152e 100644 --- a/CodeWalker/ExploreForm.resx +++ b/CodeWalker/ExploreForm.resx @@ -124,7 +124,7 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - xAAADsQBlSsOGwAAAQFJREFUOE+dkz0LglAUhv0H/ZLA3+De1FrQ4NJkY9Du3FRLEAZuRVNQS2FLRDQE + vwAADr8BOAVTJAAAAQFJREFUOE+dkz0LglAUhv0H/ZLA3+De1FrQ4NJkY9Du3FRLEAZuRVNQS2FLRDQE UWu0BBX4Mbie7nvxmslNrQMPXI/nfTgXUUlXGIaUgctQo1F5YVDTNCmmaeZLsgQgV5IUeK7/QSFJEUFS EsXelSUQiPeYjWLvQtMwDNJ1XRoGXwWsMTxfH9Sxt5zT5U6+FxQTsIfGYn+hUt2itrWhZt9h5xGXFBVM K+acerNDPAgJNklv8U2wgsBenuJBbAJB4OcI2EFluBCUW2MuwSa4jrM7xoE0XCDCte6SlOqAIBFM1kf+ @@ -134,7 +134,7 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAAGlJREFUOE/ljlsKgEAIRV1Sa3BxbncKxN9CUKbCdIboqwsHxMdB8IjIntCYebHV + vgAADr4B6kKxwAAAAGlJREFUOE/ljlsKgEAIRV1Sa3BxbncKxN9CUKbCdIboqwsHxMdB8IjIntCYebHV OLqIiCFEVEsygVJKzoK1bReGJHdBVCsusbOe7APH57prZz1PH0S9IUHElMDrqPeHDyq+E8xgZ28DcADi +uZiNACH5wAAAABJRU5ErkJggg== @@ -142,7 +142,7 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAAKZJREFUOE/Nk0sOwyAMRDlSz8CFOEQqtsldOBitYrFNNa1NXMQnCxaxNIplzzxE + vgAADr4B6kKxwAAAAKZJREFUOE/Nk0sOwyAMRDlSz8CFOEQqtsldOBitYrFNNa1NXMQnCxaxNIplzzxE ophplVI6OopE9GBrvWC01lblvR9DegBoCNGAV3z/6RLkCkBDOHZWDyCSPbwcO+segBDCd1lqCMBbFfO2 btmIHjPaqQ3gcJTFsjzziegxww6QKkDC/HmySZuxQ48ryozjEwDlFZxzOYxeoHhqcfxXAilNSo1/wJgP rxwb6AQLOW8AAAAASUVORK5CYII= @@ -151,7 +151,7 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - xAAADsQBlSsOGwAAAKtJREFUOE/NkNENwjAMRDMSM2QFfpkn3wzQLfLflQqiyq/JmVzkthZFIKRaOtU6 + vwAADr8BOAVTJAAAAKtJREFUOE/NkNENwjAMRDMSM2QFfpkn3wzQLfLflQqiyq/JmVzkthZFIKRaOtU6 3z0pDSLyk0Ip5RTq1K9YNU9vb6eGJgS1dB5U2OmtpNlWfY05rAHqxRi7UkpbCEKX66glC6BnAS6ERRQI 4I7bbbp3uRAstmwh82N2ARYCAH7WAoK9eouyFSHI8BkdAuWcNeCVoQ0AQwhMBrwy5AIwDfI9AHMswJ7+ B/hcRZ4ta4FRmq6ouAAAAABJRU5ErkJggg== @@ -160,7 +160,7 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - xAAADsQBlSsOGwAAAJVJREFUOE+1kNEJwzAMRDNSZvBCHsLFv8068VJpf/yr+oSckuQCVUMMD8Tp/MAe + vwAADr8BOAVTJAAAAJVJREFUOE+1kNEJwzAMRDNSZvBCHsLFv8068VJpf/yr+oSckuQCVUMMD8Tp/MAe ROQSNPRAQw809PAd7NRax8bSkB3IRqtxAQpWlOk5SZmLghmZ7VRyEGCBQs5Zyyk95LW8FczIbKcSJtDL XRBC2NAFXXKLYPOEGON6GXMXoIPuQbD/xBPOP/FfaOiBhh5o6IGGvyPDB6ug8Uv1Fi1pAAAAAElFTkSu QmCC @@ -169,7 +169,7 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - xAAADsQBlSsOGwAAAJ5JREFUOE/VkcEJwzAMRTNSZ/AKuWYenztAIZtkJbcp+OrkK5L5qIbEhxwqeBjZ + vwAADr8BOAVTJAAAAJ5JREFUOE/VkcEJwzAMRTNSZ/AKuWYenztAIZtkJbcp+OrkK5L5qIbEhxwqeBjZ +s9gD1w55xlo21caLkqfxMLTcxFI5Ek7D40dtW/U8DC+BJPEGEsIoYL+R+LDXsKCpgRDFuAwVpy906fS lGDIbjMB77UELBGBwQKDBV4kGR2Uh2SB3nBJIH+OhsHAun7PBb4sDFph8EeCM+4TXCeXDdS/V/ydKVLV AAAAAElFTkSuQmCC @@ -178,7 +178,7 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAAIhJREFUOE+9jlEKgCAQRD1KR+gI4Vm8u58WLfpZCbNU22oW0cJD1JnHGm1SSkOB + vgAADr4B6kKxwAAAAIhJREFUOE+9jlEKgCAQRD1KR+gI4Vm8u58WLfpZCbNU22oW0cJD1JnHGm1SSkOB DpH6xBgXDe99IKIesfLksLX2gnNOl8hVWTCG6URRclxTIgUs2f4C6vWVpYRF+R31XaAFNckjAUtoptN7 k4Dhgryj/qMgn8wrgQT1dgHi12FBjVtBC4h/OcasZcFBjvFV4nkAAAAASUVORK5CYII= @@ -186,14 +186,14 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAAFBJREFUOE9joBh8+/btPz4MVYYbgBQ5OTmBMUwTMh+qDDegigHYNBKL4S6A0chs + vgAADr4B6kKxwAAAAFBJREFUOE9joBh8+/btPz4MVYYbgBQ5OTmBMUwTMh+qDDegigHYNBKL4S6A0chs YmjauYAQhqkbTi5A1ojMJ0QTNIAQRvECNgxNb4MWMDAAAPsOTf9dAGOQAAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - xAAADsQBlSsOGwAAAVdJREFUOE+lk7FKw1AUhn0BwQdwcHJwEpzcsjkJmZ06+AABfYDqA1h3h+AiHQrS + vwAADr8BOAVTJAAAAVdJREFUOE+lk7FKw1AUhn0BwQdwcHJwEpzcsjkJmZ06+AABfYDqA1h3h+AiHQrS xUkoOjiIEFwERSgOtoqDdcl6/b+bc9OmJHbwhx+Sc/7z33NyT5acc/9iiTzP18S2mIgrFq6AuJiKA2Mr JKKfz7F7PDv11PtQrJjoPZ58jL4fTo7d2+01mqzU6CGl8Hx92fPu6ADBpeU4tTPK7l0v2nD93W2HkWKb vhjMG0A7hZGGT93UXWytemKkWGylBRTwI+AeDBATo5s508TKqlCiVWcSnulCmtTk9agzgTeH+xRPP1oT @@ -267,7 +267,7 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - xAAADsQBlSsOGwAAANNJREFUOE+lUjEOgzAM5El9A3skRthZy0yZOvE9vpCh7UCGtAtr6otslIgENepJ + vwAADr8BOAVTJAAAANNJREFUOE+lUjEOgzAM5El9A3skRthZy0yZOvE9vpCh7UCGtAtr6otslIgENepJ J2TfnZ0A1Rm2bWuIC9EFRN2wJQ8y3bXWbpomV9f1TtToQ2frEdgAk1IqCgvR5yHpk5CwyOZxvLnn4+Xe 9uOfw3XwfejwcSQGCfs2CQtRiwYfR2LgeGIKw8K2bc8H/HUCal4g9H3vTUXvgMN2nud9S4rJr5ALd10X 1cn/IBfGNYwx/q4B4z+Rimx4XVcLna1ppAb8HBaEQ4rDAhnCLAsLeEhBuKq+87Osda2nLc8AAAAASUVO @@ -277,7 +277,7 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - xAAADsQBlSsOGwAAAKJJREFUOE/VjLENAjEQBL8ESqEE5NxdfAFU4VYcUocjWnDu4DOnhwdZJyQfFoaI + vwAADr8BOAVTJAAAAKJJREFUOE/VjLENAjEQBL8ESqEE5NxdfAFU4VYcUocjWnDu4DOnhwdZJyQfFoaI lVY67e7NJiI/2QxXrEetVVZsAY5938U5NzUbthbgknMW7735iOnYsB0AqBXXlJL5jOnYsDUBqA1uMcbh mYyuz6aAU/M9hKDP3GR0ffYegNrwXEpRADdZr5+aAlB7UAB3j1V/Anh1j1UD4Fub4YrN8HPL9gAVE1vf J6IiRgAAAABJRU5ErkJggg== @@ -304,7 +304,7 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADo - HwAAAk1TRnQBSQFMAgEBGAEAAdABAQHQAQEBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + HwAAAk1TRnQBSQFMAgEBGAEAAfgBAQH4AQEBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo AwABQAMAAXADAAEBAQABCAYAARwYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA @@ -446,7 +446,7 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - xAAADsQBlSsOGwAAAJtJREFUOE+Vj8ENgCAMRdnE1ZzLCwt5cQJvjkDiRfyfUIJQEJo8U2rof5hWOedW + vwAADr8BOAVTJAAAAJtJREFUOE+Vj8ENgCAMRdnE1ZzLCwt5cQJvjkDiRfyfUIJQEJo8U2rof5hWOedW 4CNrHI8XLp3PsXjCPo7Hion3tXm/mwD7KQtJlwVTFmW6MGyRp+MYYD9kUaZjlBaQX4s8XVvQtSjTtQWk aVGmE4yrBaqFlt6jstDSCX5VBuRj0UtvLSDJopX+R7LAx868X4gGVp5hAQcz4LIxLycs8rg+vnkMAAAA AElFTkSuQmCC @@ -455,7 +455,7 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - xAAADsQBlSsOGwAAALVJREFUOE/dk70NQjEMhLMHDZuRBZiAadgD6YmGNjNAhaB4okkb/IEtvfgZIaDj + vwAADr8BOAVTJAAAALVJREFUOE/dk70NQjEMhLMHDZuRBZiAadgD6YmGNjNAhaB4okkb/IEtvfgZIaDj pCvi853y4ySPWmsWDsLmSC1r2xwiLoVlON7aandui+2pIzU0euhV2xNqHtf7y8zouTlcCRm7EFkUBN9s 8HUNKWbObM03QUOk6XEyAUN05nfEg5eAsAEaIg3i/ZOAl5doiLTpJf72jDoLJZpCg693gwRk8RjlaBo9 w1EGGvLdZ5pCxA++c0p3WGOjVX9N2kUAAAAASUVORK5CYII= @@ -467,7 +467,7 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - xAAADsQBlSsOGwAAAQFJREFUOE+dkz0LglAUhv0H/ZLA3+De1FrQ4NJkY9Du3FRLEAZuRVNQS2FLRDQE + vwAADr8BOAVTJAAAAQFJREFUOE+dkz0LglAUhv0H/ZLA3+De1FrQ4NJkY9Du3FRLEAZuRVNQS2FLRDQE UWu0BBX4Mbie7nvxmslNrQMPXI/nfTgXUUlXGIaUgctQo1F5YVDTNCmmaeZLsgQgV5IUeK7/QSFJEUFS EsXelSUQiPeYjWLvQtMwDNJ1XRoGXwWsMTxfH9Sxt5zT5U6+FxQTsIfGYn+hUt2itrWhZt9h5xGXFBVM K+acerNDPAgJNklv8U2wgsBenuJBbAJB4OcI2EFluBCUW2MuwSa4jrM7xoE0XCDCte6SlOqAIBFM1kf+ @@ -477,7 +477,7 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAAGlJREFUOE/ljlsKgEAIRV1Sa3BxbncKxN9CUKbCdIboqwsHxMdB8IjIntCYebHV + vgAADr4B6kKxwAAAAGlJREFUOE/ljlsKgEAIRV1Sa3BxbncKxN9CUKbCdIboqwsHxMdB8IjIntCYebHV OLqIiCFEVEsygVJKzoK1bReGJHdBVCsusbOe7APH57prZz1PH0S9IUHElMDrqPeHDyq+E8xgZ28DcADi +uZiNACH5wAAAABJRU5ErkJggg== @@ -485,7 +485,7 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAAKZJREFUOE/Nk0sOwyAMRDlSz8CFOEQqtsldOBitYrFNNa1NXMQnCxaxNIplzzxE + vgAADr4B6kKxwAAAAKZJREFUOE/Nk0sOwyAMRDlSz8CFOEQqtsldOBitYrFNNa1NXMQnCxaxNIplzzxE ophplVI6OopE9GBrvWC01lblvR9DegBoCNGAV3z/6RLkCkBDOHZWDyCSPbwcO+segBDCd1lqCMBbFfO2 btmIHjPaqQ3gcJTFsjzziegxww6QKkDC/HmySZuxQ48ryozjEwDlFZxzOYxeoHhqcfxXAilNSo1/wJgP rxwb6AQLOW8AAAAASUVORK5CYII= @@ -494,7 +494,7 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - xAAADsQBlSsOGwAAAKtJREFUOE/NkNENwjAMRDMSM2QFfpkn3wzQLfLflQqiyq/JmVzkthZFIKRaOtU6 + vwAADr8BOAVTJAAAAKtJREFUOE/NkNENwjAMRDMSM2QFfpkn3wzQLfLflQqiyq/JmVzkthZFIKRaOtU6 3z0pDSLyk0Ip5RTq1K9YNU9vb6eGJgS1dB5U2OmtpNlWfY05rAHqxRi7UkpbCEKX66glC6BnAS6ERRQI 4I7bbbp3uRAstmwh82N2ARYCAH7WAoK9eouyFSHI8BkdAuWcNeCVoQ0AQwhMBrwy5AIwDfI9AHMswJ7+ B/hcRZ4ta4FRmq6ouAAAAABJRU5ErkJggg== @@ -503,7 +503,7 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - xAAADsQBlSsOGwAAAJVJREFUOE+1kNEJwzAMRDNSZvBCHsLFv8068VJpf/yr+oSckuQCVUMMD8Tp/MAe + vwAADr8BOAVTJAAAAJVJREFUOE+1kNEJwzAMRDNSZvBCHsLFv8068VJpf/yr+oSckuQCVUMMD8Tp/MAe ROQSNPRAQw809PAd7NRax8bSkB3IRqtxAQpWlOk5SZmLghmZ7VRyEGCBQs5Zyyk95LW8FczIbKcSJtDL XRBC2NAFXXKLYPOEGON6GXMXoIPuQbD/xBPOP/FfaOiBhh5o6IGGvyPDB6ug8Uv1Fi1pAAAAAElFTkSu QmCC @@ -512,7 +512,7 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - xAAADsQBlSsOGwAAAJ5JREFUOE/VkcEJwzAMRTNSZ/AKuWYenztAIZtkJbcp+OrkK5L5qIbEhxwqeBjZ + vwAADr8BOAVTJAAAAJ5JREFUOE/VkcEJwzAMRTNSZ/AKuWYenztAIZtkJbcp+OrkK5L5qIbEhxwqeBjZ +s9gD1w55xlo21caLkqfxMLTcxFI5Ek7D40dtW/U8DC+BJPEGEsIoYL+R+LDXsKCpgRDFuAwVpy906fS lGDIbjMB77UELBGBwQKDBV4kGR2Uh2SB3nBJIH+OhsHAun7PBb4sDFph8EeCM+4TXCeXDdS/V/ydKVLV AAAAAElFTkSuQmCC @@ -521,7 +521,7 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAAIhJREFUOE+9jlEKgCAQRD1KR+gI4Vm8u58WLfpZCbNU22oW0cJD1JnHGm1SSkOB + vgAADr4B6kKxwAAAAIhJREFUOE+9jlEKgCAQRD1KR+gI4Vm8u58WLfpZCbNU22oW0cJD1JnHGm1SSkOB DpH6xBgXDe99IKIesfLksLX2gnNOl8hVWTCG6URRclxTIgUs2f4C6vWVpYRF+R31XaAFNckjAUtoptN7 k4Dhgryj/qMgn8wrgQT1dgHi12FBjVtBC4h/OcasZcFBjvFV4nkAAAAASUVORK5CYII= @@ -529,14 +529,14 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAAFBJREFUOE9joBh8+/btPz4MVYYbgBQ5OTmBMUwTMh+qDDegigHYNBKL4S6A0chs + vgAADr4B6kKxwAAAAFBJREFUOE9joBh8+/btPz4MVYYbgBQ5OTmBMUwTMh+qDDegigHYNBKL4S6A0chs YmjauYAQhqkbTi5A1ojMJ0QTNIAQRvECNgxNb4MWMDAAAPsOTf9dAGOQAAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1 - MAAA6mAAADqYAAAXb5JfxUYAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAFjSURBVDhPpVOxSsNQFM0PCP2A + MAAA6mAAADqYAAAXb5JfxUYAAAAJcEhZcwAADr8AAA6/ATgFUyQAAAFjSURBVDhPpVOxSsNQFM0PCP2A Dp0cOgmd3Lo5CU4OTh0E14B+QPQDrLtDcBEHRRx0KgQdFKQQXARRENFGxeHpkvV5zs195kUSHXrg0Mc9 956c5N0GRJ7nLTAGLWjAUIRfQD3SHsclJ4RPFyO732sLs/S6FAGcO2B6s7tj92Zn7P3pEfVIZWlIxttb IpIni/P28y1jEiYLeT7fWBWNfagd62gBNjGBMyAvN9fZaD4e7sSQNZqgloItHS3AAoXbg7hiwqfxlXj2 @@ -551,7 +551,7 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAAIhJREFUOE+9jlEKgCAQRD1KR+gI4Vm8u58WLfpZCbNU22oW0cJD1JnHGm1SSkOB + vgAADr4B6kKxwAAAAIhJREFUOE+9jlEKgCAQRD1KR+gI4Vm8u58WLfpZCbNU22oW0cJD1JnHGm1SSkOB DpH6xBgXDe99IKIesfLksLX2gnNOl8hVWTCG6URRclxTIgUs2f4C6vWVpYRF+R31XaAFNckjAUtoptN7 k4Dhgryj/qMgn8wrgQT1dgHi12FBjVtBC4h/OcasZcFBjvFV4nkAAAAASUVORK5CYII= @@ -559,7 +559,7 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - xAAADsQBlSsOGwAAALNJREFUOE9jIAS+fftmAMTvgfg/NgxVhh0AFYA1t7W1/XdycsLAKAbATETHIM3N + vwAADr8BOAVTJAAAALNJREFUOE9jIAS+fftmAMTvgfg/NgxVhh0AFYA1t7W1/XdycsLAKAbATETHIM3N zS3/P7z/iIKxGoBuAwgja4aJ4TUAppgQpp4BIAKGyTYAxCEWYzPgfH5+PoZCXPjokaMYBjQsX74cQyEu 3NfXj2GAwZUrVzAU4sLJScmoBkBj4H1kZCSGYlz41s3bYBrZgPm4kis2vH7dejCNbEDCvn37MBQSwsgG CIA45GCG//8pwf8ZANa5gGyReLItAAAAAElFTkSuQmCC diff --git a/CodeWalker/Forms/MetaForm.cs b/CodeWalker/Forms/MetaForm.cs index 47b1826..941aeb4 100644 --- a/CodeWalker/Forms/MetaForm.cs +++ b/CodeWalker/Forms/MetaForm.cs @@ -185,7 +185,7 @@ namespace CodeWalker.Forms if (string.IsNullOrEmpty(FileName)) saveAs = true; if (string.IsNullOrEmpty(FilePath)) saveAs = true; - else if ((FilePath.ToLowerInvariant().StartsWith(GTAFolder.CurrentGTAFolder.ToLowerInvariant()))) saveAs = true; + else if (FilePath.StartsWith(GTAFolder.CurrentGTAFolder, StringComparison.OrdinalIgnoreCase)) saveAs = true; if (!File.Exists(FilePath)) saveAs = true; var fn = FilePath; @@ -456,7 +456,7 @@ namespace CodeWalker.Forms if (rpfFileEntry?.Parent != null) { - if (!rpfFileEntry.Path.ToLowerInvariant().StartsWith("mods")) + if (!rpfFileEntry.Path.StartsWith("mods", StringComparison.OrdinalIgnoreCase)) { if (MessageBox.Show("This file is NOT located in the mods folder - Are you SURE you want to save this file?\r\nWARNING: This could cause permanent damage to your game!!!", "WARNING: Are you sure about this?", MessageBoxButtons.YesNo) != DialogResult.Yes) { diff --git a/CodeWalker/Forms/ModelForm.Designer.cs b/CodeWalker/Forms/ModelForm.Designer.cs index f87b728..09b04a1 100644 --- a/CodeWalker/Forms/ModelForm.Designer.cs +++ b/CodeWalker/Forms/ModelForm.Designer.cs @@ -1,4 +1,6 @@ -namespace CodeWalker.Forms +using CodeWalker.WinForms; + +namespace CodeWalker.Forms { partial class ModelForm { diff --git a/CodeWalker/Forms/ModelForm.cs b/CodeWalker/Forms/ModelForm.cs index 37965d9..a89cd96 100644 --- a/CodeWalker/Forms/ModelForm.cs +++ b/CodeWalker/Forms/ModelForm.cs @@ -29,7 +29,6 @@ namespace CodeWalker.Forms volatile bool formopen = false; //volatile bool running = false; - volatile bool pauserendering = false; //volatile bool initialised = false; Stopwatch frametimer = new Stopwatch(); @@ -46,6 +45,8 @@ namespace CodeWalker.Forms System.Drawing.Point MouseLastPoint; bool MouseInvert = Settings.Default.MouseInvert; + int VerticesCount = 0; + Vector3 prevworldpos = new Vector3(0, 0, 0); //also the start pos @@ -69,6 +70,7 @@ namespace CodeWalker.Forms } } public string FilePath { get; set; } + public bool Pauserendering { get; set; } YdrFile Ydr = null; YddFile Ydd = null; @@ -128,13 +130,70 @@ namespace CodeWalker.Forms public ModelForm(ExploreForm ExpForm = null) { + if (this.DesignMode) return; InitializeComponent(); exploreForm = ExpForm; - gameFileCache = ExpForm?.GetFileCache(); + gameFileCache = ExpForm?.GetFileCache() ?? GameFileCacheFactory.Create(); + + if (ExpForm == null) + { + gameFileCache.EnableDlc = false; + gameFileCache.EnableMods = false; + gameFileCache.LoadPeds = false; + gameFileCache.LoadVehicles = false; + gameFileCache.LoadArchetypes = false;//to speed things up a little + gameFileCache.BuildExtendedJenkIndex = true;//to speed things up a little + gameFileCache.DoFullStringIndex = false;//to get all global text from DLC... + Task.Run(() => { + try + { + gameFileCache.Init(); + if (DetailsPropertyGrid.SelectedObject is DrawableBase drawableBase) + { + UpdateDrawableUI(drawableBase); + } + if (Yft != null) + { + UpdateDrawableUI(Yft.Fragment?.Drawable); + } + UpdateStatus("Done loading"); + } + catch(Exception ex) + { + Console.WriteLine(ex); + throw ex; + } + + }); + + Task.Run(() => + { + while (!IsDisposed) //run the file cache content thread until the form exits. + { + if (gameFileCache.IsInited) + { + gameFileCache.BeginFrame(); + + bool fcItemsPending = gameFileCache.ContentThreadProc(); + + if (!fcItemsPending) + { + Thread.Sleep(10); + } + } + else + { + Thread.Sleep(20); + } + } + }); + } + Renderer = new Renderer(this, gameFileCache); + Renderer.waitforchildrentoload = false; camera = Renderer.camera; timecycle = Renderer.timecycle; weather = Renderer.weather; @@ -159,7 +218,7 @@ namespace CodeWalker.Forms private void Init() { //called from ModelForm_Load - + if (this.DesignMode) return; if (!initedOk) { Close(); @@ -260,13 +319,21 @@ namespace CodeWalker.Forms public void BuffersResized(int w, int h) { Renderer.BuffersResized(w, h); + if (WindowState == FormWindowState.Minimized && gameFileCache.IsInited) + { + Console.WriteLine("Clearing cache"); + gameFileCache.Clear(); + gameFileCache.IsInited = true; + GC.Collect(); + } + } public void RenderScene(DeviceContext context) { float elapsed = (float)frametimer.Elapsed.TotalSeconds; frametimer.Restart(); - if (pauserendering) return; + if (Pauserendering) return; if (!Monitor.TryEnter(Renderer.RenderSyncRoot, 50)) { return; } //couldn't get a lock, try again next time @@ -627,6 +694,47 @@ namespace CodeWalker.Forms selectedLight.UpdateRenderable = true; } + public void ViewModel(string path) + { + var data = File.ReadAllBytes(path); + var fileEntry = RpfFile.CreateFileEntry(Path.GetFileName(path), path, ref data); + ViewModel(data, fileEntry); + } + + public void ViewModel(byte[] data, RpfFileEntry e) + { + var nl = e?.NameLower ?? ""; + var fe = Path.GetExtension(nl); + Show(); + switch (fe) + { + case ".ydr": + var ydr = RpfFile.GetFile(e, data); + LoadModel(ydr); + break; + case ".ydd": + var ydd = RpfFile.GetFile(e, data); + LoadModels(ydd); + break; + case ".yft": + var yft = RpfFile.GetFile(e, data); + LoadModel(yft); + break; + case ".ybn": + var ybn = RpfFile.GetFile(e, data); + LoadModel(ybn); + break; + case ".ypt": + var ypt = RpfFile.GetFile(e, data); + LoadParticles(ypt); + break; + case ".ynv": + var ynv = RpfFile.GetFile(e, data); + LoadNavmesh(ynv); + break; + } + } + private void RenderSingleItem() { @@ -794,10 +902,10 @@ namespace CodeWalker.Forms Yft = yft; rpfFileEntry = Yft.RpfFileEntry; ModelHash = Yft.RpfFileEntry?.ShortNameHash ?? 0; - var namelower = Yft.RpfFileEntry?.GetShortNameLower(); - if (namelower?.EndsWith("_hi") ?? false) + var namelower = Yft.RpfFileEntry?.ShortName; + if (namelower?.EndsWith("_hi", StringComparison.OrdinalIgnoreCase) ?? false) { - ModelHash = JenkHash.GenHash(namelower.Substring(0, namelower.Length - 3)); + ModelHash = JenkHash.GenHashLower(namelower.Substring(0, namelower.Length - 3)); } if (ModelHash != 0) { @@ -843,6 +951,7 @@ namespace CodeWalker.Forms UpdateBoundsUI(ybn); } + public void LoadParticles(YptFile ypt) { if (ypt == null) return; @@ -948,7 +1057,7 @@ namespace CodeWalker.Forms if (gameFileCache == null) return; if (!gameFileCache.IsInited) return;//what to do here? wait for it..? - var ycdhash = JenkHash.GenHash(name.ToLowerInvariant()); + var ycdhash = JenkHash.GenHashLower(name); var ycd = gameFileCache.GetYcd(ycdhash); while ((ycd != null) && (!ycd.Loaded)) { @@ -1097,19 +1206,15 @@ namespace CodeWalker.Forms } - - - - private void UpdateModelsUI(DrawableBase drawable, object detailsObject = null) + public void UpdateDrawableUI(DrawableBase drawable) { - DetailsPropertyGrid.SelectedObject = detailsObject ?? drawable; - DrawableDrawFlags.Clear(); Renderer.SelectionModelDrawFlags.Clear(); Renderer.SelectionGeometryDrawFlags.Clear(); ModelsTreeView.Nodes.Clear(); ModelsTreeView.ShowRootLines = false; TexturesTreeView.Nodes.Clear(); + if (drawable != null) { AddDrawableModelsTreeNodes(drawable.DrawableModels?.High, "High Detail", true); @@ -1162,6 +1267,15 @@ namespace CodeWalker.Forms } } } + + + private void UpdateModelsUI(DrawableBase drawable, object detailsObject = null) + { + DetailsPropertyGrid.SelectedObject = detailsObject ?? drawable; + + UpdateDrawableUI(drawable); + } + private void UpdateModelsUI(Dictionary dict) { //DetailsPropertyGrid.SelectedObject = dict; //this won't look good... @@ -1238,6 +1352,7 @@ namespace CodeWalker.Forms dnode.Tag = drawable; dnode.Checked = check; + VerticesCount = 0; AddDrawableModelsTreeNodes(drawable.DrawableModels?.High, "High Detail", true, dnode); AddDrawableModelsTreeNodes(drawable.DrawableModels?.Med, "Medium Detail", false, dnode); AddDrawableModelsTreeNodes(drawable.DrawableModels?.Low, "Low Detail", false, dnode); @@ -1272,6 +1387,7 @@ namespace CodeWalker.Forms foreach (var geom in model.Geometries) { var gname = geom.ToString(); + VerticesCount += geom.VerticesCount; var gnode = mnode.Nodes.Add(gname); gnode.Tag = geom; gnode.Checked = true;// check; @@ -1545,6 +1661,10 @@ namespace CodeWalker.Forms { td = Ypt?.PtfxList?.TextureDictionary; } + else if ((Ydd != null) && (Ydd.Loaded)) + { + td = Ydd?.Drawables.First().ShaderGroup?.TextureDictionary; + } if (td != null) { @@ -1649,7 +1769,7 @@ namespace CodeWalker.Forms } else { - if ((FilePath.ToLowerInvariant().StartsWith(GTAFolder.CurrentGTAFolder.ToLowerInvariant()))) saveAs = true; + if (FilePath.StartsWith(GTAFolder.CurrentGTAFolder, StringComparison.OrdinalIgnoreCase)) saveAs = true; if (!File.Exists(FilePath)) saveAs = true; } @@ -1727,7 +1847,7 @@ namespace CodeWalker.Forms if (rpfSave) { - if (!rpfFileEntry.Path.ToLowerInvariant().StartsWith("mods")) + if (!rpfFileEntry.Path.StartsWith("mods", StringComparison.OrdinalIgnoreCase)) { if (MessageBox.Show("This file is NOT located in the mods folder - Are you SURE you want to save this file?\r\nWARNING: This could cause permanent damage to your game!!!", "WARNING: Are you sure about this?", MessageBoxButtons.YesNo) != DialogResult.Yes) { @@ -1985,7 +2105,7 @@ namespace CodeWalker.Forms File.WriteAllBytes(fpath, dds); successcount++; } - catch + catch(Exception ex) { errordds.Add(tex.Name ?? "???"); } @@ -2303,7 +2423,7 @@ namespace CodeWalker.Forms private void StatsUpdateTimer_Tick(object sender, EventArgs e) { - StatsLabel.Text = Renderer.GetStatusText(); + StatsLabel.Text = Renderer.GetStatusText() + $" verts: {VerticesCount}"; if (Renderer.timerunning) { diff --git a/CodeWalker/Forms/ModelMatForm.cs b/CodeWalker/Forms/ModelMatForm.cs index ecbc47e..0bbeac4 100644 --- a/CodeWalker/Forms/ModelMatForm.cs +++ b/CodeWalker/Forms/ModelMatForm.cs @@ -226,7 +226,7 @@ namespace CodeWalker.Forms if (ttex == null)//don't do this for embedded textures! { tex.Name = txt; - tex.NameHash = JenkHash.GenHash(txt.ToLowerInvariant()); + tex.NameHash = JenkHash.GenHashLower(txt); } else { diff --git a/CodeWalker/Forms/RelForm.cs b/CodeWalker/Forms/RelForm.cs index b011dfb..4a629e1 100644 --- a/CodeWalker/Forms/RelForm.cs +++ b/CodeWalker/Forms/RelForm.cs @@ -246,7 +246,7 @@ namespace CodeWalker.Forms if (rpfFileEntry?.Parent != null) { - if (!rpfFileEntry.Path.ToLowerInvariant().StartsWith("mods")) + if (!rpfFileEntry.Path.StartsWith("mods", StringComparison.OrdinalIgnoreCase)) { if (MessageBox.Show("This file is NOT located in the mods folder - Are you SURE you want to save this file?\r\nWARNING: This could cause permanent damage to your game!!!", "WARNING: Are you sure about this?", MessageBoxButtons.YesNo) != DialogResult.Yes) { @@ -383,7 +383,7 @@ namespace CodeWalker.Forms if (string.IsNullOrEmpty(FileName)) saveAs = true; if (string.IsNullOrEmpty(FilePath)) saveAs = true; - else if ((FilePath.ToLowerInvariant().StartsWith(GTAFolder.CurrentGTAFolder.ToLowerInvariant()))) saveAs = true; + else if (FilePath.StartsWith(GTAFolder.CurrentGTAFolder, StringComparison.OrdinalIgnoreCase)) saveAs = true; if (!File.Exists(FilePath)) saveAs = true; var fn = FilePath; @@ -536,8 +536,8 @@ namespace CodeWalker.Forms { if (textsearch) { - if (((rd.Name?.ToLowerInvariant().Contains(textl)) ?? false) || (rd.NameHash == hash) || (rd.NameHash == hashl) || - (rd.NameHash.ToString().ToLowerInvariant().Contains(textl))) + if (((rd.Name?.Contains(textl, StringComparison.OrdinalIgnoreCase)) ?? false) || (rd.NameHash == hash) || (rd.NameHash == hashl) || + rd.NameHash.ToString().Contains(textl, StringComparison.OrdinalIgnoreCase)) { results.Add(rd); } diff --git a/CodeWalker/Forms/TextForm.cs b/CodeWalker/Forms/TextForm.cs index 758d1a2..3556924 100644 --- a/CodeWalker/Forms/TextForm.cs +++ b/CodeWalker/Forms/TextForm.cs @@ -197,7 +197,7 @@ namespace CodeWalker.Forms if (string.IsNullOrEmpty(FileName)) saveAs = true; if (string.IsNullOrEmpty(FilePath)) saveAs = true; - else if ((FilePath.ToLowerInvariant().StartsWith(GTAFolder.CurrentGTAFolder.ToLowerInvariant()))) saveAs = true; + else if (FilePath.StartsWith(GTAFolder.CurrentGTAFolder, StringComparison.OrdinalIgnoreCase)) saveAs = true; if (!File.Exists(FilePath)) saveAs = true; var fn = FilePath; @@ -277,7 +277,7 @@ namespace CodeWalker.Forms return false; } - if (!rpfFileEntry.Path.ToLowerInvariant().StartsWith("mods")) + if (!rpfFileEntry.Path.StartsWith("mods", StringComparison.OrdinalIgnoreCase)) { if (MessageBox.Show("This file is NOT located in the mods folder - Are you SURE you want to save this file?\r\nWARNING: This could cause permanent damage to your game!!!", "WARNING: Are you sure about this?", MessageBoxButtons.YesNo) != DialogResult.Yes) { diff --git a/CodeWalker/Forms/XmlForm.cs b/CodeWalker/Forms/XmlForm.cs index f3302c6..dc84089 100644 --- a/CodeWalker/Forms/XmlForm.cs +++ b/CodeWalker/Forms/XmlForm.cs @@ -184,7 +184,7 @@ namespace CodeWalker.Forms if (string.IsNullOrEmpty(FileName)) saveAs = true; if (string.IsNullOrEmpty(FilePath)) saveAs = true; - else if ((FilePath.ToLowerInvariant().StartsWith(GTAFolder.CurrentGTAFolder.ToLowerInvariant()))) saveAs = true; + else if (FilePath.StartsWith(GTAFolder.CurrentGTAFolder, StringComparison.OrdinalIgnoreCase)) saveAs = true; if (!File.Exists(FilePath)) saveAs = true; var fn = FilePath; @@ -228,7 +228,7 @@ namespace CodeWalker.Forms return false; } - if (!rpfFileEntry.Path.ToLowerInvariant().StartsWith("mods")) + if (!rpfFileEntry.Path.StartsWith("mods", StringComparison.OrdinalIgnoreCase)) { if (MessageBox.Show("This file is NOT located in the mods folder - Are you SURE you want to save this file?\r\nWARNING: This could cause permanent damage to your game!!!", "WARNING: Are you sure about this?", MessageBoxButtons.YesNo) != DialogResult.Yes) { diff --git a/CodeWalker/Forms/YtdForm.cs b/CodeWalker/Forms/YtdForm.cs index e064dea..408dba5 100644 --- a/CodeWalker/Forms/YtdForm.cs +++ b/CodeWalker/Forms/YtdForm.cs @@ -249,7 +249,6 @@ namespace CodeWalker.Forms if (tex == null) return; tex.Name = CurrentTexture.Name; - tex.NameHash = CurrentTexture.NameHash; tex.Usage = CurrentTexture.Usage; tex.UsageFlags = CurrentTexture.UsageFlags; tex.Unknown_32h = CurrentTexture.Unknown_32h; @@ -285,7 +284,6 @@ namespace CodeWalker.Forms var tex = CurrentTexture; tex.Name = name; - tex.NameHash = JenkHash.GenHash(name.ToLowerInvariant()); var textures = new List(); textures.AddRange(TexDict.Textures.data_items); @@ -323,8 +321,7 @@ namespace CodeWalker.Forms var dds = File.ReadAllBytes(fn); var tex = DDSIO.GetTexture(dds); tex.Name = Path.GetFileNameWithoutExtension(fn); - tex.NameHash = JenkHash.GenHash(tex.Name?.ToLowerInvariant()); - JenkIndex.Ensure(tex.Name?.ToLowerInvariant()); + JenkIndex.EnsureLower(tex.Name); return tex; } catch @@ -456,7 +453,7 @@ namespace CodeWalker.Forms if (!saveas) { isinrpf = true; - if (!rpfFileEntry.Path.ToLowerInvariant().StartsWith("mods")) + if (!rpfFileEntry.Path.StartsWith("mods", StringComparison.OrdinalIgnoreCase)) { if (MessageBox.Show("This file is NOT located in the mods folder - Are you SURE you want to save this file?\r\nWARNING: This could cause permanent damage to your game!!!", "WARNING: Are you sure about this?", MessageBoxButtons.YesNo) != DialogResult.Yes) { diff --git a/CodeWalker/GameFiles/GameFileCacheFactory.cs b/CodeWalker/GameFiles/GameFileCacheFactory.cs index 15c2d05..159613b 100644 --- a/CodeWalker/GameFiles/GameFileCacheFactory.cs +++ b/CodeWalker/GameFiles/GameFileCacheFactory.cs @@ -2,17 +2,25 @@ using CodeWalker.Properties; +using System; +using System.Diagnostics; namespace CodeWalker.GameFiles { public static class GameFileCacheFactory { - + public static GameFileCache _instance = null; public static GameFileCache Create() { - var s = Settings.Default; - return new GameFileCache(s.CacheSize, s.CacheTime, GTAFolder.CurrentGTAFolder, s.DLC, s.EnableMods, s.ExcludeFolders); + if (_instance == null) + { + var s = Settings.Default; + GTA5Keys.LoadFromPath(GTAFolder.CurrentGTAFolder, Settings.Default.Key); + _instance = new GameFileCache(s.CacheSize, s.CacheTime, GTAFolder.CurrentGTAFolder, s.DLC, s.EnableMods, s.ExcludeFolders); + GTAFolder.OnGTAFolderChanged += _instance.SetGtaFolder; + } + return _instance; } } diff --git a/CodeWalker/PedsForm.cs b/CodeWalker/PedsForm.cs index af8959b..e7cd4b5 100644 --- a/CodeWalker/PedsForm.cs +++ b/CodeWalker/PedsForm.cs @@ -27,9 +27,10 @@ namespace CodeWalker public Renderer Renderer = null; public object RenderSyncRoot { get { return Renderer.RenderSyncRoot; } } + public bool Pauserendering { get; set; } volatile bool formopen = false; volatile bool running = false; - volatile bool pauserendering = false; + //volatile bool initialised = false; Stopwatch frametimer = new Stopwatch(); @@ -211,7 +212,7 @@ namespace CodeWalker float elapsed = (float)frametimer.Elapsed.TotalSeconds; frametimer.Restart(); - if (pauserendering) return; + if (Pauserendering) return; GameFileCache.BeginFrame(); diff --git a/CodeWalker/Program.cs b/CodeWalker/Program.cs index 14a151f..e79197f 100644 --- a/CodeWalker/Program.cs +++ b/CodeWalker/Program.cs @@ -1,9 +1,15 @@ -using CodeWalker.Properties; +using CodeWalker.Forms; +using CodeWalker.GameFiles; +using CodeWalker.Properties; +using CodeWalker.Utils; using System; using System.Collections.Generic; +using System.Diagnostics; +using System.Globalization; using System.IO; using System.Linq; using System.Reflection; +using System.Runtime.InteropServices; using System.Threading.Tasks; using System.Windows.Forms; using System.Windows.Shell; @@ -12,18 +18,23 @@ namespace CodeWalker { static class Program { + [DllImport("kernel32.dll", SetLastError = true)] + [return: MarshalAs(UnmanagedType.Bool)] + public static extern bool AllocConsole(); /// /// The main entry point for the application. /// [STAThread] static void Main(string[] args) { - + CultureInfo.CurrentCulture = CultureInfo.InvariantCulture; + ConsoleWindow.Hide(); bool menumode = false; bool explorermode = false; bool projectmode = false; bool vehiclesmode = false; bool pedsmode = false; + string path = null; if ((args != null) && (args.Length > 0)) { foreach (string arg in args) @@ -49,6 +60,18 @@ namespace CodeWalker { pedsmode = true; } + try + { + if (File.Exists(arg)) + { + path = arg; + } + } catch (Exception ex) + { + Debug.WriteLine(ex); + Console.WriteLine(ex); + } + } } @@ -89,6 +112,14 @@ namespace CodeWalker { Application.Run(new PedsForm()); } + else if (path != null) + { + var modelForm = new ModelForm(); + modelForm.Load += new EventHandler(async (sender, eventArgs) => { + modelForm.ViewModel(path); + }); + Application.Run(modelForm); + } else { Application.Run(new WorldForm()); diff --git a/CodeWalker/Project/MenyooXml.cs b/CodeWalker/Project/MenyooXml.cs index 0b3e88b..ec7830d 100644 --- a/CodeWalker/Project/MenyooXml.cs +++ b/CodeWalker/Project/MenyooXml.cs @@ -123,8 +123,8 @@ namespace CodeWalker.Project XmlElement enode = node as XmlElement; - var hashstr = Xml.GetChildInnerText(node, "ModelHash").ToLowerInvariant(); - if (hashstr.StartsWith("0x")) hashstr = hashstr.Substring(2); + var hashstr = Xml.GetChildInnerText(node, "ModelHash"); + if (hashstr.StartsWith("0x", StringComparison.OrdinalIgnoreCase)) hashstr = hashstr.Substring(2); ModelHash = Convert.ToUInt32(hashstr, 16); Type = Xml.GetChildIntInnerText(node, "Type"); diff --git a/CodeWalker/Project/Panels/EditProjectManifestPanel.cs b/CodeWalker/Project/Panels/EditProjectManifestPanel.cs index 4a129e8..d58bd45 100644 --- a/CodeWalker/Project/Panels/EditProjectManifestPanel.cs +++ b/CodeWalker/Project/Panels/EditProjectManifestPanel.cs @@ -102,7 +102,7 @@ namespace CodeWalker.Project.Panels { ymapname = ymap.Name.ToLowerInvariant(); } - if (ymapname.EndsWith(".ymap")) + if (ymapname.EndsWith(".ymap", StringComparison.OrdinalIgnoreCase)) { ymapname = ymapname.Substring(0, ymapname.Length - 5); } diff --git a/CodeWalker/Project/Panels/GenerateLODLightsPanel.cs b/CodeWalker/Project/Panels/GenerateLODLightsPanel.cs index 2fa2236..8d3d947 100644 --- a/CodeWalker/Project/Panels/GenerateLODLightsPanel.cs +++ b/CodeWalker/Project/Panels/GenerateLODLightsPanel.cs @@ -264,12 +264,10 @@ namespace CodeWalker.Project.Panels lodymap._CMapData.name = JenkHash.GenHash(lodname); lodymap.RpfFileEntry = new RpfResourceFileEntry(); lodymap.RpfFileEntry.Name = lodname + ".ymap"; - lodymap.RpfFileEntry.NameLower = lodname + ".ymap"; distymap.Name = distname; distymap._CMapData.name = JenkHash.GenHash(distname); distymap.RpfFileEntry = new RpfResourceFileEntry(); distymap.RpfFileEntry.Name = distname + ".ymap"; - distymap.RpfFileEntry.NameLower = distname + ".ymap"; lodymap._CMapData.parent = distymap._CMapData.name; lodymap.Loaded = true; diff --git a/CodeWalker/Project/ProjectFile.cs b/CodeWalker/Project/ProjectFile.cs index 45609e9..adbbcc7 100644 --- a/CodeWalker/Project/ProjectFile.cs +++ b/CodeWalker/Project/ProjectFile.cs @@ -510,13 +510,11 @@ namespace CodeWalker.Project } public bool RenameYmap(string oldfilename, string newfilename) { - oldfilename = oldfilename.ToLowerInvariant(); - newfilename = newfilename.ToLowerInvariant(); for (int i = 0; i < YmapFilenames.Count; i++) { - if (YmapFilenames[i]?.ToLowerInvariant() == oldfilename) + if (YmapFilenames[i]?.Equals(oldfilename, StringComparison.OrdinalIgnoreCase) ?? false) { - YmapFilenames[i] = newfilename; + YmapFilenames[i] = newfilename.ToLowerInvariant(); HasChanged = true; return true; } @@ -580,13 +578,11 @@ namespace CodeWalker.Project } public bool RenameYtyp(string oldfilename, string newfilename) { - oldfilename = oldfilename.ToLowerInvariant(); - newfilename = newfilename.ToLowerInvariant(); for (int i = 0; i < YtypFilenames.Count; i++) { - if (YtypFilenames[i]?.ToLowerInvariant() == oldfilename) + if (YtypFilenames[i]?.Equals(oldfilename, StringComparison.OrdinalIgnoreCase) ?? false) { - YtypFilenames[i] = newfilename; + YtypFilenames[i] = newfilename.ToLowerInvariant(); HasChanged = true; return true; } @@ -609,7 +605,7 @@ namespace CodeWalker.Project { string relpath = GetRelativePath(ybn.FilePath); if (string.IsNullOrEmpty(relpath)) relpath = ybn.Name; - if (YndFilenames.Contains(relpath)) return false; + if (YndFilenames.Contains(relpath, StringComparer.OrdinalIgnoreCase)) return false; YbnFilenames.Add(relpath); YbnFiles.Add(ybn); return true; @@ -626,10 +622,9 @@ namespace CodeWalker.Project public bool ContainsYbn(string filename) { bool found = false; - filename = filename.ToLowerInvariant(); foreach (var yndfn in YbnFilenames) { - if (yndfn == filename) + if (yndfn.Equals(filename, StringComparison.OrdinalIgnoreCase)) { found = true; break; @@ -651,7 +646,7 @@ namespace CodeWalker.Project newfilename = newfilename.ToLowerInvariant(); for (int i = 0; i < YbnFilenames.Count; i++) { - if (YbnFilenames[i]?.ToLowerInvariant() == oldfilename) + if (YbnFilenames[i]?.Equals(oldfilename, StringComparison.OrdinalIgnoreCase) ?? false) { YbnFilenames[i] = newfilename; HasChanged = true; @@ -937,7 +932,6 @@ namespace CodeWalker.Project RelFile relfile = new RelFile(); relfile.RpfFileEntry = new RpfResourceFileEntry(); relfile.RpfFileEntry.Name = Path.GetFileName(filename); - relfile.RpfFileEntry.NameHash = JenkHash.GenHash(relfile.RpfFileEntry.Name); relfile.FilePath = GetFullFilePath(filename); relfile.Name = relfile.RpfFileEntry.Name; if (!AddAudioRelFile(relfile)) return null; diff --git a/CodeWalker/Project/ProjectForm.cs b/CodeWalker/Project/ProjectForm.cs index 5d1f1a6..943acd3 100644 --- a/CodeWalker/Project/ProjectForm.cs +++ b/CodeWalker/Project/ProjectForm.cs @@ -7102,12 +7102,6 @@ namespace CodeWalker.Project var ymap = CurrentProjectFile.YmapFiles[i]; if (ymap.Loaded) { - // make sure we're replacing ymaps that have been added by the end-user. - if (ymap.RpfFileEntry.ShortNameHash == 0) - { - ymap.RpfFileEntry.ShortNameHash = JenkHash.GenHash(ymap.RpfFileEntry.GetShortNameLower()); - } - ymaps[ymap.RpfFileEntry.ShortNameHash] = ymap; } } diff --git a/CodeWalker/Properties/Settings.Designer.cs b/CodeWalker/Properties/Settings.Designer.cs index 0f96979..21e87f2 100644 --- a/CodeWalker/Properties/Settings.Designer.cs +++ b/CodeWalker/Properties/Settings.Designer.cs @@ -12,7 +12,7 @@ namespace CodeWalker.Properties { [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.5.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.7.0.0")] public sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); @@ -142,7 +142,7 @@ namespace CodeWalker.Properties { this["Wireframe"] = value; } } - + [global::System.Configuration.UserScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Configuration.DefaultSettingValueAttribute("True")] @@ -154,43 +154,7 @@ namespace CodeWalker.Properties { this["Skydome"] = value; } } - - [global::System.Configuration.UserScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("True")] - public bool LODLights { - get { - return ((bool)(this["LODLights"])); - } - set { - this["LODLights"] = value; - } - } - - [global::System.Configuration.UserScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("True")] - public bool NatrualAmbientLight { - get { - return ((bool)(this["NatrualAmbientLight"])); - } - set { - this["NatrualAmbientLight"] = value; - } - } - - [global::System.Configuration.UserScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("True")] - public bool ArtificialAmbientLight { - get { - return ((bool)(this["ArtificialAmbientLight"])); - } - set { - this["ArtificialAmbientLight"] = value; - } - } - + [global::System.Configuration.UserScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Configuration.DefaultSettingValueAttribute("True")] @@ -526,55 +490,7 @@ namespace CodeWalker.Properties { this["RenderMode"] = value; } } - - [global::System.Configuration.UserScopedSetting()] - [global::System.Diagnostics.DebuggerNonUserCode()] - [global::System.Configuration.DefaultSettingValue("EXTRASUNNY")] - public string Weather { - get { - return ((string)(this["Weather"])); - } - set { - this["Weather"] = value; - } - } - - [global::System.Configuration.UserScopedSetting()] - [global::System.Diagnostics.DebuggerNonUserCode()] - [global::System.Configuration.DefaultSettingValue("GLOBAL")] - public string Region { - get { - return ((string)(this["Region"])); - } - set { - this["Region"] = value; - } - } - - [global::System.Configuration.UserScopedSetting()] - [global::System.Diagnostics.DebuggerNonUserCode()] - [global::System.Configuration.DefaultSettingValue("contrails")] - public string Clouds { - get { - return ((string)(this["Clouds"])); - } - set { - this["Clouds"] = value; - } - } - - [global::System.Configuration.UserScopedSetting()] - [global::System.Diagnostics.DebuggerNonUserCode()] - [global::System.Configuration.DefaultSettingValue("720")] - public int TimeOfDay { - get { - return ((int)(this["TimeOfDay"])); - } - set { - this["TimeOfDay"] = value; - } - } - + [global::System.Configuration.UserScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Configuration.DefaultSettingValueAttribute("DiffuseSampler")] @@ -914,5 +830,101 @@ namespace CodeWalker.Properties { this["RPFExplorerStartFolder"] = value; } } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("720")] + public int TimeOfDay { + get { + return ((int)(this["TimeOfDay"])); + } + set { + this["TimeOfDay"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool LODLights { + get { + return ((bool)(this["LODLights"])); + } + set { + this["LODLights"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("Global")] + public string Region { + get { + return ((string)(this["Region"])); + } + set { + this["Region"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("contrails")] + public string Clouds { + get { + return ((string)(this["Clouds"])); + } + set { + this["Clouds"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public string Weather { + get { + return ((string)(this["Weather"])); + } + set { + this["Weather"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool NatrualAmbientLight { + get { + return ((bool)(this["NatrualAmbientLight"])); + } + set { + this["NatrualAmbientLight"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool ArtificialAmbientLight { + get { + return ((bool)(this["ArtificialAmbientLight"])); + } + set { + this["ArtificialAmbientLight"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("2")] + public int AntiAliasing { + get { + return ((int)(this["AntiAliasing"])); + } + set { + this["AntiAliasing"] = value; + } + } } } diff --git a/CodeWalker/Properties/Settings.settings b/CodeWalker/Properties/Settings.settings index 0164951..ddad151 100644 --- a/CodeWalker/Properties/Settings.settings +++ b/CodeWalker/Properties/Settings.settings @@ -216,5 +216,29 @@ + + 720 + + + False + + + Global + + + contrails + + + True + + + True + + + True + + + 2 + \ No newline at end of file diff --git a/CodeWalker/Rendering/DirectX/DXForm.cs b/CodeWalker/Rendering/DirectX/DXForm.cs index df92505..1c6bd25 100644 --- a/CodeWalker/Rendering/DirectX/DXForm.cs +++ b/CodeWalker/Rendering/DirectX/DXForm.cs @@ -19,7 +19,7 @@ namespace CodeWalker.Rendering Form Form { get; } - + public bool Pauserendering { get; set; } void InitScene(Device device); void CleanupScene(); void RenderScene(DeviceContext context); diff --git a/CodeWalker/Rendering/DirectX/DXManager.cs b/CodeWalker/Rendering/DirectX/DXManager.cs index d941cea..fa01f0d 100644 --- a/CodeWalker/Rendering/DirectX/DXManager.cs +++ b/CodeWalker/Rendering/DirectX/DXManager.cs @@ -7,12 +7,14 @@ using SharpDX.Direct3D11; using SharpDX.DXGI; using Color = SharpDX.Color; using Device = SharpDX.Direct3D11.Device; -using Buffer = SharpDX.Direct3D11.Buffer; using DriverType = SharpDX.Direct3D.DriverType; using System.Threading; using System.Windows.Forms; using SharpDX; using SharpDX.Direct3D; +using System.Runtime; +using CodeWalker.Core.Utils; +using CodeWalker.Properties; namespace CodeWalker.Rendering { @@ -32,7 +34,7 @@ namespace CodeWalker.Rendering private volatile bool Rendering = false; private volatile bool Resizing = false; private object syncroot = new object(); //for thread safety - public int multisamplecount { get; private set; } = 4; //should be a setting.. + public int multisamplecount { get; private set; } = Settings.Default.AntiAliasing; public int multisamplequality { get; private set; } = 0; //should be a setting... public Color clearcolour { get; private set; } = new Color(0.2f, 0.4f, 0.6f, 1.0f); //gross private System.Drawing.Size beginSize; @@ -209,7 +211,6 @@ namespace CodeWalker.Rendering { if (Resizing) return; Monitor.Enter(syncroot); - int width = dxform.Form.ClientSize.Width; int height = dxform.Form.ClientSize.Height; @@ -246,6 +247,7 @@ namespace CodeWalker.Rendering Cleanup(); } } + private void Dxform_ClientSizeChanged(object sender, EventArgs e) { Resize(); @@ -273,21 +275,45 @@ namespace CodeWalker.Rendering private void StartRenderLoop() { Running = true; - new Thread(new ThreadStart(RenderLoop)).Start(); + new Task(RenderLoop, TaskCreationOptions.LongRunning).Start(TaskScheduler.Default); + //new Thread(new ThreadStart(RenderLoop)).Start(); } private void RenderLoop() { + //SharpDX.Configuration.EnableObjectTracking = true; + //Task.Run(async () => + //{ + // while (true) + // { + // Console.WriteLine(SharpDX.Diagnostics.ObjectTracker.ReportActiveObjects()); + // await Task.Delay(5000); + // } + //}); + Thread.CurrentThread.Name = "RenderLoop"; while (Running) { while (Resizing) { swapchain.Present(1, PresentFlags.None); //just flip buffers when resizing; don't draw } - while (dxform.Form.WindowState == FormWindowState.Minimized) + if (dxform.Form.WindowState == FormWindowState.Minimized) { - Thread.Sleep(10); //don't hog CPU when minimised - if (dxform.Form.IsDisposed) return; //if closed while minimised + dxform.Pauserendering = true; + + Console.WriteLine("Window is minimized"); + dxform.RenderScene(context); + GCSettings.LargeObjectHeapCompactionMode = GCLargeObjectHeapCompactionMode.CompactOnce; + GC.Collect(GC.MaxGeneration, GCCollectionMode.Forced, true, true); + while (dxform.Form.WindowState == FormWindowState.Minimized) + { + Thread.Sleep(100); //don't hog CPU when minimised + if (dxform.Form.IsDisposed) return; //if closed while minimised + } + dxform.Pauserendering = false; + Console.WriteLine("Window is maximized"); } + + if (Form.ActiveForm == null) { Thread.Sleep(100); //reduce the FPS when the app isn't active (maybe this should be configurable?) @@ -295,48 +321,54 @@ namespace CodeWalker.Rendering } Rendering = true; - if(!Monitor.TryEnter(syncroot, 50)) - { - Thread.Sleep(10); //don't hog CPU when not able to render... - continue; - } - - bool ok = true; try { - context.OutputMerger.SetRenderTargets(depthview, targetview); - context.Rasterizer.SetViewport(0, 0, dxform.Form.ClientSize.Width, dxform.Form.ClientSize.Height); - } - catch (Exception ex) - { - MessageBox.Show("Error setting main render target!\n" + ex.ToString()); - ok = false; - } - - if (ok) - { - if (dxform.Form.IsDisposed) + if (!Monitor.TryEnter(syncroot, 50)) { - Monitor.Exit(syncroot); - Rendering = false; - return; //the form was closed... stop!! + Console.WriteLine("Failed to get lock for syncroot"); + Thread.Sleep(10); //don't hog CPU when not able to render... + continue; } - dxform.RenderScene(context); + bool ok = true; try { - swapchain.Present(1, PresentFlags.None); + context.OutputMerger.SetRenderTargets(depthview, targetview); + context.Rasterizer.SetViewport(0, 0, dxform.Form.ClientSize.Width, dxform.Form.ClientSize.Height); } catch (Exception ex) { - MessageBox.Show("Error presenting swap chain!\n" + ex.ToString()); + MessageBox.Show("Error setting main render target!\n" + ex.ToString()); + ok = false; + } + + if (ok) + { + if (dxform.Form.IsDisposed) + { + Monitor.Exit(syncroot); + Rendering = false; + return; //the form was closed... stop!! + } + + dxform.RenderScene(context); + + try + { + swapchain.Present(1, PresentFlags.None); + } + catch (Exception ex) + { + MessageBox.Show("Error presenting swap chain!\n" + ex.ToString()); + } } } - - Monitor.Exit(syncroot); - Rendering = false; - + finally + { + Monitor.Exit(syncroot); + Rendering = false; + } } } diff --git a/CodeWalker/Rendering/Renderable.cs b/CodeWalker/Rendering/Renderable.cs index b9877b7..533acd3 100644 --- a/CodeWalker/Rendering/Renderable.cs +++ b/CodeWalker/Rendering/Renderable.cs @@ -1475,6 +1475,7 @@ namespace CodeWalker.Rendering public float FalloffExponent; public float InnerAngle;//for cone public float OuterAngleOrCapExt;//outer angle for cone, cap extent for capsule + public float Distance; } public LODLight[] Points; @@ -1512,7 +1513,7 @@ namespace CodeWalker.Rendering for (int i = 0; i < n; i++) { var l = ll.LodLights[i]; - if (l.Enabled == false) continue; + if (l.Enabled == false || l.Visible == false) continue; var light = new LODLight(); light.Position = l.Position; light.Colour = (uint)l.Colour.ToBgra(); @@ -1549,6 +1550,58 @@ namespace CodeWalker.Rendering } + public (int, int, int) UpdateLods(Vector3 refPos) + { + for (int i = 0; i < Points.Length; i++) + { + Points[i].Distance = Vector3.DistanceSquared(refPos, Points[i].Position); + } + for (int i = 0; i < Spots.Length; i++) + { + Spots[i].Distance = Vector3.DistanceSquared(refPos, Spots[i].Position); + } + + for (int i = 0; i < Caps.Length; i++) + { + Caps[i].Distance = Vector3.DistanceSquared(refPos, Caps[i].Position); + } + + Array.Sort(Points, (a, b) => a.Distance.CompareTo(b.Distance)); + Array.Sort(Spots, (a, b) => a.Distance.CompareTo(b.Distance)); + Array.Sort(Caps, (a, b) => a.Distance.CompareTo(b.Distance)); + + var spotsIndex = 0; + var pointsIndex = 0; + var capsIndex = 0; + for (int i = 0; i < Points.Length; i++) + { + if (Points[i].Distance > 100_000) + { + pointsIndex = i; + break; + } + } + for (int i = 0; i < Spots.Length; i++) + { + if (Spots[i].Distance > 100_000) + { + spotsIndex = i; + break; + } + } + + for (int i = 0; i < Caps.Length; i++) + { + if (Caps[i].Distance > 100_000) + { + capsIndex = i; + break; + } + } + + return (pointsIndex, spotsIndex, capsIndex); + } + public override void Load(Device device) { if ((Points != null) && (Points.Length > 0)) diff --git a/CodeWalker/Rendering/Renderer.cs b/CodeWalker/Rendering/Renderer.cs index afe3d1e..9c3e6f0 100644 --- a/CodeWalker/Rendering/Renderer.cs +++ b/CodeWalker/Rendering/Renderer.cs @@ -9,6 +9,7 @@ using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; +using static CodeWalker.Rendering.RenderableLODLights; namespace CodeWalker.Rendering { @@ -172,11 +173,7 @@ namespace CodeWalker.Rendering public Renderer(DXForm form, GameFileCache cache) { Form = form; - gameFileCache = cache; - if (gameFileCache == null) - { - gameFileCache = GameFileCacheFactory.Create(); - } + gameFileCache = cache ?? GameFileCacheFactory.Create(); renderableCache = new RenderableCache(); var s = Settings.Default; @@ -384,15 +381,13 @@ namespace CodeWalker.Rendering public string GetStatusText() { - int rgc = (shaders != null) ? shaders.RenderedGeometries : 0; - int crc = renderableCache.LoadedRenderableCount; - int ctc = renderableCache.LoadedTextureCount; - int tcrc = renderableCache.MemCachedRenderableCount; - int tctc = renderableCache.MemCachedTextureCount; - long vr = renderableCache.TotalGraphicsMemoryUse + (shaders != null ? shaders.TotalGraphicsMemoryUse : 0); - string vram = TextUtil.GetBytesReadable(vr); - //StatsLabel.Text = string.Format("Drawn: {0} geom, Loaded: {1}/{5} dr, {2}/{6} tx, Vram: {3}, Fps: {4}", rgc, crc, ctc, vram, fps, tcrc, tctc); - return string.Format("Drawn: {0} geom, Loaded: {1} dr, {2} tx, Vram: {3}, Fps: {4}", rgc, crc, ctc, vram, fps); + var rgc = shaders?.RenderedGeometries ?? 0; + var crc = renderableCache.LoadedRenderableCount; + var ctc = renderableCache.LoadedTextureCount; + var vr = renderableCache.TotalGraphicsMemoryUse + (shaders != null ? shaders.TotalGraphicsMemoryUse : 0); + var vram = TextUtil.GetBytesReadable(vr); + + return $"Drawn: {rgc} geom, Loaded: {crc} dr, {ctc} tx, Vram: {vram}, Fps: {fps}"; } @@ -1850,7 +1845,7 @@ namespace CodeWalker.Rendering - public void RenderWorld(Dictionary renderworldVisibleYmapDict, IEnumerable spaceEnts) + public void RenderWorld(Dictionary ymapsWithinStreamingExtents, IEnumerable spaceEnts) { renderworldentities.Clear(); renderworldrenderables.Clear(); @@ -1860,7 +1855,7 @@ namespace CodeWalker.Rendering RequiredParents.Clear(); RenderEntities.Clear(); - foreach (var ymap in renderworldVisibleYmapDict.Values) + foreach (var ymap in ymapsWithinStreamingExtents.Values) { if (!RenderWorldYmapIsVisible(ymap)) continue; VisibleYmaps.Add(ymap); @@ -1875,7 +1870,7 @@ namespace CodeWalker.Rendering LodManager.ShowScriptedYmaps = ShowScriptedYmaps; LodManager.LODLightsEnabled = renderlodlights; LodManager.HDLightsEnabled = renderlights; - LodManager.Update(renderworldVisibleYmapDict, camera, currentElapsedTime); + LodManager.Update(ymapsWithinStreamingExtents, camera, currentElapsedTime); foreach (var updatelodlights in LodManager.UpdateLodLights) { @@ -2012,120 +2007,6 @@ namespace CodeWalker.Rendering RenderWorldYmapExtras(); } - public void RenderWorld_Orig(Dictionary renderworldVisibleYmapDict, IEnumerable spaceEnts) - { - renderworldentities.Clear(); - renderworldrenderables.Clear(); - VisibleYmaps.Clear(); - - - foreach (var ymap in renderworldVisibleYmapDict.Values) - { - if (!RenderWorldYmapIsVisible(ymap)) continue; - VisibleYmaps.Add(ymap); - } - - RenderWorldAdjustMapViewCamera(); - - - - for (int y = 0; y < VisibleYmaps.Count; y++) - { - var ymap = VisibleYmaps[y]; - YmapFile pymap = ymap.Parent; - if ((pymap == null) && (ymap._CMapData.parent != 0)) - { - renderworldVisibleYmapDict.TryGetValue(ymap._CMapData.parent, out pymap); - ymap.Parent = pymap; - } - if (ymap.RootEntities != null) - { - for (int i = 0; i < ymap.RootEntities.Length; i++) - { - var ent = ymap.RootEntities[i]; - int pind = ent._CEntityDef.parentIndex; - if (pind >= 0) //connect root entities to parents if they have them.. - { - YmapEntityDef p = null; - if ((pymap != null) && (pymap.AllEntities != null)) - { - if ((pind < pymap.AllEntities.Length)) - { - p = pymap.AllEntities[pind]; - ent.Parent = p; - ent.ParentName = p._CEntityDef.archetypeName; - } - } - else - { }//should only happen if parent ymap not loaded yet... - } - RenderWorldRecurseCalcEntityVisibility(ent); - } - } - } - - for (int y = 0; y < VisibleYmaps.Count; y++) - { - var ymap = VisibleYmaps[y]; - if (ymap.RootEntities != null) - { - for (int i = 0; i < ymap.RootEntities.Length; i++) - { - var ent = ymap.RootEntities[i]; - RenderWorldRecurseAddEntities(ent); - } - } - } - - - - - if (spaceEnts != null) - { - foreach (var ae in spaceEnts) //used by active space entities (eg "bullets") - { - if (ae.EntityDef == null) continue; //nothing to render... - RenderWorldCalcEntityVisibility(ae.EntityDef); - renderworldentities.Add(ae.EntityDef); - } - } - - - if (renderentities) - { - for (int i = 0; i < renderworldentities.Count; i++) - { - var ent = renderworldentities[i]; - var arch = ent.Archetype; - var pent = ent.Parent; - var drawable = gameFileCache.TryGetDrawable(arch); - Renderable rndbl = TryGetRenderable(arch, drawable); - if ((rndbl != null) && rndbl.IsLoaded && (rndbl.AllTexturesLoaded || !waitforchildrentoload)) - { - RenderableEntity rent = new RenderableEntity(); - rent.Entity = ent; - rent.Renderable = rndbl; - renderworldrenderables.Add(rent); - } - else if (waitforchildrentoload) - { - //todo: render parent if children loading....... - } - } - for (int i = 0; i < renderworldrenderables.Count; i++) - { - var rent = renderworldrenderables[i]; - var ent = rent.Entity; - var arch = ent.Archetype; - - if (HideEntities.ContainsKey(ent.EntityHash)) continue; //don't render hidden entities! - - RenderArchetype(arch, ent, rent.Renderable, false); - } - } - - RenderWorldYmapExtras(); - } private void RenderWorldCalcEntityVisibility(YmapEntityDef ent) { float dist = (ent.Position - camera.Position).Length(); @@ -3231,7 +3112,7 @@ namespace CodeWalker.Rendering Vector3 bbmax = (arche != null) ? arche.BBMax : rndbl.Key.BoundingBoxMax; Vector3 bscen = (arche != null) ? arche.BSCenter : rndbl.Key.BoundingCenter; float radius = (arche != null) ? arche.BSRadius : rndbl.Key.BoundingSphereRadius; - float distance = 0;// (camrel + bscen).Length(); + float distance = 0;//(camrel + bscen).Length(); bool interiorent = false; bool castshadow = true; @@ -4154,9 +4035,9 @@ namespace CodeWalker.Rendering { if (VisibleLightsPrev.Contains(light) == false) { - if (LodLightsDict.TryGetValue(light.Hash, out var lodlight)) + if (LodLightsDict.TryGetValue(light.Hash, out var lodlight) && lodlight.Enabled) { - lodlight.Enabled = false; + lodlight.Enabled = true; UpdateLodLights.Add(lodlight.LodLights); } } @@ -4165,18 +4046,36 @@ namespace CodeWalker.Rendering { if (VisibleLights.Contains(light) == false) { - if (LodLightsDict.TryGetValue(light.Hash, out var lodlight)) + if (LodLightsDict.TryGetValue(light.Hash, out var lodlight) && !lodlight.Enabled) { - lodlight.Enabled = true; + lodlight.Enabled = false; UpdateLodLights.Add(lodlight.LodLights); } } } + //foreach (var light in LodLightsDict.Values) + //{ + // if (LightVisible(light)) + // { + // if (light.Visible) + // { + // light.Visible = false; + // UpdateLodLights.Add(light.LodLights); + // } + + // } else + // { + // if (!light.Visible) + // { + // light.Visible = true; + // UpdateLodLights.Add(light.LodLights); + // } + // } + //} - var vl = VisibleLights; - VisibleLights = VisibleLightsPrev; - VisibleLightsPrev = vl; + + (VisibleLightsPrev, VisibleLights) = (VisibleLights, VisibleLightsPrev); } private void RecurseAddVisibleLeaves(YmapEntityDef ent) @@ -4254,6 +4153,21 @@ namespace CodeWalker.Rendering return Camera.ViewFrustum.ContainsAABBNoClip(ref ent.BBCenter, ref ent.BBExtent); } } + + private bool LightVisible(YmapLODLight lodLight) + { + var position = lodLight.Position; + var extent = new Vector3(lodLight.Falloff, lodLight.Falloff, lodLight.Falloff); + if (MapViewEnabled) + { + return true; + } + else + { + return Camera.ViewFrustum.ContainsAABBNoClip(ref position, ref extent); + } + } + private bool EntityVisibleAtMaxLodLevel(YmapEntityDef ent) { if (MaxLOD != rage__eLodType.LODTYPES_DEPTH_ORPHANHD) diff --git a/CodeWalker/Rendering/ShaderManager.cs b/CodeWalker/Rendering/ShaderManager.cs index 98a1ef7..09f619a 100644 --- a/CodeWalker/Rendering/ShaderManager.cs +++ b/CodeWalker/Rendering/ShaderManager.cs @@ -18,6 +18,9 @@ namespace CodeWalker.Rendering private int GeometryCount; public int RenderedGeometries; + private int VerticesCount; + public int RenderedVeritices; + private Device Device; public bool wireframe = Settings.Default.Wireframe; @@ -148,7 +151,7 @@ namespace CodeWalker.Rendering IsFrontCounterClockwise = true, IsMultisampleEnabled = true, IsScissorEnabled = false, - SlopeScaledDepthBias = 0.0f + SlopeScaledDepthBias = 0.0f, }; rsSolid = new RasterizerState(device, rsd); rsd.FillMode = FillMode.Wireframe; @@ -157,6 +160,7 @@ namespace CodeWalker.Rendering rsWireframeDblSided = new RasterizerState(device, rsd); rsd.FillMode = FillMode.Solid; rsSolidDblSided = new RasterizerState(device, rsd); + rsd.CullMode = CullMode.Back; BlendStateDescription bsd = new BlendStateDescription() @@ -203,6 +207,7 @@ namespace CodeWalker.Rendering PassOperation = StencilOperation.Zero }, IsDepthEnabled = true, + IsStencilEnabled = false, StencilReadMask = 0, StencilWriteMask = 0 @@ -406,6 +411,7 @@ namespace CodeWalker.Rendering public void RenderQueued(DeviceContext context, Camera camera, Vector4 wind) { GeometryCount = 0; + VerticesCount = 0; Camera = camera; @@ -662,7 +668,7 @@ namespace CodeWalker.Rendering RenderedGeometries = GeometryCount; - + RenderedVeritices = VerticesCount; } public void RenderFinalPass(DeviceContext context) @@ -789,6 +795,8 @@ namespace CodeWalker.Rendering var gmodel = geom.Geom.Owner; shader.SetEntityVars(context, ref geom.Inst); + VerticesCount += geom.Geom.VertexCount; + if (gmodel != model) { model = gmodel; @@ -829,6 +837,7 @@ namespace CodeWalker.Rendering foreach (var geom in batch) { + VerticesCount += geom.Geom.VertexCount; Basic.RenderBoundGeom(context, geom); } @@ -1050,6 +1059,18 @@ namespace CodeWalker.Rendering { return ShaderFile.ToString() + ": " + ShaderName.ToString(); } + + public override int GetHashCode() + { + return ShaderName.GetHashCode(); + } + + public override bool Equals(object obj) + { + if (obj == null) return false; + if (obj is not ShaderKey shaderKey) return false; + return shaderKey.ShaderName == ShaderName && shaderKey.ShaderFile == ShaderFile; + } } public class ShaderRenderBucket { @@ -1097,7 +1118,7 @@ namespace CodeWalker.Rendering ClothBatches.Clear(); VehicleBatches.Clear(); - foreach (var kvp in Batches) + foreach (var kvp in Batches.Where(p => p.Value.Geometries.Count > 0).OrderBy(p => p.Value.Geometries.Average(p => p.Inst.Distance))) { if (kvp.Value.Geometries.Count == 0) continue; diff --git a/CodeWalker/Rendering/Shaders/DeferredScene.cs b/CodeWalker/Rendering/Shaders/DeferredScene.cs index 2313cf3..cdc3419 100644 --- a/CodeWalker/Rendering/Shaders/DeferredScene.cs +++ b/CodeWalker/Rendering/Shaders/DeferredScene.cs @@ -14,6 +14,7 @@ using SharpDX; using SharpDX.DXGI; using SharpDX.Mathematics.Interop; using System.Diagnostics; +using CodeWalker.Properties; namespace CodeWalker.Rendering { @@ -110,7 +111,7 @@ namespace CodeWalker.Rendering public int SSAASampleCount = 1; - public int MSAASampleCount = 4; + public int MSAASampleCount = 8; @@ -460,7 +461,8 @@ namespace CodeWalker.Rendering foreach (var rll in lodlights) { - if (rll.PointsBuffer != null) + var (pointsIndex, spotsIndex, capsIndex) = rll.UpdateLods(camera.Position); + if (rll.PointsBuffer != null && pointsIndex > 0) { context.VertexShader.SetShaderResources(0, rll.PointsBuffer.SRV); context.PixelShader.SetShaderResources(6, rll.PointsBuffer.SRV); @@ -470,9 +472,10 @@ namespace CodeWalker.Rendering LightPSVars.Vars.LightType = 1; LightPSVars.Update(context); LightPSVars.SetPSCBuffer(context, 0); - LightSphere.DrawInstanced(context, rll.PointsBuffer.StructCount); + + LightSphere.DrawInstanced(context, pointsIndex + 1); } - if (rll.SpotsBuffer != null) + if (rll.SpotsBuffer != null && spotsIndex > 0) { context.VertexShader.SetShaderResources(0, rll.SpotsBuffer.SRV); context.PixelShader.SetShaderResources(6, rll.SpotsBuffer.SRV); @@ -482,9 +485,9 @@ namespace CodeWalker.Rendering LightPSVars.Vars.LightType = 2; LightPSVars.Update(context); LightPSVars.SetPSCBuffer(context, 0); - LightCone.DrawInstanced(context, rll.SpotsBuffer.StructCount); + LightCone.DrawInstanced(context, spotsIndex + 1); } - if (rll.CapsBuffer != null) + if (rll.CapsBuffer != null && capsIndex > 0) { context.VertexShader.SetShaderResources(0, rll.CapsBuffer.SRV); context.PixelShader.SetShaderResources(6, rll.CapsBuffer.SRV); @@ -494,7 +497,7 @@ namespace CodeWalker.Rendering LightPSVars.Vars.LightType = 4; LightPSVars.Update(context); LightPSVars.SetPSCBuffer(context, 0); - LightCapsule.DrawInstanced(context, rll.CapsBuffer.StructCount); + LightCapsule.DrawInstanced(context, capsIndex + 1); } } diff --git a/CodeWalker/Rendering/Utils/GpuBuffers.cs b/CodeWalker/Rendering/Utils/GpuBuffers.cs index bc21e58..35fb4db 100644 --- a/CodeWalker/Rendering/Utils/GpuBuffers.cs +++ b/CodeWalker/Rendering/Utils/GpuBuffers.cs @@ -440,6 +440,9 @@ namespace CodeWalker.Rendering case Format.D32_Float: dtexf = Format.R32_Typeless; break; + case Format.R8G8B8A8_SNorm: + dtexf = Format.R8G8B8A8_SNorm; + break; case Format.D32_Float_S8X24_UInt: dtexf = Format.R32G8X24_Typeless;//is this right? who uses this anyway?? break; diff --git a/CodeWalker/Rendering/Utils/Shadowmap.cs b/CodeWalker/Rendering/Utils/Shadowmap.cs index 7962338..89d1dbc 100644 --- a/CodeWalker/Rendering/Utils/Shadowmap.cs +++ b/CodeWalker/Rendering/Utils/Shadowmap.cs @@ -96,7 +96,7 @@ namespace CodeWalker.Rendering Cascades.Add(c); } - DepthRenderRS = DXUtility.CreateRasterizerState(device, FillMode.Solid, CullMode.None, true, false, true, 0, 0.0f, 1.0f); + DepthRenderRS = DXUtility.CreateRasterizerState(device, FillMode.Solid, CullMode.None, true, false, Settings.Default.AntiAliasing > 1, 0, 0.0f, 1.0f); DepthRenderDS = DXUtility.CreateDepthStencilState(device, true, DepthWriteMask.All); DepthRenderVP = new ViewportF(); diff --git a/CodeWalker/Rendering/Utils/UnitSphere.cs b/CodeWalker/Rendering/Utils/UnitSphere.cs index 33f5992..9f180cc 100644 --- a/CodeWalker/Rendering/Utils/UnitSphere.cs +++ b/CodeWalker/Rendering/Utils/UnitSphere.cs @@ -127,7 +127,7 @@ namespace CodeWalker.Rendering VertexBuffer = Buffer.Create(device, BindFlags.VertexBuffer, vdata.ToArray()); - vbbinding = new VertexBufferBinding(VertexBuffer, 16, 0); + vbbinding = new VertexBufferBinding(VertexBuffer, 8, 0); IndexBuffer = Buffer.Create(device, BindFlags.IndexBuffer, idata.ToArray()); indexcount = idata.Count; diff --git a/CodeWalker/Tools/AudioExplorerForm.cs b/CodeWalker/Tools/AudioExplorerForm.cs index 6066994..d9b8353 100644 --- a/CodeWalker/Tools/AudioExplorerForm.cs +++ b/CodeWalker/Tools/AudioExplorerForm.cs @@ -1,5 +1,6 @@ using CodeWalker.GameFiles; using System; +using System.Collections.Concurrent; using System.Collections.Generic; using System.ComponentModel; using System.Data; diff --git a/CodeWalker/Tools/BinarySearchForm.cs b/CodeWalker/Tools/BinarySearchForm.cs index 83857e5..5d91493 100644 --- a/CodeWalker/Tools/BinarySearchForm.cs +++ b/CodeWalker/Tools/BinarySearchForm.cs @@ -37,12 +37,12 @@ namespace CodeWalker.Tools DataTextBox.SetTabStopWidth(3); - if (RpfMan == null) + if (RpfMan == null || !RpfMan.IsInited) { Task.Run(() => { GTA5Keys.LoadFromPath(GTAFolder.CurrentGTAFolder, Settings.Default.Key); - RpfMan = new RpfManager(); + RpfMan ??= RpfManager.GetInstance(); RpfMan.Init(GTAFolder.CurrentGTAFolder, UpdateStatus, UpdateStatus, false, false); RPFScanComplete(); }); @@ -417,17 +417,13 @@ namespace CodeWalker.Tools DateTime starttime = DateTime.Now; int resultcount = 0; - for (int f = 0; f < scannedFiles.Count; f++) + foreach(var rpffile in scannedFiles) { - var rpffile = scannedFiles[f]; totfiles += rpffile.TotalFileCount; } - - for (int f = 0; f < scannedFiles.Count; f++) + foreach(var rpffile in scannedFiles) { - var rpffile = scannedFiles[f]; - foreach (var entry in rpffile.AllEntries) { var duration = DateTime.Now - starttime; @@ -444,7 +440,7 @@ namespace CodeWalker.Tools curfile++; - if (fentry.NameLower.EndsWith(".rpf")) + if (fentry.Name.EndsWith(".rpf", StringComparison.OrdinalIgnoreCase)) { continue; } if (onlyexts != null) @@ -452,7 +448,7 @@ namespace CodeWalker.Tools bool ignore = true; for (int i = 0; i < onlyexts.Length; i++) { - if (fentry.NameLower.EndsWith(onlyexts[i])) + if (fentry.Name.EndsWith(onlyexts[i], StringComparison.OrdinalIgnoreCase)) { ignore = false; break; @@ -467,7 +463,7 @@ namespace CodeWalker.Tools bool ignore = false; for (int i = 0; i < ignoreexts.Length; i++) { - if (fentry.NameLower.EndsWith(ignoreexts[i])) + if (fentry.Name.EndsWith(ignoreexts[i], StringComparison.OrdinalIgnoreCase)) { ignore = true; break; diff --git a/CodeWalker/Tools/BrowseForm.cs b/CodeWalker/Tools/BrowseForm.cs index 9da635c..86e9254 100644 --- a/CodeWalker/Tools/BrowseForm.cs +++ b/CodeWalker/Tools/BrowseForm.cs @@ -218,13 +218,13 @@ namespace CodeWalker.Tools { if (entry is RpfFileEntry) { - bool show = !entry.NameLower.EndsWith(".rpf"); //rpf entries get their own root node.. + bool show = !entry.Name.EndsWith(".rpf", StringComparison.OrdinalIgnoreCase); //rpf entries get their own root node.. if (show) { //string text = entry.Path.Substring(file.Path.Length + 1); //includes \ on the end //TreeNode cnode = node.Nodes.Add(text); //cnode.Tag = entry; - TreeNode cnode = AddEntryNode(entry, node); + AddEntryNode(entry, node); } } } @@ -797,7 +797,7 @@ namespace CodeWalker.Tools int max = 500; foreach (RpfFile file in ScannedFiles) { - if (file.Name.ToLowerInvariant().Contains(find)) + if (file.NameLower.Contains(find)) { AddFileNode(file, null); count++; @@ -806,10 +806,8 @@ namespace CodeWalker.Tools { if (entry.NameLower.Contains(find)) { - if (entry is RpfDirectoryEntry) + if (entry is RpfDirectoryEntry direntry) { - RpfDirectoryEntry direntry = entry as RpfDirectoryEntry; - TreeNode node = AddEntryNode(entry, null); foreach (RpfFileEntry cfentry in direntry.Files) @@ -821,7 +819,7 @@ namespace CodeWalker.Tools } else if (entry is RpfBinaryFileEntry) { - if (entry.NameLower.EndsWith(".rpf", StringComparison.InvariantCultureIgnoreCase)) continue; + if (entry.Name.EndsWith(".rpf", StringComparison.OrdinalIgnoreCase)) continue; AddEntryNode(entry, null); count++; } diff --git a/CodeWalker/Tools/ExtractRawForm.cs b/CodeWalker/Tools/ExtractRawForm.cs index d68bfe9..3e27c6f 100644 --- a/CodeWalker/Tools/ExtractRawForm.cs +++ b/CodeWalker/Tools/ExtractRawForm.cs @@ -121,7 +121,7 @@ namespace CodeWalker.Tools - RpfManager rpfman = new RpfManager(); + RpfManager rpfman = RpfManager.GetInstance(); rpfman.Init(searchpath, UpdateExtractStatus, UpdateExtractStatus); diff --git a/CodeWalker/Tools/ExtractShadersForm.cs b/CodeWalker/Tools/ExtractShadersForm.cs index 23af922..3121055 100644 --- a/CodeWalker/Tools/ExtractShadersForm.cs +++ b/CodeWalker/Tools/ExtractShadersForm.cs @@ -109,8 +109,11 @@ namespace CodeWalker.Tools - RpfManager rpfman = new RpfManager(); - rpfman.Init(searchpath, UpdateExtractStatus, UpdateExtractStatus); + RpfManager rpfman = RpfManager.GetInstance(); + if (!rpfman.IsInited) + { + rpfman.Init(searchpath, UpdateExtractStatus, UpdateExtractStatus); + } UpdateExtractStatus("Beginning shader extraction..."); diff --git a/CodeWalker/Tools/ExtractTexForm.cs b/CodeWalker/Tools/ExtractTexForm.cs index 06d9113..e66c24e 100644 --- a/CodeWalker/Tools/ExtractTexForm.cs +++ b/CodeWalker/Tools/ExtractTexForm.cs @@ -125,7 +125,7 @@ namespace CodeWalker.Tools - RpfManager rpfman = new RpfManager(); + RpfManager rpfman = RpfManager.GetInstance(); rpfman.Init(searchpath, UpdateExtractStatus, UpdateExtractStatus); diff --git a/CodeWalker/Utils/AudioUtils.cs b/CodeWalker/Utils/AudioUtils.cs index a121c45..f4872c9 100644 --- a/CodeWalker/Utils/AudioUtils.cs +++ b/CodeWalker/Utils/AudioUtils.cs @@ -311,10 +311,10 @@ namespace CodeWalker.Utils if (entry is RpfFileEntry) { var fentry = entry as RpfFileEntry; - if (entry.NameLower.EndsWith(".awc")) + if (entry.Name.EndsWith(".awc", StringComparison.OrdinalIgnoreCase)) { - var shortname = entry.GetShortNameLower(); - var parentname = entry.Parent?.GetShortNameLower() ?? ""; + var shortname = entry.ShortName; + var parentname = entry.Parent?.ShortName ?? ""; if (string.IsNullOrEmpty(parentname) && (entry.Parent?.File != null)) { parentname = entry.Parent.File.NameLower; @@ -325,7 +325,7 @@ namespace CodeWalker.Utils } } var contname = parentname + "/" + shortname; - var hash = JenkHash.GenHash(contname); + var hash = JenkHash.GenHashLower(contname); awcentries[hash] = fentry; } } diff --git a/CodeWalker/Utils/ConsoleWindow.cs b/CodeWalker/Utils/ConsoleWindow.cs new file mode 100644 index 0000000..d9d9602 --- /dev/null +++ b/CodeWalker/Utils/ConsoleWindow.cs @@ -0,0 +1,157 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace CodeWalker.Utils +{ + public static class ConsoleWindow + { + [DllImport("kernel32.dll", SetLastError = true)] + static extern bool AllocConsole(); + + [DllImport("kernel32.dll")] + static extern IntPtr GetConsoleWindow(); + + [DllImport("user32.dll")] + static extern bool ShowWindow(IntPtr hWnd, int nCmdShow); + + [DllImport("kernel32.dll")] + static extern bool FreeConsole(); + + const int SW_HIDE = 0; + const int SW_SHOW = 5; + + private static ConsoleStream consoleStream = new ConsoleStream(); + + static ConsoleWindow() + { + try + { + var logFile = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "log.log"); + //var streamWriter = File.OpenWrite(logFile); + var streamWriter = new StreamWriter(logFile, false); + streamWriter.AutoFlush = true; + + consoleStream.AddStream(streamWriter); + } + catch (Exception ex) + { + Console.WriteLine(ex); + } + + + //var textWriter = new StreamWriter(multiStream); + + consoleStream.AddStream(Console.Out); + + Console.SetOut(consoleStream); + } + + public static IntPtr GetOrCreateConsoleWindow() + { + var handle = GetConsoleWindow(); + if (handle == IntPtr.Zero) + { + AllocConsole(); + Application.ApplicationExit += (sender, args) => + { + ConsoleWindow.Close(); + }; + handle = GetConsoleWindow(); + var originalOut = new StreamWriter(Console.OpenStandardOutput()); + originalOut.AutoFlush = true; + consoleStream.AddStream(originalOut); + } + return handle; + } + + public static void Close() + { + consoleStream.Flush(); + consoleStream.Close(); + FreeConsole(); + } + + public static void Show() + { + var handle = GetOrCreateConsoleWindow(); + ShowWindow(handle, SW_SHOW); + } + + public static void Hide() + { + var handle = GetOrCreateConsoleWindow(); + ShowWindow(handle, SW_HIDE); + } + } + + public class ConsoleStream : TextWriter + { + private readonly List _writers; + + public ConsoleStream(params TextWriter[] streams) + { + _writers = streams.ToList(); + } + + public void AddStream(TextWriter textWriter) + { + _writers.Add(textWriter); + } + + public override void Flush() + { + foreach (var stream in _writers) + { + stream.Flush(); + } + } + + public override void Write(char ch) + { + foreach (var writer in _writers) + { + try + { + writer.Write(ch); + } + catch (ObjectDisposedException) + { + _writers.Remove(writer); + // handle exception here + } + catch (IOException) + { + // handle exception here + } + } + } + + public override void Write(string value) + { + foreach (var writer in _writers) + { + writer.Write(value); + } + } + + public override void Close() + { + base.Close(); + foreach(var writer in _writers) + { + writer.Close(); + } + _writers.Clear(); + } + + public override Encoding Encoding => throw new NotImplementedException(); + } +} diff --git a/CodeWalker/Utils/GTAFolder.cs b/CodeWalker/Utils/GTAFolder.cs index 198d2b5..d881c2c 100644 --- a/CodeWalker/Utils/GTAFolder.cs +++ b/CodeWalker/Utils/GTAFolder.cs @@ -14,8 +14,16 @@ namespace CodeWalker { public static class GTAFolder { - public static string CurrentGTAFolder { get; private set; } = Settings.Default.GTAFolder; + private static string currentGTAFolder = Settings.Default.GTAFolder; + public static event Action OnGTAFolderChanged; + public static string CurrentGTAFolder { get => currentGTAFolder; private set + { + if (currentGTAFolder == value) return; + currentGTAFolder = value; + OnGTAFolderChanged?.Invoke(currentGTAFolder); + } + } public static bool ValidateGTAFolder(string folder, out string failReason) { failReason = ""; diff --git a/CodeWalker/VehicleForm.cs b/CodeWalker/VehicleForm.cs index 802d556..22075f2 100644 --- a/CodeWalker/VehicleForm.cs +++ b/CodeWalker/VehicleForm.cs @@ -30,6 +30,7 @@ namespace CodeWalker volatile bool formopen = false; volatile bool running = false; volatile bool pauserendering = false; + public bool Pauserendering { get; set; } = false; //volatile bool initialised = false; Stopwatch frametimer = new Stopwatch(); @@ -163,7 +164,7 @@ namespace CodeWalker float elapsed = (float)frametimer.Elapsed.TotalSeconds; frametimer.Restart(); - if (pauserendering) return; + if (Pauserendering) return; GameFileCache.BeginFrame(); diff --git a/CodeWalker/World/CutsceneForm.cs b/CodeWalker/World/CutsceneForm.cs index 985921d..1720471 100644 --- a/CodeWalker/World/CutsceneForm.cs +++ b/CodeWalker/World/CutsceneForm.cs @@ -546,14 +546,14 @@ namespace CodeWalker.World private void LoadYcds() { int cutListCount = (CameraCutList?.Length ?? 0) + 1; - var shortName = CutFile.FileEntry?.GetShortNameLower() ?? ""; + var shortName = CutFile.FileEntry?.ShortName ?? ""; Ycds = new YcdFile[cutListCount]; if (!string.IsNullOrEmpty(shortName)) { for (int i = 0; i < cutListCount; i++) { var ycdname = shortName + "-" + i.ToString(); - var ycdhash = JenkHash.GenHash(ycdname); + var ycdhash = JenkHash.GenHashLower(ycdname); var ycd = GameFileCache.GetYcd(ycdhash); while ((ycd != null) && (!ycd.Loaded)) { diff --git a/CodeWalker/World/WorldSearchForm.cs b/CodeWalker/World/WorldSearchForm.cs index cf079dc..259b7c4 100644 --- a/CodeWalker/World/WorldSearchForm.cs +++ b/CodeWalker/World/WorldSearchForm.cs @@ -77,7 +77,7 @@ namespace CodeWalker.World { var rpfman = gfc.RpfMan; - var rpflist = loadedOnly ? gfc.ActiveMapRpfFiles.Values.ToList() : rpfman.AllRpfs; + IEnumerable rpflist = loadedOnly ? gfc.ActiveMapRpfFiles.Values : rpfman.AllRpfs; var results = new List(); foreach (var rpf in rpflist) @@ -319,7 +319,7 @@ namespace CodeWalker.World { var rpfman = gfc.RpfMan; - var rpflist = loadedOnly ? gfc.ActiveMapRpfFiles.Values.ToList() : rpfman.AllRpfs; + IEnumerable rpflist = loadedOnly ? gfc.ActiveMapRpfFiles.Values : rpfman.AllRpfs; var results = new List(); foreach (var rpf in rpflist) diff --git a/CodeWalker/WorldForm.Designer.cs b/CodeWalker/WorldForm.Designer.cs index 42d8944..9aa06eb 100644 --- a/CodeWalker/WorldForm.Designer.cs +++ b/CodeWalker/WorldForm.Designer.cs @@ -32,6 +32,7 @@ namespace CodeWalker { this.components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(WorldForm)); + System.Windows.Forms.Label label34; this.StatusStrip = new System.Windows.Forms.StatusStrip(); this.StatusLabel = new System.Windows.Forms.ToolStripStatusLabel(); this.MousedLabel = new System.Windows.Forms.ToolStripStatusLabel(); @@ -136,6 +137,7 @@ namespace CodeWalker this.TimedEntitiesCheckBox = new System.Windows.Forms.CheckBox(); this.FieldOfViewTrackBar = new System.Windows.Forms.TrackBar(); this.OptionsRenderTabPage = new System.Windows.Forms.TabPage(); + this.AntiAliasingTrackBar = new System.Windows.Forms.TrackBar(); this.FarClipUpDown = new System.Windows.Forms.NumericUpDown(); this.label32 = new System.Windows.Forms.Label(); this.NearClipUpDown = new System.Windows.Forms.NumericUpDown(); @@ -223,6 +225,7 @@ namespace CodeWalker this.ToolsMenuSelectionInfo = new System.Windows.Forms.ToolStripMenuItem(); this.ToolsMenuProjectWindow = new System.Windows.Forms.ToolStripMenuItem(); this.ToolsMenuCutsceneViewer = new System.Windows.Forms.ToolStripMenuItem(); + this.ToolsMenuAudioExplorer = new System.Windows.Forms.ToolStripMenuItem(); this.ToolsMenuWorldSearch = new System.Windows.Forms.ToolStripMenuItem(); this.ToolsMenuBinarySearch = new System.Windows.Forms.ToolStripMenuItem(); this.ToolsMenuJenkGen = new System.Windows.Forms.ToolStripMenuItem(); @@ -310,7 +313,8 @@ namespace CodeWalker this.ToolbarPanel = new System.Windows.Forms.Panel(); this.SubtitleLabel = new System.Windows.Forms.Label(); this.SubtitleTimer = new System.Windows.Forms.Timer(this.components); - this.ToolsMenuAudioExplorer = new System.Windows.Forms.ToolStripMenuItem(); + this.AntiAliasingValue = new System.Windows.Forms.Label(); + label34 = new System.Windows.Forms.Label(); this.StatusStrip.SuspendLayout(); this.ToolsPanel.SuspendLayout(); this.ToolsTabControl.SuspendLayout(); @@ -340,6 +344,7 @@ namespace CodeWalker ((System.ComponentModel.ISupportInitialize)(this.CollisionMeshRangeTrackBar)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.FieldOfViewTrackBar)).BeginInit(); this.OptionsRenderTabPage.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.AntiAliasingTrackBar)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.FarClipUpDown)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.NearClipUpDown)).BeginInit(); this.OptionsHelpersTabPage.SuspendLayout(); @@ -1686,6 +1691,9 @@ namespace CodeWalker // // OptionsRenderTabPage // + this.OptionsRenderTabPage.Controls.Add(this.AntiAliasingValue); + this.OptionsRenderTabPage.Controls.Add(label34); + this.OptionsRenderTabPage.Controls.Add(this.AntiAliasingTrackBar); this.OptionsRenderTabPage.Controls.Add(this.FarClipUpDown); this.OptionsRenderTabPage.Controls.Add(this.label32); this.OptionsRenderTabPage.Controls.Add(this.NearClipUpDown); @@ -1708,6 +1716,27 @@ namespace CodeWalker this.OptionsRenderTabPage.Text = "Render"; this.OptionsRenderTabPage.UseVisualStyleBackColor = true; // + // label34 + // + label34.AutoSize = true; + label34.Location = new System.Drawing.Point(7, 253); + label34.Name = "label34"; + label34.Size = new System.Drawing.Size(64, 13); + label34.TabIndex = 63; + label34.Text = "Anti-Aliasing"; + // + // AntiAliasingTrackBar + // + this.AntiAliasingTrackBar.LargeChange = 1; + this.AntiAliasingTrackBar.Location = new System.Drawing.Point(10, 269); + this.AntiAliasingTrackBar.Maximum = 8; + this.AntiAliasingTrackBar.Minimum = 1; + this.AntiAliasingTrackBar.Name = "AntiAliasingTrackBar"; + this.AntiAliasingTrackBar.Size = new System.Drawing.Size(184, 45); + this.AntiAliasingTrackBar.TabIndex = 62; + this.AntiAliasingTrackBar.Value = 1; + this.AntiAliasingTrackBar.ValueChanged += new System.EventHandler(this.AntiAliasingTrackBar_ValueChanged); + // // FarClipUpDown // this.FarClipUpDown.Increment = new decimal(new int[] { @@ -2762,12 +2791,12 @@ namespace CodeWalker this.ToolsMenuExtractShaders, this.ToolsMenuOptions}); this.ToolsMenu.Name = "ToolsMenu"; - this.ToolsMenu.Size = new System.Drawing.Size(181, 356); + this.ToolsMenu.Size = new System.Drawing.Size(170, 334); // // ToolsMenuRPFBrowser // this.ToolsMenuRPFBrowser.Name = "ToolsMenuRPFBrowser"; - this.ToolsMenuRPFBrowser.Size = new System.Drawing.Size(180, 22); + this.ToolsMenuRPFBrowser.Size = new System.Drawing.Size(169, 22); this.ToolsMenuRPFBrowser.Text = "RPF Browser..."; this.ToolsMenuRPFBrowser.Visible = false; this.ToolsMenuRPFBrowser.Click += new System.EventHandler(this.ToolsMenuRPFBrowser_Click); @@ -2775,14 +2804,14 @@ namespace CodeWalker // ToolsMenuRPFExplorer // this.ToolsMenuRPFExplorer.Name = "ToolsMenuRPFExplorer"; - this.ToolsMenuRPFExplorer.Size = new System.Drawing.Size(180, 22); + this.ToolsMenuRPFExplorer.Size = new System.Drawing.Size(169, 22); this.ToolsMenuRPFExplorer.Text = "RPF Explorer..."; this.ToolsMenuRPFExplorer.Click += new System.EventHandler(this.ToolsMenuRPFExplorer_Click); // // ToolsMenuSelectionInfo // this.ToolsMenuSelectionInfo.Name = "ToolsMenuSelectionInfo"; - this.ToolsMenuSelectionInfo.Size = new System.Drawing.Size(180, 22); + this.ToolsMenuSelectionInfo.Size = new System.Drawing.Size(169, 22); this.ToolsMenuSelectionInfo.Text = "Selection info..."; this.ToolsMenuSelectionInfo.Click += new System.EventHandler(this.ToolsMenuSelectionInfo_Click); // @@ -2790,7 +2819,7 @@ namespace CodeWalker // this.ToolsMenuProjectWindow.Enabled = false; this.ToolsMenuProjectWindow.Name = "ToolsMenuProjectWindow"; - this.ToolsMenuProjectWindow.Size = new System.Drawing.Size(180, 22); + this.ToolsMenuProjectWindow.Size = new System.Drawing.Size(169, 22); this.ToolsMenuProjectWindow.Text = "Project window..."; this.ToolsMenuProjectWindow.Click += new System.EventHandler(this.ToolsMenuProjectWindow_Click); // @@ -2798,14 +2827,22 @@ namespace CodeWalker // this.ToolsMenuCutsceneViewer.Enabled = false; this.ToolsMenuCutsceneViewer.Name = "ToolsMenuCutsceneViewer"; - this.ToolsMenuCutsceneViewer.Size = new System.Drawing.Size(180, 22); + this.ToolsMenuCutsceneViewer.Size = new System.Drawing.Size(169, 22); this.ToolsMenuCutsceneViewer.Text = "Cutscene viewer..."; this.ToolsMenuCutsceneViewer.Click += new System.EventHandler(this.ToolsMenuCutsceneViewer_Click); // + // ToolsMenuAudioExplorer + // + this.ToolsMenuAudioExplorer.Enabled = false; + this.ToolsMenuAudioExplorer.Name = "ToolsMenuAudioExplorer"; + this.ToolsMenuAudioExplorer.Size = new System.Drawing.Size(169, 22); + this.ToolsMenuAudioExplorer.Text = "Audio explorer..."; + this.ToolsMenuAudioExplorer.Click += new System.EventHandler(this.ToolsMenuAudioExplorer_Click); + // // ToolsMenuWorldSearch // this.ToolsMenuWorldSearch.Name = "ToolsMenuWorldSearch"; - this.ToolsMenuWorldSearch.Size = new System.Drawing.Size(180, 22); + this.ToolsMenuWorldSearch.Size = new System.Drawing.Size(169, 22); this.ToolsMenuWorldSearch.Text = "World search..."; this.ToolsMenuWorldSearch.Click += new System.EventHandler(this.ToolsMenuWorldSearch_Click); // @@ -2813,14 +2850,14 @@ namespace CodeWalker // this.ToolsMenuBinarySearch.Enabled = false; this.ToolsMenuBinarySearch.Name = "ToolsMenuBinarySearch"; - this.ToolsMenuBinarySearch.Size = new System.Drawing.Size(180, 22); + this.ToolsMenuBinarySearch.Size = new System.Drawing.Size(169, 22); this.ToolsMenuBinarySearch.Text = "Binary search..."; this.ToolsMenuBinarySearch.Click += new System.EventHandler(this.ToolsMenuBinarySearch_Click); // // ToolsMenuJenkGen // this.ToolsMenuJenkGen.Name = "ToolsMenuJenkGen"; - this.ToolsMenuJenkGen.Size = new System.Drawing.Size(180, 22); + this.ToolsMenuJenkGen.Size = new System.Drawing.Size(169, 22); this.ToolsMenuJenkGen.Text = "JenkGen..."; this.ToolsMenuJenkGen.Click += new System.EventHandler(this.ToolsMenuJenkGen_Click); // @@ -2828,42 +2865,42 @@ namespace CodeWalker // this.ToolsMenuJenkInd.Enabled = false; this.ToolsMenuJenkInd.Name = "ToolsMenuJenkInd"; - this.ToolsMenuJenkInd.Size = new System.Drawing.Size(180, 22); + this.ToolsMenuJenkInd.Size = new System.Drawing.Size(169, 22); this.ToolsMenuJenkInd.Text = "JenkInd..."; this.ToolsMenuJenkInd.Click += new System.EventHandler(this.ToolsMenuJenkInd_Click); // // ToolsMenuExtractScripts // this.ToolsMenuExtractScripts.Name = "ToolsMenuExtractScripts"; - this.ToolsMenuExtractScripts.Size = new System.Drawing.Size(180, 22); + this.ToolsMenuExtractScripts.Size = new System.Drawing.Size(169, 22); this.ToolsMenuExtractScripts.Text = "Extract scripts..."; this.ToolsMenuExtractScripts.Click += new System.EventHandler(this.ToolsMenuExtractScripts_Click); // // ToolsMenuExtractTextures // this.ToolsMenuExtractTextures.Name = "ToolsMenuExtractTextures"; - this.ToolsMenuExtractTextures.Size = new System.Drawing.Size(180, 22); + this.ToolsMenuExtractTextures.Size = new System.Drawing.Size(169, 22); this.ToolsMenuExtractTextures.Text = "Extract textures..."; this.ToolsMenuExtractTextures.Click += new System.EventHandler(this.ToolsMenuExtractTextures_Click); // // ToolsMenuExtractRawFiles // this.ToolsMenuExtractRawFiles.Name = "ToolsMenuExtractRawFiles"; - this.ToolsMenuExtractRawFiles.Size = new System.Drawing.Size(180, 22); + this.ToolsMenuExtractRawFiles.Size = new System.Drawing.Size(169, 22); this.ToolsMenuExtractRawFiles.Text = "Extract raw files..."; this.ToolsMenuExtractRawFiles.Click += new System.EventHandler(this.ToolsMenuExtractRawFiles_Click); // // ToolsMenuExtractShaders // this.ToolsMenuExtractShaders.Name = "ToolsMenuExtractShaders"; - this.ToolsMenuExtractShaders.Size = new System.Drawing.Size(180, 22); + this.ToolsMenuExtractShaders.Size = new System.Drawing.Size(169, 22); this.ToolsMenuExtractShaders.Text = "Extract shaders..."; this.ToolsMenuExtractShaders.Click += new System.EventHandler(this.ToolsMenuExtractShaders_Click); // // ToolsMenuOptions // this.ToolsMenuOptions.Name = "ToolsMenuOptions"; - this.ToolsMenuOptions.Size = new System.Drawing.Size(180, 22); + this.ToolsMenuOptions.Size = new System.Drawing.Size(169, 22); this.ToolsMenuOptions.Text = "Options..."; this.ToolsMenuOptions.Click += new System.EventHandler(this.ToolsMenuOptions_Click); // @@ -3579,7 +3616,7 @@ namespace CodeWalker this.SubtitleLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.SubtitleLabel.Location = new System.Drawing.Point(455, 555); this.SubtitleLabel.Name = "SubtitleLabel"; - this.SubtitleLabel.Size = new System.Drawing.Size(84, 18); + this.SubtitleLabel.Size = new System.Drawing.Size(83, 18); this.SubtitleLabel.TabIndex = 8; this.SubtitleLabel.Text = "Test Subtitle"; this.SubtitleLabel.TextAlign = System.Drawing.ContentAlignment.TopCenter; @@ -3590,13 +3627,14 @@ namespace CodeWalker // this.SubtitleTimer.Tick += new System.EventHandler(this.SubtitleTimer_Tick); // - // ToolsMenuAudioExplorer + // AntiAliasingValue // - this.ToolsMenuAudioExplorer.Enabled = false; - this.ToolsMenuAudioExplorer.Name = "ToolsMenuAudioExplorer"; - this.ToolsMenuAudioExplorer.Size = new System.Drawing.Size(180, 22); - this.ToolsMenuAudioExplorer.Text = "Audio explorer..."; - this.ToolsMenuAudioExplorer.Click += new System.EventHandler(this.ToolsMenuAudioExplorer_Click); + this.AntiAliasingValue.AutoSize = true; + this.AntiAliasingValue.Location = new System.Drawing.Point(147, 253); + this.AntiAliasingValue.Name = "AntiAliasingValue"; + this.AntiAliasingValue.Size = new System.Drawing.Size(13, 13); + this.AntiAliasingValue.TabIndex = 64; + this.AntiAliasingValue.Text = "1"; // // WorldForm // @@ -3662,6 +3700,7 @@ namespace CodeWalker ((System.ComponentModel.ISupportInitialize)(this.FieldOfViewTrackBar)).EndInit(); this.OptionsRenderTabPage.ResumeLayout(false); this.OptionsRenderTabPage.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.AntiAliasingTrackBar)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.FarClipUpDown)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.NearClipUpDown)).EndInit(); this.OptionsHelpersTabPage.ResumeLayout(false); @@ -3968,5 +4007,7 @@ namespace CodeWalker private System.Windows.Forms.ToolStripMenuItem ToolbarSelectCalmingQuadButton; private System.Windows.Forms.ToolStripMenuItem ToolbarSelectWaveQuadButton; private System.Windows.Forms.ToolStripMenuItem ToolsMenuAudioExplorer; + private System.Windows.Forms.TrackBar AntiAliasingTrackBar; + private System.Windows.Forms.Label AntiAliasingValue; } } \ No newline at end of file diff --git a/CodeWalker/WorldForm.cs b/CodeWalker/WorldForm.cs index 0e4e6a7..1c5bf57 100644 --- a/CodeWalker/WorldForm.cs +++ b/CodeWalker/WorldForm.cs @@ -17,6 +17,7 @@ using CodeWalker.Rendering; using CodeWalker.GameFiles; using CodeWalker.Properties; using CodeWalker.Tools; +using CodeWalker.WinForms; namespace CodeWalker { @@ -29,7 +30,7 @@ namespace CodeWalker volatile bool formopen = false; volatile bool running = false; - volatile bool pauserendering = false; + public bool Pauserendering { get; set; } volatile bool initialised = false; Stopwatch frametimer = new Stopwatch(); @@ -262,6 +263,9 @@ namespace CodeWalker ViewModeComboBox.SelectedIndex = startupviewmode; BoundsStyleComboBox.SelectedIndex = 0; //LoadSettings will handle this + AntiAliasingValue.Text = Settings.Default.AntiAliasing.ToString(); + AntiAliasingTrackBar.Value = Settings.Default.AntiAliasing; + SelectionModeComboBox.SelectedIndex = 0; //Entity mode ShowSelectedExtensionTab(false); @@ -366,7 +370,10 @@ namespace CodeWalker formopen = true; - new Thread(new ThreadStart(ContentThread)).Start(); + + new Task(ContentThread, TaskCreationOptions.LongRunning).Start(TaskScheduler.Default); + //Task.Run(ContentThread, ContentThread) + //new Thread(new ThreadStart(ContentThread)).Start(); frametimer.Start(); } @@ -394,13 +401,28 @@ namespace CodeWalker public void BuffersResized(int w, int h) { Renderer.BuffersResized(w, h); + + if (WindowState == FormWindowState.Minimized && gameFileCache.IsInited) + { + Console.WriteLine("Clearing cache"); + gameFileCache.Clear(); + gameFileCache.IsInited = true; + GC.Collect(); + } } public void RenderScene(DeviceContext context) { float elapsed = (float)frametimer.Elapsed.TotalSeconds; + + + if (elapsed < 0.016666) + { + Thread.Sleep((int)(0.016666 * elapsed) * 1000); + } + frametimer.Restart(); - if (pauserendering) return; + if (Pauserendering) return; GameFileCache.BeginFrame(); @@ -4246,6 +4268,8 @@ namespace CodeWalker private void ContentThread() { + Thread.CurrentThread.Name = "WorldForm ContentThread"; + Console.WriteLine($"{Thread.CurrentThread.ManagedThreadId} {Thread.CurrentThread.Name}"); //main content loading thread. running = true; @@ -4269,7 +4293,12 @@ namespace CodeWalker return; } - gameFileCache.Init(UpdateStatus, LogError); + gameFileCache.UpdateStatus += UpdateStatus; + gameFileCache.ErrorLog += LogError; + if (!gameFileCache.IsInited) + { + gameFileCache.Init(); + } UpdateDlcListComboBox(gameFileCache.DlcNameList); @@ -4285,8 +4314,9 @@ namespace CodeWalker EnableDLCModsUI(); - - Task.Run(() => { + new Task(() => + { + Thread.CurrentThread.Name = "Renderer ContentThread"; while (formopen && !IsDisposed) //renderer content loop { bool rcItemsPending = Renderer.ContentThreadProc(); @@ -4296,7 +4326,7 @@ namespace CodeWalker Thread.Sleep(1); //sleep if there's nothing to do } } - }); + }, TaskCreationOptions.LongRunning).Start(TaskScheduler.Default); while (formopen && !IsDisposed) //main asset loop { @@ -6584,7 +6614,7 @@ namespace CodeWalker if (Renderer.Device == null) return; //can't do this with no device Cursor = Cursors.WaitCursor; - pauserendering = true; + Pauserendering = true; lock (Renderer.RenderSyncRoot) { @@ -6599,7 +6629,7 @@ namespace CodeWalker } } - pauserendering = false; + Pauserendering = false; Cursor = Cursors.Default; } @@ -7817,6 +7847,13 @@ namespace CodeWalker SubtitleTimer.Enabled = false; SubtitleLabel.Visible = false; } + + private void AntiAliasingTrackBar_ValueChanged(object sender, EventArgs e) + { + Settings.Default.AntiAliasing = AntiAliasingTrackBar.Value; + Settings.Default.Save(); + AntiAliasingValue.Text = Settings.Default.AntiAliasing.ToString(); + } } public enum WorldControlMode diff --git a/CodeWalker/WorldForm.resx b/CodeWalker/WorldForm.resx index 0e069f5..e1d97d2 100644 --- a/CodeWalker/WorldForm.resx +++ b/CodeWalker/WorldForm.resx @@ -120,6 +120,9 @@ 182, 17 + + False + dt1_lod hw1_lod @@ -237,12 +240,20 @@ ufo YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAB4SURBVDhP3ZC7DcAgDEQZKTMwHOvSIFriS7BlEB+HMic9 QJbvFThLUkpXzjkSpaeuzMPlEELx3jdsBauyCHBY6UWYPQI93KEljQD3jL6EGzN6x0bASyNYwkKU8Udm gd6TMnIikDJyIqjVNz8T7FgKrAwFX6lVinM3aJ05lWDPRRcAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAB0SURBVDhP7ZNBCoAgEEXnSJ3BqxmetNpaMLhVv5DNRJS2 + CxIeuvA9XSjtg5mHEILPxB6U7JyLxphmSkDK1o5x9dst87SUfTXwRsYsA+paT0BGDGsVOJ92hdz3Bz4f + wGPC48uu7w5IGd+gBlpRMgYCnRwyESUj3CsQkYNFDwAAAABJRU5ErkJggg== iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAAHRJREFUOE/tk0EKgCAQRedIncGrGZ602lowuFW/kM1ElLYLEh668D1dKO2DmYcQ + vQAADr0BR/uQrQAAAHRJREFUOE/tk0EKgCAQRedIncGrGZ602lowuFW/kM1ElLYLEh668D1dKO2DmYcQ gs/EHpTsnIvGmGZKQMrWjnH12y3ztJR9NfBGxiwD6lpPQEYMaxU4n3aF3PcHPh/AY8Ljy67vDkgZ36AG WlEyBgKdHDIRJSPcKxCRg0UPAAAAAElFTkSuQmCC @@ -250,7 +261,7 @@ ufo iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - xAAADsQBlSsOGwAAAThJREFUOE+dk01ugzAQhTlBj+MDIJC4A1yEa7DMnlWaSiAu0ZI7BNi0XaRpF7Bg + vgAADr4B6kKxwAAAAThJREFUOE+dk01ugzAQhTlBj+MDIJC4A1yEa7DMnlWaSiAu0ZI7BNi0XaRpF7Bg 4/pzbMsQ0qod6SX2zHvPP4yDdUzTJBR2CieF2YAxOWFot6GKDwrlMAyyKAqZZZkMw1AjTVOdowYHrpFd w4if67p2os/L1wI2DwfuwkRNSitu2+NdA1szJqUVC7ZGYb9/dOQtA/6bptFjcxyBwY7zkfwL0KDF4ESC 7bHCx/miCf7qYJ1jjjYYx3Fm0nfDXfJWzhjMzuBweJJvr++b5K1dOQN7hP9AH0H96EvM83zh7q+2zsH1 @@ -258,12 +269,13 @@ ufo WBXYx9R1nV75RuyHKrrnzCcGjE1u9ZyD4BugoZigQ9xrngAAAABJRU5ErkJggg== - + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAB0SURBVDhP7ZNBCoAgEEXnSJ3BqxmetNpaMLhVv5DNRJS2 - CxIeuvA9XSjtg5mHEILPxB6U7JyLxphmSkDK1o5x9dst87SUfTXwRsYsA+paT0BGDGsVOJ92hdz3Bz4f - wGPC48uu7w5IGd+gBlpRMgYCnRwyESUj3CsQkYNFDwAAAABJRU5ErkJggg== + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACtSURBVDhPrZBBEsIgEAR5Gy/wFV55T/wHr+KgHuCKNsVY + ZI2JiU7VVIVlp7OL+1mllIr7cb8Ie++PQwQYITnnM24NWxoBgsQYm/l+gk699bMsRA4h1JTSPsg0Xert + em/mGwh3vW1Z7MvIABSWqXG3+iZHAEw1m4wD49oVANgVOL/VeSgeDAiX1mpWeKy9BIQiI+OxWQF77tG5 + 2Fc729BmeElf/3lNhORe+oecewDObEqX49RqCgAAAABJRU5ErkJggg== @@ -279,7 +291,7 @@ ufo iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAAH5JREFUOE+9kEEKwCAMBH2bL+hPfI/9ooe2B71aVpKS5iBB0i4MyCZZjcFdrbUu + vQAADr0BR/uQrQAAAH5JREFUOE+9kEEKwCAMBH2bL+hPfI/9ooe2B71aVpKS5iBB0i4MyCZZjcFdrbUu IdsuDMUYB/8H1Fo3HQCPynOhsZTSU0pPAM7wpiG4hcFAzns/j2uAMzzZo3ntDHiYkTWNXwCztAJr+ROl 0IhU+UTzMEsHkG2XS4CE7K8Uwg0o2F4o9CrlEwAAAABJRU5ErkJggg== @@ -292,15 +304,6 @@ ufo EcMw2DzPDMEke9AsYBrHs10vN4I1QqImwwDcFyMjQGaBHr5Bo8nEoYCnCQTGzVeI4oj6fIi+KHgoPBhC 4knCjTww9vxfbIUQNDEyiGIZ8t6tW/k0vC/AOpuiueNOLwVkUeylvju9FJCg8E1vM/2PlTv5UoervVTJ uQAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACtSURBVDhPrZBBEsIgEAR5Gy/wFV55T/wHr+KgHuCKNsVY - ZI2JiU7VVIVlp7OL+1mllIr7cb8Ie++PQwQYITnnM24NWxoBgsQYm/l+gk699bMsRA4h1JTSPsg0Xert - em/mGwh3vW1Z7MvIABSWqXG3+iZHAEw1m4wD49oVANgVOL/VeSgeDAiX1mpWeKy9BIQiI+OxWQF77tG5 - 2Fc729BmeElf/3lNhORe+oecewDObEqX49RqCgAAAABJRU5ErkJggg== @@ -386,6 +389,17 @@ ufo 4BJN+IjGo5O8ZJndGVhKxpjWWts551aih0fre+0BLaVchRAezPB2NXSSV/gVwXGYPJiVUt6ns1ghCDjn UQG86w3FToVgDcWCWS9Fvi/Ao0RVAcwUjwpyhzmf4n8BFApS5HZRwRuONGMbrIJ1JIN8O2QAAAAASUVO RK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEvSURBVDhP3dK/K0dRGMfxKxRJopCSEkLya/guUhQRmQwG + WfwIkYySgYUSKUKJlOK/MBoMFMofYLUIsfJ+f3NuF3+A8tRree5zP/fcc070f6oHT/jAPTqQj6WvXvCM + TZQgG3H58gFGcYVLtGIN15jBNDbwiGNUIg4pQx8GsQuHhrCDW8yjHyns4Q0DcCXpykM5bFzgHGPYxw1G + UIVMtMHfWUUj4nIg/KurGIYrSAZYOXDGlbhXcZlegUO8Yxzb+BlQAwNW0G0jVAYK0AwHtnCEOyQDZvGC + ObTbKIIvLMA9WIYDizhFMsDjfsAZptCA9JcdfoVBvryOSbgCe4HPTuCz+BQMKEUvJmCy96ET1ehCuAf2 + 5ZF+uwdZKEYtmuBGFSIXhtejBe5PHX7dxL+qKPoEppRHcXOtiDsAAAAASUVORK5CYII= @@ -421,17 +435,6 @@ ufo rp3fhGJScIRLzKMLFTC9cMIu3nCDVUyjB6WkYA93mEWbAyH9cMImPuA+rWMA31YwBU82kF6BS32Er/aO M8zAh+OEghpcwQ2bg3uwBW8ewFd7xQkm0IA4oaAS7bh2KHjBIZbhV/D6GJkFphrdcIP8lFrAGPwPOjCO QdQiTqrAWNICd7gPnUj+xBKaU9dxfhTkjwV/FxU+AbsiGnc46OYIAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEvSURBVDhP3dK/K0dRGMfxKxRJopCSEkLya/guUhQRmQwG - WfwIkYySgYUSKUKJlOK/MBoMFMofYLUIsfJ+f3NuF3+A8tRree5zP/fcc070f6oHT/jAPTqQj6WvXvCM - TZQgG3H58gFGcYVLtGIN15jBNDbwiGNUIg4pQx8GsQuHhrCDW8yjHyns4Q0DcCXpykM5bFzgHGPYxw1G - UIVMtMHfWUUj4nIg/KurGIYrSAZYOXDGlbhXcZlegUO8Yxzb+BlQAwNW0G0jVAYK0AwHtnCEOyQDZvGC - ObTbKIIvLMA9WIYDizhFMsDjfsAZptCA9JcdfoVBvryOSbgCe4HPTuCz+BQMKEUvJmCy96ET1ehCuAf2 - 5ZF+uwdZKEYtmuBGFSIXhtejBe5PHX7dxL+qKPoEppRHcXOtiDsAAAAASUVORK5CYII= diff --git a/Shaders/BasicPS.cso b/Shaders/BasicPS.cso index 266b52deb5f53e40a388db7d88c3ba7cf2d97607..ef205ed7fb0d0533439c45247984390850612b06 100644 GIT binary patch literal 119128 zcmeFa4RBq@btc&O5kydYGD%SqCDGQEOi2I;0(cJq3DTqpk{~4|{0l+Jv_+YGcz6Jx z_3$3@-UIO?#se!#R!KaGGS)asqU@-4G#*Xao6=0QHQrrq#g%9#-jp`+I@+u%rAm1c zZOXHyn#5iu>#0$V_xnztzPImvKLF*Q&5thm(6>)_pFVy1^y$+-w|nCJk)!|VSO4hh z)zSa(KW?jhboCp5esi_W7<2xAZ!=wR$MD;JgE3ESGUhAzz0qgPnO(-5oj7*<&5g!% zAbdx=F$gj{@H3s?`(7Im{3gPlhs*HfL;U=Gu|c>CW4eD04^W%y@ax3ydwAeT+7#UX zxk0!~&+yk8gcBd*F#Pof;mp^CztJF^bhz+8Z4gdcUHE@&5Kf-D@W19ugNI=Gk=Vo& zh5`Pe2H~!JjCU@-R9mRzCnwEBe!g~jE<2Ccqvc|Gp@R1iXpSt*%@Z&=pU>HVTDDN+ zTNpWG&J{|vGudLkR?C|+lasl8DgQ{eQZAwf$p`Y~IeGokm)bzgO`u~M z?$Vh`bfxw(-q6#IA2^%TPYvQc%@^~Pqh*L4(yw*{HJ)TW{vzOnCE>pc_=X1X ze+4+pos9o)0VfZV@ZSTRx;zR0L%_E;fd2{Llnk^Tno?SQkcSO&HW*SFjU_&EG5GoLZ|`8){s1YAd_!~ZG3S+|7qaqtS@=ipDm zp9K7T1NgImUr;#daqaOp0KWu(l1?ix+S9A_u&dVBQ)P7Z#gpjDRj|;-N4|+XJ9_#b zs!rsgCgC2ND^#n6D|v#TKNvU#`=C(DSF7f5asF~v^r?9;TbUN`ks?IWEL8L75F=kK zW^09V$xI9CNtg@JdR0@k`94$v!s_FYORK9RJ-`SH#cTyJ@}+8_wtRA-Sd(Og9?uqw z<(Zi{tdg&m@wJ%A7iV_T=Fc z=G?LKM^B$VJ7JEVK5_aiczqhYX4@ov%s;@-J;cR_yq|TA2@anX(k_>IJ@m5 zwvGM_GXBH{(|PFd&G+vB zPP`7za=Lf&z`e6B-8<{gy|d2p;LCRcTmH)sNyfd?barlB4MO=m1D0+TO=QgNfb(Hq zZR1vE0#yH$hX2hk!H0+8?c?}^hvjqix)-ALI~w^|>%tMg)iP9n8{he#ghj9r%*}GPMS001)Zd0FElXFM zHSK@XHQ)-{^SNw;H8!_2zh#2`sJ5Z@(AM(dyzsUN%sc7_WUCe-aOM zhO1-h4ASD-6$Qy9t^(-kjHdqr=w^9{w|(5Ye0LA? zI-+qMANFg1!@L}i*p8Ua)vb#Q>Owtoe5=x-?nDE{(r2^i@htxQWg*uOcKbht3m%{Zikd3E5OI@nL==wKLi6y5f5{7K~5 zK2A_5143H>-hT&pI}z~6&%uYs$&Azi{DKdzt4sDPq=9KjGvm``yP|H)03Y97Uql$| zjIg$G{K4bmNm}g}T|B~EJeMcahIyil^s}st8=ws24d1`;6nuF2-ac+^Q_|0}@NxOl z4q<=HFqbc3jq+t*PkhWz(rNyVHUxp5D2}6za6b<13gH>jlZV8YjKjQK9MaY(4)bzx zL=F_sohYtv2f2Pu;wX=47trtQ0vAW}^5W3%;?VALdXQk>4kKS7o1$x(rfZAE|HWSj zBp<>MzL7FPnrRCW);^9g?0@*NasG@xju!I9#Us5;=V-y(#wp;Eyr9<^w|yLc?DN}j z_zP_!;gjQ6J+A8=u1C;cJDifAmyZi;A17vc!hHO)yLi;Sw^r_g44lnXQ^y5IY)#Z!u&msZCnIGFD`AB(|vZ{_FKmH71 zgmpoW((Wfs;z!@XG>pUa#6`VA8S7F%`wqsX{=8f9u#HGubtj;2T-fazhctZy?}7{Y zFutRW{6{<8=*r^yazqh(jQO>V8}q-t{`x`Uaq-y45RY>mO^$AkV@N+;M-#(H6J5tA z;wLSBx)?5$i*Z~ZgI6iLkIUf%?>3Tmeth5#>yEr)SR?!{Y~8dvT!Gm@ehd8yJN{&V zT_6z5?hL82zjP?sV)lpNhdR|Tz*;yb2c^Q z4&fp1TzLDqF;Bkq#F+abnhCsi;bet+h-D%T!_DbGL^*T3aA}bwl!^VGY=rSxTV5RY zDNicQ$)4jY)AQL1QqZr3ylNjOH2zTTH>2(-&!pSQmtS`rv-KgI{a+gS9?`fPH{143 zzOfuke*ixhpZ);(hw(Mee!v}{Agj`EJGmzhnK#qk?!8k-04DXyxYQSn!#bk>ZZ98) zn|hFOn4eD*`+Am_bi25OvCT;Sij%y{0LH$&eH?!h57V%I93BP_0VQc+-H8wk>dwckGMEBTTW0P9ThV zJHE5bw*bAXL-L(+!Sc8^;BdE(1DJT&1_F;K$vWYf*3}o=0r9tu;}7~j$a~03$0JvE z%AA9dHpg?9mb9TvGS(%p`c{K*PKGk;+7#dKMZK7>Lk}T;#&vl(cbDS#!wB1|e7YSj zc}V@|U@WIEn{2y~tFRAbILqqffZ;9;UPTWu-0{SxpY_c$yS!|f1=e-9=8O1Y`((Sh z3$z{4Fw#rfd>&vGR`d|zEL$?Jqn-6mni$XJ;bzcQEjQ(G6t41A}(FxVH&m* zR~APv`R}(AS1*oFYqhN#JvnzgBW}u@uUp}b^nC++(S@_Tpf|KhtbD88gAuJ z{R}&TcgF|kGH#4PrWjZHUlvC30;(`xhTqpOG1JcJmKaNk1KBv2h^PU#8 z?*m@eEz|jV+j1KN{)T*OL?iImm7VoXe2_2c3n&A$H7Ns5@86DhS2hP@U*KR)M-Y#L zIUV7{94{K_2ZN)q4qpnY7c&jkTw$MoY#7o!FuqUuK zAoHUAz=tsMLFmEU2-`boy`cga>w~r`ABJL(VmUwYeDPcoW52 zJwzHD4o5TFC~1&BB9X6?a~JOD=>UG(R>bY>Bl07Rr*?0%Fv%<8fsD_E2VOeoXWUja zDj#L6rTPjfP@(uWqtVria~YR%^9?OO=bahm#s>5&FJf^V9~iew*Rb#^e1IF)y&DVB zHmw9!9ys1~{9{}fhjsL%#-Tj%xgS+MdG7GJ8s4`c5$AXLa2=m8*p&jiL1A#}9*(*A zkXHBHjTgwd%tJa@BX{!5#1U?6jdmIw9Xz^gS8#Ijc(8Y1XehPu_K8U*1ajj4BmAzC zIe5Ndoe%#0J>bAsX}Emw{Db8H^l+2syZ>N$@(-!t>?Z^KXuI=a+3B(mX4nVM-)|0R zm;U#=kROz;DF>b%NVnyFX(Ug(_22&1|1tR5FWfQy%Av9MK6KwtV~d%67{;Ify!8{q zNsu4>!TaA44*b`@{I7q>ihS<#_;Ymsg@>#8O7%jikbivlg^6-*VJ=^)RWCeHs9j!| zx^NWR`9Gd5KAx|5uLE{xa`nQIY_*U(GdXa%SS=cp+kXLjtwUVXA+A}AD+gSQ7FYB- zP?cTI)eBR^HD9&3esE+Jet={ZzE5`9Zztxm^HRv~mohR=K5tWO>*d+M|0MQ?f2+eR z{B)a{-q~)B&Eorpo7&Ccoo(iw-)b}8Ioodj=znQ9dw$uN|M*w!X48A^rhtLqKlzIe z^O>);nS+1SX3qRfo7w!?cJuR#9p=#QwwwR*tTF%Y)7WV7FWSw?a)){8uRF{esdjVq zpLLl1_qLnf_d3jjf8K8X&&NAV|DSf4&tp<%!?ZDf@J~9-wr?Br=fB);1~It3a#Nc* z@R1HP`kNi*=f2r)-udlz^O3)4Gk<_VcjuqBn?LUAFhBbT9j5!+7@^u>_1}?J_qT`4 zj}}U~;=*)3xZ7{Og}YN5`ERCJ&elePxon}-^T_1I(+{6J^YFQ#P?}$;^#=QcaHD%_ z;}fZk0Uk||3l8dQ&(OeVe-Qmi_kPUAEX?5BhVUby;NZbvs5kJ^rTYW@@27};MiShQ zG!~m?ACiy>YWXE%6IuuG-ARrg8VzaYjF%wb{)54&B4enBFdo_eZi!T9dK+hz_Oc>| ze6gDM@=T%`Zh|J`q4_CR332gZ;lj^e2Q0cC{k~>$vR{ZI=b{uWaFT!N-e7Prvn$BU z=Umlbx-c^XwVjDlB^coooH$|4lq=4y(fZuaz^S}3ACdmc|$hP6(-d@OKHHQzlJj#;EAi=R@ zLrqe-tPUQeo(YTA-L2(tWMrTOy1OCu-QC?P>~r`OjGVTgsfS-_sh}dBMOV%8d(K+E zhw%q05NdgubuUxyCChq{WMn_eDqb)*suyxT#0T_!(HCv55;Z=_*H*2KB3-W&!;02c ziI`r6dzifXXov>w)#+5Le1-AIkM{$j zlWel8;XU4NMXj`K7sXb>CkXgOglpXZ> z;9yS9Fle5e<%nZsyamSjB45sGF>GbVt07%qolW>KLc-WNvOjE2nyo~wv#|R_PwvEz ztX`YOhG@{QuLliS=!)794HQg>MugASs)`>!)YP_R;c;TE#tG%XzOYP^d?YAcL1H~{ zqJdtG_ii8~09UK>Npnz14=gROEcORiGI&{{>K#@{bvOumh*i6P&*0E}tISsqxVYAQ znO!{J5tr`>@+HIbSi{-N){$|97}MeM|bS%Nj$X~!CoX{IXn zz$}udKZxF<(zv%?M%|qb<9e?yO2mZ51s3kEQQ(!u^%Qtzab*RqaJ>bVN<$-VQE5@p z-J2A+zG(e{SMur3EX0w+V{Kq-;xFfY}kwF(d@msk3#S73tgQf(MD2Bmd*c?Au+k{MXUgBME6 z@)Dxq_!KPyt$S<5^ux->=>h?}BsATgyAl-?T25?se3%S{3pHsE2UVjo!?4;S@>7$Q7c38Hl{b`Y5bo1+p*Zo|Q> zobxh?F$WHX0&WYA&rABy1&S>j3zEE0?gRx^S6Fca0tmqFcnpGyJx>360!QgacH!Ux{O?N-j1G^D z?8#U&2CecUg2{IBRya&l8Yf1cR?jjzSS@EGEoQ3-e`hC_OWC)=++ZaUKq=L@J0$(EZy+3@UvY8CY2X zK0bqkSMn8D&I8u0#}*j@<4=NSpleC9ay6EoA^ds+_w6w@NR2nr;lL|(1 zQT5_djlr68gwj<8vNIGsR^|Z~~-ZU9c8}q6YCil*6t$ub`Oh zMAG|4IXU9drzjCqiYij@VFPBZWT#yVX3Yq378^~75$VP~9%AI8GQ+5SqVh6MC60`ZWyUaZ z<0@O_1`+XCnzf+ zk*?^L4ZfPNY7pr>-4&h9BQ+D^u(F81s^g+~bu}ZUA{SvdIV9GM4r>B-u`{ZYrHasL zcU9vUR%dTSAkcL<(RYJm#Bquel5Qt(gPCluR<2YB1_u1TMzLbfzc7t?5a4FV>rZ&# ze7m#xB2K=m>jcq)@-vvJ^O6vd&($zXVDa@!SZtcn_MdDSoaqYXmhF|P`-2C(gVzS! zNoq|{zzV^f+EPz`X}-sz>_dMlGmDTkpJIjvyAC$SZYNwgW1?zkXlM`hF4D{^E9pg> zP-xwOPwdEhgoL`F;4XCZy}=>K_kK%LRAaQNCXovdeWF3-rr21c34@ALikNECF*Or~ zMi_8ojGhJhkex!hU;fb0k{3&XRK-XzBO(==AWn*oFBI+Zcd%4BZ#z3>b)>CRXJG1F zRlM5z13U7!E1FdoSG{bDiC(H;cQT1w8Fuu7xn$l7}QTcLATkyz16^1a{dvH^Ba=6_W0Z* z^G7f`udj}49)O3PnOIq_CfNN(y=C;)YG54-(b~i0Fe;i{(?M^24TO@}YMwGm=B81i zWG$u{Lq4<|ID6F_i|5aHxQUiV^G=D$mvEjXHv1CJTG-r{*q_3P_J-9qyEJM8=87^C zg96+A>qs94!wRP)XjEp1LX86e#nf`4oCvU?tOnbB$^>UP1Tn=RL zKyi$6a>42dwp3C?V}ipK&emKJ_Txo{K8r$|PTg5Vz-|%2rizkUjA9uBlhVHE3SrSy zsy`|D*xW4NgaR9_$)GzF!zlZx(Zb5MGEsKr0C_9Sw^`#zHWRJv2;At+wkT91v(vf& z)7Ba#3+c{wW+71tw(7#sZ&W(VvzDXUMC8y6Rrs0%&rm2tgjCv)$}tfTTXp{ znvL~B>PT1f@ta0#JSHP0>m6Rj@)OgX9ci5j6&6~?0AUeb3vktAnQ8x`_!OUTXcI3u zvbxs63J`>5`jr1_P8Md_Q5J!O%b||28 z`XMzg8Tl&uqhcX0LRqkgY+J6`aNBMdiZTj8=m>Qurc4&SbkqkTkntH5BxNLRg{Z1J zE@+uEZe%J9b@dzyI5cQNhx^0aE5kbHl^N4j2T>He(;0rx#3xkhP(2~3WVsZfe1&a5 z*grI|PnKkC0tN_fC#=WqiLQQ`M8Bb#iFy@z!JDAXNYm26VJtH|qy}UJ`Xw8VgYMG;! z;cOXcLzWGo$VCh7LNSS~)Y}rEL6C5n;nPAP0~H?5>WLL2wjK(M$`O>#=CSQUqzcnA z;lhFAl4ctke-Z7T{X(Fvutugx1XDG14N*l1qxpE2N(hh5$2(eWkz3d!5LHU)=%d4r zQR#UV8f)jO1w++931>P8H#VlRP8N!;8*qIa*sRq}j;%G74s`Lk^nUDn19~(bPPZp= zu%$+S8nvssF~}qg3GL}zyBbzB&8#0S1=UP5+sCzSDLxwa&|~b@C84v1#5@dVs6#=t zSgl~N--srpMf@$|NM)#4k+06^0S4FM#HOB=CQS>9Y$I{KB{P;vX_(lGo|;Kot+rf_ z>0$q2`_7Hfu>e)J!0foLMg z)^EIPSX00eXI7+6Jcjv}71-&diEVj3c9k&6SydJ-1PTRgY*h)kkxk_nSl=T-N4cHK zYGQ9`e;prp`W@*S)|LtqTBEHI8JAKRt)Xmt9cUqr-IJCU%jDZx>POwiM*iT54&vXR zjYX~uHrJk1q{EMnjEWVa%}gvQbQ{-di#4>wq*yKNFwC7|F9GJq56{n6%1ebg?1;r| z_vi>FfvdI3LXOui1l3}>R^{erohOwP58$pQZlIkGrj~=~V1lMsAnY5+>>JoOni&{Q zr_;pXe!?3|1s8#FqsB9h>~8;uIHoe-&CxbL8troS?W|$zQD2K$J&h z>~-CUM{P2din;u3)_x>$u~^2wo_c<)4>3n?KH^Yg9I=eV0#Bh-p!TZnmlh<=)8Y0j zL;|oDWfc-|>dKp~uj9DK#WQ4-1yGpwg0TGr3F`O}Mzz|{!MjB!p31%;z&Ccd8`gh}8#9A=)G1h{m)Liq7NF2^YNSlz@3h5^g zFBPhBj3Z<36XRsAg1g5i=d-!|u}YavN28V}!@%@dXm3GKMa_XI=F9JDn0j>6bRW*CQ^y#}`D< z2|Ke|#jFp>>Igk|ctGmgM7$Vav3Xi-kf7Uq8;C%T{LdwZn&1 zuzb>BibahgGqN6@bN5&!L6bun!!{b@c{71{K#B^|YK5G;kd629p~x|8dt=ORh%K0n zBbzACM4uhSq$@M#)j|`U;;-<xgqhv?5Tx0*uIPS@J?oX1|#8EYt~D6Ak1OAL&9^V+c`eDaCO=p;aAJg@di1x;tXQEGOibQsAhsMm_;dN=+1U86; zTlt8SH0m{pHP{suFv6CgZI7pEn_~-`f?N~InhbS-UzK~u)}Ok)qKYT~3B5hGK8q@b?N|(5j5gn#YRIa|44SjK@ka#p*u1U;*b=%yEE}-+ zk$f)PXRo?BM$-C54jwkA^qiuPVOxic2eX0#vDtyzmnPBJuZIN^$oZV~Xy6E9J$;RGYT za7IX?+hij|enA2dA1ab2NJ88DBrcwHXyQmbZ4^f`ETlwBS1x%2QABGEDM@2R8#%a{ zig4*Xp1c7PUoXZfsoyfqPWPAdt5`)@^!<3p6}$LrRf!D}G;+bNi|V^cG-(Mu zb^6pXyf`%Y+DUev1n$CKAA`JGG!fX&^VOrV6XQ+MFn1Ix#A7Eo>(H#Mfd=2=$I#Fp z1lNp)v!FgTc2=|r8nRhfeR`qxcSW-7w2Lsu`;!z2`t5DYc!@+}#fk(^sFK+m4}-jF zU4{Zm|NB5gN%G~K{`Y}~lH{YIzbTs3#`)^Sk&9TGp3W67<}mYzFMMk{-GB55wowc} zhEFc$=JL}8tfq-_V6$%+8*7Do)*pKmvzF^djeP~p32{q6Rh)Y;ha+0>HN{L8J(MLg z48=hcEkcJIg<^A_to>cor4=mw^oU&a*ZswrTgt_2ON9Q7%)GWl*p9+P@+r*4`D##< znPu53vkYNv7{<*QO@d@Cx=EO9PG}M)+pla`+3Etjxj{*AFxj@1fZ0tq@w7sQ#;fJ$ zP_9v~`}fKAxxYQf+5TD%T_8-`e>B(J5M(j~Y6t3KhpF9<)1N@nK%(pgREzr_CJ9+2g7D zgOP(ZcOX=MFnVy>ZXE9q_Gn75uRqv(kUPrygE542-r6H6%2_&_dZLtdM|tKHLNR9^ zG3bGOd9IE>{KWeSF9$v0%!(t5m)_;5#BoHK(4*%TdVFGyGJeF4%t3oFU^VE$c)*=_ zi0>(R3?G)hYeBJGetcmb6eM_lO1_mnnVt6wsGmOCEq?U@R#+2h^prI}cJu*c9Lj0( zD7Ce3q5+j9(L%kY8Xue(rT9U~;gAwJ%BN;n4``v3?1%k+_T=Fcet3pT!X7({a5t)ON03TBQ51eH?4r0M7ZXva!CVw~ zET~dzb$3+=aZz|a7fI77qFQV`56?(ElGTBBTum z2Z>VJcJ4<=6qAz1ua^8MiIP54sbpb(m#_!T%ZPPisU)RMy5t`zIO_k8mgnZmC3}3d zbpC^b+I%t-hf$hkYXjULOyuWlm(eAlV37qNM|%zq#`;JXG0{m%)DU$GbYZVChY7+$ zwOq1YZ!5G>#}b+|b$tuJFMlG|HXu;aP0O9Lpeo+#E*`;_O_bhmP42~2RDo66QMeOZSlH=iiIk27_OAG1B7dao<74C1jIUWte!Xu=+m z8fkDanhyLyzRA=RCLbwHJQuBMPs*%ahW$ltf>S-_gDf`GD#_VkK9B9Yw8aWFdonW4 zG5O(9ccomI7DHT)&_9|jQoYymp!STV<3xd{oVfbDVkH1lCKheKYehCZm^sT$c_M=% z925CsEn64q;rX>`x7=N(a0`6&nb(iU#?5Ptm&E1!y$Nh4!#xDT$#NQjuZ|OQXp-Kk==u$9uDxC z(=u2wH(!JzE*BSM_d8lZB>GcOd;!WmRm{&-!C7e|s1ZFJJX=z3D@#1=50}87+5(mc zu)`kbTb9ev2)WA|AG)X%6!ZAl0GQ6?u_Ca0K3gh5F9$ugd#eWA+bE>qzKuNdE>C?L zLpvV3jpJ1r=<$R(v-*$?T4fCdvSJX+$YKt%IrN)7iVkJrY3J3;Qs<>|jUpCxvg9UM zS}S0=3%tq~XSDl;NcAR4E!x6W!ET(;8}%9yV`7nTXiURMuw`vUvLeH9j6bB#oc(tRZtEe3jznWZ^)-~!^iWN28LjvLe+71PBOQ_K_0(^9`#Uq zKO;ogF+ODG>iCs1h~t=~qwbyYG;`E}{_wgd6d>%Ag6tf>IboxQ#z2=jWo@LOwpd0> z6kD=t)iwlsik<4>WoluG&DOt&`wD_`E{AnRNbnDj>L#7)5mJ3v3URz#If?U7>pE5d zA%k!ZhWS`|Q znaHk)Ahc(2mE9dQ6?7#sQ#~NEk)iGsEAm|VG<2Zab{U*ph)x$r-f0U=6p^1hwvMpu zn#fG+k|W1C+}6@OnFmS%^3wLb?{wQ3E8}HFEC{)`%dJ%xuPJ zsgSnBFv3UnsLvY?s5r~d}TBTlcs#tYHeZPyt{leOZKIaG) z>Sylaj2&BG5da(Tpj>1WD~8uRX5DRR+=^yzjC6>h_D@F-PaZuyaqQyJQ|GJ{*Jls& zq$iPopQer>?Il$`jmd(w&^QU|0gU25kxCs|*=A=`jHrnxQ!8lBqI0b6C}sf-hj>lc z#R{vdZJ|`+8|yQ)Zb~;=A6szCs28o44->?b*a;EXLm{`&R)O83)aGUzl52Wsl*rdZ z6SM8Yd_uzf;Cf>ICbi9Sp z8M?jL;7gPE(RryRm$gZ_IMU!O&EK)^D4@l*HkT(3RHMm z46m5~G>jLTG)>FNB(QLlL~!LHq68GBK%xA;+!7m~2f%n1L(eSdjCC!IS=ljft_<~v z5vFoxK)YF~8^xQb9*Vcu211>ju%I}fHOZOIkaMD2!o)mfR58ocr+@zH6Ba)kWK(U@ zI3UWk~rs2y_CxGk_k2`fqVTZAeO7y-ddq2rG_s_)04vHt7?1wm#=Vp?0IKHjlm zx+7M6T$<&QXhWeU!8D44N_XfD|2-zPC{j2r(zJS#jEd#wiq9PQH0C-7*9peeVTr1g zc*w{1X%=H-nVi**<0gJ^lLr$wCYN?`lMoD-4fY@<}kBphDxO5@Ui25~I7v zg*(mYmbF~C3LU-r3da_f3```4yaZRTHY?f6{f!Rt#bF+@=>P&6cA&ftY5-fgV8ZcD zwq`hrbUqkCoRp_whDj>eU9vBu4auR?@BZ4;7Zum z5|(|Vn)8L;V^Cw{sMbjQpqkI-F;9oyMwgnQqV420`HL!P8XV+Ozf55sy26LWn&9@!1)T?{s)V$0lzVOBrAeZsYEi? z7`oBk_at1CDEcOo0uVY)7UgAS1O*BwSY*T)o1bXhcGnz)B0}@gr?n7U(E*DonzV1C zS&)TWYw*oIfa~l#p(a{S2(73FHG-&7&XFlARh{fb*&juvNT@0*jhMAiKT$*VSHIBb zp=7R4h@{e}$?53IPSV06S;TG97{@Wpn(>_Rg5eU;LKdZ2S=N zcj1ax(Y(ENk{8n@`K)?cCK7k zc`=hKyFIErb}CXNS(&2NF_4eZvyuq*yrH#3xSB3rQNo6UcoLNjN#{t0gV+TO!qs7n z)@Crbr5?NeQa#+#sUa8<r={XY%N$uSrT(#zroP=~a{6^=UJwB=*(EQ;GMsGDF#7iGVU}g+c_i2(K?4y|4g@(Pk;s{7ARJ z{e#X-cS}w--h>{`c1s%@Zn%TZ0w0{lr~QM2wq9jssf1&r@bL--S5l9JsqHRP6~sgs zz7%g79355h@O*>RQSd~0F}CwevyM(%KrRhY#9}CxpOSW9RW+AOIU-spVW#PEni95E zRfBvjm)c0BIublAfg?*}J)&ff~Yh(znT65M}(kQsp$#Fz9QeHnv`E6szUrQ^qu zGn#{PC`9}4spEB+HO_*kJ;L}sS6rXy@)uP&yf2d;-7~f)vv*{4Xy4e7?@!NAb1Yzj zKRuWk#TPx&D#Omo?rb=|P|8_Vl?iYUYbYz4%gQ43E|YW*;*sgYDz>X|0KZtSJZ=Z4 z73_(qa2LKzo!W2Mz*gSMQ420(BC$}dF66D5&%HEQLW6HA51SwRT44Xl4i>16`Cz`7 zEpb6xvYX=$ECgZ%i;2hV^rvy=mc+k;X+mta`81|$YL&tgL$N&xLD`zzl_jZrSjR#! zf=Mj)K^3dG&QtN_E^`JVcwm0Po()$WIEsxnm455kDN#qYC3PoJ%pda}%1>_HyYy>DLgn z+#6n|wN{FrD7qDQn~k?*iEG8!LGgx^a7G5V9%WfIoYlrCpFHArve}hjv4U+voQ(#L zE7@7CWQ^9%ObV~-(H{kJV8#&&gM*(*56$UEa)lMK@U1f83`w|#8XRX5jOquGV-Kk7 zJ8I_>oY_s;8)P7FiJL8kpDW`=QHhDqw&gTcp`L?DA(dOu(6n)LyvsAh!F(Fv>Fqmy z6cuEPL_HYg#GHFFeL@3fL3;cAK(}|;nK4Q!b75_0aeU+|Au)`MD&i5gQ(J+e7KQ_U zV)Jpdn3H9$DB3nV92BrAH8d`zXI3q;h^SZisgL^0sND)y4IsEUSkE?eSJWadv2jPK zLrP;u-CAZ~`>9-`!XtZm+A^*{;32j4)M@yZQ2`5c)@Z=0CvtGO{glWA2h;;aZfYMt za3vl;c3)D}3@^WEDzjVSC z1T2YQyGrLOi@RqaGd7$a8wFRq;%0cIO+>4`J<64tK4$DPijxl0yfHI)YA|x;R$zA& zJ9vPi0gBvs=rV%w5V!4zxfFpf&-AM(T&;kM`mo>Fp()|YH=9ZhBK_6Ae6I^ z9rv&BEMy+gu93@Ea#H^qNeSY$HYA9#J=9Vga!9mZPSs3WBpE2fx!V2-%weu1(ZvBi zJcuk`tdbq^OjU?L2O|L^9&#}K=spM$pfRlWvsa5mn9GP`HloWTo;?0;qRalZZn5VpJa&GBU4UcXWr|y9eXWQ9$RW=O0>)55o7cWT9 z@sz~r?Q@O8&u2K8;pQPn8rwo0X$0;9K|mN8m2qJfB#`HxnP{&M3qO^)NODSje=jt3fLlghZ?cc3y_( zT_a=Du}#DNwpS4ID&|GhH7}A0D@n_TSi&E&Sg;g%OGS9$jKx+Xi)zDyCqy76kbcZ{ zdPr|Oy?9?|b8;8c*xMYDX><>Vtgp%}So}>uLvl+;;|nV5?yzxPlGaB}zHGEcC;zJW z9m!S;Ihg?COppLaVAEr4X2;E;iJ6_7ia~;TP6tJrQ?uy_7V#NFE1Cma)FYg-Fzs^QG` zQQ6iIpV$loA%HHt7#2qEr;dvzhFoMS?`o^hB%0oO7^g9`3g^TXFg0LFR4Od=T|?fn zd9lXX$D&vYn(*2Yp%R#Ltu@jf*Y@@gdj9tNEquOm;V9-gKAtV&v%LX3VO0faF8mhU z5_%13!Eoel=R-~0G9`t2sDbN$0-A2^0R%};pN$%yC+Q4J%Q0~?i|P5;Qo z5^4!9^hBqWa489Qv{TP$I_yo+|4urYB6jKs_JQ%#7Gl%v`6}r%vi%0w?6MPfi_2P! z+nCFE2?Fjv7`Q0|hI$C&k=5`&%7ar#bp}UP0ef9m$)zIhhw}1Fq8V<2#vNinB4kj+ z7e36fMgD=^HD00s7hbbEI4_gw4HQYt^;RPcT)25w>=M z9L>)#`%HuU)$<5IQ($ z50#MvWTIF^D`g03G!c6$+>+eGi{~-G8Xd(@ZQs6qqrD(z7*{-!7!Kd|j-`ib7MCB# z2HLZIb|xBoU1Sm)cRdt!S;Y~pIdGVQ()ZV!IM{ac&=@QJI}8}l6e zC-7sK|J>Rh#eLz)FCF~dZN|I~WQ@x&|M?8y4)5a!r@!@udyN^=xD4~3lkm8>Kll7i z%a5J1G!ievK6oq#Sbs;%fi0WKzqXC2$M1AKcHX(`xP%KA$EA^Uk2$!djmrFZF*{o| zLrZBxpFMoh*aHg%a;#LVEF0>0A)wD}-olr6?-Q?ic}L`4zuA~+(A8#MkoW`U{wyf_)ZVL(}Ppi9sNBXyx)WOd+;F-KIFkiJotzQANSy69(=-sAMoH0 zdhl@%&i3c%obcdhJotki{G10r;la;)@G~C#f(Jk6!7q96^B#QKgJ1CAmp%9;4_@@( z(;j@@gJ1UGH4k3&;7cBS-h*HD;584v>cN*h_){MIst14CgRgq<&w22tJoqyn{AmyV ztOx&`2d6%F_4tejf8K*X>%m{};LmyR7d`m%9{eQ_{(=YpvIl?BgTL&-U-ICucpZ}qV3?M-wG;hkPyoj~N`Z}8w7JoqLLz6tO? z&}Kl}29s+=hJ@V>T8z?i27P9mdF_s`w_P%y>%3&XdEK|9XS`SAkS;&YNas28wa%Rq zk94|tq_bH((mkN~NVkjka$Bd_(B5NS@0c*eJ96Dlv*X5{hUH=T9gP7pYBQHuybw;h z9DJJxCmjyH-GejV^Ma?xu*-1x3Eu&Oq|Hp2eh+Q{e@)=$z|$x`;oD)Kw3(g8&zJN# zxSucSaqwimPbnThKJgDB!!}4+;N?sF4!+Za6TgG^cyQwRir_h8hCDd&IQWPMCmshM z^Wem@p_}y7%oz_(JPv-&gAkD845Njwfd?ZJu1!7qDo)>jdNK>m{t zl>2u0HyDm{0BG^JIwvh}i=D7DR=1?Z!ILt$LE6bq#E8@G;9zwqQ^en|@kx%$m-ro= zc)T{7VZ2t4!$I6H2=3{+_Tb>YT#}Ct?#mhZ=-`w~(lRat)RtP&!7xh;)kLRxu7h1hgC_8Cvwkf64dZaP ziEMF}tu^l3J$?1AwClGweC@hUDbq(hU24O=d=taAbw9O{`M9*KD;qw&jp43dEDhZ9 zxPBVm`4G$3bK^_UB12vtETbPb;)OAPKWq$P5r0cpTIcTM!rISY!D)qU=Bc&-i5%aV zw}Z3oIyhy~!r!`%IylO+dQEx0C3$Y@V0nGq7Czs8z=KnEzm+15JKF=z)9Mkdw!+`) zakz=&02D==8L!jT4$g8$<*AUgmXDJK;@)usaldC?!N}CFC-Tt`V?8;VScemmZXQ%c zaPru}Cp5bW(K)c|bqI6N%JnHyP-OCpC3&U_u5Wpi-S z@8C}UY`zs-Z`2|~4+rynPxAa+U7ik}%+tYLS;r+Swz;X+nTGjVeYiu~-45xS$g>E~ z{59dZEO@>ucz)BI+_H+)Pf?gQ8*{zszAkk~*M?2~Pj64%-*tV*e{%rdu8yF)JC(kn z*qurp>e|pT1YdVod&ke8N9^nHvLm&vs}p}8K+4a)w_}4rgxlMG?rPVaoBB=nZK(r- zNl+74Dm4ULz}T@9f%gOBrh1Gw5o7lzq}>3_$2aZ#?3$nswI9JfsICnims07jpXk`0x(gV4QoHe&^?SbSY{$0L>Ob!aIxeI>jL1)J zO07QGbpt9Vl{(&aqs4im>$Z-5!Z&uD@7|I++jTo)=a_T%&8gMbx;DW(4UA7RRSKj{ zkdPZJ85=frc8YM^*7nQWx>o;jhe-|lWkl5NQp)R6w~3svtdtE~)_YRp9Vfbvr5-`p zJ;IBlNZkW69v}g!PXe|r^amU;*SB?V>FVeRAk-vfBSJrsng!Q(k|bc>p}g4+ z|Lx>X_noPIfObpBeuy2pwW)i1YKZ(o>;SlXx^GYQGY_QtxaHY@7vtGyg=bq*$1Kml zJjA^VIBo;3;na`8_uv+?R?Pt} zn3NaoXBgMi9&Ep0Wpij7Wpn)cPBU^n`^)=*pN(UKY5W0T3z3%~zt6dZQCFM!T*th5 ztt~*P3!}caVJ~zsjH<|mQD@t*mnB^f!d!c#F8;dUe68(_2PZxUKj*=T%fZhBPTsXD zoBiAi5nDVyEw4aXw3#o*`bN@X;V-vO0FR4LS`=;`1Uv&;#w8!`BQ5ba|KsbFOLs8u z%`(m;u9_tCk1=VEhao<$3nBv}hBl2ym-nsR`f)uYxZdm{u00W5`Z>0I{NEZGLVfxC zE2;0*?w8sE^!j$*M9Z4|rW2v9AHU2ywC(~V;arU3Z16>LYn;t!okp_y@;}7y+gl?< zs846-R@U>gZIq=9`tEnpHeb2b7}}T8caL{psr%cWeWt^7-+^A@y40af zJ%OcxGT-gmGZxNdMQ;r%EDhHFen;wbr`Vgz7rbw9)K=@$nMl$=->ki+orH?D$A!-A&;c)>uTS$BS0}ysi5uIce?ICK@?ec zklGCsWLGNFwF4dD&8fpEAd%h%)w~l%g$=u1!p1wcA)_6sov=W9x>FtfAYdf52Lw?4 zc6Z$kcLQM*hu0<}2L$)mL`EVU%WKqdoQ^jH$A-2ONagr|6%c+JgH?3wzR$Nt z=a*@-;Ci=>x|{Oyq{_<%@R(~TBDZ<;eE;+Xm@w@f01ewuGeSiR2MA+}2(JdgC%wduS|g8MDevk{JEk?&T2eEPmC zIDRlXZ^Ytir!7l4;;#g~$FbfjfY&*__YtV3U%Mb9y=@qQwPOUfg1;DH{WO%{>eH+5 zLEJZ|KHT=}U+qdk;O~(E(>5rzk4xlbM()0@WA#mdFe+=u;O4qbJ85r_4|aYd*NO!a zX8B-sz#CE@2igLJI5>5HgR@KyPCM4Yqx!aZHp|%h={kGZ!6y=U96ah1EuQBD&rX^x zVZNlt!Jz^}IO%b4s16ywjKeji$qqmXYyQWVk8cTIUT$N4_o6Pp37v51F6=pRbvcY0 z>;JW<#Ar#k{ra~s_uAaTWhUH>;-_i1(NtD;Y&v|gxy@Q_zobo>o*O;kmnx7eyJnfo6 zG&jjT&sdHXe9iy3Iw9?!6Ffa8NxOq5X?Jka&br#Kb#)aDF089GCOm%q%ThxVG>>md z4YmEo<{O6m+Ss(C$CJAsNIlrL8Pt`*Pt^0ORbSxHb}i??3;R%#|HT4WJDiz!X_~$GOzq_`5@9(spu&ZqtdKsFkg$ zJKH`tE(&|Q%oQEz-ilUpXKEK?V??$CQFa5eCA9+(I}^7<+S5+7C(MBX59eNVuJe?9 zV}ftMuB9RQviPd3N7ywZ2dCa}@a-tCgR>nuI7C?5k+m!FH4^--9*2YSe{~ae)p^ez zwtEpQ{9T!UW*fD*@kvlC#0c|oe?@RVD{B`H&hj|;7~*^FA7AgZMs9JmAyTK=B)pmq z?Gf9D*3zvp#Odo19M9G1X$Md0X$PmCj{5D|8Wwas&l8g8cpXnHyoQlU6rXkM;0NM) z4qr<-=OxcGb#?6EP+eiYF;54ltzg?*mw6ZOm+&L^H@5{J+w?*8`qe{-ey zFRt1>o15Ey>a};?{Ga~cfBZ+kU;8glJ#o_~E*tY5;CUH#8J{-%+lKy|&)x0Dya@O- z2-slEs=B5IKbE^z)y1rfFI;CwHD9&vs=DSa^{a~k3-+xdzPhFpezfyd zbRUtL+RhYDWhx;dM|5`U49$2Q*w=*@MGy?!|$NgvNXnj=JUr^{Z=MRlmCCP4%m5 z-iCiC(yMDaVUE(Tt_jqyt~sE7bZ>nEi+0XDX#OJ;SxUyI25d7S;1lOFf?y9=xlKRy(SJkhs>`|IPdhS(% zYu>i*s=BiG=plr24-#Cn!@8^Lnj!V8YbMmMt~sxMbq)6*y$F2jnwQ}JG5FOruc}{N z^L6#BYu<(b#}Qv$vmJXB=vUVqP`|q7lKRy(Pr(n{bX8sREc}!3t1J5^U^A_9{{(F( z?sfPi{OX!_;J*OBy5>FjFT$^`>?61YKlc;Bl|2Gk__>Y5kSuddi+MZ~9V z2G@KQZWVrYWzWe|@P7+%xTX`G(X;TYYXbGFYev+suI!EYr-;uz5^zn?x~uA%r`4~n zd0GAHn%C8@uKA|=)s=k{UjTmYhk$FipW#>FSJ#ZGUtM!T{puR-TYxRFs;+rj{py+* z)vvC3P5tW1{-a+*dhSDlYc|2Qe;$5yO^^E3HD}bXuIvr`4aDajLAd4_xc>}(bY8opSJ#ZFUtL)zWqhue!ZlYlTwU|L z`qecrsb5|5s`}NHwNm2ankn&d?TvnQ4cDURSJ!M%zq+PJ{py+t^{ZD@GLQp)m#51lC1Q@^_A zE9zI*ysCb6&7101*SxEKbTZXG^uBu;M^Njk{ zH7}}PUGtjy)iqq_BR+Kv*Kz1q*KmD{esvAko#Y5kTudaDX z{py-m)vvC3Q~m0ix74q$`L6oaHJvctgKcV4Vf1+Pq!!;H9)iqp) zqF-I}74@rYUQ@ri=56(>D}x87=O6;E;hH)9>Y4-USJzxnzq*ENRgAB$?0=x2`yhz# zYZ|Vu`Ih?CHC%IGe02@y*y&f-aP5J9bq&`9=vUWFt6yF7l={^*&!}Hr851)7ixzHP z*KlY8cwt81Q7zq;nj>Q~o%P5tVc z*VV7C`KJ2SHSeikT^an5ehvcR8m`OGudX?uesvA^oG@HnGp&Ag&1LngYl`Yu*UYP5 zUGtRs)iqD6UtRM#^{Z=MP`|q7MfIy|zN&t8Wu1cba=n7(`<8~QD|6@!=bSmiIS)*~ zy5_w4)ip)+t1I)pjL&&orhi4l)iqyNzq&G4&G_$Ve9oEDuddn1|^XgaE)YPx8 zta~s%*FWGI?p6F(@T+Uyg#W*XUtRMa{4c|=uGx&i`M-u=U3|rJyZpMbKQd+RFk3My zyagl5V~Ky=*iB;p4Itibynh7lhsCw;$IWd>lfo$VBN!3W{V-;^=x%}QQoDTU+V`X8 zPK-EH<|xt+s=G(r?O0h!VHMxvb*`l|!e`&MV-;vOz6iGNUUB=ey9x8F@~<0Zx)GS@ z20~9iaPLCSqw?#JB4b{9m`Z4>a8aUfX{|7*+G1^GEJ>&#W8dmP$ z*A~!q8%F+Hz`NTpGqVMw_S>*~%eqG!`0qvdJ%Fd-4#DjOH+z7~{hP%%8#D0zaNML^ zQpUHSU6KEHK$hy=eW-!GfY-aXVm6oXxO*72bqMeb@KH{Em+kU0^4q8GVRcWdI}7)A zl>IjR4kP8bxZBiC!FBXEt2I~eAGlWjKj6a$e4rluKn_~VLAU7oTfKg3JJwz3Ps#6Z zV9R_Bzc&2131kS)|E2y1=_+gq?|itP$T;)jv-`H_A5}m19MXSY{cFYNULEH1w8rOt z5BgWs&$W5_|4|b^*N_=Lt>G`Ji{Z7b)t!S&+MmbotN6W*UndINkKZ}`=J9(DzgO{l z3%~d9+u4r!RQxXC$MvD-@p~0NuKm1+Ux2lh3H+wTd*g?gO|LtCJhy-UuA1Vu?2nhjHn0 zO_Oo?J;<%5-K4y@HH167;AR+ii^kmy_anfIC7lrOI9~l9aohM^<|f47iulAuye?i8 zr^DO~`0a>8G4jjGxGZl}uItRL349J`6sN=7mcU0mj8`A`I&+5?m+hNz9Sw9Nyw{lz zi~rV}iKnA|Xc;TT-zHD*gr7X+dm!(o{YHa$cy5piu<`Ep;(b)(Z8f*tOg(Wo;=&;! z!Fi8{6DRA$;lIy=v;NS;!@M?nH1$cCrD>O!hWvE6c6)Hjl!Fg?aMH#+NZQ|)=Z4=; zw~dh)(3ZiE>!>O7z3)LK;jc)V^aEdmpKa*t`0=^L+#&MMc$S!I^TCg%A61 z7Jh?;X9(|V>)7ga23E$(xHJSu)LT73nb~aYHXNsuC|5fSKA^BCtckuMY-b2dhp_$- zmI?LJi0Fy(V%5_{6IR#QZ@E19Ib#*xkO!MqSlWZt%sHG87U{01%sJi<0Z^pxo;62s ze6EGEye!*`=4f{AY`%z6a|C%amXHkhJGHuI@ZwV7Ri z*gXkrTbnQSqSdp#PQ z!Y67V(^JEl!!;gL9mkWCGkbBIYHpZsb)i|{_s=nm9YDy__#UcG6sk3B$cr7_C}{gK zxQY&MyK)1w_)YOhz1S&$Oiu*)98cht;~#NnuN=j9fXC(y5BK)sJi=-&TbcGKOD0R> zY92q?P?JM1O4Rry zUr)uR}zaBmnMzwijH*FVk8dQJjpv_>^Ysd z^T_J^)@Xfdwc8-Gdao%voagB-4sM>C<%nZsyamSjBA-ZVF>I@Kb!k(l>#MT~A4W(R zPx9dbrp-ySm56)HMP6Lzjze6X__4~@rm-QK^!m_%g|4U#(Llk3)QIp|VNvnp!4lfG zEIdxE)i|Me*%y{cl8*$XD@e?X9vYvnn&3+>PKIxFeS{pGj|&j0!$Htfe|?0PZIm{B*67*_|72JxGwz$1W9FqRNThArBdjt+Zt^k${J{DO z&zFzbM($cQ6mHViqj`zLYrynIktg!CY@x^wBtq370YSJjKq8A`$riz%`FI*e!a4qO zIYpv=psH=+N%WIA_`W)@vM7i7>s<*<BoWsO{k!c@f`9E&SYe-OPzrEzb)jJg{K=xbc>)kTSz(73?D-8Bk~Tkh6T z;FU#Q4YTe7OQqp*2;9D5uWE3Gh$xSW?%t%pQH1EtD|z@z9qh@^$|Cy~Cp?z-3q@AC z%8$LSinm78lY*4WWB1mWozgC(_F;zzYEfExhYX7QA;)-aJy@%!PYAzge!W>Pxg&T&WTv2THx$DjBODtyO@a zczLC-dIcuEhkvqUs4TL_MyLN#nI(I$L?Xl&@Cx1}^f*rbQs(NHfGVIGvgHenc1>hzpeKNn$~g7xJ+ng@NS!xDAHQd&qkHBXZYMsiX0;!=&lniKl~Y-sg%0e0jM+xl!ST(uOfTq!9Dzz7>KYb87FS}=<(b!W=5nN_jm{+QDsKZiQ39Il{hjsmKo#qb#b`?PCOQ2 zWFXkckzp6TdD$@&@PQXTR8Y{+^bxw1+T9HCv5R@-%*lFWf>W5P!miZ1qFXljY9iKT zRd=yw3-iT79ye!OMp`S($|C;O#q(;{D-~WFmWoueP`G8x@+?`Z2%YVhf|}fu!NI*1 z8Q$Nlq7n{{5yy!WB;8)%fop+twQ{8@xB5m&6stR6618A06kgk=3e(Mh*L8x!_~>?q zcV$IM2*~GZNNNwPw3j8trWtJ?$dnq!(>Mq11fw=8ulNM@Xm(3hqKj z-y0l)eDAk3MeL_lHHlnKmx|~w&;&d|P8d|20>pfsj;Wa_G{S%zWArT0hwK#6{ql!~ zmb_RBq$);&@UAWkbyF<eGjZd$yj@s97aWx zYdYwyuYu^ATXed1zOa6tGD>z$(~Kb>S`M7O>W#(oXFS|QOQU(G#N~@t7Isq97!;pyXcI3u(q8Le1qf`fh+NhjjKuh8`2e8~i-C71Dh&n@ zeoiO}@@qLji1e^q+=b%>)ty-ro<^h0V~GICAyN5w*1gtA}}f-ToN1V9I3COJ|i0LgO7E;C8}#yppe$@pmVabXFj#)9{qfMe17U{`an4}d93q?yV@&k&MYg$hr z0$U6g%T|$J3{-<N@%4HSvN{ z#G5Tb*dS8nU;gg66r-KFNn;}h&we4$R#;?!G!ATeV=Q8k}@PxUn$}31b;*GgauC7L9E(gM;z8^!^|>1@veW}wo-b~On@LVG&bu7(wjYD7A*nQkow>2GHHSYnlJXxu}Ov0Imf&Kg2; z9X4==nk@(uWwyr`B0+ouTgY+2sSFjXg`!M}N<{*(>u_RoPf8Q!HmGhu5!n^>gtj`G zCAP$>nG`FRW4dxn6oQs566KcjyV_EbXibC3W4$wu&{xI83Vf?G6TJCyEk5Lt39YFX z7QNVfhSe!%X9a}<6t|X~3}KOnRCzX$cDs^3qM2ET7LnFaos$&$5H|$bicG8-V*1g4 zSYq2mkgeZ%>)6CfhAvZU3OM4-iqwh6FyFHBqzT$_U3Qf)$yrqvEd&Y$Y;08txRFie z7g*mTK}Wfr%4%Y7X@4zUE;%YM*I;d_Ah{k3$!%HGPrP>JvxF(;A*Y1kmJ_`LA6+}ReAZf&XY=t2lAzS1<|L2spViD7ai{#$m|=~H<}q3 zPN&nv;C{i`e6_q#$>oD1h0-+ld+iT{PG#rv4Wuj%I=4KJNXNMcwHAg<6z1&vgC{0W z2<8A+pf8kaLj3NQPY{K=SLZUse~-L^H?EgLV!Rit(kd2m>Tnd|zXQrqA)mCZAI}oC z@VdY2Mx3!p6|vV9*P*n4btA?!Bp*e*HY>0?Ut6f4>U6EcCdc2*bok1b+O@J`-H5N1 z73)SEX9X5Zau;oHQH_->^yH=%X0Re*{k|ml?*Yv&8%23ssFXCG$=wtT<7&k9P zBo1dHq)kX{h4hn$mkQN5#*wl2iE%Pl$>&Rx^VwYfSfx^~*so0E$oGuAPvj>GrF^zx z860E4*xGf}m;uKt3up#&kB&SRCvl%wO(3^Xr8h=+Y`$73mP>JVruVFiK3RO%old?0 zK?eQOruTZprT6%P2%3B(nK+ghl6^6mX@O+;|7-8+gDg9$`rU;{5)uM&h43NXgnZ1* zPUg+$?j&Y6*`3)*R(5ulo!KOkjhi=b-ps!2`Zl6AVy8HC$)2F-7 z?M-BKcw1s(EQw%XB>D7wmPSW6m5WZL-bVcvip`aB`@jJcEE}=3!`5wv+Pfw)tu3f9_{QnjqR>jx{v7OEUj+Z!}~F12_iBsSexPOlvW!a6$X^+FGw z;;79uR+9B=+7AJ5zF_pAhHf}kEpC*XM`jw0Hgr--DkH07!<+W0)5S{d_?Fa0d-thG zFb*4-o_AA0b_x}=yy*bfKyi8on%2(0cvbS7XFJmYn#ZH2r!-P>0X2U*=+@kj_;}@L zrv}@19T)G!+Z(oZAXc$I5A^OjA>$?zoclanU*pBW`G=bKO=i@fHx0m(pDU-RtPo6U z42pIz@zB}TMjiKjvt)e*wiQ`zJHDVeoqJmnwBd0#KJ^ox6gTgeSE=waH;mH^Lt3VX`=C^v$W>?G{iw+LPKXSQ;cY^fsx@HX8MmpkLElpx3rR?YN$<#Qd8IfXU=ssZ_;Pm`42& zmZl}1AP+k&m`!>&bN(fQZff3C5_cJ`V%eaH?=F{|(sN?zw{E<>m4ipkDZN~3+mP{i zMTlV~)&_g21S!3MH($oPC*Q?JqYC2{HgM}itBmtsC zD&DV@!;qRMmEF{oH?XzPEY@4Ac#&qkv~l1-N-GqM5#Q?Hgc@|#@nU%0!Rj0E=8xtK zwO%78>tx6uILVHU9TD*B6V@mgIPtiUb4z=-?Gs+M$f-yS<`YHIgGgd~&+46xu6~bW zPaB0q#xh%1n^Xs*HQ{6gJKAV(SDj?*Jj|~3@%ttA^6c@S^w*j*y># z6W=1pNJvtzyI>#7P?cAhhQvaa{B>c5n(&vbA^1z49Ok|IxK&xH^QK363-`4~2Z&>d zN^!ir0@E6vzxj>U-NkChcVuJ0!QqaYrtawUn?AIp1f%PVJrFYUcb{@ry>_SjpZ-0|Ztb(2xYcuz7c9hFMxsDrbM%(*Sd;4XeZhQH(ZqRG$;>T{!B(H>;j%+l0z zo%VN%WU1Rl8pr!DD-!&@aNzizhZgW96^U~y5)jaQGS-)gfb#b@L57m#%Q=646J#h! zJ{kV*N#@GSS6ipXPho3%sZ>2xg69umP1@$}pE`&=;<5X2<)T(AFIBLcCdz@sJ{KE% zg?qM-Jpr%fwn^i3LT^Ug7ElYZ5NZg~g4-0!Ma)pjW|E3P6Pu)t<)z|qp6vadvaJb858}SH-g|w@x=8ths4CjL{=W_M&^F z$>D?^X*f(S2fe^bLv?{3ZZHxSu3s%ovya3mFtMKpu2UW)3-^_jPJ*GY88D4EL?7C+C0|RmK!_W$lSop zqT&j39$jupW>LrTQKu!yNER74EA!|k{Eh|;Pvm2Jp}GR}Jw%_E6NAn9Him3$m7SmW z@mkUjY&hp>JT^aH!k+ov#b(P#T;%lyI2@rwVzzs^seWB?VCb4YxEP1hiAryGc$3Rd zNMkg?+cCV)hU;KFvQN)b;`+qsJ{MnUFdo}ilD@>_@qHMH8g6JXp4hjfHxvisJ(d$~ zJs9uZN2_-*o|W$)d`-nX;yvVnidP!kS7O=+1JZ*3~||K>V;*g2m5LaYXe- zb~`R{uW&T^fnlF%C-x}u)8-i6hqXFKnlUz3+i|tgIMZ?Q zZoD=>DiN<{i>rPG?P498CO1KaHIrm9ynHh0^}6t>MQ^i*I(w$(x>i@8ilM99VE*Hb z4eTdnjcqS&JQL-^FTZQe;pIz~SK*>255r$O<)%Y<;|#Z7a?Tne3L_4M(Vvon#$!<} zis#W850O+`(qOwa7Lz~VcHFc-Eip?ESRI#8hb%Km&+uu%+9ciaIT5muL__ho+~cE+ z#YqHE4`nY<9swjhiwmD~Cl-#KSjhIQol!yF#PrP6QpdTEkf|mmjdx;vluS(zH=9Km zcXga_@(N;~D3|2an|!AlwOXU@&Af$z$?oX%0g&3z33z`zU0!XUhCT+>bo!O3jfFxm zK{>?C3?--u=}pKbD!T^XPo>qU>%6xa*;K11wnUd==hfkd1HnXZ${Z;>hJ^xRYPLk0 z;}&Pm*pGszWAiNJ(DK|}DX*hRDR4=e2zpn7%0Ha&0Xhi5=eAVVjfU2JBYW=8O&7J= zJ6Re{`a*iX|SXo2}ISs$>$2E=+;twLs>w&Gp zATOk=T&1fi|LMKKW0jQI;#p2~94-uF!E>=OX5&`FA1=yjB3dFe((<}^7>i3TGQwaC zgV-b@uC`VituCpP9)idrVvI-Gm~fmSwbsG;Oiy3j*59Np}5R0dVND0Q?H zDUWtTJ;ZW!1rgCjlIe)*pioFXJx}L1@hZTtL}_BktCrq;X`hDiLv4bq_p5QSj%!6_ zc(UqoFWF`%vN;_VogKFrRkVY zn3IEU6lr?Ae4OX4LQ)#W0mmEbl;f`4CjIt2k+pa^W%$a=J&{Wv zLvC=LY}sT4ZoY-n6)ZF{#-ZpsRh+9W$DMk!QLUDj2BlNlYV)Svg18~4&{|#w_zW2j zj6Hg$+=S5tzvQ_xtR)<@T&|ogFQNY^ldimVR}?xLR&PzFsY(r}f!Av2cf+PVjCOCw zjENIyB0RaxJ)shccke!n>avK3^$))$`5AdB%)il8r6;*Y{m#kMSl^BFGjr=tL0h?ElWOQ^azl+I4IVw zwXI1!>L==`U%LbEFAh&5bYY_bjZivm_|Qf5xLU@o2T(dzhO_tP)ndKQ7;}9(y|rQ< zTN73mizo_ZHx?hnx{48%5jm5IUYoFFb{~qtsBGirnu69*_O-AMon4_dLqMHq2LWZ#+8x5Pdqhbj+EER)js!de%{8e z<9qYWQ?*se|Jri1(VGTo$y_qpmkt6~0RLuXmLZ|~`gHc{KiiK`HlmcMa_;TVFzD!H zX>9m3HUb*`g+dP^xOVGzlbfs~#l;%06L3&NV_?c$ zR2wO7uQxCf#g=TT+J;~+a#CGCO)V_g9R2H+DlRLPO4u@j1V3|J_n1^=BkX`wVy4lY zMX1ZJi4_kahTPN2%&*=&H`PHP9YnR~Xl)72gQ)8f9PXxy?VcAECA24%i*%NRps=0k zVuns&^JxpS5jmCc5ymrGmD3$G6?7#EGd-XKkGfN=$c4rnbfDRGqXEx!`WkLnv_g78VnBViG$t zS;OGaQ;U1=8dwfz_TqinMJmIKEX%e3$EzJ8jh?68TA)J=6RUlV3SiH~%xv6DqhT=+*msllbS+DURt)!M2=Et=P4>z`a zqamEmq<6uWHylC^u{fkPB1?9B=YpzUF5yyE5o=8tdv(8TE+sql3Kd=v%PW?@1mlG! zP0xBV3oIOC5v_8VB=Horz;fQ7%az&GaX`Ze>sc&4i}V@WMiz_GHE*c_^@tUwwak!B zv(h(4H`6^7Z%@Dzot&|t=+By`r!#3e(Je`429Pw$;`;PMYd);>Jx!S*4x0IDCM|Wq zsdIDG4m&sQCRCw>jV0&(O>)`#ql@ePhzFYM;Rv)g_{DkE@X>9qEUiA?hvd?2ph%wG zyWLZn4!z~S*GQXG>EatID9>-SO-ku*xGpMbmy!T z7(?gw=f!A6oCewPhkzy%D8up&;gk+cIDV6J5soAC2P272c^YPLQo-(8DPOC68J}I@ zT}ePKsZA}woOVPo3(c6(0TMRb%o@kuS}*HhEm1WY%RaB?e4+OmD4#gGHSJia=Hq4f z=`h>aJ}*?XIEdI>Y?G%8}S+=w+?P^pg zaj;0Sfqx=j9=2SB0-<*m)I!{h4_Hj8)4qphK@o1R!8iBtxXZp1ZqogP#EQxt0iN3{ zHD#r%v$H7YqqG(oRYj!{SPMCQ0`=Fu(dUt5sSk^!($p&1>Pnrout?S`Fih0oQ8S(% zFUV%f6A9q+tqv8X@-&SYBi2LHB<6L#;PtjSx(1@JS+-SX&cvD>+@#sny4%sUSwg)O ztyVvjJI6eF@g79XGo43)pt=*6U#_x?4xk8>Uu_Zl-Zg*ob0X4ZO zfo7iUr(1b#M`>vL_D~&3VwVC*QoMB+-rgyix4%pBKt9!8X^&=Wz~3GsG<3DxT%XM3wb&>rrm!ZAX(?C{m0&s9B2PwQ-eJxa zxyC3*Q*ho=j;odHMbuTL2+xGHzwAs3&<2tPm3m-UK}E-IUFMYy%9>x?kd%s(FFeU0 zuWisi@(bifzs%3pe;kAXe?1m#*dfX~k3c8$asfKA@UjhwujL!PETp*Dvi(r?Ji#E> z7V%Dmz#TPurj`oU!|7MHgz*qKwGt-0Q*Rm3?8?S-&B$jivVNaa7NfnO4W%raOU>&Z z!~+yz*1E9X?uj|jJRVGP6RAa4!VQy@0!*))^vI7&b zA=18d^uq!qMbJi(!cAmnBj-_<99d4Bu+sHoxd*HCAzqlxg@YC+4i9-dk5?}{mI&e0 zlZVzmLOD&t-PE4R>E-wnt2w#TBwW-J=?WyLdFzJ9Rif z&Txj)&Thr!cInE?Io8MH6OuT7cCt^#{#rVat=|N#Z!O-xKOP;&C_-3Y2FXIRGQw{=J`MjCUPIC;tM$nv9@yEzuf;MZF*Hqc25Qao1wJoix12hj6cgig+aBR69^c z>sZWd7x!Sq%r>~urDJw1uHdX>V)Mv^VOnGzsB66bVZR&b-6ovb5Zq$Tj#s*>R`F&+ ziJr-5%$eYt+88($DFK5SB$V-85p&)(9+^9 zyi!Lxe$F}LF{B^?N>QeijFVf;j2OMiJwtZ>DGc!Hk_I5c8PHP+FHk=)*(%F+`$eMQ zGdMA*o#&tPtnQwn(aEuq$q9^JuezgriG~(OUJ&VnQRlM>`e<7Ny@y~J? zHyRuZL5aETT7M0_3>FgP##%}G-;j(U$qt5yEfKnvwDg9ArM1`L1ff{H=96qF9x-G6 zn6F8xWYOV(9zH;pJ92D}uuu~s@IfRONEz~X-z{iBJPoMoMLQ)TjZ4HyMRa9^Iixft ztuJU`ju8l%mFTYSrA=Tr{2ZsqD_Ib2n^_dEB~kQZj8GnLPFQ46TM|Um@>U^VDWGXK z(3eM`YcQ12NqniJ4PN^91Bc$Yo5} zbrG}~r5)+P1nN;p_#_hSIm=HB2@9=x&-2fDuTvq6ls8HwdK3)_i(JG)^`~h>ZKUpZ zJ+KfH@HU4mW!cD3KeSakY+4jGCn_!TVhNwh7^rZpD3x<0f(Vs~WT8)lLa(<%&0a{M7-&1@WnUFkF8CyEYEW-I#70X7=)&S`&=$Uwxmo=N-BWcTRH#Iu>zsb$PVyjXTzYHA|@^BnBJ=SKrZca?hVr?;a z60g!rk!nt7^d@-nCdu7CEj}60Y)+*c7g+5xnx63Cj9<^;CnD*T`FPw}4LHH=Sa=hH zM|Lte3&7aOUf*^03RkqzGX-d2J{}@8(50(Zr@T-dVV2O4$gr zrCF?zShayZEo--M4+8xI>Si^DAhp_Y)*k&l{2|kzm8W)sWe0w-{Ne)?<)BAfJ0?s5OHT4q?QwD6qL)Sb*>`Ug zE$)n>CwD~AOYqlyKKHsPdg7S-6-7vnX49YY?Vb4li{7&%-uGc-cpWq0bEW=y_W$pa z7I^+=Ms`fHt}l$D%K(&x7ep5>JQt5HTzHPO!u9x{a4BF=oZ57Iz5VFs{iOwehoi&@TcO({JQDq0j9p*Ly5ib?rY4F zazA&(`k2L`7lO~*`AZ%?8a&63IDEj|_}Cx)vGxCG25kw)-L=Rg-#t!Zql2!tkHf~# zM*%UQ$L9(>zXotUU>I;4;4Z)d-~m7ta2D`Jz}o@80(c+baljLRCjtKg_#)sdfUf~A zMJ0CuV!$9^5-<(mSUw3j4QK-%1-u3DPQZHs9{_v|@M*y30RIN~55TjZ@4gneI=bOS zto5US9Z?N8PNL|Q(Q96GEkyfyumCSy*dhPRrY}q{;xheuq<@d3D27X)pO2#JkbWc5 zF9pT-7*2RSA%nAnj&A`cA5WTm=z7gNv4$Fk`he>~ zj8*XmsY0N2q;pq?sbSi4B#j}*m=@A~uB0UaF}upWBrJC{%a>{+FY2YxAB2EA zJw?tf901jnjIkjZ_v}X2>cRzY9Vp|K`eoQ~Rt?9(Bv>dv8`I z0w3pv0ZtMrQu<%(wKLjfI2JNe`p2bRlcXKO%k5f~wX*iFOMgX@K8>&lT7IhEc1E$K z+wNJ5o#&@tZ|P}dNo|J_>D!&K$+Vr8Bp~a2xy`j6hzuk;bZ2zLaCpX$A@dI7dZ(NM zoW+IvOuL^nT(%YiIU-s5*p>HyrCYBhQ5}i*zxiRU*Do8{LG$m0(XO|?DB5-AYRub5 z@H++!0`Br`Lppt43h+NJnLdPA&DkWG((~Up>Cdmgk@;MF?OVD5t0eu1#ZkvAi}3U2 zj}ASxIjxfT>$gB79i0b+TS5pSk(u zbfeVaVW`&0J8?Fuvv_g}hobH&RuOv2`#Pit-C8Hb6NJ-Uj4J#zlB#@*v{Y$BrE1W{ zZ;=`ta!LHg=o?@D#+TVA(l4%a@Y}?fO?{R3ohi?LzJprev7wP2rMHcj*|i`3(B})E zdh^Tgc>MOsuU&Q18|JttP{1oG&m2a4u&7YS3p!g-q17xEP9uU)-lUJ0f@uTzrJRS zq`c4f;(HAEDxSBIeGa;megl4XJqCS^@An^#qVpj2jvJ%sle?nmv8gEfEYdkQ^Z~Ab zn&tP$ke`a3C7uItF~o`Q9{~Rd_!NMg&I1+z=K+rZuzeN%DBw}R>j6Iocmv>#fFB3^ z1mGtDKLvOb;HLp^2D}CEGk~`O-UfI(;Aa6p2l#ma*pGez@D2d=|2qNi0{jx-mjU## z&@cF_fL{Z=2k`5F-vIn3;Jtv~0{k}McL4Oq{4U`40KX4-Kj04le+c*^zy|;y1pG1J zLx9Hte**YZz=r`J0sI-@qkumLd<^h$z+V9V67U4z6M(-0d=hX1z#e9Avj^F$R{*$2 z_X5CG0GKb*(^um!`x4y~(HF{j`XzvC0GzKe^+qoTyaMq308E?F4*+7owSemYuL4{T zxB+k@;3fe3w;wP7*bQJm-wYT66ad435dh5bXbdn8m;men>;+5$ZUNj1_(8yJfPH}d zfZG9g01f~S0;T}dfJ1;8z@31*0EYoT1b8*z2w)a)6fg%k26zqNIN)x;J%D=wKMZ&+ z;6A`f!2N(90h|In04M?$0VTi^pbS_BtN=~}Du4$8X8=_|4NwO(0IPt908Ky(&<1n> wYk+mY^8gP6{u=N%fWHNN8t@sw-vRy}@Fd{d;qzHA@z385j6BQ3|49q{4=%sE)c^nh delta 65 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�V?rn_Ki?wy&ZTEN@EQ6hW)RCzk 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 delta 65 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 BhztM# delta 68 zcmca`p8bfjsY`^D^Qq{DD@p4#U08T`vi+#9y2Z%Az;Hy6fq@N3TL7^OI|IWWAlBdn S@`2(W6D{Q#88$}d3jzSoI}ptP diff --git a/Shaders/BasicVS_Capsule.cso b/Shaders/BasicVS_Capsule.cso index 8d5830ff0112c4654d5a2ffdc6434360f484663d..b07db015b9ec2c28a07b19f145ffc1310844c42e 100644 GIT binary patch literal 125540 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%0AOz zvW~qZH~&^1mE3B*b#05FXkqQ_x~g80X4|z%pe_avscCzJV9l~whDtR5hOR&!ojv8O zXO0^TZjwY%(r@4dzxTWYOElMEUaEQgEr4a*JP_;4oL&pE51>NZT}Bt0M_w|&uF^%K#Mv^-4COi!1mQPILUSgXcl zeGk-0Q|?}xoHxecWe$qI<&s~70;n=UXw4hY@?(WJ zLS5|ggjh*V1w=i6Bx&gpLt>%ba}x||^(@V8F+BMCu@|Muq|o3=j{@v6anCVFwGqcM zJPtY5-iL84p^jtUno2ccizzmb;`045O%w>;DB{6|=Q<4BkKvn1*NX`35@=BkG}#kr z0TtY@7^Ts`*ul?0PmN<*zoa`pqdS1XQboed)SvA(GWXY5D@Y)on!a*^SPdDwK}ceQ7t@H&-o@F(Sn)qCm+| zmg172R#az;m{g}+`GPZko+A~GwJrKs_ZhYmF6av zV=rTcWx6G6lrfv%Xw=z=Qa_c|{5M=xRJXcB_g;AAjkOQ_gmmm1ZnRg+w%XVV9%A2V zV&KU2mVTkV_LVB>c1`vk*~+B~D%C0%R{E7p(Gn-w$Cd?gPsup@1Xh=1k53HX)PD?N zB(x2$svvZ^&@xixr|g2fj$%WZFag~`-w@rB;>qc<`)I&LO@faCdIsSY_E%(27Pe(| zZrAX=WqlKSGHt_FwC)qVXj)}Un~!1yuw(0vZ0-q{mfq4twz<2In7lkTH}OQ24ST0A zHg_5I!`|(|=4TutV=%XehU^5Mpoo~)&+!1fIl<#+2UdLI;i(T^1$fy97!GSm85Mhu z5k?W0Fq%Yx;lVF_@L5K3(;!n=;S3czdZsiJi2f9zV$?l!*PuexL-D05mkH#RR-)jj zZG#tB1MXmiYvTZ06DRf<>=_Ci71OPTAdj}5E`~ABpx$z8SBaQo0NI)q6cOTBDx0K4 z+!%vVPoGUY&T%!?r!DWMT-N;Tv#d0&)m~yJm6*y`iN$4t9UHO*vCuk+ytZbYNKjMB zUairt>C>xu;#e=eOwI6%rd2z8^^Gg5m#LmP%s#qCOsZxMbFWt`iCON&>{mBBv7hc-)unyCGaol2pDng0$x0O)d47CbM@n^Q9;)3kb#Bf)At4&#qX6Oif$)j1D`8<95c?oV3me#WJdj-Z~j zKpkmR4*XZ5`JKlGjT)%~tixp+66{;Ep-NEctW_Pj{#O%}lw_$d=4AtRDd!<|Iqm4e ztwQ7&pUZQx4&qs^`?JQ`YruH6L2i_S!*?WGJj|qcnILRixFito0}qg73%A>hK5#EM zBg6}cO-u|3M8#L5$jy3OX?&?kzX=6GG0Nw%XhLtw=?D58@2hj7BPlb5eC*e?Ax$$3 zfnH#%N^Wbp$%FMJ>udq$qdCdtg|R2-0kahoT7aY6_U+_T5?)RCnrrb zSRaoI-9f}hPvr!+G2^=jJLjF|YV#C&g{>AOlCE+;V!C%?8HZIk8YTpbdpeb!-siiU zD+L9iN3N(QB0>Sls>x+pagpon!Eu4qZ{PVcA$80o4ADpH_^Do&cgmxlG}p~asBvU8 z2kqmRwDSA-qrAAy;K+>Cdbgp3+eVaww1ep#NeNF}V$L}**1)klD zS_P_FsdT*M^|6%dKE)e1x%pQ$vXpl3#WTY)Fmc2<_K>&;j5V@D<@`AeV2 zK~|hAknZpSPANG#Q93zsa=J88E*9a@K&c2N-E;`swpQPi#o6ss=%8CNZWFmwlWc=C z71{tp`%0^;e1!wQR@WJyYY6 zKx_&!-ioDQC+H0JQw?N^+~Ck6_%V~6xDk<)!4A+|28ALNJSSi&bk#aEKOh#$ce&YY zq{}yJx3K`fF{N9H0@+f=Ve*lDQpAor_4fz=n?0LsznbX&EkwkK;8dlySc9Rbxa%mWmx!jiYK}4<%BXTm> zlRku#;;`%#LscC{WLS106Euv-uEij3NQxUR^EuwQ{8>>F`YkrBBMKNT4f=Ud`_998sEyB|*#8MQaVRfSNK z!OYOTmcxBjWGq4E7cc;u#~Q1BJgJmtf=Zgs{f9GPB4NCc)rG!=d!xb+L!CNT2sD`k3i^~U$woC1F6kKMj-SP5(pnY zM<}@JW=F;V(n0qWL*8aWuOowV3VPRXw`%R%&Bkg@axt~YX!p%2%5cJROAL~=3ixzM~;$UMl7ZlHuw8d%X@0c8^D>+>(0K^t~R$bCqkwrk=(*w z#J<$7;{eIXCk-fu)Mi5`KE2emE?j7<|1lg=VX9}WTs=D-%p#3NPH2s z$PZAD_DY%JbHxJp{Vrlv;mYlNO^v999)Tj?M+fMhFLAC#yxf3fIBqf~;zfVrzsrg) z7I!#qLRDvHR63;D(BN9FjkR7_7|G8*nBrM$rZ`PC)f&1|)1kD)3E5EJ3f8xk088FL ze3P;yoeQht=)>2n%zZ~FFL4iI>|wGtb!V^kD1ggoE^^lU&;ixK@_DU_5wEU^yx*+C zIv&&u3Ru@mWQ2(Mjp`O0XVDFN87L8ZH?Lc~sLF{ylsLs;N4tw*_b5dj(OHq+Pl;&H zG%gW&^V)X~+J_ZT?NbCx&}B3^Ip%s_uft1fnx5yJwE6u3&O&`dG39VuQcmGG2uDN< z-4jEvGz)c)?#__#IeQhlu^RQViaAYn?vtkGz{laVCY$b2?)cCtS5YRd;IlcWq7gD* z4ouh_eHh_r2CRoD0dB5L0xzGh1~Med=K~X- z9Y9zoM)G72N*I!eMB%jAGz8w!bP)-iJnf_E7kGp<__$PUzYJ&9>KQv-+-=L$P@wd1 zyoMD6sJNNxW={&VAdk`WU;rWGT#fa}fNF_PgxfAa)%5a}%g+HK4U;0M+N#rXha23D zjEAVe29XgjU>-Mk$a7PYuzM!M)Wb}b`;tlbG*iyES-^)rDmNKe^|pr_E)+pYMZU_j zNNlaaO#qn2^M%Wc*Dov(C`MlqNXGrrE3$U_-+s-aA3NvNImo1CyGOI=8y{$aW??xV zq_*1NA3Se24zlLfSNR44lUVEvs1ZQjTSGc4T z@aG%V^)^0xuT@t%%@!KkvyBG&{j2F~X-!<*qLDefxtjNWhIxC^z`{cruPv+F;`wvM zTScz_sBdi4R_pj=BesfGs4sQ}%W4jcTrA!yl@E?SOXsy%`?0%O-Keibd|*f@J=@R` z7#GN(8$~wz26KxrCcqdj?zUy`6Bp$M5cwz;L1gJ#1i^CbI1<++2N+B3^*iQ|tZv=U zrMk&acS0<+u^GK73*E5RcFU@bl2D9PH+evP$ee=-FF6>OoKww0yo{kvZDXrVpLxfQ zpZ2o&6^f*?1)=(n<2Vg zDfreY>)MeKP29h89T8UbW=_c5h5$H^KX#-KOR}>x*cBxC3AZINTHa@vai$B-HRo>o zig0otF1vE#6-7efa*?E$umW9n-12P6IsG1KE?LO3SlBt^$%M~kn+U>fknbYRap0Xu z0U~e4b28B_JhE5G$(GDwH7J=C*}9lotkAH3ldgh>IRP5(-lxZLkFCIF_H6g|KzBR= zs&2f@B6ue|gKz@ZIl`cnZa;@OUW_Qp`}0xbvZ`5Q33VG(IKDgn`#__G;Rqk-T4tDk zn7r>7Nm}faCXO}oB5)WdZ03kUVRLYWp}I>Kr~qKw*W9f0xEBYeWOv7jDZ(8HBG+yOfG* zsXT{BncaZ$g#q9#d<8Mp-tSP z7LF?!e}F6WD*SOEeit{ZFjdhZ%iU+8|IX@c-}R6^*3vb>Ry<_E(XyS-~DV%gS`KMFCV_()I`QVLL~AkX);lU`o?qSi~to7=r>_)H9SLzLU^&9yK!GDgewqRet>1V~qn2NE`$!SI9bs})+ZxmCFq zqWw0;Mg?jNNjzA0>1%2u0l}l<(!Zw^!N6^*D2@YcI?Weaw5`+vr9%Nu;*Fzy1Hlrm z!1_utYs@#W=hL!@@-{c7;VQLjfgr5UqY0e|vCgs3pm@^Q$>1&wy(EgJOv16Cm>VZG zRZ;wnBe>kLXe@X1kP;&?%^2qR@ao{S0dZM|WZiSAbx3>f3=`HQrszOW=5EQ}HR-Op zB3Dh3zad}O#GslrLi&mZ{T5!Bv2Mdb`$P_^Z=APlq|mE5sOBK-|7w?6Uqy8pWU8(2 z_-j0P;i`r3^69H|U^P=ZHW5fwg$A1(ZZyush~Rt{AoB*@)Rx2^`VO_WSdMEY4X!iI zq-8-7#&SkJ)@x#zNwtK|p)^P1>1*I@=QZR~`uAeEgA3L7+rSF4gR-&acm z%TXFytxES=tq@`VYDKE~YUTOp%doe`R{2rH-rm}S2}7z%Z)*i%>|d>b^v0_dA`hxo z4EipwR>;DeSFK3wEv;5=)5#mCR@ibeyjqnHRISQGt5x}4s}&;bU#&L7OzAWTs-gtbkU{k!A5o(hQCgzO^GV$ z*q}!vvT)>xbu8b&5<;xSKq0VLN>VHs8TsPFfdg|rRFMQxr>kHrbY{(To7;C-JgJ88)Bq%wVL z+k7^K*NZ40$u!8jS~qq%y=5V`sM6)MLE0&q&d5wE}>S>&)l+^}Fn`JK_R?ij|% zYvTT>J=TVcA8yq~PgINNGfcl999XVlroMs*8b2C_py#hJn6WONLuc;x_M?i^4-^`wW8Gh#fC zx7w<=o155x0iz9pAb768wY)?Qc;DvhR^?-!%X==5mdzsp@%_$`3!ev%|aIgqP zgDnTbdTkf}-nObM<~ECNKrB63N^TW30N<>)yZ-oh!mrMszu0VU$=;s;-N4Vqhr+{! zUJHjN4UbRGNMDosLu2eU!)f&*Fz^7j& zZP1BOkJgED0oD1us1$r`7(%CCK+tXgzUwBiQ680Sy}t~Ix*$33x4`wfm|leWNkEo1oDkwE1#F!TmrRoAQva3S(- zIEHMXj>FJ(8}M6FOS_xcVb-YOm`@f;$98=9g|g-(za2zC*NVPt=wI^XT5GcgkNsd9 zjsRQm+F#$Pt)l#BKV5p;E-4f=c4}>iSNr+~I&pV4Q0|7!JzS7`2dl|X$Ce0?ryYbw zD1GXw9b}hDys9@o`uOyD99gn-wgFc9-G#O^Z|!umR)vFfu(Di5 zQb@bG{4w#lRc}|fwip=5gekN5kPK>N2N`PWSqWi6N;$2rpxrDOIl3K%_^`E=>b2SI zP{p!FmePbsJN0S!=9eGc0H|GQmVhPYpoAUMej}X1^17vD|{T zHmq!-f@)EgYpv#nNDLM$#~Xas2DJ?7F3_|QFLbu#fQyS(cOBouBhPPaiL<5;*ILcO zKpLbaZB(g{RRWg)?|Gf&z_w7()@u~rO2<+$N;Ekyj^-G2bn-Ol^wHCRZ_|Lr=;Y)8 zB6Oli@mO_oO_oc;-62!6bp7))IVtX`CR%WH8`6WDK(v?W_QBL~D||k+$w_+4LW}xr z@e~m<>KJJ-al3_uG6{EEBHYonz%pkI=v&u3Ap^cm;yKCK1jtGaivjDrtbL@kv)xQr zv@h9Kvn}-+7~8jLg$0|nf4h$JRB&(sHg7?L-#V_vr?T2eR05xYbL9H0Wa50Yb*Z}5 z+pq!%HRSHHT>BcdbMsxe2ZTQ}*4DPrJcqXGA{+wI#P+s}iW2uHm5Z#EG&xssurzD} z#itTxBgm$NAY?_XN1{1wAHAOZk4J zAHy`7t@b5>t~U+GU2z|86k1{3OSma@ord&9ogxq$v7&a#nPRgIIXal+96KG2#5sb6`Po=n z(-h&1r6WE?WE3kMuPwMk)!eMQhA3hkYH01#{Mp6%vkT8H&0oH*THKpFx+ev%eP~aR z{+Pv%h>nu0LVvc<()W*oa)6-tPqZ@CENQjV7!~W{$<&HXGa5*madsR~INsjF1HGK) zqqbTzWg6e#o}qSAyHWdCi-)2vsg?H;;wU;Hg8q<~7V0XfD@m(vJ(Uva24vE(8{yOO zjD^9y%tUl#(Abgw-v{Mj0_HQ!WH$I5j@3gbOL%{B5w7wl6)ETzfv;?e2+dwJ__8P= zI;ulGc#nAq0zlX4Tmbdr4(s!I^pjQt`AFDh^ee*pj&ORvRgR$Q*U`iSvDU(QPWg5o z1L2k1oAp<4&XaXp^*{v~G5mPj#thYUe0qY7XJ=up)x{@{4TP;|&kXJ39XaZv9d;Vx z=1fW#e6?keCeg0zOskO8To9 zSg}hpFrSQq0ll#ZsazmQK#>b%Dr|d|*=*u~^8gsnV(3}roH3bvxx2-rbj<6#I-6uB zteKUvF}k_pp?U{(z}w_p4~p|yi=657k`vqFBh$CBQI@IC&?)t+N}m;Spf%|qkfl22 z%(+d}PKBog^pBjv2pdao_SeU<@kbBW&(H^Yz%La+W=JBdEm|KpY?$tdvj60hKHMq_ zEeWPkB0|CNKS=aV6;za7D6}D|^a`$rN>-$#Lpi>|ZZSrd`C09lHt9o}JQK5jIkR6p zAOyqZr*q`1ZXSztdF2F8P`!UuiG=WhUM^j@vy9H~H%am`r3)SbQ8E-@E;{rjeeJbD zIoo^YG(WVER*(U|O(SSPdDQbnS-Nn1ns$A6Mztwy^zQg!hTQ>7Qla0qUbCZWjOD(k z323)tXb-TD90!$^9y&#NWP-gjsCRJ3*R@>FzF*0ON*@TQKXDXmmOf1LwHoH>(AwCy za+qkHyvDdxn+diBn`rf16XZ-T#cK^-7z|TQk1f^&NJF!XVG_M9_^AerfnEDWD)l~% zDl40p0p}}Dq$uZpxyS60d=boYrJcs%LpS#K0}Zz*VawDzDZsW~qh)ESjvzxr<|q2s z-F*k4Ko~swq>_gv*~>@#@nIkj?ps6H-9ySf{X5|%`<~!?QGIJb&|g(XSm z!rnue8ssh3Sfs9V<@S{qGr9IT3Ox6U!0H5X!lh1=REq%9MpT6%!%m-o!el_DGce4cqT_2FhN|v>Os?lr*23f_ z+{zcOWRTPIv`&Nx@MGurKSNkm!>b87v_81;@JdRz=LV7*IE=MreS<4zzmA1jCDk{6-}H^W4(B$ z@qy}5l~spTDMV2lQ0Y)RxE#=EBT3=rtzY-{{S;IJ=EQRm7O;=e@Uz`!f?Pc|CDQsU zz!z3q9HD8s%FNPcyWYV{T`I2NRs8xlI(+TsR>3*SXE&Ay245B{(*Vkit&jtwoCPm5 zx1*J3hHw^B>TC5CtTPxyBEm2#KPmMk{*iJ7LC*_F^*)lO@j6?iqkG*%_` zr(4NstyuQzrDzpI&dDP<< z?zlG5r7xxs&J>E%GjlVg*~;|P$+@ZUy|_lp(ZvLRaT0zVg62wy>&gZ>Z%y7yDGtfb z=W=fwc9&v%1kM@s0NOT|t8f6n-E6(AgVPocpu#ylHg&3=`5;#8fyGe&HYO75?RK|j zE9|)ypJ(r49Ev_a*0spU7K>D1mbQ49@FqWKOL7}rfrVi&W+O52SY7=X=3xc@4yFmQ z*ydxHuE8n9I}FA0Bm`AE6B90Wfn_Wco(LwhSO?W;H$Atfb%Jxc97zDhOdA{+t)>sCaZOk#Ug#77+p5)&iZ zAyz$PrSiB8=cgE)2@6ZAtz2Lo;K3<&Kz(OM~ zQL67r4_}Rm?0k0LP}B2_f>He>QY?VGv3Z?OaNTa|9yT119USD^@SZy-wiOe8xhE$b z_p*js-bc6PAC1RjQYye;2$Q2^Zy?KEgtwO>pm0@n#3 zv9f&fR*@Th;+XM)nT~>Nz(bmnGB&+1GE()ve_8lTsNjuNoLI4oh0D$MlII2Hr?z;z zz6OWeK~99)Yc1SfV|HgIN^|An+;p7X61|pWykh%~ylI~K#)Mr$G3)4>_ZJ2?o+DN6 z2wK6}z;Ink86azbA~kO5K`<`T)^?bmBCz@$+bcB#&Oeut*;M~r@`imomPy^oDb3#i6&czEMoxR@~M(VhlAZ*xPa{U zB}qtz+-+DGk(}El=-;iA5FqGBRE3BlGDV8Ih}9T^=+cN|NNO5GcWE(3v3HAHCW34m zn~N(^Y!9B5lpNP8C$VDE+q0)nLE?ztLb;qyIi3=n(J@y!!gR{%8W#^a z)>s#MSR?Q$C75+8V`Ua1(C5Nhw$_K4Un`A42v3E_|C+&E3%~Ok%nk_-tfmR_vV1PZ zCq^BKm(tA*w;KvwlZ`DjOM9q@h8+yX%PG%h_94qSmTQYVf)=x7i{Mppp+RzX zJaw)kH4>0EoG%y7AvxO#1;F zScs}wz7YT%c}J=U+8bjy${OD@r-PV*(-X1&=qu)0CeIX%RA}(Ht+PcNp#0(V-VU z`pm3~N;+d+NxNGSCl#pE_GSdKCD<8vW>Yv5O2yp6_<9=5;cwjXb+@>x=(JBlSoU+L zP`wk&YfhVucP6fpGB)C9SriizC)~ygn$}aoJqV1B>3p^^cZQCWc%T zDosRhBH8rTjjiF~oVWs|J|f9-b#G}$^J4vzk5H6@0kU>Xn7Xnc1IwW^5BKu-`%}61 zA%RZ&rRVVpy}SI~VtM3>b;`klOsImu>{q7Cf~B@rF4yzjOUQ8CwZSWqaer z0Nh**Hpkn%IgWt8aQW&DEVF(!=rC1MOeDza?G&2;+(|^<^qPsiEPWWZ`=?SpW{5Qb zKR9+3&lOnPgS9xVD!yCKW5rFkfnD5TGG!!#8E5yINUiU+>T10k?Ub&hS6XcUWDd=k zP~3~P&GpW01IZUbHB%81Hgm@-i~(Sh%ITtTik&*EIu-hK56{nF-Jvia?ZWTanxA7w zAi^s*u0w_x$zVL^B&whA>_cU}z6v2l=M818Mn(WbWi0jwZ(0^TtYEbOM@){NTOgaQ zX0TG(z)%-B`T@}uBRf)Kh&&NVm#7#Vz?9~&w*}WrH_(i-3`{{E-8negAO*}ZfN)Sm z&ORDLSOt$Bvx|{S34Ha5kGXrrQx)?9F^b%c4uS=aet-B6r$(kmlH{X@{^YOyhY$Rd z5j@`0^&qg1;Kz8c9MY&ikCy@-N&7$lnSXHkOL#s5*mc|)7GB@Ri^KiBAKLi!cf6V; zzXTX@85UkQ@ZxY^_^tnb;?mnRUE(qNh_7WRm=E#skB`>o)`3&wt{J zr~l!jNwNnR=`!ql`Fa4EJC{8D&f_eXks~O_Z$0#p7v23*o$gqgYn`-kZ8VjG2=$wW z?4HFTsV#g9m?$FZOmh02BexsvhMduqOzjjCzFn`j)@z+ak8%>ob2zOrvLjJxG(EM@$|D^!_l>q*w0RAfh{4)Xk^8x%90{9mK_~!yR>#XDF^8uW7 z-@#uG;GYiQpA6ui3E-a!;J*;SKOMk77r;9K{B8i>3E-~>@Ye$PCjv{z#k6aM+5j# zz-gb}4#pl%(8Iv{u#07$n60dc&HYmvE8&H3^5Wo*7sAPlgF9XbCoc;B0-iHElzm6& z|I@cQ*%P0#SNO$8(g2?_{;J?#f6$dV@hM{mcV$jEW$fT{0Uhds!XJ3#X}~F)2ShgP zg8?w)3T1Oucxj9vY9t$lzW}~6IA!DTU3rs7%JLV4&iJ9nfS>Wgp4kva0@|dpaF}gR z3QBRB4jz^hbV={k6rSElRW%c+GxAekJ)9hS@8QReJ$Cr9M+(QL@b_{2jvkvnTzKTvv4z7=96Nt_0q+-&PO;3` zZXW|Jw%hE=-%Gl68R@KB#9e+Q>N9ZD|0)8*|C*a?sFw)KgMR@A-E}hhv4p;s;r9_EMnbnyOi z`Pu-vd<`)(Ic9SC8rnY9uMeBPyzd=&cXE05p+iU0zy8>VXs*^aOAoMg4nHumm7@pii4gSwEaOM{mOBz(20M$>&8dIFdZj z(^ffnXj>>B2Y0sRl;!JJFg82v@i1Lltcjkv9&JkF;e104}pC1R$ z=f}aBAKEniJtT7^JAknhaD3!%k1hU_e{lHU`NJ!JzW2Egj<5f$&ZQh5X@B;Q*8hvI zJ^sr2Kl{6%ZT-9N|2dtHIX;qnWAu@a|KjQY=KuKZkN?lVeEPA!rE?_5NB+m({M@&{ z^Uc~nfBc&-{_>s1-+4{vLynL9|*T45a{Z8lqef`yUf9Q6Sd<*GbMLpy- zf`7lpb_myhgx><-NF({-B)MyM=@b5Cyt8kJyY!D3&VCZ^(g*wzyt6NeyY!P7&i)d^ z*@sKP9M`7=nzTJ}w-pBB6_vEU*+dXO6yWNvd z+PmGwelkAoAMRrB`A+-J_dmv+`Lla+^oYqr@5#8m+da96_YVNy?n%eq?VkLS;oCj= zs=eDCqqi~Gtx?>kl6NPQ!TT7V33uU>2%o_Fn{}T+EAj;BO@QtR+@HdoX}($aCqVB< zL9c-Ok00Rv4EQ+>yf=EEgMFVt{5O7oG?|t7@%>$Z_4}Po{!(%#2y^f5?&7%jLH84A z%PF6O-W}cieJ1%UNfC71Jr4gf==SUQjo`=5!xU~XJ$mKd*}-Ff;hZ4jAs3#1XCL(i zpgpeCq;L08Jipi8*+=60yY2l6yR)xS!S6-<*ys2K{Jw(U*YW#P{JwvE_ep@?9^Q){ zCHwb3mmGcrQNR<4 zeqMGk(kvwWzMS|p#`#`MzWHSG;Cs;2B}b5kyQY$!FS^M)l96|z3#L2+_ek=-_fUV? z7kx+a@Nv%3Fn>oSY~)?6A`B-U`FD871#cwz0Sh|=JQwyZ35#hkKcw&CJqnz6B|rQg z!qG(nY1!o^>HHwV94(G3-itTllLy8JPltXadF(xBEUw1K%b7&J*uves;Qo-&VZ0x< zczk9aN#h;Kd*8$P-XA*jX+-|kHyQRL5;h|7|BB%u&|h!=o#MzG-w^hG{4foMe0}FT zX`3iRN1q%VRWX#6zNX7Ee^}uq!XFw@-OZ=#^!a$A-@={lJ&1H3OWaK3*(WXB59!}3Z1YCE0nR3=O7NQ4lLzvUYkKP?g zKK-91$=lBzPVWAT!^!i14W$&sbu_+z|K5~9`jjj`QDaZv&Emc+TmXc_gz$v`>qT_Q z3O`YdhbxM5%T@R}0m!P6TsMOhNPrtkml<{mE5jP06HYAInYe0(f)OHuaQvtQ7iC9G z7LVyfnB`QyDj;osT+qeg%CfAWiFp>cmTD0)lHr<}JZV`&&&`R`%t$__F03iglNEPr zV%7NM6X+`A*NGz61u|HBam2w{|Tr72Vw`#HvGFTsk>>>kx)`?qvSFk!r+s)C5 z>he05vqljbTuv=#d_W>$!R1^cs9C}azTngf3K5IGLkceAx|T|puxeB=7GYXihG^yx zNZJ^LJ{2ey{3B^)-QrwztK_hpH)Gxcy-fp2@);+mC4e9)^f=60bp%_1Y0>(C{`lOR z(-*%#I`>2z0A0&&3dk!|9g_|s%3^%`!yP+3c!qVsBE*R*PfVg2d`nIrF%MmbH-J4{q zDSrYEdvHbsJ!f-`Q2p^^N3uY#ramk?)92=*=x)!6KHSOlYFH_7J`cSlUByOk<4Loa z@(B8y@Y>yEH3DBNy5&5*xrlX1@K?}7x|AnvmMtb5^noovR#U!EZ7;qIFX5f0b4TF7 z-sm{BmH?L1)hh5iwF~sZ7Sgg+mn>DuOF6RC68%Ekom;n>&z%_Ep3If=nS zZ``=)l-vqD43br=VVP50&x@m+Xl?2;ck{j)>QnASz*6NST3yxCdn(5Pa{IeD6@Z6= zoNh54dZx!wfx($s%QLxT%GgG~a<1B0xqY^}ynG3#C$Y5M1>2!sLQfGgmC`Y^JQi(# zuZo(!XE~$_B@`2u<7fiX5#i#@K7^yy#@P2!Tk%_`1De8gM7UfE2+stU)jquQ8pvna;~{qyF^bW zbc+(&mf2B=iWy#72FgYU+b7MUwVK;Y8`Y1&!-*J-GHm|3km>B)g0B~`Y+2%&r77Z2 z&8aByd7P?w`=)cs5~e=K)VFG@E5z_An@JX+i-siCm1WWJxoWVt^9a#0;erpyUjb>n)QJ zmr$-Y26G7kQYEgku5(E`^H(ljxfXGY!v$qqT2V4A;SsB7?b$Pw%i`zwbbZ8-&uCL) z1xGNsVNRBnnUKq}b(v5?K}KeQqFYEHbRP9mTF?U~E6)g5)(=9A?2t(rLD*h+97u>m zS}bnvgvrQPj#nM24NGg=Vuo3Rc}mMgGz<&1wWTEoSg2x`^W-Fq@A58Aix^M;YHjxv zd?ZbkXXnZ@({MhFI&~l_lau9>bJJ6m%IqwZ*lM5DeMsWP4=r_zGd%__toNvTYWH27 z4>QUV8xY2xbCKgXl^_mFzjf{Tb4z0Nf+&$0O`Z9bbj~)H(0wR}$f_W59JVJczMlO* z2ba$?X;c!C{pyHU2M!ml=00ERMA)vnyZyWaoY|n~vw~5%J5b}0g&c3Ceq5RC)&jx+0Z9G(XcNvlh` z>5N;s#DfA{0$>lnYzfEUt^;gbE^@bhyCohCkRC#aRb+RT>B6f4d|v@<&JY-ghQ)_= zJ5BiT_QA$1-oZ@)?5I05`anZ0%L~yNEcqYp;>`uX*9-zAdfW5nSn)WojJT`Y@VGI4ZbApsTxZ)=3K|V_r@1mfO zND*q%Q5OSTjY(XjTqWJKW8`hRY&DHZ15+cEUV75LroRY;)EJdC@h7 z#2P43 zsBgpiPv8#p)O$qe-bl!D`@UvS{58-ihiXa_E-)ltnmanCs&eqana@srt5L^xC!N&L zQqjLY!@WFbl`U7jggJ9jA~IwRQ=kz&a4UnIesG3%I%iAW)OakzgQd{n>)1{H@jKvs3V>-`gTY-`mL?67W2OjLS z1h)cXV7TH#(K${$f8H5hPhGsQN$gRHu{)4@8K+S$BQI8-ThNIuSdgu~QF9?%bXLiT z!=;fnBe~(bRD`FZLA{K<1wO`9%!qk!4ALAurQ~o_Trjp~95LP|?h^crz>x&&Dsmq5 z1=NfnSn7b-qd8|qSQRuD?jkVhL%4%IKkha_YIMdfEM>ZU(X%EKPAp{E%=jjCqNYa@t5RcIjtZAA==y^pXB3Ua{6dNo$ z!>SSy{=8u&&p{%fkxzs?0j!CzK_I@|MH^=4D&=B%woGqHbcraogpQJkso8;>E@vl+ z%^BaRsqBf?T48(=A1r}Sq~OuHM+%UQE6qCH-h|0|-!Z+*ZJm5r0gPpxG_`{hh&drui;+qj3 zXDg){aWVw+tiGo-1ESO(S0v`JvnG$qKsLrmSzPjzilt)Fsf8~m$&6-+n9LYREAAj_ zII&`4dUgtonvxBp=1?6mt+^&@r07YQoNzO7OC>(xxN?1pn2w4Yn0axN8hnhw!4->I z1s7^D%SvdEnVq8&vZdwsIx2}WW}+7W%N`8la{3(WE@FFUU`|<4I!eveYREe%8BsKC zeXR_%Jiu|R9*i~?Tf_lzBdh7CpeIY+gnt3Anh;JMetp{LIEy8jvBuv;!8@V=!J;TX z(r;!Cd~H+92YI0cSkv&m)a9X155&i(0`xeVLTFznQz}BrO$s7%4`tG`5@Oow4^aS4 z>hgm4oBq?NQgY2?E&+&|Qt4IATw=fx=V2N>pI8eb9HL#ZY7tpz(FGOtDzu6R(kw7z zwi(VEM5#;iMK)J6EDOXI-P{$gZJ9aC%xk|VSNpQW_AHMjwtA>OFrW-n*;yWaVtYIJ z%F|nAvSd+tP6#nK@M7sY-7}iJNe&|`PpDXVeTeE(UkmL_g{m(8S`@~o-pPGZRNH9< z60Bp4#1IHl6T*WkV3Z2=a@Vul^C)FYi&<0hj!wQWdUlg`*?JOqxB zGqq`vMbj8zY_Q;C(>fyJE?bYNG4$HQY7Yeb1%}1LlaGfmC#XK$s>IxgYg*$Wx;l^( z3!LNDEV$-UQZ;TdD3nyeK8`Mc0E1*Pu7~;8G94&kSSghi9$a-jfk794{IU$IW|9Vi zq^x!g4W%nCBKu04J-LdUm8Pau5T4)9Nf3+xAwYutpwBf#k`JUUqrL&=O&TI?xP1D) zze$y3)^f=K4F94&Ipk6*Zj_uvRavVwl}OT$3$hoPC6`Gp4muH|8%^&5l}g|wDFp&| zpU{FH55lyA!garISLh?hU z^5P9?)^u7@o9ane-dro7a)7i@^(l>@qZ3tq$N_0*_SeaA)=fjO;m6Rw8MLa5LL@!)-3FY51vfM6$4 zZH|HECwSD#1z#bd=qJLjlG<^IInQ@@_e!n&Unu#a^DRV%@NIsgc=9B@T_BBs3Ivc&Z3A)Q}hS}Q1MA_ z$|TLRGct%IBeXagXi*6?8eGJK6Ir!V!H)V0AFGYrwK}ZXo zEAm1y;3NC{-;aYwHMA>CQYSdWN*15gZ!QI$phv$#ChD`fFl|7g_541fvB8*|42B;2 zse8ud5Qx+GL3~SCCv;tlA)gW5G#7$|q_hhTKJg;lXdJRx%s#9 zsN`1bZ8l*C6fLZsU02mB(rmjn3DiYLp$6I>Ay~6))v6NBzo9FTN7o*<>zQMQ-t$D3 zdeBvQ3|(h7(vGZtY|&#r>r>q7squF{lNCv1VQBblHt2~3#Dxy9A98Y6hac0!4+N5a zT5ZbbhI0QV*V2a^AQ#|Bk5=2|5{bj(F`YN2&6Sl#SI$@w-(Wr+lOqI;%)w@e)90~p zCfd(AtD&L^6l_Tkv5?!o=&t&C((*7lGd*3VcjGV))~Ydm-vf2@ayWO(FZQ$@1kM?S2q!jg2JP2TuebYUD;L zu3ZVT5hv|CSIkc@$t+lvmCUjw_e3esd!Xz&0PcA2>6m^D4(Scb=8Z0&s*#}eu| z_N}SZ4z|@|7%48_AJasEfJ%+jfk5kG;kgb2cQ^QE()A)-8wphbEvkVgdm=5Mg8LPt zkTd7z{S5TfIOpDV|Ad_uqpTpdJe-JQBYIS=L?)6XxR$%s^PGJEE!8PL7zOPJbG+)N zWufL4U1TFuv(oWp1&Gp(SFoau!fY3CSeoIXH&So%xDg@mggl4EsRU9Kexw#I0aZYf zQ|L%OMnso!rRj6W67<$&cBAvAN}Ci4lIbJwswL9jBvhr08B{zV6qipmjw-^S0`-lG z&@3tyMeT;9iuF6_QOFF3)-ce}0brCoPK(fPFBJ_8F)f@dhLw>xNv_7j;c$u#PwQ*c z*@#j(`M{X%=~E8*C! zn(V{zXCh$r5tnuPvt*(rPPV7XdN{HKZ=8Jst4lIWi2SF__y! zLv{jBP(*)blIH<Y;vzou`Vt(nuE^H9f;*n)?Ca-Z#ifOA;sc z7(Pv)z)>;XY6w!31q`tE5sY~T^_E+^O2k}ALOQd8B0?NXMWIF97=uwypG`Zh>Sh}U zGj3pg8V+javgT)>Wu_YKUcbH- zqqma0IW=Q4O{*6<5;Oqg=utt_15*8MP!fFniuWeS}YYn;6XjAt9B$WeD^FTUBx!wM`zZ zFIi_pfE794&~HB_Mo`HN#kPO5C?wqN>vWu=eGnCr&4l3@@spD#8my1Uh3+8Yqo;C$ zyLR#2gPrqEbG3O2y~0)t62bYjnEFlkPAu1}*ukffOb8bDbSj7Y%E`wHLXTWgO+$mTG8MI?2VTe9j$4~XLyi*?addqdQ5^5Y7%|W~3C9V9f_$V)K zYc(=swcc$g;kFUwAnjm!M^eHQmzZ-7jCC;1TE!;eTwh|}YCk!d`Fe>K{>xYsRW<^) z!}YFOa60K1?WE@@)pl3AQX}rccPtz%Z4m*t@%!}RJs4RVVkN|*%v_^XSiuA>=Z(kF zo0FxTZcVELU{cpm!c1s(gN!T1{Os&0X@@iM}ifs94nq}?e+Gt zvjdewv75qCn92t!+6JBp-LG>I2YojRe!Gt8OsUZ6!lDA3yMxi($<7_pF;1;kfvQ$2 z9dCJkETy_n@y1PV{#A`ErQP7jb;&^~ZN+t>dxza!6@Q_NlRdqJS~9`R20Yw3Ed6IF z_noY|%e-|SPkP@mo{b>$>}MJ2eZm|ZcZx18b1U$~+Rn-ncD?y(&NJxwOP{Z8VoPI3 zyTb=KspI5C>Ey)8>C!~GScHE7r6QDc(;;lzT76R%XSYwGgKo*VE%H)LvJK8);8l-< zN)+!Zgv%oAh~dG?*)$wt_&tr;wnCIO_WNZUUBy}tq(h@1>|faWqN6rtcb0ZXB))}i?Uu~5Ft&1NHAzFE7C z1^A6At&4$dS!KfHBl)H-4-t{#0f^)_o{AtMBBcWm38dMdlk)yVih(pe5w&)DtUSy| zw{{K`5QONpV)TpU6u{#v7C> zBX+Ae11A{41w3El%5z!WXYI>%T&*cz$44Oa&9B;C$AQ#lA|nv`2?>M`pCc4pb+aR5 z0O_E6iXm?^q1TbYIR(Azw_COL?Pg;&C%KqfWVHL{6lFS(0|MLUv09EUcDQ29vlbbd znb64emZ``M)XcxiVh3jjlVCa;!445%|gUiRT)!jI>7qTt;(|v)+desD#kI`Mg%eh*vB6{bm)` z@t|H%z`9-{BSg$^RJY(bi*DGqB;gjQ>{H7r8U{~&wRj#PPvLQX_fYrXS zwxJ_1E|5Vtifr}`<`!X0fH7R0SIgcfF3Jrc@=+{;$a>@mg5}t8B(6ygFqYcucg!DI z-MXJkb(5d&xL9gqGkQ}#)L}8~mW{lXgkq$+$ph*`<{V6T$-%hfoN5;0Wejy{8(VGq z%sX}@=hg|SW0eKghs!Pie9rV<)7&;rUDPe%vN^}L4JsIa-4-0TdD8-p9dYYsvCtL^ zT%%1Q2+a8^vv;l|!m8fP37Ojv09WkCj`U$kc9sfDC^Jb(bK<>q2)u|mUSDYJ3M+gs@>XmtzU z!IdYMlt`L;Cx*NCab9G!j2+vKl*oFZJDy;-Za#u{vNH%LaGfIzO6m4QR!wfd(oJppH{0KMAy#zc5Uv-XxA4TkzH zkUA>$Bc5+10jw(T^*~@&3cMW1mq1o?HD_j_hxr4D1Z#TCo*Uu!;_uU{E;lEE+xytz zA1TaRv{yf@W02H6?YNh?mQ6}o8lAqy*}G@nlt!upq@*1>JfPk2UC4nu+qJG}$J6Rc z)1{e|zU1CHYa+@!lws1OiET2obbJ2s5+0Gntv)unBpvJIf|$HYB?V z31lJk^z`g@wr9GxdwOPfvtU$wA%Y^}8&OeF@PTjf1tLE1iHc7|#K-Y3IYB(f;~&J& z_ui`d)vq73k8BR+xSibXo?lhnx^?T`Tes?0bt^kh9{sfPq4bzda?E-0(DUXs^2Cll z8q#rxyyeIiqvhD+-a(#Z=+Eg8w~0lh%H|(Xg;$ZT14*a2rNTM@7c<*;YQpG~)x~M+ zP0m=GYr;{y*m2^RBTxQJu(L5!92nEzZn#FDehx%~KE1#%4mVp>CMj`H(E!wMi2^5R zWVvY0#4tzU;yS!Tz+47U4x9kCHX{TSHktQu8n{Q2475dNR zG2!x|I{DXL0H*qwO2z!p>uOoHGd)*pR?rT&I@N}B)WO(Nhl)mHkrO+3m^C1U%iEph z1IJ07(`Rt#bg;&=MzL;Z1px+$#XdK8JbCdhcKr3F0}*l z^b&U?bK%wC zz_?cuI_u%s0fSATnwG_qHStdlwOfctwWEgWfF*ElK;{leG7mS*9t-On2Ux;H?G#Np zeu`F_e{c5Ms15VMIKTz-7W0JxesDu^C>b1n9l4ir%Fa=*H;y#xghxsTsdYz1PW-T1 z%^LBMN$!HV=I3fP8^w8~TFsuVT2bKiY9*|LYL)01NpKRIK;>Dh70k$Og6V{7O{P|4 zlAm&JYDM93YNe#dxmwYL^QTrq_L!D5YD z2h}Rk@z|&p%s9PTk?Gvkio)a6N=c7%wW0~s#ftB);Xxv zd|XnKGiviu{LK)C(oO-!Q`@}RwhV=P6LW_}s&Z}*2Cuo`LuYz`(|ih!hncF zdA}7F8F;4Yhvs4<7uLihTNeO(2-2x@;krJSU9?B+TyZHjXTD~q2r%}tXC!JdG&Q$i zDC@K00cAId9qL^52?|BA3}J!6AAvzX^u9o=Cm~Jq8;f%z$G@~vVrzV)g>rNDBb2iR zXXm|enoxl=ydVqpMW(i`sMQlDJ)U2kV;7dQeSa zU`}E)C3XQyeWf$dv5cKt&N@tKcERURfvA_505HT)b(&yJ|%=wiC9sE$uI zrg(B_fsx)gL9DJ$tsX)iDTG6)&$a;vsmdO|qS@=GtGo65j)i@{JzCL#6N}3cju2);>u-2qVa!ZX41E0)^y_WQ#3bksd z!AT6nuhm?uuImK&v~ZkHnhIPYbYJS$g<6Yv;g}kzy~F9at+__PylA`EJu6bSAk(nT zdnKkgG5G8FQJwi~w7CMfh>$eEO)~NPZIUUq$a7Cj!Wi9O1Pn#S=fb(8ffMHQ_N7SQ7 z8{O3g(bgfGAZ}eEt~ZZ2mgqm(&sg6^tcs3S=r{9vnkx*z>$;IWANzGoZ(@|o^6V=8cI7AH61tG&xl@qa>4a@8kf15zinF1?)>Wh)bE_n4Fmz zgM^J}c{jx&E7lRe;c2jRquVnx1EOmtr@MqH&G8Z9jqwt<6H}*S%!9Sf%qS8ZBkIkw z*DFJT9k*DOhp)U-W{4(d%$;1$EORk{K6b+s4M<~>?zrUumy{ZdfpuPVAE~;w(XQ6r zm+ZOOMz9xUzc-G^3R`Yz|3;I$FbF!&!5bv_v7_4J;ku1P2~q?0i0a+eh<)wu{#s{v zVC5lVsFOhh<7+m~E%XWPMl336YtL}*p{=(O%ta=4cwF=>Wq;DCC`QS^=Ngv+yK`bZ zb0%sik*T05JkW55rNUNHS+E1Hc-5tFTKcZ`%dvqW7S&vJ0%==jdKR>2pov-#+dMxbSSwIN%IUPBK6(4~~LHlHVf`iSmk+o(WkBKFPyp13M%@JGn7LzFYiP5)-YoNgug9JRv79bf zo_91Z(XEvH-*MC{*Z3OQcS8Dn;Kz&fhgBJ;YMJHHC{LJhvm;G;N<}nK*&X?o&Cm;W zWX58yMsJ#+OJyH#5~&F8B_SrG(@?$Fmk7+=th-%`ra0J!0X!^FP2E_UiE9Rn`B}Mt z*=r<_#+t>0uvx4*UL8VNdTW;AKvW_fF%09=!tR3$yZ65I{)OA`aw#6J9`|G-Ngv}0 z^-qP;C8U$0YGO25jP#?6&<`+5|Cv-)y-BWiUSdaZ@oZ@&tcit3HjK-0pmUPFCwjQu z#NxKv8xJ%aBcQM41vC(DGVQ`#h zB3wVR+C0|RlAuiAh9R1ZM1$fPH!s=hbd68c@ zww)@1hZ9JID=!mDp3({$m5;qnY_V`4$B6kXQ_q^#j78+pen(aLoHs_~4V;+{!>sj9 zz&p@A67Nh0l1(1)ptPQKP%E8@b7osoVa25lm~H7Z4=DVg? zDIvHyl~JYoa;9xk%P`}HuoPV?JmTXyy2Z>a2UoSrxP>2X>ORBK{VczDObXNG z8wSwV;yRY_>NCK2J!+0tl@b$PJWORwkCrjUY!*s=g3x6@dE#iqz=7h(OZC*LaVqRCaygaI#4##AfXMi>HYpjl*^q?7V#sew6g9KVF6Ibu+ivLzm9 zy<&Tneje3&R*&qBV9_df8aJQ1$=}Z;JQT@Crr|{ajrCrvsLN%925quFFolteNJ|oAYf}5G9$J`}v zVML!`{)T7a*{~x#51OP(kn3S~<%_fkskTipk5gK)ScBtI&?E$W9<8c4mh+@B0ofSa zncVBqoj%^@7*fRCvYb(!BL>z%{g+uSQQ0olZk#Y!aP=R<6T578ZFmJ(>mSqZet41UhdXgGhd2ct|! zN*ppEDJ7eCadUxL-pL`!1AXx_r0CJX7U=IRBNn>V=yoQuN2%HZotd(6%X+!@kk7I|fpSclm!!wppUGR&^WeH$D(Cs+U_4|wBJ#4{g6of$UmOcnSun^5@*j2h_Kd0WR+wZ>vSi)*$o$w|wro3>in z`J$Z+cJrC*L|&m@^xOChmxNtPSfX#tge~0im(P~LV%9IRhoY1tV0oQ&k6RGE#nVDSf0YH0qZ;A7vwPLXTAkQ5tgh^+rVDc>O!u>! zR6@U5wuyCJO*6NH!C60MuMIzT@f~lc@m>ntOK9)Decuq~kjHMB@!yjv|HOJU)v
    vHRqdsTqa;FVfe}ol15B3FHw^g}vw0eZ~t!A&+Z-h;| zI^C=5JeeNhin86pCS2^DKwCPxpLA94S*^MiZ46>I#v&Q(VYQ_PSRS#Sa}2jl@( z5xCg&xKi0QLsD&RdODV#P#@bm9LXY9^kb`+vrsVar*Q~JrMLTDjC(ZG6 zV`7IXuJ{4iIIYW&TP&c*U)7d*D`NMU1-`l&oxKw6`kkb-_~37=<|%ZXOLTT$x7UWVdh82D z++nY{ZyncJ6Z*nFWb^)ISEQX4wxA#EGe3TuJ(dJ5)s30@>jWLpU-7ZbJ*ZJ7sYGXK zRr0#~W_5O;T(W!zU<%dZ-hdI;UgiDy$GHqRc-tGxww5t)+CI_Wg+#%unOsk>)Zn ze3h4D3TlaAJEgBvYVNhubGzneckL`Um&$TlIT2u#dzSfL}%P(DsttQZJW3Q2=qzE)GJ0E-ahGR|b(Bk3ZI0RxeyGIk@TnW; zZuw+PENex=v7XRVe$x|6a4O5fY)FvjiREGoiWHw6>6<~NE4gSni)ehklK0wFH5nt_qG z+gm)|e7UiltFErZ6D7DND;!_vBYo?#bRF8PB6MLvG9MDKc#(QjWMfdB(E~^=!DC2f`Z}-ORdFb zk%_hWIJ+@^>rzVf)f(@)loYsRN9in-n;M+ZCJIwo_0^2a1v$B^(h%?uIeN#$E@xUA z1b9x{sgZ z^Ts%9viekG1)cW^_-j*R0#rKCQKJ zNJn!spEoBLv$nEWdQ$CZ1*EW?p_+-5Z(0|$Zq0G&$&?q1v;?_hw%^2|H#(y8n=Sa6 zNJeA6quTG3DA|EHZLF3ag`L3#b-|`+flh*XlKJ&ch~wY#$k*>^v&)UC3L`l!=^=XC z7nh?n2ijG+7b?go7b}VcCaGyt6JFO=qaFm4Q@+d^2tsQ808rq^WZFI%>UDp-+;s!X zq}iw!Rz{r zm5CUxq*&g%yR&(^7OucFf+a<(&aUp#y4dLIOIe(PF}#jM1PN3}W)7IIJeKm+&|LSMCPh4SW{3>KiJR_q~@NBR-dZLGkde;%DU( zAlU{!eJ=N}{NE>iWOmE0koE-9-@xyuRvvle3;BNJ5y$y-ehV%Jo&)G}Wo64V_5Bpe zVBOb`RX+3ZRpHqcJR7(LzVf9Z?P*H07b(0=FHT0n2FLdd($nG}i-nc{{LI783~A5G z)2L7NU-&#a4(y%Zd+^r12Pz*x^u~RvmC9=`^#3^SJiebl!sn_>W*)wkW=vovcJeK= z6XAQp?-SwsW8wRi;rkikTgs?1zZkyx8uJOZXiRGUxSIcw{Z>8cgH6C#rawPlKV%!v z`SYj>7q!Y}pXsN1rWqe)z9&=uS-|swYk(U7$(n|!*8&$lpI;7KS$V+~qTnH5OGUA4 zDvZ^4Uh!=7>SEJqS%^m-i2(r!G*EdS>CXx2m*XYm>DqQAe8Lg)+!6Aa*BLSt>B{Xm zlynELxAf$yM1$-_s)MizIei!5(sjS#_5OeRz>2XSaZY2y*bEmE9`_tjA8%YTyG3K_6_uyI`O3=Ek3J2(zm31E zz&7Ar*?=pj|JgwPiOKRIs{>~JqRM5J4?NX#FEP$Nfu9o}`BW-y7H74++Th9d_fJ2( zIj)P)TYX$_^-FbL99#;uMbGrT#cEP*%r}4^1pWiKfeIF`KSY#~Ztu`)vvG9$p}p;T zU++wNhi+k;Xn*n00`E@mskMkuk^Qu7LMmkQ=~o=QKUj_FBduQR{Gc>c%}0srPWCwx zT0;kpMcJc8m*#5c1sfX(QuL@w<#V6@+^5yw*5|R~`8$|wbz?N|`mK};pYzOtw@uG( zS$fNkhS)!Kyz|h1z46~~f9v}H{P&wa`i@t9l7}<5HCKoZ3P za?$86a`)#^f3VCo*1ehf^@mu%N{Y3V6zi}nmNq49xMCGQr+c=2t9OX=^36I|@zs4e zcEz&l&Lj39#^(*~u|ah^Z7P;iIL1FS1{5uOH&~ zC4d}7+22_*KZ)jB^>@H*i2z*hqg0bc`rE%0@~8vs^DE3A4}z7hB);G2Or0^b6t{%-}| z47>&SHsITVw*ub*ybbtH;O)S70pAU1J>z?U?*qOc_yOP@fc%4Z0zU-&Fz_S5yMP}B zehm0=;N8Ga06z)52M|Ag3ixT@XMmpt-Us{~@bkbg09p_ECE%BVUjcp5|{$E0^5M?z%(!eTm#GkbHF^X z1K0^%3%m%}1zZPQ54;$-0k{#k3Ah<}39uX311tc0ftLdNfLnlDftLYa349fB8?Ya^ z9e6o#2XH5F05}NT1>6n10=Ngb7kDM`D&Rig5b$c?HNgGAYk?ZD2-JZkpaCochk+wN z6IcOOfi}(>1jsquvCjzH{j|2Yzd;<6+@Q=XReEyZp|8_P7F66zy WfeReCz<~=KxWIu69C+Mw;C}%PNTFo_ delta 69 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 *!KdHHuTVw0;-5ng=?L;<;G{MY&); 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

    9zeSe2mU0RL<|6q(d#$t~DrDHlO7DEL&g<`C zC`vg3mRDQ%xCPN$JS_yQEV2M{TqB%!cDLGCt`nPv)s3(*TO6WJsHnOU# zX{L5DIP1scHQ~n|zT@pQ-b;ad3GH3C9qhv#^4Kji{(Cg#A6bp2I@WI*%Bk$h-Pi27 zX6i+|c3*w%o~!e}C+8*5E37+DPHI#v&Q(VYRsjSst|ftE^tJ2joFk5xCg&q*B>6 zLsD&dd_0yOQ6Jkn9LXYYg8!@qo`PV0WIRkzj_ zYe$J;X3yog`5wz1emm1aUY4{Jbr=RhdSIT`IAlgAdDkFDGGBK;&E-%^mGUZGZwR<% z5(RhTJ2__NmZbI3bOYvQB}R(uc{SOaG{TK&Nq!Rho)!ukEI(@Zja{t1(|Dv^PDf8w z*E;N8(IP24Ch%wIWF`@}A2wclD{}NRAP4iLOv!5|uU=sPi+0X5PnqNC#>5U&##ejQ zgDS#gbAlR2pl)o&r@7G^l$jxWGe*& z;ZQvT@QjWfoC!8bne!Z~d1PwLXkc&pafiL)zI9w@ zP3Q~zkj?v-U6FQH*n)nr&-~;`_E-|MR5xbouXQ?LWx>ZX_n-!qq!OK_Rmp4bo7CBX za>?=?d=Z14>7h<+>XeR|tFS_-h%*07Ogw;sx8~A)+7BdJFh7mM$C~rR@Ks)pDX1le z?XD|DO0C+VTIae^q9KY0 z;=I+SQvxLO5pExcwL)I&bUCr*4TvFs0-8k}VJ~ITutFpK%&gIG2<>D?5k;G8tY*&SU#pN zN!~+o?KBG(-mm?Jkm%cazOEGGhOF}H(y9w0uZ!KzQ69n~07A^#Oq**xg=de$t`TJ|$#&cte}I_q>9 zQA68W5Gi#>{#_$ohh6JAVX0h!b!a}VRn$9klqPAd&hx;89pZ$XCgsLu!eo%Mlo;7E zF=0Ur$l<2NV}r} zfEeydAzYK`kHkz%z|btmqT8mIr*eXBfnEM zd5m5)KeV)n0%NcJg1W|-LV9M86tnV-v&Jeze=JWAG^6`#-DcgU_Gzt+Lpqw9`Mf!~ zn6-u3(v#|vRzM2N8LAmc`NnlY>-HR%o{V|1NK24AX8TPXdZQyczuAJHiDWe9yQ(Wo zB}#T7PHT&$M`34hL0zyZTA-6)o??Ez8{+uCJo2q9X|v1TRE3e8mh=$4owM^%ngi{s z+zSE4_4E4G{UhcY{WzuZa3oE0} z2Q53D%^GPBAE&Fj_&0Gyt?A*(yfV~t)>heY$hv6j0GZiPbI?MLlS!^nX`zYDGI0&4 zH*cy@g^tE5>sqNRi?RFG#+q(gaGkL=t@3(XN<;u-dMh=iu3af*(PYXcrpiS0S5ho* z-LVtIn?O(z@8->PuOif+4()L<9*`M`jL~uRNU1|CK8%mCE=9mC8G| zRVw#iT&bMq_a}h;{C)XXR4T1ERx0l!&wm5YdQ+wH!4L3blh0jQI%q0)1E1r^Q?uvs z=Ov$<+_p!5koW}P4g7pc<&j6elJ7?zfdD>F3veOd&(;GzmshquL*GxP4Ca0HMCFSQ zUm2cV#x&ORBcweuPoqB7fBy66 zIB;P4z~P$@9IAW@*&Ft$Rw}QO44m)(VH|q=K7WMIl^0Dsd^1fL!S3wlTQ(!Y_lMu> z;rr9!TgsJN3qiK@8YO%7O>k&#d#RhF8d4Rs8?# z11pAp#5s)(Lo=LDc-(V9eY|$je1^0YVUWI?m;w-io8~nNR!{ZNcjOzmQRv*_}{ZgG5 z2A4u@(KCH-vzk(|pWHV0_FWCJ|Hk)R^7=Pl z@tK+Ty!9h*ICR~u`#j^Ug5PcBiEkk>v zSKYP@v-r|pW0_>DNv`KgsJX|J0SUmnZ{R;ZS_}9p`{f4vb^N{vkf$gEJVoY9`2Jf! zd7lRe&s%sdhhLx1-Z3qd=Rg0uIiPi&DsVqz=#yCVdq3YF2_*mL$C$Ixi7%tipZrjz z@&TT|>#9oS;}m))le)L^x7GtkfY(w^zQR+Ux3d760Zk= z zp9Ovn_<7)iz%Ky52>cT8%YfEHeiisN;6uQ#10M!{1NaE=o4{`YzYTm8_!#gzz{i2# z1%40sec%(o9{_&{d=mI0;8VaK1AhYiDez~&p96mZ{3Y;Lz^8$~2L1++y8a#T8Q|}M z7H}aT)xH?G1b7l~DIk;Z6hN+<)c$hd3V^P!JROi9_|*VnVE*8he18q_Y~VS-bAhh~ zs=(I)&jY?5cs}p~;40vSzz8r3i~-w$9l%at9GC#E1}1?iU>ev3>;|p@UIgp`t_7|G zUJP6h>;+x|+yHz7un*V|%m4>~8-atsO~B2-OM#aG-w50S+zQ+Vyd1b4xC1x@90u+L z?gH)x?g8!vUIDxkxDPl2+z)&c@Br{Cpa#qWbzlx?0Q106;26*Z7Jx;d4J-jCfDX_F zmVp&u6<7mK0_(sNfmZ|n0Q@8HPr&Da&jDxp`FAq@$C+k6pYJ>e&U4^A2hMZg{|pEI E2ckl?4gdfE delta 68 zcmbPomAymL)Fr~nd4`z9bNehkyWV{T+HbrTE@fn3VCWEGU|<8%7C`L6&cLt-h&4DF U82$(|Fz`&YlxJkv7-=j50G_`PEC2ui diff --git a/Shaders/BasicVS_PBBNCCT.cso b/Shaders/BasicVS_PBBNCCT.cso index 263e3acbdf7f527350fb36aa801a8c576bc3c108..fa226fdd0562620d26cf25c91e7285b131834737 100644 GIT binary patch literal 142404 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

    G#XAAV4{E_!!` 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 delta 69 zcmX?dgJVaGnM;I|^MlH3Z3(`wd{)S@<#X+qdd$ecz+j=rz`zEgfp`Hg1H%qJ1_l)Y W28K1d3=Dg8CtArdGHi@|tP248`x3hV diff --git a/Shaders/BasicVS_PBBNCCTTX.cso b/Shaders/BasicVS_PBBNCCTTX.cso index a8281ffc30f5587920c1638a695fbd2d94e6a8d8..b82c4b8781d6f40346841123b67cbdc8d1227493 100644 GIT binary patch literal 147224 zcmeFa4|JT@btm=)peT~!$P`UUv`kB%6-FLHApQ(M5|T*?1VD=1B`JoWD9WM_H~

    n7e)oz%_o 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 delta 69 zcmbR7kE18a%q7Cfd3VT0^MXfS7uzO!bFs`)- X00TpV0RzJXgNashj0_tiw;KQezt$0C diff --git a/Shaders/BasicVS_PBBNCCTX.cso b/Shaders/BasicVS_PBBNCCTX.cso index b599dfc782fb0545c7e5bd4d864fc327e5c94701..0cfd0d30630bbb339fe4483310a88c1df8229942 100644 GIT binary patch literal 145152 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 VRqpu8sL#u_c$ot)b721*_%+9MZngjb delta 68 zcmZp8$MGf6)Fr~ndCE_f8GmkwpEI0vTFG#IuO1@<1H%^s1_m}DZ2`m!co`UO@G&sB V2rw{Y0L3dNTFNsrY>b?5001mu6N~@= diff --git a/Shaders/BasicVS_PBBNCT.cso b/Shaders/BasicVS_PBBNCT.cso index 869717d3f90e577771f778290179fa2e1ee7e577..15737f487bcbe3f99cc0217aed5f9d420b8c4f8c 100644 GIT binary patch literal 142372 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
    p zA%)GoP@S+>J7RM)RwwL>ZPZGpXJzVx7!M-({ssxSBdewE`|J4Ge zBn%axjAUo{mD_UE(igY#sgK+8^<2CMaSz}7(}j%00tS)|a(k#aJVzo2*%nfano3y; z=uhp{W8Is!xaA$ygmTV5k!Oy9DA-Eq)y@p*7l=(wObArPs8Qr*y@$|uAFp#?T3)x- zi;@UEEnhGm=&-LYEYj3Rs-1>5q-kOYc7d%bnH~5hD%(pk*brceF9UijE!lqaxRDu( z?dxY%h<^OOPR}X&2QeYpOsF-dj(cdxRD<{9abY-!{1~b1<@Rkn_u$~XRiCfliBVyr z0gXiS{BCb_Y40pPIPGbe5-jhbNVdiwSy`IPD+nWUMKu)>3J9{9+$ZFXi+ES1+EdZm zcRctqi92reH)&N>2X?^uW%}vTm+gnB!$*IDaIDSJ3 zw~Z(VQ47mEQWEa?ia9rwunnd~LysYgaDFUt#b!S=bP`8;;B&F~zH;i-R)~0o_g%HN zwY&$HaQ4CDrPa{~PaMHm7H`1v1=f{@mz20yzhmL*$`%#OLE~|G={*=~FD%(=sBt!U z-EjCz42~ixAH=c^JcGJl=UC-@rIwGk>zK_H@~stkRA6&=FuJ?= z-~i*)S{0~zJJcDM*<&GnfP=7Gh*r*LtPd|grrX5Ic@B3~{rQ#ifrc8gz|0OjwW(P9 zNM!RmZ^*iJ7EeasXaoVC%^C%(kZJhx?Nh(BzJ zSwj10>2UZez5;y5VBwCzJN6X@iz6c=o{CV?tvm2-3)LlgIlFl$2Iy9d-y$!~#6Jd+ zY){5GXhi8K;({K2WW;Rp$G%dC|D|8tq$D}3Jvu; zTd&um+0&JC@L#oI-AWYbmO2h)NVaV<#mkT)GIA9}G8<1t5h)^ts~{3+voj~fD-#(B zv>6joZ-;IhXV}1ftW?I)aVPfHrjyj(_Hc8xRm3_~BF(T?$Jn5~TGWMPpM|7&ShrfZ zg-$fufyg!O(NBoHf&KUikvFg*KOurW?^rDJ_Bx)@NXAsd#yf)D|1jw>*Q9mnh-c>);A2E14~#q2Q^36VE&PDMh* zpDj^ow&L;sGe@Yn@={CY05U+2DTci54^JIg zUsBLJb*@oqo~zg9Gnz|NOF8Y1lA=y0c>dcFylOm&lN9*ISj<|=$?OkL$7!!q(Hp4Q z`6@Wvq0u72gjkwd*xg@|+DR;i25hx8&;8-4J6EJORliVa1bmTPN^jvP;)>KxRcjSJ z$SX0pklKOp5TABx+7^yB^*oU&%o;PCrFlCL4o=pwki>ON@cC)ImQr7ex0HizvtFrF zJg%7JzTauQRXBGp+fq~1!V`f~XCGa~@O*}AEpo~YNQUz!VpNs3oHrFm zW!@wM(qw9IveLx*5f1(0V;?N>EYza~oTZ~JbgrUP>9*;co~>YGTj9@&HxOe|m!xxa zer9E4|4iJnX2d{dRz_2j4y1$hW4?5)b$zCmCXdQI1pQ3BH6j4m z8KRKUgT@Ut42(<+QiZKYMo#&Paf6#IHw8(%W-=^26sp*fOk_g&v&{lN^j5h^z-qT` z-0(#a)Kuyq^du8|Yj6_)_Tm2MiRn{ECkYg%uLvaLf6)W-?(|=N%i=k9{tWCuNE5rw zvUoT?&;rZC>v+)K6)GVy(Df|q3S_b-v7TjJfef=<*|H#YccEwkc&#eFx>^=U_2Zqq z=1ge@hppkf!WmtFKT<27#mNAbh4Ngh-atotxK_ise?EH34q8Vib9iY!d-@p`h)Dx4 z9?E=eR*x;77$13bgztY;7Z)q@RXnm0Uqvs}5xev#UmdwhwVWMF*d zoMsl{B@DGHi_1-(nU~v=Io1iKuXAde-^Qsgb<2(jIb27!;NXo{eZ`qC;p!F~zj@OV za$E4sp6}@fh<;ZJo^{H5?GQu@kK=rg2%CzML&*GwfB_!K(}5+~SsLsL5_!UHNz9f# zGt4;C7tTepG-q$%$gYff#gO>EvgZpAjN?F-`E*7UQ`v0HMCNr z!7=Xn?*L7`7>@LHkCy3nK1}xP7b#l&lNOG5`x=7-K~i+6Jfy{Rv>rp7Lhsk@sE$-+ zYt_)V2d8cXw_cj0k}21fkI@Kv3U&~hgUY52K@Dnu09?8tem*WIn~^G%+URh`g&2hF zeZ@OKuls}w-@c5{Qu_RfpoTk~E+M+?erANB(CDvl5`a9zusFlinh?MvZ7+;tG-ohw|+0aCrfYdinH0XM6 zfwWO6IlbNrW9WPWf%$Fla#d#uB=xH1#dgXz)#W^Zlw!?}IdUWXTF(1qF>>q#28J*S z2$X3S^s$)AVL!99V5)Ca6Xp}K_=`^By1g)?Bu)<+@g z2d(NfdEQC(PI^YvZ^!N4W>0kVuWJ*xn1$y`<{#h+ql$6919-SRi>D~HR+;)_6Q(J8 zWC>#tI`6Db_FZ?`V=Y4y*$Sw%LDO#H@r?OdkK{YXIIfPX^X_M38g&ytz?bJ5IHN?S zH9{nHs-)>eEvaKZ@6M<&;nvKx{S5&iaF1|y2e8Pj#=(7usr|izo7uf<_$&-$6WQ>*{MVaT)45%@69w^v+2Gg&0U#-xR&8@=4`Ws_Y6>1DgK6rN-YicI}#akaE zRj}?hRaD1SY&y+W8rpuc1Ktv4KmktD8%H}Pf+bvm_mygX-FrSwcQ9=`#x#6O?PQ<` z8}n#Edqb>oRvJu6Iy;%%g{jBI(3D9WEGX{AYfViQf72PfbgUYajwhs~kyvIL=J|-t z!CM3JvJT05%%!#=9lbM6Sd*M$13{hpSN2ZIaMf42T8jJ)`8p{M)w~hPS2WnS@It{> zY987lbI^R#vYjM_cFRFC2jTdy4w*G7rpqKVZH?ov@enIlJw&XZjz$Mo6Qg4nfl^gz z@X6su<3x=}&WZq?*LX~ALHuDnpw=GCbFHMobz+%1wn^FCNy>2+ADR-?Vi1YJp>#(B z(Nlyy1u12Gk9#vBn-BU9j>7=i>#leb!!;i{Tdp=+}$Tx+vJ zhATHKQq4B2n2#S%vw||N+^m4a;s5LFt&n-WX2qnx;>`*oym`%v#D1*J%5OS(9nA_` zF1k0X;#D=PV%KI>yw+xg3|DSeq?&D3F&{skW(8$jxmf|}^*1YIUawg(>92URf(UP3 zvm&t{YqRp(uwF;AD*7cg4n}p78!v6iE3+A_f(l2yvFNsr=Feez9uyuN`~2=OikDuLBfkZQrq zD6T%d5I9$_H|FvFhG57N-g!LGWf>^9(!zU4{raBe;pOEhVt`!`d9ifM_!QQkDC2W9Pz`g+DKa2!$XbEl>FVz1ytTXw<`$TNIxqV_8L=P;CC(NAL5<-uIvlFik!Z+m@i< z$!hA<0}{fcsricTvuesVr;waamsR=olSL_-Y!V3Tm5Vs<4To*mu~|F@#LAOb$*rLV z;M3LSO8iB5!lx#V9IMxtW$#abZs2>D<_#!*0Y~UHa6HHqdTY3MoIl$ovFs0Hvz*)| z9ta+d*H#+imDUA}4~*q>dMF3B`=|24x+*n(ioG-R;S^Xc<#>5D*()_PRKP-BgdHT! zx_(hr{iL!Qo0b@jXx<+nGgn?bS*gK}f>ZuVQH_TPwOO4Q7f}6~7o~ih8;;Q17Z7w9 zfam)DmO7hq(~-vVbZMS@a8k4RR+VpPD0%1l&AgL$L-B?;t%(N@ zHsx!=Q;;oO$MiVsOupp%zmFLiJ=8YVW9fkU^wUy?zRBzG5l1`S|gi2f0at%ZGW~H`Z z-7idPPe$rg72wP;Ia?&DZ)Gusbo)9;*h{4qN%333DVEEy)|%B#s-hayn#u z%J7CWYlBvXawqB9h!-BVe`cF#PqxGaY?{dA>K&#y~^w4{$JEAhxcR{T#p71eT-?~Y}0_oo}r<2i0}|as>hm>@3MRuK7>xq z({+|-Xh@Ey8f@UG+mIfP2}FO1VIN!__h)8H8yeziS?E#k8M%`P33bdgShxjYr3~S? zEm7{Cg}^f>9q5m*dx8LQpTzGZV-p}7H9Q8q^Q?}MqSl3aG^b<9rn+ru*TA@Nj$T-> z+4?V3@jVrMxB#2CV8K5=uH{T+^^s@j-b`mhLbq~17QUT*JL0fZTHcUh)?4f?r> z6&w$U^UT;2t*g#-Y+UjdOWFIB)z2Rxr`4>!zWOEs$q75>`DlNDB>;W z>8ao=QJDDwZFteV?YKWxe*iwv&NC}S{4nbRX1vw{Ga_1Rh`3#3CmLPI5M8YUF!{M@K&# z9ZIjblxRTv@YNZP-TYr#jQ7%FeZbQ65O;kn#oZ@#J7I-Xu7nlhcBVzXnG*h8k9%UR zUn1UJLVD5kaexsi(ofX_&%<6GN6m{LsdA*$jF0T2-{IJ@YPBHSuH@WaKbpqDUFk92 z9$1A9FL6w%A2dV{>k@(Zh&lC3-W8i~$k4$eXaAwpOq?@VxSz$D1uYSWv9#n&5t+rx zz-t-Dp{g|Vz9UMp4l}g=Y2xto#No+%XC_XZQY&sR9>bG-Y<=iYP=3GVP7&QhuJWDP zLQmg03+e%i;yG#e3*c8hC(Kj&+b@lgpz`uoN8#_A5+^AU`b<^%mm+6jy+!uF1Io_?zw!PHNoiw9z*aUO>bb5<1e^Oy+Fom;9t zf$u!ouvI^(ATx#!Hf_#OK8r_B@bMfhEHqZ|h+`3Hb2>6Z|9DDX%S7pYGVO+>sLhw%g)#Ybf+2SVl<^ z3a0--p>L|9Qssq8>rzU);@YSrRZ2S44B>dU&yU@i)t0a^y5oZx4hOJEg>l!}ihZiaSnl{`5FK`O z9RYUG<9cVqJ(4GaiBvjh>^^nlct5ak%VOl$SrlMjui28a)J7msm-UIxZTE_k zP#~;7`=pVFHQCNb`r*U6Josk~;cyQnw~gEg$HAvE$g!)!?prrWM8CP0#FGHB+>Ua!w- zsD9DNJGqWHvCVji{=L1k&Y~qr{m94j| z7mgmn(x7kg#-epyE4Qb-nBm#uFnqu)aU^9~qP96uNGTX45gbJ0(GuY{bO}U>8xHUU zRl5MuU@SH5J@wd)|&At>F&Xz$(jy)PQ$?(-#)IL5E zEW5M9K`#p_&o=FOsL0F#x#kPr2*Gkx;qk?!A!qtI;~}-E6*D2SD@7BH;_+(BCf}>} z3mm0AA*aOGT2MtPL0eMO1Y1kfh{{5_2P~g0pandb<;GTvs>Cu(TnaFQYT~!EDsx&m z@A}*E%;E#nqbaKmt5Jxd)?m`1b?|jSqm3ekn;*xUZg0`-qyam`a~dA7gVTstyUhjp zc5FtZ?N@;J&*SuEd?H8Oj;t&#HLESWsY}BZJbNt;UVsO_u4LYV^OO%S&aRt$LcB~3 zC=V`&92n&!d9r>X_2!u&9LAFRLUj)B8LUSlg<(`aD(ygBH6NF9#brf4V8x+?wyI`S zY0cqO11w{eqWJ4p^0ijH_8M!^8i=6f&+|J{g%UQ0}In$ ztVUwtu{{3~tiuZac`Os+Wt)#+xdvY$US%p?PeM|;H8|*V=UKv&3a64 z?i^PjqWhLt^t9#X-~?W@X$)wfOQKw0)mC-9yi`70X{gdTLe`gA2lP{FNAOgt#v{U^ zK(KCA#Kk1`S0i|+Lq%d?LY6ek$&mdkaTfR{JGjI<;W-K zVKKoYOPmeFXCEWzNaGcm3f6h~niD_Zj9ET)&ezG#UWzU>@R|@;qoHG*(rcBB+1k{! z=vt)+$xnbdD38#U{Ori^B3?A&D@xT%GQwA9B0Hb`Gt}q^vtU*~gc9@Mu75(;6a287 zwucP|WCtH|t;HvI4qi}9oXb5lL=U>6{N3k7)|B0S{$L$=LM5%qTTJ z`G29b0+2m?gwMz>H-ej4kQt3Pc;xcMRE5J7DkIBqx;h07F1l% zE4J?l=PEN}EZ7&6W*tNG&dT5pS(M5hL38*vFpe&z4ybu4jazzt zl`4QgpUcQB>G@m|!#*ApQg`Btu7#kTT%g*wBbH+1&c_=_ZG$0V%l089ZQCKC3Z6#* z&eyXR+xTQVn&Le~aj9g{<6t)zF5u|)B1H}gHS+@>MB?!Y+~EcLd-M({5YQA=A)<(? zTq2GtqAw$zL-^1fx=V{WM%uT?B`Qd^vH84`#rEJ?P08n4SA2d%lV*<@#N#cz@lG?G&%c zhH+0&IPy18FNY$|rvztDzi%92ImKv!FAsUv*cRGYBk*=5m<%e@#w$O21L5pJ9OYmyAupl}|IYF@{EfSC>4qwiXqd40M6FV8LvDrm_ z44XrRfF<_-SWicB+yp6Su%V?HLKCxm9^e8LIB6p%#2_JzM0f)isFDI#>`BHhQnRDh zv?0i@XC+35KM?ujPr^GE#S3p~hN!`@h{0`)9GF!hnpM7psdZ&dm|UreZ_pO0ZCG19 zwnG!kREL%iX?aAY43tJ7t*l+JZ9x+pG!Yv^Cb$e>rV_nchKA(C5n!lm!ND`}O^_E| zBFK}F&q&g^hK9r?N`AUT1~R zWhoVY8opHs8Is~5gScq!(ACYWaA!E%QW>&_ODg)=DKI&*NuIAt zgG}EE$Tw0wC@zhVzzo$FY4y=6!pFC}(eZM#Iww>6cu^C(p*T0wd2>9(EHBQcAki|H zni9`x#pGkWL4Hm7_K+4K{hH15Vs?kweiZ|H;iJRKs+gpA=A~$5ImJl{=5%2x1+rJL z6Yk8Xa3z$6c?t9DeP9lM(>>qHGT$mX6c-^Z$7`oBy}h#w-kObf7Ot5RHqzOWET$wb zxb^3?tlNcq5ZKeN>)FN-tX6kgnLhT!@2Oh3Iv!6~U1mKx==E#~TJ^y7y=z&F&giii z@hjc2RwzwICksTF3soE8&CZoZxi$%8yt#Blz7GH-4uw(+O?WHGuK{Io;}V(atS@qo zOQLBr*0HsyrWvnnPso~9dSNq8gaP{WS}e>QU;jy)CZ=3eDqTc-A<6RAgUj91xo`za z9aNG?b!}y**2Ov(pF&X%*3q?R!YqF&s|dAOFpot8DUKM7x0#ZZVz{Jcb-8rL&8$E^7!5}^YytEE}1mXoKT!A+?D+&pa4Vn~bSl6>nHki}$U+LB{4nQpwJEY5u3DgRSwlYK{-UA3ZVk zAYQV5Qu{-3fTak_2=eYWb^!R#5QW~Vq)#IC1zzq=A3t{QiOGlVJ$m2$r=~j~;>C1X z_B6z!Cnk?h+?zryMki!I1X}vRqBIqCKHLr^-yur9FkIk{FL`vtbpKHr=?*}I{~+Z9 z51xXUm}+3c<%QN~Z1yCvTAfGk)CYkQx1JEdTo!NRhs+hDSmiYDG?SDMo@(NBo7s1#-~s#7&6UinW@MP*rB8S8Tq72{7V;b-%x zKzRyI+4tP_u0I*>8SZiJzuWi6Grzjw4|{NXP1kk6-hvhDc(A3rqz+9z*w?i(nRxJ(PLUk2RM z{bxV_FHU?8iFX?=)57bw0=k!<{_LUO+Tq+PV5G~mpX6%;gd2AUZ`wwk^lU*resAN4 zANJw#Dvx8SFSMfk$vu&Lh)|zt$nIHuB(;HO0fQsRy5AkTspnj+S(9%xx#86j$JnWI z<7}nn^ixg(xffqAz3AvkM6La9+fBR~{eVQ>i|0{GSdzBPbv3*cZcrn4h}!=z&P&H%nM zfbR<6y8?I=z@q@ZJAm&F;Q0W~HsIwN2;c(&d^ms)2k=q=F9q(NycNJ}0em%pF9-0a z0{E!_{#XEiIDpd*yu4=u__+Z7SOBjD@X$`D0(fYrv^!5fw9|(Jcxb0*0(jWY#sYZQ z&V0L}U4`w;w;RI4cIMj+;RAtO!vX!_0A320{GSdz7_DF={bJW8p3CD_yY#7cbl)v z4c`#u-m$T_@8IUmx!X2w>C5AOICro7J%zt(&*laYJe7M7{*EHUbsKN&%L6&Tackd( z+)o3_^tI3M&r7+njT;#}g4k1nykYBxQ=8o8cjX3qKK9DSi9Waa?YSW#a5Hdr0OuWj zyEfmP`vA(`3dr#0Qf^$r_vR)fWfIr}xr2Zm1Ky#&-MQ($fz9v8?FM83klTTEWA5FE z?TXpECHFzHxA}v)eTs!#_w^0r9zl)-mIrJYuwjD@Z@#%Nf!&gOKZF_H{DItX-{j_E z?rzZEnY&%e8O$9C2^D9`0?}%jMzTh6$$)dpK>FeIVuCcD;O=fzaX^>F%{piH{3u2)#*u0HDg)iyajJS(S% zXXM=1wLm0>WqwM^oNtrU!?SXFxR-NG3Tq5sxI&>?rjBX8DrF8hjwh)r3cSg+uE{38 z3IptMW4+Ae<)M9gI2G^VYK6aGr>eF*ZJXX}P&lgsVs`P(}-z8js)Hgp&%dOLG_ZkXRZm^%hSx4>_=;N5%C zD+~(h9l2v^(jX9}h(m^?O}4Juzf*5(Z)e>`srEs=d3e}9sDBUl?L++?&)SnJS@%y^ zSC_TSo(R|;&N4kbTc(Gn%j8nfy2VL?r%k?5P@9~T-^0T)$%}`x%v(1czv(%QOSZim zw&HE$x{cfVe*R4EZ)_~|En|?fwubuJxpAg%GjH9k8#8X;Ba(tMk(js ziTfRPPYMxv$?e+Mhrc)DemCwh7SYl$rs91Ge|2QVwBg)60wtvZ$kN-lQ${n9U`J9~ zl-sj$6LM09Jns4T?fAPp#}>0o?KU?e5K2*DSd-ukVeE{wBK<+4Ock@=T!1_fazlAjnz&oT=)-i{kJCL%Q zwTu+fJg7Y5E)w0TC1^dfR-~RWF64M^2l7yB!y?r#xsQ&XWi|}74cW<9u#R=!$`SXQb=(CP>#QM zim#)SV=i(>DI=uj#SSP>9{2pa9e;O=HS7|7M^@jYGpt%i{`ZO{&~@%s`-2Uzytm~J z&=!F4F0qC^Vh!qIw~DSyW@EI^ox;yMVq&) zUN&zX<$HYg`yTGc$T}Xn`Y|$Tlt8oxBP!0}Z?*Xe;Zp*C zcH_e?e;vnLVcKUT&0V+JbGbJ=F4}Pe>3yz;V-cT+vb}mE;g9v6a>H&pNTYtkv=-7r z8GYJn04KdM%%pnUGaMMk_@w3Gp$;jJhf{~i7^!hh>MN9YLtE|=x!GXjr#GIn%L z<3|j{AXCjvWq4Hkde}W2z}W^qA@~Qkj0JF!$>5U#oHBhw;NRYSe*mXU=g^9J+?gJZ z!$V!Ji5;G4v+HjN{F{Aa?h`#(J$zI2@XgHpqEQ6tu9q*D{HwgJO{b8gO|3=bw^tJsr~baN0;<$E@nEm#0BqzAm)Clj4Q6H;Mc&_k_HY$K3*d zUU&@3yyAS(w||zo0T0%C+?O}K?0yK#PwVE(lJ>)tU6LP#znZFB^7Cn_!-4D11$1Z& zSU5l#U))d&;H2}sz;|z)2Rz_^KcZc)cK#o`?y0^n^eiJ+sLyW;{qOg*0yz2f@YMiL zU2GCt7;tL=T=Z}7X976sc>IqCaN?H)f7oTqRrqs#PXRxW_W+_@FE10zoW!^s_0S-X>*+hvpY85D7Qjh+oAePcZD3mtXkU{b`kK&w$&CfH zsVjw#y2%WD>n6%M8Mk?p=Zd!B z-(Af>%=0SseKU0*rRK=g+ctym&dBEBdB7>#tjYEa))x3IRb;zsV}IYT-j4~*hQ2YG z21U7>Fzg)QfP3rioe=q^+y{F8-nNZ5KD48bpu6jU3>1iGpK~O=XUpeayMd@ z=WiJP*WTycMvs3I74h76ST9>Y_Qkd5k?rQ(Z9SiS>4xFWx95(c&UWNJ)c4rt_vH4= z#9~M8z}90QTNXX3e64F*AE)h|xkYS}*;DPx!*>L5>ea({0`Ax4v2K1%<&w_Mce31V z9Ky%tk{=Hb%cageoaM5Oe-V2ADs-1=O@a{3~FP^NXxp9-fuU!zq`y zrQa~yI0%Puy|)d{z5o6cmIY5>s=N&=3Y>~_s=W5REhy&ElsUWH38Y~pZ^NPzpLy|d zR`1qc;YYd3Oi_ayF!2Y4WYr=VcPz` zBk-{{f9c_)z-O6bQc!C}f-ZkTpZL_Rw9Wg4Z`#@svorSr)R(t2uG;$H=W1{*2t#kiDlP(M)Db&MOyff6}UJ;%=ob~PDXaX@l zb?@Q6PaHHEN|1r?97&&e8`gY&?FVG3t7 z&qu%f?XUmFfBfY?_}$k3^URZPf8?CLOScpK3$GshTg7;V*UMmNE8u*03d=TY7P{|P z+(LO?$n*`MkI+RLu36{?EN-DZ8zerT`4OMb;TX5jea7Mzy02Q?LicTpTL{Oi`7LyO z#zuM;x-pAe=xP?X(DC^g@hx;;u(*Ye&%T&$q5FZwEp$J$xP>miLGdkg$1HB4TeY}_ z?s5af7#M4l;`J6=W}$X^Eo)<7CJuvX52!z4dZUcEp$5& ze>>t9y4@DHP}c64&NV!QvNp%~a~9{goN)_fKEgQXCB)~Ph;a)Y=Ov6==(xVZxP`LL zz&O_%5XyQT<6O66oa-x$Tj;oE$GC;=6^mOa>nlv>It%mTg$BX5(CxOkh3J8eDT`a^Y8JQ9ecIv{ z%Gv_ybB%%Ye_-hrI<8|f-9neQxP@-g;ugAji(BZp{>1zi%9;h^T)SX-FI&2Wj_XoP zw@}tH80VS>@poysW}%z3xP`7|aSLV5gZa7k!Tc{Tn4c3a#+ zSr1_Pq{3w#fbn^YuNl6D?lTs*(0$e77P{|S+(McAlOERq5V~Ov*DQ3WEN-ED#^M&b z%NDoLebM3;${I82b3K{#xu(Lng|e2yIM+^?K5yw3%3Pl5oYOO%>voJ=C~LrszijE> zw{!~~*L<07q03v`LU+vK7CNp46W>Bv17@6S!3bp?ka4aDGX6!ww@}vjn9j96rhnVg zEtIuBrgP1Y>0IMu+(KC|XPoQiOs`qGg|f!XbgnfsoomR9Tj;)MaSI*SR+(<0+XUyz zxP>lnaSPp~#VvG?S=>VRl*KJ{mo09gJhLHvKD$BaUa@ow-D?)N(EZTj7P?)?#QYYz zgBG{Yow2xu^8B9oYYLZV?u=iy_{$ouS?FH1xP|VA7Prtvm>2=HW}%z1xP`7|aSPpZ z7Prv7Y;gufNYbprcu!d_E$~pzpr!0Nh(k+xZKhrt)XZ|l(x`mGG7EHI0 zgI0-K=pu_-=yoFx7S}9vqZYT&J#29c-Kxbcbf2=gh3+N9!NQt_?&}t}(EY&T7P_67 z_Y>bjH)?SUWuDJ;&i4_zr!3t<_i2k;=w7n8h3*>`x6p0H1ef$Ibi)?6&`nv~Lid!# zEp(r@xP^}MX413Jy=HL>-488pq0IjPTH`zrq04KyW}(dKn9jK!)6ZGDh3*-PTj(xZ z+(P$?#VvH4-;th$j`KIhEp$6E7h~K)H(+rK-LS!EN-ED&EgiiO}iA|LYGH;5As{+rYvrudj|1-q+95ox44Dw%NDoL zecj>~x*u5FLbnt1H`24v4OrYlH)e4Q-6@M(=vo%H&|T*~hTqy-;p^7JN%-FnL4R+B zZ|UJJJNV1r4)SQPA4Ge-QrM4i(;ndcWeNAW?O3h7&i!Q#54(4|G4OY-;XaHfRIbk9 ze)nEC0=hojj{7(7_vaW>yo?{$XSueFv5mVyB7j+Z7;!91${PA(2>DJe@y_DMi_eCJ z5n`!JEyb<9?T;F!eM?9oZg3`J&|+ht9~~O(@r2+Z;~Et<20UTu8mMdki0vovbX( z%=njhC(Ere%e@gYqREPk)E#xJ^7Oj5Bc9a(ang7j+|7Vtm;ZLS1))Rz5Xb9zC+=@S z>=uLxeT{ENKGw;Y{ip-tXr4azE}^~iW~O_3?-qK>pD&lbmgO?^c#+`sxc6EbX@bYz z_qbg`kGj+P#?6@116Ni{Lg%N94r%VTe7q-rq|f`?0yuR>+Juuo-fwsBxS3_XA9)bC zwI26fruPT9M0Go)|waOT`< zO(BH$0=`M%1;U>;-z$xWepU`na&aHD&4ow)B=AV#cI=PB>EDMPU39rd+VsI9m-y!u zyyUMi`kP}eKK4lZF^=yzPV?6(_G5CmlZ*W=$A0uB8+)|B=)^O5*p}gevO}?eeMT%sQypi+vBFL?{(jOAA|;-x2~T&4d9TdC48AxM|nJ{ zALqK^#3}vy0nSv%cLk%?#pQ||*q=J&4DV*)P%1s;infHWkn%Jxf9%z)95IChSa5`D z{87Ue@c7jXe0N8`?K95<#&EuAq#i`i^K9}nuFLgicurX6`#x&-IFN37uCi2-FD~SH zm;g>y<>{iHfGHHk1}t$y!S#jp6-<< z84sJ0N>0a>`|w;BCFaMN@d3oDtT;dE&G`4os`ar*tlcNBv$6 zzEw1^Qx%^ksz`D$cdcG-m2md-KBzAK!;`9qhC%`vDDKzjvoi*H7aK@xUV$wvpj_R$*>8mmLh)OZwlWiF`2DtJcPY-rz>-< zIuA4jUkPO#sfADNw2>}kN#g^+oVumSKG5LVxbl4sOOS8N++S`^KVGR-T6O;=9S@EV zpz|gy39PB9GVog!^vM-|`GxwFG)#Z|r>sPlVkFa~5anpRQ*j>Plyq|HUYl^mtZ>j< z%vqKMzkkt2p_EV%F7K6(p-~QFOn8k5c;s~1YfVs(HYY3iv_dF==4Ks*xl0it=?^@l z)AgKJHs=RVr_N<8*%7dsME#|-!a1QjgS0*ILljSj_7t7<(?@FH(L(9N+TxmMF?0Bo zB3eR=Uv81_;o##s9m+XYhp_2l_GgMI;tMcy ztl$ekRnT7J>m3dj1&`!!Tk{Ng z@#xADh7$814n!?RXQknv8p0%6OH3hc55;1j@l;(#XQjqYRhq3JuT@&gri!INz^K$oTb@{bf*KA4f%OAnVxwIdF&p#_< zTC0!ZGiBo0lEM>D^Z&K?EpT#P*Ii>{oWzOKBuzsTLiijKXLcp+?#%3JSB`B(T3NQJ zB`cCFCzXvdJ3A{)G`q8&$3A4IH4vboO&cI7ZwOFIY0H}cEffNU0;N!1ffiEAqr4xf zQ_8cc`~RQE{qFtdv8#uFza&48eY7**J@?#m&pqed$9M0!m1=cXeUxfP{r2-Nj=r{3+IZ8D`DL5t{8

    IQn1EoY8oNUrzY#;N75M%OFVBg zi;7fO(i2wE+jDFvAIo3h)5nN0pGiD^gkkpO?TE|6F_$$PGNFYcltrNEt$-LwBkp{& zdg4Jbjp}cUuE4%$B=0e}l z+Y}Th^IbR(ga&WQT!}Qeed!EATxo1xE z%tv{s9m$HiXGz>>=I&R@$yeF~vMNZLhy4kg?|i>IXt4QK)pI?#fB8I|B`fub|LV(y zM4TF`lfvz5qhoRSRTN|HVZ+F$fjG@lGftyJI~Z9`B02fexuj1;RS)HQr4VQ%pZpAU zaR^wAy999LB5#&bkOZ-9^2+RRAt& z>EZ^=F6M+?T!7i7Wsw{!jo}MW2NVHN2eeB~MCX8OPgwQVD#xqdJ7qcvn&@E^5ELWkSO=@pkoQCgFbGr%#)2-&;mDQ zu%kD5^7>BXvbqqR$^_=6cGLzT<$>0Lm)=dmm#cYF8zjKIu5h498d5C9JdrxM13kU? zNbUhM#TBx=c}6QJR}Jw#Db?@OPI6UwStA|LnFHHcbQl?>T!7|^`(~}xo6xDfG`k20AA+h!m#=CIZbr_) zaOL`6zw`IxNq4+~x?CVCxu+z@?pW%zY_q$Q|LMJxiJ2tOR+3n{Q_ew?_xAAE= zQkcGrAsk31^)mOC=hH03S|MB{B;C;gC3h&9TQd)^U7mv~uE@e2NVHYde98N2cOys^ z8xViAsZc%fWj^f0o`FGnKvwAIY^-M)Z{Mp@BFN^Ez z7SJEbKkoXvwZw;m8RZ(qiyuO=5HVY&^98f+@tL?TkP>b!}>E2npk z!N0I#!LgF(s1P6(3n5Q%yrhQ+1%TBWvF%W%;jZ}Syj!aM$msnwC|2=(GV zVsqtoZZ7{uZ>`Vx4P7m+Gz;BE7JX$lej;S!N~_Kr+u~xaXCX&+!ya{leA$JkdiN#U zku^lMP%P@fA0|Ae@e}UY0|nl(hd^Y?=B z8(Dy0S(K8Dn^}WkZR+_TFHohW)kN(=wZoS}ek#Dw9f_dc8+AXTHVEY=4UybzXcDj% zV)gVYUwIJuQgPsXF{W2ODkbkG3k5*bl*+Jb777CnK7}ggv>?I>+67wfC@DiA3$2^h zEHGofdH1>&Ta`O{3XaICKx|=rS1ugQ-C6ElM}2ea%L}`1b*#!|NK*;|++F$GydiNL@oDUrGkv82u}?NfrY)IQF|tj?0e6P;I%Wp*b{k_bh% z)mq^Hk)}Q^@o1VO&J7kqrRg1!ahJVEsBl#3f^=d)5Eb&;25ylLX)dTJpO>c+^BLEI z`a~q^-KXM#3*4Fq*IG)c#w{j=;!(kV_Mi_!SR_7}*W+q=AZUisy*6A|?pdreID{1g zf?R@JFnV|g=e1un!gB>KJSP`d?;IHePi64bVS;56HLU+t-zSSM)VzcXNUO~*lchw}3^YwjCLi!Bh(^ck z*Qat};-dEJt3tG3O!lZS`Q$}K>@y_%$~}%xs_;-{lQ?9yG#I9R){ayw3x}5uYgQ9N z$R+lrSYd%jyUc!y$aSW*1bn}{sQ04F%X7%PlLOvjZ&b*J(@ zLAJ^cb9x=Mjxj}#tkOa(PK31MpT;QKivvS08Qz~Qy4Y;VQ+pxt6N{$EhA)4nvzlbU zZXG%TGaFgBLz750?#W=&v*STA?CR6a2PE_i3>D1^lrZkMNuE~X6xMpUGeLGMkTNG! z%oMVP9$Je@8i;-?t~l=)_kPgCFU6#pQen{|fi$djIVqZlUEOXvIwB7*tEaZgpok8L z4D5KHCJFg~(M5;HR3-kQS-S7Bc9u+hsD=TGxUv+x?wVNxZY=9zpGH%hC)WCo`hpAa zcj0Mu+ga$P#juSjUGnC2@LLc#9D$Nokpq!l9c3wbs!K<9b7W<7aI(MPsIwm&3wUHx zB&{iWgbC;~!Pi)|+{qx5%+S(o;GasM*><2`m}+p>N)vM`*`Mg^ay`6;=wFqEJlWeK zTUv%(o_20&5vrK1Cfe8~Bkcvz`$FQeE`GqSs2ZnmnqKbyUfc zJ8FwGyOqrB+GHphUsP|osm`|e_|BgD?z_)bVjxUXC%AY`?YLjxxs-K*9x5vf_4!(u zcA(IDz8}%tV9XbTp~qqAo_RSE<}!YiU)f@DTB#6m0z^GWPAc-ujbHr=2 zao^ZL+~@%R(e4boS)VV{;}--{epc_u>xP;r?@*U(SYzO1`!?KQoYMU0R`n{RW|P+fmZUq7k0p9MO#7+ zZn#p~J&de34Wi zDXWW3IF{*g%(0F>keOt3#%}ErdQ&kI_L$=HD6TLb(?Wp|oFcw>dSSr8^A4e#^ihQO zk+2!iq8ezihq5vZJnR^SoVhk1R-oq&Vp+e6*L}{4WEVj|co4*)G&iy*W+gK5Jo4A< zyx<>9E`s4w)qybQtG+A?HMi^{8(Er_fiFElQf|6~6@3&|yMPl_gS_+6!NP9W8CN8v zK}@|m_R?TfRxVKFkeu0tA2E!}K$S<3&M3NGEu~8o>H667^JB&(IW<3r(M4B<))Bua z{bn=;7_?ca=q>(W1yz)c(~BUMG%Lzc1+(ra&5G1KD-|Uw75jHEqJWn2xzW&u+d&eGxOPYQ%>Dr;YLn*z^GQat3!a&cIW(L_0@ToZU@O0On z3f1rwZ>kEFKwas5%1&(?yucewiOcXUqvWA0g%f)k{tOKc!}Q${Ot<}X=`+?D)VscS zm52ofAjL&N5g|@zvZqwUjX4QauZpBXo^4 zshS1M>%&?}%-S&KDBI|h%ayrHbI*j9=Mun5C4RzD=SnqxLT9^Di=S*4)nz{GvtFQG z8KNCMG1}1+qa8gNMVpcU?dlNi=!wyeo*3=u$q;R}2sKf)WM{tI$I5>nF93AADI1<2 z^F*7DIbYV@rQu*4kxbK-RG9;hb;u0cgz(Z%e^ruSRr%#=CKSvr3M6RO2jTpo=@F?> zPj$`1aTC%s8E3y1xHBT+_j4{sJq@G<*Ga=T@W1k#o$jnQ+l5Z7&`Dw0KXg%J_TjP* ziO#Lr>O*97)~k-)|Eo-avqTuiz$ukC@gz5sGqB_O2s;t`4udaK8o4$GwVj}k;usFv5?F1gHWehzeY28k z92rfy5(YF`plis|okBw-UZIBpB8?(I~;DOq=NuBab47fF2%oBEcGV0QT(og5bJ;?C(J3(CnsgtdjCU zEIYt6qvv%VZ*Dc)<#1fbbf#MF58zRO&C|i??!p;z+E5U%G`eaXx*rgW<-5}9w6m3q z&8zTV?KwS46v>t{j*HKaZ8F8{kPxZtgGk}vsR$w=Qr!oUNSdQLsqIaq5=k=+M1FI6CfJ--cw8oNbQ}S6f4jX%aERwjAFdY8G`N#djeI4`Z8!N9aVNBZ%D4 z8U38dEu6>CiQK}0{G15RykoJ<_4Rlnk%Fqm##_N@@^M5?Pa?7u`IAXR&P^h6Bs!Bm zfk)*rQIUPHj?k zs&kPynnYw$b#M?q3al_*V{4PDgTwUWiHzF1=ZXvS2%!On;#S1AQ`oxZ`RNvuzM@(T zToDtw^~e=DwOa^XkrUy#0#n$V2~&|1xrI0tIT4R7aVvo;hN<03q>7x{?FdyN)MPR< z@vPu2#Z>7<*avk?dWMv}GIVkOFu`V`0bjwE5xw>Upk?8Lt}p ztyUG@(axefhyJ&~X;DVVSUjk1In#_j?Pa0}mur9NTHNRomx?7uC)z!S{Y^^L8J%Um zl@`&FY1$(4D`?+wXdiY!^&a43Njifrr@-9s&kKk`nq?=s6l`&SfODd?u9&iHM9LXf zjRqTip?hfJC(Bd)tN&$6{5}6EbW=4NW)*9R8W+*G(jhFtmrNpJK#J@Nv4{yOy1^*r3_@-JUEB zMM{srYuGUW!_8GU|E3QuDPRnJu?IrNLyZl|fNF_XggAttA63&cPn>xKzolcsU%o>W zGH0GRcly}lh8q7dGU1U5Y#bSh@)dBSFGX&ul6J#nSbAKk+DI~)Rmx+VMSSR2BHIh<_u^!gf4JZ;wXE6?B|t?Lnrf65}*$4>HWQw`RefCRd6ofNfRbGf}fZ zY8rd;dY9)fBiI_^6<*c__>=AWl^$MuuhkhV7#;1gb{pgV)$DnTxs6Wd*v4ux`We>k zNdp@XWxlpDSX;x3m*wM?OBL?_Xsu)OQVXwa#8=S^jl`bEwwiq-S1OmPwf&f6uc|d*0oIev@ z3eULZoN5;1zh5s%)9rVLRcr1j$IbmA1rHD}x-e{5$6G%A9f zjFOsi+a^fj&$!q{L(z%!fykTrTqb&iN1_P0Y{@KkgG#$HmYe6)_J)Rq2pGbGbH}F5 z0|e#Yc#uSoBk>#bt9>J(f}-#cRQeFNgJ&o5bC{#T`wRu{5w`UlrJdd$8;&PJEoRVw zJk(#^(5+3&f5VY*jj{t2VNhCkR6v{{Ml|KE#i;SBDi>^_L7NH}^ETpXvN0U#V?)bK ziVsta{USw+e}YKB0zRfDjHZ*M!sp0wbx01bi>VZ;=jEA3HaEBUQ*&Z1N@5sTDl{u6 z#QO8di#)sGU@5{!$bJjqPa^Flxg@xWHd<&TIPOV-Nn%|Oil$`tm!dFZhU?t@jj8mPaT2VTR7pLD9p=rRzJ2eNa}`8+{e|Vl%>-d*_^{?=1pnD z93UkOeK?MmekVH3KIUY*+6uBrMzNKAi0qF=591+nbe`PDX>d;<0Vd>7x<1t-oH#FT zEiaq_OO8GYQ6Em<aq%;ati516*NL5v~IXr?|aycVzh+sxbOwb$;4< z!WnBBn)rc0jv}NXbT~2ge6*;GXVRwjQ-nI+2uBKY%O#4(6j4ylx#q|B2s})*2V@5Tnb&oq3n>45~B>CXoi-%c_C`gVyrV16^$DvbG zWb!6W$DS;$3RzIMNH!b>X6| z55-u=*=SG?>Fi{37pI;UMN=jbSWw)JOHEZ2|E3wdc5E7}-R=+)%S*)c+=!MmdAci4y2-k*-h9GP!g zw{teZFK7BqC$*+S$8;Yf#=A6{C&^bltsJEI|TMdLq3J0lqM@7v1uvt}v`H@;0 zsZzz&d8AoYZq%%hVQ;e{)uLGiK1MQ3)43(Hf-qvAAU2^^6U*XO%nBupGb<()JLN&! zE$A!4tWbs9XI3QkvYM4|vA+qk!U2uRW>wvnSyd;RRrN;A3K{k`D^e|*Rp8_0F)IjT zZ?ggthyOR%TOso}vtrU$xLKhJx6iCd>}548KXh^vW`!dclg+BOFSDvmG^^T;niVqa zZC0dOG^@bJ%VSm$#@=QHq?tY+oMux`SvYQCh#!KhD6 zEexfc0`ybcc(W}CxgU0HTck>{H6SEpXmp3O>2O|;8iqnNdO@CzgV>%NOV6W-2*;S= zcQEd;1#TT6)0Dz{SD`h0>0-$a|I`#1OxY(TWnjIs+$jhFQq$$u)UDVeEiuGB_0C}y^MzN(* zSoe^*S3kJb;K_lgQ@x ze(Sz@lurALSzW0VB#+Ps^>w*^99yy&I|5eU!^N$gZA1*lNo-7sRe?fV@eH)*k#oyY zgE37m_#8^m$0u6JiFFb};NaD!oObspPyYm`FN+ZDd#pKbbI_rdZ9PMpLG%10k>3h3p4Mzj;c~f zta~6WQGZ-EiW9yGc6-o0-t2E9^$ zovq@vafaRhy$&n|==z_s8dOV^MkMdCP#SWDJoG4v&^Dj7831NT>qNPL>hTKZ%ON+c z*7XYr>cX*n?jZ_<9s%%7AW>aYxvq*P7jpCZer_Z3J=aBI0^$r@4yuqyO~sw!J7c zG(*2hMDo@;I^Zqd$Zps?e*?Mqu@m^A)Dz*!gZ_k0C_8Xq2i0W}&*>k24fz?AHSuKG z?oj?+%U_@&bQrf$Rh1Ft>!=j2oJh4mY>CMJK~<0O)z2Wy$X>pe(TY=mJJI~;7F0ZiH^l8E|~IHJ_;4>n}Hf-Q-NM!i00T=nqt4P0XdK<&8UbDSs-7i#Xs!(h3 z7TyGi_Z0OSxnL5c17naRdJ2nX_4`o-!cAyv+uTypP+iJ$t=n0bEbv$b-VkpzvNDt_ z#!tLBP>w%5f8K1@`JSA4d3{p??R;ai+bNHwL0ZyBRm-^%cme!d)LCxcD3`VOnnI+> z=}epwUCsxl3Jf}(A`J%Y3p5ayGNLgxJ3EF5HloGN2 zgei^bA;cT{OAPzq>Ug%USla9?BORefJz9By2sw2Oi&?n+i5q1Wp^`+nQ)`iD&O6YT zuX{oTLZ8GtZgGH%Mh%Yv@4TX8q^!T)$r?JA?5W!py9UPgReE8;ruA>Pa2E!G&g0+> zH2CG?TH@iVkAx9~3LGcb$D|S`JKfXu&Ebv}521!U8C2+Bqke9AfY5G;MMZ1v3C-i^ zs~$%%7rNNteo;}<@uYH*_mU>(IxYoPzaTP$bA%AtmC#k7D&j3y>8ao=QJDDwHN0%q zPD@|tJOLkQv8bw98QQjn>6uwip^97(n~V@H9ABGUbCkG_%MiyGGbSacFMZt}r7(~u zi%BZWN~8~RqI)r&8z9NXY6E1$F#gS4T4U~R|W6PGcf*hHVn5#aTM$n~nj5h_Xu;C>_O!}Z9`+zPH zh>vKfUvgJ$zM((|3sln&B{Ol(VBvn&FRy8d2&B=Mcn~s+m4VkLLRo5UR=p!iSce)~ z|FnGU{PM9Ak6d0pb3wIuxOfat%0c_kpP>9{%bgINB3I?nY@w$godxXxLGeG)N{Lt3 z*;cdD9P>8Blcg0~6SGIsjdS3D#tHs@9uk)5jv{}plxh5Ee+KKOcEkE;!4pw0tCtTM z(k!|lg7Hw07Hk#Nm86;5kWr%Ch)fm_BSJZWu{e2{nS_o^8v8Q-drE@Jvz~D!^U3FA ztRX^q!F!WSaFstXq-a5N>e96{ADpo<4$v%7_Wv78k}{X8bZjjJ22X9rvolv$t#!j z+GyfFfnFVRO$_!n;<6dBf3VR)2E>TnmGW0nDGq7I){|LKb7K)wIYp9qidvvjao?-V z<_iZD80NE>de*sSOeU`lHd&O;c|9VpNoK~nS!o-iTWB7tcVq*>Cl^LgT+cesmChhJ z@hu@U;R$>@Z<)Mq^tE88MbeMuOLo)Wi|s2sw^xE4?s?^2i0dHEwjU6>P0A zvLDrQvC>BZ8ciI{nwJmPe6ERgI`lU7o)a!w7q2ld)oz0Q&<1)v?}FUrvSqBpi<9B1 z8EwP50O@E}Fiqk~`LNW0Ik5L%q|zGEsnXbj47gr#C__7ssy$YZBuMFIBpnk_F&bp#cfus$)`cK4iw0%82@lS&@9YX!>R(uMZ<;~|&A?WU8$uF$XCEiSK2Ro>vVo{I@e#{G@ zlHU%sB|WI_u&|hbn%s~=Gf(kzb529$3x6=mb%ewr2NF`Ed6(Z-F*T%lAfLYs$y>Bo z1OAQ>;h_=FezP1s3dQE+#FdR(){93EacPjZcw>>eu9e$cUd-_9br>$6${k5vmZ)tG z6jO>uNqijr45KAJx1mc^m0&o)6IAU2r0=R_ClNkXHjY3;b&6ZVY>k%$8$xfh*$6+l zZOndPM#Sr1Y?5b}13cR9tkjhrmXhjtv#8;3qy+3vkN`@}jXG>XwFu9&6IEfzv@;Z- z&tyWCua+x1-quBz8*=lJvKALNBc)>J3wJWe&1Y&8ae;i%Fa0y5MDfuG6aL0b*zA_S zc(x2W60&B-YK9v_(fYXHRYC#8gI*R=U+LNVP^mKqb3RUkPH2s@sKQP z1tz5KO3|vu>hUv_P3{`@1&;Ztm{a0wE2yB9pe?Csf~}?L53LL9ebDmR0$Rj_X>QP3 zG$oc{LMgzEnyH3;M9qd4&TrGhc&71@>QR+dhgB&=QQJ`ISUb3P&1j=Y;ihD90nfuQ zo85?@>T+0wHOp}Ivbw2S$-~E1yPP;^akAjC(QEaw`H%7xJlm}W;`+i}u5gmy)eQIU7HfHZ8}5K&dkwDl);leG*hRs4<#wlgP3KHq+-ZZWKWs%$ zgMC4)I97)l=vAz5wR*il(>Cq$bT6;-#PkS5QEa!62^aQGz*;tWKj{YFvr2L6+!%z} z7#7K}9#&udFqQ`ee+#Qu*aPxmtRmoI(;cQ_*9?;C{h1lhU1l50IvkS8EVk#gd!0b9 zag`I}?9t7E25{}oEMxyi_n`jKl{&8bsa2h>Z`7|KhM7F)z)km99@N{JPU2-rn^A`$ zK(KC2#5E4O(F)!*P>`6f>o`sIkVX}7na(!^b2AkfxH{j;w76R&?M{UoF!#z)&e7vy zqBm&>H^L?P3jBLmC}?8&k-Kl?V)a8JBkpp#ay{GbV)qIcNg-nd{a_5H z$@$cDoap~TESqfXjsuL484M`{xRctL9?XU^OI%~M*D7nhcp6a!K_Cq=h`How3 zVO)rt5C$b3$fw&vM@YX&W1soX4mPbL zXen>Za`_WlG7|N6*YCHG~so z<6nk>w^ze`+Lr?_a6cHbwbl^BH{wUAJ>SKj=ULsuGu5S9WoaR;ZdI%6yy8TFaISUc zFBa?trL1GbI9eDybca%T$e@AiMiC8>GN9z8G@cSbGCriO{V-R^u_+rTwzL8s^2f+* zU?8lyBk>?1;3Tu!1Of#2K8A z(-u2RVTU9@84vIYrIJO*!2uC`v~)c_At^cXpluuyi6^poXaxFq=?DZU=Qomy^HC^K z5tkIv%fN|`D2J4$IrQKMNmqtX-DsBdWQ^yPEOx9%@$9G#b~E!hOej!K#7Imfo=T@k zG|jAdjd#kzlp!wOfNX}0U%VqZHDf+Bhb5V_P3pU4=T0;8@Otex81b>4;`L}4N29`# zzl(NxDC00+aHgi+IO1|@*&6q>IBT?pA=dctfD+6Hm8mid5$JPyE#HE|%CA+YA%p|* zjiTl-*W%ZY_RQ`bjl8A_@{GL2!<#RiAXc-Dbw5#pp$Tq-+h|^gAsTixN33PM?lq*W z;NoO;nA)yg@(5b2mhH_}^MMA*b<{NIzSt+8^bpUrd>qBu0gd2fw8d7|dA}})3K2`} z|FO)A;&`q~!a9MZA@nf$)VNse!i}5|Lk*!M!W$F|O;Y7TGRfG7)Wqz}A3%M?f>|Cv z2Q!bT5P$Pj3AE@xVE^7rBwsx}B z-pN3zg4)WInzjW=aL`0-44IG_m`S3GWp>s=>e2b~L>FC)eTnj-vLMgro{^;S(V#U< zP?v~5kxPsy1U`vttQiFl+=sl+GZk?xm|~hKmrPS5(V`F}M&zOv>OT`lhof3(Ql2NH z8)y94m<&ypx@=_VANr~t&K zaOen^rwp0ll8WBM+OPTSM%s#(QnIc3c+bTolad{YGpz_@1BW3m+iF(z0@B1?l|lgj z0HgOT8&PS5P5{qQca(~x>(fj}TjMp`LXAlPIEoP3Qyy zk|I);4ny;6rza0WU#B*zF?v~j6JQ=cNM8Gyxq3_?K9ffp4K;qOL5I>zhN`WB%Ii6j zehof;*o_{q_gW2^+K06^9Ma+3Oy|vEh*@7>NuFezTmi{FrxjBUcr(19^*~IEPo_1S z^J033*?tQHdf{Wlf}g0QJM;N$u$gc&4|Uq!NFLeF;G8@2DO{kVVqVAmdI8Mg-?Zl& zY;v>9L!k&^xhJa{{U%4whgQ~Hn~irCu9h)}8ROP^BryE%#Ey%H!@#5bg71pL8lQkkVV$o*Ua5(7J z+b4jG4K*hv~wvY$~ z^z?S9OoO{pQq{zii$bM~7%n7V-g<Ebmiej{w=+&R4SD}S}J|~j#BBZuPK#w?ktsl81OKDUqBlEl)fAAMZo8P*Zw|y z+2eCQO8-0vy#AM!O4FeEhUob#UvHlTUi+h!JC;Ze0=@_EcF6o|N-w>17aqOz5`>RW z+2GaqJI4q3ysdP{Tln{N$aB22(F}Jym%jL-r@aAbr?HrmUm;(5@qWw4v`3r$N4r>o z^Ar0x2`W2+OF#F;7vE%fZw4N^;H_sPx^I!Z@zP2ul=)VqotJnCIY-XV+mLof1~7Tr zTdbV7BTan;uk~uN)a2{z^nhqY%HPIkB|94_o zqiIicITe-HS;GH&g#SCyuA2T>JwG?q14Ys=8_t~J$i{c1k-q1D(9%wYQOs&ocQ_ME z&qo|_{<}i@BeGLP#vYP?O3JV#a=0GW&+H2(Ki3#Y;eK?5R^^lVPY z2lb3jWH@S1cL$s}M*L|w9_p>*xZTD$5@y6`DNlC?zJV8BB?3kGJ}5lh4Zp26#5lDW zBJ#=2@dxxTRj~()r(XIf&Dcdx#^uyc_;jc?yByvD%~a zh@Rj%@1H2*2|WlEOwkX`NgZE>Uq+9UvD1BaNg{))q_cO|^ag@_UA<@NSjnW0jsME$%T@x^itX1_?qE;< z#?qU={Y|AeU;A40`;X&y1~>@#E+*QClm55*5BuxMoI_?hED9KRmhLS*_-_4q6`AQF zKE3e)c8v0o5yu8}7QYVt;LMAYY267u<>wC5R*bz+=Bqgbz=w75zjsJUEUi>J2lxYk z{|3giTN~F-Ar4b%7T0bzd!^Z4w=sJak%F4t6tC;6BsMm6eS~Ukyu2yN$$6jc*&-XN%@` z+bB~iooy^S-for~u@Q1$@Ol87|IfeXI7p&>N|FhcI_u%>KpDUHV zA9&w+Ki=^m(?KkR{2%1MqEtj|09P@V^1f_XPlz zjFbIqfZqoA?SS6__$1&{fbRtSPQdR1a9!{B0DdokYb?JXz&`yC0zM7+Lx4XF_#=St z0{l_HcLV+y;Cldn9PqsWzJg*s{siDp0{#@>PXqo8;Lig79Dr*#p8@;@z+VLXCBP2= zeh~1N0e=PXLx8^u_-laA0{%MSZvcK6@HYW}3-BX=zYX|1fWHg)QNZ5={21Wx1O5Tv z#{vHk@Q(oh81PR3{}jM=N*dTd2mA!!CjtKg@Gk+M2mBP^Ujcp^@UH>?2JmkI{|@jo zfPWA84}kv&_)mcU4EQgA{|fkT0FH(J2cQjjHGl?w58$JlV}soM$src-m^LrjiVWBXMKG1hd1jPYdxM>O;(wB&Uk0Ci8Jey z@g~m3**G3;Mtjy9@Aut%>%Drf8%)aQwbuPEfxtI4k_XYfl1J0eCxckT> zNZSIOk#6U$W$^bI{6SWC6@DA=`#vrNl7{T=^GIjf zMuUL`!T0(9N8Yr#eEM&-N%v_Cf3HnC`SCd4YLiZReEOSh(kX{e|9+cv%Hz{}Sy<-s zvJ&UUHtDPvpZ{ZR(l-U^r^>6%m3nz<%AKk#HBXePU<-jvv9Kl@qM&HKS?4hsEhU?i+lidBUoP9XFb>x!~{ z4)9SAM94bAfA=jYCWNzYsH?5W6vA02#NWEvxi#L{#k$yz`w755=Ya@W2Skft;9ng~ z5~zE^PXYdo_a$)JEaA@pPJ87=@xDXDz~ycDdlugcgCJ}aKah00Xdt-y5uQLeieCud z5BRfyF%K_K=PtlsB!GqEI)ON^M+hg(;L8SIBbHY zE8jOi-zYa5$mD7I`Za_pG$}Nrb<-!x%gwVL(#LBnOHJ}bYwGfq4!s-w)0M_bsp?LQ zADOJxmZzGfdecYlUYbK&uFsY0CrWd3m8FGal_du{l--O6bkZ25RX0{C!3R`V>SN{R z`Eq&53W6(8k%gn9OXnQCRJl4;xmZr_9yCvMth72&QAb7IKaD!!HHu%@CjKGdgi&XN z`!+#UpQzV9;U1_g&7CgKHfwdaOs9Y=i+dh$!m{w60XzcS*YdNL|3!qm4bCz>{GR}x zYlHtK!28?4zXJFW;BXhh`x}V!`Z_}PzbrST4;wpKuDbi`mGV-v)U4E&+`Xm7)T3oM zcif|1-k+)$B%Z35mKyW5`eGyO2aYbyl~*0Abl8b;#kK{bx9e!!P0XqD1$-1g^5gwf zOdR=NrGv(m<@rm16XxN*&A$#fvk=b9>+q`pQXd}Q!+#I(c6IcB0v-WBTX)|BoVv}z z?_Mg+RLkrWMIjHJhUFh^Oq9{aoTkxW#A@z4SFYD9bLA7IdI|blkdE%~Qf2Y}(?hA) zFy!BjzJu2qngw-KwD^MWZKcah+VD=ncJ56MqHtwxV8bX+)(bdg%Hn?*aE`&e zK0SU8@Cfj%9`*rF{Xk8^?*!t!P9YpYNH{MK|2W{Ih-c~40YA|O{v_a!7#u;|E}sK@ z8SyOtF9QAq;936v5#VcpXUqMkfIka(mjB-d{Dn4jei!ghw}F2L@D~9mKfHV!>;~W! z#63UW4$qZm$4brFvxiGFGjxU(40_OzhFq91QLZ*iK53XqC#t0jaH8lqrV$&jRjX!I z>hozadKtaEn@87hxVn6{L@#*%;;G7Fx$ahu)y|a{(fTd-^nB^j@|=w7j-!#oh8Ltk zpDZmclsy9lw?La7D=*Q5`|(-~lMJvZOIUdWnU}+T0PaMU&PN z7VdA9$7_qrE6p;;kLCJ(D@{bkR_5oy?T9IrV<$>DVethS9yV9$*Spb|u&0#4KX9ss z!*Lb!JYn(K%plVDm4B&fb1xa5x04(v5x92WT@{5n=>EZnrdNjdxB5vW{RC5{sY4=- zIMh(Be)68NX_1_e!?kJDbAh-2Ez0_WmG`>c(@uWR?rD>MYWGCrFh|D<8{As}9IMRM zYmM4`Gs>OZ6Wu#GH5sY)BI>eIE!U&rp@Cs{bn2et+u%<~kH6RP^OyJ3??YelZ#)no z;mG3N2mSqr44nET{7*7)=D8YlzMFwlCgQ)9fm5CyWFnkp@gfa&(S&mj$csGlmfad* zC+?d%dg|zX$KBZE-Nz>$xclfm_nw;4$kF2yN5}7;a>wsGdF=3{8^3SzzLW0M-4Bl6 zci+hgH+6d2yV0W)?z8tnFLR*BDrOm@RvrWL!3%7=NrN*^IHOl1!&C-Nz4V}72=__E zCwwbz2SNs|}x z+0}Ts4U+`UuEoPilNa&f@>CC}r{gLy#m6ew8u;vIr|!M`!PO5z$I#4Ag2*TCbzKiZ zyd%FDiLO|-kKFgZ`#kW;r@tqU zkD!e0fRjJ+w1D_`BQ1lp%PbRdf1k%a%OU*B!9C$DlW^u|ng0H&;GSiAILq|+EZg6+ zUi>|E$b0g@x<3nZX8H)!`(3Ae9=S<*>K=7&&HeOv_`|s3su=HD#lH_Gv>kaVQy22E z9{P;dhuwyrEtUrG*1Fx_@^_-A4g)|wna&Ha4UFGzaoh?%_4E8wt@wZm{*8tY8LlRM z>g`Ck^23n%^C%`Rd$XoJzd_T0vqoN+51d^6B>qyCkOt!uklm+|N5XuWy#I^$rSlJ)Sl1~2xV5{kgUxOSjJ(p$Xafw1!?c@&G^vvyZ7fIwdYq4Koix2& z3r+CAkZGjp(}ZS_Mw&iNXjQDd!|iL4@Jd<-oVzwpin#vbmm;wl-X8%D{Wtw@ z_bC2kF6R4kn|vFe(tPxl-J|%ExqjXJ4$IzReNoq_A|0u#4$&Q6O`b$9gv2Edxnvs4 zW!h=@N}slqI7oXEX_TEdMI7e)KEl(eH|mph!ulo-VSiw-ji?ji!&YM&#PjvMwzhT$ z?CpJ?ub;ED?osDHwdM};hwO57k1|;MlKyxv;h-;HigYCxtp1gy` zT|WjsnND2VHfeyD%|RYXBmOTf{^}PQe(VD;&|ju-n2-5Mhd7@oKJ?Enh4Y!-e{~no zH$7?Pdj32O&!11H&R7oUO8-c_&uq~$yGId;FX{)nKp#jP>fOuZX?R(Y7V1an(}roE zY;(tumvzfHL;6FXmu9L)7oqM`W8$%lF#n&lA;?nMXoq3qg z&yeN${NyXl&p7k5T+;UWh+}+8IBew;-_z_GMFedMv}Mdid|!v%qlm=qR`m}*m$GBh zO5-yRuQWdSqTLh!=X#XS?omVx&xfImH^Lv1AM*IS@B3GykWt1|w58AdyxKd{Kl2NE zPd)lF&;~ZrZi&lr4|$aPuui~ic{@kVP~q|fv`=rWz-9Om7aPM7w= zvV55giH~aw>z_KVXZR}D!+7`=_ypWM; zC`;;_{DYU?Fx}H$b883ukHmc*-qYWETcX}PZH8bR%_;@)U+#gVoo{Sa}sSenOytTLuy+8;u%yjT~!{Fst$!{?(M+mS9hfgDl~=0}MC zWy{OHgZYS0{)m4IV8nm^YNgM#u`DgnWLw51?Uy&9zDNg`_#f)d>zFpsJ&Hfht?~C; zZ%p3F2(DCJ5&(MfScW`2X*`GJkhbrWy#ARNeNyZbxN&Oi?uhucH!H%l#MioSQn9ybRlspmxr@#+6Qrce&WVuJgNDK zhby(FBD@+8pdGhq+Aiq{?cg4DwAJhN_O%2jb#FGsysXo@>BRHHw&vwy`JQK~XOjbK zM{)U}A#Ezu1!;So`8LD+o|dQ2kaIMK#*g^wFui*eiO%t_|HbXv(<7f7F(+gh8$T7{ zFBcz^@|f=1DASq7@|fT23uBeFPXQ)rqv`PqVH~6I^7o#G*P9=&5bnn-ybpCu9tiWi zFziMgwkQ1_?^APDt9y@!WbsJ|W1I4}Kp5x4zU?sHHOjx*cD6^>9?^DqvF-Rv+QvHR z)RVNmb<)W*)1O=?ow|=q&$tyo#XS6xKhkHr8N*+~C@W!QjX@OBmQ!?r7Q&8|Gp)T7sHySB?bq0C+<$P@Q>o|dQ2uwB~?)4NB3)i8~g1DY~+B(3K$er4D_sx&ctjIYy>&-YcneRVpA0y!81@t!`6KO~5+6MB%H z7uyRHc!7@0`JzGW}-A8K#rI_i17`R*v@x-J?Lj_&@mRd<1m( zoT?KZ(!>w2Jo4+Goo(EqV|Bnb{Q>9*pQAv^T+G8dr;ho&i+IdK81>pcia#md*6#A@ z!Fp}LyQE+Br17qLQ{L);vA(^(W7&jVV=xv(+IhgJv+hy+Ny?T8CIDSiM~)7$PAN05 zsZ)nfH4%OTKk~#2cIy6X{8*2qPke8mxNW&uUU)G-<)>acT~j9}#@t_a1@AA6502k@ zYjkYtNOWLeXsCC~jT2KO0A|TAeN8`=jEm0)-@AS|H1HZ<)_?E%8><2M^-kB?-&n=` z4H2CEOoX3*Fh{Xz5bQsg_TKfwt%2?`m8 zzbAj;L%;v#f4ucS`88`9e`d#^U;pt!7L+CZUi`0t2LAHT{_@XQkyEeX&-m?U@Dg~v zab~Gfesu4diQ4Q6Ur=wHxu?=RyE1cT99st;C{-UV*Mr*uec!opW~|hx%$}Z_J~1|S zeEig@fwR>{)w$W*&#VMA=VF=*N^=%8&nwO3cAz0|pf}FUkmk9@^zzKi(rmM-G~X3A zg;eF;Vb5s2GroR&rPM6fm#`D)U19C9EV=gF{Y$)XJNd01xAHSx?)U$Fm;3Z@cDX;B zcW!QXx4V16x&O7V+x^Ew&VA%Dyz~9DU2g05y4^nl{$ZHQAAhIYP5e9OKJ;(9+zWr= z+&}nyk1PLg-R^%M>~_na!J1M9c)PpYnAYvmMHx+wC z+eHu}79!mk0~CG5JxnZO!$q~WQXfL9yzo90rsgATPn@k``y@BUNJM6_6{EakjjqRJBX$@E7n*oYQYDs#x4+T^e&R$M}$CVOi_4hzxDa;?!H z%`9Q#3Ic5FUa)j-v5EKR<)pNMP`CZcfx=9U9_A})VD-X94^u7nYdscnL;cZke>AiQ zg|=|8C(U9F2+^TPwvZLvJZ0)lagIh7G_b0) zoaNGN8M+87B4YPgJ3q(G!YGyTYz@WuK>Q9jMWgGhmlv?fwOr553?&_(n*C}q@>}`Mjujpy z`}zTgttFK2j!!O0kMiz zd}FtpG^KW-;vDB=Maayy(4`f~I+ zy0tu1Lz=McGY?3o2oLYS1mTns7RhnEOFf_|Os5DJ@&V!f0mu0$y}3P2B}Jn+lF*1o zQZ!8Ld?>)jQ6R{x;$>(Q0|BFAJ8gMl=`#sD-IP!%<7!I`s?VNf;3Xq(wEC~v&4u?HeV`0f3g>fRA(9# znaEol+OI{1O9VPI&QgtM0bm4^;&$r<@vI)T)ox<{j;8K3P!TYpl1C|i0U+a;{7i?8 zc$7?Q3};OVQZe0R{iJ|&TGt}{O2x1UEa@5dE#rN%?(=8(JZ0nlkk5T-7Lp-uQPQntD13=N`4$O~u=v;o{pc=@XGF-565OT!hyr#?=rb>&;IP3x^PBqJ1YtaMi zLcE5}5jmCMKU-ar)-XMPK6RYkB!-X^<@xFOsECPDvjpRX^PRcSEMsQ-W919C=MNNz z3I|3C`}akcPi1hhaNEefpcge&Llb(cNZ>xC5>ieCO)s4%bKHo}9QukV zDh7FI9jWt3e3nc()|Cox$%!Q~va*)W!~TTTHzg}~sJ=NpzUAQM>*vlWRTHTpeKW7q z{N62M6NTuWax;bPn|sdEE6ZGku*kVtEVabEf^i)t_{HN#_Z;pB`i7C6|nDqeGbTgBO-%cEQ_hd4AClE;qwj9rD#7 zS3Qqk0ly-CnCRE{1shK@1i1~zJNs#nDEOZPF6>iH9@7q7JpHeNZRG}y1 zQW!A|PV1D{dVXN_5KB#6$XYuG^?Ee~*cUDyqCX9<7@I4f&{zL3_~4b?`06I>ft>jw z7G!u04z^J#QcXLK+YrfQ@n^)R%`lIL+*W>!!}cfLrg3C(Ra0exKr zy5w3{qmYvbBCYD&Yn0#%B#`Sk!ihe@CJ^0a%`~^7GN7(5?tw4Y=1FUiC1YK-LY2%) zu~c(M>fjFaE?lHws6*VS9))aFTCAyn7yH2N1t?N2rB*aOs&p5qUY?~D!Hk-fgt_y94%xyKXhb=3yS%=NGarbP@{Wy%p}CKHKLEl&Al^XI z^JqCxJI&FjWqX(yi4`hHtzAltbKc_wT}YyV!NIxm%*sLpPb<%I;3hTa;GovZa$ux6 zv4_~yv1p#b4V;1D#!f?9M@tSdNhxWMVO}VzK-(DCyj)X2&_abZxnhT*QO!6g}*pW%gS(T<8yL1#MZJObEbIj_s#MLuZTH1vR z=he&h(|6k+@A~S6ln)0p$~B4?KZIlk22EeNY*mV0EfIrM6`U-RN{q0 zvdAX<#f}w)1f~T4dOlkSc>-7q5oZFXBou2nFj6cG7Y-Dny%C%~GsBmZ(EU-@D$WH} zCT)kR!TqTp7IFNJJespxaHW-ct&dKPjtx11L#0)_ruNEn%Z|@2#m&hvRZFL&7*o^+Hy_R;4LQMl}*+}-O`BndVyQj%_>uM12d~`QcF}$ z+Xqr$#q@_lyU+X_jgSv?pnIUw-6)CJno(_%;o?Q{Dp0vxiR~hH3kYiyCCIYdA@e3C(NT1MZyP;)!o_s4#3cF}B=H>N< zJ#?TTK`unj1vt%vrm0w`)k zmWBDLR0#*gyu4MQzzXI_OhFbcNb|w~Qzg>Yp_a6>GbbknUc$+dc*^F@Gp$rflnetw zi%!^9Q-GI2n)K(Y`|`g}(u>Vv*z*5?a{ETMao38;2l ziPP}Kp^9}Tnl29Di|3Q#Af@zssp2H7T9g(inMCM7yp&t=rD}Cx2?`_2zG(kIexxuw zf>(nAE078~2R}vjJ%-N@KPX(cdv=8}Qs!~gz(vS{9vdWO!Gl9jp@0Q29Ic!^3mWKj zKy8T7o>jTl2s|IsX-Xt^q)FFlMJ=sVtH>|0bVsjEpV|lpI;o})J+w8<1AZCeJk*$F zSlgC0Mqn!Qt%CU$b^uC+k&}Z00hIY0bi#2E**slI60j zfvVro?ig6{0*`vR;3*^weQ)?wQU?yHL2QVPRuo2k6&YuN6AZE9u?VV(HV$lPMBS;} zr;tt9R!%QM>JU@x$ZB4Qg^AF17&S&wUmO^6$?%rwfN$5fOmqzo4^ z#7uFvxQEta_ND~QDCwehNPfJnvs;v(&XiUbTO>%gTAj=;Z15WTfuu%Lc@|5nGX9pa zm~}>_RbT&7^T~kGtIkY`0h^`wJyy?>i9oPOl)=GSJ&Zn@g&T_+e62>DC)WDz@(V7& zyZ}$DFA>JQv@~q>9cq-of%AaE;RuwxsvL;)>L^Re(_Cuu3705`4o(i6zss{PR8bUp zWL2bUQ|t&6(2vKy#>DbY2ARair?Y_;jX<-l!oD!o;9DzY%&Fv!Q@<|Pz+(u!>&eAF zdACJgX=!nJ+PS5RP{X8{sAI1glq2mm;qC%1*h)$$;|?Z@>}*4V?o0Km2Nu0nI;-g; zFIn4_EV+ZaNN2Z_nO&<4CF4eIFnGnszuEJVk9@?N#ELLUo8aO#t>YGb=91GTNSLfF z)F*3U+JVCA`FuokgE7At3_FgO?wOafYcAsl`IRjer=`l`-!L9^K+W1yAW2BV`hrI? zNe(_g;A0i$5H@@UaX!go8Z6dvl;qdn3VTFaZMVK}5frVg)eF9<7p2?weG;gP!y|vP z$cJPV*;;uqwf+{*5E68bl#`J;R_J4%$ddK83A!4O)t|0x@NHIPsv|FKGu!KF>#2cJ zX|aMNy0Fd>kImM*V+HX=2lx-}2awmSQx6EF{HRou#|;HB-j*)c%7-2xC~#y%tNn7G z#7m1a{BTcHo5k*l1~);RD^*wU!nnNG?`=_yh*F|bFpLjZqT@AZbyO==GdU>_$dI-z zx^I4>8j_Zq!TtO8751T_g?aEz6BZkfK)p64jJ3&?bJb@1J6Zi~LpEW=_lU|01dsyI ztZdX(gE?tFc0_ zps#=1V4I*cM6b29q!+FGPnDK>Y%V^-3L_mYO}f&!z*L5KP;OIcWKzE)m85?_kI!_0 z0dhcyJrG@rEUEaeg0nwbh*_0?EC?4*P9)XmE)0m5G!yoi;`6Akcs!4Lp8hluiS4hj;~gs2|JvdEFx;OW=GS zOzk1J-0V%~M)p**5}o)w5?VXY_y^EZo8pa8(19@LtA1G)W}dhSTbh;eHBCQNZu$*Y z^if#t0uC+6#DEZcwZ&v{Q-m5Nyv~GCSuTUcr37XdexzYc1J&AKTe@B>WU^K$U7syP zfH8YFg4zX6%5TLip?1XYOTWqSyjqEWtwOtU)C`r0R9x$16=l$X+Ga&+l9h%MlzMKK z&p2g;Lt7YV__4OIuEn22Gm~Mjn#u*1HCtQ4$3$oFnW<=5zNCfK{A#trPL%ektY)9# zs-gO2aowE~8*keBz)wiWp5f~L0I}>_{gxwpgNNAXYM3~t_t}a0<8>q5zi4kR715|< zn_~PXQ|c9`3Rm)zB#hOu8wXb(u*9g$SyW)WNV%+<9W-%QmN{dgN-SL`vLB5i0~OBtfVXM1RMII|8)d!AT4(|9OV7|U;+Lk?I$P~c zFln9{%r>@0nl#M}=EYX4Bxa!%vt8S0lFON)hlf5M*F2X1W`;uuhm|w=5JG1=QwSmF zv$kBs%SuXnxP^8AG1>vdXa|sXw5bX3oo}HXK#X<(G1>v7g*I!1mZ(;;TFf=E^54V* z0Daw*70=5&(Xz)Z=G67Zn;nT{mae379C$23XLwBr5A8HIoQmZo=FLnfSi8uOV6*1_ zX*8OER6D4yd3f9uX*L!NaP^fLJCnsDN6x;sl9rvd(#&8v!j|&&bh~O%+VhOTM50|nIZiGv8jm(fvOla zirlRC0Q&A@HSSBx>ArbU5}~K%%f|g}_SJ<&n)*n!-Oz?KP3*ufuvI0qz1~D+dr1Zx z0xa@nKyRf*+ejWaGDERV`>YDlkKfnnIYs{oD2VaKVG?&o99&O-fbXE&{V$ytXR#J^4qbX+=K+7bpuYRbx zNm*%o%g7=*RTvY;Zz$om5#=CiVtGeO!W~~RM~bw;v}outWD(AfB`(?Q2M15$NDq8Q z7T;Y?z1j*9FY&&s*0z>+{}K*0c(k}Wa{uuo7|Y@fSiZozQumS)_wsivTwd9tf>~%h zE-$?YL+ynnTMgA0g4a!Fu|Ugp<9>|h@Nyv~VAiQAM} zGe600R-F&oiF5_tM@?*M9teoR;SJj_e zITvWCE(^@;z*C!wwU0zLuk*UBTW9fP^o>Rk;Moi^%f1(*U5GWfda2Qvp5Z5>2j*92 zr*WK1+{}Bo3=Z;#Eip@IA59$&U&hygZyU(pHgMa%{6JxNc-T`BO1gCizHPp;Brj(- zZpQ%Kit$_IrJ4B0Ad>Cz7zd3gy{oW@k=DWkwR#nsOZ=7Irxa`<#eTnJqpNu9b*a(& zE5#JGWXE6>T_Lp-_1Y)c6(su)hx5TE-2K>3wJuBK=I9dE!y08>7zv2n7VH4cup|^= z;28x=rK{DU`$3_herIa6YBY1Yd=~zzI;2~P0^L%_p$y5kO{RDmQbdL?gGgrMsVE{v zB!3x10&TYEq;P2>!+|zqBI@nXZR2nnxQ~_c7&`96-dc2$+S?v(uC|I;r%I$5R%;j= zv{s9{knFRN6c6iG3%AgTM%xg%qCNTvk$12kKOyoCHsmKnu;(3%W!_%LQX0vaYS?&( zv73B7BF8!r843JJCn6_15xFhcliq>Ia3^twLsRWUq?0%)7u1PJCvk?u?eQImbLL%?{rXnHo4$i4ai1@Q5%8h1Rz9_dv!-cRVrVgrTrS?uvsz|848%I?LHJQwG+-uqS ztcrvs==>-qVB>hlN;Xuddure%6}LZVq|r!raHuRDUs)WlR+jN7ajBdpl`-!^=zP{u zK8z|M_VDn29D)&CDc(ksw$Ij=8MsRd*1X=*8_-Bwc6={S#fJAzk@CvcJi-x!No zOF5bS;psT7bt-xTH9KErs#&TxNiZRnrWSVhm!x(Qi=hEqEzNU(c7+gs0KzN8xD>ZEkM;m&c$O+6EGn}P)I}i>|*0GSpb&T`* zX|0-4Uy8SsgKe>1sZ%_znBczODZEuUdp6rrQ`Eu}fl_B5UB>Wynrkg`$_+?{^Cn{= z{nDSD-xcdSWFnk56-H#f9YH+gL!1@sm{o-REEb+|OqIsO9qb+o{tW)Wh>6@Od zU}Ib1&x$t?V^Wu-b98QcWqAK|+_I*{K&DqlQm$5x2Qk$|(I=zbcUR>#(iQ{og03g0 z%?~e6&XXm~c(tLwQ&Hg^FZUD_u&$Tr2pO{*)h#(KqM!CMQ8IGvFTECL`BDuy;&D{z z5`!J>K8J;=5_Lvrncqo`=*To(BNB_PZw%Il@lWG+f+guVx||Githo ztod6B@t{+#VOg|_T1+&B%*bUEwu3&5aB2mtg(v}jtxOV+A5L(>d!nTYhbuoxp78Fn z2^Te&aV&&o{lYuQkSOmjoA7~k2G$`doe z$FWl5(deX|4H`{dXvoq~VD$L#0Nxlt!%a*#xl^De#TYF&1`sm-sIe9u&@AzY5StM6 zQZqe%-|@QU?1*}9-lgObb>%}`iej@{ukXR?@s^K zw=AAx=MT3Igfy{REQ^QZ11+#Dyp9L$U7`{a16|LuEC6tkEcn}z0kijsDY_?727GW%aFV=Fs2&|=j=SPiVZ)fE2cl)2{GNkX7rl8=!TbBm#x_-3B`zX zlLyR)%z2pbl7aD+bDCL*moU^UFD^GYM(o{^Io1iKuXAde-^Qsgb<2(jIb27!;NXo{ zeZ`qC;p!F~zj@OVdbi-2J>Sy}5dE$cJnNMA+98M*9>@6}5jGVihmiRV0sTCZrwvQ8 zvozQhB=UsYl9(-fW|(oNFPw{HY0lokkzE<}iXriRWzQEL7{{k(sW|@iY>}Mj9(l0s zA<$D1Y-f~6%GWkQ62W?B7pcU-=|l<;eKVieiEiPMy-HrUWL7H8cJ2C{T8*$Ud6k(a zC@gsHsK9sssGv@V0Chgzr{&-tdjp%|+3xLikK+kYb>n4{AwFbhJ)Gd^oX!X0#A-xU zzOyrGyr?P~YiOlPgJazD-v*j`F&ydZ9xc=9e3TnaSw78PsxH}z8656^MqgMfaDeGI^2+D!bAZzVZ<6)XKcFD0%_B93vf~4qBc}R=t zXg!8Dh2F2zQ5~tu)~caz4^G_(ZoM=~B~z|TAEOcU6zm{02bE15f*RER0JwNw{Cr$a zHX~IiwbAB`3o!`U`-*pf-u4L?rS$m|K@GP#T|#u(`OFAIq0wLBBnZJYE^OB_ zl;zKNNcRI!W2zqr3|7d*ap|`G9?;$`f$s~q>7x$9sJAYqqE;&RAyVQuV0>W$cnhN- zWP?6z#mKP}7#PARAW)`R(8ppbkCnvEJN#1y^8?zeAGR@Q>WX&UhhkF8(&*b(XX~DM zGa6|Q&=Q6|Pzi3rAtanq`W$Q~?q7!Hwx{p5a}2KNLKQXjAmh3Xbg z>=(D17tVksTOWm}AGE5|M*>~MxkF^Xp0AHSK;EWQP)(DZ*sgkA>wWPNBygQ@9gj+M$);9!zz&*m*9l#>98VC0sruO#= zZf5tc;j=Kb4KeO`Z?2`OlQCL;6lI=EGoZ%Qd7xnP8BD+2eYHYMHn$2F>u-!rRj4r} z`QY7Utf`#@6mNZuRKdF2R8bw5vFS8hX=wY&4tPtH0R=coZyar#2$paK-dC#mZSVOs z-NCf&7}M}AwUdD&Y|Ntt?G3TUSZOdN>Fi{37p5K)LsKSku%NgbuQfGM{7q-@(y?kx zI-Zb{Mq-(1nCBxl2X76?%Q__MF_+qgbo9u#zU-J^$@Xs z+8P~LO^l9R1WHwhR<;N+O{`vMNV^095--j zIJJ-ZT={He7RMvS8>#t?ijeu%W;HC#x3$v1l!m=Iw{2F#SK6$Q;nK~DRI|-0=A$jc zvDp}xSKO?ijL;`Yo6uGh>f)U=E0nNavtrU;^JWDR-o0i;Vn5Jk*5sG_K5Iwyh$)>Av{OWshiimKG^SNpmiTlZ(43OEB;^)Y*Jed*- zDh3HJmMTl}^XB+iJ}w^Mc{6yxgaIZF&R42jG!S`tL<}x0h4{DN!joF5Bk+Vb7~(@Z zb@TRmXLE*Yc02(_9`>{)O@+qdCJM!JCUtO%5#mv%lrNr{($%4-(4|rAgq$x&)G^58(&CFCmiGguI?qurn_#f*sg$SBxIR zJQ?pt^X(l=1-Q;bHkR!x>}7@foE>`Gh@Q>*J<#^c;<|rMcR9oH~u&{8&~|Cls4M z_tE=2viCh`15A^T#I__Tc%qUz^?-!%Xlkyk`>YzW%_$`3(`8kD{bW&!CYuDpdies* zd&6NHc5D`p0kQJrRdQ>n0r+&Ku@Zj~p70anM<#2vW!d`^pd0w^r8xtNU%(N1bsP_J z0=+fdJIp#%!^_!&J9QC?F$Gx48U`Jf6Rr@LpBUva-K?mVs#$Pj_F8adAc;uJvgb^e5=Yg zIGDV1{chgLyPdLC&YXv<0kOK!7%gX6VHd%<`(28f*@O;Tf%k`x)PV5KUI0&$g zQ~N8cPVkhA|BU(w{d=+d7ScO(S?@$7c75xhp1P`@AB-0IDh zB^mSLrAwS>zPK`b)_=la7FnxhEUbajiE^`C-@9B|TH>%f*O2b55iONVI3OLY%#=_R z%C60PLeAW(G)l|MObm3wl39Hy2CcFQfol4#gs>o`9F=C#Z{~~~j~#{ju(g%uwNz`; z#F9>y+Js7*l~NT$_eQxoZ{06UYEMS$R2AUNFgaT!sc&U5g>>sWNZ3oI6-n`%!6}x@ zu-2;8O{${m)a87=wkR5d$I9@AGi!rZhH@w9+K3k(w&a0RQ`UBUg?7$7zPK!hHT^`n zUdydZgS4cN%IDHb@r7hIX<6t| z?;5_H2nlt}G+4L=VWkY>xGhocp83EtCmrYyu6u$2ai7HRBx4gG8#O!zyz`8Xk)r1L zS~RO;$%eXZY1hCwf0kZYu-W?0SMWU*e7FFcw_w3PIIiVPW%ZG01hD{PofHu5n&UW0Ns@(@4Xy=*bBYv259y4BRff*6G zsM;AJ{%HMtXUS3GB0i|OelhE$B=n`PyF@8G43@>DgryK^Ktl9VOeYPHWG_)V)+IXA z%X@!tbn2H4no)U3>6#Drz3 zcpMqeVXyFEyjCku|8mFdWgF|mg4Rcy6vz+ zDwo0vaof`(-%JVruE#yG)-Mt7E+M^O`Z&Od6zQjGf#+c_kE7ZC7$`uOCh0;I8x-Zx5`(hL<>|)DIe>2X%=+e8jB!CGU#OH)QBwk+bhmY9`JZ zEZooH^t_gc!&sVfrijd9W#F}p<4{$aIo}bbSce%}|1^GhYW(oT-P7a8PpK8R7LVac zF19}OCn&$qa;J#yAy>KfY@w%bp9S>*Me(0lWuzi$v(p?!8{)~*iY+r5NV;(j98fv2 zzb`_=azd!+UxhM@Z|~30x@p~LeQd=YQK!|*#~IRDbU_5;p;%jJtDvqVt+}-{N|YOr ziNaw-Tu#hbnB2-tijGVgn=<};Kt4=BIYS|n$!BM*7D7qEmnN6ORsN(Q1;Zlnl`IjV z+e=NpEK7)v=1>XZX&!?fD4CNppdIB<(oH6=8cvI#0h zTtA0HhdC<>`gu%*XU{HG9>aH@Y}l$FRFE0N#~La;%!dw%BJv>iK%8r1s zvQ$9^oHKku%AbQ!9MY^SC$m6uV-Z?8N|Jy=3J4YUy~=E|a6pA&K8vYmiEGAW^3j!L z7Nv7uf2y--X27~xsT-r4sUDhl&<0|koEbrJJ!^_9ow4S`x5Sxwwy{x`rO)tC>c^En z8|1p)qKS4Qy!RoXX|loIY}<;6$lV-(+E0He(HIkAVWCb?ek-IX0;`3jPCeghQk3Y zQeoV+P_|Fi7|U(H45Gu1jw8S}dR(ur^rKVMN21ts>x~Z1#ceG!vTs*&q0t8lYEK;1 znv@UMe6oynI`lU7tQ;;{7q2ld)oy})!4i5s-vxP>OZ8fZ7be41^TZbG0;Hpv!8$Zg zTZoq$FbDSi7pYX*bgFD@u@1Oiu{YvpAlm2~t4H!gFp)|Jjh&}%9PbAfZdr`{I*S7A z>or?amf8pe>aaf1zU^Le5(Asp_Z0{I3<{O;d2<`dH1wfUdo3gHJX)x@xa-@ zLs!f7T#ePLM;m%1b4*3AG}?v=dcj$h0#qKw&bW zN>dQ9NEP+2niGeu1O7C*+j)S_`TuC1^`(nqX^b8c|s&cfaMc1+;(%v)tHf zQI%MRiAw=yP)+=HR(Vzn=Urbbo>_cgdNgIVVKoXd)GACmv<|)wXtYtJaPziaWqU8v z+t7d=;yDEm*v4tZtKH^;d^ zu9}Zax#F@SAF$$3LR(cMDmQ0wssWa3PaO9IvdcP;e&z%|%{naoY>QIqb7|{W-+94ZNjLURBiWwRhh9}it zZn#hSH6&fw6MwGuQaN%7dRR>G$P#A*@!7{PI?{MWri^u7zUIUaIAfMio%40Fg^SVo zI$jgvYBY3=Q+lnEFnaIv({|q%c z!Yr8852C~zxa%9&^#nicrtM+F0olQaT&wZPodf3;6X$Xd4tnl6nG{y}3L2XBT-gTi z0S%VZhR&Y8Bje_ih#X?D1$>h%_1#H>uJch)eDWHN3x}MIuB;z7&?T7g&0&l-#d!-8C&*w5SOL{(+#ITRYgw&n5qH7^&Cl{#p?TDoqx&845 zQrlpN*s^^{N!xZvsDkGafb;dN#Wp_Kj;44IQCuon^f=hfg$p>ky-1ORLe2cZ2a$Mu z0(W@9{vN&!3IsGoRfs5}Dwl{Ois;Ko=MX+Lhwjp1j^WlVa)}C(ZEQZTWU)PXR#Wo1 zR{0Vu7QJH@b^DqefW{*vcy^AaS(BdU2cR*?h8^&8<<^i9;|I;t&6q%QSduwfroCHs zzS3tN9^EP$2Hs!yV>`ubuwmR46ps9L)XSlW^C`jE)8`vUSWY3D=gUK$HMWHo)(E^+ z2_}Qev@r`2*mG_^dDn-+&*%G~gj>VU|C+;`51;cI%svtvcuiB}ad}*dM~pfX&qqs( zem4|`CX37HmM)?p8g?)lFGTz{bDT1RubivH)OxLxN6?~J_7c1rE-Z-7QBF{7N{a-f zfy0+`V<^sc!o*HSYiwqbAH(KQAz+F9Ki1Px95+GA8Ej~2hS0z)p9i=A1y0(?2{A|r zBN5)f1*#;^6?>Agi`49>HEjs8>sg7>;rB=W_>=ICMe)L0njva%EMjmQBL`-ck7krF zVQO7j6DC)x;v2L@Y8%#8kL}RJGS#8wLs}kDDFdZpNGod>Y+KL-2TjDrkO?jWn5jgs zmccSkLsP8-c0rYk z;}qf59iNjEDy>)X%oJ!~Xjw{ypN4PdLx!Yy$RIA7J9KsPD%=^)wp50!;gX7eHn~~w zvm2=^enFOX)x-luCYhFGZ>yfcC{CB%rrs#oI4|pJQ0)Q;_^_-Hz#m{V9%Cl8thf^Z z9I~TSBwg%dI_etFGxr5KgVQa5q*`KC;~1iXKZc0qV46e~H48!~CLk%IWnnqcGK!;) zybRh#^+0WkZwgF~Y?9}z(je1!0`iSi4~k18BrrquMOu9{3-Ix+Zgi~FsLaaLK3>$s zZYa*pblw~fF-waxDM+-;rKZGlS~0m8Z-8G@zBQypNS|i&yqMi#wqL=3UifIUvMMI& zop~`@Sx#|MggKpGN`dSZ?1Ve>DO?GqVP3@idLNj>-*nHnvdp)N4#h3X&?1gq7ZR;G_V@q4OPu8zmkRhLu3neeX&ZqceIeMEpv3tQAU=(aAg!W<%9Rc(Ze*UaC$28E-Bfk?#Wli9?~( zLKEIf@@qg@+_*$$TJS~Aa!E98#yYkZ)imOj?QvPtN-u22i7-H)UX6vBTX}?nwVg9u%Br2mdlI@q+|Ay81`Q1fOO^7Y zd(X_(W>>gq(m1oA)VO$ZUa2Lw1AJz{ObkP6pMXDl{KWlu&H8ce5yb@-BP=Ay+uPU!;6FqZ`m3Toi_}+mxjTJq z^6ujk58Qq9o_kMCwL!$I>9X)?h)0i4938(qg;2j^`Z~r>~UkIGKbu$uLdQ)KOuk# zFJ9RX`7cB>n1Esyqg~Dn2eg(xR$D5EZ}cPQfIR0l-SRE+7-nkpFkeX=CV7}@(a+!T znGU|T#F0@e2i}iak68nY=yHz1@T&<&noW7IN(hTfgDP_=nt175X->&%Kthy7r7#Oo zjjBQM%720?D$C-^gn%op`|kMQ9}IO3bvbwSrX7#`@`m5-!tE7ZR{?tqe$4k+w`Tn% zL~^(#?SJyK|Md7PxE}@V6hfwj*PDoV+<$Z9;+L;|+_{$lBQDdz>wZK$?h6OTe*V^t zS}t*!7GC|}#p6DDXzp9j-{RbVFdmo|UjHJ%eeuc99{T4yoVy4Z=`!ty`Pu;C#@xZ{ zwy|EiwxAxryYb@>`tVqV$FbDrn^ErMo=84KsLwQH_bfh=TF0}1fnj9b?+#tpb++25 z$~T(a(CV;b>{O|~P;NT?l#@X2#@9MlZxRx1NhDWzAJ$53gA%yj{^Aa0KPkb=K?s}fS0R3fcFRRp#VM5LA7{EsY z_(%Xh7{EsZ_-Fv12;dU|{N4b5ZvdYR;FAITL;yb#z}aTKyr%;ABLV!u06qtJAM9!c zVV6S>g|O45wAok^n_5QfcF@>_%75A&q^q1N_jg&jj$WU5*CuuwD9gM*3m9^zDrBuwD9gMtFZ9*HA!zD1a9O_^tpR z1@I_K(c!>ixjR?w*62H}~GMaZ67Q_d~sR%imM@yY_5v zKY}NEZ^GXZWVmYMwLLi?=QeKb+0gqFfHHmUW&Zg>@94&j3?4%42|?blb;GGmZu19w z2f9A>wT$U!|Veo?-aW#IVd4q|8@a>ea)u z_3GjDH9?tlVI8lq%v=w3{*4wnJv=L?hiBy6*Ren(hGo7aWzMz8>ET&9J>1JVDuvaD z&R?QXEmOxdUzalb9mk*46$Repnpb2KUxxv9xzTQB^77C=J)Da7aJD-SrxAEK?bE{# zrg`CXqvPdi&_17oE9i1hca0*4hm#i%p9tXO#l!Cn;N-=_*-r*~$s^kF@@0~jN%0F` z6?_jTFCGrH#XOQ156`w+4`;jWcE_*#XHNT{FMJrXqQ0d6*#Uq0vy? z8>QL@_2%JW`=I_k+_w+)cRZUn@gOs&3)Ys09 z(>)`-H=uHNZ9LPnqxZw8r5zYOJk+yG#sCLpG_#Af3MkW9j~pxPmK5GaGNjqj%Mr+s z7||}dk3ek;=zI|HN$u$|j@SSkjxNq9<=!8`{SLb)g^0ZL?%LRczt`h_H|{YO(b6!c z;(ZZ+b!5e~q29X$N=p5ZrMqXRjAkOij-<4xchAO6$VnM;xaZ&Zl8+uu9Fu?#rd2uL4>a61Ht5_k6$MfzPrVW;r0TeT)_ zWEXI#ZRi2Gs*7FHyqH2wsl05f2YdJ8uWC9HO=%k28fDqEb@y&G)2q7v_Rz*peH88V zK<`o3?&hsvf%S_CaG=eZ4x>GhbZGF%GrAh+=`ZCx#QMim#)SV=i(>DI=uj#11G=4)^@K9e;O= zHS7|7M^@jYGo)Ha{tt^K&~@%s`-2Uzy!Z7Upe+F7gJKPP#2VDaZWUb@&Bkb-JB6R! zQq!y*x?I))^%UELam(@X?SvzKhe*bni#Bgpy=>l!x}+uKIBG|@8+4=vnReAydf_>Rrl@?RAE2RE~PkI#PJ z!~Gap$3vGtMkb9>5beTNiYlA}y5Br>zEX(woFgs>?mafnkhKS{@$ikn(sq zb(oBi>Q^*gd*gj7+fYy@dGYY<*wMqYI@$%hhAw0r8_N2Gz`0_P$VA>>FgU=mtSt8h z(ZRv4kRR&6!$W?Aj^OWdS$c+{1#qbnLe_KQta-H8m3YF`gx{VL&|ZQupLKe%Ny zfQw89p9tWT>01K-_U3y7IAv<06?M5YT^xspx_n0L@Jx$ce@o!s>=|{>bY=DM9nr%# zGxLjj0i-)#zFhLJ@-{b}LJkk7yswDuZ0ZX2L%9_GR999%uS%W2Amw^Gr0?Ohk-&~w z)g3QSgS>oGXn!Zg3u*5V`Csb_c_)uU0)I((49dLZe9^ammbncN;=0^dHofM)2g^_E z=BtwSy_8*&ABBG-Rk!5lWvRpdtIq~>XbW3mz+LW(8>#`EbUr8W-5cis5BT4YXveFS z|3|KRqUY7FW#kI=`IgXsv#S}v$)|^}25{e-JYTyyOWVUq+vBs|6#gA)OPqh7#Qd9c ztX(%b*Mst9{*5X1)=w?}-QU3)ZEx@OUBCQFkL$ewW9nTPx8<<%xoh*yGEUov5##N> z6BtV#!8+{L-pQ>)5z6E9BpaLI&Chdq^Hks0yPScT=T++adg?w(&5^0MT?XHsk^lkHWkE%4c^$acrZzMfyc7ZaKdJ)<%Wih8fZu(O{7?yb8~-J7rL{b<*(?Amw@ zguWdDzaN9$4G6E3p>ni&OYb(p#~>B>tT&yD&kv*6j#nt#H${eA$|flD8G%3Tvh}9$ z&$akKPlxzimmL)jWIsbkUYMx-aEP?QJt5^j8{4_bbVY6JWuY;bYD2U+55E^Bv0nJ= zvvr?up>D47bpu6jU3>01j4h${-CfTQA!d30mf>%>*}07#|0F8nx$m%Ewtni1YcC<& z^}V-rJ^z(!hBn{YdlYrHqxZ*q9@%_T?|zwB?C3qPb@Efoq9>KFc}45vw7s)8h)ptk zs$F^bjsQ-*diYMj{klBX&9A6j(%JnZEO#4+@Nv21$HT*NsdEo!xoqR#hMpaCmucg_ z@|?BtzjyZkpEmwGV36~RtXv+RmCM5^m$#+gFx#lYAzbZkgLCh{cLK|T$1zpjh7|=) z#W_`8d&w3Qb7;z(UG4jUU94#2r{>1ewhr!ny(o zZN9DdE_lHaJS!T(Q>S|||K>`EEjuFgl&=SzOO8A6d@I5%`zWyVi4;qK4D=rq9_!Rg zO~gB0H`%lH#2()4+S&CiW>b+{Lq?yT*hP~5RFIz7N0QEd+~;Q>toD&yOT6+9nw_rDUw%tyaCVrs|L+NWw8dX~_z3V>=BO0ZT#=x|pU@{heIsr2 zUg4XzcEs##=%c7FZ)aS!`_^#fYx z{sSl-7(!C0hn;xGsLQ?H(kFU2nm~+C-Fvw269-I&Imp0wl%!9*1#3RP`WD%{7pz}{ z{_pR=^dm0!7L<1ha4mwpV5^ksoJp8r1< z{<}ABer(~Jzy5sv7e4aySi40Ayr1>0J)3{(*AD&nfBgDS{V$(CwCnHd`)u2~e*0g1 z`pxhEdHD}-{__Vvf3EruF(Bo;Yuma$`IT?~&TstZ|Ki{NX7m4f>hbqKbk@1=g8okQ zFTA?&Zxw68yj}zSt$_1gtM@y%W}*9@#VwTQg-qvjLxhg+(J^kJ8?m^B@@$aleC9`d zK8Iu6Liei0Ep%VExP|U5i(BZn;@K4QTj=Ep)G0+(O4^ zUre{qZP=i33*9D*Tj+`wx6nOkaSPp37PruS&f*rz^DQY);cf$#&KS4Q6)kR|o3pru z@=S{Od^Uy9ebLe_blDy~KM~(TdA`IrpC>W@BbIKVYg*hwd7e&uK36CHE0%7d zJU?eTpQAIK&%qhDkPSuR7P?&)x6nn1qZzDO=!PtAp{(68oojdqWo?e}7cI_lIpY?} ze1!3DSUTrKj9ch9FJat5$MqG)EtGWz#<|{rP}b`h=eix^FBrasj%#*Ix6pmf;ugyK z3e&mH!u(sYuEMy5Zph*mx>FXnP}X6H&-EDQf7;S5bYHNzh3;z>x6r+5aSLU=fb_U- zKzjWeu36|tEpDMZV{r@Js>LmIFI(I~Sz91|t}&4Q2COMCZlU8kCgT>mqQxzACoFEE zTei4`j_Xg%Z=tMNFwV6LgzgPXx6pB2is=^0S_b1>(;$9M!!--t35#0@M9puZta&g$ z*FKp44NJFB)+U(FH43J0!yJ)u3*C^#EtK^Drk_x_tOGE0Vf z+6mK_E!{$y%QKyGdZu&Tj&TcR4VdvaES>#7;}$xu`7&;yD_Yz__n^fsbX*H2zJ;;| z%sAJA5z0Cs<6IA9{B^^(P}caE&b2b`EMA$ zh3?xHx6o|@67el`{T8>-ow2xus5r&9(7kAJ3*8$Qx6pmt;ugvp3qWgJQ$gqsYPe>h ztWz-kjHN$e=@!bIpXr?YGyiLrZlUA41=B5*=l+cI`9JadHC(gM4Iz#!YZkf*i(BaC zEN-ED%HkHfmn?3f`wHUtzh-A+t!NzX!e(Bc-lGZwedJ#BFd-OCoY&~e^OdKS7jEpDOPgn1Ox zEtL5mKx>=_;=e0uxMrcu>6p&B9n+hZZlQbD;ugABEN-Fun#C=2oZsR9nuU(@H^wb= zyD=AI+(I{EaSPo+i(BX>EpDN!THHd%xgF_Q=w7tAh3*ZDTj;)OaSPpdEN-ED)8ZDo zw-Db2`WDJOjB(D#5W0R1*DQ3C7Prttd%0TMk0V&oO`9QEGcW~k09hbwZvP%j~AZ}4I#wRmt1^i`UvhuC8p2m zh(Bg@`5cb%V~7*PyjdE29z&c{mWS)+_ac5Xe!RE_&Gf3JKP6C|0~B%pAbzX(y@1~r z@cSBmZ{oKT_(l9kw~60#_`QnX*YM+-Zv;Un@ZzvuA# zB7R&qbsLZmzft_&yZ-8HVAy^4&wH;&#leP}?i3C%c5(bEcZ%oS0+ir9=f-dhm_nJ4 z?cybekIL(3@A3TWs_U@~CC`_=^q+I_;SM+}VCVI;XFh+p7Egd^%Qv7!@%i;Fu4_A% zMuivhL)z_rq(M{jG_DaEo7@(J+uaARUqKqpZ<~{omN6&m+Rk`Li#VhsFyn>qTik%0 z*CPCc>)B5Ei02$$hkfv&>6PLA&cpEbPOb411WohE1*VR;|D<|io=t8XCj!+^-ZM5W z9|U8v&%4zfu1%jP%@r)q7<5Mdu0y&0+U9U#Zh3lo{(S1a+(~>~cA`8#J?&rAohUU+ zEcaT-h-N7=Qg_s?%G2%Mk9bxG#7X0AaMuHdo&Vd>^o0)fLmaQ?ow&aNu^SL3^fkU6 z`B*2T_M;Anqj`GV2Zi>|>zVH9eMsmjf4*G$Q1J|?6n~?{BTkCRv&h)+j zmpq0%nJX0hu7k=`!Fbv$xLvT-4_rThd(s`k@2i7KchG2M%l*dtG=138uXQ&_{q%GX zUBJ^l;i({LDi_y1$&=uL{+0l5e}H!&z~lQfOos$fz*4~4~Yh@`OV?3 z5z2zPJ&51;@XYX9_x2F0Y@x?26XE-7^~bQhz*t7n>4{v8pl_aVawwf91n^TC`I&#tU~|{?xK~Dd+@Idl<(BX1 zc8~vlj~klmac{lQ-hL!)V#1M8gWvh?gRJ-AV`g7p-pm1T(52!W(7F#M8`s*f5(9@U8D@@@{< zc*0kjWIUEeDmhK3s&``&Uw=%e#U2gGdVc5qrw=bx7ER%Caz76ktc*tw zV7uJu@@%ulGf%-+LK&xS;cGlCr1M$Q_(m{ia%r;n)p>lbe1gLgnO}! zlv+!F10tQSN5Qfo-+wxFDr3=3iPa=IjWMiqP7&1&r0t2{s(3uKr)a^?CaHmk^Tm&A zlWU;G%;IZ{XbDYz+(kZ_gYWNTw9m|wH3*w7W`Cxb0zMKmJ63AWo;_TenK@Qj3eUHu zE4goezEN)8PMa8trYaZ9ayx8auTWK2P!?<@rG_-&iE_1B3P`625AVMO;gk{LRO9k& z{9%xQCRt2#T*wE6_Xo<&N7Enz&xddP@H2dADk(wX!qoq z$Y?1)5=e-ucz9(A1Btnh2cj0D1!?#v>AeFotwI%siix_~8c89otp&C`ZYIXK!kR@~ zKqzS;A6j3it$Y;I5GK)DVhU+{C=>#Xr|L3VkQzHxZZw0uR%t1lDii|&qhdR4d1AG3 ze%k}#W{oS=(!`vwpu8N7amM3!S^3msBZhQFF8kr9*{ya5R2~kgtk{qVEfjz(07P9QV=N8V z^o{b#M^r!_mEnSogOJ0I^9C})w3}X*(d9N0%e%ZB!u6w@;JoPUf4LaK3*)=8GiYEI z^xnqK!{vqQTxDUga(F)3KbG0q%8|wSxoUM`0YYrrr(-#{SUzIlLcNFTsoi&ZGK=Xh zbDXCdRNlq-ACvG~;C02f@Q$wn-2ftn)7 z(aS!0!zXfCT?o!(X_=`Zez^qPq=p1ZpT?wk&fn6>TG_=rN~I8D5S-R2t-QhQC`*k# z$cmf9n5Jw9pm%nU(w>GN4^1!W;MYN1RHApt_y^bABt58Sxr)g7v#&Q((^yMkf z9Y+~0H%ApGj&PC(sRGF{8-x^xS_j^XHw9a+>Pcx3_wu^LfhMU-v1Ic^?4S<#^ll`% zD$E2|(DHH`t)SdSv;#(}q;zn>lhjLV$7>gBoIE5Dqd~LVYQmYfE^272=wDyqQJPa_ z%cz$SXBTjJ4bw#@rnqmp|{a_o%7UP-#O71YJrvkRH%!gh3br|g3ClCw&N92fR! zHgUACfW645-!IOu1Apm7G}kc2cBS)CxNe z+W~NDeqj!TdOlgJ=U{W74w-7Mu^O~_6vn5N-J-;YT!r0GBE}>49s*>9-Ncr%Tw6Yr zVz!mwo;Ev2x#HqKcn^FuH;TebGuSQ}aEU7$U{oBDdsIYC_R%%*B#LidSKVrGsbY!?ESw-+rZSFj01K{LmMjosws~h)i!I9= z+KeHxDiB%--;p~>Q*)M@*SsgEeQ9C4R>!hjg)~J2%0%Uz)zKHWyPZ{@QI$!Hg=sq^ z$lSz>t?OjZaPrIKIk57Km4?xWNSD-PI5nV>(;Q)L zkl-s#>xhgy>^-8+&`S^19su|Y2+M~jpATuF`dB_!o^s61xaKt<67_mivA`K>&4Oz! zrBtI9lR_yK|Ta~xZYnzVcFie;73J*?Q4`IcCLGDTRv;#m&#Jpka>4;EJ)b%*wK@;mtG%gO&xINn! zhgwR%7ZoR2mDgIFWRgk;)ypkan}b(m@{(wO!MC)CaZ(xtmsvv!T15xpsD>RBs`K7m zVT_b{9W|pjfwPTe!Gl9j!GH_ea$bG`oCYWd30qc~YmMdTkWN#6cte_YomNzP*lHoa z{Bm86@iN8G;>umSEK_V<#Y$_|b|v4O>t%Mmn~0(6OiU z$Y{=Z)423T*@79HVUSjvT_#Hjs_AhWmyAE4RR9f->93p0`H73#IJYW9^~Yq7j7ldj z%3?P|5)m-PM{V3PTWrrYi}WMe#T_kBj4GfUN3}by94Y$+9<_48TSy4{q42Gw4jinJ z#o`?bp`k_LPuE07SzrW1C_ffKGwChs8G{%BdwWC67^du^nZn;9N7nK}X_yFZhd+%_ zv=;}4TrzwpSx_5~y6Tdr_CjJO7EF*0UcRQ2ikX=v`D|(fgu-pf#yuHq33e+ehQrKw z^8pb(4J(K&0P*8~o8)OFPGhZyI}>EL0vekg;2bmgY`%xqVxk73-3lwtYsgs^NjLUO zF>$7tS=2}XSzQ9DOHmP--R|zCZ6puxv!}F5XF>x+0=8YBCJE_)(XlQlj%w*_kF~R8 zVx)>VFyc;A?6+$qb(pcFk9`^qF`iiKJLVQ#0KbD?LpPlHURo5}h|(o*-Wb0LhQkmj zdSy8PY1L7dqNliYWH(1r#ImOBFF5AN7py3XG_on8))YCy1oUZdYphz%$RLy0_&6JI zQ3y2Kwlt*dT4`WTCA$;dx?CTxAqMNRkSBXvWJ}A4$RjXH=ZvQrr(yDQbP9#HHH;;hDxvSiIGS#k$$5ofoOnO&Oa~i;vsc z^WcLII*}L(k(3E8UQ;?A(swRcg69G~MAp9DT9|gAW-K%}2y=_UkYm4e&%9jg;WB=@ zmgX#qF6g=*qjXp#P2VjTIo_1=ly&?TO{dePRP~qXX;*ckarT+~@^?l%Lc( z^17iS!fRMd^M@DNY+}!btpu+gSW&>R-CWT`UfWpV-om6)ueXMMZZZ=Gx4sqnptzkGXc&drr% z<0|=<_av*IIcQTtT#u+aqkq5(lePH5 znlI}vdwZGFnKz$9n{S>~)U{lI>JQ&g9#{0f7ka>DMO#AlZN>iZV^Mt|q8$4zyL2vgNoI7q_csM7Zbkr+dzjFVGATXswfU zrTH2Bpxma?C|nJRG?M-S@qDKX2+=er7iv;uInQ+!oc&QkY&j1Q$RUYTQb~2WD>E`G z;8H*|@>kJdd4!N$==V}HM%GxFTVidACGCF0Psc;4=z13VBl#7-%YwvgzF=rGr&bL&|(iIMJTx6 zF-oI>xr1MUo;!$T{j#2?kfEVu7e;`2V8o#~H?l`+B|LF?^_P2RCUq zS2(iowrV?gdykH~)nq41`BYM~?{HO6?ZvFQl=s3LOCRV7@ffh44-m;d;Et!*4jw{p zb}(_|eoMd6UPm+4WUC?PZLn}7$2_1^tK8OUzbmpyDgD8f{PdTe+`xpzbV&+6$U%aS z&BxM=y)@vaCV@u-J&N=y$18*N zW1ir(^_JNVlOfS z-yATGCQ;(>;5R;m#mxgvvCb7L4D?KBW{~{=W5uZZ*d2=%tUeZRsxp;8U1@!a4%-%J zfi;*Cli{|El7^lXPUvaaGc-69)9r>}y6vZn<5*{4@43CJ1k4ZsE-na&FmXDOJ*C2K z%)uz9$C5#>*6yzX751mC>?GXQeC!yNriYVnM9Gi#BuVdxB2)e=LUCP#Eh4 z#}a5N@ibcfhCXE_l>4PuC>eg!v`Xiwya^=5GXt3;Ys5*>%s}prN+lsHqmX&JF(8#I zb64h`_ASpPfR$1h!%^o-IgFvPU8#gITUl|bCIi+BxJx6rgBZgd#2D@%CJ#3`0o>&g z+(C@t4q^;<5Ho_CEka3DDcPF|F1TUlq5x9 zT{a+>e4e1o39nNHpNcrC=c|GUY=z<8L=0A}bM_K&Fg+kQMaJPhl5HMlQT!Ntcxfsy zO99i-S-k*=x10h94TgI@k~7D^U;)V|!;!6(RwLTlDsxR# zCyI>ryK2K}d6(Ka0Dq&py?E)|DU4;Y1C|?DhdozQ!tVdX!v4w@7SutaFE2iWq4L6# zt%Yz$383{yv5o~=t{bC?>$0`e?P+xp*pz7?VI{P>f}>g_Lch+5M)5jj(oBmOSQI$~ z^l09R1Z&tK$g|@M0_*JKU>hQbW;cOjm6Q%b*#VvzJ+E`7vDs)9{c#Lp@nwW(OV} zD%L&{*&NS%vTmJ)lhHSnAb`_L$yh$Bw7-8?gX3oIYb!hoJhQf4zXq==Ud`{nZ+4ae zM`GI0kAV({&o+4`zq2+-iWjDmC(bONN%UADj(}}+n=MR!kIa;h%p937&s0jKlEWgH z^ym(3+gh_No3r~5V}NeOxFhnSChj$eWP8@bK#Ag0g;k8Su0Pf3wQ#t^ed2RU!4XoN z_e&4DinSh#jn-c=M%dC5gGq9e*u+Nwx`OolVW}J(!aa=hRAWgZHK*HH59`ZG+z82$ z-~?!fB*6%2$S_zMU8N4)50HiYUFmdM$;#!%I_y_#PLC1=yd{sr;?rZBOmTIHkd*d; zBy;do7!e^U?*mD|&3sBKdm||Y-1JD)+M(O-;uvbJHEf(f$DPXC2v4H3?cw2SYltyT zB5K%@Jcb7R#Kxo`^V- z5!Fz6OE^tF4$0X`NEQQoG6~6rNl1kO8{K7}9n)^g1%WroeY`z1Qfk zcUr3%&c)awqn%q*wCNIEfzc-lUF>kjm?teVGKWJWGuo!YH()dWD$9dfZ$N}8vKU*~ z-S3Gl>!~Gc01t;=clN|~zO$7&5i%)>_!f>L_QZA(Q?tk?4KRk-7D6XJqu5jzPWRQH z$a%~f1CA+i5w>t}GDbpD)3L<&r=3>Bz6e|72WUikrA_g=;v~=gE@M|=eLbtG5w_4H zP~`h)AH(x&Tx$_8H$WNAn~aEf)1Ub7vZjmK9nPDe>Ku&9fHa*NTxj&MegvmqeC>lJ zp0!Sbmr{vpXuY9RX~`3kp}rMtY%2*?yhZVsv?cMJUKOv|UbDP^?8wxLdk`ZpNj{vs z|&E=#E17ouM?#BV^1TRJWXQMmOzc zqA-_hfALyeeu<0O5`z=%E{A+2eIqtUABH$u0UJTe2)9-yiRX@|FyS-7 zV#MLfPnsuu+Bf2=<}!)}v8-P>0~sRa^S%);j6tjmBU!ZjMGQ_vtZ>q75`ta%x`~7y zhV~Hk)AX1LI?mSmHC4hkAoOs&h8+V?+*EYaCylfu4>9s!5rW3K8XMsO z#S*Uww_JjX>A5G*J%$+Rm=r+8_S};f&K^JGV1sW%<71Rz0zZRxoDDIt(5a^7SN%ON=+KAayvo|H;SO8mM{D398RB1GqD!~H9^EYo==}!zNk=Q z^c8?;Tu7c2S9@Rnl7(u!DMV05JZ9UHzwv=2;%^{X*p3J8?a>ISfR2-_J&T@8h-iT8+Mf(a|1n zwJ`2qO`bDv+vsGDw^y^?&#-P!9N2g$^R<=X+8SQGES)G_DRKWta|4@~ns{X+wu)9L z7rKgVHTwoGm9CU4`v+g3^IGiv*lE``n)QedObKOV8#)5x1{n;aNM>#_j|gJ{jOpTl zTFyRkQ*IC=FU6u5*}4|RV83>piF=X*h->}po92(KX~WNJP2(T7G@_rl*2iJ=j%;+p zCflyfycLB)BznjL;zQzGoY0bqlVcH?xRjtlW24)r&%FEZ%eZwy>DXm~{o!&70IxH> z*EDyGQ#W->x;WRdV}lxvzc}3~M{wNXO-s1{KDTdH_d-X9M39*ARc61rj|jVZ$9N;l zAxTb_3Q1@)DM@SMk0Rl{s-sNP(MCp@Za7zXJ2?YrP;whCyE5z*K|!`$VH2f0>TEKjijdBwkf-p$NDbP8VBBqGy;O7`5aI52oH`hxl;9@A$EgG zyV94N%c;!@3G>cX1eK$X`%~_`tDwL=1cl!F?cmvo^c-fMd!G@pti zGs!1tGj;n)abfHWoOI==`X;itVWbvbi+VsgC6H4P? zxl%;KmL7SLxSMvCB6RS?jAXwJ_a}k$5?$onL>tXF5)Aw#$0VVwkNO@kwvy9g$jNwP zr~XzG)R$A&1g6R*!JvytuWzPzESD`Y6WCow?RtFz?_ud&{xMy-l8I=x^x|w}^$KO6DJ+ z3Zn{t9f&{0?K*b{EZ@Eg`6sK>)7BHtSj*4^NAZOJ97XsCKb|o=>wsLx=zmL7yHkYG z57Qrk^e^z!!_88ZNQ&!J*Z~b&cD9kn7h#~>i+`WbnKLp>QK+~&!01ph$GI{y3Qhn^ zomDt^zEDofvd7zUu$j}l2G7Ev8zS8PY_6rLkuh9uIA)ehGoZz^Pes9a;2S8W@Aq7- z;NlrGwv?Q9#6#Y}*r-8`Ajt>oE@Mp{%7C}l#|W3l9#chg?BmdBw$Y+vrIsiI3Q!Us z9L-GxN%)xbu!*FZHRmmy`83`^v~8Xf?ozuDFv7+>TF{{o>I54N;vt=#Ozy(evk)E` zo08Ex?2}WjsfglloWa$OIjnX&BS0)O&gkgy;^3qKdD(^}-BU?XQHuOSG_Ftu3+cKb z!&OJTN{alAfoM?KF+!$+*$EV%p&wFv7n_qgP~W(27i@y>Oo<_angg-_t3zh}DWc0H z6K(yCzn0ZAm*S*65dP!}9Y{@uj$MRi5J!=b&`Ars2FO+c#kAP4jo@3l|sHKeW@oYk5^Fi0a(NMs=IXL-saAZTV z)YFWUS{53o;2ia4W4&32dnA95ns-!$#E+^~>B4^0s^r8uSFK7nt5(Rcw^|WvR;@f8 zu2s#Pi>bPOwE{Cjo1prV)eHdLx>_OgIJII@wo@Lq0);~Jiw1Ef>I9U^^5vsesKT97 zDBuD*ChYclD==ek zwF1zss}(YjQ!6HYg{u{+aOc#D$X-&la)(ZCL9KA)VzOFQ_N7*piE353S+zojz150X zvufq(cxluM%-CD40CekWh0NpBib-GLYK1D?Ikh6PmsG9XF|1oqs|wZ1hSC^-a?IeD zw&WC`JGG5B+Z>^$((a*ckt&8(hmb@k1KXTzI-J*|hQ1K>UXW(vAhs{Z(o-)YLNVT( zb}+bclRX(AQiyh|lV?DPAqxu*2Kqd~=3tcJu%vFMD!PlcB!4X**zjmOMb-3BE&> ztDJ$kxr8k+XcRE;!L6QH8s|6S=Z52G=f%v@bZBk)$|M1dk~CRxR^Ah*G(OVo1(}uS znA(x7QjSe}6rSvpi^;JHge`>Fiy^b01n_JY%#3{VVMAcO)9I~Z|AsW2Ea3qH){p;i z3K{#5rgfj?@ou-**=}M3Wuvu|@GKB_B=8nII%n+Ta?3t%f5+y8N&gBiQFiN8%msw~ zz=33WswU51+KBDK+{|KWJd6DddG+ofI-!e%XW(Ni@?8*5Pfzwy24RBD)9RG_zp(_^{6MHGh{sGTtwHm=dc1`L^O2XqShEBWy6H z$pxPy2^xK}8J$=sqJAB3%k&&dUyi5*?eEiNWpsS9Fh!HC210sc2fn)CD8XDF(S?JR zC)7w0l5BCQoU%2&jl37k&Zhfi@8py0>%;C`N)w&N z^=lhltToY-+$zs_<9hXOBCmtgsX{I3HgFOH;@4^p)Gh7|aokCoQe5V`&o}E*tp$JK zFg2j|ywY)|Ie?Q9XS+8Q6jHWC({ND5)}<$F7wGO!WKe`dUhs?nUFz-yaRM4}p|eFf z9?5OeZ}HgjW}8FTQiAWlFA%vj8ghd-Vr!-X+(b&hel6%Y4BfB=7i^7W*v9FgRs&Zw zvQY-MTiK|4gU9vec4HOoNBil@+j2#rq3QZf zJd!sz&;f7qMs|bd`5W+kfStfcV@rgXM_dezP;%hFHmb`ap4Bft`uudt8dD0+=8&n_m+q~fv>P=zw?><-)KC=4?yP)B{3SK}wQiS*0Z&*mn-9f6D+kbD^K%~- zq?nUh9sOp}(9vZi*oR|@6t8w?KoLtjS#lFB9W-k#47>V`)|z#{5UHt5t;JfnCV;=E zpw~zl69F9<10>#4STw6Y2s{vWA+0SlOHo7h$jh}}XG5~UVr6K9ztKR;P_8IH;X+3_ zE^>LSP-(npnxsS>yX_??wmZr&&swfCBWr^)F=j1o=G z`=>GlIy_k%blB%{z%ONhV`_GG3=+KG2%E`uS*{HC4W62%%dgMuED+62&Gg`=G{grN zZ|E;E?1QP}*}80Lv$OPcgdX)+>0tt-*fA_-;r10a$}C(Z33I2`0?V9spf6qbgbMgR ziFe%M02h@S76aCKMaM|VV5^hVbu8Ievn_fJh^=*6VS%RhZ#8ij2At00;0+}BrK4K> z;f{8yCrI^isl=&H?`*9*+OZ-MV#t$0nf^8C=azJb}LI44k>p#E$lh z3KEYem5Q{NG(OjGDX`iF;Teo0n8>b#rULpb)^e4W3bqo3nH^BYOIGc)^u^ATuz}`_ zs+<%dZEKjGnf7F=$OW;<0RF=9waGO{i5s{KaeOgjQd0cV*X>aX9eJ{tsIsg?9FZd3 zi|AAViFS|DF^QgxPwtqf8bebdZJB9=HaluSHO{2T?bWax$FM9w1pMqp4%~|8V4~AL zS|1x=E|#wz1lzP@1nl4_;hkKULL4YfaY;y2*+;jFD1rVX^}oa zX?h4d9!g>71#ccyh-ELR5H=qd>1Im!cO3PE8ebwD7$d!6{8-=*Dbh{V0?Wh21Gotn zJJRGxDfI?QyTh?%(^^4}%!tobH=2girFf)21*x#%C0tCpK|}I>T_O-0QCGXG<-}@sp2T zTRL}9rFgV>3{Q$)`p}=C{AtS_A)O*s#eA~R)8}VFJAhIACsHZ?>N;DhcABGVLp)hp zu{AM^l5U&>2Q-ei_f>FMygLg2wNfVW`SuLjP3eaAQG+LfUQ;XYGsIbRK?LI=&n@UG zuq#Saw-Kd8xdECa97gzZJYiw-C@~QpnKTY${P&bNm1jM}N~V*~$xtJR(t`I!7r`oh zqDaB82y~@OMCkUS$(Lmb!J!V#;CD3Gt{o*wE=8A2McSx zA(p2%kXF}`8T!Xfxu&2W4jSU_Oj;Lo=~PP8A*K+MLyksd%8qAFsM-zOC(y59u8F~3 zJ1mRIEO zF^Rk}?6N4G^E!{b#+e!GW~FTmZ>D)D-hmEyo17UzaXo99E1jNmVq1J>`lU6@vh*1` z6n<9mQz6G%ll+9V)M;nVZJ~B9^zfdaIe`&2lHBUA&t>zE5vm`h|LTBV3WBVVL{?j* zKJM7C+!0m(p@)3BDGDtKmQf-^!Sp{U^o}wrDlcT(gi=NsH-aT?QsN;WZ*f?RnPqlW zJH}1?;3n@g%x`Coi^rs3y8K86ea)?75idU(#xts!uPPA}-aSgCOLvyh`D`XieoW|s zN5m)^GBA@J@{&CF+_;+UK6;cdT8JyCfWJ{K=s2hEnBi~$ zi&PkQU2oVmBSvzrCwLu6O&kH{@NryQ>4ib$N6OgEaifDxuWOl+eO}9jLLV?FA32&e zEgz=&LIdk`=xyvhCrq?1USnRW-30rgHhMkR1v!(;maz^mOopkZw+-t8q@!8EG>IqW z{Za$wz^?xymS#?;N@epr;CjWO1nrzxd#oPG8^N?zI%u3cb>nzHkZ{Wq_DrLT0_^KG zTUwUN2rA?kSY*Z+txx3Z?w*rS0F0k~Qpm%W9Hk?E`7o9S_pTuv?xEz7@tshUzEAL@ zs9X&Q#;Zywo0*^7{wU>Upy>`e8ZG3s3C!Q>mM3nAr|rkKYu zO^5MZtiiw~rHKgexm{IJEO$s_4A~gl>4(?(jXr+NF`|f}W!YDmIUQ?OxruXxyEes} zXlt{G#u-|zek^y6c(meE*eq{0j{-q+Crf^Qg)XvYay!^T9Tkg!Ot53F5DNL75L@Dd z=#Dar38=|U2{iL$KeuKyl)tbCd8WfBju;T163n~YZ52}^k_YtZ%aF81vo+xF01y@$ z{_MNOAj%h;q7zd#ZdorJJ%pu!-(ro0>$+BMZ+S7pv)5s`d@400HCdvzIZ%ix7$q?} z_~}PWjJKgnP!+E@fD=&d0;KP%B&Xm$RW^=5LUoE;!EB9}1RFrV+o<~=yz|3;U`E92 zUu=?RmjgWB>a5fhAC{78c(bVPZ=?k5P7nu5jdl$>p;Cl6?L?IsGVSyQXq-%_($#VW z$J@H#azk!DQqscWW~5Z?eBn+8x%o_WA}o+E`lWvcm&iUUVMO1U37g&W7tWS}M_ks- zSj})_C|VyEyz-pqTsY`uA+?phy$_W-b3m^7f*m1Pjw;{SNEJEL&lwHTqLwE@>aG~A zYOEeVBiZDxVYk3hoeC)>ytaZeN)g(UnkLv$)#Y!TdSnYA*pvB38N4wt~VDlgODR8!13&KeslEcjAEQk5{#>&{_b8@q1 z3m})eAq9pxO+MM#iZ(e7oCew3Uo|9xdipc1MPASCf0x!M&_k>{mu7LkJg}mITwl1$ z6;ATIoZ#NwY%O=UU=GN(SK)eZz0vNa7ZSx*q+nscRarOIw!`-o6Dy(yfWO#z8Y$ z!n+1C67zK(r>PuLsXQ#x`G#O_rUV67<6D{*bBm;%DSrdzUO9>>cvwvECJpXJxFlbK zb@vMe4J>Yh+9!&MynEwH6`zB_Idp5>3fB zmF70E|Ajken!7UaRAVBCDc!5R$^Zw;$-y%U5`jYqmRu}P3k{f@Pfdr3ZcD4{ zU5!$f!q%|rgvd=oB8&tTT?&$;nrrakOIRFJ7`DWz6Hg2S>2s{^;hFMcrL;I7R~LnawBkg7P_A|6FQRh= z#iV1zn9mFz5l5*!WKhR-qwt1E9+2}=8czubcV$by_QPBu$EIwY*wP9(mp_K4je)S{ zl4Ao_Nj-`#^b0~e46WQZuPqMYm=n`HDNa8Sgbq;K2`jLIN1Q?VIBBu76n01gBq9PI zUn)s-FgPHB4`B4ff&vGHn)rbZ0`WvP4~;KAhxV)0Zj`dhe=}{Z(X6A7iPokcP5uZvtl}?sunrZPG@05iqgI&A< z*%TSSct>)q#*8$BC7F{h<=wJ#rJp8@o_MgAV41m4w&5`ji!1oU8^@+qFj;fs56$ zz1b?bkRTdIaeOfl{X|S3{#=VEP@Emm@J2>kY-NM@>vE_Nki`BU%e*KK220&KLDLMN zkIAR{#bOt3=mZ&R2q6*LKn0ql%!Op4u@A9{+L=9o_=pCxJbvJVDCfzgV)LMutDu3W zwcybM2VzxDR+KIwYHVFoB8M%p4XTlaW-VM!=s9W)=crPn(dD3wrKnNm}?zzGhT z2#p~VOa>sMM8}rdS#zmJFRN8M2> zl6I$=j<&{Yw)r4u;NAs5$|W{6JeyRUXA_o#X%bm9s0bd9KvJY1bDbVa(N0eye8;Fd zsy=#IePdwiKS*BtnY!WypnsBwIaAU!I`7FqwKY(AJx4OAz{Zc7(G#_Pvo2G6zt)CB zI-Hy7yx9*iYa1(3Ow#2FNNPE)n4*W9;RUS+LR^fQ)@+UzlRM1zn;6gw9XShrB9hLS zSCe5kqNECO+GIQ)%!zG0V}U5@%9gyg=gY7812IUibC zbJA?IvvAFnk`ZT1vlx@O4m4fVvJMFKKrl6}%dAF_Z#d(}l;1vSE<4@K8fk`)m4p}ndakfG8J?^WpdPX|!G^q}&&>#oQ;SL$Lh*0HrnQ{OMRF3Fl!yx!&$A%HHufsdaD z^y}rnH^YHf|48YsMP>l^?n8Jh82UAZ7hk*wQ7^uT7Q&}!;g$HFV+1~LDctoYe!m8J zPITH0e}Qx1^Dnrx2at9aD>do;@P!v1vV2T?yfJvZhvhZrB>=}fWxH?T3!i`C^#=Dw zz@dNLd?vvACdnJFn-qMRZ${d(%+OMb96fJA+Bq4Wq-k%ma^8wGH3Yn`yYRx>EdFi8 zC$Gk^KO#Nr>g)d?($yeex_rFd+#v1b%U88*Z=Vuf331Y6JS5k9qRL#zYgD+ zhwuo(69^oHd=R09u#NB$gpVQoA%ssN{56D6Bm5}B zPaymp!sifv1%bNuMuY_6Ai^TTNrdwVR}t0`1_;k1ywso97vA|gmhn8oT?KmkDHPsT zc;D;Z4sO2^F&qW(<6I`7k1o6&>F>1k2Qum0n1xJ&!@-<47#Wuv0L##HLTedJI*%8C zF2B-1?a*}kJ-&?NhMgYAAC5+2ot!p)l?1cCWWFd6#xL ze6Gy%hA(pkz38Q*zw7uQMnf(c4)pR~*juH^dws`Jj?N?c0_SM|SQbw3fvF&hc4$uO z_zL_oe4LD(9k5Fh9+V}Wy}PE@;lXSDvhCJDEOE>O<`t5zP_#AYYpn)$2uS)O((kqW zgs^kz%ga{AyM6w<1uB}Iim?~Ud?kkf_^>YS`z|SorD6V#@JA7T0pSr8u=Ma%_+jexueO_w8;7o* z?9_+cRnouuI5wFKSFSE$&ElzA3qE{;N7+cpOtRv5dHLG;6DQ6sUA#E6-s-pR3`#-O zyiHv1!%lEGAEHYJQg*xO{MyGI!G+^plW((cMiyFM7GVo7m#5W9)-9Ygy}R^9FxX0oNTg;mEpO>#X{LXHexi@^5( z#4-HA=RO3E()ghTeI5a8_vjxuPAC*g0Dd*T-;Tii{}zFHz76rO!8boY^}Y&GzWn(z z=fE35UxIKIeP|Vp{=N9VXf5|+pT?R8o(~}Ywa*p`e-3cp{ZOIsgUECh3n9OR-*X5> zgioMH=U8DCQ(AWJzl`vI5k89WI}yGE;X4uj4+8Uj7J)Lx$^H$5--YnI5q=NCcOiTn z;kyxjFT(Fb;JV%)K=^|QTx0pe2!8~D{rV>m{usg^NB9#6--GZc5&jgypGNp3!k%e_A0hl>gdaipCkQ`^@J|u`8N!bt{BwkVf$%R8 z{uRQ%M<-zd@jG{RF~KBK$jqe~<7}2%katX@viP@G}Vi5#c`}{4B!HA^c~A|AO%I z2>%t~zajj0g#Ur?KN0>H!Y?4S5MGJ!DunwGUXAb?g!>U*i|{oF7~YHSzaHOjKtS^s zz7_$)xx%kQ_&S6)BfJIS*CV_Y0mCxP9SVitfRG?Oi12oV--z%Igm)r5gzzqeBEl5H zG{OOdg9wKZW)Nl(C}SmrGC~ERiZG9G7-0cn5#b2J!wBz2cm&}n!lMYs5Z;4u9N`4Q z62eJ@#}G~-JdW@L!fAxxgz#R3GYDr9&LKRBa30}(2p15R5iTNJLb#0Z6vF!vK7jBI z2v-oUB0P=ojR@BeK8R35SV5>GtRgfJ))1~EtRplLHW1nf9fU5zGYCC|KEeQDh_H#U zg|LmVgRqP6EW&dLA4d2lgx`$tJi>25_^k-P4dEjQ-;D4r2)`ZSTM>Q-!nYxOJHjgv uK8El)gclG#kMKo=FChFP!v98i`SaDsf&Ygp{R+aDzWS>6a*g)Ef&UM$OsAXx delta 69 zcmdmUgJVOCnM;I|^ZMV6e0#Fjn?9FlU3hr{_j*PK1_lE?1_m}DZ2`m!co`UW@G&r` X2rw`#(Pd!RqC3$_j*($wtE9lXWKAGu~Nk;ytUA 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 delta 69 zcmca|gX2VunM;I|^PYRFuJm1Ozb(1W{ZB9B@Ar%h3=AH63=C{Q+5(6d@G>x5;A3F0 X5ny20qszc>Mt7o>93#WV$j`a}mBkhf diff --git a/Shaders/BasicVS_PBBNCTTX.cso b/Shaders/BasicVS_PBBNCTTX.cso index bf97c16bf771777808cec42a277a1c312c48dc05..38a20110d54e3688847e8b8b3c85d912cabf492d 100644 GIT binary patch literal 145144 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�uYp&Qb;hK}Yk}GaA=Wo}W>~Dxaefy07|hRYQ3uW;&mZnU1B` z3|BRDk;XN2`!%kio7K36j?c%;uc15_GtTE=(tlCYHFPg)TtoMY#x-=`(71-~Esbj^ z&&H(BXJpdv^Wmz7?u^DYbPsD>L$|7N4c!wO*U&wQIR39{D9^Es^LZBk-Ism1s-gRa z#x-EU?-~AZ${9gE;9^SKqzxwTEr1-!rM z;U2dY>npBve^tYS7y=K2ziSQmV0`H1Y8@VNx4VAO4Z~5yw|-xK-@zE^b^JJA&vy+R zGv6Q)z%-VI z9WJ*OQ|ZDVc_i&tKhmI?8I2o+#s;?u;a2y-o0pMB)7#?Y^nJ`tM2X1DWA3+`jZZ+rrg6UlW zE_n=jQa330x&5A}0p)48;O1bfAGo;(_oUm0-`9FQ-Cm`YE%&we`SgBGztP7t$0X$@A_+~fg66WKQ~0a zQIC9wvIT>f8{PN5$F}pm@6lqN`*`abQP8K#p?OJvv&DsnwI%S#!}Y*652xSmbN+ZU(zbqWzxHd^*U^t0bMcXP z;)4mBjA8u(BTr|7{*L_^b-=NjT^06YasZ%<{Vm6T^d;+azQ1TC8+qN5;gvk>h5%$^m<@m%(-K;jZk+|*f@Sds@^ zKX~MD5g(-Hk&1S5;WW;Y#({}Ex)4WP&&Wx+Q3H7VfD%5z=0Ec`n;}}^G0}B?(R-;{ z4-b3HeCo}cHqIrTm?NaAp2>o<)I$m;pg%m)AImPotptm

    t;;*(ACklE?-)uLQinGcjDRVlT46d$F!J*+gI2q6}U|cFWGnQ2e1irf&Jp1@x?zBaw)C~+N^Ax@yQ+YRAXo=q%F6M&}K&ssK&WCxxE@a$FtZLAOe22 zBL{B93oy}XAA290V8d)=*luFRge?U>kMwI8Sg)oh{9V)+4tywiI^G^wpa3o6#t_ck z++RwJ>!n5dkV@mjw3Ab5+C{-zlq$rsU8*o`F)q^0nDFl;>X~YCi8yzH_`309KYvJ( zZmAaZJRIfWCS3ZFHfKtiH&FIFoLjc76~tsle6G6LG@LHQbG#Wyg-tKvV$w|-k`L$> zf%Fkg?U!6vY<)ux4>qV~pN>}IT*0FIS--TVCBl)$Q2as2Dpn?5eYmpJ+N`>PC?XwV zXyen;p)*T|jy!j1>Ev0J;_>1!Jt=$X!+3)7XDxSxbcR%wi^;-BUz`Q)07mhjNM)i` zQnk|@3pT}*trgo7vmhD9IdMSa`2HT=!_~W^@Lwxs5?|b(LAxp4&^~JL)TEcRm-iXs zEV?0r`H<%pbQRbYrK#JPQli`dO%hHcd^w)5FnXMr2#+iphcf?rQJl)No?#`k#pm=? zV~DbXw?`MHRr*Acf@u-x%C?9w>_v+&%MvDsI<$k|F%3Zk@H&|bLOr`feLjkL(rUmT zi93mTMX2wHr{_|o2%>%#Lp&0;2H14SkMmdvH?MTt*GAkDl*NNO!$V#1c-MMYl?hQS>7iUh;2^&dn_t)pL^~V_1&(ME$ zKraPBc1WULTckc7*s$FZRe#qmA8(4no&?({5u#xE9~63585NZmGHpsJE)Gk()hzaiRtC>k;_mmTtw+`KudW;dRBnlD<2E2x0KQ7sric}?$pU8Zn+S`7CB zYzrH+JHD9VbO4)Fn0H-n*)=0Za-k=9opwx}0T%FaQd{YTLF7lq*o{fEgAK21xtV=Y z%Y{N8FsK+gnl&pQUGs7a`*av>>^&#CXx+TVx>Sb=jze9HdTt1ET`pV32D~sDT{XRJ z*bpEC%?g%Dw3PQ-4Oj!a@rzj61%oP;&GUf!6?+o2b5ZTFdn9iJvs&q-ar)AY^Zh`= zElW5ujc*EYtk-N=St=u_(3Jg&V%^<#5sCzpSDzH}uqDUoh+jTTq`|#w2&a1}d2D_s z)MW1y{4AyiyM9NoMTK8!=7bFWflyqdF3X~ zG49$DZ)#tgM>MIU)#}G`=ZHruzKFx}*5^?m*xkvNpWmU2db3Vrt2LO@S+NMnlzz+= zLLt8!VoQ7w-En3y0yViMfo7ik=k_`cB=T;>xHw2ur%;ndSl_b?v>kHUhL%B>o8nCm31Ty z*`l^JP>3m*B{4Yo>1Rs}x2a1|6|Xo*CrNb(5DwOpqp)3{IpnEk+th}XZ^B2P52HF&<$TWKghY$Y}DW>MYWNC`NdAP$sT-3D|*r3hgp=f!)}9PVJ4)M>9rMs|>49h@f^L(xG(l?3&?5 zkwQ($`~seVViw4<--I>IaN=ckQ?Zi37gh&cIB0RQ;n7XoLmd7iKP8==)`D=-hvX=C zILl!^w7xPi`lJYd2T9KLLkbLY7Ja0*86AkS1c$KGyVh>v_4gzcQ3}KIQE49SLHHJr z8v!G^6Ne+5Hg=k{hD|uJ!S2dJ;xEjR3m|cH&~wq+O_G&2cr{IJ0fRFis{8EW0KVPr zG}=nWJ&%_6@JO!`V74@J%ZxtH`1Ius*HydnMMGhqU0vLFU|((j!s6b82lj@)t7{bK z5%!&{6_|<#y{I797w&R}ll-nFxFt4U%Nv{M4#>6#aJ{$QX_?{_1=p3Ey}?yoGYxR3 z4X*yM9X)mS1-8Ph4lB?r*xzcW>8NFgc4^(q>pZbM!c-K;Eo8xkvlGykKJO>(@;$2* zx6Xq>SdC$m4Ete?)sJ9%P||N;_X=k~K7w5YTx@!su{bq@sK#)9-sLW{jb$GW(Ighf zb2@3y<7-~w!Z>-pKT-#->HHGTe+=gIOLywH@26UIqS0+!h7U6d=fq9VSkCF~Oh@su zq(iU6U?51hCgL6kyU{A%HIR{5uj@Qb<&a9{(=wiK2yo3L6kI#s>a29Ph}xR*H(+j; zqnsrViwWMO!QBYA>0a$6N0|kS%?e5^gSy!zUFN#k zAY~6{m`M(9eC&8rLt(16AH%xoCx&KtYY)hJ~tYz?bUh}486kHU>JG->9OywxGuyoE6ujsY2UsG^)G1eV1>(Ofxrp-S6#G06uh(Q@6*2IX+igcDO-CDK750k2)3I8eBESq_s!Q1)T;*;_HQJf!1M3=A=(~x9mJ=W<9)K`wc?e+)mS_RE%eX!jXRf(Rn)I zG+)xp%sS-=%c&=8Jk#Pxqb`h*#=zZ*Fq>4y!YoK2&*io32ns8|R+|MAc852LT8Ft7 zzJ9bYyLU9`HI0!cwOGMH=u}?I#?st6JGb~V^(l+vUZr- zt^?8tT&$Lz%{HOZ&QYAQ4Mig%Qz`tpmJg#iGtlszjJDXyI`7xzR3RXV<3F}}Q5@~6 z#H|y=*b<~ze5waK4&jDQkfDYU5}^%(g(j(SBbjLILu}}QXyT=cAcmBRj2-@5;yfyZ zPo#z)93Bjl2AzWZc>X69mp$@Co!@`oOjCIg_)RtcFWTI3> zZE4Q~Cd`o&oHQ{trc9_YQbv)EEtQJ7)YCqS-b%EO!9$Q2Ln6=L6V-jsARx z4tIGq;H3IZNwXg!5KFWai3a)Fe%t5Oi) z4^pJp*oZ1we%L@b>W)$obz_$CXluM?TMTjrekhPgxx}W1XOp_~Y{GJ|Od^Yhb;08i zNQ`h^KOMAc91|uD=&2-)DrViWvUUsgKrl0_+pI>AZ#d(}j6XhU zkW_o-3?PjwfqO&q}&&%dW^Kcj{s>*15H?CiNSxOR}dG@3;9#2%wAa_{ubS zDkT<8EV;;3b`j%+WZPTk`qSgNaRp2TEXithYh_3KV#UQrNtA*KymmyGxUwOGo6)kH@u-#x^Zu*^f|!C5%@m9C%?W_`V``R5peiprPAlW8xK=HkNmn) z>1+`H)4(wYeEdA3U$6iD^5?)Cf24ZP0ag=j{s7w@V(?X^S6{skkFUN88NugW29Uba z90TxqYw4ah^ZOy>Ie|T-?B@E?E4zZY=Uc<)2iW*?{tIA$DhH8EzwpIZ9^vG|RT$`j+`Y>hS_4fbr zYyVgAdFum}SN;#$_hoed&jHW{lokQ}{xSUFw}a2v@9(#;PulO1eQ#O#TkQ8I(S_i# z^vm|WXyGU9_XjQgFI%}k<w~#J=t8v-UlKj`w9);(VnNM-6^nmcKjxfod7Vz_c{|k5n82LCL0n7mo z0FD4o118<%Zj3j#l&OaQDR5OhS zjms@GP)7f~nAT|AsR38V@`g?5f0xjIFWOn-Uua~eTq!UT|GO>CUP~iq@exP-F8@;& zcg)XlR)e~u^Rf7BHWKE)&&NL}hi7D7BKdbo+4n)Cls?9M@O*>f7nFZr=^=~P{Nzxn zw9E76K3{*v#P48A!Uq&H@xziiHcU+Ldc>DJ2UN%IDrbHLq1?JOPH)3B;`zjIDNXl#x{=Pm-9!?h zdq!xwAN{!MQ0%I_RGRg5yWjUQMOTeDe6GyXhHrENZ=3iQUEk=6UOM{wjt|ml$koV! zUfz%XR%!CS>almIYm8LVIodywPbc`mR1n2}XbyG!3Q41!XFqYe(P`mKg2Y!4f4|{i z3bTYibH;d7^ZDYFg`AII+mFbDW9 zM%ssq{yt=|Bpx$Fl=%iu0q|j6-1j|F5=+C{9`GjsKL>aU1uQ*z5#FN)>BVllb#>3h zBfaK`TAW^d9!FzFD;JlrpYdX&1J6Ujqa6QaCfO%Ff9BHZlS@ly&z_yX(n&ja2c@8D z-yyE|F}Q{*Rd5q% zD=k&hL9=oN&Wl=u72N53RRh-AomN_DK6w!@CcI*;dd0e|ip9fbo2ppZ<9sT|a?^|O z8r5#%iq(F%*&Ggss#sFoUBqr;eAm!k%d6X6!%VjHHnAglw@Ge>O2~bHuLQ9Dzw;gV zgU>qw41W;7*&09WNnZv$0N{d={cshT-iYsi3t-xB!taOh&CgH1zfP2|e}0v7;BnBG z04`z-y@^Kt9(;3uf}gj17JDFg9wGcIUn-UU0>Zw1SE=+v$nxz5(zBz|RBzD}Zv<25_9fF9ZGx;I9Hc4fqUzGnl^)_#1%l2mAowZvy@n z;0FPJ8}N4kp9TC~z~2M>5a90vJ_q;*fFB0@L%=@*{0QJ51AY|nPXPZE@XrAM9Plpy z{}S-80OUFMF#ipJdiUdi&jWq}@b3UW3HT|%PXqov;Aa5;0q`FI{|WH3fd35mFMz86 z>iGkJ2LW#cJOp?cz&_!t0FMA31w00L6X0>cR|DP*_!&dqPek0&F0XXG* z2Ot4F0eC0iHv`@UcsF1d;5`7!&J17{up2N3*aMgcQ~-McRX`0;2P^;<0s8>^0S5pF z0Z#(n3wR3fG~gM)vw-&j4gn4WmHwqo54Zur)n}Cl3z7Fu)0WSl72jF)Cz8>%~z*hji5%Avt p{~ho@0RIc{KLP(6@NbFbJrDpTXF;lxx{VXNiRw{Xtu~=;H+8%GhgRxj zC9T(ro$)yCs#iR}-`@M&d+vP?kJN`VcA`r@oO|}!XPliB zVOxOnbwt_*cQ<}+(_j9e2mUdHU4q+3Smt3G{LSG{FWejO+l1c_@W7EUBBPcAlF<;9sw(_NUDn5isQE|eQhH*vWcbvnV$1{KQjYlVEkRM76u-#H%sPUhfCNPe$2;b4E`+Ka~A-GzhUt25Y7Y*zKP0!XD8fe!LXsZJq9nq{agq5F~Gmj0e%+n=Q_YY z0{E8#cny9&kHLMu1N;{Of1v~XmjQpV1N`%VztjQ#zXJZ{4)B)%|4Ik=zXAN^4)EjU z1<~fH~JT<&E;~}yD1Ooq%q2??pU?lbjNDTjboM8N~N-B2{nC+ z!qLgaE3_eLBcbJUszY(Wp$h~Biz>siuzom{xSEV z>f-E$%1o=?aNjT*S=|2uIAK}%UjQBf?n`+SjRc;ZaQDC^oN0Ra9f0Qy4kv~e0pHsJ zJ_`5<;Aox=Gza&zL53JfydQ7&&!l?wtV z8|B63T)nZ-3~l$x#o5ZLLy_j4C|9goPTKm)xlxAv=B05ux>#L!@WM#Smq-4eMtXeKQ7tH=FPMMc zw~*4zC3Se0U^{o29Tq%U9ash2%YoruZjS@bJZ15J1#tFzygWVrGk`~cXXWsZ0jGS( zCi#5kKw-$_!!_>I)4oKxeoB}0{*bU;l%ZF3);pd__O@)1pG0;v;4mY z@O8km>E;3d4B%P*j|2X62Rdf}f2IR`7Vu{QCqI0A9lQegbMSk9ydGYu%p5DXW-cEs zPfybrR?$&GMH+Eoz<8zBD*K>3gU;2;YcQf{IHuq`Ua!?mtJLPR1oSa_1viJL;b?8? za+y}}!G+1{LZ#uBPuH(h7Et>w_S9VYk;<&}#Ll3SLx<<3LZ2@$&R0AGMK@2KK2}+z z1^0cd7$y;*oo-%|o2)cj{ z&Mvp$Ikr4E2X3E(4Egx78!;j8xvwUfaFEBv4^J)U5477Z1bu`dQ_L5UMjfP9Z=ApX z*pzTX$kF-~WMAa#KSf$ES$eP7JIn4r**o>*|Fw6rfhHcdk{I{_aJo9vs5k3#ttfYX zAbQ}`#HmPg6fu9*TBQ-?M~3q5-jd=%Rlu%xP&8$yAkkj zW#BCNJ|GZI96rRCpTWI$5JrxP|6k$yhj8ZSZ5SI79@1fxN4N}V@Xm+$H0gxjXvoY9 zU&Y1Cxw8`|Cr_R|oH@ zA)G2Ka=0*cjUxEs7bhOL@8ZteA!Bg(b0Ge)2VBpGk-ZbY6ba8v+xzhHB73LKUNfAjGFd8FwvoeI;3-@g~|&NK=C zo#35trcXHIGkyPlL-5Y@J)G(Lcc$&%SqA={^5Q#rU^!og>N4K@+@?*3)+6DC=^k|M z=7Lkczx(M((g)a`01ne6&E7Hm$vlkrJ00R}ep2I+uii2I$vnRXk`2V8T(+6~dd3v# zL_=kS;=GYOQC=qumpJ5-VN91{7q%)LhEZQY^TuO_f4ku@><7e!O5O@sAKnKIhp<01 z*yfv+Ci){WjYAej8td!pA1I(2dA@$$!g>+*__{mHA4tp7J4R>yxAn(&sed;JdjeCCvd@^6eB~J_kFI#;a=7(X#|MbE?c#-Z;z2oU4A&!q1 z;(o03;eT;0oX_|F>w7_3_+uJ~FZ}uRJb&cH^G6qSx3ir2{`qa{_Kv|5Ka>y3w^zd` zcb^~6D_zD%SSTOKKXsV;$?(&N%d%zNp?d>dPXjs=)Aeb2cN}ufrb#|L-`{trq5CJ|5EX zG(429YaEKy;a%5&c%A{Ws=5c96o9M zP=-I>7wUsAGj+ZESf_8dHita^$G83KG343lkVq#LEj1YJfRM3_PFj9 z)iZ|UNy=}B>ImV19Ja8GSeIB1!iUu@;(@;{1qFn^!?Vrn+P3vb z^pkM5L$@0Zz9XO8$OF^%Jg~gzM?B$;c;F?rd13s)00(hmoeA3)#=jGJp=`*L*B82! zMIT($o0vY@LYb;0Kg98J2Cv(Fp1?yYPaz*ZABdW2Pnaj4w^9)1VOlO~-+g(WxRouR z+EK>$a`rk*nO=Ym5!pWxZKg{+&pY+#H<1s*y=^-2$#nisY*8Ix{(QQ$+ab+RW+zOi zk&f6g;mgXbcZ}aP^oJznVOx71;gs{{9xYqy7Sr;1V%Ui%w7dxeFa2RSVZCFhX>R?X z{{a-o;d|EJd)jnaM|}Cy@5>13#O3Z`Ru1=impFHjdJyk+^DEB!y~vNWL&Vu;VIGHJ z1%v%DG9p$4d!DsQX5FPr|<2Dga^F& z@SZVZJ1J9^8+l`WpvyLrt}j!*(?0O=Vbm92-X8Y(+qI6-Z;$kaB_7H{+$R#7LRsI6 zsvJSK)CHzPzNHNCP96!PJ~R+cxVIHvrwG%$tlxVJ=)`(p{audVC<8tWXFBws$b>T; zhI<{$hBFdwy8|JkLzu^DJ_;eBAkW655~< z*RwFspWPJG5xr)7Ps`J%%W<2}Klvv=VR-KtkeuUR|BGef=`sFhv@_C1JRZTv0drD2n+n$Ekg;0;ZoI_pnW$tCq_;}u`yS@xew!LE%i{oGai*+AmCVd2!kC(A`$59Pg z-V9@(f-dAQ@|7|+`n1yw^ZFySpg-&{vuvn)e7yd23ioAC{pl1=nAab^hx$W5^@r&( z4eAe{to{(s>koN~X@EzDh5EyA${}>U4e@b_Pdm-H9@o>ST_TKOo$NH>A%C>fMn~*4 z<9k}3KHW}sIt=d}1Cn$6>whtCkV>lm6vks&d%5}ki!W>9#j>(IW#<5Y4Q&{8g|Z39 zOq|2pyrg-9yyEn!PsHsR)44Uy$+7Gueh|j^3_I2#jHL{kGIn4*&VkVF9aEYZKE%%j z(`Cxl=Z~;y&?SuH3C2a9w{gCc>9YJ7);oqd&nMSE;C}#Vf7|eS5KjAkE7+l2*l%P! zK2e~LA)Il*yXdr+o9AoL#>jLzE<;m>4_83!J(0n{%yC9PmlnZCBOd- zzg=Vs&wo|tt-pT_B=8a!*1q-pjg;&z-#qeruhjnOSx<{$ z{DsfgKUmCy!r-^we@rCsmw)z`f5w9R(r@F>@k5uec(l>Hv{pTbq~e zueL5PPhUEYZ9*R^*B+@fg4ZEkli9ph6 zV-b4@-W1k8o+a0byMKwrf~WqZ&n^G09`}uZ)#sl1-5&R6bJ!oXr`O##@7#YF>~;U? zh;v7w9)J3+URU{`bN?9l@A;B=-^|<#{``pnzJ?^J} zzt{bD*ogGV%{^}PCFg$mkNezz-qPdV`#Zhvk8bUC&HuC4{lP!%b@Ts2kNff`d)T!RtxzFwVwsZgBpZB@J|GU@y#?PZ)^4>o8t$)+!{{16;?wh~e>)wko>)&~`*A;%N z&-MOgkDEQ)<9_=OdfZ)qfl;bW3xU(UC~@XvW)nazcE_m%-5L+SR?9;E-ju9h5gvb#@?3p%l$%3KKI8Yz#}1 zV8SWPVl=&orT<_?OEy7OZWNl0g3YM&8%8n7k~78&)Tb1+Ah#n{cHA9gdG`66PG>kj zL;&*^4G+&qfk!RG!v2b=Iu})BlhJG@i5j;6HkZmX734J(O2h`JzB0>wd|-lYoa~;R z;D%b+-It?y_C_fRKI>YHL$a+ii*wFbzavt9 zX@a^f4JaT3QQ6;e;SFpgVdl-8MxKzSnAVMRj*ZEGgmS>JysyP~@Q%l%uEAs9^8*Vx$=bPoKC>WBo%wOYDEP_kkuL35@kWXdY&!WlIs-2dNa? zOa~L!sLW$?RHc!d9!U(GYV~R<@>@WyAgm=x_JdLw{o4}C_r<%^Q=|)7(vd2BnryHs z(*nd42m3QK;Mkt|`XcyLAKPFrn>52n+^-oXT8t*RGdM&Ec5MQj%3ZweK9#v*Hgk|$ z%vqL%->sjbP)aCB4w4O)A+HfL#?6*#Ze`zP2uikKhOtW#OD(-0Gaa7VoVjrj<(HBQ zH!sW!qbJE4EJCC_VjmZG+ungNv*AEQAIQ4|j?FJeSH`_Uk)#VFY18ITcvpp=P{6h}&l zxH>9HF;tRL6mJSmHj2gxqzD&6?F*$4uBzU-kq8T%0g>39s)G#D^m;QkJTI611!Sk&kLE>>O+P7`^B;)N|acd ze4$Xn$J)Sv9Z443sWLl5j5uYhlmhh8kfa*ZAju@ZrI7=gWH?0B z5m1(D+(`u^82tQ*4-oReSkf0m{iVkbhedhr~h4I6xAooaj!TLdn5%=?2(yg5+FDzk0 zHcl#ORXDEK!-+z?rVU{@0^>iMU69%^HMf#Fy66OLf)JKqEIp`{SkdsMx2 zoXnPZA2}VT6vUx+r1s4FC@EtVdGjm0CA;clWMwTKhwTZAZ$f5nP<*qx?f>xg%jcdb zRT3!+(kkdEw11oEL@~O*(n?|b>YlUk>Jo>@=D9L661?Y=iIKJr7e}ld9>PIp_>Y-Y zJ&acD+ypspAsK_k&7^PQFr~0JY50=H6L3Ec!?Zvy>D@+0j$nwUX_;Oy*=%}#>Ifz` z!&w9QYam~Z0)9pOO8D)^?*M+RStQ5eME3=#%M<}nmsu}05RJpg&?>WDon>FPHan%& zghd%KY;SaBKmXQpBLjP*79ew_L#G%Wr z`dkus&6ou(aFgTg)jjt_AQs&jA(rKZNikSTW?&gUACQ*-2_K9`u%4)RcOk$3z~}+y zYGJtsIT@G2h+%M8r@S@_L#s!aYU)AM`W1-Riy^>XyLyDvci|Ibb7~Co+M5R-e3BPm z++;n-XQ6~iBtFB#9Yl&ylMW`-5DSr4A(oNV6L=WUM2*m-97a}|@*EzE%mT{D&L?Rl zp|PzbAg`-HmslH06!|2AmCY?{9#B?S2Vl#!B2ydo zMo`|oOtqm%W+YjPxhr*WCsUBj7|L+%swu9Jjmisk&EVBRaJvRUs;1OSCP&TP8pX>q zSR$xVtGZOH;usK}Nzqc#zj21!c}^-@rg{l;n5T(l$Qq_VBg&rJ^|e(T`5-$f>)3n< zlKZH)10W0p;tj!UTFVnF7S+**Wm}jSi3KW1?M+IIv*K}rCM1!-@bGM9dU-yArIopS zm`RN}JglX%6ewv<^dVOD0dGcQ+`t$ZZfrEPcC^J1m6VhQB*xl?)Qizlc^Y}K@?3%v zEx~pyT^$&t^%xn+d#hyZ6r(w9Ml!>9sR(za2K6%b7Wg1ju@ZtYws|_zxl76IOO34= z2iRVo%Y`9|8@1*t&E=?XtGyXPu+#yuN2A_~uqtRQxFRr#mqcPiCN*bOs&;JBk(|_N zx+`Xw)oO{UXQSHFj;F^ z$kFUlL2?l=B$&QIXAY4qB#V5|W5SbmLh^(I0FA;vhLcOrq;F;l(rz?A-T)gwiIX=X z!@~@sVAQ;Nk!sQe5AH)2^P>j~ccTvA^K&+gR8LH6u8A7F#U#A2$(o2;D)By_ z;dXJe$W+|G%!-@T5|LB)ffQ&l?V->fG&@HnWJ?R#1C{1RNyOTWVv`70uZmTH$mL0N z7qQ!5C>^EdYc(Xq3IvBGBZ{W2ud0>(O?XZ4@u4G}ZQLks8pm>so-BohZ>F(oLOA#$ z4SU;=Zf@g%HU3^m@FNNkEQ(T+elv3r*EY3$keBpPW|xX#O}m=yfyD8t0K-;%$fFh? zLYp7=@d1s~lmemLH)gtC~GZkzx_O{ui2 zW+pM<;MpiKinNP%S(WjO16gRH|JF{;N|Cw_v80Wi z897Pt8b*%9Q##MWj8%~g10l<{ssgMG!qldvESkoEorz%TZOkc9>PMs%W$g_^CPbP8V}JWmmRs)Ds6=$sT#NJv}j(hMu&YT#Ms5S9xbkx zDYDnO)rRTP_;~Tvbss7Ye;jxvk_LjL3>V_wsGriV(Z14nE0hzS{Rq%(Pdw=J4Uvcs za+6V?w-TydDJ~2@F&aKO6tRv()5!sRbtM^N(nMHBC99I0L`5obauP{09b_+MmVByO z9GHSa&vGz2FjN>V=12F(=3u#I1#$&;ibC`lK0fTAaNX(K75Ye-&rw5Hkr%YsNL400 z*!2_&m;mc=hA7Z!fI1Li$!cz`5_mqO(G*W?NRy`1l3HA@)ev8N>4sjbKBW>$n8k%)Y(b|A-=E+$5E2Bx$%$|g)`MnIZv zHknK%$YxB_q-62|uYzcFtp56;Ts&}58|P<*Sn)B~qrxPE7gaSsLJ}27?3ABoGn0`r z$Si3v%tkGlF4F{M$_&9?qS_n-E1uv{D;Io)gre^Yze;MyA=QZuu~CacuP-9a46Ug* zf+1Gi7eO&m$CX1Mdp=Xhmf3bruOinWrs$ECybucmA??s>jH0~QG31otozX#GuWiax zTOqL%2dzRIzBq$X(X3jPa<*zC6KTkiMB|zamIMWXWZ2ZF7ax$&N72bc#(@&|`>pxc zOq{fp30x`j5Glh%j4)ChZN+zUHJN>>jAn#%RU0JVSJ%-k(oaW93yU=pq}#PlMi%`Xa;61 zYI0eP7*EXg-Rmb@Kx7S;R@bphYFnXsggK3^llFrGhb4 zqg7dr=jEFC41tA+oa~deEwZGg&E#q0mQF$yli5TW3pdnttFH-nYj~h5sZ1GnP*Fr@ z9TIe(suw-5XtmN&O&$e_+9_p;9h5~nx~0tMT4YEWFRFvV5+A>^=l$=0zgLN6VUjw* z$!luIo%+osr&EwnS(&I$=EAfAh1T=?h{gtEeli$(98cXdE=Sj##t-5vTTD(? za`Oq2czI!(7d}Mw8LXafauNKMa&5U1r(<#y{vjHc8@ln~OmsZwEQM~L#5A{pjNEoa z_th^ZEic0d_U|w5M@0+cV67UHjeDS8n&QUNH((}Z3?;l8*>sICfNZ`q#|nMM=HKu39^w+I__Mtp0<-rf>l{52%ky^ zY|AKh%S$bt+*ND-Q>mpsn~QKQG1Af0q$!OPOht%0Nz`RX~espvmrwa;V_(icuO3j2+?`=#jmc)-T|5pJzp) ziy$C8h;d&!HlnAhmB_@$5!dRum84f(lZ#+@scJ`<<5fQ`3v7!nvXQA->0h$~q|!~V zU_~2+*)HG&*&y#)Z?d>4Ld`OkGoe?O%V2RTfzgE@sTfm06%eF@fW4Vjv_n2y2(wx! zO4z&P_V12!jgLF)Bins8p07 z)hjdn#wjx#TEjrY_q8SKn*0@1GwJqH(ZCSXnyD{hIrcQJCyAEi1{Tcb*J@QZqSQ}i zHTw-$71ggU(a*B6@}{*9{DgGu8?NpT5Y4{J?})J#JjA|I$H0;6E#rmu+E*$?D;3!y zWGk0Ss8q9DSQ)QmN-c4!awb0s;zp6Z>=RgBl7!O$jS!+R6557GRS>#dXd0<jWHPC?~PjiGBd1Cn_i2! ztoh!1S!o*BYDbcMtjFKDTZyTBl~}q=F!q(bf;phVSReE{jhae2m0Gi+Z&?lHdg*Cu zM!aZRwX0$_32^7F;X^Z&+?R*>U0AjQQh|vxpooG`Mpj~LA9YBnB05RGDq>VO9gqo;Y zvRcZuF!SHS2LN4e%7W)(d0g_CrJR~xd<;o6%`{y}<=F99fXuK=2p{d#mrwZ$;!9Dm zdXXW)YR#R2s5AkoPEeim@VF_`rrn)MGq9a>3L29Zs3(oef&WT0yGz)hsYdEL*5R@Z z3HGhoP$j5z)~ar}{#O%}l+abMeYsjp*RIP^OBZhCQkNxic`iQW-ph4=);Px+us7Kt zHz20^kY7Bkx)YnArc#y!22*?WVim(CXGKCfS3aI&jJ;8?mC%cw5z-5YO-u|3L`APr zlQi*>YNxIZXoODbo88PHToR*%U*p6`)g@pTkot{&)528Y{nNUkk;|~v;Xs|vW54wYhkDkgt zEIj3R4|dL5_1XF%^a>jdNFUZ4vGUS$-gf9AM9Y58};%adqCe3xT5^5Y7O}~+zq;=_ss+**h z*0)SvB&KG@vg6M$;C@c!AZlTHM^eHYmzZ-y3BHZA6}4`$_kD?LR{P=M^SH4P*AL>p z&eYOYWbqp7UA43|y$2Vuga=KPM|M~6|lNv#^;o{*S}-o`qCB=%s{W>^wN7U zR9~2~l~7|oSZ+Fl30lq@??rD;mUeO>dWJ zVNrq2-N9&+;*IOZsnse_^?IlyF4MRs6Z-D}jU> zGQrFSJhiD3uuo{b>0?E7qVaxn+T+tsJ0dDZC9-0I8}j_ru6 zdH=TIVg9fsW)bzHrQPA{xWV%7p~BrmckeF@74!MLry`Ve>ke$&Ty;?vXEzU_gKo+A zE%H)L{AUn}_GpZQN|fGJSVB*0{zLUf4Vz2+lisHkY$3&dzhtAUSnCa`(fTXJ6t!f> zU=+PZYP=?zO+m8%Fkc8Z;U2(#sts8pH@L_e=U7#AVk97Pcd!FA!;(;hf@cIQg|1qM z<_C#}@|~{NYti(D%4OKE+K6r?3S>(ehj~c0Z8F5?Aw?vA9Yiu4Pel+ZB8BT95=gT% zC&gBym>s)w>Fui_O^$ctF0h5C=#iLwL1C+?Zu)dB>OES z#lwch!Yyk<;CX zj0X0k86V?83F=0qTXyo{_V_MD3SF~v;Q9nx=$f5_ z*C*IQ*X)EAwM%x2-Lg{{39L~!BHglsjqt(23L9%|v0HYqnSNs;otEx-#YOdq&jD#W zw<4@NnWbw!KFwmPt!O*AA|&$0Pp(L)y@8`E5+ZNln2LnR8#t#TA>z-Lz?JDK*@}Qu z5-x@{F?CQyJGD1*Qbj`T%{Zz;sL5ca>t4(5XH_IDLFQcZa~x}|^#1yk(0~_fb@4z@ zNu$wh=TKQXv%GM;R$aoU#KlUc(NC*)F*H6K2p>w75PK+p0Eb`%Pl~tEr0%o!Wje0b zl+WWM5c=llY_H>n)DEPKKzL3_AbgxTLcx_6TQUZa4th*6d3}91-;43jY{)! zy*8VXT$)2jAKzKS%dzp&dK+Voq!Ql>#76~TA z($vD{{+iUzW4<$BOG-AC)9}=tYf?K`U#T<#zDO=bE$l^HliFmpR*`cA0*WEEgW(}Q z?bNg`oNVfOBIht_4Ctr|r>KRUlMOT^F&)SG{j^?7i7!Phbq-LQ_DY%JbHzCK{Z3$2 z;mqZ1O-)e?PXtPxeRLh&^C`}?$SF4<8IGHbiS(jBIloJ#lPSD#+*BNuag%gNlcB-+ zN)rcs;?OUC_Q4d-Ts@k@Svp!nXDT|BZX3So*$URT75*%F1JNgCNjfKIraNJeo4Kay*EMCW<~0?YXZe%ShW4z*0&nX_!wNA6{QR&zCXc)r$T`vkL2Yy{Dj{ zQ1uZRA!2r;x&?>&lni?rC=uH?uUou~Y(}%C66|RAG0aV+s3SUy{6alUzoUdCMUyOyLWPJ2}mb66>R7J0B5|qpqLMwnm84aa)h%`mlsjHH+ui`LmaUOj@?vG>d1W11-=jEXRZN zu2Beyf^MW)*C3NsiH$Vt8e|yl+M0!2ch3}60L!Z4r>kax)F9U6HK$5bIBX5)6;9~{ z{E1q5zKPG?bLE*Z7DENMhLG1bIo^tvo`!(!Mat2RnPF(TdM0reqs9wxkGU|e!eH4E_)hFX<{r6$kJ z>))0+)(NR&l?B#^%Ps(X&Wuk@^V>LeQMZK4;X1Mf2P;;wl2!itlhXX=O$+GXhHv&< zts5Z5n?w+pIjhY4Tt|dey~!bDenSAxc<Y{Y-g0@l*={|1ZShO zi`q^nQUGXbJTH@AuacK7nUzAbUAsP}79%t)K3qjedG1)WZ~jq1-3|fje!NfH!9A%h zxFYKfkK+kYb>pRN_vS)>Igp21lI-YB;RHwLbUzR$79)6hV`tR(tg_^wOyG?bPr35E zb%3T8h9i8#qh-3C50gFnMUoc#1ZI#p9#a#ZXO{|v&A}6f>MmW_F#x%zF*$^a+mZY> zEWX87LDoev6qXB_M_iu_x4a1KH6NBDB@;(~1IM2P+Dme&!%ei%;zEMq?shOqsO#-# z513dfX{3X{AZr?`el;=v9j%tc*f0AUg9AZQbSON8#dJ)&lsf*(2FGqkb)*Vgi-s03 zI2|l_?NFdd`P#>51T6&{2#rBuQ-@;x1K{e4*xxvvY{an$#Ui6$ z8n>ho4QyYyO&?_tdcAf@eA+IhoksE%T7tva;4Somm~~CG3P^eLM1!v97Dydc(tdWQ z`w0YQx54Uloh6Wzt4hf%bhq;WqQqUSiE0x5w#W14i~)3Rf zEwt3OQVWz01vp7>9PJngUho9g7kTzEU&o$L%O+IYjxh~ashwv}FP5$sE{btqh;@vG z260GZ2Ub*6ex=)K-#4Y8*Vra6*SyrI5FH};+%bmbjwhsqX@V-!Ov5}M9T_$m#avQV zl%x2?vMSAWQ06`(=cT*qnHMbWRD^t;7lUfn2$U5K`i*zg4>h(1m9TW=p!%lscAga4 zH3!ukgyX-Mf58@L^@`5&-Bers_-j1G!c_|q%crB#fz?Fm*hIuagG~-M8cPZL0?1|o zGOzKN+Je}_xI?WimgibYgX=^yDY=Z!oo7DganY2B7Ly6+97=PvH+qb)$B;|u-{aks z$i{=dfuo@iE2Vhi+uOFFSn_GcNi7SFQ?QTvO678O2FD}C8>x9mMaX=6waN?gUPxvg zrRIm#D(}^~W3|e^)@p?a*REEinypqb9~~Kv)yBAd&D9FR2yKGY39TPN%>WYnDX*_u zA@WAmia|f-)e2d7^Qskz{ZOlwUt<3{sueb9bgx#0>#A0TuGOmWTB{WzT)SG4YPMR% zeEe{#6@+o^Y6Ya%U#$>%qiV&VAMaKh$dFw_&}G zYE@*lvaU2bpzIdKQ(LkN(C^yDmu>b?6K#*NZIUXDtp`GqoOEnEMAPoPZZ(V((bEf( zXzau`Wm|f3iimKG@1}M1#BG9GJIJg`@poiPmvax?%owLo)NGJ2Z(@(XH^;~FaqR^N8}ukX#V0qRV-^TY2(cDJMoAIySu7YC#l?pOfiv}bV;1W- zq~K%<4;Zk1{D)o0Scf#I>nx8hEj8+^RV<*a)Yc;I1>%Z?#_|kLT8Nss@v_O|j<7hP z+rJ;e1=~O3B)v3bc~X&QYv9Za^I!+Iyp^JlW1Nij(OkV_VcdNFaVp0L0&v80BR-Dv z$Wn(d$T2L~P<~}#aCs18D|BW zM_iOYmh2^0ydSSGEYuf+``w3!?O=ey_|ZnAyrvg{-lKgU%0O}ns2pZ6Je;}) zR8Hjp;>1LV+7#57bQf|)42&(68`Wlg5gSl&YFsz6$=&hsjrIK26{bI(&nPpF&nPd* z74}%x$4%#GIhvQtv-K66I*r}@m{w6E6ste?(fc@Te8M`wFu5eQEkMEJ)zqm6B!t7K zXDhnTswvx?f+`h<%dGsy!6Fn5wj2oSl{K9AhQl`O*eo6cV(H0Ja$`IIU#K>h;~U`# zKX?4Zsd{}$_WlIu2EK1`Hq1PZ&}-m$kaK9QVcvOHdXSY&VA&tWCKd$?+_6hMgP+Rn<-^ ztFdZ{(um}}$($)KoUhcNN5Lt7rKrY3gxa)Dlnbc-%!^VkjtxWT^$Q5v4ZwGOf6Rr@ zLo`_HoTsuk(K?T2$8@BzJYA~i08VN)+p75+9!}O=znO2cHWVwosZBh1uqn3%%V~tO zJSQNcIgwA>dN4;hTB=|-57e(#ZRydyCUQtwN*>ReNy{fi8JeoVtBO^rzMLFanVH?teOV`3Uh8l3bzCt~2i*4F(a4eg& z1;%p;!~NR=l}o_T8+=urvns%a$UGaehB^*Iw_L+9ewAo>5j)Ik6@tZ*)!}O#pJyJYELpVH7Jtp+XJ`nW zS{*xcL{)h!K^d9CwIyjSkh(-<{~)VJ`T1}SqTuD&uqCx+>5ifXP*AG+Jl85hzHy|| zLKBjeI>Mtm^?c6qqDk9C5>S5-+uRzh zH1;i(7Z=&>&NZcZYetKeazj{|E~9cH?fUe`P%B%=klmFK zCZv?3@(kL|oRQn*BS(#TSp5NWGguA%GRtkmYL`GraiWOAJ<0-PBZ zv>J(EQb>1gfP}qNT97P>R&a{t6125uWs@qX24y+ds4s}bV6ig1;mq2gmLc77nl|Ev zhb?*F#Dvvd&v*C8#}}65u%?ex8ui?UG)PO@s6sBO1U><}S)JvIkz7t&uK}D^Iv9yj zqRF{9kYUi%$*G@!^1o+3oYus`9nlVsAHtT#LWo{Wf;e8iEszz0?V8!Xs16ZOXF@=|-l3Lw;wyUQ}|YtYUeU&ir(IM0l=wJ9`@ zA+M)!AP`M#d%LJ8>Heg0k+hN~=Q1vqhE1UORKgS@n-YSM6-brM9V``WB@#0`pcOBg zwH^19^|P>ncAi-w;>E0U81Y)|$z+j}s@)OdOY7&l=Nu_6;6lxfli467p)YOSHB#YW zuuLYES!N;)NQhpG>7)XZ>@`xyyhL|;1#eGKQ=x5{VT2Yta=>bw36mSpVL9%_)RH$s z*J1}p(|4f6gCA*qtb>iMN3H4%dQ6y>iu;lA7^YTlG*8F(nLjl8(dbBe#-&6B+K*dj z*mv`PsWIM4i}nFa!$aJSu@rZ|(Cvg3Qn?mZh})SK`DRG?cO&kJwQ-6#1RLQ+lgB}N zBuPJ13oH*?c^ow_cBIOlQZqiXk9LQB%c_-vY`ct5oRQr~Ha zF6tD4*oYamOWqWlZOG8UBC+k2cqU$0>woZ4#5lxcitdxqLg?MCfmE$)gs zrB*(UkdC4gBIpmr(n4JYbtP%lt*ufb-GEFKb|d0+V#dPYc4ks^WYE}>{@;h>Vglwf z%w#h7?2gq&C`tI*9@)eRDBXnJP<35D>!sG)6QccJac)m`f=RzWZhQ1P(elv zKh?A`LwO#bo?zqIS(s}q;}gdM!e+E*hW7D_Ty@b5I}PdPOiCAgHD!<{)gjFx28Zm8 z$dDcH98fJ*a3@8xjIkykg~Nsbx;OH4|~y#7>YlgyAcvr;xjH&Z-R@1PFEHaXLS z;(XQwXF6laiEW7^^K4_IEK{H1q12BmeOAZ~tx4yAB-KH0&TXQ0B)lb{bL0p{*jVzj zzi})Zf3$IZ56?gk_@yGq3`xpri`J(bHcWSDhNGxlri?0d*#hVolPAX+B@UJRMpa`&JGUt&`UnmufS?c4!f; zo^OJ@$)$L$!3%?7s(E6IH38DlOk8~gi#hFcUPzrmyc+j@ zEF6J`s#J>@t?{C1Luf8lW?~PQ9-0RuB3>b6gFLB;mB#(G`gB?8VJfMNFN=DFlB9su z333QmWwDGpp;`o(HlivF8Ft1AC`<-aIs?NDDmuQ_VW{da$mDu1Wi3o@NK(bh7p`QG z+w-(egbDIPzqHSg5~;Hiruf@nz-Bi^hNETBkz{t< z50yN#L$2|H6(N|8Dm=1~ROC!MXFQ}PwPGeD?@H0K#_aKFi^dr)#Iq@~fsj+;YbmIp zl%P$iX@Je8sYmm|eDAe*Hh~uKV453iEs7G;FmWot42r3UbwrgJO`LCo?Rci~f$C9} zRfkn6L{V!{=}#qPGn8oSK zxFSc)j?64AHmfbH)TQDIo-K=m72tud%b8Vhp7PO!=?#O=h?S`U<-w(p1EZV-kJndH zE6)t!D5lissxw$;un~zAhEe&1)B`ou{9MWzmu0!Yid_k%1|s%LQuIiG~{FFSjIBpiC{8|bx^ftJ*GEvnKKa4{Y%Sw+H!N~I2PJ8 z_Nt>(qMTsWT6Ma-Se~ymRA}rW>tfcudX?GWspl^(tt6WRIfzoAAa7zLyHVWgM?cZ0`uKEZdpse9OPKz4AEYb`#xb7(~|aW41p zu;-qGNnw>s&``B!E7o}rXfT})bOr`b95IQe= zUkKXC1uA_zV#yQKV+&+s4+z0khNQH?5U~T&wjC0p;CTe#d?RhKjZe0t36ufA6Q@cR zJq~tr;nCD}uakr%$jdd`szf9npTHen(7%W7h5(Vx6jjNJB5GcUII4&~jdTo2O=IXT zEyl>VZ;?~!rnj;AxDv(o;8{uOzBnu!=iarLMcuw82cYo?35rC+tV+-E0%&xyAue85 zZWS3mUTB`K#sr$dlE~2#_1&U#NuODGG^?l>V8r+B6tBsOac__~;x|w(MCaL!LF(g*Mg*yh{ltoyxQ_3lZpZZZ28t!_3bW1|fvI!s~y{V9tf#c@0Jr z2<8H-X@Wc>pG)zHQO9D1XmP>shC2~!*9HDPiY)gAgD)?uyn*bYrB6CFg3-13M@=_uuq zTba9H-GU_8X(BedOfVV1Oa*$e3=hkRBfwD8f`ez`mmn^hM35&TACaW-=m}E{P?HEJ zFo^+$m`~ywYevDJvWd8lF%*Z+FvK)dZiJ^sqC_D`^vFdm)PCBIU^R5yc?qGYk;6-x z467`4*~rj7v{XBw7ZkZ~1N_-^Ja0KR{hpa36$~{?sqkv}Rv~0al1CoIM01C3Y|wGG zr7~m{msIrHP_nz{JI}LI8h& z(fl|IQ8g=W1OP|gkt%|&4l*2NjqjQJgP6ggF+dU(0hJn$Au9S~h?owBNfc45D0E^1 z5+YI--Zj29dYTy(4f~x;Ne|R!_ARH$kxlY_)v7DLw8n4p!UJZn8`URi<4@=}VE64YsBF$J%LQ#cb!#k`8~^?opizv-55d5Novj>Jg_ z%kkVPRBzw(oY!XKor!CtgpG8xB#H@%6K;b!P3tb<9s~vkbw1k|g4XIzE0f1SyiV29 z)&6+8=rZ%sL91s|&?*Pc@4c4E=!_hT5pU^^rNZ1~WHLvDnNYM5R(38o%C&JIW98Bb zxgP*X>b0evniuPwd# zTAfAQ)O|uptB?@DP#BB(L*|Q7onz!9(P?N~EnM0U#35e>><4i84CD)Fy5TQ2>tu_?`g1CxDLx@LT{d1@OHAd@O*E1n}_yUJBsn z0{CbEpA6uK1Ng-NJ{G_)1@Q3z{%`<)Ab`&X@KXW&asWRUz-s|~GJr1y@QVSw6~HeA z@YMkRZ~%V{@ImO|GTa^qg9^9Xqh-s=mFVC)e1|||3zX%P?l5)RuNJ~cZMkw!H-ZQw z&0gsB=K`8v3gBM|;Liu}=K}Z(0sN@|{%in$I)HyJfIkz!zYxHm4dArnp3f%(_-6w6 zCj^l$(V^~mcf z>4bXZ^_1{XkG!4|9@c|%0sXKZOa}0<9$XCIVLkBmjP%2LJQm=G^>{phhxPb@06rGT z=TrdS8^A{b_(%XR1@PSgJPP1Z0N)e9_XO}<0M7;Ry#ahj0N)Y7cLwmC0en{g-xa`J z00%hMhfM)|Qvlx*z_$eO?E!o{;J@Wg-?9#OU8VMO$3|&Ys6# z+WekAw{=JV;WWKn{R216ZXN1B1w!xa|4`rhC;RU}>^=QMLVIWbsWfd+h*H$W_Vs}0 zEv|+BFZl2Bu>LscALTW6Gwo%>?1~%-r@TDemj~gLyN9zpXm2%5o}<(y!GJc?d|104SiI`_gmKm%~miyJoY=-bi% z)0+!@Oa1TIyuOaY+O>JAZ?ylNDB9hdFZJ#0e;Q}yq9Z70Y|G?%g zpu#-l@Xo()$KO5uJMnk7Ds6vWAfzzTf4jgVDDm$85rOZ=-(3IQ_`A1%6mX`#8IZxv zHzNncVUBzIN|O8CLSdJ1yho)b6=XMXC~e3AxGIa?Qn?sHNojsrQxEs=!(WwjB$CoF zRy5{i%l18cP)Tp-dHj{lkN+fU>B0V!EZwc!!2-({Rs5YSVF2DCsj`gUi`Y96vWKON z5YjxXJmW1A*{LRIIkQwmo?CC0Qrw9+l-h{oYPY;c2z#%THsy8-G69E3~@iL$#jhRxl8!jBPGq!p}}PtP)@N<7`MB(?&?28IQ$=woU!Dh zt+%RNwr)pRQWJ7pZ;487i}?d;&-qy< zn@qj#{-d|EOZ~K0Y{e2ANqgntzJ2rd+QZqt9ROc6=vy4W=JRGBS-&H+y8ZF(0`27% zjIVp#$X4QeIMY}7&aK(>#{~c4R^PsoFSf59&i0kBdKxCTYAXw0FD12)Nza zF2cVr@Xu_%=yEsEPQNz@o9rY1?uON#@3>aq=iKffF7xpz*PI+2=n|f-6ffK+_YspfHU0(HnW_z^jr+! zq*W96H^f$WIxN5E1YYX%<2rAT&!NBAzK1r-r%QgG z7W&`mnGE3M-@~)~KQH!fuX{Ma7x^1}Hh`0k$G;rFiT|qLkGO2Q3V%xE5ajnDqIZ3K zo|xvhBu`)N3Daa=cSzm&Tn~99?fxBX+m@-;T^~=I<@Ai$gVmm}UXu2ULi+`&uL14X zWNX%i_6rzAC1pfeDSXuJ$-rL_{PDQXTYj#o8$LhedsOOniOp%O7fjQ`cLL7*yiH`q zgHHhH@`SW!g}<-fn5FIEr0wxpZVI22{Pemrx17f~n&YLX-sxN~h{$*eqvP$5FMaCS zEe<`Z+j@TK;Xc>@PIQoWqZ5|vA3?|L4s@}%_wPsd?@<3ZI)*3uPQia_`$&ZJI4@^? zEv&e?f)ziyPU3nxR-RYN?UlE&UZ%&pl$(cV^XB2ZzytF(ZF$>^If6c)w-0O{?E9r1 z7@chD85l6%>E-o9rSvV2SbPxgHJmCZLH(}$4Zx1;B}3GOY@?~S%@>)#>x z=y3v{<;F&Ii<^5*{eh&T3r~l7%ennAxX#Hs zQhDq4N9nK|w8@P~x}TALMUbc0RJSe(jakfF54e}as6|Mc3c0QJ%4ZYrjf08 z^`AtU?d<M%^zdxHJlxlD>e30*jaS~2(T!i;rMhu>{YhjKD$(;RUxRLR(hBzVlJa@&dT|Mi z_PCc*^;vY^;9%p)U#MSSzK#6vNbyfP9vQbOzY&mwfw;XR)yRj;H+1-{G56|Ys!}Z~=M4AG z{$ZH7w}A~BH<|C=zIPmXp#5fr!u;}L3;u2o$Km|GL7mhx{eI7`o~PaOJ&{`n)Q2a! zkc2-OgeN+Ygnu#!XTL5>|5FHmJ^dc0^*t%$$J~g~P`irdtMGSwLY@C4=ZMie9zz5V zXFi`1_!zz^C2*$c;ST^#z8TNC*0MNV{wQs0XVK52~S@Uo;;j# z@bFTAPdRw_DB#S)klEjn_e1A=9`3}X;AfvFdk=v1o6x6vx^)v~e&N?Tw%L6L@mKMq zWOnp?``^FkZ~w+`?ta(5J8{e0xyJo~{kp)LpZ(AC|I5pFe0=^JzxLV2FTDTn>e?2p zwfK{Ptv~xe9{Fc~`jwykcfWaL_djy7-egD5|Mh=7^PL}jyYk0(eEZ^WUa9?0kLkLZ z9X+4;@;ATsTYvG3|MquV|Lw^~-~Qpt&iy&)Z$bORrw9Lb-mdRYfuZlCoqq`~g4fM; zubAIlnO|c#=h;YROx<;JrLWC!_PH6pZsF$2IEUdJ?=YNW4f@TMc@g?KKf>@=E!xt5&F$_oL8gYT+FSh-&~m&VL0bU82>p7H`l#leskS-%x|vDpD;e>Q5Zj` z?z*||qWR5rE%Te}o-)6=G6z6BC?xo#KC7~`Ak9x%VTGLOJ; z&L@!m=PcY@_mcU|bze2Vx$ax$H`ndJd;;m2>-L)8T$!I>IOi#t9_JKg5Qgu-IGuiTWqeLQ$LS2`Tpa!8%G@peH4A^% z!p(J@t7W*k?yKfE*L~0Y=E@u{@i~_ZSLSZ%=NvBmoZF+{TzA?0=E}Ss!#RIP{HHD4 zT$#UPIOp*g&Urif&6Rm>`Z?dt@Libiq~Bbb8>XLg#0=-$Fa74a%jP#%=1UpQc~jy) zZ{g;;ubSUn_bv0A>$c;&3gesWa^^SJoie|<^1X%l{Jz5US{81ud&>Ogx-XdDT=$~+ z&2?Wlzq#)F<~P^v#5nLfXT({HX@H@~^=S@WCgUNpbC?p5=f>vmv1 zg!IgHCG(r>Ce3fITQ|SC?pgDjEAuF%$9WU-`z;GMSLPffJ+$cz=Ntk3=E}I9eva=M z-m-9WWp0AuoTFg)OBQafd)55rx^KY06Zq!3@0s6Rx9b)SH`k4t-&}Xm{N}n<_|Z*V zH`hIFeskRm<~P@U&HU!N@0s6R8OxI%$MkUBVRhHdb(hR%K4w)f+bKL{xH`j68#&C1p zQ|3380-gS;cIR5>ry6fi3n1bOPTQGblh|_Pb8!^AR?v(k>buIIo>o~q( zd~;>|KtIP3r2l0LH`jg5{N}o^o8MgbP4k=Uwxi!pdgi(j^PB4)Fu%F3Wqxzrs`<@z zPn+Ld_l)_?b&aMyx+ z2mI!`PnzFc_l)_?buXIVT=#YO2N2&}_dWBQ>mtmFG2C2t82&-{&2{I@Z?0Q1zq#&7 z^PB6QHov*aQ|_26($o^&RSF6T}kfFJz@c{mTr@S25V z8c-f|G3EQ@MYyZ@J&oTB_%Yw#!EYDvOZbs)3%{rEdmg{9;`e?0A_!v~zsvZ23cu&^ z`x<_ngUexl>=b@A{GP(^Mf|>w-}mu*>-lRe0qEMS(_N%__vhd4zYPTrSj%xwsf+zj zI@^mH;5_Ay;Yb+S`|B8w_3LvE7Yyqa$oT$p!)=&$kZ(|4f?sm+c3$io-E|vvpYzu@ zWA>eT|4!6c)}eQ}o?9_RDl|!#zh(FtNBkCtYc<~KHo0wZZ*}j!jW~?A!^tU|?qja+ zR`N!;b675W@xxQg`2)hQ;sW*&f~L4Xm!YHX|4}(Ge2d7YasK{eQ*yBjgFU_N?r41q zcU>1P4y^obO#5c=;-4K3Cm&X(rsh^s>vm7!lECrG+|-m`$U9zcm6`6%$TzB^WhKAG052Kpc(J z=XMG0UAHmZ)4N^hDStj)+C`>I*WC3nNYN*!y0$Tj)`CT6TCDbGrR{wIp;R zqeGhSw|IOff27a%p9tWT8EF$v{`h{Yd&g}|^A5y;ADrAmp43+`YU~I`rUlbC{slG zMf@(}JHgHF2R~pr{NM*_{9nd9f0*KywgwLB=ey%F+hIjT{q=Ch+^+Cq2&Zmiy%F!2 zED-*yRzIacSU=^^1hqS?=R2Hkn}W{c%ddu$^yn)%bztXr2s z@~5{LCHC`xf#o*o$kyLOkV$=-eLa7wh=uZmJUx}fsKq_PBp#2DXyz=o$dq@4Tkf>` z$V2s{45?wZ;#LWQ`X^j+49^E~*Gr|b$V-=byhQbm{%uKMtcGz||F#)DQ#`sbA-Z`1 z$Km3nnMP$E9k5CxH_byZ9}Uk{SuI7pVCNjp2)CSR_M;DBkJANQ_+00KVmPoWp^PIf zaMXPp=|Yw?F5qL=I8F9!gJ;vp`PLR7XS+X8ZcaRc3#MCjf0Dfi$H&TewUq#t;<+;L zTa}Z%z$>JME~+nc$xAVku55^MGTu=(3veoTa2K8!KpH6q}{7s_60f_kz!Ucu4EVFold%P5Rpl2S__u$&IpbJkdeAH0w`_9zUZ z{8Cb3zg-PLTAz3j^rN9ZMf1LkPYFC!D1DSC@Nl7gd2t3;8P&DyaX1prqsQU)9n#^Y z=CyP(2QtYNaRU3yv2ttX^3n42^y%ticz7hzi_Xr?H7l({tY0G$?-Z8Tyd4d#q9#+& zm6RCLgvTqjRyiP@BAh>P4Z8cor#YrU)L$Mf0 zJXMy_yp-5vrP&JNYW6ZTNAfM&PCI^D0p#4T-l2UQrS$|mSgqB%4st? zsV4E@0IHwNT1*3Fp@oxo&7w8xD^m;QkJTGm>_yo8c_GtUeF)cth-FI>Pb^KoP$-S0 z5NLe|BIgU1fa_GCtKWW%sY+)Iatc<*`!% zGX~W6A45J<=i!#3q_dcCc_8GnXk8|hP>_*>K+)3$(Tm2pua(01VO5ZOq`P4Kpirq> z(z~={)F;s7Rw9c#F%jZ5Q`fA-s&oBwcu-y#-|4kh1*4yzsjM9;94w6#4~`ZO?8m*e z*Eqk86_vhE()#Er*6B4qa~X`sX;N5t?;uiynsoGZdPH7@SVmS);9>PNQ6n@dhmlnt z1V4wzB11MT=umdTKQ6DalF-<8&l^s{=dB77YeR`5pG1({s?5Da36^Uaa$S2k(fe5i zqI<0ql3Uh1@Y0z9*mAA))COEBj{kDvsa{kg^ikis^`F3Ah)(1ausz%?6{>E-zdmR7zFV2q(L{iRt;fs*D#A7WJxE>mtZhiW7%i2jkryk^C6v$-Oxe=a0lR%P@2!#%$89*;jAVxIQW5S- z4eDj=E$~66VkHzGEHi?o4v0M( z^;U#cL1V!cfl0h15*sq9IlPi8FzHB6>NMRIGt9IhW`7teHEnHe1r%rjX}j%@H+_v_ z%7%j(<=WdJ1Pc*=NeB?YtT$UoBaMz=P16*Rmv)FmBx{9|iNt44@BDy$A%C%9g>?v2 z3HEg*n+SOVSQ8Orf>gv6Z8$huD&~s^i?}ZYMxT*kOL)f)Wv$tf>wtJC$H)k=d3{It zMr*AwzQGXSN|Ctzh=Nx};}akoSDJO+m=Y!%UwabYa6_FSUv}Y`-aW-~WDb!nB&&Da zm=qW!56XE~nsiX$wO??8J8ojx#JBMfB~Cu3p|{)={N*Vr=E2w1L0qLWk{>--xI2=Y zs}7b52jqSl6RD(2M3Irl6^X$k*h!Pe{E&@7Mv&WF3i(1l@6{qMCncICt+*Rey9<)q ze{ckhnv!*+=21N{t+^&@@D`IWIl(b;OC{dtGwgLDO-C*j0!o{>Ne$Oi;cg_Bxt4sW z#VjkKJ!p20dc~F&vPT4(8zm8IGsG?ta6=jkpj{miyIn<1<*xc#4M_(jBZ{W2ud0>( z1;=UiV6?%sMcg26I3pQTK~EN`@~W{|H6ffTu7qi#<1CisfHnR;VfYaR2o^>8k$y9C z5Z5-fd~&!u1RmT`Btldhg;2|X9G?o%c1ICHo1N|_(gLB}glOt!A(Ng2sIAglg*5rN zZh{5GUzF<#FmtSyLJp*7F=rBhs410p)yyOY96Z?~mXygXMA${UtX6x*|G)OWJx=oM zs;hQgm)&I-lFbrG(D2*18LE4_yQZpoUYniW%=GN+j?61PkKM2vC)L%}GnJ{X>a9mV zW(Qa#MihadBm%xrK_mD;C2E3b02M`0e4wJBLGg`-4T}6Btl#fB=icAFzu&K_duDn+ zCShvkbp7f+&b{~CbIyJI?l~8U1=lTe7Aiwsj;3r~*J5jB%pI{Az!v(CHG!$6;#+dz zSE|lZ^;-1gq%SS(y0x*!Q4ivSOTrkbg<2bZVb?da!jl)7v{>t{qEQ_=QD7TuB*q|%7NmK>fKiF$ zb&w@icJY{ETHR5@kr{fxN{@J+o#|PT6-MdVYAY*1|07OyTBOl5hiXRmZ1<%h2W16c zTO2*2!O(LL#U2UpH`P_Xw#bJ#N2r3@D#hH2YrnP<+4b%*(ZHG7ng-WaN~u;`PFl3B z*KzAT2pANLbv@L-_UTv(t7bqm@ZiLC7J@^NO9(xskw8kuH^@D1p5pp2;Ny%IDodT+ z3Q$W<7kzFZl6Ii%-g?vYlQuq7Z!!>}plIlE%!6*#m1tZXf^jvaUt>~5SVM)Wq&UeM z7AKjc(LwVHOV#e+{ZqVw(chja`o}0K9io@n<}RP5(v(^ky}QC3Df2pNPOsTyAIpXZ zr=EfVx3U$y{6canpaLZ9Ss+P8*VRJ?P5I&VMLKj^QC+=+R({0;J*WlICpChJP9*xE z1IkYIuj{>oZX1FFf40IZTSiW#)XL`@<|OPOhzcQLJ$TJ_79B@AkBsV!*LcckluLoE+OEG1~B$7xj3gj7_L(D0c2x}}_7xTw}}yFwIyEcQsKbn&9B=2l3;0>Wna z;}%s2RN6!eS;mp<=8hIa|BV#CxRK={*j zkv4|f)G5I*m7j~CoAe6Pj6#eOdwoOA7{>5I-SD^Yk@Y-Ej%x;LM`;x+`im1oZW-=L z4yv+6TXoBmor`#q?VvHTrI)Yiq;6WRO*)&{NCuaUXEN9mBm|1#P#+&YAR^p;ZO!+C zxDEf>h?Cgs;mHI!tw79NP%)Fw=0|8PW;SYQhDf~Qlht9>jr>wfoGB(2B@&79T$iFE zvUFKVmMqA_%VISO>kTR(RzNPqWopTjP8c2OjFtF>rXZCcOF?ui$lu`!jJPh0?_rZB z)L1gWIgOSmPwe&Ka%A5G-0zDH;TDZ!P!(valx}(RI##=1TkEGJhX$ZlM_G!V?9!9d z97!1ioSZLs%2nSh7Sxel5%s3<5f-3wowYHO$gEQ`$Rs*G&W2W#2{apS7e`Ix)Jh9$ zs{XLG>G$OZcnvYUDjRunwndJ#zXI}30a2r3!uhn94TB>aRRSyUU>PUeo zK`A4Je*luQy9eQ6UR>?-&G`TX5CD)w|o{B`KJ}+CR zJaOX!<5_k8fkU92Dt~v~t|k&%STeje8~4Nx;z5V-Dz@kafs~&#dh)uVF3cMjt_l@O z39la5P^5`QTp-6~xjb8#^qS4iXn-@5iFh&f36G!<}fq=PaErx^bzY1c=D}GtmhWev4!?YRYU09j>HQ>rXxOw zcAs9#Y&(P}Zv;5_kvGrUbZEkIKbrX~Yp^_~kX#t} zQZ+`>SeY9#?%?gm^{7l1g#iztQe77AYfMRxYAlQQu*TG~(j20ZSXW~|nu?fktQN&c za{2j~7K#KAYUD=(Y8Q*oOc;`3FP$y8w|j1k1giiS*+7e(P0A2(e_|AL=H9&Df!;TR zR{%Ab7OU=9XP(BU`gF z@udJn<;EviF-Bpx3u%I8pc7{qG?O{)>e&!+Ad|npI)jm03Cu3_5y7~Oq!J|U$m4a* zQoPJ7L!Z0RJ}=3fMrT!(4k;uP%SYRlOKc1g-asUFP*DlQ;^WB@XGQT7vLZIkN=6~W zSgAO_gBb<5l;MU$7l2Xm>ku=U_A(tRL}qRFa7|@@S_L3^Dm%_kczv9rO( z4Grt&AymseOK!jGa!4ut!JYi{7gl?)>cE1G=%6PNKhMd~@M?RI;Q#Py3-4R5bQ>Ki2%KV0 zqH~{^MN=zV*?hECH`i$o6QzAY3)yf78lu#+#wkj@S(ut8IYp_ra;fX!I3~to?m7mt zSv-LeF*Iq#eI1bQkfh^l2MRvZ;i(|qJkq5vV7RO$W(d|HX5gCxhEXL-7#{q=hp@Q) zKvQmVhYI_(#x!%tzL%k*)P3ldg$h<5>fic!tY|B>PuXGHKwY2>XySvLVS}dhrEsR6 zhCV}wLonTG2x7DIba5El4D5Y(c9jY9R6Hn2gorRKB5w-0u?FMwQ^~O3=nhtZ3g^?7 zwh|s|e(EU-O&=C-M9GhiBuW3UB2)S*vbaxRu>qqwG#N>utPeV#hNKctt21cnQ5%OL?rIKq5MsE45W^jW6yYW%fV-B%9fTO}AjEJ7AvxUa z5ptq($>w}{h@Jl-UI6HEQ+7N**2XoLa=xsmOYt%!s-jTc^KfY+)W+S#s2Q0@9ff+-66#PxIPhPQW-n{E(3?Gn z%P}OdTeGD~AapjWjy?aY1!7|#t5_cO#lCD%U3TXLSx$KWCAzr`OFcgxBLGKXcs3F9 z92=ZH2h5}fa#NzJA9sg`Srk7;2;OoD%u>K~WUCh>;10EQG|x@PRLCe%@*+-!%#zUXS4mWscxTt?YKrkeSV)WswdXW{ zrDCMP`FMOV9YlW2RAzDTlsiD2oDX};y~i;t?Ds*DWSRDe$@ST#b^{iCn#qV@d5)?9yQO+ zO03n$aEh@ma8jW(Iz0NJ>?UQ!{FZ5pGo40bOzNFM3GF$xW0N7accdgd@rXGMN+^SI z)8=gx&dnvZ75hqM5r$|m*;?wfqNA;{)Zo=;Edv?Q~~aT>v(9 zElJo2ZLZ*$FB75P=R~LYfy=m=8Zpo)>`hGI-8oGY8(+a>I70Qzd_mGW{W#nN%c0wi z;h00~!Bl3zGpF`Cr&{Z+PT8C57|+zo!x1zpQqwvZW0F|z5RcW=qzYJ7sC2#M`LPz; z?@RM*$!I;peYJ$<-b8B@AFXq`YZM=?2Nded1~Uin&~jMj&tUHLRNQ6XI-5>r-*Gxy zL1wF;HYERqJvbibzPvsr_NK78v0kfIZdNDzP>vyVwsKh$U`>T_aCiU%+R0C>y zB&zK&Y_Gu#wb2>1j$zBl1}I=bf=7vkYv1LXWxgtC)4y5{mzEk*)Z%Q~(I zk=(xLiWJ*zxUNW%a9)8W?5((|NRixzpNbTT^DS{ZjwuJW3`PZmHL4|NRva^$)Q&1%xHC?(_X`?#BM7y=*R3`50y{kB_ypI zm?}l~LiGTgU<4ne^AcA-l*&G(FEeqqq5KM70%2}`&TJjWVmlBifzVG#Kz#Td(Gy@p zSp&!f-D3>vb|CaRGQOq2cj0QkHMrXAEN3VeV~dn_VN21c3v>)dpD1*(!xLk^YLSvT z5Gt8`p9H#dfZ@kvb7FE{W(C&LXzO zb^%MX$R`ajhS&~h@q0N>qrE}{9^{rrYTdAKFZ$bPeeMvkg zm&KK_mn`qJI8wFZ9>hq4{gULdr#o_tG{*q0p&_xucG~(-YO-xR7aLgds-WL)Q=uJq z>IDT=*N@N$8MB7!79BUyEqfU$8S}>LmM;>yg#J+C5(A5Nm&3lJ66q9WS9(Nerg4wR zFVB6)zG=9B;2`O4&9d<^;P&qwY|OoSpbd z(pdNCz8Mofr#}U6%traDVlPo010{+1esXF0m7aT)Z@lP~PgORpk{pXhiTPv4h|ST5 zA&z#ya!48A_R1vk%+WMW_{?N6;&A6D%@aQD81cO3vKk9w*}rfKGDOPf9V0$C2C;68 zWYO*vF(?s{!f~^42u|heArg8R+J@Cn(qks-ak??MmMofY(B%BqK(>YgribGYoEU)M zrmUMjX`n^<6uAcr5H!x!SdIo{OT5g55rTe{P0yS?^E7_Tz=UrkP_{jDcJcJlQ96o==`Re?e1;($@q;;~+UJuJ%6rISb8pONgM2c+B=Cf8zsA z#NU9ka2yZR+olsz1|7#)+n~v^#5m5{1`V@q&smVC$&Dfl;8>OaOyn$}n#P&D!R7hO zaJB}2g_m^${zRv71)c#~D-HSz#z1?t)4{xdIk{n8wlT;Y?Jj4%pJCsgIB@WgQ>5Y2 zXk~?OV2)K^sPgzVqY<>AV&vRJOW})pj$g z2bP2~vke`A@qi4bQLJWRG);uD0mgXo1ueEuJd_)R$V;&(M2@aSAvlg5XX2UUAjRdu zm38w+*0$;A<+jleM;b9sTpqv}y(cf~a2R&YR^Ez2QzUBS0rp|#T$t1)6UHOwWV0|` zTA^WUb#1^o;zJK)+&ZCjoU*|AaIpfw>rC%8&6#oPp>By6nUN$j)-5PjFs6LtbGdbT09E3TvQijys+$EvMfjZ6y&}0fA>D zX(^9wN|9rI7io(F??f5^oSM(kL``^L!sJTD>3t~_MVr;G%cl~?|^lp(u98X5n<@S8kxTdn_P@D;#*4)*zWhVKD$@+c~$r4#WWl%Ui z#wPS86U9R3h`G8Kosc55rj%IaESg_AGb}!Ntzf2EVuqC>8gNu{?0+KY;R5dxLd(fMBP_`dJV8iG ztA$xDqgS1O2RFvDzeDd0ZV+X-@|P!>5>6%6yeT0H@o$AjJSm@T&-mNfm(&fio6v!MVJO~ zF0p+3CKOv%r*_v9Y^*0)P>;2bwyJ1v<1ZCgvGsGB(!an@jhls8B)c0_H~@jBXr{-V z&*#(`38pBNUGpadWXb@P84F-(GnfFGh39pkhV?Ho7g+CFdM1NxV3CLivD}5iv^Z5V zh+-lgs{Q<0GoZ&*d7xm^8Pse$wW}2^NE_bI_PuPkVToUy2|TBR{n;xSQLe7+6b668TcE|kPqwdv6%z$joY?p z3w)b(_G%-`bUL7U`V=x9DvS?uvSl11Jkg+&LqlWfVb=lK zCV=LhGVR$#ANmQkj##eNiW;>}Ig^yj@Z2J4c?B0u32CvJAU-rim)~I64b)ZU_jooY zvh|=F;HW6XgMg;90X}=6SlVgINi_>6G=UxUdh2St3HM0ekeYW?gq6>WRaGkQh-BJP zBtI0Zs$=Iuv8vvzSRsS!zwu&4tXZ-0^(d^cXB(^KO^X$X5$c3u$v`5`Q*KSHka?U~ zF)A9NQOKwh2$TxfXR}zL3A-m&ME1Ihl{;d83t|NWjmctF+mTq+CW=+(X~tQhq>v5?uiwVy{=;Aj81MrtZ+bQvRKu3Bv$o_ zVpYFcu|kIJ#fn(7V&&`c`iK>XvAtL!(XERWGLI80MtzQp6`HVnVnt-Ht5`WRtXmMP zI>pMS(wKmv(U@Vy*v-btq#Z;$iM=@-W=4wRCYJ%y-AP~Y6NAF!QC z8X&KAT2Zx>s$79NQrQNB1_1*f_`ZO^9HN-ijX*Ih&y0+HuZMJcMvens2XbZ#>3A_c5&KU=|@p3?SM>w1?>0il3 z%4watxqz@AFi4iC`Q#-m8*yBihgmF+w%9L`R__dg6S_!v2|l(o%&exxD+%nY*QcgO z(^xXDh&Q0Y^Z*`jXt|82(G-3BtYdS&tT%jX@_{A?Ivfao=z-wwZdenq2KRRJD2^F* z*Nz|U_ZwS!iQ|(nCWcieZj*U_j9t8)D~j%3ky1f+fd3+vtnJO;xO8%ttkAm3NC zfp&SsZaL^M#>oYrxd;tD-i|ERi3qP1mRo9vG7uA$5S@#c9o6yCLKKa*7D&}wTkzEd zM+xTgi0%NaJUIqzTonXgY7a*K>TZUgTR3s5*IN_2jUc%NKOJA_4fkh#Sf=BaY93+c zJ=Z}~GLa4ENK4osmyN>0H%i?Z^^diN8_?}m8lk-Nh0>HO~22E zxjvlEB{$J&+@P_#hP@_wl3S)W!S(8EiM*CnrwWZ^tp!UAuwSP=RJXWu#Ic)oN^zO% zKHseijSl>UL)DQD+Cw-Qak_h5lY+|@s2XOJZC!k_vPgG-!h^yb@`5Lq=;GRT zDULw`7JD1y<6LgzehbHuH#;1(_ydL(z>oaKY9} zMqOA3by~Qhk)1NM)B669qd7Pq1Q{?a((ed+^jfRmZNb|*stqS@eRy1NZ?=}vf7G9@ zybV_rI-0KE#3Olo6$9`(Z)CUBw7&t}hd2p*B-TU-dBTNI2_<{?Zlbv?;${8fqt8#L ztdS;5wsQHmEPn=v;Gy3}WmS5VZ=g}Qaw6sektHT}A2jtSU;S)>6vFOnRsrKU2i z7H#3W0REnWQ6nWxlxXjmMB+V#MYAV{fd|4haBIiZQq)m>(sHHWTa_%(Sed%P-)JCZ zC|87^=|V?2F7W($lU-Nu$(a{c*Tm7zSGW4T@>m?iC1X^roC<*}fZti3<>8HTSx2ua zc$%C}L@80_JU^AGpu>~JL5F=F2mDe7IHoF4(hXUz4EGJ1nx-pmPo*NR zh35M3auni&i#NP(#NmZPgNghf)qQZ#Vp*u!cM8cRgw^QY9-Lj z=>Yor4Nqu*ACq{;EeyCQ)X*5v&PzH+N`@P~q^WbsfvRmV_7e5?##L%zNloeBXyYyn zIGu;#4LJDqtF`#URUHW-@C`V|S|620oapsWH`ek4D+0lWv<%9OufaICFoJ70_@bh; z4g}{hwDlC6xlqOC$3;yN&nLAO=_qM*Zs1a2)eAy1B_f9sstPm(0UYk2sh}%SnCSr( zykyy|r7!f(LI;{Js#;P8x2<4#X3~>sB3H$e6Zi|qS0=X{C9dK!#PP+9iAnLxShr0n zbmYlmqQ)qz{_0!(z;N9|)1Y?zG<+fB@vu%+PVk$w%+>GcPv{aw^A9C~kZB;FpFCj;%r zjUk-7xxeHXr=^AakV@mjwBu80+WmsJC{>7MyHsJ?VqB~@W5U1VYR^>TOTJ&+(?f6*j$ui%BuspmX^wfD;>p&E?TJ~C4C91EaOK0};EH$*TW^3;N?0=uF#amxuM$_>yY;WWaR<0}?M=PMK8kwxQB=6}zLQ+c*C zY-GCloSZ6$C@pwu?yG8RxMOZeH!SUm9^sP*#EJ3}03Z zUpcTfL*oiw8$ic%var%0VS9QNaZR0>VSHSdYYGP8q#+*8q<2v-T}p{K#5Kg?kh2k4 zvg4Txs%{JS2@D!oYhtp8cOhxn^w>Y@wvhooVz;FHWlUZ;FC5!WX2A@{stBr_Bua#$ z6=+mA_G)F*jRQ`Mu%5-zv%x)MR`S|tjYa92*LmbM%FNj?D}7^lGu=b>4rIXVop$QnHfr~U9^Q*HCs4vxCAa(Q zbJ_YMSL-L~zdEQd89{bPBCRc49}jHU?ueSdXOE9JL7^tWHcEsjSpElv?kb_8@Pc&!Bd( zs6<3~XTFv$-f2eXvzaLQF{TS15u#{Fz)W`VOLF7JxRzai@(5qF5LeIuf1_G3fbyE& zxw=f@__ROV3$QJ0%=1jdiIG6C4Y=81>u`4Vth&Q7pULE<%xD{OXfT9`}Gxn$D@>*fuy_C(QF~VQA72YUxf$54)MG! zoJvM++UiO-X~Cqt(iH1B#-*Dzn7E{MA_9DFS5y?sE=i0b8>2h@^t!my$Im%(f*5L+ z9hF%yux5puICIpsCEi3`n?*EE(Q5N!zH^mFFFuFE@}~315L9=vLrKzvNF?sB(POyxK) z(jjS&W?R7DfwF;yhClnYauDQ;O;wVpvT@sb;p`zS4fGamEL7LMa(l~*om_hzhRdf? zMbeNhYFh(^n1WdngM*)bw#0Cox&%$}f`fFDREGc=yXwgaSUStW5pbw3aqC#E@seOm zFj#9f{SO`+vmaOy@%k5A(wkt+!8k@&YE*p2akk7Wrrox&sz4n3a38^)J{ltDMuagM0f)WZ2Rolj>RAFv)-S$SBQLKw9JmJYdtXV(lj zij>-v%rD@1x#%K5sJ!eqVNEg|ds*9*tt9Z-o#mamcS zQ4PYkc-#mW$(=YH;k2^{No&}Ip)__^<`aKmj$8nVql2D`)^C!myw0m>YV#PJ`A|Jz z4~OvWZl}>+GU|D>yoX1$N`TqY$SpJaJmu4u*PW_%<%@*6`@3rg=lAbBe8}JD&EM4( zGV}=h&eaM`#RDxW$n}N0T;U|YYYFb%&9?IT2Gjw`c0aE7);lc+I7PvAI1yKdiC*eryj)`gQDH;S9+8v5SCJkp#7)mw&gkt- zC-AbQL$AXiAgXR%#61qG(JJ0GkdRof>pV^QkV56tGM;Y;aLptHT$OKiTGTC~wx;|I znA_zjr^&-&f;VY!H$uHxg?9HF1ubkp^7M^dtUfC=;wh&q*OQGtPOos26f}n8PwQkX zBF>!`T5Bsp^b0@^%vGwAudVJ|#rYSWoM~T|iKi+PF{X5{_L39Kg2iS9C6-aU=>=Wp zy4fIk4`-NJ9o!As@y-Bo54og-tKUk+)t+k{sVYxKL9~}!Hm3}5u$%%sQ`09FOeZmM zn1UsjYtvE(EY7E#!UX&LI;dib?9-UPCh3JQ7irC(%~1Xv>k|Z#&__!vc;wcWkRRcXlBmLbfH50 z`l(bdL%=)B{yy!?zAjKdn6kB3;KP?`VWu$Zh&zIrO0imuO$=7k1JLEW& z4T~*pfOGj{Xu9h1M}EN+z#6GGvr>OSD3%?L`sTI8CoZ;_roAwIH!w9!8eD3#umUM) z;*6S);}*##ETwpu8Xt$pY&C=w;0te#&axy|Sg5fdf>16HsnH1d?}fu4AVMRoV)md3 zmAFiJNE0HvMn^fMu9`y)KbWJMx4Kd4#+ETIuVgW^9_uN&0a7k^#9pi~P%UD_rxLBw zNfM1SkzV1QvY7jUT)Y9<1R1}0M{+F23^au$nUgj0yJhD|Gt=;T?Kh59ySbgF8&EKw z3JOR5K3L~S!fC#wnVNRO5tdU=R(PhxRgJQcs~Q9MD#CP988fpW0Y8^l(jzEr{7P*a zMA#eNC~69GC4Bv8VN`*rT%a|LkZ0sA9^QQE5}}rKSDi%(rY5)zuG_i}LA2Dt8nK@6 zx>p~wgo~3^VQRnjSx4Yvv+QiPF_ow&b}6sY6~@GR0{&df$55OZXm}-~J+`#U`*k^0 z2&%;KAKSbr4hl=%Isv667+~?Kez7=&8#+OT7J^BnZYUgGQsYK4(b$LBpn+(&q=F!Z zl!}ZBeCbSqSqew@VN=2L)Acd+H__FX1L0&W#=!wW> zBx-yr6;X+jpDGc#1C+C~5t5Oi)4^j+XVkatR`C$X$Xgf+p)b(k`qp$IrZGVt6@I!$_N+otRJe$;= zXA_o#WfDm=tP38GKw@MZlez~~MsX>XIqzgi>Z6y0msT7%Tisc>W=g9OXG^mfk+=^uUDmSpO6`GQ zYFf8htwO%zj2=_|_@tE^Yz6tQ%WRVdqn_=IDjm4(bTfOT89LSzUi|B+!q#MHvcd$- zkhBR79CB;uI1=MP%?WWijzpXaMH@{xEaUcovT1#Z%yh*S+2l@L%*Hym7H%5&4c7(P z(~9@od?Xmq#dmyTnmm;fvnG~YBq~)zzL0c#>*Ctvcy3$)QvpfRR^43L(Y{!5@lg`3 z!5CV*N*KGcBZCQ;?mXPg-_l!4rP4>gp;S6{SE=-!_mxUF?k<&n9Pn-U{qS!ol`eju zRQf)o`BlI#@geviN$FDX+dW=%5BUBR63qc0KX1^lJAXgVDDZ_pQN8OB+k_6jpPh_8 z|KieXuib;k*Iok?;q#aQSgbU|0DRtBy6esSeh_(1W5X!DroQy*o*?d-*6^7=cKMuF z09c#KspHbGeCE}ME!`V|1H=6KOQp}e>hQh^Ve$4&$;Z7Japz^B=x?_6_4!i7osmgW z8uw-^=Pig+eZ*_SORv7o!oQsO;08ie+~Wn3UvL`0FDj&0sQ_M{NcBQkJ;~! zTiA!~_sG7tEc`9@`@>Kncr5+8eebvM)Asv4mj2hR+@E*pE#0FQ{=Y5V4_o|~*zcdU z_$dqjP7D8L3tzSHkJ;~^vG}(AzG&qj*neK}PkcbaZ9Z%tKZ*SHe|*N@swB_|=#o(t{SS`AMNtX^*GPJ-+>niC?&sgbpZX?1v?DY#5v1PQ>Rt1ysiF zDJ8~7y8h-Y_u{2}XdPwUrEzi)rm0$*vhXWLI)}$i_~{+V(x^P$>(hij>Q6)QkZ)ZY zC%0i5adTq0v`+W>dLx~Gm5C%$?r*rL`9{jhi1^m zFOW1!dFqLCjZO;(5G1~W_2`6?6^Ch&ua>h3pehs-o=sr zjipDv<>AsJ*WQG2{}g^FfEmE|Fw#C;^uNXZux}U5HDsdGB%k8$(nF;~kLu6PBc&2G z#HYTu$$?QmGUMp>x-I;g{lwg>lX2Y*Ugzg7<9N)gQ09G{0^q~8xbM59B$lRgx9`UH zrvXP$z{2A%!c|m%@M5>!x;Fdb@m_O8DIUD|49>xfmR?-Ie#Uc+4%`d{k8;+NnPgM+ z()r8h&MYikxNzb5xvQN)XLoQ4s`hQ-dN)q1!$A_=MzChLi_UM1>*WA1!*nF8NFSH0`Xx6Zdn{^R$2;^RN`k*_-X!F%`p z)K7OlcJ>z#SUJ`1UONdtP^Aj4{cH_Nl|jE*xe8B3t^N`&aK5GiEA38eP-#B?BHluH z!CLl$bwve>C(AZeu+qo5ftF!1*AiVWlqz{5HUE2fPhHZIS>U1-u>bI{=RX-T~MH_)0(-Fa?+f>;=pK zW&v}63Sb|g3aA0fq(-452c|C8UO$Q delta 68 zcmaE{pW{xjsY`^Dvx$R_WXd0vuTfjiPiwCCRbpgdV7Q~nz`zEiEr56h4+FyqUIqpe Ueg=jBpm@SWOL<0yjgjq|0N@o7*#H0l diff --git a/Shaders/BasicVS_PNCCTTX.cso b/Shaders/BasicVS_PNCCTTX.cso index ebf7ff0a1e792bbdad928163dcacb9b93a545017..79f006fd051c1f569a48b27f2e46997a1996664b 100644 GIT binary patch literal 139216 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 delta 68 zcmcbxpW{fdsY`^DGxy)fv#$zTJ(|=@>OP38tzl$fU^t@5z`zEiEr56h4+FynUIqpk Tejpzx?lI9)o{?c=WWFW<^rI2W diff --git a/Shaders/BasicVS_PNCCTX.cso b/Shaders/BasicVS_PNCCTX.cso index 17666492a9de04833267d1ef3988f474a239aea4..7d29afd91c65860a388210519cd282b37fc5bbc6 100644 GIT binary patch literal 139192 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 A6aWAK delta 68 zcmdn7pJPq1sY`^DbKev`zHXxovHsf@XAdwacQGj9@0FUPnmjD0& diff --git a/Shaders/BasicVS_PNCT.cso b/Shaders/BasicVS_PNCT.cso index 8d98aac67e266482ebefa2b9c11c2d4cafb2b394..b2aa00a035d3ba1ecc89208dfdebc55ec3b50403 100644 GIT binary patch literal 136564 zcmeFa50IS4bsyNf3qk;hr9cXlU<#r?(J(c;1oqF&09Zl*xd4_RVFMt91tCa;ZaKR< z3ye6svznO&c0tNn>KLCK%NAqnR7#?%upCBKPO3Yeqq|aE%84cGt`tYk$%)VBq+E3@ zM|LTWDwcGL?W^-y_xru~`un=SnH_+CRA=e<0ki$}>({SezkdDt&)0vZE*?An_@Dl* zsc+o<|NQF*KQOcDxqswZea^Y|o&D}ja1Z16`R&fl4?6da+njs(Ugy4pU;SOqott{- z#1({X0nQ&H(l)re@pGI0`UidRPa^CR+yTOJ57Xdp0e|}8-h$sI{Cq*OuC6EA?u-U3CvPE3MYarB=JLG*@l83)9nc)url%O0(sruT#(cGI?+;fSi}p%N57!&Bl{#tBcd9W*&*wfz`Mm{vd>TUe zMo^HHJLU8;GIJKLe<)At!yaT}(gWdAj`;5`L8(GG;LichID9;v ze+u~X1Q?HBH9EgXIAI3=roq2YI1@DZCMpA-op7HA!-nSe7`zPkg)Z=8fPc0N{87L^ z-v$1Dz+VjDb@=%_4fhLO;J*a;7rVfJ1@JF*fqw?@m%70JN5H?@1^yD?U+V(@mw%h}$rH7#&lfu6ZuBqIS}T>hJA3@ZsYYXY zx?O3uz2~8&d3UVQoUb;|R_5nxOP5dAmK^9X@1{JU6Ju0X-LYDw<&M=?n#Zc`Yt`zK zCDigM3P&fGuF|qp>(jOC)$Hw}S&!3|)v1~q7xKP?1_{q3eqmkt39I9j8R5Q8P}FCe zjSsr_)|TckROi}_ru(MR$m9M;zzNI4{{rv?a9_%sXe99Lgu4eW;Y`!R?*Y7Ea5yQv z1o+-A@Cm@j07nxgbSB~Fa~3Y!ygYsA*tu%mJ=&~Qm)ezft+C`DskEk_timAU9p&X_3oDvW5&qgSiVW^KNDw$iLXewU?jI=WO_eC)zlIG|8u~fFgTpFUT#6#xD0=u|DAw8 z4S1gacL2T)cs|{6z@Gy=&;N12Kh=fK8Nff?1wIe>^MI2dKE4iK1^n~ydw#qgUaig@ ztF-5?9IedG(iqmzQ9(r-b78<#wcf7ypm7GBtyk7yMA2}}z<0b+ubWn>&1VVdWAut{ z0Zqfv`tp?ut>9ye=WC1Ardv7PxLRFA?YG!73za9U^U@PLgGvq^zAP2`TxIEU)iY3X zm#Ndos!O!szK@l{Bm%V4U6$m|S6glW+BlBnnw85{wGx+4HRex%EvmGpaQU%T^>|}( zd8J)tpRd|{bfpc?v6Y1daQk`4kdH6BF%$Bhhw73E2YFn4-^|MRflk|np!YLmhWR4W zgoD%?&2tYQn-OjZIog`Q$8ACT5dmfkn)on`m$?VWn^pY5G&poxdABnEx}oUY9^ z8?DAdJ1LwSN**~ieJar$CCp!~UTr4hV z7TlWvr_TC^aF+Z4UjCj3(r>>vzuCEeXmF-Q8swPcnzN5ipFDr^(KGJMqvuW^J>||n zbn*D3kDi-y#~(fQ=s7oiVa6MtlT&Oz9|hm@h{y2^X-$$C9y&~q50Z1I3{F4c^u7rZ zrgL!N8*(Gu2N9p}?RX*FYc=8WGkm`Dq09U*UE=ed58*5y!Z~*H58-UWJ=_No&L+yk z!*rQfPoFgT5PvIv9&X(Nfx~R2aBKDiPSp}QT$s6m=s)+l=|>*AxCI7&5|Zf$@ee-Y z`re1^o%rQMWW}_-AFq;E?#ezzf-n+F9J?HzJCwzFZlZUfR{5#Y3@06*3Xa4z49$0Qypo)z5lWxeHJ(V(BtZK5umKZ1G`8bNwg)ln>JdjR$`gd@^6eB~J_kFI#;a=7(X#|M=qH`x4!E zz4cQ^LL472#Qk9TegD&qa6U8mFCGMG;g4w`zVPSM^Zbz)&mUdT-Oh66`)9VP+dm0U z`cOV7-+m3F+y%@d-)%*s@yT04`6!-`2D*bD@7@kMX1LHP zDHqBBHa*L;=hIy3Qa;a^PL%q_xYSL$KJR!;?#_;QzgFwDpIF5@#FzO2Laef;r24j$&~6nNX_%h{J<|0EJh>#fQbb}rRp zFOwLbarngep$vb1Ak+t6X6kzRu}OcC*9BdqP`RE zc|sl7>~Y;URL>ZWCo8`lsv`pc26EWKGGbj~*$5w2w-_J%Z7Ev#X5(*j94_^RxRi@` zNe|C9uWQ@Z6VXq?*$&-hH298uZX*v&+w;Kkq95^uH{yYp)aHfphXWkMNp&V{Ul{*h z!PhMZ>QWlg6>P<=?ZJ|sFk{{xDIfK{jK2P8w%2UXP&j+HWZIXxiyp@A657Tl{ z`|iv0#2sw;)Q(anUd~>JDbowEAtL*aB%A3H&+|?_`VHiRaBrJVd^FDAi7l!F%%4w} zb~~gQ%It*cG|~|}CVW|$^-uEqf&P%BJZx*vA)IpF+^1zr-C|lkPYgTp5iM`Rz{_A5 zPFVjWYMNU==zjpEarmCM_ntOg))8O+^!xHaI%&Ckn3cnW-X+dGq#ne(%lwM7{vh%r z?GSOcS(wLRSkYjA0=e>GS@1bvHkozX$74S3K==S)zPu@O;t>BU7MFb>!iZ1)h<`6& zEVoa-N$E4}Se}-(yFior3s=(d@**8PVt)ko5iJ+$K>sBEI1~eZzw`A|572`rDoX;u zx6}{DCl4RtUxlY-&M@D<;XCEe2W?Vn6Z$6!p}ow0zP=zp%8nR_E9vpw+YRPpB2gPi zxTo*!hlB^b`S89;Vmm2QmK%9veW1%WlCCdPzSBPN@nO^#U)~<}nY*k!EssE#zOckY zd5HUw%%)J*cc3aKkS%qA>5y+J1H6+*!l(~TgcI&taOo!oK$MWG!2W@5Ax2JA14t1CGKDkr#m#_20`Q)>jC*lDsZLd7s)1m9* zGd*vUX)`3BfZ<8|Z%mtT?}Bz(&%-$3JIXD!?}yeiy3u>kM`t;E*?WFi|2)r3-}5YT z1y2mS_ZKqSppn+IFwdXdl+qEsW_(Y})2GXEo6kS_CqH3$|0Ix{<6r+vW#Z{E{${i@ zOk?vi3I1|`oTbNbFGq$mjA<}F>owoee_4M9E@|{l#(fyV*l*#(xP13Cyxe>rhPb{D z!}n0eUY|TKbeT4EPx^CwkH)cq4loRl*eSmFxW4=eyA!PYx9ZX{MmQ8)Oo z?)XRQ#s=X`m*K}Y2&Zfr{*evBDTBo1jMuIvK6T%xAJy0OERC>@ z2=&VI^P^OEA?Xd<)G6yzP+q=GgZxFll$+15FPr?l(67U;QD0a#VLzJlI-8dj4mxT2 z?6*icPU?IM=V_=<5`TyA@kxSu7{VC`yz?jh zHm2?Q8n$s0?8;^@6Sm`?<|DBGocj|V!9U}k_&Kdde*RK<(*6MGZ1MR0lRysoMSQ0X z;|~F1>x3Ti&WCk}0enD5<^mY*^X%=M^!tN80OJtm?OeBTjzhei>lV&2n74D?!kK@c zK4la3F_``Ue&o66WdymBcf!0r`FtR^Tke2NCGW^H>3KQOW%xb0aMGuaFkJM;((yK- ze-Z)c69zvWqksK- z$nlNm|F;r=jqmZip&dW&iotdw!OwrVV}7X+Y*%m8h7j+K=SN!t`ToO?c5dF_{*_AL z6C>k&S3X{@vVZ%#@A<;RfAuG~o%zyp|5tn0_|z|XS`6baeE#q~r93DMe&hW|L;`>P zXMg=?EXWgI#-HPdE@2^Gvvp~yR(*2crK!f;3Kto+EaDtSbB8Xi1O(?(f|r%x90*=hg4ydxOO_C}F3pnQ z)z-}N(p*~!zAg+3soLwqo6&l0e7$F-(ylg_u#Wq6VeLbCa=p0wU$8*z)VBuQ%75AC z3bR-n``dl)&la#(Wlz6*=(2PFcDUdD`y2sg@kIwzt zZw$EP;Xe1rqy6sh|Ls2aleGbNbWflAncwYq{{=RMJb7E6n|R5&U-^>(_orL>+}&U4 zcYl0Gzia)ge)s!-zu#T{hkfp=AMJMs{N_1 z50d0i;@3jHJHRL^xXY7Av)-f@d_TEn)HT-ed)<`;%I29@L|CutRB1G6D@*upFjcN*c?J zR&pefjcVy0hk_6v@tGf4UAw+l6C5#KHwM+_hr$%f$(*JzJ=etUm@Ek<9ATD{*(I!h z1~V$s3{|;NXg&&dxApzhuQ3P_UAIMk}l5iRgI zEUPX@5?#Lk*ahxGF>$BCxvYBlI1)5nP_6L+-BT&v9J;TdN8(Bl(^MofU_t~Rd;M=* z)IwQO#7LM_C`5#g#Wc^GqNX%wsk(a;kc;9Ut9g}9F}cLQRWN+1SwpM>7Oz>wF4v_b zwFsP!{jq&A`=9THpb5wV(@GXJ4|B7!y#wuo)I4r%f~9R%FJq%hwON=Q%j~R{`f54x z+wn})W)S^M7o$KooKC!$p#zbEI?X>V6R*boSIc%DFvSjXq%m7 z!(14Nd*{MLOUX2MX@)4l4myCN+@)Kfqs*1^nSF#W0w<_TD&(d4v#jbZ>c-%z<1oCA59fUaxnv)>_n^@&_ zycjf*u#LJsEEGdbSoVqqq$9%P2W~((Qo=GhPIsCGG==GiaH$v&J`iwROyUh{F_nl$ zc_O2cOhhy++r=>3<)qt|HcvmKT-+aKJLImMXbqfGgk^E9+hR1?FtOyYW8w8%0UK`ayMytV)4F0PdCa`q+DHzLG=0kh@KMI zi-_$Hb)lH!Oe|&3jg0I?r;+drxFBZ%ASQ{A7uEMMCri(^#W$~8un*t7d>%-m zl87uwyQo9m!EK@wrR3piJHqzWyf9r)Yj9J@&;PH`HT34FHLdF%hUKnS0mg$a;R+fZ>2I6nMfQBUv zU1>KKvbbx;ENFq70w>WPcpw3>Jg?IJ&4-43h{a|1lViWkBmpS%&}o}h7R)DI}Seh zWG}wB$$F5_Vi{8sd`3sRh!mkFopC8EL|%nh##T?@VLTHxLbGxhTV=`%cq}ptC?`9g zq?LrmwvvFnt^-|SZ75OXlL(SqmARKF!D}Q?=-Ip^h9entu12Zp-!#LWJZF_HSG|O}Yk>?|!xU&l*>k(Owu&PkWGAwYt;Zp` z4|qEO!ayM22+XFnJem%~PIdHQ`4%QcVu1=$XOoiRT=O_V6Ou__bacKtyK*^!rIopS zm`RN}I;y3z94Ki)^dVJsOd02J17l#gsnO8d(Gf#bQc@a{7;76+FD1*BS>(maa~Vps z4BN4MeQ220V{B~PTP0(?lq_g7k{iBDMYt~-)XUgg;KNKM&6b}DB%S+|+`edR%{ajJ z@?0s7P~0fK>ok`WzOD9V1i?}V#2!s}E5fRvvEYipBwiMY4Vl!ORjJykNk?*0r|DiZ z!>m?IOg%%Trmd}AQ!Bfdw%h)A)7LCTHXO_-*GOLM5Q2q>)m2tpFzZb|(umO!tZAA8 zj(Lel){12liO(E@C2zuCYFLp-ph~c>*Yb&wCxA5(F(zP2T+xPu6Xnu)>0l|@m%!*V zGHgi&%^zj0*;!LzQg?`r`QPY`8l^D4!4T97`_lF!30_tCB4p!Avp(Nw7s6z%Wg$oN z%SFjWz>r}22Aw%Xwva6HL5~Sf+6l=M4r4P4`xs6xJ(IqfDN4K1`cM;W03}V{h>VUh zh=Nh`>P4za6Fj^RSsb4@SiB!~0Ivtj#RKDkNF`m34;gt}k(kH!yckh9!;FAjjg1t? zi{s;7Ez)vQqIuGayAiefAgTQa$G~VRCoAZeZrcO=_9Qsrx_*w3zl#Xb+p6qY|>Eh3tV!bE70uZAP(4gzMMEszBuOWV(yk z9Wa!RQuDPM5@H2{!;%q2)7Dqj%Km1&X86f)Y!Nqz8_r0kIYv*G!osK9R5c+Se36E| zZAv${dB7TfFC_R81qc>JWheb+<{+(YYWW~9lmKg5DXeK7J&-g$6=2kg4|&w$Lul(m zK0csnno=N?o4l~wl2%cZo&-SH2*Hz=x{uFqyOla-j@43t=bTDt0uVK&(y5xc#DIfm zqr@oE9@=G9#xo9Np@sf)hZfzGW`P;na^zs`x+YtcZ_c@zVOb!yFurzuP1=M`-3>L{ z^W7hdDO7PsMZLUMAi)~ONDM&~O-SQH0izVD>kvz9?99kXf;TX7 zBp&I!S*DdbiIQO;Xwn(mstT|&2veIDSu~9i#s+(7Y+6S|TuW^fQ{UrlEt=Qs$zk6K5njn{9WAbwDYDnS z)rRTP_;~Tvbsq*@{PByq&$F+n;!6K8=$r(vof_>cjkiJt;n|M>AwaT_4*GmUB;td- z8&@&v^NAxbp?Q-5s5V@g(eTNkh;<|yCkOELYguy0rBvJ~If<$orO8Po$#jst$SnC( zwKy;Zg`VYba$ux5Q5v7vuexB`BL#95c8ctK3?CnMP`K{)?FxOQ+~=r~>&OdQY><=* z4|Y9;0w%z^oaYF18lWyjsLv`~s|218X*9)?8q%!kw4|0+>UG2yU)<1Z)u%Lqj!snd zA&0JtdC*ToT!R?%3~SvoaRO7B@64F5VFw{pC^`99?Lv+%T}q7R3`}Wjluww@oPadj zY%-Zjkj<2)Ny+2`UIo$USpD@wxpd&7R>RK2bj&6~D94QtSYa~c_YMqQOtn(V$ zfviNMIE$54>3>UK%o?N0sxN;j`K-g}MQ5r+ht<;C9xG>wM4+lTs>+-mD4Wc|j3q5D zs}bXgxxNSegbVQ3U}<$BUD`@Z#a7#)N(meo4+tEFK*_7ffk>;4w3Iy6r6I?#Cj~Tc zayadSo_(Q;q{t(SA}USMBMd-4klGr{mNznpBsM;d23k}CjkXH?!cc>&R;n0N$$Cpa zFW16n2&{JGWS^{UktHo1CQlo;I0;ouW)o%XC4+RNzGmF5;eoD1nKJI6qKM8qB zFM43nYQ<4a9z}`TEoF%vltmofQf725GNghNuA*2HMQej z{pM28DM+ZSOw?y{VcLK~>-l{|V}mh284Nv6r|ub-qias%2l16HCa0;&VGGFc3MKj3E-#t=4q1Tj9@XBte_v6tlM-%3N0TdlXgZ4neLtkpGN)yvXs z`!)&G#o&=YndC#TX4z_aIhubDIQl>!=_i$jd~PUpZ*nbt$N?Dz zj`V1?T`rP%WpS2=?L;QhX?Ynvuz!DPKPp-n2j`MA*|Z1hr73PIP0pOFG`qja>}MCU86&<$ zR927yNdVQ#CSJy+-{Mo%&^Wft=KwA3%WAL3rh=?N_GG+H!>{?jhB;s6or{|pk+n$7 zTN*=)Z$DK-=W>Cn9#i;$R`k6W^?=igHig{zjX4Vrlk9>gQV})sBNgASY?yS~xnh1g zNoK*StdJ|{>)$TemQgCAms*_D>(=~7sYRd7MYxt2>1b-wl%@$r5zV0y%mSZMeB z1cO>VOY@o-9(?_{9;L~o(BMgr0z{a2$}tD*5yvt-4msA|hjA>Sp5wGNm1@EkQ*0i^ zmG;LpQ6Qv75idSG*J0rPjkLGmdl7+M0xhb6Cc7^wpn|6>MrkxKc1UNS$M#}czoJ(p$f_8*CUiH(mQ1i@8*wn1_uc`V` zy73BDv{9Jt0uD9EvVlzO(;Ab_WSk8oASs{nTsRTwBexzc|0M+VXSGqo1h-9@; zn!dnpt<_+EJ6-r0!zO_jy;R3B9djf4Fj|J^?HqsDD_iW z&40sHMfKC-x>-MGF@n|eI+b6s>(hj zTe(z5rJCo$%5)`Dw8W{#nfxq>8&CGKPhfRP5{>~HAw*#$v<*+GAauFVEK=o)sDgNh zu;E9TfbO7gh;GUF{rgM)qX8E+2|fzw0fd*?Uy(gr*v8eqQpNX{%S)BI-{2Lk`$R9A zHrdkVs~7=nRJ%HcM3;1ph7i;reA$hs>my?M8Q+L23}wdhQws}C8NY{O5(&GhCM@p zqhk8i5Dd5VbTN#12KA<2yGq1PDIOFQ5#n$nJE=t67=uwyA57Z*VkxXon_Ww|togwQ zS!tTs&qtDctjFKHUx}%Fl~`OR82ieW#R5=atPgsfMolH1YQ0s}x4edOz4R(Z05RGD#ApYQ4%#dcYNBe%YPrzH z%zqmn0Cc%23!aZzqGgX+E~x2E_xlmaG+jv**zs6|%&<%dAMMmP9{Gym^J*p(tX||u zuv&AUFDgwysvA`2JUnhh+O)enX|ekmmqt2*rlbYxNuzS$zY@)FRyJtVNZrIbT(%*> zzBL=F1eMNO)eYDGYJ!pyx(X0Rw)OeObvbG4!mUDdaUGZE;zRC(T=!>cS*Ve5Bf~YeSlr?LaTERVBB@+_K90l65u& zSmt8DtdbE!zBsDkH5A*p&Z3ZTzpvACiuOTNNH!B{$!Yx2Q4HZdO8#Bcti}^OLkL{ZMt2v|@eB zvFLA?aKRS92x5wcsINY5W zEp0^>Z?N7~OIy=>Yzf=?pDeFVJa*;;`m$I7%LS|}O`lWZ-u#Y*n@d|nFbBO((~I|D zsJ<{|E1~A)V7ciWCTKZtycfMWS=z~k@F75##uE}|LbEFb%LNil=Q&X*X~SjO%-&64 zQDhU)1KoBcSi!C!Gq!y}aJ_wOuR`Te?51$clJY?;+rTrT`*luLuU6}Ybi0n}OtH{j zfkg#2cL$@nOSi@wr&g;#)$5^-xJ)05@#zG@ZZTQ8n$tckevIqH%2jrERs4mOtAT`? zGQrFSJla&OZ6u<3nKxzLI*%v4Z&ZQ+&qk1W_I)r-!7~ zd~n<7D1X=zvxNH5*6#34+$MPcNb&xW`}Y?|O5@|>o{CV?tvj%73$-O#oZUKv4!R}d zx5!I1@t;8?+EXbGDp9vDO<>qxDyc5w&c` zV3NE-YP_ac1W*f(|zXjXArr(%Ix21btaZx?eqX9b3 ztqAK*Zt0qjPqP@c6&(jxghXEZ$rTy3*Kl-2Muhze3}NHDrPI6tFBMKHe@sP2cwLCCL0F24Kgr z#!BxJkAw!itl$m=l{A^icMg@MGb@Y7>$PQkN?fYu8vR(kOQG@EK=@FqjM(Gj2XF{R z@I<^#WObjlFV}Ikru;HK0-H@N}HcG8MUj znw_tL!yTG!63mFj)WYWehScQd_<$0NHp*#u>dpp@LLCSxLA^e5+crScA$2**vO2^lv@ zhcp`+oU67le}qH7_}K?jJPVCv0cYuG4V|m%P`YEBpl2&s-&Xju|nU#si)XMQ7CYmJqaI)v2x-28@PynCNjq+*Z!<)EjZ4iANDd(B6998o{O`1kvWj_P~sGW9qm4bxlxKbqO&4>EhVBo z)3`*$mulZJXdhNUwGI(1L1)n9Cx8ooF%PaONkA6TaOv;j+duj)kzyUw8u<66O0% z6F#^BVVxMslf7BOkVGU3ug#_*I9yp5k?@eG8>sq8d@kU^_S2QtlgT+d8#I|-Ysu75 zp!7I+9xDb=aWmD;-V|s-DMrVO0fdY{YOF&BR7-p!#3lrNR87x3dgdYcrD1~0Z-_!h zkF7S;&@nP8NCmbL894d1W z11-=jEXRZNZcqrBf^MW)Hz1Q&iH$Vt24ooR#+rp(_s$em0L!YACt)G*fMwPwmQ zIBX5)70&1c{E2$yGEN4lE>z~)jV2n}qxCxa{qxDwc7`|_nWIbd`P0uZZ%-Oncqrqw zSv|J+__6WF$GQHawzycGui=x8*eY6~uGrc47yQdvuiN72x9__;c~3D?0w>*+yEjU#Uh9-U5g-CjvYthn&bdu zrgizMokv!)?&nO+XvXhTt~LxV8yF0ab`5#g5x)D zTEO5oe6yFut{I}=m4a`b`LoJy>NK)0EXmH&U{{djC)}2Vv^;0X1DD07oausd&AH#c zBAmU3BfE0q6-7efa*<>zVFiLOIg!pU&jvU30?$42VB15Wry|(SD9I_8ZGt46jm|F8 z90#WpDFBM2@w`lQ3yjOf6Pum@H+c3JNLD9gFt$KPsr#Awa#4 z_vtve$5vo7d$xOf!{c}YRNZ))MMw|X*$5{%I;Z!6IH?#>l&|fK8lP3o8cS%UPKBf2 z^WOy;EeuEahDXcvIv*x~_KPGf_DK`R8hH^oj1x9~m{fL&v0wHz1_y#fbSON8rF66$L!CnF*XyW`sIawYXjFnz zH-cB6o1j3E@{Nzt$Q@UyF(_>65X7MR2f+1fVt>$g=mD5r#sgzrjfmf@xgXu4M?zpYIU20}!K~-ryTi(*TrC zDl!$E?rFDE7XsTCZqr8@gkG;*S`Ac7;{q!1HfD81u^TIXcdt1=7|P9&n=KT zDk;bFt;kdN69~+1gO{5+OCT#(l@jYI>r{{P03yMf9<%30_$xW@lgY@j6X+O1DUhLD zwSW!)!s+(jJNzSs`62Dq59=5t^@?`fhuNf*rP6mT&dxparZiF=ASHBtAQHTUT}T+E z?mOGHt{{p;l)932kv&-SFzg}+`^kMj4dw|Xq&%P<3e_!~*e`A+FPs5Owmu3`-@zI@lf86`6Q5hBs4 zk|q;nsB1iL&L}Y9*3`9gg#Zw^M_5Ki!46=_vnmJo9Y*_m1vj^Q*YKGb>V_zHx;NLt z)W{eu--|NKr4dkK5HCm|VZ6|0F#Kls)e0@y+$vmbyfHQ^P-95q!MaOdQyU2g-kMA) zf(^H+qBw41(`mlYqHU!XD47Q*@y5}vfnW)bX%CA?iuqOV`83%f3=`HQrszOW=6=cEIUCz+k*lW2-;l3!Vo=Q*A$>)IehV+m*h<|) zyF?DEZ=APtq|m83sOBJ?{?#tCdPQ{^WU8%x{52j@;i`p5<)f`$#7hGE`&$W^U*O_K&-zL(zbIiwOTr?%3MJEyy1kxPs zO`ay~X-^#QrbIR#^bH)l0kYR!nGoOJjs?Y%Pcu$HK@1wFU?26>>Xq6Yjz>y2QuB_A zkonGPH7?9|)zUzf#=Sastybf&v|1s;jjI)@=Bri8M^}bZwJ|PVakYXlLYp9ULTgPZ zi`P=EkitgQia|f()e2d7{i+p-{ZOlwUt<3%sueb9^sZLLo2pjDp4F=ON~;wj+_+ki zYQ9>feEe{#6@+o)Y6T>A|6g5eg~%IKD+c|DS1V-U^{ZAS_Cu{!e$&aTs8-l=(Ysoe zZmL?9dRD8_E3Hs3^%lAlszXH*Bd>C~3&0`$AK@nu^OGCS0STMg4h z^z?!(n$F7c=JV_n5#bo;b2ZQt_k%s@AhRl^-;vY&nz z;Nt-bkmyqOVk0{Z!(T7dhD23bl5>kl@yT`TSiXTJgjkD#LSV5JrC2aBN{bH*0_Pfy z<~-JK2!>4IUBw4orh#;;ZLC8Y)^(OgmzSH3)fyI1R_kjC_X2T6LUUz~CoLo`+<4jI zefC(K(Cgoi?KR&UX3R@NmM4{Xwg%3;Fb{TM%Ue155XQ+^AI;S}7RJrzAEI)+I{+s< zH{wG$k1RTTL5^X;hVrXJ!z;rWBQMDDN3G!&j`-nLZ3L|h@ld0yIOC?Ece5*cOVL3N zE4>G|ZJ3ES0$#NQvMb(?Hx?HgOTqo_qoZ~(Kym75vsqcwi$EXH!!{Nx%Q$5qy987Y zGZ-C>t^t)(Ie<7l9ip}bH6`7HoDlQBQ&5vmnHA1QSb058rBYWS2I>0cwB(@_!!Be&9 z)B_U2r>Xg>?z3viHm8uB50_c_je|uf8f-Zb)~jnc?+u4-*s)nW2E@{nrQ}vo1Mr1f zYbCuAp768BPn>ErmSyixfNtQ2mgWs8b^%A|HE}%1S+v$L?>K+9M_|Pt#%3|OOFYPU za;(16JXURAL;t{7j>E%zV7q@57ur>=^D6f4(2EgRHRW_=HQOsSI$Fd;UV;9TPx^|&LpX}`g- zY|<7OFJuf4ZVOZ{14D1{RdvCt02d-(!NHJq)NvTPl{${`t0pT;*kM+$;+jtuO51jP zq-$U8ko;B<0bMJeUBmMwpR6{QsyMM9Y~vunCQj|Itybqzezc!Hy=y)x6f|~fEy}6( zwMBH|t}de74V!zoAon&_lOKsK5g>;>ghnX2@4i)Jmq|RO4qwywJo7lRWXW1b{56Z8 zqak$a4eZPjRpqS&6=Vw6mc&{hb&1ISK~|6Q^Whpq!OO8>OX@4q9YqbGpj7pFu2q73 z<4C2&79=ZmghzEY*kMHhn6ynK0rkhQ&8^v9S&}|4mbKzU^Tn09EB*?DIYg~jF|h_p zXRGaMbKi1hX^GwLLQ9&rRAi_fwDITj%zRB`wco#A?OV>R=qoZ;> z)kqUZ-G=mVOd#4zbo*fHxIZ(W+UO`x%R-C#;P@dTWYjUzVB+S4g))lcwnVr?3xQ?M z8qgnJ^MnkfZ4&QE#wI{kYFG?d=UMF|CGBgCWKR2%Ej8OxuYqyx3azkUv-V%B;XV~y zT!776(BK~)*K($^+DKG_Gy})T^-;;hiAM8uWx2Cq1rTb;-DSDA81Y&S%w>@?E4>lYOY0YU=Nu_6;zG@hli467qc3gU z4N~D@uuLY(EHe=UGNLzPI;(&rdxO+5FVUM`(c2T$RA^gn7@@_E9CR6C$PMVQ91mh@ z$s3^?v4f-OyHMi6kF-A4!N%63c5MzlCQM7E{m66-gB{SV)9HQYk57CcITFvfl&L`b zaqA5GZvHPd##?F8K458hh`TYC;_er^-LOI`H^K^WyVD}y3<>{k#67V#P7#M-BfMnt zI7p8q>4$28?4S8{Hz?@i<2uDFjk1g)^{C5|ce zordJ1P7#QWm{YstO|jXA934z@4j+j|;vB)k{4CBaXo@(Dr7dTQ$S77iUduQRRdX}% z8={DHsG+q_$B#}QKRWf$%<(hlRf{{5NB5+VY9HDYq(5x2Bcem(s?eP+wDjGhpd275 z{u8ZCG)r3TG)CFFcrvwO(~Jg^W}F=d6i#aIaRR-b5GwN5Oqs@aw`Zu`)Na&1*5aP1 zGiv422yqmh5J7(^l@{tMs4GdUZXJ~p=>}wyup5!4lQI?tcQO;vkwIfy`hV}0iwT&| zFq7Hfvo}@;p)BDWlZ$YbKdDGTw+MV?Q$%R?qQRF%3DHpj!uSdcZFgL1suIt1Vg|H*A>hh_Zk0y=k~r6j~BYqeO&);eU|m>nf-y zy-;X9Qt1?22bHWyNr!TLmEB^DEc3J4F>TU^Gxc!LlOmk;O2SNuE{>GH`5 zo}gOysuBs|-JM+eaBms?x!)wo$CNI31w_eEfVt?@48&It7?qpt~Y~dx1(ndu!|fwDl5Ho zit@+=dv&AU!PT^`<$CtrN-k9TKtSDzqgb=_VVciXF;9oq#=e!qMC;@=#--X!uq{|Z ztLK{_Z*nPKYw*Hgm};KbVoiWFG_#n8=4lJ*R0GDqzWpMVT9-zZl`WM4=PULlyau9+ zyfJ$uUj(yUX{WLG(2f25K*KGHk>6lafNi}-%hFOEL56zFPjs)lHynflVdK#!l{_rT zPCnv~4;%8}zcqy2J*3>xzY}hA(nTjL-QgVl9gya2lNNV1{S(rZ7vrAP?~IJlEjp4G_4o*9>UZhZ?VQA zb)74>ue=!H+2=4^V3rw@icC@47$~F^^pXe;ylHQVaO=7RSxGAn@B~$x0FhuRIe{a1 zW#I@kRHa(NXpI+58$xTjI+uF5^w2yQ5%CHk8{|n%tTrF6H)bnJ4^v4Md|A{Zlq3bL zPLM;ms!J8r3DqLNv=LQd$gnd_Kw&bV%4W+I9bfA(RP`5Ray^%_7A7|$sbb{|S2D=$ zd0HpJ1o@#~+Gj|K;$tO@_}gH>W;aEKqh-*MV~<8GXSj71rH@O3Wp`HC>1867*_M3| zl{~XUuJM8uA()OTKDn4xznhG$3V&dId)j3U^Z^NBrm-XJGdOsXd_AC=2b6edn4j2lz<)LISmWg#b~6n-DZM(JvJrM`YXUk=5hKm zuE-IyBQr}&ty&u^b*Z?5XUpPX1$f}=N^TXLr+jpAcEjK^VrA+;d2Bi4z$jYaiYfJl+8ovyY(yf$Fe)FGdZ4D7pG!I8vLY8)u`8jqs+CmRb2!xi(^%ysz1>P~ zYsIqHREkzX1g&tD_ed4X=mqg*{D8eo!1b3)X>~B^rDS<&mYDB=vf;>;Q2IWU;uo&^ zHqoaqrVxiIjPE}%aiDmxynpQeiLuZ>zCg>df(icdQJm`#G*?1gS2oCfYvL~^xFkED z%j?%*cPX~5qj+Tcu!ZF+9Kc^|G@sPLX%iPv;hr9wI@Oc;AXe;w#ZdnWCK79{)=Je@ z*mEmB@7~2Y6n%cIYmt#H7OB82E%P$rC4SJBm8$cIa0n2rTM=AIx zvFaf!Rf@}Seu^0z8HXj+R&IP)+BF2N4W-xB-Y7;PLl2V)K3U>yAb$H8M?;#<$W$@U z%Vkcyz!{@_%ACu|E?-ZsHL*;Hv(b<-PU*Em#%S&Aw8&a>5t2U+;-EZEQ}T1;V~bd5 z#3f3#>(awlVK)caB_BOq|O- zI_kOSU{YA+5;Rop`Koo^0~$=H3!S0i6UWUa5jn(Q%7x;v@PJv6q2Vylua)=R7~_95cQ!(^HTQct}%H#-6$ptEXJ7UQb#I_t9Bq=+BKnSif#8Vk~XbZ6e(zYEEqTqQ1;Cv%(k!T>OJDTK$ zl+#qnqQ}8*EWO!&l>AO2Wtf0rv$T3Wvt9X1o~W9$kzHW^9#jc2;si)`d>4c3*mQO zgV`m)fz>oYo{`U`_{69q@nW*H=yyY*YqGeEX6ZUAqG1Pv@lwLOnbVM2+;Xl4Q_HnU z9zl!QvPJM(eV{=!j&g!xTk0nuEgZgFIELhGCroN&w8Ul?c^Njl3IR)O|1qDAC z+{)Yq>lP%zP7|@wWrE27W)$efGCC?JjsQbV3l5%1UxK)35<#AXd_hFw`ui!mHui#gHLM9(fQG%^kX_ zLC4va%8*rDQqgOZ+a*7`k+R|qvMj4MJ}5HCq$GP=<=jQcC?lJ4n8syUjjCP%6Bo-0 z0sH|*>q9I=)vUA;033NostCG1%y5)7zGv~}IHJy4t3x1452Hp%x@sgUuTfP5ttj^r%bZf}O_leF?^ zmtf;N&FHa8t2QS?`*czhyP-HX({Xd!#jGsOMv!EgQ%#xWv}6h?-Ux3~zAvOj$goE9 zyqMl$v|mGqUij!Tvnnd-jd?j)S&ldsS|AM9 z>Qg|*%B2%>KLC)}6^bUBuqw&V0p)Si6dCEVPjZe^qOlrl-&#b|N@uo@%bZp`v6%)! z0eyHq&CDE^|HP_^As2;86VaJSHof)Oa_?|XT!B&-kz~1gWobwAV%?LEP?UoWWbK(S z4P-$EmP2PAUdi8AIOF*SdMJS_E3=o5W1{1|l{)tA1+Vh)1hYDqIEmG`h7}UJHQdb| zx`Zl*fTddX$$gjR8*?k1E@@r5jM)=VWm+rF+(2BV%(RsccugRQ(In!M1ptF~{ZaC(oRH3=6EE3c5<=1XBpIZacy9e}4y2 zXsSxd8R@&Qy+4%b^+I8Ikvp*DQx3N;`AcG=HNMz0F4l(E>>NtuY9TS-Aj5y)?9s>0 zgEb5dFhKH*>Nhd_@>i?PBWiSkPiBTQ0vLN@^?b-)DQRFV2-A8R#as{9(gShCXPzAo zuHPoic-lmZs-~>ad=%*obDD8K=eYAR zwfQS>O&aH1(f=DAUBc2;PWbAsD=2@0nNFD==8QBJOSN%-o6KlNn$QM57I;cgoyV5} zEYl3-F)K-+AS8`BK}*`e<7WkYnADG-a$pH{#bhI$C)v>tX@mun`v98O+F*}51&D4Z zyI-Ed(A)oLtZ%H(x#xfSgOy+1^zZuc`ih=gfX#zB81Eex`QCo#3hSf7Cv7N=sy3E&mH-#ozArZBQC?j=NCZ4)BSJ% z_CG)Kc?2FZ9vBur{|O$C`@457e&x2OoclGvNS9$h&d(-f?wC7#`wq&aZyRL)z0DuE z=-tyb9>>yHXeWhpLy25ONX5d(41UMJC8U30WdBGzHI<95Eh^bYa5)wgEu)*a402fq5;^MXI(9=LrIU|XHk zBt`7;_pR>i?R}0Ky2*So z0N)+JlK`Fs@I3*1PXHea;DrEQ4&ZwO_(T973*d(VABLP);PyFKC%C;Hl^K;Mlkp^c zhd^Tsgz-^#m}Tcz!(b$`QhlHoL4=WJKg#WefaZ$<{Idc43jzG|0sM;r{1XBE`2hZ@ z0RBP%|8xNVYyf{gfYY9MKA#QX&js+02JlY=@Q(%XPX+Mj0{Eu`_0;2k`R&{D}a5F@RGKe10zl@GAlQi2z;?;8OwoYyf{GfS(WGrvmuJ0Dd-r zUkc#m06rPOCj$6X06!eS9|_=-0sK?|-y6Wk0(e+&$^pDvJ*GY<0i8Vo{+<9{2;hYP zzBhpH2;e&ccsF~)bi3Ib!d*ZIp0s>71@KJ)d`ke|62P|y@a=&AraOK6I@}$*_{X_7 zxvjSh?z}bGx^?i#=1l`T;JamW|G+Ok55UD+=LdfZp7pN}j>1W{4i28)ym{c6WrS@d z{A+{ngj3Ks+cza!+~Cf>XP(>qjsdrI$Kc_Z-mbx+Tj#fq44wj^w++5`VEvnhwlvFl)Hyh zM6|b>CeI1#kzhcBX^v@{j2fls;rTQ@JWg}=rqdLCL1OuQioO^;OjGp5;7s$an@-<; zezS9*x)U@27rnS;^NxWXgFmymIIukU*3IkdD6CzZX9gw)--e>yz4_9>&cUBV5$zoO z>CNvO*gg0TydMT)Kf<6cfHI7QxQ9Op;af7eS3>T@-!W04-Gh8jKy4f7ydCeS2Jge) z-GlE!N@GI#l2RW03BY&SyTl?dgS$5m;P0Jy--CC?Bp-VQ@0Is5{ub~Xld!SD2L(z> zdy$v^fn9^j7qJsbEg2lzyaiO4hXUUD_bvFlXK*L}?pCE892W>Fj1Ar;@B~V{dvHwP z`|-Chct8H`9h?B1sc!~kc=K(@0dbh){(-XOez#EAB^>WjsYwOd4ID}vasaN%Vz*Q- zhEP(PU)I#agZuDTC7p<*G>jFEdD*gk&mL6LTl$`Pe)BUwjaqte@FYuj>vpif@8ZBmLm5rh&1kIJ_qlGQPFfvHVD}T3{oO>qd^X#EiCz+c;6$Mqq?*Q^jUVh2TS-X zWskVjtTBWc zNBo}@O`zf2Gbs889bkHI9y~~00LI%z8-_$1)WB{RS(i=6sGqxppFL92EFBtLmI39I z>V$E-d+V;jLxjWsZpj%-F4=mA%4O?zlqEHxu=P$Umpz~(HOQo^y5dvVBieEX_U~5M z1N0RiuC^a;Vlk9Ifc31OO|i+so9;i-{?cAe4$@w+70YZS?Ujf7_RZUC4`=&!0DRG) zZ*lxueGDtkWqpd!>h;IB3rwHm-aa?BmG~ac^cB8yYd-xQ7{~Uxi(7sBO1{{>dN|ux zwin7*bF3F1VVb1zqR`&$*vG%i+AhMsF7W3zUv!0AXs7QE!uAZ1A9u@Y-}ha6;03ok zh|7FjLeBc!6aDAim^&MU(e{U7=Mm=f&oq75#Q;uvU%Hj_o<))wK52P)C@<3SaLOx? z3x}jVAI}TR=rATQ`rPNEc9gt$c)m^ZaB0&5S$$0CJRvgj^vUD513E+|^gYOC8%+p1Ie|u{ofRp!c3Vd?Y-W(iF3uJSppHlOD68{Ow z>o-LPfgY5A*7NZ+vOKl7lo7+jnWx=Sep~uN8IX5{Kiij=!5%5sPf5C-4(WS1^&sGp z$@P3Z4f1kcXn!Z-g|wd)_)C2u@8t1$fxjR;25Ii^nIHnaePEjFV7SkHb<3CfzUd|r z=J{c|lQLhoY0FdqXS%!4&+Btr`Yr}=(mE{gZ;Gw(bXa~*3%opVDZnS4i>?E>nU0m`m2!Lj&8(O4c$aeX@O<7p zd>43N-exUt+W{Exd3*Qf;elV?fzipPfk_$DB!jo3FS(b!=k0rTA7b|!ha7ZW(2c!}&i0@iOu`}fJSw_=tKeywAh-S-iH6+cR5N8jSpU;f9x^?&@r zOTV+}{OUJyv+a`M>-6Js-OK&0qgy^B3Rwcl3KWzWaV_XzS1Yqa*+9 zKYZ=y{F@vGyVXCr=erkw<7)jMKds-|cl3SutKa^E-~5YT z`ZvGb{=c7n>Mid>C-ZwqcNw;qPapnmp#i|t1Vi(H^BXRj&UJI$^X4~K=0X_GIT5%r z*Fpad^q=TwzleTwr9VhN`-Kc=pOk)c9s7m!n=4~j`Z<;*{)-lFuFQWhobwS;l|b!p(Kho8MgbRr8xGV_nAorp5nD3pdvlHfj3ix+(LU z>*mdGu3I<1x$e{EH`l#reskT|&2O&zmif(fyD-Khf9A@VkA9B*nBTUAo9mu4zq#%O z^PB5lGQYX*W%HZs{>uF3%2-m;M_-ufaSTbnx$dI*&6Tkv!#SoT{--S5T=$as&2`@~ zzqvBzWc&oS@L#rYbKPH=-&}`2mgLV| zcgpA?*xm-XY^v!j<&2O%oFu%DnS4aAsvm%xfX_V&V}KeW1-(%nUkcSbCV4J zmW7)u^LPyBd>+F&Pe;GGZo>TL%G?&iImbo(XD!@Z_k#J&buXFUT=$3OH`o28`OS5^ zF-K1N=E~eS{hSMDdQ%o|uA4W%xo*|`=DLrW-(2^3^PB6wZhmv!x6N;^d>du@JMevz z>GQiK{pPx}<~P?Zo8MgbG4q@2UNpbC?q&0v>o$Qn>6`2JnBQD?*8JwWW%HXWV_wF8 zUg7Q~3pZEBhYWw&!r8x|-&`4k(a*6MTsLLm=E^vd;T%sg{5cCZ*S%FkDA|H_gV9s>%L}wb7kBG&^pIo z`0uvgq4dpld(CgId&K~FUesf*h z{N}n<^PB6QhW~A#Z?5!<>1Y2Ku6xnK&2`@}zq#%^<~P^vz~EF|J?{T z*Ug*XTv>z2aIO}F>po@S=DIJ!|I-LJ*S&0hbKOoPelNn!b!GFL>&~0sTzAF%=DLrX z-(2@u^PB6wWPWqqH_UIY`=L zjofkA>oMT{O>y_TJ1`4$i~F1E9(6zACc)n;b@$_2jpnPnd%*o9%HS5PBvJPcyuW_G zKWE#BAEr&D1IKBXF?cYIA#-t0z~!7a;g|8_!#UbRv_%^r6ZG(Gy~ox}34 zi|?CR89(4W3}1sAt@jf&!>wBkopAr>_rB}Hw>WONYMy)e*o+*+&tM<6-5qVr;BL~A z#W{xjGVR;Ii+^@FoK#hvnOV3NtwTG7OP!{w3o|o*VcJxsU17SnA>U9p$u9>{l#AxE z-|c`uFBjs(c$?fEfMLhY9Z+eZLzxlB%lS^czYV^fa5MVqzXS28(v$Y1Jc*-m2HY;8 zz3WbfdwO>XJ>}1*%R0?;>3Y0(2wtDtZDFJd9{cZhyM-QQr)7tiNvAv1R?9*sF*>CA zPK(EP@<;l7|ET~@nUOZ(Ep4G)1o($B5GJ>ECL93Vd>{I+23 z^)~l|AFy11@B=lLU&lLtm_`)a3gR5kZjqI`&A5A{-mhRm?Me9>7rqGFo5G4IuVtsZGh5)5d1AU#P7V~%fB=3z$d|{R zH`sW9*LK`us&XT}XWe<-vKrug!X3jAF0zqTc%ghh@^1&+KP~jT)%RnS>RbBU_aAib zC-5Pp|BoP;L;dc*`Vwjv@ZNZSJSAXTh;^g49$29|h^@=fPT?5Q6c|Wq^}`dCxvv@j zxbIr`LmP2lxe4M31A&WOWOTYz9awdAo2N0(}gw%s}n_WQt% z8xQA!T(%cn_hwPVB51i=)#%$gvGhcM54-G;g!kYC zeq8#@t1!9gw|39qwk%LpB|Sd^VT0S|^rYA1!nABpzkovuaU4OjdKulUYO^rQqsg8M zH`A|{6JC387ALnFKbpPdy;zxl0oQOgc+3lq5y>cHqcIL3?jT*vlg713>;T7PA8qo) zAUSo^0_4QqM=Gu9Cvoj(yW!6l_TcpF0k63dz*0I}0e-uBlGmz)w9pat2YgFjN{Mt> zLzI*0K8SgMquj~y3mus&`YPKFHb0C*Y3FqR@9jmnGt{kn* z&YrFLM@+aY&2;OjI_!sL-PUD%6g9NZ{}>hhKSlW zc_wmFDozABL{U7xvV`+P=06Z*wUk_zihqthvw%!zrb=VwOk7=+q!df*GHV|9E#XKJ zs}^YjVNOfMQ2Rn@6_b>PFp1idQi%1TR0<>>m1S~SO6+{K)ehoXp+!1XDhC-%%H5>p zi8YS%I8zMO)o2>EC{vMgbtMMTpK8pXfKJgG0Ne*ty&Qa3Sit<#`?xG%4^g}vJDLZay9O?MumLi*&p%ep@ zoMG}EVxGw4spM*7Fu)6t%5jzT9mnWoCu+CJ+V>gL@Q78k_UsqRV<$u9`1Jk5kk9Cp z!g7*z4YRBq2)Qg-mkA{lWaJ=F^sWT-pm}$Daq6%#{eW;~{UF3h`+02{B-r7$(`a(5 ziN&3s4)I#i;rFTP-26-(lo!T#b`94*?@fNTx^}2|usl{eI8i#VAGZnK?0nzoXzBim z{bS|w!Glm@t9?@UAqkzQ>@aX)y+_qkyYJ)V<}rQbI8Hf;!_trDHhq-Hj3(avN;=t` zXNs%}631bC!s455H&^CZeDi9#4&S_d9!R1&)2MIMmSdXP_ZOYune^Rv`uYPpH#nUh zJ)b!o&LuhH*;#2h7+H=TIqHIg%Q#QR|vibCU9}a!i9A{0OHr7PGnnnC@bZry&f;9KzhigHatXU+-Or!e()D?;V zs4J|O8i>XLhru%IwR!es>+>^eVOf-NBr;Bz#-Y4&5HkjLZD8Z^kylz*nsP)j(nE+G zM9l6i)5S5xxXc1zNJanF3usu<(3LhXS>}zXjTqmt2}de z0gpw7Y*^5t?1XgdDrEli3;jS!^HCMCt;S=xdVG$EM; zaQJz3cI7hfD3CdOj4?E(zsh7eP|||vL#pb*l{8v{%YiX4T)7m<--LAHgg3k?b-7kW zVh>4-wGFA4lI6-Q@?zz=44qhp1zEm6WOu@id#hx`aYunRBe~(bRD}DYLA{K<1wPDF ztc23zm8ChlPs#0z#@37jY%kB1A`TA6$ic%rH~6%>FPG5#g-y9uHbT+HU*fO<%JV*>EtUTzfl& zU?F04mBts$db0)MF*<@ZO;bP~r7jYYtQE^95}!Fei5>QZ{H2DKJO_yYDW3>=0$39v zPsA5jwBg`HxinrnSi&jpF#3!PTf&IC_+Yhd(75SAlzh-~pRd%1bQq`)9~P|owxq=N!4 zV}TRgJdnyJy(57rY4Rxzy?dbOkF<}N2Vd8Ralrl9_{72D{fXQsaIVsURX~o@$8m^!o*?({hjGB`5qUKRO zF|D~KYVeklFgd|7aZ4rM=QHg46fqsS>H#Pn;wCj*8iE@uSms*tp%$~Og!Zu6IqDT# zTF4#|Xl|55s?89)M8Lf@QpY>g5wSa9C>^EdYc(Vtl#D2vw!W%X_7@z->cMEku|?b< zZa5>EQbA7^sqzAtR5c--8V>4jq2nx;J`H_AzbCA|HwS175e1QpW zju0WLjbc|M7oQ5yadQNyx4PXLp(3Q*glKf%gGo;U)K=+T51PD5Q9OvhB!@|3=2$HS zc+MeMO2Zvhj)(vciSR-RBP7=5uq*4Sz?@E!`rn+kwci7X1^Q}4tb6^rV%0twbIMq&t} zXhIqn3K*qGU58j=V;8q6X4SnkyqIAJEcHm|%`&ajNt6sDbxk^BoAD4h%rLcSkww!O zVQjFF#-?>d#5J}aQDc~D534;8@D~^s4{vEagn2=A;Z`N)M_l_g9-`}wFk*po+?oZ~ zTuQ3OEe3^>D%i(e#1LSREXMUP|5~OSN*KmTWrY`CUH4(o#h+XaWqI}$Ra}T0ZLlvc zBB!Q5d-FY(tTZ*Pg7EA|fDj7dUyM3N7rEtkgm#F3ZKyh%f(4Og0e+TWx~GHbcy z0LF!3X>!P=RNN>ziK?>J=sRmV73)ICv`v@5M^*G@}x*Z%Cb$0>S-V(1MOD z0ckXa>u%q!&_~LBjvCR+&qz`xJlORV3b-q$%f~OE(*SiLLVZ@@nlgJnq|p>lYA>>; z(~?@!s{zFqH}sGesy?L=babMs4>=(1%>H^g9`w@?Z20pGYuz$&0#ljq%$ToX2O(5w z0{P(Or+IQ5iKN76&h+Lti;e{GL;~kDNU1-BGOO^qS3MX>xXjbz(w`N z&kC{nW3Wd-WrG)0H9tZU6%aKOP4kmGjENv)TB8sEF|dC6dwkVugbGR|sb7kfPVlIe z3%)`^(f5U4C3RpIbz(zo2q5(OA~MbbBN$@YSW!f(7t8&>?R^QDT-kM2%`i-6!|3By4`|f@9s=Bp(#P*bQx?bJo z+;h)8=Wg$wb6GDW*4o7=T?>s;%4-fov?51VX+ai7g4^LwBUCowu+xDp!@bEN$2QyY zWaHYt*dY^SOD|v3N!7ZUCOZOC8_D3Z@k|CAk#&Q_a+(<*J|H68Nov*igSZX*2`+IjumEM;FZc%=mDP|Tm5?My2E=5IT>9SI# zZ6pt`@Y5&=D?1<(AlDT7mQN>)j&*^MqbkVm$5Jre3i3Cr0V6JR;d|Jmj&3aJ#0hnvK$H7tD`JMPjTtUX^y0b0Zz^r zJmbh0tSE|vvnit16gk2IR4y4cVUj_`bu!2#eSDk^xF`gg4R^kR5;?Wfz?w=fC2{+5 zc6l~8^5krbUVLp#2q@#=78jv{$!emFC1oHmDRp{XU!2vb(`!(vLz3L7F-B5hJzFlf zR20bTZSzZ(+(BF9mMpj9$|e>{1|qF557dQhz{#G+9(&A*#88N&OmK&lB<|IBE=Ap- z$Gk!|>eIb29Y7)Vd_SVOL73YNh8+8?d*6yM zxaoL=XsxnI)LgXxhN(a{xz4cN%p5!Po+gqsl3azylIzX}Pd!qbcm*!?DIWE-^LLjZ zY9irO&8yLz8vEt7>&xImU4^Zbhs1k_nbvcq_2?FQXX=lwzhR0A=O%8N#hx&^ng1lapE+n#LfnX`I-`OVZoJ@jXBS98(BeIZ zm|OO9kj&3zIoA65tPRKxjgx8oCTsB(T-C^o%qrud&!NqyH(}b&r2UA<5M0swUg!b0 z6>SUIzfE?>sDkLQ$eeUiZxJK6QgP!-P>r}~Ke=LkMp35GDy$^lm6DU%DoR0gT#Jjl zuHA@m&*x9ioFSid0#+FDXlXK(=4bGea$8CxlXfK1Ncso(_)ZrofDQ?aPVG`;JI@Uj zT>Vi(IH#&g$AKIYNlGNv<*v@^(1hi_^+mo!D~~B87Y4qx8zXD1%qk?q*lTcDH2r6x9PdHq!V1=Qkmj|VbF;%*Q;(@7OB&2!nS6SN>ImLLwtf2V-$9~ zked=@)j+QOsyErRQ3d?1qM1~jZ85vhBZ_eeNhL_hnaP}@opsehCeuP0`rJLkrd)`1 z`8kcwc2zp0kdZ7uT>=bS%3jHfmLW3{i;u5OoK=`1y=7ij#HLv(pGvWmit{^|Q9w!= zu0kq3E`J8a(jTag0t+{1K93XTIbLzsk_FgCobjL_pkD=3vGqKfi!3RW>f1ezZ&bTM+5 zkIefUw0WpW(xZW%M*JKnLvqn!vyTf88+hMxxm|0qgWxTQ(Ya5|qS;Ye*?g2v0H;GY zX$BLey`Y6`xdRPRYTCo(rM{M%n)Wz(skcW`qu&=ou$a4!fowkrgCJsPQo=nANOzb> zxt({NiqCX-%1Jkebm=Gpm5B}goSlm3&6j>e;Oq}2YkRBYcXpKtN4a=Nk_Z#06EQp#c4G}jIejJ>^lI(?8c^YU+RApqW6jSzL#65A(o3S` z$7cM!BZ^G#~Wobc8*G;9Uc%UYx--CRr^ryO^4S~=JueoJ`W)NUg+*FdNUV8N8{)KT2XX;ZmCQZN zR#oatI@yrGIUWW~m5eFmjiYwFmc(v%W>ZMKv+Hz}Vtf!05@SMbIn7@x8EbGp9v@5x zksmXa{j|u%dk;>|2c6Z<6POkDdf-U1N_)iQ`u>$>4HkTw$(UeypGuB5x`Xu-!*;!> zL70(iQezQA5t6FOBJ{Wx+v(9ElF4jt*#)P zD-xmK=R~9Ufy<rgizHPOk;y68Aw4Z_}8X6(Sb)eyO3W z^wwjsvG-Su5w_G~@TReej{pn>DQ)FSV1#=R_Ecj@A~h%5*bnQAC2oY|NMHe)si0tl zfM*yijjmFM;Rnb<{;qU7tz_kVV;%ih>wxNFz+3V-EI#6I;_46~DenSF#_&`a5h1DU z0!hHld`hZ2BPj>m^hmU~!?2AZ8QsUQaSQ`@DsLk^iEP_L<7#V&F-;OHTqG4>a(1cDnnuFw~Z1htkw_%T;BDoEN{1gdn-mzKcs@k&LK@%3Fpt`8Xt} zCm}hUF-aeXWN8wTBY{o&1WL-2s#6X{brOGNk}GDryQEcPe4+cSe=8rV{Bz& zbq?*0v6YF{347ED)u~RZPUS$*8%;tosX8!(4;(9um)Pp0>cE(OJd(Vldroj6*?t%u z@mmp!edg$z%g=5x8Y?PU#}y%x+xJ|NV!I936)6(VE3kyU6*mvF_IaHDshZ_s6 zW*4s#+l|biAB%T2?0h0GAt`MTsubCU@^+J5$TmS#p{aWwEJD&YGN^))zk=E=n*LLeYA_|`6ceP zh?g6n4A)IYM11H^{C8Q?#q18(O;B}CMrA^pE)A9%ee55>=@(!7V2fw1li;OPq8eIn z=u%qpgk-311)JMSgcWZ={3UHkJSSJhVX@aN@0vL3YQ;T>k%#?~NTgkmh)ELsLF~YWWoW`9Q9dh0d@&5WM>*ev&lSJ-TnkgwN?u!5fRwD5=;>RL4L` zV!oeTnqH~n9_1S^I^|QAO{-)?M5Dy~v1`QU=)(|4J76P78Q}KHBy#a+nkIZ^vKVo= z^ONQYpLUISPIDQ>f>`!1Tn8B<<@2r)9~y&LH%78(cZ(RDh*;sI*(3y~^7Rl2Jq+z2 z>L=+j6Lg%e^{*sL<{LCw-tNoRP$2Yh9D)-AP~22>(UO4r_l202vWT~l0+)bll z>0za+xoDE>S}Et-ETBUlm6|kI<#vP`9uz@KEuZ(E^iLj7GjS9HH9^2Uo=+|=pVd^- z>1zU_age+quJ(TYOBSl_mJmT5@tAE({>BHAh`)hk;W!?+w?iYO0y<8zc0iLAiE)y( z0~%)AS+bx{lPg6Lz_BX-nJ8I6HH|ZQ{Y!I~;A{>43NPsf{E1fWGCTt`)@t+>jDhxO ztA%<0YH}lKh>KecGDq91S?_1qwedQLZ!O<1|jlNEDDjMYf%V}W5=0zCOJrPsegIX{E;}G&%))djL4(Fdw@;sW5AVsibwcSlWr6eIVg-QL znci!fGvm}l-4ZXxIc7Gf!T9S;aGdd`MLfI*@9gEsEsnh6fNNwVg2;@oGW*SQL^#!( zIw5lg0r0l|@SYr!#IjUKLYqlRS`%-I#B5ogVMZAb<4XP291mutG#CXXx8brY!(I_2 zG_Eg)9M(Wr9d|riYEHjLT1z%E@-c1T*+^>2W1EP=*ErurTI0Ywkp=*#=5stz6CRi_ zxl(a@UkcTBr7t&^Q=1hM=AEkuDn}j9r=$*o(kB|uI0KrScNH|r2~cW>ndjced6CgJ zc4TYy%zAsQJ03f%t2X$J3PXIz@Vb&e1yt()f%$FmU>-ky&dS5>8yRUNh{a3TFU zq0zx`#E*3?Gs!DK=I8On0(RDG_`JiH((WX)5UX8Cp zDMAM>23cVk^eRQf`qSh^!fx7GiqPS+--i2>KzfNTa&DrH<{Jqe_aw(8p{$!QIu@|U zVtut6K{=>2&>B1ScNiziE;;7Kt}$>365%295a;n|JMym*EqErm>WCU!+n9ZO;B_N- zbhQb(3Y5IF8;xM3-~gdH$ZXSll|KYr-;!~`my^v%7D~lmPM{VX!Xha>rC7ExLU65u!g+!+mJUcIukSx^|op_qAq*G)UEOLlU zOfM7Bz@A(KxRPMmAVQ4NT{6ls?8U9+W!8ugF?|%IawZs)R_!!7ea${`_BGbr+vJHI z{Vf@Bi&!|SWc>lEFsty_fp{x!H@LgR^6jgTZ&{t%T~DyFmZ^y|2;?jRby4JgKGRk| zKQ56Q82xW)YG*|l{V@HJl>P;NYTPVEiKMteg+s-#MGDxOWAeG~j11FMDz2j^1Z2tp zlo<=)N%p;xHeX>?KcC~`b8M#usDerlP zu~CB>L6Q%>yUaCpDg)lykSSaqYo?0k*oDz)w$V6}d9zZBlnDhWi48|{BS8{ACOzzy zq?tA6E!cb-?;zT?&IwPcEd`9QIgb{!KTLIutp~xA!48#B%UgHS?X;VllF{27lT)s# zh>m1%wPOye-S$W#mKm4i=ITQpZ%Fk!F9xPR4Zywok}J- z2la#evEHo1J(4%1<{cFw@uO;0UfPXXm7O@}s#W=B)e0GQRx4u7s+FhX?x+=*5%vlB znt?=|r`(!aA@ex3V$>J7TA>PePOXUSuBw$gVt)&21p|%AYE{{lT2&^hRpn;Y3K@1* zD`L&6m8awGs1=y8vsxk1t*aF>k5el~eSxbLs&MDjipcJ&S~;VWTTm;QTufH0>aNtP zI#I2vH>+02u(MhbYgVm19d}2qz>J;M3W;uAt&n+~S~2PiT&+-rJEvAec30KPnPJ_6 zT2~CdgDJ{~p=bCsRUIt3kvYwPxGDZ}x8axOss0&7c7b28cK) zAGWwClKRp`3_jR%b*JD$Pp#w;Xu=5w@1#?Wx5xSB4EOBl0Y+Z-9j;_L;PmFJk+k*rdVEqXLP*(Z0Bp9D#-EOaQt%(Dajn;NTTOgiD;4OIYw2<_1xn-a3j&L|( z(!YX>l+!v@a{*yLV2~_NbIDaK8*yBihgmF+w%Aw6tM>%K3Ee1Mg~PGP7lC*sfqnJn z)bwx~OU5-)I4wX+3}!LY=}l2`@E zw-s%mT^_Mp4jPPca>3_Fga#jPMi%Qt1joUv4Yfn*i-}5z&c(})>iB43ibh)vg!INX ze09N5g1J1R3kNGtjscrg1;OW={h`0Qo8e~`PMqp=x?;BxB)8ya;|smv{;UVr4!EV7 zN0@ofbx@T|WX(C!67k33WLWq{sawO|vBqGl(P$gVaeP=0m}*CPAzh6YuhGsAeP0x; zl5)CsEwytgl`428kl^%xzoWNds!}VdUbIALg!AUKBdN<3@{pszL)%=^q63%_sT1Ks zQs=K=uIO_^Yn^-{fevHXK6h>*1Rt_t;3+yRGpW?MWaeTaPUY}YJg4Ag*E#~NU#XOy zm%Woua;^`jb16-98rQFFbg|b&PjaiY@y7M)-9%nXs#Aqp(rv&J1LD_e4w6k;fX@=g zounznWv=^tvo6$H@E4A*2GpKWI!-kQa5Cch?oCY!DO+IIFr#AY;*+%{y89Cu6ycB; zJR^zDb$3c}3>vW1*`geeq3Ukf^p zj&9h33${iwY{NRJ)xZ^vY?OhW*7t`T&B1v;$beyyen;4%R~o%`1K!p_Hk`Qi;Bmcq zt+9&sWB=*O+j2#rq3QZfe2g|XFaU4zMs`b0`y23mfRn&a#XS*1o^&DXgpz&xuA#at z;${8fqt8#LtWi&vY>(vMw)`0!f~VDiRfUKuJ<8WmDO@=bOM&PT6T1(pdK54EdfQ-y zh1x8jy-UeG(<8H{9WD^ubxt5xQAa--@-iaoboDU_S>FrQTrJmiY<}%)uM= z#<0Hb+|SpMwbj60BQTw53>v-t-CDcNDO0g8!&^UTH)?QhjW%1UK{-)&XXQiUFR9tD zb-RoVc*2s|d?*H5Ie`9l)X#lbkYY}1b&Q)uLr0g9U?0p9DPHZ)fFhO-vg9UMI%w8f zn0ECWtu-5dAyQMBT1QO)e^0@vkuoMqv~Nrz*uiK+vigI-17R1^+OlpbYN#H0xz_7! z2*=Q4WoU!H(Ll>kt|&j#g^qGu;PSHRuA_T$=7o)}INJHTMz2#Gi-WjijH(nD@vBzV6OHj^8&Tp8{g zJhh%KzdofB5FMDB?ZHiHhz~B_FkWKXhpvvcb=lHNC3=Fxi26+V2_{IfV_M9@?JI1Q z5?mz-bEnpVo;e*r@80l)3ivUJcih5&i%N|i1HJQ#&XJPARtM7$nM?My+ZMe>imi3_ z!jhWWztzND7;rid!y8EO-J@Fk;c6cVCGZtEMyiiWB~EmDr)%BOffa!eLs|x9#@Aq+ zTNuK%8+=hwTl<3Z7{;noaOT1;c640SB=LMwsYpjj<8uv{0_)^Nc!tgqOyp3)t^!q& z-g1>a75YjPX8nLFUb1S|(q}s_pbs=(RF$L%XP* z5XToYCMLx%W8Ds=(2*yLi7LxV!~rSNorq2qkZ5-(9gFD6_~edxsxdSb(w139XtSdR zRO3vX++K~I;~8uV5CK0skps8lIhg3QkG+pguwgbbXx1@f!j^)cNBT7ktXKP|{aw@- z4u2qdD&8KLqX5n0#t_ck++RwJ>!n5dkV@mjwBu80+Ihj7mny`vQ>rj+J}%PDnDFm7 z>X~YMi8yzH_^R>a5PwLKZmAaZJRIfWCS3ZFCTB{iH&FIFoLe@n6~tsle6G6LG@LHQ zbG#`?g-tKvV$w|-lK1Hrf%Fk|?U!6vY<)up4>qW#pNdxET*0FI*|@Z(CBl)$K>R_- zDpn?5UAVH;+N`>PC?XwVXyenu(dC7s$Dh5luy|Ibc(iy-Pl{gpFrJ|NY0DiUog!7m ze6ldo=Vw7XfKmJ>QkiI#RP8j!oK5j$YsI;l?8~fFhH*|D&^W%ohxc&x?kN1%N}0sx z_h-;|6UTO@~mfA$#n5KIn@ZFwBVi5MQN2jQKVp61iI2KA`E-c;>)sx$)OI-;CDq9r5&BsuV%g&tiy2!bT694%u-Y3*q{DyLolU zEkRj4s55+7F??;`)(o}Fcx`|_o|A>O-Voc<8;Gmx%nak>rd(6d4<`-ra3-w_x&n2G zDa7KCvk_UcNe8g@``Kwr1aY{3`p3H&;y^#p6 zoFqzwq86xBIQA;B>Ba%~0kEFM(zC`rV-k5~*kw_==5-!>h?sR(2N#Ei#(=V-ImaWgwq43L!p9(p)H_4AkOPzMzxoy-Q2tB;#XHL)w z8%b{W*XOeJ#|YI=(|>h9F9kt%NTOa_q&^z6gs~zJeesGib8RoY$=fz`Uuv~sJgTChWv51$S z4C5Kp%vY6&3GW%D(#5-;(fMp9N`6e}f=7fX8Zt1G9rBXgxG}C~*PnihFItEzsDQsw zEf_#~P48?~rf__k5BCCW3mdaLzL?>30Gm{pcU^ASH6uoHt|xe%c1)ZB=J0V`Tj_;C zyJtw+o-Mq%SREG(ULv4(D zZU}N+E?dS1yf7MFHN9=v5Fi813YJN|hHOmV>8IEEjXr+P zF`|fJ&$6pBa|YI|aueqWcWsF`v9HY{8rRWk^<%kn#G@5o!eM#q^C%GP?qti)@6biP zS*y0)=*{S?SOjE3KjsRdklzWhB|eDmD6<%Wn%tB?Gf(z&Yn_Jj7yUtA*Wn{aIuIWd zth;b?f%LpnBa#R7>C2F`MYA>F?;s(1=vJfGEe1ip*c6>~W#hK>!r4Pu8u%@}v2b1Y z%Iz&Lc5>}?7%rbmJCd4gQQI0Q#1zbu7##fcvn7Vx)Fr5jR~)31q&fr$2dl{mSm4RQ z5lEQniN7dTg%Axg;emEN)gx#mN_*WRRQB zR42j$`J!LOXK;z^qY_5+jajhSEq~!^8F<8H&8*c7H-@71altF?JP(AEUKUbY>D&8I zsWT_!nlCsJg6*ivm5o%9Gvl1m5N&FCBBbt$(W=Jk@iUT5?izL*9CK44rA)7_po~(4 zwxy;KwwIn$DdZ%R{ zrzp6t-0JkM=$fgAJ8f|FhwbR8voEl9Cc%}X$vXD8n*IK;VTX2kYc8+z#PSGJQ5?6B z1sBdvKwG-JpR~>QtWw+t4+dd1hD|c;ht*a;gzZ5|zlq%|oB{a|b`fx~={3gU)C{6( zgV|Y^yT~?{eKLAo^&_c+*%mhrBEjKq3f=V>a3R4SjA@q9yoYbK%K z+WD5JrMpGc_LRQ?bEh1|GOWpVr7&M4VX`UTZBv^b0@^%w={ZUtd13f%7jsIn%r@6Ho0-#F)~(+DlF_ z3l^Itlvo6H(+j%Hb+bXr9?me69NhTW^3DKp54og-tKU+|QO`Awkjj%$Q0>)*%_##M zEGGxg)bxo3>ywx`Ou>?im1&^?i}R`JFw&hjcB89N%2L=GR-F*JNl1i|Nk!L!*$$gf zw6lt9j-spVEOg90gSbT($_2j(ep1o_e|k*}bTYqDMR#pM^I@D7*Q4XKH9=d*2g$U3 z<*?qwt1E9+2}Du}hW*h7h-o!`vaqp=?-e zDQ(W>kD+O+D+>7q(*UDiZDxgjmL~;z?wi*ZpIFSX#Z~~t<68-m)&{$oS}YP2wOLq! z6*O@M<>REqY$?o0LS+k>eW@hTrGbG6K3ck(PsD|q_<;^4qD3~1Mj(F|j(~v(jj&2p zG@;go2@h*RS4NyeO4A%__`w|IQLCGj1*v6>%PU#TtjAhPO>Jf!1M3=A=t`x9mJ=W<9)K`wc?e+)mT=sTj`$ zg(H6t?ebK@X}+YHns&+&mQzjEc&5dXMqL;oje+|VVLGXdg;|h5o{MYg5foN_tuhTJ z>p zqG|N!J9N0qQ-Vx!iA8T>9aP=wM%s#(QnIZEc+bTs;S}46m(kN`4S!R#o3K6(%$d2!AOT|GhH|PDQ0bBB??Kp+yO~@PAjJ9)6MdN)_ox^hD>WV zM~lfFR{Kp%=!K4)4L=b{*O|{H!)`>$9K>m>9R=CR;FLP+Q@BA#!Mu+3^*o5f-+1I3 zc6r$4DPM$;?6>qFdiz(_oHQHlEL=0CWW?FhEXE}615FpTtbIZ~5KK+$HmeZ?sZ|3Y ze+fTIi4F=z?8$1v{pA)cC;^+Uwo8ADHy|RM}$cr z8#3rQbm!q_{ubU|C={Ol=0f4y?Hy%lkpOX)p5Ux~Oy8IJw^%7wRDId4OpNAV)UOm42{PCs2179`1Hc6rI!PncLFV?>J z+W$3t-u__e)&GO$e+9kDvjFxy^8kMT4F2%j!6)ta4_Mg8?Dx>Vw=Mi__WNV#LhxAl zRr{W|@YDAD{g(b$t=!MJ^p@^13;*Ai?uRY@EA02rTKtrS|3M4?h=p%h_$Tf6&scoZ zexI{)5bQs%_$NLf;SL|xkDo;T`aeG7Z&Vg&1p1Of;l27i=C8vyCVJ=KBsU2|*@eqT z9$v8@iGADGr|f$S9q&!C#Q6#ZjvD;DB7b-N$7PE%fK!inL`fPakHPOW<_0q0n7jn z1C9gE04@U70sp@~Zz{a|QI`D*;GP0q-xLb(D7^USJHh=25W-miKhA#u#_z(r5dSWV zeq2VJ^SYKyA@@IsrZp+q+JW^AATO)lB0- z<5B|+l+u4MW=I^-r6q+A5hHL4@>6QFgC&K5nu2eP#wFkkeD3lN{_SLbLS7BcGPv3#_2(r zrfg}7BCi6-2Qgnn4}EOwuUl*-xCQwHkQUE%7D9-)}gW z!VIjJmyJgipZ{J-6)o1-aIb&9s5w9>+Lnb;+@+s~uJY4wkuhF01|E5BLJw*2#{;`jj8ArR*ZXjg;56-?i z8P~m#b$;$KiN_oTWj??u06wgX`@Tm?VriIX0XR?lEZ_(VSa{+hoD%i=7u(IomHiiw zcj`kPvFKlX4ks>#D;F2ApYc+y1&21lqns*aCfR;FzkKP;;=k5OrY%*h^l`Q?r#<@@;f$zR z$IYGHc733VC1u?~)F#Gv4DHpdy4^9%+mUygb56g~E>^(=Q*;rsw>i2>3QEb@`lNNy}C5 zF9Nu5{8qqk2mB5I-*|iu@CyKnRujO*{p5Gq={9ypc`9BKyV}L&n_#VKY0DK(qCjoy7@TUQP2JpQA?%n)3 z!1n?EJb-oli-5lb_{)Ir2mBSlUj_U%z$XBo1pIZt-vIngzz+a^5b(DEKLq$;z~2Ud zeT7c}{tn);2!~g62RHfKLPwxz&`{06yTo&{srKt z0o=po{TYzhTZNPQF%YYkz4+Fj)@C|@h0N)7sCcrlXz6J1QfNul*7r=i7{5Qa7 m0skHFKLGy|@cQRVlLMbewSNil%U_z+f4$bPbKpyw1OE?#;@pe? delta 69 zcmeyeisOZ!nM;I|^D==0D(1Jir=~yNTcy?2=Elgtz>uNNz`zEiEr56h4+BF2F9X9F XJ_d$6Y77i-)FxWVF*0n76jlcS`-2jT diff --git a/Shaders/BasicVS_PNCTT.cso b/Shaders/BasicVS_PNCTT.cso index ae935064f457d1eb74a576c2e85940f21273ba75..a342127a294d09cb6e58b7cc1e67afe67276fd83 100644 GIT binary patch literal 136588 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 delta 68 zcmeBK&C%d*>Js7P+`(-q{P>(@ap|rwxp+;DgNzIe3=QfG3~WH!0*F`eFfdf`GB7;h VV_^8A#=yWb(Ndm~VPmAWIskzB5F!8o diff --git a/Shaders/BasicVS_PNCTTT.cso b/Shaders/BasicVS_PNCTTT.cso index 3f029178c3b0d56e7b82468aa5cb0150fae02027..bff38e9982e56e8d6ae32ccbd79743ffc2013c4d 100644 GIT binary patch literal 136612 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 delta 68 zcmZ3onq!8)sY`^D^Lg8%f6_St>t>0aSj(F#wU?2BfnkO^0|Oh7wgBQ4JPZsIco`V} V@G&s(0L5h{TFNsrY>aeP2LQ)X5efhR diff --git a/Shaders/BasicVS_PNCTTTX.cso b/Shaders/BasicVS_PNCTTTX.cso index dfa7e88b8ea12e5a62f773af78e978d3175573ba..b22a3d68c99b6066c08b6733d12a079bf79b6bb7 100644 GIT binary patch literal 139208 zcmeFa4Rl@Cbsl&CP!vfKG9^bFbJ&*t;XF;lxx{VTR9MyGO&8k*LCeC41OEiVF2e02Eb}l8{^s$g7w!%CZNl⪼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 DDp1T# delta 68 zcmX@HpJPw3sY`^Dv)rv`2R{pFT=^Bep~YhByA_NK3=DfT85r1rv;`2a;9+3cz{|iO V!_UBA02FtaXerOgurV@S697i{6LbIo diff --git a/Shaders/BasicVS_PNCTTX.cso b/Shaders/BasicVS_PNCTTX.cso index 749efcd5cb7a2a0edd0a396d0c48983188d17239..193005fb7ebfacf2f2747f3e8efacf285e9c4e51 100644 GIT binary patch literal 139184 zcmeFaeRN#MbthN=D2k*AnUX1+k!kx`VdMrx0{sOLqDcuPAxcd66#}AZi(04wG|09Z zXt=vU0+gJEG@6Vjabj(v@hTaev)Wm$Y$#{2_jAtj=cr%_k`NJop z^`}^H{>%Drf8zA-J#7_LkM!mXq>(;GXw{CsB`j|L>?!)N*!!F?={m*m>XMQ}5&vyxDK79BWx`Z=7KKx&I3HNzr z&{TD$z1*x$PP(buV*5;`UTwFl?*3+_)jGb|YF8F#t1WkKa&or1SUp#1w%p{U%3R~h zLS;#O=O*u4Y}eYW<~iAztJdxP{%T{vUP}M&zw}X%8Ae7$= z3X*cCoW6?8oPp~f%9HxA2bmc6K)946{<{lMst`{3QP0*gaLSGNYaq797kenLTk-x9 z;GgqAxYQG(J#&+D)Db>pcaDXD$Lr0K`PbkQHjW?j@wCC8hkK?A{C@)cX}}qWkEipS zfIm-w@%Tlf^JT&bGx%!;{}$m)(BPY>40v|JeI5)On%iUWGTaxsz>fg_nJ)0tfWO!U z{$apB7r^WA^LZTZ=exjv0q~c)z<&wwm%G3}4frcv;QtixFLr^y0{E+4;QtEnFLi+* ztt^O+pJ}upx<358q@43%=W5j}P}$G+A$(I1exi2qQd&L9y`%!EKRm6 z&9?X4w>amHG@5hO=9$XeTy62<$=ad=9p>GX2XxXHl@)iSR%y8-_2uS~YWqsHx@ZZt ze2T)+@x{xuEYT79s%x4c@vEUo}F;_z$Kh%diWiH=L`-fhL-@} z+XX%bcph*xQ9@@Nem-a5vdzoVhmM`C*4^o5t-9E*v}=t;_dumJ`Dhge8Sf~Ux2MVl zfm6-OVr#z9Txf;1`}pEqb;Y4b3r>_P)-5Q#J;!6yKIhuT*EqsL*~i2YKSzU$C(CmQ zaKb#?*ZG5hGYa8+ybLD*q&z&nho1(#TN%v&9sxgFc1wU$wpsXniKzlK5M8Jl+kC* zf6=#)(#$1wc$Z*1cZnSqJXsxB0o==h;a+Y}0M0yR@qZa`_ItcMJ^pimM}TML@auq6 zK4g>pz63v?SK*GqHTGlp?*l##c$Ute0)D0o{M&#(VsJQdz1)JfaS8q`|2qMH9Pljv z?*@Dg@NBvTz@G*@%l}cppY1~D6yVQwfzJW{JmBPqkFSH50e=yG&yUx`%hlN+OmUDlq6wy|M};iiTqvzN3wL-Ly(=K1)C!qgQnEXc`XJ zmo8Ok1s`0Psx4HTZuw;6a&-Z<-(pYCS01g-Nl)w)DmircqEzU!mBouy&p^ptq)s2H zF4BVgK2{8q2+&Se<@tGV`yyn>$Cq8+guLgzx@5vZ9_K$ay<8aWv|R}LFhi!9FCvXONUhO4 zd;gJX;f9dIjcLff#Mgg@1fqWkBgb#U80g<*;LH!<|JLB-jr7ojIgW$QoSr;B zb^P=xck1-nlZQ{Zsr$|!J$?G@ggbir#Obqc>hP)i?>jZ+CeKZKgLQm@?e1yhcMkD6 z4kFEQW0DT};e%wI4A{h{aE9NA2$P1-AmU4YA#cKckcV%_3*o*t5H3H%=Q|&|A_us{ z=Q|(5MGkN|=JOBXlmq!B+y@cPa`f;pUFMZ=(kD$m#NUdahm$5B!eQ=WIBD`BoGK}D zI5&NbBKYiQCm*=){Px=+V{rI)K>Q;QxSkIod&hn;5}uj1_v2Og@_zD8Ie0(Q=Fj^X zCgEF@9`nRD$cHm8%)^Hn?Ge^k=g#j!lqG$C@ImMP5lO($v#!ExnG3;n~~Bby(-gz-@g~}PTGY3cJNL((;=MknT~(I zA$Vsx9?r7z?@ZgjQ`Y{Sa^X99V0m7GiZb4N-KI?k)*|7B>F#&#=Au)+zx~Nb(g)Zb z0}j(9&E9eR$vlkr+g;*qeoEt!uikO|$vnRXl1;>;T(+6~dd3y$SW{($V!M$%QC`Ok zmpJ5-VN91{=e8;xhEXp-^Ts2Ff4ku@?0dw8>fH)hAKnKIhp<03*yfv+Ci)REjRO`& z8f$B7A1I=_c)ott!g>+*#F{(EA4tp7J5Fcq3;N@`)Uz9(v~-y#pEtUAw)illxpo); z%7^KK#=SoUKAA7#k|&0Nm#sby^TROWe{$hhUZ(s0cRYJ2#PRV$+>ew$^e?W3^XdNI zxfi5`Kc<2B!kId1L;0Y5do_%5_xbU>(q(*vh4PX7 zQ-`Ua3_ppuEL+wcx;Mb}G@vsvU7wbBCm`2sn&iXt{q47@tUZ1hw%OA2VPSq5Mjm>{ z@h5)PD913r+lofxQ#XY2Q9K_Fbo)KtogH#aaG_IDE|dXmeUfL-r@7RnY@TlhzE6X? zNg6)yc#UP>t?Yfdu^hb2w;2tF9l<+gal65MnNsg=wJ;C!@sN%$cgY87`}p2veCETK zb(p@7UkK#jVZKg*w{1;J$CqL6I1-BMt;!a5F4ki&lQcf#@JZu`GW^-TP#=7msq5v( zI(@sfGvx8#zwLL%k;j|JBlGy_pHqD&-B16#z7y_wLLJ!baoz8!o-rIxQhqxU9SP*H zg=NIL#BvZmtZp$r_}fyn@Xf~G=5)B!7vfSb-X%Re+q|xATZ=?L31>TWyV2k~^0|#X zFm2BR%Zq-*6W)jiUSgXU#vcrD5GU4|uzg|tJCPU4hCF$Fp-Wlx!9~4^>7y-_DMs=` z94}|^y4~jqJf!jz^5OG=sHygZdGdKH2Vowj<)Zf8m*=rt+489!WqdDZufvq-IoJ@9 z{gcsVy2SImQ;&WF`5@ferehyZ=kM4S)dA+ur%SsX(hOyG%yb&*h#eEYtjv1H`8`5^ zNKziQwPz7dIdAUKvZZb@EuSZb9eYyCn=tUwABGdwJC2&>*7o}!Kye(tXYIYGO_z1V zmp}c!jF3)T?jC04aIbfXa|fvh@oqQ2;;h|^{75@QoNX57aTr!K*q=hKd{`EIM$IO( zZu@x5$E^tO1I(8$e= z*+$a!Wy*Kj2R=TG`r^ym!#;hxmKFW>NMBgup*+NWGO;O?^{uGN5oAkUU^?Vm$^h@= zkud5*6XAq=Tj6zzFwM)_y|;i)tOwTLi3oo=a8A-=xR)ct8OAgipY@vW z=)bHz0awDt(|s87&VCCYhV$Li@N)Bg7~=Xq4BtZ;lLx{)FLaqUbWi$od{2#I107%( z9&eVb?4T|>L}_4AJ!fJNZnW`oasv4TPK{dW%!fpgfqX9 z$r-O*Z2;>H>o(J(4G{Oqq;4~ub-P4A7UEN zafXHZ!*I$WbiEDnafwem&A1-d)2Ce`jA7mEG~pqCw9`gM>@?$hTAn`LZgx5h?;Qt{ zbNuUnF>fquFB{LBcUjgx%=ce>SxdUUZ(@1M&H?@!+Ax+aWfP8>IES}+N%IDI#pzR@ zh}#1$(ao1RIhMV|55gFq^L0nMgt3%CQ^pRA$2kzXz2i!gbp3PAbeVGX`6FxwbP3~l zf^m`OZJh69x|9vWddD&6`PAA6{0|`QZyR0@!fD@c1v``r`;CmpCkpg2gfk9!=P&M~ zd%gy3jEpv9vzH0`Y@X%=XzMx8D?EaK@_p=QROkI1w(_KXKhW9Y@q3Xjc@2MTulPfN zv}-~SdFMmh$^br~BRaxxrJuBEQkT)DNnEsPj6;}j)4GLo%<0>-Zs8nn`!=mxIP=eN zwyBg2`;%e%d?(LEFC)m6x=fhYC!Y`GR_HLCd6shLJLEt*48H^EgyDqya9>vl^L;LF z8(=r2U*W?@Bk13S{jwXWdz^Robie&xwQJhh1YQaG7sah+$rZ{ z?@>I)A&j!^9mgMxPm>T2_s*GkuNVp;*r;$as0vK@mTi6qw8Te z84Ql_T|`{wp?4gA5+1~Z!C=qivEzA`FVo^PIdyod4fl8PBkz26;`a&sn1Ax&;dt%( zFum}B&PyF)9yfX>&rBR~-|h*%l^z{Fde>di$;o5U{-J!nf7|U7lOzCU$?t!`ZwHye z^B3y;=qAFVcn*CAb7*}8C~(yGm#o18v#>gd$e`JqeoR^7ST0~eM9l5;W1i%N19 zB(EsR;5ZjD0=kf z9yj)ibHDVbeeOSQ>2dG*?OyjMxAwZ$|IzFI@K<}?#s99yeevVHZuC!j+#hc4b36as zxnKF`eQxmo>~;Uk&!S)Qo<8@Df7R#y?W29}>tE<~@4=Y$?|-$|6@RPG_5Nj#%U$Vl zU--iwch_HFl&aG^;Pgk&^-AE!Ym2k><+*BfhgDxyzdQQ3^>1sno6EE92vz#{sWT5w z^>2Hue_MoSzTT*`%Mq4!*SK*diVj46J?sYpj8dfQ*cs(Oq-&MK@M455L$eKRNy;PK zFJjJjM=1m-g%G8TMcwtrax*Wf$O`BbiE=c>1@wz;3AeS;An-B#_z$@|{ooX`7cEq3 zi#ea!sJ4j3?|Y+V>@JCFwK*i8T2DO?OCurBkOlK0bET-U)M!PABH1Vz@3F}V@gXn3 zp_SFEdo{r!%gp+q+T1{xLOGh%6eeez*qxOm!Gu$orD$dm>+ivg7E6Mv+$b~~1v^47 zt{cT9OJ*4_DEo5MhTINW*>H=F<=N+NW^a^7o|&6ycz9NdFlqx2+Zv+Ud{mXaJ#!hN zb?&@tEmdZ#$XzIgh%H9r${e@PAz3y_vT1da`&eaDU5*0T8>J}t%xb|6$!wg7N2<1s* zt6G^DsY-|l?Ml=1l{}_7L(TQI$}8%Xj2Mp8h(+TN$K%$KR?cEejTwjreV!G0=n4wi zQ)*VRpL#J;_Q2D}uGjMZVBjV8KidOA6OaVP6)I>RW@lt;5ZVW+W!w}8E7`1G#3rX| zGdGh@Y^0X+N;&ddIj!)lB}w*mQh@#263X|*yUkOii&@f<)}S=mU~{Dfh&2!PS!Teo zN%R#^@TqdPQC>D%hLO1MGEB4-O>&2Ch!X6+1UQwuc>8=RbERzNAh(#aED68sK1HFN zP>>uX8znc!OY^4limm`*1dS7KaJhjPk{UFLOB^7R3vYl~{bijT1%hbW4NmKQOmoqIUQYAFgfYX)S5A1Gy_B&B>g5m#3wDW#|Rz+3GAhajfA>T%y1@_a>Grq?EJ))y)>H2X3Dl4X)IPxn$bzwmi+@@ zh?{VyXMnQMUWrE$&Bm4Kg~~@7P3;qvVDm2unfA&<#gP%QY)RsYr70APWqhm+4Cv8% zqkZXIwb`c0OQk->)R(Grv&4u~Hd`t{9}P*WF%6PT@>|Z2YLej)Q3p|3s&TIuj9~oq z*EdW|2Af5&;s=`_Ycmwl9rCovY z!uZatwyPM&{Zw`JKyiOLU)n!b8XbwQpUUuX>F%+Se7U@TKa}_}wc%3tAqm~V9+(d) zgp?6M)l0|8Y;E_ELt7C= z{e#yppL?QINu(@DyQst3{%xWYrRe@@JB975d(OgZOB{2X=khE@{PBAsnOo`TaB&EX z5gB76GyKQQO4M?6#m+yFV-u2bTSpUzS&6+#!0JwAuf1fTBa9# z&8FvPmtb-;oHdcZCi2xR;#b12jNb@;qxi9AksON?-4~!PQv^U=X1&xvG!FTp6=uCQ z$G&WRZd$7ei!x%^-stiO|JHN)fxS^15IjEea_dr)Sjf2I)^i1RXPNHsaAi?QXdwR9 zb7)xN(B*bxK8d?(%z_rU$#DYgo_it?i|&jN%ksjc7%U|-uneCMC`f>W4`SXRpD*2A zER2kfjWSmY%XP@fxD-YVgTp%IwOJfmImA>`527|ML%d!L0ru+EL$s&i6Jv9B4f5Js z03Upk7hl|DJ;-OVj7bPS!^2%ficphILCOk|S0I-B$}v2QXQD=EQV#hQraX_wBC~)p zvhzt=NoZ^<3CQaz&?VNo5=B0VAh}hUdx;XfN&>kJdpObiSOubct(xYRH4iAOs{^p* zT6w7rdm|{XPSv1DW+hpQc|+>p4)j*9GGi!1yr>+7Y*bljXa=tig4)3h-l6%w{lAa<&w56iYNF%k<@kUE=`80U(|37U{Z0>i^|)tTjs z5iG6D<-<&B%;8}zm8C#QbD|Hist@Dy?reY-oV{CJKq;r>& z+m{+!GY+u5JeP|@6gP_RD$V7XZ>zl-L9o;Tu}5Rxim)nZEVv>tiI+rTLnbw6MXGje z(vh6hX}VX;Fss!PQ_oPTX{)PO)XMIq?Y2MO^fgN<8xCfaYa}mr2*EMAQPnDr(f zX{6B+tZAA8=DkEDYsIpO#Agn{k~iTmHmpb_P$k&cE7?TI6Tq5?7!xohu4u#lv2v+U z+Fy$HMKJn|3|mq`^G8{0c2-rG)E#1DMmP0FjZzrjUr}22Aw%Xwva6HL5~Sf+6l=M4)QY!`xs6xJ(IqfDN4K1`e+ku z03}Y|hzt)ih=Nh`>P4za6Fj&NSuBk0FW!whfY<%y;%Ffdsidp%AtR3~67$%e7b6O1 zkP(op{7|t_EEK$2#O0(!v!oSwJ!*GBQX~8GU^JGKm3kLy9@P`mnros4Z!rlkY_cZe zmP)+OXSh?`EHV{0Ftg$&wM699eINx|OnWG_2hGk=3E9#@_CTe%Q4+B>qu3!$i$%vw9>#J&Ie-mC4e0&@UXB*dxo5rymqbEyY;j?S3 znh*}YNWb z7RFbvu1cHGsk@qUtcqk92wApO6<}o$rZz2Q(KH6^OdK2R#hIpcM8wtDMtSv# zwTIOn2>6@WD!j$<5EklPhFg`GA90OnJVcjVcI8&9v=xq|YTUBZqIta<9rT?LV;AFk zw76QP$X@qW8>UO+jequCyawuXQiKdeS`0ABpj7bw=8I`O`auOA(#K}n{$#jst zlv(nrYH?r+3O&ogXmqGJRw|5*#O7eRZUu4~c8Ue!F?@X3LE*aFw=49KGM}S{t|BjJ zv5~4wc(Cg!6fgnSbw%KGdl^~ljO_P$z2fPZR(XsmLhjQ`2MQxm)6=KE5V2=uu3|>^#{0K=@AhA<^ zn$1i`${@3(!7v-OWV%cflqoX=dx>gu46Jy9N3C4&6%vZRFZ?R09fwpWHpE6P3cbFF zG&8iO-Ux*TSf$aHAAzNlUIlYQphnS*AR`NnD41}~puQ7`9V#knEhIdB$ zeZ96RPi=+7PVBb|ZTR90MkTXqHOkqljZCB=M-q)|GFTE61d?G>pI&@GLJy;phl~Ry z?)O{subDV*D-*a<<{?ssiO4fj9PNtl=4vwgQW?z%>8dtJzOSyMTcn?klol3iBuIB^ zos2H5^BUTLq(oD37Ah;!|CYX(HAa;cU;d&6Nr%yk&QysGtEIO+R?ezA0IKSs;?L?~ z#L+CwSk&UO8Zn-j>$}%axPZtiEUhk@^9rgJT5X3aC2(LoAaEE0C9fif1)x<&T1uYk z(vTzkqZ}GIIoSAK&%T%oBt^zq6sgh_J;DI=;n>z#w!D!+B(d@7XrM(U&}b{rFAO!f zYNd)XRkK}PiRa~7_zZ!SjhyV0wJoxwrNiWD90D_cxX zQ%-T{QNJv8af=@C@41Pc0XBEZ}HhcszKFMbqOxCfN1#%T!*cTpl6Yldh8H(PjajUoZ*dX)}MCU2_wEm)HzRXuS*#k5l2dr=QKt!Puoo!^*~;4sN9cp?>1BR^8{?Mjf1bkcF>iuJUUWD=~( zNEy0j^PfsB_1Rp6Yl)GLrY22koM0+K+$p!AG$L66X)$Rj%QszM zfE*BF3q+G5Q!2ix;OLJUV$*s4vmi`7IgwBwyEG(Ll2ZYxo<9-<|NMqb42gwy&rdL@ z)w49Oh~dH4kE^LPnG_m4=}~|P6OTFOfIY>r439&OwfA8hOQ`2KZcU|{u*DRcM{&jd zF-;T*u~Ec}56^TMqIM(cE%>i{zKw*cfELw2lie5PP{HFBqcj>AJH#{4`MsFdFXD5b zXGNlmARs)5abG$%qNl2r$i&AH*Xp^Iq*q*%i(q)EYDbvkRX;5YY>O_kk*QhfU$X+F z(oL^mMH_|LF5m>&An#glvbZTitqPVip;wm6U~wve(S;wW7}G!%5Tt{Ey_r?CLq1yw zvsx%kUtqVE>#6u`cCw}lr6YDv+D-Q7RZFZ55xs>BF@p*w5Q-ze#!R5R)JQqjN=)0%B8VmbB>IA`4-n11%Wtu<6+Fbg+`zz*>n-Dj_S#p% za-*v3IkJ^YWmKv;F071KGNqO{)i{%%1aWi8UiJyBE=j^^fJO*W7zu5|V=4$;E;NHw zxgshj-T`dx5hkEJ=o@0Xpm6s{$$wktq9(yd0o{Y}GW#p-OSM*n|Lsdvd~dn9SgF%M zU=?$eTK9=wG;Ok_%~vr3*kpD&kK|Lh4{0J-{DOuQHaGWl!(Qo%&CNyKuva^<`5A}E z7|dNoL$(iZP(;k@E8{T_z#9`hes*BRCm!Cq;FW=we1PGwmXuMk#~6WM4hW-36c}FO zg%4qJBOsHTH+^@ApP+e<>N( zr_HQJT-JQ=y{t4%?A;?tKGx%J-mSz`zDg`zCK&t5cEcP{VXXIiokmS1ooc;R)wisM za=r8nH6va$t=ieCZ-Pnn%wTrWHPWPNW-zaIY9%pCotWL~Mw?vDmy zgx$)SVhEwJohgNoD}e%7Ep0Pjpk3&o9YBnB05RGDq#JEY0L>3E`ui`U)vu zQG6*1RxdInSgpC65S1n%)eWk19v(ME+O)enX$E$ZPC;YR0`;U(Iq+YJW;YreG}TC5 z$2wfLA;G>i8>$4A&RW%V*Z*pQk`lTKw$WFM>DqNUYU{$ST+h||(D6x(#pqL6UEuhVmi_CZugHWO;eY5d_~6AjkK<3V>2 z@zGP+$L+=V?!nG^yD`@|fL>v<35i5=yw5SZx^D&-k$M^?1dDqpk{#a1mKSGp3PO)u zQB6dI0)l9k?^CkkBGcI`S^bVXUxwT^ldyq4TE|cIvb0hfh)HwZtb`gzM$_-bCuv>! zq3R}SrS&b77m2BvvF!LG5V&nbIf&Yr-jS5>#wF$mk&# z8bRE|}w(vh%UKxAv)G_pBu>w|i#Q2;N_xg7%TwmHEf?4Qw zoL+hlhUyDbwi0Sy43?YDVuF_Q#(UA5lck+p2pVeIi?{2T z&J=U)Wmr^Tb9XS>q5~WywtP8bXt4M(T_=_=v%4$krQGu6 zKtfHKU}giJ+ElE~FQR#wH)Y;BizmHrRDuA{Mv%T5B^g-%4Rdh3C4G8^SB4JFugp&4 z<_}w97EwRi+8w@*n<(!dD&9SG_egQ5R45cY6``bCcVOG*Ym2ftyLA8^ zbW6r>k(X-XKZ8iL$6_2*qV%r9GJ0AUKiFv2vAM)Q>3vGU7E6VM$zk}#_OKh6eRl(3&mg)?kM(Ct;-U*!G+W~$EvCmBLR`SgB_q5mV_ddIU`^x zbk#aEKS(r`?@Xgnk7mwQFTsA*^SYHNkS%2#<{{a($q=816p_Mp5Xo#j6+xtk6t9Cw zAkFTal&(#r5J)p7BK5b7W*bMbzQzTLi>kae`I*Ub3 zNcLMuiidTJg|itf`b4@d-Sdiz z>Jc9e&~a`>Sa&i@*L-}M#Z+6-ad1UQbse>vyslAz#DiUgM#ZeVPO$IX??zPV*u%( z#}q@}M#ED_*3T*EORF&49yGBTs# z={TKbDslrgJ6{EdJ2cxQm=H@-3!D3EQag+J&Va3s>Ny&ox^qoxXBt5GRIOgsgS--j3#si75Ao@wrghg=QI=$=n=u0>9{0m*ROWK5(N{mJ=V zvAjbj!f{h+OvX*pAx(w`XR9ro0g6Mv_}K?jJoAlc9%t!j4V|s(P`YFIre`Zy-&Xju z|wytFVsOdkP9z*GFW8h}n(m7M#waANDd(B6e)KJZ9!ii zI5Bx5BIO9jsV*u$pC}3Suij-y_?~!$Zd#2zFQJQN$voUAitGR%AJ!ah_*Zf9 zp;MlMOj<=9Dw;y3=eh~oK_5mqH3QZ`lmI_hCV{68Cph6d(b9y&nV%$1_;%fd%Nol# z7Q!-r;SFR+l<(I~c>g+tbz&q-_Ie3J5-Cx5Z8ii;1zgyEveJ4q zI%{WxMw6>8nHma|9tY23#Q-X9qPoeO0xc-U=y)-Jknu;2b;y8fiI2J1grJYA>8aDF z?t@<%Cb&RQwbf&*4K;L(Obk+itw%;q0gG{imn=6$347gSn0lD0QdcsOWy+r!7Vx33 z%1r`Rz3t$J3q?>;sROZ-NNlaaO#m3d`|(qgQ^zL=6r-;QB;$Y4X*oXo2Vb*zj-5Zu zImo1CyF;^hHagG(&BAg#NbeejkSOSSnsp5_S(R8%v#vpg(XOpo$o0mVq6%PHRs3wI zSs*otHF>S+@-z-x!+C|%Ist#IUb%>q0jl$r*>@u1O9srdt;;+j(R)>wZqxOnz9>h<0MSh0W*R4rg_2IG$0G~7CQ`7u5PF>V3;c~c+Y{9{b zRjg!{zy72&zj@OF`nTbmJy+`ni18*71ZK`EGe6f6VO4K(2$|myfJ5W^w{>Ajc9sUa zf+RoTwj@T&o*8DG>4J03xo#`vhEZ_xCXVdNh*uN|h08^fv4j=qv*VX%OU`-jk>-+x zEQ^KpR0P`@B{}7?O$5PN@9d(E(}@%Sni|i`B-pFuWlLtI&}`SPkEz874T}#~5mKHz z7VTSqRM19;0BwA{PshPMsV%r7>vfOg2~c(8rET}-LVr1shgy>C=uP1SN9SyOAWkes z@bc!)sPS24$w8UG8!Mi2<$3D@O)U&Z__{~SY;-^;LE?B!O?aMNDik&c zPZ+AZbYaH;u|J#7apc9sC7Z(@^!RiSh4fwIs%f>}w1T1WD1M@DLW$ zG3`?7_$wP6H#({#RoGfIw1B~>8^LRr0!7N#K1L&GDcC@03<{e%6zd-VSFecujnm0S zjH^tSGcH6SWbZ510KMT8Dt!GiLbh*De9+mTgu9$BA+p@~%m_odj*}n+)3~r*%Mg}7 z-yz)&h@q4=);FTm1J$osWb{kpmNcS)?F+Z*qYOf?*Di@q+oiPANWMZ#a2OlBgF?X>5r}5^>N`;BkFW0{Br+())X56qVV% zYxqnIbpsKE5F^I4)W{eu--|NKr4b-hZBvmjUigWQ;n%ybR%mgL853viUTC+Ur&T?3&NcmnH-Jo}h$V9%#z6Xk8k zn1-v=&a$T$OVJH|)xol2u%bI}{Ytl!qG-w_4i*%1T(uCf ze7Y(fSWT3UO++j-*yM1dv6QecfNT~Z^E!{IEs8yiJJi}@d9IZ-1d(VaC702;v&_du zTr?%3#bg3HhteGFjUFfLapY3^_jorYvhkpA;AkksN-3WB_I4~NmVBCVQp-Z)6zrqE zT)kAA#qmh-Mrz(s5i;LdtqQ`t7m`^=srg~GDtL7^g-ut0!t1S8h;Z#{MXK3q74y-R z;aF|nXtjbcLYp9ULhDCRGl0Z?${VXzh`e64V$ctHwL%u&x@tvY-`8s8m)O67YK09N z8&|91bych4hSjS0daD&8T)SG4YPMR%e0+bZ6@+o^Y6YY>Uab&$y=ujvAM$F2EWCBq zip0LJ)yi)=c>~o7TP`-PR;BBzR;3NARq6FsD@3?Da zA@X|Fia|f*)e2d7>#7xreP64U--h)Ds#S^A%DU3%fFjfAZ`v`GvJ24f+Qye{_D~aT zkFjl%DvhlNLXw`EMXH23IYYb@O!}( zWZ1$uzL9fo*zxzLm|2*P1uR~XEckfxfmdZuno{@(vkzpJo)>CEqDne8=uv!%Pp($S z@(nB@#99m)B}Kqzv0!8r7atY`&Ndp&IjrB1f|DscV8HtEA9f*Q9nzq#vpl@C)NHKO zuz<2!UyZmIh$|AB%d(Lqi&ng3PF!u;yZJG#qDClI zf9|9AaoG5Tb%0@VNo+@ef+uRJQx8Z8hfmK{b)QvBwmAh=Dh`)f`SpWEC>m@z5Z0@! zIPVRIZP>9{JO;$llcnUwcmO_EYc0n&!V`Yx=&=)x#**y)3D6CE-{M@Dc^skF#PJ|! z&|1U1^RDzDE1AHGKa5Q*3KqCymv{=hzT7-gZC|NY7mej~c$g1t_fN%zc2(=VioHAZ zdTySG(|&_v*`zHno=+I=-xjD`0*2n;tLnT}0WL)5*^qVA zaTvPgI*#$HM$3!XVOFo=nokx=+je}!3uWz){8kVFT`Qhl!}BE{tu_~{II$mW;~+rn z6q&EBROe8Bw4Xk`D?TX{GqhR~@uuro(gmA4X9kSSbSlGXyLOGNe$vU-@G z4_6@yUXBf0QeT$tC~5!&rK-+bM=C9}AX%v+JgQUA=d3K6v`r)d^#`%dt=V2) zls+$(wc&BC#~*!zBi71bYV#jYx;1t*~qO+ zgS4cLD&~?(;1i&m)mg3>$>p^58o+6#gOL~|nw;|k83sL_EDav|7}LPnrU8wC;o)_N z@T5bE$EuTWvV0oeg-p%Tb1M2zOvUu*^vV`u%I3kb$^O;yuaO1jtGaivjCAqkW{PeWel2 zYG1OYW*dq^${O@+2)h7nrq$N{TyCQNQXhvm2zQ%l|mU5gzYP2YtQ4}PTeu?{x29<^(;=rLhh zD(*+dW0-oQ**Y2DXa3OG!_lGij7ymcG=f`a*mv`PsWIM4i}nFa!$aKlu@rYi=yt;j zsay*y#O+Rtd^05cyB_z%T0cb`f{pN!$zwk~lB6H11(t`cJdTcs^t`5s!&usKrihGUrQ@}P<4`p>bG{);u?{t~_UY*1$)krS?wdY(YD%@ZGkJ7R zayEN=t8WnVr>6 z(EW zfG8OXFcTg65{~fZv`$`QT&m3k+o46YdcFzrCYR#11}_YTspg3-)&xjHGlO9g zPg{tm8ZZX-?H8%kx-_b+Y_SYDU$HOZH4t6ojoBmlBADb#JB=F;-Pqp`G~A*X`E@1* z*w$;bBrVkuWN3r=iSBjxnuAavtUvmsl7}VP$w&I*!@4~9Zw+C04=H!_?}VG=dqUic z>QW*=O(rsxQ5G|wuI*7G&7h`x>{M@|bE1akuX7Y0G&`j8m}n{$dDcc(I!Oy9<+ZpN z$1yCKtU<>m;fVzByxFRvRNkT*W5m|6opJZNd!eu2=jf=2p=G(QG`lpc*~(3t9n!TS z-iEd|OK3eqtJzQMoo61U_(5#AFq=n(pt+MNzj%f&WzFP8WssD+@=Up(@o9Mr*ui+7Mbx)!Ep?rHAIh zh=^AR*&t79VzqgHy)jc!dYDS8;LD;Op(H6_b%GqiRb8y0PN)_Erj4iyLx!Dk0t%A> zmCnF0gNlx?br`Dp3o^N$OIZt(8O|=bmZ8hA}L6?S@=NM)vF-$NzO?2v1`U_}U~ql%9%Bo#T+&KVD> zNv)U($-7dttTB6hI-+rg3-N4Bni&vu&$^7Yu1Nb9cvADF}G%eW#(%#O?~Ew*ZHtkk9A3Z5;CgB9R` zugjTLaGvtvg_(7OPl=VO1LeV`kOQNf1Wz=sq*k68!eLCQ&(~(L&R{(fDGa0XF{uY? zs`FgK#ZTe?At`2zL-KBrcf9e9UCp~FOTH!9?OUR z!aOa2@{F6R%^LxE9|)ypLg$K9Ev_a*0spU7K>D1mX>&# z@FG8GOL7ZbfrVi&W+O52Seg3>=3xc@GNuW!*ybacuE8zDD-6Z*Bm`C3Lqk4xj%6$p zo(LwhSO-;aHDY?RmpB6v-M_S~r!BXJj$)xrbFVr&CCUj_tyL#0iA>*SQoFS6-uX;gFNK_t$`Ynl8P7 z{v%$Gyt0BFCOBc3*W1#!iUL?(&`yJPRlCI`1tBpzbN539ZuCjVOkbGkDaZyqqzRi^ zVcDd@duih!Kazl080_N!{Qs{0l)lxj?0FM=W`QdTfDg>;WOT%8-;c z7$SB++O|VN6g-aroUf-Xw(-e!G=VYzc;ZyaqQ}8*E>9#|zEV)tEptSQ0r}qP|;nF6lE1 zk7gAW1C02-o#M4vG42f#NBkzrNBhHBFGGX7%eXN-B9S7 zEG(f}x{8Wu*uh}D6!C86IAjL5oU6gqa&3}F&|7DIKK(aw~HetXq%-J59t!mkA~Vn5jT7mf>MJ zaReA@TJ#_v?!#QgQP*)?G>ITjLOvo%~I zoneS+rrZcmjYNq;km!+%TB!ZB9l>hoxbqT1Q6qavlceQ2w8KrbkA-v;=z z>3H69Z2CPjB`O$dmQvx>@ahh>7M7-PoYxY)fUxDlVz$waM+0AKi$&d4nv= zs*Mkd3^FOn-c~um2Qo^?#vI0RSyscU7r?~DvO)lVfYJIW3sE&IZUg{F-jOPTt`0IB zWsUEdBSFmI&=??zu7FCN#}JkLF+@xU!z7BRT@pGm0SOT)3-20V8$Hd8iiZ78rlbdI zGy9g);T{AA26aB$7=qU7PAikgK)g=X($)TWy67_V(Lt+cQ_w00&hNdR z$>@w6OA&ABj-|rfWMnc=gxOHE5mt6CH!JlCAY7q|^mQ$i>HP*hhh^7_KY#)_5t@OlZ90&#U;q^E(vt0g@R!t1KC{&t=&P0;wtp}Gj z4(G%bD0LA@lB?I3c4}U%d-5q1iPNz@-=4ldk}IgjO; z3r8{8@xe+Rd-sA@`GA6%oeP}EYFxo83Edvn+-`NJL9GLpPLM}#@nnp zE`UFN>db>!Wc^ssT`EVIMv%4J5w-yMdx%1FRf|y3d4)sg(aVJxP{4I z6q8!#o1hc|6#vCY3^BHji&5fjJO?7Vfha|y98GZ=6Ej^5pE`W%{`*c%u`=Svf5_eG z2d9ud3^6d!@|o3dYxV`PR+~fI)I~svIZp^+42xCxVHQhKgM-^c(MhOEJzSFy#33(0 zc3`*;oG{DG`k>mJw=9F)$2tu$&y*d zOKC?N634<%DVr&LF~IW8Fn=@Xq#@7D4LXFgf)=%b$IlJ;V5uKP06rGLPXzFT0sKq= z9}nQH(>}iw0sMRbe;|Ng0DKVTz6`g=!79St=uz5K=A_IYf$solY(e3C+#RGY`PDfX z87)`u*@z&*NV6Au^g=-Ma{>G_0sQj;{KWwNQUHG@fIlC=pAFzI1n}nq_-6w6^8uXp z&GY$G0Dn4we>{Lc6Tm+az@H7^PY3Yl0{C12Ukc!t0(d)s*8})U0AC8=j|cFn0RBh- zKOexU2R^?S0{Eo>{zw3?2k=nu&IIsK@4TL}+)o5_yq*$%CV*2lxu;z47&o@V!C0`G9^{kIMmkcYq%S@F;-q3E+DIcrJkF0{Gqlz9WF|2;e&d z_|5>nD}e6`;4Xjz9LsZ40N)hAw*>Gl0epJ^-wyb1xs$i7!F`^Ifx#Qy)*JeF-V|-! z+J9*CroJ8U-LSd0@8_Qf;QUQ<{XY)R+L!u=;Y3^e`%iA(-1o#1!nP9rYXAG-!s-AsEKF}os1!YMBg_vJx2p?i=fWCyI9W<_mp0``?Qq+S&gTn?KaIyZ_yI zKM2HLgh5>ZWf%)_4}TKEx2S)wgxrR|c~PO={d|u=Z5!yk3-2fT@50~R{qILgd7*qk zDfj;v;5+SIVv(2r-JARH_cpxm!8>D;k3Ic&%6l1qbNJ;YEZ={xKuKvY^3vP4t6%vd zb|k4q{R5k~fC}@F!#n@J9e?-q@5JBTs z1~^mS49MW-n~?+JFvq=pWy$?+p|DFh-lI~J3bGqGls4o5T$ROcsay=9q%^;*sR#S_ z;jcC8bbtSGmhRT=V1ea}D*jHEFaYn6R9VLF zLF}Cf*~3ys2x%Tvp79om>{Ju9oLMR&&#gC0DegoZN-ZzB+AZ%9!rmjLO}U+bOu!-1 zcn|a0ett=ZWmdXO~vohSH6ge4HYt}qpd&TNq^r8(Q`jTgatikECfEb?74NUM?{8vp zmOpv*jGx)D$;<2RKYBZRzMuArtyp3sX|Fuow{PBFdpO&-QSe2BzQytD`4Oyum-RA2 zYokBDU7)@EhK#53TZ!-COkd$Uw`SANVf@?U&TsYYEBRvk>fvl(*`ajOyZfzIguL=C=&F5Y22HNTO1YrmJ$d9{WrRQ6&-S>jq9mHim+Q?atd!%>D z<hYOwghK9d2UGk| z1|A;rBXk6Rx6AT#P~cHdMrVo}3MSx%viZE|MjfS_=23O&yc-MP#E(Q@4sMGAxa7&; zdjdG~v?TDaZ_Nd8=IOfvAK$b$13!p@?s1oTsfS)>#9xuTz9upV^q>T^4IfW~JZhfW zTgr&x;mlK6%5_UmC5#sMQx5_jncRktr$JuoLi-yjUP${n zfxprd@=hLK68H9G8s5qP=JkL$cW9=nlr_H2FtbOQcI;ob1*g7vPUjy2&%hp^H+Am=gm6Q=>rSLJgCj)<8@F(IrZ~3{VZutC=??~!)nayde7fjQ` zcLL7*yiH`qgGK<@;0bA;5dOY=W0tmuleWia*(-cX^3&^1-EtP=XpWaQz0ukpym|O8@W8yySl*rkpwH*+ z1Dgl?esKpzC!6}lWlR(G--5p6UiO~1@7aYc-_rjRJ)eAO^G(R~0c7~?=(%o!dyDjY zqpjQecL+XuoWN(fu@T+k=3iHTU=4A4@HK<-3iJFO$@9lkddPB9_~+#NhsUQZJRRyS z=hDaFIw$KkUR)^R)CUf;_#hx-}s*=3E&RJ&)ww!^Z$;x$rk=^EbbT zvf=!{=p6*TeeIb~?m;2Ey?;;7(_ezm;{2rHfBkk?ZI6Ez1@Xz3ST5V2czF%x0Rw_N zd;Xh8Zpv@HtN%F4Y-j&Z_dT-pJ^iCV+ymeK?I)gC5;={dzG0Mtj_sQuSGM-{4`p!t(U^xm3DuR4=}s(nsp4mjBm#vhwqA$}iNf7jGl~ zJ5v0Uj)#Z*GhZG~{we=&K(`J;{%QT%{Y%f8emyf0=oed#-JLDRTh(qnB6-=}krxlo z=EcLA7q3%(e)%)+b#Ak_H=LY#W)o(OPhl=)2d11hq3PpX%GwJy-<(79!0CrwK*}SS zvyPZ#vYF+*6Ed^>4_@5-F3eed0JG2_v-RDWcmkoVclX~5sf_jCk7=uS^gnpvd`jTsj=Yy=%4-Bt3UI9{l=l)|4`SB?CAM7|Lb$#`re;c z|MZSOKmQw->;L29y6$5~&&R&_^{@QaU;M%!{BHZdJoVVyKXgggt!zR2!>0%Tw!?<; zc?Jx97wtUPDcs`Rnz`;J^P4O4YYgW+8(f(`qd$i}IsNQw({HYfG3e)5gW(+K&~L7L z-u&juya>ZNKSKOhE!F@0j0Qw-e(i(l=M;C+O!q z1=Hia1pVf^CG(pr^Aikz#_&I9;pV!pnBQEt1!HaEo9j4_LBF|f%KYZad;`Nd?*P|5 zYvJa)m&|Xj`-=I^m9ahJf5+nQ+@k53>o{-5aC6<9`OS47H@~?uo+thb3dih^#y8h} z&HU!NU6{`xzPYY!eskR!^P4O4zr^P}FkG1@p`Y_5^m87BeskS-%x|uY&l%2fI`KId zN58o;cT4}2g@4?_&2^lsWw^QSW%HZszG{ARWe%74oXdqPbGP(!4wrt;?a^j{*{IuFMTHoO8qs=iD#-=DIWH zH&^CM8P0iA;y-8M=DL^7Z?5}_`OS6TGQYWQ2fnkAp1H1Ueskq}3&Z(+h3Q?eaC6<` z<~P?pZGLmz3+6Z1ebM~py4TEauG@rf<4n(7`QA=Hzq>Pieha7HTzAR*=DLrY-(2^C z`OS5&n%`Xa9rK&(c4Mx9^v!h#&2O%|WPWqq$IWl9%%dQZ?1a;el+iE=DIcWo9mu8zq#%e^PB6wYJPKNEKhnI)3e*KN8L4Z-Guqgb&r_e zT=$gu&2^tQzq#%!<~P@U$Nc8HJxG-4o9iabZ?5CmnBnHSr_FD!d%^tX${2Ac@LvHO zuKTLGYvu}&;S6MWr0$xzGKOV1$FdBcvv70WQ|33T*q-6!_9S%o8MgbwE4}I@dvv0YaEBbbuX*CX0D7W7|yW;!@q0c=DJ+~GTdBO zHov*&#iuuiTkDK3Iw+8=@fxfvi4xpdo0l4n-7H+QlviZ$*-!i|sZYL%o z7~fo1Hov)U3jPS;=DJJfH`hIGesdk?d5LeXdl~-s!*8zpiuuiz#2HQ|;JV##bMTw% z^5!?!oiV?;ZqEGXx~I%();_Yu_h z=^wd2lEaVm;D@Rnq4TR{7k2i^~gI|_bAz|UW`JA(dR8R`C@x`)w(jDx?| z>yF?%tmdn``+$2d%Kiq-7bfme_;3Bb{JxDg@XPpNI!o46qq%f>crd*rbAyk-?LnWM z@Qe8I;e3A{E~X~r;djmIlA?T?>bE^2C`kx|}lTh_KzYz#l<$-0;jZBKEPgNH$9#Vazg@sD<43w}{GP$@^Z0!kzwhD~ zK^PPGaSrbj_;GITEBJjEzZ~YlPT*I^k8@}*d{@mn0O33#X5_GuL&x0zqj_Zb7RL>k&9nC(nU)JX80_h7cZVC(xWl+)agHFr zO#5c=;-4K3C)!n~r{}Mv)`y_{HEuu3fH)ebPsZz{$8b;Y zcA=;I`E*(Th)37sy<6~l+-?gaP4L+J9=BWQQFdB(co}!PV|Ar0bRwfen(woCd?$aT z&-Wh>;FK9@6Hfm4eye-OZA|kH#DU}1dfcBg{QUtgc_i-5?wumDzTW&QX7vScP{K5= zyFxtB+7{sL3-E>lJg&vLz4vp#R(kmWuV8ox{DFLK`rSg$7&!x#qV^MNq+YScyj&_V~5!)gEoS+?( zP5myevuu~BkDGhc=DgLslK;Ii|HYX9veVt#t$_atCkKycKmecWlGizd6#~4r9em0Yfx}1(I6%@MLwKYk+^rc?cHAS9(O^ zi4AFjajyfRhQ`)oB}|O0*PxDN9BG=? zzeA7}$qf5;{!|SMWJWW|lyH*v?2$@) z_R`_X%*@H!Vt5E3YJYTke!f+0A7K5;N4y(WUJG`_uZo(h!l5fEF{BAkRO{_ZKsrUZ zFnSHbDJ8_wZ`IlO^yGjhSxj?WDh7l{1K}2cU=%#{TtkSdOOW zE00#^WU#2MmS-X(rQ%qSLlnhB%Zt2=^Wh+?rRbtm{IfK=0h!KBmGb38TwRr- z);#Vk#9>2LE#d^ioR*5A_Jz_aMllUx6163!kk*G%DUf)oETfB3VpG*tJBVwAmeQ$G zImlpC?j|iytZ|eFAY;(3M$@RJGL=%UuEZev6OFlJ&?#DjYyqT*jfA>T%y1^=?;=h; z<2gFGpPEfxwRu{O$YAQQmZchZB=tzLzrK^#lEc}GV8x%` zmN87et1O4F-FN=z>CIHPl=_>0xmg^nzrr`zXyBz|TG2hZ}l-gk789sgg zG2}CKu4y?+I*UneM?)@4)@4Eo1sT~76g_MXU2L4+SuIW+R0X+5x(n71LX5bd*OuO; z9fv)MCbt?{+{wuhua&wkBUYX3pRNRGvc?h8Bw@rbIIL4%dCkQkrkZ*X71u2=OvMmjuU@CDcXDeJt)bGFK)6PxAT%H4nTzWB|5YYdy6AS3~2!%zo&FBSIhbZKM7ZxC1>sKwj=sumj|UEKl&(49b!1 zJeOZJrGZoMC1095-c3{C;30wAC_%lVkByWAayn=F%D1P7o4C8 zNhE;l5~?%H7b93&ndQeALu2~OkCp-@&51t5svcZor6sr&7z4wNjfU0^Z+K(sauJin z9*`KT>ryX8OO+Yq#maLDCA0)nwsdvCZjmf_t7OD+tBE!vnc=%sgu7CMdKr5Qe2}SF z3B?DpOLKIWlG~RWTQd%@y*!tTxM~1r$+NB^=VQLD_GSdZQU}Byjd?4=s-UspiohgZ z5{V6&)Er(d6qs}*Cv}?c6*J6gwZzmj6cOR9UI7JKK-zBm<4s?)l(OMqM!81vVuuhc zMEqqBKmfDeY=L+h9l@HWDIhOj5Q#|Eie(dt&z#=f0Q*AzV#7+FgG7LoO@urFtckEe zAilVw4g1H+r9x?cDZ+&*ycJDs3GYfFre;U3b>ZC#`8=_C4MX@wYppQ8$u$hYwJ5xn&EAoP!Gpe3nLds2urf!Ha=~)RedwM&JCT~&{58^M%(es!& zR!br0le3sJ2|(18N~daO5(5sNY!Um!nh@az+GVxcGY({-rIs>n=&nn%z>L}E)vKCp zF^9e*CIgtm`1$|aJM%bAv#YMZ6Jtn129glMCdrc+hN_zGuCAr0dnTC~db($l(dnK} z_sk?PgUwsjZ*>>*R=qX#zSY|d5CsL)KvY1*4G=McyP$%iC@zS&i;9A{;DU;f0Dk;K z7{9-B&b`llo_DG4>7EbUyxphX=e^6h=bn4cxyy6!xlskBHo|pZQ)$j>^E&A%X1mL91+3HVEj ztYtwh`G`x5nn0~{EX}x%crA@uwXj*>7PVo)y_QyLP|KvyN`-^mUJe6`Vwu-t{=H47 zav0;}yy79L>p>JpV3)~dPLse&mN~PIGBuYHXVYIlr4dWrnqJnN(VS+0Fi^pH(w90S zs|RHdF0Y4u^2(Ry%{n3!rePpbaWt#XM4QDC%oT&VIGKp3s0o!7XIabQER$8bsNTd< zy*YG`kZ#h;w;-DR2~Jvr_@$&{mx#(}8r75DT`@*#y^f+gHhBT1EqG|0WEi+zYr@N~ z=)ET(QOkm)R^3F0b(;1g+l#vEjH0&vGEw{0?C9YZsxNL71D%HI!w1S9A5I>1B@{as z+ArZkw}PFdbmCdzYQC&Hlr-!pOhw2=hptO*CsR+Ck;$CtI!5b_#!?a*+MXB`Ek>8A zQi^J3oWUheC_`ll15fC0n#$#gi(8GfDkSx1vL{B>lNa%(o*|hCn3(Y=O{xfV-ZTud z^&{=Y9WOAhnu}bfUuZV>gXaYv%oL>-Zy^!%gN@%daA*u-%hWKS{F$1_E8`|x&v!Rc z<*^9ORL%u5oh8cDLgSR`V$?FF+309_Qa34s+l{o&LfT6MLoFHJRULI>OI>}*Q;kc! z*mg9`P^7o7g=!_N+NSs%YGWBvHtoq!ONbE^qhV%q^MMd?i?J$BlH7?$_wSW>l(io1 zOt9Sw!VEWc^>H$tg_?UY2OAY_F-dndsw|Nn?6+c?nVQU!Mv`b;>S|O%X14-o8J&H%Y7oy3R!TVGU#@7$NdbkC$fM*v2ye$so`Y8^9H4cVvB zGvmoxAD7(bDsWFLShYmsH$74lQ|uthm%MeYX55qP=$+*xlvSrJM=x<1*lvz$jt-07olq*&-S+1mX@SY1!d~onnk!^s+t97ti9?!2{QbG&t}%3&M!`u4p~8|RPq?> zNu|D^nKk&K3$Z7cY`KfJXl9R+?LKWA-B2=!ywSDcu4Dr{d*1PmcO;S6Ga@AuTD%sC zclkS)IbVWAWNo3oUJLUMG>nDkhOo34j2!2sd*#&>NXz&|ekV)Cd8xMew{(w5p!XC+ z8A|IZ@++A-hu$CPwTda9Y*xx(HmiP3!(yFANvU^PnYY^dP&oB1mc$$D>b0cmtJZC& zRXeboj3NfU$VaqSIn-*kvHr$Tpq<=D*lA?W3Vo(YB#k9^;fdtFvY}m(WZKoG+0rMC zO6kv*j@)w$&bjeV*QRX%X5!{R+hj;!c{(=rcx)l_~SfhPR+ow>=y)2s=L1CyU@^>YH+nh*)3Exa@e zK&{mKtw@;RpDUCE!HdrvQf^z%Az2>F(gfs=rJ(4L6PhH`{1$8ZDlT_bMrF0(NY3HS z=a=io%4Ga#kYTtQ?|ab$Ei1+na(NAeA zj&@}c@u`#vsiUG2#Kg5`ao6398257ide0g8%m_qb!sDe`S2{UE9+byanoMp;tdaZ= z`1DSf6rdwP(CH?{q$+h4n*B*aLaNehK}@_TvDlP*<&bwxO!vbUV1kY9)5?DD~w56G!d0%p2`}th8EP>Dkemd@VYgakZB` zey`XjrTT|f^6OuW)j8F{ge7#z3T_5?hBApV(KkHrjPUJ3Ym}-TQFHclp7SzB1kKOb zke++#-XkmN-MTh4S$Z1i0peFR7#dyL99H}vUFz|^<>Gd?F9X3Y=H|XnM$s~qQMMk< z2(UZ!vX03#_lSBSSJH-tMrxgxnUwnK#MC;kGb#18vDAzvj1VSs*XhU(LKuQb*W`p} z8c26cNVS}IU5c-CJWWWqO1k<5jHb21jA9*A2E92@m`tLD@sKw@l*JtZ&78_3!9obl zA+q1CP&4W|^jd@()*PDO`edxsRaRmyVY>n?SOXpL;fBwmD!W#=QZHc7XmAuW?S>Gx z*iY9CQ=P%SoA$0M;W!tMS`uR-2a6<|#%|_ddVa7P?RK|^8=zu;+S;{B+nOJIP)f7Q zb+|&QPmK6??{#F(Uq{w#6HaV!qb^k@DaQI}l4&$mczXR|&!5^7s{PVyl8n4*+NE<` z-YliWvz2m!tO=(?vz7AtxKt|T%6Q62x-k-!Ylojc{DryYwFI!XREB8Oxwc$}$k?u} zlp$9N0SGM}sb1h-8pBYVQ`EqKN@Ax8cFYpL;T*?u)JgkH2z zNUe214@oajO$zljkCe87I;49tYDJEtZiHsk7Mf6_9Q=2r?Yp}p^k(gE2J0Jg$tZzAKI=$x|z9HBbS-m2Wt~(?VAPzPuqF|MN z21Xs$`v86SslkZR&YVKUADE=jr|blzKR3_Sl|_ar6xK;Y8{rInDCB~pDyHB#C?6)f5(=&UGeA=^spl>@cCXoabL$4A!teo)5!8@-tF7 zs1v)a0BLYO8eACM$Ea|37midHbRMy~esFEG%LzWu6ikS`_g5!-9GZS)Z+m^tgBX!} z(qNH738~fOG=Cj;t->k(3MS;@}>w;4T zrQ6rm4;MEpt0`}-x}(8!UJ@(}3M;Obp1J)~$YO1t1 zeq!Oq$~G3PLt-wkc?QGfMI}cI;f$Wt{$p;P1zN2e)5PnxwNo46%K#R2Bc!Z^SJ!Z? z&Iw^&=cG|`#}(2ni&$6`I|TH=q!S6zuzQdf#}_PZvX7&yh#bux0;eiD9ZD4kcnivb~+n7M`E_okC6|DPi^Xi{$OKN&7GaE-uKwK$0|Qoh{kU1 zZ1$P_-g{{I-b42uSw6I~w6v747$!fugKgW`+_ufx!}}PZM=|M$ys1fjz!?Ib&uLJi z=BdI}Mp_p?Fxc&LxFmhZkN#|nw%ykC9L)vWbYY_k52v4O2VF?iG1%truSK~3Az za&ZXv9?nxuB}vpgy3Kmn&`#nuklb6G0Bu#!Fe2bB23w=M)Y1KbtmN<7V9>ADp6Xq~ ze)SLgQKEvk;&EAggTGa(Lj%du4IpV9JT*o%kSyN-l7gF)DOuSc$x^}1jKr-S-8Nk^ z=3}q-5FK|dZ(}@ZoNX@;S4TrkX%bVzz8&8mYZf;l?ROy!8m2ajj?fuLCm^}0Gx{}> zTR4wjBe{hG`85*Gyt7!Av|s?Jh*Jbng}<(bvF=f)VjJhM7SZ;Y|aGpkct)EU)TnN^+T z!-X}Pg=AKBI0#=jR+uiaE3>M@VfyJvCT-nIf{SG5Zgk9VMJe{Jt!pX2%wnUjSZ+J6 zD3RQ{=ZYHJEx4|zk!W1O6!xXKsi=|Mf}e^SN%AdmD~>A0vE7QNiW=MPa8+U0Y%(+R ztmSN96*Wol{81)gC)i`Pk0+ItdkQ73j-xpikQ%lHEZ~!0b_~nXz9df9GmOHqeJ&6a)w!B!7(SUfvp^zOp%bYc~cP4-1KMu zyQ1lu>@Md`sJaHDHXyC124{Q2!QL)Tzx3LNC7z8z#Y?HmHFUk_Q)$anlHtA;Vr**> zQG5jHm$jwvJbJ-g7iZ1NPKq0**4%>xc~$i#)w>?<+cwfM0Z0`snO)Yi@(I2g}cjsJY&+75{x(Ngdz$DZ8W@@HE% z66T6kqrL5s;XOF>Q`NEQF?}nhe6D{Q-liC3Vu}a0CCjr+RfX@T6t%lJNRRf-i%$D2 z*`if7CZdhR`fIBkGUJVJFc+&W3N$ z>fE)VEe#bykK+(_44}BR=+;jj7*RRJ*h2&un&fJ1j0X}+UgmNL!9OmhryoE4Fu$#1 z;+q66wx=IId+PXOk+l2@G&#r_HVw^*#~*wAY))G|w5eIPxSK|!(#uM%Ohi*frIP!z zf)0OlYU*H@+c9diQG}K{_f+<&|LDm&lX@|zDFTl0{OIX(Pk1Ub`kp{&5>$_ytG!?T zl0~)C6r!jjkL|Y9Z$3yOe+$WCJ09HIrx9uaohDiPplOT5G|Acrjk4`8S?JU3N=XFR zR+T?9B@0vw?8zIRUpc3cBow2?rv?aH|StWXd~Ow5tuf}FpLtJ6QgxRm<2G!n=fcP`=m{|MTor= zYlPU=wMGcrv74E+C%H&*et7Y6_#@kl;ph3y;2&EW=_k$)IgCEA7j-_J`Xk0A6QiuW9KRr*G=E zcsraE#|Ax^zsXbDn2$8x*=wI~kuaS~;a#WgYo{V!c>b+@MC|IVosgvi0r+9R^Ys%* zvXiAo5^ZL?uDvGtD3Y?ZeTD^PzTw={`vDsr7=H&U)ha*g> zRCe!Mq28|Y<(6`KGa_Nxxr&kCJ{$ZzA7M+-^uobp8fgwV#uaN?)BmYL-r zrtSO1iZ)$<7z*bTVj^!cjaY1s9aqn)Q*uP7DJ|9|OUJL$F)Tf0s}M)C>=;&!NcGo| z7c2UvouwEZIr}ZRKPjYF=o-#VywP$aVYp{GCMjio-1k7RRh*_A{(?62)PK8)NzW*| z<-lc#<#0A72}x-c$_b&2$JL5Ia zm>qiW@<+h+D`tOlIqi%R8LOB!#f#451w&YGi-(G&Uv`N0Ksrcozfg^$g`oiI8{Q?1 zm$Q9FM3Niu1Ys$IigEuAsgG4lm);w^A1DOY(B$9Nxz(L$Vf)Hs`m{m$Gf7vHs4QJ& zqS|f{T}Hs9@+Zh*XyPhh?JbW6GyN8rj+)Fj*IN;W$sP#8Nf~arO!ShQPc`XZ1@RgHtzk;@`nFOeD>ng3fKc!sXjL*x`}a_Fbj)1XU@N^}}r zX(pkvtv!&AluUBWdGTm@ql^$c`e;bgaN2uD`8#Ppso$J>+&kn+hW;fT;x@5JRN4Fk zsu)$|>p=1;ZmF0@&(|5Rlnq-aBee{|d9xwodOxdL=_Q zm?ZLGCwDQJ5$8sRC?)c)I`>GPffjS)LBU}&WZ7=?T&-C_oiS74((Y*oV;c<`1X(_a zZ69V0q@bL7OcfEmfkUSu$f7M;Gz*059>F%C;H!CXG;%g0)6vjumJF}wd2^p*lGlkAo zmq)^~Ot4aBGc3_DkzkcW`I$;@4j;W+1Bf)sY29_v=BXlQZMd3<_kpbaE$KRI1~se^ zwew`iw=qu@+v}&$37HG^ZPx8l*~YvI%Y?JB_YzWI_hdzc5*?g1rH?WmzTumtB?GIv&zd6A2z zjI}HhF*vmD=s@*?!d`$@8{hLBLKO4C)WL;$OX;G6Z*M5JdWLaw%c22IagO?O@6zTv z?vd8hL2BJmQ4&9{R!c^FVp3Q~)BIAcmXbJ6RI8<%RVy;2_EW=o`!Nn`w2`p3)hg35 zk>D&gLFG-W70f7Yg6V{7O`%pK(m3U%sTG;0sg~V7R;|dezgh`vTdgu3FOOQm zjQ!P$L@!;f$UIH06!j}yt*FB7Q!62RS=A~XI(Z3d#gU8IYPE7hYPB*`tyXSUt;n#y zS_x}gtuh@ik6OWu{nd&@FI}z3JWZ_>^($PhsKV`2DK;s*zk?P;}o zj%g#?g|(R_;&c}KIq~Yne!XIJ^9d+gN}{QcfP*3yPMO*TgAQI+KLm0x|dHL-`(wA^Gh5ba7PJT zshodFUsAr%HWIE>D-Q64xwmCe2$FEsv>wCX_-#n#{ z-E6(o;ykVox?6VrI9syhI|8jAa&hb63Lb+wiOrPQ1t_bE|28GA?TKACjMMD z$_d{_>i*vDL%q=zY7r-S+q=OjPvd?W2IWRE98-*!b96?)t3X9F{v}*B5CqhusWA>qqRxCNZ{QV z?_`r(2*XD<=J<07%Yj$kXA@0Y!uPqwd*-MNw`IgJ~3 zw{}=-k|((fI^)gt>N}OamUO2I-D;=DNeslVzd3TZxQB$}cG6Vi3fFzPSx zK$O*rfY&sd@-clJy15E^iHa7A)F zmOG?B!rAf`n?pBhg718NA#!yva>E<3jZgt?B9&jiK01z}+w0?ktyk@Bb2_Ns%6F+0S57pgz;sE8(}$`a*Q=jvu)@TBIOy-$Py!98MPELND(a0p zoUI|8H64+gMfa`P-41RCOA72yaztr&w6|^J6}BYeje2Wu{Zev2zfRVEkF`cHo#~Bw zy9al=+uIs4%?+)48&=!B?yixt)SgONn6?qtPHSUTG5_8E2!d;N{*ei5npR;?RNfWN1r z*QgoONObpSXytol=*T%1GbvG%VfZ`YbM*YoSBCxG631 z;o^<{k`XGVPG{@dr7bSX(-A%DgG=`*L5-bZu?ml`vQZXsm1NAF-zY3|-GRP*-4hka zeUk3Df=_4M+Up6x;x_?D}jiiP6oC5*P@?0v4?9nd{IeThlcYZ>iQVY zTx4R$`$bRE98WqGbuSrw?s6%x+Xds9Gf`cMOa)aTK;0dd3R_8GVFz6Csta*i`ia5g z*ud~bwOq|1Z5vF_LVH?O)U0@Rf_&ll#_XC?;ue=7PA_IkOpV|Ax_wHKBTp66sH`f{ z45*RrM|7=#Lc34tOrmGwvpeRc#%Lm*`eZ`F9%iN;SPi_MH&F68t!-A68_Vsuh+; ziwC#~H#@Saky7mqRCY&W%gty7J2GQFSJP-3r%TN--aJwf!%JLDra?pXL0=-U;pV#A zrDTf3Hni}tK(%mxV4;(UPbZF_ zJ8}Hv!{<+&e!``Aym*Eub6NW6PbhyOayO99i>kTFWYN=4&O$rDDE%|3G=Fu2E3S5) zV>O0&wzQJmO#0Z-x^WF0Xq;^C@gB|z@4a2O)n2KP_{sJR?Ur<-ebV5WNzc2L&l#Fo zd_jcqQ05l83U)^s>Ncj7lv|*w%3(wgjmcMJDU+iPo5k-Y4MhZalgt&Nncby6Kf*ZaLct%4 zJI%PF)OX_Lxzs5_)SsY>Ct+{*G7e)~{X7%l^-J5E&+TbR&}M<|4Buu9pF4~>L-!)D z4Y2VVENtxVu{^y++`5m<=pQfJH3h?R(9rD8taYKQP=_XkOb#^~u_-&xnow=`xKCi% zWvT{#w4QZNE1j8hW?OP* z`K1law)9y#6n@_EOChIPlgSZvsSC-R$3pGl(!=}Y%oRpBNJ^`}Iaka-#;ATk{;Lam zB?z`c(y-bl_05ir<&H-6@473;hoZ=mu#D0`R80SiLT@Xh8s(Ktn^DR*BWqO11wT8?z-5EYes_PiJstnBsFscIDwDT+R85s5RBizIe^N)Vm4w1>5v`sS8RbS1l7AUKx$4mbZ=Q z0<5E1W16Is@_DI&IdJN~gk^I=rz&O3JkWZ@!AdUtC-9rqBYPuQ*UATtv!`wv?-vpt zSpxl(MFI8oo~&&2+y=4PSkDRpDCFuqVD^EW;VFS;G!dEO*dg1jEHD_^8V zNOh$t^Ek!Ti!}^fYMO+A&#kJ8W4TQl6Ue66&OE%H-00KC9Ak=DT9z9sb3(`3R&L=O z<8DmxX4={|qG^WKtKXEnL_Dqd0XEBr&67aL+}V9&gbG0AJ#kh(?NHPG+E z*kGaYXTLL71m$9DlVqlB+Ol3bdMHbS-)4=C>%LYVZ+ThCjn`pZK2;l%t}Ri=9H_)p zjFJ>w{LG^zg~!mPs7h8G(pggP0<7;^sUE?7s%;!WLVb$6!fZ{K1V@75PH#Q`(6+Jo z!Hh`Pzr-XjE(dsTf3Vhdd@Ln(d9Z>$7%Czt~zcX;DcM3{G?&J0_H$pv_rO{jbY zMiunryscxZ+GVkx#WmZPY+B(WUo4T$my{~Kw}Lau5yq05N5op1|M0q~-UlLIET9!Mgyd$a zr72m4$)%98Xr>kR5%t!+a6K)IrwfTML{FmZGVDTOg4#!S}w9Y|kR##T5d|{4V0Lj+D%*ALoOEz~|SJN!7(mCs4>7IBv#&^1%##<@4 zm(l7T9?9*dpT5((27{qLh zMKadIx);8fRk7@vA*wq%bSUMXQybel9MK|{?K%D7AmdxV zq=|9$-km*n;5s~Xg8d)62mH%d>a_0XT6L8JjYDR1iFXZRB=dD2r@0(Tsd8Gy>kR?dOrqd!e3ur?+!A$dKHq@3Uyivtd09;H zCav0l+jJh-_qF^f&U$k>(^STW@-I&;6%JgcldPG^6Y%Wsb9MmnG@M&%u4NCUd!z^;R z8?v9B0dfzyrNq_m;$os+a~va8JEKtT3%wXq7C2PS1U&N#kDLgbq{L+kl{~k+U^Fl} zpI;~=(|+UBy9T8yMXeFlDUpYSG%zZu=~^+`Q4^YWu5is!<0`udopR40x9Fl=_)W-z zk^%hL-K3+l@r^5bY73on%-h#>)`YgO56QfJ?R=z8kZNZ=`^>LiWgk0EOLb$WeqEyh z_O`t1NxjZ^P73i;`s-`=KE0%~1I?VxJNQ!BcBY3itz`DmD>J2LccNr%*a|0i~1wDrCgt{Ty|_A==U?TM!(9l z0yFo+YfD1NPJevU*;xS)@$CdzYeSGy7pUWe6|B$^XDFX0EtU<0exAf0ggKWg5>pxu zi16{!-Su6w&=5c9P$Hek))8jf;^})~AfXMcRuxa^by31&o-mcs%weT@4nO#z982S; zZk)SfL47hN<+UtvtS4H^Zh*AQ9a)RbB>IUM^Qoj$>0*h;g-UPePFco&G=y$I4n$lgvkU#TwyhX zk*Dn~9&f&Uim+U5Z>19@3{AKVZo79KMU2$N9C4-6b+0*Qjf<1(kr5rRXatw46??N? zeUKo#j#>&mGW{fEh(Fi4hbS%%Xk?q}Ew;9$`*k%`C`eNO&oVD!q;pl~)(Mo6V94at zJ=m!W4|Il%8X_b{8-hiXENdZIXyPMmrgqsmg1l*z?(mXFg#%UnBx>|w^I(~@@U&Ju z=EQ|qEmvz!mk~9!t~HT+eX|X&k*>q8^_;L&s$d2!I+Hl6m2JHqnrNi5lI1`n`!I6p zKrY1c)CVMYS90N+O@AV0MFNIqITqbEJz6daN{0x|MC;IBHt4v^bAm!~g~e}T9j&C< zjkT37rBqvuc+aIMlFnZle`ZMEofq4YJYNilq`#*sS#!l^r@lKlFD z^3c}2W;>D_DKv*vR=Q5{86|yrHd#rYO++ZuB(Z3;Vt6tFi!m-6?VjH|J+F+jM&nND zsQc(u^`oY>Ln(XhXA0STvY@1-?t7}4pbm?qsmN%L(aJ^WHAzjdVcZo|O3!W{}5^~3Ef0F^d(J^7c&qOjA^VMo^ zr$Nao;&f%Z5fnRvYwE(LXn{_Gd7b(75s2e&v*+8}(Po$Xa}h>zUeZJK4z6t^X%5;| zxM!-#XlARk1e3H5v@qvo-EGu^V1B`uS%V;?)(-#$Kj!oH$tbs23d&8_S|%-ey;vD_ zK4{tLX4XhseB^8wEXrI_ZCX6pP=fW6wG|rzxb?r)NiY8MoF;(t1#|x>K zx1QXY9j}EeFil`dU8|cbyRj}dx%fsBr(g=N6A>YSYRF;$<|_|3^SASvola-x%R8M9 z-_hxGU)$+ieO0IP{lEkK{_L;lbiVW3JDqPM&BuZEha{aRBJh)bT^)O_e(d}xi59@8 z&l~+K|NX=tT)N{}M7&Osr2XX1i!Z*K#}{98gzw^60BM~AfIgqux#O++egk<}?VLS;A*;c6hyCAJxn_-$uOKlP8}# zzP-66+Ew>o4WE-MC(pg_1{T zeWZIwg#Ub```(EE)cE})5kDW{e=x#79N}9L{$26=ha-M7em@!I5S%|B%1?SA;XWVL zPoK*E=07>(uXh%B1h%Bp`8=VIzF$) z(#+TCsMpZvL-zNE|D9= zmHi>$j*cAJbUJVAy#Gyahx@N3M56$Gk~aYQ@6J1ke`mzMu@$d9M`SV_Db1NkV?)kJ zpfWsOsl5zEo#EY9%I`EtTRdJaeV^ha-C$Sak3^%?%;TZ)Y>x)2>3(=LehF}!_&xtgLBaLm?CQkTM{`W-Oqj`jLp{P5?C*teTNSXiD zIsRe0Qpm<7mj5m*`_*Wa)2Eovf2u3-E6RU$=M53>`Ng45=dR3~SLgaGrnykxF+Nbt z)Q?J5-!L`7D-plqIp8|>>P{7Mt8hvZ+C@jq{? zwaojGD=B!fq9Ajwd z673&pr!#yo6{2K^4p7HWur$tj*@-jVevcQ|7QaaRYXXN-#Bu3!njfldmvjDCS*pfl zO%3P?p7jUH ze65B6d{me8eTS8#(mI{9z#j#E3V1gKoVf29Tnz0FpV{8*J$vw(lY{j=ZI~E7^IrB( z?5#a>g7u6Kbo;ocDIRT)pfcHF+EeGwpE-Tvi6=gI=u&^!zdaZY)#feYdOv%dajPR| z1ETC!(dA{4+k%bFL)mj2ZSjjg{fj@X_O>=p4bN|DNHyk*FTSyOR?I7(+suKlJG6Ai zrLSG>iT&U61DC$}(?7oR*f$>j%3pZW6qxcW%EOK3BZ`fHJ?yfIh z!oy8(ca4jGpY?zZ?yw&&uHW|ztJhhvE@Z{J=!&HsNmpF4>c>Mv+q*e@hC{TQ>)gY+ zv%NkVU3JB>(rzR25aZj1_PMsY-8RhP%HRqMlDC`W^->A74Dd;Sn*W;~r6llT+){#Ss~z7r6huO|EreCzY0?_UwhS3bYoIY5`(seq^HLod9eg@EF^1lNTuuVXd{oe)rZs5bf*8pD&d<6JC!0!cqAMka+*8|@G{C?mM z09xz&M&J(tT8H@~fcp7A27D9n&A_(+e;oK$;72mCGIZv)>C{2k!$ z0)G$q`@jzX{{Z+w;2#1%1pFi59|Qjc_@}@>1O7SiF97jcYnM{Ge+_7j=|_Nn3urX; zqri^={~q{p;6DKW5%^EQe+GU6_%FbJ1^yfGEbv<3b%2!k6M;7XcLFj9pA5VacoXnu z;8TFN0G|rH75FsZ(*cbI8G>~_3-}GdX9I5o-VRj2JAiirzY%yB@HxO;z~=&Uz&x-3 z+zlK64g!aOMc^>71S|t9z$$PAxCb~290TqJ?gQQpya%`+cmQ}1_&ne^@DOkUI0-xq zJOaEIcpva6@SA|&3_J#$0!{;u180Eu180GAz!Siez*E2nfDZzn4}1aeH1G`Yg}`qC z&I4Zrbb&Qs9k>AWfDPaxa0%!GTfjCj0Cs@qfL&k+jDS7hGH?aB3S0xO1J4650AB)p zDez^$hk)M-{5Igrfv*65JMcSzPXK-=@RPv*0RAWNQ^5ZM{x|T`z$>3$TO9Z~s{8Z6 d|M|65?N@613I|@{z$+Yhg#)i};MX(<{y)Mhu>Jr5 delta 68 zcmdn6pJPd|sY`^Dv!UQ08-Kap(iWTT=J(Zuof#Pz7?x-3m{&>!@w|umw|zW UpMgOFD6TQlQl61vW2C<(0E3DTMF0Q* diff --git a/Shaders/BasicVS_PNCTX.cso b/Shaders/BasicVS_PNCTX.cso index 887657e0106deabaf779c604f529eac5ea97c73b..1dfa051c3ec31afa86c662b66ea9324635f0d87f 100644 GIT binary patch literal 139160 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

    KrmZwjb<2Ijv@=t!k@ZJd^ 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 S#;ERVwS0{OuW=yY!2bhv1FSLt delta 68 zcmbQSpQ9(()Fr~nd6oE&_s6uuE+n-+_gKw1aUvrF14EA{0|Oh7wgBQ4JPZsCybKI) T_<$UsxWGh9c}9kfk>;8J|ArCt diff --git a/Shaders/BasicVS_Sphere.cso b/Shaders/BasicVS_Sphere.cso index c02ae1bf4b93eecf6d88913fd81c81f9c8d5bb08..ba0108c28d3dbef9404e549062b5e36c3db571b0 100644 GIT binary patch literal 122740 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 Yx96MrT)uM@I7fkV6gWqLmn;ST7nBQR8UO$Q delta 69 zcmeyekNt&`nM;I|^Gf01YfrSFzYR-MR`Kf8FJ@$5V8{?;U|<8%7C_9v&cF}>#78(7 V814u#FuW0%XeGzUurX3t5CGrv5k&w1 diff --git a/Shaders/BoundingBoxVS.cso b/Shaders/BoundingBoxVS.cso index 15ffed5c30f72bf45f77a36a5bf48a40d435f61d..4b94869ac226ee5ff34f4de8a684bd5f79ea03ca 100644 GIT binary patch literal 29696 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 delta 75 zcmZok_`z)G65-_haa{xJpQs0d8~yFXx2k9a!!twTb0kL((S3T*_>W z0bb1xIJ4pHw-X3I0>E1cGQRO4eYzg}X^eMqgo6ds1^))P4RCMcfhTE`@b7F9@6t1V zCj%`Whcnb7-o?>B*dm_%IGox1YJItypP4a}`AU6pDOmCqhF9SeHmhH@Skr1 z|4qPOXaWB%z*$BnC!dba-v{8O7Vv)z_{%NeF981C7Vz%?PT9eW(VxgJiQ-I`YY=HS z95L+U;vO#KR}6Hg8}S>w_+y0&i*<>Vx5+})Ok``h?0o*@!a^-yuOX46>FQSzW^&nL zzC*kydx!Xm@^Yz8o>-a$l_BI=7 zgT?Y(wkUN*5o;YmIrNd3hvutRzHzy@nzkm$g!LOs3r#q*G^Z$%;zSl!EL#Nhbj374 zCd(@&3p-S;7ZwV+LJTnm6kOVj^G2=A}x`#9cT z)Awn-|0jJvk9WL66WG&iG+Q9UBc<$IF>kFZ1x5?%>&mHo3EFhLJfAnw>ruc~H9V7D zsuc6pi89m<>4(^n;c2YjgMbs(2tNw=Mujt-(}!umS#IL=J+A>l5HbO_&!0uj!4K7@-?e7^Ic&vJhdxWsod zAe{C0LF7B&h$BomsxpMTD8hjn!u@<%R?^8hWQ2*2A&S6f9zHjHa^~pl(UT|4iIb;} zA3A1ckDQq}dGgexnK*guGfW*l(#8=u-}Hcb6?AT-7R`xJ`JFdx!%VU~gUe46Z@XKTRwM*B|qncE?* ziiMv(9fcXk@Z1*DUEQ)pXz)FQchcnhA9?SDlXt>z#yji4rDYwscgo$pQ`YXCJiB+w zG!K5?3@l%ZPyxaM6zygm9c)?;LcK_g+cJLCZ0O#k@o2{(?snkvVSdCVKLJ#DPH}(w zRfO;`zH1zR@UV=oF787$|B>SU!6wU7&o*0L`otxUqxbL)7UvJ{v~hoMlMNFmqjY-I z|C-`XsVt8G=S_{9a{d=>dRKo?gT!8xud4A~Omc5knx)isWQF%Njobd4j_0BhufxFcjANf>+?Z;#|Psm6Z&1__|uSQ*Em6O z-U8^4kZsj104^#0^je^2PVBJ%JD&zITmVyGnVmEPPzPY`fH7#<_e6 zYn3nC2I(9(j|afC4{c4q@;QvQax>nEvuVqg^)JCE&Hd|vzz*Qu*(TxyYMb~@J4Sy$ z9OcD#=-^F%sq}j8u;uH4J~3`PoO|Ddcfi6n{Iwe`4=fXL@7DIucSqaLk36w$GM@Fu zGEhzqmoV}{eeKaU3D`#JB+J(|jz0|#)72Fux=Os{E!g$(n(kCB$ zSVotY{1S({T)vQ>z$iZl8}afWZI+pF^ijVd?~dnB0Pc7g z^>}ZU_HpIa@lG2|o=Brp*{I7-*3@^Fk$r;mDWi`d@4FS|%90oty5?4RtdA<*T{KFUGOVq|bbfS$_cfEcK3FF7OVUp=zx^8L>X~g9 zdbNpdgFH|U;;#qdGv1}aYcKO-ypu`4$3N?vWp?@7G7GGS^t+i(>9TxmH+O-zyETq^ z6UUbUX5k`F!dbRPT*o_YB+KjPLEc??TwMr#;87NU^{_mC8lNwgL*mqLkky;C~cFPF~Ia&<+WbZwIKAg2g-Jf}gV^5<*dUWbDW~sJ39 zUrgI*4~XB%9{6QodRJzr$3DM_anu2DZiUD4vpfv@XZSK?eP@0yEq&t9XP@lc&B~)oLq2Ff7~d(5b1;^H4|(L{c-R}*I+r{# zp6A#bd_`kXj6wM@-p!jh7Ud&l45BeJ${==*aL1dYPZ-NcpKa|g^_}BZ!W>Q3E%M(K z#%o^PfV=!3{y<3Q#t;uq4esSjHsxGJMfF5bau zgB*{XKWJHHtj>gPp5fw9&faQZ^LKG>9Ph^UqLYf_WO@+dotZr}%eCNt1jjinpPS%- zZ*GI*e2aW?eX!NTvhpF1?!ov@@R_#LGc!GT*!LINAny@Zrs=Nw@>}sSC9YUZ*Tg_%l9RJ*GYwOZmj8G zKltQGBgjQv_uoen_`4tf-H%z3fASFiOzb~|^I zCYu*(XLF=gsaaa@9b1L>kgdYI6qntLf*pQR$al*b1tO1Js1|GL|J z@w*8#hFzf3znL&wzSL!YYo*&f@SQI6pPw=2UwzJ)e+hcW%iZQ1f7@-opX@SM{=06o z|K2Y1zh3M%fBdhz%>VsA7<1^)u?Ox+(EqE1`9FWB%WQkYm`fi@m^3D^d;W2^`SK6D z%zyc3-R7y@g!xnau=0_gCd^;-V72VuV=`)|-S4B;_KU~r#|oufad|!;-0e5t!rjSD z{I^gnXX~TEQnpY^Jv?*nmmo4zSda{ds&e}zF5n9c{Y+6X+tLCk@*58Oj>+cxNuAGpe2{m?O!u9 z1HzOO9r4p?rf~a-HNmm`rF=2vfJ_#b7b>Ff6G3h;i==*m(rHRBb+k5_$DU4#VW=;- z_ue2y)B^|&j*Rs61@nbkE?b@ViqM>JxFO+C+jK6wu`y)U%u^f!S=myH+?lOc*>{cY z>r1B{hE{bt%>BrDckYwa){;(RFYE=55;~Igxt+BMD73z7$_}jxdM_L2+vnC) z&sq|yLtHMhy;F-}E7jGht%%{~YHcHjQ8GpoMXS`FHCu^VXQ2_3R%wOz&UkD|X84_v zfe2kuTaux%cCA7Tlv62}YHGP?w;f~GHSB}5qoD!ONM~+TjRyjMlkz|i+k)$G?I@@= zxat71vDiW*eYVD+CL56Jd77mtuA0ZT5hi^^yph>iO7d=PeBK3+}ms8PAO<%I=oPWC=|@e$`}b|15C zf_&wxo+?detJ$SmOu4j)FVkkn)Xa~FMhBljYaJS!&o5+`i*-&g3Oq+W&^>< zn3|e_V00{O+ylX$vH8Nn0wy;D!Cp;?QT#w~-&n1Z&kY3o5MRyb>Xv=sDau-GPBT~j z_yMtKd69(Nr#~?PWg-E2rBLK*f@+_CCA)ke#y_1_bCQ`n1T9#zeZawR(gB5tdH@+pr_-@MAexBy zs5L9I1+!%8fUc-?jt$aG%vbntFkakG(lW*NLCl72ty7S=v=XcFue2C|B8^k}kE0j7! zW>@2p_%<&NX#P$w7Vnn>-|WTWpk4O+z1Gk(F|gGX@4G(gKxSxYC@5EhTG?4T+GMF= z`NB%p+GZ$Yk$g&GMuJ>+=~TW5JsJqg%XPOLQmj?VwI;0-}o5{<%D)9AIfV zfHnp7a!`|x>4N%VKA7hx(O6-s1liI&42lfqvq2?ag>dUZu}}{#WsA%C!Jj90m&%3t zs9GnoMRtqzJh+{kv(F>Q18dC95_v}}SCz5&;`Y<#eAiXYXA4vKP2=8N@g6VmC* z)iC&_>Z$Syze8ScDZPz#Fq#1@8bxi}xp z<%8u?wOlOb=Le)x>h}Bfps=)*$5;TP`?CEu*h^5$&vSOo8pY28rF=1{f$d-=U(E*# zh1L8#>W?k|f?_^9PfF8y%+q#PvZWHH?Lo?RZ?&M5$Ka2w%w>@k@-EMP4l@_7^kpj* zMtU+~&a6IUgH~Bbfvg(DGSZGSn?t{uQgSHEBE(l)lsYe!>r}C*lch8v(mFmFE<#rM z;(~U+P^rF#Qj4{4Rj_+3;1}Jh$&p}UNW0n~$p^B`n#HeIv!xo<5Ls5Btwl9Uv5Klv zmJ8MLk|f~|H<6-Q*?5gFK)%xWiDw5gO{=r<$)uVi z7}=<^tLSM`DcgJXt@Z`|oR-{$jueWi?+C}YW*HQUmzfw8hkD=gS- z{VRoHF(~J9IFbY!{PW|wO{aR8TpyA`OqHw0vz6wK6+oyV&rE6PU%h^AV!2vHM={OT zS`(UwF@QK$&Shz0oBKtJ5ewz5q@ZmJ!EVn3|jubdjs?EB-o_2?0%YxQ|EY0#~h|tQ6y4DJ7B$lWTTA{;B z{NCdT1!wFMf!GL`RoW$Iiq$qW_L-~v(J!oh*mKTcVSbj*E!epQ7P;%PzRJ=6CuHDN z!J@J)&AjV~Vyr_AwSSs8G&6B%^2oV~6SG!}o3qF8B-N0Azow26?ITyI)@)(4&^ig~ z0fK6rFk5SDQ;g~mPnK5DoWb395}>l!mhhS?dqz1ZYUllbWT4crUIdGI1Y*Xf)G4aM!Z=P8Vn z<~{jH+zE^;{PvD`E{a=@pz5>e;(?g2V$q?opT{PQ++wNl`DHE%$}EsG8%$m}2KjhR z=M32k*ewGa&zObka;?6+gt(j?nW2BYRH$LhQ1b^3@$O7&7kqimA2vzU5jxn@izFD_S@m7VkE$}o?ZVX9;XwVRc?QMwJ)L-qFBKxmU2hBjRI zn&C=kC^@k$VPgLDuasr!lfV1BJsFQ#`W*MSwI;12qFno(IoE~SA-9a%fhvr!vZRNt zJsPIc`9~Ai2f=j96^@wI7OjtWY*_Ay6(8GsToP?4v?N$YaZu?Fz3IOvqz*+2mqprE zPotn>`T0WYkV~`Rny5roN;;I|&p0f`%(8J+J5HPQAd!LjM!m$zXWcp$>GEk1 zJVAxlO(iA-Xg*Q>$HhC#=zb1#II46E>MJ};h5~Fz4t)u(Txru{1}`5RYtg*i_8ll_ z*nx8A%HW6$;rO=4jorzHt_Ndu$3=M#%&ao2_XU6wE9llyWkz>}68Np&0nwvgjM zn-XE?93ILe66~dRql301`&KpQE4?S6*2Gb*QT{N^r}9{*LvN$Mro%+r#cTF4;iR>M zUe9$w&g8N*+Tr=pFx5EpPI?X6a&|OxSck51<-jd9EM>7ZJL00yqElsKi`kpq0qVI` z>9KkwzX(S3L^A>`vS6X0;iN`8hJ^NTyzgnaCh>cw=0$-hS(KO65fms~V3BNN>l3X_ z|5YcUKxkhCD!E^i&3wdvd}zyq`>nwr?jh%<@ttrJ{hknxqFS~9Z`sQ-N@d~GvOkKX z=`}uw9UCpQs1umK<{$dJZijRp6HVoSDyOq6yGV->$qK$Ez&ws|b{Nma8t7)k6A9pX zw@t-Td5>C*5^G~=!r^u6N^d{rXljVQWqC(=w&++J8#ie-NmqY7>u75m3AHn{w)kn|BR_W~8}tJsT3$Xk!T&_7GvAab#&F<$=O%qhBzu zYFJz40(pxy7OC5{a{ZMTE4i}UqZZ7qd4?n_OVnOB=csz4B!awPI9eiHhb~@G!iEDp zLA70g^j#xCY-6p$xX}=$2v|j<3Tky)LK*}mSMtNfN4vtDo6dZwZymnW<1q+PxWAIQ&xwqQi!4! zq0+u~^kD?3w2`H7(|OO@_1O1L0=mm|ru8Q4aJ5@iz_nvlBHQu=h@-|iL$mcND@!Hp z4_@;WNcY*o3fQf*K8+|YJafE7w0{73$7r4~-U1M9t<+07zOcVc(1|GptV zJiI{5v5W=&;dExt9%k%x5(~B3a^4Q}xt9h%p&>Mv$Cw}cS}^{T9V{?Q zm7r40miU9VWVa-1IFBbtp(IjM#3|Y9cE$#AQ5xiorSWu%xz^ z8}65W4N+@-(&4_76sZW^&&K=7GFZTtAoSAcM#B}EJl1(xHC)xkLO*51?PM1&2P;)< z6XI$#WL(W&&`QQ^4Ihb9)|Mxq`~--D@-R)w7l((Iu+fMWT(~SF{8lNZm;{RfY2=s! zcl{G~J;4pTse5TgUIyNU;yG-ml%LfGS1hLdwC1?yWKvk=7Bn<%eB|cx3~4Z*7Igah zrzW(OF+(4NIj1uH!UI-8`uhDyw|CeLW0X_o!rIW{_{3F1VibugZB2U5$XZEj9SQga z$s=en$IINVVB73SP{5|ta6BnJvs#fApk4~cnxjD(@~Pri11K&&ys-`4$)#8is>9UJ z>Ja}Hxy?ZypxOGx_EVy)U0#7@%M7lru3|H5Zf-b(#cqbyP}j>#cF=%dJ&{AJl%yae za&z}TIy};p@}%+@r+~{rf-3TqoUuiYiIM9HIkQhXeGU!0I6o~DMQF#lkQbOATo_SU z&<}aiX(@?NyF#K@SlqpXnSCR}``ow2AySOj%a>VrS7wITd|gIy)-g11EevcvW3Jo^ zoSVx$I-C(1Q1TfH7o}q~9@4h`Fn@}`?)QunXbm5GW52N@Q^KcwHr3kYRfn_0e6+fR zATtc5e+jh=7DD9mrJU5iA~Ac5EesLcBQ3QtJP1+j?yN1640MKE!IOs8wPD(MPlQ$p)U->)}Sdv zT$j-$XhUX|Arx=M1ggQZeR_rZuF1KjPc1yURjiGD4S4 z9zl!6(oOJaTUHBb98sm%$SchpI#tUALFzEF(=TB{n`&!pZm9xl94dG$vH!<qzipAW4ck_)MoUEpk)yP=&sXa* zP#Q*QW$l7(3zFcVi8N7TC^0Z&kxne>^n4{FGO?!RGEIw!Xl>0)i^76D;Vxmwu9!qb zSd$3P>p(pUA)h3otO*Th5sIKJTw&}LPk2y9>Kio@H3~suM2;e9MXstvv_hgmflyrC z`qBa!Hd*SjlA(R5TkTMhixNxWtvSB52WsSc6>TP1!?I@#SSpuEB;zwA*`o|%qA!gI z1)&L6)%t70Ws9>%3e-p3>_+NpMeC}L9~2p-Qkt)fP)Mp3t@;VZA}#AGZS{f>C15q7 z_W6iL*a@&rWBfhFsLTCAWjAc+$eysSRp7vqvQWgrNinsXc+xyr*`VdMej^WIBYj7xj$y5jx_lAZH1Ir}trc>z zKERbAQG-#8>9KFg&YRUvj$%{uTnrLaxYQI`PR%A2;_=`C=#NK>kbaxYnRL}VtSJ;Q zpcg*e;MZGOm9q;VFJ*7J660hPO@9T$Ca%pXj&8w@xRaE@99KfAn3s8|1(?I%c+a<7 z;jW^wz-1vUhij)$z1?#QPMei?W^NNjY{ZjANmNKIT7SyswM)1Mfxdpbo~;Z)Ywed- zDv!Q!pQ`3-$K&y;8^P`&Z#~-U^>hi^%7N>9*RmMhAV+*e2N8u*VU`UtSs((>dtl?X zd17ZL@1~msGIlOaWpj1R;O$T-_PHf?CAsVA8gauMIexm}vdnQwG_J;WY%QXxg)7?= zsvs>R!$mFF_pmTIej*ZAO)T$IsDn_(W;*`rSLb*xT!B&xkwm4sw!9lw&RS(3L$MsR zk+ow&HBb)jh%CpozrA;hp}&HZ+8pKQeGC3>kIeH)d0(4n@oTIe7I^)%G53QN_L2xLKl<9exNAvq8RtL85pcM{PhWZaPjR3%QAn3@*B>hZ*56@sV5{5* zo7e;yz1j1bGtPgf*UR$Gim|N;p8Psh%wDLOq19o-kUf{iRBGo&&kYIWNU2_3GdxjJ z7{EO%Tlw+|pY`C29{juqFM9BK4_@)$iypl0 z!HXVz)q__&_!SRc_u%UueARe_uh1TNVBU=n9cW*F(nKwIefA){0$8k91s}&A;bU5U(6^`TA z<+UhzArGWw`3NU{2jAwwNz=idEpc?V;c)*1YGJ2`PdW~s^5CT7;DHA>fIlmArg^Vn zj2{Od_28uA;QKr{>AWs%mFK!OwVb(m4;ICd{+uyay*82cP%gq~qX= zfV2K_trO~>JLUoC@Hp8s&#$Al6Og1|SIpDFsarn&i;BK~rzt#Ita-*Scxp>O1F`hd1kIeC{ z>+oM>pACL)G`%+@@9f#QdEhtZlLvcl?Ecb51be!J-rnT!O~u}1@`0X>-9rfV_H=ds z)+DfRz{`&0ww?|6`yf(&>A4*n4G^{`o;ct0(ai&<_m1QNp(Lb9E14VuEl}*E+)cHf@73lvky-S|s+p6NN&y)C)^4|;;`v&jzw`SH!k z^~ZZ|f-sWFsh$sXudf5^SkE2Z1B7qtKGVB3d8%hSuyf40_m<@P%RQSBoCn3nnJNj^ zCdtT6mW_>@H*Ao~xFhkKFZZl}rQ0M&{4xUdb}8iz$vdQ8SXS1BE$cnW@$O^2N0JXC z?jDiF1X8EK#)D)a`DwtmC4Y_ONq(k#$Bl{Jtv%h{0fb6cHX-&?$qSI$PO=2bJ5)Be zBfOo`>HTQ(en5LAWBgtPw=)=ihXFkdGF9};)lb;kh&N(@LhjQ%w7zEovlF*;SXt%iT&a9gQ z+!0h>vD-GUsb941+3MyGp^FJKa3lJn8+TGa!#=I`2LnLq_&9q*z2749q#a@h9GrH` z!Tmml_QAn-AP3*(3<#Y{_pEuDO(u*ZEgSdx4UD6`ap_3U#yunH{JhB9y3l+%!7}^2 zIe5y0la_-I0M0tF{eEj1*=^=P?C`ie$;)(-b@1(`K2hOajeVlS-v{~`@G>s>c$>pJ z_C|c^ zXJGQtVP|59_4WKYsqgbQej^c>al~<4sby{a+yJqiAHU2mz^Et8w?xN1nk~MB>P)j8 zuaijDT>hi{uC6md#QJWant=&6s+yF~{4?t(ZWN-35*zyAk+orHy8r>(tM}T4^lR@Ik z&-UDjf+(@xAh{buhh51`&kl5`wP>bJ zfPvBEUNAs2-rI9G{2@^KxO5XY^rX;v+xww@JVLzb|t7e&Xv;E!rEu z9*elRn8UlsCfIiT4P5q_z-^thXB^vE-M%&*d0q1TZel1#W9=$69Ov%|;csIiZkuFF zZqA-_(3zZH)|Z5zze(JVB-EG7sxRla!D>3a&7%kXtrsv9>cS{x27fUMNS>q;?7$di z!{)Q=&uyfJ?@S&}{8!JTqc*)CPkx5jy@MFcaD>&HJORWVJJ9_e0AT&O-c1-2qQA#@ z;$!I4yP;51km)%1K%I8}Ftl^=Vs-hJ)Y)5XR??>^efhMg<+rNWKzp0?DF=i$?T4MG z#7t|7+ou1p90!BXczw;iB74kFNu_i+w#H_LVx|Y}b#V z1998+)U4XBuT1|OY}dC$o;yQ6ob4LII6h{(p8B>kH}BGRedSy47u)66mzC2#u|vL1 zdrjnLZ5nmOPjdyAX49t8?)dN*WNZ?M%zsv!_Lk)P1F@qKjcc=M&j^3-jZJ$+_}SRy zY#Md?v#@KN6TW~s@D0wcjbbA5)$^F6bzzQn8GkVc`wf`2^(WU~g`(e+97#NV_NEF< z)gywkMwH$gy4Rlv2(z^=OnPqEymKBhjpq7SS)>T%Z`*twt3_NJK~syhc?b7x0msM= z&ids%VjR9PZGO3zxb}a1J*Yq?Shtt4|GkjaKD4>p@4&sHPF5q3%fMIb(&-N;o~~fd z&oTNe_6UujGJH}g%?_u;^UwsZ$ z6(svmg!52>-u`4d@$|DdO{0c~7}I+z1}QhoJT$;!#9f%br_fh<<@5J_Tubr7I+Zzy z)b&njw|@D!V#u|s#`%zgb9}pPbL%~~L_Ib$i&H(y6NEl9GC6X!O0J07`YzvH-Mdoczk^kfOKm61G zwA=pnx+QV$ucp^O@q68W?~U94=z+iZ!l{2?e>>fh_&5LR*}r-Fjr?EV{l=O9@lx?0 zUa`NwZb^LM<=0>Rr~l7a{``;Y|M`i>KJ=+YW8MV)ji`G*3H;lJIRKwoWXw6~TX@H{ zee3F*9e^{ezDXgBq2{{!<{^Y(TG!P#bq%X8Ypaas8Y_HRJB3+a=Nc+}Su+JY>pw)8 zY;kSYJu=?gj z4XZC}r>L)WuA#EtxV{d(Sy$f-X;^(TsbTfac@3*C>*~Wu&-Hcq=DXHkS6|l4_adI_ z=J456>94DAwrN;>lhUyI=75IPmv!?4NPix1_~t42_aUslc}~OXo98vGzIheleZW`W zyrp6FO#m~^c=gSshSfKV2s3~6Wlff0uFaC4XEa`Y^MZ!eH!o{gee;@z)t9v^(&HKy z>2d9eVfD>14Xba?Xjpwy)Uf)p-o*4=cOpHmUofn`;e4K9_00Km?oQJ(6X z0S&8fxSqv$_06n?)i-qwt8chgLVWcN=fVuDZ@#Z#_08)VR^R+Y!|IzYFqTZOzS*H+ z_05om)i>C-A^7SWt~)Tj`iAp-hSfJuYFK^q4GpVrp4YJY=DQkJ-~2?w>YE*yZ<44`acp|^&9fR--*BCg^wl@7YFK^qA2qDL;ryTY>dP84!(2Ot zZ{{^#ee;Bd)i<2S5np}7c?-kpo7Xg~zTrHJ@#;&b$}l@u_$ILay8327!|I!H4XbY! zHLSkj9Fg?YH=L6(tiJiWhSfJOXjpyovWC?+uWDF*V=(3reywi?G_1aPNWKo2=nZNqxRSl~zVdPfiLS}40BzKVUDdB zR^M#au=*y@u=-}FhSfJI4XbYsXjpwSu3`1fSq-aiIA>%2>dQQd;b$$}yr}W&n^!cf zzRU}V{}aXMZYze>H=`O>Uw(yVJm)3wWiHBaUBevnGOWINQN!w+S2e7@c?;oj;Hz)8 zV0_B3`q)Krr|HEn4D{{$4vZ`BG&h^w7&i`>BMtw0fo=Z{0&h3cwEK4(@NR_*;6CbM z^_vfwK7`|bFGiVL%?{x1fsfz1Tl%Ab--Ubw$iV(<k=UV9~+${J_Rl&Q%i*UNl zEr4$a4wf)tWhE}l8}$^U_d84!+BSQ%@Xxx55GXm3eOZ<6-&TpLLst`vKPIlIHEV;o+|}UN7RE zj&1E_I6k+UJEffvZ;O$Sa7PW=u!A$@W(yzj;az}lwD1h!|K4=p>}-cIIDbb@XR`K! zZFY+}A)opamw4qEM!ghwR;Se?u!ZM-#8Wnp|Ua5IDYtq^zyEo5+&l>wx z?~n(ZSJF+XAWn=#AqY3lb&nC>SA9tI~_fcDtAM?Ea{4z=aCrD(&GXdlrobaRi5&0NBuxA=% zi?{*@HzwgSr9s;w`5CwU1fQpQ4G4xP#R+-h57rhV6x9lok{r}4MX%}PY=1oKc~vKVo> z$o@Yqh7*CGde}?dSq`Hj2mMsIJ!|$P2d%TvV(LkPu7)7~&y6J**9_*y;jeO;+o@DI#crjV2#>!!(F{$|xQTyhBJws#j z`2}8+h+8|xw4LMFr!m(!aXH&qP6~^f7#*uSUB#ttV?59UXLJk%do?BGF%aB0W{^x4uY=ZEk zeN|#TRX6PB!}_oTrNE7IP`@(|pPN28b9DCT$rDP^wv@nHSzw$vdFuF~V}4{N0IzaT z0IxWmJ#uE^AR=~=G3$^-$N%JJaS?dx!U7;wF0JR&Ye6xJAE40 z;5`=OS`U9gO32@Sq};$%DE<(kfv*`Hf{k0kt3Hhe{*K~kR9u*i%Rqf3IVuU9CO3Ho z1n0so;U-ajGi{H@fV)QX)l^+BP)Vm_MnsOAMcZny zB7z!{?m#YVRqnuAYnwWejT&BP51ZN^F9nL%g}ad+je@oXAB@)IE15v9wzpR+YAgOTF4fi%@EhGFnT3 z%j@$&ehrs?^G-6$Ar;xb6Gu7m!1g*J58mq9JWz?Q*7Hl#aFJ9Yb_RAsWR_<$hhp>Z z(UyX@x|AiBz%K{yuJnmPyX+Oxt)XXPV5=#|v#XPOZ!RU6!D(axPH?J~U4v$Gv7Cjf zB?=&tcZYiAvP-A(Md;B0Pt9}|s#vR(_0-z1z&NU(H3U@j^tP%~Vd`L4s9!+f32SmW zl{>dc=ph+SWJ@_J1CiD_G#x3#v3$MllN;m1Vb9O=DrOw!eHw>*LTz{$b1f^^(ewE1 z`FsUO9&<#(3jvkoY*5KpA)Y$#c@N~XZJgHp|NBMJ@e7b(7PLt=e9WR(J-hhmT9bTH zlw&eqtY@2$SdPqD#}%k(Itwd zYPnd<&*Ri_o^o!7kwIYzx6>E0xS6`Vuu#j_aT{ZKxybv!<+4VO$;C@eD z8|ZGWd(2t_X=yG!573OKUu#Og25~VFACCruw%v=W>h~z1*PsQ`mWb>gi1rYVC0~Om zMBQuU;xdoFW($Z^f3AQ-=232(Mzw^qb{C|Lphkd%K`JUhrL7|IsGlxDKJ{fBvz9O7 z;Lduv42zIkRD4`aRKi_0IF1pNrt|2fcUQ8d60Z!<+eUD4Cyq83R_1u}F7htVeU5iy z;){=L1vea315YN*nd*XU&?@Uirv|Z%wByX?(D|g49Lj>j?a`-7o%6C#XiU_}W}zZD z*t=fH7I8f&?lfP}?iWYh_cfF{Rt39pE*^xZ#yk>C3<<}~wM4?0kHZRk%X)Z`GP1N6 zdkKwrMO7)wg=%?8BnFGsz#9%w_gWe9oup|ao*l>>!%YLllmpJpXxnvscTPO9RFU+b z&R5IrX^@uaY9^ zqf{-2={9e_wU<-yE;?R420a&Sw*Hkuu^5zdxX6x|Rs8(8_U=GOBM1v1AFA2!&!@`O z<2c~jb)4-k){Q#9a7-1y0=W57zvg~XvTgZ&T+~adoVl!E?Se{}LS$D&qm808-pZ_Y zz&1SEPAo#?^0VcWuz@$nj^qW>)Q} z?dz_R3r}NaHnGC85OKgeXF6(tBzu+IaSCqd&ncr5+1pn;O2B5^pc27dGCYF)h&Z|$ zJ2hjSR*=w3SxwJTJLg?ts~{Rd->lT;|s9-M2- zv77r#jd505N%ClQ#QV7Iu`KQ$q1y_}r*btcAGb9v%UAqwJMM|qK1VFqBYs5XaUTPc zrJJgGmWRFkay>7N4ENmB^R-!A-djU!UZUOM*wS4pENgpQmJO{;XpqoUg+d>+LWhR< z9l#L^&e$aau@NwM~R>D+>yU1F8AEJ>a zxDi*us-!K=e0b@hlCUfLX$PJ-G&6B%^2oV~6Iga)Z`PbWh9|Mxagl$&4g+HH=p$FD z)@)(4&^ig~0fK6rFk72%Q^YQ+bB9{nv7>b395}>l!Y<}oTWt&F8j%%PgF!{>_GUR9 zQSHGSQGz)2cK0h=lG@yw8YOJ0N2cL|$wtQf=w@bObeitOB-?Sr-Re%wW~?ScQN~v% z7sIvuNkj66MaWU-TbP}p+lx)UG>MOn=HMS666e833TMb6*ovb&iJj!+=ZR2q{FzZH zPn2PB{WEGGv-CYn*=$YJgf>J(x%NAAt_!t8ZW*@&RTyDq>7-py!PQV;m??Dr(Zn_G z>Fe`XC#VRrLK3su(%$188Y7$I-^?+K|xk-}w>cPyw_ey;e; zflq6x^W6Fd!8K8ds+4pn$DeUnjG5(OoN}G7;zzf6%%6@IN^#nx4{7pdnAYraT-+uG z(`8&g9wVQ1>sX}Ar$O)pwYM6A>={stdjV)$xaF-KCbS>nK)g$>uFe;Vyi5;hI9PdLE%$`q+ZnSw(0BmWpD52F6 z6sW`cMC-PD)k!E2+82RJ?$=~99~d!3%ZY6)3$kc6+yl62d?(y2S5K8!IHQQJO>a>n zK#g*?j9MvMI~uE2_D7L4y_U`tG#atdLW??q`D>nqdn8HcG0{{GwQ@SUvWv7Bk?_Jy z%;OjrE!JS*67fU=c;0POu~gop7Nf-4*v@cx-CFV5k2#teqHkH=QJyV2*2WPtX*Nk$ zcWHFAwT*<@8CqNXxZXMDQHzh{(JSD$345Eam^-0rlPChwKn zk{(pISy+rfNv=tunWpji*^GvjZyVDQMm8CcFvgpWMP{VAay=Uo)o5c081@ihp^Lcc zG39~6Y$KB-rVLBp4NG@+eZe0+__;yeVvR-WcCFlYl<4GYvfBfjMMF|@Y@C4O%0n&Gk1hI{V3gb>Sl(tyT;#xMlJxv4L@}@CZrOILC zbS)QN0h=?fe0+zZkoKpYVFp$}GNFQLRx5AO@oSy8Q&BD{6xN!rkHXFu?qrb5plzG* zGvp8b(mz8=6dxO5jK4M$Hg|2YWl zgkU);b8#tZ$SMKy$wzsJEoy~Kc-zyoXf{!cWZavHbh<>==X1(5mP;!r%c3r+*$Al~ zT-hni+f_7{+d*^z&Er8eH`H2GC6-~rT!86Slhr?)IW@7r8BaCd+v^Eqi=POn!&YBK zQF%L?uN{3D0g@tUBTM1N=Vy(YOkZwA@%_f%qDM69=1}EO?ageaD(tF5RsK z<+NJ_RX(DcQC#?mT8n7^E47Z%{K~8aLc^D8SHn;$UjSb84;qMtfaMaldR=4>XDhoF zM9t<+0=$!d7yjNfL!S4(14Te^yrjRpg zNhK7LJ$+)TiL&A>drBSRr!F~D?edovI&yzzc+cK_do%Zq?isp&-;f_3UZ6rRW8HZ; zo!PU;v!d3L$YRvgaw%t9PzD#*Hm2=~nTy>8%e6DKMu#1B8N?gNz(axEw_^G~% zr7mku>}F?(bs(6-3>3E%V|r9u#?P#BT{}?m%MLoyzq9tr z<(T|xMlPu5@3-0c&tZ8`x|~bcEQmcIpTjCby;@jhEOyNxDqEL}>LqoGbu1hsn#^K* zPO(-F>E#wVF%BNAEFWH8SU>>=C$RscI$%8!j;#CHR&_jE%3jD|Ws_DP&yDUeHR$Bm$Sg4QhYSX?XZUT`&RSpp5Hg)9Eh`4=rK;3oE#ASq7f26n=^+ zCc$JgjT}?pu7AQ#bKPi=%8+Ix?*P6~JcnI=@@voFip7*)d>r?pWn`5*qtLYREsD!C zq``bz(CO=+nh3>AI~e7}oKu;8;Q^ELzJ5Q_?Ob)et8&U*Sb16;pSWsBj3QB`t%*^O ztd+FZk$^knA3=*bUgoYS+h#}P-t2J9BOQiX5xuZG9F)Xw6SocB$)$)JiQRR#&{FSC zV}~KP+3GFxy!RUSmCL2<8LYuFw1&D~Ub1}|evHd5=?38NwqbX<`kK7t=I(!Vc%&)i zNz`E#3+{0Wa_2JggiX!x=4B>Et}ARm_DQGDp@A3Yr)B;E?Kl_m!b{R;c=vg%Btq>< z72XvV*WG&#sgR&Djm&uCvf~w(#Y<>d%FGZkT}E-%F=A{j4D5+wuH2!To69^poDmtI zXn-O&l#bDONZaX{68>}N!S}qoCs_^<|d#x~P)C!#h^`dAi{Y$)W zeob$T26FjQPU>Hgm^~;;axg?}kF?arFmGnw&D)IIYl|cU9o!FX3&vbm^;&3U(cyp| z9?6t>Nh&{6RX>1;=3zN2s4c9;y3`Q2z495N#U0+bL7q*WDYT(4 z@D6Y^Wr*uCx&&>=tTKe+&6q$nShi2EP~SBh_;}x@C%uK2w|5P zH_cWJ=7Rt8qrwU(7qC35se-hhgy5$YH^3<^T~d39p~+GO-4g3svAsFsh+M%Q#_%Hb zXk>&Am^^|Oi=}(BX+A|&XdF?c*k3Bm96D9Y1VQRBveOSVLL*~qY;LInY8)zfEV2K` zGOx8o*;T4MNGd`N+vRyhI8e}qD>)&S2})2B;SF4%N;2rn?X~aJFR^U2Kx~q>A%Is$ zj3W+w6DA{%_#3n0gUy3BUk1?r(PPUKdkv92waV}=d-5erwJodV(V1Tq*>A(P)%(}n zlPJ68+UKiv87K{-v@)e$h1o)090l1@Gchn@krE{`nXhC-Cf2lEUZWMJh}PC9F-?oY zf;=jRVP)6z-Kh;BxqRbePQ%1HT zSJfg~Lq~%Gp}4yBr3ErQYp<>MkplJidOvu zW0971m9~08h!T*xuGT&u(Fi*MwrPyN#~5|FU#RSc?Ht(?*0l;8SfU&hv2apM?Is@E zLD;ZGMD-D&6B3ZzMaqzb%1Aps0fZf+&8aK~g~gXDuq{uru|NB1!^01N;hVg;MjC-z zy(y~IvT#OGmoMF#2A;9Ay>+z(V|vWZ?7TS~VrG}-VvwN1Rf@=Rx91he#3duw1K1VIh&wgMT%e<3 zUgo#wP;UH<_k7D0Zgv?9vk;cUkB^~xyXV3?E#M8>rx$Bn;C>h*fMGHT_(Wv6RdBW;l5NRWewLaDGc zu7xWX3q;^u@@(8TPi#0`u4apqK*olescf!}8N3||#l8Z>W|?|np^(ET5RJHDjvPN- za9QTKQWsZaJGK_l)CR>1*R-(f+2y-IC}VRb{_0ofcrILl zQVWqprMkAf8&=L*WgkPa9JG0>5r+Mi#{^P)$_wD1K|HE^)Zbx}O&~W}wfYQi>4aGiF@e2NB2BE_dM_;|4X|&0$=JUoCNdPQT)B3-SHk0DHFG^81rrvY(PKAHp)+4*a-jGhrFFBQDm`!ILZB4#fFwmF1&M-cQfu$mGmJlc&P7 z{9ExJ;CcbL>-AqpulGw<|8L{j-kW~oyQtqqm_V8{y50Cge+&nC(f?fy-=O|!#XGIx zI~4C8rSb0+?#_ceqVPA=|GdWY>_@zsTh#x575+bK_`g;E4>jGF)#q(MOqbX2pQ!)O zH9ex<^%Ic7IR7*~%=%qDw55DtLRvlJ1lmjjzIJ@hGj^SS^a+?KZ5sqhm zJ^{zV^6bxVz&#K565RLTUWI!N?k8|>!EHpvY=aBn-tW)N<{q4yZPh1XcwIZsuKeWI zk3z&ZVjS@H+X?wAzh9y2B`)LdMtqONSPU0GGs80-Ke?4>l5aG)0ZMUn+nVmQZoo+} zpSRyu9J_@Z`H;@Nj!t(BM>dg@7a!*visOInKpgVx=zJ@VgU=(3xfk&t*L=RM@$p^3 zlu8`$`IdNDsuIQ(5xo~29zKEa5#0vi4F&|`MCJirg+(w zFKyl7T#4c6a=LtJ=+nZ$BF2xFEXGfl*$~IUo(~|r4<6RVO7C!jUD+11?YFm@Z5MGC zvEfuVfE$40{ao(hqz~8l#U2;U`@jO*t%mVk=z(9xC0l&Jag~FxsyjvgLGPV0*Pr*11fCfjP87a6nrGE+ z+}HEBPyO3hkN@FsZ~Ds1_a%Rq%UkJVh0?{NIO@ivOWCD-&7^D9TzV0QvE-|B#d7YV z1uPVb`C2-+|11_-!^SlqHm(b{adGp^ifvrc>tIc`8P?9`*tqa%i!?6D=Dns`c<-1c z)8&<@$-Q^{`mK-F4woKD>-&*4eKK3&IwdaOLXXRy%Jrp2rOQ5x7w}u9xhEyAN(3-2HI- z;XVO(0B#KKAlw6R<8X)I4#Q2rO~M_4n}T}~j@t3-aAmj(+~?sq7^}k7;jTZw{1RA2 Q5!ZhCi+R0-Z6xsj0h5_$+5i9m delta 64 zcmcbynB|PQp-Y65bJ2@__CDO$Ohto NiKg<53>!nMr2)ig5q|&x diff --git a/Shaders/CablePS_Deferred.cso b/Shaders/CablePS_Deferred.cso index c1c91aea19686eccd4440b183663b0f9b39c7bc5..8cbf15d32a8c992ca20bb0fc612d91e69225df7a 100644 GIT binary patch literal 55824 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 IpD79aKU4w+N&o-= delta 65 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 E0m`~w5dZ)H delta 68 zcmbO-lcU4e)Fr~n*}t!7nuJqd%!kXfl0EaU88I?2Fm$LfFt7n>3m{&>1EhHw7?$uc UF#J(vVBnc(DbL8TG16EK0K2ad8~^|S diff --git a/Shaders/CloudsPS.cso b/Shaders/CloudsPS.cso index 66e1549ca965f0492edd96c4145bbc9ee1faa8f2..d526e131fbedc61a8b41478f2e3941546638b15c 100644 GIT binary patch literal 47328 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 diff --git a/Shaders/DirLightPS.cso b/Shaders/DirLightPS.cso index 1eb278287a182eb350ce367500d144687149e323..006452e0735051060842f2e87b1ed7009c7a6fa1 100644 GIT binary patch literal 84808 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 V{y^D$MfSh`WMp?fm(xn%{{U_zyRiTO delta 65 zcmX@HnrqK~CPSA9C+8kR=4tB^bxoQ++-K6gnedvCfq`Mqd&Gl2LF Q5IamXm1ktw7@9pF0J>cgUH||9 diff --git a/Shaders/DirLightVS.cso b/Shaders/DirLightVS.cso index 90659d2fc7dbb50c3399be34258070e8cb24a58d..13c5d07b6d29fbc5b5f1552827f13b362d472a83 100644 GIT binary patch literal 27120 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 QERb0svp{Bnd)xy53n*j$dH?_b delta 76 zcmexxnehp`p-Y65^W4u5#alBcO#Y>NSwP~!g++`E3=B`085mfBvt0nT8#Pewm4mUg5R`J-xeXO^FPS^uul`HA=oF{$RD3LIh2h4EQAQm+bC*9GuA6 zop8&7;wL9XF2tp!KOXnmC%+7ycEQ$`WmDS%dxJbOZZCV>ghBr^vNm@njp&1Vv+ zR4n>fHb-SRfIip-e1+G5UPZ$H4d8*lFerrZ$a(-V>X99LIPgYe6JnSNJmSYP`h+ak zCM*kKV|zfan>O|+!_lqffvbtMapm~|i)+b`(x=bFvlmalWxv~2?L7aCuEVmGYt2v3 z99k*T>LGoIJg`uA6W9lqY`ZqK&)jd8tCVEyie0ZgAB$dzMWxLjPTr^3Dam!9o_}sF zt(sHFmL0cPb-lf$GoDM#RvhdQOM`{F!{Tb$ntQr1WtZynR@HS1Gi7(SexXpZr>slG z%A8dTunEW8bUKA8)n7rtnL1)HKO2)UHV=PxLi?aL|vO z+U7N4=>s?aH@~|172{_wlRTNh!ek&;XPdG5q>9xU#OhzDSbd94s088vG5&}5?91w= z{2$!2yFN=9ia|LUx!w|g8QNG1Qg%ixM{xKf;PBy~A0yvi4AGnOk0&bfhe zDNiy~b!)#C#$|8x`z78*W|lV*AghQ+H)EYKj%!0+_w*BTw5tWO4)Ip0zUJCwhm3a_ z{^^HmN42iytw{fCIsKsJ?E!gvK)y8~-x`p|19F(xY^OUQ?+(a$?4bKK1M=Mg`QCus z49NLhX*>4@=se*L+0}Cl*VK!PT5ZWU%S&3$$GKg}`zb#vE!$%~dheiDf3ifGfqvsW zjr3M~O2$3LPEqSS*54zWSX&~HYv_~a$__Rg+j(CxK15|_59{+D>Xi04pNU@Zt)QLK z>y@=cj=h9CZi%{WzApK8kC%w2hxVdgTvB?`fZi5gPuuda(%}5lXM`;)=3hy}|BdK@ z?4c}=$eXctwK1Bv!t!dxq3j{{0MC0K>qsu~y&OlZ^Ok|&4+F{f_!Q)>!My7h?o$Kn z8@_(&eKPr8b<6b<@0AcXh6lFGlivPo5yLV3ZP^|<)762sK%4hzfcii{C%!mpmTyJ* zX0M#*#f?TY5k`d&9vTn$OTJa@)$fK?3q#?C@BrudQb*d$`^BXDkDbyzw+)eC6r(eN z%qyG+YS;nh$NIvjTqh8&0?i+)BRAL~6+gGba_WBl#2@glz)S2@?JBna^7Pw@rS;p2 z_=k~(ADL92?SA_l3tJ`S-cR**Z_?U2Z|>QvjnF*tb!=;ecOeG<>rA}I6saU@@K?uR+ZXHmx3kOwj^ z!+iq3Dene$0y}`58_p5uWDAgMN6s6+3unKa#~%T=14Fn!9$-8VA@o4#fzSh?2SN{o J9(c4o@E<-b0$uoE<*aIk71H=*& NP30LGHikMg0RYaZ5$XT{ diff --git a/Shaders/DistantLightsVS.cso b/Shaders/DistantLightsVS.cso index 3c51c1e4686d8b4e869e60ae814dfda9063f898c..91be6462ffc28ddacc83d1535d2bf958833a3539 100644 GIT binary patch literal 30064 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 literal 32948 zcmeI5U5H)Rb;r-#vGo~Q%9Ms=XzR<=wCN-mTZGhAKXhkwHTDqM5}L8FA*C5vckBtH znc>b%t@Mkl!36Ts_92+|Ef1j-lm`>?&Loq27nnF;Lhe98U3QpP=_y5~x z{mK==F@?7yD-y-WIGQ+!G?!u=qK>CLVe3y+YSt7T~+O z1`iMLZt&*yL%r&FuE8DC>pvRslNtWM8}N^0_yaI%XqG?KfVX^5{lV7GYs-UcMSpE| zb$5Hf@P*Cc)s=NdOIw3icGp*ij4v#mTYL4jol7gjZI2f>w#(}qH_+p#_${mdUZxN7 z9|JC>w=(!=Q9{kIH!xc5%j$vk^n&Co0e?&VTe?1>7wzqUe_Q=cUE>qlcLVc6S$ zI{Zh1|9u1epa{R+0G}589~zW0_^jan9B}lvKA#qxSW%bk>N8M#c75~m%6jtb zc9FXN+OW8BW1^T;jD#_wOQ`3rfVxp69IID0Pdl@@zPT%ka&8C^iSct+F9%72ys)yf zJ6u^8^u?``W(?_XzP?ey=7u|Kt81^U?IYX=OtfnmCe_|7sbzr@7R|Y2OC!g!{;}z42tn^QLt-q zy|i+5Yke?0v$;9EQhI3l3tNL?ar@l)eo-RNZ0>IC#Q6E$^_`|Q`zi*h;Uk$?d?T*E zsUDa$cAUH;I6kb?|Eu8SB3;x-R-uq=$@Xs~S|DoXP8NKZ#6=}uScGfmG@OORx zfM49$8ElB;3k6rP6&Nn8tgmmbt|qXy-{6(RCBvM(wzau2(4qocUfFn6j&RgigEb>uVdYURYn*7?fGKWRii; zudZ$nc8cfMUKws~Z?5iiKYsC7y3d_kI@cwr2gB}}&8u5$iqP)UPd)i`vAFc?3-}$M zAJXd?y=X+dwoz)wHR#8f4mkMZO6W_Me&@pZrN!mN^Dh+3XJ0yV{`|#0{yi_gpA0(q zcJ*?r_zIx;%X1f>J-e()OV9N$e(hRO%nAO9Unq*tA1WqZR%k8!aW_rnobWaJ>KHCw z>MHcMi2R~>@x}2q`1~4~`8Dy%^%c!Od7_+;O_xs;lV8_07Fc#!=Afvq{MyXkM`4iRQ#ETeDm^r>3MK3aI?{aL;uHRyJ40M+&q9W7g)(} zbo#?#>!e@{kA**C?N}@D=-Y%RM!=(M6aH}Ek=cYlBD~h&i1D4C0LAEZ{yG(N72^ko z8WRKW9uIzj{{y>9ZQK%y%B2cLzQ@BTC4ALb$#ny&0aKgOp< zB_E~RVxm{(PwACn1=w^AFVJc5w=^I80ry`j`LMpiA2I$f4wiJCo)BfbsV=>2qf%wD zu-8pCGM|_E+74_aep$aaA2}hs`r!TZ84eq0#4fbVn~5>JlC0?M8(_o}^wQ}FekTs3 zQ_|&L`rrfffxfN}IP{>mUUhwv9O*-EeHdFGVgz5J+a<+v^7-M?4sy-rSBn6nqpX$B~uz zL@alDVp0_R^{ePGDn@@Zextmm=PWAzQ~c#s-?39ynI>h!HFKI5xKL&*RwfK zZT$J$%>Ct${Mm2jblB5G|Hh|Y{_FQc_tj(HN~dkHf~z22J?sCjGx0U+ifQ zR=&X2xzJnV(q@@%Um0dz@Hfsf?GMvBA0#_R9epalk zr{$1`&n+rt@*H%nRVjDV}fJeXiLD zu7lt`(bFHDHJW?yw&lgW2=kDmIRB7wzF+F}gs3&&!%T^-WE}FGPOnC&OXB(`LFY4X zoFhtI*vs>>ANXwatflGj?fcOeyD!JQPEV6+4ZCOLYxZ6)i+JOj`v=SQI>Dk`r}Ewj zJ<(@D>qC3<56T`I;J+3z%i3WJFwgh>2{`i~fgy%jP zJhnIC^LiM3r>8#+^)NX07jaJfJ5C+%+5<8$se># ztb6H$eDraxmFvS8J?O1hU7sXJ`p{b+#@2@zxfQxm55r6KW3mHXjibf{M?H)^u7~Y| zDe-WfntUkV8Haz2gNOZ!J|_dW5WVlEpvN|PbftGZAI*5c3pv&m{^$zKvEh1{dAWbA zhx@+t@mkjXlWY(Fkl*2Neb9}4LvLQ>%G;90yeif-Kdpy)XzMiavzmbzpNj`YzGw|FCu~v*7Gfi~zQ?*CEM;x!rRZI0SW5=LmS9=V&_f0O# zw7E`C#(4~#^R???bi@|ZB;Q0%cRifb?1gRS<9gUMij!0iCq5C&9m!DRuU|!n(Ov3c zd}^OKUvfW%Z1Xh@*WK_X>+AJ#zQZ>A0zCBq>yv2J!^d-=RZI0Sc=>QQnW{RWW?|L}bU+PwT%}484?dM4m zsHJ*1`0m4b&5`3A9`+@htbfrR$ARSB5x>Mg_F3Pi_@58IdOkFzkIVSKV}9@>Uhcq! zf9mmXI_r&3kVDP~XWOhN*W_yB>T6>COyha%5%bPzyibvDS?-g)(qkrYrkU0?Ym?W* zmO~ywCwOoMpr`kzK$Q-hkKmlgpkcq#_q7L&LuY7w2Ih3+L~wWG1x~G!V_xoAr(x)a zZ0N-^#R_BV1AqLK!;C{$ft0W?nRh~9L0I6hr#)NsngR%t@$2iN-mX*R1Y(!)6<_?tJlL1f=(jtsOhZ}IQAI1 zVOBl9nvQF9!6)-^O*}y7+ST#GJm9Qj$}!@}9%9V88;3322N;Gg{!VyWr>8%)#{Ceo z(W$!E$!c8qwl!{BYlA#+4s9bJ^FfP4JEHvD+H=?zM1R zwwGUL|GWTJranYr%aoZZVt#Qlu4qeB#pX0Wl<5K&uFH|8uG@s*=ukTmm zn&w_LE;Mb8Th_L1jeBBrUGYGjKhe`~P_yqfQ=9O9ebgxX=-L{$t#QdQ>HQ(~u2Hyl z{mPjA)z-MM&4>a$CV>$?Sp*YtEmsH#$`<& zmKqmb+8Vd5aoZZVt#OF~f4{h|@1D%W{R{WFoH3j&yaxcC-vekr$CWemxhmhs!7r|h z|F1sBC12mK#x>2oYFudA8n>-+n`+m##vOmpmd};QeffUo{UNpXyUJ0UCI84z zt#QY{i%Z}C&Fa{;#%24Af4fWEaBez&I7jPsY+K{vvvK<%wd+sfb6mco{jk)y=+f4> zZH-G_@$U`V?<$XLxc2wB<>xqUjT_(ljqmgOH$Lnewg0yomwbJ{8rL-Us&S!dYuvWR zZEM`}y*&Kj&l}m#>>bx`sjqz>8S;72B>&ZL?RS;i&v9MHw!g=1e~nY_{=H3yO7to|F_SaLKoM#@Iw!tPsR7!X*F4Q{Xav*Grv<#&$fEN&sFAo zfQfI7KhL*$OfECN(-WZfTxI;pT=MZd;Xj_Y28{Xzy>+j5bSPM|A$zW}>HL|ENJUld z*`$v@(}|wvUHUw*+;04q4|>19%V#L~7kSbvJsTAK^r$>zj29?9R~g-a@x9O_cW-OD|@QvK(gi)-|U%F*nuo~ra8jFn`h@3=NKU_p~W}g zpyPc^&!e|*7()+@{GN0t2JPd!=`#~D{0uC=Pl`UqO$Uwjs_T>FNH2Qp!`S)|Blwy# z+Wc*Ybp`iJiW~ILd{aFWvo6!T=q;1EmT7v^*?07&2M0a9;yw8|?oE>(##w*%MXo>d ztUr9wADH7sv`K&FS)W`F^Xf-@gR}mY3CzzCG`(@?3Xa}5?tyMg8uP07)Ba9tq#oLw zhWRP>g-dazp1G!BFID?BaDFBr&sKGecn`u08<DA$HYUBSuL~OEuk}tw1tQ*%ntJD6lzxZA}tt(&dh5x-i z*osc93BF(r7)!>OHe`7Yc(sIQzUCx<126qMe%357^K{Q1sr0DnLtZiuog{-6> z&zA&e{WUH9e}%5}!uR;o`kDsbj;FMKwRi%rmj0&<`004oGGpsRu9y%0oZ;YXkLO$$ z%ya6`T1IDZ_@as4-(S8ToqwZ?t;CacF<ma`+TJphsjJ+1bsPQ~&c`xvuD|E%zbedc3=SdN$rF#)=Wx~ zUe>?pmU+c%VB5XUj(_w$B^^^gD(?p-&>-S0=@9V`jpvh-v2EY{xOTkk!v*iA_=nDV zTNn7-Hp6Tqx!O4U)i~=14Y7kQ@TNDPoCX_AlgEbV2v^;UFdrIl^xS)+r{#c$7rM|l zodM>neOmeNi<9O3xch#@P3}MByd%E&?|^bHeU%d%csVDEtde8<-Lp=&#FNH*@ig&F zv50KTL04=u4h|pESSvqknKh>wr(ueb92RR^ z{qLb1hki7#8Do6m^{?Yh56}EJy3k<{&1W?{#P?9OMsaWF|6Kx}oHC4gUhC>!L%Evf zywBKis=4X+t-yTV`d&wIo}RS~j(FfK==Aib);w=YY^n8bhaR0?jZl}w^@FAp+kL;$ zMJhT?GKh5~K4xP*SYxiyCH7f5_aHWoTu3{n7xzHKA+7XVxlg%1rgPtG$r}0p|62aL zf6|34@%b%HUs|49-qH0rZ36y3FbzGwFNM15Kd#p=>h+XfcWd1m;*73UAE#KWq4r(= E4`0rFUH||9 diff --git a/Shaders/LightVS.cso b/Shaders/LightVS.cso index c8d42a638ba9c21e12078975e043b73255038daa..b6e8e0624993094b26bad9252a0d4bb3fa19c7dd 100644 GIT binary patch literal 30672 zcmeHQYiwM{b)F?@&f4FD@q(uOwtq~Lm8U%=g7DZtMfr|#MTO@y4H|USFiB;Dv zkizQs&ExJYmy#7f+DO{5M|0<#Gv_tWJ9lO|diub~^XFdpmM?!RnH*UA?71I*{+kgY z#H$NJ+=_G%@$?!YUP4@Vix5ZG3-Q;8Cq@sBZ3V0Y_&Orfdl1E%w=YM);NLrim}GvH zK>m!gSHTf~YT{^qX103Ds|5D>NHNfP@}_=YM|>R72J*Ze@kKBwTOiUwGDH|gq^_eT ze-bHSJ%|jC8+aM%IPx%2g$oA$EYg#!z@G>F^eXV*1Dv|9aXB2~sBf-(*qhj2fPVk?k_$duV*nr5# z|FL=04PjQ|J;*ckBc&gRW3coO0nWN5Jy}@#5x^z#EBQYPct7AP`TKw;R-vx|zGoHs zF91Hg3jOndA2sx@K7R-}>ujYy-vZp$0qJdBz6|)|h8{_1@81JnKz^nEY<#Gdd^KMx zvfgyvfY=1$j})tZ5hRPMepq)-{Qy5wDwJv!LDDg=P$=bc>UlI@@w1ArgE?3)mx_L| zswhr+#Th)GR+$mNj}(i3Wq)y|;Jf%UA^v!+>f%Sda!@Py2kX$!aAYf@xRF|+kT1@R z7rdhXNU1XC6z$ni(S#Hn-C(JN;CBctNt@hk9U zxsWfOM-goxoOp;MyO8zCgQrK1A3p)E7cWj69zC%K6+R5gjUYaQ>K}VfqJ(Y-Hcvhr zcg{iFr5^ScA!a~wN$O|fed3VkGsdG1wxb8(hLjm)I)(vQ5sm@B8F-dqO26%1mMYKk z@ZZ`4rhJ#h8~G_A)>jN}Y_rzmR^-WRtV8GV@7kv^8bQ^ZC>*M)p$;U%=k3ZyG&mC&Sn? z8qc~OTc`CVot5)PUCn&x-?2^&!(-?hYlpGxyRI(Qx2~>`ahvtswq?2eIWVK%m@0+! zC-%Zsu@-x#|Hv-1Y?_jTt(&71k5!By^+wENgY9ULC_)N79g< z0X$TF6K2bkH_N(p%KEUnu$-lJX{fuUQM#Er26;=pTfNB(eI#s$kzqoX_ib|e#n|np z4o$x#1@YUBe^=ruoA?7)z|&UZS$|5;75r%fb+Ub%{7GkFwhYs~aN)$s{U@tjG&bV#ngjWe$2*0I@zDdKD4Y>`BtEiZhdeehCLf9=65UN8msmrE z5C(M8{`Us(z{{80;b!&#<`{%_E4W$P0Oxm!$oDA*`hh9eti-j$jqQPJSu5Pw9=N%! z``uVFQutEF=hE(#7k*>yAK&rZCq8%K#J(T?+xPO;GpnsbfAnbDtOhMrJG~w~pf?U5 z?(UKZwS2KE!yUtiWjvl3nzlPlUZGzmhsH~w>6fXYiE;^PX2|RlISkacA`907KUXWr zQbiU^)qM^Hw;WxO+XuAo|}Wvl3l=g_LkwQ6&(%SiM%^h;-p z)NOJZIgzdSei0OQvU81J_ONkmSN| zj8RO_T$}{>sjJn#)-M(=jUGFlj~e>x1xVD4)ZGETchr*01=G z!&&?Zo$%2JqNcI>;*#u>n!m9g=8?)T1ioC!Jq7Lo=6D&+;^R>(Yvly#RlI4MLcKU` zwah-`Z>HC(wmRx)6Tq8_MQ^X%Vd$cXeu@7T)dDommI6y-)OL7g4NuKA zGupbqtZ2?CY_k`%m8R#QU9r*3)e5FBMO7{AP<|XYUre#u?ClSSe5-h)E0)xhWTfa! z3}wNW?3>|cCTc=e{A#UIlpz~*hMRCXV5WHeRrXM!H02f43&1$KWb(`Jk*$10Lf!zR|8YJfgUX_ z6jveGU#aGE`E35mESe|`7rS85%a(XNhxeIUvFv5f;~O|eCw`v~q+iW;cX8#Bk&h{4 zral-|E0Oue@Nb%&B8$$;y?bRU(=XLS@Kc0 z{2&jNYX{WJY7iSKK#zW%DCbBI3hG{U%qw~`c%xNto_p{r`JhznKj9Z~5@IZ0^a|r% z5Ws=(l&PXQuO4M3C1o7Gjny$FvJ&lo9KJ(Z;yKRaAO)r?mO{C{D5nIV7JGYb^}kaI zhg=KNVle;1dAhIX;BBltAR(4uf5+(QS1KN>Ccr5dxl{QlkcHCBl3b|ds~88Ak1O7c zspNc7j!!6Gx3V7rb8t?Q^{*!ra}wuF;Mn{UUgJweJ(ytPbQBt6kz_0phr}qf>l=X& zlD!X0X{p)zlsZFlrf|;AF0lno3Bq{XYOh*Z4yw-K%nQ0UUW*!B3=hg#g->ta*oYZ& zDA1)?Vy8^?sq#CaTc3+u2n%TkJ5pGA#vGTqX(3GDN%WXw zCAv}f*|b_=_1neSd=_giGm0#Lbl%T~`4aq7$)k&^IYD=H>z6`RR+4O=l?4ASL{S$i zfK1mfW_gko5fxCI(^HR~by`c3gJO}L+I2RWZYg=( z=-AA`o1T^x$W)RSDRvj7E|9+t@%TA(@WM0>GcEcRw2pJ3E*O6NiP?M(uf3#=$CV|D z+XXVcKyx3Ar3TZ(Ua9w>C3Jc2-cc>UfP<-5H)XWl?!AbvBt&KA`87 zG+0Na5Xf84!xLGrfW5PnH2}+Ptfmzm*%a~0qf0F=)h*2&<(TSH3`rS!e;&1rm0?I+ zn$N2GH$)V#sh1X@5UCy3sy31_xMJtkTZ<|NJ_)*!hEZz0Sw%|&eh5k^WocqZsA+z{ zkq8_SR9&3i1qT8e+M*2)3AHV#w6lYn(8_2oq4dzKQL(ydpG~r9Yl-L_ju5(_BT=VCJ~RY&~gUe7OSD88wX~ z^|8idUfC{iigWX3JjBujM;D7e>)KHBbu-N1=poiG1~ZkfdV0Xr^;%&CffvmRyt#70 zH{AyFz~&mHq>LVbxCupC2?rVN@u|5oxN)iAsKohS&3}*plo^)|K@f1v zQY09p4LijwC5vbzN;e2cm83A2V;&9zxnX2rm((2rx>{x&@bOK+jQs8sMKRz_PRnHm z{ol?KO^+e5)235$O6#SRx}vQ{O*2NL{p%j7`>^iyX3#ROgM(ph@YzaLEtHb5cDhuJ z!U-4`>uS+tY77>GvI%M35|2-pQ_3fLXj$UWqFl7N$WfS&C<|l3o*7#(R96j&KBcgT^2NXEP)~)L; zuwj>FTQ+PsK2&wE2JGOc2@d4gD!WnIN}yC9_DYH$xe z+u#vS0)WGIlmz)wpW?!umh?baNv7w3O4&jeD@_W~oupIU!;VYJMb)(86Ec7ejfQP} zWF|c|m4p+cmZW9~NU2%}vgau==y|I@QHQXTUK6QR*wjZgz3MP}zzgzO_1ce@I`d+R zH9g+V^n0@zCo|HUn`(l{GT!N`jgixciH3Bs%FGnnkHd?QK3&Y}V%i-x4DwjeD?RMu zcRHWT8R@D?!e5FyBWvX*O)_Xs3s^SsHQyHS=1R4qqn#O3a;AAN;r)65%HdyV!WL*0 zsg>uw0*I^#rE;KlHL5;W&O4`awl$j~6s`+3)Mzf&C}NyM)B2)X)()jT81(jOrHw*p zwR-!@_@h^Sn&JFt3wN6M z;`>CCo3e0G=oN}w;gcK*vaV}oQEv^6f*4<&$GmJ6Z}564)Vx{cg?m6NX+w!zKh0Q? zS=l!vo13w#drUQ|a8Ikh$*>TK1~_6GP$4uX%YEDCrioWB4s0OKv_Mv*vjDTNuGgO4guAxypUH3k?CqbagFL?m zo+G;_9}BRPGg-|0=XXwyma;YOgang^u>Dq>njFE7$S1wRdB5U3#`G>%FsZu2sR{K3 zS%~cJN%X{!*L28hM)TtC%7W(Ac#H+=c2F>>#`XC?^LlS;x!<+lqgGkx6S=rCzMS9v zPl?DkQ1y59ekc3oHUAj-We;`nZUFBbu$=vVg1bo~ib&o|`@Z|-?zI}vJ9xyo;h&MQ zv|oAZ;?Q5*DZ~qak(Ri2_+UN2x;r5DZ0cbJM!Hasmu~&^X`5c_{XO1s8QK)#*^#k= zHxr0NJt>$w=~ZTM4{$y>mpPYEkb}i)Wl``ux-zU!^x#U35X0uM@$2S5DpOwNI!(32 zR}_7p*t?16jn)gkx2xh;{O3brd{ac7U|wT*XwDYS`?H$&>z(w0g|BnqykltL8yxrs zz^O|OX++?IKhmoO&4UhZ$mFr9-QckX56_4_v=1Lc)E7yt)@nZP2VFIgX9w)-S;5o7 z?{whkQpyg}Z*|~X9r!&CoOgFEA6I88WZ|p%kNj8jAK|O{?^f8pPVmz&IbS(!gRS~B z`Wo>j+!zthMD~bvbf~a6>f_>Arxr(@T%4^}%QJyNEFxZ1N7-l};pAuG)_;VPmxWvZ zSw7!adzMO zz2e8oPd)$Duj0oAUQqBS|MI7=efz(D`)^;V{^IE;?l?0m#3jJDLIwlxee*ss!!Y6o zz)vI12(fHZ^}7ko*EL-6WuE+zia#^-CRJ?!clDNE1DtpE-qh)`NmUObo;`{9`*pf( zQZa1uCKb~rZ&K9`aJO;!X~2<+ujzEzq~iM~Z&K9<9|k@9B2v+VI*lW5Qq`}BXa6Fe zb&h)}%O({UOx~p8YbI|})t?4I&whne{5R4egio0_sTeeQlZr{?_feis#RZc$ zsrVg}H>r5Z2=Ht_NX7j+T{fv0G%54C$oU0SlS-h+&hSMY;#|up8+|0hcPj9yPEY zx6$L`uu6Nx5tGhfop(2WGh-V@!z=waEbc{*xCJuqfV_83H-n}%z6BqdE}_t$E%P>ZtVu!LU)b zo>4s48lL2jp8)`O(ZOfV#gxTo{uF?P4}*n;Z*btW)xvo#ob&+w$_Kapbsf=%&Gr8) zZ$w+cckO}p$?5jVX&iiRpPX)=oW}Q(cYkuaeU4bKf%HMIw(ar+!G zjxM&(5$m(r?Q_I9TdR*Tx6cu`&kooNhy#5dxqXh<*@kOu$l=!? zZo^lU7ZB~)Lwv(i=M`goSP}N%Vr`Z*D6Pd%a`p>?@`0;z~83uZ1)<^U%6-o&j<$_|;$$5>HtEo*KeI%E*HM5OR}8FK&J9;2Xd|wB53r6G)+g1ypWDTq&utWU zp66dJ;Tl*X_9K2B(S{G<;lnm#Qak(c{IXoJR_wqDx>0ktV;TqaxD0q{ejAVKsh}=) z6!FV}$nE@g?2W7Q>M(2Wi0XA@K$+{z+Jd$a#x$ZNX~ZW0dvABhny$9JH&#v8(S)$~ z@08uvcxwa=xqP|X3^9Br=6wxU`~B}9KvMi@zIgsfF;^1tB7Rgk5b>arjnDf0BVJR5 zQue$C=`U^v3bz`zQmO@KIrg@IuW5VHUU dJSLjTb20!`ykllyh?!i-DL!!m$Hp2TP5`B!6es`y diff --git a/Shaders/LodLightsPS.cso b/Shaders/LodLightsPS.cso index 220072dd52fbc7ebbf552b9dc7cfffd59c6eae33..369bd7271fb8ab126c9d38bb31af38278e3df246 100644 GIT binary patch literal 77164 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 B36KB) delta 69 zcmaEJi{*iynM;I|^C|5c^Sc=ozJ8p$Uw8M_ZWBfZ28IN21_m}DZ2`nGK*kIpJ_E#8 T#26T!h)uMTV`SJE$t?~5Ih_+n diff --git a/Shaders/LodLightsPS_MS.cso b/Shaders/LodLightsPS_MS.cso index 7231982b6645e5e1bb441feb78dda847b384400f..96fd048e5c38a1157847f0c05534183ff0d6caf6 100644 GIT binary patch literal 146796 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
  1. 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 TJPZs|j3=7OF*0ln-ERy4f~pYX diff --git a/Shaders/TerrainPS_Deferred.cso b/Shaders/TerrainPS_Deferred.cso index b007a86f5d93c897d0c942220cf252d231c23ccb..58d7b1a201d2911e628d5d780406f73f2f9115ce 100644 GIT binary patch literal 88672 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 delta 65 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 T_!;=q@UEM6BkkXBI|=+h0?rop delta 65 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 UxHE94;oN7|4YYs1<0SC^0Uf|7?EnA( delta 80 zcmccei1~z?kxPV=^E9*1t8eYyC^P-bYoiNU+A)j_3=AH^3=FJ5+60Jm*cljfI2aga ga56BQ5t?Ww$H@Rx!Uh!mGdWONeBuR;jWrj901xOEa{vGU diff --git a/Shaders/TerrainVS_PNCCTTTX.cso b/Shaders/TerrainVS_PNCCTTTX.cso index 2ad21bca67afcb6845f1a69884c51bf310bfb583..ba3826d6c8991938e8f2aefe8520bec6e93b11f8 100644 GIT binary patch literal 64400 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 diff --git a/Shaders/TerrainVS_PNCCTTX.cso b/Shaders/TerrainVS_PNCCTTX.cso index 77641ede1c2df473db4c09f45f590bb9321dbfe5..893bc0b0be9397286b740a3c098262f58dfff126 100644 GIT binary patch literal 64376 zcmeHw50G5NnP1PY5R%Y>5MVHt;Tg-^>}s_;`$s|u30B(GBH1fx(XM1+#x7=*RNmq$l;yC4=nr57oYt8#k=1B zm!IAF*$@BeOhPHO@N1=(BisUCx=^X{6-s?$rBc7R9PulZIxw689KrCRnUCe&oEP#I6>{Yu4GhbAU6e!)MKE(dC2CY>$L&!$T{ zc4%T(p^~edl*ry<*3ZlDTm9m!{>eIBhBCg5@OzH%C<~Um8p0YvXdUZ_rctRHIO|6I zEE;jhA|qs-Scm%oU*o_Zl(Gn;j2@NvQwRwg68JX+{w%`r2JpWD{6WB(htAUZUw}VG z0GWb&N$8N7#|RVn8Zrmx5l%(~o)Y*F;m9jdH7-AnA$+_6ya4zU4d8bJ&bmqVkj|$8 zc-nzKA_z|){7M7(*8u-&1NdJ8PFYEIW$FA^0G??8{}JHdYyf`|@NYMO{|a!n0RrtT z{o(YiR=@FL0MWI>TMVUa+M%33ubzDJ$#$eKbJE9h$7d=!QU4mrm60XLq_h71>FL0) z1juA*+V&NMi43%ViS!Y_RGC>KeYjXHRLB#xFJT)UH52-WazQnnSL4H@W5r@=qLMCG zY-Cpk$%8Iu_mocv9d9LijC!cQ=5K0G{i2 zCU@++b=SU0_2hokFAKsPzgfQ_DTD#((Sa>BW(&t}!Wq2~876Arx_(F_+$Is9o^%K& z4jo~vAK|xKWP$7Ypfod@!4*cKJ(HM&bnGS^U@KHDN_h% zUOK{8!CQRhr6c?zcrAxRN6#YiC!d_yJ#rw03`3~Vvta&qRDbmIo~|FuwQ>B^aErOrwlGM({COB&7~tg)AlW``|&Pjv}qR#>DM!=Hc&G0B0HYH)->CKj5To ze^Y)IhcY`3wqEfJP15pN2IBTN(@2+a{w7`fn{@fRAMgw0_kVDH6V5U$KHI|nru^-1 z%FX^}8}WA;dD$*AP>~A|dT8#o%J6yhqNjNxUx^_jx6M$iGSbQS=vsqE*nI*co>Ggq zTnain0b}0Liv=I;$9mB*o#ix2CvB!**Cd^JZh-pz226!ZW@&Ko864RN-4Q*Q! zX6?uI(l;%xrOz?PmRV~*Y#m~{xJ>#$o3S6vZ)uS)ORLs?SXwr{Z3xI>HzW+}VcVJr z7T<=pt(nHQrej-M`k}1EK6}z{iMMLe(_=S(Cx(n1uT{(1EgjmWwV+A4b;9pI#tu3Ft*tX&C zpF#)etS&-NSFzog_OR%cGtTMpFra!=rXNuzl&hB2H72w$;*A2vkg$H> zQ6{4@ha=3+ua=`(>8>EHI8{Wj&P2(6?7;=!pZ`(dTQ~=b7Bbp;4B{7 z)7mZz>h6MotG*<;=? z1xF_RaygwV9GW;fzHfMVa`JG`Og_jfmDzfv>QK#wRF4~~8Bm=!RHL6gfqril9H|(p zbHUM4A(N?877W$%#HuEiJ6|jcwR7Vw+^cb3c%vBg&W|R%eG4yF#$ISw)lVkW@q6$d z_&W);?y@$u;ZGB4*Kwu(wyRBDe?qBibM5NyUuskL{@aB5mtSsI)4ys{JJu)EzyIIu zs_Q4nd#YXi)1Lxou}yvA?-2hN3Dy69uqOeV8~$c_yUKnoq5kAA+SPNF6_QWQ?Bb+)v+q5l&hJF zhc3Nm-}u4Fj#YPetn%Qd^Tl*!(8K1A9ACYATRr=d@FoXgz}ttn?dd!+Z1v3hS~qzR zFQxOvYB{CT^^4q8qx8Ngz0XbW_pl`*Q^b~w6zJPmz%ddLN}q!gqcZ4CrVGbm<#Z|X z{usr40={DvYQF#AB&zPs!n7r=AiP|mRIPM|@`%ui)e2HvHV3?7sTg?MJ-yE=+$)gO zBzmj}dlpWf>U6UWdKr^#B2&h;kSHIi#V`lFsRHDT5{$SbR8xe3)@H$Ok>gFXh)66` zPMZ#T6^LrPG#&RLNJXSAd!{;X@_KtSx@Elz(y zxwUF{dR?_-&?+^QsEZ&1^%TC!K6XVGJR=RjKGDI2+?I<;AhQ2q7Yprwly+M+jd@rB zranw$Z^%qlr>C)}$k}QNGh6nLV>6mxPEMsF3u*e*!k}k2p_vAWDC`Qiq{c|}*OKr| z*OE4tfymhgCJ9w)gR>*71{~T*+cPyjRYTO|eChib(3mxz#xYw`-r5|zVSyZiX zb8W0v1GTk+U_zE^N!UHPF$#kb1Tv30fE>gkCC_mFDgl&V^>00qQ-!dD`UA#bsMx#8M=s@jUN1!>3gpu9~umT|Lb~3g@)7!q? z>+AGx@n);}q+vA4+}(h7M_r|pGZZkxq_`LYLsb*+igi^fcFG`t{@h(jVt0Fv6|rNB zj3LJ6=)yL5%t>)}tTK#&dVGc^CFqG-ZRatiN{!46rq328PmL z>1ohtwU9{~P&l><*MvHZ+FltN8Y9>N46T?x*0&3xOE-+p*zF0Og@MkHbSE2y1mdk? zC#p}=IqZp=fIk)#O zCSV6N6I^F3=rNsO%%Ah~$*>P}o4I0tva$e;6gvy$4Cf_K5R#J$n0bjdvatd9cN~ev zc=-d49hUt2?5j0KKLNUow1I@aB()aY^mEoSl zrj)0@E0B^Lu=&8jfxDkN)PwQSgUhWK|GXhrSRygK5KqK+5OF~LHxaRPw;uRDB9;d2 zGT%xxh8~WAjixx?P*4Z@Q>m0!EPFxG4xAj{w1sZ?Fe)}bqd!Z49(D7%BYeu`_)@2J zTDgD<8!O{MnA_VB>K70=?qJ~S2`x)rMmG)-mP&V|bv33lj^*lYXU{1}BAobjtm^IE z__jDw_OP_zraIX^QI$)J61U=7lEN}sh-rdbOE%>t}PE2o}wESWbq(&vKQAEsECz1wZcvVB4Gb%f2_A zTkx}JKaPgBym?y`8k*na@Y^L6P%0Pa_{u@Bk>Ww_6>kAt$1D*b+bo1e$lI`igFlP7 z+XVa>=091N|72bMlajxNhNi>yPNS+BJsSC-SEB{GFA>=~RCR|p=a)}H6r4oEmgK8? zxfDGhQvE3yJ`eTAXFan4B&+)fS_DXVZGr|6X^Ti4>IVy`U!__=i{wvsBSR6><;;xW zdl_WS`{^txjr({Y-&jf)3S5qp<*mRg`027{Wh#xLPIW) z0*h6{TW_z^`8<@XJ3sN<`J)9+Oi16gd@r4Oc($bHpC9wf#bi?&q@~A_{$$h%Yyk{w zb#?(GO)_bw&z%cgXVXTBCg*Tx4TF|WEsc{djgv7NoxQzHh+v}ZHj^E)Y#BC$OvTbQ zu1{~To^kh-y_;k7@Z^Z`64O4Ix|^W1wWam;@&OYg>Mea+i4akjS-S*oqx9k-RSUOs z+Of>h0Q$BLp5d6}rDyq#DmyhS28PTj^WCUdnJ=Oz>bYcK%r+Ezii7I>46U%nX78WR z3FoASklh;lg0h8fik!2_ma@IX>X(Lfi+d^!87F22q$e9nO?f)C~+2Vs-%-PD5gnD zL|>0}XDNkm09Z_{vaCcL5D`5a(@_T`*|U_6NAIQS^@qZ0-t4GBgU_zL59sL;>_^1W z+1T-V8&TpC2(6Dyu%Q%{Tn00yLJ&R|%!SV|`C>WP3$@FY@;SeJ$Ci(K+iO>jpg^0Z zvAh5^vj3?u)=Ha42rp^UUEJna26vOD+X&00ayBd%w=pg9%@p^4GwzAiyhOZvLi&Kn z;|4}_k@iu|u{>Nns8);}$#JF>eFjdu!?|TnT0t-Q^L%C zGau9@YX_nj>rg`(pN4l#4DT4(b#!`y8X{?7sECD>5k+~i@=vWui@zo!(Qy+O|rP?=ngq29_PVH09~td4m1?E z+n+}AwHbx)&*bYQA&4*IEQ#R z&Yyb;RuV6${vyg z6tzI5+_Bd%8!a4gVua^eJbI?NW=tkeR7)(%Jo9FXn6}{wQzX+P!>n!_pdP!ELhm-`GTeX5)mY)GlkzWuZ1@mvJ5YTWh0WgoPzJ z*yfHfmpp&eaeXsii`{MHp)H$TA&FUS@SD0RKCofABUb(EuMg9uqv$*vHpB=ykN-}g zOH}F23o2HgE3_p_sTW)wl}JRSLpi?1X)&HGYge`7v`HV*oJ}vhm0361B~CtV*Re>K zu14?##hT;(2MlfD6VHHtU14S>wd4%2 zfgHP=)Cl|9;3yAM5My)AW(Q4Y_KjN3ReDE2jftaKqw-;z5BON8!)PO0Az`A;;x)$@ zJxp*MDqz&JLy$GOk{!QDCD&k3WoL`o zn~fgYxl!%0dZgb7MzzvYD-Vk-SSYAD70b*aVct03cQjnGxFb{jqCk`_D$D2yDikiT z=wf5*6OB#(Ssy}y(7Xy%a}42b zGt)I3k0NP0J>6o*W(y741m>^)MV~Y5kj~v&Q>n-qdAc%-w3w01;~N4z$1%-J8s-&F36-9nrNcZ>Y=$18Z&PCe1qO%FDAQZEY=~ zW`@>OKdyI{d9>n3eT)jm=20PN?(~vhLu2RV(jn$Dq+U~o<=o8fF8RBywPetuQ!fBL(L=Z0G`&Sv9=`$LCMdA5wl@Rr{IYw zlj^n)dAcY1uJ*BYNl$tMeF4iBQaq1K`) zu?!QI0!&k5E#Lv{Bl0t*aQ^D5#}kcrRFA4`bl50`R@6LH+SQIu%m9TpiqzcvjyJ`< zi;9=c-V^$3OQ+?G(Fj+&MFq4j*X&?3`;K;J%X~sJ?W$Ln3ivkcq@zHxEe^TOzD-d? zO*u;2F+0^Xd7rj2d7vCDHOL($j}+%)JI{pt4lJop=Q7x5(2PV3L#TX0_XA_9`MQ)( zMAZUTnoe*kVR}{I`ISt^DjL;6@1RZ`T-cJ-Ms_Z;n9@NsT5`_2`DU+w5VIiu=-Vtm zwjk{EuJ=+4qobxfh=fA22ltKEQ5Kx4V?9FrcdMN3K9z=X4o`(XhsjgWjbHQ;9y@^ zQZvf+b?I>pNhdoyZS#lJo8(AF=x#C2D@$)0(#9x_VKiKk;rH2W8m?+%p`SA1cCzEA zy!kS=32`+VGA^f&OC#fHZG1w@+SI}&KMdla+(%P#PhV;l8;!U{DR)ZG@QpFy3Q715 z)f;6NEC%$V#3Z=u8aC?*cG^wd>t!N0%pcDm#db>lTCHc^VCq+EmV2#bWR+Xc(6#Yd ztSvL7!EzeV>FgRE7MsKZT@03-?C;V%U=^gZ%T2U_7TyO7Dbntw3Tt6s6JC26D z!2I|VGr8$XtR|Y;X%aon>Td4o-!jm*WmCMm{ieE>*Hfohd0S`3IQg>$#aYMHysf5V0N7x;6TGAc~DkYm3eXIw^{g6=SIj zaTYBO=)vhiS(ZU|3KjK38j(N|PPfG!H$s4bhIKI&4-rjW&}i6=p%HBv@f?~DLmCZh zRQrxTs@FA}Bgp3=#|J>oZxXmc6}!{-nq&p|!B+9kN)Q^NJ)0(GDV@NKBga z;%R=ui>?fDox+eH9hpsrSiBn(CFlzd!!2jPo95;r%NqMa9cu(`Fa)DXWn7sx5$JPrI@;^Q%1`%qK?ob% zFT%uNPP^}U1t#B(IaX5yxlg|?#rryAEc?B}?3{f-o~q&~{esW77HsEXe8A)P%wftD zK5sS#)3j@uJc1UhC7a;Uw~Q9hIHF0hkym$f=v2_}dC8q9PQHW*jf`orso4^!ajM|3 z#PJ{N=~|1BBz9R40zBpC&BOvmTF7Z)s3DX@^9C-^B>fo6F%E~Ww^v&Rc1hC_z^f%j zgWv7-i{*EJksCVf(lq5Vg8pwuiP+B&*-@*0Z_4ncnQB^BVG~SN^Sa8WN18rtdc7De z5gkO1+6H%(D|({ThuZ433-&EYf|DlF#FPm&24*bLilw(VTk6+F#h8{;G%d`4A5LCW z7UT)H8AEopNkoD%i3pql)S(daNg~3UrU5NN6@-P;Og-%g56Vb=qeh}dAxO-~Q6*`} z1+j=mNHi!Aifvn0S|GzNOI;Q+v=0@d9U^kA#Jcjv9M5fn8re}rx=CdKRM=Mxl~W|r z?=qx|M;)|@o*U2gp~njdYi(~ZrZAX7m7?0DP>Co6q0B~qj7?% z$ji3sHF`ma5HOk$+!fIX2LWgZ>W-X1Kh>qFY=rF`*c7(42pm|tE)=omB%janEkqmlzCTwqMkPQ@TziAzn9<&rCetzsM&h7GwR6_w2=eX_hiS>8(NI6k>h}ufrvt>ur@U^nI=NU z6|IMzomha*j{q4vmqyc>3ZCH2R4DejC3Yp*HK1DDutd(Ej@u$LToR3|v6)+IZ3@Db z?O{=nhKW!>o1PCVli?>Kan;1~K84x?Wvr(YEpHtxEuGGVD^O}6lBia1uI$*lSmWYj zD29V3vbIc!y0Rf1%VAa?-pv1Z(Q57auc{TabbE|4I1WJ~cE&sC-Bs5|xzczS2k2Ng zZ3B^dEyB7<8*3=fCzX zis505Z|I0etX_s^1f1ici5ZvFxt*9;dpglMa&}kEVMi)DBVp1Wap@d`6djk-IwP-j zMxHqs@tt!<-ur%(N~Cb~X7S29{eQOX?-FnJP+y)AuJ6Y{_@8-E1l<3FPr{S-)dScn=i!`Gq|@!Z|^XOOZDS2*z14jfl9hWNZe$kO2vwwBK24xIP8Sh&8zQ24pZfvVumjHnz7=}40u6V++D1LIJGb!ET=j8J z&ytRHZ-b6K?$CT1IV}7M2mTcY{*(j%ssn$>fj{QJA93K1JMc#x_!AENF$YeYYWX?i zz#nwr_dD>19QfxP_#+PdK?nY*1FtynMF+m%z|T1F(+>Q82fpaQKj*-+4!q>RXB>FN zf#)6gf&(u(@Y4?bhyy?7z>hg_t7B|;S0~3Ed{-x}4in$i$-@r5tCL3@c(+q-%7LdG z_@DzHbl_VY_!b9l`z-lc=fFJ&-*e#W9r$_&Zfy?fBptZ5IfSoq;AEv-;1FYowJ;@;9lrIlSByW72$mvv0EFW%pA4Y1aCbP;#u>W*~= zTaCi5Tm+i1EAg|R-;{+hbv3uKEK@Jy!j1%P3G=`%`!wN{frZ<)BAha?aJE$!_(_1D z6^h3q0Y?ED1j2Kd@XGYxAL_-S~%q!mB}-!mM9QOZkb0+nTgsmExfi&3ul=J z(5Afn?J2Y=>#N&z@ABoV?=3C9h&Jr#xFT`ik#^N_C7N~}nk?CoYG1eVy7u*GyiM(? zm0LST(43>~V~CHfPI;ioF+$o>uaUf&CbadU4nM2gFD^^ApM|^iV*6P*>(!?AVXWDA zX_x5i^Qa%L(lhn@(DG%g7azLsH0pO*$NI!4Uqnpuj0*mXxS+1x;vayresWF67U=4| zGmB@CZ9~VN#F@p5Qqb|++K;Wgreia;8nGKzkKMZtv^f6~{oyhtAWJ)2Z`N-a9u#mp zG=4?x%=%flTW`wA!ddUATzv}U(uF$oNhgnsjB0h4{8+eKF8Q%=mP@()7&3kVa*ONH zx=%hNdi1Gfjvi5a*41mz`O+Ov*M$~4k|FD2;k9+Ka94M%E(~2zP~&c98% z@RF{_v--LRt0R=Xh1>DK+7k=scyR8z@M6rSM7r=|qE>!J7hX(IewI(_)L|e}r_hx` zIO$lp%RlR7;pCt4e+l}u4f3zisZTA6PJQ~N-=0pb)^%A|R~HMft&4@TF4i7>SnNwT zp5gd>rtR%j%a^r(`h}G%J3fpb-569afTc-76aZbBxc@MQ&xvORF9kt1`7;8N>giJOqY8R6>;-p1wW72jzX`CmRb~9;XNMn6%|9J^@ zy};J>78uHZ@=(WzIR1BZa`a!MeYmD$OX4%jE*i&xvz|#9O|CbIMvqNB?E#J`UU$~$d<$niEqu^{vyK+N1#r`5%hfONdjUQHzb5ftp2$A){h9yqKd+pgJNWg) zeRr7knl*_(e&wNG{rZl-+JDc-zI*)zUwY{uoAs78iSPc$M}P79%l=QVd-?E}=kosw z6KJlNtVw+0n=k(G>%aQr?|-NA>oa#>cKeK3%UP39FLbWF=Zo9F_V?eu=dZuKeceA- z>J^mxDlce-OW-esK0)^c{EL9|c^8wLMG4h|5|>atE^!IfS0yf?`k}-nRIf^0LUk49 z7o;zt+9q)c73UL7mr$LSxPb&mbirK zQHe{a=LMw4`2j*b&%@oXi!UP1J75(C3C1NatE^!If_arW%dP(9E>M@b! za|~qp+f2A9p&FOCgnHbEty`qcN2oq$!bJ(yQxca@Ju7hu_1MMy9IKdr4Rn}s2~|qs z5~?wYOQ=c`mry+@aS7EoBrc(PPT~?O+GUm}p-M_zLbXle5^CG_9^li)Ayf+{T$E5@ zLP$6#hC2NbiA$)SmbirKIf+ZCo|m|UT(r~lBvi`~e=q1usBIMEv{eYz7D<;-9hSI+ zYC+->sz)R)q57)CB~(8|{Cd!rQ2j#U5~_7r#AdpLY762?#3fW?5|>aNlemPcB5?`T z{Suc@Jt1)k)i)$Aq57W0B~(9_xP%R zt|D<@52^6x5k)-8`EiAV#1HuSaV+Xwqb|6j1C?D4xOGpf@J=+mAH3>{3z5co-o9^iCNZ`LD}=kH!VR;N?om$KO?; zl0JXG*MXCN(k7hc^7qB+N?nikw$w??l3!-p`*oVhe~pU=x~m*K&%yhE;E~Ox+(qB% zOKc$m@IMIu1k~VS+yc#dzWzEQaGw*8AzeL00Ni`j`$BoF5izKLc;#gaXU^3IKH$RH zhARxbpYYGC_O({`l!7+tud|faN9w{FwNG#LC9cI=r_64;l%u2F0_zhP?Zq~Qa~t(n z(J8IBgpGu-J`H2N#~hufE@Nt?*U1oQcZ9mEH+LwshtXHsjpd2Ahj;P>-tjT1kpuY# zk9BpK3}L1)qg`osEV6+c8Q&IgXXDoSr)oVf3A+tsnfgu3$A?drDw)TUlRBfqj> zY=NzREBwQiKs_uBEK8P zr={WPXTOhkBu3lajM>29SmAcJD6MwWoxU$Nx_+m1C7}NJAGZeb#yIS6Ze0ne$8qoN zxeK^;C7^rTU+YT1)|G&*D*^SfQ16s00i%J{-D9r@)z&?Ht$X+?4G&PqOfouTJ@z3^ z{7B)}J$zlF=2Ipd+Qyp_vGNej%3JsF$){WC);)YUs@^^D(tP)fO~U3|S9?2E z{e45xah0um`1H}NxNfE5weI0--NT1Rz|i58IddXf>mI(=J$yKG(3n@M2bN5nz&SD%Ugc65ti>mEKHV$!;Y&)WMzIq=v#M4KU6 zbf)oT6|he@*3DkkvLvcG=|9R4r{3(Q9Yd05+TqwC_dkwP(r4{BWNNM&sAbGeu4g7j zr|xzHvK=?vjc!+{$EqU~6?}GbFY`U&fL=5x`(fI4<$FDHVQQ~eVj9zsaasD3N!`HeVPL?e7*D`fy zTw{r@bv<0`dbrm0aQ1C*>w37>^>C{&D=-5YF3oFQ57)XLj@Ja>(i>cW1E+uBMl{@Y z)Vdx{?#>G@6KY)#*Sa3Abv<0`dN{Kr)7#s+9SG!59> z-LPJZl_j~Qu5~>e#L>DQZYrI3@2HEek29CEy?d^Qdq-Vyb~TQg;dxlR1BdtD@LW~i zLGu(~yjSNc9L;kYXU|@?S*ag<7=Q-uLLSuQxI@lw-j~C>a(D+0jtf%m`AoLGC zsX71YD!}MT)`O?JS|xBiB+ht3p7`PR>gBbPb}`cQVd*$`$l|X7Y(igdJy}i{f@z*3 zZqrE1oc0u@y+>%RMVdMF$()OHjleG_J^ji7-!@F}OU@C$RGA@bE%yc_FfuSQv3uk| zc>ZpqEFO;6YqftP$-MJnuftuvviIc@sd}?weO`z3t0a95<_c~)H${;iX;_?b!O_!E zL5R|cZD=rQyj;AKkgG!;Xa~YFaN?+;ZTM@$9LA*WFY}7;G{4l*{9Ud2YlA+S^xf$o zoKyrt|9yg!5}b)lI`1Pb;*FB}WAF>wAI_p47#kidC#D5j|+=NucFBD50T z@e*Jg&#&xDaLl<>UHhcqpq2G@o?!kA%Kj92Wob%1$d09*zSyx)EU@2g{CdyJOVesYpP@@g&%s!MGFQk{fpuXjLv!yV zOH=9~{1@S=$lFlBx!pD#-T{1ceBbc!aNbKUN?@evo($ELI#N`;R{H zr7tW@tk-J~W4XeKJ%#C_>Mf*a{Xq2wM$JdzDB7eAh>%v7h2WQtjTKAk_|mz|$I+%d>ZI2omk>o;*%Y^jjRR4NOmW9b6V zD}Ct|=Z!EcP@E5sNj-lOiQSQY-q@|X-<;1RxQ+# zViJ%-3-a!4-r>#rws|-9Q%FC8NdV7+_u!N8-#|Xj6}|#|4(_}ikT*OJ!QTRZ0zMDV zah`WN^unj$cft?DkHGJOABDdap3i=J;JL*45qPko_QLOj=Uols@VCJqfajc;&xsu8 zxz@?G&BO3qllT}suCv0q=t_MY{vW{~g+B(LhM$7Zz-Qt6;Hm4>W9l^Zd^J4pHemnY zG=}r#OW}FP67LnF{J6HkdC`^de1_%xi0ioTgI@>#e)wzP*|j|Q55Qjs|3Ucm@E?MQ zXmKlwk!2^sF8B@bl<7wJ9{7Iv0r)}qP4JuHZ-Czde_?zJQ?7SVGcNepd?tq_$ fKMp?wep7RkuKz>p)#z`zQmO+ajR1_mDv28JD+ S3=AJcCYs4HGHeW$76ky#z7d=N diff --git a/Shaders/TerrainVS_PNCCTX.cso b/Shaders/TerrainVS_PNCCTX.cso index 9639d3b1b43b075257aaa42f11bfece952964118..89599e4ed918bfc7667bc0f00778ddb94da7d367 100644 GIT binary patch literal 64352 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 delta 80 zcmaFxjrod}kxPV=v(?Z1Y3H0ix$NGRe&8%iCnqBV14D=?0|P6NHUZ)sb|B5cz_5Um ff#HV8L^C-~2A~o)py;2;hN9vVFK}$Exg!Dq_5Bt7 diff --git a/Shaders/TerrainVS_PNCTTTX.cso b/Shaders/TerrainVS_PNCTTTX.cso index 293ade2b8f1cc6fd5d9b98597822908a0ac201f0..b7a1256f099e5f5a8519ea7bae64e52cda360d1e 100644 GIT binary patch literal 64376 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 delta 65 zcmezIjron1kxPV=^Nv$YHN_8~B%GbYsPcBpYIa5j28J9_1_o9jZ31GmGcfpYFfi=k SWMKFpGSN(qkzr$~v?u`W-V!$e diff --git a/Shaders/TerrainVS_PNCTTX.cso b/Shaders/TerrainVS_PNCTTX.cso index ae6007628af92d9b9ffd6c9242489d1373573d2f..3462b28db63eda2bf0996a4cab8ba9dbe104aee7 100644 GIT binary patch literal 64352 zcmeHw50G5NnP1PY5R%Y>5E95B!?P^#>}s_;`$r%If|Yi)NWPV{Xjif@a-`Xrx6+{5 znPKM5?n+>1!8(GgxHEN8TwLO+aCcln8S3nEoXYtMVlL-g92b=%XP@uRaVnJKxVRJ- z19oh#?1KD$-Cw`gZ~iO@3CEb}t=^vg`s=U1{`%{$`}OPBJ#u*G@PGR+|N6%Z&-~v* z-~6xH@2vXpA9f{_QpbL-)KY|7;Y$}IT&C0$%a!`x8l?`eRqDXVuF(|W7a@Hd8SqoB zhgVD9cr$_cQUHE|Xggswj`Zo5;$Is=(pUojCL98t)`4&}ks3Ig|JnxWHjQC-gLIZ> zac*vqPJV6rt_JDk)22`Q^Fg)jPfV!ETp<`w=lvk?)uD-rj9>5%rOOpHaUz{9&dsDt zI(BGcS0Ts+rzEnsnDz7W`wqW2qkpnaSD=hkZ&91OAN$@Sg$BHb9`A zr9YgW(dsu|tUz?_@D@WUn|3JY -Lda51iOPutv-0>5EPSn3fa%E(xWYSrG|MYal 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 YIe5CF30nVK5@<=FC4rU%-e(f{e>rTe!~g&Q delta 80 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 SAN-x*w%-YjY_xGv3H%={piz|o delta 80 zcmZ4ThjE60kxPV=^Il$yEs~+Tq@FQpU3{^FIi8V$fkA?Ufq@lBn*gx`GXujFAm(6U eV3@-`(M*n$0jT6Q6OcDqQ9yj+1&)n13)lflN)sIb diff --git a/Shaders/TreesLodPS_Deferred.cso b/Shaders/TreesLodPS_Deferred.cso index 679f296d03f01d2fb7aab6e6a031a2259c8fd2d0..da19e7672e10a7e20366f912cc24a3b46432bcf8 100644 GIT binary patch literal 29512 zcmeHQYiwM{b)F?9S)xUmlBHO+U3;w9?vkSRN!qj`$+AdM7N7?sQhrnlkQAuV{&3N>KWd;b+6D*$v<(oWDEy}=TBJ^36hV^$`OzY_Q?x@%n$DT zNlFOuXe7i2gk$ip0Wi@c#JAvIUnj)D^+KGQI6T<|oVc&R_rl)^FV#v9c}E3A1rcs8piH{*9jGoTI_XEBW@zwA{fNx#{ez@+$qP(FHW`k0)a_sV`K#~Za~P{l(&m&uD) zk4_&s@f(I8<(Y@4BW2bB-7WC3deR?+GySHUgm`upoMrC?!i%fm%tJcUkDZ%3Iem2I z=*bh}#K}{~A2}vw4nHw|^5m%rF@Eyc$x|rXNytQg)Qu|>q8&0(R;vLk6L}C$Ip_%I zvxPHG$B^F0G~TFf)uxeQuCPHro*0t3h`llS}%GIBG!%*uJ~F#O>WULD_IOZD=T4EFIv8K zUg~Yb<|OY%%F+v1&p~{Mi;54Q=qzofTiORuhUu9{X4w9=!jm2y$1XloKXmT1hO|E| zP8*`zu^YeA^YqljAyF4j2OiIk@7^tsPfyARGr3%U-|Z9A%nSi2!-Mb}4Z~5wyY6G5 zfp2m0>be_N16(Izg>=J~|3)wPdepvz-v>`eeK6!a#I&yacx!-blCHaPHSpC;KGpd0 zh|i_n^Uwe7lV5-Py@@~GvUAserN7QsBITH7mVO2z#9N;(t_CG(-G}Q(1C8?3bY{L9 zRfApqef*o6K6mo;%+%=_S@VK=`mrP$)SIn%u)puw{yqtp&4xa9G3v5XZFuoWIzODl zUw-gYOem8Qv2>y=$^A0-Dde%(idaT(e`LbB*(4e3q(;XWVa{qp0(1}JK zEfX0fn<|-Uuhy*k$NUAqnoc%dhNWf>K&jCP%fm8fS(Ck{6auxfF3ELvjbA#a3L6BCn#F=d3~$YEjl3VGZUQsOjr! zaMMbEjg5w5Kk5~&&!xo4fgW*q4*OxZ_K3ecoDxUy{N14*asPQC{_%XTIJ!M0UjB<- z@x|}=h`;OW5u<<7E55U#SIqta-Vn_e!1dGeyOL4^pA71yYOCzaT{EHYN5{J3!Hqp0 zr~xYSFtU5G&*99DaC+2e&kl`NjQPL}H#(A;2r89U zV5QksrGk@zsp;vGU-xg~mtI4>(FN(ufDVE7PDPf|OCZ`%v5C@Gq zWO2?U3_XQYl%{*^mHMQ@O)OBEYMlZC_5>s6VvLw-LApBFVB&M|iD*fmT`ijJu1Yd} zGO>zsA{a#12v#$ubV=8AXjo+#6sJ!*NJ@iB${VuVePjx4n(r0*S!atWO4S7?g3xV$ z8u(~AY?Ee{Ub>QAU& zA%}ym8EH19Mjgsitx8tZDl88U8TCGo^^=b^7po@XB)3QDD3aC2+=^TbgBat0(sAg` znMw}onD~{hFDE~a_6y2+4ke$>=W4PVu!4gXk5i}~OtM*5ph;%QXL4C^OhdY%ap(Yh z2~t{Ywmv1!emPe?XQ$)LqQ(SbHfyCzq<;Lzl_8FI+b z#aLmdEDWjqdm!78o4A-{(h7FCu<}fCT;itIJ17!W^)<67vF$|BEXpH(qxLv@%<%@* zsQYYD2F*q^tn0NX7fM(p>yZPUtzKT>0^7tJ&`%hki>kGk?&wx8)mVmkw$Cuf&uSWV zp&Zb3{nlDlqAag0Vq`01mX?-Quymiz7tZ89!`Lz^pjFcgI=#AED<>%^5~bOP&g6@i zldk!7ETAr$U%YKN~aW0Vs!;e2bA5`KFc@(t^ zBzl3xeIQd9E9S>WJBwS;#kI1otg!I5%#5+sSw@|r4@(R0EK1GOMOjwbE1by}ln$tQ z#SNvSP;jKJ=i%v+hu5a4U<(l8Wxo+AJd&xms#Tq9d1cAsC_bjT6hUGp+Fw8|FDHG(emibq2$n{QL(ydpUJanYeJf$WkMA+ zoGcoNO!9f1h0QXXjY`;!sY~=wzCzpFwZ?*MkRVh$f`BT~X{MuB@)&E-m7%T`ObMnV zv&s|E2;8j+wilJ1jad;vdrnshc6w8VuM~z5?pA}FVQU7=3SV8UCJl^3 zAfV2uX%wkne2#lfyTGZ}7R-2vr3ozC>OSk*U~?BEiNshNB$3%5_Vj?M>osHrffkDu zsom*zo8#b!Djk+FAJ|-@f|Th)U}xU0lR-w;*leu{YFsKfBB@ma=Ra^jk{Oo`LWBXo zsuva*qzySmtRU-XBuX|gN0k&Xmt!7I9I2s$uuJNW09h?D4*0{eU`BrTiPF$vUq|z0 z1pVL65*?2TveT>za#qWwgt}r`jhGO!RaHgSJyQ2!-RsSuWmE?RqqNa8VXPKPd6c%? zh|^F4#>FMIXd+E4nNVV2b|hN0WV7XFLFq&fEh`*al!}&@oxCV4$P;ceCgQ3g5ea%o zMBq%I4uwQc62W@T}u@C=x4j)htv+E}0QgD~SUNlw#}F z)fULG%d#ySG8`Xb-8ziQ)i9?DuZQD>Q8XhvtC(&Q7eR%6MN?TJk%B9bVvjPYA$p;x zC@7i`)r|h8Dy6GOc2*d4j3P%eu@a}0hTHYRjeebruPs}bq_l(DHX*7+jwsukGON9^o~ag;SRe#nc0 zl6vjOOPzT!#hM=PX8OI^jFThMtIc*mWE1an&S|4zlTPq>Xo&XX&?00=XR|}PkpdeA z0T%R14!ig*W2@S5S4|T7QrIK1)$EXD1YLg-%O)CX+YDZ<(W*Prsho1QVw(2~-mlGm zwwZ#AAg$(tR|S$~p+rvh!qN2h%vNk`Hd)AAXKIVlnXR40D2YWIN^4%bmGmGmIHZL( z0-@FF(_5pDLA7h>)SR=ynp9m8Cz^@Y^yy=wwf6gitU|G^dVqK6nt20ui0MTw-o%m} zUB37}+c9YIm@?4{S+3Gag$VY9LF>M*w}vKwj01>CuN31AUN40@H>AS=>YfUym}zrT;nUh4HI$j^TKvmeut z=RsbA8Q**MbcCIpv-Q9~zvt{kqtxO~NOblHw%=N_XUDN4^0-$$?}yG~M(=V(XWIwJ z=O%od@4yU1ohAuU+ItqgGND^e=+0@n+-X_VblZ=aNL?g}&c-~Lt~Sce=v=vj?zIwE zpLty~DGj*~CY^g4_W>m}68ork9MUO6PrOC6eB4{Rs$y0W*J{{fgO@s>C!q{?H{D34A{rDC*K9%hYk(tEGUKl9Mas@QyKn38q6x)&h~tjxMH50M9XFwXiL6RD zp%^i76N)j!aXD1K<-CKNw4aTB7& z+=21)b`|R9G0~6Potw~t`^9ZYxkvf+z_|L~K5-v<^Lmu_|KtAyvaf@uLvvMbJ3dF? zXLPjt`5|cF<~Q;wj<>7?T%%U)X)|ttv2HG1;_6QKSN2)e|)K)KX3F`su zPGN20G#>NbEA$Qv@$M4qcTlcgMH3HjBOaB6t+=oXkG|zb( zXELuLq*)J-CnJ2Vv+MfYNcZ`}(ZED;f?q|QoSU!3RSNOcTJSFH`qu!z@ALLe*>@z0 zvK@!B?5y;sO}N8^qb5Y~ft~!o6s`q<|67X7FfIdJ3puV&8nox3?b^N9r}$l|jRv-f z`;`6VMZ{CaEb}h$>8<=~`1xFSL~;kwrV>v(ZfKE*lz7P0+H17iF6t?0MM z5SQ?@iM7A`fJfMU3GqvOa2)f}(e_fVS}XRz`m#x5EI6(&XczX=FWk*QIc3;gZ`AP{ zC1TGvGw)oTRu9G`x|A82G|!DRDuZKLY?xAjHOzFBCNCQ{<{%_hWXO9K-^GEBIhRD{vnjeX56qd5{K7ZqB zw%RD2*MJIs>M6>Welhp_6w7PN!SuCjM!DmT9q&VNGlSiYcFuHMWZC@={;t9$K?8~^Y@Fqguv*Nuh-sAcm2s;HB zT^gRhuf{oI37(^E5&katJbVHEZur~aSw_AuNcel;S^iJL^ZnsI`1|311)ekq;fLUN z!*i~oo~Rq@1-AU^cgy+_(q5l7`dq_MzbwnG@U$c6dn@Ov+u`qk=iLj~-K#pFynEm? Y@HzM_{Eg~pZ{KxY4RkedV`|`k0qV^ii~s-t delta 65 zcmX@{jByW_kxPV=v*_KqPA3Hz>% diff --git a/Shaders/TreesLodVS.cso b/Shaders/TreesLodVS.cso index d3b15fa852170309d6f6638563d2b38629be7fa8..72484c62bdbfa51461ae47e3962e5ba6515390c9 100644 GIT binary patch literal 37328 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 J2d*s-{0~R0)=B^X delta 79 zcmcbxnCXbPp-Y65bFYGcT9@Qyi^xo;?2FyjY>W&H3`e*b7+8U{2@ro^W?*>0!oW}h d6!4g6D$mIPRM7<#oHMzQTYTaKj*T@w+yE|$63hSq diff --git a/Shaders/WaterPS.cso b/Shaders/WaterPS.cso index 3257588dd944a5eebec691858f836d8386873048..f3e3dca6f89a3a7732aa9872acd1f1dcd909744a 100644 GIT binary patch literal 136372 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 delta 64 zcmdn8l4FIhp-Y65^Z&S*NRRa^Z!n(H4Hmmw(ZZr4+Fyn QAl8{^D$mHUF*IBa0F{#vw*UYD diff --git a/Shaders/WaterPS_Deferred.cso b/Shaders/WaterPS_Deferred.cso index 43c391cbc170f526561bf193c81805f8804ff176..330dbadfca804c5d966710080a08ecd92e7fe96f 100644 GIT binary patch literal 74956 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 delta 64 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 P9N6N(76;yh9QgkM{3Nc7 delta 79 zcmZoU!1_bk&?UmjIf*@IM!f%Thus!a&e{YpoM2>NVE7@(z`zQmO@R0WI|G9S2LnS4 fCj&#xL{oWA2B3;0px~X!3kAg|Uf|eR(;x@{fWs7@ diff --git a/Shaders/WaterVS_PNCT.cso b/Shaders/WaterVS_PNCT.cso index 0f8a8fa36bc7591f64cb1e05a151b46c2a5d0b2a..671e5898eb6a41fc4382cc4f8bde14557643f69f 100644 GIT binary patch literal 90120 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

    m`pm3rB~pTX2+QWE>VeNfjq9Lv2UGF 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

    h7Q7MR$;{zG2EY{gn!O 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 delta 64 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 O6V2op88(KVX9NI{kP#CA diff --git a/Shaders/WidgetVS.cso b/Shaders/WidgetVS.cso index 95db8a58c55510c9d70dbccb84861b012ded0c79..69042cc0899a77078627e61bbedf71e52ecb7387 100644 GIT binary patch literal 17952 zcmeHOYiwM_6+XM`1lzF_+liB43{1gDYbWuWM-w|Zv11(J#7@>2w>2c|^|ifZy<# zF#*~YDiT#wgb<Msb`5YXQ0oOHFirHBxd=G< zxR=hxV_rrgF)!(jN7ETO!#Y*Kr+|+F9k4CdyC3Z;%Y=FIJehz#AZ`4E&A$RlUYX^; zZu#$m4*2-*TYeQP4_$;`5B~5)_}79z3O;Q`Qo{TPxCNB97Pq?x{G;I409ka%mY)En ze~b0p4gUS$QxCz}83#X)d~x{{_@}`yE=v-uULFeP>6F~u)e8J|M_9eV|FPW9mR3@H{r;>&C z7yI@dlzqmQr|+4j?>S!sf(Z_dKLhVTJeE#nQZrc|Q* zqNBaFL-t2*JGfof6lFcX|9XN_z_NPZ(;v{jG#^ee0qf~a=sAgY3Hd8NOQh8 zAfIybryLWMe3&bN^}3DGk;wkB{UZmZe`I*%u#D}S=pPw5JRoNxL;EHkMd3bZc^&2N z8Ir&kFf9fjQOJo@0Kdm+a-7}}?c1Zs*VULj`!kFDIc4&+1#2?Iyi3<1O@s*X9*!7@G&z8=a&q&$@2z z?6l>bKGtz|*3uVhu`Xq9{xVJZb<4=v4&{57k#oLM{@^n55ajfe>yO`0v}o|l#xC@E zom&%2`fS%3*OBZ0Zged&xWC=(IuHONV|&K3pbbFUMBqHcJkY*ko_$#fTs>EYwi7?B zUSxD&ufV9qy|2Hmf7>>7ATp?KZf$R`u51{HP$?Q<8`lD#W*%^jA*KJH0S`QXp#-bh z19-OPS9AYYd*69}P{1C$m(d?g^4UdM2|n8%;8~#rtJedMw{`>`+STpxyg2t>c)0QW z1N~2b<;D7RZiC(j=o!k2&y%kl>MCZjXbCPe52RHz9jmTXfSE)pn(b0LDzi(qwM7w) zQ5`BZQ&dDPMr?L{pk`;GX6H&ZyHN9i>dNZMOg5d1WvxmRbuqD%>dO0k%Da_|^Z1+W zMu3KqB`O0}S4On9T-ux7o12;O(mlphzuw)-g&fsRmG)-inXH!%XWN^#0&C8A@T#d=A-dsI2TW5ReajC z@#CqCzm0Acb6zP7tBRprTPQxG!VLSV-d@#y>X#zF{-VgKZw6%_f<6yj z2+2RL56JMFA({PdK>peil=?SBURoQH&;KzXkG&C+JwFdh$9o~U@y8)~>z$xXeLpBK zKNFJ2G6DIO3QFVO1Mr@odJo$`yjj5k{BwCX$Y+XmU2; zsWz3&%}*f;i>)Z*%`)s;T+4)_bv0cjr9;yn+=053iB_{DJ~&|ME36(JKsI*huDHOp zE`^1YQODy89>|n87f(*B_U-ud*K=8i3-_L~D~xsQ%<5fQxbOsI5dwF5sP3>e@suSOvlk1gt+4TT z(7eLp^jW4)0V)a&g)cm?FN~*9OJRBPSxKb?duoVwpoTs=pj-yeuIR-Ib=pFmC=^R& zmKG}ZNfNL>I%e@%p2}s9=d#v(lPQcb9745A zg{D^!nSK@t3nvK3%~QQ1?PYW6q$)I|k5(V)L3aM_^KbJYe}XUk{W~Y`$av|@WHRm@ z+c7ziiskfXJ9%3?JC~c9?8g>=XEbrlOZ$?o=5&>rG-s{xNb6i8gHK+uos&7Avgv}d zS)(ilWhafY#bj$ne|XDGp449jPh^a;(o+g^gpauIt--l7q%v1FC&md8NTreWhMCZc!1xV_DWA}jUK>CjMKTbcTG6D_;qOI zFXQ~K*IOIl!XHdTXEV~i&>_r?Mbr4WFDEibx{tJL&c0+eeXsEKMmwQJYVaveWP*kO znruLdbPe7g`0YF(PwDb4vb#2?^YLkxT?sbJXsx-=P-b-)%{!r^40<1y9_qw7SMQuB z_)3P)VJiZ41`!oi_)2H&Y6>aTaQqq{pRYcSzsbknOa@Prt5(!R5l|85k=-1AJg2!)4NgITMhkU}L~UkDZM6 z_+_-o$!L>b=InAhc^4)iJ^Iy=_L5J1j_>?OK6N=h{nv_q1av>lb904mXpz%TzaGVW z3rPDCKHGJC=U3ORv$H-fVr*Z8{a6dK&%XYpS-Dcgkh1HJ8mo--`{tRh2d`xu9L3kIGih%?QwiT^*u4>Z?SpKa8jI3*x2}aSdb}F(W>V zR>%!f2mMZutN(BGk#n73b^?)2NONwC0yz&)13BL~$2hObFvbeVIdnNfeT`n9m>DHl zjUHI{yN&?v0O(ll7R&|iU6pd-0@uL>#DWRDn@B7NP6G)zA=Yuq^E|d$uBz_?Wt|!^ zug3DPb7yx;sIIymcS4~TE682cJnMKhVqSDvmb^ZcQo=WP9U;d(qcz~-S)%JB0ceuK zdo^s>S|8H$H-I}+sJ|@y4cP&(pa$7*oy*v*64+9t&`UU`8=Zj za-EhS)9kC`SNiyUK7N&t&oh-P&ueh7OzWXP9G_Pu$#3}>zG{JAxM1s0*MYLvX8oT! z*x&WCrG6vIH3VNp(Q{|nk4?Vz{o_x+5!Mxrzu}hte-=GZic&5{6lpYx98i))H94@?jT}-zUIeIaEiFf&XfcO0xD%#F+ zfV*+1;EE&u$kIcW)?2y;Ldrj9Dc=j3|E;C-miAitTQ>g{<4eQRgzjdAXVr!V?#~Ab|52&L%=cMQ6S&77l2;{mf(}~K%Ly6 z2PTgu0yZpvjU1}2z+C409^V29?#2f>4Un(1@;)oqzazA=YAYMCGW}aZ$f(!JhMdg( zp0G$hyePLnGc@gPu)0UB+HbdtXnr}SizW76YSpdvm7C7#FHY{79B)IH7z%f2q(V@TlR?DVG*2|`2 z8?X}$qh|`Z9XJ7Wuo;OfUB*)PSY!NN6`d7>h}upv&;oeQo-h6~a67{?8uW*~WGd+) zx8oPBXIIu0)W2EhPDQ(^fNhrBr>x_VGQMI?CYSbFgS#)G?R3V{5H@O{%9p0(Qw=NK z|GpQNw++XW$Mz>@Qqq=;&U+bY%cNs%a~^*lJ(Wn|$K9GSgI`H!+Aigl56&6hNuiH- z0ttLl@pZ8hNErcl3-GDIJ*-4Z7t`sLj||-Z74StM*U=I9TgQWu{{eiQ2j%^ZVfcL- zX+jwIG|F;sm_&Il=0;#0kVAA8a3gRXki*1pD13jY0`g43!!w7l8n_;~0Z2PIwA^2| c0C_g#?_!Jh8n8-m2|aN2CDc_?b@_SVzvm>CVE_OC delta 69 zcmZ3`!#G92%q7CfIgmXxSbDaTqmrF|!j5#?8H@}J3?dv13~WH!0*F1B85nAS_yZ7k Turn~sV4r9u$H=fTaz8r&9d8ar

  2. !O8rSG3R;ycYR|)+SnL8$}DPU$oGUi5A*%(Ly^f zT4)zU3+1rWe|2(Ly^1x)te#c1^U>~qJ_46OUz$r z9ioNSFIs3*qJ?%^w9qbz7TSlRg?3l8&>Fg9{z7XLEwpaYLfa!+XhqRNJ0V(VmqZKg zL(xLJD_Up^wyHfwv=-4q>l7`tUeQ9E6fLxqqJ?%&w9u}K7TRsmLR+v+`b4xg(L(DH zEwlrog;o?Tv=gF*b{aJOUuaiAe;KsU?tp#{w9x9m8RtJj>jusFkI?pr7TOWfLOUf| zXjeoF?L*N*dn8(DE!$&$LhBMOwB4eGHYr+Yr$h_wtZ1QK5iPXaqJ{QIw9v90Q6Hgg z6fLw~(L(DJEwrL&p`8#dvHPJ%5 zC0b|?MGI~Dn=wD3b%+*Pw`ig55iPVMqJ{X)?<=T_E#Qlwg?1P8OQ40epf}P&s|U^b zkI+_#7TR{us}V1>9>ojofM_A!wi)FK?F4Afe}r~Hw9q~T&H0be?t}gkXrV3t<=FoV zEd%{L;)T{JT4;Tug;o?Tw3DKRb`kUokSDZTqJ{Pl^h(4Ft@W))3$07E&;~^d?YL;6 zofj>%YodjAOSI4)i56PRu9&~jxRLTm1m|3|cT z(L&?%JG7V3c8eC;q-dd?5iPXKqJ?%tw9xK}7Mi^s^AlRDXrXNoEwnwNg?2==&`yXJ z+Ii7JyCzy__e2Y=`5oCOqW%BveQT6m<$2yK0S;gZ%UBqUG2UPqpBatjE-Y*$BxVqj zD`3owKsIvFo^$qS4xF3MWiCRtmDXvUgr=k=DQ(==ZD>nd+LG33X-ZQ!p)E~lOIzB~ zF8`ow@q^Xnt{8`QIcu>(pXd9YeLLrj1W3ZMnJvBZoOge>_q)B{`(5_llj4OoBVK4n z#S3jkywJW5p7xK>o&Zn#M`+K3r~M*W#J0r5gBi5J=_@j`n-ywIKz zFSJ+03-N$~>cgWI#0za&ywHw`7vi9u4==Qb#S85T@j`n}ywF||FSLul;Nuh8Ht|B+ zC0=MZix=8a@j_b>FSN(R3++kqLVHoX(B2R)v~6GX@(FFPc%hZV3+?OTh4wA+LVH%c z&|VfVwAaN8ZR>qLeW6W?7ut+?p*6${?P2jkds4j6o)a&$?}-=M#Ya^?9&MX=p&bw} zw2FA4JtAIcPl^}XQ{sj8ym+C#Dqd(8e#y%tw5!AmZBo3@X2c7vB3@{ZiWk~b;)V9C zc%i*4UTANK7ur=n?d22Nka(dT5HGZnc%hvVFSKup7uwU}h4!L&q5V+2&^F!g+CM`3o_L{sAN74X*}ywDyKFSKXCe+=$IdkOrt;Dz=E_yD}n zE)Ko@BeZM83+-m{LOUv6XeY%B?VI3f{|N0_@j`nUJjZjPT{!P~p%ugn?T~n(wZ#kV zQSm~1O1#jX6)&_`#0$-eK7FAT#0zakywED*h4u~cLVH}i(4H1AwC{=++7HDGZEMNP zBeYTRLYo#Zv}59h_6_kudtAKGo)#~(7sU(hRq;Z*FjD<^v_QPj4u}_8NxaZj#0%|F z@j`n_ywF}0FSH+u7uq!oULK+C5-+rA@j^Q$UWl)O`1UWfN5Ef)_9(P(gTEfU&|U&h z`$uS7kE?z>+NgM;9TG3JMe#y=M7+=*7caEu#S86K@j~0O=+hV4ka(dT5HGYv@j`2h z7uqA@h4z$qp*=5NXx|qvv`u9%kI(|~Lfa-@Xw%|_c1*m`PKg)VqvD13jCi5FB3@{l z9*{g9tsq`#hr|o5B3@|U5HGYR#S85@@k0Bqc%i)^UTD`m=;aaGF7ZM;B3@{1@j`o4 zywIK!FSHlM3+?;jg|?}p^6+S*;)OORUT7=gh4!d;p*<#EXx|nuv=_t+?R(;dW>qhb z(5?|Lv|ZwbHYZ+aC&dfxG4VosQoPWf6ECz^#0&9(0mBk zeMSG@m;X&GK0cuhi5J=~@j{yuFSNFJp*A!Cv{CUwJ0xCc4e>&ISiI1_C0=OX5ihit z#S85X@j~Obu2_FU<9nOP3+;$_p|!;e?J@B}#0%|N@j~}LAg0In0s-v}xeM*8uShUp6Ji5J=d@k00QCWhxXoS6P8xeML5 z0_py^+@F@a(0y~9?)>&R!(aF{pT5v87B94dc%co67uu+Jq0NXF+8lV=J3?!Kr@bSz zli+FZ2<4e>&|2-d}iV6j|e zpM{-t6Yx5_3>y6+&=t57<0X*dN=TaGm9`mgQo2I_EBwvO+(941g(<0!u|l;bFHCmyk#1P-7+3hU+ij>~nuUB0t^c{TLIM?hO0Z3XuG z7eLSO-$iHqx2})gSv~xy+V8qP`tho-A5}Yfx6;k)qf4NTE`j9}>!gp_$FZ;VacQHh zKFaHzb$jUDs;{$6XI=lS>z_YP^NDr+^WJKY>-y)tRo`bjUY+mo>-y)t)gIUN&wH!B z&$s?K+xXY@&wHyquIr!oR(+qXemLLZ*Y(ePt39skpZ8XMpKtwfw(*~D{S)uM$9Sgw z_t<@XAO76-lXbmwZp-s*``vpz{OR>hy6?UfJMbR@eGvO%TN1hmyZ2f8e>gLRBZ#&E z1aEc~07qCIe}Jfa{LPEso9FK<9p}I6O#VaS`3+viacm8q-&UmiKDiGGw*n_Yb0DVw zDCpau7eTLswn9LD(`^0v$uEHecCc29n)_*O{b*b9HDibFnm$xMj&t3wU2YpLzW@&ITZ-^QybOQYRl`8NALy9D?CxAIK?F3;t5xn47uZ~EV4 zQ}s%{(~R>?e_QahT{9{=k1QYhyT<0q)o5R>G}{i_(f&$!yk&9O1vVGfj^op=M|`}L zWi-C`1%GcZ;@E5Z!%C&Tu%L41z3KSgZ7Yp>jh}~2`}uDyoBf~vX7+2pw83uv^hTSz zc%%L5opJpk@cQ)=T>@bx*d5$iZ&t&~T(mNLs2-LItyZO8916+_kRwPJ*T2NPz^pgrjp8}$}~Ry&n~m!#0bouQxV| z1NDA*ZszdZ=1U*)F{zn(eHnZvn7!xzxqWxve%qYHa_%T#)Vg<_zHMgi0Mi9+zO*>s zSwPt%VrP!r6E<7$){KsqTQFt{^DH){M8Trw?Unj`SaF_b!e&@)1(`doY@!(OvrR1L z6ikKHs2O6k({0)%oqUkSm zDnY%8?$Ev^%=y~H6adD9oLzHbp}0nosU-#J zR4V1#@tI0ki~R7Cjn=1{@p9L~LMvj_t}ZhwBG#cvzg5L0m6mBhy>&1VbeFReyT{DR z$~GDFE8ygAzV!OkZ=ieqDiHaOCtK_aY~w{#TBh`Zv>xJV7k$<_84I8hDp3%J8p5E~ z2qIT0{$||iyfU11O16W6=vJo{Z;s1yPZ0mgX~*`B9C6}*D(Bmy_TAA!1zIF3p)CFA z8xN;LfqYSI_4F-_0p$`JOfra;Ped9Dg_^^c*FStH#QHCE)0x}1TNX2+zMdGA4gvZ=A*@OtrWD{VY4077lQU;6tujgFb3*D zBWgA-ymHLA9_>6Kg8rB$oE0PuhFrCt&=@qKM5;tqzWdd)ZMpu*Oo z_8ctu8DJM1>!Yr=?sLZA$df{<1t=q}5Y`3O>V+v2L7}5 zW)im_$%dQ983TG8t{d@-aW;gUg$*~eQBDRGuEDh$VKKraC+ifnoEh$BOGq;@%4dsF zEppa$GDpe9(Is*bVfSOyc0~Yp`p2TtL$ZVn<&@zV$l&!Q}kV;Zlz)!29D+;Od?BUa)(2Fo`h^21sh=Ka?si7wH6T zlWZ0e6`yszGxtfC62Nnvsh4 zp|q4;L|C%u8V8+}P$BAG!>XR%JIPp;uW1?!&fdv2@^Q$6l_rQoJH1yJ-+NHW$XZye zw+cHrYWSi^L`m9xGGwr|_@G!6W7x!RW`dAr*?X;bc|C2fVad|}o`Asy(zcn#8W&_z ziyYnyF4T^Ia=DS-r7Aure;oW>sfW`kn{y`!hLX9vrti8gfHekVobxNHH$N_6yhGm& z3Ru5@3Pls$feCKJmACeFY8W}C;X4T$D&Y4P^W z7pGaUlzKWN1zLt>K!xlJK zbX4#|UUnx#IzDF?kkEa+dC395Df?usJtqS(+fBUU^0r1`21=BW245GGmg#PDYY4-u zsHoB5o!NoYm-vrp@MV6TT89>67EUwbrX9-%c*`BjO@FAfWj-*Ssm#LEoo@M`CVaO` zvSdYNPEkt`GrKPT7RGTkXcx6xpdWI{B7A#R?ek5m;1GDq|4dzaU zwTE%$AvO)qdK715$pD^V&NOysg*cm`oAD$aCef5Vqc*+uU35)-YS4~-reijg7k%+! z1KxQVxGCw`7X3RPt>0$qzNpqmTE8hf+&teSZM-;~+2EV1SF80} zW_J%Z6lPyob{?PJhi%Q(o1Nm=<2UWFKb75(Yr8>wWJJ48?%YG-adtNAwdK4fQ768# zetdMv7FM+pHp{Jg?aa}pJBP{ANYCccSeFej$=SDCK*7|U>bG3eYDUoFvIhhmLfk2weB0cF}Hxggq-_qF|0&uJG-?X z@2ng+(W6zYOmiK{OV9b3;`7^cJ-6>Ew>lvg!b7h7Fy zY-q&E`^vW4fnlzaXqlHe92wbhUM|KQ9L9VLt;wxmxl;;mkHIfxQk{g@ZIH+zw@}c4 z+nBLo!z8S9xL%QnyS%MTfEMYOIR zotxu3R6@b_?JLMGwbnx(_%jK=+7o`YC;Y0ycg5l2;Ym?{MyXimXvE`BU9G_NC3=o8 zWOZM#6g5{-6g-pzT~g_AtA{;+1?8LmJQN?-DX=GqQ!7|%WFJ9|z!O&}!kS83MUsjA za1HrucWS7S%IXjT)S(fIi}H^tYz@o6A?mLl%tY9B-q8qaHSS*)T5ho(+mYB;b)w9N zND67!=O4g!E!RTAMuU!-GGWTBJ|u%)*+zzZGsq?6W5yC1#?6AFLtYk9e62-S=iCBC z6H5nKmL`g{UB+$~$||ZXX!u2w8tBTkE3&u>cI*yrO-GHiU~-;tWU8;H0QQcnNY+Ff z%eyT$L+*Z}wN_L&xr%DCEEk&fsw**QtS;Gb3?S3Xkgn_e^ydwkL(x)HDa1EtXVrIO zxlbQ>s@ibjzZf;^YsbO3+*mSRNIOBC0I|Exu3)4o6#N>?zzVlAol>I8IWo{CU>r|( z9IM$lR&#M+(RGbTaLzAVP4SQwrx7E{RGO}Tenv(R(dYmS<~_Oif?GIV!lZ<%IsZ<#Gk5wu(hq_GrQ9PwF)W)mtg`K9`C8_2wO6 zqjzA%O*BJJJ-Wu%%s4mI!O6^8dxpKW<>I^*c|BAwy502NanXCp+ml|3bd*#%^9&!i z@Kt8M5IL0a7Wy-8aJYk}g06%q6SS{BIYbUdYOB%l$>&}qMxRT+bd6HRXB7Y-|^h`ph9gxzWA$6Q9 zIDLHMNnx#B?Z`o&DMoOeGmoG@Qi;wa4$e{ZiD^LEM+P>^sa-Delo$?ZczZusO6D+? zdb7ntyME96zFl7mcIOwWC)t2@EtKGa2_*Xd@TH09u92%aM`9Xb6t@B?5nT&+DaF6-zgCkC`hxtDV$7^f_m+ zP(RiC7yR5}h6WLpi<`wd!>fTKz&ecSz0cj7=chtl5U zVV)Ga(jQdlT%-e(s?c97SPT7wpdL_A{O9D+%*tz99|A{!oC#Xw(n@^3$=`Bj0S$+I zO<=1CPu_T4?K2g3B41!#3KhMZty{C4(|Wys-i@P4fPCzJK?L?tQd;P%h}}o2?$*;O zk!~iM?5wPhU|Hv0VRG@fNn_jDkoQKMWiq;KCWB=1d3s+x5v2*AIl7!*FQ4m38M6p- zX}*Tp8HT;w+Dei24-VZy8r~Tscac+0QuE_Rxxbq}~ zmk3RL4nsUVMola_bdU3x2p1P?$G078RpbE5uwA#vUe^Y1*7h zc4}o#ZbD42n0^Vy3+=)+^T{Bva3ms1Gp3La zb{b5|&v}b=m~EJ0s$_;W%(}W!yj|79>dW+jL??H3crJX+a-}mVIj38az}%Zr%x>wE z`>tFGrh0tHLq=0}MUFW8n@wq|gRwf-LhWe0jC-0`p@bz;y!xAj()^=G>OBxTD=!;@ zTOrA5ZODtmOZi(j$7%WO-*7|Xu8!iuY~P*>m6`r$3h6Xidiw>HOD|h!r%9!^;Cf<7 ztCaDu9N(c?jG1MA;ksPQ$IbXrnmjMszmd=`Uc&{`<(s>r594(##>=a#;CZXuzpLa5 z0WF_ivsdgMYsUBtSL{cPj;wwHd^9Y;uHa}d!O4?rAVzL9xnZZZzO! zouR7nJeeCcsLQEe=CKaldrQBywWoOH&TX%H2U+%Gb}zwe%L5(*D%XMq#c zY)$sc0gEYJPFzE?Ac=UdA#3j8c8`7Mq)GP^5-X~256CQgc|lpty!wtuX=!FUU+g<) zE%d1qsK4HgzRa-0cph>sl?}P5*_B_Ug+;PlhGF6j9&g5T#S3jSm5CAHI@_+|V>w4X zMv<+dI}`J|f5Thb=IH5&S2_c{^?FO5LxOYnK-*x!Mk!Uv;itk%VrEIy210F=nhJ-pa6vwZ!`}T{2loIu86f zuYL${W7kCfc^uv2iCW~AE3*DMqlC#lUbR#l#iJ^IlIMD2zvtnPr%%Y^bb@=ZCCWb7 zuBfxqPTk5a*7y||X3&qh*sbe&e!z>CO)hyHiYFP|DLmgNdB8VNSj^ zCT!Rtatqcz7Poi=f&9A{eE+~(BDjb(h(#J+S)-SUg!3)!hq}Nt$bGoXi4ZJDjXzjT zJ95`JCmC|(lnCKY{rDJ_H5MMPo?u+zLO3mv4P+&yf1gEPP(DH}sd)#jrFq8Zh53#j z&C&u|Mh3Oqq}8G-u?&->0-u>`^6k$j&NJqNz5dkVGY`T+*}6x|;-|@6L#?1mXIsYr zEI`JHxRIoj#`Io^S#-=kZ8=$lRnO>mu*x5YIZ$eH;^32W3m)#V|4hCnlVe#^**9yr zm{YfX)%i7@?{tq(o%k;#59r3}yB<1m)A-oV8+Y9}{^`k`qc`mu&GKUl zY|tI7JCBWw@7$TuqAnr7;l969EBYQZ9-LV2$>oVYG^V^6JFDiv-0w6wG4=x`_2HJf_%*y!FW=9@yCdr^mwmgbQaU(4rebgD+0N zDB_ZT6i4K#<=@5-255K zA^-Z2{n#w2%!Dl-TSMZiBCc^zjq-gvEJ)1PFrP8@%6DwgsarU$ z4kV|s&lIANdiTxU>(0zh8XkA1-W-E=PZkRB;+~LI!^KvtKeLQ@%IWxtV7ZCYD_kT+ z88^e@s$@(eW@eLT`Zx_wHtK>YM2?ups7k&%Hd@8`7oMCcpKyk!S0?!o`xyj-*$7fB zK)S&xKh2G;LAE_ST0(JlLmA$WGkv-ZclQ@`8 zpLhla_fJVDF~O`4rd${wbTVLaJ}{VdjE}U&qpKukDy$7B2AYvPHr(UQeCEG{u&v%A050>!fRJBe?jZG zKamCM2k#;(FX(MRBO@*+F1C}5^dz%;0*f zIxNQig@H3sOqC~8i}U06jg7l9V9C4GkUKi#V%&Zl<_bAp=rkS|XbW!#!I{@Mni`(k z@u5~vti*n*Oh?t_B4mO|=`W#{AwuH0zEpJeFHcO~`#!M@f#^FEwX2P>VHCxV)3+8E z4DpPz7@0Aqx{?<$_JjCvxkQ*z#(r`$? zd5qJ@hj4QEs8O-LY2P=-rtMQi=g1_&BB*DAcu!1ZY|IB?v&0j$?zNA67>>uA6A|l6 zL7fqzXeR+I67QytzAy$|gRYF?;_KSfky&Nn^4*v>rLbJ!puzU8;5=z24Ub_J9Rq^I zww?FaV#mra(Rgz^1VV(VQJHVdE)ulo z!a{lkg_&O%A4DN+cgju4N?|T!w;y$nDiFRhT2lq-A7aDiRBYhXs(1;B&**%o+Q6{H zx|Z+E9C0GRF&)@1a+xo;L$5G>y*4Q$;$pU1{%kh-mTv`Aj;KM4#F5@VJk4K5z&%|@4O^*ljUM?pT&7!_} zO@-`KT$X*0^nKX(dMPax9f};eZGE|k7ZIVsy7#o;nMM=>rcf)+Xkwf&nUG`n^X&} z4?0PNlXN|qDLgbrwl}s&)F=uP7CC~bB3GmleIZeypittv&6XCTVV7lFRy5QPZCGip z3{nm2GVj&#(oQs^cvMkmz|x9;JEV{01S1*G3gnVU9-N9^ns70=I3cREzd9~^Tv)+j zkwSYSUWjsawXC{oW1ovouB2E`cpiL|Ll6E^u;fRqTj`3htg8{R0=!j&vlPj3Rgt!2^UWiL0ZaAb|2mk zdOkC8XrGcBA&^QtE7;MTYn-I&qdn1Ajouoz%0;(mzy%7|4D`+& zKW|P<%&h!~~9K zBny7-C8H=WiPvf5B*8nCu$qv&rIW#_bS`8t&jmU*%oCVj??mIqUkyPLq|@MGm)${} zgcCV^CUtmp$NWOvniYhJ`#`A}`Cw@f6%w;HSnz4#ol`!7fkD5_DuK{y{ToPC9s^tr z%$AwA$MaQ}E42xi)uhzY`9r{Er?<04+EtEtwhKj+lnQgxRVEAcz&8}JbNjN#fkV7; zt1=DGI8d`cEVeO&_oh(pDL@>SiPwO-{U#~WemWi}>E894Z^quXc16=l7F?&?npS?j zEpbExjNL0qX53qv@=X&{F1DXxG{)XU(&eqgjnlhNqskFepCUEK^Hvi*);uZ0qV!{_jN z_P>SSKS-UEU$e|y=yd$t6!@Be=v-YL)TfLzw~{(pW$gv9s%2OwV8 z+J+AkFGZN{*QxP6_czG>GPtk((k^@LYWdp&f5{pz-fHFF&+pUtP}U9au8+ff*vFlD z8)6#YN4(qJcz++x4Z3%iQrz{cs|2Pere_aK-)(lP%OS%C_{7Y5{bvf~C+O#!xURlr zHy{5e;Qmw2?S1ZV@-9`y ze?#KV?-;%LrrWN>^H^|p@ed^K8@;=qYdIg3KXt#rx!>uQXnX{D_Y0l-EKVZumAp!V z$^2McD26pJmK(>0H9f35{MeTO>v;K+u?^JLTWsque$ci)h;O*z`)_`{OJ}TNUm*eslP>)5o--vdp3<|tk$(`+5Bm7@oD9G$KgJKP>`9lag9 z<(>JXQ`jcIH>}`gB$=PX{^&#N=%ISauaw}+HFwOqmtLK1j6B+b69n$-IA<9brObS5 z=PYBx*^cDJUS@yv`+xNNtQ%K9NhRS13)^2G$oz)G`t{>b0*?-lZTP+4+8MD*U;TsK zw;Zot^tqouT&-UaeB{@E7B@%mIgJMo;*BvjQo|76vXNG^II@U$nncZcd?xHce`BGH zw~UPxKXVl8l}YC+C7tWI?_4~Cvg|uo`g6GDPV2Rf#_vFGHCp#qTfTF-)Xqud>}PoV z#P_pv7A+F;0H0@On@@DY^*1N8tJWKw5VU zf^YmezX1F0=O-8yFMdll0R16uyn)aD-3whxJ;`h1F=$ZS{~w6&<&T>E$_-|}vlZVd z{B8do$N+u{pvMq~_~biu(4ifL;V~j`$xy6mu8oCeXJ)e;xEUK)(ih9P~Fq zT*3U?peI0o2lRJAe-HE|=6K=--1r17b19Mb9GM z1ma36tLOtD+Egs|%Rww(6q%bBbL_klbQOqWC|7z>toZJu*~dWFf<6ukK-Yn;2Ymvx z4fILS4WLhfSmpzuLC|&(%YFxF7&HPJ1&x8mK@*@!&`!{epihH73*x+MH)s#&7SLYM zKG3b8DbO_NHqd_1?VtmogP_lW{sia{=nl}Gpu0dbpwELi*3N?FK!-v1fbIny0eu1V zMbLeqqo6N=ej0Q?=olyj&4Y@d5-0*KfR2L}L1oYbpa($}P!&`I)j-z6V=%sfnvGsJ;OJKbO{#cd3{|CAUiWmR@ literal 34116 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 delta 80 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 delta 80 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 EKdsNSk^lez delta 64 zcmX@IlyQfop-Y65vudHvVh!unmsO9iR#gAM(8S2Vz_5ddfq@lBn*i|)CI*HTK)eHp PZ6=z^Gcs%pP3HjsSgsGe diff --git a/Shaders/PPBloomFilterVCS.cso b/Shaders/PPBloomFilterVCS.cso index b2f529e56b30ae382182fa2595ef2e92f2771b32..c0f2355db23e02df55fc735716407a9fcbac870d 100644 GIT binary patch literal 22536 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 WKqCT;2s9$lh(IF(jR;&@5%>cuNF|y8 delta 65 zcmeC!!1zbl$R)zbd6kfMhlBQ{W*=^FXFg0;zU&)d2qvf>XdBTFNs2J3y_6vvL{CzX{ZQm`85_8JNem{hT9!x#^PWmnG=&IM>5Ei9veA-8@xf_0Pss=WPBd2HhM)M=9l?8;#6W! z`2L#}RNE8v<7|@!vsZ*4N85*(2MG7578q5sp+RQTuN2D2Idq31B^O>2lE*(iMDPVbmQ(aebSEtnR=n>cpSDHwj6q-R=+}H3kE2@Y(eVWPh}(c6ojH;5Ky}|_9;fMa zj;nfca8sz3Ua4cVjOkQzh@K_7+kb}R!=0VtOnOv27fU1};nrlDGeQyTIt;wZalprX z68vrh54^P+z)to6)`2@ax&Ax7?z}e=KwgI#*dI)JP2#iwwzmiL9&LNqGN@fO4}3e; zZ7lWoTD*_!c;ly`+ava=AAKwG!gv3Ay`b}O+Qxn6+h>n$WNGn$K1LomdjAj!r#+{f z^~#PlJ0y?C1G$22dcDVme_9rO!m;M^u4g%I!b^zu{zy0yc4a1UwrtLxOHWUfy;9kW zgufCA3xKacq-+>r{Ey}Jh=Vl$tDhjt`W-XDmZD%$QDa-Bhs|?k$ zjE&LCGe&H_;1)Ph3S`iYF-UW^gFaupXgMBt*5S0U<@BIO55|cpJYPW<51Cn!FS1z4 z^yay{OJ!rp$&6jJ&X}bVv<#=ayM=2mlnRzil|RFF>9Uibo5yWgwp~=*eb`RPc1$mC z7h~c?p&+D?i)qZYoQu|MjB|gOYTv(1Fq>|p+0=4g5^ZY}b!<@_6^Yn0?V_`ids%Zk z^x6Z#m;39n`b5Ij#_7Z2fAHQ1@9{?NIlhJ-?wk57I=nko%v%?ZP9^PZneUz5sgrqc zzC1HEY|mPsGYc0iry>~h@0;DJREmdJidP*sm6ih?_v?LA7_Vz8XV+BD`6{zedC6CK zHyCr}6}CH7DrKQkE@W=W^;JH+fw&WAtiyj#7)xmS|6R*`(X9QGale~-mgoCnraEs1 z;Wi-ae)C$*U#?=yz-fG+%xM8UIv(I*KSTqKQQ3fDwA0G&m(Oc@cZJ;gb&2ql@R>$~ z*Y?qZIpq7#(k{0k59q6sshwlLM4$G~_K-t=1!jHNO^5OiI6eh12}H3O>KrXnsQlzoCL3 zt>DAFHTmWWelz%euzwc>zDWaIAM7sVHvFPlC|h_R+7j4?P?fqcf3vzUf3vzUe`8%j zxbb@*790X{SBM(ZSKhoiSibq&XykV-zh8R&6wwO!KL9cq_`B@~p^NA`kbT)ow4^94 zs<@)^{fN`A`h5C{N>^0ApK|(5m3~X5D+;S$pib(Sw1dVZZC12_PRY2YEcK-X#ee0-=Hq*J@5cdEc}^Hwe8*akfx{L^#up9N5TWi zW63lwPS)1)&5RO6uWZH-c#ppa_`SEaKEBNRz9<&oZcup?P_#u+kS&4t2KNGSFM%Na z!FfQPryiU_UlZ@6xvvDUJv`7vpOokCB~-^y$MRM>+gOi1?;iCv2+tAfJ6N3W&Nen6 z%^&Zavbw6jXWbqi*;%zfQ&t6TTV5Ng3Iqv{y$86BFV%O;d*28(U)e{^7xrT&IE|VK zU>EQepoRkoZ2bP0_X`ZSfnvQl?uP5BL9In^Bb{ac(7wmNSU^}_>=p5Bhw#x~#Fn?# z6_WoGz*^XDWRYd+yF<-m%69^OX%FRDgY>(Jv{xI=265p&G*pB+<&lJ~zW@0;ERLVf z7cYz#b2i0`=7Qx?+;y_?d5izWV5VSaFZhfcUV7d5gMaMdv!nhz{^QDlyk7B{^9Yca zA$~Js83z5yV(@vA?~i-_^87D=e+G7;AI|~heIVj<@ct4gzu){9V_4t)wSo6M;ygF- zJi&wcAaEa$=ZF13-6*VoFOVCm9@qek0J#CVA)A0t0QsE3ce4R}v>pid@*l0ggVF*I IJW3w;Kl_#oR{#J2 delta 68 zcmZoD{=#PF65-@Ltzy_o(fH(yxum^}g0PzbZ S28JI@6RqSJ88$}BGXns;n-OyW diff --git a/Shaders/PPFinalPassPS.cso b/Shaders/PPFinalPassPS.cso index 1fe266d58d08f6e9b9b8aefc5c46c3caa1575ef1..032e0166c2afa9b6eab6f50b1624548d0647de39 100644 GIT binary patch literal 15292 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 QC~h**Ql61vV`MZd0B9->asU7T diff --git a/Shaders/PPFinalPassVS.cso b/Shaders/PPFinalPassVS.cso index 693aa956229b0b702d8dd34587a88048c18fd489..b9e0926e354cdee16e75d5304f20bd5f56671f0c 100644 GIT binary patch literal 12320 zcmeHNUrbwN6hAGnL7}5CU~Dtt8mn@5WP!k{avVe;Z#;pE+-|a1TjNwd12JD{Ze1Fb4 z_k8C&-}l{~d+zn0>+Cw|yjk7($JP0{TR**3QU2j)4iV9OBHK_O1I_`z1bV=@46JvG z^!vMe{GeIkDRzqQ<{Xe=`^H6BN!#pi92 z-q5MDhak^!OMx2Dgra<-vQi`%2=xy12F}WrD^~)zCI}u(QP55+= z5*i#Ts2k`$*A)o#`>8i{+TYLlc0lqO)I(6W-GK$$PX-1oRV&Ju+&-M!F3zaCV?DXrwDR2~$G@FAt>AGv`BwIR_<#f@A+5cv$&R z(BCOu>l$`7cO5*aoeA}5FM54Gw`-3-#DTE@T!URe`i)R$RCc)qJn(JKh9}tr$0YkC zPydOZdkOAg8n8WoFQY@)WNbj54O`m-*4Sff&(xmXY95&Pwm7oKkH#1`o^}qFU0nR4 z^W76)S1#12ubT4Yt&A&wdF9ATk|}Q2o5%zHBYr*-6=M6k$*s1{7>TAOCcrW_}887#uB+CXdu!e+X~ciio|1a!L!+O^5Zc%sqNJ*9M;X&UW7 zVeDo3q%sOhIHJ+<(xej_F20wH!M!tJG=k%uY4UlWKX4Gm{X(;*&}`G;6;i2KI+IG| z2f~$?9_Y8N!nk|;?rr{&f6t<;E&Qq;OX=ancx>Wu*q@AMCS!@T9zHdm9?P5$cO@^x zUW>#hVkt}0Yvla&a4^_2o`}SQ5nUe)dB@^oQ>D5&h zQ4dc|jZothG*0V=Mti?nclG`Ibvu@kdAok#0&r!JRt%aI_WtH`WI+f_&%PNczTsFY zZb(s7l=Xv7e`WLhd<`qA^Vop-K3nMj1v#zFNUl&@I-wXU~$o7)4-_wOldUgX&>#eq{{z$2QH_K5V@YHSbK z9#|g_RLgTJ{?0v8WgPHe+^%>dLx)D6ER=8xZ|3+A$^|gU(e6g%W<$c^z^U)5e znW)5_pbx`pz(c@cpb7l;Yq#0S*DBsedk(1GD~{YynTjhYIuE35w&7QH6{rXML^6SI z?d0%R-o>?bIfeNxYN6e1aZJW71e3;^&jrS4>yg$JG4rO%UejpP2pW*fRVaguHaQy- z)_VW@4lHi&8&6F1CPtFdoQO=ubZOR8(dMxjKl3~vPevyU!U(?h)SDl9wwF(r{1Sx@ z-UlS`?~1!%Kaf$Y3rHD)`NfL;cG~dAf0w-fYrq@8pMj%rwfU_rUjb%8WBzslXRHBj zLL*Q^pZA6uAhQIlk^hmMz#YIcAXkPfR1Rbgh^xkx!l%CKQL`Gg3O-QV@OV5>`*?=6 JN8KPE_!roVRh|F< delta 75 zcmZ3GFong)CBn%$F*oEtM_m^W8&ln)p7a~Fj0_A6B1{YntU%fXh#P=-3lQ@FC1x;A WG?U|C0J3C&B9rYTG&Z(OVFUoSoDZk~ diff --git a/Shaders/PPLumBlendCS.cso b/Shaders/PPLumBlendCS.cso index c0918ad1211562bf1b44064869a32a2c6afede45..7572d2ed28ddf5d11c6ea5be2e699a9bbf8a9508 100644 GIT binary patch literal 14812 zcmeHNU2Ggz6+W|eob}q9*v4s6yGpOB0Ba|<*CZ+-O|6Z0<0g^=w%4Vpx*=VU$MNF* zF*Ca~{6w+@MMzN#LKUjSk5GA_QjkCtL}{gp$5Q%$AP<0w1PJkfKuw~8ctADZcju11 z-LeMLD2Kmyyu&jG1x zroRZ?e**dvX7lbjrz+{1>pJDC*mFs_L>~-Oehusb2Eehqr|+BEbZkBap$QZVtP(q0_mGfc^{pIMImo8*7rt@Y#=kuK)zYmn1E!0(8( z_m~y2QcwT_+GhL@iEIySVhy%|zmAvE?(6<$JoLZE_|d=K79P<$-O4dPg!CEv4~WEq zz5`ioMHwq7joq`HhZ%1${(uHHW0+cY_SkHdodTJU0GOiyIKGXb-fttjMqPF)GcNav ztX~)Dk@Wuk>Qr_@eQ-FLjK}&iSvsKu_R$agB6+}WpM<}+Kn8xg8p7?I0X(~J=jq?} zbLZYm0gsw{856=L_gmD3aBF9v<<_2FIJ^Infv1K?t(E%@IoxNy{Qj?YOs0M{{=%Q0 zs~mlWFfka|N&JxCvEFs)76Bv6+XO`IsWxTbydXQ#@wR>G%p2 zxOnU{@t6YWzEoXV4B^-02Nh~!5L}4I;;~1{wNiD_b@KCGV)TIG|A8~{*e5H6c~#06 z$_Z5~l&c3-W)^}YD*Ms1nS!^RuiA^V+UsOS4K#FHRrka7e8QjUBgr!dlAPXJ|H?K7 zW?FBtSeL=bR{K>VQB_0A9#Dhz^I^aXH}$pl=Id|1&Rc&Qi#+Kgxd%PR^>XEcvow^; zRO}k-j9%`6LUpk=mrGaXorm(pCC9C64*PXPFE=$cSu5$qOlOA|i(XO0K9Z}|1)N_C zc+L-KBj96x!1d;^rwfx_Zh5&_E6uTJYI}abW>;Q#wf?_XYyTgU)(Vz><`Wk`mT zwZS$3R&NK|^U@&=d}q*302%uWUw`@u8w%=JFQzVpnH6F|5*Uco`SXyo&y?oM$&13+6J<0&1(uewK2k$D6B9xcOG z%o-W{-be;IO6Js$FJ82&D-A$db31s;8`7>d(;4V^Wz;%MFC?@B_%xa^l!Te*)m6Vb zbO3E4Xp2|d!ks|HGoPSKk$_*p$zavdusdv;OBb=x7)t_Wi9CI`AhcJE3-*T)Bk zT)Rr!R>*0~_BP#?NMP3=Szfc-ZgjLuK^pk98#zQFY$5~o>mR(|bu_I1Cc=fLTPy>3 z#I5$Vk6cw4cQ5`P`S(j4HFTGurwj#o$DrPEgc}e*-!V@+fY@y0@h!}BcNDt4TF1Kw$_D1+ zs=d&~pyNIvI99GJ?r3TFb8}??%heQuXG2qiP_gARz%_oXeN@+d;?n!%4(VOmi8}$` zrxcL;{v0rXJJ7f@U<}oJezf_%sT$6TB6wTpH=u-0P&T9Q`-$fHqhIXHm9m5O&bJ_CH7hY)5U%s`ldFau!*!VKJA8TdCu CN%R5$ delta 63 zcmcape1YB2CBn)1`}&luXh+|!<^6}wzPm$X0zZJ5gNcD5 OWTL4&Bg4kfdS(Fjc@s|n diff --git a/Shaders/PPReduceTo0DCS.cso b/Shaders/PPReduceTo0DCS.cso index f26d3b508702e16dbd890945a476c1280191cd44..61b98e6114cb1d6f5dacf7700f4be9f3e4f56004 100644 GIT binary patch literal 18108 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 delta 64 zcmdnf%eX<%&?Umj`Bn11FHcmq)J6Pco*5CwafXqBfnfs&0|P6NHUZ)tK!FoLd;^G0 OCYs7KGHeWu=Kuh`juF}b diff --git a/Shaders/PPReduceTo1DCS.cso b/Shaders/PPReduceTo1DCS.cso index c84bc72a7363830008d974049c766f885784efb7..3a33ed77ce2936e94daf358bd12110251e9910c7 100644 GIT binary patch literal 20068 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 delta 65 zcmaDdhw+AhkxPV=vxQY+(ElRdyyDg)X{SoA-(zH8V2I#gU|>L27s}Uvu diff --git a/Shaders/PPSSAAPS.cso b/Shaders/PPSSAAPS.cso index 96e450adf7f87a82e9f760a9b7ef4e77c3798452..6a81c68be6baab30c81666e799945972db198a55 100644 GIT binary patch literal 17304 zcmeHOYiv}<6+XM`H@2~f0S6Er2q|kD)@$RY$QWwlwE>BTVGS{nQ&^h?yO>>TABmku zezVtxJJfSk7Hfg#`;pp@Lc9e{8I_?(qf>;={#eiaCp0(VjZybS=+ zx*E`Lk(mQr{ekp&Di=?jnVd*wBtDu3l{;M+V|@;R5T^@0-9nkDmrQ08q#F zmF1(LlsS2qmG1?um_zA4{A_W>jzb%;Y%wuG*rJHuQH-eAoT~w81_x zUXC4st#f<`OMx+6GC!1SJqqz7#|93>_YCeiuwMrIhI$ViI24213kTqLleME?1$5x` zi~55-hj#T1qEdW!?9iJCq#K4m03JnJ`(IQjnf9JwNXN~n3^gL9~@xyQz$B3|-^3vKHN2W=FJYM$x5)K)1Puj^L6i=&fD5NNu|9KW4%B(!t zO>X8h23Zz)3~gngXO4p1_$dPDOLyA(Y@ZNC7Y9)9i&oxjsW;Y;l!Q91+{MdrbGG!$ zcA4M)plP2n=X0*M7^Cw!S6kGxt@ZHBwwx`llZp{5D+?Ii_rI=SVF0Y^EVLsW zDKqwcu(=5zym!7`YGnPNH#TmZp(^+G$@PtOFs9|MZ!RwOkuk3Tarq$6e6TL->_nRc zmp5-6_A8@|-sSMf3rgGbN9WV(S&!qs18v0zdj@&ut_JdYBQReqvt5=M2kBfuT`_Pj zC9wWN5Fd!`6a+DQ*Y~#ewzQ~y@qYE`NHkhgwJH{;12oR|KLI>P9>92gxIZ#*nGZuB z9@q?E?)u9E+j+m^xB0A5z%DzTF(oYWIpUs4R^^lXFavj5C)|f!_PgZCz)O*~z|6Le zB-fH}RJ?WRk@%(FnV+a}n66W)*IW zMAc>$h9@xEs!4@CTN+TdH8nXmwsk}l&SN)5P3g!$x|FBRHZ|4K(qwFHcXXEu)uv6g z>EdeBg=)0-RMpj)5%hU_^6x?E*$|M8heC3tH6T};gR=a($lC{lvIiSlFaJ0szbOmJ z>pv6u=Jk*~{~o3R`}*y1>lYVE25PFZxlDdEr;fyr9mwZ!e-=*!1L>^lRGvLMd*Rs| zn|E`ka@%;EES?AQ4;oyQ$@W;6HtpEqy%$g?lRPz^%_TG8T$IyMX@f0KGlps4iFc6RT^bEu!V-wj4kI-VCbLt z!goKLD0wgN?=I?T@Aj!(-Tjb-f%JXi?BK0FTwBy}-9eoX_f7_QCbCny>gzZ_fhvsC z&9Wzl9GyKKSolnkXB^w>1HAG3ClaT!5}j%ja)XJ?sbo$jv&TA)MYW_amCH;EADTJ| zI8Ui(;iBD$IBpL+NO9yNgA7Yv(e@G9Q6GY=QuK?2uD{UF3K^&m*i&EQ$9Q-05}YDA zIrHG;6&^XyA)UP1BjgV>gzHsj9t;?_e>9=8=F5iUw6?;GN{GaFK1e{08ODGS5t`eECRC1QL z6xXTITPl~qk*9`YYp{vU?USSpPOlzK}AubHC2TPj<@*CcPFUVj`Lg9Lm9yaK-%|OW$;THaEf-*vEOoie=V|EQm%uy`8h{b779PlF0hr64BB|mQqY^6)gQ~2aU*5KN& z!WU8;kK4D+Lpg>rk@MnSAYp~9UfvB#yE-wi!t&RfH=G=oF6_0uo$~b(T2`|h{?LX9 z_7vpi4f32H>-ZTG__b2Hob~Y8MFAS6@M?{?0?QDda1Br;jmzna^IEM`)bY8x66F%m zT3M-ep=V zL-mhSJ#Vi6S3&T-w-LAj7zK6#cLRO6H#4wI9@YDAGYBtWx8>H#!TL(9Wy`S+S8@7F&{os1~3Hk0>_NchItKq#iGvu$N1^WHhu0>BMmRsO2g@;mBPSsP_ZG*I^81KzV-q8uIP-{=$%r;hy8%@H-%H zZ_Wwy#kC)Y$qmsml$QWGJe9y|U=6Sq$o~=Ka6Sa&elOoKRsuQ4`0(*$0OvnG_!;ms R;AgDhUXRglgVzcc)#V#A;EhwDCUc z`Mv$k%$u1v`|;-OhEENIe!Ox1tKMD1Q@5{f-+%JMcQz?R1HK@Q zB!))|T)%<2nK{M`VlxH?eFJj}ibbf4@(pW*UawW=rc5@xrK%atH5^R9bC)-H&$A<@#+$eE09FH(|g!wV%jF%cTuh+1V zB8o8-&eG%s3Z78%^Q-uL2KTtvXcC9@tNndY*pW z&%KfFVS@RfbuWWMpyK(DGKW^T2kf!O>Yk}HyTv?k$rn^E9O%s<&b)P_>6^sPNa*uV zLf11Nk9;fZqikUu`ooJo3n5wEk&loE!aZSZZ3ugtrAQE+S*pyzA8ij@dxPU>Yx| z=~AzVsd~PYSBpaQ30qd>z<(-*)Ph>p(5g=u>6U=Kyhn_x+H|^LmYazfE`O65KdYnZ zbiUYiXBZ-1oGF)fo1L0zn1v(DibG~CpV_@(4t;33Qduin6X?qNw24f&2>Jr!yV0xJ zX-%)xPvPyGw{PM>ei?tEzSMC&r|GF;J~y>56;`w5>0Gg-r-t*T$#NzYQqSg2rVCR! z&8GUyyq=zlrAw0o>TE3Gn=I&@)64dy$~J3f?^v5Kt!3HTdDGfm)u$U-LOnIZ)-vks zjBZ-1-}4mNOwgz)j7TiX`Ulpr+mioJZ2c*qRJiHOvtOT1yT4cNH>g8>l`y(4 zX4p=?Kb-xWb(CWUD0ArH@c_=A0Xo>`#R4fFUZ?q{)2F1o*DOBr-iO*0T=zqT^n^}< z*&yL4nbsz9C7RL4ddC6=GFU8WuM+O{h7l}&_BI`aALZlmm2{z;a~t7Nk^??OY$h5T$KOhdh%{6B}1#4)?E)Oc+ZDee+~1eta_+g z#r&&PGdqNH5sYgA=NV`tZS6e567{@fMsW1|{G7zmvc<%EfFGuY_SR0hr;srv%}LBl zW(@a@;*^1zZZUa;Dnu@}2|w|>#u+h5`W)b&0!Y;G)AH#YV~waDMl(Z0`obG2=` zjBop31>@!>#yAnTfFuTq*k496%bV6Dk~vdjta89|0O-70Z7~L8>L__=sn+}7*Lc+a zNWM5VQXE&wUrbNubn@$3)<2oUr<|FBnw>I%asHxH_b+S47duOQg#rinF@x}^LO#^P zj4}|uQhAyg5iH1gGj00e-u`j_7tG%=|HhnUcN_Tt)~~T%VTt^$;44<{{kw3?*BtH* z9n83xAzPX8Z7kxrG@khgHM3wdl8<*$6&ZI#8tY)IA LJR`%#(B+H(rK%Ci diff --git a/Shaders/PathBoxVS.cso b/Shaders/PathBoxVS.cso index 2f93a0ef326c9883e8c5ae608e8e1ce0ff14a163..da08c2a5d2716d338f3c4e4b73c8363fba2ae446 100644 GIT binary patch literal 15152 zcmeHOU2I%O6+YK?65FvI+l`Yn3DJQu|U>YK0I*N#Kcxf_UHo0g9jxsGz8-03ne2Rvb`3DvJ5OJ2UI+ z#Wq2>AwPSpv**q^XU>^9^K<9tI((+9`xk$?`Ti$6B6lwR;OAGL-PU{65s}~lk#(R4 zfxiSJTqg1^@XZR5>%f*ZBB#PfdtQVLY?%U*ZU;)mop}fR^T1&wp(<;ENJ>4Bz-QtJ z6H9=V_oqkQtPDk?aW~}-#WGpBc8z(;fo}uP11-=O^R?l}`k~%OMxhgwW&E2-S3r+E z>XKj2%m4)%0WIbaCEV#qCjA_WaIG9AsKB3v?%1T8iAB;Zp97iWll3LWCvx5CWICUb zu<>DSM@+i;Xwsc@Q#sl$&VM2i&!n^Iv7Bl-)vAv7Mf+5AA~xz~RCjuEDv`uPC>RJy zZ}eFI6bi&TR{~iF3*-?tpi#f1AH84lSp@RWdmNpYJjR6W7#WE64)zZ8OaH*B6G!?a zI&`i#mCeOcakn>&0uR7%61v5HX`|p5&ukwH1;1d7SSBd>^t%offS-cv?t#96Q?>wz zQS|uHGatf1CrUpJ{pXI0gL+l;yrhuQ{q0*w%M>H6+wvUDXX=wj?Qizk22`ODJeIYmPTR6EVOjSfv|T7aq1xy% z@Ar>=UFS8j;=I(S?VZcW>5uZ~mywr4j`FUxalHMq0!PmctcQ&$V?$dAiWBYW4YEC0 zZbEeM$Y2h%255PlSI~6}z`QF#v7F_)8;C~2U97;uSnO`^-o0C$i1w&w0>NNy_118d zhEOn;Z5!}4rU6?uDg8bK5%|e`2_EGLVE+8aqg?+-z3yDgD&RpgmoXlEy+5Ce6CI96RDg^Bu0^W(cZeXw)(5u&4Ph+K8HM><%0hXl~RXL1{{@q1!m4d zT9EBksi|}p;#6Sf(&fdHgqC=v2;l4@kxQgKHML6x15Z6YwpcxF)Jb-0vwKwG;G@`l zhl*?c$$YZK3sXl6EwrgnYn!rXDXnl(Ma95nwd;@y1%jais=a+A5zDHnSZ*S#M%}60 zgvus)h?2ada%nY^Nu((J?Z8$mjZzRL(eeih!yIGP|%;L zni1;L8Hid;QCmZ;2!ikACJpwek6o&?(Ps-&6 zHmu`sIr82!B42pVkt5B(AC}4PE=OJumCKb6Fbx#8_zzOgFO`)M(BnBik{=txv77H) z5@R>xjwiA?H`6i_To}2!=g)K$dc1#3bu0{@#cW^4gWw9iMst~bJeSY7qg|f!gWB?8 zJ?{PPb3u+O{$;&9D5joo3e$5{bJnsaZHvpX!o0R%TTg8(8TXy!Ew*pQ9Y$$s zUiD_~JdKUf44nPRH{+!_N*MOXMcP^_#@(D;%%1Bw z7xXwsQ&`Okw+&tdc1b<1S#T$3t{%^r4oF&wb>$0?Ir6rrACSWhyiTeTZ-wvWU+HI) zL>e6L6syA6(bg@W_nq4Q8HesIztYF&eU0VU`1sr$TYkNd&!w>CZ}jmu`uJOX{4GBI zb{~H`_`6WwJg6hs1c9yu+9!jzP$z}de%M%tLcJ&l8AGh;yjRP`STgV8PHIJ<%`(JK z71^}>W*@&9mMp);$LBm?`Afx#_Lqti`Afx#{NgxS`~JGKVwS&DJJZfm?M!}gJF^|Q z$Eg(EXK8ympig~rS|Q(sk|RM+)$&;u%eQ@w`Yem(S0V>}R(L+S$6U^v=3CpW|3ATU zxou-{r^Zl=c z-uTnT8$V9H_4{v&+yZ|eg#ZVCy!R$B55IMI0rayXvxa(cX-1my0hODY&Kl~~?McX4 z7f|oJ2c|ivG0pOQ4rxQBPxEIDm83}Qn(Fa9$yhb^r%~IpE#G`Wqo7o<)Axcdm#=w7BJLl0y5L#<*hP# zX{XwImNGswMzqQ28pE%X%^rViS?6VplsU@y*@M;FVD#W+Rlwi=y3It^7q$PYI4T*r zFC*|N>{I#q3bz1U?!Q@7Y0NH#sjEm-O8!405Z)V(9uJ=?yn~l2gYrHpTS`*mJ?IhO zegD>~_PG{RWD8!l9H7J|L-qbcqW^Q)g!JP;KiC&0&v8`ITCohLwS(Lk1Co$a_k8fQK3KrBcd(mEr(8Vm z`B7kwa>CNK%FMU%j+r^MUL_9+0IZ9p+%Icyt9`8{V(-knvf2V$$1KGBe2tm*_)N)t z3oCv9g#!p_?@OdE^rptr(w@S<1ZAZ?n~AqixcqmWkz_i4K{LkiUpv|MRlV_Jr?LNK zwZp`ZuPSaYcLMo#ss>VrutpOpeVJwgaaV-%zXJXi_%8Z#9O#_~B0Y^Jm<8qi-A#no zp8avJ5W$$^-0%vJgPCi<4ZzJn+O#dh7F!QwYgGYjfVIFnAX~B#_!yAqmz-O;?f@PwW93#WV$nz`!*hCTf diff --git a/Shaders/PathDynVS.cso b/Shaders/PathDynVS.cso index c95932fb7c32fbc852cbd28763819de3309bd10f..4a82df657f94c03d7f6ea113c10bef305a09925c 100644 GIT binary patch literal 27544 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 P$M#cO18oi5WE%J%bYsS_ delta 68 zcmbPnow0}8)Fr~n`Mi!B=j&ViZYSE`r*+q@C}m_|VCZ3GU|<8%7C6OHA6@mhw;wNt@mu8)`|@()KQCg4g8CU2Bl5>E^OYj$H1- z?p~^h7(_)x`az0cD+mRtAN(kO5|x4lk>Zz9Dh2IFu_V@_UwZ!L?QXh;ByAuyO|o;$ z&D(kNX5O2(Z+G78i}xRo{XX>FZ@JIuUT{@QVEe7RfjZP#ERn+xjYKdNGM9( zsS`a3$oqiRK(@&MHB=!>M4Lg~_L$H0n^BQEJ&^28b*H;~dnneM=t-h=pT&_llFLPVr(W5()UX z$5Y%G3R&k?AkQ_!7K?cQYrq5Fls#C_9ymx->v{O=e(Y6vh6!N1{VZdLaFO5dT<5{s z_JBL~Slc7@MmL`aE`*}W+lN{;jx%3KoS&XdUhMh&TG!tnU;FEdBhPhn=dBI#-ew^X*xD^r=kZs!2d=zIRQE>(b&L@0`qoFso>xeH4@=wH&aUpk zdA)zA2LgV>)Js`YoK6k&o=PWAr33yq1AYM*&KFg)RV0f>&de1HLbM52Hs#QNgkr^f zv7~dWHX+k25!Am0dcp2p zQ#PcJ47LbE1yeOOT&vB^Y}+#Z(DAQ#f%|vv-{BYeB>%Q zTER3jCvxU!X)qHj4r#Bb`7up*6+>3u&d4NHb2OO>jpmI!QMN5pa;X}cRW)L%%0ksS zOVxv7$dD;OBQpV26NaT~t>2+f*|*?Ju3PaFl=+R!lTzv8FMn~zuMuSmYA;Uwb4IPa zp|HiJ0LycJkg3y_d)@?O-S7YM+T~kz9glFaI0Mxl{LdcXyX!c$*9GMS`Z0$y8_x7Q z^ii|)$a~Y_I)#^hXI>pKDDrxg_$saHBbrGQ#z5;pL~=R`rv3);yFiX~4+ZPEaL`U% zw@5A#(<;Ou0#u<-rF@8v)cL@xA^GmGB^M@JC|Re-EJmfR$I|ZbE3vjL{Vj5pIs9rD zpT7?{{8|^k*2NFH_#8Gl@(nJ2gNwh-#oy-Q?{x9`8%Z0+TM309P&a(UG#wa&$mucQF?Ctuq$@A_3Brn@q4$UKN8J= ze-_A~;Fqw9GPjgQSpWk>Q#Pem``V_|WnbGA&zar$4)L6%Tz2pt=t z5XgxgY1-ih$%^Gzb{ADO%6Es9WqH;=8zG_}O1%OeuX#UhYh;~#A8n%QAg_z9C|9`J zN(J8El04v^e`n9PanAfNNuejasyx8?{_Qp4Xn;ozDO^y;HG{&2o(+#`d{lEVU(AkKjA5MEG{Vc5^yO_OA3;tAUbtOfF<@r3btUA9{fl)(q62P@-&#+5PaS$#r0 F@GsH=Ch!0N delta 63 zcmaD7e}mc3CBn&Bgg2*Zv7Ji~pQp;5V+Na37#SECZU6~ZAZ-G~4M2Pah&g~_F%wPY L85uT)wle|%F*gp) diff --git a/Shaders/PathVS.cso b/Shaders/PathVS.cso index c0fe1e2a0f54993b6069ccbe77e0e997873aaa79..e0433d608b41b9348a357eae890d9d63ba694113 100644 GIT binary patch literal 14820 zcmeHOZ){sv6~A`U)^X$J&yu#RrCi#A(xkCtHNZ&Qku+|ah^)zKHk zyFniVroea+_)p+?l@PB3FD1_RH6f3G(GMg&3>4LOR|ClW70ENquLIO2jwF*AqhO4r zE!)+FSuw5=#D(u_+6@{6zNGU%2ki#d1Ihm_knktqFtCz8k~6LiTjuA*($Z3us1nuq z^Po39Ygp-F(}pkrS)fcdn9EK(y=LAlTH=XZ#xiYl%8@OXPRRbj!Q?Yk)#dz8$L?#G4LbyMpEx+z%vR0G1* z2p(Tm1U_<+ehysXML34ypNo*MBO0^a@RMs ziS(^o5}#-Y&~1;Fcj;I?jxJ56dQuMLVW5tU+kSL^325t`fM@5wl}QdK&e5^8?`?0a zx2;V+k?fP7h<0>D!jC4BGy;RPc?kFw<^dm2#Q%IBMBtTGA9ivCFn7JZliR=3+s@~c z1bXW+#)H!upYxRY@cxbf*DpTo+z5O%8V`K&bf>{}X5v=#g;?8U&#gD!Sa>@An<+0U zlvS=nUw`scCCgLy=|dEOq06b^%PDCVow=fOIueeAYo_vM+BqfXOk19nxdQl6?0<7k z&MZXd7p_A|sdUPWnJ=lReegXNOl5+f?Xt9yuC$?)W{de2x8lwg7CR~9Cr(OlV}1f= zB_IPy^tx<4E923Q_-Pr7P2|$HoJ%{?wwyHPoM~z2xhc;tNXL{DR<4khIR}l9QpE#RlizDi$1nq!XJ{j~#%GKF`O{KZq) z-~O#idiO*I%fCv-{oB&>s`fsycT2u39*X=dCZnH7?Ub=Jl&fPnFsC=0lf!?ms%eG|IoGsRh>;Mk)Va?W&dVzk$sG(MBg&lpx&GOEtG?a^U8hDVao>Aam6BGWZm zEHgD(GL==PGB9;bnOaLmZTHCB9_17Ls;x}u@>e3s`jvJ~-VVw2FFMui#!w zA4JsZFA?c(tTR)P1;h)kepEc(5CpGAxVsX!{6-)9#c)HwJ;kclc9eCG&wD;)zc#=) zc>GWqpLcW~zqX8DTgI<1<8x{3={J?}o67hH%lHS&_=n5*yf5uSdw0R$v*HZfk2RUQ zRk)hY7Y*DWZ3y%sh_Z;x zwuc0_gBv#0ty7&=R*QM42E=W*0DU2!zIc4EpUI~$9-sZpI=QzA32yy1S0`4lMT_2AiPhUaBbBZo%>el}u$ms{D_@$O>>PCa*Z!5lAH}mv?_F6zcjJ&3zANk|R zYbr){UQ^8X$I#ZJpi$8F65S;pK~x({`AT^Zy8FdR$m{OGx8MW&g~0JcU@SU;jDZgi zE&_XBjRzj1c?3QJN#&7K)MRl^OdcsRlc55^&c*^LA3)4-MTUJovzK0wn_UnZdwGHX1rJz(|a`^ zr5`#d?|*Ob?XBqlhpth+!<&vk;#7jK`;?wR>lKvh)vNVHKJOuq0PlMrt%)t8k42N- zr*Y1029kbE)61HI{LdgaV*zuj4_h9A?(QuzSqnQ{;~w84d%l_XCIXG(Bkult5!DCu zw)}{AvLTG|$Mqgpfdua=jvUHswY*!)OV@i9@?kA6y9A&KAGS#ZHkxMH?|e3F6IXpV z9zX=x$Jc7&?zwM7G(EphG|kjuCKyCr5_l4L1?a(kBr4zklie-&Rmxj0fCV#nTIM6A55jJj%V9s%=ZJHH3Fx z;`-@1>s3kzR#$8Fl*cqB+Zr}{|K}P!j}7JuGXsSwQ^X4RDTFOzwv~xZ8~ka*MBdEI zD8>|i;b6zM?$U?balV4c2zLPqd`|Jb2)-^)8G)}T9tEmL6@Gr=zm~+XY#uoOOW^N- zgNXJR&^-@A{>K=%i=e!}c@aJ0o&B_cmjI7*g9GI7J^;keQ*hRz&hWfW+KW6prv}J1 kV+6Pl$c|)(HUb|3a=+08^x^*-0j}YF@FUlA8fdxSP1&CuN Xn#yxB02yz95;l`3GK+64$zTQme?=4z diff --git a/Shaders/ShadowPS.cso b/Shaders/ShadowPS.cso index 8b046e53c221a408e490e190b3cbbb1e440ac437..ddff484d649eed07ca9ce23a38c81b91b99248c2 100644 GIT binary patch literal 14992 zcmeHOU2I%O6+XLm9DCz+Y}ZcGq@<&$BzEHLkL}RN`E%m6Q%g?lc-O&HF6nxGZ7*5x zn!URuAp{m7XrHPG0iq}mLE-@vApyz*LR1te72*krKY@6Ghf0Wt%5M1)LN(tvckcSy zaU7~dX@2&s&OI|{&YU@O=FZ&t+t~PtzTeD#^>07sd0TEUKlR=OHhT25Pyv8x zEdLo3?*=7rHUAj+wQKNCf?sd=AZ0!M+2mx#GS5At<70`arwMuy{qiNWF1lIS1r8y+5w!OR=O(A#0;s8<19@ajeW#PQLS z{Rw1>KNlN)1B!bg_(|Z$;J$%Z6hcmU&(owA9q*5CgKOuV@YtBhWTRAdHa2RzEXXY? zCv6s0qpb?nYc?$xC?RIR*X!thTB@r8CcR&zZqbAXjLw12I{Mu5mB^+}BlEQ{B4)tf z>-f@*lRgW5<+4p4mMc;^)??xy64`jdllJp}eEXR6Ur zqmC@YwZkc2#9M}&=JH&Gy{HE2;l-nni6@RH3P|C*1N$}b9V4>+ zNy&H95L^Lk@z<00W{!`BNkzmIL@D-~bjTu=cIo3V^8VUTlCrd8n4_5kM@6?l9-@Rd;1 z_xVHJ7Uzwzw_bSd-z zH#{^v8aWgUAg03M>5LXgVC_tXD-eai6(D~`WGNXf|VKL{dEyMUS$nva%URSqjQ7ILelT zAzN?2+Y_X@3-h+4tTIY1A0gb^QEJCuBfb)v{-r&C_;|AVPrmm%si*wveQM5B+JMx( z<=8iWfGNc-vlt{--~sReXOJi4a8n~2(icEGE!Mm+?$YJcf%Q+w1V;%+ntbf|1DWKE zEs={+VJwl%&sYVSx6gH-i)c=NwvfLhTrKF@|;BpE>Px^f=mGel_OLE}wpI`L!NC&*fZxy@$_pNSEK};d4st z@>@Lo7Vvvu{{{%WEQeVi%&zo0;8V#=(ZYGqx{Or$N`9i)zLA?}kAeJ<l>FB6W5-v{rhk2@9n7l z+;x#f@Jpucd3MV)PQp$g&%N1BICm-;Dg_faR7!~BjH+a)whL!@CE5onzXsyGykw}h zhw1N{biV(L8!8hE zD7(?fGF+>};@5J}7tr4zM=s!z+hpXJrwBQg#cgp}cQ0@sJ@S5x<$8$o#byZ4f?}Z~St7bEc^t=`}jVktm-AK+i6uHz1w!MJM;t(uy5^ zaH+$UsWy5%_jIxHSx&Dt>F(uSt+w*GCmujE-4@vH{5ITHppx*=dw^|xp)RWTeS^~S zN`thV-;9x92sKl{4&XS@g)IoIzW?iflDKE1R?QXt*m;=M>ni7e4V0Zf@T9Y_L|AX^ zWph~z;r%}fEv&E0uTR7|QqgW?(eu_?qu=F`I`{t_ZTIq6!#yw2nq6aQ2n%(f-VH8q;fHdUirU){*Qs<19iGhv!m@SpY(34n+U} diff --git a/Shaders/ShadowVS.cso b/Shaders/ShadowVS.cso index f15cfe486cfbadc74a26972b6f1f4102fce4cb9c..9fe2822941393b0f6b2d5a577e15f0813fb640f7 100644 GIT binary patch literal 34856 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 E|NI5C2LJ#7 delta 80 zcmZ26foYD2kxPV=b8c$-dfvkPZEtqSN_Li-$}%!AFvxH*Ft7q?6CmbbVPKd6#25a&@Doq~ diff --git a/Shaders/ShadowVS_Skin.cso b/Shaders/ShadowVS_Skin.cso index 2e765396f4a90974bfc30d9f0264840ce8f55877..b401516e617ba76c1e1a15bb7bc531edd2773111 100644 GIT binary patch literal 42632 zcmeHw4Q!mpncggyrbU@+iLxZ?6vdu6va+P8{o~4(WXYjLik1-l&?2SSX9e!b2&H79gLzy6WpP( zeYrG1Q>)K2^Uk;PEmu6bcCP-}k!I(cciwsbX6Bvw=KH?k$b*N6um0I*j(m0eU)H+6 z8~M?vzVh+Dh*IjQFDliAbRS~p4NAR;xDSBNjY_Q`o*p?e`khXT6GsK&?m$$XuU?HH z|2dTXg!vYM^cjD;Mj6ZhrbT%NV6Hy-G>52HzP?5Ijb8b!Ey~w<&5zI$(*Q66-ws%{z7HeTpX^H3ny~*YB67^so_$kK6AEEt()9)&pk(5Q1)+t z=NM8KXan-pC>(M?q|}|_O+cX`q%KfrG=*9MTst6A>Pq|+?EZYRQ9vCDp91{F4Gs8D z2}Bq|1Z(vR$#)_{7@F9?H?k1nY_YI7R;_$kL6@kCs!sfK;e*BU)Y(G5Ua6|*A}EV^ zWiLwoW_tevaKf75e+{?>JfO}7Mc9aRCsM)Z5R?nk(0) zE7jSWnkbg*V>zJK3&+Y+g(WqXn@X$kJU}p{wUr2fx+u)hz9j(-0Y({J+XRGx^pfB- z>-Q?)gf+vv0boCChW7$MTM+Ksbq4^g+UH0)H(4r76qf4q)q;{7v{c7xBL(OsAa)7G zpHmBkYPC337|T_2FvxR9MF93u@|%$S1v7l=OVqyujmRE$73B<91c&{Xb)J@dzG;xT zzW1uBrPPUHzFMhOrt3O>x=$ZHK7L$}&*Y{GRXtppohz1bkxnJj>e%@GCx3`K^kKBo zXQe(9*E$>EIR04^oUOhAGJT~9P8kXR*G+KJqW}4$COFlJqVP|e;2h`VJ9cXP*u=3@ zC)MHOM^27>@W`?Ik4}u+%(0Ur$A*uLtCOcrpSbV1nmF>{@TpU$N7V4CPCOgK-mM`a6Lkx1j0=@I>z|f^8x#SI_Qoc9Xb7-Zl#8Rc?rZHLKhnSgfca3LHaJwYr-B{XY12G|A+J>Pnp@C=TWV?kv-C0zk+MhCY;x#!RrjJ$aOXPJwvH^LhsCi37W=f5r58rABYF^g4!=T2X&**pHawZV2#hwlq(nSvR3B z=|xb7^7ad@+f`?Dy_5mmQ1c9M7r@=h>$PKQHG7{!^^7@w> z!u3$rO`ha&c8iofVP$qYL#~?~&Zv|*eY&KLJsnozI$M2ldxJOmAq09H5ISrdgnvhw zoAqGXfB3-<4*7QS^fC5vHX;2@XzE>%T|KYVE3_KIsPu=9A!|$8(?!~Xcp+PSLU*#i zJAG*jhl8cQ^2lBSWZzc0u_^sq7zLT3{zgceDt66U1Ik{QhN^asfxtsA@$?fB#YKVR- zxru)l##9w{H1s#wenc4iCt;Bx{HT@p_oB~k0?hP5X)E?O;;`%vuZ;Ha%MN>Gq~^-D zfV_qaB3*{p=)LRE|~$}_)79|^6Y}2W^jJk$!zQ~Voveb#Z|IV{x0-m&Z%7=(fGCVzvJiIk>zYF!dUL? zwSD8pm5%^M8tijF-tfmmPPY!gzWBQuzm_hq9Svu<6JX80L0tN0*LQpyJD9UAQwH=s zGf(oG_8@JBW;}pa^*`7C#CPL{*VIAA@VZS}+5+Q-!L6BiZN|kl%4s8(AHGI8b!GVz z*C?kRl*z4oMrECJFT@+4xNoA4@*{|}IRpJY@Qn@0oAjApZy=rPsWUz{a#(%FU#kx% zhj;JRC&owh-HB8xwtoA_IGKVN>3slkLIgQVcssl;Eby(X?eI>v0Q|oVufCJ5@Xpnp z^Myv_9vlNL!IXP4Zcbvp9p0W6aO_v{x%DII+2ddellC&((cdCZ@Br9zc~Ma zuV->Qzwnn|+U@GHOqPBQq<-?iU^6HvYhS!|ERZkFPZjhX56tK4g=!g(SrRj)TB&$P zY(4+wC+DZ9v0d*yk<$lswQ!+W1A2Ti)fZd;Xl%Vkm@ZXv_3TnsyC+un_;B5LRt5ND zKIO*qy%6biGihxf35Cge&xfR79uGyd_o%1|96ZaZ`323-i~KS^I+DE6aZr!*IZ_i! z2KkU$!IR36R+(n4V6Z@>FbVg7GgN=DQQs&UdMxCN)ObSVL*-$S2m1HFt<>?KM%Db^ zkEq-KxI=yJ`w_L{mJap4uSC_63rhXx{tmV4qEbKlSwxL}G@=R*DD@@af8qC|>Sr%? zsBeEPqW*ibL*2L~sxJJ~h+6nlr53)c)O|aF{|6EEqpqm>Z{Llo$9^19U)&Q_-->jo ze=!|ZFa1eW#ZN2s_#ff!(%zE4bq3AbNYeKf%i;p?Y;M*Y{*8jRZwNh0_6CoBd;11$ zod{jGC~cj*apvI%%qaJ~pZ`im$bH@2r<2KQ?n2@GB;MMXtuF=BN42teem3{vO4Uvz zgYb*)(e%Tay?Z}&4=UZxmB&2v3P_0iK60NcOqu7` z0cX+40NtA-V3}=Zc~@3g>TK#R%QCjURzE(UA3HgAW}=zsSfy6vy9*G*J*-6~^%jN`cnn+ZW^G zK4#5e+U3$hr8uS8`GYAvF1>5fHt~QglQf1DTT=3ax;R%srZQib?yoBVgy;IKov{C#t^}#ZF>LSLCQ_-i_w(qc$NmH%Jyz;2*+$*fLrCknjy*r>}v%)Dk;$4eZOSum^S32(pk$ zEH7Qwdvtyw&8ub^fVYoC7cz;<%S(cXs}^`!;FZnTfnSNotCn&<2(W4&>Jqkec^TFQ z3>SUQ)Pc%iw-;pMjrY7d#YRpz0u1+Z@QxB&;1l^sXmSBL%bQpG-uuK@XOxR!;w&>YShCrSAfk(Op zj}T0FgkZuW1Z%~EmI04U3mzeu@Cd<#M+mlx2U}_uOpH><#OtX6T~8xsR`tBBo^zPl zxOG%%A4xitB^95l)Z??T;((s(8_+hF4&^c?=P022;eX>Frcyh@=-FJc9CtG-Jm%bd zz2OlXXmFY+k%qED7A#Y1l&>O+Tg zx=+7f&(4>`{|9CpXx#1f8CP(?msO;%S*nJ3f9P&g5GE}G=r3G~6MH~=H^NRv&H#-S z98AYy{%FIe3l-jHa*21M!j(##P^Z6L3|Q?OH}C^3)_;ztI1`amdWOAmH|k=Dfxd4< z^e*F%OqFb$RR&NG3@MGvb~@@S3UA zAeWW(%2efm&R42cyi2R6_%@|p-ZNRu)f^4cDyV%(*K$}1U`-IW^!i9=ma8~jE)=Hp zVx@YKT{^_`kRB<_)n`WM%Xz7`NckO>*sRD&2;s-&EXd55aH>A)E@&TH z(OZWl?4s*_rF zGE7t1eY2C-EIw%lT?r^>=6ngVmU5$bq_S9Ufp8x_3z#nEi@9r(2w@17$3Us^4`UGb zsPpByT>fIQd;xBQ_e(WhsOMwr&AMElF@@QseP*4m7aEh6G_^sCFX(%*F3%2VbCJGF zF7_eq)4OzPX>=5v(T~MK0ogMrM^{l6oO$$MnR5C9{P==%la7DC@qPO<>AiRDyDM{d zc5iC`zSN+XPfy&Kc?szwcTxoSqE@g*E2cZtkmXl$GccWF;LBS9eT1bg9*#r#gq%V zDsD)Mb9%0nD;E;N&hy2%!O2a1c)nIQ_zU=+Vh-O^V0D2{MwWQ{GtFcsS5G8d?Knj< z5~G;Dd_d<)wTkua0Oejpb^*+k>T~iDq+4aW+y~Ct=&flK3{)53P?AT$ZDyfS<+^ zmbFl?Kc1Vc#Zh#*FSt($s9&Rohi(~JHu*{!#c( z*kf!|)1}IVWxZG};scDbu`xD%q>+ndJvMG^y_);-NrBv5d z+|&->_LRS+INHJlpxO4tB7!KFmlxsLa9_N%gtc^jGR@mB<}RZF=4b8H<7S=JHA%sc z$WQKnI6b(kW_UZ&@y<<6=_+^{&X>t{Ke;ZFz75Ibc?|H<)L1EZxll##I3LIY_fr_3 zDNffNHKU24c7;T*P~E!{nSF!leS5>|a=QWQI$4*OZO-b<9DAK(6c&9zJ9v{Za#j`I ziR5wbn$8#-(DH^Gw4+c6q;2P6KB&S+bQz~W4V(Q~Y!i=U%JZd?t%V&9hcin)(p-ih zF$3#k!v!t293WQ~@}~U-iR>-*@*)Hxwny5uMmhn*>{+|Fm};Ptq8X_exh{o8bU2`g zV3?AZMfR9V_d^+xKoP<8zlZn3fPexpO%6g9dU8-|mK|DOBRSXOW;?{N+uf~D#evdioS7E_Jn)8mq z>Falc!{;-or@6b~MB`XkB^rUdEy2d3GTfOB5%lNybg*Gzl%LM@Bi-%aRg1%%<|di5 zq`-Jf52)ug#gO)X;6!fDuBI}&Ji8$N5K9w$#8xh_tp%HROhKlOwLy@XEY@?@VcK@B zvVlO0YSql%vJ4;eAhT)6@l!YB6OdX)>-b@?lWpk0$=DW~oaM$0mkORpod3=I2M#C_ zzbptf+*_CI!U9fO$QfeL5S_%xhK_|M$zU$WJRAg4gJ`;AJ7@`{QecC zVZhCq<;x7lzndjOmjSZZtulJj%4LMQrmi9;gq$xKmFqLLoSI&v__&s zfl*xB`qly&vmuGTEM({(>b7@?$&H&c%3F85uovCP%_=fX>fFZVSg};NQCZLU0vYzu z!MNy!K|{gNgs9^EW#E!Z&g@atgC`!w-rOT+Th#|Kj!^!gGS)d0f+9W3H0TD)OEW?y0Hj{Ng(S(MJ1t__#M^vVAvar@FMHC7PnnkPy^Q(z~17afQ1n`*h++(*fTlp?$xCVncGSYF~ZdvRm4bCtv_yg?KaYb zKwrNVS_DF`wcAc&k3RFHm-D0W^|pe7rW^FFHfYQiSgmpYpi409e7VRk@#PNKBW4%1 zxDyL@n!LxH!aENW1y-RpO*WY(Lf$v6F59i45g_Af=4g(GA^?d?q3~u^F4zNV#tk^K z(gnvdulo<_a5wg4Pnb@H9kF5QAT0~g0bO}1P$sW;AJXBjiCZo@wgfukYC4VWtuu3L zmviF^lvta0;ty;pyy`=xI;X3oem^ss!w zBPGeW6>nBwYOG1dy#SvX=g|>0L9bbK*FoNHwtq9|^XkuE{keJf8z0rH;REN+)UcCxu3Ri!+;eWE zlAq^JSnb^X*nXX#JU5ITu@B}-7YkMIGGTW)Yv-6&7V%(q96RIYHDaam2hPDC2Nb6Q ziWe+J?y)UeijB)e&72leJIA!LxKKM^3n;!m5&d@@U#Dz&?{&%7X}IPWEMKQ&mzv(? zR*hFVef{x@HwxPC`1!9DzVqJkd)I$WMP9(r|MtK7)YPXse;j$OA9e8iA$}{ydVPot zKSzuslJ@7Hc<#`*H!Jll@_60blpzVi$5GMYe&wV8_T-mQasV*mvdjFzWgoeHeO(sdITnZ2!QPFub!0u-@s+L*J?PTwJ;{mRtRL!)@Y9jeQtm=c zrIyl)xrto$LZPnU!n5a727=E$s+Set?J@G1k{a>%69UL4-AO&!WNoWB-PoT+R(JDWRrGfxL6 z&(X+<-W8~t>y4`WhFJP09oyQ~5k1)59oyBlJ{re$Dt5&D{x*JBo{0@0xe~h# zzxz<(hOW+N9LVvmo@i%m5>S?}{2qV45gY32LSoQ5dOEMHQ{6ja$;it0y7op@_bsuM zsk#NYn}M@6x}$qb>`rj)0VLI(jU6`W?Xh7~G6L)bNOnYz1Mj}*&e%iIf$puboq!Ag zvKv@8$KH+HjzF+mWACG2-F>nB77MjbLwzhi`Lp7q#nNQAKA7y{}ynzp4d@IFyCT7N*dC?h=wS%L> z{@97$A5lAbWJ+i}I(T#6aB%hwM~6PZ!8y-3UDv5zb0&Q-EIc(d#d?qnY_LgQ_JlV1DB z@=VzfA(_+=X%7GC5`Nw z!SSR%Phn6+R5n5d9GtQ^I6ISrv(Gs=JGO&U76<297@jN{WY-Li24xvCe&mY5cW}z$ z;1D(7Nm(4cdHg##$A5=9*?U^qd1D0tt_RG#aiXiM=Oc3;eI6b@7TXf}ozF&9?AEA` z?TG5`IQ-_0?mMD8yL)1L;YSa|M&N}<;l+Dm$9qy5bh%FA5o}y1ao_K?ER>vX)Oj6* zZ#4%yc(cw9PMxXSr0BK{_W(Q&%;qOcc+Xp<|y*{?l;A5f#e#5s+zoxzg+d{W^Xna!VqXzzznJ=6z z*q#>tRmJh?;AUJ19gb(tFGEO`GVe^7tF?YC9Xobs44r4p*}e)he`|Md3{?f54=vs0;OxM6_6^P72= zEyF)Rd=l{QAuTGkBB^>w@{*c)k>#8pkt%J|6-m{A(`H^$b6z>~JhvRFdREFMHU5|7^usLwm6S`W;uyRvmsC9{c}b1W zWI25&>wi_sB~>puHT3+sadx%|9PqZZ=_sO z^)2K-jB-iMdHT%1XyNJ?QZA|5j6TS6NmW+zlBx;GOKR??a6G~a@2ik1-qVzjmsEX2 z@{+0-BrmD@h2$kw+i(CN>r1MRN?uY`lDwqqX~|2fz9D%@)eDlB)cEQO=+g%yRdJiH zNNW5S%a2O=jFd}id<4tsD_H-_QZA{Yznnw4q~?C>67sz7LaKN#gj=l@N!5VlB~`~I zFR3a?UQ+e6mBPrF?!y~Wt`cAUU} z8}N1`?SI44Zgm!O?HTOxU0-?wINN_aA;)`heJ9eL*O6`lP9y#jeUs}%xclHdl3`vW zaJ`j6ilJ%(*C?FdhiulA@se{pX-ptu45()izlQic;!B9!W8H`NpkV^Qn;>xgcdP19 zJQj7Uifn?rHu_R$v*dz0F_We2YB0B#Bq zfAipF@_x6_VmW!U90~tEhbhOA+=drG@0f7Y_tO#H2hkAkLHtPv4p7D^fNa;RS7~jm z%Ot{utEUM-*s9(Y^ns1i^y;r)dD+2Pvqzf8hl4!sHBDE^5dMUUZi?aTAlr$?QovxVCWlVAsOgXH)8=c{Px_Qxg?8mgNt8&2XFtCWz z4(})noI2e;UTxoJM2S@rPV$DKPkO5oZCk&s_gA+U2=dR$C()PJ4_OP+`xhugLF70zym&fK;%d0sa=gqd;w@2aeV{y zcDVB2|Kj^k$DvfL>HV)Bz!>@d7vFJY*sda5nf9Pg=ua%DS6<#EW%yI)%5)0A96tU; zy$T;kt6nCZcKH8efsw(H@uMTBgYPg}NuiZ`q}~3lEc4cf@$Wrv?@qq_2vo`96+j%A zfHwmhk%N=@Gm>tR^y`xTBT4s4dP&lUgwB7I{C>$J`~Ms$2ZJ`h!4F?=G{Kdd4E#*v z4Q&H?)Bc3y{!L2B7eoJ+puO@HT>E*i$X#9sMTZ(r=}-6${Z7ObBEPvjipY28A3-c3 zE+IaN*bcur3v5z%_LBMvVnmK*xlKLLy9MKi^S%9x@K>+8zqmsP%WswPA@djGuU>8Z zc_6M0TseC-JAMMK&ut-GZebRF-l}AMZU&dE<{HDYYw*JsQYI-NJ{oTRmj&P)IP@6xoQEk513r}zyd5t)L zh-?tJ=>M%CXD?hazvb1|eFqpF>L#V-Y^R+VD*SdKe(!$?%FV$}W&FuZK=%A$;^nnz z;qOeFnh`UicuAh?WCcK72xA&CoXAb72M|Ap`1;NcY;nBd>m%qN#`ij9TXlkmWUs;f@g zQtkuA5uXJ<=ZGt)Pj5SlxErw_aRl)Q zBF|jgfk9}j<+CEW{8h(>-e3Wz5n1`wjJ?Zh_@qZ#P=Ywwcd-k6Y);O wU5GG;(YX&PTaCmaq1Yf0FIm3t-WliC zvaO)HO6=TYpFJ~Y&YU@O=I+^_hwx5b9(Puo>6@ zfOu^&(C@Oc0qFi&`W zm-E)SOBtoJ1(g0H&<5>`M^H|YsepX19R=(1bS7<`&z?_TlI-ZzNIE@{;ylvOdtAv; zuL;x;)QkSvGZW`Vv*={KkeXPA&@hmFzYI5z-8511$NLIRxQe-AB zO#|_`XO|7RRnu>qhr4L&s7ULo^5~e78~c_oqjh5LEj86|EaJC~y=rne559n) zDP5;wnw341bs@oLf@2Z5M!L*;u*`Z8Hfr057wn_URwi{;VA$RD9_br-`f2l`HD-P> zkxa&-hf@}XVGwOP0(^~iz#*T6pS!>Vzhp29;i2^aV%I}E_i*Bk2KOW;@RW*W^a+dH z6R|CX-R%Lrr`p}K3}?5Q2VPI~8?QWf(&oO=?fBE3H-9=k`sRm^|M}U2kA0~7uxseYnq&vt1W%GG6aH>rBr^}wTBj<6`wXYR=pNmCfQ4>(JaTKkXv!!a@J=x=* zA``W_nPX*s9yiO0JcVyiUiK+R@JYD@Oap(QcqBadlosq-u28*dzno_=;drM_C+93& zFXMc>=p^P#PHF9oq}8x{7`y0&PX_Pfa9sbkA#;OGGCC*nx&K7u%#((EexgbC{Kk;? z`wY1ejmV9+Bk~ST#P5BkNzVKXCqi`u{$!(vz3;aNV$s4(eRdXUoxAxYa|mDaxuWCR zwVs(|Z!G!^|GV#h>5&Lx>PUadRiqe5o${Mc2g6BFlbd8$S**LgzFI%W^zoqwypV{v=?NzE7{QTGnxAT1-NuLJ&PR7XVt5{Bl4oQn zH|f|lCs!%j3(w?I)k3{&S6nA|uISF!XL2J5(_iw!bfB2<^Mg*#TDZ<%l8og?Y$*)o z>H%$6*R;*~+U^GZdx-zxbBbr`Q+Q5~{3U5DVd>8FDHe>DEzO&#U==xBncBin<&-INRA{(FF1u(NWigLfQaM6ph*d%rrR>D}z`*0%wIRPys326t*> zrTm;D$!q<>S~g#svt3zqrcX{MJ@l*a8*uTTSEL(o4Nf=HRco z3NQZnZ@(RQQDhZu>_af{x9k@&296X!t}A@Lq^Ku*5Owwel{b94q^SHv)fI(RC*Y0& z&|Y~|p71Ek8vhM>&W*q|Cty5D0yC`a5ZM3geq)ffViN6~2;x8#DPhj7(eO`LY$wvU z!$878Inp%@O1ZfB8!7qc>Wb#`>)hh=2gpArO$TCK(8n=E@7-jDJOjMA=zWx|9F;v? z?60oU*a6SN+6E2w83!1y7z?7(-9?>z2HK@1&hOVDl$%u>>yVAK%OOv$DKh+ZJUuJy z*P{Bd+!~aF?r1=6e?YEH$4-9 z;FH^-I@EFBJa9ms^3GpNu)t8qvcodou@Czk?)UWT0qT7*If}L@+V**`4fw5r`vb2% zhW5Q)JMWSkjkPqNr!V|?kUW5;+7$F}!=?gZ!;bd=*ZAeuelPDAlg^v%(z);mBEbdB z%mf|>>YNOU-r4yv76PDu8J58_*X7V$^bv30+M@JxE>ud&^PoT4cBi#Pbk5wfRU51a=HQJ+n+ks{v*m$>t?vJE zP?o+6#md6@%4}8oD*3YQNS{+H^v&CRC3vP(EiCwqS-ctS^lfX#pP2=|g+vD*1rqpE z#Y^QUfc$le0x3h#Z!3jwCiwoiw@=1@6Zm`JAY5GldifyKU%~fk36%N!DWqzO2t5#b RAoM`!fzSh?2OcgD{13N|Bp?6) delta 76 zcmbPH)Wc@v65-@5T^@4&j>Yz+Yt5`I43g9985tNDc$gU&Sb?+&5c>cHmH_b$AfCW9 X(M*n$0mym*l&P6~kzagc$s8sC_vsQT diff --git a/Shaders/SkyMoonVS.cso b/Shaders/SkyMoonVS.cso index 4d5bb70b97991699f14be77d9de180d9bc8561a4..497ee91e739ba63cb8e69cf7d647b647e4981e66 100644 GIT binary patch literal 27268 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 diff --git a/Shaders/SkySunPS.cso b/Shaders/SkySunPS.cso index bc40e674137ce860e32781d95e27b9d04ba58cce..5891ee06d4b5df15011f6803ffb3aba7aab40097 100644 GIT binary patch literal 12296 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 Xlt2;>BpygSka!^RK;nVB+ynmuRYGhdPl<@}T1# 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 delta 79 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∨66^28f8a;0-(-h}Q20hzKow2^xsj?*@n% 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 delta 80 zcmZ3}#=1bu$R)zbxrQZs_5pjX@J~lC-IP>(8NggMncS5YORc gU|1qD(M*n$0jT6LI|D<_94@^KZZP5lB-3_A6 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 MO5jxq>|X-E3bNE=C;$Ke delta 68 zcmezImg7yLsY`^D^F+azOf|c^C)~N(Ha1V%ug1v0!0^U^fq@N3TLAF_UIvC6d<+aO V0t^fZK=Fc!mhy}Y8zZM1008(f5`X{z diff --git a/Shaders/BasicVS_PBBNCTX.cso b/Shaders/BasicVS_PBBNCTX.cso index be70565d8c6120cb67113ad3d3788db7c810051c..80c150723f3602a8bb89cb688622b638e4b5cae8 100644 GIT binary patch literal 145120 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 J3G812{~w>jLCOFC delta 68 zcmaFxmg7pIsY`^DbA?)Tgi%&;%wvxv*E2diZj1~J3|9;o7}$Wc1rRUbWnehK$H1T? Uz`)=E6pxr_DbL8TF|ytO0Ixz2rT_o{ diff --git a/Shaders/BasicVS_PNCCT.cso b/Shaders/BasicVS_PNCCT.cso index c54e4057b4683fc1af87188506b10ae61d3cfa70..9c0a7313bf8b5923ca259b2c749be79bb4515781 100644 GIT binary patch literal 136596 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%0Dlqi zmjFKm_+h}0061&;QNX7Ge+BSY0e=nfV}KtA{B^+J0DK1UHvwQ@;j@6B0Q_yhPXhi9 z;O_$d9^mf-{sG`00)7hcj{rXn_{V^M0{EwZe+KyHfPVq_mjLpd8uzaO{|4|mz|R7H z4)F7UUjY0f;Fkcu4EVQze+T&Yfd2sa6~KQ4Tm?|e?*ZHkcs<}g!2N(X0KOXV0N_CY zrfr2c0UiQ;4S;jNuLWT0C38W(*!nuaZwLGiz{7yI0TRF?fVTsFC*V=QI{2i1lR{C11f+jU>>jl*bg`WI0!fdcnt7Pz~g`?08av*0=x@w7;prz z2sjFO8gLBo4B%P7alr2ad;{PF;3VJ_;5oo)!1I75z!|_^; zBH(?1-wn6~ct4;9SO(MqD}V-I6>u4F1<(Sl0os5LpbNML=mGkG0bmGN2W$W~0b79U zfENKb03QT=2=I-7mjJ&9@OuH@1o$xEs{kJX{Aa*_0sL3Me+T?Gz^?-S2jI2OS0)F( Xh-Uv9;D3E(HvhF&zs7;DXb${8ZqyHD delta 68 zcmbQTnxn(t)Fr~n`Sy9M_^&)uPyf7rfXTe8VkRR414D;80|Oh7wgBQ4JPZsKybKIa W_!t=es4+0`Oth3|WY`#KtPTJczY`Jw diff --git a/Shaders/BasicVS_PNCCTT.cso b/Shaders/BasicVS_PNCCTT.cso index dcbaf37a442c134a472091d60c03a9a1f06cb31f..777600f19d4d41bfa2a9fa92645207110d5af8df 100644 GIT binary patch literal 136620 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 delta 68 zcmZ3pnqz^#sY`^DbKuJ9DF&9ux_$_2#!S3(`6wd;1H%G!1_m}DZ2`n9co-Na@G>y` V;bUMB0g9_kw3KIL*cj=p4gl?l5)J?W diff --git a/Shaders/BasicVS_PNCCTTT.cso b/Shaders/BasicVS_PNCCTTT.cso index 16342c8310a2e5a911dc5b3e1f1562c8674b9d49..7289c497f3284874bb0a9c2ef0f571df6d9765f5 100644 GIT binary patch literal 136644 zcmeFa4Rl@CbtZNJP&7#q5+zeMBh&J=!pIL03E=&ZfGAP|Nr(~?{)M1u+M)(}03N_+ zJ>Ws_hXg1&3-V|Z&%}u}iR$IaIICKz>S$`WRWoku$?`N_snSt0n%3#KX(lVHD@~L% zGx2Ji)OBX9X2t!!z4y8IockUgDN9c5#FuORqPMF7`!H^y(e`(L3NC!te9j@f(byUAIQj*axC$62C9ucW&yTsOb` zE8@E_{m^o&+FCQusrr1SX73MI>Pz-YN)OlSv*j9T(RZ>wN6+UzNBO-Ie0&B%`HEMN zlso10d&taLxbC4msSkUQiAe{9OF80ybO}o3!zn+2qV)`%awGmah^_O*9?I)>ynhk! zR~!&7^@M0I+#E&J5k6#ho`r$O>CKAy*WnU2i68Uvyun|Dd$tSwzX1Gsz!`^+qw~)J ze~|#=@l~VqRl*4~_!|cQ2H{N5;G3uncy_{l5eyqzw8!8jxG!~q9|ip7F7Pvef4&R+ z!+^iy!E5mIc?Rwmy1;)5@Go|O{|w+?>H_~P;9u?n|L*{QwF~^qfWOuS{;vUly$k$U zc}aBqY`qE54dCY_6-6%WLbY-gD*L$sgm3b~PgWN%wQTjYsa*5?WxayR-Hs?Bz}7M(qI{A9hpGTkaS zTF&#(@_cl(-k7g6&X(urtILb0s>>1RFz=>3pc7)0SEHlVax*$wYd4NoT30KTWlN~( zQWTC(EMK8zsnn*c*DC4TMYA5K%BxdVH7?|R2MrRQN&Nh}@&i`KDKo-douH`CHtHXV zK3H9zzfhTL)f>?pMk9;+Cx8={h5rTMG2pJ0H_=Go*$HF_@Tcno+}4*v{r z%7<){-!Hl^@K1N4a~kl^bb-$U{vzPyhmWg+R{;M!{Ei=|hgT|dN6W3b z%SXzyvowZPbW~80#v(sps#0r}T~MAuXKUp(7*RAFGw>a&*J`F!YV%nF`WU@Jw1B4J zNNweEnO5-8rSsLLN+W8Ys$Z!rq4rzsnT7I`m3irjokk^x4lhcDK385|tT+aW(IR#F zXl0oe-1V^%m_&efMvIc%`AW0pUhBt@T%){LQ7f@{vOa$tY*D2(g~dmkm1Fg#m3FJb zK3}DArrm<)XnSD++p_*hOf;=vMXr`S%&}q96^kIg~FkeKPh#<9k znre26bUgFEdYj2sjH|Agxv!kM32F*YLHr^6;o;F5pHpKupMe8RWmg>XOr3>z?fzVo3=xiDSg^PLaj zA{V$E1GUXKETm& z;4n?n?4QJ+%)@xU+9lrR=QJMq>Yv1)%=3#N*+4wXWt+*bZ&HztH&jL_!gr7-%Imn{ z5{FzejOjA$!d9ijFzN_szT>Fj-)T4u`xbGbhPMMYfcIg;A?)`Jw)qyNIpNVbXknzW zzP^5c0aeHG_2U-SkFaOgqeJ|Gv^@Qjbk=`Ge|(oZ_l}QQy3CWy8(lnGTo}?^KLP;d z!*oI8!5;yi%olOV6T`sERu_l)VHoj0x%5xIME3*l`t)HR$Hnt;KT`V8|8PB=&kp|j zgCH&ZF%85Q{#<&FKl0-EqYJv*S^61#C*esR$_M4!uVIwC%a7xgF5@H2myhJ1 zI!yg!_$kC?*|P4?y$P$h@mw^}9dvm2bjUHqg-%JiPzJF3X`UUQ=2DlkdA*U8e zeW$fE*|`za6S0gnM$> z!ZKoAVmSyOR=0=;{e6#VlISiNjLR`wlxul0@o71&z>#^u3;cSQQG#Y$IKDUtv zrtNrOdC`w}!W;3xOJei<_`@C!;v_obw=ax;5As6UkSC`vbSaAgxTrS?eYAx#{YZX@ zM?MeVyQ&*QhVoI{xu6f5*3|4lsW%UD|D*rZ2POrqf7A?3nOnW!68*Zx#AO zlJc;vJ%@10d2^qZEp>}&xjZrK_{X%o2?H;KemG(Mlc;IY`ndZ6l*HkC*4{hXbXiAS z`P1*p1L-8??qF694?34Pcaypo?@se8&iaGMkF-O?*=Au5hhYVS{SoBKhh@R%fZ1f$ zZ5NOExEK#g-VMnvHtlb5g)L*!gj*}PZ z;1T;Hu#aiEPzU-a@h3tt;P-D{KluPXc!IJd0DMdRV0`lMG5%F}QsxYE{Tseh{(R6T zB{rddk`UU<^ylge0;KGSfw+<$-<{oHJ|<$dfrLBy&VER^$D0f9n$e= z*+$ZJWy*Kj2R<&0`r^vl!9IJZ)-n3+k-o6RLwSh%vDBte*0-Z7$B->`f$5NMDFeKd zN5ZHN4TKZ!Y=zS)!Za`I58ehki5^&gmt!`{fDgl&4*kb7;Y^3&PRFw0Ob2ac(zoAi z{8D#G?^8Q9f7v=ux}SPZ^F%ygCGC}i6Nhx@y7)}b*<{)b$tPfVlKvax5bj*iPU^WI z$A3q;CHDQ`dP+BV_xk88XD55d59^=fndv*8MXr{Qd;Vcc8#I!7=I8lSn-V&r*NpFI zIr?-tZgcr3|K!IH@1F!x6!EY7B{FgJ7=JU`8EGS)jp5@UI!%w^PL7+O)o~)zV0_kV zzN7!L{w!S5=$j1tFyx*67CxlQce;${{h=#mC>Px^C0&mYHn zI>0bIVyF1x;=1xD><+Nx>JI&Vll-f7=l0m@DC!0u)*bgq-Pjvm%6O!lnXjs|sskFUp0 z&c3cCG{7V2Gd`Z{)?FgG@)BOX_|$!ueo$Z6(=_}x!q+Ru&-YT@g`_uZQ>Uy?L3z10 z4e}THQf@B4u57aNLca*RMtxz~`2A?k>ug?8IOrtlv)>}+IH~h3oTs5aNqjGi@fmis zOBgi=G^Ibuc>cH;-AS3pfg{far~#fUjRB=9De^KkiGs9-)YPELx9*kp$8f8VI5)sAJCCG z0fxK0(;m^@(U$vdJ>wAO>|M8T=F!=^Zs8n@IeXVFocVX@Q#RT32LL0_1t%lOmAn(? z^vdM}xs`lK-jQe0b8?`|@Vk*uKb-WbD};&uSUS!&^iLuHeM9f3V-?WhylXE!gh^XY z+T_>G1#gB8wR~;)eb5m;CxMiC7>8v}86Uq(%g4beSHeukL^r(oTaVxM2N~yM#;?js z`Dp;gGIn->c!b?-FgPlEz(h`vJ$c0-pl|y4i7}QP^TucT{E_o5xc>q_^2P`H7=08! z#vyMGj@Paa)9|02@GuSPO|NJA?9|cd|L*g?pB)=LcJICMsp;eK_{iAU;I=!brbz(I zlHb3;Z#$X7^G$WW|Mzc!1is8gliz>-&Po9GyT`NscUCTcS2E6aBF4{soMXPJ5Nso_ z*M<=9`_K2b1hV~y@9o@tpZhl}ffq*deT$zgRoJKfz?uKD@~@f~j{N-jKmDEe{MyY; zM~h+n`OokEXfX@&gTMd&JtBd>`qRJqQx@dU{|f#bJ9r5T0~^gt%hk%0`z}q@=h|Gf z*u3;`wRO2Yd+8XqfPAoAd$Q8-UPpAjUGvh>a0`&vpFclxxz?;j(cHmH zZI9-BLUU1R&VlAtrJ25tG-Xv{^U^G7UTMy(EYHogS}mpdwy-Irs&5Z_M(eHd^`q@_ ztI}A;>hQOPwWqS=x^wqGVWHT`KOTtMf4?u9#{~0dexon?(*^8(+0!3Av=~MIZn!`C zgTqmD1nTkczuq5Jel&{y8SvlxZ~LN8|49`6!Y>U(@xy)5ACC4%Klcy%qW4t?q9c3y zq96Xv{^;*vlgX2}^hFb2j-sFWqk-r@Z0U>c`qlpE4{z^}n*Vcu^jkmIA1(f;ebK8Q z?~e}rVPEuHn+Kwue-=gm)zlTwbb!{`F z9E^3Hsvlm6v5jP|j%_Mq2zLuu$GW5BJ(PTRl!Av+@KH)w3tX$W8)L$VERYRSapCzi zoJo8XKmJ4h&pdh_0*IH&)#aQMM_gUTlIgv18+#JsYIPo|2di#}5_zQr>axt*=dBpm zSL)69a4g&FlARejAwJ?nJhHlWZLcOcVtMHVR8_a0IrKrk{LbFk@k8lxD#zywvKRVhGQ*@=6%kPcH@PBCN{&;kBxgIkTT9&v~ zkI_2BP@>l5YBR>F^;TsyZmq3UMn*;`d@7IWTMPJytthz>#AM{;F&hdfKSBUyffVPY z{Nom4VJUrFU5G2PpJYChM2)+>nk(hG3S{F8F=m5QzdFw?TVR4so@|ty=H5x!$d#iw z_r?JQCn_!W5!peeQ9&cXw6qLSai|rV^_-VF1&Mzot%)E!7b0ZH;1 zhFUc}ti>OOrB(EBtXmKsy}-RRCj2BglT`=LBSBT31k#;;p##xXVauPZ!j7K#Luv|4 z6E%N`MBPDZP^S#sbTX0pEVXoRoX_O#Xw_+Ng2_Dy&79#&B^si(8~sKF+i;g-%?Mze z-~DcRQv09nf1n9S0~3Y!nuobr*)D?iL23avO2Gy;DvQ|oQfcI7$5IQZYP?#C-S$3{ zjMeOPuOFo|xGkmpP_hF#AYI6kj#a}$vfhR}3lLlF?Y+x@6NBd}h~QISZ1c2i!1E(< zFP@)hF`nkGPannGkq2;)yJSmskhx+ubC6rYS(b#`i5*ZVr4%Fw>E=0~*O(dOM!Jw& z*;D6(((QGA>{8593-{WE;lakcjf14A^~;?aZ7ri5gh4GDYSc*G#;dxX7J|?^zq9`6~ zFQd~k|G1acV(e|;^T-H4P|8$EiesfzTwRr<=qpJnPB#3dn*fsp0>TAf`+R8?QW|2N zV5t)damZZJlXy^;ak|UUi>uko&?tEsj7#05<%os*6dm0lQ-N}IB?i%F_cuC9U@suH z-`9mghBL90JvT+%J3q-pYk)F+twN@aeI z7)i=jDFx`FAxSl+UXp2kOJfH#Nq>l_L!>O#q*n??Fgp4!A11nfH^-}PJesMEejh$X zDuq?n^;JpdhKHN1OI8-rLzTK^@iPYWy!BLlKKF+#q@C21%L6`2(Yj0=6r?EQK+$n8 z`s+MArZ9C#nR-CF3)T-pjHI8}l78-Vd1(ckZE*@ktHN=;9z5gYHEqnoaSQ+1?1I#W znT4ytu{0;qg`BD^%p{vwr^>A|lo!T#cCA&xIO|6$YX=MCrLp4pMDf7>_{OP>ju!8m z*gsY(jgLc#pH>?#bsv(@UCo~PkU|KI2&!HfC$rtzMfPn)9GAQ})Q(_3w2P8S$C^^% zE!{DlAS-KO9JVJczG<1cLGjJ&mhMA0E}sYDpdwlr#B2eA z$3<>8FE@yVj4N&}muGjD>5h(;mxY7|;%_a7h9wDYx9SUN+%;nsw7^Y{(_0Tb5QA8J zPmEZW7beAEDT1Lkd@dj_0TMopsiCp4;(dku{sR*Sn5(6B4RSIrg%QKxuugex6h>AL zGu7Zh)cO^O*NMTyUb}Xf(|7)pU~}#a^4gmRAAHgmSKMUX%V(j4StCB9qg_ObP?HX3 z+z<=&qR&Tv>e7(neqZ2i_8Mb$j&8cC84pcBp|PAK$ln>N)-7dg5*|Z z?j%a^8VTfj_Hg3&vkJryS~bnJH4iAOYeTT*T0N-^m=%$U5te5C%A6!iG54en?qrUV z8ABPaT{FcMvT=E-t{J>G3~tvTNY#{j$>gZHTcdb+zD5i+YE@TiRUGl4Q!833`ZvjN zC(mhR%TzC6?y4t4)-VMcQTE(!tgYh62iXa%WAiac?r~=aKo|(b8-dxhmM2jxs-p|b zwlE123sjIgo0J6Ss>AV`kW>Prqw|&7_F@c6D|7iUlNxh$R7+*WQ_`I1L!#=K%+26> z#=vkBqoK8ut#)Pv!BPjr z9!)qa!m6OL;EKQ`UK)uFnbe$BsoIH2M{-i9>0UL%tX4}*Jwv6Yt*u>EE4!Dr+x|Gy z*C+-y9Ly-!NM7s^f`y3HRaRUu>r6h<2+~7=1>DEh(eq?$Cr!~2lM{KRelfLx7@6!L|9-l;`WPD(UOT5&g`b}uBge|!v# zCUUY;??TO?I$~OLP1N8mA>o8g)R@|hPik!L+Bu|TJ4~6!y z**Pj9TUy8-s5Cc9BGG0Pn?$&FO{@w;E>Ehvh}{80=_oZ=r4~G_UgSh^TWRhd_WGO6sR83S9!oe45*xQD5a~lV&@pnRkA5nl{QB-!)Z)OgX z+NPEd@deM=d^tHlK3w0Zr1B0-@aGh255hTbkAtgksJnAo=_008W#!}q)1(dSVCiGMotpEj*%nrK?N^j9T9OYu~AHsPoh1n_CUbj)K=jwiH9&JC@-E%PbKC?T>CX10wtGS zxz#Fdg(ImNx9qfNUa!T6Tqi_$CAT%SxLT&jUiVfTrc2}F#Z}jR7T zlNi#p>9nMl+qD|vi!W^GwdzwEUPmXW`jA6c#T<9j5LY3_EW=v2Oq{?}<~uXyYS=i0 z3MD5Wt6j*krAvs>oPjBAjj{<7nh}s@n@uKD@v@oFG%1;Uz^fn{9jm`?D3=Ue)M~g{ zAy#}0_NXxF;6+utmx9`CeB<#+hdXeXOJ}f?}eMD~D=MQ%yx2m4Y~F)MUSlH zg_s`*Y5QJd6y?Q^A*T%QiN{^Nwkc0-g~U#bTZJ}!afaifnVBl5Cav1YL>h7=(YPjq zCBbF|$*`#p7ax$&u>Am7U_qPLSeB+f^?_W$>_p5uf82fOEieHR9=<-xAeuVF)FXR@|TiNJB&_r zrb={JEuHPLa+XL0s*0nk%;^EO@f^%p+~l$vF`k&~d(cg|0DldZRu{D;t+Z5ZwH>OI zz=83Az+niKyowx%wCYGp$x~hGa;$rtLjxy=-9G5p7ph2#JhCW)(iAyWj zkwGM}@nJO3q7rDdRp=Ln8eFwf!I(-`Lb`dmCO$)8|CWppQgrr| z)1EnI=o6mElC`!ex+;&ApU!M>{Ustb5Er_cZS}PF)WN9KSV0n5SmTJ#W*fb+fVj}X zU-TP%AdvLqa$P<*6uURMmOkWwi~>h`wAwBgNW8o>%ftNR`W#lzH@OJ@O1aj?LS|Xu z?Q~I1BR5iU?aGEpC!H(ir;}tFtjY?xg1-Lkf^8Y4B08ysIlX4he~?=6*<6Hc ziII+`CQWIQU=Shcl-p1mk*t8Un5?MyO&1s-2ZY1|(WJ zLS5|Qh*(KZ1q3~RRSl*`42gwy&rL9>)w49Ois8Z6k844iObQL2^e8}ti666!ckT2rYeY%#^=QCvxXOcMn{VifV>!ZRHP?yN|93$7R8*(K1T8fdcn z;v6b?vSO4*17n9|26}8Sru7TDcSEMY`8}A@Lu`537sf{PpjwGcTpV$&o@eX>XsJ%| z#VBY;nB!G9EekbI&4f+OO8=UwAEX{h!L#Ai1;YpPH>V)v!pWPe_@#4W4PrW_?h zVImYylAAE92!jgLH7Y{Ws8kd$)hl!S#wjx#TEjrY^|g^I3R#lBf@&t+UR9MfrZrbz z#&YagTs;x5$n6@K&9Bv}Y(%M_%4+r-t}3dV7T5h0iSmZp2Y!4y_6=9}2Z(0h>$bqy z3Lau#sbk>C^_Iy(d+jS>xlu*-1lh`^5-Qa^7gi=KnSv!wRnFw6LFlVv{|Nd7R+l8< z5TFr!6h=bZ@U#j-mkZ4zRj!E2iFXK_Z-fcx4*G`ZmgMi-UvwW0xTs0+Q9utMyu|*B z?5@HFtJdWTzPBtcmuqh8Rj}?8y=dBGOPjA^1h9qd${3Ola39k|uDS&c0XDbbbi-cl zip|YG-LTg>u=yE>$QaCBLqoO?Z%{nr0455SucJbrdy#U~!#y5N<7mwtfZu$Gij zu_qXTUk(VPNfa1fl7$a`a{EChH^&(&bo5MVMiBj8LdB>j&^3b!)dZS+^+~8Aue1_5 zN9`(jfi)Nsli^nU6T2aa6MGo;37m6zj2=uQ~4^fuuL%amCb}Xpu$*> zJDo;NC7nvGS<$zwhH}01EHxupG_Bg%sc(Ww^~_*)(KXVfYGyF6b!sIsi=CL=>PCxP z&W=4c_IOhAoC285`w(_3XA3@r#&)*oL#}3ZxrD_^N;}^{+k+Tw4`Q@ENH^M)1o$p= z(Dook+k+Tw57I%KB|=S9EmyNLc!`qh6JlMH<+T*c%-^Pb^5S9294AWtixp+;_X|rp^8`OtX17`{jVk{DWR)i8*#PjUcWBKEnT>k z3ogRr@?3n#eUR(^tZ_~>U~jrXZis@zcO-I6ZTG1<_s!=B#VDW4q6xhqw;k$xxUbGn(!@uq z-MTiUY1#Jl0$Wuwo4+lqtS@P2Lx3eN223j%G31M*mY$*5mU0$_gu8v6j#IP`qC&En zP)knZkB*vXus$9Sx`T+1p2|M%AjfwPcFtS%`T9Zh3L6bbB%bFTfAO__v$&kn(J&!c z+{3Z#z&_qyp35l+J#s}g5fKUqqFKIA%ZiIkXRm1WJL!BGa?4CY4}G+bpXz0CwK$ZJ z=DJx4HI9s?+i6eIy7WWUP0|YWEt40CshP3txbq9RZA3YUTbSOFl<>wS<_M9^@L|@_ zV#p+%>q}g>+K-N&!)P4eOIt)R2fa?x3-@5CzA$Agp~j-O+;k2Tw468Ii{6|p?c_puAD~O)3Gp+b z*%gAN90?}#oG6r};WBMz@5ZwzvI*#cZaWgJVB5%yZC?;vXCGUuP&pL4DIBw;d=Sev z@Qmnwos*R-m0B*@u46h=$hF$AsKDm#U^I8hPIlweY89wDJ=77G>0=>0DL~jQ#O*5? zLxaVSVV!7SVRu)>pKD+7B-D@zW;Wo#rebX)5zWcGA@kN*Jn4O-5_otvg3Pk-veC`O z92{@Xo|)w}k|PVNb2B*CBdO+t+eSzE!x~*Vm$)a~r{rxR z#eTnZqpMi!4XM%kE5(3Xx??bo-y}6&0nDZ#-G7)bc$;t!U_aG{ERh>rQjBw~DmpRZ z5xLLX0h(b+C_=$A0+vEotwZyJM1A?r*6X!+_Cn<{>{o3}w-R}>rHuVNq}w(b;_?s> z$=?8x%*Im@L_nl)14KM&cITvceIj{Jnh6oLc4)S7R0_;TyTV(gQ+?}@NwBxw-&}14 zu|bhYHLS^1^Bu*aCM5eUB;aAgV&N7#k!TkpZ)%TzO5`o<$4`m8g$?;B5$t)#WSP^~ zqk%*+s_IwXJa&_BMC4R2A`_lH=|$vRFCzDOd(wLl$@j`m-dELLM0#Z>FhRYD^vX`& z-yYwCNTFwT4&0bv3q7+leq(|y^vsTLQF~;k*eg4QG0z(HBGM~6*a+_(tgx}h7JFp} zo9Q7k%Tif$*VJDY3`$ z2XF|6_XNC6q;;RQFVk_grhE|}fzUTUYkM6xq;?=M0{%H6p73$z2nAPOZpj!xI_L>S zpSJ`4sUsWb6!gwtZd96=>$UlezTQ znTp&%&CXYuZj~D?5=@DO)cofDy42(*dXEx|Hpr=e>dtkkovmN3GAb{-eU z%Q*rbMW45E{}7)}YFZagH1#}@vlumcbX0`{YJTTr0}V+{$1#3Ct=9ta1=NCbfI75S z$`qd~rnv8S8mkKDE@x|MK+Qi9C^-A*2D;}noNJL&Za~r>HyIP*qCYvmE2-c<6aKiV zI3eRE>5!&FgL9Q84*0~OU;ONYDV~LTynwTGw1&=AbST|1PSCRztZys)S@H&=Ps);X zPR!4=^9N>w3a4h3)--6)?nKD@Dfo-1R-s}=pN zW);@)Mo&Qj>-va{5HY(^-Gaj`x?wK^C1U61b&D66gP6xrg(-SF+FcBDgA{c{XOZ7Z ziD=I>ED`Y~+IN&6=9d?n2MLy-(`a%s%yoLtRg8S@2OYlhH8{BaGyA~1AJUiW3=vG#l?qCdGa!86?dp; zfK1N~6SjjsjBqdm);y{L(PNV;9mf(6XS#Amv_NK`&bw5+Zu4H1%lsntZ<3nGSn-r{i+rbSN zilC%|pEnzDzTAfU55;#U0<`1>)x573Se1P^7Pa!kQ&CCyyi@4 z28XTTyuulsfInUe5nWzKTyaVykF{x?-0e@WeVm8aV(rJ;a(Ssb z7w~~0q4aG1gTS~z2HhyK*)^D3gfRiea5;Qi_C9e@t_P8iVgW>!t_2V*#||TLO|pkE z(_Fk_=aE&d`#DoJ`RPuGnI<-)*JYs_*4nOEwNVm^5$h%os1KQQFySQwgXkt|P*#-t-VMw;=$Bx({ya!jkMP^>zhGe*A4ojFvq! z%sA5p=bCf3eMLBX3rBWk#4Cz~!sQ~#M8XPm*>TIWCFeZ%NOQ?TMm*wrCmTslxoi_b za5g%-NOSC+PNV?P)Ob!Nx`jvfDmmGbS*!+?a^+cWE~XYMG)$H<8+UZRlSc*hIs~Zq z@je{~_t*+-X3utSZ+IM!hpHPd(+J5SI~(D6N9XiD5GN5Mit??UQRA|zSz`&cYg9P; z9sgaR!NPEaZ+Ns!uk&HDXTM0&)C#RzTq7?62LPKnf>78TJbtL|($%=!)0k=&wTC@dGs)k}t3UIg~04@;4fNus}n<4-*8B{|8gzChY?uvAh=FxLM zl+lR*Rn){vNrOE8f~?h3^{a_-?`X9o#(vq?=p6_W(4p`UmeA31^mPh!dL7jf6t)%( zjf!_VnD^>(lNK`bb^T*Byq1CugvOwZ1N{Tw+EuZ?Njlkx?V44VE@xbbLdf1%tO5GA zPpEM9%Lv)NJ@KJxcqQEBbP17V?=vF| z5ze7x@Zzn>Pp&0c3{y% zzl-ecCwKicm?w|`6S65?p}K_=`^Bx~rPl~7+4?9%U42ud$@5OKZ_+Yirnu{NZ__6l z`fqC!x2T2VO2!}H3cZS>TmyKdJd3X=wN}}+$y7y$EN+s8?mMf~eb+tqSWDLgTk%Bx zZ2Xg#q(5VJ)*-ouG4V@LyIq8V$Lfz@CR=#ry9UlEk@1fN1*b}yOq3z~?TqKl83iWX zn!0k4`%$bP?${$NBO`AIu;f{lgZmDH{k?*l*}ZG{Obm4c5%A*n=31B<8KdQTQD(U` z0!mEVR3wZSevD-Jjqa-zTC%xSxY&4OY*3)aki>&^m%gSOEukEZDDt!6HdPeI4Qx8i z78+Z!WLv2PN{0fRgd0b@20|xB&O(qSLSZX-Z|;6I_6bVA-5LbZjD!stOG@+23fKiV?xtEI{Tp z9#dNo^-ns~+G07bl{C0cHB-@vKiU?26B%H`@Djz>y1QuB@qpZU&el^5o_YN@A6 zd8f`@t5yEZRx3ofezhXiY_&@G=*n=SHpbU$r8!?`XAhOYFamYK09Ny{lE>hN@MeXSFK4*=mId*RNKjnypp|AK#g31z}vj zS^U-odseIBo2^!e zaQ$jUs@ZCl@bR6gRuIPZs}+#G{c45C8&xX?eUDcwWZ~_rRwVWvtyXRu*0)iuif&4c zolza+CR1Co3()P_#+PkDNbRu0wn?fGTMvZPUKZ(gM$_)RZZ%92(bEgkXzau`Wm|fB ziimKG^SSEiiQ5D>5`en1Dka~Mll){-C~7uHm{+wY-ArQsoHDjU{Y?K|!Fv7k)3eiVRyA$2W4$4TrYDOo^Okj4+E=kQa+5A9z*vq$x@T zn)ZRr(sM$sOH@h620e;T@yXTam<7TTLafC=A+T5qQY;u5CB=sYfphhGV;<`_1Vg6q zuHb_%(?GhF7SpIILD=UrqY84A8E48(ldx5wjq0ye>NegikH(oY*(>xX@^!oSR zax3>=A0JK{vOKBCvo&z$g?X?8Ti#0XQy3>>eKc3^SQs~-KSkxZ-vh@yH{vOrM;08u zAjhy^L;01V;r1}b$P04(QFFM7BYwD58$s^H`ddJ`{~c-Gs=wPGs;VHg*}$_ zanm_kj^^d^eElj;oyKl{Osl97O4OhG=v^Gy`|i~NhRG$d9RUiSss^VXkPr@^p0DUW ztEOyo^2xbynU&u-ScIa%mIGnEvWD~CaM*?&o5f>5EInCDZWYx7U#K?Q$&K)YpFMW` zWWBy3dw)E113$DpZ$PmNI6|+1<3Y}%wT5}e`LjI&%kD5Xi^*N$UdH32wRYoZrFFGZ zSvHo#a6cc|?jOX3c2#P;ioHAZVgOc6IaOXw_ezb97BG<)V+TpIt~aWxom5s6)e@x< z$vcxdS6(_-sX>ptQ~pYEjfV(zXq_k*P~DjqrCbslhS2F35NKv)L5Mr%Lg*nHtaZ*& z*_&#eL$hN#LM%s@>N$jyn$5Oq{zgaBHP>(Fo2(7R3U6u?4<2mFZNYLH;XKa?h-psb z)3zSWQI1zC*v$j=t5sWiwDJgPyq!FywCwoDq*#xYYdCWrrUu-eRX$EuTR5o3HHTLe z6IJ7Sym8yw3fZGrJZ%JASe zPvufD^afv57pw|!A@XG$3|T`RhoNiNaExCiZZBhpS*?O=K3OO&+wqaCeYHdKn_dKT zt$20~&zF3%(pawG#D1`ig8&;iwZFPrnMe82e!BFox};Fh*r~N7r`lJS(22XUgmO1* z?%{&mTUbqgIJ8879C8pEq4?f=SCL&N@w7U8P2%&+hoNy82QGLN=r>hR_X|k z>a4TFiUKfcn@BwBk7Ao!qt#xPJ};KF;zaYM_S|K6g~1%6)+(4-1EsT-R;96TrM$e% zZg;LJ&08~Gu9O?X%4``)A?^C?N94?{YO}nu!az?ZOqs=pWKb(x$dKKY;3uS%UiD zqJZ+FG-+2@0w~SuQl{OCm8?tPF2Bv(~F+NOy{+jd=cHOAa_a zZFScbXz$3!mR97jrVm#d_1uOuNK4wNLM{}FOC+naTmY2IY3ntF(@KY9F-kN!7l$$o zZbXBJJ|;A9wy8&BXmoS~B0NNq;<4)Fnk<)wb0Jf+blvkaIx5FgjWlr7txpff1Y#W= zx_vNp+@G0EZFH2UWsQstJ(xd8gp@i)8cf_AzfeYT+?EJ;Xu-40X#@J5Yo3sSq)p;I z$=C$QN)3wv>pZJ{q_}mp9?xlCvZ-bpiaksFef2V}uwb+HU#;Rk6{;JRr_9V{L5;&7;WcNgN17 z6WiG?DoWU&R4&q1(&Svm#nP||6rW0%LS$1y5V8WPvblq$f~`biW(Tz5#q+k~{(Sum zY@nTIR)~2q>jFl+Rs%Cx{wk9DxI^{7>yLyrm5Qb|8D8N<}-jpnK3KJ&*W9*+-)GcF}6(0<%H!@isQOO0_> zTC@*X8t&t6jHS5yg>E-2pUU;HeBAD|$Tvg$zZ-E+tc_E|+9iY+O&;U)NRn=-=2;%L z@;GW<>`0Y8rDk$uAMFnNmQ^bS*>)x8_PX9Q4(t5oRQrBsSFX|M5*oZl` zOU@LVZOG8UBc+%z~zf!&q8!rihGUrQ@}N<4`p>^R6KZSce)~`*iHc z^sysT56v7qeO|S=GkJ7Ra*6h#Jwf`z7CRt1M6Pn(*+NU-JqpSJg5p2X%2>0c)lOrS ztcxd8D>lt&AZfye55ZbXt!!k8c2$xJ{;28}K0|9wy{CSX4OOs0d+-dG)k z(uA*1F2Gg(q#}9UBJh?1QfYIru?>7nN24S z*fGL*7DLZ6=ZwkZlkF8IrDI-qs5>k9;&xj2NIi{=|OQmYnn5iiR8q# zB$0Wxu~C+(PybNrr?Y`MWH3ZG)h3o8~%HVzO8}^(({GZBb83Ubx=u* zlyoS^Z?jvBk!5yPJETqekS6cM>|W077jF=P;qsvj`LdhGB3(Wi!4p*NUR44i+~3Ki z3wM^$o%>Cad`#)QS3r~u1(=BreTkoWW}}>4d*CoXw2+pUfn=M8*MRb>=aHgx;rO=S z_1ziOrm)ew+~3Jppwmj$%#IhiN`n!8{#W8~auc6Rnfi7?)}@!FFgFt)6RwoXMqlt-x1R3fvKheGJUUv`*gpEg^RC2#0JNXDdK5WQ?`_|xh z_mFZ&|4z6`zb7QUs4gV})N~?K8D%l^>DnHp()4P&!wz~2of9=Qf1Mxtyk>`Vo)%4| zBG1|AN+)Tdq`Vdv<2Z(;lQrnLq&$%Tp0`?6l*-#wV~p4awlnEocQ5pf`y3q=(YGu& zlxCNPHCwq!vqQQz#OrBmvxGJ>w3_`;?;P_e#Sdb`h1onR1kIgH`6V-Sfi;sG=Jsl@ zSQMm(9dn6L$=?pOB|WHar?41+oV+Q8W}NKv?HLV~FDiLA(~$&r7?32y8+YM446(dJ z9hw)|khDazIiTM&Hn7mON@FGGfs$lXlO(2WqiH?A_u!`nd5bj`sq0+1edWbWu6+)} z1!k!sDa#bKje&ehUN4DY&ztm?2)C|_mzAXA08dc02@nYu`NCDszd4OApP15fQHtvO%8I#7g7gT79;x^e~lF#+OAsLP=7<>I6B2tFl~1olq?T zOdC-Zh73EC1QaF%DxHC01{ED&>o8Px7i4lhm$K$3HzKKG}L<#&3SNO`tt-$NzO?2v0bZ$${E zqY6(hr4>2T&KVEEq*lU&7-jqNp{fw67gp z4rsKIq;T_hXZ_vZbWZIM&uLh|E=D7n?KTtS>ai)2)?WcWGLO@jaYc@p9hq5LZdO}Z zsY}HbJX;nAE5HL^+nH5xj`ESE*$snFi!>D{z>VcYSelF#VOIt3mVpl?IRWq)%=5UY{rm;$Ka=Vq>){14Xi4?7Z2wLt6 z?~y8$&~B^C1iPNmY8pkvf;>;Q2IWU;ODNmHqoUorVxiI!>xf0^KvO(@!6MrGbCE3|rUb_mrOR;Um;S72K zZ4=8?IDo%eZ#=1k(*`b}!aY4Ub*d-xL9EyVi=qByOe9vD&346B*mEmB@7~2Y6n%cI zYmt#H7OB82t?)A8Wq#0>& zNFJ6{Tex&lKKWxH4$66&k{`>DEn%S%mnc=QNe^F*iR^rK z-%#V@jDk`9C{oOUyWwLxpWwRP)IDrCAUn9owU(URIdWAoaW41hsNs&``DK zE7p1UXfT~FbcTkHA2XXoWFLbm=L*BZ17<;nhW$XdR^D}Ej8mq<(y;9K#7#p2ibR#V z=5;Gsgi#{EEc_W%@Y+0XtXRXs<$7}_;RWUgedFo^4&3%~BGjH~ zzJ?UAI4m3I-nE29-M%IVpz#O^ibTV#N-yvNXmqks5WKG3Dl&Y$&^)Zh1e(E; z$ngsG-J)|zpILY`tEd=Y#P#hIugQw>pqDt}H&8BzV~(c;XK2_}4nLh@yuignjy2YW z4%P^~R|%$_%21hw2=qC(kgoM%<`)XX5W>Cw^}l8?7yR$M2D3|oJ*#PgJT0F~@rhB# zVug5l$?b+h*JNo0&C)egM8oz5#-f0SSC8ueB_o#R7yuFkKD@K1?v_h!A=vg(Pe_k z0A>*A#4 zKEqHPI>QjtOt}%B8i^8xAkiZiwNU$M7Ey(SeU&Iu=(Lz|9v1DBVU?vW8yVV%mTCv| zf+BZqfIFLx=Pf6u-!W69f}v(96eQNQg*Tc-Q#a=xJtD zH0*aWB|T7^**5{EM>fg#RjaP<05HM?!~!PbNCy!eC-vkDmt7bAuK0zr%=6pvkOj} zjdv!lky19oXlWD^5+~e-bDGw@!aWEK4eNZiF$AsEomM7~p=6z^rK|n%u;?=L(O#=( zQ_w00&hNdM$>@w6i!pEMPNc%zWMr~HggIZdF;;fA8|B&*kg;;@i6*Q{ za&tgg+$2RtT69UyaY{5)W9?guXqw5)_A!~$3MV#`Kq#OKuO*q8LQXfS8p!uU|y_y@&Sr+uz{={6Q+SINY8TU%)^`c`!_v>`aPX~ zt9j{R%zCtEFCD{l#|O(b?B4TU?N5^ho) z`9JgMc?bZ*5DdngIQ09QePygx=MgoyEGRYkDFKXgu~OgXtr*ui06rX_f-=?ob^AaZ zaUy0Xhik4(9nr1Mg1(%{~$_mX!k)AiF zH1~5pJsVS-+8o!vaefzl&C$_iER*HrvhMIg6^k*eDpS#%{l>zq7Ve6Z+0#JZTENF* zQYp&w_zHm~p}st3LjmPS2%s$D_x%1?-&kK1-MYEI{Ii>Wrw^}h>bVKnJeY&=p6b`A zpM)oeSJM8k{=vUI{dv4k0(KrQ!~EwP@HpJxymRSSZ+SY3UIvV~4D+8y;Yo1YztGo4 z;v`30hWXE4@ZxZvJUsu$pSmZC{tx4UVgB=L9`1`D``qFGac2}=1B`ST_P6=jgv=d{ z4&Ancg6!J{dH(t4$1ghfRF%iE)E8QD?%Yr;7ZK_=4cR@5OHv#77BG@W)C1As+xjlo znl-tjDH>bNNA#U9Hx?_cNUw4d$V0fjbSO z@~1ko0^dQ<*n-0Rcyx%m=T`GzB-O4w(2F3#NV6Y$_mW5R6%YQh2mgWx|GWqPq6dG$ zgTLs(KkdO^^5CEG;4gdd7d<#_vg7kP5B|Id|F{Q#!GnLogMZqCKkvam)A;UzSqmwm255Cuf@9^L|JoruzzSD#6^5DBXc;vwWPReVO2jAquw|MX^9(=n8-wyaM zN2hLEhx-*K1_s{|ZM|u5=gslft%HX*ZyMME-%XqQ2Y&KJ050AgFE}4{lez=4n$jb3?2&U?HU}qd4B82;7JgA z_uvNy);~UYH)8J@91+?(2Tz8yK_L#Pi|y+J&s(Avy0GBC$3y*&pnsHC=@#0{nAsIM z5>9zJxGN9BDR&2_h-hy$O`dbqBSDWg(>$+fGHQ^fgJ;up@G#BU8%|U71&L+zDf(h? zKTXjWgNxp6I(6I5cSO-e^ijyP=*3N&cMR+p{Nc@oftA5`ZC+nTVeQ&HGcYmuZWQhA z&6fst4!#dXv~%!>Hh*Yf_uzZ+eh7&D2!px+$}kq<9{wbRZ}H$>3AqD*$3%s85Ar<* zwQZpD9=x9%ycd6W4}JhCjS1yTN_p@H0N-iv5{tYH?%q6rzjxq$58fG*eC!##N8U^L zo5OER!o~(46eua}MPB*`b`2_D#EvDkcyMU*7Eoaxa(L(8cjE7!!JYWKTa|V&FA!1~ z8@yBCF_d`s;F!So<8N;8KK$J~H~~0Q-wep`=39^h;xNbk10~7*ZlSPCINqaDlM1pM zIFvTz09=*DZmC=hp`Y5 zM@pKdLxamQpqvt&Fm88m-8FcSaQN?+oU!EMt+%UOwr)pRQWJ7p?~roY13FTJOuDKo zE`>d!EvI4sZiYQTU-98e>){3#bGZX#&$@Xao9w*d{-d+A^MkZkY{gO=Nqgnsu6=X% z+QHer9ROc6=vyLwZRgE9vc5)W_4?!51=`EMl=0WtR^mH2(^vS;t=aTT7%%rl7q`0h zm3*;%b#S(?Y%i3r##k>t{4`19t3rEsbO-@=TH8hV*9HFk=8IA8Cfez{ys$?G$WL_B zYTq}a*1${AZZ9tLv5uVeMNjmfkH*kHOXLOm{B|xi2~t@Ix6mxX+K!5&YdzmY+ui9`|K*rqEL`9xs&5mqj;f zDBX}p)uoHkga;@7UeT9B+hPwcc{2DO56(P2Bk-?n&3SOZ43Ul#b6`+VNXVe@W*71)bT@ng})$j@bWv3=sh2w#v78SSNr@lnb%EHcV6lv zkEA`ggKb-zYTfg3v{_Eii#=HF^XnyPzaq51DD~B&{ibY9OK5))qo}luC@Y0eM0+yu z&kO!kQs*r{*VPS|AM(9d>UN3EX`&ZQ)4_KF&ivdevf{xc0Q7i#+82etuf8Ko+rdfO z;j`=&eqQp^ADzDK9LCWcFO}XMMg1Tm<0Xuaw?Dh`i5Is-=uzF#_tWPGqQQ5ggS;D^ zu-xDnI%apHi@kktKe~Sh2dB_6JU(y|{*&9sVx-4;IqPd-Ma&hf$kBBSH`1|kyi#tj z-pYCzj&~_H2hZls!FPcN=55yU_BsFqE^qg59v=AV9T=T#8km$ZO+0uT`jUIud)~fh z7qWcY;1BhE^3}~ZBhv?w;di3vx(V)W((jG8ZX4Vo_~>y0pXJ6zbW61GruqY)K%72& z{h+-3Jag{654}`h4_R&se?`8RIDE>&(IGzP-Y4Nkk*xESw_bmg4!c2{qCJxC^U|;I z^7N+a)>)x3kGZlmPvqUfCje);@HcGpH_;Cub;J|BgP^yszwpUDD1>(o?&*8}x8bum zKWzBB-vg`d@Xw(jKKVtK%l2o#wEhyJ-7$Di-#@P1Jht`T!4oL6or6C*@Wj@;1`hyn z4}9a>Pd>XMa?&zu@p~as=>7Qe-f_F=WJkZr!F`>iTpgS`$@0;3El~OTKn@>WG@IP)-Kd3XkS;I}i$!#$Y5dEqs(hoR5bo6-J#>Y1A{O9#K!vCZc z{^OyoKlYy;{ulrLwIBQ6e(CV;f2!a4cl7-)zxJ7LeCy9De{}bsUHqjhwg3DX{ieU8 z@1w7N?YDpVFMjIZ{zmKnd+zCXe&})({W;QIxeb5t^x@wQ8UQ>EFfOEd87Vq2Ju-viZ%GF)YJ5mL>j+7H)3zs`<^0{@DEH%2=22Ip$^j z-RiEJ8=W-2xzT0wn;U)H{N~Ddjr2HfBfT$MxVh0+&2Mh>b@Q7WZHF0Sd~>5i<~LWy zd<^HA9BRzAY*!3LEZp4a8S|Sf zV@cw_X!u{UaC4(K%x`YQJ~r{qjX36{-`wa4^P4MULxyvV2se7k!p)6dHNUyh8|F7x z#$k-V31cS4kJVi_H{u)z!_AFW%x`W48z$lA%Gite9D|YGS1jDz=o{uYH`;@-C-KdV zCe3edbjkeY%3K}sIcG=u9MjTou8djf=h&6un=q!L-&`3>(a$jz!#Qt4zqvBcM*kBQ z{(^;@8*yHZ;pRrKncv*#Yvwms=G%zRc{jK+&qhDz+vw*!4E^Rtm&|Xj%&{<>b1lUG zgoT?cb1e+#oD0J_$3nlkGABtt=O!7x9dlFkn=A8p^m9Is;hd+V-`wbu`OS?ux5aRC zqnFKZZuFY@&5hnLzqwI_IdH}|H`;A}bE8S~n=5nU#OGW%+~~4}n;U)H{N_fVF~7Od zE9N&h`il9@jlOPvbE6&jj>+`Qm2ac;^BXDC=XXo`&5c^-H#d60{N_flnBUy!tL8U1 z+Jvzy>6shl%x`Y=i22QpTIM%5dcpkW%9xk*IL0NvZ&G>%MMo^fmLF8*N9M%y4s~z2-MJI%$4$ zqZ<6^%B`CleZu_aMxQsoxzX$9H#hp4`OTGa7wK{Q1veT~cir6RtohB2YUVdLdfxoz zMqf6+xzQWuH#gdZ%rZT5qcQWF8=W=3xe>=P#5XtkjQP!tUNOJ9(jUhZ%{u$#aHHQ< zcimhe#&8m4_-=LA&5b6^Z*Fwn{N_f_nBUxp{cX}SSNhrXvtLd6uUoje(eIhx+~^JS zn;U(@{N_eG(T^oPb0hY(={GkzYkqU1XUuPIv~GTLqZiF@ZuFA*&5d4$|4z_1SNg^D zvwsXX`dte*H~LHSn;Y%MdII8`8yzygxw0mb;g=L1Jp=ds@S7VwZ+>&5m&|W&^s4#I zjoyGihxq13+aVnK&5b7EAA;Z9=)C#Ojaue6H~P5w&5b@|esiNQncv*#E9N&hdc*wY zM*q?L=0@AmA16QNVwCy>>i^95-S5lc`+D#_RS$9~uMeQ!UeC>=sTl*_cZ+)r{g$KP z=eyNCf~oFF@b_lj{rFZ>LcERK1JV0X1~*|PiMqGr{q6gG6K&%w_+i>a)>(4eg?mvj zjUjV!Pr&7zHsOo-@!=fv7+eg2<>9xNC-62YK8)QA|ELhv`FzGd1wTQIo29{dUE-X# zIGlfb1pd46AO+V{ND1esPA@6;RsFA<*yAt2 zw{J9lh<*k@^hoH7!~kSc5y5_ATJWJv$lsdm13dWoE_t2z@=AGr?B5MU|2)?pt$w%<^9p^@Hy(_lA9%e#>i>OY?qGlP6JJ6N zL0-TA{Oy!La^FM?T>u_viX)Nr*yZ`)Y%x2wMeY(`!8PgL?qfSKSWXJKDsGyJogxse+GNLu-`IL@pf z68C$D1d~1tLdjx=lNQbf?e5 zmqJ9hh2QeWZVOCWf@c1ZngY{A%^xDMBM35BFOY%Tp7ccOv+NAw&X!Exl1?IsSov@V zaWiN5BE=!@b~pOAd`mL|*hi!E)P*0#!Tz{Qnm256FLCwm!EI?^qGn0h;I=tEKsLTG zExLCBXCLC^fktH!J+Mk6H_H>xp7u1iv|5UJo5EQf2y6T()A0wfVEzJb_pI~u7@SU$ zQpWyeoNL@cx{xJ}+m_fj4#}Qr@E{^N%+vzpAm2yI&FLp`n`o=`VYnWu!z%jdh0G}z zevlk+;g>l(?pnb^ed4K~Py6~5FSQV*And{?IF6{TS?Q@57!%pFV zO`d_%g}s2r_(nM_#WM@#CoA(Zdenx;F_Do{VZzHHisG^MGL8zFf85JzF2lcNWZ^HiCnvKJ2o*$iyU(fV@blo_3%NgN-7 zsASq=7AQ+C9J6Q^tx>-^vsC^_y`c?x5jKBO$h1};!A^%2LS9D3fug5Pp_j}n;R{oTl&J@#yI}nw#7O#iE$Lm_nYq(wax1aL zou2mbn!%a+iR#?=Bp#F(#&>oNw@UAgf26W@urOX4D~?YT5A4S!g*Q4CI67LqZ({#g zsWd(gCAQipbsv(@Da;N7=hu5wJ+=ETPG*YJMGoVXyg1a3VA|6~3Cw8h%&(-APKPGQ zq9398j@h2D_@-Np_8g0EUM<(58<)=maWI`4^o?3_`ZI@nq7yvozWWATckbr~hu)*- zGnY@#E9>ZRabU>d6&z%S|Cm{;99OM5l!iYY_;fUJIF<|tH@b!|Z9D;Y!y#Tsl=g0U z<&it3+4O?RX47+hI6Fnr+U;|1BmqqV~-J@i3y%fXg@2f-1`kf$#hL63Q!#khYu66v16=0V zuz6w~j@sSpE=x#XTyc|iFQ0`{a+Glwks{Qjqel@V@+!nKwt5^7tEY(?p=mjct@700 z1w0lRvSC5{vJ?JsQ-PI)#VO} zLUL`*18*1@f-TotPi??lgiJ@MkZ~)4&_{ji)qetaaxx$@CWo$@;tE+F^Q#$@bDep3 zw;py~$5GjmFU=hFmkTpz! zM)ZbT8O$Kz(iBWo`NtD9AA{r`cXj}Tfk3>GwB<<@i|XjYvMo%4M2!%n&L$263_@suW+XFwmx^$2FsPTY zx4?&)ij`1uYO^#)_bR!4!PuH{fbHbjF5oEHi?o4v0OPa8`s> zL1V!cfl0hH5*sq9IlQjGGwDc9>NMS}W|(P1%>FP`YTDY`RZyS>r0upp&h#~kfei;U z%C)mY2o@q%S6OkvtTS6kBSc5ArfCYu6WT>0lC?s~MB*~12fV|+kiW#RA`wrOU|+9h z6CqCkYa(JykczmX4dWA~V!k+D#NqHT`i!iHwF`!32iJKxJ4tLzlEPx9Z?x75;~NYC z&W}&pkJx*4$GLmR#+7EB$K(6SCTH9y*BMYJr~`Jpj9xUta%2vXEhMWK8kiIqBoE4Y zUYc}J;2ke;ybBEy*(6sl5G6@Ip`lkA6x>Pq0rTMN+Az+|AIndS7w(JYnv(HS;ecF5 zU?P=ti6}C1xFRul1Uqf=m>;q+%m{LHe<5GU=bc(4<)lQjq!o7~YPi{YWdHaW7&Rs9 zMa`i)Vp?-e)Zi^4VRC|F;+9Ih&t=%@L`X+&kN`@DxJeCnk>DZ>mbsR^uf;4Yp*?JN zj!MXu7P3bKnj0k{mmCOyWe(1;?R! zFxqfv5jTkI&qyXz(33@~yjLbsO$euo^Z%RZIEy7YV2!^^7=Awd;G`}d#9x-v zsWEe`mI6GRm>q(pG%Ql-RLx9ckQ|;&7E@*+!XDaXwc0TbWTC~YDyUb!RlFh10yDJb zNPg{_CR>m*m@|gRvOsKMd`)h5NzGZRyWQSg?MoB8W_c{I)kF2cjW7&U*;yWw#ICJo zD^F*YNt1B5pbkAtgksJnAo=_;Nwz>o_5S`@~oP{kdU z5T_MLu!=DfLl8w1(zsB-AVumr#1b02uuVZ&_cleW1&9YaZh-+*;g2ph>9#(rG;BRWH@Rr0wm=jbNZdGD##I;}JA-Y~P zBNjNrtyyr*rKD=yveTk@y@o4}A!;vKjO$_kwM;jZunyOd4ZOJOx(|ac{^Z6f%d@Mf z;!2ms>zsJ6of_>bjl=}6IpNuj05#=w(B~Q=$p_MwyXaiv$ct~@q#;6u2@Hfw4n?dZ z(J(oHaSvHC#zZcq;s(h{RF$Q*}MtI#;a#b3YfPF*itP}{Y1%noJ z+%(vL9Tcv+eY-**Df2lB%`xv(BT1R?;9Xuq0ax&J`S@k6cNZemXBDnh0>_6mn&L_9 zMcQ;)Qpz0WVn94k6xWbQhBd&&x zL#R+Z^1(Y*vuGTNB*bXW^g>INcLyfgsEmND#L#3i6)&3!O_P!$(ohMa(fR+|`}R1w zuj{U{F>dVGt?jreNg(+-B+Be+wWFEY)x+^4(#o<0dS&%+QYk32v$N7fvooXl&FpGr zr5GAYX=xLnDbMmK1wu=qKmxQ-2$WDL(_gog^9vW17q=@!^~Yk50+TIXl*Mj^BqAVUCX(hh zcbF4VMzm&O0NB8RHrp=K0y6<+BGE5R<+jY&-+`6ETSy4{p6ItM?4n6*m>LWSf4U|z z%7RWXOl50DVX59%$9f^L)-FcrT4HED%f>SqYzbpCrjEK1Rgm3}rC_=h7l$cIOt2AEiaHjVRsn=G}XCnW{>rvK$H7tD`JMPjTtVX^y0f z0Zz^rJnP68tSE|vvnit16gk2IRPHV{VG^BnoeVO`3N6kCToeM$hO1;jiJV$#VNE6X zkGOp~yOWz6d2+Tz@6$FW1e9@bi;GafWHr&ok}?pOj5@sqFwSb!>Fui2AxZAk7$d2$ zo-J2cDhlMSxy2<*?w~CSOO{J_WfKb}1CiD@IO5|@_B`>#6HX*XLL_B^o7W_9m%ei; z>jpjM6|zyE?S<(8YMq7V24QY97;@~l?wOZMAa3Ia`IRgdr=`l~Uv-~IppF!X5|lDh z_*XJn4!%F&YZXyG_E|22^jXN8SXoeF0gc1WU)b$!dJ`hpDGZcGAp zkx_`7jz@^rDw{+tMEh@;3gnaP4BO4ju|w}^B1vP(Rd_79?riYXBQgzmvo7^19`&^I zcXumlBH@K4!)voiPi!C_bU^>XbDGHzFWjOR1X6y|=*jDbdhw8J<%1943(`a*E|BA9 zM4l~7dd+5MBzLikOFUnW@ezzh723NZELa3V>SK#tSZuR_W3U zMzwg)A?B9-93=B|S&p@SK5GNAL*rx`zsXvB1vfx4BeU8ipjxmspIrVK-@EBL_W)P) zz88AHZAIHc_HUEjF{&UsEV3Y-FhJ;VE0t}F_LD2tXB=e~t-?x1xKavI8^0-tj%#sE zZ)i6n-1GUP*XGg*SYgDYrO8lQoWW1ZZ7GdR+L1^j=^x@uFVV_l3dx0mFYCt08Y^>C#vQ!cxM6oQ7LyFnUN_B`vSL~MCkEWs>9IK^cB)j~4ObbN!=Mvku2Zg>A_4QFoOR8$(1k5Q!aB5i%|>CS*l9Q?ep9%Su5}iltPX-@%LmQp#|{ zp$ovMc-$(j(_W?nK@`?z4|kHaS2(lR+wRf(cRFnjqLfc1HUAD*1=Vefs}ou;ys`9w zo)C|jJg9wuNcL`Lcw#4bn0lj!g(J^f`h)g5S6WCmTVhA!?@q?)Bc3Jqcg{ygoZ8&U z&!R9_ht&oaET&6Ra2%i+!X(UuvEe0UgdP`KL8&|uRhFMKFnJLo(EOMiV&twKT=W-n z^H7tdM*}^B_ytaeO>T-(Z;hqqYaAxVV(tb8vORc$AYxx%3HLN0-2q9**A7&C zro&S~x&@@mUchi!OUzKL1I)lT2MlAEC}DW;2Oq-X7J;VR?O($o8EQ4I0Hg(4Pa1}ffUZvv*^#z;809=8iLsDJY5{dIs^N_ zon2+ZaW3wcB*MhmL~PQ9-B^QBPM=MNgGM)911g+PTiHr@tohkzsWbyvv=JpgHsc>0 zRAkCuMHaUSEH+>ihbki}I_v%JMHn=dcv_vbrB8VY<$389N`^l)t%%!|BE|pBlyX12zi*#d1Dp&Si*!v;h^4tPgsfHn(b*|LH5O%gJ^)O^J5CGHC zA?pR))iK;bh~W-G40jMxgqxfI?%EjcAjEJ7A%;5$8N;vGYH~3jjTC z%7*91>ezQF7s}f8dZRcdGD%ldWllWS!805a!b>~-RgHetSh5o(j}V${;_XH**MDAc2tP=^}If&Yp$e|fKkMuQZ#+x-wV;T$f;5Ki4^2Dq@M7~G+>qjW+PiY(q!D?9cM^{ayG7&nPV;qObJ~*m?1tuY;0mgz$*SU zj5OBcf#egtA!a*ehGLb^=3wY~v4GU)*sd-t(z-%oEt=X8r&T+U3z(|pu3WaNQeU#k zh6FC~Fkq%+Od)R^wd1uUc9AoiLgJlWr=t|(gNTqA6Kcz8{z}DIgY)tDU^hetnD z+@!2n-g0$urqQU3X}!BOoMt0RK{CYlj+BHa9x>-07IbKQQUd3E9XfpaI1VlImluspyz8n~J=?anP0c2>5q zpa~Lvd9e+K$_q=j7J^rErv>$L6C1SLH=e_6PL6iEGp#NFo4S@Htb|rq5H6I7(C>4i zQT)JV(##$)=uyN7=$Rsm1Z&t4MKUw(_5I`UIz$f5ZUVuXDV$(dv}F zxsJ(9tvno|M@4E{2V=PN_TxsWX%(=lQt5ij%VRCJ&lhrQ$!H@deYJ$<-T}u)8=USc z`^%$^fI|b>VCDcGS`N$n8N$7hsk`i3=hMmTJ5FaS$UOO3MaG}72gk$QmsV&BJim6m zc?o_>yqZ7!V5LHUNlX{|G1Tes4sP^5IA1$Be{iujU$0iH4vSz?(;f6}YwfNa&Q71i z1l@{pCi0>t?lp*Hd&#GP62(@9w7|doVsFraaf$oHc1nQ>DeV0+Ls#joCt_pouNWh2 znZ;m|+#)vd5rCl}vp=lX0wdggu&0_x5~(@X#eP^Smbej;gMkHTjwHbd0nag58eOFh z!w-;!{9WnwI?2lU))n+$oxQ4y0dL9Uu=vbulQFIi5t8Z-kmL+cg%J^w+76He+$^S~ zzCDs^z)g=tdpiuV!S&l+st|0ln3-y8Io(%9MiO|=gG@^}W3`PZmHNIwNs|Nl$)S>Ta4?id}pr=TIrQuXEn#U7+ch77uFPQx#QuQZt8mq>DV@h0vEu5T8kdUnF zSmOKBUMFH-ge~#|G$y^$rg&X(gm%AYHrrUt<~23K7J3AVd>`##dVYy}E#l<{D8qG= z5fLBy6aQV-bTPZbbrV#blTn$FW=n(RR*LoFeEnP}Wo{$Xn ztzdIoiLl}=h`*#QiRaj=_%imI<-Hb1U9GqWG4hh+qshCT>&P+EF#&KD4VfL*)7FPO ztLJh9D_&LfJFO~u$DMjX0qOb?9wB4iP~D>AD!OGaBPApE{^Gqj%NMDf_(O?H3@qAR z4*QNu)D@jI>7BHQ&P?MLkzZc=4nz8IWGa16Lr#vk@tU zeB(u@e5$f(m5hmKl$bwujMyA~7~*ILYz!#_++LYPo;;ML37?rPMjY<^WO>4;9V1@Q zTt=}Vmi-IYL54{Ayko@sCm`01kv!U+A_gZSRyb)k3Bjp+Jw!qeL)(b@F?!4d9VZ&; z)nwUxgC=LTQrQ{`gdUDVaAE+8n~84rq=6RYQ;a=WfS_@%#>RL+vBWFFO&6hJdh*oC z=MW+TlO|BHJ$Y*R#G&IZZSZYqe26k^5}Kt`$4@Q$w82B3nwrGjG8&d1R;pfzCb^-N zaz4WXI`mPg$%0jG$Ee{!5wz5q^WMq+u_IX~j$)uD2w24Pv6E-cYAWgUH388$NKT2X zyPLix`(Bws8l4NazhS|24Ea=np zN>K!Gtjd3;N)}Mf;!Iw8Y2gx_t-)X6CEb8O+G$*dXMomPgT8_>&>re^Fz;VYZkiWu z3^Iqht9kEd*taJR96Xfu+RA8c4L*aG4p%Q!dH$olj>AiByt0wLioH-_>IEFD*>U1( z^+K(_^W^*KycTCawz`e=b~B;_OG261hK|5^KnBw&l35r{6JczCF&+G!1-`7;=t=n?={Vtaq6LN zi5KIXNuJW2@usE+C-Bamhj{IGWF&&foUbzb&2vOJ)tfmXa|Qu$rT*}P1tf`OsgQ&= z!;xO8PiU6JYmTL8tAIyj%Q2F>Gw!$$wo## zrd4M=8S{B;6H)k@;pF@E2%JPxZHUG42_o zmgHCzyT-sFNQ8&XL!8H>?a04QrhsRftB$C#MI@xB4ZLmyj|B~ilDBuG5sVZZAT$S= zZF;ZrhkzTKQo1iEpOGRX6)W&@Ap#+`uQ&sA+a4;Mei@=}?0+I?;R5dx!prGCBP_`d zJV8iGqhj2@Lp%;hM=4{h8$?Y4OoqGw=Z5#7?+eZJ(FWm9CtXgWymW<$vVH^6VFYLk ze*&3JO;iP>z3I_ls^0?9QPGchzZJqz?18{~DbTVbUjkXXdc6_doZ=5a+Q%{0UL17i&j66dA@w4Qd2QJ`gK&O}AP? zI~r1AQfB82P?gg=FgndQ8t0tetkfc9LIFx*!_mS>G(0{g@@yj1+2y*rmK#4l@$3K@?u#!RO^j^S(8D&@eKVi z6`q(mP~W(2%fv7)IZ$&T_J4KCtUtAzz_W?A?>3AE&s>U=@&N6VkIYLXYsMi$Gl-+e zNa&=6T?6E+fMPmj+Ov!J`w6v&QZ&j_3VSBYA*1TGIItmHCW3>V^!aku`Gmwb$l-pA)WS*o} zjQSE+D^%g`sTGmErfTJm*x!a)!9ZiWTGe)>R<)^WRl8NSLWb?tidge%<>`2B)C$bl zUagSm_SFiRC#e;qzQolERk(X@`&@XNGkfYE^ezYMhL^g{irr z6e~bywT(C1k|3MjxYV{u6{l8*kl>-=9nYrIc{Mfkg{b#}EE^}WshFi_UPOdq><08O z6PGEon;=t_{Ci|ypIixbtp*XVH`-nQzS+Cw_A!;(zR~M`|hRSPmA!~~7P~|Fg(yt|K zgF%CUmJfViu!#y=9M?DE=Y|viXs1N>_z-9LYVu(Dk5kj2BKyBG9HE9;CjC}LqKwz`i8?55|hNO@!ybZk2Wf>^9HN-ij zSv_ZYsNWy-uD5Z3vens2XbZ#>3A_alo)(f6H(sW6cZ9k6K_E2YzmJz zv|L8iXofz1HsJE5toM0q@>G)p9S%M}{9tf*H?AyQ5AN;eQ5-Yst{piv7&Nx@631uM zQ37s@hlO}{fuk6rS1QpJj^a^)*UHCtI7(8FdI~y2#=BG-gLc~M!gv54zowzh?tu2U zjZ^qG>{!K*E`LrKL%B}C`qWk+>#v@k`Ztp-ARYYV=*;3&ad9?^w^l_$r5 zO{#+6^X+uxukL2}>7}E`d%eEcZ3M|J___E(Z@51jz_kNzspb)8-g6yPB^TLnj(_tHW!wi$gyU1*@c-Xk5?iTq>0sUI`>P z{h#*qHcVA&CDn_T2#s*woOUElxk4Ut6nJP`NIG-?GbVK+TuAEt6)co}ZfLEOFC<`} zATRTsTL{62Y#4aT4$E97buO887I7+vm*P1CFT2(eX#Fac?7ZyVe3Em0IGsyrqSLsv zvEIjC6FteT(#9LttM?OmEvZfw8cDweOALr#r#(zIXaPP?9CwqZ441j?^Ub={=)hk% zx*AY>TIo369>U3p>$^8JDWq(PUBjG;t&30Amg(+KWKe`dUhs@1I@jMW#bIc`a&MDz zJeJ#}-@ov>*FVSKg*83Jp!y zZ{lOLy^aBRgEz8UYTDm`??apfemd@n5b~4@VJDRA-hCa_Wf3pw7ax6oI%SP|vSe#4 z|CZ&?;SfBX9;_-vROwN^flA@ZiC79mmzdanP}M_x^|J+5h`6V{&Pb*b(11+z>60iy zz2OdLJq2e)N9blzeJeJ)#%*Isfc+dylm^35SLQ1?Fb8kc>!aos=YGD4teqD28iDC_ zYuFm>={LGvPMON73~y=DZ8hNB8f~`HfO4Yj-pWVBUs5}5^!tnqc*2s|d?*H5IfVY2 zpZl;N#hf&n7&ps?jxHm?KA0s^yt=(1MJyX+$xX0y*lu(%?MhpnH5+~*QZu<)M@;~K zPr;~>F(yj1dqN`E!DvIW`oq8jVIR`kv2H19r~!GoHt4Mj$IxTtXoJ7eK+90BC_mGM zj&fY!nKP!lj_&E1m)85@Xy;`#cW#r3`S)R4NmY;QdC}Om4_>Ww>wf)Oxz&`cx`Fw0CBH05_!} zKDc