From 154ce715a57089940dda7eed674226f61a7b1689 Mon Sep 17 00:00:00 2001 From: HebiKotei Date: Sun, 8 Oct 2023 18:37:52 +0100 Subject: [PATCH] feature(cmake): added lua flag --- CMakeLists.txt | 2 + .../recastnavigation-subbuild/CMakeLists.txt | 34 + ...5adf86f91eb3082220085e42dda62679f9a3ea.zip | Bin 0 -> 1644592 bytes .../download-recastnavigation-populate.cmake | 173 + .../extract-recastnavigation-populate.cmake | 65 + .../recastnavigation-populate-build | 0 .../recastnavigation-populate-configure | 0 .../recastnavigation-populate-done | 0 .../recastnavigation-populate-download | 0 .../recastnavigation-populate-install | 0 .../recastnavigation-populate-mkdir | 0 .../recastnavigation-populate-patch | 0 .../recastnavigation-populate-patch-info.txt | 6 + .../recastnavigation-populate-test | 0 .../recastnavigation-populate-update | 0 .../recastnavigation-populate-update-info.txt | 7 + .../recastnavigation-populate-urlinfo.txt | 12 + .../verify-recastnavigation-populate.cmake | 0 .../tmp/recastnavigation-populate-cfgcmd.txt | 1 + .../recastnavigation-populate-mkdirs.cmake | 22 + cmake/FindLuaJit.cmake | 2 +- cmake/base64.cmake | 2 +- cmake/docs/mainpage.hpp | 5 + components/CMakeLists.txt | 2 +- extern/fetched/recastnavigation/.editorconfig | 12 + extern/fetched/recastnavigation/.gitignore | 49 + extern/fetched/recastnavigation/.travis.yml | 72 + .../fetched/recastnavigation/CMakeLists.txt | 32 + .../fetched/recastnavigation/CONTRIBUTING.md | 185 + .../DebugUtils/CMakeLists.txt | 36 + .../DebugUtils/Include/DebugDraw.h | 223 + .../DebugUtils/Include/DetourDebugDraw.h | 48 + .../DebugUtils/Include/RecastDebugDraw.h | 42 + .../DebugUtils/Include/RecastDump.h | 43 + .../DebugUtils/Source/DebugDraw.cpp | 612 + .../DebugUtils/Source/DetourDebugDraw.cpp | 864 ++ .../DebugUtils/Source/RecastDebugDraw.cpp | 1064 ++ .../DebugUtils/Source/RecastDump.cpp | 451 + .../recastnavigation/Detour/CMakeLists.txt | 30 + .../Detour/Include/DetourAlloc.h | 61 + .../Detour/Include/DetourAssert.h | 56 + .../Detour/Include/DetourCommon.h | 572 + .../Detour/Include/DetourMath.h | 24 + .../Detour/Include/DetourNavMesh.h | 784 ++ .../Detour/Include/DetourNavMeshBuilder.h | 149 + .../Detour/Include/DetourNavMeshQuery.h | 589 + .../Detour/Include/DetourNode.h | 168 + .../Detour/Include/DetourStatus.h | 65 + .../Detour/Source/DetourAlloc.cpp | 50 + .../Detour/Source/DetourAssert.cpp | 35 + .../Detour/Source/DetourCommon.cpp | 387 + .../Detour/Source/DetourNavMesh.cpp | 1591 +++ .../Detour/Source/DetourNavMeshBuilder.cpp | 802 ++ .../Detour/Source/DetourNavMeshQuery.cpp | 3679 +++++ .../Detour/Source/DetourNode.cpp | 200 + .../DetourCrowd/CMakeLists.txt | 34 + .../DetourCrowd/Include/DetourCrowd.h | 460 + .../DetourCrowd/Include/DetourLocalBoundary.h | 66 + .../Include/DetourObstacleAvoidance.h | 159 + .../DetourCrowd/Include/DetourPathCorridor.h | 151 + .../DetourCrowd/Include/DetourPathQueue.h | 79 + .../DetourCrowd/Include/DetourProximityGrid.h | 74 + .../DetourCrowd/Source/DetourCrowd.cpp | 1450 ++ .../Source/DetourLocalBoundary.cpp | 137 + .../Source/DetourObstacleAvoidance.cpp | 619 + .../DetourCrowd/Source/DetourPathCorridor.cpp | 597 + .../DetourCrowd/Source/DetourPathQueue.cpp | 200 + .../Source/DetourProximityGrid.cpp | 194 + .../DetourTileCache/CMakeLists.txt | 35 + .../DetourTileCache/Include/DetourTileCache.h | 262 + .../Include/DetourTileCacheBuilder.h | 156 + .../Source/DetourTileCache.cpp | 820 ++ .../Source/DetourTileCacheBuilder.cpp | 2250 +++ .../Docs/Conceptual/license_c.txt | 27 + .../Docs/Conceptual/mainpage_c.txt | 109 + .../recastnavigation/Docs/DoxygenLayout.xml | 194 + .../Docs/Extern/Recast_api.txt | 587 + .../Docs/Images/recast_intro.png | Bin 0 -> 378480 bytes .../fetched/recastnavigation/Docs/Readme.txt | 64 + .../fetched/recastnavigation/Docs/footer.html | 21 + .../fetched/recastnavigation/Docs/header.html | 55 + extern/fetched/recastnavigation/Doxyfile | 2427 ++++ extern/fetched/recastnavigation/License.txt | 18 + extern/fetched/recastnavigation/README.md | 89 + .../recastnavigation/Recast/CMakeLists.txt | 30 + .../recastnavigation/Recast/Include/Recast.h | 1208 ++ .../Recast/Include/RecastAlloc.h | 363 + .../Recast/Include/RecastAssert.h | 56 + .../recastnavigation/Recast/Source/Recast.cpp | 575 + .../Recast/Source/RecastAlloc.cpp | 60 + .../Recast/Source/RecastArea.cpp | 591 + .../Recast/Source/RecastAssert.cpp | 35 + .../Recast/Source/RecastContour.cpp | 1105 ++ .../Recast/Source/RecastFilter.cpp | 202 + .../Recast/Source/RecastLayers.cpp | 644 + .../Recast/Source/RecastMesh.cpp | 1552 ++ .../Recast/Source/RecastMeshDetail.cpp | 1464 ++ .../Recast/Source/RecastRasterization.cpp | 454 + .../Recast/Source/RecastRegion.cpp | 1812 +++ .../RecastDemo/Bin/.gitignore | 1 + .../RecastDemo/Bin/DroidSans.ttf | Bin 0 -> 108796 bytes .../Bin/TestCases/movement_test.txt | 15 + .../Bin/TestCases/nav_mesh_test.txt | 23 + .../RecastDemo/Bin/TestCases/raycast_test.txt | 6 + .../RecastDemo/CMakeLists.txt | 68 + .../RecastDemo/Contrib/fastlz/README.TXT | 75 + .../RecastDemo/Contrib/fastlz/fastlz.c | 556 + .../RecastDemo/Contrib/fastlz/fastlz.h | 100 + .../RecastDemo/Contrib/readme-sdl.txt | 6 + .../RecastDemo/Contrib/stb_truetype.h | 3252 +++++ .../RecastDemo/Include/ChunkyTriMesh.h | 59 + .../RecastDemo/Include/ConvexVolumeTool.h | 55 + .../RecastDemo/Include/CrowdTool.h | 144 + .../RecastDemo/Include/Filelist.h | 28 + .../RecastDemo/Include/InputGeom.h | 150 + .../RecastDemo/Include/MeshLoaderObj.h | 56 + .../RecastDemo/Include/NavMeshPruneTool.h | 56 + .../RecastDemo/Include/NavMeshTesterTool.h | 113 + .../Include/OffMeshConnectionTool.h | 50 + .../RecastDemo/Include/PerfTimer.h | 32 + .../RecastDemo/Include/Sample.h | 190 + .../RecastDemo/Include/SampleInterfaces.h | 99 + .../RecastDemo/Include/Sample_Debug.h | 63 + .../RecastDemo/Include/Sample_SoloMesh.h | 86 + .../RecastDemo/Include/Sample_TempObstacles.h | 98 + .../RecastDemo/Include/Sample_TileMesh.h | 112 + .../RecastDemo/Include/TestCase.h | 114 + .../RecastDemo/Include/ValueHistory.h | 50 + .../RecastDemo/Include/imgui.h | 108 + .../RecastDemo/Include/imguiRenderGL.h | 26 + .../RecastDemo/Source/ChunkyTriMesh.cpp | 315 + .../RecastDemo/Source/ConvexVolumeTool.cpp | 297 + .../RecastDemo/Source/CrowdTool.cpp | 1107 ++ .../RecastDemo/Source/Filelist.cpp | 78 + .../RecastDemo/Source/InputGeom.cpp | 614 + .../RecastDemo/Source/MeshLoaderObj.cpp | 245 + .../RecastDemo/Source/NavMeshPruneTool.cpp | 323 + .../RecastDemo/Source/NavMeshTesterTool.cpp | 1420 ++ .../Source/OffMeshConnectionTool.cpp | 177 + .../RecastDemo/Source/PerfTimer.cpp | 59 + .../RecastDemo/Source/Sample.cpp | 449 + .../RecastDemo/Source/SampleInterfaces.cpp | 317 + .../RecastDemo/Source/Sample_Debug.cpp | 387 + .../RecastDemo/Source/Sample_SoloMesh.cpp | 755 + .../Source/Sample_TempObstacles.cpp | 1533 ++ .../RecastDemo/Source/Sample_TileMesh.cpp | 1173 ++ .../RecastDemo/Source/TestCase.cpp | 462 + .../RecastDemo/Source/ValueHistory.cpp | 115 + .../RecastDemo/Source/imgui.cpp | 676 + .../RecastDemo/Source/imguiRenderGL.cpp | 500 + .../RecastDemo/Source/main.cpp | 927 ++ .../RecastDemo/cmake/FindSDL2.cmake | 249 + .../recastnavigation/RecastDemo/premake5.lua | 268 + .../RecastDemo/screenshot.png | Bin 0 -> 461310 bytes .../recastnavigation/Tests/CMakeLists.txt | 10 + .../Tests/Detour/Tests_Detour.cpp | 33 + .../Tests/Recast/Tests_Recast.cpp | 1245 ++ .../fetched/recastnavigation/Tests/catch.hpp | 11689 ++++++++++++++++ .../fetched/recastnavigation/Tests/main.cpp | 2 + extern/fetched/recastnavigation/appveyor.yml | 51 + try-compile/checkbullet.cpp | 10 + 161 files changed, 66067 insertions(+), 3 deletions(-) create mode 100644 _deps/recastnavigation-subbuild/CMakeLists.txt create mode 100644 _deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/e75adf86f91eb3082220085e42dda62679f9a3ea.zip create mode 100644 _deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/download-recastnavigation-populate.cmake create mode 100644 _deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/extract-recastnavigation-populate.cmake create mode 100644 _deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/recastnavigation-populate-build create mode 100644 _deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/recastnavigation-populate-configure create mode 100644 _deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/recastnavigation-populate-done create mode 100644 _deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/recastnavigation-populate-download create mode 100644 _deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/recastnavigation-populate-install create mode 100644 _deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/recastnavigation-populate-mkdir create mode 100644 _deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/recastnavigation-populate-patch create mode 100644 _deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/recastnavigation-populate-patch-info.txt create mode 100644 _deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/recastnavigation-populate-test create mode 100644 _deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/recastnavigation-populate-update create mode 100644 _deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/recastnavigation-populate-update-info.txt create mode 100644 _deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/recastnavigation-populate-urlinfo.txt create mode 100644 _deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/verify-recastnavigation-populate.cmake create mode 100644 _deps/recastnavigation-subbuild/recastnavigation-populate-prefix/tmp/recastnavigation-populate-cfgcmd.txt create mode 100644 _deps/recastnavigation-subbuild/recastnavigation-populate-prefix/tmp/recastnavigation-populate-mkdirs.cmake create mode 100644 cmake/docs/mainpage.hpp create mode 100644 extern/fetched/recastnavigation/.editorconfig create mode 100644 extern/fetched/recastnavigation/.gitignore create mode 100644 extern/fetched/recastnavigation/.travis.yml create mode 100644 extern/fetched/recastnavigation/CMakeLists.txt create mode 100644 extern/fetched/recastnavigation/CONTRIBUTING.md create mode 100644 extern/fetched/recastnavigation/DebugUtils/CMakeLists.txt create mode 100644 extern/fetched/recastnavigation/DebugUtils/Include/DebugDraw.h create mode 100755 extern/fetched/recastnavigation/DebugUtils/Include/DetourDebugDraw.h create mode 100644 extern/fetched/recastnavigation/DebugUtils/Include/RecastDebugDraw.h create mode 100644 extern/fetched/recastnavigation/DebugUtils/Include/RecastDump.h create mode 100644 extern/fetched/recastnavigation/DebugUtils/Source/DebugDraw.cpp create mode 100644 extern/fetched/recastnavigation/DebugUtils/Source/DetourDebugDraw.cpp create mode 100644 extern/fetched/recastnavigation/DebugUtils/Source/RecastDebugDraw.cpp create mode 100644 extern/fetched/recastnavigation/DebugUtils/Source/RecastDump.cpp create mode 100644 extern/fetched/recastnavigation/Detour/CMakeLists.txt create mode 100644 extern/fetched/recastnavigation/Detour/Include/DetourAlloc.h create mode 100644 extern/fetched/recastnavigation/Detour/Include/DetourAssert.h create mode 100644 extern/fetched/recastnavigation/Detour/Include/DetourCommon.h create mode 100644 extern/fetched/recastnavigation/Detour/Include/DetourMath.h create mode 100644 extern/fetched/recastnavigation/Detour/Include/DetourNavMesh.h create mode 100644 extern/fetched/recastnavigation/Detour/Include/DetourNavMeshBuilder.h create mode 100644 extern/fetched/recastnavigation/Detour/Include/DetourNavMeshQuery.h create mode 100644 extern/fetched/recastnavigation/Detour/Include/DetourNode.h create mode 100644 extern/fetched/recastnavigation/Detour/Include/DetourStatus.h create mode 100644 extern/fetched/recastnavigation/Detour/Source/DetourAlloc.cpp create mode 100644 extern/fetched/recastnavigation/Detour/Source/DetourAssert.cpp create mode 100644 extern/fetched/recastnavigation/Detour/Source/DetourCommon.cpp create mode 100644 extern/fetched/recastnavigation/Detour/Source/DetourNavMesh.cpp create mode 100644 extern/fetched/recastnavigation/Detour/Source/DetourNavMeshBuilder.cpp create mode 100644 extern/fetched/recastnavigation/Detour/Source/DetourNavMeshQuery.cpp create mode 100644 extern/fetched/recastnavigation/Detour/Source/DetourNode.cpp create mode 100644 extern/fetched/recastnavigation/DetourCrowd/CMakeLists.txt create mode 100644 extern/fetched/recastnavigation/DetourCrowd/Include/DetourCrowd.h create mode 100644 extern/fetched/recastnavigation/DetourCrowd/Include/DetourLocalBoundary.h create mode 100644 extern/fetched/recastnavigation/DetourCrowd/Include/DetourObstacleAvoidance.h create mode 100644 extern/fetched/recastnavigation/DetourCrowd/Include/DetourPathCorridor.h create mode 100644 extern/fetched/recastnavigation/DetourCrowd/Include/DetourPathQueue.h create mode 100644 extern/fetched/recastnavigation/DetourCrowd/Include/DetourProximityGrid.h create mode 100644 extern/fetched/recastnavigation/DetourCrowd/Source/DetourCrowd.cpp create mode 100644 extern/fetched/recastnavigation/DetourCrowd/Source/DetourLocalBoundary.cpp create mode 100644 extern/fetched/recastnavigation/DetourCrowd/Source/DetourObstacleAvoidance.cpp create mode 100644 extern/fetched/recastnavigation/DetourCrowd/Source/DetourPathCorridor.cpp create mode 100644 extern/fetched/recastnavigation/DetourCrowd/Source/DetourPathQueue.cpp create mode 100644 extern/fetched/recastnavigation/DetourCrowd/Source/DetourProximityGrid.cpp create mode 100644 extern/fetched/recastnavigation/DetourTileCache/CMakeLists.txt create mode 100644 extern/fetched/recastnavigation/DetourTileCache/Include/DetourTileCache.h create mode 100644 extern/fetched/recastnavigation/DetourTileCache/Include/DetourTileCacheBuilder.h create mode 100644 extern/fetched/recastnavigation/DetourTileCache/Source/DetourTileCache.cpp create mode 100644 extern/fetched/recastnavigation/DetourTileCache/Source/DetourTileCacheBuilder.cpp create mode 100644 extern/fetched/recastnavigation/Docs/Conceptual/license_c.txt create mode 100644 extern/fetched/recastnavigation/Docs/Conceptual/mainpage_c.txt create mode 100644 extern/fetched/recastnavigation/Docs/DoxygenLayout.xml create mode 100644 extern/fetched/recastnavigation/Docs/Extern/Recast_api.txt create mode 100644 extern/fetched/recastnavigation/Docs/Images/recast_intro.png create mode 100644 extern/fetched/recastnavigation/Docs/Readme.txt create mode 100644 extern/fetched/recastnavigation/Docs/footer.html create mode 100644 extern/fetched/recastnavigation/Docs/header.html create mode 100644 extern/fetched/recastnavigation/Doxyfile create mode 100644 extern/fetched/recastnavigation/License.txt create mode 100644 extern/fetched/recastnavigation/README.md create mode 100644 extern/fetched/recastnavigation/Recast/CMakeLists.txt create mode 100644 extern/fetched/recastnavigation/Recast/Include/Recast.h create mode 100644 extern/fetched/recastnavigation/Recast/Include/RecastAlloc.h create mode 100644 extern/fetched/recastnavigation/Recast/Include/RecastAssert.h create mode 100644 extern/fetched/recastnavigation/Recast/Source/Recast.cpp create mode 100644 extern/fetched/recastnavigation/Recast/Source/RecastAlloc.cpp create mode 100644 extern/fetched/recastnavigation/Recast/Source/RecastArea.cpp create mode 100644 extern/fetched/recastnavigation/Recast/Source/RecastAssert.cpp create mode 100644 extern/fetched/recastnavigation/Recast/Source/RecastContour.cpp create mode 100644 extern/fetched/recastnavigation/Recast/Source/RecastFilter.cpp create mode 100644 extern/fetched/recastnavigation/Recast/Source/RecastLayers.cpp create mode 100644 extern/fetched/recastnavigation/Recast/Source/RecastMesh.cpp create mode 100644 extern/fetched/recastnavigation/Recast/Source/RecastMeshDetail.cpp create mode 100644 extern/fetched/recastnavigation/Recast/Source/RecastRasterization.cpp create mode 100644 extern/fetched/recastnavigation/Recast/Source/RecastRegion.cpp create mode 100644 extern/fetched/recastnavigation/RecastDemo/Bin/.gitignore create mode 100755 extern/fetched/recastnavigation/RecastDemo/Bin/DroidSans.ttf create mode 100644 extern/fetched/recastnavigation/RecastDemo/Bin/TestCases/movement_test.txt create mode 100644 extern/fetched/recastnavigation/RecastDemo/Bin/TestCases/nav_mesh_test.txt create mode 100644 extern/fetched/recastnavigation/RecastDemo/Bin/TestCases/raycast_test.txt create mode 100644 extern/fetched/recastnavigation/RecastDemo/CMakeLists.txt create mode 100644 extern/fetched/recastnavigation/RecastDemo/Contrib/fastlz/README.TXT create mode 100644 extern/fetched/recastnavigation/RecastDemo/Contrib/fastlz/fastlz.c create mode 100644 extern/fetched/recastnavigation/RecastDemo/Contrib/fastlz/fastlz.h create mode 100644 extern/fetched/recastnavigation/RecastDemo/Contrib/readme-sdl.txt create mode 100644 extern/fetched/recastnavigation/RecastDemo/Contrib/stb_truetype.h create mode 100644 extern/fetched/recastnavigation/RecastDemo/Include/ChunkyTriMesh.h create mode 100644 extern/fetched/recastnavigation/RecastDemo/Include/ConvexVolumeTool.h create mode 100644 extern/fetched/recastnavigation/RecastDemo/Include/CrowdTool.h create mode 100644 extern/fetched/recastnavigation/RecastDemo/Include/Filelist.h create mode 100644 extern/fetched/recastnavigation/RecastDemo/Include/InputGeom.h create mode 100644 extern/fetched/recastnavigation/RecastDemo/Include/MeshLoaderObj.h create mode 100644 extern/fetched/recastnavigation/RecastDemo/Include/NavMeshPruneTool.h create mode 100644 extern/fetched/recastnavigation/RecastDemo/Include/NavMeshTesterTool.h create mode 100644 extern/fetched/recastnavigation/RecastDemo/Include/OffMeshConnectionTool.h create mode 100644 extern/fetched/recastnavigation/RecastDemo/Include/PerfTimer.h create mode 100644 extern/fetched/recastnavigation/RecastDemo/Include/Sample.h create mode 100644 extern/fetched/recastnavigation/RecastDemo/Include/SampleInterfaces.h create mode 100644 extern/fetched/recastnavigation/RecastDemo/Include/Sample_Debug.h create mode 100644 extern/fetched/recastnavigation/RecastDemo/Include/Sample_SoloMesh.h create mode 100644 extern/fetched/recastnavigation/RecastDemo/Include/Sample_TempObstacles.h create mode 100644 extern/fetched/recastnavigation/RecastDemo/Include/Sample_TileMesh.h create mode 100644 extern/fetched/recastnavigation/RecastDemo/Include/TestCase.h create mode 100644 extern/fetched/recastnavigation/RecastDemo/Include/ValueHistory.h create mode 100644 extern/fetched/recastnavigation/RecastDemo/Include/imgui.h create mode 100644 extern/fetched/recastnavigation/RecastDemo/Include/imguiRenderGL.h create mode 100644 extern/fetched/recastnavigation/RecastDemo/Source/ChunkyTriMesh.cpp create mode 100644 extern/fetched/recastnavigation/RecastDemo/Source/ConvexVolumeTool.cpp create mode 100644 extern/fetched/recastnavigation/RecastDemo/Source/CrowdTool.cpp create mode 100644 extern/fetched/recastnavigation/RecastDemo/Source/Filelist.cpp create mode 100644 extern/fetched/recastnavigation/RecastDemo/Source/InputGeom.cpp create mode 100644 extern/fetched/recastnavigation/RecastDemo/Source/MeshLoaderObj.cpp create mode 100644 extern/fetched/recastnavigation/RecastDemo/Source/NavMeshPruneTool.cpp create mode 100644 extern/fetched/recastnavigation/RecastDemo/Source/NavMeshTesterTool.cpp create mode 100644 extern/fetched/recastnavigation/RecastDemo/Source/OffMeshConnectionTool.cpp create mode 100644 extern/fetched/recastnavigation/RecastDemo/Source/PerfTimer.cpp create mode 100644 extern/fetched/recastnavigation/RecastDemo/Source/Sample.cpp create mode 100644 extern/fetched/recastnavigation/RecastDemo/Source/SampleInterfaces.cpp create mode 100644 extern/fetched/recastnavigation/RecastDemo/Source/Sample_Debug.cpp create mode 100644 extern/fetched/recastnavigation/RecastDemo/Source/Sample_SoloMesh.cpp create mode 100644 extern/fetched/recastnavigation/RecastDemo/Source/Sample_TempObstacles.cpp create mode 100644 extern/fetched/recastnavigation/RecastDemo/Source/Sample_TileMesh.cpp create mode 100644 extern/fetched/recastnavigation/RecastDemo/Source/TestCase.cpp create mode 100644 extern/fetched/recastnavigation/RecastDemo/Source/ValueHistory.cpp create mode 100644 extern/fetched/recastnavigation/RecastDemo/Source/imgui.cpp create mode 100644 extern/fetched/recastnavigation/RecastDemo/Source/imguiRenderGL.cpp create mode 100644 extern/fetched/recastnavigation/RecastDemo/Source/main.cpp create mode 100644 extern/fetched/recastnavigation/RecastDemo/cmake/FindSDL2.cmake create mode 100644 extern/fetched/recastnavigation/RecastDemo/premake5.lua create mode 100644 extern/fetched/recastnavigation/RecastDemo/screenshot.png create mode 100644 extern/fetched/recastnavigation/Tests/CMakeLists.txt create mode 100644 extern/fetched/recastnavigation/Tests/Detour/Tests_Detour.cpp create mode 100644 extern/fetched/recastnavigation/Tests/Recast/Tests_Recast.cpp create mode 100644 extern/fetched/recastnavigation/Tests/catch.hpp create mode 100644 extern/fetched/recastnavigation/Tests/main.cpp create mode 100644 extern/fetched/recastnavigation/appveyor.yml create mode 100644 try-compile/checkbullet.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 37835ee59..5bab3c0f4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,6 +3,8 @@ cmake_minimum_required(VERSION 3.1.0) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) +add_definitions(-DLUAJIT_ENABLE_LUA52COMPAT) + # for link time optimization, remove if cmake version is >= 3.9 if(POLICY CMP0069) # LTO cmake_policy(SET CMP0069 NEW) diff --git a/_deps/recastnavigation-subbuild/CMakeLists.txt b/_deps/recastnavigation-subbuild/CMakeLists.txt new file mode 100644 index 000000000..cd37eaa92 --- /dev/null +++ b/_deps/recastnavigation-subbuild/CMakeLists.txt @@ -0,0 +1,34 @@ +# Distributed under the OSI-approved BSD 3-Clause License. See accompanying +# file Copyright.txt or https://cmake.org/licensing for details. + +cmake_minimum_required(VERSION 3.27.6) + +# Reject any attempt to use a toolchain file. We must not use one because +# we could be downloading it here. If the CMAKE_TOOLCHAIN_FILE environment +# variable is set, the cache variable will have been initialized from it. +unset(CMAKE_TOOLCHAIN_FILE CACHE) +unset(ENV{CMAKE_TOOLCHAIN_FILE}) + +# We name the project and the target for the ExternalProject_Add() call +# to something that will highlight to the user what we are working on if +# something goes wrong and an error message is produced. + +project(recastnavigation-populate NONE) + + + +include(ExternalProject) +ExternalProject_Add(recastnavigation-populate + "UPDATE_DISCONNECTED" "False" "DOWNLOAD_EXTRACT_TIMESTAMP" "TRUE" "EXTERNALPROJECT_INTERNAL_ARGUMENT_SEPARATOR" "URL" "https://github.com/recastnavigation/recastnavigation/archive/e75adf86f91eb3082220085e42dda62679f9a3ea.zip" "URL_HASH" "MD5=af905d121ef9d1cdfa979b0495cba059" + SOURCE_DIR "/home/hebi/Documents/dw/extern/fetched/recastnavigation" + BINARY_DIR "/home/hebi/Documents/dw/_deps/recastnavigation-build" + CONFIGURE_COMMAND "" + BUILD_COMMAND "" + INSTALL_COMMAND "" + TEST_COMMAND "" + USES_TERMINAL_DOWNLOAD YES + USES_TERMINAL_UPDATE YES + USES_TERMINAL_PATCH YES +) + + diff --git a/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/e75adf86f91eb3082220085e42dda62679f9a3ea.zip b/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/e75adf86f91eb3082220085e42dda62679f9a3ea.zip new file mode 100644 index 0000000000000000000000000000000000000000..f0f7b23c380aa736725f22a94791cfc5595b00a3 GIT binary patch literal 1644592 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

?RLNr2NG>N# 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

j={W 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

%7BJMwLD{IN%V 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⪻AAniBK>6#%I*ZxI; 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

wYA5xhD1MkuZ@(O;FpbMSl?^P?K3``1e7Xlom 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%0DY0ccp>t)5_;L! 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 z zhFpUaHzyMYJmA~TzUhcLjA%EE0l^Nqmg2Yad@q+QUQsjGnssEpXVU;nS-?+fnZp_u zK*X&Ai}v)yL9Z+6l|z?2qtyk+oL#}g}<{;x}}#t!2d0p-1>eo1&{#% zhK2qYMU%9FyNQG2e{8ec+}5_(?en?Cdi_W8S`Ee`5;t&XloGSfTPtn{M|&h9(1Q?X zIuiw58!D;PQXX_ax7nCIw>3zo7cKmbA`N7rgZo|frW`kkTHH(>tfN-sNwK|4L zbyno4S^%N)wPbzf_+pyGFDhg!D0Kvj3G^>bilHH?a$}$A5|jG8Vro)##^71MDMY~^ zqKRN-NwhzT-qD}H^D6!r`+aZ0mW9DKqsJB6Xp%69@l%Ob$pm~u7`hS}jy9{vTv?!s0C>Y60fIOHMq&htVQru7JX*l}w0Ns!0^u#qf|Y>I3HwR+DI5 zU4RU5EVT*gXtI42jTTdMK|M$m0WL0k1*gQ;Fn*!~KhQnRRrLK%Hh_>+v4jav$gJb? zmrj70N)L#)+^zyy%c>^e;!F>xt#Zi<|{16&4ccn2x6ye%Imo_U@Mh%rMvZ z;r~2dh2noQq}nMLMA;gAJvAGawN+3_9&oO+bZ!I?)tL4D5d@Jwk){RJ*r1(NB>)KS zNc4j|foiTaJRR*T==Jt+e0oiMe7z$5yni<)pW94S0&)L1EP`er{cD`wB@i()%qm{= zY1!HcH0zoTtS}yxnxXBCXzlQ)TZQC-F}t0YktJne4e zA2U0+gakw~LPeK#FAfd%S=Fzx7pU7ZwCh09ypPZ13u`SYff#r@RY~zT!7V_sFBbua z2i~p6GCo6s^aY|>swsP)=PX<7!|C!?6_|C5(O}W zkY(#2y&IgFQL7zF4m?<*O%$Z;BB)+iPf!f-PWjZ^L)PhP!9V@GBx}iO6eSB<1HyNM zu*QYHM{^I-$NA~mj`$^FWc_qD2q!2MBGx z{jWW!Y5~U(J_5^9lU@mku`{;~#>7WC z-!He1lV+=nSu0w3z27DwN?Zy!5z_JoVsKJq$Wmpn&&CH%>znZ zUixtT2k<73-!*og7I|9CcBcz?LT<+AoVecnHdC30x5D z%09O+;z1}oGz2ySn*+LaI3}cmC9Q)y(0>>r0uVnrr4I1U{^_=0MBA7+IKR|v+z{fx z{*}6cvCV5{94+@l9VdS5x%z|X^DdW5xUAXRp7QG$ULT#!Y#X+%owF!M)={F#zEO-} zi9K@XdQ2<$6*rd+ayWpn31bldC;+**&iouqY?4A@>M}T#qG*(~*Wg-G5 z(68rP49JlaS#?5y3aCReakKv5Nu&g!IB>#9LCO)~I93S`$MFLENY&whE)7`oM7>=s zLC!Au{0u>j;xzT**P|vAgx4t8;?sV)8T?4uoT}V%xHo4<=UAe^fcyk$9saM;-&fE(6j{`2AI|xjXH%hb8yT=*kd6RG7*O zMft=#AcDMj zH8dHj0xpN(J^75$x$wAX-j0u&34ILzsBc6_SF=4o^2>37dqKIA`Oi;uPZA zhzcpRMLq?bQ~#`W*95%Z(S@ZL$ZG_Izj6hd&~B-Pjf{?a*r~-;nGp((uyP$5WqFmI zVc3J#Gv@yow&YV{!>^-L+}>7v?-{HA_U9@j%7oM2g}Q)UI+(Wc3aCA;gIduTVhYXYO%DwGnS(U?;w*1s-TR$HOgA=(|u9k1-e89RB)Uj~!V*}6 zTCDv$hQ|F2(m0n-3o%&y1aJI{TKveQH$QyW=l5c6AjGpu4HZ;t589YQ`d{*@Y1cqO z(?#qWcw4PWOoX`HC1NzMl@&D3rqe{lVsHs{)lOOb3q#t|&KRjSsNIm$q)l-G zSu4RPFtj!dQb?jgJVd;5R}}&CfeF*#@ccmPP4V2!T;`V4%Tm&IL80^0`*T{4?q3rv zixmG+K$$a(F$T-eV)cTsyYsqnV0&wgJa#PX%tdoJ_`^D{ns%uYIRO9j%V$TZvggyi z@>tV=IgD>j1T0IjR!{s4=gpvd@xyX4{9qhP1jB-W5r0Qd!>J##mxLWsx74ZQ>H_#+ ze8U9Va)+Z(=!@{S5-_07NKcg~s6ae$UproKhL_vMMxReVY~o(D8WCbjv^6RvKPbTr z9w;}7eQOlc{Tj}pg26*G-vxCPPT$C(>E>b(svQoSyRZXV0S)4vnli}n?+_$F5z&7HAC9bD5( zd{IH=42HMtv`1ZI@LE9R+qS_n^b)ERUNCGaCkwwD%xtJlEQQ3?Me9CaX%ld3uf5-# ziT5TYmH-JhsT|!GD~XfZRT8__RYfX0WG#u|oiYa|A}ONdZdq<2yxcKJ-p(Npz3x2k zo0wPAfm`>8AcoV0??u#4!KyA4Y%nj)XMHxHa;8;%3&pMju>~(s`jF?i-_VpY1hNsJ z&qrO1@45H$3s}QnygwS6g=xFH?2TBS_Ct8bQM(W&svSEz!K8MVv`>|Q4WKgSy-AlpC9@Le9#D39H2DpY6VU2QgJ!d+1mA(z006Z!{`IU>Dq`N92SsX^^3!qrUB8M zE{>Qxk8F2*GS#-#^}vS)6Lf(7<#<=SSL`;P%)l^qld_bwV5BU=tp7%bLj8r>E-uHA z&kli8mxBJtTu*eKuhwABnk}-6_}26p?Mi2iljKOBjufq^!!~`fhjmS-`KxBb$6-n* zBIgFivkJHFhqr?EBPzxofF(24G%74C9d6p4%jG!(d2#vM*se0 z>!A1Qp!g%-#)pVxk$rFQ%kL+6>du1=#u)`*^On&3}*~D2xuE6m!v!*BH^jiY#K&apaom5h`&r7hy z8n!CFkHN?KjD@`Jk%>)u`6SGbDdVG0$9nVH!-XpNIet(l2)$izR#t91c$S}_S1$RmH>3KWM=3ip;vqAgQswR@5b52P#0&+_GTla9mZ=yKX`uQ z`XZViBo1*=cseQP-^M3sb~b{Cg(6<#D5RCd4xPg@8Vs2$Pu6W@o28csa^~5l!la## zvsaV5iXa3Js!9SAat%e3UF`s{%pTHf*!8U8%!QqVZ2jqBB^Z;dRlg#Ky>h4(cEa}( zNDB^bW@+cbp><5gM(mMBY7u*8ug5$J>lDC*XxJf`QQ#uKsq$#Ox@Tx@WS=@iOEo7M z)z&S|=b@!Ik21Xpu8=HC7GLF+~kCT&aFnL0j62lm`Vi`qC%q)t>6nv4* z8mH#{YjNvSl_l$(QqUus1kD4h_BNqbn?vo^{g{FtD~f$8?2&&vn{+^QnN1|GaRaaY zU4pVbq8tGcXlsdhST_V`7@!vx@6ehny-r&fiN%U*eBQxkRR!oH8xAz&Ps&7sMDV7z zYZ=KZ-Rk^_u zWY9G>S7+TFU(t+2s42xcrMSfBvob249|s~%Wu|{bP&?va)UE^6#-;UF=`k3$?%sTj z@}6v`pbKScl1sLK@7Dmqc!WQ)a8!PiRlV8k2mcZ|!k%KWsztA;C-GhC^u6{bdF}M+SO*GOpKRjVJz;eAi}^F!!1diI?UtFM(C_&rnlHZ20ZpdA zfigIVh?hO;iT3LHah)~Jj*Yy8@~Fi#;{BpRb92P6V{He`OGg=E=dZ2ETM?tMb>(;H zT&ubNLjJdZ$HiczR{uHM#ZV8V*JjVpkTUkv-?cY*i$K%`a z{!;IfY~1ATNlPt2e;T%8dQY9VV#*G4yX^Gghl3Oa$ zJk0NaM7>H7hebSfk^N-Nu5LhkPRJltEw&wgREu|Rl1>8ACUeLqAlVPcx&KXFyrBjz7nHNyzviq zB>I?+xnfZzci0f;guMea84^Yup!4{FDoytnREE3XBURetk$O}@V8_+KicgTz+!Wl^ zlkrp}VBZkK&qAk4)vUpJ6(9sutZ>2+GO2`Nr3s+CsCj2+FLdD}#?jr?X{?ypt*+O{ z;QD1D{?3=vll`kJjeWdZ%hSZWn~!-iLDEryCfZ23($jP(#a)C0_iu^n3y?9bc@;$j zMJZh;1B9$59!@a&{7r2q7xf$zI^+XhibZ%8y_{(&cyk1e&X!^Bie$x`gP)Ke1;~Kh zBIuNR7sRf}@Rx|&Ij92C*2`AS=Mwsg2Eb!<1E}LTX(!hgc<|;Dp^vO36+o~ZO!kL3 zg7m3WZ6Bpn9wtM7FREDG!_X#0ds{Rbi?3Yyb{9=!X)L~;o?fiMUjspXAOS?~5t~?n ztwO`B>BjBsZCo6S^KAlP-D2vu2knA(+gLrLsUD8l$ATf7xk5<~K6vv950S4wlC#vy z-`{vj)L=7n-}!HM7gxiZt+#sF-kct;TcHYvj`N;Hp%=iH4`tfN;T*4MB1?X%NZS-u zFd@L>JHRFE4Pn_h1nBC2U&>4P1B?Zd5$JAiH_clOWaFpzETW|@OK!@z-!{lFZMas`PozP9H_`Le#B9yeRfY;}L{^H5=AF8wiJ48v8D zUB_a1{yHOZE%wSu4f1yzm!$$M$0PZ9hf@&Q849{PKys|aUqSQ5c2R?9YLy}b#C&5> zmva0`4J_yIx`Cnf`GnsaQqB^_MJ+cm zQute&m-sBKc!R|85?DDgM?= z_X9jH#cb0Ahz8J79$9NJi#d{!%^+y8Joh<s87&H#+irA?T78!FYAGI11r0iB7m``$(TkvW`>qq2R^ zoi%1-bek5bN+X6QXYYmY_I=6q`aR|4bkNB&?VhTeDZwJZbS#H?1$ zX@HV=-&e-9jSz3dlh@52jFu8%_9uKBx{Ad#xrD;v!k}F7^z9&DS-OTWx3XVaShvt~ zUvjk4d!1_WFVwW19V$l$f&c!)ZM_0zk$mw6-V%S^tbD3=AHB`Y!{S6kFKJr*BsI}6 zd}<4`>&gdU3BDqhwV`@)LjCm%{lI-%E{gyP2cXk-Tew9b9j1z1`vzKcm3mGbRk~_> zL8ImnhkAOcI|WJFan=?-h^?zG!NlX<2mZjBdvua2d>+F^42=&J52Ajs=ni~;*#r1o z&SoBqc0#c~+0p6(K3KjKyI?KZI%=-VCmjX-A) zo&Fb#m|KmwFKb2p=KV|<7!V)?m_+@yZ%+_pUkR^u#R9*Nqt>J znC=gy4w9yztY!wwRTZI>E9K}em-|A5ShZE& z?Nb}jiYmVc#&iIGio8+=-TFn{%7uJ05Qx1n`kgdT&N&@3q?;*VjzphqrO@@1P^0pnAHv?|s+78xIZSB4il#VWvPH*SExf8l4*uH`UcGx3xhTYqMC-Y>t-!_UqpaV&?}zVm|4rMCx!Z5TCGsPLt z`#AJawv(rWI91#M{#TGD^iis;RN?#KExAYcjF5?=$bNMQi${kPVDS;^y2RcQ#j%4= z+Tg1PIH`WjS_!&0?m(a&P{9R|06FDrf+ZWzsHON5ptQ@gkTj6rtU3Ge>uVg>bv&G& zkUCx2V;kyfT^u}PvXNdTEs;cT!Q)gR!GsoGx^5O8w@qIK6uY>1BN!uPC`er9;$?;s z)uu*@pvN;W#OC+a3>-hNvq!>NcC{!s1| zDnfzYDWL8ypDG;-07PRDj~b{K`~`#~jD0Z02q5};hqw{idi~^wJQmw3R@*8Tdem8` zd*#$Xk_>AUiY(Uqn5IbGnLJ3}!n(Pj-?A(iOiA&fd^bab#;C+r#1T``MPMbA%YbN- z@iRwe1w~q{rWcy3DvG-noqQPqm5v!rm1(EIf;g-!a|l}iVKyUjXSP2I<3P%;lg`W< z?2Q*_L%nyVd_!}pZk_l$8*%>73FEUvAg@WF-bYO2f2&V{G;z)f)J3VO=J&F7V7W%3 zQwD@!AcsEq7^x8-W$6nN0^NO3+_DtK0sEPBjty^6frQ!h+%!aMM9&Q{BSgH0*F)tn z^FXL|!<>?MNBPdpStN(0R0#KOZEN>-S9=X&c5_E7h)}=Oe)Uwi|9>m|!96KCIXa#x z1V9wFJp)34AZnjDBJvh#FG3Xe6RT_$Umv`+s3s;vVx$+PS6J=E>Q=pc;npD~bVsQn zrc%P@+Sk><;F_seYoIv_YN3rSYpI(Up%U`MGzhEnJ5DlDP%QItXq4B1 zo|xcGEuTc`l2qE)(biva=`t->`n;rw&rIsvDefaI@z_1<$?o(0tOJGv8w)e-=Pf&yDyym#~RN{GsfkZBaY86L|pW^s5S z=H41woH!r33REjavr%J$m#COZBPx@~b!S&lux_C$74pXV_ycXfxN5fb80_jlkKn4u zHbPM~ef|R5(ZfeQTD@(0>mHm6d*a91{n`M1aVUEUTv_%5on#&36WD*~4`MjMreOh{ zw4K2({r5rMQZcnsGqFP%Gk;;FOq)gz2b!txid-6CV9a;kawcOeYwE;Vw8Y5q<8KL5 zxj7z_B)j>T?@%)$@xA%&G>jxR}V?)Tm zV`tJtb;TypX~1?p%#q%g1+9tZ4qNJx)OSxibBLW;OSS$6Y<11O~nUk^qEL$MNGb0YcV5H`t= zIhZNOzB$W}GN7*rAaA>;_!_8K=6we^Day@_a883Lk)HQoM4eh5WR)r&7IY@L6M&V! zrP`Z?$d|1Elg4Q7Npt7-HtFE_wcRk#p~@#`f2qS+@3)thFZ_7(4_ir#Ka^@lhLi_J zTal!_1;=tFT_cCa#G<~+|0E)e&stDSc|DYTP47I1w^IRQu2U@l0TLv)ld|3 z^9Zq!S0cwU*yqf-38YQTnWy_Q_(Y25a%_@BZ(|*P@F2p6hx7sp=y*C{5y$b`8p|AS zoMwdef+lpw^QB?_By7emC$qqOyjhyno)CDotCC;mUy&LKz> zt=Xbw+x*J5(Pi7VZQHhO+qP}Hx@;R={rV37`5T|{iO9&@Yp;WRkv_qo#9VBdesYv7 zy?r>g8~v|dfN zswUlOD8jb)Cy@18QQH*~EFuy5j=dKCN|K=*hWC?nxRf1v7WbjcFPt>lT_WPfi>1av zY%g$=Nm#qx$Zcgo=T&qIrmPlF&y5;{s2#E45%A-7jBb!||Cwzoo0M`IHKqrpD zK+by!cWG}+;d(*d8zwiEk$i_?JUxK7U1ym{lxlM0SqR%?->01Q zZYMfGAc=HXN{Ts%F%6FF(y3-*E~2VOC<;*>G4?M@lQpSDXB_)oK@eJ>NVdpQ!GA1x zp`qAa7_nX2m8WsdU#TZ&(~}G3W$Mx)!Qi#FhYM{W1dsk`RaV}=Gz+8eU%HL{czA~3u9nfIzC`Ov*+&;08zj{MA|#GW0^i<}(3wkj%()cJgr5}>;?v0CNi^&OzF)s~KX zpdhWOi&rvDWwFU`+}mX=Ov>lGShW%3vQZSmVFDz90< zCEQ)VuG}KuO8Y262uIx8rY1ph-RF16p1x}sXN%kK*_DhsyCB{YU{w2Oc~i4OUKx%M zg~GMmm9Yfq+7zKx^<$I*T?VFrgg`1ptsAl@M!o1qtA)G>7$J}FR{ZJSwqByn^adxi z(I(SoRgwLLjWi`OfT3d%{x@4@m@)R~If&8yQcV+OBg4bSn_{!ed3i~HM&IDO+45QdImjt3_%t38UBu4!9qiae_CE>_&( zw2}6`EOcDMri4Za{+e`T?kr|x#qg_YiNhZfH8y)nEI_%>sZ9-6UK>X~8)se%XL-eU zbGOk!B&pQ;-boZTHz>*Chj!7&Rzt+-V7IKgi46OiVB(Xh`ZYln)~}4~$BDrC-8+W~ zdXnC_(otIuS4(bnW62>60wcz5bEf9`m;_5tZ|TcDg?wNJ()C~M8ex8{4?Df&yBaM% z!3sFD=VB2dRt8W=qHX4PcpKd;D4g~{5pEOk;sQu9YD*~m z$=tM@V`_#uu4jvGLxg7csGam)A`4ThinSna4=)L1s@HyHzS@;@xtCh4TjBH*S>au1 zp)*i%M>D@T ziohLqh#?xn>H~M$51cqEWnqF*>~?WlFTOY`Yg^8m)|{5soE2SuON&Zh{GtRs)?UU5 zF^e2#=b-8nErFu+VO$hQag!BuHWRLC@@mX-$6)0o)eIt23UZJs#gm6EMW7gr#n-l! z@KCvMqIHs2p1~gN6WTGvd9Xdpw! zo)Xj$>FBa{+H5y4f};O3wD#g3L?v|_jPxnW&ptCd)5f;e8a35lG|{bzrma;t8k#jV zG~KJHe^Rum6qBehr^+qpfi}LJY)W6Y-NBA!ZYPl)`uAu~+*ppaft|EE-&mMw6Zm1W zBs;IU*I(a#KL%j>c77kAwv1XSVjS6jLXIh%ZnUqxQ9GyzAj-Wr3>~6dy3vgY$Kk!) z{uq&+%spt9s$N68MQ;%JzTf{0vlmhTiJj*vYRjE(PmC_luprSnd%_hN%M<}jMzWHnuU=}D z`U(Z>!ESG$pM1&tYxMj7uX4#&z{z_H9 zQ2in9qojYDJWmoW+>0G%xdA_|NN>m9u8O=4f3Wp3&DQr=GvjSB*Gj;C#O-T&+qQq@ zP=@Si&<|NlC=uud{d(G#w~yNg>6UT%tXZZjRY?`JN7(8ea#*(Tsno2YZ?y0@^@-<9F?xxE@GrvvI6RnBo zDT{<#i;BD~MQZWQ4TKN%;fbsFsw=65r3I{bUSR7nk6{R3K?kLd^{sX!IYemMWQ>lJ zQcvPgquV=Y>PWSSVS{Qtss+{q6kT!I=)S~SE{e*;dd@oZYDGW_5XMHwoH$Q>!D|{_ zw4(~63*>LjrJpGGE0h@2Xtejw&EmdPz7TS_*yYJlo<72nN{oPPrdf|9?PvK9UDLr#$Jb#UJ7R<~_W zY1w0~^z5wXYRq2g6^s+0^J(O@DUL3cqv(yT)kfQi1YYg(s!B*$CKTcYS$4l|1eT{+ z;z#>|+1>;DN#99OKdXe8Fbmbad>-JMSyyh%xCxi$5j+lEMch|W?D6&QdD-M>DOZmo zs^Rj1h~D3IbSnKpK^6wzY_N`-&ko(|`Ew6Y>j>uK;`ws$`~AQ4`TPD_+9V7gyICGo z(L&5vc#O86@QIb??h{(i9YyQPMMF)vsjR|hB16pOLBWKa9&@iGQ@nr54D^pKfKono z>RWdDN2R}eQ2g|Z3lF&Xdp#jYcz--)x7SAs^gxMhYI@$o>e(1iKBP10=|SS1lk`(x zuXuBG?G+nV@(3KIM+FO|&$@2vq<&Ze#6H9|465c*D%hDzZz$)Nby|m*zx@pU1Pn1e zPwAML_e*KINL!e5#yK57hM6GZPz=H*#H}eJ#*$W#3hBnLyj^B+UxQdHjYj1K(v{Yq zEeW+c;8Uh`Cg;=r=)P;+LSbxXsJ+OXLufa{Rys_%A&n_u-~{ZC;^TiTR|!T&K@Xs(E(N*Yr*1B zCV6*dVLQTI_V_iG5pg{md!w{jwGAeY@qP=V6hF`lA-g0cTchHz`%|uaWP=*eKEv8p zDlNx`7Vc*raQxS(J9V*ts>D3T<5hR3u)p_&x%ET=FxrRfox{??*#Iv$Z^RVSZv%B+ znWh6Cko_BDsN9d*WT?0H;#3r&XyxG`^An>?@t2hBL{QY&MmgA#goDX>@6(&u!Wc6d zxff|8=6fpTsuYUPQp_&LlS1Fln7jVLM&JA#qku)vyKMe+pEN%G5=N(P(3EwF#|5>Rl0~ z-}m?a^L!Zl?s3(J#-P}He7SQU+W)=A+X#wHy>)|XhQ}VhZmqaF_Fxs_rkiM?i+8DN zAI2uCb&qC)x^spFI}zwj9ITpXENr$E!>DEiD-)R! zlzGBpG_EZKd;2Kn4W3m=q1w2jk&Si(#pW8vb_Kb2?qSSp;NbvyT$V^Y*3f#Pk?3** z$;~F}7dsfBl-aE=`IZ_Dw>TbV@b&#@7bL+wT7ZubY!i#cj7QuvcqG9_msn!y|Hm~a~?Sb+kY(nk5T1aBgZ~1>&g_Wx1#U-vEFR6=- z%4~a6SLN7;pBll{R#V3Bs`j0lVS6^~`jEcil6-{)1y1Oqi?hU&y^|UZ_HTyLi;_Ws zNurN~56Act_}1ekEKj;S7OyOR<|o|q6??gs=Lc(Flub$FiTd(Ng5o0euZ{_IQR-R= zM-g5ZYCmPHt1E68tiMUCI}qg2>_FLVK*p?fR~fqYK$n&^si{G19VmdIbQpIp;V9*w`Jd0Bt$TmcR^v}OopqQ+G%axUT*E&Kmf2$w$3GJ+@=ZU1Ca{%7aoEB>d1rDJN(2w%KXx}bSFbz7?_WoW+1e(fa@dR(S&N0} zVr1@>|Gp-m$=adYWeOSW z^peySs#UEdFrtJp5q+>=8ODUVgxQ6N7cY?7XvuKjG80=N@MCbYaa_CIY;Kb=_d``0 zf%A@|{%wM1p#U#yv)M2HuF^FZBMIKlG8%Di(o_{rCwtgBSoy9@`&H(m8yTdmD$`S?;z@I%gddY4*vM1JYol*gL#34tT|mC(*3avtEFp(GilY znk~0c(1@`m2O{~Ae-Vi|?DstW!Mx3TGx>Y>V{A%?2PTETNJ9iq-aTSY6~E%@nOCa2 zaPL;bB76Ne6?rHg`tzu9p&SgTAm@uEn0o-fE3SbWzQLMhz}uwsA3K+u@{qvnrU(;^UHv0OiFXuPcNTkqB}nk|nA{9jN&bxq&@ZSBDolYe z8+OGdA_--^6x<=!F#(&nRWwfnMh(#&ylw%{1Metxlfp zBMw+zSi%-kq8SiOu z`>h!3M4}k`*kTy#I$okSE~g5SrpYH?W6VIZrpjBS6TK%|XWCAj24R&V5G#P7L7h2` za`s3L+;C?n6?0Ray)j0=w9`>vzra|(t6gzmuS?TruoefviQ)3yC~ha<1(`JOtZ7XC z?8v1gVSIC?$B_iam7E$US95iyw=-28ZQKYMbxV_M4Z2w!zZJn*+gVY*biAV0Ph}S-6%IU0cZ^X6l z>cnk-EIYL7fweEG|LHFM*pZT)Ccfz*^KO(L|!WYYF_ z-)|n45J<^wN!Gp3W}P@NICy<<&=c6_-r(;b=!xbE^b~=j%Kx%`zv~Of(H;WazxPW#yEQ)^3Ps(Qi-9V{4$u)pSEHnP~>d zOY&N?k18d@Hq}WpO;Xd!N1@W_6CPP35fIa8#_G0ksa!MaY1JmVCK#Bxv#KmIY8~LP zB9&y3*(A@JQ%lZF3akI{Ry_Kl>Jkwd!^AX8x6(4vzJj7^X2lOQK&=^o__(@6qr^1x z6ua#c<|;qm6NEnigc<2*9 z4GO^!q#&5l*K+N=T&rdZCaifVFnA6F8o@6JpI2?$$Mg{y{X6>9Fsc|sE#;pTMpcN; z;Cq3NCFs&ciZPZ5MP(riNs>rU6#Z2{bkQ|!ehv}09Re_%-y6onLENxDd( zl+?1e0K$shcysqR_JUdwvHXdr2Ejc3?Jow!GMdEG?7TUJy&ezO--p@dWb<4d3_2+4WZS1j-@;xNwHdN(@ZoK6aW5^j~D|@6UHu@ z-+1cSE`MI$?EQW&u8+TG<0;Ddzdh;zm5XLDf8!bj0#_77_{k^Y^+HuyxBvS3Bc8&4 z-ITa@UH;PeP~E_Gg|upxVDZ|x49{k*Gkaz&7P_zS^S5{S!%whz7x05kJAiO_4WI#H zlcf**QsJ$-!D3QTAyEHUN^KSQwl6IHT8fdy-5U2~wR2!tkdg-jIpvw}(wHx*R12d) zgIPSi2li9J#}ohH=>r{sYY}KMx96FW4mfoW*_2XxfEfG6FCwTS`^NL$)Sd!3v#Zr? zquYBav>_t(dUO}_60G11s`t@US&q9Hb9t=av=zig_0anE1crNXy`sk9;Om1gG@odA z0a&~HFajEZVtfNuv4G=l2MB=>ATH=t_Jsq8)|NqaR@5~~lX>#1Dd_?b{Sf`nCdc30 z8~Vlnx=6A9E(cZpH>gb~W_v$g!foM_4%-`i+!WFx%@wcmp!NORW zZ*t2guF@xjgF2`Aw&;+Z6!Mp0il-|~-W3CXBVvr_0jMMhDqfJke`AUE545do3bz+n zPZwC1;=?z%=bRG9rv+%DPT*vPove#PWyq#LrKd$Vm>H%i|C$br)) zF&PaYKiJ*RY(st_?5@D8GCOD`f^rX>#(J@0FFc@CFBMnL@&V8~83piW*F!Pd20;U5 zGj2SC8==_F)sj{Ew2Cb`A*1XdL}dk~`Iv;2Lyz>jGL~(AStf)@KrEbivWe6k&AgTq z3fyZ)`u$`yq#|M0l5aUEgB`GlU1?d65=_d8>Ndxi#d(3}oimQ85HE!)HHk>wL40AG zt3240MBG490t)%b=N2g(8R*47`4?pp}y35zGLq+IiP`N2MK)?ZH0&6J+1xn$~lNtNI5g|1is znpfRru?5cVUkM!K49<4g!9b-8G}P!eB+>$M$lKo2oV6MZ$GT+^w>QRLpBrS~U0~(g zA?i>%G=fKQsQXg6Vgm2t4T4^&Uw$V>k+muzx>7e+fN3Nj=8RJ>Z~-skzQvk0Ms2Yk z*9psUdVWXNdn9zIEKAJ5%J}2B-c$Y1`+zI(lcwdgEv6Cg2HopWE?w9OAQ5 za+4qPMEJE9U6QlgYaIxqmC6l|y%ww|X4wm=W`+2X1{yZg)nY~m!3K(B*D(ahBI1V1 zTnZSN7p8Zq`TWx|nOHzYBmhu2!G!WieC@joP80MlhUB&chTjq_##m^CsFf_-J28w{ zJ22qIt|3Vx^;jZM!gK_@mDDpm2~U-wE&r)AyB!`_k^wSXSLvNP)5f92`RXo{kSBrv zGdEc7NKnzPAT^O#4ysRx?N>o;0hovF!&CO!x@(`4)rvRT;-0a$4rm7nAX&bsQ6@bd z7g^SQ!IlcPuT7!1QRl3{*Fr?3!Zhtq0UOG@q?KHdseA^ds@XT3HsZ{}yuLC=UZVw7 z5@8Tnj*|p^#YUTBj+y7a>H5+t`6&!j`RVqWdd}(GYU`4sR$KUowUptSH?6o__3m5I zP3$HSJQG{5MlPUsveXx4>SLXCK^?i665=-x24*oeBFPdS2?||-wDn}Tm1X}o3377d zfiKsQ=V}vNw*j{mKK$_m(5L0Pu;kDoZtej+gU_4T1I>vlVHL78v_o~b8f;P)2KEx= z2`UB%HjjyRU6i-;#{N;_yo1BcGjBjffe^g5$xLWufeFOlpGk_LCAAV%l~Z^Yv4kc1 zi$7Pdiq#LVh@z^6LfwB{_>*Mo#K^s_lT}k^m1&p6rIIYh!UiiX zp&9P1Ak-PHfsAeDK!R1Ftry$agK|Vs3vGyTa7x=N>+rimNCVm!>+ir6zo_&L3Fsz^ zyf7GQ2koXx{qi+T;CxlXfb9A9QQ8cO_5*zC_MnQEW>?FR1{NfIw`c~o8~tdlmGkw9 zfqNkH=VcmoX(yNil94#&pirOZj(})b1?QciELY2GR%s6SvCTohJHgkHE%L&V| zoU9b{hVCdtLX%6*tQYdqr^~jf$t?b`!Nzc#2}@wJJIeQ)-~P9+ym638CM9cfx}=5( zOUo^atRA|6s*JfrFd25ilWZ3dn^7Nl?Z3Um-aa(O%h-2v3jbJA*_i)1>5Di}By~VI zx8$FPQ}{nCk~#}gRgHfYIljneCiod;7h8e4=1Bt=lUEUXxuOZ*p3TO?R>@R<2mqoRJZHSUhE{A?nyGD0t&+pGHF6sFR67mNK zFdn!P*mPj{g84{s4RR}3wS>WkA2D=6fM4#B#CfvFkU!xkcu|<$RH_~KS@N<}F&e@1 z7xR}jY^m+m&pJX?h$w3o^Z}i5oFpLVa*wV{qf~>D!c}miAFA;(&fK`@2c)6u3gWuz z_p$1mSXErJ2Enr^$GwtJ!%;URb)R$%7o4MVgvR4epn9-M%3v()f}iv1oMnuU6H&&G z{;{P+4HN1@Y5C5^{Ne&t5h<=)GzMv*q~Dq!Oo6u~=w#?!gBbuz333s(&O_u1m-WSdrna);H&=?;BTQYndYeu08s zUXO5BP!P{QNAvUfM^_#KdZ@@?jfNAx4Ibl4$tWI>R>!lgerfqp=ww@LzJdXIv?QP+VB+l8lrYt-#{W#e-JtL4@q|J1fe3eN8?sf!HkK`*b)iWw%pX4gK}dK0bs85+&? zv(wZZtk6}-vGqG=ibc{v)%I9H-kW0%O*%n6sXU71OKgb|d^?+M8M#@swq=t37=~Wt zjpQ|XTkS|975d|ZdqvnVlEL3ewAV_bJUT&n>qgOC>oRw}Mey8ktRw*~fK!|lvmj9O z$atJN9&9QtyuQggmuvoREN#LTq@C$4pK3&OarMvxn?H%B>V!3R?AUaYm9Ust2LU(J z25+)PnxBqxS886al*7TPK$74Sm>-=*XH!!3q`fp!QmJOg9K>LJy!ZpZbyAA=7Eb~I zG+rt>cq^0d=MFnt*saq?BGL>~iW}7^Iv%RQ5A5ZU02#qe@jy)j~v zT5g;!q1Wf2*Wrl(U73|~z&U*&d4nbCPTJimSDO*a#Ic#Gy&SB1vKvLe zlPPs~Y><^ja)fEvqHX{gjFw`hx(F*>0A9RDn=(-;9psHC9JM1pZQLV5x%Kbr@CRJo z<9r8T-nU7PBZ>{YYP=)HzKYhNKNGfHy+55)6MqxbMg`FdtoYsjvN>J9cythdg3~RU zi{A*By)M57p&hn7G(3Gs5&Ur(w$NHzi!sqGb0*Xkt8-B{U=N%}E366_kWBv*sUec9 z?b0<4uPpyPET!HpWljFu?Miuez+1g*CJFZlcnn_VG;f?O`;?RWBw+~B(9MiyDX-Cg zTIyZUcJn)Pn)q*7(`XP0YAC8CZNcpFD^KQ}(JpN*g2}IfS7*Ae)sQB;#!B?+>9a;N zKW}&Fk#h*zSm{yB$jB2b+h8~DdXHXbTV6wGCPFi~CXA zU-{4Lf`wnx_OdU({kV}wJGRTXMkaZ5Ob=eg3HR}rr0E)2ORyVbwgNg3@C;K>SPhVK z%~q3(pxPl1OIwst)<{SH4&r0{@}`@X5>l2(((S=a5XV$Th%S+_PmT*a_Z?lNtvjaS zW49@PXgrv1^!k#3JDHoAhKi@(HY0%5>*>W?u=lcr*e3(KjknRGpv^X{wl|}?&x*?} zGp=#=z{)_o>bw&Ic{nm7H+yD)OSs#p()u9ai8x4+2kN|yl?!%&d8M&g9w z?d`rk&s}V!d9Uh5qHoRpb>qyZ@}wtzEzvE@Ujjr7GZOirV7J38QuF36G7y-f3DgP< zBjFLRiSYA)IPF0W(W z!}Y$r-d~r`Wkk@I&e_s_<$9)Xf|F1zQ&jHUpkI5Kja~1=fCc|_3q|R`uOpP;Sd&B-K7* z*Ci}`$DODlZLs$cYuXVGp>!@GmSNhGoRdg4dEW_nUu)L;+T$CsVV~%fbRygZm9*~c zN_0yj2~$l4GTaP4EtiMqysZLqFBAtpjckowi`&)1NdlrL!A7prFi+I^wXUM20K$d% z4>m{|wJz!9%46B0R{AjaCCoGKPNac$>}r&plW2p-2zaU8#0~#^B7FKaFbqrU#1XpP za0ybWW7jR<5*5sZfilTeJjl(W?xH3<6ykAmon~m(;7-tL)?j zX=+GlMdtZ6#juRh0NBt1!R_6}vVTXPWMOWYHQ^<$3rq1-%7_>N%|!?L;TRR!)!f0j zXnSLbdcE#rZ{tE33lxb#Ep!uKsHkMzKo|T9y0ZuDI9F_kWi)HtnTr|Rh~=n}Zk(N! z7_!(Zbx!gfzpy${t|19qk_hCU>I%yC^a}fLh-Rd+4_M`-+>@qw*IB*_^XV40bNa`F ztwCl2TI=9uS-$BPLM`Q;^o)SD;2FR9wcwL3Hmi87RC1Orl-H0YX20c?wqx~Qti#KP z<(7duLZ>pv!zWca4>rnVElgh68v5GYtJkJ6G6~<7;`0Y2w&~J^@e}rX0dh(QMM_q$%KN z;jNGpb#lB(JvC7Y&?%TTcu0^4W+9cZ+O?1{gi9eK&yk)7UMGE>Mg`bRQ4||iKo{H* z8#pWH?pmX2W}ZqvjPR*ho+J8wf+nG?6h;Vp=8{Mostc@38!C_1)!4?p48qO%_U~q0 za248Grf5-!5Wig2VeF;6vCTpab!(&x$7GP#pcU7Zif5~mH6An@Guc}$(%2juceUQ2 z*Kalz2IucpkYEj2z9!(C)t!Bi=0tR#?gS$rpZ0@ahM3YgDYHhpvw;}gW=FO9y{I`FTu8%)DgbZuB}!Q6zrZJ+XUh10 zP(m9kyMx2Y@;b&@45n2@11H1N#wM!BZ&l(hshml<%Mwv6u1d9@R6}WcTiTw{e2+?K z2l%?+V8OJ*$iO+zL}RpIAZiMW!(mb-J2H;&u~5=F%Alwcm=;?ne1RmLgNUpR6O~kt zEjehE=O(`U?!@7vO<8ASbkQj0G(w=**tpsg)SvfGqEBbv7EV#gN=e6h7zK} ztZAo^tHqOq<`%;ve#kUqR+rC<-2+2PoyrtkvYevt9vlxcbI7fk?vU%xur$N}Fj+jx1Dk;oIjz z9G#`$3qtV$x_H$Ldl!@~(>3M*Q&3pU+NqkB$igm(m(tXV@{Lnje;Gs;#xfP^CI8m#I;}R$bEshA6T(}=-cL-B67Qma;qN-AJSoZNE9j0 zEwklOQjrR38+U=?w`!nkceRqneaHc|{6*%nzNo^0CeY$mu%~rOvmZmJ6PbQCDm>{o zi6H}}eXTjEf>SRlQKt3?uuDu~!Jzq@>!V3ZjNCc6sPaqCQ-O@=L&ZiO6^D6wD#I9B zbwo*|f}9F4Sv_H4H?EbuM2v@I+-Pk~mA6RP7>!hjm3~53{8k<=Hs`jkN9JN{F_=c* zAP|f;ueU74;V@kOe#_MrA0`jJBq=gAFxt7TdUmm}e^a5hY;YE>QEi*Q?IpC$bCfUl&!4SYTM~Ih_GyyQE5v`rFbcGg31WmHRT&OqYXcCqqPB7%J-%kIt4da@~xH zT|4ur#({)0m)42uC~`W{39&^fSUkOtQlcR+EH=r7kF4dFfW7u&+_vHN0=r;qh4NL= z%Y6Z@4=fM1JpUfbT{qjXae%_!CJ+*!dlPA)j7Xfm8kPh*>dI}o8rR6lBK^2X`Bz5O{c5To@C+U8_X((gWP-ge>syvxh(#DoZZ6uRdU<};!HoT-7 z@E}2;bt@?}b)i87&=9!@VbIX|2d9j1?wF=BgmN9K8OQh7fdV9G;r@~)Mk^473t^%) zY8t$LHPGbUA9mNma)~DtM${G}p>=REonLeOF_fnt zoHqJdD84rj`rL1lW!il(Xi!=Qh6WoJme!dejosd9IN05R2{1)ScOy9gMyz`Qe{O+n*j7h44N5M*h*SnbN7j2pA_ynIfdE`&^L?Y((B@PABH?Wo=@B_ zSwS}wZ%uNecWgrDs9>^1g^EzoAL;tM`)1wk=b?4T?nZQjh_fG2o$C~6!1wUEP&!SV zB@aDP-ZnNat%>%)ST1N0*mpb;nj(HmPlR<~w8VI_|HX!74?Eqy#XhK$2O=4a;%@f` zP$eV(*_v?Z2)K!hF*%gTC1n87{-BvgFZ;`hXZZAaU%Iq6>;Gz^Q`$honGX7tVv$lM zEmJKWk2e5VJy)L6KbU*ns4)q!N1qA=LPFgc z|9JHCUdK@LasE~^$vS`A|D=bQZhCVkc;9+rNC=(Z2_J@oq3QJS-u!i$oT@VR+{KYr z9O<@rQ&%Ji`s{{zzEMq90jeq7`3z>iDtL;&v`U$@z|mg#Er@A%9qL3fr6#-&^Q=}- zTdlMM%IK;*3p2X;t024BqJQiQg}#8-m+;7sqGwcpYqAzr1urtPHD?%&!l&Q}gQ$|k z^3QpKhN614*N+O@3C%KlNeO5vz7tuGp^K~SXABj@{bb2?h{r1asy4u`SGT_}L$u8y zJZgBhF+HjUZ*QxTUG&O#uXnc8kS@q4rUVz==duny}pCz)zsHxd4cn?}{Lgmc#zfZx_lM4bN-`x$u z;?$#|ORC5!2EQk#JzVM&5%tdoB0RTRp=ooVOX4KMriy0@0OA)XRL|QmQO23ZqAhW4 zDzsKL@G~ri{(wNWL83-BZ4Hu)+SH4q4YF%7#FVLWji=hr5ypHZF|tE#7o6)8n>jYT z+P#D<){^|jj6zk5A)PP7+5l7)BSz?zPj@|QSPrMhth1IZ=$wlRu6Itn(9eLxOh~V% zDolrDJd#BRuGsL~9+gWjlXP`}t%El((nd0D*QqY|rQN>dGBnLkzwj{na6VnGA22gq z$YleImB|(o$e>cu|M`*-v8#Bu#j?8(5`}^7m7Eq)*o3mc!TweU!TdryAA7(<#mk95xV2(p|!3CIM?gn4tfVNL8_7U@}S*@WzK zsuxHmA`@+8)JDT^8oLb+*%4$xHE}!n>B`s3>;L#Uk>}6#@%MXN*{@)eQiyN}7qYV( zON4w-zs@`Pl(TbK7Am_1{vi**acbL9=piKpSbZFJ%E012ifYk8I{`))}+Ds1kmE=ORz+W6|ap`HI=sMs`Uh9xRh-oetUPLDcA{%+X^f zKA+y^EVhx+kxf}#CuUzfleAAF>dSc{kT^%15Nws%M_zL~;{?*4?Mz5!QL_K3Fs5<1 zQ=62stJa)GC-X4n{_`k~2_;m$^-cUsL4R@eJ;m+d7!G}tZ*8#7CN2%@Zt9dXx;Tvd zX67M(H9z$)ax$V~zB_uCu(z76V!~`A$AU(eL|p*t-+HwQ&#IhK_cRp~fip2hZC=xt zdu7^GUj$8QjA<+FajnR7)%^;>GPVnmDIvruW6M#)PZP#uJtF|D-?^V`IUxwC8HUs+ zV-i~R0%*cvAo(*Ty|W8Lxl4>m(z!NX8le*k^C5jmwrjFNvC3x{53kbBRz~Tb1Yc?h zfia!tkNy*2%;+fR`y2>8})aq9p!!`taH;?mIOK5)(p3^;D@;~TAsPXrCa^N3W{ z<}?Ru6~aD6+q{8Su7rVkEJ_8AeW3H*Umf()z7DZ)7np+;aA79Ht8D$4YVZn3{B9;x zc*!iKDC6zSyA7tY*Wb1iXN1S4PIW-gCRZaT5tu;u52sK`$5Y_)QU98UL7Y=8%gXSmLX! zeT;2ji`knt{VmM4_$2z?&H#OWbWjH=D9R1sPc>hWa^zUYQ_0|<6T~ahr3XsW7GOud z2sTBaQ0j_8U>b5^lAB!w>c3iA&Z65ZrXJ!6K!qUfZ9_K=x)2$$4 zGuYaV-P!bZrO7EgxRrJLRyTbk!wdPwnIdz<&}Tbe%Wh`-0LXq#Wl<2JH!ABCbO(5*8~clIP$ zWf&m8;Fh->zxzI7BP}p6DsT?LA?8mH{zW6tw*Eq<1nS@h zD}xP01Hz-EO%gkp3`Zk>?ER~>Hnua&>HmAh8#+-GmOu)|?nXIF`+;fki6CCbDW(1x zNocGHz}Eu{;ICW`Ah-*QKW_+xj7LWM{8Rx;uKoq6@CUIx0PW2oqec3Tt)W_ep8E1* zSegS-MLN6ek%>XpFc>{GCf!Jgn@A6b_~L(1@Iqe1G}|43Weq(~5v*Pu3#*uRAbFFl zw}?I8u*6t0fJCc)Mm{Y{8*V1>s=#0nf8h=U=y)8EjBG7K!<&8}q}in~B){|M8n|%$ zm=Ymxe1BX-C$HQ8ygXezmD}s}`uuE1CpQ!1=jHHo`RaumC}XAZL48KlPUVcfLP1Zz z3gzS)f|X#-KreM8F1Tpg}fZ8&y5K zatsb2V3U(N702R9Cl0QTaUh6a`UoQnt1*kcx%457={aej(N&_{l{$N1ZIHnkdC2pr zT4n+XRv{hm2xq;E#$8?hdMy}j#ywql=VbZk(~c^K-n)E7G9Y+TQ%C~tTTew_Ycv(N zUh~#R{=?(>^G&9(I2o1_k)v44&UyJxa>$LDKXKgT6Fy#ls;jdOdA;(DPtMH5m&8vE7&J05N|nc- z+=Gvz%GI*_Vprf*nytRUF|&fpD@9QOdX=|X)3D}*eCDzaIJju2gH4w~X{?5O zio22NCmr9HaustqZgD79EwRn5@2`rDWE1#0(UitdEnJPBdpx`;r9_+f_y;>bJ)POh z<^OD{wt5dG7x@H%Mu{?vy+_H?U(RJ5O+x=;Jgip2A#ll2ZMYx1f z1@E3v+e4mNJz(8u=7^uQgHW-F;OxRNISrVB2(j!yN7521BB#`rJmh-b47g(~(DDx2 zIDyHcf_ju6!URhny}tZ(XO75N=lYSI;iI13JFcsh6-*-KZj)oe!c%p6!&>zFy>fdE z_1}JvvDjq&UNUS-Od~#hJuBB(?4Qw5q|CfF;qzfogMB_K5UGuWuPv;btAP9D7C(#; zf0tLr$@hQ)muyHK5rxBWeB+uJLGqkaYRYbFV8;$o{Ejc{xA!@prarRnuBzRD9P_)h z`>gNuVv)PGb0OZE3`N+Kk{lwI?!EswL>b#9-@bN$xLncFtfBk=(e_S3q6E#p@7T6& z+qP}nwr$(?tg&a-*tTuko;houh<)zeapJyxx1+10A38cK`=vT7Gk<@sd}>GMHTZaN z=@J;%>YYFj3qJ{}&F(Y20KtwjM`8+1A2&#%jn)++ON`A-@*iP2Gl7#65E&~vwq=lkq*nKSWc^7S&F>c6 z0Yyglt>q;@QDir$ESrF?U_KX@ev^wj&@o)8Foo`8^Td8=mMdxV4u92Jy9c1K0uWd( z&aDo#H!>A(&WtJ<%78CK%ZQJ^$z1dmk7pCGoM@q^@p96T#)lkXH2tVpXq*1+7$dA< z4IMm~{6_u57MSXud8J9maR8QnPDe(RSFH)_U$Y@6216qvtG ztn*K9znoYi2KIxEF+PAr*0&j>wx&U5ncM}V+|~uN+HI(uR+R$4o5cm|j{t{qbI`f< ziBhc?Uv!yd5Z|uEozA|#aY?Nj%pRl+4yCflPD;KiG!t5_s(vOo3HK)C5cNjWBNlW8%V5j6e#ID)8rYDfB}yeXO%-JZpMMWiO|Ml}dK{5yO3&4l{; z^g+M;C5wD>URR^&8-gjWd}yaU<3E_B+;%|s3V4sBR5yv67nD}IwkKF$N@=~10m`D+ ze%WlR9EJYO<=jeUPFtD5N9brEeOt?W`_QggLBl}u3Q(26^t_@r5sP`#*eps(VcXiQ zq@N0CDVV!bWUtW)0u*n(M;t3KMd9{|+fj2p#R8k0D1HgNc!C8kZRHXowzW~uV6K~; zov9T%lFMp6URc|{Nh*nr_ZOpR{iqEna%)LJf`*xpuCl2dj{&c%N{mcJ9>(TMS zqd`(&0RUqE)uikH$LrCR44wZeQ(Af%x>(xV{g0CLYb_ux6xI21ucAE7O%qEn42)kN!gQ6Z-2Mb99aLmxI| zsx%(cE`VbrJs{6*P!wTKTF^7yg-)c%rP8EBPe?cF#03$^#M(}o*-?B^9U`bd4C9L| z`b5ACxCTQa&)h>19}WNo1UUIqtxqOR9d!LUq*!n%sz9;y3iF8Cr_R0cC42HYPLXPd zq}Oz+dQeGybKoui)DqW23|eJOBm-G+bO|#@NiSwSz9=WtD<$yEJeup{Luf&yA3WkN zO&D6IP94UK#i4B~K{QZj!K*_@L%AsL>pDQF7cAjEuRv;`3ApmBH2wiyJlZ!XAi*dE zI%#y9FxB$`VuGh0J*?o!8B$EOSkZ;zLGk+SoCy{LcR_#?68ro|R%f1|gvgM~S`bEW_TzGs;rM*Kn;Qkihl^n6 zZCugY3@AHH-r}_2nh?p8Z6rkUWS&uv!|-PAhfU2TWAX`#MLN|sP7fT)G3N&!R)WfF zJCAk1V|uZX^e<$2StG`5+hp*!bl=l~*t>HIn!ZgyZJViaA$cFY5bDL2X@9;f=b&3G zEMW{YD&M>IGdlpgF!|V2zUB5YF()Pr>NlK+ya^u(&?!FB4BicJ0b0UD#|Ftrj3KW2Mku z`k06qIB-Fj{i9R1!POMvCt{C# zEW(M&Qp+S|utdt3m|X%=f{P8P#y;!?&%==b###bPcA9I9?9PW#{UMfSTK--zS%>Wl?oc19pi1>jJa zkrL;T#6wy-ezccigW6MVOU6XqGE^LlRo`-)tYOQa=Two4P*0dGIe|YD>V?3rY)ry{ z+=@01#iH53+jIh*UzDeXMuJ_F>D~eZIpe1w-+6i1rqR_BKIN zU?PFyHx4kw7S+_x8tLFqAvHg35Z#r8#kaWo$Io zYObD!M!yYZHkI=U7L$BgGt6{{MZiKF35+=^mQIocr5m1$3eb$sKOQ_dJrQcJ}nAQ7D>nzE9; zS}}mi6y6x&z)*O}89pON9Y(25K(tnDj|9&|MHtAG%FG%h?nn@#k_h1AO$>m7#(3K* zFue`eEq=a=eBLZvyk)F@syg}4TTY$UOSiShp)t3KpC~T1otJbn!c1kgzk1Bt-Fu7@ z@LOCPU|v8XaK4X+hm7^7t^F&)$z0H*SM^6dw+FUV8X?{Z85Vn2qL?U>?ZDWW;_x5w znVE=?l#XSH>tGjqsM@=_>Wd$`Mm@d~~=>e%T*aRih%E*XbqG(hSf14f|7q33DxxP1*)Lc1$}L?R>$7jxPT`YK&!wZ+pA#; z?oO@b;?0wpfP3xi;Ddb*Uhrw5Ksw)vasfAGZHWoPa9s^(t87*N?Vlx_ zVE8A~goG^ZM15Ov_8KrzbA@w7Sjf%A-IqnEmTub0qE_j;E-pjMbSVnBA1~f$U3o|t zCkq}2$bp|3i$|F46WQ9C8wdux1kwC% zk@uQFP|4QLY?T%3Ca!*81V9h1CI<|uHw`Os@|pI=$;JBCDX_8V zabV963VIc)EoPsMmer6#jfyR$s2Aad#n`~@b)5`1})$^xEmTY7sLlY+(N#UyC zZVH|bzb^J>iZib7vFf+#t53;HZjkQN%I|qxA2S$dz~(DQ-Y0ZLq)9zr5}^J{W(U)c z^F#}JqtqJWK3fCq_Z3~27HS9Stq_TAN`oAW$rMr`U<}A4PWs@<$DRd_E!H>9=bP*| z#NsU>sEih#44o%rA|i!afU8S+>uwshNam%7CS`YarZ0|M1SgGKPp|OOSeKR6fOEJF z?DUF?b>Mys_LIQMiM(os#0W_+7jA`-c+J(6`lvOpAkf_HHj9gq0{KxxwZ$-58W135 zXTi4{C-1r3E_3h_8bf!@YRqQI+x1@Kxcs=B`Zfr!QmmaF6i=j|*xqVSA?6YlVS!HC z0U`?`?qj2Q|AU!Zpy|9a=)`iJo$Y9TeauzE=gv2RG6bd>I)**qB>d^I?+efn#%>&$ zT;UpEGr@&Ho5x|pHI4%l@^#bw%l!w5na*N@(!#9 zlM54Sjg{=YQC;nVsK|UPlK<9_3$yiF#%>&XfSQQkhlGSe58M{5%&K@wWaARFdF6rG z=5Yz6!)@0ApyQkiJK;s#UC0Gs&u$-RVcSJte9ZwD$$NMF`-loLk*hUB0sUqp7RpuU z0bRz(SpyV~liQ%0&t)DWD7@n3>lGLs9*hnGm#7`s4i#)>0%T@EMBErvY=#Qzg(lc0 zP+Vd;W@-)wR>Yacp$YZxdel}mms2IDR!;dNrVGGFl~2uu4fUzbl2vVWlWO<0*w7p| z1`o_R;7^?TkwtLpHC#VKS;?mXI^$jdLTu&>GnWj7}7URbod- z2Rm~NgtyP?8huyx`pO8B;yq^ynsY8NQkiCJO>C*nC|SymHNnyXLg|j80xqqUEo^g_ z+w+jl4S5D;p?YvFn0AlXcj4co81rzW;2#5}rh;|We9M&J%J& z>yrKoqR@Tg8fLxlQIFjFQ_oCuD!8FWx4`r?l>>a`UN368?Y3xI6jXd(sYcvx5Dr%% zOisl{;@*C8zn>kkKP-47?OS(sHuxq#aXhBL$XFi0>jg|6x1Y~&i!se^)Dl_)#JUE< zy#c`Gnp1e`xpv8iXCrWU%?8P_r1KLTJKtt}t*Yw#71&d~e86XX6NmXh4F1i<_~I?D zyywT1qlGGcNf(OjE7~>~#9FKW_D2``1^b_oVUvVD;0Or-Kt<#KAM(3Orsn@wNXTpH zyeZcBPr!rG%?fv+$Rcv4XQPG2)AGwBO_ zaIKRKB3VpteXX+MD@QhZQ`Zr%4aM}qI8VRap%2%wXpR^%+O&a_ql)08Dg2*^G;-8% zPxU9AI}+L|BHS730PRrPSg0BDXguoEL25j84bXCi3G(DGEN*}~!PpEf-w@W;&j5f7 zf&%(!t4EVXPfb7$Y7iWm);$QHIOJ`^XrJ0%W92*gJP}GE+COKPu8Hb7VgwuEmX;8W zhlr__ff8(>#gPdpNuE0UUz#Yr;}4gR@^s}9T5oZ%lSnkB{FBDGn(4E1dh^-k^llQr|7b2)>x=^1R5Yl zc;ZKaIME7B%IVtcpAv|n2KM@-;6IHR1(+$H_+!zaox!K}@mW;UXt5-o>i50gXLd-u62WwIzFa(A-fjN3hoi^S)7$WTrK$&(sxej7uEF4X z=`USo$>2sOi@V-7@4lmo(5k!j?MooZ;a+&-5vZ!A`Fu)x6UE83yDbLD!8<0+)wm_- zkVA^Rt zSnrc>`8VFrC!K%tf5Cpg>}L`q6woP7ErxK%7b7ZsM0EY&WAC? zp03e@`-;(%J{Wpt63#ujWnVS4hTjLgxqeu-wc(Btfq2yEv#e_)?C(pK$`S6D^oB2{ zvYS2SPEcdMnE+c7Cj*hjCLF2sZ#QU9BthEHEN$+)Q$|(*6>H~RUv2A1YTZ^hWJknX%`=jyoccEmTM938b84rv#fQMKPa z@_<;c8kC=6YbgNHxK$NmIy`X(g=joUq4(vKGQa(bW{lI>dCzmn%?NXS`0?xR98_!qU zPG9e&g1 zx!pGrW1s-Ps*?dSO#w0!UYIHd5G#ZLiw@t961V}N$_VUjiG+aw2X9^QU?3WbwNe?| zYKqWkVLu7r3A*9k4tD)tcD&(x5w2;8yZg!i4X+Y(x*xz2_P6E|b7+9!FL1m^e0w|M z&s}1=-VV&8-&KthvGjN2hyc^2hZ(YVR+2u0SXB(F&KoKmp9a;nc8E6qb)qdjd&ID4 z|30FvpQ$f@%n+QPUa-$yz2G|`(^b;0Yx;687Ns4gTsz*0O|AHcfnolDhgLrLPkX}O zbg>o|IJLF_*=`~~yloeeSzgd;%&BNoIzSvzRyr>$tC*St()QV; z_(ueR^s65_?76}GF`Ne)cObH8WJ#$%C=2*qK3&ljjvB}Tx(a$Z7-$Nm>p8a)6UeXy zrgi0MJ}vLK+5Cpsjg2O*7yp3#e{`0yP+ge%9Q$`+6PRDuR;Gos%Q>#Vpy`1t!zzK7 z1d&%uPTYW0(Spfl)-_0RLkhS7?%=RG$~QCM4+6thyx-I1rEcU?tSl$gM33?RvB5Vf z{q!NJw688h7aY;G+ZH9+el~pXUTaTFC_Px|nU1Wv#}rYeaZlbuV#z%7a_%NkPNZxk zyu3@B)EVXNHRb0Nubkz|G;Nuc;n>7|Fh&rb4vJ_PuJi8Cugvk(J@40?)ouax2g0>A z+&52^rFmjZHhDw=8W6*J8MOMLf>e9Ai*`QlL&QbF3F-38ADw&{L-cWXGvN|ME8Hq+ zrqvA^5N0{#4~?zC3E=V}ZY=0v*Z7A9PXc(0usAdij{k;UI&$q3TwCgxe&Fw%H}bZU zg2uCVdBcFmPGvr(LQF^-KMuzA(9~#4v7-Ue@mhj2@*+hXPHv zMD~1TFlFe_XU-raT*x}ZR8nKeM=ymY3t%}O6kFVuBYI`aB8ePH0d@tDa2(7`mBQ?d zIxkp-6n4)Z;E)FReqVC^*!{*PX#}l8D|&EjG=xla??m}f$VB260wHO!sT;#Q0B+2p zq4Y0%t_I;5zl6KagwMAn+|J|a>Ez+!+~Ph;?+o zJOzj^66PDr0b#WqDR8z7SSxDyE{qvCnpKNK%0CFxyjUGl3Y4i5#DoR}Yc+cF6@M!b z_DlUPwH~Mm#Q;eVI_~xq!-@Htygx48L#lbk0)}wufH%oH!eN-J!IIUaCeaIfSz2pS zPGacrN=+jNkReVWOI!$t9q3k;k|h$6E4((?GUS{;Rnci*(T)S3v1*_ZvItUmn6lm< z8z@R&Dyg_a7C0n1;TdKX&PHjOw1h+t0hyLLL665J#`~AQwW8OnyH)K^dq9S-W3ZF2 zCM|K*+t-;7xK(9vyVQbsS6x4P?1G4X+y%3i^ANmEC7ywq{yO(XY=DJYP%KOz?%8aV zQob2dm0s<-buLs8%a|?$i>N9yX7+;FX+g_yiCk2<03L|n;2OQh^B{}1XhHQw%^~DK z%KB9rVz9b5P6*bP9gBoEAG-%`Zzg`=n^LPXLXQx0ez55YGC;d)S)B)E{Jh?74gOBe zx03O$PcG6$?O%YjY)kqKr&4>8wVy26)6{~DSlK4*A_f8xNd@Vn#`@-{(i394%X9`O z7Y#K%gO4L&h@?nsDhJQY9g3Z)>GDA5aVI5qiWQw5-Nh$MZqw9*VJ`{u(Yt+nC6$Rr zA2|l?lh-gbJW)y|2IKkHD>ehJWb_b^P`D}5fDXpM0&;o_J$~J5nt(bI;o4~L(Tr7J z5aI!dw9S`Rv8A6T0P>jo1oe8Pxr&51}>3ke?)e z^=7Ui%dCjfHEYOILw>5vT2@w&t%X~HQmBO(Al))xc%P7%67^&yLN-_s&iH|h(7}bM z(=4-;iGqnW7qwi2-!`_uOTYmK1=e5U8_cL0$Wkq6JaEYAEpQ?qa!GMweZ*m1f5l3{ z$;3OHBrPfBjrl}JH0c`G=8J0f0-5cGL6!D^rWpD`$nDTWN)2f3TgZ~L9|bsTrZ7w! z3rk9O&MK1u(ywe+_fQa z^L410LVV}yOJLIJ2f@5kRj0HirPHSU9b1q18?1;@B1LFXCXg-oCPo44&qn>A8JM|- zl+^ockUZHM>Sj*ubk+N7N?0?JG*gr-lZEKCrWFcvAiGQvkBmN@U4$sDBoN8VNg28z z28<5Pze0=>Yd;Ps^)xv7n2I|8`ts1G&aVJ8i^P}}C$#J2T^1ovn_T9q?P;)X_ipMF z7*m*qMD6{w#8HZ0CiIrO!op0b4H*~VqhEgA$~#w;sHM=dAu7;=&S=`$S;@HccehZE zyWhp{dBVKVGM#t8wW??>w}wuLSeA?OTOf&7d#c?>|IU&HxC3AzId8X&l;LH_E4lZ0 zc!-i%ck)>CCj_T(rF@uWnoGz&Wp-XR9L2^-72)~fjjIsCV?6rZ1pH zdV@VN+LvhJ~*S+fgt`pjXPHdi>AP zWe;cwAPq#uJDe8PsAh{kN`b;e)|t8kzkx{=#W?bQHF^WE34ceF(VV)T1-qX3{twt+3WBhl#Jq^X(fJ#x&~4NktYvA+p@gaJyxKA5)84H$w1EM8hqT!tm4p^bQDl-J z%~G}nGh~5)k+kUQEM&@jl2OTP+mX6>WFeY)osmW0{m5X&MWank@KPzSZtW--tVl5b ziWm$u!7)t4JBs6Qzg-?W!DHz#5~#OgOV9i#f*t7m6ii9=`lc{aU})3PfmDr2#g`oP z^sn@0ENQzxLrI}c6{A4*;URdOFBNqdFrt8aRepqGqIg=NoLbz{jR_U~sdE^i=*#u_ zP-~_pfRqyZKyWbSju35zG){_U?pLmcLZ3luU98BYz|4IX+Z zV+*b%<~gU5yNQH~GHHZAfZT}&a{^-9@WotKS|@-@kh6#uuWJZBe;_-I>S}UFEW^Bi z7@h>O7cjooZmG@vFe%gZEh<Y;aq>XY}uU6@pIVY=luq(cQrqC&RXL~2;cgrGz+1S4DQtt5wYN2*$MWa5jM z#BNK8R-h@NzLtwt?$Oq_V84(&y3XkJ;REse(RQ$7~JGBcS&4 zUcAttZ`AXG@AJv5E7PjZ3AI}R690rI;wSZ318_`}TRNraJeYd6R(V7URhm*I4nXB^ z-|WD(Z&7|)KIhE1U$=a%T6@%~-|JehE;`}6O-s{sC=2R|nSz3IEHQ=dabXDEwz4o0$8b0&NS{RKt~jf zc?9BPueb?kSk>fY>T?RU98kfF14Z~=!pu!87bm03JwT=I z1?%eo>wv3Dgd*%4T2HLk^fgcHKuyArRGsF}=zzPrH6^ZdAOtYMozv*Wp~eDM7qJMg z^P2(0p39(2Y2ze6w$SGiF5D!-5|l6@1_%k5FhRxghdx*qo)iknP7cI~#p+l^u>(1m zkU&iHyJzMao?JAyaW{-z#)+7GDf+edDVdP5a2GuCJ+M8^>zg2p3vu3gW!YiW}WkE1m# z)M@!m!I4=*q7PYB3)9Vks~asMNu+39s11$?~&5^ZN)tX7Vg>SNo(kR&M-aKFa;EGcBW0^)kpZZchX;Iq+ z2@OVm;-V^jPcY(rOrG$DToxCH%zRDF-KOcE+N3^92lI7gSywg@Ru(yVY}XO3J?-Wy z?`m<{Wu@>P5otkOBq0DEEaYJ0fP`?3QUB}wR;L<%F5K4Y0&*3^f4 zPeRCEYSs9&(!0#6rd&tLjT#2^4Na1pZJGEGpn7BR+`kbRJ33V9DVEAC`1J*yVF`E> zFh@X!G@ksn1>^E&zUl78#1Vt%OmmRE`opb^ooXGk^3WHp9C6bcH zsvF&uF|;oC2Z;^1Bfqugl`5a|xqhxAJ1re&4}erFlbhK;)qR|EPazhgY*12m{)v@*!K=A3Uv z1S+i}CP_h-F^>ktvgXDQCO^@IA~Gn1D{VwIqIHvm`*^`J33}JgcjF>lxgQtQJ9oNz zh{@1~&;Y52s`iD7v=j(Qn0CEw6&pZdl5^qyS*+l(23|E)LCVwM_3e8rsgk0zK@d&# z$bODiL~(Ke=9+RdH>L4rn(adRu|C>g23i)+wJPK_g%34pJ>pDr)I&T6qfK3RdVwxqs{w@5l;uNcjgOS`Rmx$T zqwvewOu-u0%IUUw*Z{iR<(Xc+w7}LuG@3fAmzoo#j8_po(ZaT7O6Qm}GPNoil-3hv zB*v%TS|Gf}E61YTQRK3(r6t&9dMc?*9YCx-rluF-rhYv8qePM# zxE&UQ*19NQ5YALDs+xj&Wgk5&(LM5B(`EZeh}NAX{M4d1uwEm_ev$q(Gc)y%h48w_ zCaU&Z)F5*I+iz7R)P`-$(=Q8OQeHQ4Qn~42kWQi84Q^AF`7@R_wuyYoD7m|&k~2VO z?wrFyinek^O8fbdVsTFKgEpls%Yr5wFvG?poBb0($2&b&L<(b7C(C0GRcBWVqZxU z4TBMnqw^0;KL(aHH`QJK_fQYRvk2O|#%2g4!kw(0%1C|?b_IEJrc#YMI4K6Ev*O0{ zCd^-U?U}q#u-7vDpSf{zuusD@B)3lpqsGCXmjM@7dV}W@-*wl4du}R1_qfPi^;5iV zjY+x|wcJ0I|3v>f|D<*@9S=CRH=BRx>pe)N%FK4UDo|5oJ4^$PIR-rMDb&h3HpK$A z_4cDdCoZ(txYyMZSfmINx-naQdPW77Pl?dYg`gacKiDje^g5-pg(T!S+U#OcPdIN5 zpi7Ic6HnBp!l~MB2;k-f?FeeYpXL}j!BPtj3>h~XnWXB1{$oe9C`?2VBAElXLnIT_ zGC8%dGx|3y`d@BAZ?fm4>|ZS^g@Z8oeuPS8AgY>3HEZums7bF5TQb$f9T=dQ^*|lJ*huG$x4#ViSC{2}5gD-{dbq>K}+f#=2TZ1@w_R@9)uBmgr7o zy(`yVQ%hXJ*5&xy0R8!i%(P2=(bGi4sKHHOI(Vz-ITZE8rFBw(xFWc(qAVD2g& zO$vNPFr2ovtM!Wp6{HD@eQ4;~t1zbB6h+Q@7DnmP8haZ+7^2}=M}Jh%^ggeCyY=rp zeVu6mx~YEw#yEOyswlvJ!vCwzI2;^$f&wcpsp%wOR&+C#BSLC-w8zZT7vdtY@UdnQ zcO3rcqNFI@z)-Wk)*kmEqh}=5;y4}YO}d^C&!AG7BHg91$ih-?E!InUKz=8M%M`)R z<5hR}u@n^)+@i=-Y;$L5E0c*&Vw8nS1oc7Au0nzW3_&B%!Ap;9BV_ zMFEjEM2GQBXUPIIhd~CHI*Ow2P4v^0rJ;?}Nzk)gC)bP{5F5wsG=bXC&fN%XdVJIS z#xi5h!zo=3!SH1tjs;Z2&Fu%r@_JN$XdaFpK3Z=6Ne>s7hlkJ0jiP#;{MG#P)4aFU zH7r_;N8${5hyQ@xxY2R?+R32P1>6+;A;|a8t@oOXDnh*D|8hkd^Lh48eU;^b!a@ta zdb9`K-*U1MY!;(Ed*0sPi{9>g;4I5HfA?EKDa0&YPT>%J2Q%AFrj~;(f)cni1{=L4 z=k!G4)Q3ffs9KpYBTFpeyYhevXX=xb7#$`!k4w@9e=**aFE> zNh5-cMHxg?xp`@^GQX?BU5?r)GF<&}gA}xoRRtYF@*tO5stsa}D3OmmH&#MLdk8{h zgs`2l)-Tkn9U@oWLIirLyXmEEP;mU7<47@Z9V2Y{#B)d!@`!1Ezd4>!hwFvP*S(ay zuLKQ=3x(=J@dr&G2lp~23-^+sWYN0*ZEhTw!?dsuI51!*>MJXztItvJO|@b)5Xj)! zI8Y`>Tt#egJtX~Ei3fE!W;u6mo!1rhNHouOLC&%iZtnPq!@k6KPlZdkQr(%)Fpfpi z$&msn6d$lqc}`v-IzuCy5ijCRLDUiPA_ywYLzBzA$)~ZMq((OW62s%jN2&Bp6IQl4 zH`185l3j(B!nF(`Q+;>#i&nJ2z~smh-MFMST&S4h%}hnAUDEZEziUhre1Cpf4wAP- zz1m(qpYE5vaXDNG`qZX=jsJVpw$)G_l5ooQ#phlx59M}i5QjZ+;}S>d`1$B{Qe znGT7)hmh1HMbFDU<}j#8rkO?9Au`>w?4hi1pbLRM5ayrg9L0@+WeHbR910s`ooh2& zrTB6xn+{SuUg5JPrFGHfZC!CtpO;xxjEc;zGaXMsWO*UigG6PkqU!y*Oet)kQ#Ob| zhl*(P$QHC!psZJMMNEJji$vYh1y{+*S6Fy7jo=3E=#+N+T@5_lv2TeI)XCiaBzn0n zy;GN1U&qK}$m$l>AYnd$A)g!cjbz}7xDmfxev_+OQd-rS3my}{o?~bfXdj@uwmqguMCo_Ug9vg~$qu z82-PB_hhXNUd$GJ1iad7n=J*D9T9P%hE%5JcdNgO<^xFQN=C%F3Xz^GLl--P93|0@pWx8(?R04uRU8ZN~<`e`8Mwt z?YwLg5cguAg%j`P>T|1OARX5L+WfP^qGD|JXX)U)6P2u=j8>Wm)H1d;@b;D7u)R&Q->c}3h z3wN}jL_1DC8b5x+iQX;IFx^?`A-w^!5(A^~pKIJb*tt1G#jcsAuJ=!G>+6Y*j!_D| zaVvB8=xbn;r>eHp9W`GSA-0pGRR^3ADyUrD$b7Y-VrT0qd8Cv!*o)O|ta|wQL_BqI zQFP^GuD(yA7^_lA&JCP5N#&gNsLQpBIjwiym7m zFU{YEUp8$Yi(!xRqnwL3@L0V3b1zzU`B|OiSur^4WUFX^@~Zw=Z$qnl)h`rrLz_QS^STC1GyNd9+T z@lOqw3X$Z>i9^Y2BE>malb1o1wCyo(5&D7V^!g5x z*3}+>T$e(nIUsHc_A$ZH3)X`fz1_4l)Pm;Xo_bo}CH<9osPPFHx!hPM{z=>-5 zP~^!W9~Q^Uo%%~wx8YseDaSA1RwZ%N$-S7WB?)E>*p8d12@5R|@nmK~Yh_;|lQJ{~TPFAoRn z^Rwc!a-sJnwQ)@2-ap572SGZkHuK*vFq1co`|YJwQVpc1MHGVtg>BQ<&Q(O)(x!kJ zO3!A{8DA3B(C18LJp5R(%!@v)3nJrLuoP$qUe~1~C-c2}*S#Dm;JmzZ>`tGbUxDjo z?HQO>p3s+TNRFLY*BoVC&aX~J(V{Pq;GFB^}H?~G8 zW|g-#pL5asJ6Rb+^@&DvtjO<+R{W6vtt@x556qdpPPyAWq5iC^yMMU$BB!AFmzWM~ zcUF(7ed5sTYogX@8dNtAO^=KGaSGX!-oJYh(e;4_@Hml5^mgl~vX_@v>Mk@7@DH?< zB;H^-GUCJucM&^JLb*r@Gtu8bxx;$r*euLEUI_52?54Ljt`G6oDS0xfk>2zNxCd^t z#x>mcB%Dy6KBN=X^5-W}Cp6k>&P&M&wz9egR+#?uwjY0e&MIhnnGDpW<}G{(AD7dB zpRXRJ)QwZ(=jAMXWaU0!LxB5D%f0`*i)>QH+47%Oc+V(0%vNi-oce8gbz7$X-QpmTFwz>F&17wWQyQ~qVe%&E=N+Cz4rgeJpce$ zVaqE4{J##-|3G_z*kge>j;zw8xzyVF7c^Y6cg z@_*7Eow=oprMaEGlj;BQRLRu%Un>!vp@Rd|e>)BFzd!KbDX=DxUjTrw3P1q0|Kub@ zoa`-4lnw2i>0DgQ{?9y`yC8j3mbdwRX13cpoXus!LQKe#LlY7pGplVdg^-f!!GJ;p zBmxi;Xay8ROcX_+Zd4WLsi?Hjp#*7(J}O-1Uo2ZbT3hAuf7O(%eQk6-s$1zy9)A2z zXGj8DXBS_8-@9IqW^`vdPQTJ_?K#cK(iMavp!q?Z{CrJNw}Msm@V=W0mAwjPLvLrR*`IxzV$6{L zh9GF_ba%NUKT#upta*CuXmtB|zmDWz1^$@NlB#$a%C3e{TesCv5Dz(m6Na`}tI^(m zEG~$0=y5gE>jSgr1T~`7YVUD*Plwg0gR%QRQ0n+gMrbwJEvLo8n{L-f&VhmvqI$2q zR_pv&ocimEOB^y9oSlUotJ@*@P0I$ps1H2$$4;_We_W&%0~NCGK=9OVFD-UHPkicU zNS*1<wymbUE0AUdi|GWLhKxed?{T5AJ|{YHewL;wZ)XlDPZ9 zjwkXFVu!c~q|uL84bYFvIdbDvja7Y-AE`Rx>+Fi_9n1B5fCj@32*3EA*D1WBU7e20 z0bUHt?|ES5O%huhyheqOS?+_)1!JFGhV)PyCh33-uF20Tl?eW?~e{X zz9zC2u!6XXzqbi^>kqtzguKH?j@*Xd?+S4)!0-P{NXv}j&FBYoqnW~gTG$NsinjvW zDxNbg4D(7^y}u$qfUh6&2EzDF+Z$YW7W(mAWyYj89kp{{o`HKV7L&ldR&}gO!1C-8 z^~nD*qz~au9=%t%`87!2!HFrRQ-CLS-?N2U9Hu-7;syH~Me^)$4(GBxG$V*k>|O>v zmw87v27CMi?{*H^7;|2ZUzkxN zGT^1a>?N|e(NMoWF*pMh8xY5dE0FpLw|aDoN0WoK={Rbn*UoiE7M@4-C1UK)1>^6% zy*bVcR1@!W#TgQA)1!a1oofQeD;b=&0^K6pFL-hKrflgr82W-H|L2I885=l;k*Dl> z@8)jl_$`?NXV`a5rPBz{e_*Qe9m0*9a-2>2a!Uu8Li&J1u)o3U*h`7-`){OIdi%Nk z@bfnz`EY&&r7(Vd{Gg**{qRF*9Bi3a=b&7bwr+Kh)=^ z0X?2mX)lAEMkQfWVwi;fN*F$R<-Q?oP4je^yJyL90N-c5H{e(KVYm$+W4?o+$AM^oN+=P-ATS;zkjgeQ=5NZJP``@yP&(&$%IW5@XOt1(CjzpAiH! zq_70p`3G^c5w?(?q(>Yi)ZRSwFPSN+9vB-e3F60f<5lg!y-!l%NY}GTkrNgid0>9? z=vzW`=x_m3MFjD3NwZgP;UatS!M|S!H@;&wXYKVd8VAuYtcTw;(aTGzN2G?=gtwNKx@ljN%SN8cyW&?l?koPyBKCYz+V7y(;xkBMx#aYb2FvgLrFX4 z4P&t^4BdGxw%GZS8-t~zgr5W^c}Z)GXbW~pLEIxA9ANG6dpK@CSW2+>7T^ZP;IoOs zO7I=Jw!u0e55QB{?dt{7Ywx{6Q}YMn?ev;cqdo;{L`MiXRiqK%3_EP^zzOa+KDY*| zZ#gc~WSQ{ZC@-A#_GoyaJ_le4;1`<&vQzQyf}f*fYcquPc3?a5?y4*mbbx_H(tN z&GkIBnMzz%GE}8l|Kw%1<-3dcnmxPk5^GP*JY6qVd;#-kv+>3rOx_k3d??dWFUyEv zl`ewVdKv1g4@WM)mV zpMgkO0RFvbKz8<_Kkf3qbL~WaR2rB~A2ILUMIX_|Z#(~T;6S!5+U}g|nKT-&9-2oP zg&}D;{eamg>x8vHW5=crkzybTi(=xz5R-f4b|i_7P0@vBO}tUVtCoLty48qxRrFi4 zr@0};Y;h><@;R2-2QHtVojO5iyQeyUJ^|0c^qr@_c`E>Q4C?6Ohp1PZ{fn=+mtwds z*15dwLy5PtatZg&L+RTtpF1@R&|ZsR4;z`mcbFimT7XQ}br6;sx8liTF$y?s78{~O z1JJ*9_ZZgWyQi;0K;Y3Eh_5XV?+#o6JTPS`fO_u%)pKz)=u1gCnx&T;^eKRJHU8;C zp^Y!auTMJx3j%|s;F2zPp&^haN@!Mg9Kfffq<{)okDdjfWixx)Q8CFC+X$~uEgB>) z@RVTqR5Z{DC;s#W2mLMpy&5kLXy>@WtwI>_6aCuR zLU=uS4US#09vnpLDi$AWtoHQR(f7gAEld<8#1Jg(hDcF3dpc4U_fsY*0Y@5zgJ#eP z!;U3sLj)JX-a;X++(riu0u40L*oCl70>j>!K$JvJKsJ&MKWRvDg7Nt=heTP0N>o)i zQ3NGCBLu+wQf^N?0OWmNAv=NwVyKY_0i~Wo!boThho6S4OrUc&q-0;n1SNV*0*Qx> zcr7RSYMyh1bXH}M6f~ed8A%BRvn)VsOSH4CL~Pv*Km0~YxE+CR-DaI+p7|luM7Ibu zoyI7rfl!7ti$q&0sZU=8Ngftm5-W&t^nU?UK&-zm#RSMXfwFNqM!p0O@wVsyCu{^{ zMZo3>OeL%}X(iYt)Z3U6Y$$QEoah7f#K@GyWLKi7C@4HR(StM+Qw(VgbG&4Oj3Lyv zcZqFqTb6mmR01Fh^8yrA1dq!JMcAZ^L)hSiA=8DSWx$lcFeS@GQN;wNWXZ-9|96;z zD#ihf4mk7+|m(O5z}b4w;b-b;H1uti_^8LxAN_ z^0IBuAOevlz{DCt&qy2cAt}fb6C_>>tg&sNBKkAiAutXQQ_RdH1`bY9;5qiJBq$6c zpasds7SN)A@I=%GQap?~@lwo*%nWLz_jkSRn8GJxQfkS~$B*944Na~o4^ zU}PFqlRyDr3b~dOQj`#CpgkplDP_nl0lsh(Wp+PFiej@ejH#i`*7C3ik^ZjEF2k6T z(DNq(97FvOres!BWu#9^LiA!xu^t(wm|Bze%rT%Km}F6r6)qt>4^G>SD6w7WYj7-o%vMUJ&htbu9ok_NXOmvJ#hBml&TWVkcbGr1}Kx0m`Vnp z5tw2f{zFVLhxE@eg(Bh;D3A~qJX06yCxIzBfhjd(iQ02dfDVc=?z?5t|?~5@d3Cv$<8eB@+|9~mqmco5Ykf5>uL}VIsyOrZkP{4w*>cYh+1PShmL70V%Pupet&iVFitm z2QQ;3s-yx#imZa}?U2A+BRXurlx9b)1m^I>j@&?sif&!CGfGLuluJZv8G>Y0wg=>S zMNx4BieQtIq-ZuPEFZXdlkJkggCZ*<>XZ@1&a|;WXyfFBQ(>Mo(L@1cV*xE;k}!lK z8$2WXLi3gF0RcUds;P+>k-(J9%c`I%Dn>;piptBf1{y+{fZ$ZPW|$bVR$GV)8xJWF z62!|W5=}#IA+x?z=9fSVXx!{d*A>vbfs%qWg<(#T6YTMaU11-|qN_MAt3-M$a*8GtF7VahOw!%_&~NJJ?mF*WpD0#lL> zdIG9I{gBt`Dh!3)+nB;YjjjPy1~5TP*`5-tT9fSrB>_@N(J=<-GRr8za>0*+4Qb4^ zf@GMC(6y?nhMTM1$lsa9jkO`i9wY&3~)6n;~At5WC9kTE4b9)%HdE!=nkwD5r~*SF?$4?9>Sai z+ES93!XW`u8Wv!|;TVxqsFsZ>=nBVofR{sUD9j#4U@D<3*kp(7V3^_oQw|3)U4SX{ z7mA_rI0Ha0uMBMhFg1e#{M5xWz3LNP#) zqJi!iF@@8988KzMC1VIvn#NXML2rnxq^mMyn;^Tlp$&#kIGIENMUHSNnw%(rl;Qjc zR4!n*2o*%VU_%Kcr?X->5||q44aGzwRvgTCvjToqHVhOABT!+OR|N$kf~pJ5t1Fr= zDk=a2pa<<>2wlWy1)BlH6tf+4KK}?)4hKA^smzb+NG9~fx&m4?#FU{bPSgR)6(t4~ zV%K8Aj{)Xn-A*$=eg=vfMs;XdfDhATIR{2HSu$L>>>zW{l>ro(;DVVp0K`Cpn6zeL z1g1>cgtQW(7+}gYiPNnTgaX*6&ZeE109}eHz^aN&>5vV{4xM>SusTykha_ThfsOzH z$uPyDuV}}{k(g3#OaVz?4T{Dv1=LE+D`^hfv@rhb2~63%s5U8%Axx=ua8&HrsLHmM zlO74WQimBxVgQjcl*L02(91|n*-%1jVe!CW+IdwHQZ~YLWw@BS!gR+l1rT#!bV8a0 zl}F+16e}aP)iajAHzI`DHa-$7aM^sY8mff?!R$)5v4%=PR|ArB0AsR&(zP+=urX!oSfH`fnZy)4YPfOP zA%Q7FaT+$JR1Hbj88(nX)M;||Of3ETTw_j4)&ygY?|QO zbtV|lhKYlqm^8qYigO;BDHujkajC+zGddAPVkf<<6KvuDL5dDc?j@8uFac4y+fY?If zz>hhwT0u;i=nMdVrhx_cuq=55ro6c9025XSs;Wb=9J+?z(!lsIfS$yLCM1-F4_S%@ zm{J+0EQ`1RQ=ljrrSwlR<%Iqq{uu^L0Tm~}9;_0)uM@gvm|_M51T#!IRhA=x^Kx8* zDa}MonJQvR1F0jX91e$U`ze!Q2Wd1MY*QUJFMo$A&Ca)Mupy3AR+71pZfL^{7)qi5 zWQH-NLmbpbV#9gV;Y-KIxR!f;E$nML%-uR zpeyJY5T?6a05Q#t14+m+V#;6=L06-yzztx^WSCNhF(o@4SfH`XHH<0AITBN*>NbH3 z*kF8Ax@;o~_)91YSAkrrO9D)Zh$)wgxP3ZNAtwTaI0Uv*0Xe5Ow1EPFYYU75gaLvP z!N-E1M@%`;GBivxpgkr(kObh$n+1*nY(>(+hQP?c+(jXQ0VfDna)RtJz8Scn0P=Cz zF-~`~^l1d9G#gpEZj<6Q{Yoy}`BlqX;f zwV*IRrdyT)LBI(_L68OcIV~2+WXpjC_;9;r`~uMSQ%)ab$dby*Xy&Hs0Zf^&;rP(G zoRqsb0#k0)Er~qn88GE`6Hkgx-~uvq%Yi!n$Cv_t0Wx!#s0|mmQWI>%)Ln=Hn543B zGlVG@;|4Kh;%otKColyF{PuIg~Cv8rxp(QKtXCQm+jpW9#FL-q20(XE|X1$Y)pahEVyRD zS_Cwq2?D0TnK@yej^siXtQ#(5NoOt@uC-xIsfa0zE$9oN8wYEzAz+|yz?91k05Z`7 z!%*0X1GE4U4V##VDbSD?lxFr^M-N>f}W7I@0zQ4muy%jujc zxW=8plvDGVU>P_V`obipU`iq;l!f`PNAnC}%Htv46az3Nf}3`kB3u2EM0xmEFCzW| zMs-0Hf*wr=%t!%K7O}%Z<4OZC3!zZf4bZpffhz;2LO_s)3l4TC(2d~&*hwxB z8qDIryWvkt}W}QyNRtU~reqLI#0#(GZX< zhv;yE++30a{ig1)WW*G(WH6WP#B0R>#2ILS22NBAL=$Fo1_oaVo^t}>28cxRc;LhV zTEL-nhAHqc25aJQcsvfvaQF;+uIyA0#t1-2S3n1b;R2O`62bTshAFTZ7)@2&PAnh? zuQxfL27o(L@Jj-Xmyu3O^FrJOB{=~BFo3Bf1&^3Y%wROH=9NWWXPEMOi7((FfFp3z zE+_aYNSS0Q;W%)^JBI28-6E!(iezYR=-&yhz-f4ZVF?$km;vcSm@;fk;ZK_2ARD-- z#13N>eh=KlJO|%kq}cuTM|>yTVl-# z3&ufXB&M+1X_)o_IP*d>1SN?ndp#mq%UW1CvW+QljBYp1kC2`urX+`@Stel0ftYfF zrX8R^;0II-utm+Qh$%D%%v3cD*_b53ZO|n;I5+}iKqQjK3vzIx2R3y#c4E3wG#CSQ zr|I>YE{DU11A%!vRTQ<8NnC{v5}1N~OGn3xm~sQ?3{CM^Sb#d8PaVRP>JA7trZ9B4 zbf3%VKnpimmrli&Iq;cq064ew={{K$3<)vi^AZ0jz?6iTaytc7^*_Rt$6-1^7$6wP zDLfWNVGxr8(F2nr7H%M{%en&`o#bU%kOq?;3s(Zs8f{GJ4mZF~b~8*lFp$Eu1gK45 z%EMA}#FUe{De#62Qx1nsid(Y@g4k$pcG`t#vVBJaQ%=+A7-j&~!U|-g!{4kppdW-V zCgSLVBs;Zm+6T+w^(B(_q`zZ+%Fb!+!Z2kAUBHy#apU|5X_6cQqf2tQG?&vQ1HyqE zrv#HSLZAamJx=Hfo<%3( z_d6kzPC+36o-9n-Sia@JbOZbtV$RS&Tc8$5K|_@lma=2jVZemkfp-|>8I?0UUPfT|00kJd$NvBQRwpi)op|m@+TI6y!B_ zYGJ{L1B=&Z;^a(CX83j_#6FV6>l(ro!p7@?{6Mp@#4u$_rdx;5qL>U*mJ2wBXIzXn zx5Mp1OhFb8{vT9tf=dJjbkG|nQ{W#gtU|(ZvM>4kfDsEluoE7}{K#uTSJ1WFVIig< z>q&(xoLE|RY=p)DQoxi6n6e-U0H#b#+$2CK%Z^m93k&d(l9I#}_-=O^0~ZfQ;BvT) z6t^pZDHz|8Z~!pPl@iLrxn+uxqDTVF-~dx8DI_(WVG1&IuS;Z@QvM!OKBp5E<#MUA zY53f36U+jr_TfT+Dzk6{q=VGJBT0TcvqsMcz6s4e;aLpRiwo3VhA99kVhZw0w`PYr zhDBUNQ7!w|xgdDt#Y`Z`tJ?%gl8r&rPUS)9w&xhal+!YY8E_>FKt`34#c9YALKVNM zlF^eQOK#J$4{p=vw{!KOc^->|Ht_7?bEBVRl`;(O^}5;o2(cs}Sx&?hxB&%bgeWYx zYC3($lF3}M$E_m43S$5ij1v_I*`|~6U^(0fMibxz538!|Pl24=g&r6!85CgoT+kH^ z=K;%0NwK_6Ghi|==RiyuEQdES%tDfAV+!I2PIzog;b@xAjm3dKE7lNGxU2>-GF^n3 zsDYSrLnuo1fMvi2<0Bso8_r8Gm1?98VJbBhe?!bC_H_Hd59uG+{}tl3Kz{eBdZ{*A*(ZMRnEVE!^H;& z2L=b(e;*!!@xJC#xmRGk|KP8K@owfH7N}qf&B8L_){H$Fp9M+K6HEyP*?1+vs>FB? z|J`^?663i>jMoL@Q5f&S;NakUgFhJT8*CgLAKw?hE`G(p8w0->czxitfqMrI58N|w z_rRL>u6ob>eNF$T{h#!I-2bQk{{D0QZ}A#|XYyYPH)PB8RJr_Us&AHFd z{p4KExvX=e&IQi7&pFTW?|$&^8}GjMe=d`w{2XrnrT^vm|NAC!2GcD0yOHV8|Dtl_ zf8OjTc_IK7Bq9@qs6-<=F^Geh#7QjTB5necJ^~390cS-5WE4pQ6pbbsBonk5B3UF% zvPllfC3$2F$tPn;0VyQo09z4KOvaNE5+$XijFgiKQc0@F1Tv9KB9qA!QVkfKN@~b7 zQcLPcJ(*4#NF!+?GssLbi_9i-$XwD)=8^fNg)ATo$s*E97Lzuzge)cPWEtroon$%C ze?8ex4v-tj?c{E9KY5ruM2?b2$s^>uIZd7= zFOcWSzmXR?2iZcp$SQIf=OkB>2gxR~jti12$Xc$Le2X0B#*tobJXbZLyROMH#fIf;|Wb6k|1 zr4zUm{O?cB$CYwroJqEG3TJRGaviym>?JpmgX9)+E4hu_OztFyfWte;edIgjUh)?@ zgU%zH>1;ZO&LvmT`LvnNBqUb1xOG9x{CUlD=ggipb4F8R!}R*P+G#aYW7Sh8PntNP zs!4SDO|JEgo0c*k^`o zSrwVay6lst^~tQu;AKcUxgmJ6@a2Oyp0>z}&H|$=+_ijZYahQHo;}Fd9XzUE!1=1a!fGlqwxePWIk4j%l106XE2Kf3tN^28k}$NGZc zX+4Pd;KBNEu>N4@!R4n1_pAs9t?!51zRpt*`#Z#eG)i8ag4t zZ2i0$eV*net$kcheQ?ckxC4LH;ZS8-$hA1xX6`?$CLjn92go!OLdI`69V08?qHj-g zt9>0LE7G1Ku}Hz}x2nRo~Lu7psMn*z$yq>P{9%;ECm(prXranfm%7 z;Z1$saLtfDk*vDQ=C`s(5|8zHr}dG}m5HbNB6YPmaF_7!e!eU3y2&z&p{ zrag@wb8#&;_D=&`<<=c+?dtB!>`dzdOY07{riJ=qi$TGQ!>y|pBhWxX`R8D`5F4?N zo7U1gV}5u>b6aa=f)Kj`yAyKiF6k!Rnr3$ckn2-&lwd2D#xI737TgHd!%4Vi5`6Z_ zIST9+2%OzTsMbshw$e0`Yz<`e}^~j z2i3vE!0?2ELTyM^@j2iL;2sCvuv;k0RK$F+HM}akIJ_p<7n|FPyrFoQloP^WGEeBL z<)W(*!U8do5L72GP?&x71!*IN+c%wE4_!7~Qr(!W4jxp(Gv*(}&clfg2~ghHM-alX zN>>`QezfOs{cg*&H3vHvBgTmzBm#f5kA|m!biz|kQcg1ZwD78$K0RE6_p9-KwS8a0`!XPd`sujB zs}5Rq;V)9hL70qL>X-ar<}H7F;BVaSztGOl=;^`#iWU6Xu8*#49Oilt?>)?krw9KO3mjJU`V)7(bQi}L z9HN1SK1)ndv5oU?!IoJdKGo9Ig22W6Fl!+ zl({Ifh{yh(Ug-AKpB_B-^g>y$$Lkh${c>zoi=@|A&z&>3V=n)71O2pt?r)&08tB3X zI-!AnJ)M3!o$jAbCr+nQdfH&7Kk8fHqRs_Y)VTmMk_B`+S@3n5JJac;na*E0Ij3{b z$w@tAHzahQ62T&LkDrS4G`;m?%lv|Z8K>nzh;Gu{C4KZ;eL3^-GuGVJCw;4rENENO zdXmzc7w^02CQ>tcMqkPN*1pcsi)Zw8!AT5H_P~iX`lO%KEbi@H*1Prc0(+w!y+a%6 zrFg3YPPSfJ1(#3(5BBzMCBqMHWwl%3fvs?(03YndhHwp+>`35~7LbD8t+W?E3*gXO zP|%A#vYu0yVao4?+ajVx2eVdyxH%; zfvoxzWYC1XmAJhCGS|Dv17s(8A9C&EWHS`p&X6C&j@wcDJv6Yr3S}phky{^m4)R{y z?uG3A7P4(b-JucZm%-fiR>X^uBVP$eKmF@JVdWFn z_qTxBL*xK8$RP@oXMQxfgKHz#@;K^akded2Z707a&rl7fOnV{2-%XCN=QqH!mu|PS zx@%!ZGPH@OF5E#}gP($gZb>}1W5g3L&?op7`;45TzoB;`RWLO>E}n|N5bufaB|Y5t z;NI9o=^+o&eENHCGoR1T;;-h9@xK?GLanewxKnsWl*DTB4#_R8l722%%c~Waa;@^8 z>ST4h`n>u#ZLMCaA2Cvlt;W;FM~*7TU5?jG%WO37GM{x8IIniTWo216SQlK~uJ5|u zcUQVU@yznv?|IYnH*bn}qIa=(llM-a;=9au+;95V`Cm_YDCNCWZ)!*CiPWD2ssh^r zFOSL^wRhA{)2h;LPWwfAUiz;_uNwV&Mq0+@8TVv-k=X#{*38d?YeO`&HFPwqJ?p`6 zQ}~%|CA%zpa*mM`&e@f7CRfYdoqII*le~hwRe4Y5{eH~YF;|Uwc+5}6{4IY&{=WSC z@}J57S^gi!s$;i|-8c3-W1kuO^Re%b9VqaEz10>xR`626Zwfvs6bnZemKWYTE`40- zxEbSCj=Or??c?4ly0Yk&qDP9JFM6}+!w8L>jQl9_cI3Z{<>JiZisISDtBQAxH^*m> zpE$mG{F?E*$KPF|mRwtMPsxdrAD8^D0ZNa??ozE%3)rC*h8DLYX1K-sCXpO?K?_I0^g9x1OcUs~QioABnujEQ9vXH4vvxMkvjiAN^>U{ZL})st?Y^!TKgC;ev9`N_)U z?Nj6_nN!N9G)!4KW$Tn1r#w96xhZc<`QwzYs~y$Z)f1{`RWGl;vie|ke{4oIYK?YP>ZCH8nM@H8<3JI_=Hc zM{8fKeXI7PIPe`-5qtu>OQD9>zCEvQ2+l-_f4;v{`B;pH%JWy4b2VTZunut z-x@O;D;r~t4UJbdzS8)5svAMW;WAhcwpUsQSyLNuo z{ITz@~2ySTrtx@}?GhPG2}FD`K{2`mXMxns$FOY@f=YuDSu?d#fq(f*tEciTT`|Fr#Y z?SsqYW!skRUbcVP3mtsNjE)C8{?<9G^WM(*^2?Whw*2cAm#_F>rE}%wD|fE^tZP%( zGhIJhC9ayg>ies{>E^o&yGy$#b?@ljyPB+4R@bb)cJ*s(a@Xu#^ZsR#%kExltX;Ww z$J#%wBkPu~>sq&d-M)174~TH|>087ul7$Yx1r=yPn?l+g4{O9G`Kkr=zsozGJ^Jo>Z&p#-s7RLA zn-v+AR+QzX_Y0|CKbKn;aymn0xjAK7mX%e8t7-fAN4cjG+*QQF!rij0zM-B|xro}M z?pAqnH{mV*9Dg2v#KYl_{*2MGAf=>80YU{qJeisr@@1wgg6j3Uou)2$PHJ;4 zir*5WU;Sy6kk|vT!v^wgpf_ZSeD;fn6 zm9Rs5NeK{(G)LO4KcrNZxZEjKpdvhtCeEV~(L7B?3qiAEc6Qsrs zvQ<%;Om#RaHl7R6079c!(HjC$uQz|vBu`O=GI>mIC?}K|GhGdtnHh6K)EUYQaZ0Gv z)2o>Hk7f#{v6`bnA%LN1#Dy}7ENe&E6tD{ro*Tpg07e}51I~U8)tgKDT~#Q-_Gmlc z4hjeh&?fuBWdOLmvJ5`zD&orkh!tf~pWmM%=jP_QGI+TZYF*{!)SJPjxFm`HZAtsS zmV+hToh`x8qRv&3#d{Zy9lzw7IS0EQpH@?OV^iz?B}IMSg8FFtlDOM7re^%&`Siv5 zEiDzsAKy{kqg=#-?dK^UKs{`oyuBw*~U0cw1)8{B;eXigCH__zmU? z?&0jJNUn=+wiZLOLb?Y(lA_|zh)PD2JTeia-u~1iYszV`yXd4TlctREW;|2!{qQqm zraGrm@fq#=lzM|Lw2Y>l1mhVelhyC*7>vqvRUkz3Uf7OU16qxl&JDe?R?{~p{X0TSj)$d}~h}Z(SOaVLC0(9Or|=a~lb2~Y&*Yf{eAEh+W=~vLnI4GLj9u8Zf5M8EhG2YW>D-F+a7|}? z=a^YN(=#WHOD|b=uyy|4CB-Ez8z#}tw1TWO?X)w$Y-%3$^*=VgbN$t`FZ*uqWZ@>@ zY+6ouN~}IVdval5@i!+@#*}B$yF%3s3o6T(OwB$&`>L*mW3y*1T3Iz?8%){eZ<`U@ z&^{+Se&gs#wX-8NJu4RE$KO6SZuJYl z`K5%5_<7k)n`a-p@wS}lYwMnvy}2oy8^7}}@Bgy>Y`o<2Z6E#qSIgR7?>~>dPln!8 zSnugE6MEOr_rYDC`K9<3c5nU8?w@&rFsh5oi)Qd#O7@J+v!AG2+mL~!F|Kq|ydH@l% zodQnYXZ+`+h#rVPd7hjKk>~C%pf`<*U;o8ZefOXKEPh}#-CrPiqS%OI68?=MVh0S8A+KFugF zID_6L$>^vZmbalprWUw#={|!*KE_cBq92#Eqh@nb0KOo>3cA*5=0&1`gU-=ue&v&t z@~f`iQ91d#y*ta8yy%-;4b0kj;)|)Ah$~g(ISSSVomsDgqRT?QdGtJe^RdUEie(t& zYtUXK6?-^!=no*;z(aIaGi^ojv+yw&~8BEaDy_BcrjXXWOC6LpuD zM@#&Ew+J|og3qwshsg;_bn{cYuQ<_L7412>Yg^ye2?L&tnsu{gt*^_>tXn^8*1DPu z?wynI|N239_YY|5$&)noZ1<|O@&9`2(78KjG~LmE*P(NFG&S9E4t4Mp5c(>RYk^cl zF*kKm(TqJxy%MJb^c4bm7DBTVEavqIxul7-% zr>;?H8NNF@>Fz`PZ3QcqFV1q0N=Q2jlz4kO@WlLE@oM869$|a^4hv*ndLObN<36 zx@^W3^9!@87nXJ0Q`bFa>Dnu%cHX;wVp;n&GvXg`C-0*>o3Gz<&CH2y)xlYlwq;ir zrIoL`ZOMYecOGhvzojsI4t~Uc0+d#f_Lv?j4i&pc^{9D0h_KigZ%P9p>crqgI>$}j zQn2^Q5ZxZ4dWb5akS|i$TPFK@-DUu7ka1v(4H*G&mqZFMK47FsrXGI3jm+G+jj6e#dPIohG%q`Q z%$hJ=9H!y$c_($Ey4;XhI!E^s;>+8bE%|yaEuk39_t_LDf>|R#8q5&wd4!{2=^#@= zE}Ea5=fSkPyqpWId~$a~?e#z26J5DvUMRG9#mcdBu3lKw_gGqWb(OEJf_rMTkaASRjA_n9*wt4Ci;ub;4d`5TLENq6|vy> zjYif~Ybs5d*h9cRgWz(?FCRTxF6_+zQ4U)3}k_eAyc>9o=5XiL!XFVHC_>zxR&0+12AlP2BRx+AXJc*Umoj zS^T;D`MVd@_skv}nbBE1ZQt5yptCkWmIOMJNWn>opigxH^HfwUg>oXdmACy23tV6* zz#ux<5C$(Fr2#HFVDiTX-V&`xZ~OXfkjYw*8UZhxM<$Ra$o1xDgiAI$wJ{AFe<=P^ z6{bHA(=&(-D-aBD0WD)q<=vIs;z~NEva+(FlCQjd8qJ-y za2hvl8X4E?4NUAML!xePKMO`&WqTtuXPAtkF~ga=3hj9qIdTT?8<7tul01HdFVD-9 zB$_4plF1?X{FXa6*Nmy}tenuZsBGHy$GbN^dHLjVGuKQQzpy%I+Lk+C4c4w{s9)ER zo!8i1ov~{V^{?F-p0X%fyr4RJm-t#?>vgTu)-S3{&z#wDMdQ*t*Ho6T`u5TpS9Ug~ zXEwHNs9ChPweXuq%NAFM!&8@5mbNs+GR;Z%@-1suRn3blF^%+Sa$nj0kW zmlTE|B!O5|h(O$byt_bjcq?aiG8k6(KGMDF_@1VCP7;Q-8yO7w`pe#Y@sTU*@Vz(p zIgDiw{(4*Xlp-61&msu_LZ^>u841F5H6*!SA#}6YJSCQH@B_TLG@77{2O6XjdaxyZ*<37HW3&>i@Cy=$i1GYaqR!o$b0=WggluQ(P_Jt8w zjA2HA2s4+*6{$C1;viP@kZnm`a6L2z{Q=#|gcj&>e)XA+(0jDxg64 zUZxlkx!sWFiI#|O;v(NWPa!wz0a{6fWk0x#fQV0QQS<|L%1UAH=I=vF_?A2GjCUV8 zL@woBWW2+qKoltDNsqK!;)-#O!2R#MM=#;sLmBhk+_`}u4oh#LHFW)vcxHFJ6?o4X ze2>ooTgFv_DX~z=;W1Iw1c_34u%lc`rvaS{r1lX3S}c&z3W0n9lXc^{WiSk?vR zjJ6$R%VNxvjmWw%Lru6ln9utD4lMy^UQJ1HZGkVNYC+}vL-p0oFD!2dzm!%!x4g6_ z*L?o(SM_qLmd>3uHh)^(oU-CMRhgw(w~d_`?Yv>pw9DFBBIBl2*A%+rZ(f?Ib1>s? zlCFWMvWTo9J+bQ6l+L`&6uLW)rsUPv=cVwo#|J?NYh!Ea#Mo>)yUYu*Xz3|eHWx5w^!lAR6pBJ^|PZTg5S;7QlO@S1#eEe#*EtVgCBNZ@iwhEdmoivT6@8_YC*;9l2L-0K5J~#s_Jy^?I}AqFK@`tD4810sTrSM zx$5SHs~)?mRxw>lywjg%DSTP&80X|QH_pEKoxA7syc+-Xp}YQcWS*It>AESmu=|HJ z@bn9`?vrn=`nULh$KTqwZQT6cx&g&8VcC_5-!%&Fh%bQ6dC7ILY)P!=XuX$mUcOPG zjgaWW)ZXMFw~^@{`BwQ2nP-kFRni({OP2jkf2Kd;zs3K6|6RW%^8(8i1g^sjYG#8e zdc7hq5I4-JtE(dJssgaa%IGqjA5<2AskqQgK!uopR$+1nNdzwH(kNJ55uXPhju$eI z47~f$3tZp{Zd82r9g@rKR%Ex^CEZ4U9G@t@@O3S>mOkb#oisHwvu1MC1qKB^S(ialhZhB-!h)F#?#d7wv?`7J>0oH zmFlTfNlhi$ohk0DPMk>E@pBoQ9$0^cT&~^vD`pfC^fBmFLP;z0C9;Z;Cz+9kU9M0P zU9Zwx_WW>fOX{(z3~qvCAgQxpFy}-L6_=!TXNO3~Xu+X%cs%G$;1AhC%@nZNKmjgB3?%^N z6+X0^5p!N#Zsh~(j_;T@@ru4H79W|NH+#YIiAT?WXXc{EzkX=_kLJv-zC+AwzWYB9 z-1PRL+2NFjoGGTf{uSzf{88$CWn&30WPm0@T|kb)|Yb zW!~Ef3J}oc7HDnvHUU(fJo)be+`1a=i*w6e^I_4oPdHU545* zN1{&Ygv7Cz<#lkp)r~8b>pi7~O>h9fV|$>Tn6!9kM4WgQQZ}Qa!F+xki8_n}MW=50A(q zD?lws`!YXYes~j&o=t~Y7 zbWlZT6T1w)!-?uuG>I2&e-veF!3kSNWR=(=f{AYwKBK~0X9l{@oZ$|i;hq>+D4rU) zn_I(H9KdaMv9T7#a&Gl zg}d{+yYs(UlTYYiLwpDAW$UDoSo*s@+UeWm<03xlY%_SC7?#1whJ%+uYmxqH90R|; zV+()$h}8?=6g<`F=*;x2+2e9%OwN6N;$^qTcR2JTs_rRitrbswz3j5XtHvi~{1CI$ zuGl!v=r*W9H1?)@ocVGxd=RtGq!C<>w59IgEZu5QFeVsq!YLw%pNPP^{he7sK~nq} z5SHOrLX}Zh6&j-j2F;95_6U-D-F`Nxm z;7eU?0aRc*Tm}f3xw z1Wv()p)lx`6af071uo`sOG?@cmN5Xjs;XSkf@lE{CVpG#^^>PJ ze#6;(iYAMS&9QuQ48C+9Y$ebaptl4l0msYbfm(UBP3ubabC#6a!0EgLsfSaCmY}{G zs7#Qau$*>gJHzBgX*4$vX49^yX#QqkyiMv`+|MDJU~zj?EC-6LDJJhHB&WbM%{TOM6s%DwY={7Tz0Fj(>o6b@THY{_U=CMA&-UCGv!nCh_g+zaZH0 z9XGcZ9BA9V`g>7VzWaX@@!sEm|GL~|w@kXZ@s-^i_pizN2*}z=(#f^4g{m{)oQ7&p*`WR({1BoCKIU2SA_*-K@EWn5<&tuCWu+tjq~QrB29uOmAsn4Kyb0cb4>gdw#h z{kG4JTH%GI;){b$d?t_MDxXwWzbZtjtvBm7B`vPOHud&tG$0OY6ao zl5yetMi*@EteQV=(lgYAJiBqL-sC16{3zf6fpjxc*C!|j$?mEoL zxsLrCN~CH8tSm<;}!pgkElam^a?8*cOS@nw8G z-XXe=vfSo0NtUbka?jI(=&>$m zQKtO`*oEaw9&c)Te7UV7Db7~u-#uk1Fnh3^5YxU7Cr+7SbaTTgC0IlJqwz309dAeA zEIr37Q$enkpMlw-kmJqC&Z*65$q{9LPL5yZGaSUEo6J4t%fK6(h=4Lp%QOpn3U?QB z!NTG~&RIy6%nanvli?2nw|)ya^*cxgFX!YWB#^@bk=l@BjYcB{-d!jHINGzy_Mv&D zI|ZZwlYhvBSx6oJK*4x2_>?Jpg$E?WgI5E;hHt3FS!be#&;RlJ&d~vnBp8-Q|H-TI z+g^y9quAR|w1D~93-Mh)e%J82Oi^@tQyd`2$0|2nwk$WdZRP6m{1yngPej*8DoUdj zkxk_nU?z8Af6>YnOLB8otnV40Ktw0YAg_syRy9l0NCo5#N~K8c*R0b`WDj{6(1_CV z;<6^>Rt~2F*9><%1VxrW5>Ml6vQc7|FovUf3M8C@DkW#zQ8u9lxs;S#G~-5e;E!rt z(NufQK8#M;LZ%Z$wdZcCjQe=r~v8} z(i;nWs!=Vb8V$;mGQC@-F`1^x6c8gLVG&st=^l>G;bW|84k@>n@7RcA|1@4y7^?c0RikKXppH8{%A_zPSW^J=-V6oLFj`fvOuwvWCH zW-WffeJOoGzZ&}H_~Q~bJqr0CH{z<|>*$^Dz8il*`ufhVS#F&I!Ra8KX>%ld6qTW%AO0k4e{Z(q5ah`pM_w;fKX6i z^)F+YEhe_ZYlh_&6_>87x^gh+m*Lu~*UtxXlu*s=&g#0Y3yMGZ==A7{=F<7M)Wn)j zb#>plyf_}2yk=&>Ep1md2AAJGZt7TXUh|HYqkW28H?6HAwK(g*n9BUc2UiSOyK`q< zK4+yY1gn~(OBW)S$034MOJ0&mBBb*B;~K<8Wqf_{l;iVq@mh1jyhc`@`wBhiwiJh}1 zrWiTmY zm?Q-Pq_jyHKFZLRq|}qLm4rf}ltN(W@@Kk$r=^{CD9|ZwDa7*soO7>a+3_%)?|HuG z!`PCYqxZh|+;iUZuD{pcTxq{IzUhI@>%Vku-M{_t_1Dna+JTe;-jR`Mkvg~dYLQ8F3TzyAC!9bJbX-_UbUtkzoJ z-01kyiIaEt9jdL}Yf2vd@u@HU>}adcep+SZlrR72&F2I52VKRv7%oNTvI^N4u2SGk z6%WSv7>uOVL)C6`5eQ{0JnzXsnMKmA#CgoEh`?MYGO~6`OR!!G?jPxS|X18Y*sdUd~Qb_4=4Wi-l53I zog?MqOuq4|$Ui-aX0jOBNDGBBf7;G3D}SdPj+aB99?fQ%KI8O-d=%${GM~@n&Zu}( zZf?aKhsnGP6UU?3f?F}0y;3mHtfOhP&b{bfsIluV97->^>8tCn`SNv5Q(f%+_r{m? zbp^}1`<9Jee^?FQb2cnDb^PPM9{K!F?&(P#{Fm!?Ja<85bQvBr78w-u&mOpE(T+?d zS_62)ekgMTC)h6ZTz0+fqQ+bYTqj&-U5wk6boIJur*l7lk*9dxL8WLp&9OMja}Kwu zz)5Nz8hgsl;tmmz?Ue%ulsh<6MhhvthbNOG!z7ssdpm|nZYk0Yv4?h8%4qN>>Sn3G zXw94B)UiK*`@7!_5B@_>(>1}Udr4VYW2y1a^mA8|^mCny#;(0{z;D&vsn#2-mbPue zzU4sHL|;MkpF}6k2>7aC*T&eTsX9Y+tZsYVfjYV_S{DtbT`N*7KEJ!s`OUIW<$_Z# zc-{p+?}8pzl}m8ZF4vfQ3|<_2dyG0e28E!Y;nG2hjcJ+Yp?;Ohx4O5vvWK%mxz*at zFYfg@Au@cD&n2;_8X10$1hb=)NY_Ei@N>gh)ghWNI^=QY%5!=#$MHEHTLx$X%<`G^ z6*03hUKj`>aU-;fk&v4)5@1dwV50_27fCU#C0Q0S`pWl;N~5E93|lI7daqM&E3bE- zA3o4m(stXc$F4oQB@tY(ELu@3EDoirow2oFSQF@VW(7ynn)Fjo+Ui!eo%eSo%U5r` zX5Gfk>#o_tbnI~Yw=M2EIFf+0%I+z%IlTs1G_$Q``5kL&Dl$7#&8rqvsEz%JmK7C- zWZzhP#T{#F)XGn(fDm!++!|^0YWT`-dTi(R@!flGxCyPc$FSXj_PHIzkZqN+4?210 znDc;>=5(r*dceUm88fdzYM2>oOp*sY784bJuU*>{-xA$GQ&~@R0 zLS(mB9yE!UHsRnIF>Xx0cIEbE?P5s5D-kf(PN}E zAjQA|gM2B+QJi@8MBgQbTTIN=iqkbx$PSy^aNUIqFSLX$L6<&R8E#=ZV0m+`wkTBG z*ia9s>1VPgas?ysf{0+}{T@G6#HBPQn$`^XtV`W)Eho>Q4Tn|@xeiuy#6*7MRgOSo z;e{7eC9RHHzcb=DUht*28E1INnsn;BRcbES7H2;C)YiRsSyVnc!<0Dl^oJzNas-)f zq-&pS5evzFu;Tr|vn_-QJ-=;Yf~V>pg`2a1sgv;I{_IMbX{t8+2a!Lx z4)I3=hoIwG4@-d*93Y5iKoa%hqrkI|#*t6Rj-WkX3Dyfqzbf^l8lF-=tfr2t;YRgt zHKkTtK&o;u@?ivCjzCW&6QQ^WRM^ca%Rt!ga4=k^%*|Uli@4fiSmVH@0(s95UUejU z1xe@F?B!Rm5Ut`mwC0v0`^LJ>OE$C>fBTxv-J6om3wJwIwgtT_A~&5WRXCO`8;hO$ zCSIP=RY#UjJvg&anU1^hGF?6rT@<#E#VYL(wN zZ+|GaX_vup2%TzZ6iLD1(zcYmU#v5>)v;~H0OmfQ(86Tab-B( znqg;DgpmRdRpDvO7RV?jyl~&+;~O8_pIZ12-y*M5;OOboNANclJo@94U0o-CeDw2g zp6u*A`R3=}c=OFS-ne|3=v!G6lO)X+ExeA?I71m0 zpR7pP!cSBbAkwU`M9a#%M6Cr`UNp{8D^#~cHH+v4cRPrh)huaX2Md)16IQc`Vvr5V zYVY>9gq=B+f&N)!ohjaNczR%K#15g=VWW_vZL_hFko1 z|Lq6x$Hqpd$A^_6NscJc9aun{pnjbGE=}RnU#x+0%GGI_wpH0OwgWa=uTAL&tQ@B` z8*n5d`J8koF)0LwmEV~|KlePSqpq~WR@CH3Zt5(*aJNNaZ%8d?Mp*U{RvsTc+&6We z>3BJmX$jz*IHYyq6_EgGAsjHKP9W({fn{~cy3x8bbu?cGD^todu5&KRHB?(#o-tOk zK3=I4S8NO!whh?0_{%VM&|x=ke2#xkN;v!P9CXRXZKub!J<#Ot8dy=;wyMElN~}(& zcV+Tp@^Obb6?PzMlT5J7CdwNHv0){g;^_BU34`UadrM#)c9jlJH-OU|q7PfEe zD6R0_;MJc>G!DPY&+7?GT*clNgY+Fk>=t~x_jM})tNH64N(JS z06bES`SbiG{&ij^;~j=xi^QHash~CG7%bw8#)=LU(dghCaN4w-q0p|2=T~&0Ethxa;dk^drzoOU-M%_{VaqrX zTX%($<)+Bm`!-XrPPHJpwf^ogs`1kck`ILbG2%cEwmk{-=-}d1y0jiB&`+RLLXO8Z zPX==uzY0ZYp<+-$<3;0T;|E4MV}zVBYV0-Aatacs9!x2rl7o^qfIT4f&*j}&q34K8 zkNB>^$vO!g?#G4&>v7{hxRpG<590q5l;{tfZ6FAPPfWifn9_!u#)N?_*%)Y^X zqaF7kH)Ai}Fm~dh6J7G*iT9lI;Dv^w_*f4 zt=g{s`kUF`UOc2S8FY+{)tfDuFKhvvj26Nic{9?26%evcT=yzi7fFK zs*ttxHku(HSa-q4D-=M-Nh^kAeY?<#;dqWKxma?!alu!CM7C(Grz_}oo`-D8DofTSbj(_8CQ-}$M|Wk*k(wK!dPxAYXX4c(Bb z>2jI{e^q-;fNMaH{EKDFm-qYaLu*Fx_6hbKTv@G_on+F0&cB#IcccVc1-0^C z8qx}-HZ3Mb>Cx7Z%hgHssCvJez7IV)>_$ibtYB~; z2sl{wub$u^{YLIDyasCg+@Ig#k!Tvl)^)k#&-RbmKg<4>a|%dh55I}W{}}uCDE7SI zbH|KhxJZ#oAT@=Q0U#l6#y%rl2?0N{h1<%y4~^Cy+PCje?dYNIvbL~o_s*TW`KlJb z7M_CM)O9_uXXDTphc?3Qp6gOxcn{S2TdJ}XoA;VDrq6A`p1|K_P1Js(i-!d_U||(2 zu-n-KEJHntO@0BH{Fi7}PE$@?n?-UNCQ0xujw_^2osyY829ghyx)0rZIlgyoNy%U3 z;E#^KnCKHO=wcjy{=hzMr{1zdyIoiEXaC={f7X3GlQB;2Js$s!bnnOxs!L#pPK{Vu zfNmM7YG!m8V=GCXXr&XA_&#&@?`<1votXjHwB>W??)GkmU1T2aA@h*^R!ur=LNk$l zoXo^2G7~uGlo-(x5**@6}Ma@n1_H}o=Vs#6nfx2iJ`Gf76 zd+;BqW4uMn8oibF2e-0XyJ^;MI2Sv644y>V53U_=dlCStcD%}d)_&f8$&U2Q(>huV z?{GN01C(Dh0_^gaQ#dbnP6;{Mq<-TZwf)C?;%|Ro^hcbIh~H%LM;zGlq#pY8w`@9} zN-8BOqgi_fX=6{ZuYdqpDFh63JI64pfH^1xVR0I$s#JpNbrmC1Id^gf&byPPSR!mR zoFUDz982?Zbp9lhBzu%pA>(gxY4I=Oe6Bdw7D{Be+IV)6@hm4KedBdqN0;5cwkEOW z*wE4R=OYPgeRGptazp;8nEL)}+Rno-9li6F&v$CS{t)f85^v-We)O-;2W(%#_pu0B zU4HguPzH7hdaZuk&v9;!lDpAQJ8dPU)4DWz{k~8oQ>Lxf3cdn*?SfjDw%f~j?=EfB zx8HZ%cg}aw_qK1^C-?b)BP*Nw9 zXO-ubv|E`}jw@*;AY~sfl3+b9w106}ynp;RJO#t(uYbHm>YVUS57t@5jK(@E@sP>n zR=Jq!5R?b&N=xhJBso0gcOP84Kf1NK`P#_AYi@A|{NDXz2P4-adndeqY`@!od!TJu zEWTnvY3YI$@z}Dq0QF|mwb6rX4|+;UJO|OxZTX=k9`q94+Kfh(md<<%h`v&$3&}GJ zxJOu3WkWin#`35cn#~$U0l!8;H#$bB`_Mo+tzLP*37U9L18>(roctwdXgN~x#yB}A zGmIH&VBF6g=cpt#FZX?ARIU`gX%(y(7ycEoY@eXL;^2ifB| zK`A;+LW^P~j;QgtR29eF(HHs)6^AP?X7_)PeG`VWZ$2)*{62g55{}X#cujDEcce7vu-zmvFO2()wLI1u(x*T*JAuKrfvK z_(Zt!QPzItPuK?DGyNBOMCJyI!Ah`4=wyc!eeK@TuJ-2k@^XIK3(tDbdnxbgORM3< z)v&!CSlbl}5|SfUGp;iE5Xcl@RcRMHWF6`%XS8*hh#9+_#gh}SFYLv6ab$Q$EQTXU zSR4-zuPunzo>eMK59;Wnj&P&9bC8&PUrN`v-I2Ox zgRNl{nS4DJw(^>y#a&HXzc{v4v=T#$hwH5R_(<21otg5}MalJPzp317cC>Bnw?|8@ zba{NK5avp+A81*-C{X4(RupV%a7HSluA;V{HLW#+i>mq3Z9S>+?lQ0E%UrQlXG7cG z6%JRs-K{vBvS7y6`C4~74C2&exh+!LvLZ&<>G(NGf5L7^i|B<6%<_fC>&t?Tjlr^dxVyg0 z=y&jqrDgT(&f2Q#L?RYT)K+QirB3t?d+FCrzb9KnPKY)z2(}0d+3z_x&gVd1rCra1 z8hEJ&)+}4_e5vYXGkDp}nce27dB6F%`HUGoa5wKBb8mMaaI@&|?r`e+O?}@F@9pc~g_ZQ69{tGBPIEquRi{kh*CKK%Q0>vOM+ zt8(d0ojo`8hvXW)@{rn~lP~z(qZ`+M^`?bh*M3J)_Src^j;>84)*eOg3#p)2yq6Zy zJhgy*2^51c=n|*SPLH zeoae#)yj&h_^#%CyI+nkDmTO`e2pPH?drGq?OI2?JHBBn%ed1GF3UPc$(GM$8({-& zC=R*eVRL0$Wi`5|ez23ii+%~nfEJ7idWzBhrz*pYA$>;0sAOs-K7qVSOnt9 zhZxw&zC-V*VTOe6b`6Lyt6FJRL_gwiK?V9=>Ja`IBPvO0Ze}1 zDA03m1U=xp!oG(r6P6b&^n~>VD`mC7ezVT1vwY92Gnvggof6o;=TLr+F*Cpcf#Z_n zbq6g!&Ois_VBCwJ2VrR1 zNi_^5f3Tk=vet@as-MOILA1dBr~OF%HodBM>56vv1!uUyy)a>|@TyebdTsPezkB4% zpZ@3Hy%TAWUfj`iu&T46Oncq3K&oD^hhy2Z^uAlN&;Q+f5Kez0GchvR+5bMvf{}gt z5u=fr?!Y^CFFi!zoPHyT6jv61O;vuT9GV`j0vKM@{us}BIO-klLyj8fAmH$?w2b5Y zkFjEj87XL!pbvf`RxZyf9-BK?dt-w;+uC*x#bQJFbuhNKxTd|VtUXa&oWQR&#mw>i zKVLssT|IbxTX1nradFM!U|A~Rb|+G}5)dsz5jTSaje?igLk{Y%nEUA!1skY>dsuzGqu`#qFL zKpLoP5^@|#*VExdIE737uHl!ici}H216s0fLQ;u0x;Cl7E1g?{C-+j@re1iXAzj8T zsErSYduk8&H?LU~aMkw4?}m3!9ov81I=HaO*CxbDN2=Pq$yE)pp}|#kUqbx3sRn8j z;;#y<5t?a$ELmCcBmm|~S!^_RJVwPZqrsp~uzS)v+Wu>Ce~miccCZSE!%*sfxAK>U zcRBUjg?I;(BI_YiR3F7?LP&^V*R)JN2kk)ILWx{Bcn0c#>gij&e0kZ@n}^!>HY9IN ztX+QX*xI$L2TcB`vuRCyv8!cKSLNc(?SAIBJzH$nEj`WaQe}4cVPEOeB^?WQ^a`G6 zv93HYW(_zvU-Qzr*+DYE9^f>i8cKt+gI*Q0gE0P%85h99qn2p2g8vzx?C$gLVLozo z_4WD8&c5YKi%29gYhnyc2hyhN1Rsty4x*FYlRMi@u2j)LvBODc^cJ zNiJhJ<0ke8{i0nkljpu}%Xt5F3yUt?c1zVP2yC<(DDSh3n$-VjA9e=P65= z5O3$5~9@N=}aUnTz1_+(tHha&+mq}Aa*-9Z>XauQcF=t?ak zIGOftim^90*IV>u`Xysn`Yu5F(lMkj;izWhamPDiI;WCL125-=rgu~x>#x~Mu3vMa zZiMsmu$&G34>3*ZSb6uhMaeBaq4KV6i(0SksmwNZ4h?p84i0rP+m_z4A{t$B%hII> zmq#MY4=&xkXV31NcJ9Rd3?NzsLuHIXDb&~T=7DM57&QdX)1!_QI8)Rn1k{V@3+P9#7wkw6qH5yi72#XpD?69mxi20D%?mI*e>WTODGPvChyCZ-450ThYl zs9{owk{eNa4awe8uuJ0Y5s^1Ki6}J-L7J*Zylt#frV2dn|3XD$eC+n+i#Cxe@YaPPBaF@w2&8unV16OrNtJ>U z@+=lke+Tvh^8{sPOQ|QOADD2O8F>JP5&-=_&-fd`ooKvKP*Yy?fvsleXN`uPz+Fgv zdcrjy^+bMrKafe(UFZX_xN@G+p*$~JfESIn3R;>fW=m-bn#;xU_yYx>V5CpTV8*=< zR0|%O`oIC-cEF4S3J&OTKpyMP&_PqcZO)O%FBOcLIh_SSHbiP)jNn$GLS|IyRzf}6 zt&H)Xjj+U6V;nHjJcK34%5+9eLpeJrq4eV!bQvhxwXUT%aZ!no?u~ zuRKK^r(d3Wp0Z5+o@)7Y7rbjLsnwRsVBw2s^PsuehtB5v*jLcpl#Y+UKEz^G%R{(nUc)>u8M;xDD0j;=Rlw6@wpV_=)W!iET?FIc9C#Z{W0x5&P(~Dr#&ibj7?rP}$JNPk zG0i$g!U1C56As*o72Rg3yxSiTOS|#fihDrxKC!M_D)PRMQIG;}n8}_eMc#CPI*IGM z&y!kj>d+Xj^UmrX%(`HS_}o|>+2_^LK0hYSlLyU{${SS`&J(FZB(oY5pBWesrAQf( zB43+`lzry-8zCi0ks9=YoW{09?#+R&u2(W#C)Dp2W^lWP4-8 zS6twMzmW1ELj98;uns~iM0X2=@RjU$H^UaVU{m%YOm4_Nn|*#G^(IVi&VCoRZp>cH zUfKX#vftZ?eSZ6FFB=PC&k%m5?QA&bEZ#h41q2cZ~! zW=*SCjo`A=?;P$qx^m4bToyUs}XyxuHq&_v_nU8uXPkjqnyF}i2 ziL|s;s=-y~WgWRfv&2ue#19fs@ERp2r*iZQYHxYqL^_z)x(aM`opC|l1@&rNaa*Jx zlR3x4j+;`!EeUlH*R52+Jd;C6975*!yfwE^ou6HEOY3mWZT5Mj_vedlkAI$6oaml+ z$=sk5Y!lM*_DCWHIJ?^(wbOP%YfO(u#v>F*>NseHJpw?)PPdh$^vk;WZcq26ZdypS z4Rn>r6SSo8c6q#wJy84FDNCR*~3CvNmG5JziiRM_KMoxWNqWZ z%8J%CVAGY1a+txsxg$nHN3xMWpIz;oShsxVRq6xOXQS;u>GUx|%!s zMzk8R{7j-R*&phFw_SY@C&E~#Tmfx48?Gr?oLYH*{Sz7XQGugmb6xt zv6}QeAenkG@{`m$6O?VS_=(SBdZ2$4!&h?)pDb3%r&U-kA{G{ienH7!k4z9K6_Je0 zu7^7Ga47!p#xZd-~NMEU)Sgj9jU!5YreClH(xPDAHHtC z8vfK#Hvr?aYo-Q=2Z!etom{`OcCg7E?AzPFdT6GYin>NBMM2MFN7jVvk=)Nh4H|x9S>&_E!p>icV=-yE zY96{|t%-EE{F}6Ps`1(ZWzFK~+*+GPq~JzE`%jY2IS4S{kkMl~eR@L0%+d=VL&9`H z!T1}es{r8!^5_FMFsj1Q(`ZvrgEOOHXZC4nG$s!;vuIDhk46Uw?;`CjWHdPgw0f*_ zGPXH7=Qz#=m-&%3+yHJ6+6`rC;P+VUOp(u4p9>h-$98P33+<1TVk6$h=Hm2<&5DQ#Sga*OF6dP$bzEb`xoCJz1+F99P`g;Be@ z($XM{Qvrf?7Lq0)qRh`A+tiAA=9|v#PbF`BWb=m8A%**IA4Ele=M^6&|ufTmDMjvPm3`SDb*)RslSP{??tmu`Kr{`*((RlC4N@@ z;`;qRWc_-``u*udsb`k%ICu1o8F5WkqTxNB($5+TJ3lR;{K-VwJd_E~;^_W=FW5&@ z6XkXDjD9Q6#};&l_6sysj+grr(|?=r)XdUhX|Mr&jHKPyNq$lYj0xtdF!ViYv*{ik zqBqb~8C_3PG)X5cQ)<(I34Q}93214!Tu}K9V8oRkJsh`dH1HQwZ(-TaTIf-=J5)ekZZBx))hIHFN+G?|yWr z(`;pIji}hxGEuzp_pM!YD3ff*MHa~&)#!ce;wfOXz&l-?VYJQ{1+&+?)8SmrMPggW zp|n_b;VRm?~{U;*BoJ59wal-4= z*bCOo+|f6ViMt|*hA(q^KWi-PRET3SY2crSE?J8r-7OSeixe!u!t06YPbZvFaeV%y zCmFAV`f8CAok%^3sBiR_1Fk@WC3Pk;6Ec)AMvFU|RxOM3aTxTt&CXQOK+FZ4&dQ9L zvv@Ort|P+B@lUkyk?eeCVJh3JnbIhr^BNih*^GWLPF7sIxZ*nS-0SevL*4_w z>M11}&2WK_ppZJU<0cBMzTK52S5ZGcLmhVhS)}g4)XU(~GS7U}>+;llDIiggBI*Z9 zDzE09eK)6v!Cn{#BK?raeYdCVv$^jAk4W^(5&dhUS95>1fcq|)NIih5hv2%<9PSAs zA)y|WsCS6#(nZ$gwH zV%`Jd8H-qnL-TxD21u3a!{}SYb(iY62sj}x6?4sBwk~Gwnd4^v|Dt?7dl>G$@W2D} z6|uM9{=?gjyml;QuWa;qvB>!H(F+%jei}Mdx#IB3;F^0j)Lef4#piRrR3ZV&BngmP z<2vlS)M(+Hc}6<$cwS%b7IjXl0_{?LS@|q|S@hBhdCEQ0pGuVVh_cM0nTPWGdCEP% z7b%AkWiD1W4`oN5axYB61fh(?7L;pD^H6?QqKrp}z>M{&DXW@I8%c|2(Td2??xVbD zv<`RbdTzpCAOa#mESEL7{y$H(k7@#L5EP8mhfVOECU~|9o@j!ZCJ36)0ri84rY46Y zCtHT+^?G+r|E*wt80$RqQ(&od{d#78l=0c~Lr^3MV%Zr3EJ&N=^dgEviTt!*PQ|lP=9Y?bmMI5*(QvvnWIiMK&xnJ_Ep9t z!dK4))fg7%0<&DSem1`Z?~=@NNSfvSg)xQc36qAMW8X0b`J-rjr!+nUj{>(~+OCD$ zH4tuhK(wTx-RDr-#E%UphKD75VDC}FUYG6tb|cz5W~X+j)Az{Vj^;&_y+6JadTb(5&TVm0_W?zgt0eYdI_U& zzQj1EHZafs3H^8K(>F05ClfxEJ@)q700M(l--_}V=Mrl$RPu)##S*pLa7&sS6__V^k@GhtvC~UgwX7tWkVyy zm%5%;jCeny1|d z9uW5lu;+qaXw;(Y0(gk*zAmz}`vL&)f{GdspfLeai%Ljwv~^@pS4z7yBXNo)H7JzS zIYa=a<0?b|Zazc+rh{<1mnkQ?1!62MOkF_S)+5crw%-POZO|sj2v>Pwj?W?qaD;sqh<7Fj-4t5eAcCXC#g~iW+X;9k0S_eLXaWie z=t)3;_KARKhjMA2dYtuuv0V*l;tYQg02_=G5(Jm2G zkmq$Aw@455V$G~7t>^W6Bd(OCY+M{c?=BVdD)Avk@UAKnSk{1wn9)2si}o z&whQ|!~{z-%pn+m6@x>--}PlTF&)|8Hg71cEIAJkW-U`^XP=8v$q%+(l&c0JSGP~d zG=M3Xjjy3KRwMs98s968_rYUCuF`Njh2$y^c_ddi%s9}9Tovb0I_sn2427i``bGX4 zXw-&m6WmJXu~$4fvVYBK1n*4bi01fazn$Zos)qo{42z(JY8vt~I409jjHu+2Y!>YA zn;<%CFS&Ys69A<`(YO(g8le%ZtB^t4AkAPX!V!j{=>U$)VbwK%wH)tQtNGQ`dc04+ zCeumNBVFUc{59~X@Kikr36^Oi{J;p$7~ydv+)u9PHbVFWj7%_+^pI9F5UXGavac4b z5n^f?i_SHg(J~CnsuT+D90z$02{f&YmakL;)jA!^Xf+J_g7Q(70Utm(Ig^|}1ZyLP zMSDCN$6i33>KNzu9bsO0fj{!X3+N!iXv0>PM4aWpm!A4nPxdm^GNoLzgnEcJOkHz) z-?Q0BAvuH3r&JHqotHGR)yJ9tJG=*vJ&Cb>?9)s*pp{AX9AVn&%H^GK(DI6)q1xcH!EdCogR2q5eV_Ppw$I z=ccJ7)zQ8uAM4(ki*gj65QGctW zBy;hl>|TPF8~`0cg-zpL>0ubNXMON|5FW>tJ|Cp4MxAM;d0nYnYoW~so5mm^ZpV|! zcsz#&LOjf(6^5%rW>9zL049qNVi+FeSiIXQA#zVC3el5k_OZHk#|sd;3z3v}wYAmn ztD!wJnB8Lb>j={F8wDRtTQ#YY!3w@&tl~fg?XaY*1LY1rN<+2xu?h=!1!e=DUO$GMcl$Fop zCmzpxmAg%%W#U7Y3GjI5$%_#3lzT{C1hHdqC^}X)59RmslzWJVPX+X%Z>qxcnHe2R z!F#!!iyEABv2b?I#XR2grR`EgrxLrk7tir;6I^WBL+q=-j%JI;LclG1?^<^vOB>3nUl8WWI^PY>;Q` zOnO&AGYEZYsqCRCRcKXJ4&iz20QJ$-cS*a0)+<9emjR1BqCL^76rC+ax)z#{{bf9P%?vgv*28A{lN~?zi zSH_tPB`GcmWyxfuxh7*V^1LUKp+#Q^c7fm@1%P)L??8-e4vTS3)+b_G&qR9WiE6@v z)LT}HfwE(_{ID(g;(;8n(4Oa$%}?&S8XWJ_(??IAI(Emsr;jinIvbX^UVm6^+P-bu z_8jQY_?FGv=SD86rZ?Vv`Hi2yc6lw1R6cM|&fYsq)>lH3=u$pXIq^xoKjHFI+S#&_ z7X90UqD+5Hl<9sXECs7eN6*pd&JvlP5M}jlBCDzC3wf$&)ELrN6hxvAN}9+YbCO>% zk)wDur%0yjL{5E#(|?{QbIs!Pdc>(J&nfmqY!@SyMMSRuYQkro#Vx_dCiH8inP`&E z3;~@P+iMyXh5M3V_7Lhr;ynCZoQDO7_;79Wtg&+_!_MhHNR-hQhQ8*S&!P-FzbI0! zMU;zLYiCnNdi~49{;!oH&57LHeKOG~(Zw{;xFnh5A#oh|P_%zwbB^FVe0EL$M&h#p z@##!{HlJPhihMR9K5cEY`845Eo2-O7aV7js;`0AYD0DO{ap}!AVVoc|YMHnariXKP z^Vf;u5<_krLH#Ct)=7MRU*c1X_@s>rk)m{Mj6U=qMAKa+YNX@j&exQb*hG&+0ggBa zb_!i?J$y$GNA+*(DUZHNFX(B-MRuB{kYXrX2|1XdKBOp8Bdy&HkHC8&U7hQdO3R^2 zJ0?dfPi>G$;$DZ%ISX8AhRt~Vg<;}KArK+@I2fLTw1n&T6M3{H@^v-h(y?PX%q2)= zvvY8lKE3^80=)F`?Vqk$o6qM;^dl9j|} z#n}jLa`M+pC;xGgwnL(Av(H0&JWspZE7Eo$+N`taYTD%Nub0mLeTAB)&o&R`_w$r{ zG$Lgj?_dJXc__b?r_8I2St!;y2y=IH0g&&|183Lej0 zp#)!{_Np8@d<9)WbaQD&x_&{)efeQ5L2{qKZd7 zA&$~{y~MvP$`FhrPq=Lqr6|nF=MbLhc&ND0n?P`>2&XG0zvN?*@1Y9&9_p*~kvUPl zg4{qPpOBjo68F_Ak`|v)s%@h zY*_Mgy(-P18PPV)GrE9lB$MBfXmdC&Vpe??*Rbn0kurxPXN6-$Uk>%G%nghnAefa( zGp=Ium}z4Q44AYT86Q0xHH3p5$`B})jpZ1`uyn>$T z??{g-WRX>cVY%B4QwEE{WHP8!z`z@-41$4?8;oGgQeLk0XNu(L;?5k%Q63yvPx@3( z#-gOeZt(4ubP+_L&=Q|f2 zopl>0kK!6@F+Tk$umC@@eOn*`f&3=X{S2DO_Bq}DMlG+d+KiGIY#LsE*M{v1t@6F*ju8G%U@DTh>l4`Jn zBOd+3uvl*j{iOF_F6X3}qH{d}jrnpW4?Ndzhcu$J*n)^)6Rk@0C%wkB`(g z6%{qtM!4)D=9sOeO(^0mZK(y8>|bh{n``1tbTeSZtO4{4wde^7U;vDP2L%7%A+F8c z7Hy;3+EyLvlxaKBm!p`gOH~i9O|FHlX-65xqi@ve(`6WszO2kKv}XAonT&Q!yIo6b zwV4b%a);2KX{XxTgC&_zeSdLrh>vABvqfj-Sjd9tZ~x+a`a+K} z$>Jikp8^FLc61}6+!d+O&bAwx3hV}?kLUF4f1AkJImBvcDzF;RsHgKDxx9q~A;r8! zpO$&ii5n2~oQ`3@B?Y59064{{f>K~OF~<*)aCH1I*FMHi`aQ}03A}D_7lzY&;#+HK zx5W227Ag(6|(6yZCS}R#B49x;M zk-%||9>tk{xTzK?6vyojom6t_Id=RM8t+Bp_ppRME^Y2j1E>}9M%g`mxvLX(+78D7*;s~Hmo>5;`f1swT)KHB9aNdPc0`yS%g;dv^J3%593E$vi~XYNjAAOCOm8^$TfE`TFAD+*WyrR)H>RcoOCQH5)} z@nrt6y2_gG;ehUw)TG8`6E!}2SmzL2>(&)V>m3J=y&n#-%npTO)5?lYp~iR^NGt0N z_E*3O>IFY%jan%yPjd7I)(LWTTBkD}S8}-iD2gm3jCnR0#|QrpNl#Nz z-ucCxIm|~~M^o9d-mZ2}xJtK)^(HzZ6@6WcUEv6~8UM!o%pXGgpn2`$fWN|D)7rdd zaVhr6y^XkemY@_kL0GVxbUL|^0T4e63K-ch9B}4g3*wGH;LgOuj#nG-s+>8`0{M4u z6C8t=$T_thUQ2}Qi{!U;vrrA3vk?y9$A}Ata1j(NEU(e0S(%{0IvL_%1~&mW5y$&3 zH0vn%SYsoyfDlw_(Zov(XteAXG#a=5WN_LJ$L#0ruiI%{1w+Z~Vw>#vyRn8S z;wg?eLJw$?pfvB8bxs8fcf)KPsI1y*2o?z(O48fpe43Y`qU6T2Vhv-t+5{y2Rvuw9@WG*#t8R_E^~d_E>0Is5+uK>>03 zTf}8I`veGrG7`(ce13rVj7&g14Grj8k1M$J6VqQ3ID>(r0sw4uUL<`7A=1mTH82zs z<9?VDn?aOHL1^y`o$3NQdPL`&g27;r$q=3O<4zcLLf#3{5A@WsH6kgAD|(D@RSB*X zaJ50OU~-oX@T>t=8K4JgkH`u!pxOL?gs4dPLjYd~@DhOMaIY&k29Vv1>+X|ihCS$F zI5>`eDAS1be8v3ma3Y_>B;L*Rd+hVrp`v-fe73lff)?P5BUfL z5m*w5s8j(6GUS3_%TMs1L@;U^;APy*dq;ati9z7u%k%9*Pq z1V2pB&{GTfS_o>PrMA{+41kOaqW@hRFD4dxT^s1_-+9Oo!Elg6akE5unZkND)K} zx5AhPK+egd@?QD4oRJH9Tbf?UtdmirEKM77h97BB7aAp4?8JvgKRfmOQ|yI@Klu=M zv7+#mm`&swIOvy4nesaMTzmKVg$@*p4ONBICXK+3;yem{SPzsSpY9HmyRqGY&n zoQ$DWqZA2s#6#%35wD8dHj2td!0b)HI6;o~(xs)$rcb{Ezx(uvzQUEI9=qa>?Av#k zt$wxRkyTSF>ccgUAZe3N^UHna;P0*%*F3 z3@?Y_fiO&l$HSCum2N{NJ;q5z(~JTDS8&wGxJH%6nQlFW{WwXaSk!6)e@CNJ_#Q67 zrw{+n?M~^2uPpvM8lL9zYRKJI=I{PN@_U4=l$m~qqe4+s_knI2w=^`E(b25s)1&La{$V6i32s>MFZG4dqqhlg=1JMtJqp%6*OfufR% zI~_8|Ud;Z?9pUhUeCvDgw@=fj*F4hM`N*m(xYeG>C+_i!_^itDO=8(H9DPR53P08N zNe?zTP=jlPRue!{58`L1mdStuUQ)oM0xAdwFIA<5a`|@k0X5Z&R5*GRKSQKP14ccn zGRSeC%6!Lo5tu3};zI6-MMbWvqNMrpJEy-7@ho@Hd(;ZhX&^xcJqkA5tRS$jo zg@+!>M;F;w5vQ@-USysl-QKE&V%+Rnd0q*}m1mUalr*n|xbw1t9?dtpp4HD%>TvC4 zo_l&~?^ErRB6y zf=JBBYIFhZ0(PHAcmgFMtE@CI1fH>99ixhKn5BzfWI(pyK za(Fnqk^1X>)CMYW*F#h9Pl>Z2dH)fAbs+DvBfmG3=eG&X5=I2}qIK8=4hk6`wNVfC zE1SHh4e*Eoeh!1nI?GlmHnv1tAZUTFx4?5P7h9+kEpW62R<%H`#oa>5604jWnte@U zM&1~Sj(I7s5q;^6=uj77NA)uZsbb*_>AAEc-@YXtpByHEezBC8z{>f}{shLBBT9DM znA@TuIu}!oQxi`w!4<}~nt_|ntdBk&U4Q1LfrPE)=IUzz02=hTSKqB^6-n_ zgujwjF8eT&zftfHLZ5Dx+P5m;QCF!cMh&BZWZ><<2LVPMfO2&}9WaJg$@~^S<#%nY ze!UuAu7(GyVX}I>no?@*T1ug1(QQ_NQ5#e0Q)x#78iJG(i%HumJ|ZQI#D+y2La~+4 zWFZcy6>V>CuC0dz11BLYsFPn7{AP=+t?*Rv6Dj`p&+08Vl)2=DIexcIy1- zp*}wn(`@;ogHP>R_w?89ZM*BCsw0oQG=A!%uaAs;{i9RkFFkUk>Y=;Z?)}=+>vlbL za1q`e|4XEg|5rY6oWpPu`!e9o#6LV>7qc%q^re)gb&(}HCl0xqjJ-u1`vcLJ+^#Q$ z+ZqL1xG;K+vsTF1Tg9=9W-^l2&dEr6h-f{pCrw5T76uxI^*Q(qm>{N z*IV+7A}-Zk{7B4g{%`x|Sgi3{VtJbN1;#M0-I}+RPRou5*KI#htx7c*g?cKEJ=DO@~b6idzR_ghnP(}Ldh}CDiNI$+7 zutKP5NV5vo9goJTI2&ipl_|}#q$gRGq#X$j^!Jx!#@pSAv0HmLbocM>36w4xmAR|e-o5soZ&+pKA3U}7!EJRO z_tfuXHG3c5S$E3awSVl&7YxN_by@d#DzmFQa9`Py4K2x$R(C;v3MV@AEiSC6WN>9@ z6n7((JCN>=W zajV@)+-?Ke-U0N){n+DC*tLWjv-oV9XE|rUoE`hlTe@P0iIK4;yHowrGltgB-*$6N z#h#;gCYjc$r^<#`W}J@x;gw#hYo=D(jWmNrpihW6+Ce?bM&fC%WLdk={(Ad6?KIa8 zWi9E*&|*-sz@e(IS1rhtTg(|=1w|Z4Jw|*qG{p0Dpd>}6p<$9V704G0$;Ac(vmhqK z)eJ>&YAHF0GSv?+48&LO>sYj7tk2)!S<<&EUeO#hIGfj|25(zky?FoQ+eqTf_4mVx z;)ec22pi7eT&CeEOGOVYfo-mFy0rQkh(OjM!U8Ft>-$IA3_@+Ue3q|r zCOX+P+C=e9u%_MbXH&MJ#$qaSu>tOBINCrpG^naGWxOh5w9M*>frWgOs81wMieO`! zCG>8o#lj4Vbo|A1-entBbGhOSzlAyluzBTN9o5$yr^;WiJ`>G z{_e75=fTw0ox$|F7V60Tt489BD-4{?&7bv^R}bx4*t)#6oKx#Ut(h3^;G{GbneOtH zc6Wz`pn+gYj?-IYCZxMH2<`|?yW1Te6Er3G#H9qKN|ysrK2&3m&>({|PH|oX2^WYE z%-Ba37mJ#8Y#}VUUqT+ow}otsI^1!`{}^@Qz!Nujm1)BRH+7~)8|`La$nvNy7-6{W}L8?oYRU9{=Kc}&^69om4^6fO3FlI ztg;X=k`Ak@gvNk91(ua_!m2hTC@FIH{W>fhWhyUH*dc2 z{I14qXvwC<7MeSzNz>K{N7=~SG1y-gijcLUe>sa?W}C&^$YA50;^B&y2Nx$o%dd|akYKy z)!#z)-haxzll}A5eo!FO+QH32Ppqj)Ujf_N>%-xaA}Nnc0bx1 zkC)JHCA9&Qc&%W;hz0(vlP@nA#aK0I7DRAiv3&F+F`9=4q5Ti`?Ozt2S5!X!M6_o^ z-TLdpz1Oz-g5JSMD|N7L$;q85Py6+K^zNh8gFD)K#+rQdicQ~3|I)qxnuU5z(QUiZ z8WxQ?nFJF?p@{NgARd^37bt2m+5-+Bx6?3E0Cz9Vybs;9jU>ogCceSy1y zIxqr^;0>ga@V#6PC86t9aw&eG%$c$9oYN}UQB{2!xb%a;*7}rEv9FjmFOX%J7B`CpPSfq?YVu6 zx=*}z0RArfmq1%p(G>8euIujFmh$#?HjN%z8G;{=U%E5Xe)}tjANaT1TThn{Z~ceb z!4sRC>ek-YbK<8fDz71Zl?>DG(i;%RMW9hAfh3jLsYMxS6sT7%0nWsvsl2qmtQ&I#7 zNq_)>kbq1I7!Xlu!~mHLQv#Bq0}7W$+5sW07!?P=cDP>K248FY`Rs1wcGLIvZCknh z`MSNBRNmhIQwagJ-@Cu>_W}8Ha_ZFHYpuQZ-fQo(_FBt!J+mrhIA+?K@+um7Eh+OrUz2z~yqweZ|=c z6`_6HDR$6TO7urB^2Xqe$md?t>}_FbO?~Y5XfH3BE2O%-v})}XQ+8-|JPC#I1tthDg#gi!zXC7ytl{7-Ru*T? zRrkF2qux(@D#bveB4Op>)gF89qN$_Dl|}21F+1Z6I<6!rs<>qCxNpk3=!c^D=(Xwx z)$ghWwe&y)@kWq{h$y8BLH;eF{u~uinN+HaA$T?Bb4Xf$NJy$NwJddB>g800G?Z{L zflo+?jADjJbW~JIRJdJAlK8NQ6>$$aW7KSSU;jvq>z(Lo94{JjpI0P9m^{1v6Y;%a~P|ZQD+wpAT$#-Vm9X zlQ1RI6k3oxy|Kb$Zw(B;N!~dgUXdFg5n8IKiY{GN5_pQQ9Qh^?lQ_*2DGK`~ZDRSF zspOu~R-u%i^cTd9GbQXSbWh0xJ=j?YEx6^UVCQBs9@QA$>dFQq4CDCJ^`XiSMt z;icG$s0GQ|Xd_9i4t0du<=jlNR@}LS0pBV~&by z@vw<%@}kGy+W36)Yh81O^Xea(CWYMGqAuQWbZy1XM_On3TOWC3#^b-)H&Yo%B>z(} z_0eAs^3kK8-Z!`+Qxv<|Xgv0X*hhO>5x2?b&tDr!A}czgSls9-gW(#@MP0a*^fP%{VJ?1$k=>8uFCE zM%eca1;Gvrmxl2bap~k_vy=G8zt0 z7s>9w%I>?H_Sdi98?A}nYpp%>{e<9@*5&~6I}^&0mC4IOiqfmt4vH39F4~xnycsUAMFr*4?Meh z$?>YBs)Z|xPTqKY&Z4Jpp4jl#ysEOpV$#$foozm``@KDWr~QP{ZcuJ`hlDB>8u5KiRL1Mc2I9BTe&r_;Gb## zFMMWnVA|$^z~gO?maixdm!tbCb;y7i%gy(>&GveOBx%Aa`%a^i7@g717U!5#p;y;y zR>j4t8qG%iS@z0CZ`2C*CXEy#hf6Dv^90J;wR!S{6yzBJ17h(4YBG~boy_Fu%jeJY z{`23<4GTpg4v!A->ux7Lm~)$rA~tS|Z?39dxzKL3H``mNY52939JdZx`TMPeF1`%) zMh*vDO^0ERS;rpH8Ar>(k>blgEyC11)%a&EBz3eTV-w&-3+f3m*&oQv&G|h+s09 z{S^W!q?dxIuIEVuk9 z9hcQ?SFqEt%n6hA>rM}y$zCdK1gBgW0xhD3a$%-i?Dc8G!jr@KaHW^(92;@8bi}dN z8;nY#L@sJmmf<4H7@{P0ca+Gr5eHL7rv)F^PG zDBvIfg8R7swG0Cd?7ly^U1`@$!Q^cDEL$S;#A!h8BJ{XYkqs+s$PtyIW@u#9&}LWN z+^JcS3V!vQf!4rHMRaCK`P?MdRDl*gY2iPA`p19&{oOZjDDIi_%D;U0&o9mXj&Bat zE(Kl4>;l*C`>NKcA5eFw1+Th7y@(n4QicBSdR||DH@A)J;)Hz8&n@NzP7t0lylmiq zY#<#5vdFO3@Ss637|a@_N~PsAWRqs6<|19l!|j1iYII$%vD~nb3zo~4s}|un0$KQi zc~w=^pfDljz0qtAkpw|u))+#RggJz;S3@4QrxaWOn1gSRC(cTEHJ7z+WE?XFp6b zemc8-LFeoOZk?|zX(=bha#^v|h{_Ty5lgjei;fkMO_rS&p4lsn7QtdE6l0p6i6svq zUX3a?*5OKT%2ha;tft$hZT6OgF%)!A3P#c`2!@!d4Frg##5UM6iu@p zT3n!$v;|8Z^fw*9-xrthj6FU~f4H-ASAUX!bxGd*!l>zaJEHSa!tz!y4`S{;Ix3r} ze%QJ7zHqD7P_JL@xPo9-F^((;AFAf-?W@A<>X*m<{RL~7U(GTcI5if(qz+XlQXSHV zSi|UjYYe@owmPgSRzYdiQY9*5TTf|eWgZHi@!0a?`?D5=bx=x5kDNj(&zt9U66bqo z2p#uOW3B=GXI$ z&#Kb-HA*FO-_t62g-R3@K^Lr$V8k7>Cv8G$*&)IIf%pL_&kc7i+U^SqbPxks*c(jB`Bk! z*if`O))*Td+Y&3NOr{v2F-ovDne`S9{wCMtA!m7T;D>8*egm~?WLKvjFlQ8xoe#AC z1JmWoKd@4Mz?bZn2jHC^TfxsSVQjva`;MXC7_~TgtJ=awAf3e$_it1FK864F6f%V=vPom`hma`( zr*G6q77MhNiqLE?U?HgFL1{dm5;B>xk>_^#(FP8_wkC=*fdz^4Hyv&E)F&h?$;qvq zmLDjCb#!c`QV0v4 zX=lD$R6biKe7h!lD^Z()%9Gg)MZQ>}p697uz|4ZPdNRo*;9wJon2=24dl0M>ek3Qw zO7Kj!1%`%3BxVYn8vS(K7N9kqqBZY=)#mp_TA1?LH`$Ndd6%7->_lJRq}il7t{KuO zFdZ1!bYL+xilS93$O_3aa4~=HpfMurVel1ka2p`cOY7fte#_5S292@$S2msJ>(Vo` z8}}^XD@H%ua({9%|Bl>$l^*cja%K| zj^*J>!Pqoq@*-!F!D*IX#{`MIb7jM9iE*3r{2d0T@Yt*4Hs@_rvUSeQ%1PESqt)-r zv@Gpmp7i0y@Wyan3isK<{NXIm3CNvti(E#nEYe$~rlnz<WVFoi%FR=M^n=`UJCr}@fQN0|I0?D!EQWZcM?01PBahwh~?#d zckB!06XFNl6fTqP(T6Y9^q7g+tWThtn`O)*Wm(NxEm>b>jb({hKC{(t($(u%xl$WL z71~CliO^Y6ZxHk$F^!_U$0Vz8@C8{~!>vvF$qoof!DTQ!Ccf)Qu6$zNk?Vc^*9NMk zz?t*sNu74#z-I@0uMf`q_Gb3l$2V+zd`(u?YWn{ZYqR;^!jpW}OGG#>FOLs>@zeV6 zb0=s0)IlxyzhX>@;Ewpz5=Z{X{f%Qs3%>EiYmNR0L%qOpD*fuHvZ(H;V^J5Pu11M5 zQFJaQeuG#6M-;%AbzE-(qUP@BcgEi;)WuqtgZfog^M;qRG?`9>xjDIz_y^u z{}D%cw)MCwG%QSGn6~-J&5^~~F|%6FZRq;to|#LY8x0&zTHJm2f{sQ{){I$GR=xJv z5<2#=xNZ(bC7p3&sP(kWS15$XmUEmjlrGvbVls#?qbFl1<4VSj4AGcDq{Q$Ff(9I~})fxg)r)jVCo8UyjI|rvkP|VyO(|E2i?o-?p#M zUr~|bT77JDpn$wR|G?U!p4~ggIHJgJn4TE5aYNvLeNnosELzB2w>3nmj4xSQHvRs( zEJbC6Z~f@I%lv_-LQ-e)y1Bl`@{%RyWYq9_-|u#kB=qun4?3pSDa z7H0;SFDusaOppH15S)u~a3Q}Tn9hD;CC`V*OL-?%FNOEaXw{jzsdr6}BfPyo@ccz( zd|^#apq1P=>l3)ZsfRM zYso9x_q6;eE$P=1t=6Dah@y%zdhvx2n_nsKH*5VyC6SaSrP9JOdhk~*B+IhN(qj>f z7NRt>VG#>+gCT^DC`7N)*vtx+w($EG=9}de4qeXOzAl%uU*54Erz>>6`y@I3c3?62 zCA4ewQb+GG!N!H%O#sjR{4{*Y^c~ZyDWKbZGCQC&)tO)p7ONx+Oovl4W~A5 zJX;t&XVD6ex2Zg(ea|kwGbG8EF?Via++)@Vi#oA#W4U{7QHnupNS{_;I(=(hb}%6r z?H8WqOMfi)2t^TXWi6el!v&K%%r8jg;zAg*G5X`MVQ=V_de*`QvmY@k%=9TWSFTy0 zQwdt5#A|H9rVAPqu(#Pe1G5s#YztLTQcpX1OK6@99=ac417DxcM{{sJ+$&* zRLLUAPFK|b1E=Tn65u^-38nZmQ485u%V?XH0^iGwO(jmnxJC zv?8z3C^?l;p|l0#Uz^8cL1J+=p3{0S3DHEUilG)tSu`D47RFtUBfhxmINlgXCn{69c|k01EHchEE;R~jqr;eD z6pYa!#vI2C#{!2SIYJ$Y4#A-&X0)QGp`px!u&fjF*Tm|Hjw+aYlicnq}Rv&6HDkOs?R8I__3cG9tMR_5k)%=h?yQp-^NDGx|Mcnja zx5=DcG&Pog{WeWp>a)`pgc8QE6J9K+E7L-eX`#N`v_rq;L=NhOF}N2)`X$K@t95U z3|)pZUCdj>DOstF7)L3)-#0sn)0Ritb$ZLJS9I^`_zWfPUEF1{*b!VFfK8wnzNgdBC9p}Q0*=E6**PL@;eSIr6E5arS>*w z1@>Z}>Yz2$PPJ0ZNlY^5cOqct>@DP;lg# z(?3?!>lSvuvt!3UAFR^`;>m9`bv^Grvg6(Eg<5ic#PaI@un5KKlC=kypZ|q*JGm2QanFA^87IQX81Upq!pE{F-F+QjzMuj$g3?d82v@(HQ9WmF>hN%S^}^+aRX?gtqg`Ol8Dm6x z1o@ctgQ%<+vunYY8RV3#{Zcu2UgMk2RSc`&QS(o$iEzKVO?{YcI1ov#776VZQ~<=N zCp&3p<(u`y$9{9^d5Jkz={QxjXwyi%Jkd`&o3{Cu^9KFLHi#x|F9;u#^Do_8H%wj~ z9u$VY9hT)Hw}f;Zw%3EcDow?(@*O4rw31S#Y*QXq3Tv4Oq7<~$+^R6JHT(r?ahYSx z#Ka@tt3loenIMzgwhvDK>E7)V?k?Rwx!lR!25P_C$UjsVIviTxf-c)0uSqknRTSPRw($ zTGOOCt`Vt;RDFSQ5vr@!8$+u#w`}Zdawsj9Eqo%2YOFidHnA@P4=>rc=KaL_(Jy3! zIxxUT^L*^oCLgn?y$v%G`Oc$9=03dGMaO`VZ?dN)n*&doQ>Jn9+CXF$ua26`k=zQO zFRX&4wTw}0Qe07pl0u;|ROlB*)3yAC=*!VpqsO8Z$Jx@pC7M@qA#|*cGRx!}wZ@QY z0}KXimQ3=+-#or^%oy-YFyJ9Vm@Drl}bOH3n%Ot(Wda8@S*T4;gX6oP-3U(Wn#5PLr~C@2;F?A zggs`6Hb@+?jmvjfUZ&hm*lk1+&PzxAY1Hyeq_cOa!JyC?{c($uyOYl*^S)#fW>iEg zTna(q)0zE>#Yy_=uMFgA!z%{fXoxnr41#1ZC_`!@P0AYXwi6C41XbE*SsUEuJ6u=1 zR3+qKYLjhHGHuDjd3mk1v+l3WQUsjjGyS1`j-ujxdv2J|UzND#g|@jh`_5aVB2PFH zk{7fs8$8voHd-`;x=@q4wCl6S4}G*}I;1@Ig`|Sda3Xh~Z+5s}L%ZBOY@5XTxkbsw zWLGl(Rq|LeUy)4ki%D0ZUyu}E9ct26e`O+1n_e;T=_aBzg`0SZtrd)VTU5}OwQS-D zM{pPAmfo;z=C{0CC-0&}@#3V=!IH}N(6jffJh8Q08Te{=m{>Ia2aeyh@~7KojHc{7 z(EZ5H?gNj=zQ)sbz40)!2Lc86|LmdC*$031=!d^zUdERhpKM+@h}BU9H{WOF&1Pko zvBI!0${5ug)g2{B9AT!igOHGNB|FTftc&DL)nQ?rgLYtJ&{ALvVt8<~-44(4V0$sE z)Z-jK^9A>9K|Y&H>HpI^#F?>RYI6RnJ@d(H!(ab4VQPKeXMy$W$OpQtIU6dfw$-H4 z5qyX&$SThaC2JZdG6((N<}GDjyEyr2<+7Q-N3>m6k+INY@-%sNdgu%i64F)2cdF@l>Mzg$k`@;#YcCI>SA$4OmSMDrWBBAWj|hL<~{n$P(D zd@mz!u+Zk?QJE3zn0z3|{*v>|kr2Arm?`Om$zBpcyNudB^L*KMduX&izB~SGJnxGq zp$@-T=X6wm6-u5CeI=A<0c2g&?hg%(u+(Tw5#Q~UP*~G1$GhaMGpI`W5KOEb?;38V zeC_I?-Ia6NpIB`#D!1M@Q&%3rB~)lWiXc4^ z$0PXo2*O2>2u*~>8bwFibYr?Jy)3;ky(RrZ`d8^nt2HfN9%K`A)e%PfJacHm_@ow` z*5r-fzm4y9z^J~ueOvv9&(=ajdPI=}en{Y*?0pWeBYN+X}LarqNW9k-^vJC;|I zCqc{~(pIehm={!*7*W9+jTT#ldXe)hC)w#FWlmyp(*9mySr8X)t`;v4`iG04OTdXG z$+%PY_}F#3TdutCJ~4B%70NAk=+ts~cw*`cWDkqB*r_YZ{-58lnOk1K1WIH^L+JsqCI+@l~{i`LDTKInT&VlX1b$8n+qELf6C1yukz7PKa%@tFgvK7_EVkKtehN= zT#hnpACEH2=lx86Hkm%F$(R&nHfY0#z@A;=EBUoVUXtFG=z{Y_<=e`SmBItc4kcfy ztXJ|%r5Z-J!}g6uW3mS!@Lx-1}6sEl-t6ilO{VWZwABCoPT@ zYz{`O46=dEPjYHlxHM9xs3c|IjWWzl=l)IhgGhrP#OZU{|0vF|#7&=rU7jrL@;q@a z@Af#ucb5JDIX)>H+^V$fe-y)*K5Y+1;4P-b-<_5BJ!Pj&lzk6jaf6vxb&d$H>alZa zWpeowUe%}pW2RigJ>2P_Cw753_?@g7axHg6bC`&g%uOG=PnM7x5;}R#_>ZC`v*%~a zaTJ_p`T3OFb-9*&D4gN9Q5!vy2WXZ>Q4 z4>MM%8aX4>vY$Zq-hF!+&vxMwsYYa@1fRXpKqRBGQQ54#puDUUmAV0EnL78AMBxU9}x{Q%iLRG@0(7Yc#ygk39t@YvD?<3iAbcQ zoLnlU6aI7TJ&u!YflZ^ux;&09Lu7cUN*oULZrkyr{NlE@htWc1fp5q*?n_#3?kk*u zO3kVX^N$zZf}&|%FOOY($waM0TFXk5j*cQSYGC z*Mj;qUj$?#Hj2$+i+Dl2EM66rqR0(sCs<%T9FmC=>@4D^_e)jilt^QjBPTP-U=W9M zA8uCz-ob1M%D|Y;XoSNKlqc8tpGfr;N z{{!8ewc6Tb-DDlIUbJ43={6b~4b29YpHMX1Y9QA7SHXhPA|2JkS%=Xrlie_h?(v3- z{eI2h{XeKDlU0Ui8pGd&#yGe~d^K0XKM%hVE}RTM7yeebKw02p!n4AC;Z1bix-(pw z;DqrZF+O?>pBru%1jY_;n5=16*~?n!nona2^UM4^733!^$WV}@M(~vIU7l{!!rOV8 ztdo<~lj`SoI{&Ogmad0=wLSXd`p@+@^onNYH^er01*LRRp;8Hd(0;Auf2}1CYRNrX zvOr5_YDuD&XfLWYM6J%_3I7J09ghowpdg%hL90ngUxXS+KmQ!}I4$AyBJ*Gc4 zOt^J={uped1dG!m=8A$xND$TqUi5zI4ZKIZ^gl9N_-*uvLKulY7e)Rl&=@sN^$tq4 zjT`c9=IrFSeaL>pF0|N5jNNCiwhJo#MT6F86p12)d>ummI3D3@RR~!aLh?e&L->%3 zCac+GqBfx74N;>}OPolU?_-QuEglz#L`fxDEn3}$5VJx5rjb(|OBfH-1d|2-6Vl->LblSLo7&Tka{%2~K_U%boKXlu5$*e=_?vW?l4CL3wg zG;5A&&T6h|zS2mVD;$A8oQ?(Gj5ZRZNe-F)b_4UtdK+zVXAsW5__8{8cAYOF!B>~< zt}Bb@zo=MM77VSyWWnD%#GEjs0HyjJrvxNa6~(r+g1si{gv;Z;QwuipZ-) z?-%hWi^$$0va0C*B7Sxe$tfb*A`;cN#`=Jjw_3U6zIZqJ)=fTllaJiwRW~{5CVSoF zJ~vt8CbQin%T0Tin;6|ha%=iN=WcNP0&W#El}ua=Cn&iLhj_&6G%|Phzqo^0O8(*s z9zq*$iN7#I@GrN1&(8AR!E3@l{5|oz@kkTCd&lCubti9D^F+YXTo$l2H{l=sK8?=B zYsS7%eJ#Gvsp$%ic{-GFv$zJX%eTyTZo!L{QRmz*I?p8^FC|&UzT%-`AuHLJ%$F7? zCl{9r)|uxj8_OE!H8wW3G@fk~#dDe$xpO9Kj5W(DSSyB?yfl4yo})}E4NDmIz7#v0 z;Sh$6FDZu|N@^v1eGNZl3|U|OnwrkP3;HW#mG|{E)7Q*jf^FKEO)T5f9ifrQ4}Zd5 z0RP~pH!G@-9<8n*@5WbdnKx_GoJ8lW%~i8E&rKqygP*+Pq@Pr7njQRPPSO}R^6?Ww zI^SPWbL2=3{p#cgD({<%)$rH zvJaje|3El&vr-%$;eX&`Y6G?lr${BdE;U%Y)8F~$@wk5W8Sel3J3x^~*1} z2HxjW$P-n8lYx^}V16QAUU5@2kku5L}j!BnzE5$VlM* zt$+E;R+7sb0;{XYGP0~Hz_QuUJ}s<7jz9(Z5bFY#nL+)cE1Q_I3Gz<{j&mHp4pAW^ ze@5U~q~-b!|1oWO~Q2Yi0s#G6D;YtqJO z1+CUX+rq#p>P5A9l^q0O)5AqkP||-*Do$l?G#CwK)HD%Phyp2Xo&Lb09@lmcf+J$rSkgR9L%3Yeoo>8zj9UvOL{v++95pwsA!H)rCHBA)CI`GS%c-S2i0^?7a2C`t z=)f6tB@v5^@y;lvy}B%Su`mAU(W&b{{4gi5FX!Q347i^Ew&TL~!qL|e-SXs_0y*`R z&Kg&KkDpwqo%{N)x&n1`s)VkkPwkpJ`mQ)!u<>|cZA``Hngd;IeKYojq7vs>I?jbC zlk*&m_t|Q_-{B}S6_Io&HA3{wnQ?a|ljP(=i?b=-6t7Be$`CUe<6GjpRMo1KtTwCF zK6zJF4(*rgNzBR3$zxiA9V#4ORn2^0`ScJn6qrf~Pj&?k#l6xyyR)dMed(6r&c(Kq zhk5?+@sP!xFW+H)hQ%*!g&+5Fit;-%28Jel; z+VL+vRcYCWqSIK{-#_+^_?dVq7>(G^b@()dFDMT?XAn3HXqB7Fd&-ZOUny5yH4x6k zmm4_FP|ho|%`f&T-j<%Vv3CKF_|9EvmAojiis3jN~bkMl7R|BWi~r zkuXl4Ugas4WtcSmj%9g~v&7^#G~_b@nq~JFOqsV&l-~(oJb9}+7)~uHP*H=imfV|B zy=g|-y)~}%>diAs@2zzOJm$pWwAA7RvpJzSHLW<&Jo^63ZS^_1%XauZt72lK7sjn^ zeA83!blxQo)ZY%wX90Q^wag#?-&0rWbe7h6au$}v#+EE3hZ1Xd);G4*CWac<>#g@c zaNTTLA7Wv9(GQM&A#A5Qn86it3w`d)O-`T5>Zkocl!|kc?{!#BW|o|8r@6;0n!{{) z4_M8~$z0Y0QA%#BR+6+1+3{WWKxG<54U@O&|E6DGqIc59dz@!Hp__z&RbKPtP@*h) zf+c4nltyz*L1vV&N|9K8cX{DGHCdS}vU3_UB7Ey+=PfFU&0Y3zg*o1P*P56VyE?DR z6ZT-JyS8Y4YkgM2f=BQAH*KRb0^^US+Wb*xJa{3@%aC{_{sTDW^= zYT%yOs+HTQUa_+YT{uaV#(Ak7ciwlOf!OM~f`asGadd(l;>auOfv=pQQD(ShI~d za{pD5Bt<4gCWQ(nDa_x^L$=LK|bT0hB&MfNqFgk#qHWW z;l;?_TYG{zd1IY-Wa33witlRYt+#nXZmdo5)CZ%TNX~oeGXH=?7lr~)PV(1M=5Cx( zwtj9p`@eL3ReE5Wzow?5qNc`w7r8MxU+H2Sf}SY&kmx>${f&oSIjd=1=N#G*01Wxgm~kv^A%W{G4;KB-y~ zq9vk`NR0W4nJ1FjED=G7a@fM&I%Yp>=k0OEI9FU*oDj#H^y7TS5dURrT=7D*S{~-aj~TJ%rIeV!Ep;(epMpBD`C@p ztj$RTXOsY`S}Yzp1e4b(kaaC@@tSve-+3h+@yPb`=Po?o!giRYpYzxG)f+a99^n&A zaZzDXU>5)3=%;+rsEeFdM>(Ck(a)&e7L4!9OXLB(5n40$Tg6_5pK6(loey$WMwzo+ zmP)qti;N5lsY-Jdxpjs3E-7=HwwUD@ zOG-1pZTCAJGt=j+d0=PR<~I-2jJzG{o4Yu(^8V#>;0T+OF*{I6&m zCvw}Z9GAq~`QrL<4oU7Vw_2&GJmYDZbtq*izPiaqB=>D9t?JdmrvL5>S_77QzAlGPiRZ1JufF$ zHqVv0@|%C+E>(D;GzxY|Kv5Jkb@iT~ZMEWBSzau<5hs zCG0qLSL)~!xyx&&=O$=0DMhnVOV`XRObD@MlnbZsx%Sa(`)jA&%)JAYWlOd$oVIOL z+Rm)BQEA(@ZB|yLZQC|?R@yczZJU3d?t4#nk9+#R?~RA?_LzIFFTRM_5wTaSz#0)V zR(XrvKi(JS$!<(F6&vk3ieV$0GNzZu)5v`6BCWq=x1Woj&BmK~=G9p)ux*|=EG_NGpS0VYrzheDe!tEs_+AnrXJa-)`EEg^_ zVRU~KG^MO!j)(i;Esw_9;FazSSx4pu854?mNC10OJvi(x%s*eWm z`HeF0UgoaFHBs8)oE>5xH?*WwCQU8)HD8{RvyD{D7(0n27w{X#h~cZb)KBNC(a1(5 z#O^}g%L6CUJ+4W7W~j9D>GuBFv4dklNBJ>TtgjRYxt+Vfn;jai+l%qIEI+MGcci-* zOPPod-EZnMs4Vg@n;AL07tjA;ayJ++!BHxZMN(VMoE^@!r>&$M74EJrt_9^|-riN+r4teMQ`|)<}1A+gY!;oJMuidPXzF8B3HnhoO&j!tXJ6 z;^zf{nCKZH+hFdB_#R=nATHe!d$Q9Lxi;G-!{ZzXi@3xi$1x=c~G{;jP`4p@2YkFG! zo%-cN>Us{x@yvb8ek&4S%I@itjG|B!EUBoB#5K(-MTe5zk8pbZVJ6A5ncF9XMb$U( zUHV;5JU=);0%1m`DAr3BEN>AE!;fmVHg-mV{5@kL%Cf2_S=>xqA-5o@#yM>^%HpS- zR^@sr{*3Nim{_IMXn7V>Z3`>4tm1Tc$2I5kr4!G=FH*su0N>b--QCNR=>oLUURfb@Rn(yRjDSYDllTZ)NOgz)lap}V%Xv(Yx`W$@%3As8n1kOobsE#OHTz_JlVKhssG|4wJ6zH zs%&;hA)%6zE=*Pn@fb=^8nz4cqFg5xVx1{nP}iq4+8yCVXbMiYTg4LPmh$A;J{ z+-TX?l|zSS4;H&|eZpL+MfwUAXvX`yS}sbzgwQ6#r?EGFB*q2jSsNr2saN2_K4M(y zSb~Z=mhy!<%V6?GbBc?jp_7z>izR>GsG-4{5#F^e82t009SN9|A!l1J^*(P0=m{(gQ%|l_?la*#6(Gu?2 zy0gLvWvveC&+WFAlE@+-X?csrj;pq7j#s-qoqhdBdNCdQ^x()Kb}p2Cl$Az94IC|M zM6%7!eC{dHrn61tM@^(dOI~Roktywtr7=0ex2=OxHxnyV#rQ~$lr!Z%uP3%S_J{*& zpZlejmXaX}n~1x#l&=i6WU+F_tOjNqcqsdeE7eXJpNBro*^Mo#s0}VgDQjB9U}(?o z;#dBB4UPv{2dt-(c`EMj#afV^9GGN07uVSwDTPUe{lZ{pr=O-ECBrHjoFRURM6wDn z%y$|%E`1@0PO0N3UCaAC3gBEQq+oY;NNJTHnbbBb z#(0EH=9SPIA$0h$z2xM}(A}1DO}Ndmp-3Aq2169M*DmGZHrV)B-L{rud79bdd8Ny^ z_wJJy%YGy4Q^d+;JN3=6&sD&rDQ${Yta8$Cd*cKst0HzaGh^Bf&W{buHV$$dxQB5o zYROUA%gwh36PL!jC^S3e=ZZB6YB$XJU=`(al;jVX!P=Tq+Uz4X1va_)yls_;Aez^M zS9sm6r;}fHU(JD5ZS)gn`#t$^mo+F^>arg}Xr9&p;F{Zhwt8&W@QvE_rPl09Hga3) zUj`t39G(^pi*-=h$j+fcu%td#W~;GB4-%UbZuTn5`m9`OeXR|A+sX6#cvm~;IyZd! z-YT@5wVXnwHmIIle#-wU)Na-t@0@s}cb|yshcM#@KYf#yFF4I9>?BILH}f{K-L@y| zqxDjO?a2}q7j09l8+sx>rKPw0QaY}on}w5>fQqh`h91lHa9-Ex6E*j0&K_L&gsZ0d zOk);G?qL+ERE$5t0Q++|1tp2VD3!Vk_gp6?TmD#5 zHF5h5j|~il3zIm>R*cwp$oh49a^2{+O!^YF9;2J<5(D}c^xdbV(Qc=@H-df&Fw{{9 zr4H-pO8(l>-}TGacsCr6U%(sr_{vFZTP(!9M^52qi#M8yXfEF)+D15knqV6=%_;Ub z6sZwvl_{Q2Svg{^tD&F}+RB!wvm~0l+gG}u-d^`RVQ?$*C~d!qIY{WP zu(T(!IJt6}h&Y{E``{ep(cm&{@W>S>U3yo=TI~~TyE^c$5qe8G&KP~U?!}mYHCMWM zvr?;Ec^i6`VZ*elnuB5+KUw5hgo4+(xo11yc{odt#j9@OP@c3+8=uVLZ6r;fEtI8U zka2c%cH^+qYPXn;PV=4X09cHe+fDpx5wWSwGf&9bg^~EO>Gt*k4n`)&&N%o8|*D1)@j1Cyv;#hFLv zp1AM5$zM~>#T~imc9^=Yo3;{DXa@Dnl-TeYFp(BTuaZfvcKjU1F-3bPIie=M?Aui% z3vX5T<+xjryxp9o_p!#!uZ`)E7D4`e+E*ICjYeB)x!RA`;^Nj?iter$<9AwNbv(Tt zkio`&%8DFiu**)u&W=-2PR)!-5r!+mvJ$$Fa)~4hNrKu=QrS zBrX?)VddEL4#RTK!m`7#S(A{Rex}h-A)z;15sSz_`9W24uoMs^J~SN!8C9v(?){X; zHkw>b_QB-idk>c=#GPMb3ax>SiHiC3($f%}G8fAhh;>083i3c_rb`M7lAJIp?5`AbZ_-}Q~!Nc53z`t*Y0%N&;Pu4n}r=@o`G?G{P zD%fbBMTlRIO2%87seV^Wm@FwtQP3sU5I+{ffR^(+kz}CDm~AuOe;y%KYMFiZ);7(h z@fw(0vzZqS=uVhOQ#np&3y*ga@Fd*-(MB4+(=g&?ffzx^EzFcDm3z2nNreFfd&DJB zz#F^HFp!C&ogB>+-T`t5sT$=YREx0)>mPo(i=xkKR@ef!*sh>PQv<(*a0=uKLWr*= zb_JAm0dWt62ofC-S1dm|3o!Ga1d#*H2F(KPg2IF70`tapCvXQg(KVE?K1HB1-iv2; z4V5dpH76p3-^~y3W{ru4xSkf^!x<6>efqygmR8nhvN-;{RU%1-aRznr->4M~dr}4w zs{&dKxz!S@!dldE-)F4BT!K7>L;!*e5SRa@u(boA@E=s?EQra&W=#%0X_iVEg*X&cQALf$FG;r zMEMk1>KducDjjjty;fA@H8&w>u>PU|!!4%ow@(a*BgzG5=@MF5xd_enx9BF*paVrpq{1wydM{NG0pQ~neIxR>Xc5%{&}s_pa-Wo2Za4bKXn1}hZ5?x z&(&)&Z_mzEmmu5ubOmr@wmAKZdJcho`xWB*`|m*k?Vm2u7jR)ZQI6XwcwT2=#PuoR zPbhQr6l_R*j`q6^OFfXgJ)jc6uFqWqx&-ZwHc1F@;i!RhM;iJ^48+0_;b}NymRQJ{ zn;ZuBDJR~9?{bvq1I7P{=WNZ=PwyRm=Z5&)9=aeQ1#r&-<=hoO;EWMQ*p2z`q0M9f zo+D8x-ViaQY(b3W$Vv{b20@sKGn!=I8Iiqg^G=h2GoUWca+ zd<#mWpvjgPlw1zHu>J0>%>cL)(q8=S$yAk`^Xj>!xW%jwYR{2n4c-L28h{UwC9=X~ zF#Ylu;s&z$41Gy@`E848OD;eTI2(cw)EmPc=MnD`e98}DkpUz$fB{$!A`7xBj6x5z z3&9)I9r#w;P{IpC7}qPSkI4d+qRQu#4)h!TV5-@0Nn_ zIUezCIP`s2*zbBe`Z^aKd@2;=P#E|&7wB0Y$cHk=un2Ih|PNP3BOSqv!l|7?VT`CxhAy%8QkB)LOR zFavr4$^HzWlc0M2@zub3kX=1UH)@~Rc!pcai@9g;3~ho+M!vlFT_ z=TG?|`3@U~F2G-d(E_v-VutXKM(PnQ%Ma%f?owmRV#^8O1o$%@mf#|Eh4VwU)6g%U zro#`9{za4rm)Le{v3M|o1`RLOBVxN#EOESw{$3da=9NRkON*HP>0ae?DM_M)27 zkIFlOo}UiH|M?gh?|3s6Xu_3Z2$%K8SpEr>PnMc}L3p6OQQTo3m9~@s#Q~E*+2C0a ze30J2Xj#2?;Q)gzDL`_-K|uBP@S=Y;=q8XZP;oL=USyaB?(_lE1f~*iL0r#Qy@=Rc zED~X+`CdWGUS?j}0D>faJj$N0@_`OHU^@cPo`!!RmJ9*52?89FwIG>-HluPasQ|}0 z^(dTC1F7WRr2Cy&4XjdAgMu{C#VysaJAerQ79a&TU2K{wr;;}&nV>OTi~5n6lZ(PS zRz&uZQT~fX#k~k7TlM#><(w91Mace~VL_Sbqz;rPMqpM5?Kx4u53;G60WDQEsZ*Li6ba%AH)T zdwMq$WH0Q@dV05^ZR&(w(Dy%fpc!o`M%YO)bEDj=q6dp@BNtnacNTmz6{CYhjYvNZs zC&_%ux;7ePRMWbx`TigBT)Bs~-ZBB~c~$AHjk)Dvntwj9V$4xk{bQTfyA7%Z>@#nk z*i~+z?e+)%+%Nl!2SkHr0}%*EV#=?OeLqBQugzPQ8Nnh`zqlCi>_+cs4t!9(+<@88 z>hYp+w*$YZ-0J)vA`5qZyM*bq)I++p1@N}`VLkkpUU`dY${x6o$)Z6Br!q#2reGT8 z4`>r3hFdTVVbLJ?e;;xeOe0t{2;-c^i2cvQe7!$nZgt{!GzUGnUTz?4toC?uyW2rt z{Cm<(eq)u&(*L;@BP`+p;c`RJ<0JUXPA6!GoBtn9;07QjFFBTrrT8dF$SF! zy|$X-Mey)iSPUaf+5vj?2%V*#lV1qBm=%rm>Q*{63vK$9E|p#4h)uS;r|5N z?j5}X{%qlgESJMI@AHy;N=yhXmqRu0bN>MYs(nhV2p?AM3} zja-O5ty6a6?z!c^+9qs9Ubidwa{L=o@QIhQ8*=X<=anE~Gw9k&-WPG?;;%^lAJ>R^ zuR)X_L?iz_4DQSkUV`QN<6^%2pXd)lC#N?f%Cg_!loM~DYtJCT9_uA3v^Ao(TVbrX z5i=WO>q%&h>X!>s4VasEi!I3cK;}P21Ys12e~y1G`>2l?sruMft$5)^yaYWMC@;YG zI&(TO6CMJub>%l;|2=sx;Q8N&54h%&-+&x>5%3_Sya3(v$>~5$c=%r-2@@WIu6^Y< z5Jz4FJ@_dvAot#KI{t#JF@FB^Zz%i=uYV2y1Vl*)v*W3 z|9)+N4{Q>gVuxCRxRNzMxPbvU@d6W=5>QA+&KjYh zO9LEO*2cI&J9zoUv8+U$6dMMSG6;kIHbdWPdVs$%ASX|1KZY^gbER{W2EaoPn{sfF z?si3w=T^Rto8L+=*$sa#v3Qn~={_zyE<3NvI$C62ft=?1aWB|_nCF9Z7GzE+@`AJy zI>i@!Pu%cnhY;#a*!=TIga3xYI_otj6nkM@37zJPxHo7(%=h{Kr*yY7#fGJoaV0yJ zDUU2K4f}^rf5~F&_HhrO(EK5BQ7!plE<+YM1<=-FQsJvQ>^5^Q z?QLW_DqM6oG4(*&Q1l>}C)CY-t3xPuBvKubv{&qP|HUDvLY7q~*`Y^$Wm?ylJ{(tN zl(`W(*9qN$-2uJ^W(%?YGK}&fPj;Uxc`BT^6iQu-sA5Q1*2ky(jrZd50{jB>0+JAj z5X_CpgQ5j?4gMVXArO(+hVa(+6388i2aEuM@cRwaBa}NDk68J-litsRK$Hs#DK3)r zlEV$TBzJy|?KhR54{Br^a#5GM=en1Cm%f+4mxA_?y6Zh!?f4yytHadh6y-UY9mOld zUS&GZ8I3yA^DFS3xSoi&1c#kdUb%#UzLa@)7JJ|7<)rGu*tQIPW|l+meatsQ@82#@ zL(TYkUVbklPWrkd0GxobKriw94}f?ew>Y6D1>F&TIU!{QUE&2FAn}B5ae_?}yCd{C zL1pzO;1%sMk|A1E=7+I`iRVNM@PoWT-6|aBPYqrkFui(659ZKtqVrfeXK#ay+YUN+ zeANbP;|Tr(wBc(5S23%Eap$-Nwgc9;2<#bJ5Z4e1fDi*i0lf%~m{cg6M)w8NZZxui zRUv#PxAS_O$nS0R-(oU-3xEMrnD`OgJ~Z&}eLOgD#|&hK(mQQyyrXYjK6K^eiekBD>R(SpiVU26Ljhoy)=d>w8kql^)P? zO5}hYo4nF1)pw>mt<0wzYopO_|o=0rOrC|mXJMi2}@H;rldGSZ&o?LRWeDq z+FuvC^6y+XfsWPG9fagYL{;SFCfEkt28b;PM-bO%{ce9PYw45(PO)VVSQxS^4%5tcU(nh{3_v2im?Pc^srTr;|4&I8j z=$^nWNZMdcK{NoX-`en1z@K*^@E_UYmB0cE1sK>vwxF(opF=$Od-eEi{rNaV=kB!# z^RSPeSy5)~nGcN8-pwed%7mNdyRpZak$C)*ax_(1G!nZ`iRF1c`Yng(=lMAM>AWl+ zjM!x&@fedJV2S%L(0#1eh=AbcGUZ=<=6Xsl^gG;I-t_vF1UcHc*Eo35)(_A1o!uDo zxUr`3&(jIQU;!apUoM&Lv3b-2&Jt)tb%8rko-HqN>`C@G0yu)2{nG*CTNrmLkeww# zx^sdI$2piTQ{h~PqWHIY2oExd{a!sUfR`Rf0AvsTmaIKy3+@`|IXI!v3g6+|7VssJ zI}{HbAKU@*CGus7@Uwd8OHt_da+E2lD4jM5IJg^UxZ|ARJ;!lf*auQ>W zi*og;;%tQLY$TfCk3flih)7qz-v-3+A^n~7gE~SaUS|I!jaUCEI`B#Q!TI&UHL;Tsyf>Q`Qg5|uTmMoDaAkO$jw z`n7si0S|#%JvLjJTRK~=Q;|J_9ZWws#HPLm4j?;6GPa3Nu?1EkH$)J5fDMyK5C~pF z#fiu8{5m8Me22OwBnym2=@GYh$!~aLy5;-6F}URi_dfXB5AW}aV#^QY{coyx%Ma%L z?~2MV?Yj66Wk%`u{qHKf#mrdrOs#3e2UgP|jZ?0+zk#MHfJFxLgQAnB`$t@OF54m{ zJs4&{GI24!CwL3YgjLVHY1y_|!`h#XotD@lWml-?1^6c920~Je0p#^x_9HqN@)<|Q zZL=JoiD|7mat;55#P$3I`DaM_VaNY1f-&s)pOSUbHJS6-Ww|Tx5LyGJ3+N0|HwiVD zW;m_WH|13sq1zRD)3m^MpmxBnA#A{JfFcA6Z!xMnI<9$_f1RDS<=33{IRT`w6b5w9 zZoRXK9$W!%I>XJa%ErlOk{5^UqIe+*OwNn}|Nm2QD4ljR^ z9P`1-WS?{7Q{9`Wv>bCK`sa@=RFppINXu2>rPk0E$+5$dznkh#;iCoK`I?o@(zus8 zH~Hz%AD&YcxEA3YAEy-;Vwl#icluh|vM*+jdxQ|Br}8l*!*eN(c1m}xU(nxswsJl- zWFOr+mBK3SWb2$AT#sayW$UVmm(oP=AzV{2s0?{z`erA$^Ch0)%x;@-Dfw))DTii{ zJgp0MZ5_;y)ez++aQ#fd4Ufi}unHAt|}1qp&dvu2cG} z&9{40>ZMecpU~M%SyYWZnff@iOvqpP*8Shlj2~V{f55A;K<~!=m z<#=X%YC3t3%!GwhY?He|%Va6ITRu@K*rgNJ2ZQlD&7}FO>(hIWrQ|>>d>kE%sHCqJ z;MO-rN7&wnk{SH@FDG*YcpaHxM}6WRHvRn1Tb~x1wRNfNWTKA`^Lgs13cn5{iaQFd z!mNDv?Yx+gn{DVj8b>{oUJIjlE>A9 zv1$KSmg73cig`Q<#6O$3BcfMeBqtqhqVwoi#j$XVx|&7;B5Ru6q#vRf%imtZe4TrO z3_ib&yu%cYnXtHCIe)EdlUv;R<(Tg6F^B&g_#}?+&U=Sve;#%RtHlAQzow+)t&Hpk z9pS?VmK++xqHyMh3w3Ua`YBIsQ$;bxC@r>?4BBtLN0M@#$zw84J|8L^#B~XWoq<8Q z*~Z)KtBs#1+|wC!^I*E~9D^na+IOwL>3AH?1WMe*T_?rIkXD_I2#U#8N^r6=` z7FQLyB0Nc?SYfHGAe+3uQ9t+e&2lxs%6+ zUC|ua1ALf2I7OyAbaHm=3|_hLVF5^ZC+q2E-wie-20I9Du5Sos=mRGhoU&E?YBxl8 zDykz^&+2*fhR=_B7MF_NvrRufGB=~uaBOuL`6k<4SU<$t*EZ{42L0}-bzHUf%IrVD zgR1n)T^f&7OXHnIxir+WmBy&{m38R40WBXV2O;~S`*2Q09EyESV~wKNp8&57W<>)k=-g zvS@XBmOeXVMHPX!5oi>=caLe?CZ*6g<9E-|vZx(tTDDHK(YV+&jA-XOO>_ zbWC>)cW7vJ4z5|*vNs<}e#qV!)ql(G-mv)YOy`!ZoU&>h*gCvs;A`Z2(sg6rBvJU( z^wfyW-ad9QelbQk_G8(K&yLTEuL4=>}xy z^b84@!`O~R9qPJY7!s3*NB7Y8<@P7z;?&xBMLZHaG$&#ghgu!8G8n28EgS=+lVJ-d zc&P4Xh$3f5Sqd~X3shE&i#lZKah(N}f_^6HOcw8%7;9h-vmLHOLlIx>LH-2-AvpH8tp}li98zJn}ofZO~>pOK5WS zC(|D#5kT*9wd#5n$}#U73`=&e5pmu$JjL#ggDS@4RU`sKn`BlbXnrCkhZ?b%$rE)!kEL^{T=(KZi}FVkx6sVEB!b+F@fJcD?R69(h|PDDeiw}zrP$NkQ@XZzittwDqsUHX7{c6Bc#8AZ==u^p zymM`Lt>PinMXr}jv4?vt^W^rF^cwnF?5)*BvYB`>{ICakE$ktgl|(oky@&nu^HtfG zoIhD_h+$9d+UhCtRn?cGJDGooa8K^q?1|wi{8i%NYz1>Qc`11%c{zDiZ7IR0kasl8M$bgg zX0o<=+U)vfY;auo-up$<34q6%T{k<%SHJ1KV$GV(nm%rOgY6ZNX&aShbT8!8w~)%e z;<>7iYZISokUrinJ>0aUx@u~+vY2{y|HY~K$^WUab+cpB=U~LgZ_%11y9RSr>Xepy zb)q(TrPVbn(++bf#5GpOnxQ^dAZ!WUB^~!De>O2eMHx&x-uh+>i%B! z#7IYHJ;UR3SHWE>Tjux^#lwk{VUtoey$48T*6cyy9aYUrc$JD1m*cx;_sEVSFU4x+ z_~W9Q*R;#bnsba4=1ZIBo4ulEMiyf;i&jdEYDrr1eMZW}A+wx`CwQk*^6^tGJ^un5 z|ID6KX=?R+X9G*cfZWh03-0S&nMMeG-zu%CZYt-N$_tyxyAIO`yWU%g30;0h-=5k~ zQei8nu`Y_QYbz8jG`}r0wR)rmu3d&XxByvu7fx~#G^7-6#2s{~S^w1{P{%tJzAD{W zBem^h;AmxZ6u#p zLo0Jx_RnKI4PAaE-H(wHU-E0afs@I7*j8)5XgwzWS)JczZRN=WzC#1P>NrotqbAog zS%yWcqv$W5orVUEO|MmDymiEw%Tv0ayFk{y-w%D)cGe)6A8|@;=opK9V&Vr)@@+CVry}Z*toF4vC?Ukm|iD%lcCq=S0$vajBtW&YS%51Mv;b zw2QlIUgS*tVyon2FB-k`%95wV5Nq=E>^1B|yjaBRwfV85vx_St3eQyQo{KxsYFA%B zKKXD;J_}#scW(#wBFp4^a9Mrl`nrf#Q;Y0Pe5Ons$`|N1>S?y$irrf(^tW?dbE{kyp6MI1yr)r=hBP@XDMNTExaCPc)|H!Gq$5HdKFEjISJN zADCBjETuHZHF`sTTj^?eKejPh;OuHzJ5b6pF|}#pvFyJtF^Mmcxor!~>8h&Ab%;n) z$d-qPW_!0#5*n8%*$=k-Rla8ZXNeiVm@c-be#Hp+|tZ{h=lDo(q_^)EtFxp zpSug6o5*K27DU9Y^77fHr_&D2Wth zUw(obDbF_|?{Lu%IrJ90I8NJ0*2J8i9%gzAGo7f$+S(kssosHOqcmnOq#EZD7P+)3 zR{c!%jukbdkDFatP}ZBjI9Oj}?@k$2T+!Y{dJr$%eq>$bIOf?tfNk5Re#}H=%YU{7 zEiP`F%BRWyF(G#hvk*1i=+Q`qx~V*2q&h$B*i-0ochzX%==nLpID?-dy^m+DynlXr zbt$glqSPZunl4V7=HzI6X*_w;cCFB8)LAyPeH9zWZcj}>{Ke$S+(hPvm8v`fmRb;3 z-;i5XMc=hBxcL2X1xqh|`y}FV1y4_F+sew@CcN5d`=rp_@I4S*8RXTA0JCxImN$$|4{Nk&_IqRMg~sKwg#>iW(Lj{cD8gT9Bc;0reE1j zIhjlhSs1@EGcz+Xeq}RZWi~c8U}t9M;56klU@Tk)OV7}^Nbpiv?-+=>Z{U1oy*u~b&#Lkx9&d~DD9AtD_)RC7~ zkv)H;c5?25IpX@T)Z%;^tpMPIJti0bI&V!v*20A(p5yp9AiQ`NYGT?qzTw|^U&ga4 zDcWZ6YelmXnt1>C_;^S3Q_W|}4bA~t&wl79yC484hdEUxw1A{_8(L8fr+)GO9WCFp zYOM;mJ&?I$D^3HS`ryni8)jQTXMESd^r?6x1Qvb`@ABNK$wX)Tc-qQ?Z{*UbeJ2Bu zX=P~Ez8b7{JsQUW6?LD=^jxUs1J`EvDK+yB@atJIB3RjGv-f~og(Cw3vkR?-7&WR> zD(VM9Nxk6q7`R?hF40v1es6k?2p<_8*35JK-iyHr`HN~n_`f}sV#}eQ7*-9X`aIZ0 zFpR7r=%9$A&UoZiEmx|@i_{~+TkV*Yzt9v#dP`C=B_sK4=5w_8AI9-TK1nfwSyjN| z&&w&DzcfI4q*r5^zr9`T0E<*;7P>#M0FYf!8-#mmC zimmw?g75I}REwcov!Lo01Kfd-L9oC$Tn!@7EEa{U3&qmb>9zmXaab(wJsi=!YpMYV;BiV6KksNWNXvyzb zuhRWCN8lC1oc_0lsulZJ*r;f;cm{KyXG`ngmP}v5dsPFcRgZrv@`>o6C1*&nhb%lx~}AdYX5)~7>RoYdJeAi zhjtbCfnkqi@2eeEs~=bh3K2tI!V`>-gu+V70_++86Im)L0iF^m8s5Jn)ZFUWpTG{- zQ@8=F?}!+v$MmBo>r20^rFSK09AbnVXl2X+h8jb5KwaRwvg`JrY5s@<87) z=78ht&(I+*MLHf4G*H0aoUCaP*`YAjiF3_`K#)=NB*EL1mx<;FGj|5Vz1)=ni^OBS z2tOEt^yc6%FKwoj*kqQ8WqS*we9=F zbtU91J-(F$4su9Hoi!dM2w6jmgkbt<&g!RPQAp%0w9cl1d#>M!pyk z!V{ntEE9egq}*o|+}05Gq({^y>dAZ@fSml%7k0*=T?w7m$SxhTK{3t>HUla3&a6XT zU`^ot<8|ZC>VZD#v{ytzUc8P|uqb2H=}R0FfjB_~7aET689VS#iuhuyP@&8d=otkS zUt8El6Ujr%8af#6`e^vR;Qum74cf!P|rvA**oHfdl?{uT8 z@@JG|<^&;KH*ygu3v4V$w{Q_?OPf*KB`}~+F&z4>VcNwV-fbT(pQ10)Y8I_;h5mV- zwPQ4fsaRRGSR_8kIMO&Q(St;NVbS9$G8}*G0fWCGc7Rc+ZRd1Etq2xl7v6VMI5@b? z@h#JVzGDGJoEo%O&qkSM6qW(N9C-SIe+=~2ZkLV$OOTE~bThEfM~-0v;cBpmyg@-_ z=Z5s2^zK7Wc*Z4>I?w5#SwY?z|KaJ}7=rfLmcV{s z>@Ga93Vm46FK|xFDq&KToHRLDDN}9Q{A@O=pO)@EX!Pqf=ngAZM_*lucxMi?IH)!u zmIJ?M*$H#uFz%wucft3dKAYUE>K|QaU;^%KhFGxjqv^u#sC`w=6s;9H$QK!kUlqJq z=3>!Ed0{Xt{j0AuW@ADYIL)TDbtkNpSMw(&64A*U!3p0?@h5w7L{YG&O>UQKWSRRkc|QBC{Nwf!?@ z&+OmLWld-M+G{Gww{o!?5#~2GV+K4oV`j<vr0mLE30=o`=EpE=`=1n(wBVrug~5PmRw0Nc9o9DJ z_F!9yyYGhPzC5Ed8pzF=`!q5TY4A&L*{1bCmB1r-7NmErDdcQHCr!a@1B z1=q8s=~x`%=#%65Q4zY!m^4TVf1}>r0E4#7U>YOwbuxPHh=R_7g{wX|1xYoK#WjmcnW?tS$eAnl9c`M)Df3nE6Nh09TT< zk2c`}VpLvM4;~D4+}Mfli7f^{djq5A)HlHm>fBM$@H$~2(q064;QYdm&Gk@6P+z@9L;(FW(P_;n-^`uyT~d%7>m!NJ;l~@~sGxPnwtuf^N(D$IiSB zfCXcmNID;1flhdMSMurI6RZ>(a$OrB`LhW_4#_%X~DgfDmOtoEYz zrd0YC?odFCxns_R)WlW|@vCXynuxaO9OlX7xGH94E^~Ya{d$yEhq!y}Z(u&AT%#?+ zCzdeVOpoYpIoXFk#xr|#8B@aN9y}YiVBo;f_3p0yTbGb!d*=k(^$21IRLe3*!yM6JbJnQmnrNSn)iM$#Gnm%6$ z(XADFsDi!t%d2wfY0VsLZ8K(I$5#}wVlxRo^HZ)rDqr@F;*@lQsuQn&80bCW z?~5$7=m~!~v>E_#>mPxg{;sHnLYhDzMJ1R^(n%8wi}!m5X0OSQICo!oe0nmJpcJG- z`T|Z9#yQVs7$z;i^PO}ADOPlbNL50c859jE>L~;+>j~lc8}s}(>qH$OY6zzXFPj** z+M?8jFAGW4<=h{SZQncmbY`coU2xW%$$OI&5BqR(Yz~=-yJKp~^2LgQ+CXd;5Kj=k zw;Cjc3~)OmQ_l7Cr)o&U0j}7@bM&xPiO@Qqg;peaCH&G~X&ucN!t|#PP#(x~-I-O- z2#18EW*2R~Eu9i9Ok7GO0eQg%dT=B3ft8fsp8RHDRtWk%f3^nBRd}&17{Y*vIF|@I zVc;E*&vhfT;y>7K6X*Zc1yPe(2^m6DX8BM(YS^86{z0A%6$#j~$sVskNGbJkdKUEZ zivvT)TwDKHM9{Di_m|WmXeWYX%O(jT%H-QwpwuA^N$?;iE&oXcW#{-}{O?gP_{}>8 zk_C?r7Y1<3mv#N=0QJK!jI#!CF)=3?TlqV|t;CZCJe{Yx*2Kb~%TFRT?kU>Tw^sF{ zAo#m*SeNm27{kVyR9uXE9>$u}_(*n03j*`*31iD(3k&ctzp#2nU5t4#f(C9 z2ag`4LbY+z zmV=9HrMvc2z9BEHCq{7jm0QXGr!xL&$|K z^z(R^lwn53Ay^^`$?-#4G+;zZ+{$xhC&0sD+7<&&DyHiaZ80R3ubM+pFjrJ_yF;3K z3FFOEVzTBH0KuhS=fgi6~~l}+Zpb?dS4N>Azi4zz}~%G_Md7DRC5#tI=r#d zPrD=uz<)s{IjZB+0jpAPgg}B`NPrzUfg6rd)(z(zQ*1A7S(^s-Vz~PQLl^V|LrEb8 zu8U?K$S}!lt#@@qi3?g-|0W!*;XO6|aqYz+i6L$Oih5M9;O;{ii;h21(q-4H8Z93JrPvsTVvK`&9udm^%apP>)kc1gYQIO!Xqt9I-@19d8*^9_?eYB2zL94pAYq;-?Tj}wtzpHh zez`V;8Kd5a-K6Pq$Z%u~Vg$oc0}hSREOb#2qhLDqF$?h0>zhL~Kp1Nk4RH!v`sE%6 zWsIPM*TYE@wHoAF|I*tGlt2~AGhKx*u@|TT!fsyn>JB=F_$66q+Go6M41Q{GTf>_L z?d$WKV2Y*ahnX;#)Hz!wTE8(7G0o?~wjz)f3MCy0tS^bxdS36}dLh!b^1%hbO>?0hgMu zJ^KffP}E)3NkR+N;UG$%?9I~}fuw7+est50lr1nT9Jk)UO(^1Wc#0-eQ0*ZPSkKi; zTt@OdPv^p?f$loHYM_oG7HBm4#NDRK#1fkR;D$ySBO=A(4)(O92&2vRD8Kf%jPYZp zkf>`o|Nj6>K(xQ{GfgKcwh7Z${>WPkg_YIs%Lw$J)Dt9x0B?6^oXc%$#>w{!v}KV4 zRPTYoj7K3@0>xPp(@r70BgoUpXyd^Hg@?iHqaqbfQJhgMs20qFbf6JDKHitb>WJx` z#p=lJoyF?N?!sb&c=-*ZiR1xnjNSR9 z6L2z(4jQ%HTQ88b$70am1|W62;P>m%(MTl$Cn8=TH4%%flzJ|!FOo$Xyi7Z+K~@!l zu=kjpVY&>t#Iq!r4rHLlI@Sbf(+qp8Z~O!p(#3ZXuO8YX7I|!7n$9q9lg2u}jXN)| z$`xtpn&eL}4f>dUg{qZK715qv8kD*osuuhuR+$>lckUT3bo99pmxU2}I~Xkg*@6v7 zesEw+fB|nlLu+=~<;aL&-Fm0p+jU%$~ z|5=e404|D4jk-Lev@}%sA5gCw4RJ*l;!zWQ0C589q!BOOkrzEHG8r_rycKqepu&K^ z{NZM>gr8Q#^+PD72hbPRK5|ct#@oSz8QZf=_i73ptEQRoM!lIqw%QC8S&?N{tVte# zkv%eu#EB~tbDtI2i-6YkvPVb?Xn?ql=-(x=9A*EyNkYP&!n<#|4z4$+s3w;clPr2G zOmnnNO3Iqh?v0-y1(kqg3I?3}v4x4-`dM2rZt?HEAP5z^4Hj z=>ZeS%GAl+s?=o78gMGg(@vEzNm@IHz%_flzO0G2OUw%-vwS1%XF}%4rY7~>CqxW1 z%1lVy4lPwLZ^E$b4aCtXn2D0O*IZihC^-X2(TUE(5Ru0VN&}L;B!H;)bx2;OBRgWg zhD0|?j4$TJTYyjl4(}AjckC#hN7P%#2rl9c-78)>fF9Xj(DN;DJm@T7Jkr z>5Ihs5?!LO2(tG2aE(tKH_#PeHhcoo0*4iM;U9bgKzL?mDY@&l(i)OEjFD+DJ0$m6 z>GEy5S&cLez*s~r4J;1ru2R7~m}8TEfo{%Vm?BTe%F1yjg+C{vgF-5nAv>6D!z>4W z-2(3rVNH*cHNncVdEFeP=60KmdL`5Q^t5~TC5fWlHAAqw&~1?jWypmW^WM=<@f7Cg zKz!24V%c7#^94eZ1JZHXEAvgsrI(o|=(eG}YqFNVI*5rwHQ?}!05?6V~z3DvRb z26MlF`3U+X1CaFB8u3!tlDaA3U4lwYC@Sd-XW-mPU>3(!;COKEJLlAH16n5Y(+ z7=u@fhsm;k`+Pd{JRz91f| z_Q7r^_yPFx^J$v%R2J&`xWRla`ME6v;jA?RPJ9_P{(+)Nn!%V%|MPn@Kus*oBT?Ce z%Hcv8@~G4&V|rJFu?C4HdrXi%6rcbvg^|ynIh;qy@!D% z3f`{7lLK+m2|payQWgeD8J|ufFqkNBJv&2yOIi2a445!bW+ggOCEJuDoZ&nijPclK zk6>t}H?(kMwcyf>ZL!QFLP2}>=os}&Eu_F_?%2ZzfDp)mohQ<>;-vdak0G#ct95_A zSI87xfN2UIv;&CZ!WCI6!q#H;1PB5vEY}Jf;EWzse-mjx1{Y@z=_P}B7V?@!&S+GH zKZO~@RhHeZuRfIi3b!vav`SG6^hC}Hi)czB_qGK}zhHFkMW*pjfdquc1^VLM@VKOa9<%MKN zg&6aYF_xK|&CA1%In{-ibYKkUrVfim3)Uu92*b*BB&C_aWA`PC1;$6zD4d#W?c_+h z#d<7)eMBMbDe(}~XoZ5`JQ;(+GaXPvAVIv^M&glffPNxbld;F>_oh7H_E3_hH4DFx z-QKYZ%o1#}@o|Aocv7j#@8h)Y0!5CvFs|4!z07ey;)Z-T_EbF9KX%C-ND;1>g6|wn@&xf!Cg95Cj zd5#X_fX?i_yA<=jsVhE^fnFnHAC0q6^QEC^n9b-;sANAIBN!*nDhHMjjd<9s0RG z-)7?gRu~T3Q%X$;=)rAWez`AH0}y%G8if@~TCDH-O+u;*b30%?g5<1??_Ev z(6Df{hd5Z$N~LrMq~SamD*^Ffz@NgFvtZc{&D6nU3JD1R@LHZD3xXUy_RfMU##N&` zM^53&B6L_xx<|_>bzDzSA*D;R(L)@!fQ8`Tc7lt%wQWHG>>1dD5gM^sW<97eLNM<5 z@>XdO<420YEAZG~*^Fq!0;r|(3P}W63tPYObz8(?mg$pVl#U_a=eF6x7raTm2NHQ; z8;WO>9*d{i1;G0pEIBu{#O$7PL)Nlf$*#q6%%>*B*R~g-F&Ev%X$Bw61vCxH0 zuJP;<>JEAB%GezF3~te<7qGBTqDw19;s=JV;+_Xp8&!a}g&i(fHcfq>7ynw?TbR2; zvi6WcrI&J3VbjpGJ};&m;96==&#YqmRlfWUj+H0zK6nMfNdH zZfmm1QhoZ!9zfhXlMo-rEZ;9}KPG`OiubBjES9t7u_nouX-!5}!P)!>a9BM)iaWkL zg;}%o51&G`vda6Q*w#e zNfaUB#SSzpFQtrY7g<->Qrc$w9-49?=PiX!l*t-iKo$w6hDI?aX&H$&DV^6}Aq>`zVs0HP} z*-%4iv6iBuOt!!Sw>aArAYW!>K8f`zIzulO=&g2TGX7OaH>S1aH5Nz1#)3K3+B|41 zF9pH*V0J(wv>bW~E;D^$@298%6Br}pZ|Qx|q^6h7BOli29;+AGAH{S}lGGuKL!oSd zOj5~=?-3AG%8JX9lZx*B%l0#LV&$HO^GDT;C1XYHF$2MLSM+8o)F8kT*z8e#n%U^o zb#v{nfHspG&5_p76$_qR9V7-CW;As~uAWbeGmz?D69-t4QF7oY?tv@1sC{qY&$zz? zVw)8^?J-hyp--uFJmNALKWrU}CiH+DOEq+P$WtwUj4QC&uiavMvCti8avi76O!hW$ z2ZUm2N}nDenKKq&j!8uz1KWi|Hpb58*+-Q5+DV5h)1SD$)6gFO=)GXjp{!9-S{J5d zc2H@xueed{7*8xBuF~TqsyQpfgwY3eg_Y^>?6KC< zCI0BiWKONy0I7ys2-)WOVSQ-}H>*zzxv(L7ub*a7v7l;I_K2nhMP?$#L z=8qlzD*be7m+6lJH!z~om&}f7_Sx!KH|-m`_T7UcnDEqpvp!F3ZSjGo*gjst1wacm zZ&V33!uGPw_TfunkvDZA_3_ez^`%z^(^zInZ?si!lP52d1KGCOIu2zphOD?1ATxU} z_w*0u!LZdBEcKwcP@%8UVBgLB0VMQOteJyRkX+NV%DN@KkkPT1w~^$N%e zX22l1V^xc!;w_N0uRw3$LuQa1H923M7I=6G?4!=WdjC2b71Pt~H@*sOh%G024fCJ8 zEmN#f^g+uU+hA0@GY&A3fY+jF({knoePoRlr9a{zw_uC{q*2ZvxdzC@&%zR0^=TuO z=PW*VO+Mk3RQ7Ck>x$-&xdoQpbQ?!!Z46C#w|&_&S{r)H=PFtL5RF08rBstMRdK8s zp)J!Nkhd)wPIU-99?TWlb1rJOL5q{k3vBbQ;AAiuYGC2gDImD&}kbq?<0!DH}{GPK!vSwmKyAemV-$mmz z9Mek~S`Q5lN_V7xX3JP|bhpC@P2;<~-;k8_Vp0_ho7hLd6jnPFI+EOqXox@NPte9~ zdWt;l{OEfF(M+LZT0#!bccE)K(KJ=om&9*+hBTjHfbJJ%+Qjmb#U!+0bWxFH21#x% zYKvs;78_^pkAqJ7MxC@yN~;^c2>mLo!K8mVX+~7g<|qylXSHzzU|&G!ZQx%Nv7I?2 zj`X3cca39#vqC3g(6$*1>eCaT`m|bc`m|b6DcH-Y7X@4T*04iyD?3@zndp!X;}Jm4 zLkxNH<2_FY&r}*O4nQL{&W9AGZ0OsG;}uwTjR?W*SxB4cb>?u_2p~JkI1K^sKH3POiGKQ}EBegwJeQ+=JLafwf01LWhv zO%3aHvAQPoD631J0<@4`hqxr$LOu|zOe-eHeVynlE8-rU4SGe@duLgYZ;O!#=s>z5 zRbiv3YU~EL?oa_PH?6Zt)|;NlR%fzg_JPkWlcl}Ezznu6>!i?06Wl|!QHsQpJ_=Lw z=@8oB^idW-rt?X}s=k0vo)3P#jQ9g1@@!fV;vsbihfYwvwiQ)7rt5+VZdtGM2(bxu z+7SLbggW37OVRj5wyY`!vp_^?f^*52J>d?zS*ADfVW3P}NqhDc3rTzrvvoK|EB5@s z6)?ew%&Y0@5M9toay}L&R{xyzHye%DSAjJFDuJa|oVeY#;$pN;&v`Ri z$$%Z%@S5o&fGjU{kC%Y$)0mgHrWUcM6NL^Hl(r&^zBrA-uh}>Ngwa{q>#{jerLe&| z>0q{`-x4rUf9k2nbSD@Y1+}IY$)_3r@uu7KksX!kw_o#n1Q3cj=Y@1n21tPO0i4Pv z7E>JtN%CEzHEbcqL1Al>ji854<39I@rDUwIti3wsr5@5;kN{H}fPpEpr6@o_Pqt&S z7n|o9TGi%p^7hPE0y5#OdwCtFMzW#P8+L7ZQti}i@YCzt_%+e_%$iyxfQF%)UTpqH zUpq(n*)>^70I5~7v6bjm_%QbZ-LO7F^(76zcLGg+m6+iVQc|aAQSd4>QS{u;EZB7KVeH z-@w+3u|I*_Q=jOFVf5Tro!2amr9`9IH$X`n#NVF64A zaXl#=Z*e^}Uu$KKZ(cLw1?`kvpeZ~1kW zu-P^1{P=ZpVACjbf~*2r=yRO+$#G(9%KNrYOP2&2TV;EAk?geI2TT1cZAiQ*N(ada ztAr&w!vWwp#gh_UQ>SEs)UFH*#efFzQKJe2xKAcb_4#$OW{_$^tJcKba#5;Br60*~ zB!TTrW-5u0McHPzVHrb+fFz`rJH(lfJ zqA(XS=V+CVBM8Oa_w-4+j6V+2c>I_stPA0sD6n1A>5Vx0Lc}{rXI7Wd~e*TGxX+OVObMZ8+YbsCs;=EYd zop0>UNDC#Uuri^d4Eadz5>n?r_B=)_F!`(cjkOp zt6WW*+@-ZyN}N-=f8DT2OK0&j;Og>Gko5N^x)iLoiaCtLORt~DRl*#;91exEOfWUQ zbpl-_92M2ejMf@gW-0mju4ve^A!r%QQb*4<>xfiv`h@NJ$E2x9E~w!~^7u4GcT9Up zWX0vgG1o|1&BI)_G3*tll`huOR0=r^4sCi%sikZ*u`Ie8s}1ny^0Rc0JgrZV}Fc3__!C*(SoHSIQHj71m&%U zF0iOG4+5LctBN%(D=T~Zyyd*A`jhA7@ZYaSJRnug(4@hhUeNOmSeL5lT+kAWuD$<4gey(tY94O$PmvUEBq^m*jojb zgJfJkPl76$80AB!k0 z2RNSQEqrJ$N9H6O=^6FhEvy96_Ey#x!4mT8bPtBj%#!l@i6@fdWAej{Tm*SEwREmf zOiXNm2p$YUCWnR;*5}J4Ra)jgJl|!(Vog!kCo&VJgsv6|{`xR4T_fnEw^B3{tw0K< ztwa#-%96+?Vu4z{*T4z2WIx`nVKbW0l5Lj)L99!$@~p>xBe@w>OMM_)*;8xNWTh(; znPW5hDyU%cQbsrjlNn)P2JIFr<-3#KMI+~Yft#xh7r6Y#d^(O7$g5rzSf>KU-7Ogf z_iAbz+!8#0^+^>xU*KkiVGFWTu2(Pz)qF@HY7j{lkN90`A5MdDHHv#*`f84aMfLqE zr7mc+FPB&<)0Z>7abjPN3LYcxbcVAfmZa|&CTMq!d|gi93Y)2RIMb&X%*!zsNE!z_ z$p!M#`lPkyS(fW?IBOVir58c1%R$#RZ1t5}?o)7*B7Im-09lpy0`>yo+x{eTG_eNC z?&qC1*a7o!0pIW^sm*}~NVj5d2poV=6ym;MpbVw2QNrvp*{WuDyx@>Hlja31y=-${ zu#+ES@`tejpi^)R5>2%9=RaE?>86UiO#iN$il5Mr!QID3>` z4C(&o$9i%OYDARtwC!><%+%w&E~eGjZN2Yv%y^+y3LX`x(@~DGwN*TPw~}Eom`Fa! zE;k%feqbEbH5jW+nsG3<8Fnqy`QrM;RXPVKKYWo2!a>t?qePY%{nK<3jvo}b!T_@E zS;zBtMYpPKWlmf&qr}HPgm=LU9vv@%hJy@Ag+0xJ)gxSBt*)WYZY9ejbZ1;;@5(D2 z{S)p8cmM7S_kC{*o;ehNIxTf}_Lw!j9p3g`*nliGYdxd`%M;FcS>QOd%lZSI-s!pT zPYU^H%K(PuMzm3UwahjO+y4Fo-FG^TY|l|@+aE+7RB3MxaFEkXnX8gPYo%D-`1xIu zm;58WY7(2%@ViV2uM0mIaJ01&1Bi0o%HHz6*TVN$4@gz?R*jcpddE_A-v7oAcpppx z=UgoM7uXJ|_x|4QcY%Zc(g*ME>v?uqa9!9~ItR*m!5uIjZaBe|H9`8uu@xno2B!VX z^a#+>$2|`*2ctioNQUk#dgy8c1pWD*cc$(nQilPIX4-1AoKNMQh4DQ6L~UD-~m1C9-uC~6C{$4ghV3~QReBW*_* z-$gT(!Lrz0)BX4^)C4AQ=l8oqjak1-w-MNOt2Cn+1_6Ub)%bjv)#T&DxQ@618V;7u zK{^#GxcMLrjM@G1aE_TyIg}Y3%_PAK>@#b#*?3344`!S;@eiG_9N6mDd1rF|x5a2# zv28`JbHZG=zLy1m0LK6L1htV@$W%Sv}@V+c(Y5SRS)&O z-Vf!dsC$ZdXu_bA;$FaA^Z!qPAD`ZA9hgC>Wq21B-FXMX>OsM#T$E6sw1Lm19#6di_EE%FRjCCJIZE5_w)t!W@Mh@o z&Ao;0RWCiPc(y9G6<4>#$BHwBi@jCA(oAmEVlbDY_u&A@$XJOvwU8;aGPZDm)=4ijmOZmMYYZoPbTTU` zr_n$?GfBc8$m~BJh8`owycH*M#>v$1n9}xUKJhs3QOe6n)~&Y$Ga(q>*$Gz~!O^$g zCfAZ**~trV)p+QY@ysUp)CLbal=*Kfu2%@l(aEsxmeR&bgp(hji?|$G6DTL`zh4F* zildA5(fJFDdzf7m*|D+r23r6hWeaa_gR~YLzHp>sk_J7IwjATjc!!dPXtC)=Y1Ycn z5Oy!F8dP$!Xc0DFqIIkfLFY#H`^#gm|Bp#guVJ7Jer{$oHn5ve$&qTD_{1*UMJf#=i7w zr4jJHDkmK>3NT2!x0*9~2W7iE>&@FrjJ+oyJ9_>_Vbv>H5I|Xk$;{gLY=9juVtX*t zs;(tQu}zhIkyY8>DD1~#QdeP%q~~oF4%>D58M>C{#d6yCye%*(reNsXVkTALWWJOh z?!qEFNmW``Wh9Xa1nD7dscJN#YWC*nN@QwZYA#1IB9>p+Vl;Pg)UWV5Om}GuvMMW( zbKN&UhgV`3@v(uzPBpR}7>;4jUc}7%#~=Emd^J0K39d zSqTr*jHDNDTBoyh17LgL!#!%$`oJZ}&hR^EG%T6%Pv)fn^@4A4}YYxvB68t8n~wefp#dXtXV%%|Q2ru|lT~_L{3W zGRkOc8tD$}vnr+rwG>+vXwIZ~fRv;*203J>tdL+;gxMgM7N6WGGxcg86R9`qSt`Vw zI$4wr-Po-roe02D^xh? zJS{4h4Fn=UG%i_H+&t--O0*n{lUzBaqX`0=+KibUS4$6ALQ1uJsmB)(Wcrse4U`?| zadr850eGyO-qdhqp%zPTzX1xR^l7KQAfN{6&?K+5gF+D2(^j7@v`xAdrgG+ZJbz>= znKXH6i+YOUMGloQ{S3UICf1@I#L%k^E|8lt*tI6GovI+a(iBIHX4i&G?G47~HANZb zYn+u~`gath)`h!Zb7SD`d?L!VQhG>y2rK9Hi4L+#v`ez}?dz*@Ics6-npz3#HxCAv zwlz7sot5wtKZ}M9Ha18$_GRPs<&kp4*apckR~lWCXJT3lQ!Xq**q)RD7a6wGxgPuM z#gpI(jCOiXkoQeSQOqRwJWx4%;vJFdWj2@O^@uoQ@>oiBJJR~>9h=dylEk~?19{&v zA(?0jC1O9+${+~J4nPnu`E)8H&E^>h6z$9Kvfnp@0Pp<%{K6mKqDBW39cb|RL!Gd$;{k|0w#2!3gbVlzj93Mj`uor*_%fOuzm|^fdn^a<;RAqm8A%#*bCC{(o{pTXD?Jr_ckD>mRkEX=NWQQQm>5S zu+3MQ)JtaA$uLWD*|4;*6j_tV%w;s4h@8CT`q-p*ehJG7e8?0WBdJ*&b+J~}HI%bv z9V1%3KxBbjx`DPe14lpfjuQ9)n`0EK<|WFSlJ$64b7@~k4$ZX8+RIp&y~PIj(#~m_ z>nMS;#!IBk?o!t{|Yi)Qbg-l+oZ7>zO$eZ{?k z?DuJ<)M#yJcRf?mXL6OqTV&Q^`TUd~B5`<1 z;LCO-5Z|AY#-}79C8jMp_2gwunmI9r@27OQBhpDs)2o=J&S+&$n((5O0fQ%1tGSZ~?W?A!=l5>xskH?J&q!XkoZeRLpozl) zzZsM?4QBCrHo9-`wrU4$^G!Zk)W39=@(QR8p76?QwNxfh){W_V9W0U+qbE?!q$bX{ zg6Jew;7oIBj$aTD5>|m?VKFJuxg> zQ{1KR($Y<99_%;CDL6UnzH=;uW?O6a|2RNS{p2)cVI338B3nz5snZuAxlek~MwxVE zS!HcS%~KOLz8nTvSr5EHF8#=WU&lEOD&#C(yzD_%hWup0n z&$sg(O;hNG((a_O^~8}YrI));)9o6T*w4hAAZLwpgIqMEX%3#&O&7?eb=nS@Bmu=) zRXEtb9>gpElvE}oSW_*++CDkwc1$^XAy-RZ0nQ)a0he!2ct4y+D5Ps#5atXug}g0^ zx5*azHBOh#vg89G3D2zob#D*tu`t&)bDBfL@$3OyP;DEsUjB8<~XO zM_zLj4`?HPX#+k(s+hCiifsBTvD~0kXHmiPW3$ttZ8=$%&_S7g+2ebmJOD7=A{w$*_mJUBVd63*0VBMO%2({C>rs1|0n*;=_wcmjH zG}liLz}(w(3Au49XL?ZH+p_FtA|xt%cWg^;2!f){h?!S&g$|eVLVn&Ni-cUtY^tXk zxa^ODKH|!5T&hKv-lpY~1oleadcADOWNR|^v`Bkz#r1v~V0oQqz2nNhBvaj78zi%I z{nFc{@5gencNDgkCZYrt2&eX#K`i<4=?ls%jVVz}qR-I}#qamAbfYT|0 z>Zo#aBfut3s+r5S(++BKX{>8%Nx0u9`}V*NY26;yewFhrk+#^;9e?)jk~83a#T}uX z^h6DF>!7nE6j+I-k4&37SRu|rrFaCquFyE?<}&ow+vQeF*d zY4a@6_r&H`Y1UGj;2PxRsiuJjlin#zT z*j(^F$pa@njV(0bgI&E)l4GkY;DC(fo0160+OKTQi9RN|$bi2FQ_HHiP_Sh@lhz zG(ytGXxDrlE2NlLTAk65>w{B(^EOvNFT>PHp?er*QRK0trJsPwXkBD-UOPLoY)j&# z)D^;LqaHjHNNU^wonyLI-05gr5i0;}$bWiIEz67!rxA5O3}fRg)*aKP6DRV7VU3+N z3Jv(RN8k`IDTe&1dSFF51uTcQpL}<(rQR@}S?PE5$i4Qr4hU@?&d2@+WVTEINHHHE zC;NMc+$f`4)%xoaWU3yzh&w=fx<#EakM+-q0712TYG1c_$Tm0)sVRK{{CW~u8gQ90 z!)*8QP2Zj%c^+2Q)Te0{WoVAidGO9{dUgp}lhbIN%d}+r?qp34C=UZi3nUZ-14&k| zkQ|PsXKT6o$0Cpjf%Qy3Is0J=$-b$OG~+}U@9G}1V~#haLV7&QJn|b>U~A9Gi^T?U zkFCc zD~}D+_s>6|wq}*rtk2Z_FOpgOt+I&2RcKvDOUT7oMdAAN;TdvccQc?&nXuwd*jxtM zqr{%coV?JV{p<wW99seE_98&Sq(w6G(4>J$so#s?J{)^uB|Yau`_$OG7w@a~rrdXT=DVgj%nsQ;PjtjS^=o!V z>=#ftRy6eCLNgH zZxv>(gZ0>OHT&Uq(0!|CXFi+tgEXzJEiN<1`}L|G^qJT=+ZG+D-9cZk>StK!19IDH z_>&2CMS7a9=??p;V32vwr+yCjz~X-jNqDwCoY)u3~x%LTM{GjuXtTFwKwU2m&st3#Xj-O7|pvlFiMISDa|W&lo6Pd(?DZ3vXb&h@GuvPPz(a z!72x*eW(8L_za~|9sNPo^ZjpZ%`+aIOx@NzywrKoCDHHjRA7hH^zM|EIb=^NGk`fb zkhkoOV|oKsO$4)#NrhE6+WPN1nEi$<%LaqZJ^6jx zfvU}%gRmN3Uz^p!V{*XLTFwyk!_-n2HhcA9gTqK+B}G21I(uVTpj5~nZ9VOEcE{>t zeaO$lqq#}&4RqP;>WP;~C%gIhBj_B2kmzYBoF;ub*BmWTQEM@vv5d)akMc?oX_S_U z4GY?4K=&L$_2nQBKEu3X=wqYM)Y1kC%*))%{q&y^;k!z_A)kXAIRc?-TU*?$EDg_Y z@K&%@VdW z^xP5JksvZ`B5&UfXq~*rswDCVF<735dNBz$$b;+n90nSG7SA5`pH616U11TENOc;7 zb{@~5|H;i<*qHA-7(!6idoz9IM>Ir+DMOKVrRB^{3f>ltXkK3Srz~0qY6M87JnPcU zuke=4Q-%@DNqvAdnK ztvdF~7M$le)AL+T8(2e!69=^5RN%f%yP7-=TLoZu-=c7J z%5vFNR%HAblM z&8AVg8Uo5O2eBm=%;_g86W|2;iVR79VSVNXdQ6k~50LuvcPHktYMaISV|3+|SE9>B z7tl?(EubB%A?A0;+*1RZSvCmeCZ9m(6qp?p#Nu#0UQZIW=9rsm9=P*4yo|@8erSH2L)I(4xcMCHyYl0^*KuNu*3UfG2ZCFaENtz9e3yb zS!vMCo?HIM{kHYqIWgyR?Cag`SMTq3zxunk^E%1?PWAh|fGd$L{@kzog(ywzqV|gq zLE|&bDF4OBc?{NFxL@COoORF}i+!!9&T*4(vOkXH{)HF4zl+@ZZ|ku`8%KafZ$8&! z1xn1Ke0<`C6Ji~8?exvZ_w~+rIlx`$nOHGDU?b301Th> zl4-q6h2Jpi^!vLn+^%oTcwt+m!U@PH{b1c+;LL+~I>&=Qwcb^)+t+i{DGzWOe>b@H zUDk_#>BS08>BaARYxluKt$5OlCpr*3Gac~+H__>QzgnJO??d#zQg%9B&+(;4EO1({ z)AZ8MvFTwKI^Fb~%XdX@s_B*Imvc0^6;^v;z7MeOqrAM_#|C%%u9Abdd%MfQ_1-qQ zf5G3EUb3wBp@+S2U4M!1VAUHx*z~I-{&s$Ueji_QVa9WpGq(6U-)L}~Ts`8CHTYmK zbR2x%+b(C$bb62<7db88_2s>{<2%~nZgO>7?i{>)AWp?Hpd1)tgUr({ngtD<&6y=`TLW3;_3SSIByxzwCDT`{TP8JcDo&cY1^{@=g5;qQWHy}$E!Ilv5mY&puK1rGRg-n*SY&*%Lg)}s=^mhhkFJ-{9D zEcNJyr2nn2$^JMBIDO-JKku1d{_A<|AFdbNuY?nSUf?qQxc;%vZ|{0Z{awEce&FNCo4xZ5eU2;s^m>xJyU{a5>UZ|A@>Vn)&rKdWKiCyp;G-}cO5 zf0uWp@ppsU_IH7!8s<$2zs{@SZs+yV>EDE3=Vhq`zVrI;FZ@r#-R@T^C0sV&{`SLq zH@q-%S?YTqxAQt5Y_#Sl{?vLmI4cw9v-##%oPAZ;qd$K8F##8WF<0F$KHk>zG5>fU z`n$JtFuYJ0zx=U3ra-~6`1wAz{ax-&8r{@V|7kRL}pALQWi-gdcl`>x0% z8|%*R*Yj?C{DMD`GbM+UJvi_0Kd<*87iK))<-&U2FFv`zX?}mf^N~Lv=%B%+`0GA| z|4lQV-}7=3IBmZwgNN|6aVP?_T|}KhCkOH@>Ul zzuW%K-`(-|KjP&YhaGU7UH%nMUg7TXRkhyL@A&=Q8@+7j*zkA$?(Mw)^&DFq@pz6y zT=H_><|lL?=e@vP&U=r;{=e;Si~C*ha*xw}uXj7gJ-({olz;bnj{gMr<#$}+w)ocZ z90xz^mD_(x@FXi$>9xZs$ z@xkMLe8ttqdY(=GcDM`Q-Qr9;Ut{X*M?C6#y#xN3IKHp9(Mvl=%P;XysoELOUwJL+ z96EnvyN`~)|0)MnyzD9mukp7BE`R$Y{@>tqyytLl`RISS>~D)7?Q}KPTm3JW@8079 z3Qqf9Zg9%af5XcLcR9xvPr0r4pZ0f%gB{oVAK-L+>xk#wuW~-`mw)KTcQ0^T{Nr+t z%};YV$31SK;8Z-|_T3Hcf|tABXNBA12A6YeewxcUws^&5e_MRvwmCe_X+7e!rd9v)kD2_rB;6U;KIbuIBg0^B(-q+x}Q^`^_g``{T=x zKA+>ukFNHo{OD&p^uVt+{Bda1fuC;sYjB!h9q=dL-T2z^e!t?*>v~`EV>$0NKCSkr z{pgqbz5B=2dLMjphTHh$j+a{hIrz~p_jdP>tM4kf+x|BGcZ?(cD}ZeLSH1(l2f%Yg z^j`^y258#pJB6G*PHAG=^mbi3#!ed`lgNK0lS$85Zyb*Koi%@0@roY3;yEsVTJeS+ zc3`9q@Lf^$uaF`Or~Q%|w}sOG725XXuHUireE!=@s!TIep*({uYdYR;ri28>S+kK@jJ8WL_N0^w>{og)OfrAidGl!HTPZ3B%LvA zPS8@Ogr=9>tK)Jts=LEM;Cutt_ zlW@T)5+}9(qDQEA&V!%*z8QU(>s_l)-_fJ)`U(is0r!yHDOF+t#6RVPV}|eN+5vwS z7au--y+Q}$i<2t8)94O+ynfot_{Y&$;mQE^!(8#GSG)qkmSi`&wC7N%Pe-=1Fs1xp zd(7Ss>@VSdusvB3_VL?i^vVFXPv7v!VM6%ykA&=hrGkzf7|IVZ{6CzUla1Me>$|4s zhqm`7pPaP4W0urObv>3R9RRO;Y+7?4M|T8d;>)9Q^XdUJmo6_pB?5 zCKc)~J`^6?9;-RgeLGAO!@+*1R{hX>mQOc%9q+}O z13jAta63!`bjLOv%N2_Fu;q|e-6W|s{8 z_}^tnV~@6&AIk8);`L^>Q=ch(|MZwl=cg6m z9X%PZwOI3mk+PGUVd8H1t_+n9s41i{g?i4P#)_6K+}9thdH?j4DD6ebwH(!%36Dc^m1Edt*`sKrSo6Cq?T5Tx z0jbUulTP02$wJ!Y^@S+@mrqkwh|%v1KwaS`70zy)gBZT8sAb{xX0$B462(yi5VogQ zY&<-qpXm9L3JaNSQsG7vUjk_b6se%%g{Ql|^KgamFOItclAD3ypMuECsWpGx8EIh4 z+5ghg%9PRoZ6T972~D25GGZ>D#(#NwNw4%6LOy3-I>o zyZ`b36;K?$#gtuME5H`h42J-O2GoAs+hMj9uVkk8ctiL-Ks%Q_p4_v?n$ZK`x!Ce? z&z`gRRzQjFC3nA>8{o0N^gn%?g-MSywHzEnKLF1qQNxdGPrW5HAcLQrLHBcy3h-Pl z_8CN0fOm)Qg2%7G;*S+CMDbr%9Dvur;{OcT_t;#>zTB$_2B0{6-)WE6Q)?68{^_e{ zcut5rG5cd?-)H94oDz2kv7K`sf5@2?@I%flfSb@frVE~;d&hjilTB0mFS`qMfLc%vRI6|U&nnEj0?wuGwNUEhOt`qP@(pAo)u z+;es0!ymJ`m$8i%HM2h>{42?3xx&L9&qVPRv{Qf^55EC!IUnbnIRx#_^ms{$Io-_0 zNN+cDPrT48{$!+mkK3njSGZ-7T$#NRA6GG~JxJ$jx`V&xT;BK@FZ{9Mxxn#%S+Pa; z;;}^e6Y%os-7$1oafGj``>1MqRy3Buitoc5R=j@t>S|JeTb%3m>3if%14?Mf9dqYb zK<#R}o?0E|zDM=x>lNN(aSE`7U1IsLG#lU+`?#&RgwW#AzI zaryLtRzS^2kNpx(tocS18afj_#+uJ7?l%LAm!(rl%uv(*STB&? za{TwxC*uO?`A7;_&tp}*fa{<(4M%EEh2s@f)Lwu24EVL+j~!kBKM(!6M++?XyAS`w zKhOCv1~<&#s>#EU>Sg{G+&_fCSvW}nVn?8n5iVF(OnA3LpBI5sxcAR{|G&Ip0j2i^O>KCV4yuE>vZ!YUC7Qy94H{Lwn%gqdpI zaK&mfT|8~*6L5}`J$uB{;so)mKOMY_%+Pqy6Cz%)hotx?|FKbv^uNDU5)dVrL7W& z*{AgG5hgmlUf`q|p9WXWrq!)W*roP~<2L>=FA%qr{67UNGRPaH0S;%zL8Isme{8`O z8Vd>x1%L_s3IJC0*qC_4-htiXb+L{I*tPg{1b(theKZy@#WAf7Fhd6e{y8h_pDGS3 zDKrtcYbm(iF~%B@2Ie+a3LGSj^}LTv;$e9jn+Um-^EeJL%x?qb1?L7k$WR-}sl5k1 zr#`QY1BQd45$`JiL-trA`JQx+JrR0P8mFs)n3KVI0-liNd{%L&a-6dpg?@l^oOKP@ z3`m#RNFZBD-v9gr43w0wHYbEIP|8jj)U(e~@Z{kKiT2o&EB z)9{&o(V7?T@-GohdP^^4O`PKkZMjo>Vpfx=EVw$HU_A004{RxkAk=Ih22+y-$>ZiX zNVbVfrFU54qlAWMA~*zy4le{cqiq^05Q5*2g9GC^xMax%s?4m#f!N{9_as8#x%2=6 z9!I2m(t6GrH+;2FX`GV;CcJ;}W80l>jtha7*uDhc=NRTvZ1dyMznWNU)gWt-+;53%XN1MwuuL$D8akaUDJteLN-hi*6l9n6B^ z3NMETqw|r&$m3tdk`PWqwD3q^0`kzvZVU%{a|m$yv-pYkqktTbj-?G?(4lcz4u&tB z0UXG&xaa(EPb_Cy&Q=zt$f?(yZ;JIF<^Y`$D!flkXz-1PEGGhBpU4;c7Qa@Frqmr0tOmnF?@8uCpBz0 z#-nU%N2IuTX0VsXc{>>xmGJ}p# zMTC_kk|;0)T#2{@kvyQ(FKAvEFnk`1F-Cw?f>w^YhT>ty1|0c1M7t#@y$>;x7XIbq z3IT83J{Z8=IZn`c|qlcn?)LBruBimv{l}9Z5;; z27|7F*^lct z6egez2o*e)LDx_**e4a*j!*!8lJNoR8$+ERHM}%fWc7J2c=z&N3ts?(ug_kCGzaQ$fKrJu58>31Q6QdPcj9Q&I7)}MDs7g? z(Lo}nA{%**86OJ_m43WpfW&o zB}x^?3|X3nw1Ys?cmeSU=*dS(VmsjaY06ocKKAhG)i?(4cMQ(k-8fziCK%;bY@yv? zT1C&iqO!|D6O}v?mb5}oW}{NDhQjpAJxPOl38K`-emWJr6SBV3%W$RPN|v zf~`gkR1o*5q!b*mkpz!4XTamyj7NxJUwhBD1u)Qwgnd!uIWn=5Y#OG(`e_`AwqIcP zdjouvejiH!rXb!0KFSsG6HC6yHm)(^;pdP~fQhQ6g-wkWAwIw_f;Fc-f~1+R?ATBm zhhcxXdN_>GdmEGWk0jI9cS4g|(ZFJZ`YEUOG*0l~%DzYH5dkJ&!Bd3d!tyTX!vPRi zNDUdb1#bpu^p2@PrxlsEV<5OIJtn}CkLjddflFo(675iWBcdVLYoxs^Mmj%$5Znpu z)5;_jH)_??9?3Uoez3715Frltc%q)j37K>RiX#L#!0#W)3?FtRnb%k5MsI0#n#@LM zR0=vI*;F}TlFuuXH(MFs(bvqUOT==F8WicX3%v;f*d5QEsl-5alEF3LAh;fLI1UhG zn4|&e^bcDEQ7QDV@;R@_?=p}S#vUQVkIxILbf8PX4nSxRekdNeGG2)xn}U4@BFy4T zp4Rm=oaaq=II`qD9&7=A_E(7YXTQX>Szz_o0^mBZi%Wff(}%kn9)w zQG5Y?eau{Od*R$P$FZ+qVLaBy?KR2`I$)r4l-Cv^^4R*O1KMX4z{2jCofZpJVH>}F zp&hU~L65{m!f1{^S>nG6&x0A>sQ-Qcu_4n(Qri0ss# z%n2|EAmsKAm^dY&P@t7%MKA#mE0fOq*X;Bp73!vVR0M>M%NRleJ20coWMeCk;e7_2 zr6nJuZ)^qHY{`@N3}&3A_sWXcfZ-&JiWiY`a{jc(28ip~_c*V}WKCHyhkZo|H&_FVPA!W>R;qTlj1lPlF~8K5lL2y0ByhGnG38N2(I@6Ff4xvR$F4so);3 z8O@JeCEO@C1MHCh7&>`D=#QC8$v`_)dbJwr`Y;WeWU%5mJ{?AG2DVY$4+Cu?Ru4X7 z;sBH@^kmyGdTRD3z;}-u;Ch%wJuC;?4r7H0fDII~XA3zNsU3Dlknq;LK!QcL5orQR z8|(l{?JnfhTaL12q%&R|kTixEXN@l?*f7x6KA&@8VU|Eb$8mm?t1DQQzU?H^Gr_j!T7%>+4oYNaDTOr$#OwI?$o02GH4`2#)3@^}X6(!9qbmpo-WB;eN_))XZb zoAgGKVG?Xhx=W6}!q*~UUI+{~Sik-t9%pMv5^SIyxJN6vX@Kk!Szy8X(Sr4ALg4G3 zBQZf+NAu;?QyG}y`EaF2i-?Y>l*OORbUb_ql_8Mgrlh_O3xHm^ z_v_$)wc7kZN??Xx&y;oJak@W-KlzHO3i|eSdNLxT5A=>_bAoK|$R%@xoKLi@sZO*C zt6BUhVFij|IWELYeI9X%@`#}sCdrRqAi-0-7!U&4TwV>*R)0cggOt+O4W0E5au`yP z$aal=vctTLH1SEAJWqfOet4Nv1GdC4benww6`QH=L&bDZmgw8y$MhaK?RPPL7}wYLmFSVe|pb*3ZX*Zk=fM%Z+;pH?`yVkv1vu zaj2a(JGUMu(TxZu_86q)&w=+tg%73elE*2M;}F2Az&wtCB3C`Gc?X2v3C00)K3Gla zKnM$OOj#fctBl9NZK(&y6-DjFAt-kgIrArONIX*x(Q4bofy8bGV<-bfEd*E!*(13o z?85B8xkd<()ZvE1l5WsQpBXuEfSHAr;_!kx*kgHG^9d_DN8fSHbq_15P$l&_u-lrZ zP-W-Y;#-EgT}owQLS*?D3{KPPm?{Ta50?S6#v+4?u1W-uZJ@wZ|B;TAG^j>IbzL&x zM5csTe=Zq3Ltxp2ZAq2vK*ucquWZQ<{oo!~MolXQsl#ejLOeJ%>M}10Iuef*%qey| zF19ZjL5+UeB!m2=&*_SM%l+I;mFtbB25t0G_|RTt8MFZdq_aUHDAMOhh9)LY76WJ? zsL~K0crX*MhDI-}t!e3z4w7!eX z%LWm<6XddHgS7eh_4hodujBS@VbqOkJt65z{zs~hB(1-vV=#sR6S#PnsY!TRR1lP@ zC3||d_v+&r9G#IPO*AjAc zxtbPeakQPPWNzTmLr~Gp8cvJS;Z(EB|6x&Kh0sg$anU*0X)_(}xbb7K(_}n2sER>& zoRv~7M{&i}U$BUn7D%Se2Zj4N7O&K*LXnJ8w|80KVcKK;Pp z6i!63Pk+bb`g4_@dmsyIif27$GR_S$GaJK!1xikrgeV~OBO$9yp3Lb6_sM=MFxz52?31Q_V45?S2UB4x%Vd4?EI77Pf4tNE z(GkmH48l;WOrRN$j@cUv<|#VGz|7#0sU8B+jhZNOlR)BqLZOc70NEcMM7os(-3ZB? zj2Vv(48YZe?!-R}a)B`oq!s_rT@G*7NT#0yH&1Ovf={_aZqJiOD?=}m-M~;9%wKnS zN*xj=Qj3-HPi#+~;kl4UU|XJN6H0=L0%e(5r+oWM~uuO)DND15F%OjR-!$CM1ixeZ7)TJu;3y%*?Q`hBWM*1<_kh zkmB^qxheGXypG^-HQ(m>S@~_Aw*;oQw}bo}G!`qZtvcDmHixN-ThdEkI$2Dx3u46* zx70n(oQ<5noG&lekgR%^^xY(g`yfm-YpgiKuJvmgNG_n9I;Rl}Ipu+v{IEYu#m!l^_dD{a=TqFJ za)~_R5C>jI4V`3@wD&0Rz_n#Fhze*Jsn zES4H@V=p((!4)Elou(udu%^Mp-;ec$oLQ1##51vkPsvE`&XE?%OOo;^k<4g$+1hlI z{CxW+`F>@7e~%i;XE8?!MRdc(aq6!Qubc=1n&jf0<*Ndh|K`VblJhkiURjf1O%rQ} z&(~3ZjVP_6puvd+F@ zoR1+1tWza(By?9*9hkD{c|jKrFDZ5~@TX`aSc_p1wYC71QC+NFfLcV2V_fDcq5(K} zMN|=h;wtrLQ)l^2khe)e0#qh30dmzW&p81^DewuY$3IRg5by|C4j|h7RIU0SovWh+ zo3o-yg1@&ni_d8~ydD{49C? zyn>0venf@K(ugmH?J;PDqr6V8^_yg-<8<;lTqFUaiRzO#-%2om(B*D^Wz$Nf(CSr` zaz~sPcM;t{_2PpS(i(SAJ;9-no1Lj&6s3rY@(qy!R*g4e?&o^hQzFe3RI#u54@J#V z;dzR345Ok=tf>4x{_FRthLiuGSFT%7LH^Yxj3-M4ofl0e>Oakb3RJ6K4odiFKgA0G z%f3kJ@~e#(G=?gMTTu4E%O~MfM;;&M30i>|z;#TB2?*YK!cNSC;O}*wf!=;Tszy`Y z>qENe6BhKp1*mS4KPYKZF(p%yW3`NOxbT$fWunlOfe(@s`PHYFL-K>j!F6+cvuc*S`_{Wr-^;%JkEfPoAx`>5WNnBo;n zlE0v;ujc2N%Iy_xm#s2IQ(?}yFvu0iUpzXBv?$yj8UtCsPUwVqv2Sb4niM@-t3`F> z*PH3RP&#R%xlQje(@2_W-P3(cm`eO1DP!_-mnA9QpE$ho*y^t%S-nzs%YWtNezY#J z=34S7-@!H_JD`#nZmsy2f+!RNYODq@D^r>3S=3=_uWJu@OUK+|vzvktMTWD}%2kq@ z;q~is$V7Yee#VgH-mNZmc0h6Hlm5DxSaPq}chObyMo?lOP6hGnm>+xZBe`y!a~G}i zho~xi@p?(G&HF)q;Px~;-;@oN?QgV{qn0DADoF^0OU3Ne(nnb) zui96?)I|;aOj!bcV)>RsmT!w-wkMRvtGmO#d6O+bIK9o6cU`7?6 z)_u?y5`f7lgN9le_nVN2S#^GypdJjPSRs{flYc0lrIujI96YrHBEAe;P^Y5GlCFaj zA2*P<({ZEbBTHSDwHCfOUTOlb;NGgHeF0FxmI=+sTwkA^*mG1g^0y?O4C)8eTFyhu z$**yXmO_&y(!dF+N?9j!rSbb)cFV@7uyQC9U$c zG=$hDooM;;+Z}8gXe6y&kpob>;%o`@#smw>s)?2pDau7|2H%!2+_jWh$x$d2mE*Ex ztCADp0&1NvQF$P7nzHf4KirI!0%U+v1EkZoZ`4SW7Rq7m1r`>i@yRNv33yrCK}z}o zPs;Z$_bpQ1sv(iDtj9XYPX)2eLH1kjYIbhFZ=wOj2d5r?`Q?SGKe;;Yyz{P9asg?L z3y-}#hAv<3JP9{h@kLM|mId$rEct$P6gL%*-IpaRwjp@HQs=#hns&DN;s=Mgf+G-* zz;k}nsi2G@-&wLS7jef9DZew(5`MIjacAQVOy)?|8zdZH5h2zFA|zM!%EY)|9u zW*sWr&EDPsqHVN8TkMzcR1bfwLx5|<9hHoZBb4^TOr0|(%35R zP!?0f<_pG=pr3yLQsOCAK+o0Q!V(qD{*R>$+5Gr$+jJ`1NOKP?mnTYY@g34RVrs{Q z!T`V{w;>N3remE=dnZ%A^_s7kU=;;?krnL#A(C5JREK-hfb!`a0&PxX8RMew+bk^v zH$nQ4jHuc>5ztsNy95>iM|yFd-%3TO)A@ei0NH*hg!rF1Zu1H=<2-!dmJDNy91kBC z%7eUTRHP-`D?nyiRo9q&6%fASRuz;ua1oHC+#x7VMEL@iHnm8(7crB$4j`C3dE#9^ z6iiJ@fa1!rWY9^nUzKrr(Ly#yT5Dl5@Y0pNkhelywB%G)4l=Ew>X@(Gc_MYI@Im|( zd3E(Iq%>NzQl+@gY=TS*VP=&B*o{o_l#WZBNc>VgzXh_aLNV$>ZmGXcoi(ypGXa38 z&H=JQ+1B_%yc9>JSJH8{TD4|3wm-qh@{~%5n?c?*3>_tkvD$e^yv{+qu&1Df_kmx^ zy1rVqZY20nAHpwH9+p0F(aA$%dm`(K{7^G}M#XKVzGChLSTIVys_N7X4I7n!dd^7P z*6`@bM1_%9n{nR@F@><3!f7FQ}$d1we1 zaqD$lrE#sxCSV=Z6HYpZrkKp8HcZto1^)fYjaKqra&4FcX|Jx>b4&o`!CKk-NRutl zNymIKA4{Pp<5L|7aKMXk-?sBWG)e4pIcraqaHg6n5Doaw0TWhR63j-zmZ2rdhc8me ztiX4W%=YYPGphaOJqBMunlEj4i1@s`iuyb(y)KrOsN~e`UJ!&Q;G*+wih=VhLta@< zkl%JMy!JXw7NdnSk{HH34^#*w5H5DkWX59iW^-@@{=TnIfw9=L@-e1MUi*f-7HKRT zAJmv)@EpgRaWfDauiUJOV}L*y#GxSz_c?t0 zd1z(=QMG?A{`}^@Ik}f&Una9PHveslDZIzM#T1;F*#EZgL#_bPH(6N)oa`s%0C|o(ze;H+Oq6_WeRd(LCDt^VsiG8m5VArt!Z7g! z7O9~VwM~Wusxk4s`uM8O0ddb%gP21_9L?`kyUtWz>!)M_EP~d&Y0_DYV_D|8RIp;? zvci=RofvedQMU+Y+06|galPWyUaf8{cHLLGsgRU-KlW90hxl@<`lb&Au--=bBDPf{ z8J=Q77$3?LMc{c0PC@aQxPUX}62PX|9_lN|D&^=I@F2^F1hROx2T@Jq@&pFFR?u`y z{mP4wi}i#-HgcBJQ%ENImE)whrYcWWtmD>v9Bq|_bCzvTWe1mLD`Uyj)`(BOBsWbw zSW=sZ*l9*rry%xBO07SlG#>4m(tU|`m6R>4PjwMVAh;P6ryw_tvW>a4kvz(x(}ZRb z8VjZKu}^2|P@*`o;{R3CFY>HX7-)_muvanI(^WP@Cj@`uUG@`M1i~qY zO&NDDkwu!1;p$|IELM=Y-7Hs*GZD^om4zd__tA zywS>Q~W;acs=q2;xhqplA!>}hp0S{m=W$GIzOwlA4ENseuc_8 z69rP4hNu-F##8j1z(@3L$b8ShVaM<&5!<2)V_#Pur9#H*c|VAWiGOnum1`k;zV6KP z)Sl~#W$gO8GS5@@5gkumEKjHn4HGeA&q1k0Vs)lvFV9u&a62y1I07rY!J=W?GpZap z<@Y##AKb5;--q%Ad>xB*8B{K)oAl(tu!W+Gyd~V^ZR%RJfhtm*VSa3#M!;U)H@IUx zG*-!apF>rOy_9;tiAEKT^(so9h!mq-%Wc#GTO4)C{gs)5+@vaBbyglNuMby+y9obj z7GbM;le;W71ru<}RMq^{Zkh1x%CSVvayDgI>^iEtA9!dK&CBjw<~l{?VY|)sJ8D%? zWn{gLTI8;ymX;{JNM_8V!M?C|i`RgJP*;)>S*WJ9RpT+B_QSt6R>SxT@ve(65&(lk&TLmhD#Y@%C8|-cVOT zAlcZK6>{({K({ z)Gr3c4Ba~j?L4j_jE~tYUK-!XBlkGsFb&HAZd#ZFD}hs(tBMj!?N7O;hmuZ~p{z%v zB{O0vwyXJ7(4cq(Z6Cq9GS}!VT1kizCXaX%{eIRa3T8?SL5eCaCU>DgG__S3&qU?j z4r&|2R|RwMG`XXuAs?u%oEGtHlE2x}I4u1kjqq?&g=l6Gd;w$&hkXwFn_RLNg#aZ< zU6H93rH~Z3Zc|7~S~`b~6xxAuQ>#A%6P=1PI+_eT{LrHG8|Bvh;!qNs^6mjKllNA3 zfs0QYG?kTB+K!+yUc<#Yb})j^;y5Hj0)cR|jxh`Sr1ELZh)xP>oqz3kxdgK2Ze^4z zlvnlpzUWXAnMN=Y#kF{O& zCVJ|;RkT1}hih>Y%_?f0NH3!A&-#w~{jBYo{XX8`XO>`e)+~ULUVRh{PC#?BBk?9$ zRn+^Js2CdIwytl{eO+--3ncNPC$xbEbEQN?Z#~F~IIB)gG>glu{U)IJP?Z( z35f9u!&XZwO0>Hd%g(WEvg8kK0{C!IEzQ{kWYnYpjSja6toF5@qtMAd5o1@MT*_?*|^96>m(U#~g=pDn=XAmAgK{rN1|`)P~9 z1hh@a{47ZMo{DQCw3^G@KMNQlR5lBK$i0W-q1jxy-rcfMUV~UK;)=JZngo%M;3-Nl zKWIH{^v5lrQUxP9-9&8#il+K5qVL7B8=Ewee=HV_8lY~Hvre`DYpxnSWHxoFERx!# z0XXRjyr&0)UpZ|LGx~hzF*-o<8mT@-w)g`pHc!RbJy%ZPo{Ly+x$-RsA1GuNGxnN; zS2VA7#*3D(hk#uh4(kcY8k$*0CR6fIm7NC$ut3{8Z&v{ZA2|s>jGKTKqP+jZxRg0l zW85y|?${ryrW&BMf3Db{%9<)%qVYbFv@UrqLs@<9$FSbfc7>-*Ebwe)05+=FTsgmH zt9?(j_fPAJJeiA7x;F0q92=}qyJI*d{y8>HjOp}RFNgsP&6EN(w(xq*<#JjgGe?CX ziHZ%bqusHrU|={A9Rc*b45LounzMa~g7wVQUEV}hA;~J-MCSwuAKPt^&&uI70nvX8 z9z<{vs~Ognm-Z&J)+zT3FKRY1uDrJHZl;j9J7dKYoJhIfM8BgRqR#}rpLI+?v?;KW zKnB0rCHGnoj|K+CR9jlN5wwY;00wJEJWoK8)%;=zM*QN4fq9FP4`N`TcHg3uT@ccJ znshPK0AhL<1uaMSymAxmDvBq35!DGK@=VoW{?RwJOmza?6NM_b75Hw!wgOtuh_Tuf z6GSqH2g;cx1Qk3Q7<9m2McOj0Z=Ky5;M*Ojh06XI!~Z{W@+eYB{P0 zJjSIyWsdvFgjR@s*O&6Rh)!H6rhnl(dG!M|BIR$0-XwHWTDxT+Qal)v)Mopbj$ii5H7sQK2^J(p>JlA7f;5Y01ez0d^wG{fV*!kVCXB$RL z)|yUSdL|Ey*f!q;;gK`0u`ypcEsNvAX@iy;Mg|0iSQjlUK(!^WTYcZn+`;+d<`UDf zyy>`_@XoER;CX?f(kjac*E;{&3OT{AV^(2_7;tI1URil3$1%$=Cx0O}xhs;I%H#V z7-**s@{DB9BP-T1WH#ilU*X>&+Fv~D%z!Q^eiO}#Ng`CFKSXMRW!YXu#To)tQO+L5cW-2qmfldPGYMp}z|TuF&et;z`OetbrJzxIk<; zME@C=MwylrmZN6$rej=iVBtEh7}=DZmv|d@Lv4ya17%)Ekm!rr+|Zz2t6N(c0l+UB zbZ7-qwH8v72Riw1)e1v1Rm(6ahCeBT=&6{7!V@j1Z9^$brDo;PcYqA%!IkNaC-^_@X9nZT&*zS&l_23r3~;MqnNoZJlL5& zTS>VCR6|nE&79QCv^l6bc2EoaJ}~5ejyFBApvmeykiGZY>E?YD8-iPgXGnLpGUFsc zH@bbygaX((X!c5Mf@Wbgea$Nz$m?m6zew=jRP_uKNuB{RrX&qC+QStNxf(S9=0LoT zA($e7xbL3M4Q6(Kh~_}CWO^FtzD4zH4d(fas7yd!Qi`OT1!}4pRXTwLeB^0-P4M4m zpAON$(dg@TeML30N$J>4l>8lCXz=5AQRtlj@4h`4({iYKT>&$wWOKB@!N2Gh=?0?@ zNT(V}L?`YaDkgbC9vt#pX?#UDr7=bYHGWJ$M@_5E&wH->7Ho6n1(VljkTbrop}k;% zgvLk9g9B3_1?+Qf!emhLV)ZVzO&2T-<3|=B&&A!}I_R7zt?pA){DN|OnDt5OAfDXpWkx+~!OBPRjAh zk!!2gi`;3oZWFtRMGH+|Nlzc5 z;-b-EV#Y_lqTh(|A^M)ccdo|--q%ng#`NvFUBjqvU;+d-MIk>N>a7^u_7trnXm7~6 zi>PQtN;6_wqBFh^kdGJH-$cJFu!+9kt^JAHo-O=$_`@OHQJ)cbRdW^zcc5N;dtO;4 z2)saRA~bmj=JOxpF^Xh9=gNXVZ}hL}TEn49$!@vMN-0R-ZFpLSkXIpei7ehbq!^Yt zfKQKr?5lATeU}3WuxzPW0RJkBf`v8j^=&dCx=(5B2k2xE3R_g3c{piaP53$>bG8({ z25c~Bd(A<-l>9`x>bGSYRVS@`(X=yN`fLtZfMN*0z6~C3pDl(^2pX4QP?1E^j8yk4 z=AqR&8v6n9M8$ts+018)uV=FCs`fJU8Xh6z*qkygsHhlOqU-$ zwMS(4uN|g@D(Pv6Fw=nv`o|K|6@TsBgOOrPIJS5;$@=y-DlNo3mQ{Cy39YLrv9fj% zrMSnyJFy<25^&4!eJw54)^R((vDG9QRUUoBrUma|h?g%vb)^pyrE$cz6PEsJ>?`C>)FmzFIHqkPLDfltpWuVj70ZC=i%325N zHP#tx5QKCqr~Hb-Y{K*PYWk=FY&(w%Z75Eow{S%@xD?)9J|oz%upb=CV?=3W`Ml@g zMEZHS{otr5;31b+x}I3Kc(yfKL^dixX`I3CPQa*KWpTqm$GDrUKB#1=LbGTcaZ9bt zhRlM_^=&di?6TM)qU+rcvY(0Mruf*l;6q3ae1p z44jy~q!#^07FCO*^3~{+9&|;!zpAB_0s!t6jhyn3*j@m#Bh?bZ6Vjq?O`ADu+k8FHZ5K9EQKQ#Zyb~-ehhEz;ORCavw2~=Iy*DaPC zgEJFHRG1QO*voV;2s{&)d5*6VNITVg3JU@GWVH%FrDV>pIVdwi)kwN}dQp1^g7$=x zOjP=74wX`o+?Se$S=^EuPO~BX(NNH+d+h-8iK|(kYPrIFxP@fpvi72Ln@ZQ?+Z65a zYO)ykZ(%%w1SXY)Kr!_YuBUf9SitbjlD9AAORtgwr`JSwb`|wXM8m&(kP2l8)^qo6kotsL+Qf)lbf^Qg2c> z9vGFyY1RaYVRb7vo}$`q0x+nBpR%V^%dRhUwqf-$`;Pif9NtGIknHLq%BW%CcC`s) zK-HvX6M(5An$Ar@^FQ+>swj_nZ?*!mSgqA53M4;0b0y3U@3MuT@_?`oRqi>s?yV9c z&gR$NHjRKa);`*fXT2PvWJ)MX@NWgCovaSg4heb$$#twPOD(Q(8ED#p%kK%Y_zti1B72N4b&BbOFp`@n^)vl3c zhDIn_RRCsA#NFu0l6n<>YfU62$S1OMbY32#649#^xNf46T6j^;qRZ6)0vZC*fV>%D zn?O>n3VVy8FoDDc*#owDCFItK-(s5htV*4qR!SWdYw-u&L655DMi8Wn6S01cXU zaJ5vw))9#rQEPSk#zvqjG{Usr4?IyIgPkUUzoXJJ&XMl6;#;U0Y&V zf{@Y}_%3Kev`+xHo93)Oty%@}}Ui^LwWCcWBkwXb%RPkXcB+q#lrOQTR0nC2W5V~S!vOgyfb+d+3r9m`a zCJd5eUBR@#qTV|D->C^&*K`v$~USI#ttY5 zT;EL^ILq5x=fMI1FD_D4=YXzEEoHn1WbgFF)9zi z0VtQTkH_~brvkiYRxg{GPEvxTCD}CT9o!rr!C#)91HuU}LMI*x$j+h<#FU2m&f&Bm8JURLJ?-&PVET|(XT}O!i zb)V7x)T~erq@rT5a=J=S+a2ZP)5oX`05}|;=&v4k14JfDT#a@-YAoSp%j+TzYS}-D z&J~pknE||3`UJ6lTHRk?R@7AhpO*e|$^ZvV`2L_p^i0wx)U2w1VOy(^PVHk-%!5L# zmQIn6r<_nB6`Lf4!?Zyd-6WVdJ|ulEz6v^OJ4|>9j891WZOQgRTJzQV(L?;#FwN>v zB~ab(+05ddI7pTD{-LsYyFx_Gv@i|(UxW<&>2@Oe&E)DAHXmQM@)&8`Ky_>yUNmJZ(G-3Ve(z-&pCZ{MQB;bv0&<%jb#S zMMtL?m-d6|<*yQFeN=1`fRwj7Kt8kGDD>Rmz8a#0&uEF!_XBuYtT5^)_X$wMNeOG>FZ?$Q29{l`l1w}+G-Nb zNg6N#hSaJ;Lse<`g%WpVcExss{J%CEH7bCAbV|hLrqUwQ_d{ubZy3vmHACqVH>Q3Nl!4rqKM?Sc@c)PT-Xd3+XbFBySsS+cAx?afT#Ri&78idL<% zf>(--Rpx7@qZCoOM?{n@QO6CTXe5p-vyKX&*gh+0-e`Dend}uP*kHf_2%l0OaWx87 zApV<9GDwAn{bzr`SJ4^^5zS!Go*q;;~I zmO@7@u=b9|439fW0Mn8;s$Ig2twOb`wFxs|s!VomxZWSnQ*|BJ=_ab$B`UD(BFg?Z z?xHzDgx(c)9~ILL04UEmMPr9rspA>~kNp!?DELAd3cz##2q)eL#mh7Zb1Mh-h!`&6XHa44L)EX zLmgIEAlkv54bkEnRoj{CaT)bsaftFa5b2gFO3%M&H&&hj`eV<@Bd)UOiokP zTo~N+G}yX0E&#^qNMIS-P6yR-wCR&Be>tKL#HzrX#1z)3QBhTi_+*9yaYgHhEY~#H znpI_hN3o-g6W`ssFtW&WfV21yXeW}w&gMF34gK{0(c#$}?kLlJqboXJRR)lY;Rb1b zUY=i{Yz68Bo7$-OCo!AduqPv4Z|t6o_=-|}f`dwo>z23RdG^?ImK22EDh=0?eo^9^ zKd(lhQFe4+NqsbEg^*W<gB|jIN{L?7u5z$~d3%%HK=fen8eU;DwXfBXg8(zgh)R!g9@`!Lse z>6CyW1}*TW5w*WaLhoObt>+;LBL^iSeOD#=>p(Bfq$=87&QT(SM4~^$CyF+ z+Ap8(Cxx*IW^&c^f!qY67Jxy_S@z%l?&R^)Nx6hVNyksG%6`3?k;nniG1qqAM}8cx z^fsdXdouI=Fzm_9ZPd5#^XsVJH{^#=+h}I?RwFtp9B@|X{t+Du;H)L@CaJRvfSjI_ zJS3str*>eZ2SZXKNL=5%FI80{O&mBsL_cZQ_fqX?*KO4IQthLH*22Bf-YvsIAELAp zNf}RkWoY3Ql}ohje&V3+A{rH};!-t0m|8sJvvyIjvgi;)=ayxk5|qBCh_MP-g+9z~ z41JJ<ZI!m(2M}e1V0UAQp^6D zc$Nd%mGRuRfF|O;nJ8^TGrH&|8X(VVdiyV;pL8~TRADQ*O~Au+g)eL&-M90(ivsp_ zoV%8nn<%&Ez6Io{Vft^o_e*0_**Hv+x2P;v-bK$Xz&w`s(VDfq&F=pq3IocVK!j9e zu0R5(;+lDBZwq}N^%v1|R9Y&^lWC$jpH3U*p2tNEW&-@)FXvNC``d*P>!Oi8^0r%Q zp=YXjZ==%Ajbf0rhYI%3!W))z9itr=b?S>^;daphJ{TLzA*6so!N-;?!==(z$F+ZMv^<)bJA%}<{tzK?ah z5@)Go(Hic@#kz`a$7PC&Lou-MO&;5nFWLoUQ2|_>EdX(>z-QDSMbEiHSxlpoW`!gf zBt#3B2{an_(6Z8kP@p|Pp4|>13SQQfdX?>kyXeeyuy)DsOw0cui9HXtb$?&?Pddkh z)*xK&^_XWTR(6$)gPho2*OA5COa^^jBMd+75dBW{lzhGJUz25j-FdPzaGY|k)4oeE zJ`@r7V@2&@X+UND<{@5QHka|3TlSmZd4B{kKH{@da5CA;MrMIl?}zAjs=Fjc3S8{3 zF#4`I%VO7KlSgC1>9sAO)XAx+RA93dE7ydOvHn z0-3bP{H&(NLUFrN2b3s2xTGxrtxUXnU&?OYLLDI+9^W`APJ|y} z?Uxxw?Xt|=r#KTP+MYBI1OIJXQM(-J16Rw^19G%eH;YY=OXC|&4-{HfhZ%lVQfXLl z*CEVv3%D!PW0rAa1*sLSG}-LZiX5XRNa`xpP4f`4R{{9It~5E?g%i={1e((x zcx|~jGhd;YPm+pZDk9o;i<2Ajez_BI9a;ah;&2Kbl>2`8ElOvmjCFnn;@HR@tR{1C z7We^|>#4(R9*1ZL!WDG7Qo2~3zRG!?0UjslDiwn{vdpoL#e!ux*BOY^5_)uv ziIO^|cDIj1NaKu{7PNK#%APW!=91{DA9>3eUvx3-Ijb$e$d}NZQI1dA9sNw=6uj!| z42XB{m8R(%Kq0iIZ8TPnwKna3+ua^O$t3h3kQxbTjUd4oUg91=(GZf%dm^D}%~>L8 z@4P$DjKV`P>L5Q>&gPQuW)6^1LRAA3@D8BR6)vC{^Ne;;c+**uJ%FO=EE<%Iq!|qy zDUyxGjQ0-q(CAV762@ufK<=)kj(e~tD+Y~5j|;P0Gh5k@NJ9pdVjcJ9!%0mD5x761 zBAN|NC{^cnP{IkvZ(ydY565e`yDsu)9x~cS{}F2;YateidsaX-C(=laUs8XZ@-6-FmveC6RVkI zzl4yKERD)dZ=dysyX+IVje3tZv6sbLbJ7iObJoDBT`o?s zr&%^=!X3kMt}E@Rls8~U@%#^4u&=;YW$+G8o>d0Gjfz~DBRX2?R|=I#>o?JNbo3O3 zDMA~K?xH}PoTlKyP4qp1Q}k02@&2r{BH~lK@D9=MXF!{siys$_)8QTX--5oo=sTK! zib5bLipY5FUg_gY`ACBQ4*I>_k7{QiXeZrmR67GQP+Eo_HL5b~ zneLIoI%jzER(B|b?JHZ{J9v}7NpnDMMJ0{vfOT5z=l{=IL z=2rH{ukQ+grd^#BXZ8ChfgO;yL-cn)ME60zk~l#D9*`WjjQk}s^N9Wx!*L{L=|i{2 z<$e?WebB8a;gv!@iV}j-<-ol#vu-mptfx;7CP?<1=qufPh$;uX_=j3RG2Rs_P0SK> zJ!+@i>A3_!Ud zPy8Gcr85si zC>&VTI>)4E53&5sM2Z+MAk@0)J*8R(mek|s*)z`o$IIv`Hy|$brr1G~C&mRNw;{$p z*Ha-OqoR0>8BzJojMvMV<;4?w+0c$8?pm89i6-KF1P{THc9Aepv-9{Zl-he77+|jY13Qs zWjUXcG$7S|-X+;$LK7i{i{$&)56Mpn*2@?_ORzpAZEwlnOWNKAAX`<9CaDOi`J?_r zsoKSlZWfiR4PU9$P%=3r9%M$@W3 z%bf}RmEg3F{}T^6%g;zmG+J3~(TIIa05yPO>9g|nuPIamZJNsn_|r`rI<-mmxWX2@ zB$>>t73Fm=`>g;+!X?n)Ju% zn`iyse?1Jm0}*SJ^iKX>975|TeYf3cw z+#|I^a@_;4oAmNkFnVOe>ad{C!ul5~Ip3lq15 zDZ42PNO$GwoXNGsTiY|nGG->_2)*-A%YYrK5-WVtPn^2Z>}#BmqAZ%;h5g254RdRj zU_G7k%tCLv*;dEH{d(fRQ0z_8%!bla*aKK*HW(AqV~S)$c6}wy6cKgc!h95h*3fM* zoFCo<8eVLIc*5d7(|bjuA7hG27sl zW3wWMqwODqok(Ys82T>wjWF$!@88}ew;x9(Kn5)LVf%430;Tyetows`68G4mULW2% zUnYqMWtU#VAYWVBaY13!Zef=^R_HCLTq`hKyS9IhS{(8^w&`L%lKbauf*RF!uS$Yh z!U4+yh=tKhLER12esv3gn!BOoHEtjCSj+d2>W>YTwnZzHurP8d4#_+z<^l*Vz`&l#k{-Lhkr@?C;9lg|2Twoyp5wv^$;vH zBHh&WCaK^Ud1HIrp&&|{!{e0aGc8Z1kJ{hsi!X_gMByMeH#lpk2%!~J+JGRDyr6b$ z>wfN}gOe^kkFTLiA|qpw*d(d>hNbum zaFbuBohSv9;{n1Qqk(hSjV`_qpms0gSs_Xy{~`7b|DnV_gbV`#q6`nvh>qx- zIo~~}{Gf#mQp1=7ggvx^?4N>0FW)Y%wP!vP0C_L5#^z^qd3*Y z8BOyGQ54DbQFs;RgD$VDY(+35;Z=JY;m9O)G$2*nBWeL-dVr0F*W?~ynu3Wqe*FVd zn!hgFF!qQl5LlKjyIBCEVB?Ov34c^Bb^UtL@)0EA6RcDUz0N1?0(Otc&S&Za&=yE# zK?T)zoS;b3YfSWU^h=VXYoN{-PH{+z$(M#w%z?l2eg~AJmon`x2L(jbmMXOL@TVmF zU%D_u*HNdRhMV(Vr3UG;Y-WywDo89}U*Oi;&l2~&7If&04LTzH<-l)5%UUMTWHYiM zD=MCo+g*~T_E_z4etXh3@6Fhx-YyBe>=mTrU`P9xCUjyJ7>4Q{ub>_sRi49$7-)l? ztX%b9uelmENgq98a2x3&($h}90Z)q8E|a0nC$?d} z1Jo$z)5RHq(YA8sbc7omI*{d#Dq2ko;dABPxn@lHW1SqWm{hRJozap8GSV-0%;DR^ z1KalldJQhn(4*}D<=thUqB5bhiSFj{|G`8{d^Xly*N3g@?qWdEPD54&savHb(5d!=_ zpv5$`907s13weH4lcnLqWhtf#%MgqSN(JS(p}0Qmk&%5}A$D`}ZjU$Z zm(bl+^cy%`$0cI^I#N!358|8~tMNz(R_|fsX97di4;1Gm#`~Ips`jkCcD`|(eFDUv z#PotjZch~LCyTC86HPKOv0*H|J9L&gA`0nFP^qtt*MK{K>cNXTn1-e+! zq5K}In3n*aluc6a0MsL)J=-e&Jr2*WQH{@5{TfmE{Q4JWa{RpAEA8U6i|W0?RVnej zSKkQLulMRJy5Fn!1orR${yyg~h~ZBh@%NSDOi`x{h!}FjSmzUAbW`gpA(bR$5ew69r=YmIyBhf|y!zTHqvfU)~mMdCln>2PIbZ6?451f-7?xK4Ij z>x5~cn>QRq4kukk=+|hH>f4k{kf%ZGT_Kqr!S(qvkjI!L-C^vh%i>(Lcvb#;jDrq~q8XY|msh#K2!&BD-o2PYX@=~)Ow*4X z+>7T8J|yybInJCB9HKop3qro=^OTwrt1!(~3N?5*XUf{mMTrOf4_V=nKyXA-=#nt) z{lVVH9yNM$yHUTYF>5Q%r+w6yIJHh4(w;0F%JO(mzTZ>B<70v)4W84-g5jxhw)xvVTGS-JQP^4qWcLE1-&bLublvX}LMQQQs>A}XRqE~>%yVb2B(}jS7gW#b45`FGb z_s6J+;($0geJa{GVe|_)M*S?7*CcvY%lQ9Fpmh*z_RXKW<+V5v0?u?1-4;u}kXQ~6 z;}9+I0-uZJu(x3)BYby=zE?nIlX=1@HTY`+4!ui|+H+i-q7TH1U8I@M1U!7n73dSK zrZOxY1%D)+bCn4c(F~E6!k1Cs6HpEj_}i2f`51M47KmmogUax#>O20ss5Z4J`b=CV z@Yz@gQz@#98+(X;HrCPY4+p5WpGVEgp^j4$+@g2Hl%NfN`t+rQQzFpViy}U$x6u^w;zHoxrb``!nkA=k+t{?>F|lSb8Oh`qqmc_-uh{mqy}*7xozS zBZ_v3u%nVbJ4XFX0NM!$zjeRqtdAmU|GGx?OGjzuLNh}#JlbOLQ1w=o$Gj-VINg;{ zM0ny%e6+jxYC_u2L3|R>gvY3#36PNyE70p=9itBQR)U4FshzD?6fuXaCHo9s5(sU<_+tL0S6*f`1dX-%6IoHpq^&IdX*^2ka2t)>Skztp$_&FQcxmJXsZU#G5GhxvqXQ zho~7OqSRh>mF9XMqT6D#K-CW9&H==UwT?r$ItEa{|!Y%V7fIpiOQcaLZ-X+6$+BIMSG;p@iGI>T4LF z{@3`x3mSPB1&8hXB!VB<$YZW5szB7FdH}E#m5$fBc1@Qk5~9DcZ-=NgFTo+!TkwK5 z9b52==((f#pz(30-`ZMHxWg$7W-;`6_W?#8~X zKyLIHIagp8#moZqc6m7U<)#v-A1fe_h{FWQJ-$S}oh+sOt1v)3qf%0u&rzZMlX=R~ zPS;T@Xk76dj^pyHsEwK_&i-kx!_3jJha4X53Oxf9%;qDiwhQqrSj?)$-geO~P$`<0 zBbsiJ(lM$SY4*YtSW0?$VsAZ+)~4UN(!E6VSL`8QM7KC$z$EpW#ycWpp?6oyFzG&dTA@ z1C7Ac529kmcs*HBi;k)DyjX8sLq>%}WZc+Js3ZI>N+TW*rO9mqZ=3Lsxqd~jqr$#x zH?{!;&tctIZH0XsRp*LzGqg5ca!S6e01942lT$@xs#t^#R$f&v2b+^Qr%=IR!qbho6stlZ{ ztIkpd54HTMT`r@FwL!V!^ViVqPfoeiu#LV;gHtP2bd`8_xUmH6{ zT?EFvD6CEds?xJq&aYk~bU&)p6sptzRGb|SAD9@qXQCX!9{~#Orb1n>+~GeWB;-}a z9|t4X{s>ahrza?3qRsV}C>i}^fUtvlvXJ6JV_p1Mav8J|3?oc88L^HD$VWpW*J9Gp zmsX%;o4~nP^7eJA1?wMS4~310+2FGO)9L?Z)N`@0^Mg~gWPfAFE-L_44rR;kk1*YD zbKNHpG@>UCg+UDzju#C@b4~!3A^9QuEUjsfWAQ9}C93AUi%*u#(5^GLK$^x|=0qGtF=e`O0RFAle3T{T8Tn!Rh1Rq?`>47^01 zv>QfKp4hfe$Awg==qM^Y4+TU!%HL(R-|z6(Dv|Co|s9@hsceR7*B4j}HEj z-oSPSJc!>O=crw?k)yZx9`>LHqNRS$_1AdTchqbML2)ATWmMe)o$3gvQQKAWC1LUX ztTAdx?lxCDugOXrZB$v=A-a$H6;1p}^!D{=Zxi4#sQtm_tjN=jchP2pO1$(FG$yTb z%v3X_Xg6rg1`Od%D0KZegDIcOZM|q|=dw()S2X7@LID#D-E zb&g6XL6(*L`58*sQ8WQlpY!x1;%7{Nm&xez@8F=<1n^_yD0sg6vCHR%7Q$=eiU)2Y zo?*B`V?v+^pAJ@kLSy6};ka;N4iL*{0+bLye(2kSA84%CO_W+?$S?EHqH_A1;Rm`h zRo_1AS6iFX`wVyD8TJtCBolyj>8HMH`m3nA5WRwF z|7ilG3C_jpG>MWGx{msa=E%{`fHtexD7TG$`!M^){yOT%-PuK7aTgKw+=3STbzQ%r z*SX%dU?25!2q8l9nex0F>TA0&tU2X5b)h|IEa`5STXjiMC+a6C*PMVT^w^a&_!Rw| zS3IMdYU}Q~v7$l4WnG;vRurXaXMpMlmLT0kwc#YmQxT{z%F{u6{^rY8kd6she%~E7VT}nG0i!u*HLTwYXVeFRM?UIRN9pW zL*bG%bA;ewIE>*rEiS#)>m%xw->JWjz!LpB@?3&u*_3q&VAs2ZGPs3^7AP<57Q#~> zuAvMI=Jedw-6q3%nScfz3aNDeh*F&S!vvHA!u>s0jin?_M2!nu=DzNtI#)VRE}cmf z=qjoqB484KkE)_z?f)M2JAnusP44<7oaH|en!Bi&!96We`G;{S?FKjdDe7#oXpFsX zq0&#^M0E>Lg@22_w?HqfT&?QE`C0p@zs~i&1$JR0L|H$IjxD%Pz(n;HR^=a_tlY|Twd-VR+eP0ya1j;HH9?I3$KC#Y0>3VRP5}P#`B{#<`p3>RgACwdhAiCO zo}wX2Lz1nWHp?O_BVcXiCi(^Sens~O?g8^%P{lH{0n-0g6K4;p0gPZ_f%(K~X|+CG z(nk^KAu7i=J9<2&w3R&{q5~iY=i^o|nklTKe_RL;?hl6hXe24GiqXql70j2lNcvN> zc^UN;`1;h#9-<#y%BP_Ee-KS~EZuhkqbuGns&E@w$k_L4&>g3$O}>gaZh3HjKf$C! zwEim!w2M1v^gFNU>t$UPqe#1rtrYjNuEc5vM)6ZGeN12=^wQuCe6ivkqgt0S3ix*V zzRRdUG?V-{V}5^P<;Q0M9;1kuZU54<{UqwzY;Ux<)b674v)PEcUbw$wt~ToEHt^v@ z)Djh;y)>XlLkvik2_pXJiFIyl7q{}IBi`Hm_ zsxK4xY1DbN!${fzQJa@WCr&o z<6Qi)4+p~?Qa=%Fp9<<@RMnN#mE^q-)^Yn3!B#3{57$vM7|(WyUcTy)+{-!wz0}|_ zI0Gm%++{gfuQdPKIrb{50l!L!jSYrT&$;}Jx`I8ss3>aEH^Ia_VwE>37{&dOr3J_7-k%Ez* zMc1fAIH8IC@w4V!ar9|Sms)&2OJ?qFqTX9K(`N#YDXKYGv~$~;VGm73GX$vYQ;L7Q zf#i$D{skCNHrCTaS3xYmC@D{3$4R<+h{8Y#k9m*nkEh-8#iH@uXsYtF!7wwsZr~kX zncYJa4m^1i)9B&)qLRJLl@us7I_|F*V5Dn(%>9oykaVrw`dkN}>kFlRS=XON-CwJb zE!8{yhbc-9*0qwM?3+}Sqmj|&5t17kKy~chk^YCp+8>weT)$RpaQ&i)l!l(Jhp(cs zzCAI!k7mGpD zwRFE;Y;~5dy_+FuiMDr|`_;Pm-5vQw^l}KB*ZK@UIz+FMsmr=LIv>y`dePWeZP9%T zh9>;g8aQ<3L#}lZ-JXI)`*Nup)O2w=I^$h7fP5=`mv=h+^$Gz&}VL5PA#xYA5THaV0w8Eg2MIX34MNz?2285fa%uNn}|7%oQ!pT!bUoc~U*`9Ibb(Lrw$|2VI|&-HT#j=74lmQj4b86aPGT7#t*rr~!4 z?l5yc0nb*O&lQ01mLjKhTwvc>|@Om)j8pDq)23@ooqkdND}hsizt!MnoIX0!ljT z@QR8yijdWk_4$4lq5+e~`#AyeGx?U1{z=NG9XzG!cCy5&uDz^kdjiLfdQj%d10q_Q zh-;%X6T2X%rL-M+T+FJksC*Wk;HcW4wt(`Spu@HmXw-(vnu;cxPjSE}ht|#JYB=3! zqe9kBQ?6mT4eSfM^_@T!ouxQhKcR-=E&;PHo>9e$&M>4p+gNdAcn>Fj5a0*=$#vhY z3T8yM-MdKxCMP#i3V*BsRp2z1Dq#j?Dz#b#zATt1WVc%Bk3uwKIcj=aW~hsK>Saa1$kC!y#x%9!k)1OV$jLNmlsck zz3f0YQSU%jbyLOJUamZD0eq1>-6Bfc0hk@>7|jG^O`Vv3i||0ate`x2h{|b%TrAkA zwDO?&)69`5geK9CGpbuA$1wphlEost*r~7^6Oac4OiwP1N@kR%;dWl(X&_HCt8D3z z=VU3JjVg9-cT|5=LgxuGhP29jp@*tuP{!SY2Q#WDYy#M0b5xl6X#kvc1;oMchDNIR zp1^Hlo#j%!SwcGP$0cJ`YVvkQXJoF5Hq`SfHdJmF@T_#yfPeijq{qe4 z5Lj_TGFNmx0KJ*lhG@kpFENW%eIW&oC?|p*bhB_&_Of}9Tunt~_vL~>l8mUF2l;<> zR9Ftt^%ex0ZfS6~T9!FN8~ql|Kw~4X;d@ktVL2Lnp1=Q*y#2hW zY5S;;WZlLLVvnajNQCD^Az7TFuZbcWym57Y2DMLm4ce$>aMsuFBS~WwQRiOk17xFu zs2jA~<>zmrjV6khLFEdAE(S+m=|Wa%f#T~Si3+TsiEy%XMWO8~t)4%B74@SH@;=jF zeqYpzy!8p4V=F}umZ&AGEo$#ln#1>@Rs#K3J;+WDsvH^dgUKQ^DrSJ1rMmoFc?7h4 zZo4Usw!B3&X;`5KC|-T{Iqpw(5x2@7w+W+n;^fo1T@@=Wp|Wv{Hf{Ez9VZujR=zh7 z72v3V;TBCo1f{_uOFSu-SvxOU#rpvFpfb+V?I=1E6;F*ebbYdl$ty&DH5`Tj)mP#x z(_qHw0L$L^8mw@&wKUjZhkAKprQ!T%3v0r!0V<8JeA9#sq>1QCS@9iGrwj zXmY{DE^#xF6X7QkUqW9Yx<4j^Du`$$t||}j%+QHRBT6~@yq^Jj-c)$J+l(WYNM>9d z1T|Wm8j3j3t!nTIrjD7Pax_bJV)yD9fZ|f#4jWZ8EO^>HGoRIiz^7h+TUU9qsegb6 zXo`xx;=5|g@4E62;h5=Wi!lMzN7wU;$sft6s_9O(1RZe(t24nUfWLA}vmQdRHH#YO zOdykzNuwbpS&~8%)7IU&v6bp{Lc&v2b|@-E_;FkcokQdmoCy`>q+sb;ED{gCtI@)` z_CU$QdfT8zaiZ*ZLqJ5S)hvXKrl?rmjh0DzTv8#R1jewzog+_nnZ{s-{t-}}Q=7q8 zYI|ZZ(dMHU(`=yDhI%Vvc5T{SM0vZNT!oA1=fx6HqVS^pOlJ*EOiV|y`~X%jFLFapBJ+RChF&POJ!_7Rn8#9<1y&xaYGUd7Rs(e^89)& zK??r%_1jFrgUf17-<`;3qivOumPT%QjB1GQL7A5*K|3+ttHztL0`b5pG@4EWJ)>wQ zW|c%9s4xi{6BUnYjw(+LO<~Cl&hUGV_PUE^mj?p~shjU`#_QKk5v|W(bEWK7u8wiBQqA1b za2yG8z_UG8Ky(3(DZ4Vfc3wI-yUZ7YZ8VN{#5g##L5P?_h<1`&Ugz4#ve0JOP3|?? zOFFpOb+MW`W=`h{t-q{YDYuOk8&ysL4BZyJa0FB0Wn=Zq(0oWa+B-L@WDQj{w;!P42=TLVm!)fRh+*j#vSP6T?hu09kJ5W7yvFMm- zew$U-r=LZ~y6zLuTTrXQwe-TU>0n_FQDtJGr6Z7eR)98CMX7tMT20E2{Lo$zl?hI_ zfFL`!!aOWdI$~W7>ik3WwFUcJVIUNnpB@VP8Tc=vSpjRZSTY?Fymdwd98VCuEw-^e zVr}ISYa(FwROe`C$Es{zfsm0bbI^C#(>NB3>(BG5qEyEF6`ua-7Kk;9Jtb2Q^KL-{ zlI22|DGFSmPf@wQxlYTO6sA}_)h(q7)@)eLGK6Tpc-OD%ydoMzpY+if{M4`OxHPWa zFeBH=qKe;HY4c0JnrKo&=N~VOJbuF#YXnVSD2yMp_91E<6xmLer_5Nqsfr>ZIBPM> zI3t6!%7LqHTo~#-6%NY^5agf==%>3iw_u;ZIE2I`wnKQCt1l1-!Pty`b)Y!Ceil7E zIRd`tHL4SsW=Jvi@;uSQT0K7dxt$cAUqj5g^o2Xtxv6bsN z*Fz8d{8?Ag`;EnUsXX~U=+P$1?zMs*l|ds-ti0(EM0!|y`Yxa}X^@#}9kC{F)!g+Z zs@mrdO{mnpV2hoRZR1PIL3gGyL|vrEavq|1+q*%sk4pA4U?J4J8zkohI=&M@b0r4H za?jehvXU4TniDO@3E27k(00)LbMRW}xzwz(B1&2hE5m?%ZzDsgqCp#E_(l9BsxMLLWps@^s_OJuU@j&KNAj2}aqEPcYN!|h zO|cH!Mf^wTPNwrxI|Q_{xeCdUqeR>Kq@#Mw>^cd5xcZLL-l;N{dK)&Oc+tawB|{Ks zN^6(fYr-`*KP)2Zv1Zj1_;E+$RwLb~VMr@VH;(NhA1i+8@SwK|y!60syO?MuZQ+*E zq?72_ElAyGHCe<;Cd%kc70am?Gqf#(g!E3H5wA|tgOG>C9z@wR3!`BXWv~`Q^fTA* zYq%LtG64t4vRqR=gyI5Nd8`GJo7qH{E%>O6VLWj<=BV(6X@bYlMp$G~y?uK)u~Pq< z>;7;8yZ~z=H=~<^msNux$X;$a0T4CJ?jJI_N-e&1Dk%h5BAoY)R&<2Q%A%4IBbgHE zVxr=vQ0-mU8|y$b{BZ{Mm)jc(f>Pdic@4e%N&EnRKibc0xIM>Ijx(lpnDfmH~X3s_uH?nq{0CS^e z`}%DB@^bI`^>t&1D8Z4ZTg`elzAJFrE{VcOP~rbX$0B2aWK+d*k6{2Fv{$I+hNFhZ z*#P_CVg*ZlkR+tB-?ZT20_I|YOROLe%)(PuPKg@EbKL1gE(XdXTxaQwITylP zC7&tgo_o3Ybb1mAONP&#xX+igl&vJziCESezP654Gh_(VXQPo-7jQryJ$=^faEz1LoASXmc9bxBb zkOXauSXGCqubx08_>q1fuqt=CO~!W^p#z;UZI|UOOkTZXn$pq#^aXMnjozc4$ig5N zN(ew!TLT3+HdZ^-DIGhaO*?8eKQ=bPD!)*fFvy8YMHMR*YUo(>x>#7KV!=Lyzy&*( zM4kB)n2601RT#yPc&-)+j$JPVC=%S`+Of}DQprOo+m>fU0}uLh>8Nt8lIWCaJVi1U z$<6cHhthV;l@7)9wK4ZxJ{YR>G({_vT(Vh3{~$LvV3Vn6$10_yZ#pJ&)oE(wEMC)S zSQv&L5Oop&lun1wLB!Tg6iQ6c;fBbPFHmJN13wOY9GYo}Y9lzah!WlE(n#0`Oa|*JK3y0p-YXfbKz;{5TT8Wc*jtm#iCD@g}%6=VZv6llA%+4SGh2aN0f4R3nvjy zOcUq_&>iOkzGAMStQ3HcF##S~Xyb;csA5NvcttdkN-J8^$f&andQM=Z(>WL z2y?}6#Ld*XdaBnkjK`=vfRI}x<7(<`Yq8Iw23mAsnb#14I}CN50De$)VIW)*N%#`d zj64-3HNa$LkvrNi=7INg^bPSVy(`Z@{WWa`2tXHtJ+@e)G1Xp~izV(DE=;fta-nal znqykgTH4N*fqSlf08QC|<%PgE*YXHY2& zMO2_YOcsAt_~49XY~dtV6y!Vt>kR`IuXl*jK9xXB*i7AOh#&35J`bTNX|z<@Bl{{U zia9KF?q^h@=6JRLVbl=&|GfI2Qw2MzqlTjb1>uh_^*TcjUB zRjOa`A4nMD^pg(krUz&nD_6UYmZa)8(X*VENi3FD<~T*?ZlWXdlOA*tNVGa}C{>#AnX8H3L>*yS-*gq+Mda`n~9a5OrQ9hjqL z%FV?@u%;%E;pQ0HRTOP19+0z6B@swGNtyGri0(KzGMlv@;Tlw}T0cbP>O%m`i>$ai z*OfZ<_F4Xgmca0KG#rh?$^eh=sUsR2TQhz(oGFM_GA4d_8)E2oa-6dUmS)k$)}Yu+ zQcAhn(N0xs(k#EJ@e?S%JGl*PcG0F{7n&%kKwt)Qu{h`CJ~XCDimJdLVu2r^jbTLe zbX}>rQo>50yA^1nDox&0ivIkQT%ihD*2?l*0fN1nEN_@cTkrg%$|%|iO4gMWF~PX< zqaJ`s{wn%Ou5duaYVF#4zc4w+cuJg?b+okX4m)oc+wh$U4d~AT;>Dh+?1Npi_%-ihd?wqN&!gTf3-k ztkWjNwy|73e?0?`)@XU3Wu(QutEMt|w-Rr2nQ$+vA{8{RqOyodW@}DVAqF8%)I;?F z15kE@xq$A+Q@eaejT*{!sX3cK)Ee7rfK!*m{eq`^x;q_iEtidHBLdD)uoIUXPFvb& zP0xT!Xhn}603@oRa)?1aoqayjww;3az9%cF`0dv zKm|8jAQ?P!$J)@skugvMnrKdWLBv0z;~EmqS@wV;22`}^dF6%6S9&C`?huWvF7$!5RQ?K##wjAAX;JhUDZGxvaofl(zt`rkP);Wo!QIUqIvJ!4+)Jq}K&6MP?V@NH!cAroMWS+| znaWi((@#EUn}9e`l&6=)tY+%uM`#YMO0$AO^|l2BB(iMY1e0=iIw6dqUkUE{5m1BNAwN~| zNiGakziHCDbs%CERF&Tfa)lVut#I3RcD@rH7R*R*X@q!4FO(%-T2!UHhJ}r!_I75yMwayh5pRS1J%F{$#vgcXq zPE?RO3FQn0#f{HrdBX}#h9Av0v{prP4PJYWl3|qxSp$_#X`aOPt~35hwYX1saTHht zuiDu3D?t#kJV*6I)1Z|Hr)$aCN;j5f5on)q0%~yU!pOOg)p&dgZd$WS4T`yHmm`zg zIs@Wl)1F$hLZUV4*KOX$ELB?@S+BNZ=!GaTuyx;Y{givL|~0(3yFqV3{su5!Yf*kQ@SpJbUe z$9Nl+*c-m7K@UZ{8T02&6e5jQw4nt-)j~h)*(73L*H_fRlGor6u9(tyghWLn7Qs1z z?Jd|x-K@9w3qvtilQWT)rTKX_^o^Ad8>OS7dF3zS)qH$E$Ghk@>TeU+Mtwg<`dM7s zRTusl^*7ONx8ASeAB*)iNI>9I%3SlsCj2^l<=EKQT>l5rF##82|7!xf{rbzOqqr+f z^YJUHIB&}l4=;|Yy-~SY&{t%QR8-+7WO)bYy{JS-wYOp&MAy(|bQt^cEAskKlrR|h zXql_wdJ&~}`9l22XORVp#N_8^b&y@7)>{6vxCVc%Knusl?xWH-YZUE><|RWBRw9T} ziWH3cCJ`+0ec&=mQTNByn<%LTd4h7Bb8T9P^2Zh&b1jMnjmA2n>)Pl&WI$0Y49z4C z(Nc(q=V6j1RF85RX(o!(la_PZI;ju97Al$vsi_|;Z-FJg!b}1*tu~^;;@B--%aODy z^d$FTIwoMgwc=;2YjU)&vxk#x63TA8hM>-!yvNSgl_rr^;z+3h{pkAYeE}fAxa$Ev zfUDz;8KTrck6NUWgqCN-x+xIPgBU!G=NM8Rw>oUKJPIp~feITVMtkI8rKCWltqG8D z?5$gIDD58e7&YLnljM5h1MC47d;wr8n`tUT_MFO9iblq$l`5iEMmm({qt5l=#U&D7 zaV3O<^U5w=O_at6BY*KjFQP&afFEN4+_~R_He>Tq7kei>VdRsh(^)%AZ17- zYnB&e0eujrK?2tZPy|C(Qxd2&Jp?GgL(w2?SwtKNtT4rAk!}p55Y^D1aw1m|Ii80wyhLpIAvp@ zETU{+`i7#iIs_+b&J$A&%0*hOgK=xqcJZ`-CK6&D3Mf&aJa0T3qUlJHPoormQ|MZq zih9a^Q#1uHE~8Td;UOw!uKa}d8l)7xLzdh6csOAmFJW56kebpPN<}Gmrxe1%9^I2? zFKv28p1`_s@3ep6dJ&7>^=Z9TMFC9LjB>oJEfQcv^mKk7gevmWRJnv%yjL5<(?DDZ z{7^#z)uM`03sOL?3_Sn|2V0#K#1g6JCgp2I^zwu8A*jHBj@Z&*DF~ZI4VTEJ6Ad;rAyudibvJd^=q0P7h0LT^ z2nTb8Jz7lKHP;BGUhoPI3Z!a*l-LAF4v71?GN*v@nUnqmHJ2E}hI{LbT2}fVZU$U# z%}6JL1;)?M1l~Lbe3ocGs%gB%7b)&k3ap0PC>u*VpZRPkfgGqWr5}*nEcR>AH#URn z$ukX7C|~T(FnZJnVvaR#H8RedH;e z+yF{_0%VV3Q}6=`R)apFhlP}IUlRz_+ly;h4NO2cA?*SL@{hD>ogqanAj2W=nu#J8 z+X*h{1QIQ3gKz8Ei1Gj=)!O3yRiegq02&EBg4ml1UJeyykxj7eo|X+Y zD~Lsm2zcve**%Qjb*=#A52EjVY6fBk|h!*$<<1^Eh9zV!ei)eirVMh4=)k8?b!Y5OnA@>hOe> zG4>1fp0%Ei^f#EoXL*pswVmtw#Sf@w1j1<0c^uK42bF*(q^pf+m$Q`iiyvTP32caE zdfkE-f8+sZKe-B0GcMAQr(wW?OJ*dubeiq;p%(I!vpX6jbl zN_o*zqwmhdI^as`8KC0GbAYD>PkJX7gK$772Us^QH&OwG^ED(;3zM|IOigv2Gd~tw z9W?`sJ5kgL{Vuw?9vIy*4Ld80!#h_XMa8;#n`?uns}Iv5%7a%4Z2l2>f?|#?1bvSB zbLdMcyOJ^)UE?mliT)fTYC&U~gnZL&)K@_5nCs7hpJUWL{P`rc;F=~blm*BNG zGHXQ!S@{&NA#mHdu9?aJjRdtpJuW}ltBKMC_GwoG5fPXLFye%0ICgYF85gEQY~dcj zO>CSdn=5gpr2VBDg$b~$&I;ihfWd%Fm%8KEsLH?q4p76N6uEQ-J^6F4N(-)}$7$3V z#k`6L)!o7MNd5m&_N8aCq%gLwlm+tzJ2>?GH{r!u1Y}lq_sox5H&F;7iA`)$SL_Ge zwOm#S&DYz!{jQt|0;SEez^os=x2uClhtvB)3blla2bvy9ZOFMeF zy!RSb*w4a9h$DFTnb|YUgbf0!I3>a>bomRxaXoz(?#q|&kcwT9@+gSpK&*_Xdv%N; zA1Uqi79O4GlowCL25g|Gn^$ZPq!PX^VN1R0EIc>Fa-2~$#Op)%88Z$8VWz`7yrM1Q zWF0#TYJ@n{#7%(TZ2;%73+|n&-HkGUMcjA!LM^Wr;i^E*<>A8qY||}VUtk0<_-V&I z^QlLKsK|Hn$5`~6*M>V1aP{k<_$}^uLi$8Sdu>>Z#E^kYtgl+zUm7Uf)z0zwy?~)R zuE4wGYdB5#yx2T3niL%8U-3~39V6B6_lCTHge|J^U$+$hco+8^-{-nXg$wo1@7H#G z(~sbj@X8z)#t|R%57c@tjQufWBrHCkl>QttuA%sy@?Y}}cjoh-W7fIG^9!~74_zB2 z`pEvI`p#3y?@=}?;}YxgC2vysaVAi;GKuDbhx-rR$Hh&m%G-3mP@z`^e%W_Qee3H_ zWqn^1{Xjjnh1<$-iwOsxzr=z;($m>3f5(1ozm-2w5de@uowrfi@FFLF-zkM&5h4EV zG5t5{$MvW`P=DX7M#LrYie+p+7sh#C8$OX@y#*&Ff1_gdt?v-~?9=m>@?W(D;~!qf z80Kv8A^K``DnJi@^7s{733wwvCi)20>TmPNquR9w*5-NU?X02t9+O@Oze_r*vD}QI zn8U}b*|?v@d+=b`_u%2AI@{EJ8)tggr#bdr@NVOsuIUB@FSfAFE%TArO~M%tugoWG z&~&Z0(rZLulUasd!L|FDqh-AlRl!*lW4k+i{j?uhY%Aj$R8(xo>vyd46MgpKdf${m zf)Kg%Cl*^@@DNtYv-7D65a5+Af8h%o}|7DWL@Wjd#Z$O2l4v;fY}kAgCGTV&e*iyT14xf+AYUp zJKSmAk6!U6t>82v(G3>%((U~lFM!{g-M*7PP}_nJ4&3YFDh|yWCof?UO+-h@FX#Y-FeFAPDY)Uu`Z^#cutW zfr=~O35M#vMYHIz<9i@NBg8%&UZ2Iyl=ARB_dlT)ypfK3894I%V|YV|mv{8RShTMk zjp4oG?~$-07S6knnqPNw{-DaoL)^lOU9u`$`+F$%lO$NQvHRGuulWZm&kbcE#g-z1 zT>kN5)f?bSEV?7PfIOt)SB zA#rqzc{JQAr2lz%YtaFDCR|?1bdSO^ zXKr{_@;!JsK!CF7#+|XJ;{6u9Q{X6u*G=$d5^fQF9*cDvP7=ug&Ser>#AOb_Fzi#||+OKeIx_mh(ZdUVZ_aCUQVO`U935C50EM1@f zV1Vw&5#$-6yfd6+;`)HDATvS%0z&r)3DOX&4NWY*U|vG{6JU@>lN2FXXa@nUWvbp0=f@j%YtJG_&g2< zps9Db;}IhQCcLYGZ08~av-kb{@9aQ!o7C zu7;JPp3>rm8aA1UTJTEYT`5Ia=>&frwd(c#z$SMOUte$6y&OQ}HVhuyjiqa6Gb>gJ z@4+K-3Y~ipRnBs;xw7PoX2R9_lG_^G5G=zt{{j_`{kY4HIBoD9tCoe=Kks^C{iX^( zMu#dqCsa%n?ZZ_w!w_UU_T3C%PxFarAh*-}zsi4??d5lHfj@=n&y#++?EgQM{)b3# zGnLwJk>0rvFCE^A%8y2{v$cG!8$tHqZ?SU>s4$J*mRhE23O9t_6>B-=!=@Qco%NJI zc(ny?n{Sz5g0T2`bBbG9aEzqd$6hq9cfKa899-ZfV+ltUFJ{9d%HKj^!#_O2uzZ;G z@6=LF6%8T1Ls@fQg)^j~o0*g1^ z(Ea(k^R6nqaQaf!H_@Se;WpQ=rxm~5NaEdT#YMOO@_fL6*6Uq&&HNwk3=~njH<&p8 z<<5ZfX?{($S-)R4e82HR5SQ|{EI4@jdh7X{0bDg5@IdnYw&OR|k7dUFw&NQWvyhU% zo>u%uUASADvGMx#wBj4}ozP!vu;E?)w^NVb&LJyPQi+W3C$`ujoL z+mdjYH`n*O)Zfa&Jqq|GT;EStzEKl*baxn{G%5JJ=XN8#fcHhD$cw*=F`k33q#Kr8lX5w@;(SNZwMk*NPi| zm3O$Xo^NujrD-r@yDpV&HBDR+#w`Pdn~q4%lh?%^>>fOb#6x9i5DX{ zUe>&sG4bcHZ*WT5V0*0404}*N+hPx#qtzXUoUv8m`};o}I>5w)SLYfLkpH)+pAWfz zqh1VrJ`exjpxRBum+J*S#`V3Vzh1rP<6a&|p9`*;E0*x@q8-mb5N=)-%d60}ZOa+! zR|e$6s04%e>D4dvC!Q|E>IpHsaIb9)4#kgx!(>@b@D2LF=7<@lbv_VZ@~Vl=b*=Px z==Kh#EywbW(Zvd4eI-73N{j_Xs_%-6x01uip4ei44P=UiNG*7hU6_dhbhTaxhoN9tYr}yf3+zhr6qShZYhG z(U{{x2F8Kca(ow?Ro;hjBcz9qt%mpMuf4R_k1#B7nj^2y@XD9%?huU*E+985Omv*) zXm1y{HF6T_+ax>Q#fDh8l7vk$ZfN5wV8LAlDXTWP8A;K!A9OCn`BUfyI_IRvo(gC4 z4>rPgdxfXQoXh$z4PcuKPnVbGSgaRH)iY-LcAYrjjG=fv@D+nNAPNEr4}D9|m|vQ> zI#72YKNuu%Ag;^3cx2p?9YA-4YxJQ8rVTvHd6y|oyM>d-6M8|q@Xlq$x&$8luqiq1 zrnl*#lwW7_M6A?pXF=uf%$jv}hRfJb)w?Np#lw}u*l@uNf(w*n0Oy*x664n`cwzJ! zeqj&bIwD?Q(sWq3S=8h099VnH=&^)j$dYEq+HbRh6Mrv^hCD^@U`GXae{f%38{r7< z*&TxSxgBSL*M*(T{OCsWM4-nq?JDG*$XR#6Kx3fT`N$g^G=s zFC5da6=4_QcKfYQ-3Te~Ivh^+#p{B31m~}@+bO%s2@J#ue-;8_>AwkNP;ah_O0~RR#Pv4%b@g{*WqmtKDlv3h!Y2%oxxwj zyhLn`;%Ed7cG!r=(R}`vqZgp==EQmw?G=7Q z%Cd`qQ5D`W;s)Tg?K}JxxsQWO;a4z?E(kRW-^tMn;BdM=e!hs8C#Cdog%7WqxN~Pz zZ1chOu2A78LsuvG*c8qd`v|A?@bZSuX6^c6`}9dhjpri~VgRo$5EiWv6#+z(o`=hk z=3BEp|5>pN{G1#O9U+-<0df99jm!G2*wx)TyHy;cgd=!_S%R+9fB1q*i7%e=q6P1( zzwp072JlX9`>6=jIdpsFc6W#ifUib+P&ET|3;XYWtF~BA8egZYc=3!t)URE-{zARZ zZ0S?ufxo(~fe+N{Y?0eZ54Ju%9pAiu9vXl9)cDZr=TWr0U%ca4^I_4Kvak!4?T~Ez z4_+%QJdXMcl{dxVeUYfRqg=zM#y2XaRI~%x1Bm^I3kd12Ht;XLAO5=k-uf*6i1`Y# zuj>00^xH|qH>Z3CgDnUd4v5>Zd}8~78c%j`1=PbkrmQ;qU+wDO7yxR^m<#jQk+E7p zrn8~Hc)hMT1nS!a|5CtpVEgUQ;#;cgip8(;zpCorsAe9qAQE`ded>3v#parHh1nmD z^^A(xR11$`)vR7y_7y`6Bm|{=v13aa&qZP8)ZeJ^lt;%4MuiXSmxa#t11?rE0=)(S zoZoc6wN1G9i#0Y}hhk!WM}6!$JD%IiC+^Qg6x@Y-UOnqd(9OW0-)iil$Da1c++)|p zzk z{v8$OukDfJ>F=`*d|cf4cK-3v2LCshAFow(#pK&f$@etC$09Esd*o{l8~Rsk{Wq#Y zMR)R+OJXGS^b;QWurU0CflpL!;9}Q)?4jjdYQj%e{*8)|$vCHq#sb>}XWhka%W!AG z6CoZ!;qqV96;?j41sqpSZ(ct)M?O%0Z@GMcRm6E(qb z!{(JYa$YkQeZmX4rMJy-0N5}JJk;ywfB{DWcnaW`H7`}hEy1heZ>kGx5O^3*_lSi{ zjMH~9;PrR?R~!6Sr#A3?jlI-iD?jnxTNWm)@7HFi^WSNHKZ5!iukTA%`O~x2KliHt zpm|M~-_OPVc&-+ghQ6MweV^0bPnWSvq{!;AHCGZA2YkT)iOPu7SK!4aXYh#I!57)@ zlK)*1O@(TGm%Oh-*t^^vDfjbC7Xe^1j{m(c^?~_u zPK@W!C3kN2{KEV={Z;92KdB|Q#WD^sDtD!D6j^XQko54R(YMYjd*zH5A*0DX3!>D` zzOo*kAiQgSR}J^!cjw6uy@L*{6o;OO;OZvYaI9|-p=8lR4ya-?G)H7{EG@SD+GbEh z0tE`dhHrZO?&DQ9X2jpB`Z&~{4M#K$&(-?xN;Rr$im349GS4mpVpSyU-e6FTP(=eH?%b6R(YXbbwK` z>gUCpjLnd@_Iwcxix<3Ok4*-JOUYSJX3>%QRYSI}qR*jbi9=i9S6Dc$BnqauG zq&Nj=#tT=3*tM~hg!^7`Oo&4VM&ps+2i(eDNe>$fe9R!?MYI82XM5Ye_ofl4ht9G6 zytlNn&nGIL22?td!PT#hU9Ttn3}o0@Gp-gDI>VaUZhhCbaBpm0;W`H%*~Zo@eC@-r zDev@`!3g1cod6%!n3w`JKlFV?>lz-CUaOrITNwEUp`4-(bUYARO<^w!&h6he`1o-E zoT{`Zh5=rI$W3p|u>pi*Q#rlCb1GPf#Tvj1hl(eRymkAw?TM#YLd5|l_9TotU}@95 zXUM~buw+eCJ6}@fz2`q+*1*jfAM7A-FWT&nJuSQwR`wOcfd|hSZ~0gSSS7)>(l`L$ z+}JKZr%4ED!)Qn!J6$jY5Ht{H@-b#|88x*X@QGS+H4+{#%m6OxCvNZ2xf6EElOyAC z!3(!*d(y@>f0vij3VTH^VZm#1jF{NMgtMBrLNyNHKGkcL>S<@A-1|B>Qg|}gB2sqx=kYOLA zahSum(eEl)@k;P~sXlge@Znq#$9;Hel)851CcGt#c&}M-RTEoHQL!0Ltdqu9bjjC> z@(hbZ7Q8_`cK~pNNWX4~`h}Y?PgjSD2*_bKA$S&p^~xtg$3a4q2Jn0<;WW?-$BDPK zBk6U*-3A_v{Rls}cjq63vA{!|->CB$JRJ_yft&d_-uT_JaNjFo2^>Za+=L+n{5L9` z2O+XoT!}?z$5GRK#@8yF@3u2EqAiJkzKvxYCtb_of7(9#_W1HITYW%nxc@myy{X0` z^WRKouN=qd<@+fKj_h#d)lq{!P`_Tt(EnM5h5TQ8jquI#4!Y-h%@^wZ3iX|EJDkec z&+NCd?zb%R_=2zvzj^(7bCF;kp?Uc3>X%seyBo}K2)L9#w|j%?{a6vsVQ}3kuf25T zyQ7qzuX`xJqKWbj0`|8q-zpMgg|QNLo8-fxD#UimAYYJxpA{y_bR zr}~!C@Wf!W`P~T+2oDjt+CCk?oR8P8{cG)vsbFGn`q^N)O}6S^RPSf7UoJfU*vH?`V87fBeQt|=KHH{W4qU+R z^*67d@0%IR<=L^`zESV@&G5R8$99eu@-I7R-z#_wgb&=n4sACgP$Q#IdM-+sVtb75 z4}v&W^pUSN@ZiZkZZNOdMMXHMiEDsg`zN&ZF{OcVYkiU1Qu$M#!rFc-P1a$8b~iT>j5=nDXmoCvIo)wt}9P zUVFa3P{;r9@Oxkx`*}q52P(YL;*xLwc0cwT6*r!-uuNa4gulenecwulR-Y%Dzff^& z=w(3X`X48ne`w(MUC+NCR(`(d`gFYX`+hq7^F8qW_dUS>ek=Iv#`8ZsR>Ym}iCH8+ z-v^4n#KH}QiGjJ6ud}y5P;qelyo;#$b)fi1ZNXvH!qKg}As#8wX(YE@N-wc8>+(BG z)8P+a7Y`#owEt4p@236xYOpt6{||coM*Zgt$A7gftfvZn-uxEpR@Pr9KlY&UZM%F- zai7B*Vi6*i`P|#?Jb0+MPx9q%gvQg{Z`?lz&EKf^pm`flzj^%%Mt?Ezdnmpcc-XfX z9QL|~E#eQ2E-@HB;72Y=ZY+mv3wUzJdwsMoT?)wrK>Nf+QsJtBg zjwiFGuUi$^b?zJKWUn9SE+Os;au2pLK45ZxBZjIH2lEV_>JxH3y!6H;A3lvzY#_| ze#6tZq{06djE>#)^Zmc>UoQtWP~Y##xZK_0@AAV7ive#xC9;;66N*{J&udh|)PFVk z(s|WOI&a^qZ&?p<7C#aHozLD5Qm7YXd@D$G)_&eesS4)>zV+4kdlBA@^V+PHWwrFv z@=s&lRse6w`0vcqh~HlP9{81?$PbX;ER-Dujo`l%ryB<>)!_eSiSUSiP z!IJ2Air<4~3i^}yqzUH7Ph;MO# zKkrc7MRWYTU9zi76q1T^-|U?<-_>F7KV5WQ{Pz=e_)fU*>SHkPJ6gQsStmd5k2l#V zBQmz1p}tUmM)?`)W0myvyMaBI^&-4oll0#oU@2LaH_IT+F_6W-U*xxgkv9-uKa(=P zD^uW;CJ_257oRBOOg}UKOyazD#%oZ{6!7*lNq=_Y2tHW!G)>^B+_%tq;lK2$hZg~8 z!4E!BE)aZwPvgAB4dGO-U?n{;VfRrk}-LP11>l>V zWv$LnDr@}EJB-K1cSKymUq4*2a5Q;&H2H<^Kl$+h{UQ+qBwm|cBP{L#{j3pG-W-$! zFIQeeP2_>iOd4qMVhpRv=P@;u{YU}0*7AOLK?5{t0RBIc!)KL+fgfa=K0#?eNr}vv z;E|%SWWpmBmplX!iPt8Fa&nLmvN>M-9tFVaCaAk=gs?OLbTHlMRIUZ*`L~xsfQ!;?mTrnWvyX1n& z{mSBwSkV2GX8VMIEIG)KoCjbq z2~y=01ae{nj=6}DPeC9j5xB!RHyen31CM?(7~q#aHH_m@6~3@+voVYz6+BR{7cu2}vslF~U%(SKB~_acL5> zrl&Jgc5BBM_>J{fBEnX9cDV@G<|Glv;i`$8Y&jyb+_w7>#2>atvN6_H9kd}^F>&kh z`5?s%s!%+R8kgFaK(fu0uWk|GuaWMbc-RCPlCvhUMTh)z7sNrT>@GPE8{GcI zZAyKmH#Tf?NAzTrDH}E52~-I70z#QzI8A z&16=Fs~}>ijwtIod6zRtlVq@M0ck$Ks^wR>S<0B%!faVTx_6NEH50>=d&V^`%vhfK zF+IaBD>lR)8e&T zHh33?wE@0-_d&jYvmo)`)gL`3rPs@3>RBJbGK1m}ht(*(s=9c8{a-|KQZ0tB%!`2jT0Ow^m{UmE20MSEFx3Lz6}LNY=5uqY zjv*L(h#+lHBPZDoa(4zPmSpNKmyH1~%cMHo!2ui5RI2K@cw;RIBicq$g=%)rxFZaV zXd77->a8%o56ru5urXi(BT{Ilb1ui3^#`n|46}CAW6B=ZiA( zd)-f}xPbj^QuGHWO~NM*ko}cEb2NTc3N}i;O`6O~KBEfANqk(dM5TDlVSKytIUs`# zRT+Ka)jc3{S&D*GWwonP-Mje(J2vMB|!J}AQ=q9o$4(+{VlD)w_o=r z{|g?m0fgNleDth>`_HeDDFJc)>NOIy-TZ?q_Yw_vKHqQJmi@uzMLBQ~XonVxl~C{6 zg4e|Q6AYp3y%a6RNT+C!lgK!6LV(FA2tUD(_eh#C%wBbV?MwgQctB<1QS$IPK*kY? zELNPi@tXt!fwU>X5;h&oD(etJCLcQBV?D)WGhsC@W4N&7{9+#WtqGErNCxK#`v3yP zNDFilI^%32H?VwxQlxyM)f+5+}PMrW9PZbG+z5r@L}Q=9J6FirZ{l9SetnT?)%h!K%a(N6;HH^dm6X zk~(nF1^3Eb>1Yz`v>*HgMl`3ccA#xz=0nifyM@4~r0NV`R^4CO4^Y4Dbd8sswzU}1 z7FV02hj#4{c@czh6&UWYK!hg+_dz_k0He{WrwUvCI)tH4r{0MS^Lz!lbtu2Jry&S| zkTbTr%`;X#Sgp;yyb^}FLQ_ts+{|*z%is>g2p$lBe9OQAyygTPO&5G;BJY5B71A|Ck1N#6iCjIQz#y6LZz$F-MgGE|IKp zblxy$=FKOEDDi@_Y7KFz3?92PWBR#1;U{hj$h^t;TCBp_`DrJs>Gq@G0g%4p=kyUa z>_Vg^?rSLH(@r*#mQ~G+uiac^H|r~ENds?wj*KQK<9I-9~e#+zWFF&lEE!JLEbOL z5gy+VdH?^RIaj*#HfGo+*`gSwo76*$Fv(~JPGnGWGDGPe9-D{t9%CBzr@SyMy=#c` zn1#^$uU@0840oEj}?Rn~IrO)$NQ-Z=qU8XmEQ$UJH!uLC%9w5+ABB{u~&8 z^mSBKuxvTFE-V8W9-iKEv62vv`qDNjegVeX?F8h;8HCX=w48Z)1%rD`#7}%Rlg#_< z(H`xDt-(Cw4p7>yh(G61PFCY^7r__yzS9wjtd2NvA*85<6|_CvIq}7+w?M28Wb+p+ zL$Gx4)sczYEX9qF8F7hAMKV`DUo&%>J+>WGx&%k9qW!o~d?80EzTyUtZqE#1`tH!e zHJ)M{6viJ$o9Qx!c=A^au`k9bJB5K)_S;JYeI+hqJ=h01f79Fj19UPa@ud)Fwiww+gD$Dbs& zYO43nxc7w(Gw%jAGFi0-s8}Iz4{S>Wo~z8w_djA-{7R?&^Nzv2Sm%SL^?Ej5^bQ=a6k$^wBV^wr7kuPHgzJIzr{XU!uAxZz?;9yc95R@k#FFrBp{ik}IdWF{k@_Xt6d&49DckORpg| zYRVz6MrYd!k4I-wMr-A8UXSY5&P!R-RxGL3U;~}GVzJ@nBD*t&Fw6T^HC88HTXI}L z@7Arpp{&z=om76R);RcrtAues4`lqQ^A=z677vDI%yQFX&Et{URJx{@F(diX(jeM7 zO9Hkhu+?^wG+xwec6(y70|U#~HF2M_ZM4Uz=}cr>+&2s7uEQtpe_Bsa1?twT0;~hT znz+WDh7_JU}MdNFb`qiQB7goSw#)Xb<_9Lq%6B83InYnIfw(mb7%2v|z-UbFKK zf$Fo_V1~By5+sRmZy2j8Uy4Q&WqWDH72aD=J$Y-}1=a54+)3t5TR?)YucWT}d@19O zvoABV5EQm{BPE9O0`cY9YaN;l07)CXx{ce@Di=Qiim&*Rx9VDvf?7U`MbdY|voq9P zzrgTU{A87@ZQzD?Ynv128k8Go*W{793& zh)$(G!4-lZsEO9yfB|aH5r6Djz%fX#yMDU{uqsQ0RSg3}!%Kaw2{?+W8e#B!t70_l zz8jCr_h~2bg`}iO=EIwSXOklGI;7I341W97M63FOk&y)7?JO&1+sG)Fm;L+hbObrs z%(F<1Vsan-uG5jX&FIu|*k-jGr9Q^mQ27GXn}@a_qs4 zps~Mlyi>;+P&+7Fgl>>1&qs|=rZT^x)y-$OSb*F$i1{O0%314tUCuv)E3)A=8TUlTsiP&e%d#dS__peLBdB2%Ngc-bqocvZEH}Z#H;GX8z`-1IDU%%xYc@U=)2v;g-CKnlQ!c99CIrX2R}5S9U4v?q z`Hwg79MCm-zZ8KOpIF(y_+{%+^Z{FjHvF;!gd4h*fy3na(1Ok8wvSRH1C%L%8XXWcJX$emW@1^bnPP_ zGPp00DyX|VFC@_|M|3&_t#2Oc7dXPdvcE#eTti-h+z4URu)}(77i>7(YiO-~WCP%cW%tIGohi*OY$00HowAe!+9S63CTD1m2%t${-uK zu^>E&YnyUuhg5e`)lEb^j8lcOkiNgtD$il_i-i=(2s{Rl7_In);A1xGK?Y|o7l;Mm zEg&;Ei8p&`=jBg;^5z-6G;Dt41u5wY9UVy3d7_SdRp-Rq-PK~9>i-Ag7TXJ<%< z)M119+Rh8L;S|CrFLg>@zn8=#Nr3864jxBZS5!#q`8=x05&)0)`Iv62-#EHYx4_qC0}ihwDThAaxr;9ef?;Xpt-+}v`H}^UibPLuLbmq029c7 zykZjOKes!~WOIhPl{4yA-DplaZK;%Y$NzDdo43~4BpzYbBK zX|pj?NYq~ISV=RvOx=r`M;QJ(vo>%%@1xaV(#<83nC(1=5}98;4<=3LvdqaZk}}2N zzJ|$mCVFHL8;He2CTHFfA$iykM&8H(rMW3j$ow3|rk%tWfa2>iSI;hpY#g4)5dlmB z!)%bjdW@o%)C4IfhmvWXBte^J8W_itp+pui8`)JhY{{4_u>Te&s~&zu+rq1KDHe7L zzpD0O_5fo#?^1r-DlmIss(D2~G9af)d5!c2tIzfo9y-J7i{$dxXH#By`0l6i4>Lr$ z%nLTO&j~~BrQT)6D+yA18V^L|wbi#KG5WJ5>JR>Dr}wq3lyu%Indb~$!M|OXr3$}H zk~tmKA+Nb=#xU~w>F-3)lON7!B{jC|3;0%rQi}~>eNDu$CPfM$$qT<1Ozv7hxx1jM zuff$6XF~1?KVO;E>fka&$##;+-%mkE&Xf1mMzRQ9Uqh2PUw%&BAqHY zpNP~~4Yji-0y!I_?>frxl#q8`V1x*`z3}GGZ6{H-hLN6;7s+{&$Y5^_&B=a}ASD6u zlcZE`c_fC+4>6feLBU4a@-l--4PnTv<(HB-8)#ysYksQ zQ*fw;BQkqU!7&|^bAQEtkR}mMFT|KJEs`slOmNDiDXN4-DKGtq3!0>@46$4i{ z;&~29btO@Q!)$cRT(m#w^L zgaEm1pyj|waBH7K$TA^>m;qL@8M*8vGB_`j5MdtVvY8}{Ag(=7ZOn-oE9C-K$ZZ-_WIGCB^E?xD*fnDQV1r$AW0#&82>??f;4`nPjAz4LbE zcisg*N6$w=^uc3$BfnqaZbyga{8?hm!OsCBV>(%h(NjK2VCc>g&7~Zs+IVoJ51!?5 z=rzU$-YPvkkl_S+Xf7KmIjMVg%m@EK&q01cF88&sMuL|hA>-~q8XK8E0aCdr6Q0YW zAhVI2Y(PW?C8t5|gBZ!cvm7yD&WHCYkD?rXbEvMvw-KBt$u=9bu6yW;`9RJ?0jcIt z9S}u*E0z`GysV>k#Lw2o+R1#%&2VJ}ka*_LS64Fg#%sta={pj`$$pUMNj}I23<+2` z1P$9}6Ub{1P`s0oV?+`gxQih@6OoK6Sx9bZ9uy*nzs&~4zXZ%jgseKYfM|sIiBVKv zPF{$RPF}Q{^6a+3p8)yNU2?lByP3W7cYHq`PH-?z3!=QPP^KPQd2R8avdtFD*FPZjidHEBRC16WNc7;xX zl*CW1C)-wC%Uj-7qym|>{0Ut-36;0HHOZd`^EDT&$43?Ri2SaXAWPJ}e%1_&F|tD&Y7CfNxg_p^Oc6qp zNP=7rWF{kTu^9de(bwT>86=5@1+))C{(L?J1kb*y2e*a*If;VcX3qkSP@QT4z6jxf z(AVDKe~=(wd9GTS$Fd~@5nz4APxu-X&-@7=hkX}>ThhVC`vsGx%Y`;D#e{%a5_wKx zzW1w#`f26ZIN{H{wSn0RgQ^VI0k4AeXxJmEuWf&&fc+r%EdqbmkL29)lFX<<3P~s@ zv_aue(B?`4dOg?$Qc^tk*mdCm1JzZleM*~l+lWh;mC8MOhJZ@qDm*Yf6L0{Pk>6^v*b#9*u+nKH8PXWo+V$Cc&u_p(WaqOrZ~T>dIr@gj8(RP z0BI)>VSALf@8mk8H^{JE&O`Z?cg@2FGOY9UqMVIfP7>me5Pv?W)lG|kwYs&x3NdeF z7;@w}?G_8~;#scG-7w?e;ujr~}#a5xi|aSKe;Eck@<;a`M)r zE6AIF=5xMMSJK9-r}qoM`dWx=%1BC+E9waOO-jieU$v6}kT)ejxy8nUegfpZufhy7 z%;^VTVpC$mLMAEah2PR~l9S}-vyqk5?Pek(gE#1wG3KU>-8|oQ!7=6ACTE5-Wim&SD1D|K#s4k%G28Ars=QN zx$yanV>fYK=l9%u8>^R8}E&F3qB0_4L)c%eO{Ksi5Kb@)k8 z2_}`n$jwW5AAdKl%wtuKO(UGP$PAcSNA_KP5P1RGNl={t2PtN7|K-;f1OQ5{sEBA8i+~SuMYJW*c$db0a0J)CxQd0B6EY2&V7m+FSRZQ|r*<4`(h}~M5 zd9yU>*;he$20QQM`}3|8f^yxI$+tCGP0r;G<<*Wlzm&QqDn{1g;zfG@tw@T6i;c;X z%T21Ax({C8FZJ19tL3d$&JwBmY_4kAy5diek~V4C+xwftzb!pdcc2n_Jv<>ubS9f+J%lpSBP~%a-}BBuL$z9phDp zL`qVN7?DI7Uy$L_b3R||l16&j%0Yf_uw#P_#*LRe=rnxvV*wk>j&Tx6I3w@=il1Xs zhH=6pG#?2yiLaH&d>0o8?6t*DR-Yu|mwCj`!mwX-7IG=JSmwUPr-It46ky2usYoEb0%JzytY^=Rrz=ks>Aa90HIdd-%xVJGv1nqqEC|5l9*c*|qTI{Pxnz463 zxTkU?f>-y~B%WF>=_f!U1sC=MPsl`yKLK*yw;;Yjl{WYjAiqn4yr>Dwy9Bb2dN`?v z9c;@SKMC^FU_2o%04rGx5?5$M7|=b#@+UyzivI5LC|O+bCqUu~>jk=%7v*;~G3kk3 zr0|6pDhMVqoy!|JIj<-$c({Kl%l4kHy)fwto&qjd*3hJl1bk(3>1%%fmG@s&5}xfF zz)CiQx{`$%%p?L8OV9Nbgi1*#?|lDV1;JguxPqn0irF;?aw|FSa)zel6geBNlofhj zp^XJ|EnM#xD@YPDC7GFPKP%#@+48WmhfqJy(7ctb1p8|>Jl9Y5~03sZ(n^bXL zSu!u{DqFS+e-flRDwX7x>?{2|O!6l{5&^E)-+GERnX5rgzG{cx_Ut;E0$J_w&Cah< zPMHFQu7*JAe9b3`GU@g`Z8lhT-K`zfW)V;W&(4cp!giU2&r%^{{-cQ$-t2zD)PM|XyQXOK7pJZ208i4 z`M9pL@KJ8v$=c6ISV?_4K*npe5!w3;5FH>T7py)GolkUFB$u}= zmivA)a`jlZ2RBkqEe1CgG-5s?NJ)?ZxfoR%3yJZ0wXWg7V{9898H_vyisbNMp+@+c zEyRcsxQfws24oZ_g9nq_5o$XnjRZj9pI*85IhGTTqO}Gx8IF_H_z)|3I$+V5F!gnyY@V-B8|i z3cW=%C`OQ?n$uBpfK$|5V(@3{8C4flTz5%)PRuK9{&p1@sn` z89Ex~xaVDqm_RPp7N?$F>X^YxK8$HL8YitBHRdDH^)M<5AZs4drdYR{X|VKY;LGMs z+bUM&Y=mKTczGk4N92$NlrP0#`oQe#Ns%mM5@;KNkmZ%A1nM_N_q?2AiWV#~$cEeIOA8DFOIPY8}itN^TWZDkcbn47#hkNbd;g++YKSHag~mkS5J(p{9FV! zq;16Dhs;eP8ZvfP4_Ok4VDrO(U1GCbQZQ1N!`D1DZ-{Xa7)x2}O}Vy%HZ`acrNbm5nnljS;a0hjptzU$w)mEhx7Q$yZs899m;-1hGxI?5r-m z%?)u4wzadiyDTEQb`WGrWjTJ=!|qIQkFxqkbnS3RARWi5at3C#TpSX`!n`{%&nS`AQF_$*33fOvWzaA%FNla)tB6kXAYj+Y#cs?$_ei3w*0b1U z^h)E55sW*mnIU8yMbjy<%?LpF_0oOhm!a@q4>@Kg32 zx1|_SpnDS&3S}9+5*?C(4I)M+KPwn!k6dl{f@t%_Y({7l1>R&QixHql@7}RF`!Zq# zy>&QQ4sTbFBltwLr4;jO8)_CLHm=q($xmo?Icu~Qk>EHMBO9CGqDtn~HWuUJS}w*) zOX+GqY&wfkag%Y93ye1Jptn~g&ibDWPcJS5%0)+9Sbi5R*JMoaQL$Zpzf zT4Rh-%V4y@p-2$Xn%C!gG)7h&pEvknS>!q7S{q^x6~dU6Z@C!Mmf>t8v@Mr!oD6%t z=rHPTj$CRy(&8n2q&}kp-8o1i?WW#bE6av51`j z*mDzOdotuq1pH)3V$-pHDkDgO1+RCUD8J}*elw&8_=6uTDI)x@5@Pd~i!9g@7IPvW z{E*JNAz-CR6hV|Ahand-zjn>KL;JJcbp*D9C9vTzld>O34+aYXEBV) z?s`{(VDn6SqcUrhzBZk7)y`mSbVJ6joew&&@FNPb5(IznLkq+!1trAKhg^%_TzcDV z8UkCLK`}qu&tTkB^P>d8rpyd9XKcMYL9k`VvVk!&BM`9@1iJ-zPAPUJ#({crey^LUZX_x+#Xr)`a)RLYB#k$j0W7t{$g;+U`+{ls&F$=mEIL41!!eUAZ)}HG>>4ILse(xL1G zablG{HnDmrdui)h9yzj(yYx{H9kDW0pmAE@czvPILX0|H8}T{0v}le#NJWfGW86TO zR!2XwBZBbOyf)dTZ0nhy$GmbWL2&F$jvycVv~xu1UOTv$d?eMLxex=VZ^p-^c`4G6 zMk#0`g%nSKQ)px3*oIWsl3_cpTttkXOB~WEGf#{r4CI|bMfCbXsD zT?l1h@Mo{ToFLeB!6gCfbhf*!e({5)jv@7itV4&pA_iYL+AN8YpZ$WJ-t922-C9<( zguKDAH<+Rc$9j;LcLnadiZ zohfCz^{x^HhMrY$z4>X8bdjAT(oRWydL5h!>9ctja~1%grcD ztgJ8D&6G<=!3?$>l6q&mTsR^@Vo~~ZfhAUC?2tuWiV%bmPKYO*%8pCP2$q%K3~Bh& z@n_r+2DA(gIp}{-o*OYJ_kg&+6T++!U|9(wdd=2aJ&#O77Y-2W-h&Che|d2AM3?`!NjEr&ymt1HT?TeahEKk2kFZSm7WTkF!Q z$d>~V`J1wEQn_kS1sam0PDAtF7o|#EgHp}7>Qs<=wS=r@akqpPb8_t5gs82C_^iZqu03i)#>Ee8bwuS&4wot%^X%5b1jz?w9XDL^!@iHV9D51(5*jsvUi%q#u;qRj1fh6Jm`zt(&R4mMg)*Puq|< z(dYp-gb5#ygr3PWwOX#S>bN+pGc@M)yA#w#xwS!_O}VZOj^-!?bvGM+|JZpO{N^!y7#t8LbdVTrempMA5l0i^izNiCO%CRY|6O{Cvp*MS13s-D_CMPDq^ev6B#N2opXoj@l`~lvkQ6X4Z>C zCIogaG1o2*X9-bez2p+urO&>JjhoKADUVG#O6TWw=jw0gN*gCAw;&cP1tn16ivFeTPArkb{wYz7VF}M{aGcsBBDAY$ zJ$JpAD;I43$^*$552*;MWcC{;5%EC8g6SZ1vv3>-T0|=k31c@^mki3GW1`Gj3@JNn zx=XJ_G)}{xjz7bYfj^Vq3_-3$I^B@Iv$}1p?pzMuEIO=^`h4g|EF8)Lht0<3r3P}< zms?%bPTy4>xyEip{cZ{K!a;&k9Ib+9tbiQ58vkzvSW=3O<)$N8JA<-5r!3Pc7ld>^ zD08i6{g}CSa+$gLMaSX>9aLUouHcZxFqh@xQCz21;|@bH*l{(DqiY>kE=0UOI6Q|H z9k)!Zq$+naM&trNT)w!+@pI*R$Gs9kgQK+sow-{=yCLwOCpaW?;^(<}?iYk7&bqTy4n)16^czCPyT0waRd7r}~x~Rdmo?M2M3nFdAt*R%$ zfrCX0B9|ryGmk_)xe%i~5M$g(!Gc#nRadoGA+DWDb}4SqX&YQGDMUHwtc{p2{nUJE zo(d)6*7FK*doC%I)i_v4AUyR2$pH?{3sP=6Pk;kQ%qqu7tI@1_=%@e01v+cBKhauxIyiq%xYf0JP*;xZZIt1_1NfcRQ6cwaglu1Iw$}RikH$!@WM?Ko`T}S5{ZR@$; z8e>^;*D(dy5VO*+vcyllYEYkv=z8a8A-XIHIW8#%1z2~kyupUdXXkQzWiEI{%<<4u^sC;RSqk&6l47$5DX z+)gfpdJaf2B;(Iu88;5ehuzXPxEvf^lpZ0)*uSHWD9udfc)p z1UpwY_&~UMHxJKBq-#%)xk%YTccnvw-rc1$10w!jl-tI!TuQWyjxsQ7y>LiAB&9ZB z`yHIVm9z{Qo6T}VNZvY3bAto2cJ1^FlG(<>*6JJa!ttf`Xi;ld(Y(t7#H%et^)xsj zlp?2#AF`6mC6_)E(X!_n1?F;7O#HBG}w_vjl*m89_w5%5ubx2ZR}iR z1v>PKgAkV$yM-KW)-|?haAbdvv2JmgyT&LcxL4pY3USO60)r<9k@g5c%iLpK7pqu_EhFA^k{ z$Kjb$IKZ_BHHjNiu=6K=yGOrt6Am~)*;EqDnL4%hqA;jY9Loj$j_-SLRe|h z4mm!nQSTOBUHKa#qR*ksS{AWr32FpaduGCP>P@HLayhW zj5iwkEW~)-fQ2X~Oov-X?p?9tY6&8?Zk%;;*+wFw=P#NOGAJ&}F3bGX>|AxfB55YJ z>2Ru;GRm&fc^hiB(-J(*jx!6p=~)|G!)lU`KG=7UYbO^?gWU(!+0r$e%er`uwWH3) zC7104>!+RGWD9~M!%>@g9Qx#zOdMvU4yHsnP| zWzD;G#6q+v^pr}7HD6ifRDiWX>jEpy=2awo_#=Tori>LL!mB4os!xr!O(W%XQ!ZCo zG-5>TgHFF7%s|tieo!t~S>%x5D2q0Lz#lw+Kp+wpMvfSt5J5h`0V$htYlFrI5pB~p zb`pUDLZaZ=>m3Qu*CmBM_X|g50qpgTGK}ZWMauJ=XRPeL_<=S?x*#K6Wnq1RVCu=S z)>C5_6*wS$gDpE}VSxie5@0iCVJ3(e5VY0CSte#i_Cbyto<03}+&E(+nr9BOB(|O# zXWqG3R=IH&6L(o8+AqqKf;PaXHtHoQdlSrj2VzZ)9ci&FYo6l|)((#Bni^*r4qaX; zScinH3$ktKPM~%jp zjT5EwGe?OiYX#UAHNuQ1#0x*UVDbuVi%}5R#wS$ zj*7V?MKHI7P~yoEzXL)k`VCnG-w+au@rOegJ9N250I?7_DG&pK1k!4plKMYuDi1i0c}A+c-EHd%GrtYqlb|ty|J^ zmtHnF-=jJQ=_rfSBq^7haz2v!bH1dI0PDihsIEcro{2b)-P*|g)>sb28G5FQ$EgdA zhy8*e9Gi%>o-axBUAji>bZ}JGWTi#D_s!J2%9@(`j59V4134qJ%gy*STJoHRaWB2I=uIh(^~i%}w# za&brj#Nj=k&U$b}d9=f`XJM*;UAZ)^d1R9S&z&oq&gMr7ZAUICLf~@EjGTO8&A2#9 zkg1p*_G}fqPnv{iIk*O~2BD-IM>8X*>(D$aW*p61HS^St%@NLw{hqtU)K&UeH=Uzr z^IX;jj~hZZgXgiCnwNgK{tBM!<6O<_ID`UA2qbb*?txg-UDo)9Fl%tgv3J#rj!cBg zZ^up`xX13Cj0S@9p<^4seTU46O+)mV)=s))uUA>JC2Bj8s#yTC>C|0=HA<)Kgv^T{ zf#+4az;1^mD&r;eJOXTczSA7R8l=aJhUG`cq}szK!F1a>3&$Ks(}#0`R~#;V-DR=# zdX>e}+w)6`dGU-<-At96!+Dj(1g40?Pv4BUTZ(njfw|u~gY*l%q;;{eXC;uwF-es|v@vE$L zNkL`7!aw?gk-(~?uYfRtvcl%)_$hBsVf^ylEqjV^g3z~Y(DF_^XQRX1a zLCCd}>dxBE*eg0wx`s=FKSm@@HKEnE3oIAUL=5XxgHgSC?iM9VH)I?-hOqQ;Lnv3h z$2xZC=%-Jx;N1*;CU}JASm3pEYC;ea^Qz5|b(N)D`KANeGYf1t1ZCxZL!f?Jm4*yv zz4RlT;HPhJyGLVINW12yk#3%wbM+DY z6i4Zs!*WB~Dcz89Q|_D1XbEHm)fjUMA(bqw8@@SjNkh5PGrE|OL+OryU?`wq)YwU2w&LruKs%^7F$K?CTC1RUS31UH~ zJ;8YJjOmu(4=KjI<4U3uF63%^*C_bm;wN8wO@s4}_GH`+xg63CjO&y$thRjI%PPcCkoeaMlYtLz`Sbd;dqD zwf8kn>E1TG%JNRvJhFRpq8!=131lh8UiC-M?Pq_i9<6%E!#bqtqm2-kHMAk}vv(?n zHm7L(x>v$P7~|RpAe}L;{g#0Ro5^34hxTpeq3i;qtQn$|yI)|fH#}1hEb0cJ^!L_XlOPmdRlt_$fPA;EZ6Z#Yj?jfziLx21lEJ zHaNzXwZ#oci$SP`>_~8?-jtufnd7Fzto6=CQJia0fOTtiZLL}xN-SbuI4fNoQtb6X zIqxbOHxB=}^{x_91RX*|Cto}h61kW`i1~&gG>`Q2t(QtdT zF|iA=^{iQjL;F=1qSNo$suP^|G7g>ji1DK_Lsa@q&xWL%!^Llg^i6r*bn3zJd^+y3YE+ST=cF1CdIZ6gnI}xAGjv0^5~~;GQnoxo@*e=d8!Nh}m-)5|n3(*>ieFXr^iw#)#5Mhdjqz znRl*o&!+^BlWSs6X2w3rpq0W2yxpY}9HpbaQokv8(+Pei4DOjecupG8U_n@$c$GruT%Un}Tvhk<|0Ggs@{T^Xlz?>eqZBh)d^WCP<7?Js>d)V^W-$RAKo#g zFrE!D&oI{z13Ni@HvZobYaX_QAufxygdkC0D=3c`Gg-k8tLVmQH-|02yKS&e*Ttcv zs24=D1DjQh;ZNj>wn0fL+?KtDlJdvALt^*bByg0q0w?HbM&khdT$-1Xo*QRgI@G8> z@6w6GDI#C`AvK>Yw)@10@I1e*O)dzhb&tk`jF>&^MhplQF)un~ zZmf$A=M*8 z$ckF-Q6amm6-;?gk5jTI=YGwe0!RCq8(eRm`$buju3PpMOl``XVaHuMIiw+wE-93? z-=%*@+BXYfCzMUzb%AZKiH)o2y|0OlCxZh565NIG4GL#yH)QUt>&6+sD3=?Dxn3!j z_gh%Z;;x7(FKiqvEbEtdDi#)O3tJk?w>8$oTn&H54H?XO=bAU2wZR{B)(t`F*ge>E zl;}6*x!E-3#9ZJx1*9^8Kcik*>vfOLq*&X zdJLYiug>i=?()T*0cxyYYbz3E>3em`ZDrR#6 z3+&fiKpb1$9z{8W7(#`P=dKHIIMP)YPY-duQt;$KaJuImjxFux=Y#SJ^1<`S0k#!q zR>lRP*yApJoZ49z9fHR_YLSJ2Xm;Qj9@?k@&iCBJT>0i1R^=Ku&!he-{kd^iaJxz; z2@*?DUmW7|1rdpUm9E)}0$`3mwrS(X6hVtHf7Gan)WZ*XTQqQXEw%pmBlI4r}m!g`z^)R>I_KR!Ucz8gZmAs zcP>KauUsVmF?Z7{7`MH_2|VnU9^iRvemxf*7PHdD4{Zrj4#?VCt${-lGG}fJgtg#dM| zY_K)Pg^j?3%86A{~8`nqruNF=b3OefV14hTpjNRcAf*oc-Qtql$ch-PHX<~irhf^qnn zSwC^+T^4crC50%bUp$vz{D4j_7bKUvEadwCWL;aLEGY`y%3VUL_}c%*<`6_6)$>!` zM)DRF%(|z#`_-wdyKx;{H<0m(aENOrp=i1Y2X#S2z(2?+Tp{OH?XYJRT_Lm;IRmCR z>mb+I82HDjh*cU4E?9~9z`lZ5OIFIUF4(9Y3;_#q$>#PLb=k(iKO_gbJOHt4{r$IL z0M@Gg{GYB-ESx>XpDJe*$4o+>?LS@nYWhC4naQu%^sUHQE@!#+)hjXpSHu8Uqyw&dcx-`n7mW?C>?AOJ z>ioJw+E;vE)l--fQ)EP@v}b%)dNFGZZ$V<)-BnIcVJ&Uu4w;^|6km5^v?llF3{sf9 zh+`lQG0K4mNIn$-Yo*x;?X5HiaNV)LI$u{o`gVy}!1Oc@4{W89(-ZFHYzkQOZfSEb zJ3r2*-m5(!tVZ<|U0DNiZUC%+QUhFi1T-#~3bL~+P16+{_xFQ2^J+0vGE++_F z(d=LvASdVRrkt;y!Z<<1)kWA8`76nzS6w(^<=0Gw^|Znn*LH~*2qh;_;!g;oO;;9l`WR=&*=%+iti!b$_WBFlDyN4t;pk0gyB}t%3UmkE+CtG zLYQj>30)BO)u^80#lFdUDzb__K+acnUCB9LIp1+w9qsc77LM6o&p{k?q8Z{E)ODQe zIDD)kkjzXtCVLVYvRT^0IPB`Z+Vd4pArxHF9wJ8ZE7VxwvXmpq@ZI9rC)bq1^a2h* zygWUEXRDs>;zb}!2T;M#78@!%!{yt7cZi;`B0T<*i zeC>NTX0T9(&(toX!k&i4CR~vhCynZ)dG~BaB(Ajn>4xeLc{i?`NZ!TK9{h|bZ=a+c z*D;93C9;$7(Eu(;7i)5za3#HPdjJ>YOEYERO;^6O5b#6%C~dg-b+;U;*pi=5H_q*1b*lA2kGAkR5PA zM!>q0`5WY&%#~j^I}X}BzHA_VDtsEZs)cdQ^lOi9pHAAN+b4SJ$7J*VwDCM` z-eeLH%}PWTx~JZ?@i&@#^UazF^V!c+a?wKHzJrD*qyNyd5ba1uFVFQ2f%}C~Ki?UE zczquLUhp0L)VKR)$Z?58PQbo(5!nIz)+0vxCRnZnYb4y7HrooAjue zu*;kxe`4}i_2Sfd|48_BtyHL8{c2Opj7rI$c3R7g^Jk|8Jl_dIcvl4RkuJm#Tl*>T zu~8*&ai#W~tnb_*+@!q=Za?QmY|>@#{X!u&(=LjA48GF~m}|3Y$L@!) zSv@bRWUN83W}HXDtIU_Jw<(AXpe6qL>T93iBwNR*Q{K-O5TE-PEVW{ZYJ+4 zd0w=lJx(+b3ORziReMh5G9^*hsW%e7H9o!A95I|FK2cr3D4kYKl7Bn}YtxzgrJ23P zxs@2kDGb6NALk*xqI&MQ}e;?oiND3t2#^s4=cuk#c8%6(P;(s6OKXL#+WJr8U{vI7@1dc)^3;(N*Goh^V(8z6pjgDsfI2Df`T;+r6V{Cx2csfz2_K3E z)L7LX7iv{9M8HCNdf(04dI$+cGm}s>i||7{&bQoawVU@XM{;nHfm@NVxqo@v!w#{3 zaq;vo?_~OycY5mVpyrgDCCH(8dvYjVl1GYf&qBaYm!;wRX@|Sd(=DUYo=evB6e|~7 z1#_dLSX{AnasO$eQD$OC3iy`&2e57!fcU(3Rk^YMpqHu?7Xm=N9VU^+pl^@Y86@8Sh4L_5VjirVe} zJl$3M(6+sWe7S8~)xQ4gX}Dt5uk~zZ4DaKj&{Zt-!nAv7*;#dWFMWu7L@W_X_9~@& zdDU6B_-_Xbk>r~QefR2%2=mbEI!d+@L%^!*;vB@$Cog)2O*Bh{tYjiLV7MyAIITv> zDEN+!BaXDrnBkOv6ft0@R`N0aOErWg`)Mx=KB-pL!+9iFI=p^DBY9b^aOl= zPFQT@R%dXQsKzXxH-p&cA^FkloNArsIQ4L7^g8e3&1uL1A>S8}VLmS?bXPALX)-tb z80a`1u2u@PAHene^0eYzQ^%c5AoUz{Ih}V_pb7Dx5VvPwMx5&^@)Ga@4iX`x@fkVaf5#qUZ36He8Bsy!nS&U*;mRaZ|rlI))PT}tOI1P8q$ zEfMO9ft$b^1`YsoF1#J;-X-zZMgRVL6IqpJ;u(>daId;n)jkrTWWPA*-nDgAgDWju zU$M};n}>Wtcxx0~s7cl=_Mqfht6FGP*GxhoJGmtJq-1&;=H5bsk}g=~mnAFb%j?XJ z>XemdFo2bn9v_2nR5@^tbLw{m-7C+oQy5%;r7IlR#dj}E$DYEw1Y;7 zS38u<_{3mVq$lzfnvl#mqwtET(!#Sf%jcB*!Fej0c)Y<+uB(hvm4Xz!U&*=<0b$D3 zBUWV{7*IKg#*hE*r*Kyd;HPlMp`kM+27pJU+2AK~QW$3$hZ&9&8pDxaTnGSb{?QRE1c0jvBF0zcfaU_O z2;^`syu7BIUgU&xvapL)@dej)E^LZIuoZ$;doOfhr%gG* z(B3MD$1sXHPZ8MJILl!Qj8bku&MXo0a(0YeXksw_j|<4Gl6OJ6EF7$j#{lBasiKbZ z$fL@ta(MYTEJ`PGU9qx)9bRV+gF@PDpIBM*V-O{n-NF@etk~n#@_!JRFsnVQB1_^^ z@=Vws4T|4~SR%|HgD#X9s;E)Pv`XU)h!1H79!JFJsaLSWi`F4~;xSl9;X?JERW9N) zsvM}Xinw2Yl`#L&54CtzG+2f^iGRnP|1cTU;u8Wp4qzfXMakfkgfw_P7g}-CtJ=Xb zI0gY%uJBAv0TS#KIcrEV3v~`)k0hHA7V7>BuR_S>^(F1GN`u-;1!UBhm20GU*|QZk z`4xk|pthf|_Y&0AGitqrFyNJ9{LdNW7HI+UfyozKLM`__ocvpKiU?MwVEgAc#}tL z+hs0*q!&vT&L1uWKbxwuZ;s|8G3)wD1ryJcgM>zBHWnw2^WY!!0@K*OzjHcnsTqlE=jW zi~AJc8$M+7O;&2}-+$!L=75W*(B4~-gQ(t9yZ|ffd5V}&NMxq(C3|T?jSuWmw)A(P z&x)Y=);$TD-d1VA;GT9NlX6VGObh_8$7LN{^xbQ0^Nz#1Xf927_dktS2$F2x4neZ9 z<|o%IG@-^o{VXJ_3LeqqLBBuRGk8bDLFMu<<@-NwQ!!xZ5xi(fw+2Wi=w3}h*q-3< zpDmGjUt`{f7~2#ZmNX1=Jch1Qk?xWo;scoQEF?Tjc*ZPpLJb0@FoOpBHN!kWgY2Xn zFFnk#GMSiuIun+hEtpp+Ap+vHv3dJ$hP5F%J}~4oqiRbgD28|p_|qalRI#EI=PvQN zk?jA^% zLKed|!QgVHjVXuz7q^`v&any~0s=97#f z9okjwa}dHvvng4{KHsgh;zc|Lp$g1{!M`m3nJslK<0P%+e>|RX%9cFbR*(=1@yhv; zOF`LkQjYe7lWT`a#0OlO}puAPV#n$wCLJO;u>$GrSElv+H@4JT=EF%RSMEOJ)*b$%qT zmzlwEcJ*Q>jS%4Yq(%`0c~g5IvUItGA=SQ4&Eg9}bw zLpF-HyDQhJx^}WMpS}J!Y8oJ+;+U!d;wF4PWcr>tzj|$q z`*SCpJYgqJnJ|G_7jEPBRu{J)SzmmhW>+qlav+hCFS(wsO&ZJB1vll0=8*NtImvpT z9I_Je!gG2BKY6}SFKMTjw3Eg1^y7AV6+88Xsd%fkz+dI8_qqu}F=J9ys)rift&8T;m6t6iP1w|x5o@y9HFRN$jn#oGvy&{_4986Yv zWB}`VlF2%%oL!NVTzbLVxCWm+mWbAu54;O__B=##x`as%9%EGwtrWO~#P0>c=E3Te z%g<@_f+gNrgG=`G6#o?qv7NA{od%&U-n5f!EkxG*e7p*c*Amkkk;w{{gIkaeHNBh{ z@pzS08A5NB?1T9gIT*}VbsZsW#JO)A@RO@0YcFy@lRMH$UE+#H6uHh-;4$>SE~GzR z6_0~Zk}U~Gayi56Pp842vd<$l0c*$hcL;OtH>VLpOvqF;j>5*CXf8PEVPmyCy&juh z&O92o+3WDhE+7UFmdFs2Tur)ItIxF(*(EpDF4;13mRFr+NamR`*GVo$V_k`tWUuGL z1ZhWzcYCuF2sW54z|`fnG3}w8-IGf@ zNfRq`Be=rmQ7lAmNc$YTf}Of}Ms0)3Y5uV~{2ewTGimVGC6ua^FzUVSrpeZIL-fgs z{d0eJ9v2;5)%BK$Xdro3nw>OE-hGlrTr0&ZJU0o2j6_yN5bImLnE$8iK2Ikaj&}d! zJ1;O#nZTF|Z3&aCiNHb#lVs3fDIZBjh;b#O8&6!W;GXmrdvKf6>xB@O`}whXKdxx{ zvD>m~!;TS%vXW9{$_D`x;Wp;sXLB>X zA)DTD%~Ll&Od2nH=79sPa&;j|1I2D8uQ#|~)e;h1p`E%82ADKP41=H%Vu@&Wwh-y^ zHZBN{uA^|%f-4Y31GhT3V9){E8 z*l6qF2}A`WChykc)Gr1CnXSkPL?y`;;rt30VBL?$(X>i@R(h(7K-`1H)mN*TfO{fc zR4it~yWVJ-dYbn}R@+tkkDL>?f-lE-QL$gP@Dk!+z9|P+7cfd!O`F2z(WMA3FK1a7 zFgJ85#|HC9*Bi`C2$S!fgqAyiG4)J4Tck2>8LVa|48PB23Zt%z{>TZhS`f@K+8ye; z*+^YUHX&;0@p1#L!!HfKMx~W9rBJOWB;z>Zl>;AxP!=NS8!(Ye@%kPZML^iCG^5z# z+wO{1FFfU-7f-$UTV64*uU7=D;%W(hMUGpzvK{>B%E}mSy0RFt;Ym5W*xYWB90&-ta{Vz16Mg3%U#a#bzH|zE<-Fp{ zpNv?4*YnhlS|SL)hb(+4k>4x?*FuJ;WVgpJAs$yxR(-e6XcT`BJ{Wk-&-jE;h!-+B z)$hB8NVr)tA!vFf@g6&gH7_IBCRMX2nJsMd(Jl&tIxhF+sOWphRh2rTTyQ@}rnS2F2o1oV`-fZ~{t zQ+yA?TXW1OgfCtFXIGi9tb3P<=4ECVtG*i=-<^dVeWUcrA(zeMQf6MVKJ9pnJiL!) z#aC)qu@J()`1sOdLy>D2`5 z-uth-JQ*x!R7=F03si%QDqp9dz|m_Eyy8H$%sm`+RJ;rMc@2Ww3L;S+p}m~X zjT9FH2#Kx}bX8!dUR^lhvZ7tWo@B5ZEwuDqmk@l9gD!x%YI?n+>y2f|XLKd?r4WiT z&c&J^38!9!MgbQJDQ8psu1a944Dy1s%eAk6s*HDKjho=}7PFRlWA40oTWovgYdT62(9 zmxYK1;HgZY+s~euoe2Ma_TZJ>qd5$}@`sTxImXB9(J(jG%P0!PD^2zV@h%>Q@9IT+ zk*Dvo*b|R;rLjch`%Ztwv|~jfrDF-CPcmGN?o=J&1%Jq)hX<~tUwj#AM|~# z_ku-;iB*@5UC5JTWL;W2U>M;_K_E;gEb5l^mAx09Vk6J>wYW*=Spc_j;%jwB{d0@& zaC@yfgIh?_d>J2|%Uy8R30q#suP_c~u2Q9hQC8&iTP=hxn4oBE87_O^DJ;}#ib1Pf zCz0xV2>U8cxJ$%M!M@5{J`Q?CS|XhH7`VIa%{c%}U49d|ys=*FbJxC!tV%QSjL1y5 zS6!=WABj-1x9-aisKwKBowV?L#X>*P9`Xs{ml1;NfN&Oj4n9`3(5kMPghF<5N%Bd_ z^fb)9g$6A_u*xq>R?a)hbo8g{6u1l}giX6Xlh#Bmf_n8Vujtg|3+CG7!&o4^VrRGgO(n-!TQKJge9u8OSxav=ch z3$`Ix2mt3DBIZ}+faU_O2;^`syn>~iUgU&xvapL)@dM8r5>EG|qtdkY?j?M2wz#1-rdy z-LfYhgLM=xl;>IHB0i(aff}ob`{kAJW=|wA^9&jV6Xs8IcG}p=_Ss9*%xdt9|K{%y1i5-BAS!- ztV+{soq1RiKCYSK<>^(}t)&^nV-#-e6sV>bUGdn8 zg*d5$uvM-B*1~lmUR*P2tjGy?Rb*8;&%#q?8Nrrz>+p>_90AC^Mg5nMeUod+ z!YyG!u#<#%bxDoFj_POEbx=feE-)b6p5%k_oN_n-+@C!MMH#b&1Hf9jm`==~cD5rp zcL}T%b1v;RP*Zod8%{dR$YTR_R&kvVBG!w>`5*^=T_SE=Lo{UbN>+J#k~MUZ0j!OP zEA~R^u<9lov67d@?V9e9d3pNgDf&z_{oy*Ku7=VGmXyp#``Et~PU zJ;^cXy&ysJ;TdU05`HBUz{S4l^qH_cJwoW$@&1BHD{?@{F6np&bi7?ST^3^CMvbo^ zDud_)6;tw`pcu*#|g z>(IJb3C}`!Serl;?9AA<=$@d z@zeY)EKSn*VShIEOnTvEA7Od11@q=4L_oZDHt)X<&YdASKEU>`9ceF_pzOtCz(cD5 z>l90hG%+~;-cACVA33psB0gGQVG8W1JLG`Ey3>Z4Wj6*PyOOivJDj6r6lZ{Wq8%^6 zkJo;O74`9|I|x~;p92P$b0lX7W+fbIAndlniVD=znF!)T#O~SOdK=H3+Hy0~c zYZ+_MtM`+)g&!|{k7`M>yIX%r>j|Qxl zRrd*@=e?~sS|2Y|`ty22>!>hZdzJumnegsP|q2LG}PV78!i(wPENQ0a}5 zEhmbXmxn($3WO$T(9}B z*Zh~Y==F|+T+G9GJf9pSWtiE1B(Im5!O(W~VkeCd_r1YPdf^2(2`7=3!gS+`t4t?k zwS2uYzg~jfF0PINU?P@;tJ2`kQ#X^1;&0!T>r`DkS-CEJue+YqPuEFS#t^H(x4_Gj z@%mYC{fM}E*Nr>R`H<^}#~t-18CU8~cvGbel*2dQh@zT=m@{v*n}-N-N$$8p~{;3rp0)?Va*CU>Nh zy2OQ65c$K}WlL^xPx6%B;{ml-x9^YUbt}FLCqP2XrfX*shv31eYnDSG(h7at~ z;5N*+Kji(*yh22lxaaSJdHWlebq&*s3=w_~l z2ne(EB5XdU+qoUc-^WTs_kLDA-PQM=h~^97Tb1S{%_VY^MqE3^Q&;c#r6E?x&xGAukS);&LHQ4k~wIJ(83V5lLl+qVM@m33$9@p`M9OQP3bE3;5x_Z zjgVQ&ks3=bcKz6Hk9J5RPkYd;fA5wiZlB8CMR3J+*OLO$D}dq(2)fV z5j0~b2#K8B4>@1G1)*qkZ-eU!-9E(?(!ac+iY*@Q*7<_XdDpa?ki6HzjamN>&8c!Q zd7OORUT)3lt~D)czn{}HszJrj{lZqE^YnBfr==Vrs!47T`VpF3gmu4qzw}FY1?j2o zc5o3EcVDe$!gx0W=P)yP z`qIt74q=|zL}uKayj6ge8@iNZrbN>|)~*sQ*ZT-U7oVAl)N`XUd%^1W8YMH4)OyQF zCu`25v2j*)^aHbuc8a=U0GMkhdTR7m`eqTninRWZ24AfbvO?kC$4<#U0G#%SP!?kO zA@W>tVQwfS&6Y6POqbFgbW(pX>O<;^K~GQ7{r$lp92LO_qYAeJZYhTr=8eZES40yI zxGRIv7z+cyM0_yZm2py+;8SUOiBHg+v{|OK64h}PRbzbYQ`n3aS`(re0>O9Z@*8*f zj@egeLc~{Q$GQ|6wd3fDy8?Yz4PVH+Rr`<}v&!{Vnooq|mfSFeMB0}^Yc%D%_PWI}&ESNDf#Q-js8S&4{Wb$Kwl_D;EQ79{SF0i);Ho zSZ@b52LJReZZTjhrG>7Ji+ z8bU!Mdsa+!`TilkH#kcs1kI=j9Pp@4&eyy_=wD_G1jTd^D(fa5gOD_C3L1ztie!}e zi!&IHK}hY(y;yGHlAM_^ItojaKBoh#QSJqMv=X9^+lBZv=7VUV9dH<3I zp>@Jy;jUar!TGrKCEZo?c_pj5B(%zSK~djLMAy#~EgF8@%Bs3JVpaWflPjxbl-J+C z^7dpzIip&Fx=@qwJtNiH2(sHFlKnKeuxpdEP$pcJ6?h$P9Ssm)&{q=NZL{I__kU!iTvUcQTN} zOhC}T53Ue7sjC$PhnTuHRPX4~F4r;&b4Nk0PN1uuaj^q zvxD&OllI`9-J?O!_sRTGP64U%lB$eJU*3X zCc@b{Cl#(5v6%>7F#HW}W&#Ijj1uWWvPU!N+Pl*9;zhW0OCCm{?5x^pv8}`#4bC#E z3$W_e5nC#jX37Z>fQv4ir{@*~!gRvk1qaIB3r}%e=la^QNx!oIZsWw)>V_O_+wvW5 zBk^+vkC3Ek86Ta?Bkj={cjSfqf^lJ{Dw&o>%_3)g)k4s~1V!V>aM=S-VWC!240`3d ziB#W1SgSPQE|BJnzxlq}c*{p*048FId=;61iL6AdA{#J~mU0e}KYLn(LfV5tYn5wA zGS3S>K2^I9{KDYbd_>6Gr{;%QYgV)e0|;p|9yjP>G<-oezovR}P72!^Pb?kj;C~ z#tx{>kr^e)pO85U67x>Uex@|<6xw8bCKxv0DjD-7?QWbmMvZ4mTTKW%sX!JiWSqlE zxXauKC*kfbl6_Zi>_+J}Br~evHWV_dVXlj3x7EBIY72f*7X|^#_n848;)f8m%L~{8 zPbp`ANl2UhBnpIG8KXp8Mr;@Dk%GNy?-{mRV_5SLLV+B{$4kuS^JU#kBX#wPSf!Z>uZn<%k@t!yj7ly`LfR8*0Mqw- zl2us;zYu=O`LnsBEFxD&B@=Kbf?57R_-M#=9}SSMDh0ZN>&J`pxFUwPJ$pjvuCo(v z@2cJWWBSLc2x#U*n!ot%pZuChqY4d=Po=pDTSZWqFdAN^bT4pv6XL#m{nOigTto(G zT)P)0omBw`fT_z%vF?RiXN^QPP)JWvct!cCTGY~n^Xy?6`#mn|y4B`cxuE72FHl*< z@ks4n6?8A1x+*I_K?r}3h6f8Jd%4!V*6Ll7!R6XnlW^c>vTo^qzIQKh9@k7(M%Al= zjv9ccIgt*S$Vg%5(KNrv@2VVPP!J3Ns|M&^9(Au$I`7_t0g@#r7QlV;j_@IneQ1_p z+$ovh6;U^Ye-|Va?!tuxu^+BhkttYmBIs@c?@k$F1k%dvz|8auYI=?HO_&H2hY3Qu zXjuD2e9Y>cZbeM*9( zwM$^P0dnfzf}KRQdNgeRa<}o{>L#nWW-M&~KdpD{304qr&AKDaTusx;EC+mwg%d_G z@-YD1i=0upFaXTztIwVAsx*L^bzUF(kAwexNS6=1yn2Y!EWo{TUBH2Og%&j8@-iZP zw~7RfcYmk%UrD3q{%gtMsl$D@iB`o%$MT45Sm#ex15Wg zSq@#2jA$SeMwy)j=Quk!NbXg4SML(G<;9jT_Lbq} zMv&;c7s~$grf=;aVh6$))su)~2pUYtk>s1=X%EaruyZbsTv423X&H2s7$VN+D|3Nh zv+DMrUHbdLrl{5JkFndZ^6Y1cFe{?N{pa2GbP?u`bR_I(7rla6V~65{jq_(MLztop z24tObtViGHGqYdB2PBP|iEoXst@_63^Wjk4ZSH_FHH^FpQ@Q z1Hz19g9tZ)z7P10AT@EFgzt++AT>S%GblOz6QX(pY5)@%aczp*CwZ~bD9v&s{4z6b zt}{prmGiKVyr>Cwizjg{ESHGG@o@jh*mFA@6TeJskB@-Y_y8JL3e$Wl}7ew41R>A`{ zw(p07Cu1P@d%LLrMS97RmPN0j(r}mBwrG~vtVmWzGX)O;X4a1 zB@cEk1Jyg$vJgndmcy!Gpt|twcBod5L957uh_d&FP3 zd2v!sy-Pv$zSLL3cN94E0@Xz{jz0*(Mw{Ipzz^vOk4gjBD&mo6#}Og|7J^>Svqkk` z+|mHiZ4a7x+#aY$J7D;iH#v~Q*HG#`7llbqFa#@iq8TQwTqum#r^mkZrNSmbONwJXWAz_?KKaXK0OO$3ovkqMZ{NdwNc#!Mtk*mzF|uIf6r8IgdfWr%FDB3sZHGAk61u3L87Sfnyu>GNMeg#*Wc;&A5@3Ex@A+;lh2!G^{p^ZT!tG>VofQ@~Dd2?v!2i38L zhz*!D<{uN(L`JgCmm48xYX+OrN|l2b7L;R@Gf6029LyIDZkMM>MuD=6_E3DPr$|b; zlG+bpW4~h`>}e0dEEE1gzL)bB-zTZxyBKf@k~e7%VSUdb+Pr~=Pu&Ej0c{88t0j`( zco~F+Sj%tDsN)#wBJI1+Li7I1^1CaRaFG)<$>kz&!Vb~&gxk|)(d)@(G)SOPw{;U{ z#J~`&>f_LV9T1Xc5`KtJLjxi?hr*2gDF^5OxZLoJYEPK?jL5sfCwbE5M1lsA^?e(E z+z~NxA;kCj#eu`Um$~Tu#V`^DNX-_*RErDq1se9S41{~Z_h{Cq6m~1x17>{sN>`{W zgj$IYT!MD_g=s)7I(9`MUNlFDvIP@7TA_L0|4BJl!q{>6&s>u=zv(3H#vX){LC9!$ z^K6)q{4Um!cCJbez{>ap!>p3yYeto8{?iwZPSrJwocLB1%A!_j5bRcHLb7b$@`CTk zENmVn8u%s{2y=&o&9`tFc8P_<=k5FkUAaFu-X7>IKySspZk4kDE$NlyCWVp%#XwAF z!J-L+_t@Z~3FHc)XwZ4Pdp~MVt`ORaWa#ql*x1$j&jt_w0bzee1lpl%7MlZM&VwOX zSEZ?5gq$#eks6OZ+D{PLVTVF2tXQ;45`DRgb;zXX?9rVDP9e&CVs*Av@-7F!*EK%$1EX>z^aYlT8BOmj%UVLcO zs0g_3iw3mIQ>t-=tmgv(m$ZkIy~=4x_(Nka&KNLkDBaV!Q`12n`x?`RzeS=4}SmSdoM8XU5kg*#Tis*oX#mb-(Yp>g_GOz$~waw0M^- zE?+4dX5NAv*v#*bVe1LPLc?#*a(3J}|CPzXU%jMIZ}0d^lpF-isConGzppp=>wf-U zFo2rKOqlr-YEIFG^upD?;*90zjjZW@{@?{ClA1G!jtq-TZ%c8l144H6b_ZepA|Znw z@!2n`cH!KrbAdSPJDiQvXv$~2K?uq80&iVo(oTsOU*wocRt29V}FqLA%8B$*fNK zxL2A9Q~ZOz$6yxi9g^Ksc8GJpC4`M}M)(4*2)Gp0n3z>)0vR>VLomB7D&A$j!k$qw zDr|OmC_Wd1A}0obsmqJ|Ir@M70<2!x_l=3_ojH#I{{eyiO@vGK24b=f2hBvWS-Iwb zg<7XzaOYT6PJ?z>$oP2mK7F6(Z|rISn7X`S^IrjWej+nrd3q(@WRFjS;e+w<;8*n_`wO~1T?ovcOuhr=0wDc_rrq`{y;7?Dq` ztaANV$cO)2`QUG1(;k#ge5c^QJuR*uIUCO^%`Scg1LD()UocZ#;pr}tF)`~D3(-4V zI5&%52nqW^ItjzAN^S)Sp|?ae9wSJnL?b5Tl&D7PDWgVeFF6*5|I9_4ddiK=-dS~d z7cg1#&)w6)Q=;L8KYy2;G~oL2E9B6gczkMnOp--|DaYM~W*L1q7KeHe48lyU_r~H^ z^>aMN)}_AkYAq)XcE3<4nvu)MU>mg{ra90G#`fxnuBZ{^^zQ#MZ@nmB;{0#1hfJbi=@n(!ZR-EC*|m!+!~= ze`DBE7&8HTZ)o3D*MY)^#J^0`zh}gy5?oO|kALKbf6u5h1$Vje4=BsOubc-b2&0Pc zi^e~W)C_{gCG!qs-nY-|WW0iPUR-sEKS-PxDW?nmMG&$3yg(N@^}Z>bJkQgZhKmm( z7{u(*!e}5To-yaAU}XYQ&^s5=Z~$1{*2+d!UE3jzI#vz<@8Wwn_k-*zN6~o5qATjD zIRGpKYW_m9*xf8|S{B+D^%rPJoN(!6^y+kBdt>Jk0~D>9;f(=EE<__TbC7GKc=^6k zvK7g9ReN?K^Kk)QI`PA$0e>jR(z)@ng(hgFK>IBDjG`)PB&`CdiGr(ScvMa6trXUW z_7F;ai}kOJH-tjYd^F3OgT-DCkAaA0`N_B%2p5r=Fg*@GbUn z9DG&sl`!^|5i#!&69E^@RKzd{SX}@Z&`ybKBuu|LB;$lF{TJYephrW8sLpN?UPM-h z_Wgg7S4AKhjU(gSPr{0iVNfOCg!j|FqN`O0jqdOM`~8>EfR}uSxz4rd*9yNT;3tPj zD;6Roq@iN?b&7?kWsWjmGiQ0uI)gwIu_bugqXDdcS-)m_F-M6{z|;=KVZ!%jkpKE# zb2>GrbJclw*0~EZccGbwNXkJ$3B%Lo2?ji?T&qeR$)z}>g+n(=$>>;T>1u(jRr*Q} z)_)KREB63E7W-4maZlNiEpK&}cO{FpF&{5HBZ9{p{6tnJzGzO0-z6F$UJ?65s2N;W z2_i2rg8|QCVT4vub%y;FBz%tmyr>fCC3{ydG%Is{{lxhc1R_HGSM0&W?yq_Q!)Z?# z2Qyo-8H7T-JN6%`{`;`Pg~Ej0-`Wr{L0xnOSF6aZa!fRQV@QVnUz;(fTXEh=QxQzQ zwBvE4!w=1^zIO#lZ#m;7)>rapF9zGxCBXrNpYMPI*){7nf{v|AdoQ*gL`>TK;KZws z{A(LWgnZ-UKk7_j+|~WZ+X&~*-<07;+TE1X|8J#0m~wt;aU4nR60cPdOKad6X)y4p zs?Ll7-skE){?yAo<;IEE;UFZ_jteT?sDE2awA?TGkbBH5$}!*&BC=uzD@pU!cymp zoX5edJri#pJtU?#q2R*7s}mMU8HD%6FkZ&$uOVTR#WboD$JKoNsi%TO1A1%kaHFN5 zu9b+id!>iJs-zg=AGP8iG3(!ZqFn@Qa;<;*BQC0_(OQ6z^Nwy539DWhjVNB2Y~4QX zBvieMeg_urhu|_P`vS;m?Y{^X*{$6~z{-|Cp&RWTb2SENh||KuoZssDu`U8$X^j||@t8uyfMFtG}DgjSxOM0A2&rts$4 z+0oH&NPKH2VD+$}=6kE4e{py?%>402ePhLO?d&#*YU+M(@B$O?%pgPwr&sNUfmu-IXIj2CSnjt znvi^7e0a%T_Dq;-;ivR;$Zu|#O4hH2M+VbWBaAR9`H-{xGAF- zdq!F~MzL^Idtv~%7YoNM_QU|N6${6z_N;{ImpAkN%c_4Lv@iw^o4DLBFHtuu;TQlO zr&t)sEL;KaVxiZ@n{U!Nm{q$6!bb5l27qhC!f>lzbWoGa72B-HOn4Q^_7w{;2$)_N z0^uRydm{W02!2&$^X`HJz|2+ebe{4Ej<0Mj0C;qXWLH+x17kgKC)3sRW1Uzjpy zu_p$ASG90gdv?OJT6n5GC*fTz9Mv8S!thfh&s&kyzP=(Eksoz-LLt5I#%8Zpk(O{T zlD+B4OuzszJLv7L&i0~XvoGKPFyrHU=Jwt^EsOzRO7?;~5JfBofJccuEL6l|FspV1 z!aZH`>j>V`?hbezzS;T405JR9$jnt&90mbveI1B!n9;ysRPBh^t{EN!z>4aWh1vmP zFhNZ&kLvzGX2PpT-qk`30+#lj@F@s_r1Ec+Ox99KOJfh-PQ?0+A|X#C8~E!AmC9EOo-&H%!IGZJFgHp>)NYn5g^{^XO&Pguq08=#L!YTj_s}%nkT8bA97$BZCcF;h)R!T6OqAT_d zM_3ylFL}>IAjvf&5Ji`lyaBTgCzloNF#tS@9I$3ocS^nm@rv=V3m_MeRXl}-sT~O7 zV|7juNOIxvtaD*G7xRb4iuMRPEbKL^Kz?R$JY8`XOoUbz?tf~3b;>}Ev+5*@0bped z+{QsiT`>TxPSY)1U*Uq{)gDbqUI--P9FIZB`C3EbS*1W|w8-*3L_k<8_JEc3PbAZ_ zl2I5$j!FAeCa?zyWWg29&PbYBkRUvj3tmXF54>#TZ|pJ!Az67CgH~(?0xoF}5$-PQ zc@Eqa*6JL9br+ftW<^dQy>JDxN__Sy(Fma)TGr1TxXrB0V*su*3QZub$~kyekkEdL z9Ixlkk!sc7caOHkwmw>zawdDx0eQ$k1 z1efn9G_iaqX_^+IRxY{;grBQ2CT1gSR^}85qWMC9vB%SnpM}G39qPB9!GPbD)^8nR z#rZEJj;osAn_m1H<5i7);<0~(c8Ca9xZd$YjFB7MB_IOA9?hVz+!GG`x=(T>CDJqH z*gtJKjB4xuv{h7lA{x>)b15*+sL(F_VveDaxbv;Si)s)}VO@j%ON$vp1Qemw4scNs z#nO})jS8R ztKK21cObF{Wgmpmix>db{h^Wd)-E6}M|oop#W!e}y;KbN*+WE#kfsl0kEdrx*k*#MSuz^W;Fpt-7vY?vU5t7hFFpFDqdV08_gcuh+NR%c_zC z!1Oe(?;%-l2X?}o)0jM%Km;_HM!g4_pHjy5%b&Q&pZy`hC7O5_fMk?kM?qpee{In@ zy&bsF1*5Fm10?0FbhkewoYNbG@U$QiXZ!K=3ZAXZV3|jm-=X}AqR^}ap zfH{M{Ag}iqH~SPc8xX%MjccEhvl8LFuP>2RX(pbLra=SJ|&5#o_K3;VT_b41S^-BFdc7?EyQAE|`${d{f~m7A{17)>W{oU+9I~%dr>$9tAlu zJL(6&3@s&l0Y`;3ssZ=s7v;=1I~2xw_d+>rUZTNN!Dh{A7oq$LF3;X2-;uqoAn+aK z)z5mzJC}^uNy74`2837DV7xfNTdGyKP;iMR6vG7C94{*B`<)2Q#WTurT`2BUL+&oW zw%$N3=~9IjicjH+K)~iz5D43)%Ej!c&WzF!MzPL}N*J^A?Lre3qw2bo@J}YpGVd{P zc#k4yk2miq#R5?Udm$NJz%5A7s19#pRrQX?DC$*p$72*q`*Gb}D$npDBx}CXLRGn_ z;=(9JehN`li5?^*Gozv~MG-X0EF&cQN7pLz6-j`Qr~*MfhPk*^@>eW`_R!TUg5yZ_ z;g_sLpg2rW)tM-+WPtg@-$_rl-Xw+C^#~@(6!E^^u z*s6ZUD>S^2RF8%(0EIuh^%w-KH^q&JI%o{y3kd2#&Zc&C&>ZZi9i8}%dY%!B!Fk%z z=iXCl^{BBAd}kHs-TFn#&R&>vhcL)UyX(SvBk#lT^$%A0bucA~xi@nRCz@1%3k{uzHYUdEx9 z`Eo7{zjRNVHNb~xK8L%14ANM_Bj@68Fn^=*hhTO#xn?4l$PUDx5y9Y8F3^OqK$r@Ykd|T#>J6|Jxu03z$ygY<>7e-`- znQlF`4=g0CA|i$q%v^;~ivL72b0KyjD_1464lMz$J+zj4uG93ZhY2o`nefR3(H!`N z5BW7hylc%J04BJwT<GT|vb8%B9Kq z8ar1UJ%y8Sx3wzAqdF*gT&?b(b!v#1)^Zc!pf0F^!clh#7&RD;F(oJMIsZj4=qC{! zx7YzhgCj7$(((`$^shjBgFeLKixB(HY!gNTwI7B_i!RwUY*F z7M$bk!~n3qYxGH&_2s{i{0-OzaT94mMu@U`(eY17@p#ng>#f+Y1ArlhIVny)SfgwjcR2s z!URPggH@s$!2*0L&8+rdc24E$i6|3J63*g9=+b$Ls}{7juX7>XHD91{6I9pXG1^wu zNN6(gO+tO+7lj}aUwsM|Eh@cDn_~c2z4^l6pYC=vfX%F z0tQrHvm&!-N6o)$B^-sj8{WS{6YxnI>e9VLD255@Ci*|s{6c2JmNaDTEiDuxzmPho z&JH4GIj0;1e2b@OR+M$9asji(Zm949vl=MBt)Cl{tN3cMpOqFC@B|mlekuMVJXcsi!0fzgWy1ZEY@fFsOJ@pL8xm>;MH#T}q}Vn$&b~PzlJhrsJ?`p^C|6eZHHjVm8;zR5 zdTkpNO!s&lkzw5i!s%yu3BTX#5ym|HUaltv8C9|LD)`5OZ;-*pVtu6}EYwkDe(JR* zA%eCRz09ZR@!K{K8*WtT@X0;X23a_Cul@K*hcwE-x1J-G=@z;2LHr`fc;%NI<4=eg z?J5|u-Bi==vu&{fs&!rdL7vw1tXI=LwjmllpWib4<{M2{mZ%)E#v2wjs#Z#yp>hP>*c4fM+=d}A%36bKKMJLGBVAJjA_|?mwmlL$ulfB$Ywc22e!%U z!5%TX$$vo**AK#q|arH1#&zc7uM6dWs8F zqaVh|1#ZCR1*RWQ-v&vB*AbBT0T;I)k}i|}99z$CSf7JJW{0>xq`W&N?|XK?{`PG| z^nC~oR%GW^6_Vx`V6m(~X6Rd)Q$B}Ae07bJnvcsq#eAZN)t3UP^J4yzlTc*?Uybjq zr5s@br(V=FWI`J(kOxA0x!vvH`V7=e;C6MVme`a_S{;)=dud2{0<7K z(Y4%&h8&v=@l1oM zqzW`B7V!Ha%+m-RO|*_?&juWc&=(d#y6l5Ot?GJ4`pM~?^c|Ok%k{$odY8ee^W~_P z@Y!GGj(!dN=)%K&L-F10AUtRgiI>njda@_{`s*=1)Lac|kPWww`BMQ&q|%3zCK;cY zL=&?;=@_%-jbiczE-ccVqmVe}HV|fzs?ZTb^r>xX-QdgGm8rrbCZbNzh8p5p0U?XL z689m97={DuyOA3;4u%r8IFCi8L-+O>-^StT*a(NJO@(@_+5;?CL zp*F|tc~vIv0OaVX9|T0J>C8g>l1=~d^C)Pv;x@3fORQ->xM8Dq@*83{g1h#uFG$IC zVex?qKcZp%>LS8#i??ja=;6o@g@&)lZ1s?^P9ul}R zhWd5PKz|ARO`^~Ta!kG2Ek?acyobq%!2F_%nVbDr_rN1%UUR{XNmdm598(Yq*l5_^ z;@z~M+2;h(nq~pRUv_eIqy{PehuakA^bv!v7IX2UXl7iDDP?MQ3) zorAA+>R7Jy{TOv*R7WauEc^-nTzd+;8fv{8+<+dx{N*UjYEA{!LQGPM!Dy4eLZZol zei{Iz2*o1zshzvwZD^Q&AR>Hw1EC*7*%daT*cV!*(2Y^x-!h=6PXy?BjO_^>o4z+O z{Z+`llZ*YjNf&}5L1o6y#i&7%;L)pbW!gv_j;A1Pm=8$t^R(UXaXoP;4un-lU9M^1 z69efE9Y(&XK^Fo*aiieR3$xLIiAW&0CS#fAaA-?v28*0t(RzNnBr#Xjr81lv%9{-| zisBH00w4OrG!LrrPn+#0%ZD*)AIKhbLXML}G3Ys^)BFBRTi=_Spq_`iMW-TeRa1mZ zZwmZP8N0r4CoQ($BvNjv80XG7WUB`G&Uh1CY~IA@{sFMOH-bF0D@pAinhoRfF&iQf z6PB0zjS^SJL|wO#IREr_`0cIes6Wm|p4tIO4NM5jw4XYX5FPaOIX5;&U9vNsld$gL zWRxuGCn-ELD%Ub{9gAIY;DHM2tOJxIoc`=AlMq;V-;HJ)h_iiL7TjBPdr)*l-o!xs zc^{kUvn2;YNEZ+j1^i$Th1@>}TzjPt$mz5C9B!+u@@o0wM*PkYw-gbDMrkfE#{xXv z;#U{Uq>)hf$AqKt*i)hrS(@J3*eESd%JZ-W6aak-N#N<p<{E*WPJ?%{QNoiBwET7rsm7 zH%q=Z>}g31;m*3_#l=H;t3`A2xOW%k7pfSMCSb>gRK`$~#QxyB{bzb~#NZqJOB?fL)pM!=qPhsC0 z<%Mt@O`*J*?z|6a@-;LmKl!n04~PsBeP=-Q0Z^4Bzt+I1n7%o=*~uJ-xbTedu}c^) zVf*bFnPP}^CGIj=$cWXlGsM0|)$G&*lbtHmfiS{=Nv3o;ZqiMnKYg@3?*G)k^ksQ)P75 z9;bNliBf_kUv+5YiS%U}b{=#+Y<$#~B#Ak*$uad&n((j@xxpv0jz(9Fin&+~slR8dQgb9A-cuEDu8G5fL^D#?j_hf7kiFkT6T2@RcJMl9wp}BKGVCzM$1%4`Gd>z+zHH zEvwpT)1TLBItd^Bmrq>e>I@;F>TDAn*0=iYK$G5xBcX2K)0H-jR@&(fh|YJNA6d#0CmI_FHTn zEj~Wo1Ob>626pV;wqzTc&r}Ps)1pjU*dLjUh7}3KU{qC~7(#C3e?TsZZYJp8oyi1H z=gXR5ogJ?LbRk!yRB){+?V|y3AuWbsdk9rkTxG*I2$+PE;>5pBX@KLuqCXXQUf&pA z`7nU|l6q_rpo8b+uOTN7jYV^s0sh5tJ(l^8P42z%@DxlHIb=1V!gH>fKgIXEa=+*+ ztSRJ3FPJ8^;lF4!_G@dSKud$4wlYFuhJW+`2OUqSVQj)W_JY6zX3FLQoab}f{Tj8? zf8cV%-mYo%p)gy(YGBr{!*OiM7YndB^wf|xqp5F)s6$s>^wdzuDs)xXpEO%I z&#$B~rh|oG?)|ynA9eBD92&Uk3hm=Va$qs)ySc9!jK9R_m%2ZG6KfmME{tSDY7s~b zeq%{zcE!YQD`^j)sd*`{)%hdn+Wn@4yGOx;9iU@HWT{GaM_~l4j;2^Ez295&#l)*M z4djZ}$n{SH8+sGJxBf6L2efy3<@sTf@9C~TFgR35!aGC%lu;cB5$5?^QOFqk;Q7Pu z^IltZ&g(!A6H}G#C%l~m*RZg^V@}yhtVCpo zRgx^krZT;(jF`Sn(iiYPJEEtYkn-hq9c zmsa>93l~-M9(_R7Dm%h=P%Gndq7(K@a8l7rit?DnHNThc&4<5%<`-DKB&ycu<1g~B z3XKx@9hvS|c>)$VxhbbtOi6@{<3#-m^jmzb`=?dIxz}C-0H#KcLDm!KY!|Dw{skUd zgj^hgGZKRq_teb>R?|;q{G`h9cxn-I@KGy&^G+uIm^5>sf)lSB<=hz`df1@ybCeoL z4P_@@{@RPua1YQZ0ehy30#4j7M=#$?JQ}^1eE%|N>?^U6hDPGtllw?)vQ|uB^CMhm z)^PP2vMJtnr%Www%jBKg!DnTStJB}(k9anD1X(b~OpbhakIqXZM8{B?^i{o*|S>O9BW{ zUZDjW5l(jh%$8E&x15{Em>(?!Bin8(+I@}SL^N)~#$;IGAi2(Gl*b@9RD05DM?WR6 z$>dZVW@>@;N^)4Jj`S6IU6vL-`QRsTC!t*Wk;Cs;e9^kuFa{(Eo>ZNsoSY$9;y_QH zsNv;N@!}i{`#p$-mIQk$l5tv%klY~))?YfXWFkm@Mi$_#hLpV&B&<*;?$&{1~$V{NTFYo$G z8b66u-2;+U>7HW_5ZN>UYTqH(mm7k>mhWerhNv6|k1rhtD4AjSXH^N ze@VB>;$^yJjb6~IbT)wxYhFT`PD+A9@1Oa>Az9}~%nwy=NrKFma`b2B{9HcqagG^N z&8%~D05119w9HShdY4fn#P(?_%ab46Xp*Nkl#h>j^xwVi(vK$|e&z|&b~HmksUZuF z-v+V~5ut%pt?>wR)Q6eT7=Lm|e=oZ)3wl?cidg_l$Zg5CAc;4A+ntB%)tYJ*`|~=C zdtV3{bN`IuNa?GS@1h4L4Vjb&Pgba`*WEffA zdxB+@X-uLrBb-^IhiR*H*u5bRYwkh6Q8(FQ80wH?fQr(Lo{9-I+AG%07B1=b=c z^Qlc;u(YGUl!24beK@5cm<>Il`Ji||Yuu2Gt$L^n!z5K>ocfXhSuSp;gMpxY@o0oT zF=9D|>mrM8FR}c~v z)K~l!iQHtkCVso~1T3OEAh&_-j55{kW1#haV6{rt5-FxJ8Iq#Z0}TESt`6ZFm{;5{ zGo~%7=;CXTcp}_dDar{SAVOR@tdGraHVM^#A9@u@kMrxBv@7V-48TWWR|%&+m-IsZ zeb;)cbT%^wMFe$(cLHn%d=o|d05@zZn)$A3(oN&QVhoAY?_4bcAg?8kym!z0ol-Uhftlz8K^p2$LqFeS}clxYr)6x{p1G z|3*ePExCZ|+DzlHUQ}0ER5)Td=q8BA7NMY-*@5ghh%@wkV-l=4neAdyP|R6TrtBLv z?J(?Yn~-mI6bp#;2;akgusjp3--QOB9bXunvTfF*j``8`yM=u+NZ^|y&If8$4Ow)_vBh_UDI{O=f zGDGAA-Z*Y&-ahvJ<~4O@YkPS|BG&b_ONePN+_mTd*m-az-0>Q!%F!kztTaH0V-*(9 zkK-xdXQ<;WpOc9FMM&LsXGC73dFadV)er$2dg$5tEeKR3m~3|MNmPYB&Z9tpkFDo*$l$e`#_61O~z}6$5xt8gi4={*J@j zqi`sX?hvB+Q7q#bL5<|T`K=PJza22tj}} zA?8!>!3l5;#0E(~CiO5sS0JN_X86|Wk45Vi(?fD-!bgRIe*Sv@|@QTRP4t@rI(8}0ITqk^=mCv z43tHy^-#>)e7(zBm`E$o2*CQ6oM-{SMke&?uL_W-qjx3|Q}GSWL8vcoqe*qN-_ zMYxgX?GXI67APgdg3fag4hKl(30CFZR?Ob|eh}HK-eW=R)A(*pcQ^QiB{W{*{J}|? zeCMEuFj&)-=BL*8IoQ@5OFYA~P{Ri`*)X%y|rKpmO9T@!|2s zkMiVpaZH^C{kWHZ(e&{Eh!0!vM|eb8Ijj=7Ox+UmAC@LXZuU~CToMa}EDQ%YP$SLV25)Qip+p-u=Z5)px zJ2+;WwEBfvuC^mEA=gJLRoFLz-_NCqI`SRU)i|2DWcC=IuSq^hkf)w3orPsW48tYB2I~B96X31-wv}vx;^TePZo6 zk~fjtit*jH&_jVg2tN@~BTF~GOl@4E7k<>6oSSAXe=8D+gwjnp2o)WD1N=o968?9&?`rKP2=+6YIXX2GV@2;?Zb@~*~4r)`9Ht~6f0|b)?h|jBK z=?S-mlo9@o2$m2%cu6)9wQ(mXI%OfdLd2;thB_1nvIsbr=zj%yAZVpTzaM#^=)E*5 zrMgPAmMS$uzGc$8BHn)}EkY`b8VB;kp|lWi4Oqktq$mvKh~Zl+p}Q%)hB!f+hHQLK z)|HHyWS^-3V*}$!{XsCfDdVFa0ISIcQD4otbD>iTNLgFy`*RgxlR@pKx!162qSuvX zAVJICs*9HA8d|3Hw3p#10dvqc8qH{k9%Ll+1@e>c7Zr))G!jeE^#>)9P>%b;^L|J2 zB^PlMrc5a^r|poQ^;-snt*n4);X->a6~UyczGA4s$C+WzW`0y78|GqUPMs1TgDRkk z&?>I9A$SoDIc3`^8v9R?6j5_8LI}Z$S>+AYV7zs$_Lob8Zi8+g zhYqBxpy>4#xV~_lk3LV79#VPZ38PYt=BqBeN_MI#q>*I`>`L!`{q6MLn5}g2rJe|n zWH|$yF>A>1p(jaPt)YPU*HGkqkcMs>rCwBysMni6N%X*6s1SQnUEiS(15(!Z^^CtnTuxmq=;Z9V240z6}R`!q|H#OznG;f;uTT{l`mNJpg z)W(pa0T~350i`b^k5C1H&+xwU9P~g9`i{I5@_dqMVAr{iHEiHuIY-%`CuB;IeqhG& z)|zN&&I4$ALa@LO!HdhgK~EWj%Sbi{?3NXky#YOQJRjk=w`)VJ<#Y$z z2}K_)_4?UZY;t%fz|M0Q7Zb@lS+`9(!A*yXHz4!-&fso ze66!mRBo)@=J||o3m(KQ*PDT?ql-MkJplB#XeTy<73C?22W`Ow5%yr?l>rAQ{UrAGAoh%L8&7x zJ&*`DSUoYZ6XmMDXk0O|BA6-7m=N&OIBv9*V3}qxtFy4P``fJIL$&XWnZa7gc&7$V zTOxmI=eeI9Wm2~+uGUF-BA=@QxPE&AUh?fbLM|VLe=`=SoDp;T(dry;Bcoo==oz`B z`8xT6`s5v_aSe+d8XWR<`-FwEE0d7)-DNFtG27+S0nWBcUX_c&EucRQ|A+;pmRFcq zLPA|aOP7~&FFd`AVm_{3L6lNz+9X3MG2lULinomZ;!Q|6#f0g(;$LKifuIy)cz+C% z`+ddVBgOZId{DMvt>X&glA3pIj%i}6L53G*A0TY{#k;o;UZQWdT`!T1Hpxq}`IeS4 zXUx`1_wuqH_^DWc8&52H!7<`l%0M0Mg>_1?7*lr`j;snmjz(E@R*1aP4nmevxelX0 z;Rgpxi)iqqcvk@fqZLJn|3M?HPHg4sUV&wC3AS(mS+0(}^MKx#>%a2&wf(gTaSQAS zA^BOnI=8Plf#fGp9Aa&4$H3tQq=q(};V3y6a2zOo^30tk#4s>b?!kYlpY}u9aR>}g z6Ow)={l2`(w+ zp4WsJ|8l9nXE8K@rS20c{&Gh`s-Fe|KN86S09_^yG^lmK7n>NT+<|G;Kj$PM+L4;J zhm>e~U(zNtAIMP@+TU2FBipgv?=OIA5AgW-)gT-arH0ymCQLdEy}+&6W@)kCgjb z*4rm1;x-CeR%EshlS9^l%l8k{E6gZD#2w{fuw;bc+beYrFDOYI{iTW>yk>7;gXA4s z_McNkrkZlb*W1(^2gQpB{8*(6xssAsCk*nBFksCee`oS(p9r0iME;99WdrnuRNY`f zNE<~dwxocRU!PsIOkNVpsGnrfqFg@wl)vmgo%E7p><-~IRtk+<<;~G--T|^9fydbL zzzi{g$$3(Y7KVfD+U{2rJzn`6*?IT0SzNX5GLyr(8AlGSg|wn~O**w}8G3dvRf+t+m~mGmu{w&#apVm%L$b zw`{mR(^T45EwcmG z`615hq3;J}O|r+P(hTDwfEG#=*gl#__ijr}v6P6sCS!b2e&Q@&ln%l76?BHpslIuf zp%D6)V?U3J^0WZO9lIaxm6}Pq)7|9jo2zWgkdv3Yp1>MA{JvWSlRJ5F;py`&WX>pv z+KlZ5)SkR*92s4h=wP^Ooq4@=3$uK#WF1YnS};{_h`|UqR6`f|-G}q%onwUj2T0HY zA{}wrUk$!f?A@MNmd=uJ1V=dTDP&01{utEdWaM=9z^jEHm7BMQR;hTRn_L9 zKZ3d8wz&U5N4CF(+Y+|r&Rj<^qEP+8|I(?$B61kc_NJbo@*X9{NDt~#H(;h`&2dn_;L)O2Dj;)F0ivRO{nk^!Juyc#6|M z>??%B6_+06gRc6!WBSS@x97w{4V4RD(N1yupyT&_zeb+;2}80SH&aAMp`*dvAr}8` z(@Y0_Z%4+++|MVWEX&}4$it}b_6OGSJF@R5>(!f$ek_eQ#WbqTL8g1D{r$s^?pfzg+0^-~U3Zer73*uyIZ0PJ_XXs{WZs=lZZ^vND z#bIb-#?5KQ!(wX0#>~yi%F4{l&0)&UYGPu@$;!#aW5#31W@^Z!{O>QtOl|F%L@e!? z9{Or4p4lJs3non091jjYsEAwfVhv}g@3x>oCLc;X12bM<$HP_DAWkL}oeC9(F{H2 zc+|M@Jyq0$lymyi7Ky7*8_D$#|1TP_8Ltb0@Dy;g$qbvIo9x0^oh>JBai6pSxg95| znORBuG7}$(r7i&@|K_EUm_$+0AWfq>*fr-P&f^=N5c3}dP4A4sc-J@i#utIMt&p<( zm4!oclAI?D!q}$Gr_QYuKGVI!cs^c7*jDKg@f1y{gaHp>HTac~Ji|XbqLJHTW(5d~ zm`H*ty8G5W!jVl8RL_sL^Vp8mk4g+Oiruk@B+pzu-lx9Uwubq980w@y&agAGbMp$P zxCi=|6O}C(1&yI8$AUkbz{MXHL&&OlWSK8M@n*Rrp|HnV}H}dtl?Ee}6^~&V`H6bK4PS-t7)^+nm)_n)> zyrkiI2>olVvU|)XOq^JnZ4Tn~Cb?MC68LeI zl(uBqM_e9N|L$*Z?ektTroye-JTV_RQ+jyMbC+TNM`90j-oD|}*waAH@^n_DJSNp+ z+@_jgMbg)g?sLoYrir#O_X}E_NVL1F+K`J8nNPxJ9MqY|E-YgX919$M8Uba`TRty_ zo`dVYV-IZK`j4BV=6mz{q%nDaBL&~|i*Jted24I!m-X_m=-$%i^|#WGDT-p=W81+( z3EI9l`h(K-_I29W!+eLP8Ci&1ZA6}xliqF zItTcr7(lBYM;=#Dk);t}+YfTHLK1)rIWI95FlKgUs^lezUE7+|w(;BDZXN2n1UGzqC`SP0Lk}PqrBf?g_ zzq*)|ffJ;Ce~|8KcD^MB?m1zm%`5xwX^%FemGhgQ)5NwQ$fItXIPB>{u?RYs7g8`3 zh)IE#;xhm3sNoQlgoX9m92_yXXE}cZJY+i)S4YRs{8`h%A(tnl{8lW7n#&S{bFWRH zIJP9pw7s}H>|YZc`Bj2M8Cot%e=?z%G+(~B#@sJ-KS|dvAWG<(jIr70>I2P6g&Xqx zRFzJcg2!-;E+USx3Xf65WPB@3$KgCxf48XQU@%XGh(pME>+6`UM6s`IWsA$M;>E-%G20tl?y!#$C&W+3xPi`mdWVOP7{EIQ#_(n zA8&qY7;>_2|Eb&oR@eNpefGnJ`0v_T0W^(t<*S9tfwXH}Tl~>}AQL*h!M-VJw$}K! z_?v8sSVr_qh?m`Hdil`9x7b>|r2eUV!$H8a-dexRHa-7Id*On}p9C!aW!_)iw=va- z-3hc!2c4-OPEb07pugb5JYYJ_!Sn7i5l>Vr^ZU*Y^UV)rm;;<)!NMl1Iuqt>EDv>~ zlSvOBb3ALh{^)wF*xIvXjE8sA>L0k`vEmwH#9!M^6A)<1Ewvn~2tLdjV{EHO7IJF) zEI+flpE@I`c+ssrtp#EJRN)ORq@`=tVCYZ)x8tyMfsejmxH!a^2QMs?Nb5%FY7+mM z%!S!r(uP{Fox0e`>-%R&g2SHqtf3>DsqGtLZd+(PfNPW3xw2azcf9cVH`;-w`lU7h z&~Y}`3>-KB(YQ6l)|J-K8!o(9VgDIU2X9%86W|?{Msa@CoI1ZZYWI^dW{9nrF)Zh$ z**A5H1@NBo5_7m@`_OtTlMCp}*4XmW*HJRpV^toG&Glq+O>jS%Ox$}vm(%tq{N#Uc zsWN0wANYX8(D)ZUG!18-pg&EkCb6`=nx2EC?GJ~p59jWHz~U1ZZbY`dlJjZe4QEu3 z$di#>FMlc<_V5@=QcvdVE$qfuf5}u9!KrsgB}2Bmcm%&sx3J^w4I(b(d&5J#7DC`X zpJ$^WEZa=Nm882wlM_m+>G$}u(*wCpM4$;ePe``2y$ncYg#+B3?EmAV5SXzQOeM+X z>#+i-3e6qFlG5-Dn2?eOnE^dFoNCongpL@`iO+8N-hs*5iSX)ZWkqyX#(9AJ z?=ET$85ZSg$~FU;Bz{#{u1PpaEi>*e@1##6K|YSF(kyMp1OU$> zNmq&2$8T^1=FYdZ?e#2tQ#tE`zcB-Ulq6@-xHPx)h$;hp{o})|z99wH(z6+dbo;!R zszi;UmPZ<$PL{H?dnOSe zVI&f;!1voNfbef_if}_m5>E67SL?$!IrfOy@_S7=t(&Y5$>-SS8`zo%r6~g)u-{9Hq?&GLL>6{K{BPgSgOUhSr2nu<}h(9r0JwMU^NP|G=6l58K*Wq|U=()vY z#Cv4k=4cZYHSi(~Qf8d)P3gcxd>KY?G70a_@E6;*h_-tc)Jh{rFjk+;EGINK33Y{R zI1q&F-tU_!G^#k?*)WO0@%}>c+h_3MXZ!2fKF`B&#YRDaUoSl{+(IR;_P7$5H80d} z{~kI~gg?1Gz8Qkq#?-a7olhq-CSfA;D5+4tePS>Q|iO?UmN>GEZJ>6&O~`_cO| z{8iv<{Y}94Y3di<$HD3mvHQbdfJGB&n~UW!pI#yDq+J!d1@&^aeaG-b$=j6p2Rxn*Y{Iq{ zgYY$G^?nCmC_|p4UOc&j7rfg!n#ym&P4QdRZozHU$vYT}Qg^a;`*)jZOglPHIwlkq zPu?EQtGZ2CWCSzpgaPO+;Z8EhT+w%2T&Yey zWntliGCE)XTbK<|Gmmy_^+9!KvJvghPIIh1P+Z-A#2HcZJMuBp0>0ZIBKxM|{GC-O z(MCB)28iyt8LLP2{18ZG1THM5QlErtJk3c4D`IN3-0oPR5*N-yxz3Y`I@pmIb`R%#yR{zWvi_hD2N;d}isbHCx^7s!C=d_s!Hh`tz{f%}ha; z{uuj5!;=*~ARWwBk(z@aK)PEnLydc4{bIsP@PlrpC*ZOTr==wAJ=M1Z1qTs1wlsN) z2?hO7rmYx$@W^JjIkDvqj0NMj!?MISrZ$eo7f^X<{j+%}dF9@5Y2?CAq7!mr6#SB9 zBv4dg1oY(VLCDY2^OC!|1lfDLvV+Uuc^`@pW9{beU?ocd{NOf5&d^ z5TSmh6ul@!dxSQsBIv8`V2Eahg$wS_u@bWGQ!SLAY5>W~==D9p(TZVu@P=~sNOwtY z(UyC@%O*1&rZSEk{*Toar^9i#+U{#>+nCyX*t2SnJ@RsGK}@#Z1)E8?}5e9>R) z58h0Y5sWqeOq8MAfN0*W7)`o}V21oLJtFCB?`v#Yu~O!9mXShT!p*G5@M0|h@Bh|Y z9Z+xU!!6A#<3FF}%;;#qonR==%&KjZm(6z~zrmqjo9$mJ2=XFhZ_fRSmHULf{DsIn z@C4JR05hJh;+A=ftroNbe1*sg!K2xlh2j&?@r?N83h^m8x!rdzaiEjLw z9Cp809BaSQTbGI0K8Y~gw@QLYY!$tjCoO>*jDlhEIHFoOeef1RfLigt^GbP0-2NTA z7jk0ZVZmQ)>lc_#tv}A7OU!8w-;&aqf)!C75Zb}{3cSIsuiGZgiQmE>vg=a09QV{; z2_Jre#%yC(TKmf|569FGy&mmA&m!|YLvV%1M7nx2k$#t#u`t!=R*cHCxrqxy$U)Ub zYL1BKSpk0GD@F2!s4gBIjh&@YZVNYVR~~45YQq8#NvAHff+R>Ajm(}eXcX3+Ceou* zu(*UV%dMYCb^jpotN!N;!+#c+rfdhv|1Y#Ovo?QnWmF&NFE#boXNo6OG>zG0rln74 zB5ES;Q@+(hX(buS{ybkj?pr^S*)?U|HrYjM#gEccH=Nj6R?Vy#dpzC|K${571Gq(Tb2{L>uTHF4U!`Kd^?y|VYv*VkX)BrG^rUB#Wzkr02)exE`ojDFasNUOei?_XI zM7zK9kK)nNV2q7)5f;&l@sb|XiE-CM$40TKlH?Q(OIkD=W(xQxPJ$6Wr$DU= z4ec1sG38M^HL6AJ>6;S5pA(p251<+nDrfq>-SR*u?HuJhsaO``x6OO!9t>7UBlWaY zVxILEt^Vh#7%e-L=s5lS-L-^K1_u0zK0x2ke>~@5zKOy1qoh%bV?VL;AK=sq#XiKc z>u1{O?!q|&*40VGoeF9F?~&9a0Ab<7Y>a-P8~Y@?w4cL z{xJ&9?LVB5i8prKFsNK#6E}lnByE4&V4RGPX&-j0;DBX2TiDNkn=0YUDP>%BM_JSR z?eg9>3f0pzcp&RSsBiPZsL=oDp(j!G%Tp=*&yAP99@J!IFbDqw&Jg%Ojt^_j7W(9R z82Zn=zlit42A@a8{WwPdfJAcR3#8F6ADR}Iz?E!<4fQ*9J>n8D%&WDNbtAg{Gk+kG zosq5}R3|@E+G6`va>EX|bcW4u9nD|DMz^M2IXT=tk$_VV{8ijC!(@q})d&#N z3s5%m%)7qN9GlZYveUaI0mtgO6(aqj`|&pq^9A8_taBV6Et%yXm}nSp4fkWsk)LD} zBN2sQB`;H~xXEgHHHnH3`L8sFmxS?u{7@DW|G)jPNbjx>?|ZaP!<;kns~ulRhL-O6 zo~BtDB_SzhKg`rFG*cuJjZZk&EvA01?>FA_ju*0t+4_wIVPw~Gr?FcJ_eqh!QzT#K zuZZqBtPirYe^h9x#01C`L5Ax5$dX4Q=YP;N+Ykk2ZB+Y^q>8<->Gs7UmV5S50z(r2 zB!C+KZLsUoTmNOSbjG_tgDslura@{DB{4|dl*r$lsb(l<_;Dn-sAx}*jj#~+`#q1) z#b16>7svt-B3MT#Cot=|e>>(oij>oMkj|)~-CFlBtQqzi*141PB6$X7oC=b6ljrctNMTIs_dQ^+s;tZSFPOtZNc=y!RS}^ne6^h2 zEW<z?>kMFNn4tXXBG=R?e|1>zvBw z$&EkEuOszR!#Zp3B9sV5^*-qP_KxS2C8`FBqXO3NjvrzYQ*|zG1&!B>*F7N|hXzz$}5&tA%EtyTutEJ=@&N zr?OW&mpp#P29Xny2%W|c5n3yNodSiLle?|z@VZE_Md`Zv0 zAB*G9&oeu5NF(Ta{P-uLLhAb80;5*gX5T9!y~6f)fvy9t;gCNhjJSlj3b0xF#FYP^ zJe}5HwSj<88mtD)*db64gjr#HNenHii%Q8RObZrg_) z#KcfU!pIF$n-zD1Rdi}K=Yf57Bbw_K2>mO$Iu?wlo^6yhw znE&XOq<{IQJ?C3(o4=Sp*q0aUM=4~Ns2MNRZ=|+U>_6;4Ec&=GG)Ph?S$J_RMHgiD z3*SH(NAp9569@%*(jG;P|9>)q9F(+%(0@EhhNc7z$!`65379Ku|C1{#Ym7*jo>S_P z5{m45dyOK?4q)rLc#cz?>hYD zLEdKCsd^hZY|LISvzuWwCzBDW5d4}E#ekfvDZ<~SJk@>^m?mM(4-tcxd16A>bof?< zurhy+`!v~Mq11z<3~xI)p}RB0i6+Fxr7}CT5#uz|&TcRNzexM$_`05V-6V}|Cyi~h zZEQ4buw&as8#cCW+qP}nwww0u^ot+PIrscN_x?9)_N*5(?>uYvn&+LRCEu-nAVDxL z^de+6i_WJ5IOf!ywU03QHYs#Br|f-hza5%S*$zwYrx7KoHZ{39iNx2B?T&FgStkzw zDC$%pEZYQG<@()2j78O923fJy2FOMi3;Pl&I8PF1N_7*tU3PnZNIn(P4H?2nWHG!C zP?OMoPttx*m5@f(^x!!OcT%%J#TYtLqwmJ9>d=EOipZf)A^cH0l%Z*ee;XocK&zKR zrc#hw)5wbJd-aCBPpM9HsYRAUmmj7F83Gh8>A4TD5+hK$+Yp^>H0e=;_4KpD%vmt%Bn;u30Z^~lPic%p!=UjJlN zJmUS{VCU3on7(MIB{3LXyGb{D^{|?+RirXSiR@-?biBQ*TI1@_YH1am8YLiRFZ_eA zn~CpX>0E5TOxyuBgtPH?1m!F~@^otp#kEJ=J{a{f9lN3r>R96^E8%KJ$Vvgh@nd^T zE>asM%m}s9{81Pz)a7hUU~@YZ6>@~ZG0R2on?)0_9CM~#mGz{e%VJK;Y}YBjp^h+v zH+@Pw)pg;Wr+;k-vgKnEQn`5Vp~?|)BP3nNix;R;cq1gK!8bF=ZI>`C^d4%7Bj%{t z{#1gFOqvSp>HV?<_FOkH0sOBbc(mRTT6<~32WiXC1ibZMs4)dNx)y4XF&>nAu%%{2 zpdl08Wn|z+%E(O6R_v-dW6mC$x6RF4Hr%=GK-;60Ih;bzwe=_bd^b|IkH55oH!V8x zak6-wxs~J$m9L4WamaN%)ESq5&M@mJh?ed+D19AgR(|o^h#mEM?|SF1SP{v3hQVj0 zgZ}HAFKHx$uurdJ3l={2$ug)Ldx?9JWZ-wl8UC0VDqdpK3cD18m7g4N_HnB_@&O2w zw8m(R?owP3a^|1Ad_UXY-*Z+6M}{Ess~k<{OCg6AnNBKgoC(WYwOOXIAo4^B96MOH$2^Le)XJDh}y)kY|y zuP%iec7E3vEEF%R!Jofhx6SozXgp#k&P6Y4%`2G^*=mmE8~zeOB)h zaTRwj%S2`nunE&`jWgNe)cCeI3>~Z1m}(j1CoQ-Sm+=@rz)Dn!{y|@Y>1Iz&FI8|^ zDyE+EQ6@jbzXQXE$IQid!$2Xqm%2|gc4$c%-f|WsC++g8o3fqt%wtM@*0?vKLS%7x zMSW?R1+SZ;dTjK%Z;L$edU|88>-5gqhAozaVb$2(T+bXDdOzb)P5V)J+>aAHKHNBq z^*n0=+8j2BQ36&U6s1|P-{mCk;odr`*GL$F+(!&@x z5?YkXsQuC4T~fdV?oKUnDMU=RN>JD*g;4@Fn4M(n%#tR{s4U`;=+;^cM5`M1I`%T; z!LhD~aNKo;S`VkgamwBWSm;x_v3bm z?ubDmk3OGN8bY&A8cKq?o+Uq87QEa9x&&L-VT{v&S&$|#k*B3TaazV(LPPpt$snIa z1w@3fqSWllBW-NJij1TaAVkix3>#koPb3|5gR(<4NcUwTK*>Q+G zc2mu&6>)tFK?P5`Lr?tY09lFTDv4#Q0RrCRC4rk_PwKuOHi3A!KiL~bNpfiksHA#XPYge2EK`Fb}o3QfjFI5OwG7sMVQu2^#h72?d)9Z&J z98*U)VkfN$H`%ll-)z5kjN*AtQ6$$?CN_E*ZXy7`q$*Go(cyxZ!E|Gh1rZU!8XD!% z+PCp|U0TJdCFgSGU$R@}{NDSDBRyn25kfTNfV;gq{9*ku_qAb=NSD_!r<0&=`rKuFQ;?q7Ij6N$J>Tpz_%X1|D=9ff zT9);KI2t+B4Tc{22~WdbQ_AHp>-yENW|bQUMX2BZvSc&Jf`6BAqWSUxvnjhHsLaDz zo}e*s>49W4_$P&mxozjx?3{>q=&MXgmJ|`C{d}G1`(J=sB{HtYS*ORxi|mc>goN>h z9c^f@=4>UX9vKq;DRP&VtxEf4GkL>Pl#d)*#jMiryxemxBrmzW=JH=)p(~`ZfFkDm zdKkaS{U|upwoZS(x%}lH*inNW$r{FzD3>IP^YNYc$K4oPoP5QAtbBpeGI&}^-@p_D z?jG2wOk`{|-1SXPwQ;6lHY)J@)Bxa=if29LK!DX1A#3fjuGXAnKmemI?0`h#9I_Kg z0XA}6*xaH}V=#$<^v^v1ee?fRE(f;xrZfw9)7F$NgX{1?H?bEuTSoX4f`h8LSAv_I z)T+M}C(BlO9)Ib!i!~J2CLcJC52UwOFRwW@cOdZxBwSkFio#dv43f#}-Bz2`QB zYBWWgt9uL4&f47zxgiB(=SgM+x@z<7vCA3n8ZzbKqrr3JcE8JcA+$M`d6c`Zz4tu2 z7_Qmyb(&uzT!k8AHr;i8kr8)l_!itg$&Rs)KiyR&Xj2-6x`&vIWMs`r9zPyHM|ExP zeQ$@%fqQB0RqK$CF`!SzC7uAR1EDFOVQA&W??_5HBN! z7jwn=Hq2vgY-OlD%R2Uqk>68nBjlH~cDli_$H6OtXG|mVrdQU)Erhpi$y~$j*y;e< zbHnYN{>m-yo>L7MXJE>z6CvWY9H=9kiBbsqP?+y8-QkEk+yil6rpVI5EQyu*d5?-zeqzh-`1jx8y) zc(r;#bv_%)!kYOYlriYsO6n~3UPyasxT~l<=i=;rQt(6r@FX1ft9)++ZyQ-`ZVaa% zwofO+1zU_g89}Ni59|2e6xS@X@za5)1Js{_o*>-lWxs2!C;fpXDSb0<+16a#_dsi`4YONfP88UM?vN8m| z5MV&TZl6Q+B%+(!+ ze3+*)9$PH%bg=r6pK4bF={W_V&_OE|s&pXl4<8<_;Vz#-^PG8Y!@!9QBWAxxKe)=X zKNg9mpQB*;^}(S)Ok7_)Bk{2pPoQz2zi;Cdtz%M+DAPA9_wrEgp{0E%KhApn{?%`Y9Wd zY}Y!;@1i{%(+0VHg-qTqo-1>eVd$2o%*TF>d3tPggm+(he+;7aC~iAtmJpr9tYr7O zQS;GYa_2OriWdM6uDnt_j**?XmERYf2^NlkmT2O1y*0B$D&+nmfC}hpt4q+58FQ7> zl#hU`y9}qWx-@K=x*)Zu$A_m4&^~iOWX`uCae#ErGd$mg5v=QfzUG0(LGV4*J7Cbi zRJoc8qN%rGamm6DXFU{$cm$#C+W5NaWtRZ6W8D(0IF9kW+eJ+bZ#i zsGb(IX7>80`q4$|7S|gytX}gl*^n5jD0@kVtm;k3>Kv4#YPfmecJO#6)tDv03Rbew zOe}reX@uY%y7W?NoV-^ZC#{l21Ez}@RL@WIVYs?FzG_qF9Z?p3AyC0m_b&dkyWhW!oW}+KjGnbzJbD+IcRf9&nCK*BrJXm&#~@4Otw5_UYuQ+ zx^SFxbqfjPLZbob_7TJrqsHW0cwcE_)aGiHHcePTqSuHZXOnB(V14EI9CE%&(UPBx z)r-+m04-CZdqwSHEO@_TG8zQ}GC*mz0hH^*@DBg0vBO9}f z(It(dN5{@939%*l<{4QNpEct@1hgANJKeUu+S5rad~EPW(caxQUg-$`_=uS6`jhF0 z|IxMyK-*ILXY&toUNJr2$`d|A*~=|K zd9xYs8p54y+V5>q)X!fV3&|!_wV3s1-0YW6X~V?w{fAg&0R@)afgb=863w!@V0u)MGcNU1<}S0(aKpc1-EtjxJU^dM zdQKa?E4*ukTg`6Un*NUU!|Hk4sbTX%CDdSyp`_tbPo-*R%>3}Z+I{n>=~V)MPHE?f zPmi8lx`~ML^YDAr5xn}nM8Txh102_TqI>0!(u_ukgb_cxsLIcT#4O(56t|;Y=nvc) zO+k@@YWqOD46iVtVR+@HeuQNe3?@Zl zb5a(bu1m(ql>#g`V}0J*=7xCI8q-v?YG|d=w9;78BC`W;8*ZoE-}6PM5BP;3 zyJXkzJ+<)MxXLOQ^dGL+5-%B$ZmywIKexe<4XKUq+Fp^{POTKHqzm?GD$BatwV~PEhgbI zJt=(QVM+Gdt!hmDkPKo|tnYXePM#zx+F57$lXvir*Vmt<0U^JH*K(fPv(632CuZxe zG78;G@2v~n;d3Tt`QJ?#Zxasvl-6WJ6AdXIlUa5AVPTgQU9bSgDLc%Hj=oUO1pk?| zj5OwufZvI0iuA+*5c-T5boVaI^ddAAS;y>)LR-2I|)8BrtRC{ z8|DaB<(EcORl_E*OOunXlY_gs(xa!&MU_-tj$&5%I{uSI+S<_)s$huAZp#%B_E0#XHHEc3WF52^Is>ux%`pWldp1V6_J9oZ z6~2dDeVcK+Pt{YoGyGbH->*upJg`a`5Hexv=uK|9>)__igyin>^G7x^Rrmt4T@5-) z6+4)eVpp4b9c3d9yzjQj*ow>OwLFa5vvuW%O1@)8dQVP2L|I&S`c08sfb8?YF1gyV zTVwiw+ijIjp_HzZCb&+lmg6~Ow+klP9)B}(5JGU*Cuyh{s_G3$+G$od3w0<@JZJ@; zET`=TncOz!`Gb}5ehUI!A)<4IQe{n70&`FMFqZCsiZmeJ^O*%AxI*D6f(&`)Vqww^?eibREmHZe-aet1C^Zp{#Tzao>DBCvc#}7?IvX;ng!$_t zenmB{r>OhByA# zA1+cMFJ$x`mOp%8Vw-4eh&5Vw>OPDPI5*vG{&htakY424#2jRnc#|CJ0nT91o)SNO z;6@C-vfl`~tz1}bsH|Cfw!KHf*|(5>n|!O@e4IM?ZpwJZ6l&|P4ZBF(>`Lj8yEN<^ zv6!Q&Qo+x3gxfNW`Rk#nIaLTl1A-sd@`tO`qh*Plr|3!v?N8|suf}-7{cj+AGMOqG8r}cA0qt@NEvf^&lQ<&k3)d32_nOqV495xJxBRT zg5_GvB+Z21+Xmj|MUY3aOHuY>o}l2u<0y{NFK6q`_E%e{Q7Gm&iREJNc8j%b>We`+ zR?jds&3o3BzAg?ImW_3KXy+Bv=^?grmQbXt##>oBXyr)W^}Sq|QDrWilb=)nk^&^F)MLx33Ye}}Kp_PIufxN#UwJlST3?`YmhP>s$N za-q4cc2&QTlPTR~N4zIgrjSh3&^l;x%R!2z<%6S6F#j}Ftuj7_&#a1}AC7YU0m;_{ z?rLH}ywJ%cz8(Mtrn`3E#2gC`xuZ4 zjL$M4StoW7V!5Vv*fkNgPS%`vc)fT~90#_6iA;eO{zoMpJM}e_qp7jhVsq`j{P8Q8 zPxF}iP7Ft83lH|cz}zUD@A&d6q>8MVI#!M$_k~pZC!Kp)UXL~KqAHuX+k2tExUmzw zbK-ifekooJ$9a)#p_Yt!T`qs+h;9wnDptpBVOT?URJ>DwLKUAf8L9foqpf#XhDSem z2Z3MP-PXX8Zy5bar%%|2AN9eJLjGJtEzEaz()k>@x{5L4tKKvUYTiO4I+)TGhvy}o zg>uS_7D#a*wMc%>ff;bSA&bz#UyG+YwocNKPXVrlxX(Zu8OQ(X3>%bP+A|c!SqY{y z#zU5Ca&BL;GtM|}6kO=aL^C{85<*FUoYuZzbAOd*)^GdOsF-bPtEqRax%HboYB!-g z?$DY{h~v>O$wjCmB~l@T;J|nM_}#P#CetRdI-;Swte>qjGiX}jm*>eJKp#b->t6?Y{nlsd{0B*;79iAzwuMTEnj3|Mj8j8wGCvGAUxODbG~$wQaSSmfGN$9O z7Riz<%$Ff>{VH3bn~eggi+RbMOJ_89Y1T~RO4K+hf~Y7d>X@JxiMl8WtolR-W!1>* z%NGh_t_nBgva*<@FqN%Lo8!cON#fj>s}Y#3wdul{i0HgJu+nfw(6nIBd=?33uCth| zPpwbag@kUWY{q(O3Ncr@NGNY_xki)bFsCylETvaTdXq&DsuAFsCi~TtAz>)X(+g{o$Rw^^LMa zB4b_*V{^c)dwAekXB6z2DDEf-?iF}<&=XLUv1W?rG1_3(oZy+pwU!AHuC50s9 zQ&LQg)v@HSdJizAwSIA_c&KUw>+3Jab2@u4!1iXvTW3lF=tA1Rl%O%`2CBar-g*Y1 zG7>6=pP9-?xbV)QEO#wrb=$j!ZKr-qv-Qc3U2XI0o@u6{I^-yw<4Qt+m6{OoPVOnV zraz)6AHr#Ku(EnNB^DoWBvi0sQ#%ruXVwVn8TTnGrvn%wk5{gqgomxR(^tt4*?s1_ z=vwI!iwr61tv!;#px@2U&^pl2A^_x%$C{-dd|;6;9wtMd(JylZiP4H5tD`1$7>(}~rP%@zFp4%+l&u#FN(4}sDOWdT9pQWHS zevx^p$k{UYzS2USDbxvfgU6EHugiPs{b6+zZ(Tx8p!)LF%RQAA-IoT>9=ySLd6By* zf_K_F79&W2cHv?tKyKe8a)b9;^Tml7zPv+}0;A--d(*-*$N&+bsSDgARfN8rBd`uE zQfW>|)!(ikIkc+S2QE?6dRb^#|5-$~?T*2K0hRVjoiNbl5Qf0l6d0Z0?VtI3ytTJG zebHIy?6#Zrm>W;7d%oDO4)&e6KrYrjGbuz;V_lfa3~2515`_U;EU0&{!pm*TJlLAp z&Nu-ZEfn+>dNX~Wu#3%od5qRl%ysZTC(rVj26Masc2uXWBOX9rjlTS_NfsifFAsl*{LWB8 zE;QN@Ax-y09y`F?OU~XYfIPrmhKABDNPfh(KI&GKf1ZqPu;_w>%>J`5_GbO38<7b0 z5A-AXHfj>X?gX(23sP{*77>oWbehxk4dqJ8Vf*kCcGL=2c>7Y_Cf59_=hOwiy7S`m z3y$>IvT+vTdUn;h&Q+b{w@fy=c_Q59Cfh~d#OBOQRSP*iig$ol5rJ7w+mC1|zH&9) z6_sz*9rRtwd%NA;?`~F!E*QC`CCnBp`#dRrq0r|#d5lG^LjcpREG8))a{=p16-kPR zgJD5A$w{-HWogQ|sByo+1tCKc!$1I}eNDufwgV%&VpR?+fPY^ulF{2&CnPInLozik zX(j0?_br$Q0*U2lT~zJdoDAD?LQf|=poRrJuS`&RTm5p!(9az#Jhu6Ej8&>T{u>^E zbAg0~!I!_JO-{q*Jnvn(Gwp(%UM?-xs%%|jJa4`aHnOcPeS5DxCuv2}cQdQ_HrvSl zv#W{j&rDq9{hdyCY_Za@RVT+souBVU8QqIVFkU(MG7;Qc0@UWR9EZ{6aFV3nr&vzO zE6*e<(|LYvZ-VQpVQdGS^kU!GkGMlF7TrI(ErN|il^*&vZh z6Vbu++GqBM;_27Z0em#6eQj8pan%moG0Qa{$Pae&tXH0s!Q_vSfbAnleVuCT*hw6< zH5IS*7^FjMc0Lz?EoM7fi=EtYJe1^*h_onAJ{ce9@a4IKNHP3ee+?^Hu7~T;UObXQDF!GAVVa70VeA6GE0s{P%2!q;Fb!tA zMqI0rgo~rAq2S?-#xRkkzfS+q1s{u%1sNhT%l=*Uo(~Mx`EWKlrNu$Sa+aUoPecWL z#WyuRaxTP4TiKBvoku(Ih#t#B#&)!h<&Ht7uG7#oH+9@km;w;2;4ao|xay8u_-&d% zlkCRn90uXGF0mY4sv@sG0m>CzVh~(I4U=bhmw=*U`{`#!;76q288vTPY=2}D{`VDI zJ->cDZv4E<`1!mQKB}VKw2$@SeN+4bERw4VIil%fXLy8`}3Pv$Ga5S^zYM~TTa3*Ge1;BzBEc0DF?>-7|AMq{mF3~)8VNi8U_t6 zGrPGZs|H{P6NlNV^9kfNbe#MCY1#Q83@kC7>g(I+@&oX{*TiaaQ+c{=YR}F;D?I50u*@ z!}6yAzq{eL0e|`qG{B`%@y*ZQ4by)61T=u~Joe21-H+mzHU&WEiOGB;fn87i<_Vaf z*&mfC(9lJ|A*yBp_5)EaaM*^2fj)ixpBnxl{H@_1{r=xHB+mW2QkWWmu?6ff%{k({ zuaOY9jK70*;%^N!w7_BdH&gxt4JgoWk@nWmFA`SoUmW?z-3`A7=eH?lZ_)7oqUNn@ zeyc&2&QSg5{`xmHTLw8KbgQN*B|N$4$f!4BT3Xc~o>q(vXTN{?B>vYpfD!{|z#qfp z_h&GZAR{aI{u#@k5dLiFrxV@&SAc)Q`1@|=xB0{IHWl9PR{0%-|8)0%tmdzVemcjk zf2;Yc6708;|D&40kk4;%JElya01F+2!zqVXD);kV4F@4{uz#-?0-jV zFOY!qha>VLzJVH+`fvU920Fjv_J8ZIf3^9oV?h*{9ku=#F=3*szfocuIH~`bs=I%q z1oazA{GQVa+JB=&+g~VA)JoIc-B#aJEF_5|KCR8yUIiRZ^S3Bs`K$GBm;U=H&imVu z->C5$hkm2RZ_N3P8o%-7pHbsA^KaDn@Ly1a7@Xn;2yOozl>Gl=1Idf32v_3_hpHoT z^pfMDt#rl$rT0r|DDEGq@J~_x4^;S%<}A(MIP;I``6BQ~xIq&q@>Ki*=KmfxR&jAa z2>dRP)6K{`)e@OgiHIhSx&~VPn`^AXV5PrR(DF+(=;%8Ys^PlMV zKY|(%a`3rLXK;wV2=YLZp%K?nr zwBKFa6O~ zAn9!((rsYD62lC$?2{Dr$0c3t(7x32*S{~ZhbZht!V_`08;9bN=~LrCfShRO=Yg8H z6;EPlL?T@q8MTopqE$5pbPRLy(6yBAQqONaqs=5Z$K}B1Sp7wtwc8SNG>-7P`$qSg zydzZ9!+L`ar_!3hZrcO>DuS{zvg?H>oU_mz!T-{vK|kydDQ92wAyEYBV!kxu6`vE4 zAddt?o(B~3euwU50Up_zb&N;?R;6dSX;s+l`~6est=b>W&{*!`Y3HQNAm$sT3tw^}~~ZG2^ZmS@8l*72fSDgy#ITShZgqeuhtT_vs-! zEkP#Onn|loDS_75EmB_W!ZNnXqxA~2Vy`8rp%=pqX7{yt6R*>?L|KDD=}0E~T*@Th zE%m&$!>~yU*7kb6U&GBSzLsCZQR~-?WOW|thl6U*eNgF)l!n`0IBYS%Pi7Z-lZtwW ztA+K6F=@l_Js-jI;cXb`XF(p$AIeRqW`NN7JBkS|V{R;7)#ly!l`q&8s(Slw=bNU9 zBO$Z~Lt56#5U%HE63leo-7PM7Z7j}tQuimx_(gzPf2lQ}{_^^zYUdTNws({pse(^P z-mfd#zh1nbvI%gp=J((7PS8GTJ7BH|dXxbZ z%Zh8C{z&fmN1A1%1}NNvr2{Z8^6Gb9!#fV$ltLUrU^w4Gwbi4JA66g849 zP5NW7A65;7qqfAa%^U${QMYxBqTp@UlH9{d&h>6M#!PFbR?DTR1kQuKZA1*1u6P+S zkQ^%}blEGzfn-TMM9YzN8;qM)MgoS(aknBg{*H_h!y^A%!J@&CD5c4JcP0OxhD+r=ZRofI0TP0ZHKEVL06#P#&NbtuLjM<(`=V@q@iLVv1C8O(OrW> z|HC8;w=~Jy_heqF_G8F(vxf!E4`=kT&ddRL2x>kEM5@$yY~YSgDo3o(!WwM-H>mD` zL0%)}+dNK21QkcA#7V`rtpT2ylG~ZqOYf%|PD6gK#Bo36SKEkm1s_>w?AxJ)l}A#h+>eh;h~1oG+ouKURZdWGo6 z6cV|p|14n;#`Ll55ToHU!m(x_g61a1M2xBztH7@uaN59e4TKPv!XJrU4OiOc$Okd! z_#${7rCl06jO>r8T?3CDZ7|m>4g9x1wOY~UHhO-c{4f{YK>r1m_seUGGya<07=R@( zlCa@AXg)f3HTj;O&nE0OEfDIbJ5mR)=sKzhls-;@7tBryFdvgNM?Vypj(Nme8BYWS z^CN@kLs8o;CmFMV(|?v%sDPR6!dwvx(bUQD(JSS41G_hf2axc~>sD|8L%aQ(H{P$T z+sBu@fsa(L?|$h2h)DfaL3@xy;@d^1Xu;HJ>M~d(3^_nFASY3vcn<$_V)F&QYUnL# z@EZ=xf0i_eS{-?a^I>}E-ZAM#LqhJkKYM~Sc_+-=?)bvh=?Y211RANS;Ahl+%+H9~ zE!OmD>l5ol(gW!UisOa&@vXqpzN-&T>$Rca{P0Q9c1z`|(!6AWe1VVVw6!;ZT-3XC z-?WtU9k^qSsacCBUc@=;x7R2`cJSBH!@xZ&fwJu)l z`-$4YBCTUzu9GrVo+lMA>J?KxLXswPxWEL#v@+?v&dl>SVAqGfg1367pUX(1HPCHy zuSGsTPP~TC1`)2BJbH?m@${E%gYDxf2n{$MUjL*oB5lSCnrX=8;P#+!%#KMA=H%Rn z#H}-Bz4Upq7Eep6;KFzbn8kS#Rg3u%Fk9WOo?F9LRPcCd2=;uRzmUzRCcMQz9YGfS zvAAM;tXBLhi8`jBz(OpusQP&5)AddRNqB}l6Pm&Ew=J`eZ8&n1a%i=L4zWY20~}YC zct@A`twi+1fkH4s&mb5gp=p*m;ZQfS3Ba5ZKPvG|rb*o^urSr}Pu zzu**p=|K+P#*a^^m%BE|zS-=v3&J2F&*5@J&N|@V=QjhJC5I841A9hj*IBlxz>i~+ zLk?$wkv3ieZ}?8P5HlkaK;Nwt&D0Ej8^<<=?mU$@-e9C9IJL+6CC6P5M**tR(=-+L zi$cnHbjkif!g%wVrCsHkCr*IZ*^aa|y#AMS*a}1Lo>~(M==l}A8J}4QobN9;!tn+^ z_qmJ~Y8WCYO0;Df{6XOQ(*&_9(S&}7FBjFC=clEK!5lT6nDPrz><_Z^f#BGmdlT?s zlnYV5QmdTZBSJw%8pNwtjei^N0tdMgp-{6AlD&W*XX=jY0jgKm z=2Csa{Q@p32J8gr?^@eockR%M5^4sBO;3`^Mxt6zA0NlqZ%}D$)>2iaxC8+T_OB`) zz*96f+EEJzZq2t^jveZ|R@&QF?OfOGLbe)szkKmx#fL+IV1({a3#Y%eptWkeiSZgg zvh%&erS4S*hlFUyV6O*7{W?xvF6k47_IeLsPl0nU?wylt4@jP}wQ!xjk<~Q7Eu;4? z%_`QAAWL*;syyTqq91YI9M76=bNpUXpu^S2rAa{JDV$&X>=rKkegglQIo63>>Cm-p zBJnnTC``eCvQk4~ih-On%Rr{qTmgj~W{l`UT+N=R2$NmoNJpQBTr7!?a$-C<=ezgk z6cBjsp!i{8C7{|F%@>%jaT{WSj71i6x zY2Zh2o#&1$d>cGHoBEVGZGgU;6RExV9v_a)+=DkTzZ1M_a`cI2j|e7!!3L@z@5rA} zkxBPR{C&`>vQ-_MSllW(loEDz^$)H01aK&&u4ahH)2s2nmV2tA(&zNQSZ^pS6erj5bmpt>GdS57(ADNO2lduwjOFS)*x=%#`|@nGl=dr zfCVefRXOafkb}~o`#AE&D}qufw~uzr8Hhp7nKLm#jqjRxO=6V9%_ zY)5yf=@{9%&qfB3H`f%LDfB>C#x3(XTQxa9t~BTzwTyc#7=wpzRz>j8MJi&8lPq&$ zo;y|=VH^8+stSM_3Mxp)g1GKnd21!QVf zvYbkig-g5yySO(281F%B>i-v@n8GmWvv|V7=H5vdkxr)y0-7lsYb& z2CQ^C#UEM4_@14QFy$i#=)#YXhtqB+Ems2_ru`XiiU;_{38=_HW8^84it-Bv1Se|3 zY}Uo6YE60TMuFdgt>#7Jg9}dH@gyn$zJ&MdRsfP=eBonst9k_pp4Ae-9d6eAD=&VBhLDpu9 zDvXQNbl(63E2hy*#@YrFD{@jb${C${AY|uyvIKuQ$WIE87adUpLe)ms+S_=un^+nr zo$sqiV>6tUwb1um&bhnmWB1r;#%5huOxOjOq7~?Db5AkTizA>+^`Y@x?iB0qcBA-N z+p-HM@J=*=&qhBUho$-=U1f|)>V1`N)^fJn3=Mc0txcL0)x#&~3aUjiHZiY|EQnY( z9S9kmQXvqFnY|58_ra6zJ)sE|IV+VFJLofA&P*A^R7G-wObs{HEzY8S-ZpDiiVtmK z&qpFh2arDW%`s^zDzgTKG%HG^9X6;WIbrhD#Jwir%PW1%j1%EGp~!^lD&GkT>maxJ zWvtRvMZU@-YTH61IX*j8J8jcunwJ&x`95AYVOkUpS2Cr&8OB08X}ul)!0qK4&I}SI zmfgOGF<__H-VI})4d2*hepkn}erm*IaxbQ*M)Ndvn<-XgQmT3BGd?-!>{h8_K?`X8 zCA>9vCJOeDL;Gmb=rUAWtf$58RCB$wT)Fvpqf2~C0XZmtYD2E#J@k zR0@;0_ChxBNrNkQnT`OE9pvMke`x!d}% z0Lg_;Tcu_P4t(=N3%6hxuF~gp7Ed5$b_WH2oeOx-=>Lb}c<`5^o zf{@9`D9<5F!+=v_r@mYC*Z#69`^-c=yK&PCwxnPWS_2U_Peu8evGN58MNiY_z6D_z+KWLL!g`= z2ktd%7Q%oRMXkhT(xkKcB|=t(Kkzr_%4ca~(#Q8l@J@b5HRz}LHy>iE#w}_yOUQ07 zq$F0u9e}yMuI^}aFt!POSa+KE^BiO2pdyzD0Im2L<1Yhh#>1nE1lIcZd=V|S(5cuz z_~fSgm#5VNudu>{JY(=h;T2VVbX>-(8hkIuGPZTft|f&jOsE^2P(MMG>a#MR^b$H! z4Xn5iCx(~Y9H1|_vskV2!;lnzQT36p4ItBuLJjMRO=b{p$2I z2WvO`%2%w|Z#6RO%qE@iU_m9RO17aF^L{GgauzAcZi@6w+$g>Pkc zyxc*cUCrdu4W3vKaNx~UIl9A$6Kq#JVqR&YxhCJUK7sa*puR?qnSQRV*&)a4$CSO( zqUu9VzJfNg{!1bQH?4P;)#qarq6cz$v zrd2N4q7`|xcv%nx4Z72aS8D_U6+M{ldoe3fdKh90*mgZ1uKmU(0ZTlHZmsd_ov|)` z`j7iTF19-KjM9tQQTzMJpr*9d3)HqyP3VhVn=4f=mfQ7seitKn{NU7d^@Fzq^i#Rt zV+rsm5*9T0HtH((0Q->^JPw02c>R~l)ex3gKB%-~?GuTa#>HG)`D3NDwp7RgPg$C> z+bMW?a(5g^7(^?=n0vZ@;y+s`8zHJ>bPY#3Eh)nNYFcc zS{^^fYvwIn?!DDo{R&0Mp^-bHYvlNdXb5^Dw3*{S_c+=kfQt}>)`K`&BfBY&<9GKA z9-FZ}h_A`~9KYWi9&`9@sE!E%KBsaIB^xV{#SlrNKr(T9z)PI97c;gTr%YTmr#B~p z*}ycSb8xyo3rd|Qw@1^QE~r$Ehq(Sr#H7yPCJaH5wz-`OCF&IC8)=Jd@g2!UlzY09 zLuYD;-$6L!UNiH6t@uVGQs66x*=J=;+V8COtvNE&W%3-w!+Ilzy)uu*#^B86=EeP_ z{cSRj_*YWdrX8o;1{NpaB-muN*P$|AvG0z0&D z;?5CrI&7Oo`uquZoQ0hDK!OS98 zn@8M7SJ?!;=-Pa!O;G|{rjnrpO+23B(Y%wCcEdg!EXJo5O{ae04EQKh>Bs(fQ|P|x z4@3?+;y5_E$@u-Jq(_ICxT+9eJSz`BT(FoT4$(k;vmErofjpuunK2n28-8{8Td*d z+i}`X)1V&^?7v;7y;8RUS?s1<$ELEr%;?y2rNU-u5iF_^ez)-SEPNQSNG1&vhwrph z*6CBe!h?)PeF;2|*>IX_*bG0{fmQr#WSB@Jcwa8*?(RxT9&%=I!;!DCZpm`$FzSE5ET&@ zShjzKInf>Y@g=nRC_I;(-V$%Y)n;_G9CWf6{xYUOs*eRORWnsBgbuaZ+y-%hA zQ6vGRlT$5__uT7zM$L{csq6=7Jhx~Z)U%=K+7`lfS^xTXS$mF&koNyHp!0v=vAaz#fYM+qP^ zt+l*}6+)O0totF~GXLdAYFY>aQwWf+r7fH4)dO884KgT?1#?^tDw!h`QGCR#QX>Az z;bO>2RfcUj0mAG`UkdC1Lfpa>MrQQ?d+P^74?)-5c zQ3$f7gP9cv_8|TJULnZM7R#u#)L2*IsUj58?G8=>ML}ya2x$ewt;}J){#V=k>3fsN zhie6KN>H=LL`<2a;?k#jvl4W~Yufe_`o1b=%aIoQ)`df^*=q!)q7XwgEGqx#)n8>Q z-Z-8a7J+$car*A+iqX*hT!Oqz^qAw=|KMuTk>p(Fmf)a}8nuSSEM->SYThC}iwe+g zC`_4*ALiNHr=-wBsdD+{iN(Z)gJURi0GP7E1=N~{iBff&76|Z~MgV$1Zg%f{z1aKo z;3zfzM|JBvar}$tBS)*9*(t+g=^{H(=PynwNq%~6rFDop(<9YQ=XlCY7jdLrMdKoh zb$=7JMtNkOqL6P@ zv};6W4`7JcVzCr;h{^KUtuYa8eGvJzyfXbD3?-T~eh=Oz8A5x*ATdo+Kj^|T6$jEO z5%yqAo>;w+JSG}lip!L}78zC!eTL0!MNVK_Y8&z6dwUI%X8Dv9=O=OM5&d-=_aE4d zjlbwMF66S@4l8se{ez`d!A=fjX{Dt|Vh&8ltAvkLdrGQAUu!Ar^%U6A-6qER_{_Ab z5MZmQ`sHo$*Q**P2CB#|cX;dZvF@n<*0AJ2sQQEJfr%vH5JI2*=*Mdj7D@Zw_go1;%Duz}6v4Zh|ppSI#*Cb{Nk(Ft)9BWn8rp-C67bl?6kPm*ynVxsViS4>X9)`v)H|MQJ<-M zI>>z!E?S{BhAbLe`o}z*M+VY722Z*6K@?wPq2Vo8;eNwP_4XR6C~g5xW{sGa}eI_yS*g0u@&Oi^H7<$(g%c zwAsmmhL8j1rJv(pXC!ng{6mx7pK8~hKi3wDe^yR%SL{J6Hmji5cIL_dNB%{|1+OP$}CSrE}$3Jb}E$!PZ8zpu0v zY{rm^zVH6#aOJj=C8!gsbLIS|X;prrAb*8nv;d}RTR==}!IHl2#oXP$ZG_5i47>Rx zJ`ZiQKgcw|`Z>mKZiTyAHK0ykDg)^r`%P;!$ZS%7mH6g2x9Z>8fyYk%RpK_iv>D)Q z(0~AY+duzZ^63T=Kz_5kK;Nh!`spJWU;>`Nk|AM_64>v$y*5t56O(Kpi3k5@{}6#T z@W;3uPS>N%U|`ksGesQ1XW+j4u^;EsMd4RqRq}yMkHedKm5#QfD#SNcB_bQOhGK7G z=jN<=nn;0J?<*)!ziF2Ko5SG_Ra8tdv}%P0=ke1Q6#AfjX($UqiE=C{Zrhzc-e>|XNu)Y1&f|g zo%(NXCER1Id)lJt-{Bjg?&d??hWdYGrRfM!o*p zEua!Ik~`H}yk`679x&{v_=TMN5i?Z!A53Y=e=%2M{=s}1QksiTZ@CaGWK0x^eNrxE z^N;8klYd2%DOTA_#zXOm9Hd)J{sQ~IB_1380gIvd2P|m*A262nzrjdV=mdM{O3aO4 zT4yQ!1Nxu4{I{ToNvbkyl?oFp)kQJ062n>L8GY`<#h>V9)%$Vm`yWmFKaY++)_W27 zm+GV{`~rWC))N|5Pq$dd{MhhCpl41XAD^CO^S|iR6N=eLhx?bm{`a6$*Z+e4Gljpq z`~&*f@DJ#Jo#cOjwy}Q3kNn38QkH$w__L{uVIu|$VeHlDTH=1+HJ`?^|DE!4o ztG_J#|G=_;B>!ga?%&LP4B`x>e~5W*^e-{JDVD`c`Trv3%L=2i{~!^m%I?3Bs8j#X z6dwuuPw@UvJVYP+Z{w_rCGskc^8J&Lzb6nh5#`y&b|UsKmH*$e4?DN)^u<4;{Ey}hWD8P9CtMZU?xjfk+c-xBHIDcq35+)+{8}P=Fj`*6mYE<7~BfX)EA{+<}ZsS z6W|=GY_B zKdVB;T-)v0zG%y2HZKV!{$zVSvS3U3`3rIE)`4JDK1+DN<0ZvmZNcB?ix36&|K)$$ zJ35QMI^fgasj&Tf;K%vTfwwNvUl^gWZSGiostNCVKCtH6{WVxb{73S?Q1LJGz0mL{ zb<`eZ5-oSjlO7e2)mdPlGZry27U2<#*w@N)NR zf3@l2DIpPgbXIYP8J`uswE?_ZI`U<_c}$O*ezz63wSBwOw|4B_rZoI;wF0{q=()Q; zSu(f{KOCcZ{CzlEb@h#OXpeq>M%O-a2k@{nxSieS?lZXEwl4{7KB#N98E-ylK=##+ zI0NUMfmQ|=SCpQ2B){k~-wy=O{QPpCY+ldibv;wb(~q zLl}#mJo)(X*%O2RA4+OD+Za1rJr?J(G5aq?wE|nU>)td*pWg;K3F`o?t5n~Mv6Z0-iuy{ zn57%-QSEsii1&(i&aGK**?889KkPhExu!dALiX;nw%Q>h7H?~=vmQHUjF{&EAu@9h z*ICC)h3&0mr(fN58HPUm7dg|y{W_oGT=D9INv-GFkjP7-A+A){DjK0s*qCM?q{pRGnH&?f=fel%W zZF|?*tYhn2gC=E}RQkaEmiw~JAK9zz*5?Yp2|-@Nbu4S1*?Wzi5ooL?;^v>0O0ryA zr!Ir+t4FFY?Hf6qs_Q3vks@g*W|uP+^m@BZ%xE$?;bmi;9sN1 zdBD7stOldnWOXFzQ<`O-p6=M`H$()4)bKi0U_w)3lvOBO3!A1%XpdrBBu+1RZ zcq8i{+uk0xZz@f_fB{5E98D~fE+hCGXX^J27;pF@wO{M#4N$ zcHo$lAX%DX+g{O*6`RSpIh#D?3L1)#JkxRRN~LZf&V$_u@oTI?FoJbwo~4l*kIhZD zB`=%uPk6LY`nh3m+YF)48?N`#iVuBKYUm7wRG8{LbSZpY-@lk4Mv|RcdPMf5Ublg- zm%!_WluLbcl0SAB6G>SUg-&~A<}U5Eu`EC>`%nX9i&QEZHNd-I$SL_GQEM>SWL``&R7; zbEW&D7M4$&*~-xEssc8WxH$&0_hQ0|aoJ7OQ`!O2nk>)@K+vKo_5mX}MU@!=pP#7E zJS)F`pMftLr=>Tsb=^rNe?dAu@CWrMP#Ggoq}7SNkJ~Iz^fW+p+c^tt(akN<00(jP zyz``H)o-WCO6G!SGN z_9^zgVV(bGFY+wb;Nj`gX)o&RQ;n%~*l=&T;BR|@zEQ8QX$HS@u=7%nXXhxuOd31a zTJUcGzj1MmMlikkE*Kqmx%wJ!55kt6r=1{b)}J;Pe(guimS_eW7%p@I552fnLb_E1 z?_+=6UhtH;B7@5E?~a5&<)gOZl;6Z?ZLwvufaoTKNHe)$?VkJNF>VpWu?xnWVgZyw ze~1Ich2gQY76?DNYfN@d@I z#G5M_(beUxYK+Ky?=i6E-OKM?NG`;*LTdaL(8M}*Z6#7Mn(Z*E8D`rns#Wy&RBiWA zgJmxSmfcrF5TEteY|Cq)!qlRIf=CqcHrc|htk2f z3zA@+IaD3a_w+>=6H$#N*dX05aIS$ zoSV|`Qn^(q#j>?Z+sE);K(y_ZV&Nnqe`f#_@J%d9d~(q zb2M)^L!%b7f8t+|d|y2sL=d+yWG1b#1n(mN%D5qum=p6*3_+i1^@xRUL_U1ht{urq zos#^$>8{P#uM*u7)1eD>5{=}VYmxh%=~GK3_q~#iE#Eqk0g6^Cl+-$cl6oIK(5(6- z9_W&$NS;`K{r9Y9cn>9&e7~O zz2nS*U74WX!L0j>by@S;snTy5ph&7IM+fSxF2+)3D7VcJDp$h=7G7+uC9pTdz(=$bpt zxqS-923>ra>|{)+X=|?n)AOR^@6HTfQd$|jKfP;4)m1nst4dGvcGoH4Rf4;>+2+$C z_QV-e*HAQhZr#l@hX!D1=O_^8=Y@(~A3jqyL*jq2)FYqAh-dX>3fEymHP5oB`?iv+`cfSmwbs_#?sy-!v13h^ z+<_p_d(Gwq{pHg!IknGr8tI{F$Higf(84Yo#1*B83KQ!Px%dI7yfnWNf9E?{)1@MH!{(Sw`B4%T+I$^xC>v5;1pG{3IL>0~m-%G6wHV z_TMw*=kvN59FF{;j&t?xO>YSbIPzW0cX2y(9kKbI`M9T)p5GZ+lxMFVmSRPT)HrdrI~)Q5+s5_@^yHlFCF14Pe9AP z)$^F2D_1}O15dqH1C^Vx?v;In_LNetVnp#;w_h@^21{}HuN(p-;oxG{YbR#H0fxjq z&Ih}ry*iJ*>ayLgbcDV<%^SH>=t`D-{#rQa^&gG8tDZE!3RmmBm)16N(gm&F+%B?D z-klBpY#|r-ZkhTspj(U}gl#zp*jm|fR5@T-08-71x(>gqHZ+iPl}NaMX9r-&m)6-E z;w$>9k2MH|K0UFlSO7F_$M6sqPfQbP3c;0VO9^$)Q6!A466^-dt)h}+FX6EDeIGWb zT{hMF zn&oL{SLdI=MfI1Z(mJB+m24wM8Kx47cC-$^2`Z&e(!>#rFZA8jmg_ClK z55J!N`Fd0gZ+5EGV=cF{no}cqQaf*c0b?lsAUX3 z-IQWZfTIU^`%Pdh>Qn$i+gY&xReBdUhXKG<@V%PbV>M#hM_01a&+mP`1C|xwrx{bx zbh7I<#8-Xf&f_vL_X@lpTXsoX;ZihH^?=(O?{G>XV69rXS5?$TPd3vED?AYJ) za`MSlQM$V{nYUMITaE=3L@Hj9Ans;Q7WdX=e$l;i$Z_$K`}&2|s$spMgrV0T$4X2p z2&R(S<3ol|8<~v>8cc8$Tw((NP^3<8hl(&Ar@o`wM?Chg9oSwn%ZYdVQNIL$r-on`TMbm&Ar zHpdls?U9dFzE)P$Bn>6}5?dEw)sG=4>BOu_b$;VG^#q9-W7g0Y@5=}-@7Us?)=;49k-Uw()qFJwXva>}VZ zF|aWNq#9$(Y?BOE7QFoWtUIr;UU$Zyc3!z{v}G2L{Jnj$=n$$qUl=IsY4fMu@iC@U zyuF%;j8i@r6OG-E%i*V!$6dmKb~<5_^g@Sv0d#~lpijw<{fo1zDeKZDfE)`J|>t`f^9LNCQ`wZTL?qrK9R>0B1g@c68j`; zc4)rvpwrpvMGUZN?>Wp-YvkB0fInhg547a?e0cj=zBXUC?M5<@S%@gYXlTd%!5+lp z0*U5W7(v;^9~!=q{8BH-fIP%&!Oi3zuAP3&2SyqFayzgg#v;O9v~FAcy5NSkAG^>lt=Y>PeS4~fif$U7 zHs3#HN$;IFs(0VH$2CxrFG)x`cq(EaAM0mvd~WS&Xca-QJ3S2NQ!nW5n;ZT-z_fW4 z;bvlb-Vrzh87=elO1#=Rzx=|>W~Om?(do8J9k8#>pk&b4*DLnMvNe}Z*-ChgY0f${ zz1;nZO*@(}?Nw$Al80l68s&2hE1ON~QDOE zm-TwyywEEhEaxHWw1juZ0;R%epG?mw88-`C$+b-{Dd+tC5_%95T~2yB*uH5L^Q7XQ zSX6+=)qmY8(i}Ku?7m}7Uf-5?B&YN`Rvs&-$-tHG`JBZcRj-3}pp%^dtE@|?ZFlB3 zoz~R>S-gXnc!Hd;=^F>I&DeG^Lg&NNDQn$bixAQeG;y<#e7aSGEf?lD;R*|#1iIq- z*Cd`NUDl|T*1NB)v)5W)fwdr=(L_%2n}{N(-S30=;LrXLMq~i9+M(!$jz&o-KA7jw zNuQ}rJ`n6WQI=OF+oOj?3$2Hfb8|`fR36IEZ@W-nizu}41srhdQAHG&)W&U}jR{Ey zs{9e%*Po^9VqaM=@hJY_x=@UQ5{b2x z;8B!(F+h!Z_;aKv)oyrNuyIHF#Di;nK=7|6G60h?1`coWJRdPIfQeyEzUVGhN^Td$ z&Q60H5Q1N`JTfxKM9Kr+PVQ@1rs~~nwc7JhUBuypVQnM zowhF?AfcZ!-9sxwp24!c`>Sj}nMDL0JXT&pkjip%(1OhdayZ&_rRrv+yT5kJeQpF{ zyJdf*T3DdIY1tPR2wA^Ii(??`CeaNrkI2ell8Ydd`%Nd&z503QzAlrc(LYQkD_W8K z+?5g>1)XUo7397Th6>vp1fSQ~3)_K0sCj??jwxgo7`rIXHtUS(YP|XSG#eVGw}$0m zXjv1?@s9RCFRr#%~KYi*?AoZ2Q`uKTmKrgkJBI>CQ1XY~0=%$J$gYVsa;eu4= zP<0iN{JJp3(hqIhbxU$&peAM)2=0rKx-6Q`zV0{1kL}wg@uS%ygmbIX2GjE^=Lo!% zf5$FtKt-6D*mrAxV5cg8sjZUHWo2x#MUq8XFW}L4wbY@0NCWn$+KZcOMDm|;oMu+Km)ymg8`h+`%u5gEUWh%`;igk4dZM_Bl;g$$CKO{8fll@& za}K-r|sav^74$cowkDT%JT}#=;d@_jT9O7v4fFy!CYdWH#;uKMN13DRU z70K}9O2ciVod6}8%(&?r=zk}PSxBj^5Atg zW@myBG=)J=oDaH=4VSVm`2(M+o!m5DH5T{WPxVy~>qE)NN6e=ldNPefcC@s4DP`;} zYGLrF(TT9lv6GIMUCAL}ye%WCRjx>|2~9E#BCR#J<4kanki z*VW#F7W7CN9Hqj)KQta)sjt3qj?pv=k$tRM>V>UGO2F%jdt6P)3)>}F|2k>3H-@9T?JsBoBK zsaq2nbKNErMn-j`UHQ|) z4Z7Y=zceMB7EYb?YOL2zfAT(-JE(M%)KlB!owi=2Tpa6r7w9bR`eiLItbpBl(TAjd zmw~6v!DlS`bt=aepY(<5i9b<}*YE`m;WtJ_juRs?;GCIx-ROrBjifVfohX~}F!mSS zJ~x){OK4o0ZdZu2bw!;OB*5tH$0Q7j1{2X*f)00_0-ZT4BG)T38@PE_K_MqYBg9H&WM-Ay{Mp^a7x;DjjE1iOR9NKb0_86-^{Pxu zevC<R`X0TK0XQQ`MitOMWl!sXu)I>ByOw5jO+Hox4FHl6~68 zwQYYEsa@2B#@!{G8iCJC*1ZA~o~)ta>5i}a~` z&0fZ48LWKpk4uxQCw*42cNfmt-IRP1?dY8H%CY^|efE_@j1*;6fzcU%bnh|e)JN^d zuct2r93{O~I+_+mZ`WF>6NX5Ed5 zOGLBR(CS;7GPW4q*V^)&%{Uh#7S|}WB1VQqCbHFrSA0g-o8+(fVpC-Ise$2p?DVFc z4_~?1DL&kvxNR*j-A2sARoH_h&5vr<@4A?X$N7!e3n!XZzHXJ8<13Q1*`H2AJ`}nx z;oP-ZsPF4zeaQ6`oA_loijIHfU^v|;ejujYY<08XS=&G;r}n#&x0KI0L zE*chT9hubmln`9Dzt)^d#!qbwiOgMNdIw*Z?=GxnIVt}dm0W``MeZ&EKK zJbL^ZgcAqnQ2Rul#U)91-lH|uR zVLBqY^7%6hD{~$&BhSc5h3rEFdfwaOsBi@|#A{2$+)mDzK?A~htq{ZU9b#8Ce&%f7 z6>wQd8JR;o-U86l5V`E&H_;VFuDy3Nur<9g@A%-Y4cy4%#-G_KB*e}Qg2<5d5~T$& z{SXVrqZhGw2lOUnEJQdlMifwzX%MG%3-r#XnW+h;8xW`j?S&V_$$I6=J^j!-Z6~s+ zOqp4bz)liLRW|4DbDOGwcX1jkP;})mZcfU1-_*hVN3_-?3YGsHsda;)|mj(t!B+Kx}I^I}B z_wa>*$B#}aYYOZ)f^T|bO%;%04mi8m)SjhBj~S}fcO4R0+c=7DBJ(;cPvAI20GZ+^ zP60azUe5RDtaZ1_D?z(!8a_qRiIcFkC*=0j8g_NZW1ql!{6Y}KoP%^Lm!eBfKR(e@ zi>S*2J(aa1fmi$Ob>mQ1^8u`n5)&`XQZ2fzenvJr(xGkb97UAxe<1A&!_BDguwt@{MiJDTWcGyhwY{0o#MnbO zWO+;PCw6$2tehBw)7pT8aog4x%Boez3EB_i8WUC5kGkoGZg=qcRzB+Em9auXin??%nL-r6OuMj;)#C^aOK+y~IUW#pXCT~ySKE=x|-hjCs3x}HS8NDp+ zzap#M@a|JWK@;aHT^Pa$%Eo{`-ZT8%l4Bf-bWE~0vF9CE-a`w1p`s#aSJImP8CZZo zXM+g(VfbN#6L>!2yJd5^JJYCJ9i)2Bt`Vwnh2(GO;1Rfhj3fG%5+l2}F$KjWEX}Do zrM{}}5CXd~L_R|@aCPJubTmwQ=bo49bv>-^W;+{s-<`(35TyXzOns!T#uYd_gebIN z3Q?sUoOW+U8TO;*xHWNQR=7gn^(Bnhzk)UB_GUe!M}2NJJaUx539__a+wEmXf49f5 z$O$CRL{DhsvxFsuIdp3mlcjArMm(#CC(k64Yk2!u8pP3(i(?RCa^`dtv|IpnPvFX# z0cZ%Qn5{Ipo`yHCx&uU*Nz|S);H%lN??%3k>>U0`HyO6zc-?5xt$ADQ#)feZxc8wx z?45j3icml4=_J3&JKa#y-XFmv1zNFG+qu%wFN44ydVy*!Lx7j`k+9%$vnQ({IQuhv zeFcW`ld}aw1~;o?0x$Zs|8X6WqWDPQ&4=Jc*k(h} zVK?^+<05XEyOYKf)1o=_HH|e^1Olu3eBU_}JGfdmuGr-G?J^csZ$Yemou_F|+)l7W#~48ZUzJMRQ_atI=_F2;LrbjgHURpp%rOo(0vjKNw%ActsYX z!YV!_;^n@fwg~-0vOr0TD*2cq%oXTqF2JgRz?K(jCmypx1ik&KjD!#jrTucp-z%Tv zoOxDi<|q&G^RGc?=~y-}TKGe9E9#e2A^{2=(uo#l=B-RRqo5%XqOc+8$wlbY4h zJnEjbcd9jst7e8n=xO1IXq{>&qX$DKapbI7$_z5uWKBgV_{OAwZE3r_oN+fP{-KLB z6QE~WN84+XeqPGy?uf_F2hLBq)l^FQn9fzX{z(&BJb=11S??6|QV{^cjD z!Jk|6;%n{7ZmVdb{O9F(47YLLnExc*-Xv=wJ+x=;q6TcWaVI(XZ!=xYst?+QZwyeM zYanuO-fl>MEF_Ib5w|wfZ_7bqf3z zaj={fL}jbqq@Eny4L|UWp`nh&sBD(dI3Kd5G0RD2nTkyF&U#+W61RAh-)oSb=o|KF z>=1*DATe@ESJB2Eu-H_~Eb}QF$yEEI=16MXbUSZCR%_r+aR)zqNSX33qGpawfXe)( zh*GD@mRx@1do*1y94y}Y1I`xmVQ81`jZGE<7zVP{Hl<@|u;*o#iD$Q-y`9wsCq&Gg zn(trD>Pn+={n+I=h@U;S5S|`Fh+KHu3;6gLY<+_KZL%xFqb=4u>iNfYVI}J{}7PZXt!c%G7_OhT~=2?3(hlN$aDzd@G-E)NoK!B zs+#CGUF#5->^~Q;A9!;&D8dFbUQ?GCJtAxRm4d8|R;1w8!HDP6U>%CI!E!QROwO0y z5KSafaO}esEuAk*F6M7Fg=^~VSge`2GpiyqXd(qx(SGUwMo_+gjyRGxbMz2k zd&Tjj3;&s0R)HHQjFVRO2ox8Q%~W~KM-x%SAJ$F7@kZWQu);4V*<7Q=D$>xp?3N8S zRp5Xtq)*oVvVX8lP#_b}_B34Fd7=krnP1?`wqLO>^%Tt1YcR4XegZHYZJJh0m{~#_ z2UC>T=Z-3!4CB=Gp7GUlY8|Sn23PXFDiK(hfEr5a zZB9)8If~Ld?!aKztj#G-FPKTx7ptgjVGzevePOj6ipx55Id8gG{4x+NkLYy(q-U0r zp(n$p5Qi)yF-cXHX%NrI3y0RqtR9c8(eo^vF2_13O^;p$o*{8)ro+2Vc;d$tf`^Lq zwyqjoSW8LCxAKXfYk;X{e_geI(n&ak>Krfk!Vj%pfuCFtyfHqD*DRIVSP&jLa< zm|A<0P;CbrEW+{33A*!Ug0t&lo>SMy6dJ~7@jI+6BA8ySjHteAyH9RL!)1fd%W(IM z9B6?Ps7DXc%Vs+{HHz6-I691O-;yqvpAnW+?)PRfCe zOgNG4*EKlsbq6753_fiNSUGv$oUqofc;zfsZT3&@y*D&HEOnre!YdKCd386U}Q^5sLV29ojDjNtuUFv*8|8oRz>v_JX-Mobb(Dy1#bW%%AZ~ z(=MC(e*{(|aUa|g=IxfS$u+#*3W_QC9fS|82Zt8XDt$j!v0pQ=Zdv^JR?usOVR28C zsnMu(1R_A-${;B7#&`EOV>2BaT8)|xkQJg=GL#Zb3R42^xO&*~Jhs;pI#yj-WOA>_ znpFKf3yuaQ5vsqr@S2#fWB~D`fUQL2*1l#B8AIJeFr=STfy2FxRbK9DR7=Hg97QgK zt*(&hCbmQU9b%cvzxTGH{IuN~h%?zNGqNY5insU^+{(U}!l+a9cs;5$mV^{CJ%Nqf zx>fhRwCLTc+oHAgcmCjxix&Xb1&0DYyp6@3haF%FQN+03T9@mErn|Pt{dRJj_IAnv z?tPL(5lr9|RikRNKXWTh<6X;w|5yNKRW)Xt4vX;dR^B234Dl)4(`%Hp5_RWe4seef zNw2Tgldrt&lBR!rXBLP%p}P#*Qwkr7>2YO_GvpQyEcaI^jrK|Fc75H_4kcRI=K+U$ zR}VT1t%-irRrcCXYy50AoOC|k*pC76q8ss_E2lgUU*cu^KpAB~04fkoe|~!W1s557sDfc~8SQt#Q+Wn_rnINslCWCqJ+qHM^#iq&6 zZttQ>{aEP#}qe=+Ok6ku4sSt*>svSDesX7iz*HF{N$XM0x(7nZshfthFxAYuy+hicCvuQr|Su0FBS+*5bz2Ika-gW*Pj213LcOnvB-EDzi4AU{hr)L-dJ31PrYGnb3SaE zXg09=q2wL)xilK(HuTzjo%lblJ=PO^VllBazi)U^OH?B zbY#Evwj2#kC#Q@XU%4v##oUq@s7ZvJfkt%AX&TR={@qlKj(3}gMMQ>k@a4GzumYOq zYqO9*7yRd>04tUp-t~D-L*l6FPYp8qQaDvMKuM>1_$18gHOpqaCrMSC zBtF;mJQ{Q7CRsIyDCP~HH%>V;MvRA=wS0Km9+l!TW`Tn0ILwP^XutqS=>#4JVm65r z1JR-KZ8q)KXMqm^A9;b0`iPk2de7ln;;4w? z7ji$cF5#_i;$atGtjOuapWAwr?mKyUuN{fDe&dq_y`G}1dt9`FYaQl&je!ks(~s)h z%whXtWn_8_T(=mQM;N+UN%Z^QcWEzTY8U5QJhA)>KIX@3wM=55!7<(3U6cCy(QjmK zVwiY+WAH_T;CsAc8lkAncftJLw>BG}eG+q@6D4&&|3%`BI{N&@$_t)TQ>bv1K*f*J z3O=bYv}{3bbYfkN59a#CAKF}|l>r6?mh($AiZ&jC-3??Ck)LDn#!?+m7#KIdzLF;d z{yK5lm}0IQM7@#1@G2O`eS!JeB$SP#?^WH0xkBWm)-06Qb5C>(x0pW4A#+TE+_IN4 zRLO|_Bk8P-uQ(Y&)TrL=;O`J8W}YunJ{WWG^T-JI5$cZJBJ>PIaSnSx8$1My6Ez-M9=+5 zzllPU+`~||$vK_z&$~3dH&D>}p~qLQDPJ&rE+mPA)~=kzWur7%4gFzp2tOSD31qj&23R0NWE{!~)Rg z0jB|?qG@iL42<1s3r45UUvI`t%FRKHjTW0UnCn{RNatWnQ^SUIXU*R<7-EjVGU>;h z!18kC=YrO&VHINmUNcjG86c;O`}nuot7n&;;wexQpGbM3OEbl>TaQeP8!HG>VQH|D zu)YLAE)7MQ%-4o)V9zR|*Ki1wIdh1e`n-Fcvjqu?q>Z2m*)+LL(ToG{BDB1OvBl%) zVk0=c?Mu(}ryh`yAe@Q~T)57bS(kL+13X{u?i~rW2emUKx{BJS>9s8w4tY-Pr4jgw zW*pX=e5N)(nC=i+=9Dtp>gL=!9y@QJAX(`n^t*c+l@BJe}&JL)oRnVsEo9y>iX$IdkCkK^f@4mi9 zBW%+x^8K6c7GlxMD&<~xx2f?Y|rP@H6=ZBwp<=H`+UePMbcpqLkue$^rGLN4T zDZaV!I)n3Yc4lk!YGNQe(0-osJ9wzMjjnErcgOf0-)+{ebwOsA6?7OzQGvwxLz&T)m3fMu^m>qyxBXu9?X(L z6|oagR<6ENkq1xErtR!7#K`-(am1qxCk610jt8dNTyR#KlIvdM;V&JY+h*T}K=U%D zx|j*RBk8~R|n;t4&C?1f?+_8@Xs@durlhlr*snD zgKt7fEX6AL<7m5nX}YUi$k7cc-{Z)hUnIagsT-5CD{5&7f#qf#zgJ(mi142b7jS=M zoAz|i3KebenHe`HN?X+GH~-1S4AbZxCT9JrnbL7Oe8GD};70y>*QYTB^|+0Fs4Z-X z_xEwjy^9Dw2HRj({V6fV$CqWlfBQf8HKic>?N7>B>F90s%4ykaBQ7k4fFcfo;})cO z?O{Z<;jcOtW3+rr~i+lq6~*BlNwl01+mXW}$E?hlj%}kqpy*F>$H)<9&?2 zDl|pn(6DWI-z%fqkj=$dMMq-YhHPvfxVHNPmdzOUQqxO+1s$8xy^92B!BFTxPN=40 zM10WJM54IvhjU*Uby8V-)A@FlTL7NjXDq?M+)MQM?W5?}N}i7_rrdj94(h|(nDje6 zR!LklyLUw>b8@@#ktp+e!7udW*v*}2&}uk*dVQl(Tw8)zrAcTj^m$XZOM|X{s|j4d zD!u}DM!#5P*1kMg{jJq}RnyiM3fc$=GAk>pe9S+57`;k{Qc^2-%ojG)eG}k#0WD}b zDcf%aW)ZkA{t1OM^UmK$E;{4c9+qijG=LUHCi_P48i7C%Bl)mP3ic&R1=8AuX&KvGuhBrI6-vcW|Vyv5A%h6JXK*G$KJ7m7FWU z*CFMBDI=%;4+)FL7F_)FeP$bY=*JYX>SrrMUNG&o^oI$mxQy)%m-|gRC?Kbt`v}jkfnD2&65Xn$fh#CCBh{_G1 zpc!(3i*uqbjq%-VXL56IKiPYoIZM%FJjDA;?)sK%t!U3FY=DCKhlkgmK64h(e5qyq zi|bp08R=4K%zC$&wKD{%mT+?B@f^)gCcgJ}xsgNs!8L3_qxvvD)huwMu~>^|h*woB zyczUlv*7$sm@e1LJq)1ikfAqm_Qc26#$`1M zr!63yge7Nt;qRoPgG&kJ&opP@I$ccRB+wX;?`{y+ijF#aTwxbZ&KPn`45gYT5SOp~ zagE0Qll7^?OQJn^u2!5*AG(dzyn0qeS{VAzp&9v&4m#IFN?Td#^`S&Yh!!8 zZ^CJ77g$DXZ?S6C<~aOQUWQ88*WEtg6B^AGj@OFiKL6u&-4yFIIKNmKT}NYnUu$G@ z;ekxLp-84C=t%wb`I;1CXIMvXV=)pOfCn)6&1p<<^4*ykuf8Tv=r?Sd(_>t^XRz23F#{$$Za-fvDDA5I$HO&tnF8XWnk?s(=g+93@a2x|X;u6A)!{i2q zp62{OUM0P73mMqlRK|>7>^6%#SVxJ#RlUE)V}#-}GvEMTeIGO=PoXKlIDnZ-i6)o! z+ZQ5Q-ubylvGs&0U^(5iI<9y~%$m!{`E`DG6t+YGm~iUP&qkNY>gz!34>Dt{z*^GA zRiO>P`!kL=28{6&cjm2$HN!Z2*prmhj}wUOdoBwx8xVX3->B$Ud2!a%V9}vFv(haz zCQghjVhrz6S#7YTQZR@;E#rVGOyNV#s|coi0$r#{Stu>GnxIC-+~;n~>sYAt@dlQh zXYI-%D~s~pTtRyoQz?!+b=0|9U07Vf!2)?!U09_UWnoH3JQ4mT+S-=4i@+z}7PT7n z`RD#cPAafX(y(tQEgW34ENv=VWB`C`>Hs!XLs-e-Hz!$Fj}=krSTT!2Wvj?szfbyl zRbQ}`BVqj*#e+mE&}?ZHD8Gx5d+ZCdKNuWbBpwzSJYgehNBJIe2tLg~wC?R800uiT zILYZ?BqC>kw4AVSjd!`fA4C_Lk2B7rZ5;Lj(u_@vzi!zIKsT;LVEAnfObUhJOn}!u zY=*4~G+q#E8hv+V8N_6HF(fC^o?+YhUEmvw4bE(*aV7OBzyGF%G2XK7Evn zM1wI47QvRrxjG^&g(b}T;ANjgEZNq1JX#Nb2O|_W@Hhl2c=NhSUjBv^gs%j)9vs#4 zQh?G8TB%ZSV*T`z5_nis2y=@NTd{@c-N&rI?2k=MqYatDlz?9Ece^A(O-=)vC^qNg zQd4+mlkXIRcDto!UgD=$P&~fg?!N1Q6qbw!*`NO%f^aT8ZA#%odB?n_ zalCOvK*Ln+OC%987C@>tbu<`ym7TVjGZ^~3VzV#R;PEpJ1>V{3EjD2vl^WhX+vk(e zv1l-OrPu^bkaetY;q;QQv?!|ENrAjI1N7usy?_nM(Ay42Re1BYJi}n<;%?K!5=B}llO~PV-fnb)=~mCzF#I1k`W)yayw%DPS5Iw zMBu6w2a=txPWHP8jfwG#aT(QOhl8p&{+-bb-p&v5tt7dWv9JoSP@&&CzT@wmJNvJ% z=E(Udnspy+c7DtvQRbRB+tby-Wi}%3> ze(&^*M1t>%ct=O}tof$Y?Y!#xB7g2Fm`~WKdm^Lt{_M(1lz)o;4O_z=DfWofmwvtz zLj;M+v`Aiku3013Vj~mZ?0q)7^QqJS%m=@Z3H$D1(jOaZhw*mo_TP7sZdxKKs5!L~O9HU9K&L!dfWo3bPN8Yg?DFB?s{p{eD zPP?^Dyz`5vNjg?Sn(lL8Z=6{nag>uTlus|tHgW%Lnp5+U(W8?L;>`40g@I{8 zgE%sU#J;%mo}6KN&#}s!^>GJqJ;W(ATZS76!;T-7!Hz9*M?AB$*#miX+?hi!!TYNJH}Unk z647ss%-xL+G2=rI{BfWEzzZ5XeCkGP^q}}`Dg8pK`^52>U!F`b>qXGUOozMPBW=_s zhTtbmA6~6K)7~OU>~_^cHidc0k&{o6J#_Rrob8Xj-EHtDT%(#>3={jyz%Kqn-X;#i z-m682f_i$B7CIHRDlKYi7qjM1(}Mz{H0p{inqHsp8U3&v(YbHW{Nd-^bm)oBt>+pa zkR%P>Sv{6CYzlcZgnyjhBtL__fj0;s&4O)W0P&W|lh}!I2b*01t=4%y718!O?}q;1 z2g+W7$AOHdAFT+AuYEr+Eca=79r@}=Gk;eNNyI*{U*m%h6&qE<7h`YT(!^zMLmuAX z>(qzV0!;h8r6B=j^vF#99HLQ1vG@;v_BgaU`mc9-yKEc-Kc9$rmwqZmTt(hrSn9lv z`W0(Xb0t07vR`zo(HGYGLt=WY)@oi9{G!LLx3~T8>h4N`TLC9}`(+uPV-4`kOpeMA+U~>B|LG#ln;)clj{eOs7o>2?6Ex;7^4!r^*jLU*IMm-nq|I2eV+IlD)bWRy5#kKOc9i z<;Wsqd2G;L+IoHMNzOGEyKYmt&Jkkg(I12lZ!zM@pupI>e3V^Z$W1SKoO;P;#7{Xl zB96aT3cL5{`cKW*z+s=>Y=gVf@WZ`lY_92!A(JLASLEV;kE`3cWNPq~R?L*3q+80yyx#-m9v;?na5W)(*_8pFpc zw-fkS&V zmgb8D)z6MsPfU|t!WCzzl@!WKxpb+8gA8bFMK@(CP9?p)byq5= z4aoe((YccTXW<3*d5aET6k4cS-gS(zj}m03B~qQUp#ZKns#=hiDX zT*#k?vwI%}aP<{8nU3)LpN4(W_loCWUCU0~Ig)%~L28T8x|ka@Gw_B(p1S3t@VJ$Z*7GkWe2OPWU+-8y zS3Qudc9^pcq8^CZQ_+aH^{|SWNb@{TDXeX|HNdliyh}^CC4<);i#Bw}Rlu+NmA4nC zfLHebod@Sj2QCd)#ykwV>+a*p9-me8&W~F(-+%H>b~Xlw+Uu8p^ish{L%kG*8)jQk*FYuln>QqkJ^MxVD?2s zX629`lE%6VI&qsdCk)-Ble_1lZyL(VE3y!cvUFr>8~o@e z>LO}1rvi(MT1~~Ie!O~ge)UI<#|yT*9x+jMB%=hR8h373FUXE_#y?U6%uTPp)c4t{ z@FCAgBpGVzd=v6aOlSzWsg-zW7mMDea%9DC_O?+)NEt~?Dz#2K-=K4)%|Ct3pxrs} zHoHD*h$M@W-RU(wX{P)=l4fffzY#}D9bN4){VWbiGfm=X{D(S;e#wsctzQ$`e<;EX z?pPa1MP`|{n9nw&Vg)+zM0byQahMI=dmNOAlkqh%1hdFY-B+-!Vt+jZ~XX<4{}uH3L+ zDpP@IH4;nxOeVSZyUhX|%I@ zbItLf4BdqO#=6hs$iqjv2Kb`S*dJ8s%h`Az$8_)ds10803*j_cr$T7#qP{^#HvB$8dPZn>WQDyw(^&!C& z%Nu)J^cJVE;<%(I-jgze!CRLD_+3x$_L{WA@nhiuEN!k(QO;i6_F-9puy-)0q)JM4 zp63Q>TVWWQkAHd}AGR&29p7_nYNyE?sX8Ejz&2}q`v4Y_k?lr%ke;{DLVvKcU!wRk z4bRvlKEUyyAJ1%{vMO%o(M&os9=hext37E?$~S1WUB?-7?@37?)c z=h7>2mhw!g#b^5j{5|Q#yo{hJ?0l*mTIRaQHCM6t6B7O4eQa4p^*wcE8t2Zd2<{Q= zEs9a7Rx8|Ur)sBE9;s#SPw%%z%s-mQ=dj%7`0&BS_-ny}Ph7v84np`d>&I5!Mn$48 z*Rx0DDqS`6SKdku%w_{WW)|{zC~n|{sysyP=RsaVR=r8AqEd;oneS#x%^S5-VRXF4 z2*)kgPwBXUwm;d+LM%_G`Sg# zy^%njpgm|prt;WEBHI6nHkZocXF=aX5-}{%Yt}PNT{9l@%Rco?7Oi*^U(3zBSPgEt zx8jH9`9xFWz&Pmb8NH`_=8Bl=C0QbhqUJU4Bfb7aX3U&RRe12}i;_%Ap^e3sO0Uo2 zW>zi10=q_ojbzeu&UzzB9s2JBhYj1>OkuOKAMCGw=u@40#_c{#mnfKm@O)3}R^Q>Z zrHBvm_RC(;G{z_9(cNh09@XZ|ycIBHSj$95)+Cw>?h^&3=m$$jR!I)zfm+wcJqY!! z_TG$mcC2OiL_3THGpwOa=w0J~%Kwl^{bX%nkoU+Q z)n2&zJuB=0l}kZw8@GzGfJmurXPiqqIfu7Tlkh1l&zFMu%1v!qPUNl3ItU|TcBo=RCS{YZeHQkvBBN9Xo z(DmuKt1+j zV(8CSBVG&iN}kHI>n+?Xy0eNO^*w;cF$DN%7`-^u6LVEw`+AGO))%ay;rs+nMM~6E z#t)G)=(#^1#rsZQnG#jh!J9$4cef~veKjfwfpq9)IkgpsKmwbN4xYn#&p3uRcfTC> zk;g+5$qb3aK}KfkfV;7h<7YXUhWoH+yVl891j->&oOicKvkM}39I!e0S2k2CGR71H+6*i-jfu5aYq5V_v@o!O@ZHPNPbogEE`jSX%*^p*k`jjRIEnPF z?M?+914jL+B#rY0i1R%gG{ zu8H(9m9``S&8pYoDU;tS`Czc|zJ%kZRg1(*6M1=*?cwr5uH zsh?I>4;HipT^E!RzD6q^bPd)+O3b}p)2^S!$7YMIpPb^rLlYq=r(AnluzjI%oYQxq za`?4rhiOsOBM#NE?_E`cycq>CZfmYy6}rK0ktS|)xv50A_>ijh!u0gpYLQ2|r$e8M zA8D<2>suXp&)_(7sO)yOTWGX2X*{-&aw#9S#^g0UTD0a;d1JH|`0dB(7=0=E5c9XX z+eBSK`!{&Fzt&%8%)=IB?kGF$Q5Q~O8q#0!t3`>ETu)K&>_}R{uzKf|A5TVr=z4w8 zo>v85CPPcjwmaNU<*LmEmRz{%?XdP5GYR#ny(pb&^K$0im3k|;_g745&Ljvnt?pM| z$wWTXu&2MqYx%t4v0x%@n0@D*JXHhMr$P#2NsSfMd-T>X=P-#p&-Ce%7Tr))MT_e3 z>(x*7zn-7XF}b4<((E&TkSLwczG%UkRvkT~=D%t_kug>=E_qX^LNA2Q`5Swoh1co<-+qK>{S)H18;V#x*+J(AOy4hbBu``saIWAN;&9NpPh^ixVUpIm{+PrG zZWA6{YEvb|e4|x-7v=T?eZ_AUa^eEMdD8?GNR1QqL%4ZO`b>VuZ(azEiFTw6I4N|- zNwsc2r*7d6_As2eiGgD7rV*%}6vCg9NM0FP6W;p*kBR*mpYg@v!^W=|_|dES1dr7> zU-x~KnW{Gx4WTYHR(q}f^%>?X<+oC7SDHJ;XKx(&z>2Z81g=Wh^H(hdyBmeEvb&ty zwL~)QpULJP-<%RB-H51=x#d+%JF0hYWB`-sMERUqD1tS@ z=_K~Gce{=TgmSFsdrg)FF09sD{60t&aSEuSZAa4{sP;B%BR9wE)i!&Ge3)-)BM$eZ zY#Z}bK3HZ!Zai$q*u6dm{7Px|xqgDcbYyIT_Da*0R73B5q*~*2*t_WfO7Yk?2F*KB zI?0Nx>+FNVDOL+pE0(@_4D)MU5JGrA8j7bQL-m#c=~63#^ExvsHoXJ zsM9;`(`OdzO<_J9X0BJyuh%Fs9LqbCGn+J|(GPM{Ato*MZzq@Il~6?8Gr9F(^0p** zTDMuM4Bf$(r_tx;Zn_+l->)^F4JX_m+8x$;Q$N?`nVcd+zfILo7dh%y=yQ>Qq*Z?S zutwD+IpZg44~0`&F?+V7Zr}~7fmYNlGBx1Tp2LP%#QoQU>ghjNWA6c$$UQYnAiwEW7sC; zd$F~GkpPpQ0lw;fRQC~ypFB9sO_j=ivCI7|fqL8Cr!f1#0~yUcbJyfN@w9!N^z~wW z_0=OyVoc>DpVd%h|JD5dWBvDy*zdPv&Z`o93AYO7b(K_{SgWgxzQyw?EwTDHyXb1H zl*~vwi(Q-Q=~49w?W3O^4*U@(Kp;xs-I09oB_U| z-biCxFv4$cmA0#So++3ipdfm`w(sObdgEy7{vM)n`y|V|k5huJ*^%{Xjb|r1#E%#B z2|DZ5a7ptsM}n}FzX<42P)H8FCrXXI@V*uKaSr)z*bblJD^U`@i;^|!H=X+=29Z8r zO%@b+PU|*%NQ#A<+TWrjrEKeuv+@voQj_08!6$u%$O$h^ zt+1jsb-v{(=6x1+%~U4BubI3rp6}+xfnsv?`*c%cHPN$@SH5*y8y?B;7gGjNT3fK? zTKPk`hVWsJjm-6T7RWqMEPwKi|72IF9hqr%eVZ8_P&M}nzhFsy_uU=`-^g*nieU_& zw(V&Z^%d_Ngh1ci1!bN^{k_LO#ctkol|Fl3?}_J`X@I0Hc7^>dOw+g|qQmBni~Fi* z^$YE>EP0b1_(I;rAn1|l*d(lz!xE;CQBBOA1Lp_1e)YFr&ek`x-RHd(!B z)492U-HSFvY3=WM_0jVmw2SJ^CA6&>!duZ!5pFwF!ln}(zI-Yr?1o;SFE+*MC!=_4 z`~9EZ-7*+BNO5Psa`%7)*W-jZMBVE`1sQo*Uvl!;_^5}nBTB#}+TFi*$|cLe@9pS` zRcmMXp|lfBL#8mD&nSM-FR%pow=rW+Vw(uwaTlq7KA*C_sr^~cH$Ro;2|9b`h4x*R zTg6xIy+AK*vE#sr%S>lkFV1U}#2#=_Q*Yi#=|~F1BH5Vo^`YF!K8$bK$=}bOl{$AH zyeQhfIBMcBvHo69?SI3l)_ONmU00Z2u(lofcG0^!hwFI-q;a_y=hh3+2N=WR)zUQazmEI2f~AS2&2sdmnKYE1D{mP^?bVcg~{J+3WsM&CDLy~hr<{@I-V zd=ZQORqqSk&!QKns&}P)gvTo#-;#x}we=`QD6TAiZ^?c2+Hgb*#z55g>LhvJD1O!> z5@o!=mH~EK#d))In#E@GLJjqMaYyS04o`Xgz~*c+(u~bJHiIymO#Ie;KA~fZAHB=6 zlZfrz1=qe~BKGeUEMM)kx14%BUMhW3U}8civvry+cz>v|Wn)VHntI8(HgY%cZ>s#x zA7I~LSF5r1V!IMNetn2xc1E20=|;-uv>yjOJ09=CY%e@}qrxUJUT(GZjitzDGsznx zeBgMjE0+-&@>0DeGm5IvOcTdxPF*|6{^SAKbJ13>rvgjJgZU$uerjWCn> z)|^n^!W_+j_k16+PC)dX1wb{ovE%!j^pV=Jkuzc+eK4+jmZT^7#0#cYBylZ+71-c~JGL?J0jq*T(wT zh=fdwx5C8vI?R{(sLJm|0&Ddm-|(y|hzL)~x$GH#0ZRX24i`=(d(b3F(Uq-$XGPrQ z=ney`xEMUmr&7f1EGxAbZ%*ptHx?Cn8vLm5N3O|UsGTb!PR$bOVlLlq8OQo6 zCp0^2Gf5f|wi5iXD{9-#WS?4=|Jm;3oZD7glmK1Q2|2Si~@dc`8;R)#16HR|7)}5 zgR$x(XOhmZZ7f`O_;WjwaBN4V*mskxdRhk$e4Ot@AeW>WaNlcvq=(8PS}c5fuO;Pu zsx-~1-G#G{N?zAq(o!wnjRf*be6pd zO;MJfFT89(*>!1AJ~bv^zj%*4#6>f7gW`to`=w`f4ciDMUL1{Q6!QB6>yrn85f7ui z5CxC$2lLdpzK=ip&Xh7`Wl)Z=Gv4X6y1RcHs!7>JvT9d@>&t`sr!tEYeY}b45Al(Vfvef?iRvA`*Ktr0B;h%jfFI zE(;+Yd5vdn80X4QnGSt{-*mpwWU=M9r=f_9L!LiEzG69xSk(5@bm0aCJ;f~7s^y%a zf5q1GY$6=ee7@u(r_If$&a?4~L^x>qq&;3%ILT}>-eQ}a9wbpGh#&oDY1ZOr@#Ndi z?hhN2dfi(!CPQnH;+Jis5k$xy&TYGy>t;epcpKIf%1P0S#h-2?(#qFN<8hsf^EQlH zQcpOI>w$yI?#<{Bsa-VYqd}VOg%%n?l(q_~sM?t=$zc1Gfn9W*HMe`gsV7Sw&9~Sn zdT)`T2U8dq01Ke>zt3%Z6AcJw%gOL5k?FVE70d5#aqb%dLq>ep@hJ^6Nu!o3Z7}MHq1?+w5ER-UXp2Z^%>jmt+YYqqW zhL}{NN-TlZ0=O>vj5{5L(jo8wrrL-A>{T3M6nV}JM zqEzy_#u3^Ujy-V&P`){bM_x^iPidU)C*^eegYexgyy6>COG;EaN?rjPLV#KK+DCcgn54wP zwjpi67jE9oh@wU+J?-|)T!A^DG)WqPezP+^Fw>e2k&ZZ7plVvIG`1m%cCXbWK$9s3Vfxb-Ou7qNhm4 zF>arLev{nwjc>rL4C&dofZA1F=^ELdHGwVqP}kLX5r!YMTkzR}(lt`Rus=iS!3r?E zPwPMdEE$kOt1!1?&=V>qom6PfN{R4}wi`4?CNnDsiqmMj`+zRD%1Tf}DNYmPw4k zFe~}EeOaUrX_dfl=}M!Ig;~)s%7|}js3l4(Ul*@T`z|AMl0z4n^C32kHo#G`f)9`? zX{rf<(obpM<-=ldrwImAGHzcr)Kjhvoz=^`x*xV80%)~ss!;-3NcCyQa)8!3!Jwu} zTmV&ZPF-vtn`1c5`+88?ly)o)NC^oC?EvX?an2Sk;09hei9G&+rF^Q^z!IR<)RNZv z0MOzlE6$5JQ6%wE0!AOXKOF0R|+USCE?R)&)b4QK+j#l{%2C0PY& zragj8DYJ>g6>k$kmg2&prM^nS4dKsUuJi;C?#ku#rz?VO*WoMvJv%X%)9*TTj0VCl zZ8=U6y0qUe_zy+tKj$w-7-=8dZ|u;KqrZUP!#}>T->j3C%)t27ROAQk9cYoDUabIj@KSij**4V1+gO$BC1iU=|8>jKYjhrR`_r2uIy(gWa^4!2TNSt|f0 z4c&9d{tjqYfC!;weIEhh$Wqw`LlVhDL`Asa`KmkILtuJ6Gcu?A@` zfbj%qnL}Dtkn>$&JkhdR)m%dT#&-1-^?wcGKXbtVrfDUs@`IBy zD5x#%M_mE<^gIajCW;~4>&$Ta%-4dqm!B~LA69^dYotpy0H7qt;-9e5vaVD~mwW`e z-(>nE?p$D39l214arU;KK93105(209rCK2Pv{-$~Ko$kgWlPx6uFhFiGXY3@qkQm zLZ-I9l0oA9%aDNFBC%7c7V>Su<57UL9U$O#L8b>Dr@?Q0nwcU5ekn*x;8N=)Wb!9u zatF+9z`}|ur7ZmaH4&t}M6@R$TQ?$l!ChI-gbO{lF(e4uR4 z2I$5xsNor+w3rICfePF+{C^h&U`F}fL{KVv>sQ*FRdB|D!qyr4-zMyT61BH~s%8Hs zqs2Xb9RklZe=d{2ql|D*7)U%EJ|4+w|0E1dYI*)j7%2Qv7<{n#x55DbUxxu*NBy4& zgYjI@t@KNvgH;;9=5H>8MFzsE3k2vbdb&^Tnq?#@(1!b8c!vo-wJVvpFnX(yzO$T7l|Y?|$C=9L*S$L&dSSI27(KL@ zL9f*pTey&M;pepR{(PJP2!|9y+5}0y{ zUJXcFzt7Oq0u*v%JPhHhtOWjR;T9!LR^FsNT?dmVQU3?OQ=|q6nP8%6L-7(1nuWnqtJbxO!%WNjJ6%Hc`$S9+5=`%N% zR30zSjiDW)!04_LsMKldtN zjuWoarv(WgLCv_rscjq9t%$ZzeF9Iaj4eU9>Xrb!8HLQP(SkR=FLuFR2kmh`Eo$~ z9~vmofX^)%_>@`KG%!s1-yT-n{;Np;Z?Jl%Pt*_LJyY!$;2jL--0Sty+3=9tV*Uh% z>c16oA--? z&Gpm2hx4;tIL_H?rv5d~C;v6h&3?jhE{e7(_F&E#j=ebupJkVD2k{BG+6Ccr0m7#v zBy_)QAbcM2Z^?Gx1aRv!oNF~<-shwdx zc?k8F%{tVZgPPUm4aa)izT>1r)$5c2PCN|fsrR03vhMc*xBBdy7s7XueHomf&ItLS z0rn@C18kQAMUIyP_o0E=;n7P@OVmz1o&Uomm~KA**Ss>Tc<G?o>MHn1@Ot z#M3qcTSRvVL72mF?IHx>x=lLeEkMt;kkYziU$&{V;z}1B?YXW11;YSndP95$gJ@bG zVsw3l)2(Ps@s*Eon5;xWO%c?jz#Eb-ICdfwW_$QcG8mQ>bJyU2*=0y_fg{)$f~CV{ z1EF&ZTJ3kq-22axIha)XydY{ng^1n?${Ws?7iJAD#RKW+Ktf%pnSdG*sHue-Z+Nq8 zrSK`#bz_CzE4&u?J>l|I0XSD$E?u@Om+dmtF89Gpl-#}osI1A9x-58#k|DAMcnILd zWreq*ue1Jjaq>rKysUYu`==FoprYz;-vFKK=eDo+yO{H?M9R0ZAu`yWG9 zfj3kY)WK1rQh(V%c>h;LO5MLCZ?FQg6owE~12tYy!wWBqxP?MRb-%_Wa|gr2rf&*; z93D8!QLlf(17-oD-35qt7a-bQScPOzQLS-VtiQ^Bf$HwZH;gRxh;1S%9KuC6CIOkyg8wa zu(CYF)gO|eLS-JROl&VJ6Ml%nhavELD;$>tK&%yjig5*C7X+HXf$HvTh?YCxpxC=? z#-Lss)C@xnR0~8vwZMI_7H9*23Dp85P%RJvp|SO{fk4>`fwC0>Wh(?qv&#wv1f{XG zVgdxpE(nwh5E^$b8wiv;5GZ#bQ2zG{{ItpkDBO4;E>D1mkhJfq2mBf{M91pkSE&PK zBpoOt=|CAt2g*p*3H`QdA4T$yxh|&SRnIbgFLHfbcTHHC95&1McTFOg9Jb5p_e|EA z9Jb0e_DtlNw`MJ|R=?GAByEEZVt}oDPpiT4rN!gHdGwyylxrzLPT3OuRX=l zW^L^Y$wTS_&I$%=yU_C1@5%XJ==w;Wd6sIteqjCh=NA$^K=_Hl+7l3NC+8ml!a2`U z!Z#1B*EYV87y`mZ2J2vgBjch70+_a{Tn10jp-BPfi=mO(Sf2KKI>wQTL-aQ+BP3zk zWq|PhkqIjoAe@io=>~)eibF6!=nT`oA)mo>ebISLT~IR2U|kLfO;YkF0AZeYX;$I`>uU#JbnF1(1cP-0AoNPf$I|?P z)51%5YSP93V(8{pY{d^?!8XOAH^737qT0Y)G@hYT6L~>ExEous0tovRhl&BAwy5?P zAbeF@iY=~`#oH}zfl9Jkmy$-Z;pxwdY|(Z@KeYe>WBV(Sg(d>I`x0ikkY7U09_sfS zVyej}Nb6XsEbKo1`>5Zdr0T`&5b=LZuzx#2Bun}xe1>|Ao+@7C>kmWD`G$1+nRcF|J_u;M+}7z0WPqk4{u?eo4Av+lM?mFF*+35%3&elp3am|yx^P1*kWkwH=!()i zT@?c#K=c-0i`5UqCJrf&vcV9iONFucKA_2rI&>{nJTJ3B2T=KhuLWF`4hQNGxmci! zoc|u+Dvzo`EgzH+VbP1fR%5^Ges zLanSt^gGz|cv_Df;uly-g{Ei2#&*eMTtpE0G=;Mkok~}++$v{zMB3tX^&2_}QkDgZ z)@%{E&4y8^$ow4*wE1|%_z?svtdVfB{S?*{5CV`>RX@=q%pfcc6kh!kqDTZ+=7~S0 z`3LqR5f1MB0wb=1f7J-%HywnxdR@DILDu`Kz|Fz8;PPu-OF*(g{q{yzHB}e9VfYrV z2oa+^Aa;#iCbaOOUA$eJW_c$b_*Hd*yVv^7Z?Mv z3z!743(Nzt3y1*h0wNH*g^U1p$G4q6Wi{M{tK0-&x1NAx48TrT)!-2{2EvX9wH1IJ zFl`HjovMKsT=WKj9iU!D*}$s!(Hf%@53V8r1QB2v3?d%X1t1K7Y3^`G3}DbS$dLue zkwLg4#s6@G1g@e5Ibsbtq6>{djtoJL>_Lur!$p-keoO-bib_-Xx|L?4gH=XvNT|pf zro$|){Ol28nP251HX*VUR?1=FVuP3+03c^u=mzi3gbjmTy~0DV3qA;h0GbBYp5i}5 zsaJU}!rSjWi0Eiy*)H-3O^Dxeb#DM`Iaz^NheT2hZFk51Smh69UyAUiUzv~m|7iqO z2Q#%lFP`F?eV0!d9HtN!3lK=ktTD=&;m}>jPUZZRCFY4_(Fs6s5)!dPFhy001|WEV zTscn+009Pn+TY9}C}O0F1JmlEu?>I-tub~P;FvnYf{QL7lKG1jzbR z7DDh7OgI+v;q#s|!{^OmgR%xUXx=0wVuxS~focEJ69GsC@?-(-Nka`Z26@s6d9nld zq~R1UDuz7K5cPYQY&eXsMFY2N4PmhWzFI!y$SUNB2Q&?GBp-4_6H_TrbsKL_zBdqH zfVa#+AUr{uy@HO$QDqblVs|#I1B4}8VWm6>+J&$-uuD`Y(Tnbl# z7X{Yvq5zl%76kx_f68jvF^myTFNDqRprAzF5ZR-1rN(*mj!z>y)ykv+I*+6wW#y)-PXj9Yb59g;YY8@qKX`V3|0dmWLpS6ffCK>)3Sa>XfHVa{B1A!Fm-GtH$KO)m4}O;qqE`qT77zl@5NzFF0jPTp zS9wkhM`8)Yg@w?V5X7!mA$El_d>vfWNeEXTy>w&&?npxtgha@ZolACwra_K$LXPY} zj#xnm{D&hEaLf6SBNY&ZLXPA^j;unCc)%?dLykOR6(i7#iOR7HV|!GVvhs)%Oy~yo zE!-evzYxIrlu+{#$g=hhEjD0j0G6#lchkPb8tk%bdVyW=IRL+eKmBU4^bd=GKT*Yk zmBcRre8=A}dp`=l{vS2UpNl}%)CvT_+Jt39tl_n6I0nri^2C7S@)HEvpAcjjAjo3D zMJGtN+W{hdh=2-U)C0_#9lwBA9RXud5zz1kLhxnshj3O2;Vc`!{NUk3VQu64Nk& zdn%}T4P?@rk2t~fZt$e#4v5(ng4ZB}K6>Pk2=Z$eK@`{(ezcVUc7gpB*abEQK;el} zIbZb`HdMbY1<>s~9DhZ@y7=K&gpJK#%oD$mSb+<{*o8JV;K=}h+{^3_WzRpiyBY^r zniJwuGkAh+y+kQA_7g%WRBO&bwdNrtdI(oH1EXdP*iil5A^>={s6!AtC%`eTby=xG z{!~L;3Pnvm6g8_*)C?l2&Cnc$9A_;x@tov#6MP1<{}oL+5VLO{mB4w{p~V!WP$JE7 zIKeu$7=v9L%^EntK4~!ryU|(GGm`*@u0jpNH7}#O~lOz3X-S3yd<-oxy znF0Jo0B8(2O?C7O1hX<|3pip0R{~!d04Bi0RbV0TJpyPLnuvbwH(l_B!e6r^_lxYX z{2eo$%;JdBAaE#R;3!ZKLy%X2zbnsyJ zFTWmG`;|0Hk@E}oN&gp&{KEQm89>P2dpiK+9NS+|5`d2UJ*YyC{PmXu62J82z_njd zH2%MD`_P1XS0FM0aa{|Gtr5c!p*Ew+jGZ zyO#9}js-wR{`SiO(2>8q(_;G~HNYqNkB?ixm#vjX@T1fpVeqr7aAr2}M60rLmKQvJ zO=PA3yWkfsVD~jM4D15O+Q1hpz)@-0uQ)jRKVSr@0QKAQpd5|`@a2Uh_^}G`DHiw@ zfClu6;PTZg8vFwm5$M3c4iXVTZ?K?O1Si0UC@jC?Q~-E^`y4v6<%He?Xh5f~(7xUQ z`Vd7JI!v&GM9_yQqtL1Ar6Yg;-2mW7KI8}wbhHXNG6Xr|3^^hKcSH+vWC(I34>hMr zb{kJ5b;Ebz+#F%(eDV9mxTq#NO9R0QC2_TmBI3_)SKqkLpDgO$6Pg~q@H(M9Q=D2f zi1HrTn-WbgMBpx5Iuh_P$umvyu1%Q@bFkRSKHL79J{kDY8{x#aUvE8}G}Jq2Z=_A_ z;%w*q(X9sanXS{K7nyl`_|sUKRFl)^?!7{Bt@{QWs=!Yu&Gi4YnUIpZI4koh#GNi% z;v5j|bE-&2%2&de#kya6J4*dd#5(YOpUlPC=j@43l~KVI!;eKZmu!w$gzJ2KehdwI z$oRE=)Qe|M-ub#HIi*B0CQ+sM?EEBH@e`j7<@)JC&zWN&LP}uU*`icX;gG7IP~20u zXL~zo%zzK=>#<32A4I;l-MKj9TERd_k&FT_uV)&T?Jn9vF!ycwXm7bG>2nWdiaZmNF@4K}qjukmP0NFiJ>DZ*l|T0#11DegG|jCp zO4;fbWTUuwt-h?96)5u3+r`Q(IdgVOu{k}!NpbOY97iL->8=GH-=?VA8z zNwLRP!y2((By5fLXchw|jdR0+-jc@lx|??1#M z{S%g{#;tARlOrAic%=6oGX&APj3}yE`%-CY`gdJ0nbJ=+Z%gh z+TyT8ah&`_X`+#MeGvl@P(SI3x(3`71lQZBTUS;WB{gpYPK%sen`kWgX-t_SwEv=N zZvSJrci`Q*u;i5V)Uy_gly^e>LvP#CUf0jB@oh3k)r3#&BX*wkR9tBLd0wO+_yBHK zA}Z$int;#7O@h7QrKXSXq@)wl{zczeR}k`W8?4P`E!_%@Ati+w<&eeW+Flel=mawe zCS~@o#xGA1_b;*l-Oqh(uxBo7#%5^QuTq$IKLGg97ZrW7Y9&I~F!!*ilc2|aekaWi zaC(FKL~XS3?xJxDrO-ZJ$+H`6(49U=xr{>)PD4H6g#f0fB=LXZ{nbzC@$hRoK`!DNn|SN}|ljlXktqXS3;ce%jtQ=z*~r zq=IW_e^IkUE@OQ1sT~&TY|no$X9xZxX4_Huh8*}jq94U5w?OMe`dx+W=$0{liEYq3IYup~$O zp`9vmKOl(DcW5LuR~Z|~W$xBA9=rDvK=(V`(O!6WB-=L9yLe$b$xI&+BtOx%s5N$; zlZ>v$nI0dOv8bMtyxJCIlP8;Dl^XFTrC zN?nFRY#S{2$yz!+8Uqph<_Z546}g_(SywNn)H*(Hasu)N{rY5|96lF}g#m~=q_=gvm zHa8tTQ_^EgcH-9BXjudyfz|Wt1 z@aWyg`LfN!^w{GSXB5#1W0eCYoVq+hWpL8~tL`jk*m3qSCrt;#n z{TmQB_Q60b6#M8o1wu~WB_rz;+D8mAru5+Fml)PW0NA0kXN%@UwhM;pV9!xR8P4`w zxX#(zul*d!CXVzrn3+Bu`$M=M1w5m1Y=ec`uYJCPW4*M2+u&b5*3g9vZ2sp%Tc-@vuGuJKkW0N2Xj zz}4OB8I4gJ%-wG7^WGKn3b^aS$)cjAAXsWZu#Ahcdj!MpVox6_*@obLuDdbib3T6a zz2DE301*nfJxkYagKgQaNvyZ7+7bQcapq#39u6@(w#;dE1MD;Gdx5MZi;RMS0RGR4 zR8a-~AD929if|R-iK(%nqm!+ni>0}tlck+4t0^Ckp@|tkubBX+sSy_k|D8K`I5_xu zOu6rvm>BZj;pG!B6ENg5HDp(T&%9@9W5+ITY0Iu=>gXh4=xFN5uC9iPfEcgCWblub z(cvp|obs-aAR-{_A|oJ}{O_!6W9MROV`}T9?*ur*=H%w|AFdR{K9oV>#Fe}-Cm3zO z-}7N zneAgF4PMfD;$z;-PE<@osp+v?8%VGC8qd9|gpotDQhEJ-n?^f^4TlNI!lZx{!G>Kc zR;$xnXLpu>CsOZ4Kbl6^Iv4&DupZD}=h zXO$o%wmFinW@)Y%Y5YJ~y3pebF>b;2y0MTlzPy3(qf>6HemyOM0(| z-wb()>_LWjW!?}$Y9n`H}{t&v$5-A>Kv*TEzU*j6eaPgi+{)kM=t#L;&CQQ7Da zMe>?UG3(n>q?KM(b5CB4=LP6$cpC=|d`Sv=Hc`H|{$Y7CbmF=y_a*|<6qUAyXr7WB zh-(wqN*Jb_=+moxY#BdtDyz8WpmFGBQDvGllO?H7IL`1}ghavUYU%(2kp@s={J#^% zPYm5bQu?0&v5AsZK)!qJ-hn_MJ8nnHel|{HqzHz^eLvg>a`+BjR;3|g#a4NFCr5+# z57_N6Cs@aJ3^Nb<=Vxjjo1eRRiFm>AA`F~2D4g)IU1QVI9o6sg&Kl+N@-Y=^Gu{;( z$$H5D!mD7lbT*oq`MG%)1=US--Tnj1l_iDdCd)S-^}D#LG|tU~w|ot7x#F`VTaApb z2`>a$-fsF4R5n>2!(H5`G%tF+PT+xO%RPxHX0s}7J#Av9w0f;~9Qi5vcE7!kR?FzT z14sx6e3%Fbzl?|_t2K z727!#tX_(tMDEL;O}V06r?QlelV91MMxUB+HJ@^I)%&Vu!Sz~B`9WGk(=Ci0o5sK` z!zMmbllge2A5B`NDw*{O^;d_b($!wca4kBnjkRxgvh(kUkXP|1C+<>AoE9GB-$pN1 zoFftb@OHXo+IpV_;Vv6biW2_!pEhK;;>@`)@lEEyK94aAVU$Xo>vFBf4@|C7A)l+5 zN!J*j#uo(K=cP`py4|2p!_e?y^0h{{VCjoaw`%!&N$ukHFNsv*bPjK-tTlc?PjX*q zjkK$Jp&OivqrJPad3|u$nf}IS!tiw_l{>6h*+Vy#)T7%m2lJ^fk{{*B`g0P_DbD8m zQ1O$wYuPA`Nax==2x}nC5aB=19!p?hkv7_r*eo!@oPM%CK)6b_9!F(}Rd!33niVw~ z*X>c3au+l6U#@-LC{pqB9a)|_8#+?Jdna&}v3aA?rOXhohwGglPK%mveQMOr zEw7z2jI6>>?b(sR#>4Sf%r?YN+kRu) zwr$(CZQJ&|v2E+Wh>hJJ8++Y7^r;UOb;#^2b;Y4js|t-&Oy?SCpj2}N^73$8Sla6s zUhT-Zxvg~mTgSP`9Q{|RfyD-jgQrG6I8*9MXGO>q+=Cf6ZukQb>jqvc8N{wpU*PjO z`W1$cn=X2MfBFU{79ZBfzwL7tQb9O`|3A_6KV^;V{}w9=+u1rhS{VLMLGwRts{C); zH2p__)}H^<^nYlnF!M3pnSbOV4GsXH`+sCwNmNioR+LUfUFE-2REmnC-O@iEd97;~ z*O#VhVJMK|iEfN3hzTrDAI`eun1CINwGONPe9q1(hSdp>tE_yx`SRJ#xxGo`_Im_I zQczFUEuu@zmdTHHlHvj%RB0)JXUQ~NP2GYuI*p-^$rW|&_=dn?{uaiy~l+OM-(CtTQc56Q_l%WBNoJ7 z&lnT3ndwEzlMiOZY!OscP#;SbB8}vqX{_=$tZ_arW(uX9iL+IG$$fe8dE=>2;+vDB z+H%E=Lz~chAf+%fdqw*TCPauKQ!+H?Q%n^Qffps|}Dk({VZke!BpBL<<)JHR!zD z4lOEJDMOYx4k>It=-GXkUMa+6K1RT17|qcOrygu5ypj#-IlfS17oP6}$HU8?mmk_| zWF;~5?=l{>cl6~kO1tIz=m=ohii)xe_;$xZNK^~nZaDa67^RktWw9)iXR3RE79{9T zBG#%>MkbqyNIwF_wkXro;<(-vMdGBmmgh9`TNTw=_d*#lAh@ETb}JB_JR#A`&qqH_5%< z?(4@qEL+yJ@4CwjhwAI4o8EV^nukA3KdDpCs+|Hz(%ebzNR5U=q_qBKtrb=+w2@bX z^Bugc76h|ndeiJ)M`w>Vw=+oNGfpx*oUZW9z7^P-_uwi_8Yb`0<>T;rTaE_Z_4ve% zcq~3=pqVX<*#K$Z-;j=dj3U-)98-_cVgThahW^|^_u1?WMSwXl(;5Q{4m!MgalFG~ z5Pga_$CxvO)huG7wOr5FX+{KZplO$DMze54vKRLj2AVhz5r;`di}>dgFrM2g0y1cgG03W+MQspo0;nr@N%QMeWO7of&7M!Oay$-tt04K^Ld8?6!ZncgOn&ogf>w1 zb!5I0KUl)Qj;u@_-1Pmy$PWvXL!xPDW1*sD3aM(Xz_kWQR^dU!uR;g@!hoXAsm1E@ z6_X_?pB+8nQbQ4C=aUWb)r4}g)+#yqA7zX$<{@x0HcQR7lKl-fvK$k~y@Z#r_DL~U z+`arbSS@IV!on_wrGMv+^h}uO-%xU8 zqbb{>C0`m>@tb|I;V!pZ88q6`g3{=bKha|l1jrt#@&b64r@dN7zc|=O^A_@OF*c~5 z=07_O45~jZmNKuApHd7k;XV$r7=q`+#4&DAU`hw(*BoRMNcPk+&>tXCzJ0G73np|O zg7ciFoLp!SDP_20je(H2-Qgs>h>{@JrQw~%)DpN+TvY;6?K!$H{;q}z6Sn<=oGQ$Y zbO^MGN$1ycq02H!)TH2^0{Gpnn~%uGX$c=rAr`N)WLO^WbS4YQEW(&FTG2QStB}Nz9>Zw6t<{>*{I#k4`r&PMUy!TacD|e# zd2Ipg)Nt(a+ZupjsU`=pa-Cnojx<LKF>{!^y8GR#YrT;T1U>9p9_-4jWHp|-G}d&t5{M~Elj2Q~Buo~pi9{8&3% z>3O@6)Tub-`n$vCL4@|Qh#T=T9veTxoO@?POpJ!V>+g0fNANOtKe6D1U6z*Gty}TR zQ%TPr^OdoTIrEqgO2l1xxseVVe>1jS`DFo3o3r%;ee^tN);;5~$l9H8o%W*R4W4XYt#D$2c&&H%cSQzzbWt z3H;!s5_8vxiQ6R0$BGD1;OF(@Wrs#F0qU}R25FY<_%AK;PoB$;tb(jqEz{XblW&;7 zJ!p`o-DeJ>Sp=s`H3Ud&!(GTUxrG{^Wp59%Oq_wD`%Tc^r9S={-^s}{lO`9< z^R0CRr>_EhhT<_cge(lnv8Jv?X@DrDZMN_qkj`EW>q$HdfBG$ncd)W z+fg7}DM3v`Y7_7_N{CqFGz-X^+wI6(n%c-QXD*e!D`@TQ06h6tF|o46QAxui`YIO} znxjAD2wGC&d0O+4ImJcS&m4hjR8CIzQ7Sgvj^Zm0ZO<{3D^~jZ%w6ZI8we?+H_K;6 zECYDl4?Ez%j{yfbwZ%)}gN%}+(}&J^!xRvEE;Tk$&M&O9F*8XDZM>hQXnwkr0-741 zd|3Xz|EV&$9`lw&Po^q(>rwv@si1a6+>^dKu3QRev&tlyO#>( zHvbmJsNvZaK

36DoObK;UJWZ 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%0Dj>xakA45bgxriku3%-7$c8{6s^gvX55 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%0A5CZs>Z89R{EGEm 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

cUNT`OehuY5W=$L(RK5=8F0PtnyTG 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≈DT9JPtvUG}2bL zd0c2m=_e@^!17Yl?by3jo4(GXu(LQ0*J}o{Oc>HgHgW+hU|iMsZq{cLgilnNzfeIL zzoI;~1E)Ubv5fr02~gm{ypME3M~BzBDMN<~a*3En49gt;i9`VJm$|xQQ~g9_;MHd> z>l89-bF8}?DAb8mhS|~?okD^y8lXflO{%?}L{gX0Mp=a%;HHuAB|oL{8=G8A8hZ!C zeB(e5!2_I@LuhLjnOL>{?#g)}*r;D2L5950&aFc<8nG2C9nl%f&4)BKB!iPmwt%)n|{YgbMCH=4RPaao;vw_;y2}1M~i?)+bgc zwB8f^nep4?94tysDfe;21>d=i$u!|@F4zc;puxTo�cEi{v~QCH7JUvP?;fX7I0Z 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

qGGg-dmW2n<%fgQAM&2{>t1j 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

%eg1!?bDh$0e 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�Kzc^!og4-+lkB z@qYCB_`ogm-B0|cX&z4uV{_4){V+)c9W4AXXV4D*$);V)9}0&6)*-CfMaqhj>^ob1 z<*yC+*$W=?HSaMz?P(!>du(4Mb}_`2t4wOi6ilAfvhzOO*x)!9na*Nt5^b?bhy23c zOd_7N7$>uuZ{VJYvnbfuc%PyU%#Y&JN%G8TyefN`O~tp!6P9=oa^&@Bc)quPcz|;R zGb%(jGphhAU5c$AD-e=Y&Z>y})f^38?2bnxpYTF`4`067n- z_$H7T6jMpF`E(m(QydWPI2sz`!N!V7K{&2pUv*IPVi97BMj)Y>L%rY7Kei(0-Png1ChZSTD4aA{nyhJY5?`_jHs0J6D<3Nk0vKTO(7jU` z12-yi*qo*rboYr32Q@$Bq~!uKOD;e%ry?8?QyaL>6J+3^&!Kz_lckmY)St5!J|;eK z+U;;^0iy_Nb%>N)=4}id8Sp2Jo_Jyxr~JTh{TV6Xft)?C`!W}=jgb~2#hzm)tn#c#RQfeO(l zIF<=I`<-CKb_U}F)P?RON#YsUiLLVpAtRVPu+|-`srDLTFQ;n9>>h(i#5_}!&QnRi z*TQ*e{j@tZdUbsI^6huujz+)#ehE#_+q4<<+(p3T5Dl_S5&T*tt*y17tEK>+Hr_1a zA{u6h#XgfBS>kij{N&o84+dw;V!kY}HV<*N*TtgJgq+;C*OO=kxG_3C8ooFf1gEg} zg(@fvNQ_r(GZ*}bd3-@CaglUPGb@XX?&6xi>OW+>%+du!= zh((K=!b3)hFik4_Vzzdl#6`h0?9bLdLM&rg5;YiSLc(X6!a$Db zr3i2h^W(H|#WHpXF44jqZtUOjodxL1#rjW#6c3g}?B-=3p~I@`RrR}AN^1j~5cV)n z8LNH|R0sxw3_iQd&+avd7|KO>^D3HUi`!u)gJklN!g;fiUH;6JWGXqWb$W^?7BDlS zAj2HFFgp@HHW3bH5VEm|LFZmBG(8BYj6u?S%0!|xl|hp{ndO-k9h<}g&7+-g6!U&TEce|Xbw#|rro1$N);7;?& zr*ebH)YB>3Cv=(Cu&y3n>lvL<7ktJIBO-{i979NM=$CaK%b`oCH{EXqK(`yaUF_t$ z_@@$gb^m0>8)nopZHXjz5mFa5V>LW_0iY+o6R@f!#&FYVkIOuZa~!5gEB8_FLd=|L8W0oFtdB(}|e7F@D1{_u<{TNq^vx-1j- zAtV=~-kB;R<_Q3J%Ce4B`hjmj`A9s|n$XWzhY zxq?w{e4OI43dbPti&P+8Uf8mcp~qh@DR`iqnlNjy01WVRR_D`niZ)k{MV~4K)){Nx z3w7SiIH~myaPm$QE-L`AjNxa_5*f-2AAV0j*X+GiRof7ZE!r47j{p4Jsm7=d7Xk;3 zL}h<=HH2y@a069Fh1KvMS`b07P!~(xlLk$&X+Q=ErXeL@i6msC=k{IPyjx|4%sN4y<`eMThE0D@`LF=*>ZQk1nwG@Kq&c9K2+`(zW2L?49Hh|MdIN*B@ zmtc4=KioC&n9fUeZOAM45EHmUj*XC&4QMNuepR`v!%@VPC8zNx5gkiB)y76ga^mJ8 zu&p~MgfT4BXr#2}rjw*$=i|rx%|w}qJEln!5XE3m*0)pO#G9MtdNn~j^tG>Cg(Zo zm8uU~*t}qBk6UPsXBBgY1T&;@7hNBm6j!zB<8z<$?$Zz!g{)|Q_6iAP$ z{p<#TVRYXjqBDFvwz-XiItNzsL{jcXFo=*XM`&f^QfC`J1`ycu`_hbditTS67Wd^zNMyuCeCCXZB+CD>1*+*Yso5$b1>eSS0f zM;M%2rV~QM9_>Mz=CfC?k53NQHMtOU9n^@!EktR(FPDL`C^{1++=l2T%mZP}Iteas z18@79n86X|V2p*MqB4fNmTq&Y&HrD}BXj}{?S zVaZ6Wr6>=mZ0AyJMeK>tv$LHi_OJy3^qQ~Wx}DuA@)E2 zNerva(W;eZ&t$0`~F(l>;ybjYzq9(2z$f`Wzb?mXL$nqM#*?u_`M=^QHFS0eU z+I;=7=0+W7?6?s0%NbKd%7Yyt9vw9Gj8iSeUj;q`|>ITKAg)TFLZ0USQ5pO6$eb@1R!@X@+o}L zPR^Va$B;%&LBt)d_l;#?hfv@khQx)`*OoIdld-!&X?=DXrSh%Y*=_}QhGPiND~E8W z&D6$iml%dV{_R@e+~uZ{VE&c30SS$kDIrZS0S3dXmDvVry51 z(Bn#mGtXRc@z@`_vkF(-JvnH8t{X|#xp8sV{f|p0*SPEcnSD%n!4NWxgOy>y9l;7F zNP@|dADb|d+zW2Ar81jP0e< zE9qp0((vcyY|agkv7m5~WypX$eNZCs(Rp!xxcA=>sO?O7ka;&|l3Pt?p`3h$h=#Qd z>b84$w7%S74lIH<}k2oB81Olwtfm$#0=pk8#h?lOW|M#LSQx__>jL zKe+c>nmS@zr$M~w=~FW8vo5F^&E!@c38Vs?`u(^yZvad}j*75xB+8~bV@N(JoB zyZ`D0xV?K+M(7mp)_z(ePAclc`@lyYhh_;wu`B+<#pi_B1;W*m2=xO4C>np?L5l+} zg3y_|Bi;PCQ!323S@7<^cnOfiKlR_I9SXdS$5EU_JQ*BSS`iRK4W*Xrofc1MlFh<6 zbpi_c-ICNmXw#bQ2T|7&qT@p}nuqa1je%sAE+2AjaM^!i8UI%rqA-CpyP#r0|CsJR z@eNAneQ|`sC6A&s2#cW6&>?>C0!0)yy>umBM)^g#!VIZ96@2)MS|-mX~~c>b7V|H}N=J9AyhxG|GX})N?b|pkOKeQBxTw z5oZX#TB7HfiMV9Naw>_&tQmD5-BO(P=A*pyyd$*3@`*gvcT)*m6cb_Sqls@wxgZ`7 z2HFo_{M#PZxQJ3Xg!>q=I@eh|j?j}tK8=f8ZK{jFo96qjTfsEnz-<{L=mh+uOOzIY zt`PoON?)QC|Aii9Wt zsQK!Q2SHKgi>^^fXSUf$0q>UW7!u$!eU(G>h8vb$MxOC7Y}HE}H0$1_e4#vx{>+p| z4N<8+ZW?{$Y1Y-dMhYvZfCj_EUIOa67gg|C(lD$n*BQVXUjxeSS2e^|@H~BdM$H{^ zm^6mqm$QNi5z30iqI5qIAhl51gdsx$ zX=!p#<PbGobP|FB(ggxYF4WAT^bw+9{i5j~q%e6QVDjS`t&azj3;0O%Lb4xs>^nq1&Gcvcgahapw_8}PZ2&@#kT3I!I zqD_p1=`sChN#pd==u$Ox z+N3`Jz0$_&qt>Nr+O$f;{(B{k*-1A;yi1z)IpKegv~hZAbjeShrYYzRJBZ&YjflQl z-Leh4N`o%pw_8T07xqoU)Fuxums7U%X~F5oNd!8`z@Ry9ux#7cJq@oiVX>K$yo%&J zXCE~8f+OMN0Q*-Q6dmDz?l@y4Xk$~M1TBv)N-(uDpm_@R-y?gQoisaCzjCz6u>O0b zj@3`AOAWM+b~)C6uO!mDYImwuac!P{{r5_qvXf?qDnw6Z4*1`>MpkyNMiXKj3^ zxZTU~dAFkTGRlGOG7FJOeH&`F+m=6SciqvaI4`spy}AkvI67y9iF~Ct?7o`Z2v~b0 z40*YWp4q;!`zI)dM=5A`X4Ye@snOCjJAA||Ic~ZFR2tp5E!h`ERu5P;Pj9;dE@AiP z_SIoCtjjcj$%HCST_O`UkuI(_s1lIgAT_l5k)P2N)r<>3jI>Js=`ccDn~ADpwokL9 z@gdufuTHEZwu-?NTHV-CXqhDmfKIVRi{;`Y~T9h^hcQ3)b zdvJ!E+(Hfro~!|y(v8S?MhkFkm`4l5A!QiGdB5LByS%F`)6y>J$6!}cal~m6$czTD(s2)SbDbsN$g!|}n6N6C|4*WE zJY!-UU02*f-(evD^<7yMlHKM$fEXZ>r*DBp%-k68=-AxSb{2j*!2VwFOf?5DPDZcx zejGi0GCKV6HNxZne+Pd}xr0_wd|&p?fb)}^BIg3qcQB%SjI*W4QUNKw@e$A|$N1b+ zo`M8iz#srRj8SaT!%aXT<0^^V07hv6b(D8Gn!TX&$NqQIPEU>Qx}DKdt5#jf@C1X8 zy1FdQSU3Qm`CQH;hdXi}ZWQ5`vF?mrK_wxSI?cY37Iichc~Mn$ncNtiyyW{no2ZF& z{Icznd|SRFV#ku=76O#-B$#Y1u_FIa?O)wpzP6UFG?@Hdq#3l}-Of zli60Tp1Cz!9m>1P8i7mW9RmQRBeXt39yK~c*6=AI>}ZuMhpNSy z?WoBX!J>|Wu~SyBrA?D_(ow^MQa+_hh~p3X4c3S_o2(*K{prp2MldoCJT|u5qL z3)J_0NOX6aO`_qh);Vk%o|+BqS{%mo|0EvAyeI^-%EKV@N_<&O=9HW8oMR1l-vf*4v2dMO#@;)rs9`@y_h zKJk%9hiPZu#Jd@lig;%y=o&~%`|pB>9-_?X;8R*17I|M=J^RWHgF!|heSaB~(x2cSm0BXNuIkh4?7zhUg8cTIr;qEzcKs`!F*M%SQ>O%8V0Byac1I5Nd+O%!R%ko~ zA7hP+Q?PVTqJqyw!(^uy>}Sgq;*|Elv0sEYHpPG=CsSk6!AAsu(l@$QNvoujb(R$Z zFzwYBm}U4ilA&2yeWOxbp*Y_$K~&am0G;FLq&uzGH9?+FNCimk2e ztas7TKVB$!i`xu_wQ8HpO5FtWSS4&_t8SfSAoz%J zy$efJ_E|eX;+lY4|FiSNIXbtn+=z=Rp7Wn!Q7FttlPH=)0E=>B7*oUAXlqvx zg^33&G2(Gzm_dwb1`(UA0BGV;&^gdKTP|d81B_9~hG%{&!*zsKCvG5@eG-3wE5~eE zBr#7rZv$1`68X7R3^f^OC4g(aI3I@#_>pEeNDgF2=mj`aSs=qQm|DQ|Z3b|3VP)-R zy@e@EkjFQqeDwQvM`?dmD%PblpH^q?cVE6wn=?EV<-2!C9jW1G3z>&Jw{C3d2Om&C zO#NSz{rU@!xt&d5t82p1n|h-#i08ENU;_&9Zqg)R;A)v#?`^r?YDMu9xinYL( z@u$f{BG7EDaMHvf622D;Bc&18Vw==31sJ~8)^kCO>u!miJulIP+~+n+(rPvKl?{Y&wZ@rttNnZxQNVH%(Yt9^k1PBD7}O z=NCbGyeFoMLY$|wDde=zjhIwCParQ1=acWuJaT8J7iTAjqqoNg!yh0o;;&D%8x}kZ z*nnDeoU~aqgEbN1_JaLh;D^2Cq`0m@W((6aKB2^tPy+#gG|&74#|h8Efg29NVCw{8 zSEc2J9BIQ;c8jdn?tsx_Kwwl!hJy;mA0wgu}# zhC6F+W-7wV?w#AVrXKrHG7B)yC-f&jiLS!2OnJ3X;n#FaHeOH`ISOI^-FB%$^ipmXl0Wcl!aFhS`n1NjOJicvM2VC8X-xIEkudj(Sjr3-ZK((vTTq zlsuz~@32KmJLx^IUUq_{rskX7P5xh^G^3=Uf}`8_vd9M)KP znJo)6Uvh1hVEq^uY!D_9m@M@)0?4Kq%$x8Q2#`eh0D|O0lWVNO>zG4k9L$Juj9A!> zq#1$-b9NvRPvFD)E^Pfxu2fieRT6|W+hWvxwC-R(bOwZhpF|?PFhiK}Vmym;JY382 zB`|rWmFBFROUtb365`DFzrxC(iT~e)@c-S4eW^uOh<#b)USj{Nv(2ix#uH<+A-_0e z@3v(N34yCi));vh0`jd3W%c-!tqP}mCrVMJ*A2;ZQW%L8gYOZd(p`U*nRz@q&~v@| zu5j3r+Vx0}9{kNWdeN?!F_<2w4)Z&r{4mIZ(QLWOZQxq zi5Td*fw1}Oxn8lRS9(!{^#58|HQKa&nkC@>RG$j`$5$tB&yR-{S-^9CfTcV7x$c4d zphbTYXR|Pk=YC&6E@gk5C5P!4jzWJmM24KiQM#N3j1X@@Dg70`4WmzZ`<(aS*IvPJ zxm-fP58a|lf%S)YlR&59?~Vc7F;2=08AjQT6fFRB6(r9|0-PX3h}1CaT8D(0p6tX{ zZ}#R;E}O$;Wj+q)&=c@WOe4sd3pb-o^}AsTTEg_R94B1|6ddFLrbbB$*>Jmg6b*vw zqL>f1w{LE4`ZwS8v&Gf+@O+!`&-OR@Ez|uzt(*9i`9OpNV2me0?9cN+kN^8D*xU?U zzh)eHJRFnBkKV;UxrPEc6BZECa_qHYz@X4;&(~mdG9IS?aZ)_%JPR%{gIPtT$3~@a zHrHxZRNGw}kZ%PwFPae33jnP;g5BWT;PGQg7d&O#!E_bc!*A6?+Vn?$WdE*!DBhA@ z`wJ7y*bkweaPK=6l;ajqY7*{Ple$?S|FO)zVlRawNF{e1!o=m!zK!Vpc z>>2qB=rdeTUfu@(#Y864Ta!!Jl)OF3=K6Mvsn=VAP+LGKrrfdp;1=62Gd(NWiqkDNqqd%I zJ!!%l@85sIY#u1Gmh*YEK&F&WuA@)tdma^2)<|~^x~V<9>3&vR#r*^;&VNXG&O)?J!<+A1wp&`;`t%>n97zg+7w z=So!iAh^b?juE!Lep>;*o^X3RxP4wcWcIGa^h56HFDV^~qL9;A52S zmMv`XCD)Ff!4(Mps!JEKJ$I}YOyo>c{)(ogWxs6FovT)f9ii)KH z9}MVsLi{(4);5IeIEm1pj$xdahI9^R(DRm}&SM^uUx~D)=Y&xT=e5J|YCi!B4aX>t zlj?YSDmO!R2_P4&YqOD<#*obF`5OFz1|3r!=&)|4!%sJ?QUVlY{s@8&0fP@SnWCJY zO?pxWL)z!&QqYuc6p(J9r$?3_b6lwY%CkQNQa8*xOISEH87w8Jr$QfTL0y7dZ3uD^L)F*pCONNqfmTd<6+ylb67a?jJgTU zvV@%}d}_H(8@k4e4wci6>bl4KoL3ZriwIh`}$X$BbK=){ovQYscyG5%l zD%GGTOo`pA`>Tq`%}~1JTX*^+95yZAhEkAdV#Sp?HEWz~Rs+apkW@-Nnzbo^C^^SV zXmbd9MX7(LRzj|6pYJ!N_OqFHb>mpI(+X(u`)F$mXBR?*CtF*#rMYJPd5;JSa??&4Hg zf>R7_y^nq(DJ$4a)8GaIpj-va$o;?+dZsgO&P33?|wySJYhOrY0F?@ zC>{)$|cK(FKYjX=X5((us#f@g)t%!VCHO`{uL!j+EwM|}(pJ0y+nIgdKm~~am)ElZO@ROxmJk?4LA`qwju+XfQr_#Aud=%Kl&(wj@7W?|0wzqVd(WA+ zY|Ny!Z?&}Bl3^2Cx8(*msmPK>-tN|cuyWNWXM_vi3^ z(h%U3&x9&?P^2+DrsXj((d4Kp+!xE@>;tLVtnLiRgR4wtb(}J8W9y8AtW%&u1*L{Mdu zaLy*2C_^HN7B_AjzS=tho5K7Sl95(lT*|{>8-B3v3G7T`#1yW(V8p65!w6yu>KKtn zur=nm4<2c-?zW>cbFutDNQbk7vq7+b9gRO&h5O-UhNpxWMFV0}gyV6x027GhwoeeH zcIjwvV6QJ67CP>1lPgFAxZ3(r3sx>94Zsr1NJH>yJy`{FtuAn5_4Q~)#^;A;1=-?C z8KDB`{n?-v_+6R6F`7alZwvjhT4@}Gz{?kKK4I#PrTGmOsE>xwVE{Wl!y0FOh3R~M zUZ!!;I1buh-<%!~y&m>=%bROipzMo`Ta3bNw>FzQ<}a9M7Xm!>xEBBhDFOo+R%;Qa zg$gB=O#?6_zkw8~5N(Pr;+Js}7q_fRzI5Hl_mVv81#gD?L6$<~pztb;(+1GGfBXfI z*x%fI`qbp+f^}lVPz!J18)4`GkGqe>dy7xUdUjfPe*xqW*=gZ%Htlx4ee(1_ww^rQ zdis~))BhMe`ODx>fBrumSW_#L!D7=h1S+yO{`%Q${Az}{=iSG$P%qH%Br?Tvm>UY{ zGlvqQDJ;q1cMXu3N7f_(IM}PMzcYyN6Gbhoupxd-XK?@0`QzWW{y5wE<7D{99|nJX zHTdJj|LHWL597!w;;35fnWNBy1{hUj*ZgE@3d(@gB&)6h;)<}(y6fm)VUoMXe4eaw zv^Adrqn$mUFRPBnpbyOXhruc@}rh`8h$`?D;GWni6!qg=$&%Wew#Uxw8y{8fxpl6lh zgE*aPIk_7hci_GaUw0u9iIy*cJ9PFm{95k3ja&eglxViYSC;7lT_Y&GA*ta(&!w-u zG*_OJQd@SlvN$KCG(X6MEefeVk=3@!fEWSv{kF5-`WT=W_T1z`(FB5iyHL4d-@0=X zNX`oQ_{6<#BVk=)x~b3iy%dB%V+P zY51h1Ec>gc-LO~iQ!17cx#mlOrq`4*%{`h)H16W&1JS2&TtIHJG*Vg3wnW;r1qAQR z8BuaNWto7)hCYvyDMa;VTO|o(777D}CtDDfHir`9BVyR7U^8{T!@hgbEjd<|Y+jlgNcihXvbPzr*J)7VvjA2#1f>2~ZpHAfh5Va$Ugewl>2A3gRSVWk?9S+9N#u_&Qh| z#1po^zg}c@LwO%W$oFt?!1iu<(Z)7fa5w@%mf4PtVF->v%~;BBFW<^m-7b9gp;@^% zDdZ1o%>GEQ7qQ1Q+hviqLn0F>9NulRe0GPbt%j{5L}^{5HYoh%45z6k&Ou&)cXGjM z66Fm(xH{5g?9o10X|C!KanWsdu#Fa-|_XP%A2mmARcmYT0a!U#j?cR%wJ$ zq6#|={re(@14clO1WJ%Q6v`yxP z^%=K~xrU~vh8a(jEHs}m(#DzJ{!Jv0-RHPz7CCikW33tw8&B&x3MXI&153$-u$!T* zUTg$iyO)w7R~_(bo`9hq1bE0XEh3wUE3|0=i1R!V}bj6K_-4juJt11pz%5hf4Rk(>U2zv0H4SU zjy4bP4&2(a$Dro~c`%nQQNKTz&CxT!6GZVYPJos1bVk|{c)dxGA=BvajZLHOmXD0V%y?9AFBqaL@@zUt10BONmu8J1xhmQu_{RGXJ@SL z;+008?MP&q5II5vPsYfyZr8-zIWXtp*@Ju#H0)=K?wK=-j?K|v_I++K7sXt%=FMtM z(UgzJ3Oy`sn9te?Cy!uhW=B?+%vMc6kIH4vv6^H5PyUW)0BA8 zW|}Ar+gfg{A*Y_@*Jar$;nW+vrz8X7Fhql&t^sP48j*!I1+DQtL`%1VyNWk_UjT4^1>(NYt$-8?k1t=9sF|=BFG#o_A83n0ON%o*yGu|!84hhSe40UCjyLWAJMWfv6F8u2Z zb;$N249Nhm-a(xaQP{rx&GQ%TzjXUfGo8mnuqS5tvacAp67(Z@DCfg!=;FW7rZ5H0 zUQN4|*W*;vHzGdjmo>>~IkIgTXY~tHBzl(I248E9@}O`>K?ZSc&`5({a)b+Rt^opr zDOVqPZr|CQsaK0Y@JQZ>2fnr~g~?hQ8-cW@5CU*xV}*?7wZJfcxf@z>08b`o!Cv60 zOy#Y0jCn4qU8Q_c?qq#SH}>|^JZYinfhg;{vx;Ies;zDoQVA951Q)NSDM=ma;ZvbS z*LBMUhUlmboPEml2d$W!fVdoZV-M?N0lbGQxw+Po-M9dFxeOPRuHAWR98Y<8C$%s^jHOVj z6G42HW=!LN6b{FyM`sE*?`q{9AO7>7rCr&hHg;t;vuOrq56)Re++iPcRZXlTrj_|T zekhq`G>G!umUy2DcSLnE&i|SfDy-){1t}vEv#9LeKKE;YAND;(Y1vb*SpG8lG^;H| z6d>lCVp6j>-U>MEsa=8CnKrend^@!ZiWPBxrv=gxH+ar~D@dXonNiJi9q0$9N|G5} z9yPf#=GRc-)^snGZaqI>MN0O#m#9_AeLs5$s>ndwcj>ooeo^SXc17`EYSNB=Qw&ExNbl-%&}V+Wrl@#TWG^f#V!Rm|i70v*V- z3Fy(wmTE6l);8ZeZheopw;8tyeV^j`?hJEj_pnH>E+R~y!KCaHf^js};he42*(_yq z09*mU(zD2f(EMSeV>!6pIK=YvVl*;bRHW(r!^OJDd$mO+rxYKUuQNQW!Csg0Nn*Hre7U@ouK zQOo6!w@*j(*5$ZnfY!|Fp6gO3oh0p&#OTFpU>^8G4|r?3FyW@KO`Ah)nBa zsQf)M)UhfHBir~)iE#qWzK&)CV_-EUP4Pe&ERRIKJ;ESFpK&8fb~MD-D?y!B8sn!e zcr8Zs&Xe7)Mle4~Aku$>P3CwSh+bYp3g%z{)`xs@V;W&hf5Nr`0ngA4N2Sv&NwOQ5 zo>{7c%9odU^p7Q!LYsDi!X}~=jrq@>c*ldtil%pnb3LONm}m3){VA){MV+4tFcE`b z(OMr2(s@Qj)sHuKzBQ|p_MEXBcF^8ysgBwEEbng3{%9LAL6Ob4ZSA;-!^8v8xb{;)a+ena!6gDWtuOeRo(?bVYJ6THiszUOn4z zZY4eSX0NzIM&1WtLx(BBD$4p_djcH z$8{huJme2}w5I#aQ0)4bLB1ek>%qH{PeH@80Na&{Rl%(;Tn zq;j*3j(Tt~izPv=`(8Nq?4O+;9lum@3Emzb41WkVL^Io>!oc1y3&p%E0q<}{k=GI? zJ>N57GT;TMgB-WZj{`Udcolx?nor}N`TJ+<_XkqPju{$1V@`SYg%Z-D53zem=NCySZs#@w{TbZTajh)qK#J>Nzd-jE2_j)C+gTc=wB8ytPGM zi}=}qOY;tX9t@?bO-kCbOqNf$TFP^5zDQfJTYqWv}duIbPjiz3t8aTMy z&ECC1ayQ$&VMEt28m?l@2AKF4Wckg}aFyG!HzZ5L>jYo!KN0H4FfZV>TEsgN(TH#d zWXAqkZOo$?tKB@E-~QRF*L(YRLchA$Mc77z*hPwhR+Tovi|RrbsiK~sL}tVK=557c zh_W;Y0|>*BM0jh%(=LRNGz5$#jt>rXTYCaoi6mqnixyGJW;P(C{qz`oQ5ENq!py#L zugGdf#A6V>wIHo1n38X*e*Nf46d&CyN|M>t2MCMg8a7HZ52I|OI7g6)n2d9jS&Ne} zP9;Y6$19p5!ZlE$+HH^YY_6d8zw9+e&E3;K+hI8fvx~dM)2N9{vf8*B^7+4WSPdtrhVi~{KW5Ox%dDt%^#ZZuyWrgT}v!r;}(Z&QxBX>mQ?d?--@Wb8lb-38DIasx#!reF*Ck_Z}Yg2-dF$WolZyX)94KBi(?LN3jyHdo3 zE&Ws9-t?>cJ+BQMi%<`$6q{@I%{}T|T#KQxx}YBPQy-zK!+n@!5@t6(KkAZ1HDGL- zx|O_C7DAh#WejgB$mnzfD>NKjOYd1tSP~7RXPy8#4ac%;2&YD4*#Y}Z8D4{JYzH2b zEqX9p>^vI|>_f+ZafY9Y&vFm^zi8Bzhh&Rsw(uG~*3Ind_$zm&Z5daEqGHh1P9h)K z@k*LRt`Rql3W}9DYRxk_!BX`V6$zq6*D4fBZSe?p%#p08!;VV_vJZSkCQfUaj{d@t%fjaIQAkA`nfph%Gox(B3D^F9x*kwc&@$M6|2Q0 zW(Cr5q)|!6xS{R4X|}mf$gGYCmumU1oc7A7rU9*Wz=z1u2L{;BOzsyB-(Nq(j+#r} zNIMl`?EaIJW5?!%HcJ(KYC}3xqufxI+UPSe*g8_O`?TE#=j#OHX&C^gg;*e^Y?}Z& zYR9K;=z@>oA`a6cALxa)z%r9jGtm9^`eq3bnv+4muPTCfmsxSW9VW?7ObC@mEb=r$ zfB#C$Qqw0}<)(-}m_awy6Wy#=;&m$UH?gTe;c5{@sUHOaiAyjOjDn+Ue^D7gs)%|5&oMoq0S|?H9l=A+ja1wMaryV~v!QJ$u>O zY=eu@jG4v=(IQz&(Izd@A}xe0Ng_n4M3Rz{EU6HRLbiU-H1u`{3!1P&DpPYT$Ox<6n{QBJk<<603duCa6Y{{=%mGx%No!$2< zR*UFd-+@1~^Y$yANXSKFW_8h*6|?$N_}(8(+PFMvtKu)+^!6ep2NRtoQvI(kdp?Qa z9g6C#e-f#8@#yh6hwcW{ZLB!6XB#{m8T#5|*y~Kx#xwbMPkye5%UKlECa|fadA3nF zcW$l-*L{bh*U_?t;pcWKS1o4|1dZ30ipb|eRE4qL)1W6YFPTBSYz;Yko?4-yF&Bj9EZQ2 zToaCo+33DyUU$&#`Fn<(HJS}V^2PG=ZbkNH2&H%GlswpY7<@ZhdssIsrgxJ-Q;_ZY zGe>mAexCE&HQzq%++d@vg3NibvM$3lOBMX%Td&%FemRTqBRRdpD*0f}4{_xXjD=G$ zt50~z%joZ3*12jsi)HycBaO51`C2ouhCWF#v!cT9uN3Z42}@fZ|KeE5tuUC~+xPK| zv;0r?<-p2c&-P?2bzOvaO*r)4Els&MZt+GfMQ-D!O&d&ymvXl&xSOna)h~KFG>i4Y z3;e8T&Z5-*#Qf(9ISB(nCE2~|ZzQhZD<~KpG3=*iTYX;bL;A~zr;iz(#L2zp&A%gP zc((7OVDjSL9)a|rUGk1YD@;^1GaX?8sSTR)u7g zHk-5|CRb&1x!dhGrIxx!q#iE%)Hm%$Pr`h^L(f)Bi%6B;_gZCmy;J;M}*2OSlO zQz4QoYh{zM?e3euc1svb1wHqO-QV)k<9itKW5icaVUE64r-~bF&NPz}w4QxzJ!3cY z(u`++Q*%;YlhqU7^;Zyz65y)&-c%-<_e|ovYpwIaR zehXGU&&pi^f&K4pf96aRtBZh%!HP#KDSHn%haY+R za8JM<@8e}BzTYJVtK&37=Nz3=aCS)~-b>}l&3i*ZkI!=6n9(EYX)QT}(y%Q%TfBGQ zoSO!svkN%}hx$zKSmC%C|XGIb-Ztf4~P8)VU zy@Oro8pc-&R-Nw9?f><|3yOH4!XExUqOEuz=j}B-z2pV2qcTd*2bruf*g9ags(^oY zrq|7ez~UOG&cHnszntF2{k)p3k3|AZWU4MLa?WU89$Vz4*e7=RnSXEjuE&`_@PmT! z`gVigpDu{H@Q5|UXaB6O+0`Y@T;?vUJMNTm^*FoOAInG->73d8c;C??oup=Ht-d$g z7u?Qt-+NartXy}h-HEgi!@OrJRF;ldvf^!D;nC=7_4^`fp^Hy^Q*}El*R$SK-gcq! z_T&3kyGv;~xYpj}(OlJJaf7o%NCUeL*VP|;vA4;i^FwiLjlsqEya>sDL5cHoQ{=T5 z`tJYL{jqQGW<)3l-Wx{{4GX)`+EU};H|(2bqncO{dNfM)z5LwbpPHq2PIuJ{rTqK`C5Bpy8q7*CxhrQVk-}y#YV2I;6*4>Wd5f56WtQk72W&_@ zB`r2yTj)gc2kchXS5MvZ%(w3IhcEJd*E&|Q?}Y(h)|~eNoO;vOZk4k&F?ej={^8Pw zw#e=R-D`Q0a^mrExdd+L5$<$Blf)@4Z{K=Eq(?pKq4hd!5x(TD43FvV1|09}L%Q+qApm z{neqo>LT?EaJ8<0zSsrg1(K}jm#^Ejo}XJNn8Nd=J%_(}IzFoQ$`GM*(66)JPombO z{27Kc;JGmL?YW`Vo9qXMwDP`utCr$8+9|btd$&I z*NOX-eUrl%R@^N}ZPP5Xd39}@`8y|1pXS1wS69a$w2x28izpgu_*Qe>-MZ@SN=3W) zi;pjwZ846zSlf9f{G!ZaBePrq=S<}~;ng}>Rgr~fhlYxZf;l`69$OSSQ>=TwM|8)g zx&x&dN@h!BB4P^=Dvdkc~smFe|S{^c|er@>PC;c}2E@*q(z|BCwT?0 zyn<| zN<1UoqXw(5Xpi_Rm)d^VAyeP|kZ?z>Y{qs^qJbppM{^MbiLwA z$tXDZEW6VAS2*}yA(N9^^nPu67~!!n`%e23-K4vT0d@~-8+Nw_5wF~6dH=;SaXEX3 z&c3kDySt85c6H&FSDPnglXiwDT?w#PPVV1%eds}@amtA^b~4G0;@5w&SH|31>FI~d zOmDj+ETS);yU=sH#&?^PkT>?6$$fI4hhx_A?;P@uia0<0ZWk_~CZlp&+$#}H$2QMT z9Wg7D^2+ZN>6a&_l3Ep3K9Y}o!+myoULr2gsOe4|j?!)9+_v z)t+#9k(x)r4w)x1zDTBStSWflY^iUXl4tCnZ6Y);gkz(u5bZatPD}Z*DFsjZ_FMd;VcxQ$wm+hxhewAt@^N z%JmJ}m^DWZr&ivq7yFLiS$)EB$mYN zu@4P=w{7Mp*8Q3(oi|06$4Hdl3KLmh79HkYqdo0S@St_{-dK6QH3l!M=afGPl{oUr zGT5+8(79`Y+^MB=d3ru}>-V&XoqqF-{47|}wBBgdF#+EG>Si9<7yaAM%cz#F(t>jb zf?E>QmGXF=UpLm&tb0E_KfzB^BI0mBlTE&=3s^$*PBdZn*mWj zo^vcL*QH+~D}cXKf7U@<5E*vCdQ-fxJ8ROl^7#TX6X&af(kivPn;C)=-1q)rU6c-PS2Z^+B#wZ=T&w9Qb{ z;%wqO_HJAEm7IoJ_zy=jTgx5Dt7;rEC2&A}IA zD&$=@{-I_@Ie@W$n!fy==iEycH#$y|&n`6NB4!M#v*2F!vFI%0v zcoPd`7OrBoX0^TWitWUsy+?Vmk34hygXYb}uDseM`%ZFaOi%lc2vPe-`z4R2_E@ey z_nstZRZj5OP~CCEswI5gp@i0B)_(H}f9NbTB`s--zQ+CNpmA*Ukryww1V#I^oRU2v z7-_Z4GTN?*ZFl^djh{(7Y!4$u(b>(M4^Y1GJj_jN5mgsa{ zVy%wk632NC9nW$&u7@7+tqm2gvT)DaeeKhV@=F(%DmBG4H%>ngy=VW&TZdl^^tGt| z%Gm88c>h~y%9p27kF%TV6Bhm)gg)!^t6bFBR20|x{J~7N+x)lslL$%G1??xZ$njS# zn(A%CLgMQ#{JP+Bh*QwIy~RoObXI85ohvnS0`v6^YBq3H3$tIgXufja@uuBsH+knA zf{5ju0+XTs&kgsI*T`Tkg2T=^DRade<*{wllOwqYz#o^FiYW5szZoi8o4I69oM)Ko zvhBNB)|;>ZclghJsct;_SqU73_L({I?|*mZKQ8j0K$=IMapr#H3jX)U!H?mHK$hR) zu;9;s7l?sfaTFrih3MsmbDvPU==AnN6(CLkC_xV)o%&y=Al)5D!MS@8$?$}tr!9@( znKcc9A~+#PA0hfVfSH153K;}jZ$w<8S9)FbJvk%rfbl>QHAquG;8*am;FyYRT{G-9 z*c1oiHiqIynefqn5`8`Vcp%7bJ_H#d#7_sx`1eN#n}M~Zk&cbEk+~s;;5v?c+8*`$ zNk{$|RXqezjl5H6D)RMUXCHSP3J&kBFpg}Ry}KRy{PrEtwIUk?Ss|W%>ui){Pr3?Y zwO}?vLeoOJ2udVIv<-P;Z9MtXs+%w!f~GHkpiKyE$cUoM@OyFe$XH*D2V!wVrct9G zZE@t+8h$$ne6kj}gu`Dr?Lo!>@ZSydFT)sBi5^TL`j97rqJ?A{RKmtq9}55#2{`|T zf}qWdP=>Pnovi&oP`zt66b*vtQ2^q_=D#!rLCY312g-*)qFcF%_AOI{F<+NQiN^}8 zmkT_xEzinLRWj#=pnY2ODw(?!U4;J@=?qlL0b^Ia&%@271f%@2O1lkwGs9_ zlQ=aX>QYT?#QjoP8*{<-lnw%p1ws*iXvqDCt!XqtplwZw+fjJ>(HM-_2mTJZ?4?)E zw*w7eLCCd5XhEEeqI}vOppC~9UB(SRW z{gfpkh!jYl%j}Oroy8ox!wmLjgcITy$EpPK7*}!nK)XDRSvWdAIJ_%NW}qa;N)?$e zAhnD1hah{zf_=$h7S#qHnC#Dh$>?Y*=Le9-NCUG*8j)QU`bhNSgKHb@U7P}LQ`f1NX_SgY}f@s^fMW4wa|!6i7r^Y4$;TU z70WP<_~7R2jsafO2x@M31esMjbI2^5y(w51JgmKgh;zkyxiCsB`WwUq@jz$B^B~9> zLC1fGIdtnmx~xkilX0%#lx*U(xh=lc8E|!En}Y2=^T0q*^kJl~dE1{xT?J-l zJjTpkK4cOVndpZj;3)ovKx5=Rg2|*qRG^swOppA_S zjPL|<519IZn3beYA5pbuuueHsqHVZ{bO{j{7?CXq*2;MZB5D9A%#bX(AQ*`4@RN*h{8^?H8H0gfRt#7NhC1sgt0cg0kMXyYtaOpY|}fcRQsb9R7iuMd_%gu zvo;er==3x}%|u(n*Nr!}hVJ zgA9jnrY=>N2r_OG#RrR@xSkxg`1s`~2#04tDv9i1nM6(bvHt?V<6K}bZ`jd=;oQZ% zC7C`qKoFt;S4VcR?jJ>yhB~uH!n#j}L*aYDmIoBm3feU55mwuNX398vL_dFb*vk~_ zPxPT+{Qer!`|q4|tdSra4wC1mjG^yGfyrJI8wi_oYI3PC1hs?Y3)ygpL`^vDAk+~{ z!cAZulj)%|B*HdW`>@o|VP-reYM0&{n=fsWH`O&_OmT=nqh9l04LMCEJ zUK3A+CC0y#!U4mK0h1}C$B)2?!AFn6IhBl<8muf~tSbSYU?phE;1H6N+6)A;0EW@9 zMUy|zZ_4uBh(utL7!S(0EPHD&|#j-578??FNCKNJb0 z?oKP3;64;6Can$P^Liq}!IY9p4FruQxHOx4iKcwoHo%|~$f=X)zRV9nA64j&0bVYe z${;^Yu)?SwXunQ2_3&YM$D3i`g!e(dg3O$HRMCf-cQTS!@iYtgG9CeVqz~b-> z^&>Gog6#zG^uquPc}T?l18pQra9<53<97bOuEvlmW1S<*!$lBuEuG$oq`^=*`JZpT z(c+)N$gV*9%@TG8x929n8M{f1=B~6n#&hx1ar9sUalA}!tZZZs^$IQ7I=FG`Xqx=^ z0ACC@DA1@s$ZHh_OHg`ts(j4&_j>-mLy+^7BZKW1XcJyzK~%EsL8WMt=#jyhuNBq{ z+_a&%jZ@ByU6#=n3(X`OLEeQdbSIehpLkGL47mR4NCDSb86quvws4#5 zHPCS|Vx=1mx@pOaIuaOX@WF!+=jA>D)K~)=^(&eI*$towMZN2*i}hw?LyCiHt>Pf* z{SMMkWc&RUb4Uop9WVj*qR>{3(S5dOaX)&%I1IEH9HSu70*08PB&t0TfX_{i7NsSf zdk@4!>TN&dxzo8{OhF@K{awHYIysqV3#VEY$d}bY$R4#U00}(N5QdrX%e8;{8pqkC}sl7->2=Xfx<~_;_vew7s{?igNIhT=LsnSrmrzy^L8Ng;jk8 zZ7S+y@FY064V*`)J)T#f$AfHt2_>V919})R9^9m7pq!e9k6G`)ay5bBEo4ijI~8Rb zBQKH<#SkVE7~niQJipftSdc#0H;_hcaT{eEsx6xmsmDkb&YldAwjHf4+YONH020!u zF?Uf$8o2|op6uf_nNi1Qy>2lCMooPM0&=WPIiERH)btuAPh#AU2WH@mfU+Ks$zq`g zC}UZ;xlxx81OhMEh5A;YNziPtm-pd--vy89tyVok8ErjGcC*G27+zvK`9)FS7BHzU zFh_yBFqT`2GL99NK*Eo|ozb@Zt|(18EnrL!fiWRXy!{1JSd6@YDY;=?;PEex(Wvg# zhN$NPTdD(ELT>wMHB6y${Cy{$K`5v=M#(k><^!7FbXjfZJLV8s5%I)HHr+Xu9%-Eb z>Hw&Lkkwg1BXgjvVFGD%Jebh}ZrD2Ou{tm-ZD3Z&B0%FalgPk^H;KA>s*||gfV!l| zT#o$Fjxy9}LxO=t@l}TmQ?JT@0(OqH@tQ7_X>750A9x+e28axApxnw5ToViQ69~*{ zw1}jY)FMAnCc+WieQ*qvGaTyeZww-~CBQ)@1DJkhpjg6QAR90=9T#bA;*Weq$iN^< zNRyr8HY@3oHiG~(8%zNsZ$Entp^Jb_`x%|~I8_U}rUQri1elQ7h{<$*bowwOY8jLF zGs4=V!?QU6Ac=yD;>h#M{j*TU`jhxG;yHT%f$&4%=`5gRLnhmM6w&4Rlle2k3EKr} ze*+T%4r5+6Q>=5ZLMQ}N&{Q}-LYm8+- zwLq6?O!ChN>(e&D&EFP+7q6WIFBn0Ld0B2@3f5oQKO-(37sqY^kgxdyvw{&^rMuAO z8bAGK#8%R(>%%s~ONylq7u$a3+o!SR*9>BP3a&6g;mO1nsq_ zFP1!$n1b}D24Fa3DAKR|E-N7;0_uAwBlIEXrc5fY}; z!-@^OGvSaCeTO1n8eJq>A;5^mqQAz}53JVprSz%68Z{=c{HX*OF|}R9>KTJTP`{bJ zQd*^lF4LIzSN}JOFt#i)8QFGeCx4IwN+>P_@LJZ15B%Cr3|KUPJV|^${pLzWm%sq$ zuiU{zJi~|Hcy(0=OhW_7ga`+$8SQdx? literal 0 HcmV?d00001 diff --git a/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/download-recastnavigation-populate.cmake b/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/download-recastnavigation-populate.cmake new file mode 100644 index 000000000..e2a151d48 --- /dev/null +++ b/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/download-recastnavigation-populate.cmake @@ -0,0 +1,173 @@ +# Distributed under the OSI-approved BSD 3-Clause License. See accompanying +# file Copyright.txt or https://cmake.org/licensing for details. + +cmake_minimum_required(VERSION 3.5) + +function(check_file_hash has_hash hash_is_good) + if("${has_hash}" STREQUAL "") + message(FATAL_ERROR "has_hash Can't be empty") + endif() + + if("${hash_is_good}" STREQUAL "") + message(FATAL_ERROR "hash_is_good Can't be empty") + endif() + + if("MD5" STREQUAL "") + # No check + set("${has_hash}" FALSE PARENT_SCOPE) + set("${hash_is_good}" FALSE PARENT_SCOPE) + return() + endif() + + set("${has_hash}" TRUE PARENT_SCOPE) + + message(STATUS "verifying file... + file='/home/hebi/Documents/dw/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/e75adf86f91eb3082220085e42dda62679f9a3ea.zip'") + + file("MD5" "/home/hebi/Documents/dw/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/e75adf86f91eb3082220085e42dda62679f9a3ea.zip" actual_value) + + if(NOT "${actual_value}" STREQUAL "af905d121ef9d1cdfa979b0495cba059") + set("${hash_is_good}" FALSE PARENT_SCOPE) + message(STATUS "MD5 hash of + /home/hebi/Documents/dw/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/e75adf86f91eb3082220085e42dda62679f9a3ea.zip + does not match expected value + expected: 'af905d121ef9d1cdfa979b0495cba059' + actual: '${actual_value}'") + else() + set("${hash_is_good}" TRUE PARENT_SCOPE) + endif() +endfunction() + +function(sleep_before_download attempt) + if(attempt EQUAL 0) + return() + endif() + + if(attempt EQUAL 1) + message(STATUS "Retrying...") + return() + endif() + + set(sleep_seconds 0) + + if(attempt EQUAL 2) + set(sleep_seconds 5) + elseif(attempt EQUAL 3) + set(sleep_seconds 5) + elseif(attempt EQUAL 4) + set(sleep_seconds 15) + elseif(attempt EQUAL 5) + set(sleep_seconds 60) + elseif(attempt EQUAL 6) + set(sleep_seconds 90) + elseif(attempt EQUAL 7) + set(sleep_seconds 300) + else() + set(sleep_seconds 1200) + endif() + + message(STATUS "Retry after ${sleep_seconds} seconds (attempt #${attempt}) ...") + + execute_process(COMMAND "${CMAKE_COMMAND}" -E sleep "${sleep_seconds}") +endfunction() + +if("/home/hebi/Documents/dw/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/e75adf86f91eb3082220085e42dda62679f9a3ea.zip" STREQUAL "") + message(FATAL_ERROR "LOCAL can't be empty") +endif() + +if("https://github.com/recastnavigation/recastnavigation/archive/e75adf86f91eb3082220085e42dda62679f9a3ea.zip" STREQUAL "") + message(FATAL_ERROR "REMOTE can't be empty") +endif() + +if(EXISTS "/home/hebi/Documents/dw/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/e75adf86f91eb3082220085e42dda62679f9a3ea.zip") + check_file_hash(has_hash hash_is_good) + if(has_hash) + if(hash_is_good) + message(STATUS "File already exists and hash match (skip download): + file='/home/hebi/Documents/dw/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/e75adf86f91eb3082220085e42dda62679f9a3ea.zip' + MD5='af905d121ef9d1cdfa979b0495cba059'" + ) + return() + else() + message(STATUS "File already exists but hash mismatch. Removing...") + file(REMOVE "/home/hebi/Documents/dw/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/e75adf86f91eb3082220085e42dda62679f9a3ea.zip") + endif() + else() + message(STATUS "File already exists but no hash specified (use URL_HASH): + file='/home/hebi/Documents/dw/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/e75adf86f91eb3082220085e42dda62679f9a3ea.zip' +Old file will be removed and new file downloaded from URL." + ) + file(REMOVE "/home/hebi/Documents/dw/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/e75adf86f91eb3082220085e42dda62679f9a3ea.zip") + endif() +endif() + +set(retry_number 5) + +message(STATUS "Downloading... + dst='/home/hebi/Documents/dw/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/e75adf86f91eb3082220085e42dda62679f9a3ea.zip' + timeout='none' + inactivity timeout='none'" +) +set(download_retry_codes 7 6 8 15 28) +set(skip_url_list) +set(status_code) +foreach(i RANGE ${retry_number}) + if(status_code IN_LIST download_retry_codes) + sleep_before_download(${i}) + endif() + foreach(url https://github.com/recastnavigation/recastnavigation/archive/e75adf86f91eb3082220085e42dda62679f9a3ea.zip) + if(NOT url IN_LIST skip_url_list) + message(STATUS "Using src='${url}'") + + + + + + + file( + DOWNLOAD + "${url}" "/home/hebi/Documents/dw/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/e75adf86f91eb3082220085e42dda62679f9a3ea.zip" + SHOW_PROGRESS + # no TIMEOUT + # no INACTIVITY_TIMEOUT + STATUS status + LOG log + + + ) + + list(GET status 0 status_code) + list(GET status 1 status_string) + + if(status_code EQUAL 0) + check_file_hash(has_hash hash_is_good) + if(has_hash AND NOT hash_is_good) + message(STATUS "Hash mismatch, removing...") + file(REMOVE "/home/hebi/Documents/dw/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/e75adf86f91eb3082220085e42dda62679f9a3ea.zip") + else() + message(STATUS "Downloading... done") + return() + endif() + else() + string(APPEND logFailedURLs "error: downloading '${url}' failed + status_code: ${status_code} + status_string: ${status_string} + log: + --- LOG BEGIN --- + ${log} + --- LOG END --- + " + ) + if(NOT status_code IN_LIST download_retry_codes) + list(APPEND skip_url_list "${url}") + break() + endif() + endif() + endif() + endforeach() +endforeach() + +message(FATAL_ERROR "Each download failed! + ${logFailedURLs} + " +) diff --git a/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/extract-recastnavigation-populate.cmake b/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/extract-recastnavigation-populate.cmake new file mode 100644 index 000000000..8a4a4e024 --- /dev/null +++ b/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/extract-recastnavigation-populate.cmake @@ -0,0 +1,65 @@ +# Distributed under the OSI-approved BSD 3-Clause License. See accompanying +# file Copyright.txt or https://cmake.org/licensing for details. + +cmake_minimum_required(VERSION 3.5) + +# Make file names absolute: +# +get_filename_component(filename "/home/hebi/Documents/dw/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/e75adf86f91eb3082220085e42dda62679f9a3ea.zip" ABSOLUTE) +get_filename_component(directory "/home/hebi/Documents/dw/extern/fetched/recastnavigation" ABSOLUTE) + +message(STATUS "extracting... + src='${filename}' + dst='${directory}'" +) + +if(NOT EXISTS "${filename}") + message(FATAL_ERROR "File to extract does not exist: '${filename}'") +endif() + +# Prepare a space for extracting: +# +set(i 1234) +while(EXISTS "${directory}/../ex-recastnavigation-populate${i}") + math(EXPR i "${i} + 1") +endwhile() +set(ut_dir "${directory}/../ex-recastnavigation-populate${i}") +file(MAKE_DIRECTORY "${ut_dir}") + +# Extract it: +# +message(STATUS "extracting... [tar xfz]") +execute_process(COMMAND ${CMAKE_COMMAND} -E tar xfz ${filename} + WORKING_DIRECTORY ${ut_dir} + RESULT_VARIABLE rv +) + +if(NOT rv EQUAL 0) + message(STATUS "extracting... [error clean up]") + file(REMOVE_RECURSE "${ut_dir}") + message(FATAL_ERROR "Extract of '${filename}' failed") +endif() + +# Analyze what came out of the tar file: +# +message(STATUS "extracting... [analysis]") +file(GLOB contents "${ut_dir}/*") +list(REMOVE_ITEM contents "${ut_dir}/.DS_Store") +list(LENGTH contents n) +if(NOT n EQUAL 1 OR NOT IS_DIRECTORY "${contents}") + set(contents "${ut_dir}") +endif() + +# Move "the one" directory to the final directory: +# +message(STATUS "extracting... [rename]") +file(REMOVE_RECURSE ${directory}) +get_filename_component(contents ${contents} ABSOLUTE) +file(RENAME ${contents} ${directory}) + +# Clean up: +# +message(STATUS "extracting... [clean up]") +file(REMOVE_RECURSE "${ut_dir}") + +message(STATUS "extracting... done") diff --git a/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/recastnavigation-populate-build b/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/recastnavigation-populate-build new file mode 100644 index 000000000..e69de29bb diff --git a/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/recastnavigation-populate-configure b/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/recastnavigation-populate-configure new file mode 100644 index 000000000..e69de29bb diff --git a/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/recastnavigation-populate-done b/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/recastnavigation-populate-done new file mode 100644 index 000000000..e69de29bb diff --git a/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/recastnavigation-populate-download b/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/recastnavigation-populate-download new file mode 100644 index 000000000..e69de29bb diff --git a/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/recastnavigation-populate-install b/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/recastnavigation-populate-install new file mode 100644 index 000000000..e69de29bb diff --git a/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/recastnavigation-populate-mkdir b/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/recastnavigation-populate-mkdir new file mode 100644 index 000000000..e69de29bb diff --git a/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/recastnavigation-populate-patch b/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/recastnavigation-populate-patch new file mode 100644 index 000000000..e69de29bb diff --git a/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/recastnavigation-populate-patch-info.txt b/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/recastnavigation-populate-patch-info.txt new file mode 100644 index 000000000..53e1e1e68 --- /dev/null +++ b/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/recastnavigation-populate-patch-info.txt @@ -0,0 +1,6 @@ +# This is a generated file and its contents are an internal implementation detail. +# The update step will be re-executed if anything in this file changes. +# No other meaning or use of this file is supported. + +command= +work_dir= diff --git a/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/recastnavigation-populate-test b/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/recastnavigation-populate-test new file mode 100644 index 000000000..e69de29bb diff --git a/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/recastnavigation-populate-update b/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/recastnavigation-populate-update new file mode 100644 index 000000000..e69de29bb diff --git a/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/recastnavigation-populate-update-info.txt b/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/recastnavigation-populate-update-info.txt new file mode 100644 index 000000000..31617d15d --- /dev/null +++ b/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/recastnavigation-populate-update-info.txt @@ -0,0 +1,7 @@ +# This is a generated file and its contents are an internal implementation detail. +# The patch step will be re-executed if anything in this file changes. +# No other meaning or use of this file is supported. + +command (connected)= +command (disconnected)= +work_dir= diff --git a/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/recastnavigation-populate-urlinfo.txt b/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/recastnavigation-populate-urlinfo.txt new file mode 100644 index 000000000..74ca6b9f1 --- /dev/null +++ b/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/recastnavigation-populate-urlinfo.txt @@ -0,0 +1,12 @@ +# This is a generated file and its contents are an internal implementation detail. +# The download step will be re-executed if anything in this file changes. +# No other meaning or use of this file is supported. + +method=url +command=/usr/bin/cmake;-P;/home/hebi/Documents/dw/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/download-recastnavigation-populate.cmake;COMMAND;/usr/bin/cmake;-P;/home/hebi/Documents/dw/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/verify-recastnavigation-populate.cmake;COMMAND;/usr/bin/cmake;-P;/home/hebi/Documents/dw/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/extract-recastnavigation-populate.cmake +source_dir=/home/hebi/Documents/dw/extern/fetched/recastnavigation +work_dir=/home/hebi/Documents/dw/extern/fetched +url(s)=https://github.com/recastnavigation/recastnavigation/archive/e75adf86f91eb3082220085e42dda62679f9a3ea.zip +hash=MD5=af905d121ef9d1cdfa979b0495cba059 +no_extract= + diff --git a/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/verify-recastnavigation-populate.cmake b/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/verify-recastnavigation-populate.cmake new file mode 100644 index 000000000..e69de29bb diff --git a/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/tmp/recastnavigation-populate-cfgcmd.txt b/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/tmp/recastnavigation-populate-cfgcmd.txt new file mode 100644 index 000000000..6a6ed5fd2 --- /dev/null +++ b/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/tmp/recastnavigation-populate-cfgcmd.txt @@ -0,0 +1 @@ +cmd='' diff --git a/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/tmp/recastnavigation-populate-mkdirs.cmake b/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/tmp/recastnavigation-populate-mkdirs.cmake new file mode 100644 index 000000000..4e7452c9b --- /dev/null +++ b/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/tmp/recastnavigation-populate-mkdirs.cmake @@ -0,0 +1,22 @@ +# Distributed under the OSI-approved BSD 3-Clause License. See accompanying +# file Copyright.txt or https://cmake.org/licensing for details. + +cmake_minimum_required(VERSION 3.5) + +file(MAKE_DIRECTORY + "/home/hebi/Documents/dw/extern/fetched/recastnavigation" + "/home/hebi/Documents/dw/_deps/recastnavigation-build" + "/home/hebi/Documents/dw/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix" + "/home/hebi/Documents/dw/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/tmp" + "/home/hebi/Documents/dw/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp" + "/home/hebi/Documents/dw/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src" + "/home/hebi/Documents/dw/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp" +) + +set(configSubDirs ) +foreach(subDir IN LISTS configSubDirs) + file(MAKE_DIRECTORY "/home/hebi/Documents/dw/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp/${subDir}") +endforeach() +if(cfgdir) + file(MAKE_DIRECTORY "/home/hebi/Documents/dw/_deps/recastnavigation-subbuild/recastnavigation-populate-prefix/src/recastnavigation-populate-stamp${cfgdir}") # cfgdir has leading slash +endif() diff --git a/cmake/FindLuaJit.cmake b/cmake/FindLuaJit.cmake index 6e7110dea..946eb9e26 100644 --- a/cmake/FindLuaJit.cmake +++ b/cmake/FindLuaJit.cmake @@ -10,4 +10,4 @@ libfind_pkg_detect(LuaJit luajit FIND_LIBRARY luajit-5.1 luajit ) -libfind_process(LuaJit) \ No newline at end of file +libfind_process(LuaJit) diff --git a/cmake/base64.cmake b/cmake/base64.cmake index 7931758bb..44064f1c3 100644 --- a/cmake/base64.cmake +++ b/cmake/base64.cmake @@ -71,4 +71,4 @@ while(TRUE) endif() endwhile() -file(WRITE "${OUTPUT_FILE}" "${base64Content}") \ No newline at end of file +file(WRITE "${OUTPUT_FILE}" "${base64Content}") diff --git a/cmake/docs/mainpage.hpp b/cmake/docs/mainpage.hpp new file mode 100644 index 000000000..e25a7307d --- /dev/null +++ b/cmake/docs/mainpage.hpp @@ -0,0 +1,5 @@ +/// \mainpage +/// +/// This is the source documentation for: +/// +/// OpenMW 0.47.0 diff --git a/components/CMakeLists.txt b/components/CMakeLists.txt index 2b56aa318..91627364f 100644 --- a/components/CMakeLists.txt +++ b/components/CMakeLists.txt @@ -189,7 +189,7 @@ add_component_dir (openmw-mp/Base add_component_dir (openmw-mp/Controllers SystemPacketController PlayerPacketController ActorPacketController ObjectPacketController WorldstatePacketController ) - + add_component_dir(openmw-mp/Master MasterData PacketMasterQuery PacketMasterUpdate PacketMasterAnnounce BaseMasterPacket ProxyMasterPacket ) diff --git a/extern/fetched/recastnavigation/.editorconfig b/extern/fetched/recastnavigation/.editorconfig new file mode 100644 index 000000000..08f28f441 --- /dev/null +++ b/extern/fetched/recastnavigation/.editorconfig @@ -0,0 +1,12 @@ +# editorconfig.org + +# top-most EditorConfig file +root = true + +[*] +indent_size = 4 +indent_style = tab + +[*.yml] +indent_size = 2 +indent_style = space diff --git a/extern/fetched/recastnavigation/.gitignore b/extern/fetched/recastnavigation/.gitignore new file mode 100644 index 000000000..98f17e4b7 --- /dev/null +++ b/extern/fetched/recastnavigation/.gitignore @@ -0,0 +1,49 @@ +## Compiled source # +*.com +*.class +*.dll +*.exe +*.ilk +*.o +*.pdb +*.so +*.idb + +## Linux exes have no extension +RecastDemo/Bin/RecastDemo +RecastDemo/Bin/Tests + +# Build directory +RecastDemo/Build + +# Ignore meshes +RecastDemo/Bin/Meshes/* + +## Logs and databases # +*.log +*.sql +*.sqlite + +## OS generated files # +.DS_Store +.DS_Store? +._* +.Spotlight-V100 +.Trashes +ehthumbs.db +Thumbs.db +*.swp +*.swo + +## xcode specific +*xcuserdata* + +## SDL contrib +RecastDemo/Contrib/SDL/* + +## Generated doc files +Docs/html + +## IDE files +.idea/ +cmake-build-*/ diff --git a/extern/fetched/recastnavigation/.travis.yml b/extern/fetched/recastnavigation/.travis.yml new file mode 100644 index 000000000..0e63abad1 --- /dev/null +++ b/extern/fetched/recastnavigation/.travis.yml @@ -0,0 +1,72 @@ +language: cpp +branches: + only: + - master + - coverity_scan + - /recast-.*$/ + +sudo: false + +addons: + apt: + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-xenial-7 + packages: [ cmake, clang-7, clang-tools-7, gcc-8, g++-8, libsdl2-dev ] + +matrix: + include: + - name: Recastnavigation (all) on MacOS xcode9.4 + os: osx + osx_image: xcode9.4 + before_install: + - brew update + - brew install sdl2 + if: branch != coverity_scan + - name: Recastnavigation on Ubuntu Xenial GCC-5 + os: linux + dist: xenial + sudo: required + if: branch != coverity_scan + - name: Recastnavigation on Ubuntu Xenial GCC-8 + os: linux + dist: xenial + sudo: required + env: + - MATRIX_EVAL="CC=gcc-8 && CXX=g++-8" + if: branch != coverity_scan + - name: Recastnavigation on Ubuntu Xenial GCC-5 using Premake5 + os: linux + dist: xenial + sudo: required + if: branch != coverity_scan + before_install: + - wget https://github.com/premake/premake-core/releases/download/v5.0.0-alpha12/premake-5.0.0-alpha12-linux.tar.gz -O premake.tar.gz + - tar -xf premake.tar.gz + env: + - PREMAKE=1 + - name: Recastnavigation on Ubuntu Xenial Clang-7 with Static Analysis + os: linux + dist: xenial + sudo: required + env: + - MATRIX_EVAL="CC=clang-7 && CXX=clang++-7" + - ANALYZE="scan-build-7 --force-analyze-debug-code --use-cc clang-7 --use-c++ clang++-7" + if: branch != coverity_scan + compiler: clang + - name: Recastnavigation Coverity Scan + os: linux + dist: xenial + sudo: required + if: branch = coverity_scan + +before_script: + - if [ "${TRAVIS_OS_NAME}" = "linux" ]; then eval "${MATRIX_EVAL}"; fi + - if [ "${PREMAKE}" = "1" ]; then cd RecastDemo && ../premake5 gmake && cd ..; fi + - if [ "${PREMAKE}" != "1" ]; then mkdir -p build && cd build && ${ANALYZE} cmake ../ && cd ..; fi + +script: # 2 CPUs on Travis-CI + 1 extra for IO bound process + - if [ "${PREMAKE}" = "1" ]; then make -C RecastDemo/Build/gmake -j3; fi + - if [ "${PREMAKE}" != "1" ]; then make -C build -j3; fi + - if [ "${PREMAKE}" = "1" ]; then RecastDemo/Bin/Tests; fi + - if [ "${PREMAKE}" != "1" ]; then cd build && ctest; fi diff --git a/extern/fetched/recastnavigation/CMakeLists.txt b/extern/fetched/recastnavigation/CMakeLists.txt new file mode 100644 index 000000000..b8af6d54f --- /dev/null +++ b/extern/fetched/recastnavigation/CMakeLists.txt @@ -0,0 +1,32 @@ +cmake_minimum_required(VERSION 3.0) + +project(RecastNavigation) + +# lib versions +SET(SOVERSION 1) +SET(VERSION 1.0.0) + +option(RECASTNAVIGATION_DEMO "Build demo" ON) +option(RECASTNAVIGATION_TESTS "Build tests" ON) +option(RECASTNAVIGATION_EXAMPLES "Build examples" ON) + +if(MSVC AND BUILD_SHARED_LIBS) + set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) +endif() + +include(GNUInstallDirs) + +add_subdirectory(DebugUtils) +add_subdirectory(Detour) +add_subdirectory(DetourCrowd) +add_subdirectory(DetourTileCache) +add_subdirectory(Recast) + +if (RECASTNAVIGATION_DEMO) + add_subdirectory(RecastDemo) +endif () + +if (RECASTNAVIGATION_TESTS) + enable_testing() + add_subdirectory(Tests) +endif () diff --git a/extern/fetched/recastnavigation/CONTRIBUTING.md b/extern/fetched/recastnavigation/CONTRIBUTING.md new file mode 100644 index 000000000..3cfdc2160 --- /dev/null +++ b/extern/fetched/recastnavigation/CONTRIBUTING.md @@ -0,0 +1,185 @@ +# Contributing to Recast and Detour + +We'd love for you to contribute to our source code and to make Recast and Detour even better than they are +today! Here are the guidelines we'd like you to follow: + + - [Code of Conduct](#coc) + - [Question or Problem?](#question) + - [Issues and Bugs](#issue) + - [Feature Requests](#feature) + - [Submission Guidelines](#submission-guidelines) + - [Git Commit Guidelines](#git-commit-guidelines) + +## Code of Conduct +This project adheres to the [Open Code of Conduct][code-of-conduct]. +By participating, you are expected to honor this code. + +## Got a Question or Problem? + +If you have questions about how to use Recast or Detour, please direct these to the [Google Group][groups] +discussion list. We are also available on [Gitter][gitter]. + +## Found an Issue? +If you find a bug in the source code or a mistake in the documentation, you can help us by +submitting an issue to our [GitHub Repository][github]. Even better you can submit a Pull Request +with a fix. + +**Please see the Submission Guidelines below**. + +## Want a Feature? +You can request a new feature by submitting an issue to our [GitHub Repository][github]. If you +would like to implement a new feature then consider what kind of change it is: + +* **Major Changes** that you wish to contribute to the project should be discussed first on our +[Google Group][groups] or in [GitHub Issues][github-issues] so that we can better coordinate our efforts, prevent +duplication of work, and help you to craft the change so that it is successfully accepted into the +project. +* **Small Changes** can be crafted and submitted to the [GitHub Repository][github] as a Pull Request. + +## Submission Guidelines + +### Submitting an Issue +Before you submit your issue search the [GitHub Issues][github-issues] archive, +maybe your question was already answered. + +If your issue appears to be a bug, and hasn't been reported, open a new issue. +Help us to maximize the effort we can spend fixing issues and adding new +features, by not reporting duplicate issues. Providing the following information will increase the +chances of your issue being dealt with quickly: + +* **Overview of the Issue** - what type of issue is it, and why is it an issue for you? +* **Callstack** - if it's a crash or other runtime error, a callstack will help diagnosis +* **Screenshots** - for navmesh generation problems, a picture really is worth a thousand words. + Implement `duDebugDraw` and call some methods from DetourDebugDraw.h. Seriously, just do it, we'll definitely ask you to if you haven't! +* **Logs** - stdout and stderr from the console, or log files if there are any. + If integrating into your own codebase, be sure to implement the log callbacks in `rcContext`. +* **Reproduction steps** - a minimal, unambigious set of steps including input, that causes the error for you. + e.g. input geometry and settings you can use to input into RecastDemo to get it to fail. + Note: These can be saved by pressing the 9 key in RecastDemo, and the resulting .gset file can be shared (with the .obj if it is not one of the default ones). +* **Recast version(s) and/or git commit hash** - particularly if you can find the point at which the error first started happening +* **Environment** - operating system, compiler etc. +* **Related issues** - has a similar issue been reported before? +* **Suggest a Fix** - if you can't fix the bug yourself, perhaps you can point to what might be + causing the problem (line of code or commit) + +Here is a great example of a well defined issue: https://github.com/recastnavigation/recastnavigation/issues/12 + +**If you get help, help others. Good karma rulez!** + +### Submitting a Pull Request +Before you submit your pull request consider the following guidelines: + +* Search [GitHub Pull Requests][github-pulls] for an open or closed Pull Request + that relates to your submission. You don't want to duplicate effort. +* Make your changes in a new git branch: + + ```shell + git checkout -b my-fix-branch master + ``` + +* Implement your changes, **including appropriate tests if appropriate/possible**. +* Commit your changes using a descriptive commit message that follows our + [commit message conventions](#commit-message-format). + + ```shell + git commit -a + ``` + Note: the optional commit `-a` command line option will automatically "add" and "rm" edited files. + +* Squash any work-in-progress commits (by rebasing) to form a series of commits that make sense individually. + Ideally the pull request will be small and focused enough that it fits sensibly in one commit. + + ```shell + git rebase -i origin/master + ``` + +* Push your branch to GitHub: + + ```shell + git push origin my-fix-branch + ``` + +* In GitHub, send a pull request to `recastnavigation:master`. +* If we suggest changes then: + * Make the required updates. + * Commit your changes to your branch (e.g. `my-fix-branch`). + * Squash the changes, overwriting history in your fix branch - we don't want history to include incomplete work. + * Push the changes to your GitHub repository (this will update your Pull Request). + +If you have rebased to squash commits together, you will need to force push to update the PR: + + ```shell + git rebase master -i + git push origin my-fix-branch -f + ``` + +That's it! Thank you for your contribution! + +#### After your pull request is merged + +After your pull request is merged, you can safely delete your branch and pull the changes +from the main (upstream) repository: + +* Delete the remote branch on GitHub either through the GitHub web UI or your local shell as follows: + + ```shell + git push origin --delete my-fix-branch + ``` + +* Check out the master branch: + + ```shell + git checkout master -f + ``` + +* Delete the local branch: + + ```shell + git branch -D my-fix-branch + ``` + +* Update your master with the latest upstream version: + + ```shell + git pull --ff upstream master + ``` + +## Git Commit Guidelines + +### Commit content + +Do your best to factor commits appropriately, i.e not too large with unrelated +things in the same commit, and not too small with the same small change applied N +times in N different commits. If there was some accidental reformatting or whitespace +changes during the course of your commits, please rebase them away before submitting +the PR. + +### Commit Message Format +Please format commit messages as follows (based on this [excellent post](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html)): + +``` +Summarize change in 50 characters or less + +Provide more detail after the first line. Leave one blank line below the +summary and wrap all lines at 72 characters or less. + +If the change fixes an issue, leave another blank line after the final +paragraph and indicate which issue is fixed in the specific format +below. + +Fix #42 +``` + +Important things you should try to include in commit messages include: +* Motivation for the change +* Difference from previous behaviour +* Whether the change alters the public API, or affects existing behaviour significantly + + + +[code-of-conduct]: http://todogroup.org/opencodeofconduct/#Recastnavigation/b.hymers@gmail.com +[github]: https://github.com/recastnavigation/recastnavigation +[github-issues]: https://github.com/recastnavigation/recastnavigation/issues +[github-pulls]: https://github.com/recastnavigation/recastnavigation/pulls +[gitter]: https://gitter.im/recastnavigation/chat +[groups]: https://groups.google.com/forum/?fromgroups#!forum/recastnavigation diff --git a/extern/fetched/recastnavigation/DebugUtils/CMakeLists.txt b/extern/fetched/recastnavigation/DebugUtils/CMakeLists.txt new file mode 100644 index 000000000..21d8f8f9d --- /dev/null +++ b/extern/fetched/recastnavigation/DebugUtils/CMakeLists.txt @@ -0,0 +1,36 @@ +file(GLOB SOURCES Source/*.cpp) +add_library(DebugUtils ${SOURCES}) + +add_library(RecastNavigation::DebugUtils ALIAS DebugUtils) +set_target_properties(DebugUtils PROPERTIES DEBUG_POSTFIX -d) + +set(DebugUtils_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/Include") + +target_include_directories(DebugUtils PUBLIC + "$" +) + +target_link_libraries(DebugUtils + Recast + Detour + DetourTileCache +) + +set_target_properties(DebugUtils PROPERTIES + SOVERSION ${SOVERSION} + VERSION ${VERSION} + COMPILE_PDB_OUTPUT_DIRECTORY . + COMPILE_PDB_NAME "DebugUtils-d" + ) + +install(TARGETS DebugUtils + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + COMPONENT library + ) + +file(GLOB INCLUDES Include/*.h) +install(FILES ${INCLUDES} DESTINATION + ${CMAKE_INSTALL_INCLUDEDIR}/recastnavigation) +install(FILES "$/DebugUtils-d.pdb" CONFIGURATIONS "Debug" DESTINATION "lib") diff --git a/extern/fetched/recastnavigation/DebugUtils/Include/DebugDraw.h b/extern/fetched/recastnavigation/DebugUtils/Include/DebugDraw.h new file mode 100644 index 000000000..00b544d1c --- /dev/null +++ b/extern/fetched/recastnavigation/DebugUtils/Include/DebugDraw.h @@ -0,0 +1,223 @@ +// +// Copyright (c) 2009-2010 Mikko Mononen memon@inside.org +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. +// + +#ifndef DEBUGDRAW_H +#define DEBUGDRAW_H + +// Some math headers don't have PI defined. +static const float DU_PI = 3.14159265f; + +enum duDebugDrawPrimitives +{ + DU_DRAW_POINTS, + DU_DRAW_LINES, + DU_DRAW_TRIS, + DU_DRAW_QUADS, +}; + +/// Abstract debug draw interface. +struct duDebugDraw +{ + virtual ~duDebugDraw() = 0; + + virtual void depthMask(bool state) = 0; + + virtual void texture(bool state) = 0; + + /// Begin drawing primitives. + /// @param prim [in] primitive type to draw, one of rcDebugDrawPrimitives. + /// @param size [in] size of a primitive, applies to point size and line width only. + virtual void begin(duDebugDrawPrimitives prim, float size = 1.0f) = 0; + + /// Submit a vertex + /// @param pos [in] position of the verts. + /// @param color [in] color of the verts. + virtual void vertex(const float* pos, unsigned int color) = 0; + + /// Submit a vertex + /// @param x,y,z [in] position of the verts. + /// @param color [in] color of the verts. + virtual void vertex(const float x, const float y, const float z, unsigned int color) = 0; + + /// Submit a vertex + /// @param pos [in] position of the verts. + /// @param color [in] color of the verts. + virtual void vertex(const float* pos, unsigned int color, const float* uv) = 0; + + /// Submit a vertex + /// @param x,y,z [in] position of the verts. + /// @param color [in] color of the verts. + virtual void vertex(const float x, const float y, const float z, unsigned int color, const float u, const float v) = 0; + + /// End drawing primitives. + virtual void end() = 0; + + /// Compute a color for given area. + virtual unsigned int areaToCol(unsigned int area); +}; + +inline unsigned int duRGBA(int r, int g, int b, int a) +{ + return ((unsigned int)r) | ((unsigned int)g << 8) | ((unsigned int)b << 16) | ((unsigned int)a << 24); +} + +inline unsigned int duRGBAf(float fr, float fg, float fb, float fa) +{ + unsigned char r = (unsigned char)(fr*255.0f); + unsigned char g = (unsigned char)(fg*255.0f); + unsigned char b = (unsigned char)(fb*255.0f); + unsigned char a = (unsigned char)(fa*255.0f); + return duRGBA(r,g,b,a); +} + +unsigned int duIntToCol(int i, int a); +void duIntToCol(int i, float* col); + +inline unsigned int duMultCol(const unsigned int col, const unsigned int d) +{ + const unsigned int r = col & 0xff; + const unsigned int g = (col >> 8) & 0xff; + const unsigned int b = (col >> 16) & 0xff; + const unsigned int a = (col >> 24) & 0xff; + return duRGBA((r*d) >> 8, (g*d) >> 8, (b*d) >> 8, a); +} + +inline unsigned int duDarkenCol(unsigned int col) +{ + return ((col >> 1) & 0x007f7f7f) | (col & 0xff000000); +} + +inline unsigned int duLerpCol(unsigned int ca, unsigned int cb, unsigned int u) +{ + const unsigned int ra = ca & 0xff; + const unsigned int ga = (ca >> 8) & 0xff; + const unsigned int ba = (ca >> 16) & 0xff; + const unsigned int aa = (ca >> 24) & 0xff; + const unsigned int rb = cb & 0xff; + const unsigned int gb = (cb >> 8) & 0xff; + const unsigned int bb = (cb >> 16) & 0xff; + const unsigned int ab = (cb >> 24) & 0xff; + + unsigned int r = (ra*(255-u) + rb*u)/255; + unsigned int g = (ga*(255-u) + gb*u)/255; + unsigned int b = (ba*(255-u) + bb*u)/255; + unsigned int a = (aa*(255-u) + ab*u)/255; + return duRGBA(r,g,b,a); +} + +inline unsigned int duTransCol(unsigned int c, unsigned int a) +{ + return (a<<24) | (c & 0x00ffffff); +} + + +void duCalcBoxColors(unsigned int* colors, unsigned int colTop, unsigned int colSide); + +void duDebugDrawCylinderWire(struct duDebugDraw* dd, float minx, float miny, float minz, + float maxx, float maxy, float maxz, unsigned int col, const float lineWidth); + +void duDebugDrawBoxWire(struct duDebugDraw* dd, float minx, float miny, float minz, + float maxx, float maxy, float maxz, unsigned int col, const float lineWidth); + +void duDebugDrawArc(struct duDebugDraw* dd, const float x0, const float y0, const float z0, + const float x1, const float y1, const float z1, const float h, + const float as0, const float as1, unsigned int col, const float lineWidth); + +void duDebugDrawArrow(struct duDebugDraw* dd, const float x0, const float y0, const float z0, + const float x1, const float y1, const float z1, + const float as0, const float as1, unsigned int col, const float lineWidth); + +void duDebugDrawCircle(struct duDebugDraw* dd, const float x, const float y, const float z, + const float r, unsigned int col, const float lineWidth); + +void duDebugDrawCross(struct duDebugDraw* dd, const float x, const float y, const float z, + const float size, unsigned int col, const float lineWidth); + +void duDebugDrawBox(struct duDebugDraw* dd, float minx, float miny, float minz, + float maxx, float maxy, float maxz, const unsigned int* fcol); + +void duDebugDrawCylinder(struct duDebugDraw* dd, float minx, float miny, float minz, + float maxx, float maxy, float maxz, unsigned int col); + +void duDebugDrawGridXZ(struct duDebugDraw* dd, const float ox, const float oy, const float oz, + const int w, const int h, const float size, + const unsigned int col, const float lineWidth); + + +// Versions without begin/end, can be used to draw multiple primitives. +void duAppendCylinderWire(struct duDebugDraw* dd, float minx, float miny, float minz, + float maxx, float maxy, float maxz, unsigned int col); + +void duAppendBoxWire(struct duDebugDraw* dd, float minx, float miny, float minz, + float maxx, float maxy, float maxz, unsigned int col); + +void duAppendBoxPoints(struct duDebugDraw* dd, float minx, float miny, float minz, + float maxx, float maxy, float maxz, unsigned int col); + +void duAppendArc(struct duDebugDraw* dd, const float x0, const float y0, const float z0, + const float x1, const float y1, const float z1, const float h, + const float as0, const float as1, unsigned int col); + +void duAppendArrow(struct duDebugDraw* dd, const float x0, const float y0, const float z0, + const float x1, const float y1, const float z1, + const float as0, const float as1, unsigned int col); + +void duAppendCircle(struct duDebugDraw* dd, const float x, const float y, const float z, + const float r, unsigned int col); + +void duAppendCross(struct duDebugDraw* dd, const float x, const float y, const float z, + const float size, unsigned int col); + +void duAppendBox(struct duDebugDraw* dd, float minx, float miny, float minz, + float maxx, float maxy, float maxz, const unsigned int* fcol); + +void duAppendCylinder(struct duDebugDraw* dd, float minx, float miny, float minz, + float maxx, float maxy, float maxz, unsigned int col); + + +class duDisplayList : public duDebugDraw +{ + float* m_pos; + unsigned int* m_color; + int m_size; + int m_cap; + + bool m_depthMask; + duDebugDrawPrimitives m_prim; + float m_primSize; + + void resize(int cap); + +public: + duDisplayList(int cap = 512); + ~duDisplayList(); + virtual void depthMask(bool state); + virtual void begin(duDebugDrawPrimitives prim, float size = 1.0f); + virtual void vertex(const float x, const float y, const float z, unsigned int color); + virtual void vertex(const float* pos, unsigned int color); + virtual void end(); + void clear(); + void draw(struct duDebugDraw* dd); +private: + // Explicitly disabled copy constructor and copy assignment operator. + duDisplayList(const duDisplayList&); + duDisplayList& operator=(const duDisplayList&); +}; + + +#endif // DEBUGDRAW_H diff --git a/extern/fetched/recastnavigation/DebugUtils/Include/DetourDebugDraw.h b/extern/fetched/recastnavigation/DebugUtils/Include/DetourDebugDraw.h new file mode 100755 index 000000000..ff2ca2f9d --- /dev/null +++ b/extern/fetched/recastnavigation/DebugUtils/Include/DetourDebugDraw.h @@ -0,0 +1,48 @@ +// +// Copyright (c) 2009-2010 Mikko Mononen memon@inside.org +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. +// + +#ifndef DETOURDEBUGDRAW_H +#define DETOURDEBUGDRAW_H + +#include "DetourNavMesh.h" +#include "DetourNavMeshQuery.h" +#include "DetourTileCacheBuilder.h" + +enum DrawNavMeshFlags +{ + DU_DRAWNAVMESH_OFFMESHCONS = 0x01, + DU_DRAWNAVMESH_CLOSEDLIST = 0x02, + DU_DRAWNAVMESH_COLOR_TILES = 0x04, +}; + +void duDebugDrawNavMesh(struct duDebugDraw* dd, const dtNavMesh& mesh, unsigned char flags); +void duDebugDrawNavMeshWithClosedList(struct duDebugDraw* dd, const dtNavMesh& mesh, const dtNavMeshQuery& query, unsigned char flags); +void duDebugDrawNavMeshNodes(struct duDebugDraw* dd, const dtNavMeshQuery& query); +void duDebugDrawNavMeshBVTree(struct duDebugDraw* dd, const dtNavMesh& mesh); +void duDebugDrawNavMeshPortals(struct duDebugDraw* dd, const dtNavMesh& mesh); +void duDebugDrawNavMeshPolysWithFlags(struct duDebugDraw* dd, const dtNavMesh& mesh, const unsigned short polyFlags, const unsigned int col); +void duDebugDrawNavMeshPoly(struct duDebugDraw* dd, const dtNavMesh& mesh, dtPolyRef ref, const unsigned int col); + +void duDebugDrawTileCacheLayerAreas(struct duDebugDraw* dd, const dtTileCacheLayer& layer, const float cs, const float ch); +void duDebugDrawTileCacheLayerRegions(struct duDebugDraw* dd, const dtTileCacheLayer& layer, const float cs, const float ch); +void duDebugDrawTileCacheContours(duDebugDraw* dd, const struct dtTileCacheContourSet& lcset, + const float* orig, const float cs, const float ch); +void duDebugDrawTileCachePolyMesh(duDebugDraw* dd, const struct dtTileCachePolyMesh& lmesh, + const float* orig, const float cs, const float ch); + +#endif // DETOURDEBUGDRAW_H diff --git a/extern/fetched/recastnavigation/DebugUtils/Include/RecastDebugDraw.h b/extern/fetched/recastnavigation/DebugUtils/Include/RecastDebugDraw.h new file mode 100644 index 000000000..6a55fa647 --- /dev/null +++ b/extern/fetched/recastnavigation/DebugUtils/Include/RecastDebugDraw.h @@ -0,0 +1,42 @@ +// +// Copyright (c) 2009-2010 Mikko Mononen memon@inside.org +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. +// + +#ifndef RECAST_DEBUGDRAW_H +#define RECAST_DEBUGDRAW_H + +void duDebugDrawTriMesh(struct duDebugDraw* dd, const float* verts, int nverts, const int* tris, const float* normals, int ntris, const unsigned char* flags, const float texScale); +void duDebugDrawTriMeshSlope(struct duDebugDraw* dd, const float* verts, int nverts, const int* tris, const float* normals, int ntris, const float walkableSlopeAngle, const float texScale); + +void duDebugDrawHeightfieldSolid(struct duDebugDraw* dd, const struct rcHeightfield& hf); +void duDebugDrawHeightfieldWalkable(struct duDebugDraw* dd, const struct rcHeightfield& hf); + +void duDebugDrawCompactHeightfieldSolid(struct duDebugDraw* dd, const struct rcCompactHeightfield& chf); +void duDebugDrawCompactHeightfieldRegions(struct duDebugDraw* dd, const struct rcCompactHeightfield& chf); +void duDebugDrawCompactHeightfieldDistance(struct duDebugDraw* dd, const struct rcCompactHeightfield& chf); + +void duDebugDrawHeightfieldLayer(duDebugDraw* dd, const struct rcHeightfieldLayer& layer, const int idx); +void duDebugDrawHeightfieldLayers(duDebugDraw* dd, const struct rcHeightfieldLayerSet& lset); +void duDebugDrawHeightfieldLayersRegions(duDebugDraw* dd, const struct rcHeightfieldLayerSet& lset); + +void duDebugDrawRegionConnections(struct duDebugDraw* dd, const struct rcContourSet& cset, const float alpha = 1.0f); +void duDebugDrawRawContours(struct duDebugDraw* dd, const struct rcContourSet& cset, const float alpha = 1.0f); +void duDebugDrawContours(struct duDebugDraw* dd, const struct rcContourSet& cset, const float alpha = 1.0f); +void duDebugDrawPolyMesh(struct duDebugDraw* dd, const struct rcPolyMesh& mesh); +void duDebugDrawPolyMeshDetail(struct duDebugDraw* dd, const struct rcPolyMeshDetail& dmesh); + +#endif // RECAST_DEBUGDRAW_H diff --git a/extern/fetched/recastnavigation/DebugUtils/Include/RecastDump.h b/extern/fetched/recastnavigation/DebugUtils/Include/RecastDump.h new file mode 100644 index 000000000..6a722fdae --- /dev/null +++ b/extern/fetched/recastnavigation/DebugUtils/Include/RecastDump.h @@ -0,0 +1,43 @@ +// +// Copyright (c) 2009-2010 Mikko Mononen memon@inside.org +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. +// + +#ifndef RECAST_DUMP_H +#define RECAST_DUMP_H + +struct duFileIO +{ + virtual ~duFileIO() = 0; + virtual bool isWriting() const = 0; + virtual bool isReading() const = 0; + virtual bool write(const void* ptr, const size_t size) = 0; + virtual bool read(void* ptr, const size_t size) = 0; +}; + +bool duDumpPolyMeshToObj(struct rcPolyMesh& pmesh, duFileIO* io); +bool duDumpPolyMeshDetailToObj(struct rcPolyMeshDetail& dmesh, duFileIO* io); + +bool duDumpContourSet(struct rcContourSet& cset, duFileIO* io); +bool duReadContourSet(struct rcContourSet& cset, duFileIO* io); + +bool duDumpCompactHeightfield(struct rcCompactHeightfield& chf, duFileIO* io); +bool duReadCompactHeightfield(struct rcCompactHeightfield& chf, duFileIO* io); + +void duLogBuildTimes(rcContext& ctx, const int totalTileUsec); + + +#endif // RECAST_DUMP_H diff --git a/extern/fetched/recastnavigation/DebugUtils/Source/DebugDraw.cpp b/extern/fetched/recastnavigation/DebugUtils/Source/DebugDraw.cpp new file mode 100644 index 000000000..d0179bca2 --- /dev/null +++ b/extern/fetched/recastnavigation/DebugUtils/Source/DebugDraw.cpp @@ -0,0 +1,612 @@ +// +// Copyright (c) 2009-2010 Mikko Mononen memon@inside.org +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. +// + +#define _USE_MATH_DEFINES +#include +#include "DebugDraw.h" +#include "DetourMath.h" +#include "DetourNavMesh.h" + + +duDebugDraw::~duDebugDraw() +{ + // Empty +} + +unsigned int duDebugDraw::areaToCol(unsigned int area) +{ + if (area == 0) + { + // Treat zero area type as default. + return duRGBA(0, 192, 255, 255); + } + else + { + return duIntToCol(area, 255); + } +} + +inline int bit(int a, int b) +{ + return (a & (1 << b)) >> b; +} + +unsigned int duIntToCol(int i, int a) +{ + int r = bit(i, 1) + bit(i, 3) * 2 + 1; + int g = bit(i, 2) + bit(i, 4) * 2 + 1; + int b = bit(i, 0) + bit(i, 5) * 2 + 1; + return duRGBA(r*63,g*63,b*63,a); +} + +void duIntToCol(int i, float* col) +{ + int r = bit(i, 0) + bit(i, 3) * 2 + 1; + int g = bit(i, 1) + bit(i, 4) * 2 + 1; + int b = bit(i, 2) + bit(i, 5) * 2 + 1; + col[0] = 1 - r*63.0f/255.0f; + col[1] = 1 - g*63.0f/255.0f; + col[2] = 1 - b*63.0f/255.0f; +} + +void duCalcBoxColors(unsigned int* colors, unsigned int colTop, unsigned int colSide) +{ + if (!colors) return; + + colors[0] = duMultCol(colTop, 250); + colors[1] = duMultCol(colSide, 140); + colors[2] = duMultCol(colSide, 165); + colors[3] = duMultCol(colSide, 217); + colors[4] = duMultCol(colSide, 165); + colors[5] = duMultCol(colSide, 217); +} + +void duDebugDrawCylinderWire(struct duDebugDraw* dd, float minx, float miny, float minz, + float maxx, float maxy, float maxz, unsigned int col, const float lineWidth) +{ + if (!dd) return; + + dd->begin(DU_DRAW_LINES, lineWidth); + duAppendCylinderWire(dd, minx,miny,minz, maxx,maxy,maxz, col); + dd->end(); +} + +void duDebugDrawBoxWire(struct duDebugDraw* dd, float minx, float miny, float minz, + float maxx, float maxy, float maxz, unsigned int col, const float lineWidth) +{ + if (!dd) return; + + dd->begin(DU_DRAW_LINES, lineWidth); + duAppendBoxWire(dd, minx,miny,minz, maxx,maxy,maxz, col); + dd->end(); +} + +void duDebugDrawArc(struct duDebugDraw* dd, const float x0, const float y0, const float z0, + const float x1, const float y1, const float z1, const float h, + const float as0, const float as1, unsigned int col, const float lineWidth) +{ + if (!dd) return; + + dd->begin(DU_DRAW_LINES, lineWidth); + duAppendArc(dd, x0,y0,z0, x1,y1,z1, h, as0, as1, col); + dd->end(); +} + +void duDebugDrawArrow(struct duDebugDraw* dd, const float x0, const float y0, const float z0, + const float x1, const float y1, const float z1, + const float as0, const float as1, unsigned int col, const float lineWidth) +{ + if (!dd) return; + + dd->begin(DU_DRAW_LINES, lineWidth); + duAppendArrow(dd, x0,y0,z0, x1,y1,z1, as0, as1, col); + dd->end(); +} + +void duDebugDrawCircle(struct duDebugDraw* dd, const float x, const float y, const float z, + const float r, unsigned int col, const float lineWidth) +{ + if (!dd) return; + + dd->begin(DU_DRAW_LINES, lineWidth); + duAppendCircle(dd, x,y,z, r, col); + dd->end(); +} + +void duDebugDrawCross(struct duDebugDraw* dd, const float x, const float y, const float z, + const float size, unsigned int col, const float lineWidth) +{ + if (!dd) return; + + dd->begin(DU_DRAW_LINES, lineWidth); + duAppendCross(dd, x,y,z, size, col); + dd->end(); +} + +void duDebugDrawBox(struct duDebugDraw* dd, float minx, float miny, float minz, + float maxx, float maxy, float maxz, const unsigned int* fcol) +{ + if (!dd) return; + + dd->begin(DU_DRAW_QUADS); + duAppendBox(dd, minx,miny,minz, maxx,maxy,maxz, fcol); + dd->end(); +} + +void duDebugDrawCylinder(struct duDebugDraw* dd, float minx, float miny, float minz, + float maxx, float maxy, float maxz, unsigned int col) +{ + if (!dd) return; + + dd->begin(DU_DRAW_TRIS); + duAppendCylinder(dd, minx,miny,minz, maxx,maxy,maxz, col); + dd->end(); +} + +void duDebugDrawGridXZ(struct duDebugDraw* dd, const float ox, const float oy, const float oz, + const int w, const int h, const float size, + const unsigned int col, const float lineWidth) +{ + if (!dd) return; + + dd->begin(DU_DRAW_LINES, lineWidth); + for (int i = 0; i <= h; ++i) + { + dd->vertex(ox,oy,oz+i*size, col); + dd->vertex(ox+w*size,oy,oz+i*size, col); + } + for (int i = 0; i <= w; ++i) + { + dd->vertex(ox+i*size,oy,oz, col); + dd->vertex(ox+i*size,oy,oz+h*size, col); + } + dd->end(); +} + + +void duAppendCylinderWire(struct duDebugDraw* dd, float minx, float miny, float minz, + float maxx, float maxy, float maxz, unsigned int col) +{ + if (!dd) return; + + static const int NUM_SEG = 16; + static float dir[NUM_SEG*2]; + static bool init = false; + if (!init) + { + init = true; + for (int i = 0; i < NUM_SEG; ++i) + { + const float a = (float)i/(float)NUM_SEG*DU_PI*2; + dir[i*2] = dtMathCosf(a); + dir[i*2+1] = dtMathSinf(a); + } + } + + const float cx = (maxx + minx)/2; + const float cz = (maxz + minz)/2; + const float rx = (maxx - minx)/2; + const float rz = (maxz - minz)/2; + + for (int i = 0, j = NUM_SEG-1; i < NUM_SEG; j = i++) + { + dd->vertex(cx+dir[j*2+0]*rx, miny, cz+dir[j*2+1]*rz, col); + dd->vertex(cx+dir[i*2+0]*rx, miny, cz+dir[i*2+1]*rz, col); + dd->vertex(cx+dir[j*2+0]*rx, maxy, cz+dir[j*2+1]*rz, col); + dd->vertex(cx+dir[i*2+0]*rx, maxy, cz+dir[i*2+1]*rz, col); + } + for (int i = 0; i < NUM_SEG; i += NUM_SEG/4) + { + dd->vertex(cx+dir[i*2+0]*rx, miny, cz+dir[i*2+1]*rz, col); + dd->vertex(cx+dir[i*2+0]*rx, maxy, cz+dir[i*2+1]*rz, col); + } +} + +void duAppendBoxWire(struct duDebugDraw* dd, float minx, float miny, float minz, + float maxx, float maxy, float maxz, unsigned int col) +{ + if (!dd) return; + // Top + dd->vertex(minx, miny, minz, col); + dd->vertex(maxx, miny, minz, col); + dd->vertex(maxx, miny, minz, col); + dd->vertex(maxx, miny, maxz, col); + dd->vertex(maxx, miny, maxz, col); + dd->vertex(minx, miny, maxz, col); + dd->vertex(minx, miny, maxz, col); + dd->vertex(minx, miny, minz, col); + + // bottom + dd->vertex(minx, maxy, minz, col); + dd->vertex(maxx, maxy, minz, col); + dd->vertex(maxx, maxy, minz, col); + dd->vertex(maxx, maxy, maxz, col); + dd->vertex(maxx, maxy, maxz, col); + dd->vertex(minx, maxy, maxz, col); + dd->vertex(minx, maxy, maxz, col); + dd->vertex(minx, maxy, minz, col); + + // Sides + dd->vertex(minx, miny, minz, col); + dd->vertex(minx, maxy, minz, col); + dd->vertex(maxx, miny, minz, col); + dd->vertex(maxx, maxy, minz, col); + dd->vertex(maxx, miny, maxz, col); + dd->vertex(maxx, maxy, maxz, col); + dd->vertex(minx, miny, maxz, col); + dd->vertex(minx, maxy, maxz, col); +} + +void duAppendBoxPoints(struct duDebugDraw* dd, float minx, float miny, float minz, + float maxx, float maxy, float maxz, unsigned int col) +{ + if (!dd) return; + // Top + dd->vertex(minx, miny, minz, col); + dd->vertex(maxx, miny, minz, col); + dd->vertex(maxx, miny, minz, col); + dd->vertex(maxx, miny, maxz, col); + dd->vertex(maxx, miny, maxz, col); + dd->vertex(minx, miny, maxz, col); + dd->vertex(minx, miny, maxz, col); + dd->vertex(minx, miny, minz, col); + + // bottom + dd->vertex(minx, maxy, minz, col); + dd->vertex(maxx, maxy, minz, col); + dd->vertex(maxx, maxy, minz, col); + dd->vertex(maxx, maxy, maxz, col); + dd->vertex(maxx, maxy, maxz, col); + dd->vertex(minx, maxy, maxz, col); + dd->vertex(minx, maxy, maxz, col); + dd->vertex(minx, maxy, minz, col); +} + +void duAppendBox(struct duDebugDraw* dd, float minx, float miny, float minz, + float maxx, float maxy, float maxz, const unsigned int* fcol) +{ + if (!dd) return; + const float verts[8*3] = + { + minx, miny, minz, + maxx, miny, minz, + maxx, miny, maxz, + minx, miny, maxz, + minx, maxy, minz, + maxx, maxy, minz, + maxx, maxy, maxz, + minx, maxy, maxz, + }; + static const unsigned char inds[6*4] = + { + 7, 6, 5, 4, + 0, 1, 2, 3, + 1, 5, 6, 2, + 3, 7, 4, 0, + 2, 6, 7, 3, + 0, 4, 5, 1, + }; + + const unsigned char* in = inds; + for (int i = 0; i < 6; ++i) + { + dd->vertex(&verts[*in*3], fcol[i]); in++; + dd->vertex(&verts[*in*3], fcol[i]); in++; + dd->vertex(&verts[*in*3], fcol[i]); in++; + dd->vertex(&verts[*in*3], fcol[i]); in++; + } +} + +void duAppendCylinder(struct duDebugDraw* dd, float minx, float miny, float minz, + float maxx, float maxy, float maxz, unsigned int col) +{ + if (!dd) return; + + static const int NUM_SEG = 16; + static float dir[NUM_SEG*2]; + static bool init = false; + if (!init) + { + init = true; + for (int i = 0; i < NUM_SEG; ++i) + { + const float a = (float)i/(float)NUM_SEG*DU_PI*2; + dir[i*2] = cosf(a); + dir[i*2+1] = sinf(a); + } + } + + unsigned int col2 = duMultCol(col, 160); + + const float cx = (maxx + minx)/2; + const float cz = (maxz + minz)/2; + const float rx = (maxx - minx)/2; + const float rz = (maxz - minz)/2; + + for (int i = 2; i < NUM_SEG; ++i) + { + const int a = 0, b = i-1, c = i; + dd->vertex(cx+dir[a*2+0]*rx, miny, cz+dir[a*2+1]*rz, col2); + dd->vertex(cx+dir[b*2+0]*rx, miny, cz+dir[b*2+1]*rz, col2); + dd->vertex(cx+dir[c*2+0]*rx, miny, cz+dir[c*2+1]*rz, col2); + } + for (int i = 2; i < NUM_SEG; ++i) + { + const int a = 0, b = i, c = i-1; + dd->vertex(cx+dir[a*2+0]*rx, maxy, cz+dir[a*2+1]*rz, col); + dd->vertex(cx+dir[b*2+0]*rx, maxy, cz+dir[b*2+1]*rz, col); + dd->vertex(cx+dir[c*2+0]*rx, maxy, cz+dir[c*2+1]*rz, col); + } + for (int i = 0, j = NUM_SEG-1; i < NUM_SEG; j = i++) + { + dd->vertex(cx+dir[i*2+0]*rx, miny, cz+dir[i*2+1]*rz, col2); + dd->vertex(cx+dir[j*2+0]*rx, miny, cz+dir[j*2+1]*rz, col2); + dd->vertex(cx+dir[j*2+0]*rx, maxy, cz+dir[j*2+1]*rz, col); + + dd->vertex(cx+dir[i*2+0]*rx, miny, cz+dir[i*2+1]*rz, col2); + dd->vertex(cx+dir[j*2+0]*rx, maxy, cz+dir[j*2+1]*rz, col); + dd->vertex(cx+dir[i*2+0]*rx, maxy, cz+dir[i*2+1]*rz, col); + } +} + + +inline void evalArc(const float x0, const float y0, const float z0, + const float dx, const float dy, const float dz, + const float h, const float u, float* res) +{ + res[0] = x0 + dx * u; + res[1] = y0 + dy * u + h * (1-(u*2-1)*(u*2-1)); + res[2] = z0 + dz * u; +} + + +inline void vcross(float* dest, const float* v1, const float* v2) +{ + dest[0] = v1[1]*v2[2] - v1[2]*v2[1]; + dest[1] = v1[2]*v2[0] - v1[0]*v2[2]; + dest[2] = v1[0]*v2[1] - v1[1]*v2[0]; +} + +inline void vnormalize(float* v) +{ + float d = 1.0f / sqrtf(v[0]*v[0] + v[1]*v[1] + v[2]*v[2]); + v[0] *= d; + v[1] *= d; + v[2] *= d; +} + +inline void vsub(float* dest, const float* v1, const float* v2) +{ + dest[0] = v1[0]-v2[0]; + dest[1] = v1[1]-v2[1]; + dest[2] = v1[2]-v2[2]; +} + +inline float vdistSqr(const float* v1, const float* v2) +{ + const float x = v1[0]-v2[0]; + const float y = v1[1]-v2[1]; + const float z = v1[2]-v2[2]; + return x*x + y*y + z*z; +} + + +void appendArrowHead(struct duDebugDraw* dd, const float* p, const float* q, + const float s, unsigned int col) +{ + const float eps = 0.001f; + if (!dd) return; + if (vdistSqr(p,q) < eps*eps) return; + float ax[3], ay[3] = {0,1,0}, az[3]; + vsub(az, q, p); + vnormalize(az); + vcross(ax, ay, az); + vcross(ay, az, ax); + vnormalize(ay); + + dd->vertex(p, col); +// dd->vertex(p[0]+az[0]*s+ay[0]*s/2, p[1]+az[1]*s+ay[1]*s/2, p[2]+az[2]*s+ay[2]*s/2, col); + dd->vertex(p[0]+az[0]*s+ax[0]*s/3, p[1]+az[1]*s+ax[1]*s/3, p[2]+az[2]*s+ax[2]*s/3, col); + + dd->vertex(p, col); +// dd->vertex(p[0]+az[0]*s-ay[0]*s/2, p[1]+az[1]*s-ay[1]*s/2, p[2]+az[2]*s-ay[2]*s/2, col); + dd->vertex(p[0]+az[0]*s-ax[0]*s/3, p[1]+az[1]*s-ax[1]*s/3, p[2]+az[2]*s-ax[2]*s/3, col); + +} + +void duAppendArc(struct duDebugDraw* dd, const float x0, const float y0, const float z0, + const float x1, const float y1, const float z1, const float h, + const float as0, const float as1, unsigned int col) +{ + if (!dd) return; + static const int NUM_ARC_PTS = 8; + static const float PAD = 0.05f; + static const float ARC_PTS_SCALE = (1.0f-PAD*2) / (float)NUM_ARC_PTS; + const float dx = x1 - x0; + const float dy = y1 - y0; + const float dz = z1 - z0; + const float len = sqrtf(dx*dx + dy*dy + dz*dz); + float prev[3]; + evalArc(x0,y0,z0, dx,dy,dz, len*h, PAD, prev); + for (int i = 1; i <= NUM_ARC_PTS; ++i) + { + const float u = PAD + i * ARC_PTS_SCALE; + float pt[3]; + evalArc(x0,y0,z0, dx,dy,dz, len*h, u, pt); + dd->vertex(prev[0],prev[1],prev[2], col); + dd->vertex(pt[0],pt[1],pt[2], col); + prev[0] = pt[0]; prev[1] = pt[1]; prev[2] = pt[2]; + } + + // End arrows + if (as0 > 0.001f) + { + float p[3], q[3]; + evalArc(x0,y0,z0, dx,dy,dz, len*h, PAD, p); + evalArc(x0,y0,z0, dx,dy,dz, len*h, PAD+0.05f, q); + appendArrowHead(dd, p, q, as0, col); + } + + if (as1 > 0.001f) + { + float p[3], q[3]; + evalArc(x0,y0,z0, dx,dy,dz, len*h, 1-PAD, p); + evalArc(x0,y0,z0, dx,dy,dz, len*h, 1-(PAD+0.05f), q); + appendArrowHead(dd, p, q, as1, col); + } +} + +void duAppendArrow(struct duDebugDraw* dd, const float x0, const float y0, const float z0, + const float x1, const float y1, const float z1, + const float as0, const float as1, unsigned int col) +{ + if (!dd) return; + + dd->vertex(x0,y0,z0, col); + dd->vertex(x1,y1,z1, col); + + // End arrows + const float p[3] = {x0,y0,z0}, q[3] = {x1,y1,z1}; + if (as0 > 0.001f) + appendArrowHead(dd, p, q, as0, col); + if (as1 > 0.001f) + appendArrowHead(dd, q, p, as1, col); +} + +void duAppendCircle(struct duDebugDraw* dd, const float x, const float y, const float z, + const float r, unsigned int col) +{ + if (!dd) return; + static const int NUM_SEG = 40; + static float dir[40*2]; + static bool init = false; + if (!init) + { + init = true; + for (int i = 0; i < NUM_SEG; ++i) + { + const float a = (float)i/(float)NUM_SEG*DU_PI*2; + dir[i*2] = cosf(a); + dir[i*2+1] = sinf(a); + } + } + + for (int i = 0, j = NUM_SEG-1; i < NUM_SEG; j = i++) + { + dd->vertex(x+dir[j*2+0]*r, y, z+dir[j*2+1]*r, col); + dd->vertex(x+dir[i*2+0]*r, y, z+dir[i*2+1]*r, col); + } +} + +void duAppendCross(struct duDebugDraw* dd, const float x, const float y, const float z, + const float s, unsigned int col) +{ + if (!dd) return; + dd->vertex(x-s,y,z, col); + dd->vertex(x+s,y,z, col); + dd->vertex(x,y-s,z, col); + dd->vertex(x,y+s,z, col); + dd->vertex(x,y,z-s, col); + dd->vertex(x,y,z+s, col); +} + +duDisplayList::duDisplayList(int cap) : + m_pos(0), + m_color(0), + m_size(0), + m_cap(0), + m_depthMask(true), + m_prim(DU_DRAW_LINES), + m_primSize(1.0f) +{ + if (cap < 8) + cap = 8; + resize(cap); +} + +duDisplayList::~duDisplayList() +{ + delete [] m_pos; + delete [] m_color; +} + +void duDisplayList::resize(int cap) +{ + float* newPos = new float[cap*3]; + if (m_size) + memcpy(newPos, m_pos, sizeof(float)*3*m_size); + delete [] m_pos; + m_pos = newPos; + + unsigned int* newColor = new unsigned int[cap]; + if (m_size) + memcpy(newColor, m_color, sizeof(unsigned int)*m_size); + delete [] m_color; + m_color = newColor; + + m_cap = cap; +} + +void duDisplayList::clear() +{ + m_size = 0; +} + +void duDisplayList::depthMask(bool state) +{ + m_depthMask = state; +} + +void duDisplayList::begin(duDebugDrawPrimitives prim, float size) +{ + clear(); + m_prim = prim; + m_primSize = size; +} + +void duDisplayList::vertex(const float x, const float y, const float z, unsigned int color) +{ + if (m_size+1 >= m_cap) + resize(m_cap*2); + float* p = &m_pos[m_size*3]; + p[0] = x; + p[1] = y; + p[2] = z; + m_color[m_size] = color; + m_size++; +} + +void duDisplayList::vertex(const float* pos, unsigned int color) +{ + vertex(pos[0],pos[1],pos[2],color); +} + +void duDisplayList::end() +{ +} + +void duDisplayList::draw(struct duDebugDraw* dd) +{ + if (!dd) return; + if (!m_size) return; + dd->depthMask(m_depthMask); + dd->begin(m_prim, m_primSize); + for (int i = 0; i < m_size; ++i) + dd->vertex(&m_pos[i*3], m_color[i]); + dd->end(); +} diff --git a/extern/fetched/recastnavigation/DebugUtils/Source/DetourDebugDraw.cpp b/extern/fetched/recastnavigation/DebugUtils/Source/DetourDebugDraw.cpp new file mode 100644 index 000000000..4ca0581c7 --- /dev/null +++ b/extern/fetched/recastnavigation/DebugUtils/Source/DetourDebugDraw.cpp @@ -0,0 +1,864 @@ +// +// Copyright (c) 2009-2010 Mikko Mononen memon@inside.org +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. +// + +#include "DebugDraw.h" +#include "DetourDebugDraw.h" +#include "DetourNavMesh.h" +#include "DetourCommon.h" +#include "DetourNode.h" + + +static float distancePtLine2d(const float* pt, const float* p, const float* q) +{ + float pqx = q[0] - p[0]; + float pqz = q[2] - p[2]; + float dx = pt[0] - p[0]; + float dz = pt[2] - p[2]; + float d = pqx*pqx + pqz*pqz; + float t = pqx*dx + pqz*dz; + if (d != 0) t /= d; + dx = p[0] + t*pqx - pt[0]; + dz = p[2] + t*pqz - pt[2]; + return dx*dx + dz*dz; +} + +static void drawPolyBoundaries(duDebugDraw* dd, const dtMeshTile* tile, + const unsigned int col, const float linew, + bool inner) +{ + static const float thr = 0.01f*0.01f; + + dd->begin(DU_DRAW_LINES, linew); + + for (int i = 0; i < tile->header->polyCount; ++i) + { + const dtPoly* p = &tile->polys[i]; + + if (p->getType() == DT_POLYTYPE_OFFMESH_CONNECTION) continue; + + const dtPolyDetail* pd = &tile->detailMeshes[i]; + + for (int j = 0, nj = (int)p->vertCount; j < nj; ++j) + { + unsigned int c = col; + if (inner) + { + if (p->neis[j] == 0) continue; + if (p->neis[j] & DT_EXT_LINK) + { + bool con = false; + for (unsigned int k = p->firstLink; k != DT_NULL_LINK; k = tile->links[k].next) + { + if (tile->links[k].edge == j) + { + con = true; + break; + } + } + if (con) + c = duRGBA(255,255,255,48); + else + c = duRGBA(0,0,0,48); + } + else + c = duRGBA(0,48,64,32); + } + else + { + if (p->neis[j] != 0) continue; + } + + const float* v0 = &tile->verts[p->verts[j]*3]; + const float* v1 = &tile->verts[p->verts[(j+1) % nj]*3]; + + // Draw detail mesh edges which align with the actual poly edge. + // This is really slow. + for (int k = 0; k < pd->triCount; ++k) + { + const unsigned char* t = &tile->detailTris[(pd->triBase+k)*4]; + const float* tv[3]; + for (int m = 0; m < 3; ++m) + { + if (t[m] < p->vertCount) + tv[m] = &tile->verts[p->verts[t[m]]*3]; + else + tv[m] = &tile->detailVerts[(pd->vertBase+(t[m]-p->vertCount))*3]; + } + for (int m = 0, n = 2; m < 3; n=m++) + { + if ((dtGetDetailTriEdgeFlags(t[3], n) & DT_DETAIL_EDGE_BOUNDARY) == 0) + continue; + + if (distancePtLine2d(tv[n],v0,v1) < thr && + distancePtLine2d(tv[m],v0,v1) < thr) + { + dd->vertex(tv[n], c); + dd->vertex(tv[m], c); + } + } + } + } + } + dd->end(); +} + +static void drawMeshTile(duDebugDraw* dd, const dtNavMesh& mesh, const dtNavMeshQuery* query, + const dtMeshTile* tile, unsigned char flags) +{ + dtPolyRef base = mesh.getPolyRefBase(tile); + + int tileNum = mesh.decodePolyIdTile(base); + const unsigned int tileColor = duIntToCol(tileNum, 128); + + dd->depthMask(false); + + dd->begin(DU_DRAW_TRIS); + for (int i = 0; i < tile->header->polyCount; ++i) + { + const dtPoly* p = &tile->polys[i]; + if (p->getType() == DT_POLYTYPE_OFFMESH_CONNECTION) // Skip off-mesh links. + continue; + + const dtPolyDetail* pd = &tile->detailMeshes[i]; + + unsigned int col; + if (query && query->isInClosedList(base | (dtPolyRef)i)) + col = duRGBA(255,196,0,64); + else + { + if (flags & DU_DRAWNAVMESH_COLOR_TILES) + col = tileColor; + else + col = duTransCol(dd->areaToCol(p->getArea()), 64); + } + + for (int j = 0; j < pd->triCount; ++j) + { + const unsigned char* t = &tile->detailTris[(pd->triBase+j)*4]; + for (int k = 0; k < 3; ++k) + { + if (t[k] < p->vertCount) + dd->vertex(&tile->verts[p->verts[t[k]]*3], col); + else + dd->vertex(&tile->detailVerts[(pd->vertBase+t[k]-p->vertCount)*3], col); + } + } + } + dd->end(); + + // Draw inter poly boundaries + drawPolyBoundaries(dd, tile, duRGBA(0,48,64,32), 1.5f, true); + + // Draw outer poly boundaries + drawPolyBoundaries(dd, tile, duRGBA(0,48,64,220), 2.5f, false); + + if (flags & DU_DRAWNAVMESH_OFFMESHCONS) + { + dd->begin(DU_DRAW_LINES, 2.0f); + for (int i = 0; i < tile->header->polyCount; ++i) + { + const dtPoly* p = &tile->polys[i]; + if (p->getType() != DT_POLYTYPE_OFFMESH_CONNECTION) // Skip regular polys. + continue; + + unsigned int col, col2; + if (query && query->isInClosedList(base | (dtPolyRef)i)) + col = duRGBA(255,196,0,220); + else + col = duDarkenCol(duTransCol(dd->areaToCol(p->getArea()), 220)); + + const dtOffMeshConnection* con = &tile->offMeshCons[i - tile->header->offMeshBase]; + const float* va = &tile->verts[p->verts[0]*3]; + const float* vb = &tile->verts[p->verts[1]*3]; + + // Check to see if start and end end-points have links. + bool startSet = false; + bool endSet = false; + for (unsigned int k = p->firstLink; k != DT_NULL_LINK; k = tile->links[k].next) + { + if (tile->links[k].edge == 0) + startSet = true; + if (tile->links[k].edge == 1) + endSet = true; + } + + // End points and their on-mesh locations. + dd->vertex(va[0],va[1],va[2], col); + dd->vertex(con->pos[0],con->pos[1],con->pos[2], col); + col2 = startSet ? col : duRGBA(220,32,16,196); + duAppendCircle(dd, con->pos[0],con->pos[1]+0.1f,con->pos[2], con->rad, col2); + + dd->vertex(vb[0],vb[1],vb[2], col); + dd->vertex(con->pos[3],con->pos[4],con->pos[5], col); + col2 = endSet ? col : duRGBA(220,32,16,196); + duAppendCircle(dd, con->pos[3],con->pos[4]+0.1f,con->pos[5], con->rad, col2); + + // End point vertices. + dd->vertex(con->pos[0],con->pos[1],con->pos[2], duRGBA(0,48,64,196)); + dd->vertex(con->pos[0],con->pos[1]+0.2f,con->pos[2], duRGBA(0,48,64,196)); + + dd->vertex(con->pos[3],con->pos[4],con->pos[5], duRGBA(0,48,64,196)); + dd->vertex(con->pos[3],con->pos[4]+0.2f,con->pos[5], duRGBA(0,48,64,196)); + + // Connection arc. + duAppendArc(dd, con->pos[0],con->pos[1],con->pos[2], con->pos[3],con->pos[4],con->pos[5], 0.25f, + (con->flags & 1) ? 0.6f : 0, 0.6f, col); + } + dd->end(); + } + + const unsigned int vcol = duRGBA(0,0,0,196); + dd->begin(DU_DRAW_POINTS, 3.0f); + for (int i = 0; i < tile->header->vertCount; ++i) + { + const float* v = &tile->verts[i*3]; + dd->vertex(v[0], v[1], v[2], vcol); + } + dd->end(); + + dd->depthMask(true); +} + +void duDebugDrawNavMesh(duDebugDraw* dd, const dtNavMesh& mesh, unsigned char flags) +{ + if (!dd) return; + + for (int i = 0; i < mesh.getMaxTiles(); ++i) + { + const dtMeshTile* tile = mesh.getTile(i); + if (!tile->header) continue; + drawMeshTile(dd, mesh, 0, tile, flags); + } +} + +void duDebugDrawNavMeshWithClosedList(struct duDebugDraw* dd, const dtNavMesh& mesh, const dtNavMeshQuery& query, unsigned char flags) +{ + if (!dd) return; + + const dtNavMeshQuery* q = (flags & DU_DRAWNAVMESH_CLOSEDLIST) ? &query : 0; + + for (int i = 0; i < mesh.getMaxTiles(); ++i) + { + const dtMeshTile* tile = mesh.getTile(i); + if (!tile->header) continue; + drawMeshTile(dd, mesh, q, tile, flags); + } +} + +void duDebugDrawNavMeshNodes(struct duDebugDraw* dd, const dtNavMeshQuery& query) +{ + if (!dd) return; + + const dtNodePool* pool = query.getNodePool(); + if (pool) + { + const float off = 0.5f; + dd->begin(DU_DRAW_POINTS, 4.0f); + for (int i = 0; i < pool->getHashSize(); ++i) + { + for (dtNodeIndex j = pool->getFirst(i); j != DT_NULL_IDX; j = pool->getNext(j)) + { + const dtNode* node = pool->getNodeAtIdx(j+1); + if (!node) continue; + dd->vertex(node->pos[0],node->pos[1]+off,node->pos[2], duRGBA(255,192,0,255)); + } + } + dd->end(); + + dd->begin(DU_DRAW_LINES, 2.0f); + for (int i = 0; i < pool->getHashSize(); ++i) + { + for (dtNodeIndex j = pool->getFirst(i); j != DT_NULL_IDX; j = pool->getNext(j)) + { + const dtNode* node = pool->getNodeAtIdx(j+1); + if (!node) continue; + if (!node->pidx) continue; + const dtNode* parent = pool->getNodeAtIdx(node->pidx); + if (!parent) continue; + dd->vertex(node->pos[0],node->pos[1]+off,node->pos[2], duRGBA(255,192,0,128)); + dd->vertex(parent->pos[0],parent->pos[1]+off,parent->pos[2], duRGBA(255,192,0,128)); + } + } + dd->end(); + } +} + + +static void drawMeshTileBVTree(duDebugDraw* dd, const dtMeshTile* tile) +{ + // Draw BV nodes. + const float cs = 1.0f / tile->header->bvQuantFactor; + dd->begin(DU_DRAW_LINES, 1.0f); + for (int i = 0; i < tile->header->bvNodeCount; ++i) + { + const dtBVNode* n = &tile->bvTree[i]; + if (n->i < 0) // Leaf indices are positive. + continue; + duAppendBoxWire(dd, tile->header->bmin[0] + n->bmin[0]*cs, + tile->header->bmin[1] + n->bmin[1]*cs, + tile->header->bmin[2] + n->bmin[2]*cs, + tile->header->bmin[0] + n->bmax[0]*cs, + tile->header->bmin[1] + n->bmax[1]*cs, + tile->header->bmin[2] + n->bmax[2]*cs, + duRGBA(255,255,255,128)); + } + dd->end(); +} + +void duDebugDrawNavMeshBVTree(duDebugDraw* dd, const dtNavMesh& mesh) +{ + if (!dd) return; + + for (int i = 0; i < mesh.getMaxTiles(); ++i) + { + const dtMeshTile* tile = mesh.getTile(i); + if (!tile->header) continue; + drawMeshTileBVTree(dd, tile); + } +} + +static void drawMeshTilePortal(duDebugDraw* dd, const dtMeshTile* tile) +{ + // Draw portals + const float padx = 0.04f; + const float pady = tile->header->walkableClimb; + + dd->begin(DU_DRAW_LINES, 2.0f); + + for (int side = 0; side < 8; ++side) + { + unsigned short m = DT_EXT_LINK | (unsigned short)side; + + for (int i = 0; i < tile->header->polyCount; ++i) + { + dtPoly* poly = &tile->polys[i]; + + // Create new links. + const int nv = poly->vertCount; + for (int j = 0; j < nv; ++j) + { + // Skip edges which do not point to the right side. + if (poly->neis[j] != m) + continue; + + // Create new links + const float* va = &tile->verts[poly->verts[j]*3]; + const float* vb = &tile->verts[poly->verts[(j+1) % nv]*3]; + + if (side == 0 || side == 4) + { + unsigned int col = side == 0 ? duRGBA(128,0,0,128) : duRGBA(128,0,128,128); + + const float x = va[0] + ((side == 0) ? -padx : padx); + + dd->vertex(x,va[1]-pady,va[2], col); + dd->vertex(x,va[1]+pady,va[2], col); + + dd->vertex(x,va[1]+pady,va[2], col); + dd->vertex(x,vb[1]+pady,vb[2], col); + + dd->vertex(x,vb[1]+pady,vb[2], col); + dd->vertex(x,vb[1]-pady,vb[2], col); + + dd->vertex(x,vb[1]-pady,vb[2], col); + dd->vertex(x,va[1]-pady,va[2], col); + } + else if (side == 2 || side == 6) + { + unsigned int col = side == 2 ? duRGBA(0,128,0,128) : duRGBA(0,128,128,128); + + const float z = va[2] + ((side == 2) ? -padx : padx); + + dd->vertex(va[0],va[1]-pady,z, col); + dd->vertex(va[0],va[1]+pady,z, col); + + dd->vertex(va[0],va[1]+pady,z, col); + dd->vertex(vb[0],vb[1]+pady,z, col); + + dd->vertex(vb[0],vb[1]+pady,z, col); + dd->vertex(vb[0],vb[1]-pady,z, col); + + dd->vertex(vb[0],vb[1]-pady,z, col); + dd->vertex(va[0],va[1]-pady,z, col); + } + + } + } + } + + dd->end(); +} + +void duDebugDrawNavMeshPortals(duDebugDraw* dd, const dtNavMesh& mesh) +{ + if (!dd) return; + + for (int i = 0; i < mesh.getMaxTiles(); ++i) + { + const dtMeshTile* tile = mesh.getTile(i); + if (!tile->header) continue; + drawMeshTilePortal(dd, tile); + } +} + +void duDebugDrawNavMeshPolysWithFlags(struct duDebugDraw* dd, const dtNavMesh& mesh, + const unsigned short polyFlags, const unsigned int col) +{ + if (!dd) return; + + for (int i = 0; i < mesh.getMaxTiles(); ++i) + { + const dtMeshTile* tile = mesh.getTile(i); + if (!tile->header) continue; + dtPolyRef base = mesh.getPolyRefBase(tile); + + for (int j = 0; j < tile->header->polyCount; ++j) + { + const dtPoly* p = &tile->polys[j]; + if ((p->flags & polyFlags) == 0) continue; + duDebugDrawNavMeshPoly(dd, mesh, base|(dtPolyRef)j, col); + } + } +} + +void duDebugDrawNavMeshPoly(duDebugDraw* dd, const dtNavMesh& mesh, dtPolyRef ref, const unsigned int col) +{ + if (!dd) return; + + const dtMeshTile* tile = 0; + const dtPoly* poly = 0; + if (dtStatusFailed(mesh.getTileAndPolyByRef(ref, &tile, &poly))) + return; + + dd->depthMask(false); + + const unsigned int c = duTransCol(col, 64); + const unsigned int ip = (unsigned int)(poly - tile->polys); + + if (poly->getType() == DT_POLYTYPE_OFFMESH_CONNECTION) + { + dtOffMeshConnection* con = &tile->offMeshCons[ip - tile->header->offMeshBase]; + + dd->begin(DU_DRAW_LINES, 2.0f); + + // Connection arc. + duAppendArc(dd, con->pos[0],con->pos[1],con->pos[2], con->pos[3],con->pos[4],con->pos[5], 0.25f, + (con->flags & 1) ? 0.6f : 0.0f, 0.6f, c); + + dd->end(); + } + else + { + const dtPolyDetail* pd = &tile->detailMeshes[ip]; + + dd->begin(DU_DRAW_TRIS); + for (int i = 0; i < pd->triCount; ++i) + { + const unsigned char* t = &tile->detailTris[(pd->triBase+i)*4]; + for (int j = 0; j < 3; ++j) + { + if (t[j] < poly->vertCount) + dd->vertex(&tile->verts[poly->verts[t[j]]*3], c); + else + dd->vertex(&tile->detailVerts[(pd->vertBase+t[j]-poly->vertCount)*3], c); + } + } + dd->end(); + } + + dd->depthMask(true); + +} + +static void debugDrawTileCachePortals(struct duDebugDraw* dd, const dtTileCacheLayer& layer, const float cs, const float ch) +{ + const int w = (int)layer.header->width; + const int h = (int)layer.header->height; + const float* bmin = layer.header->bmin; + + // Portals + unsigned int pcol = duRGBA(255,255,255,255); + + const int segs[4*4] = {0,0,0,1, 0,1,1,1, 1,1,1,0, 1,0,0,0}; + + // Layer portals + dd->begin(DU_DRAW_LINES, 2.0f); + for (int y = 0; y < h; ++y) + { + for (int x = 0; x < w; ++x) + { + const int idx = x+y*w; + const int lh = (int)layer.heights[idx]; + if (lh == 0xff) continue; + + for (int dir = 0; dir < 4; ++dir) + { + if (layer.cons[idx] & (1<<(dir+4))) + { + const int* seg = &segs[dir*4]; + const float ax = bmin[0] + (x+seg[0])*cs; + const float ay = bmin[1] + (lh+2)*ch; + const float az = bmin[2] + (y+seg[1])*cs; + const float bx = bmin[0] + (x+seg[2])*cs; + const float by = bmin[1] + (lh+2)*ch; + const float bz = bmin[2] + (y+seg[3])*cs; + dd->vertex(ax, ay, az, pcol); + dd->vertex(bx, by, bz, pcol); + } + } + } + } + dd->end(); +} + +void duDebugDrawTileCacheLayerAreas(struct duDebugDraw* dd, const dtTileCacheLayer& layer, const float cs, const float ch) +{ + const int w = (int)layer.header->width; + const int h = (int)layer.header->height; + const float* bmin = layer.header->bmin; + const float* bmax = layer.header->bmax; + const int idx = layer.header->tlayer; + + unsigned int color = duIntToCol(idx+1, 255); + + // Layer bounds + float lbmin[3], lbmax[3]; + lbmin[0] = bmin[0] + layer.header->minx*cs; + lbmin[1] = bmin[1]; + lbmin[2] = bmin[2] + layer.header->miny*cs; + lbmax[0] = bmin[0] + (layer.header->maxx+1)*cs; + lbmax[1] = bmax[1]; + lbmax[2] = bmin[2] + (layer.header->maxy+1)*cs; + duDebugDrawBoxWire(dd, lbmin[0],lbmin[1],lbmin[2], lbmax[0],lbmax[1],lbmax[2], duTransCol(color,128), 2.0f); + + // Layer height + dd->begin(DU_DRAW_QUADS); + for (int y = 0; y < h; ++y) + { + for (int x = 0; x < w; ++x) + { + const int lidx = x+y*w; + const int lh = (int)layer.heights[lidx]; + if (lh == 0xff) continue; + + const unsigned char area = layer.areas[lidx]; + unsigned int col; + if (area == 63) + col = duLerpCol(color, duRGBA(0,192,255,64), 32); + else if (area == 0) + col = duLerpCol(color, duRGBA(0,0,0,64), 32); + else + col = duLerpCol(color, dd->areaToCol(area), 32); + + const float fx = bmin[0] + x*cs; + const float fy = bmin[1] + (lh+1)*ch; + const float fz = bmin[2] + y*cs; + + dd->vertex(fx, fy, fz, col); + dd->vertex(fx, fy, fz+cs, col); + dd->vertex(fx+cs, fy, fz+cs, col); + dd->vertex(fx+cs, fy, fz, col); + } + } + dd->end(); + + debugDrawTileCachePortals(dd, layer, cs, ch); +} + +void duDebugDrawTileCacheLayerRegions(struct duDebugDraw* dd, const dtTileCacheLayer& layer, const float cs, const float ch) +{ + const int w = (int)layer.header->width; + const int h = (int)layer.header->height; + const float* bmin = layer.header->bmin; + const float* bmax = layer.header->bmax; + const int idx = layer.header->tlayer; + + unsigned int color = duIntToCol(idx+1, 255); + + // Layer bounds + float lbmin[3], lbmax[3]; + lbmin[0] = bmin[0] + layer.header->minx*cs; + lbmin[1] = bmin[1]; + lbmin[2] = bmin[2] + layer.header->miny*cs; + lbmax[0] = bmin[0] + (layer.header->maxx+1)*cs; + lbmax[1] = bmax[1]; + lbmax[2] = bmin[2] + (layer.header->maxy+1)*cs; + duDebugDrawBoxWire(dd, lbmin[0],lbmin[1],lbmin[2], lbmax[0],lbmax[1],lbmax[2], duTransCol(color,128), 2.0f); + + // Layer height + dd->begin(DU_DRAW_QUADS); + for (int y = 0; y < h; ++y) + { + for (int x = 0; x < w; ++x) + { + const int lidx = x+y*w; + const int lh = (int)layer.heights[lidx]; + if (lh == 0xff) continue; + const unsigned char reg = layer.regs[lidx]; + + unsigned int col = duLerpCol(color, duIntToCol(reg, 255), 192); + + const float fx = bmin[0] + x*cs; + const float fy = bmin[1] + (lh+1)*ch; + const float fz = bmin[2] + y*cs; + + dd->vertex(fx, fy, fz, col); + dd->vertex(fx, fy, fz+cs, col); + dd->vertex(fx+cs, fy, fz+cs, col); + dd->vertex(fx+cs, fy, fz, col); + } + } + dd->end(); + + debugDrawTileCachePortals(dd, layer, cs, ch); +} + + + + +/*struct dtTileCacheContour +{ + int nverts; + unsigned char* verts; + unsigned char reg; + unsigned char area; +}; + +struct dtTileCacheContourSet +{ + int nconts; + dtTileCacheContour* conts; +};*/ + +void duDebugDrawTileCacheContours(duDebugDraw* dd, const struct dtTileCacheContourSet& lcset, + const float* orig, const float cs, const float ch) +{ + if (!dd) return; + + const unsigned char a = 255;// (unsigned char)(alpha*255.0f); + + const int offs[2*4] = {-1,0, 0,1, 1,0, 0,-1}; + + dd->begin(DU_DRAW_LINES, 2.0f); + + for (int i = 0; i < lcset.nconts; ++i) + { + const dtTileCacheContour& c = lcset.conts[i]; + unsigned int color = 0; + + color = duIntToCol(i, a); + + for (int j = 0; j < c.nverts; ++j) + { + const int k = (j+1) % c.nverts; + const unsigned char* va = &c.verts[j*4]; + const unsigned char* vb = &c.verts[k*4]; + const float ax = orig[0] + va[0]*cs; + const float ay = orig[1] + (va[1]+1+(i&1))*ch; + const float az = orig[2] + va[2]*cs; + const float bx = orig[0] + vb[0]*cs; + const float by = orig[1] + (vb[1]+1+(i&1))*ch; + const float bz = orig[2] + vb[2]*cs; + unsigned int col = color; + if ((va[3] & 0xf) != 0xf) + { + // Portal segment + col = duRGBA(255,255,255,128); + int d = va[3] & 0xf; + + const float cx = (ax+bx)*0.5f; + const float cy = (ay+by)*0.5f; + const float cz = (az+bz)*0.5f; + + const float dx = cx + offs[d*2+0]*2*cs; + const float dy = cy; + const float dz = cz + offs[d*2+1]*2*cs; + + dd->vertex(cx,cy,cz,duRGBA(255,0,0,255)); + dd->vertex(dx,dy,dz,duRGBA(255,0,0,255)); + } + + duAppendArrow(dd, ax,ay,az, bx,by,bz, 0.0f, cs*0.5f, col); + } + } + dd->end(); + + dd->begin(DU_DRAW_POINTS, 4.0f); + + for (int i = 0; i < lcset.nconts; ++i) + { + const dtTileCacheContour& c = lcset.conts[i]; + unsigned int color = 0; + + for (int j = 0; j < c.nverts; ++j) + { + const unsigned char* va = &c.verts[j*4]; + + color = duDarkenCol(duIntToCol(i, a)); + if (va[3] & 0x80) + { + // Border vertex + color = duRGBA(255,0,0,255); + } + + float fx = orig[0] + va[0]*cs; + float fy = orig[1] + (va[1]+1+(i&1))*ch; + float fz = orig[2] + va[2]*cs; + dd->vertex(fx,fy,fz, color); + } + } + dd->end(); +} + +void duDebugDrawTileCachePolyMesh(duDebugDraw* dd, const struct dtTileCachePolyMesh& lmesh, + const float* orig, const float cs, const float ch) +{ + if (!dd) return; + + const int nvp = lmesh.nvp; + + const int offs[2*4] = {-1,0, 0,1, 1,0, 0,-1}; + + dd->begin(DU_DRAW_TRIS); + + for (int i = 0; i < lmesh.npolys; ++i) + { + const unsigned short* p = &lmesh.polys[i*nvp*2]; + const unsigned char area = lmesh.areas[i]; + + unsigned int color; + if (area == DT_TILECACHE_WALKABLE_AREA) + color = duRGBA(0,192,255,64); + else if (area == DT_TILECACHE_NULL_AREA) + color = duRGBA(0,0,0,64); + else + color = dd->areaToCol(area); + + unsigned short vi[3]; + for (int j = 2; j < nvp; ++j) + { + if (p[j] == DT_TILECACHE_NULL_IDX) break; + vi[0] = p[0]; + vi[1] = p[j-1]; + vi[2] = p[j]; + for (int k = 0; k < 3; ++k) + { + const unsigned short* v = &lmesh.verts[vi[k]*3]; + const float x = orig[0] + v[0]*cs; + const float y = orig[1] + (v[1]+1)*ch; + const float z = orig[2] + v[2]*cs; + dd->vertex(x,y,z, color); + } + } + } + dd->end(); + + // Draw neighbours edges + const unsigned int coln = duRGBA(0,48,64,32); + dd->begin(DU_DRAW_LINES, 1.5f); + for (int i = 0; i < lmesh.npolys; ++i) + { + const unsigned short* p = &lmesh.polys[i*nvp*2]; + for (int j = 0; j < nvp; ++j) + { + if (p[j] == DT_TILECACHE_NULL_IDX) break; + if (p[nvp+j] & 0x8000) continue; + const int nj = (j+1 >= nvp || p[j+1] == DT_TILECACHE_NULL_IDX) ? 0 : j+1; + int vi[2] = {p[j], p[nj]}; + + for (int k = 0; k < 2; ++k) + { + const unsigned short* v = &lmesh.verts[vi[k]*3]; + const float x = orig[0] + v[0]*cs; + const float y = orig[1] + (v[1]+1)*ch + 0.1f; + const float z = orig[2] + v[2]*cs; + dd->vertex(x, y, z, coln); + } + } + } + dd->end(); + + // Draw boundary edges + const unsigned int colb = duRGBA(0,48,64,220); + dd->begin(DU_DRAW_LINES, 2.5f); + for (int i = 0; i < lmesh.npolys; ++i) + { + const unsigned short* p = &lmesh.polys[i*nvp*2]; + for (int j = 0; j < nvp; ++j) + { + if (p[j] == DT_TILECACHE_NULL_IDX) break; + if ((p[nvp+j] & 0x8000) == 0) continue; + const int nj = (j+1 >= nvp || p[j+1] == DT_TILECACHE_NULL_IDX) ? 0 : j+1; + int vi[2] = {p[j], p[nj]}; + + unsigned int col = colb; + if ((p[nvp+j] & 0xf) != 0xf) + { + const unsigned short* va = &lmesh.verts[vi[0]*3]; + const unsigned short* vb = &lmesh.verts[vi[1]*3]; + + const float ax = orig[0] + va[0]*cs; + const float ay = orig[1] + (va[1]+1+(i&1))*ch; + const float az = orig[2] + va[2]*cs; + const float bx = orig[0] + vb[0]*cs; + const float by = orig[1] + (vb[1]+1+(i&1))*ch; + const float bz = orig[2] + vb[2]*cs; + + const float cx = (ax+bx)*0.5f; + const float cy = (ay+by)*0.5f; + const float cz = (az+bz)*0.5f; + + int d = p[nvp+j] & 0xf; + + const float dx = cx + offs[d*2+0]*2*cs; + const float dy = cy; + const float dz = cz + offs[d*2+1]*2*cs; + + dd->vertex(cx,cy,cz,duRGBA(255,0,0,255)); + dd->vertex(dx,dy,dz,duRGBA(255,0,0,255)); + + col = duRGBA(255,255,255,128); + } + + for (int k = 0; k < 2; ++k) + { + const unsigned short* v = &lmesh.verts[vi[k]*3]; + const float x = orig[0] + v[0]*cs; + const float y = orig[1] + (v[1]+1)*ch + 0.1f; + const float z = orig[2] + v[2]*cs; + dd->vertex(x, y, z, col); + } + } + } + dd->end(); + + dd->begin(DU_DRAW_POINTS, 3.0f); + const unsigned int colv = duRGBA(0,0,0,220); + for (int i = 0; i < lmesh.nverts; ++i) + { + const unsigned short* v = &lmesh.verts[i*3]; + const float x = orig[0] + v[0]*cs; + const float y = orig[1] + (v[1]+1)*ch + 0.1f; + const float z = orig[2] + v[2]*cs; + dd->vertex(x,y,z, colv); + } + dd->end(); +} + + + diff --git a/extern/fetched/recastnavigation/DebugUtils/Source/RecastDebugDraw.cpp b/extern/fetched/recastnavigation/DebugUtils/Source/RecastDebugDraw.cpp new file mode 100644 index 000000000..c1a73a168 --- /dev/null +++ b/extern/fetched/recastnavigation/DebugUtils/Source/RecastDebugDraw.cpp @@ -0,0 +1,1064 @@ +// +// Copyright (c) 2009-2010 Mikko Mononen memon@inside.org +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. +// + +#define _USE_MATH_DEFINES +#include +#include "DebugDraw.h" +#include "RecastDebugDraw.h" +#include "Recast.h" + +void duDebugDrawTriMesh(duDebugDraw* dd, const float* verts, int /*nverts*/, + const int* tris, const float* normals, int ntris, + const unsigned char* flags, const float texScale) +{ + if (!dd) return; + if (!verts) return; + if (!tris) return; + if (!normals) return; + + float uva[2]; + float uvb[2]; + float uvc[2]; + + const unsigned int unwalkable = duRGBA(192,128,0,255); + + dd->texture(true); + + dd->begin(DU_DRAW_TRIS); + for (int i = 0; i < ntris*3; i += 3) + { + const float* norm = &normals[i]; + unsigned int color; + unsigned char a = (unsigned char)(220*(2+norm[0]+norm[1])/4); + if (flags && !flags[i/3]) + color = duLerpCol(duRGBA(a,a,a,255), unwalkable, 64); + else + color = duRGBA(a,a,a,255); + + const float* va = &verts[tris[i+0]*3]; + const float* vb = &verts[tris[i+1]*3]; + const float* vc = &verts[tris[i+2]*3]; + + int ax = 0, ay = 0; + if (rcAbs(norm[1]) > rcAbs(norm[ax])) + ax = 1; + if (rcAbs(norm[2]) > rcAbs(norm[ax])) + ax = 2; + ax = (1<vertex(va, color, uva); + dd->vertex(vb, color, uvb); + dd->vertex(vc, color, uvc); + } + dd->end(); + dd->texture(false); +} + +void duDebugDrawTriMeshSlope(duDebugDraw* dd, const float* verts, int /*nverts*/, + const int* tris, const float* normals, int ntris, + const float walkableSlopeAngle, const float texScale) +{ + if (!dd) return; + if (!verts) return; + if (!tris) return; + if (!normals) return; + + const float walkableThr = cosf(walkableSlopeAngle/180.0f*DU_PI); + + float uva[2]; + float uvb[2]; + float uvc[2]; + + dd->texture(true); + + const unsigned int unwalkable = duRGBA(192,128,0,255); + + dd->begin(DU_DRAW_TRIS); + for (int i = 0; i < ntris*3; i += 3) + { + const float* norm = &normals[i]; + unsigned int color; + unsigned char a = (unsigned char)(220*(2+norm[0]+norm[1])/4); + if (norm[1] < walkableThr) + color = duLerpCol(duRGBA(a,a,a,255), unwalkable, 64); + else + color = duRGBA(a,a,a,255); + + const float* va = &verts[tris[i+0]*3]; + const float* vb = &verts[tris[i+1]*3]; + const float* vc = &verts[tris[i+2]*3]; + + int ax = 0, ay = 0; + if (rcAbs(norm[1]) > rcAbs(norm[ax])) + ax = 1; + if (rcAbs(norm[2]) > rcAbs(norm[ax])) + ax = 2; + ax = (1<vertex(va, color, uva); + dd->vertex(vb, color, uvb); + dd->vertex(vc, color, uvc); + } + dd->end(); + + dd->texture(false); +} + +void duDebugDrawHeightfieldSolid(duDebugDraw* dd, const rcHeightfield& hf) +{ + if (!dd) return; + + const float* orig = hf.bmin; + const float cs = hf.cs; + const float ch = hf.ch; + + const int w = hf.width; + const int h = hf.height; + + unsigned int fcol[6]; + duCalcBoxColors(fcol, duRGBA(255,255,255,255), duRGBA(255,255,255,255)); + + dd->begin(DU_DRAW_QUADS); + + for (int y = 0; y < h; ++y) + { + for (int x = 0; x < w; ++x) + { + float fx = orig[0] + x*cs; + float fz = orig[2] + y*cs; + const rcSpan* s = hf.spans[x + y*w]; + while (s) + { + duAppendBox(dd, fx, orig[1]+s->smin*ch, fz, fx+cs, orig[1] + s->smax*ch, fz+cs, fcol); + s = s->next; + } + } + } + dd->end(); +} + +void duDebugDrawHeightfieldWalkable(duDebugDraw* dd, const rcHeightfield& hf) +{ + if (!dd) return; + + const float* orig = hf.bmin; + const float cs = hf.cs; + const float ch = hf.ch; + + const int w = hf.width; + const int h = hf.height; + + unsigned int fcol[6]; + duCalcBoxColors(fcol, duRGBA(255,255,255,255), duRGBA(217,217,217,255)); + + dd->begin(DU_DRAW_QUADS); + + for (int y = 0; y < h; ++y) + { + for (int x = 0; x < w; ++x) + { + float fx = orig[0] + x*cs; + float fz = orig[2] + y*cs; + const rcSpan* s = hf.spans[x + y*w]; + while (s) + { + if (s->area == RC_WALKABLE_AREA) + fcol[0] = duRGBA(64,128,160,255); + else if (s->area == RC_NULL_AREA) + fcol[0] = duRGBA(64,64,64,255); + else + fcol[0] = duMultCol(dd->areaToCol(s->area), 200); + + duAppendBox(dd, fx, orig[1]+s->smin*ch, fz, fx+cs, orig[1] + s->smax*ch, fz+cs, fcol); + s = s->next; + } + } + } + + dd->end(); +} + +void duDebugDrawCompactHeightfieldSolid(duDebugDraw* dd, const rcCompactHeightfield& chf) +{ + if (!dd) return; + + const float cs = chf.cs; + const float ch = chf.ch; + + dd->begin(DU_DRAW_QUADS); + + for (int y = 0; y < chf.height; ++y) + { + for (int x = 0; x < chf.width; ++x) + { + const float fx = chf.bmin[0] + x*cs; + const float fz = chf.bmin[2] + y*cs; + const rcCompactCell& c = chf.cells[x+y*chf.width]; + + for (unsigned i = c.index, ni = c.index+c.count; i < ni; ++i) + { + const rcCompactSpan& s = chf.spans[i]; + + const unsigned char area = chf.areas[i]; + unsigned int color; + if (area == RC_WALKABLE_AREA) + color = duRGBA(0,192,255,64); + else if (area == RC_NULL_AREA) + color = duRGBA(0,0,0,64); + else + color = dd->areaToCol(area); + + const float fy = chf.bmin[1] + (s.y+1)*ch; + dd->vertex(fx, fy, fz, color); + dd->vertex(fx, fy, fz+cs, color); + dd->vertex(fx+cs, fy, fz+cs, color); + dd->vertex(fx+cs, fy, fz, color); + } + } + } + dd->end(); +} + +void duDebugDrawCompactHeightfieldRegions(duDebugDraw* dd, const rcCompactHeightfield& chf) +{ + if (!dd) return; + + const float cs = chf.cs; + const float ch = chf.ch; + + dd->begin(DU_DRAW_QUADS); + + for (int y = 0; y < chf.height; ++y) + { + for (int x = 0; x < chf.width; ++x) + { + const float fx = chf.bmin[0] + x*cs; + const float fz = chf.bmin[2] + y*cs; + const rcCompactCell& c = chf.cells[x+y*chf.width]; + + for (unsigned i = c.index, ni = c.index+c.count; i < ni; ++i) + { + const rcCompactSpan& s = chf.spans[i]; + const float fy = chf.bmin[1] + (s.y)*ch; + unsigned int color; + if (s.reg) + color = duIntToCol(s.reg, 192); + else + color = duRGBA(0,0,0,64); + + dd->vertex(fx, fy, fz, color); + dd->vertex(fx, fy, fz+cs, color); + dd->vertex(fx+cs, fy, fz+cs, color); + dd->vertex(fx+cs, fy, fz, color); + } + } + } + + dd->end(); +} + + +void duDebugDrawCompactHeightfieldDistance(duDebugDraw* dd, const rcCompactHeightfield& chf) +{ + if (!dd) return; + if (!chf.dist) return; + + const float cs = chf.cs; + const float ch = chf.ch; + + float maxd = chf.maxDistance; + if (maxd < 1.0f) maxd = 1; + const float dscale = 255.0f / maxd; + + dd->begin(DU_DRAW_QUADS); + + for (int y = 0; y < chf.height; ++y) + { + for (int x = 0; x < chf.width; ++x) + { + const float fx = chf.bmin[0] + x*cs; + const float fz = chf.bmin[2] + y*cs; + const rcCompactCell& c = chf.cells[x+y*chf.width]; + + for (unsigned i = c.index, ni = c.index+c.count; i < ni; ++i) + { + const rcCompactSpan& s = chf.spans[i]; + const float fy = chf.bmin[1] + (s.y+1)*ch; + const unsigned char cd = (unsigned char)(chf.dist[i] * dscale); + const unsigned int color = duRGBA(cd,cd,cd,255); + dd->vertex(fx, fy, fz, color); + dd->vertex(fx, fy, fz+cs, color); + dd->vertex(fx+cs, fy, fz+cs, color); + dd->vertex(fx+cs, fy, fz, color); + } + } + } + dd->end(); +} + +static void drawLayerPortals(duDebugDraw* dd, const rcHeightfieldLayer* layer) +{ + const float cs = layer->cs; + const float ch = layer->ch; + const int w = layer->width; + const int h = layer->height; + + unsigned int pcol = duRGBA(255,255,255,255); + + const int segs[4*4] = {0,0,0,1, 0,1,1,1, 1,1,1,0, 1,0,0,0}; + + // Layer portals + dd->begin(DU_DRAW_LINES, 2.0f); + for (int y = 0; y < h; ++y) + { + for (int x = 0; x < w; ++x) + { + const int idx = x+y*w; + const int lh = (int)layer->heights[idx]; + if (lh == 255) continue; + + for (int dir = 0; dir < 4; ++dir) + { + if (layer->cons[idx] & (1<<(dir+4))) + { + const int* seg = &segs[dir*4]; + const float ax = layer->bmin[0] + (x+seg[0])*cs; + const float ay = layer->bmin[1] + (lh+2)*ch; + const float az = layer->bmin[2] + (y+seg[1])*cs; + const float bx = layer->bmin[0] + (x+seg[2])*cs; + const float by = layer->bmin[1] + (lh+2)*ch; + const float bz = layer->bmin[2] + (y+seg[3])*cs; + dd->vertex(ax, ay, az, pcol); + dd->vertex(bx, by, bz, pcol); + } + } + } + } + dd->end(); +} + +void duDebugDrawHeightfieldLayer(duDebugDraw* dd, const struct rcHeightfieldLayer& layer, const int idx) +{ + const float cs = layer.cs; + const float ch = layer.ch; + const int w = layer.width; + const int h = layer.height; + + unsigned int color = duIntToCol(idx+1, 255); + + // Layer bounds + float bmin[3], bmax[3]; + bmin[0] = layer.bmin[0] + layer.minx*cs; + bmin[1] = layer.bmin[1]; + bmin[2] = layer.bmin[2] + layer.miny*cs; + bmax[0] = layer.bmin[0] + (layer.maxx+1)*cs; + bmax[1] = layer.bmax[1]; + bmax[2] = layer.bmin[2] + (layer.maxy+1)*cs; + duDebugDrawBoxWire(dd, bmin[0],bmin[1],bmin[2], bmax[0],bmax[1],bmax[2], duTransCol(color,128), 2.0f); + + // Layer height + dd->begin(DU_DRAW_QUADS); + for (int y = 0; y < h; ++y) + { + for (int x = 0; x < w; ++x) + { + const int lidx = x+y*w; + const int lh = (int)layer.heights[lidx]; + if (h == 0xff) continue; + const unsigned char area = layer.areas[lidx]; + + unsigned int col; + if (area == RC_WALKABLE_AREA) + col = duLerpCol(color, duRGBA(0,192,255,64), 32); + else if (area == RC_NULL_AREA) + col = duLerpCol(color, duRGBA(0,0,0,64), 32); + else + col = duLerpCol(color, dd->areaToCol(area), 32); + + const float fx = layer.bmin[0] + x*cs; + const float fy = layer.bmin[1] + (lh+1)*ch; + const float fz = layer.bmin[2] + y*cs; + + dd->vertex(fx, fy, fz, col); + dd->vertex(fx, fy, fz+cs, col); + dd->vertex(fx+cs, fy, fz+cs, col); + dd->vertex(fx+cs, fy, fz, col); + } + } + dd->end(); + + // Portals + drawLayerPortals(dd, &layer); +} + +void duDebugDrawHeightfieldLayers(duDebugDraw* dd, const struct rcHeightfieldLayerSet& lset) +{ + if (!dd) return; + for (int i = 0; i < lset.nlayers; ++i) + duDebugDrawHeightfieldLayer(dd, lset.layers[i], i); +} + +/* +void duDebugDrawLayerContours(duDebugDraw* dd, const struct rcLayerContourSet& lcset) +{ + if (!dd) return; + + const float* orig = lcset.bmin; + const float cs = lcset.cs; + const float ch = lcset.ch; + + const unsigned char a = 255;// (unsigned char)(alpha*255.0f); + + const int offs[2*4] = {-1,0, 0,1, 1,0, 0,-1}; + + dd->begin(DU_DRAW_LINES, 2.0f); + + for (int i = 0; i < lcset.nconts; ++i) + { + const rcLayerContour& c = lcset.conts[i]; + unsigned int color = 0; + + color = duIntToCol(i, a); + + for (int j = 0; j < c.nverts; ++j) + { + const int k = (j+1) % c.nverts; + const unsigned char* va = &c.verts[j*4]; + const unsigned char* vb = &c.verts[k*4]; + const float ax = orig[0] + va[0]*cs; + const float ay = orig[1] + (va[1]+1+(i&1))*ch; + const float az = orig[2] + va[2]*cs; + const float bx = orig[0] + vb[0]*cs; + const float by = orig[1] + (vb[1]+1+(i&1))*ch; + const float bz = orig[2] + vb[2]*cs; + unsigned int col = color; + if ((va[3] & 0xf) != 0xf) + { + col = duRGBA(255,255,255,128); + int d = va[3] & 0xf; + + const float cx = (ax+bx)*0.5f; + const float cy = (ay+by)*0.5f; + const float cz = (az+bz)*0.5f; + + const float dx = cx + offs[d*2+0]*2*cs; + const float dy = cy; + const float dz = cz + offs[d*2+1]*2*cs; + + dd->vertex(cx,cy,cz,duRGBA(255,0,0,255)); + dd->vertex(dx,dy,dz,duRGBA(255,0,0,255)); + } + + duAppendArrow(dd, ax,ay,az, bx,by,bz, 0.0f, cs*0.5f, col); + } + } + dd->end(); + + dd->begin(DU_DRAW_POINTS, 4.0f); + + for (int i = 0; i < lcset.nconts; ++i) + { + const rcLayerContour& c = lcset.conts[i]; + unsigned int color = 0; + + for (int j = 0; j < c.nverts; ++j) + { + const unsigned char* va = &c.verts[j*4]; + + color = duDarkenCol(duIntToCol(i, a)); + if (va[3] & 0x80) + color = duRGBA(255,0,0,255); + + float fx = orig[0] + va[0]*cs; + float fy = orig[1] + (va[1]+1+(i&1))*ch; + float fz = orig[2] + va[2]*cs; + dd->vertex(fx,fy,fz, color); + } + } + dd->end(); +} + +void duDebugDrawLayerPolyMesh(duDebugDraw* dd, const struct rcLayerPolyMesh& lmesh) +{ + if (!dd) return; + + const int nvp = lmesh.nvp; + const float cs = lmesh.cs; + const float ch = lmesh.ch; + const float* orig = lmesh.bmin; + + const int offs[2*4] = {-1,0, 0,1, 1,0, 0,-1}; + + dd->begin(DU_DRAW_TRIS); + + for (int i = 0; i < lmesh.npolys; ++i) + { + const unsigned short* p = &lmesh.polys[i*nvp*2]; + + unsigned int color; + if (lmesh.areas[i] == RC_WALKABLE_AREA) + color = duRGBA(0,192,255,64); + else if (lmesh.areas[i] == RC_NULL_AREA) + color = duRGBA(0,0,0,64); + else + color = duIntToCol(lmesh.areas[i], 255); + + unsigned short vi[3]; + for (int j = 2; j < nvp; ++j) + { + if (p[j] == RC_MESH_NULL_IDX) break; + vi[0] = p[0]; + vi[1] = p[j-1]; + vi[2] = p[j]; + for (int k = 0; k < 3; ++k) + { + const unsigned short* v = &lmesh.verts[vi[k]*3]; + const float x = orig[0] + v[0]*cs; + const float y = orig[1] + (v[1]+1)*ch; + const float z = orig[2] + v[2]*cs; + dd->vertex(x,y,z, color); + } + } + } + dd->end(); + + // Draw neighbours edges + const unsigned int coln = duRGBA(0,48,64,32); + dd->begin(DU_DRAW_LINES, 1.5f); + for (int i = 0; i < lmesh.npolys; ++i) + { + const unsigned short* p = &lmesh.polys[i*nvp*2]; + for (int j = 0; j < nvp; ++j) + { + if (p[j] == RC_MESH_NULL_IDX) break; + if (p[nvp+j] & 0x8000) continue; + const int nj = (j+1 >= nvp || p[j+1] == RC_MESH_NULL_IDX) ? 0 : j+1; + int vi[2] = {p[j], p[nj]}; + + for (int k = 0; k < 2; ++k) + { + const unsigned short* v = &lmesh.verts[vi[k]*3]; + const float x = orig[0] + v[0]*cs; + const float y = orig[1] + (v[1]+1)*ch + 0.1f; + const float z = orig[2] + v[2]*cs; + dd->vertex(x, y, z, coln); + } + } + } + dd->end(); + + // Draw boundary edges + const unsigned int colb = duRGBA(0,48,64,220); + dd->begin(DU_DRAW_LINES, 2.5f); + for (int i = 0; i < lmesh.npolys; ++i) + { + const unsigned short* p = &lmesh.polys[i*nvp*2]; + for (int j = 0; j < nvp; ++j) + { + if (p[j] == RC_MESH_NULL_IDX) break; + if ((p[nvp+j] & 0x8000) == 0) continue; + const int nj = (j+1 >= nvp || p[j+1] == RC_MESH_NULL_IDX) ? 0 : j+1; + int vi[2] = {p[j], p[nj]}; + + unsigned int col = colb; + if ((p[nvp+j] & 0xf) != 0xf) + { + const unsigned short* va = &lmesh.verts[vi[0]*3]; + const unsigned short* vb = &lmesh.verts[vi[1]*3]; + + const float ax = orig[0] + va[0]*cs; + const float ay = orig[1] + (va[1]+1+(i&1))*ch; + const float az = orig[2] + va[2]*cs; + const float bx = orig[0] + vb[0]*cs; + const float by = orig[1] + (vb[1]+1+(i&1))*ch; + const float bz = orig[2] + vb[2]*cs; + + const float cx = (ax+bx)*0.5f; + const float cy = (ay+by)*0.5f; + const float cz = (az+bz)*0.5f; + + int d = p[nvp+j] & 0xf; + + const float dx = cx + offs[d*2+0]*2*cs; + const float dy = cy; + const float dz = cz + offs[d*2+1]*2*cs; + + dd->vertex(cx,cy,cz,duRGBA(255,0,0,255)); + dd->vertex(dx,dy,dz,duRGBA(255,0,0,255)); + + col = duRGBA(255,255,255,128); + } + + for (int k = 0; k < 2; ++k) + { + const unsigned short* v = &lmesh.verts[vi[k]*3]; + const float x = orig[0] + v[0]*cs; + const float y = orig[1] + (v[1]+1)*ch + 0.1f; + const float z = orig[2] + v[2]*cs; + dd->vertex(x, y, z, col); + } + } + } + dd->end(); + + dd->begin(DU_DRAW_POINTS, 3.0f); + const unsigned int colv = duRGBA(0,0,0,220); + for (int i = 0; i < lmesh.nverts; ++i) + { + const unsigned short* v = &lmesh.verts[i*3]; + const float x = orig[0] + v[0]*cs; + const float y = orig[1] + (v[1]+1)*ch + 0.1f; + const float z = orig[2] + v[2]*cs; + dd->vertex(x,y,z, colv); + } + dd->end(); +} +*/ + +static void getContourCenter(const rcContour* cont, const float* orig, float cs, float ch, float* center) +{ + center[0] = 0; + center[1] = 0; + center[2] = 0; + if (!cont->nverts) + return; + for (int i = 0; i < cont->nverts; ++i) + { + const int* v = &cont->verts[i*4]; + center[0] += (float)v[0]; + center[1] += (float)v[1]; + center[2] += (float)v[2]; + } + const float s = 1.0f / cont->nverts; + center[0] *= s * cs; + center[1] *= s * ch; + center[2] *= s * cs; + center[0] += orig[0]; + center[1] += orig[1] + 4*ch; + center[2] += orig[2]; +} + +static const rcContour* findContourFromSet(const rcContourSet& cset, unsigned short reg) +{ + for (int i = 0; i < cset.nconts; ++i) + { + if (cset.conts[i].reg == reg) + return &cset.conts[i]; + } + return 0; +} + +void duDebugDrawRegionConnections(duDebugDraw* dd, const rcContourSet& cset, const float alpha) +{ + if (!dd) return; + + const float* orig = cset.bmin; + const float cs = cset.cs; + const float ch = cset.ch; + + // Draw centers + float pos[3], pos2[3]; + + unsigned int color = duRGBA(0,0,0,196); + + dd->begin(DU_DRAW_LINES, 2.0f); + + for (int i = 0; i < cset.nconts; ++i) + { + const rcContour* cont = &cset.conts[i]; + getContourCenter(cont, orig, cs, ch, pos); + for (int j = 0; j < cont->nverts; ++j) + { + const int* v = &cont->verts[j*4]; + if (v[3] == 0 || (unsigned short)v[3] < cont->reg) continue; + const rcContour* cont2 = findContourFromSet(cset, (unsigned short)v[3]); + if (cont2) + { + getContourCenter(cont2, orig, cs, ch, pos2); + duAppendArc(dd, pos[0],pos[1],pos[2], pos2[0],pos2[1],pos2[2], 0.25f, 0.6f, 0.6f, color); + } + } + } + + dd->end(); + + unsigned char a = (unsigned char)(alpha * 255.0f); + + dd->begin(DU_DRAW_POINTS, 7.0f); + + for (int i = 0; i < cset.nconts; ++i) + { + const rcContour* cont = &cset.conts[i]; + unsigned int col = duDarkenCol(duIntToCol(cont->reg,a)); + getContourCenter(cont, orig, cs, ch, pos); + dd->vertex(pos, col); + } + dd->end(); +} + +void duDebugDrawRawContours(duDebugDraw* dd, const rcContourSet& cset, const float alpha) +{ + if (!dd) return; + + const float* orig = cset.bmin; + const float cs = cset.cs; + const float ch = cset.ch; + + const unsigned char a = (unsigned char)(alpha*255.0f); + + dd->begin(DU_DRAW_LINES, 2.0f); + + for (int i = 0; i < cset.nconts; ++i) + { + const rcContour& c = cset.conts[i]; + unsigned int color = duIntToCol(c.reg, a); + + for (int j = 0; j < c.nrverts; ++j) + { + const int* v = &c.rverts[j*4]; + float fx = orig[0] + v[0]*cs; + float fy = orig[1] + (v[1]+1+(i&1))*ch; + float fz = orig[2] + v[2]*cs; + dd->vertex(fx,fy,fz,color); + if (j > 0) + dd->vertex(fx,fy,fz,color); + } + // Loop last segment. + const int* v = &c.rverts[0]; + float fx = orig[0] + v[0]*cs; + float fy = orig[1] + (v[1]+1+(i&1))*ch; + float fz = orig[2] + v[2]*cs; + dd->vertex(fx,fy,fz,color); + } + dd->end(); + + dd->begin(DU_DRAW_POINTS, 2.0f); + + for (int i = 0; i < cset.nconts; ++i) + { + const rcContour& c = cset.conts[i]; + unsigned int color = duDarkenCol(duIntToCol(c.reg, a)); + + for (int j = 0; j < c.nrverts; ++j) + { + const int* v = &c.rverts[j*4]; + float off = 0; + unsigned int colv = color; + if (v[3] & RC_BORDER_VERTEX) + { + colv = duRGBA(255,255,255,a); + off = ch*2; + } + + float fx = orig[0] + v[0]*cs; + float fy = orig[1] + (v[1]+1+(i&1))*ch + off; + float fz = orig[2] + v[2]*cs; + dd->vertex(fx,fy,fz, colv); + } + } + dd->end(); +} + +void duDebugDrawContours(duDebugDraw* dd, const rcContourSet& cset, const float alpha) +{ + if (!dd) return; + + const float* orig = cset.bmin; + const float cs = cset.cs; + const float ch = cset.ch; + + const unsigned char a = (unsigned char)(alpha*255.0f); + + dd->begin(DU_DRAW_LINES, 2.5f); + + for (int i = 0; i < cset.nconts; ++i) + { + const rcContour& c = cset.conts[i]; + if (!c.nverts) + continue; + const unsigned int color = duIntToCol(c.reg, a); + const unsigned int bcolor = duLerpCol(color,duRGBA(255,255,255,a),128); + for (int j = 0, k = c.nverts-1; j < c.nverts; k=j++) + { + const int* va = &c.verts[k*4]; + const int* vb = &c.verts[j*4]; + unsigned int col = (va[3] & RC_AREA_BORDER) ? bcolor : color; + float fx,fy,fz; + fx = orig[0] + va[0]*cs; + fy = orig[1] + (va[1]+1+(i&1))*ch; + fz = orig[2] + va[2]*cs; + dd->vertex(fx,fy,fz, col); + fx = orig[0] + vb[0]*cs; + fy = orig[1] + (vb[1]+1+(i&1))*ch; + fz = orig[2] + vb[2]*cs; + dd->vertex(fx,fy,fz, col); + } + } + dd->end(); + + dd->begin(DU_DRAW_POINTS, 3.0f); + + for (int i = 0; i < cset.nconts; ++i) + { + const rcContour& c = cset.conts[i]; + unsigned int color = duDarkenCol(duIntToCol(c.reg, a)); + for (int j = 0; j < c.nverts; ++j) + { + const int* v = &c.verts[j*4]; + float off = 0; + unsigned int colv = color; + if (v[3] & RC_BORDER_VERTEX) + { + colv = duRGBA(255,255,255,a); + off = ch*2; + } + + float fx = orig[0] + v[0]*cs; + float fy = orig[1] + (v[1]+1+(i&1))*ch + off; + float fz = orig[2] + v[2]*cs; + dd->vertex(fx,fy,fz, colv); + } + } + dd->end(); +} + +void duDebugDrawPolyMesh(duDebugDraw* dd, const struct rcPolyMesh& mesh) +{ + if (!dd) return; + + const int nvp = mesh.nvp; + const float cs = mesh.cs; + const float ch = mesh.ch; + const float* orig = mesh.bmin; + + dd->begin(DU_DRAW_TRIS); + + for (int i = 0; i < mesh.npolys; ++i) + { + const unsigned short* p = &mesh.polys[i*nvp*2]; + const unsigned char area = mesh.areas[i]; + + unsigned int color; + if (area == RC_WALKABLE_AREA) + color = duRGBA(0,192,255,64); + else if (area == RC_NULL_AREA) + color = duRGBA(0,0,0,64); + else + color = dd->areaToCol(area); + + unsigned short vi[3]; + for (int j = 2; j < nvp; ++j) + { + if (p[j] == RC_MESH_NULL_IDX) break; + vi[0] = p[0]; + vi[1] = p[j-1]; + vi[2] = p[j]; + for (int k = 0; k < 3; ++k) + { + const unsigned short* v = &mesh.verts[vi[k]*3]; + const float x = orig[0] + v[0]*cs; + const float y = orig[1] + (v[1]+1)*ch; + const float z = orig[2] + v[2]*cs; + dd->vertex(x,y,z, color); + } + } + } + dd->end(); + + // Draw neighbours edges + const unsigned int coln = duRGBA(0,48,64,32); + dd->begin(DU_DRAW_LINES, 1.5f); + for (int i = 0; i < mesh.npolys; ++i) + { + const unsigned short* p = &mesh.polys[i*nvp*2]; + for (int j = 0; j < nvp; ++j) + { + if (p[j] == RC_MESH_NULL_IDX) break; + if (p[nvp+j] & 0x8000) continue; + const int nj = (j+1 >= nvp || p[j+1] == RC_MESH_NULL_IDX) ? 0 : j+1; + const int vi[2] = {p[j], p[nj]}; + + for (int k = 0; k < 2; ++k) + { + const unsigned short* v = &mesh.verts[vi[k]*3]; + const float x = orig[0] + v[0]*cs; + const float y = orig[1] + (v[1]+1)*ch + 0.1f; + const float z = orig[2] + v[2]*cs; + dd->vertex(x, y, z, coln); + } + } + } + dd->end(); + + // Draw boundary edges + const unsigned int colb = duRGBA(0,48,64,220); + dd->begin(DU_DRAW_LINES, 2.5f); + for (int i = 0; i < mesh.npolys; ++i) + { + const unsigned short* p = &mesh.polys[i*nvp*2]; + for (int j = 0; j < nvp; ++j) + { + if (p[j] == RC_MESH_NULL_IDX) break; + if ((p[nvp+j] & 0x8000) == 0) continue; + const int nj = (j+1 >= nvp || p[j+1] == RC_MESH_NULL_IDX) ? 0 : j+1; + const int vi[2] = {p[j], p[nj]}; + + unsigned int col = colb; + if ((p[nvp+j] & 0xf) != 0xf) + col = duRGBA(255,255,255,128); + for (int k = 0; k < 2; ++k) + { + const unsigned short* v = &mesh.verts[vi[k]*3]; + const float x = orig[0] + v[0]*cs; + const float y = orig[1] + (v[1]+1)*ch + 0.1f; + const float z = orig[2] + v[2]*cs; + dd->vertex(x, y, z, col); + } + } + } + dd->end(); + + dd->begin(DU_DRAW_POINTS, 3.0f); + const unsigned int colv = duRGBA(0,0,0,220); + for (int i = 0; i < mesh.nverts; ++i) + { + const unsigned short* v = &mesh.verts[i*3]; + const float x = orig[0] + v[0]*cs; + const float y = orig[1] + (v[1]+1)*ch + 0.1f; + const float z = orig[2] + v[2]*cs; + dd->vertex(x,y,z, colv); + } + dd->end(); +} + +void duDebugDrawPolyMeshDetail(duDebugDraw* dd, const struct rcPolyMeshDetail& dmesh) +{ + if (!dd) return; + + dd->begin(DU_DRAW_TRIS); + + for (int i = 0; i < dmesh.nmeshes; ++i) + { + const unsigned int* m = &dmesh.meshes[i*4]; + const unsigned int bverts = m[0]; + const unsigned int btris = m[2]; + const int ntris = (int)m[3]; + const float* verts = &dmesh.verts[bverts*3]; + const unsigned char* tris = &dmesh.tris[btris*4]; + + unsigned int color = duIntToCol(i, 192); + + for (int j = 0; j < ntris; ++j) + { + dd->vertex(&verts[tris[j*4+0]*3], color); + dd->vertex(&verts[tris[j*4+1]*3], color); + dd->vertex(&verts[tris[j*4+2]*3], color); + } + } + dd->end(); + + // Internal edges. + dd->begin(DU_DRAW_LINES, 1.0f); + const unsigned int coli = duRGBA(0,0,0,64); + for (int i = 0; i < dmesh.nmeshes; ++i) + { + const unsigned int* m = &dmesh.meshes[i*4]; + const unsigned int bverts = m[0]; + const unsigned int btris = m[2]; + const int ntris = (int)m[3]; + const float* verts = &dmesh.verts[bverts*3]; + const unsigned char* tris = &dmesh.tris[btris*4]; + + for (int j = 0; j < ntris; ++j) + { + const unsigned char* t = &tris[j*4]; + for (int k = 0, kp = 2; k < 3; kp=k++) + { + unsigned char ef = (t[3] >> (kp*2)) & 0x3; + if (ef == 0) + { + // Internal edge + if (t[kp] < t[k]) + { + dd->vertex(&verts[t[kp]*3], coli); + dd->vertex(&verts[t[k]*3], coli); + } + } + } + } + } + dd->end(); + + // External edges. + dd->begin(DU_DRAW_LINES, 2.0f); + const unsigned int cole = duRGBA(0,0,0,64); + for (int i = 0; i < dmesh.nmeshes; ++i) + { + const unsigned int* m = &dmesh.meshes[i*4]; + const unsigned int bverts = m[0]; + const unsigned int btris = m[2]; + const int ntris = (int)m[3]; + const float* verts = &dmesh.verts[bverts*3]; + const unsigned char* tris = &dmesh.tris[btris*4]; + + for (int j = 0; j < ntris; ++j) + { + const unsigned char* t = &tris[j*4]; + for (int k = 0, kp = 2; k < 3; kp=k++) + { + unsigned char ef = (t[3] >> (kp*2)) & 0x3; + if (ef != 0) + { + // Ext edge + dd->vertex(&verts[t[kp]*3], cole); + dd->vertex(&verts[t[k]*3], cole); + } + } + } + } + dd->end(); + + dd->begin(DU_DRAW_POINTS, 3.0f); + const unsigned int colv = duRGBA(0,0,0,64); + for (int i = 0; i < dmesh.nmeshes; ++i) + { + const unsigned int* m = &dmesh.meshes[i*4]; + const unsigned int bverts = m[0]; + const int nverts = (int)m[1]; + const float* verts = &dmesh.verts[bverts*3]; + for (int j = 0; j < nverts; ++j) + dd->vertex(&verts[j*3], colv); + } + dd->end(); +} diff --git a/extern/fetched/recastnavigation/DebugUtils/Source/RecastDump.cpp b/extern/fetched/recastnavigation/DebugUtils/Source/RecastDump.cpp new file mode 100644 index 000000000..209382515 --- /dev/null +++ b/extern/fetched/recastnavigation/DebugUtils/Source/RecastDump.cpp @@ -0,0 +1,451 @@ +// +// Copyright (c) 2009-2010 Mikko Mononen memon@inside.org +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. +// + +#define _USE_MATH_DEFINES +#include +#include +#include +#include +#include "Recast.h" +#include "RecastAlloc.h" +#include "RecastDump.h" + + +duFileIO::~duFileIO() +{ + // Empty +} + +static void ioprintf(duFileIO* io, const char* format, ...) +{ + char line[256]; + va_list ap; + va_start(ap, format); + const int n = vsnprintf(line, sizeof(line), format, ap); + va_end(ap); + if (n > 0) + io->write(line, sizeof(char)*n); +} + +bool duDumpPolyMeshToObj(rcPolyMesh& pmesh, duFileIO* io) +{ + if (!io) + { + printf("duDumpPolyMeshToObj: input IO is null.\n"); + return false; + } + if (!io->isWriting()) + { + printf("duDumpPolyMeshToObj: input IO not writing.\n"); + return false; + } + + const int nvp = pmesh.nvp; + const float cs = pmesh.cs; + const float ch = pmesh.ch; + const float* orig = pmesh.bmin; + + ioprintf(io, "# Recast Navmesh\n"); + ioprintf(io, "o NavMesh\n"); + + ioprintf(io, "\n"); + + for (int i = 0; i < pmesh.nverts; ++i) + { + const unsigned short* v = &pmesh.verts[i*3]; + const float x = orig[0] + v[0]*cs; + const float y = orig[1] + (v[1]+1)*ch + 0.1f; + const float z = orig[2] + v[2]*cs; + ioprintf(io, "v %f %f %f\n", x,y,z); + } + + ioprintf(io, "\n"); + + for (int i = 0; i < pmesh.npolys; ++i) + { + const unsigned short* p = &pmesh.polys[i*nvp*2]; + for (int j = 2; j < nvp; ++j) + { + if (p[j] == RC_MESH_NULL_IDX) break; + ioprintf(io, "f %d %d %d\n", p[0]+1, p[j-1]+1, p[j]+1); + } + } + + return true; +} + +bool duDumpPolyMeshDetailToObj(rcPolyMeshDetail& dmesh, duFileIO* io) +{ + if (!io) + { + printf("duDumpPolyMeshDetailToObj: input IO is null.\n"); + return false; + } + if (!io->isWriting()) + { + printf("duDumpPolyMeshDetailToObj: input IO not writing.\n"); + return false; + } + + ioprintf(io, "# Recast Navmesh\n"); + ioprintf(io, "o NavMesh\n"); + + ioprintf(io, "\n"); + + for (int i = 0; i < dmesh.nverts; ++i) + { + const float* v = &dmesh.verts[i*3]; + ioprintf(io, "v %f %f %f\n", v[0],v[1],v[2]); + } + + ioprintf(io, "\n"); + + for (int i = 0; i < dmesh.nmeshes; ++i) + { + const unsigned int* m = &dmesh.meshes[i*4]; + const unsigned int bverts = m[0]; + const unsigned int btris = m[2]; + const unsigned int ntris = m[3]; + const unsigned char* tris = &dmesh.tris[btris*4]; + for (unsigned int j = 0; j < ntris; ++j) + { + ioprintf(io, "f %d %d %d\n", + (int)(bverts+tris[j*4+0])+1, + (int)(bverts+tris[j*4+1])+1, + (int)(bverts+tris[j*4+2])+1); + } + } + + return true; +} + +static const int CSET_MAGIC = ('c' << 24) | ('s' << 16) | ('e' << 8) | 't'; +static const int CSET_VERSION = 2; + +bool duDumpContourSet(struct rcContourSet& cset, duFileIO* io) +{ + if (!io) + { + printf("duDumpContourSet: input IO is null.\n"); + return false; + } + if (!io->isWriting()) + { + printf("duDumpContourSet: input IO not writing.\n"); + return false; + } + + io->write(&CSET_MAGIC, sizeof(CSET_MAGIC)); + io->write(&CSET_VERSION, sizeof(CSET_VERSION)); + + io->write(&cset.nconts, sizeof(cset.nconts)); + + io->write(cset.bmin, sizeof(cset.bmin)); + io->write(cset.bmax, sizeof(cset.bmax)); + + io->write(&cset.cs, sizeof(cset.cs)); + io->write(&cset.ch, sizeof(cset.ch)); + + io->write(&cset.width, sizeof(cset.width)); + io->write(&cset.height, sizeof(cset.height)); + io->write(&cset.borderSize, sizeof(cset.borderSize)); + + for (int i = 0; i < cset.nconts; ++i) + { + const rcContour& cont = cset.conts[i]; + io->write(&cont.nverts, sizeof(cont.nverts)); + io->write(&cont.nrverts, sizeof(cont.nrverts)); + io->write(&cont.reg, sizeof(cont.reg)); + io->write(&cont.area, sizeof(cont.area)); + io->write(cont.verts, sizeof(int)*4*cont.nverts); + io->write(cont.rverts, sizeof(int)*4*cont.nrverts); + } + + return true; +} + +bool duReadContourSet(struct rcContourSet& cset, duFileIO* io) +{ + if (!io) + { + printf("duReadContourSet: input IO is null.\n"); + return false; + } + if (!io->isReading()) + { + printf("duReadContourSet: input IO not reading.\n"); + return false; + } + + int magic = 0; + int version = 0; + + io->read(&magic, sizeof(magic)); + io->read(&version, sizeof(version)); + + if (magic != CSET_MAGIC) + { + printf("duReadContourSet: Bad voodoo.\n"); + return false; + } + if (version != CSET_VERSION) + { + printf("duReadContourSet: Bad version.\n"); + return false; + } + + io->read(&cset.nconts, sizeof(cset.nconts)); + + cset.conts = (rcContour*)rcAlloc(sizeof(rcContour)*cset.nconts, RC_ALLOC_PERM); + if (!cset.conts) + { + printf("duReadContourSet: Could not alloc contours (%d)\n", cset.nconts); + return false; + } + memset(cset.conts, 0, sizeof(rcContour)*cset.nconts); + + io->read(cset.bmin, sizeof(cset.bmin)); + io->read(cset.bmax, sizeof(cset.bmax)); + + io->read(&cset.cs, sizeof(cset.cs)); + io->read(&cset.ch, sizeof(cset.ch)); + + io->read(&cset.width, sizeof(cset.width)); + io->read(&cset.height, sizeof(cset.height)); + io->read(&cset.borderSize, sizeof(cset.borderSize)); + + for (int i = 0; i < cset.nconts; ++i) + { + rcContour& cont = cset.conts[i]; + io->read(&cont.nverts, sizeof(cont.nverts)); + io->read(&cont.nrverts, sizeof(cont.nrverts)); + io->read(&cont.reg, sizeof(cont.reg)); + io->read(&cont.area, sizeof(cont.area)); + + cont.verts = (int*)rcAlloc(sizeof(int)*4*cont.nverts, RC_ALLOC_PERM); + if (!cont.verts) + { + printf("duReadContourSet: Could not alloc contour verts (%d)\n", cont.nverts); + return false; + } + cont.rverts = (int*)rcAlloc(sizeof(int)*4*cont.nrverts, RC_ALLOC_PERM); + if (!cont.rverts) + { + printf("duReadContourSet: Could not alloc contour rverts (%d)\n", cont.nrverts); + return false; + } + + io->read(cont.verts, sizeof(int)*4*cont.nverts); + io->read(cont.rverts, sizeof(int)*4*cont.nrverts); + } + + return true; +} + + +static const int CHF_MAGIC = ('r' << 24) | ('c' << 16) | ('h' << 8) | 'f'; +static const int CHF_VERSION = 3; + +bool duDumpCompactHeightfield(struct rcCompactHeightfield& chf, duFileIO* io) +{ + if (!io) + { + printf("duDumpCompactHeightfield: input IO is null.\n"); + return false; + } + if (!io->isWriting()) + { + printf("duDumpCompactHeightfield: input IO not writing.\n"); + return false; + } + + io->write(&CHF_MAGIC, sizeof(CHF_MAGIC)); + io->write(&CHF_VERSION, sizeof(CHF_VERSION)); + + io->write(&chf.width, sizeof(chf.width)); + io->write(&chf.height, sizeof(chf.height)); + io->write(&chf.spanCount, sizeof(chf.spanCount)); + + io->write(&chf.walkableHeight, sizeof(chf.walkableHeight)); + io->write(&chf.walkableClimb, sizeof(chf.walkableClimb)); + io->write(&chf.borderSize, sizeof(chf.borderSize)); + + io->write(&chf.maxDistance, sizeof(chf.maxDistance)); + io->write(&chf.maxRegions, sizeof(chf.maxRegions)); + + io->write(chf.bmin, sizeof(chf.bmin)); + io->write(chf.bmax, sizeof(chf.bmax)); + + io->write(&chf.cs, sizeof(chf.cs)); + io->write(&chf.ch, sizeof(chf.ch)); + + int tmp = 0; + if (chf.cells) tmp |= 1; + if (chf.spans) tmp |= 2; + if (chf.dist) tmp |= 4; + if (chf.areas) tmp |= 8; + + io->write(&tmp, sizeof(tmp)); + + if (chf.cells) + io->write(chf.cells, sizeof(rcCompactCell)*chf.width*chf.height); + if (chf.spans) + io->write(chf.spans, sizeof(rcCompactSpan)*chf.spanCount); + if (chf.dist) + io->write(chf.dist, sizeof(unsigned short)*chf.spanCount); + if (chf.areas) + io->write(chf.areas, sizeof(unsigned char)*chf.spanCount); + + return true; +} + +bool duReadCompactHeightfield(struct rcCompactHeightfield& chf, duFileIO* io) +{ + if (!io) + { + printf("duReadCompactHeightfield: input IO is null.\n"); + return false; + } + if (!io->isReading()) + { + printf("duReadCompactHeightfield: input IO not reading.\n"); + return false; + } + + int magic = 0; + int version = 0; + + io->read(&magic, sizeof(magic)); + io->read(&version, sizeof(version)); + + if (magic != CHF_MAGIC) + { + printf("duReadCompactHeightfield: Bad voodoo.\n"); + return false; + } + if (version != CHF_VERSION) + { + printf("duReadCompactHeightfield: Bad version.\n"); + return false; + } + + io->read(&chf.width, sizeof(chf.width)); + io->read(&chf.height, sizeof(chf.height)); + io->read(&chf.spanCount, sizeof(chf.spanCount)); + + io->read(&chf.walkableHeight, sizeof(chf.walkableHeight)); + io->read(&chf.walkableClimb, sizeof(chf.walkableClimb)); + io->read(&chf.borderSize, sizeof(chf.borderSize)); + + io->read(&chf.maxDistance, sizeof(chf.maxDistance)); + io->read(&chf.maxRegions, sizeof(chf.maxRegions)); + + io->read(chf.bmin, sizeof(chf.bmin)); + io->read(chf.bmax, sizeof(chf.bmax)); + + io->read(&chf.cs, sizeof(chf.cs)); + io->read(&chf.ch, sizeof(chf.ch)); + + int tmp = 0; + io->read(&tmp, sizeof(tmp)); + + if (tmp & 1) + { + chf.cells = (rcCompactCell*)rcAlloc(sizeof(rcCompactCell)*chf.width*chf.height, RC_ALLOC_PERM); + if (!chf.cells) + { + printf("duReadCompactHeightfield: Could not alloc cells (%d)\n", chf.width*chf.height); + return false; + } + io->read(chf.cells, sizeof(rcCompactCell)*chf.width*chf.height); + } + if (tmp & 2) + { + chf.spans = (rcCompactSpan*)rcAlloc(sizeof(rcCompactSpan)*chf.spanCount, RC_ALLOC_PERM); + if (!chf.spans) + { + printf("duReadCompactHeightfield: Could not alloc spans (%d)\n", chf.spanCount); + return false; + } + io->read(chf.spans, sizeof(rcCompactSpan)*chf.spanCount); + } + if (tmp & 4) + { + chf.dist = (unsigned short*)rcAlloc(sizeof(unsigned short)*chf.spanCount, RC_ALLOC_PERM); + if (!chf.dist) + { + printf("duReadCompactHeightfield: Could not alloc dist (%d)\n", chf.spanCount); + return false; + } + io->read(chf.dist, sizeof(unsigned short)*chf.spanCount); + } + if (tmp & 8) + { + chf.areas = (unsigned char*)rcAlloc(sizeof(unsigned char)*chf.spanCount, RC_ALLOC_PERM); + if (!chf.areas) + { + printf("duReadCompactHeightfield: Could not alloc areas (%d)\n", chf.spanCount); + return false; + } + io->read(chf.areas, sizeof(unsigned char)*chf.spanCount); + } + + return true; +} + + +static void logLine(rcContext& ctx, rcTimerLabel label, const char* name, const float pc) +{ + const int t = ctx.getAccumulatedTime(label); + if (t < 0) return; + ctx.log(RC_LOG_PROGRESS, "%s:\t%.2fms\t(%.1f%%)", name, t/1000.0f, t*pc); +} + +void duLogBuildTimes(rcContext& ctx, const int totalTimeUsec) +{ + const float pc = 100.0f / totalTimeUsec; + + ctx.log(RC_LOG_PROGRESS, "Build Times"); + logLine(ctx, RC_TIMER_RASTERIZE_TRIANGLES, "- Rasterize", pc); + logLine(ctx, RC_TIMER_BUILD_COMPACTHEIGHTFIELD, "- Build Compact", pc); + logLine(ctx, RC_TIMER_FILTER_BORDER, "- Filter Border", pc); + logLine(ctx, RC_TIMER_FILTER_WALKABLE, "- Filter Walkable", pc); + logLine(ctx, RC_TIMER_ERODE_AREA, "- Erode Area", pc); + logLine(ctx, RC_TIMER_MEDIAN_AREA, "- Median Area", pc); + logLine(ctx, RC_TIMER_MARK_BOX_AREA, "- Mark Box Area", pc); + logLine(ctx, RC_TIMER_MARK_CONVEXPOLY_AREA, "- Mark Convex Area", pc); + logLine(ctx, RC_TIMER_MARK_CYLINDER_AREA, "- Mark Cylinder Area", pc); + logLine(ctx, RC_TIMER_BUILD_DISTANCEFIELD, "- Build Distance Field", pc); + logLine(ctx, RC_TIMER_BUILD_DISTANCEFIELD_DIST, " - Distance", pc); + logLine(ctx, RC_TIMER_BUILD_DISTANCEFIELD_BLUR, " - Blur", pc); + logLine(ctx, RC_TIMER_BUILD_REGIONS, "- Build Regions", pc); + logLine(ctx, RC_TIMER_BUILD_REGIONS_WATERSHED, " - Watershed", pc); + logLine(ctx, RC_TIMER_BUILD_REGIONS_EXPAND, " - Expand", pc); + logLine(ctx, RC_TIMER_BUILD_REGIONS_FLOOD, " - Find Basins", pc); + logLine(ctx, RC_TIMER_BUILD_REGIONS_FILTER, " - Filter", pc); + logLine(ctx, RC_TIMER_BUILD_LAYERS, "- Build Layers", pc); + logLine(ctx, RC_TIMER_BUILD_CONTOURS, "- Build Contours", pc); + logLine(ctx, RC_TIMER_BUILD_CONTOURS_TRACE, " - Trace", pc); + logLine(ctx, RC_TIMER_BUILD_CONTOURS_SIMPLIFY, " - Simplify", pc); + logLine(ctx, RC_TIMER_BUILD_POLYMESH, "- Build Polymesh", pc); + logLine(ctx, RC_TIMER_BUILD_POLYMESHDETAIL, "- Build Polymesh Detail", pc); + logLine(ctx, RC_TIMER_MERGE_POLYMESH, "- Merge Polymeshes", pc); + logLine(ctx, RC_TIMER_MERGE_POLYMESHDETAIL, "- Merge Polymesh Details", pc); + ctx.log(RC_LOG_PROGRESS, "=== TOTAL:\t%.2fms", totalTimeUsec/1000.0f); +} + diff --git a/extern/fetched/recastnavigation/Detour/CMakeLists.txt b/extern/fetched/recastnavigation/Detour/CMakeLists.txt new file mode 100644 index 000000000..5cb47ec0e --- /dev/null +++ b/extern/fetched/recastnavigation/Detour/CMakeLists.txt @@ -0,0 +1,30 @@ +file(GLOB SOURCES Source/*.cpp) +add_library(Detour ${SOURCES}) + +add_library(RecastNavigation::Detour ALIAS Detour) +set_target_properties(Detour PROPERTIES DEBUG_POSTFIX -d) + +set(Detour_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/Include") + +target_include_directories(Detour PUBLIC + "$" +) + +set_target_properties(Detour PROPERTIES + SOVERSION ${SOVERSION} + VERSION ${VERSION} + COMPILE_PDB_OUTPUT_DIRECTORY . + COMPILE_PDB_NAME "Detour-d" + ) + +install(TARGETS Detour + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + COMPONENT library + ) + +file(GLOB INCLUDES Include/*.h) +install(FILES ${INCLUDES} DESTINATION + ${CMAKE_INSTALL_INCLUDEDIR}/recastnavigation) +install(FILES "$/Detour-d.pdb" CONFIGURATIONS "Debug" DESTINATION "lib") diff --git a/extern/fetched/recastnavigation/Detour/Include/DetourAlloc.h b/extern/fetched/recastnavigation/Detour/Include/DetourAlloc.h new file mode 100644 index 000000000..f87b454ac --- /dev/null +++ b/extern/fetched/recastnavigation/Detour/Include/DetourAlloc.h @@ -0,0 +1,61 @@ +// +// Copyright (c) 2009-2010 Mikko Mononen memon@inside.org +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. +// + +#ifndef DETOURALLOCATOR_H +#define DETOURALLOCATOR_H + +#include + +/// Provides hint values to the memory allocator on how long the +/// memory is expected to be used. +enum dtAllocHint +{ + DT_ALLOC_PERM, ///< Memory persist after a function call. + DT_ALLOC_TEMP ///< Memory used temporarily within a function. +}; + +/// A memory allocation function. +// @param[in] size The size, in bytes of memory, to allocate. +// @param[in] rcAllocHint A hint to the allocator on how long the memory is expected to be in use. +// @return A pointer to the beginning of the allocated memory block, or null if the allocation failed. +/// @see dtAllocSetCustom +typedef void* (dtAllocFunc)(size_t size, dtAllocHint hint); + +/// A memory deallocation function. +/// @param[in] ptr A pointer to a memory block previously allocated using #dtAllocFunc. +/// @see dtAllocSetCustom +typedef void (dtFreeFunc)(void* ptr); + +/// Sets the base custom allocation functions to be used by Detour. +/// @param[in] allocFunc The memory allocation function to be used by #dtAlloc +/// @param[in] freeFunc The memory de-allocation function to be used by #dtFree +void dtAllocSetCustom(dtAllocFunc *allocFunc, dtFreeFunc *freeFunc); + +/// Allocates a memory block. +/// @param[in] size The size, in bytes of memory, to allocate. +/// @param[in] hint A hint to the allocator on how long the memory is expected to be in use. +/// @return A pointer to the beginning of the allocated memory block, or null if the allocation failed. +/// @see dtFree +void* dtAlloc(size_t size, dtAllocHint hint); + +/// Deallocates a memory block. +/// @param[in] ptr A pointer to a memory block previously allocated using #dtAlloc. +/// @see dtAlloc +void dtFree(void* ptr); + +#endif diff --git a/extern/fetched/recastnavigation/Detour/Include/DetourAssert.h b/extern/fetched/recastnavigation/Detour/Include/DetourAssert.h new file mode 100644 index 000000000..e05fd66fa --- /dev/null +++ b/extern/fetched/recastnavigation/Detour/Include/DetourAssert.h @@ -0,0 +1,56 @@ +// +// Copyright (c) 2009-2010 Mikko Mononen memon@inside.org +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. +// + +#ifndef DETOURASSERT_H +#define DETOURASSERT_H + +// Note: This header file's only purpose is to include define assert. +// Feel free to change the file and include your own implementation instead. + +#ifdef NDEBUG + +// From http://cnicholson.net/2009/02/stupid-c-tricks-adventures-in-assert/ +# define dtAssert(x) do { (void)sizeof(x); } while((void)(__LINE__==-1),false) + +#else + +/// An assertion failure function. +// @param[in] expression asserted expression. +// @param[in] file Filename of the failed assertion. +// @param[in] line Line number of the failed assertion. +/// @see dtAssertFailSetCustom +typedef void (dtAssertFailFunc)(const char* expression, const char* file, int line); + +/// Sets the base custom assertion failure function to be used by Detour. +/// @param[in] assertFailFunc The function to be invoked in case of failure of #dtAssert +void dtAssertFailSetCustom(dtAssertFailFunc *assertFailFunc); + +/// Gets the base custom assertion failure function to be used by Detour. +dtAssertFailFunc* dtAssertFailGetCustom(); + +# include +# define dtAssert(expression) \ + { \ + dtAssertFailFunc* failFunc = dtAssertFailGetCustom(); \ + if(failFunc == NULL) { assert(expression); } \ + else if(!(expression)) { (*failFunc)(#expression, __FILE__, __LINE__); } \ + } + +#endif + +#endif // DETOURASSERT_H diff --git a/extern/fetched/recastnavigation/Detour/Include/DetourCommon.h b/extern/fetched/recastnavigation/Detour/Include/DetourCommon.h new file mode 100644 index 000000000..113e8c336 --- /dev/null +++ b/extern/fetched/recastnavigation/Detour/Include/DetourCommon.h @@ -0,0 +1,572 @@ +// +// Copyright (c) 2009-2010 Mikko Mononen memon@inside.org +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. +// + +#ifndef DETOURCOMMON_H +#define DETOURCOMMON_H + +#include "DetourMath.h" +#include + +/** +@defgroup detour Detour + +Members in this module are used to create, manipulate, and query navigation +meshes. + +@note This is a summary list of members. Use the index or search +feature to find minor members. +*/ + +/// @name General helper functions +/// @{ + +/// Used to ignore a function parameter. VS complains about unused parameters +/// and this silences the warning. +/// @param [in] _ Unused parameter +template void dtIgnoreUnused(const T&) { } + +/// Swaps the values of the two parameters. +/// @param[in,out] a Value A +/// @param[in,out] b Value B +template inline void dtSwap(T& a, T& b) { T t = a; a = b; b = t; } + +/// Returns the minimum of two values. +/// @param[in] a Value A +/// @param[in] b Value B +/// @return The minimum of the two values. +template inline T dtMin(T a, T b) { return a < b ? a : b; } + +/// Returns the maximum of two values. +/// @param[in] a Value A +/// @param[in] b Value B +/// @return The maximum of the two values. +template inline T dtMax(T a, T b) { return a > b ? a : b; } + +/// Returns the absolute value. +/// @param[in] a The value. +/// @return The absolute value of the specified value. +template inline T dtAbs(T a) { return a < 0 ? -a : a; } + +/// Returns the square of the value. +/// @param[in] a The value. +/// @return The square of the value. +template inline T dtSqr(T a) { return a*a; } + +/// Clamps the value to the specified range. +/// @param[in] v The value to clamp. +/// @param[in] mn The minimum permitted return value. +/// @param[in] mx The maximum permitted return value. +/// @return The value, clamped to the specified range. +template inline T dtClamp(T v, T mn, T mx) { return v < mn ? mn : (v > mx ? mx : v); } + +/// @} +/// @name Vector helper functions. +/// @{ + +/// Derives the cross product of two vectors. (@p v1 x @p v2) +/// @param[out] dest The cross product. [(x, y, z)] +/// @param[in] v1 A Vector [(x, y, z)] +/// @param[in] v2 A vector [(x, y, z)] +inline void dtVcross(float* dest, const float* v1, const float* v2) +{ + dest[0] = v1[1]*v2[2] - v1[2]*v2[1]; + dest[1] = v1[2]*v2[0] - v1[0]*v2[2]; + dest[2] = v1[0]*v2[1] - v1[1]*v2[0]; +} + +/// Derives the dot product of two vectors. (@p v1 . @p v2) +/// @param[in] v1 A Vector [(x, y, z)] +/// @param[in] v2 A vector [(x, y, z)] +/// @return The dot product. +inline float dtVdot(const float* v1, const float* v2) +{ + return v1[0]*v2[0] + v1[1]*v2[1] + v1[2]*v2[2]; +} + +/// Performs a scaled vector addition. (@p v1 + (@p v2 * @p s)) +/// @param[out] dest The result vector. [(x, y, z)] +/// @param[in] v1 The base vector. [(x, y, z)] +/// @param[in] v2 The vector to scale and add to @p v1. [(x, y, z)] +/// @param[in] s The amount to scale @p v2 by before adding to @p v1. +inline void dtVmad(float* dest, const float* v1, const float* v2, const float s) +{ + dest[0] = v1[0]+v2[0]*s; + dest[1] = v1[1]+v2[1]*s; + dest[2] = v1[2]+v2[2]*s; +} + +/// Performs a linear interpolation between two vectors. (@p v1 toward @p v2) +/// @param[out] dest The result vector. [(x, y, x)] +/// @param[in] v1 The starting vector. +/// @param[in] v2 The destination vector. +/// @param[in] t The interpolation factor. [Limits: 0 <= value <= 1.0] +inline void dtVlerp(float* dest, const float* v1, const float* v2, const float t) +{ + dest[0] = v1[0]+(v2[0]-v1[0])*t; + dest[1] = v1[1]+(v2[1]-v1[1])*t; + dest[2] = v1[2]+(v2[2]-v1[2])*t; +} + +/// Performs a vector addition. (@p v1 + @p v2) +/// @param[out] dest The result vector. [(x, y, z)] +/// @param[in] v1 The base vector. [(x, y, z)] +/// @param[in] v2 The vector to add to @p v1. [(x, y, z)] +inline void dtVadd(float* dest, const float* v1, const float* v2) +{ + dest[0] = v1[0]+v2[0]; + dest[1] = v1[1]+v2[1]; + dest[2] = v1[2]+v2[2]; +} + +/// Performs a vector subtraction. (@p v1 - @p v2) +/// @param[out] dest The result vector. [(x, y, z)] +/// @param[in] v1 The base vector. [(x, y, z)] +/// @param[in] v2 The vector to subtract from @p v1. [(x, y, z)] +inline void dtVsub(float* dest, const float* v1, const float* v2) +{ + dest[0] = v1[0]-v2[0]; + dest[1] = v1[1]-v2[1]; + dest[2] = v1[2]-v2[2]; +} + +/// Scales the vector by the specified value. (@p v * @p t) +/// @param[out] dest The result vector. [(x, y, z)] +/// @param[in] v The vector to scale. [(x, y, z)] +/// @param[in] t The scaling factor. +inline void dtVscale(float* dest, const float* v, const float t) +{ + dest[0] = v[0]*t; + dest[1] = v[1]*t; + dest[2] = v[2]*t; +} + +/// Selects the minimum value of each element from the specified vectors. +/// @param[in,out] mn A vector. (Will be updated with the result.) [(x, y, z)] +/// @param[in] v A vector. [(x, y, z)] +inline void dtVmin(float* mn, const float* v) +{ + mn[0] = dtMin(mn[0], v[0]); + mn[1] = dtMin(mn[1], v[1]); + mn[2] = dtMin(mn[2], v[2]); +} + +/// Selects the maximum value of each element from the specified vectors. +/// @param[in,out] mx A vector. (Will be updated with the result.) [(x, y, z)] +/// @param[in] v A vector. [(x, y, z)] +inline void dtVmax(float* mx, const float* v) +{ + mx[0] = dtMax(mx[0], v[0]); + mx[1] = dtMax(mx[1], v[1]); + mx[2] = dtMax(mx[2], v[2]); +} + +/// Sets the vector elements to the specified values. +/// @param[out] dest The result vector. [(x, y, z)] +/// @param[in] x The x-value of the vector. +/// @param[in] y The y-value of the vector. +/// @param[in] z The z-value of the vector. +inline void dtVset(float* dest, const float x, const float y, const float z) +{ + dest[0] = x; dest[1] = y; dest[2] = z; +} + +/// Performs a vector copy. +/// @param[out] dest The result. [(x, y, z)] +/// @param[in] a The vector to copy. [(x, y, z)] +inline void dtVcopy(float* dest, const float* a) +{ + dest[0] = a[0]; + dest[1] = a[1]; + dest[2] = a[2]; +} + +/// Derives the scalar length of the vector. +/// @param[in] v The vector. [(x, y, z)] +/// @return The scalar length of the vector. +inline float dtVlen(const float* v) +{ + return dtMathSqrtf(v[0] * v[0] + v[1] * v[1] + v[2] * v[2]); +} + +/// Derives the square of the scalar length of the vector. (len * len) +/// @param[in] v The vector. [(x, y, z)] +/// @return The square of the scalar length of the vector. +inline float dtVlenSqr(const float* v) +{ + return v[0]*v[0] + v[1]*v[1] + v[2]*v[2]; +} + +/// Returns the distance between two points. +/// @param[in] v1 A point. [(x, y, z)] +/// @param[in] v2 A point. [(x, y, z)] +/// @return The distance between the two points. +inline float dtVdist(const float* v1, const float* v2) +{ + const float dx = v2[0] - v1[0]; + const float dy = v2[1] - v1[1]; + const float dz = v2[2] - v1[2]; + return dtMathSqrtf(dx*dx + dy*dy + dz*dz); +} + +/// Returns the square of the distance between two points. +/// @param[in] v1 A point. [(x, y, z)] +/// @param[in] v2 A point. [(x, y, z)] +/// @return The square of the distance between the two points. +inline float dtVdistSqr(const float* v1, const float* v2) +{ + const float dx = v2[0] - v1[0]; + const float dy = v2[1] - v1[1]; + const float dz = v2[2] - v1[2]; + return dx*dx + dy*dy + dz*dz; +} + +/// Derives the distance between the specified points on the xz-plane. +/// @param[in] v1 A point. [(x, y, z)] +/// @param[in] v2 A point. [(x, y, z)] +/// @return The distance between the point on the xz-plane. +/// +/// The vectors are projected onto the xz-plane, so the y-values are ignored. +inline float dtVdist2D(const float* v1, const float* v2) +{ + const float dx = v2[0] - v1[0]; + const float dz = v2[2] - v1[2]; + return dtMathSqrtf(dx*dx + dz*dz); +} + +/// Derives the square of the distance between the specified points on the xz-plane. +/// @param[in] v1 A point. [(x, y, z)] +/// @param[in] v2 A point. [(x, y, z)] +/// @return The square of the distance between the point on the xz-plane. +inline float dtVdist2DSqr(const float* v1, const float* v2) +{ + const float dx = v2[0] - v1[0]; + const float dz = v2[2] - v1[2]; + return dx*dx + dz*dz; +} + +/// Normalizes the vector. +/// @param[in,out] v The vector to normalize. [(x, y, z)] +inline void dtVnormalize(float* v) +{ + float d = 1.0f / dtMathSqrtf(dtSqr(v[0]) + dtSqr(v[1]) + dtSqr(v[2])); + v[0] *= d; + v[1] *= d; + v[2] *= d; +} + +/// Performs a 'sloppy' colocation check of the specified points. +/// @param[in] p0 A point. [(x, y, z)] +/// @param[in] p1 A point. [(x, y, z)] +/// @return True if the points are considered to be at the same location. +/// +/// Basically, this function will return true if the specified points are +/// close enough to eachother to be considered colocated. +inline bool dtVequal(const float* p0, const float* p1) +{ + static const float thr = dtSqr(1.0f/16384.0f); + const float d = dtVdistSqr(p0, p1); + return d < thr; +} + +/// Checks that the specified vector's components are all finite. +/// @param[in] v A point. [(x, y, z)] +/// @return True if all of the point's components are finite, i.e. not NaN +/// or any of the infinities. +inline bool dtVisfinite(const float* v) +{ + bool result = + dtMathIsfinite(v[0]) && + dtMathIsfinite(v[1]) && + dtMathIsfinite(v[2]); + + return result; +} + +/// Checks that the specified vector's 2D components are finite. +/// @param[in] v A point. [(x, y, z)] +inline bool dtVisfinite2D(const float* v) +{ + bool result = dtMathIsfinite(v[0]) && dtMathIsfinite(v[2]); + return result; +} + +/// Derives the dot product of two vectors on the xz-plane. (@p u . @p v) +/// @param[in] u A vector [(x, y, z)] +/// @param[in] v A vector [(x, y, z)] +/// @return The dot product on the xz-plane. +/// +/// The vectors are projected onto the xz-plane, so the y-values are ignored. +inline float dtVdot2D(const float* u, const float* v) +{ + return u[0]*v[0] + u[2]*v[2]; +} + +/// Derives the xz-plane 2D perp product of the two vectors. (uz*vx - ux*vz) +/// @param[in] u The LHV vector [(x, y, z)] +/// @param[in] v The RHV vector [(x, y, z)] +/// @return The dot product on the xz-plane. +/// +/// The vectors are projected onto the xz-plane, so the y-values are ignored. +inline float dtVperp2D(const float* u, const float* v) +{ + return u[2]*v[0] - u[0]*v[2]; +} + +/// @} +/// @name Computational geometry helper functions. +/// @{ + +/// Derives the signed xz-plane area of the triangle ABC, or the relationship of line AB to point C. +/// @param[in] a Vertex A. [(x, y, z)] +/// @param[in] b Vertex B. [(x, y, z)] +/// @param[in] c Vertex C. [(x, y, z)] +/// @return The signed xz-plane area of the triangle. +inline float dtTriArea2D(const float* a, const float* b, const float* c) +{ + const float abx = b[0] - a[0]; + const float abz = b[2] - a[2]; + const float acx = c[0] - a[0]; + const float acz = c[2] - a[2]; + return acx*abz - abx*acz; +} + +/// Determines if two axis-aligned bounding boxes overlap. +/// @param[in] amin Minimum bounds of box A. [(x, y, z)] +/// @param[in] amax Maximum bounds of box A. [(x, y, z)] +/// @param[in] bmin Minimum bounds of box B. [(x, y, z)] +/// @param[in] bmax Maximum bounds of box B. [(x, y, z)] +/// @return True if the two AABB's overlap. +/// @see dtOverlapBounds +inline bool dtOverlapQuantBounds(const unsigned short amin[3], const unsigned short amax[3], + const unsigned short bmin[3], const unsigned short bmax[3]) +{ + bool overlap = true; + overlap = (amin[0] > bmax[0] || amax[0] < bmin[0]) ? false : overlap; + overlap = (amin[1] > bmax[1] || amax[1] < bmin[1]) ? false : overlap; + overlap = (amin[2] > bmax[2] || amax[2] < bmin[2]) ? false : overlap; + return overlap; +} + +/// Determines if two axis-aligned bounding boxes overlap. +/// @param[in] amin Minimum bounds of box A. [(x, y, z)] +/// @param[in] amax Maximum bounds of box A. [(x, y, z)] +/// @param[in] bmin Minimum bounds of box B. [(x, y, z)] +/// @param[in] bmax Maximum bounds of box B. [(x, y, z)] +/// @return True if the two AABB's overlap. +/// @see dtOverlapQuantBounds +inline bool dtOverlapBounds(const float* amin, const float* amax, + const float* bmin, const float* bmax) +{ + bool overlap = true; + overlap = (amin[0] > bmax[0] || amax[0] < bmin[0]) ? false : overlap; + overlap = (amin[1] > bmax[1] || amax[1] < bmin[1]) ? false : overlap; + overlap = (amin[2] > bmax[2] || amax[2] < bmin[2]) ? false : overlap; + return overlap; +} + +/// Derives the closest point on a triangle from the specified reference point. +/// @param[out] closest The closest point on the triangle. +/// @param[in] p The reference point from which to test. [(x, y, z)] +/// @param[in] a Vertex A of triangle ABC. [(x, y, z)] +/// @param[in] b Vertex B of triangle ABC. [(x, y, z)] +/// @param[in] c Vertex C of triangle ABC. [(x, y, z)] +void dtClosestPtPointTriangle(float* closest, const float* p, + const float* a, const float* b, const float* c); + +/// Derives the y-axis height of the closest point on the triangle from the specified reference point. +/// @param[in] p The reference point from which to test. [(x, y, z)] +/// @param[in] a Vertex A of triangle ABC. [(x, y, z)] +/// @param[in] b Vertex B of triangle ABC. [(x, y, z)] +/// @param[in] c Vertex C of triangle ABC. [(x, y, z)] +/// @param[out] h The resulting height. +bool dtClosestHeightPointTriangle(const float* p, const float* a, const float* b, const float* c, float& h); + +bool dtIntersectSegmentPoly2D(const float* p0, const float* p1, + const float* verts, int nverts, + float& tmin, float& tmax, + int& segMin, int& segMax); + +bool dtIntersectSegSeg2D(const float* ap, const float* aq, + const float* bp, const float* bq, + float& s, float& t); + +/// Determines if the specified point is inside the convex polygon on the xz-plane. +/// @param[in] pt The point to check. [(x, y, z)] +/// @param[in] verts The polygon vertices. [(x, y, z) * @p nverts] +/// @param[in] nverts The number of vertices. [Limit: >= 3] +/// @return True if the point is inside the polygon. +bool dtPointInPolygon(const float* pt, const float* verts, const int nverts); + +bool dtDistancePtPolyEdgesSqr(const float* pt, const float* verts, const int nverts, + float* ed, float* et); + +float dtDistancePtSegSqr2D(const float* pt, const float* p, const float* q, float& t); + +/// Derives the centroid of a convex polygon. +/// @param[out] tc The centroid of the polgyon. [(x, y, z)] +/// @param[in] idx The polygon indices. [(vertIndex) * @p nidx] +/// @param[in] nidx The number of indices in the polygon. [Limit: >= 3] +/// @param[in] verts The polygon vertices. [(x, y, z) * vertCount] +void dtCalcPolyCenter(float* tc, const unsigned short* idx, int nidx, const float* verts); + +/// Determines if the two convex polygons overlap on the xz-plane. +/// @param[in] polya Polygon A vertices. [(x, y, z) * @p npolya] +/// @param[in] npolya The number of vertices in polygon A. +/// @param[in] polyb Polygon B vertices. [(x, y, z) * @p npolyb] +/// @param[in] npolyb The number of vertices in polygon B. +/// @return True if the two polygons overlap. +bool dtOverlapPolyPoly2D(const float* polya, const int npolya, + const float* polyb, const int npolyb); + +/// @} +/// @name Miscellanious functions. +/// @{ + +inline unsigned int dtNextPow2(unsigned int v) +{ + v--; + v |= v >> 1; + v |= v >> 2; + v |= v >> 4; + v |= v >> 8; + v |= v >> 16; + v++; + return v; +} + +inline unsigned int dtIlog2(unsigned int v) +{ + unsigned int r; + unsigned int shift; + r = (v > 0xffff) << 4; v >>= r; + shift = (v > 0xff) << 3; v >>= shift; r |= shift; + shift = (v > 0xf) << 2; v >>= shift; r |= shift; + shift = (v > 0x3) << 1; v >>= shift; r |= shift; + r |= (v >> 1); + return r; +} + +inline int dtAlign4(int x) { return (x+3) & ~3; } + +inline int dtOppositeTile(int side) { return (side+4) & 0x7; } + +inline void dtSwapByte(unsigned char* a, unsigned char* b) +{ + unsigned char tmp = *a; + *a = *b; + *b = tmp; +} + +inline void dtSwapEndian(unsigned short* v) +{ + unsigned char* x = (unsigned char*)v; + dtSwapByte(x+0, x+1); +} + +inline void dtSwapEndian(short* v) +{ + unsigned char* x = (unsigned char*)v; + dtSwapByte(x+0, x+1); +} + +inline void dtSwapEndian(unsigned int* v) +{ + unsigned char* x = (unsigned char*)v; + dtSwapByte(x+0, x+3); dtSwapByte(x+1, x+2); +} + +inline void dtSwapEndian(int* v) +{ + unsigned char* x = (unsigned char*)v; + dtSwapByte(x+0, x+3); dtSwapByte(x+1, x+2); +} + +inline void dtSwapEndian(float* v) +{ + unsigned char* x = (unsigned char*)v; + dtSwapByte(x+0, x+3); dtSwapByte(x+1, x+2); +} + +void dtRandomPointInConvexPoly(const float* pts, const int npts, float* areas, + const float s, const float t, float* out); + +template +TypeToRetrieveAs* dtGetThenAdvanceBufferPointer(const unsigned char*& buffer, const size_t distanceToAdvance) +{ + TypeToRetrieveAs* returnPointer = reinterpret_cast(buffer); + buffer += distanceToAdvance; + return returnPointer; +} + +template +TypeToRetrieveAs* dtGetThenAdvanceBufferPointer(unsigned char*& buffer, const size_t distanceToAdvance) +{ + TypeToRetrieveAs* returnPointer = reinterpret_cast(buffer); + buffer += distanceToAdvance; + return returnPointer; +} + + +/// @} + +#endif // DETOURCOMMON_H + +/////////////////////////////////////////////////////////////////////////// + +// This section contains detailed documentation for members that don't have +// a source file. It reduces clutter in the main section of the header. + +/** + +@fn float dtTriArea2D(const float* a, const float* b, const float* c) +@par + +The vertices are projected onto the xz-plane, so the y-values are ignored. + +This is a low cost function than can be used for various purposes. Its main purpose +is for point/line relationship testing. + +In all cases: A value of zero indicates that all vertices are collinear or represent the same point. +(On the xz-plane.) + +When used for point/line relationship tests, AB usually represents a line against which +the C point is to be tested. In this case: + +A positive value indicates that point C is to the left of line AB, looking from A toward B.
+A negative value indicates that point C is to the right of lineAB, looking from A toward B. + +When used for evaluating a triangle: + +The absolute value of the return value is two times the area of the triangle when it is +projected onto the xz-plane. + +A positive return value indicates: + +

    +
  • The vertices are wrapped in the normal Detour wrap direction.
  • +
  • The triangle's 3D face normal is in the general up direction.
  • +
+ +A negative return value indicates: + +
    +
  • The vertices are reverse wrapped. (Wrapped opposite the normal Detour wrap direction.)
  • +
  • The triangle's 3D face normal is in the general down direction.
  • +
+ +*/ diff --git a/extern/fetched/recastnavigation/Detour/Include/DetourMath.h b/extern/fetched/recastnavigation/Detour/Include/DetourMath.h new file mode 100644 index 000000000..54af8af09 --- /dev/null +++ b/extern/fetched/recastnavigation/Detour/Include/DetourMath.h @@ -0,0 +1,24 @@ +/** +@defgroup detour Detour + +Members in this module are wrappers around the standard math library +*/ + +#ifndef DETOURMATH_H +#define DETOURMATH_H + +#include +// This include is required because libstdc++ has problems with isfinite +// if cmath is included before math.h. +#include + +inline float dtMathFabsf(float x) { return fabsf(x); } +inline float dtMathSqrtf(float x) { return sqrtf(x); } +inline float dtMathFloorf(float x) { return floorf(x); } +inline float dtMathCeilf(float x) { return ceilf(x); } +inline float dtMathCosf(float x) { return cosf(x); } +inline float dtMathSinf(float x) { return sinf(x); } +inline float dtMathAtan2f(float y, float x) { return atan2f(y, x); } +inline bool dtMathIsfinite(float x) { return std::isfinite(x); } + +#endif diff --git a/extern/fetched/recastnavigation/Detour/Include/DetourNavMesh.h b/extern/fetched/recastnavigation/Detour/Include/DetourNavMesh.h new file mode 100644 index 000000000..9ac1dc8d6 --- /dev/null +++ b/extern/fetched/recastnavigation/Detour/Include/DetourNavMesh.h @@ -0,0 +1,784 @@ +// +// Copyright (c) 2009-2010 Mikko Mononen memon@inside.org +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. +// + +#ifndef DETOURNAVMESH_H +#define DETOURNAVMESH_H + +#include "DetourAlloc.h" +#include "DetourStatus.h" + +// Undefine (or define in a build cofnig) the following line to use 64bit polyref. +// Generally not needed, useful for very large worlds. +// Note: tiles build using 32bit refs are not compatible with 64bit refs! +//#define DT_POLYREF64 1 + +#ifdef DT_POLYREF64 +// TODO: figure out a multiplatform version of uint64_t +// - maybe: https://code.google.com/p/msinttypes/ +// - or: http://www.azillionmonkeys.com/qed/pstdint.h +#include +#endif + +// Note: If you want to use 64-bit refs, change the types of both dtPolyRef & dtTileRef. +// It is also recommended that you change dtHashRef() to a proper 64-bit hash. + +/// A handle to a polygon within a navigation mesh tile. +/// @ingroup detour +#ifdef DT_POLYREF64 +static const unsigned int DT_SALT_BITS = 16; +static const unsigned int DT_TILE_BITS = 28; +static const unsigned int DT_POLY_BITS = 20; +typedef uint64_t dtPolyRef; +#else +typedef unsigned int dtPolyRef; +#endif + +/// A handle to a tile within a navigation mesh. +/// @ingroup detour +#ifdef DT_POLYREF64 +typedef uint64_t dtTileRef; +#else +typedef unsigned int dtTileRef; +#endif + +/// The maximum number of vertices per navigation polygon. +/// @ingroup detour +static const int DT_VERTS_PER_POLYGON = 6; + +/// @{ +/// @name Tile Serialization Constants +/// These constants are used to detect whether a navigation tile's data +/// and state format is compatible with the current build. +/// + +/// A magic number used to detect compatibility of navigation tile data. +static const int DT_NAVMESH_MAGIC = 'D'<<24 | 'N'<<16 | 'A'<<8 | 'V'; + +/// A version number used to detect compatibility of navigation tile data. +static const int DT_NAVMESH_VERSION = 7; + +/// A magic number used to detect the compatibility of navigation tile states. +static const int DT_NAVMESH_STATE_MAGIC = 'D'<<24 | 'N'<<16 | 'M'<<8 | 'S'; + +/// A version number used to detect compatibility of navigation tile states. +static const int DT_NAVMESH_STATE_VERSION = 1; + +/// @} + +/// A flag that indicates that an entity links to an external entity. +/// (E.g. A polygon edge is a portal that links to another polygon.) +static const unsigned short DT_EXT_LINK = 0x8000; + +/// A value that indicates the entity does not link to anything. +static const unsigned int DT_NULL_LINK = 0xffffffff; + +/// A flag that indicates that an off-mesh connection can be traversed in both directions. (Is bidirectional.) +static const unsigned int DT_OFFMESH_CON_BIDIR = 1; + +/// The maximum number of user defined area ids. +/// @ingroup detour +static const int DT_MAX_AREAS = 64; + +/// Tile flags used for various functions and fields. +/// For an example, see dtNavMesh::addTile(). +enum dtTileFlags +{ + /// The navigation mesh owns the tile memory and is responsible for freeing it. + DT_TILE_FREE_DATA = 0x01, +}; + +/// Vertex flags returned by dtNavMeshQuery::findStraightPath. +enum dtStraightPathFlags +{ + DT_STRAIGHTPATH_START = 0x01, ///< The vertex is the start position in the path. + DT_STRAIGHTPATH_END = 0x02, ///< The vertex is the end position in the path. + DT_STRAIGHTPATH_OFFMESH_CONNECTION = 0x04, ///< The vertex is the start of an off-mesh connection. +}; + +/// Options for dtNavMeshQuery::findStraightPath. +enum dtStraightPathOptions +{ + DT_STRAIGHTPATH_AREA_CROSSINGS = 0x01, ///< Add a vertex at every polygon edge crossing where area changes. + DT_STRAIGHTPATH_ALL_CROSSINGS = 0x02, ///< Add a vertex at every polygon edge crossing. +}; + + +/// Options for dtNavMeshQuery::initSlicedFindPath and updateSlicedFindPath +enum dtFindPathOptions +{ + DT_FINDPATH_ANY_ANGLE = 0x02, ///< use raycasts during pathfind to "shortcut" (raycast still consider costs) +}; + +/// Options for dtNavMeshQuery::raycast +enum dtRaycastOptions +{ + DT_RAYCAST_USE_COSTS = 0x01, ///< Raycast should calculate movement cost along the ray and fill RaycastHit::cost +}; + +enum dtDetailTriEdgeFlags +{ + DT_DETAIL_EDGE_BOUNDARY = 0x01, ///< Detail triangle edge is part of the poly boundary +}; + + +/// Limit raycasting during any angle pahfinding +/// The limit is given as a multiple of the character radius +static const float DT_RAY_CAST_LIMIT_PROPORTIONS = 50.0f; + +/// Flags representing the type of a navigation mesh polygon. +enum dtPolyTypes +{ + /// The polygon is a standard convex polygon that is part of the surface of the mesh. + DT_POLYTYPE_GROUND = 0, + /// The polygon is an off-mesh connection consisting of two vertices. + DT_POLYTYPE_OFFMESH_CONNECTION = 1, +}; + + +/// Defines a polygon within a dtMeshTile object. +/// @ingroup detour +struct dtPoly +{ + /// Index to first link in linked list. (Or #DT_NULL_LINK if there is no link.) + unsigned int firstLink; + + /// The indices of the polygon's vertices. + /// The actual vertices are located in dtMeshTile::verts. + unsigned short verts[DT_VERTS_PER_POLYGON]; + + /// Packed data representing neighbor polygons references and flags for each edge. + unsigned short neis[DT_VERTS_PER_POLYGON]; + + /// The user defined polygon flags. + unsigned short flags; + + /// The number of vertices in the polygon. + unsigned char vertCount; + + /// The bit packed area id and polygon type. + /// @note Use the structure's set and get methods to acess this value. + unsigned char areaAndtype; + + /// Sets the user defined area id. [Limit: < #DT_MAX_AREAS] + inline void setArea(unsigned char a) { areaAndtype = (areaAndtype & 0xc0) | (a & 0x3f); } + + /// Sets the polygon type. (See: #dtPolyTypes.) + inline void setType(unsigned char t) { areaAndtype = (areaAndtype & 0x3f) | (t << 6); } + + /// Gets the user defined area id. + inline unsigned char getArea() const { return areaAndtype & 0x3f; } + + /// Gets the polygon type. (See: #dtPolyTypes) + inline unsigned char getType() const { return areaAndtype >> 6; } +}; + +/// Defines the location of detail sub-mesh data within a dtMeshTile. +struct dtPolyDetail +{ + unsigned int vertBase; ///< The offset of the vertices in the dtMeshTile::detailVerts array. + unsigned int triBase; ///< The offset of the triangles in the dtMeshTile::detailTris array. + unsigned char vertCount; ///< The number of vertices in the sub-mesh. + unsigned char triCount; ///< The number of triangles in the sub-mesh. +}; + +/// Defines a link between polygons. +/// @note This structure is rarely if ever used by the end user. +/// @see dtMeshTile +struct dtLink +{ + dtPolyRef ref; ///< Neighbour reference. (The neighbor that is linked to.) + unsigned int next; ///< Index of the next link. + unsigned char edge; ///< Index of the polygon edge that owns this link. + unsigned char side; ///< If a boundary link, defines on which side the link is. + unsigned char bmin; ///< If a boundary link, defines the minimum sub-edge area. + unsigned char bmax; ///< If a boundary link, defines the maximum sub-edge area. +}; + +/// Bounding volume node. +/// @note This structure is rarely if ever used by the end user. +/// @see dtMeshTile +struct dtBVNode +{ + unsigned short bmin[3]; ///< Minimum bounds of the node's AABB. [(x, y, z)] + unsigned short bmax[3]; ///< Maximum bounds of the node's AABB. [(x, y, z)] + int i; ///< The node's index. (Negative for escape sequence.) +}; + +/// Defines an navigation mesh off-mesh connection within a dtMeshTile object. +/// An off-mesh connection is a user defined traversable connection made up to two vertices. +struct dtOffMeshConnection +{ + /// The endpoints of the connection. [(ax, ay, az, bx, by, bz)] + float pos[6]; + + /// The radius of the endpoints. [Limit: >= 0] + float rad; + + /// The polygon reference of the connection within the tile. + unsigned short poly; + + /// Link flags. + /// @note These are not the connection's user defined flags. Those are assigned via the + /// connection's dtPoly definition. These are link flags used for internal purposes. + unsigned char flags; + + /// End point side. + unsigned char side; + + /// The id of the offmesh connection. (User assigned when the navigation mesh is built.) + unsigned int userId; +}; + +/// Provides high level information related to a dtMeshTile object. +/// @ingroup detour +struct dtMeshHeader +{ + int magic; ///< Tile magic number. (Used to identify the data format.) + int version; ///< Tile data format version number. + int x; ///< The x-position of the tile within the dtNavMesh tile grid. (x, y, layer) + int y; ///< The y-position of the tile within the dtNavMesh tile grid. (x, y, layer) + int layer; ///< The layer of the tile within the dtNavMesh tile grid. (x, y, layer) + unsigned int userId; ///< The user defined id of the tile. + int polyCount; ///< The number of polygons in the tile. + int vertCount; ///< The number of vertices in the tile. + int maxLinkCount; ///< The number of allocated links. + int detailMeshCount; ///< The number of sub-meshes in the detail mesh. + + /// The number of unique vertices in the detail mesh. (In addition to the polygon vertices.) + int detailVertCount; + + int detailTriCount; ///< The number of triangles in the detail mesh. + int bvNodeCount; ///< The number of bounding volume nodes. (Zero if bounding volumes are disabled.) + int offMeshConCount; ///< The number of off-mesh connections. + int offMeshBase; ///< The index of the first polygon which is an off-mesh connection. + float walkableHeight; ///< The height of the agents using the tile. + float walkableRadius; ///< The radius of the agents using the tile. + float walkableClimb; ///< The maximum climb height of the agents using the tile. + float bmin[3]; ///< The minimum bounds of the tile's AABB. [(x, y, z)] + float bmax[3]; ///< The maximum bounds of the tile's AABB. [(x, y, z)] + + /// The bounding volume quantization factor. + float bvQuantFactor; +}; + +/// Defines a navigation mesh tile. +/// @ingroup detour +struct dtMeshTile +{ + unsigned int salt; ///< Counter describing modifications to the tile. + + unsigned int linksFreeList; ///< Index to the next free link. + dtMeshHeader* header; ///< The tile header. + dtPoly* polys; ///< The tile polygons. [Size: dtMeshHeader::polyCount] + float* verts; ///< The tile vertices. [Size: dtMeshHeader::vertCount] + dtLink* links; ///< The tile links. [Size: dtMeshHeader::maxLinkCount] + dtPolyDetail* detailMeshes; ///< The tile's detail sub-meshes. [Size: dtMeshHeader::detailMeshCount] + + /// The detail mesh's unique vertices. [(x, y, z) * dtMeshHeader::detailVertCount] + float* detailVerts; + + /// The detail mesh's triangles. [(vertA, vertB, vertC, triFlags) * dtMeshHeader::detailTriCount]. + /// See dtDetailTriEdgeFlags and dtGetDetailTriEdgeFlags. + unsigned char* detailTris; + + /// The tile bounding volume nodes. [Size: dtMeshHeader::bvNodeCount] + /// (Will be null if bounding volumes are disabled.) + dtBVNode* bvTree; + + dtOffMeshConnection* offMeshCons; ///< The tile off-mesh connections. [Size: dtMeshHeader::offMeshConCount] + + unsigned char* data; ///< The tile data. (Not directly accessed under normal situations.) + int dataSize; ///< Size of the tile data. + int flags; ///< Tile flags. (See: #dtTileFlags) + dtMeshTile* next; ///< The next free tile, or the next tile in the spatial grid. +private: + dtMeshTile(const dtMeshTile&); + dtMeshTile& operator=(const dtMeshTile&); +}; + +/// Get flags for edge in detail triangle. +/// @param triFlags[in] The flags for the triangle (last component of detail vertices above). +/// @param edgeIndex[in] The index of the first vertex of the edge. For instance, if 0, +/// returns flags for edge AB. +inline int dtGetDetailTriEdgeFlags(unsigned char triFlags, int edgeIndex) +{ + return (triFlags >> (edgeIndex * 2)) & 0x3; +} + +/// Configuration parameters used to define multi-tile navigation meshes. +/// The values are used to allocate space during the initialization of a navigation mesh. +/// @see dtNavMesh::init() +/// @ingroup detour +struct dtNavMeshParams +{ + float orig[3]; ///< The world space origin of the navigation mesh's tile space. [(x, y, z)] + float tileWidth; ///< The width of each tile. (Along the x-axis.) + float tileHeight; ///< The height of each tile. (Along the z-axis.) + int maxTiles; ///< The maximum number of tiles the navigation mesh can contain. This and maxPolys are used to calculate how many bits are needed to identify tiles and polygons uniquely. + int maxPolys; ///< The maximum number of polygons each tile can contain. This and maxTiles are used to calculate how many bits are needed to identify tiles and polygons uniquely. +}; + +/// A navigation mesh based on tiles of convex polygons. +/// @ingroup detour +class dtNavMesh +{ +public: + dtNavMesh(); + ~dtNavMesh(); + + /// @{ + /// @name Initialization and Tile Management + + /// Initializes the navigation mesh for tiled use. + /// @param[in] params Initialization parameters. + /// @return The status flags for the operation. + dtStatus init(const dtNavMeshParams* params); + + /// Initializes the navigation mesh for single tile use. + /// @param[in] data Data of the new tile. (See: #dtCreateNavMeshData) + /// @param[in] dataSize The data size of the new tile. + /// @param[in] flags The tile flags. (See: #dtTileFlags) + /// @return The status flags for the operation. + /// @see dtCreateNavMeshData + dtStatus init(unsigned char* data, const int dataSize, const int flags); + + /// The navigation mesh initialization params. + const dtNavMeshParams* getParams() const; + + /// Adds a tile to the navigation mesh. + /// @param[in] data Data for the new tile mesh. (See: #dtCreateNavMeshData) + /// @param[in] dataSize Data size of the new tile mesh. + /// @param[in] flags Tile flags. (See: #dtTileFlags) + /// @param[in] lastRef The desired reference for the tile. (When reloading a tile.) [opt] [Default: 0] + /// @param[out] result The tile reference. (If the tile was succesfully added.) [opt] + /// @return The status flags for the operation. + dtStatus addTile(unsigned char* data, int dataSize, int flags, dtTileRef lastRef, dtTileRef* result); + + /// Removes the specified tile from the navigation mesh. + /// @param[in] ref The reference of the tile to remove. + /// @param[out] data Data associated with deleted tile. + /// @param[out] dataSize Size of the data associated with deleted tile. + /// @return The status flags for the operation. + dtStatus removeTile(dtTileRef ref, unsigned char** data, int* dataSize); + + /// @} + + /// @{ + /// @name Query Functions + + /// Calculates the tile grid location for the specified world position. + /// @param[in] pos The world position for the query. [(x, y, z)] + /// @param[out] tx The tile's x-location. (x, y) + /// @param[out] ty The tile's y-location. (x, y) + void calcTileLoc(const float* pos, int* tx, int* ty) const; + + /// Gets the tile at the specified grid location. + /// @param[in] x The tile's x-location. (x, y, layer) + /// @param[in] y The tile's y-location. (x, y, layer) + /// @param[in] layer The tile's layer. (x, y, layer) + /// @return The tile, or null if the tile does not exist. + const dtMeshTile* getTileAt(const int x, const int y, const int layer) const; + + /// Gets all tiles at the specified grid location. (All layers.) + /// @param[in] x The tile's x-location. (x, y) + /// @param[in] y The tile's y-location. (x, y) + /// @param[out] tiles A pointer to an array of tiles that will hold the result. + /// @param[in] maxTiles The maximum tiles the tiles parameter can hold. + /// @return The number of tiles returned in the tiles array. + int getTilesAt(const int x, const int y, + dtMeshTile const** tiles, const int maxTiles) const; + + /// Gets the tile reference for the tile at specified grid location. + /// @param[in] x The tile's x-location. (x, y, layer) + /// @param[in] y The tile's y-location. (x, y, layer) + /// @param[in] layer The tile's layer. (x, y, layer) + /// @return The tile reference of the tile, or 0 if there is none. + dtTileRef getTileRefAt(int x, int y, int layer) const; + + /// Gets the tile reference for the specified tile. + /// @param[in] tile The tile. + /// @return The tile reference of the tile. + dtTileRef getTileRef(const dtMeshTile* tile) const; + + /// Gets the tile for the specified tile reference. + /// @param[in] ref The tile reference of the tile to retrieve. + /// @return The tile for the specified reference, or null if the + /// reference is invalid. + const dtMeshTile* getTileByRef(dtTileRef ref) const; + + /// The maximum number of tiles supported by the navigation mesh. + /// @return The maximum number of tiles supported by the navigation mesh. + int getMaxTiles() const; + + /// Gets the tile at the specified index. + /// @param[in] i The tile index. [Limit: 0 >= index < #getMaxTiles()] + /// @return The tile at the specified index. + const dtMeshTile* getTile(int i) const; + + /// Gets the tile and polygon for the specified polygon reference. + /// @param[in] ref The reference for the a polygon. + /// @param[out] tile The tile containing the polygon. + /// @param[out] poly The polygon. + /// @return The status flags for the operation. + dtStatus getTileAndPolyByRef(const dtPolyRef ref, const dtMeshTile** tile, const dtPoly** poly) const; + + /// Returns the tile and polygon for the specified polygon reference. + /// @param[in] ref A known valid reference for a polygon. + /// @param[out] tile The tile containing the polygon. + /// @param[out] poly The polygon. + void getTileAndPolyByRefUnsafe(const dtPolyRef ref, const dtMeshTile** tile, const dtPoly** poly) const; + + /// Checks the validity of a polygon reference. + /// @param[in] ref The polygon reference to check. + /// @return True if polygon reference is valid for the navigation mesh. + bool isValidPolyRef(dtPolyRef ref) const; + + /// Gets the polygon reference for the tile's base polygon. + /// @param[in] tile The tile. + /// @return The polygon reference for the base polygon in the specified tile. + dtPolyRef getPolyRefBase(const dtMeshTile* tile) const; + + /// Gets the endpoints for an off-mesh connection, ordered by "direction of travel". + /// @param[in] prevRef The reference of the polygon before the connection. + /// @param[in] polyRef The reference of the off-mesh connection polygon. + /// @param[out] startPos The start position of the off-mesh connection. [(x, y, z)] + /// @param[out] endPos The end position of the off-mesh connection. [(x, y, z)] + /// @return The status flags for the operation. + dtStatus getOffMeshConnectionPolyEndPoints(dtPolyRef prevRef, dtPolyRef polyRef, float* startPos, float* endPos) const; + + /// Gets the specified off-mesh connection. + /// @param[in] ref The polygon reference of the off-mesh connection. + /// @return The specified off-mesh connection, or null if the polygon reference is not valid. + const dtOffMeshConnection* getOffMeshConnectionByRef(dtPolyRef ref) const; + + /// @} + + /// @{ + /// @name State Management + /// These functions do not effect #dtTileRef or #dtPolyRef's. + + /// Sets the user defined flags for the specified polygon. + /// @param[in] ref The polygon reference. + /// @param[in] flags The new flags for the polygon. + /// @return The status flags for the operation. + dtStatus setPolyFlags(dtPolyRef ref, unsigned short flags); + + /// Gets the user defined flags for the specified polygon. + /// @param[in] ref The polygon reference. + /// @param[out] resultFlags The polygon flags. + /// @return The status flags for the operation. + dtStatus getPolyFlags(dtPolyRef ref, unsigned short* resultFlags) const; + + /// Sets the user defined area for the specified polygon. + /// @param[in] ref The polygon reference. + /// @param[in] area The new area id for the polygon. [Limit: < #DT_MAX_AREAS] + /// @return The status flags for the operation. + dtStatus setPolyArea(dtPolyRef ref, unsigned char area); + + /// Gets the user defined area for the specified polygon. + /// @param[in] ref The polygon reference. + /// @param[out] resultArea The area id for the polygon. + /// @return The status flags for the operation. + dtStatus getPolyArea(dtPolyRef ref, unsigned char* resultArea) const; + + /// Gets the size of the buffer required by #storeTileState to store the specified tile's state. + /// @param[in] tile The tile. + /// @return The size of the buffer required to store the state. + int getTileStateSize(const dtMeshTile* tile) const; + + /// Stores the non-structural state of the tile in the specified buffer. (Flags, area ids, etc.) + /// @param[in] tile The tile. + /// @param[out] data The buffer to store the tile's state in. + /// @param[in] maxDataSize The size of the data buffer. [Limit: >= #getTileStateSize] + /// @return The status flags for the operation. + dtStatus storeTileState(const dtMeshTile* tile, unsigned char* data, const int maxDataSize) const; + + /// Restores the state of the tile. + /// @param[in] tile The tile. + /// @param[in] data The new state. (Obtained from #storeTileState.) + /// @param[in] maxDataSize The size of the state within the data buffer. + /// @return The status flags for the operation. + dtStatus restoreTileState(dtMeshTile* tile, const unsigned char* data, const int maxDataSize); + + /// @} + + /// @{ + /// @name Encoding and Decoding + /// These functions are generally meant for internal use only. + + /// Derives a standard polygon reference. + /// @note This function is generally meant for internal use only. + /// @param[in] salt The tile's salt value. + /// @param[in] it The index of the tile. + /// @param[in] ip The index of the polygon within the tile. + inline dtPolyRef encodePolyId(unsigned int salt, unsigned int it, unsigned int ip) const + { +#ifdef DT_POLYREF64 + return ((dtPolyRef)salt << (DT_POLY_BITS+DT_TILE_BITS)) | ((dtPolyRef)it << DT_POLY_BITS) | (dtPolyRef)ip; +#else + return ((dtPolyRef)salt << (m_polyBits+m_tileBits)) | ((dtPolyRef)it << m_polyBits) | (dtPolyRef)ip; +#endif + } + + /// Decodes a standard polygon reference. + /// @note This function is generally meant for internal use only. + /// @param[in] ref The polygon reference to decode. + /// @param[out] salt The tile's salt value. + /// @param[out] it The index of the tile. + /// @param[out] ip The index of the polygon within the tile. + /// @see #encodePolyId + inline void decodePolyId(dtPolyRef ref, unsigned int& salt, unsigned int& it, unsigned int& ip) const + { +#ifdef DT_POLYREF64 + const dtPolyRef saltMask = ((dtPolyRef)1<> (DT_POLY_BITS+DT_TILE_BITS)) & saltMask); + it = (unsigned int)((ref >> DT_POLY_BITS) & tileMask); + ip = (unsigned int)(ref & polyMask); +#else + const dtPolyRef saltMask = ((dtPolyRef)1<> (m_polyBits+m_tileBits)) & saltMask); + it = (unsigned int)((ref >> m_polyBits) & tileMask); + ip = (unsigned int)(ref & polyMask); +#endif + } + + /// Extracts a tile's salt value from the specified polygon reference. + /// @note This function is generally meant for internal use only. + /// @param[in] ref The polygon reference. + /// @see #encodePolyId + inline unsigned int decodePolyIdSalt(dtPolyRef ref) const + { +#ifdef DT_POLYREF64 + const dtPolyRef saltMask = ((dtPolyRef)1<> (DT_POLY_BITS+DT_TILE_BITS)) & saltMask); +#else + const dtPolyRef saltMask = ((dtPolyRef)1<> (m_polyBits+m_tileBits)) & saltMask); +#endif + } + + /// Extracts the tile's index from the specified polygon reference. + /// @note This function is generally meant for internal use only. + /// @param[in] ref The polygon reference. + /// @see #encodePolyId + inline unsigned int decodePolyIdTile(dtPolyRef ref) const + { +#ifdef DT_POLYREF64 + const dtPolyRef tileMask = ((dtPolyRef)1<> DT_POLY_BITS) & tileMask); +#else + const dtPolyRef tileMask = ((dtPolyRef)1<> m_polyBits) & tileMask); +#endif + } + + /// Extracts the polygon's index (within its tile) from the specified polygon reference. + /// @note This function is generally meant for internal use only. + /// @param[in] ref The polygon reference. + /// @see #encodePolyId + inline unsigned int decodePolyIdPoly(dtPolyRef ref) const + { +#ifdef DT_POLYREF64 + const dtPolyRef polyMask = ((dtPolyRef)1<header->bvQuantFactor; +const dtBVNode* n = &tile->bvTree[i]; +if (n->i >= 0) +{ + // This is a leaf node. + float worldMinX = tile->header->bmin[0] + n->bmin[0]*cs; + float worldMinY = tile->header->bmin[0] + n->bmin[1]*cs; + // Etc... +} +@endcode + +@struct dtMeshTile +@par + +Tiles generally only exist within the context of a dtNavMesh object. + +Some tile content is optional. For example, a tile may not contain any +off-mesh connections. In this case the associated pointer will be null. + +If a detail mesh exists it will share vertices with the base polygon mesh. +Only the vertices unique to the detail mesh will be stored in #detailVerts. + +@warning Tiles returned by a dtNavMesh object are not guarenteed to be populated. +For example: The tile at a location might not have been loaded yet, or may have been removed. +In this case, pointers will be null. So if in doubt, check the polygon count in the +tile's header to determine if a tile has polygons defined. + +@var float dtOffMeshConnection::pos[6] +@par + +For a properly built navigation mesh, vertex A will always be within the bounds of the mesh. +Vertex B is not required to be within the bounds of the mesh. + +*/ diff --git a/extern/fetched/recastnavigation/Detour/Include/DetourNavMeshBuilder.h b/extern/fetched/recastnavigation/Detour/Include/DetourNavMeshBuilder.h new file mode 100644 index 000000000..9425a7a78 --- /dev/null +++ b/extern/fetched/recastnavigation/Detour/Include/DetourNavMeshBuilder.h @@ -0,0 +1,149 @@ +// +// Copyright (c) 2009-2010 Mikko Mononen memon@inside.org +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. +// + +#ifndef DETOURNAVMESHBUILDER_H +#define DETOURNAVMESHBUILDER_H + +#include "DetourAlloc.h" + +/// Represents the source data used to build an navigation mesh tile. +/// @ingroup detour +struct dtNavMeshCreateParams +{ + + /// @name Polygon Mesh Attributes + /// Used to create the base navigation graph. + /// See #rcPolyMesh for details related to these attributes. + /// @{ + + const unsigned short* verts; ///< The polygon mesh vertices. [(x, y, z) * #vertCount] [Unit: vx] + int vertCount; ///< The number vertices in the polygon mesh. [Limit: >= 3] + const unsigned short* polys; ///< The polygon data. [Size: #polyCount * 2 * #nvp] + const unsigned short* polyFlags; ///< The user defined flags assigned to each polygon. [Size: #polyCount] + const unsigned char* polyAreas; ///< The user defined area ids assigned to each polygon. [Size: #polyCount] + int polyCount; ///< Number of polygons in the mesh. [Limit: >= 1] + int nvp; ///< Number maximum number of vertices per polygon. [Limit: >= 3] + + /// @} + /// @name Height Detail Attributes (Optional) + /// See #rcPolyMeshDetail for details related to these attributes. + /// @{ + + const unsigned int* detailMeshes; ///< The height detail sub-mesh data. [Size: 4 * #polyCount] + const float* detailVerts; ///< The detail mesh vertices. [Size: 3 * #detailVertsCount] [Unit: wu] + int detailVertsCount; ///< The number of vertices in the detail mesh. + const unsigned char* detailTris; ///< The detail mesh triangles. [Size: 4 * #detailTriCount] + int detailTriCount; ///< The number of triangles in the detail mesh. + + /// @} + /// @name Off-Mesh Connections Attributes (Optional) + /// Used to define a custom point-to-point edge within the navigation graph, an + /// off-mesh connection is a user defined traversable connection made up to two vertices, + /// at least one of which resides within a navigation mesh polygon. + /// @{ + + /// Off-mesh connection vertices. [(ax, ay, az, bx, by, bz) * #offMeshConCount] [Unit: wu] + const float* offMeshConVerts; + /// Off-mesh connection radii. [Size: #offMeshConCount] [Unit: wu] + const float* offMeshConRad; + /// User defined flags assigned to the off-mesh connections. [Size: #offMeshConCount] + const unsigned short* offMeshConFlags; + /// User defined area ids assigned to the off-mesh connections. [Size: #offMeshConCount] + const unsigned char* offMeshConAreas; + /// The permitted travel direction of the off-mesh connections. [Size: #offMeshConCount] + /// + /// 0 = Travel only from endpoint A to endpoint B.
+ /// #DT_OFFMESH_CON_BIDIR = Bidirectional travel. + const unsigned char* offMeshConDir; + /// The user defined ids of the off-mesh connection. [Size: #offMeshConCount] + const unsigned int* offMeshConUserID; + /// The number of off-mesh connections. [Limit: >= 0] + int offMeshConCount; + + /// @} + /// @name Tile Attributes + /// @note The tile grid/layer data can be left at zero if the destination is a single tile mesh. + /// @{ + + unsigned int userId; ///< The user defined id of the tile. + int tileX; ///< The tile's x-grid location within the multi-tile destination mesh. (Along the x-axis.) + int tileY; ///< The tile's y-grid location within the multi-tile desitation mesh. (Along the z-axis.) + int tileLayer; ///< The tile's layer within the layered destination mesh. [Limit: >= 0] (Along the y-axis.) + float bmin[3]; ///< The minimum bounds of the tile. [(x, y, z)] [Unit: wu] + float bmax[3]; ///< The maximum bounds of the tile. [(x, y, z)] [Unit: wu] + + /// @} + /// @name General Configuration Attributes + /// @{ + + float walkableHeight; ///< The agent height. [Unit: wu] + float walkableRadius; ///< The agent radius. [Unit: wu] + float walkableClimb; ///< The agent maximum traversable ledge. (Up/Down) [Unit: wu] + float cs; ///< The xz-plane cell size of the polygon mesh. [Limit: > 0] [Unit: wu] + float ch; ///< The y-axis cell height of the polygon mesh. [Limit: > 0] [Unit: wu] + + /// True if a bounding volume tree should be built for the tile. + /// @note The BVTree is not normally needed for layered navigation meshes. + bool buildBvTree; + + /// @} +}; + +/// Builds navigation mesh tile data from the provided tile creation data. +/// @ingroup detour +/// @param[in] params Tile creation data. +/// @param[out] outData The resulting tile data. +/// @param[out] outDataSize The size of the tile data array. +/// @return True if the tile data was successfully created. +bool dtCreateNavMeshData(dtNavMeshCreateParams* params, unsigned char** outData, int* outDataSize); + +/// Swaps the endianess of the tile data's header (#dtMeshHeader). +/// @param[in,out] data The tile data array. +/// @param[in] dataSize The size of the data array. +bool dtNavMeshHeaderSwapEndian(unsigned char* data, const int dataSize); + +/// Swaps endianess of the tile data. +/// @param[in,out] data The tile data array. +/// @param[in] dataSize The size of the data array. +bool dtNavMeshDataSwapEndian(unsigned char* data, const int dataSize); + +#endif // DETOURNAVMESHBUILDER_H + +// This section contains detailed documentation for members that don't have +// a source file. It reduces clutter in the main section of the header. + +/** + +@struct dtNavMeshCreateParams +@par + +This structure is used to marshal data between the Recast mesh generation pipeline and Detour navigation components. + +See the rcPolyMesh and rcPolyMeshDetail documentation for detailed information related to mesh structure. + +Units are usually in voxels (vx) or world units (wu). The units for voxels, grid size, and cell size +are all based on the values of #cs and #ch. + +The standard navigation mesh build process is to create tile data using dtCreateNavMeshData, then add the tile +to a navigation mesh using either the dtNavMesh single tile init() function or the dtNavMesh::addTile() +function. + +@see dtCreateNavMeshData + +*/ + diff --git a/extern/fetched/recastnavigation/Detour/Include/DetourNavMeshQuery.h b/extern/fetched/recastnavigation/Detour/Include/DetourNavMeshQuery.h new file mode 100644 index 000000000..08b70a8f5 --- /dev/null +++ b/extern/fetched/recastnavigation/Detour/Include/DetourNavMeshQuery.h @@ -0,0 +1,589 @@ +// +// Copyright (c) 2009-2010 Mikko Mononen memon@inside.org +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. +// + +#ifndef DETOURNAVMESHQUERY_H +#define DETOURNAVMESHQUERY_H + +#include "DetourNavMesh.h" +#include "DetourStatus.h" + + +// Define DT_VIRTUAL_QUERYFILTER if you wish to derive a custom filter from dtQueryFilter. +// On certain platforms indirect or virtual function call is expensive. The default +// setting is to use non-virtual functions, the actual implementations of the functions +// are declared as inline for maximum speed. + +//#define DT_VIRTUAL_QUERYFILTER 1 + +/// Defines polygon filtering and traversal costs for navigation mesh query operations. +/// @ingroup detour +class dtQueryFilter +{ + float m_areaCost[DT_MAX_AREAS]; ///< Cost per area type. (Used by default implementation.) + unsigned short m_includeFlags; ///< Flags for polygons that can be visited. (Used by default implementation.) + unsigned short m_excludeFlags; ///< Flags for polygons that should not be visted. (Used by default implementation.) + +public: + dtQueryFilter(); + +#ifdef DT_VIRTUAL_QUERYFILTER + virtual ~dtQueryFilter() { } +#endif + + /// Returns true if the polygon can be visited. (I.e. Is traversable.) + /// @param[in] ref The reference id of the polygon test. + /// @param[in] tile The tile containing the polygon. + /// @param[in] poly The polygon to test. +#ifdef DT_VIRTUAL_QUERYFILTER + virtual bool passFilter(const dtPolyRef ref, + const dtMeshTile* tile, + const dtPoly* poly) const; +#else + bool passFilter(const dtPolyRef ref, + const dtMeshTile* tile, + const dtPoly* poly) const; +#endif + + /// Returns cost to move from the beginning to the end of a line segment + /// that is fully contained within a polygon. + /// @param[in] pa The start position on the edge of the previous and current polygon. [(x, y, z)] + /// @param[in] pb The end position on the edge of the current and next polygon. [(x, y, z)] + /// @param[in] prevRef The reference id of the previous polygon. [opt] + /// @param[in] prevTile The tile containing the previous polygon. [opt] + /// @param[in] prevPoly The previous polygon. [opt] + /// @param[in] curRef The reference id of the current polygon. + /// @param[in] curTile The tile containing the current polygon. + /// @param[in] curPoly The current polygon. + /// @param[in] nextRef The refernece id of the next polygon. [opt] + /// @param[in] nextTile The tile containing the next polygon. [opt] + /// @param[in] nextPoly The next polygon. [opt] +#ifdef DT_VIRTUAL_QUERYFILTER + virtual float getCost(const float* pa, const float* pb, + const dtPolyRef prevRef, const dtMeshTile* prevTile, const dtPoly* prevPoly, + const dtPolyRef curRef, const dtMeshTile* curTile, const dtPoly* curPoly, + const dtPolyRef nextRef, const dtMeshTile* nextTile, const dtPoly* nextPoly) const; +#else + float getCost(const float* pa, const float* pb, + const dtPolyRef prevRef, const dtMeshTile* prevTile, const dtPoly* prevPoly, + const dtPolyRef curRef, const dtMeshTile* curTile, const dtPoly* curPoly, + const dtPolyRef nextRef, const dtMeshTile* nextTile, const dtPoly* nextPoly) const; +#endif + + /// @name Getters and setters for the default implementation data. + ///@{ + + /// Returns the traversal cost of the area. + /// @param[in] i The id of the area. + /// @returns The traversal cost of the area. + inline float getAreaCost(const int i) const { return m_areaCost[i]; } + + /// Sets the traversal cost of the area. + /// @param[in] i The id of the area. + /// @param[in] cost The new cost of traversing the area. + inline void setAreaCost(const int i, const float cost) { m_areaCost[i] = cost; } + + /// Returns the include flags for the filter. + /// Any polygons that include one or more of these flags will be + /// included in the operation. + inline unsigned short getIncludeFlags() const { return m_includeFlags; } + + /// Sets the include flags for the filter. + /// @param[in] flags The new flags. + inline void setIncludeFlags(const unsigned short flags) { m_includeFlags = flags; } + + /// Returns the exclude flags for the filter. + /// Any polygons that include one ore more of these flags will be + /// excluded from the operation. + inline unsigned short getExcludeFlags() const { return m_excludeFlags; } + + /// Sets the exclude flags for the filter. + /// @param[in] flags The new flags. + inline void setExcludeFlags(const unsigned short flags) { m_excludeFlags = flags; } + + ///@} + +}; + +/// Provides information about raycast hit +/// filled by dtNavMeshQuery::raycast +/// @ingroup detour +struct dtRaycastHit +{ + /// The hit parameter. (FLT_MAX if no wall hit.) + float t; + + /// hitNormal The normal of the nearest wall hit. [(x, y, z)] + float hitNormal[3]; + + /// The index of the edge on the final polygon where the wall was hit. + int hitEdgeIndex; + + /// Pointer to an array of reference ids of the visited polygons. [opt] + dtPolyRef* path; + + /// The number of visited polygons. [opt] + int pathCount; + + /// The maximum number of polygons the @p path array can hold. + int maxPath; + + /// The cost of the path until hit. + float pathCost; +}; + +/// Provides custom polygon query behavior. +/// Used by dtNavMeshQuery::queryPolygons. +/// @ingroup detour +class dtPolyQuery +{ +public: + virtual ~dtPolyQuery() { } + + /// Called for each batch of unique polygons touched by the search area in dtNavMeshQuery::queryPolygons. + /// This can be called multiple times for a single query. + virtual void process(const dtMeshTile* tile, dtPoly** polys, dtPolyRef* refs, int count) = 0; +}; + +/// Provides the ability to perform pathfinding related queries against +/// a navigation mesh. +/// @ingroup detour +class dtNavMeshQuery +{ +public: + dtNavMeshQuery(); + ~dtNavMeshQuery(); + + /// Initializes the query object. + /// @param[in] nav Pointer to the dtNavMesh object to use for all queries. + /// @param[in] maxNodes Maximum number of search nodes. [Limits: 0 < value <= 65535] + /// @returns The status flags for the query. + dtStatus init(const dtNavMesh* nav, const int maxNodes); + + /// @name Standard Pathfinding Functions + // /@{ + + /// Finds a path from the start polygon to the end polygon. + /// @param[in] startRef The refrence id of the start polygon. + /// @param[in] endRef The reference id of the end polygon. + /// @param[in] startPos A position within the start polygon. [(x, y, z)] + /// @param[in] endPos A position within the end polygon. [(x, y, z)] + /// @param[in] filter The polygon filter to apply to the query. + /// @param[out] path An ordered list of polygon references representing the path. (Start to end.) + /// [(polyRef) * @p pathCount] + /// @param[out] pathCount The number of polygons returned in the @p path array. + /// @param[in] maxPath The maximum number of polygons the @p path array can hold. [Limit: >= 1] + dtStatus findPath(dtPolyRef startRef, dtPolyRef endRef, + const float* startPos, const float* endPos, + const dtQueryFilter* filter, + dtPolyRef* path, int* pathCount, const int maxPath) const; + + /// Finds the straight path from the start to the end position within the polygon corridor. + /// @param[in] startPos Path start position. [(x, y, z)] + /// @param[in] endPos Path end position. [(x, y, z)] + /// @param[in] path An array of polygon references that represent the path corridor. + /// @param[in] pathSize The number of polygons in the @p path array. + /// @param[out] straightPath Points describing the straight path. [(x, y, z) * @p straightPathCount]. + /// @param[out] straightPathFlags Flags describing each point. (See: #dtStraightPathFlags) [opt] + /// @param[out] straightPathRefs The reference id of the polygon that is being entered at each point. [opt] + /// @param[out] straightPathCount The number of points in the straight path. + /// @param[in] maxStraightPath The maximum number of points the straight path arrays can hold. [Limit: > 0] + /// @param[in] options Query options. (see: #dtStraightPathOptions) + /// @returns The status flags for the query. + dtStatus findStraightPath(const float* startPos, const float* endPos, + const dtPolyRef* path, const int pathSize, + float* straightPath, unsigned char* straightPathFlags, dtPolyRef* straightPathRefs, + int* straightPathCount, const int maxStraightPath, const int options = 0) const; + + ///@} + /// @name Sliced Pathfinding Functions + /// Common use case: + /// -# Call initSlicedFindPath() to initialize the sliced path query. + /// -# Call updateSlicedFindPath() until it returns complete. + /// -# Call finalizeSlicedFindPath() to get the path. + ///@{ + + /// Intializes a sliced path query. + /// @param[in] startRef The refrence id of the start polygon. + /// @param[in] endRef The reference id of the end polygon. + /// @param[in] startPos A position within the start polygon. [(x, y, z)] + /// @param[in] endPos A position within the end polygon. [(x, y, z)] + /// @param[in] filter The polygon filter to apply to the query. + /// @param[in] options query options (see: #dtFindPathOptions) + /// @returns The status flags for the query. + dtStatus initSlicedFindPath(dtPolyRef startRef, dtPolyRef endRef, + const float* startPos, const float* endPos, + const dtQueryFilter* filter, const unsigned int options = 0); + + /// Updates an in-progress sliced path query. + /// @param[in] maxIter The maximum number of iterations to perform. + /// @param[out] doneIters The actual number of iterations completed. [opt] + /// @returns The status flags for the query. + dtStatus updateSlicedFindPath(const int maxIter, int* doneIters); + + /// Finalizes and returns the results of a sliced path query. + /// @param[out] path An ordered list of polygon references representing the path. (Start to end.) + /// [(polyRef) * @p pathCount] + /// @param[out] pathCount The number of polygons returned in the @p path array. + /// @param[in] maxPath The max number of polygons the path array can hold. [Limit: >= 1] + /// @returns The status flags for the query. + dtStatus finalizeSlicedFindPath(dtPolyRef* path, int* pathCount, const int maxPath); + + /// Finalizes and returns the results of an incomplete sliced path query, returning the path to the furthest + /// polygon on the existing path that was visited during the search. + /// @param[in] existing An array of polygon references for the existing path. + /// @param[in] existingSize The number of polygon in the @p existing array. + /// @param[out] path An ordered list of polygon references representing the path. (Start to end.) + /// [(polyRef) * @p pathCount] + /// @param[out] pathCount The number of polygons returned in the @p path array. + /// @param[in] maxPath The max number of polygons the @p path array can hold. [Limit: >= 1] + /// @returns The status flags for the query. + dtStatus finalizeSlicedFindPathPartial(const dtPolyRef* existing, const int existingSize, + dtPolyRef* path, int* pathCount, const int maxPath); + + ///@} + /// @name Dijkstra Search Functions + /// @{ + + /// Finds the polygons along the navigation graph that touch the specified circle. + /// @param[in] startRef The reference id of the polygon where the search starts. + /// @param[in] centerPos The center of the search circle. [(x, y, z)] + /// @param[in] radius The radius of the search circle. + /// @param[in] filter The polygon filter to apply to the query. + /// @param[out] resultRef The reference ids of the polygons touched by the circle. [opt] + /// @param[out] resultParent The reference ids of the parent polygons for each result. + /// Zero if a result polygon has no parent. [opt] + /// @param[out] resultCost The search cost from @p centerPos to the polygon. [opt] + /// @param[out] resultCount The number of polygons found. [opt] + /// @param[in] maxResult The maximum number of polygons the result arrays can hold. + /// @returns The status flags for the query. + dtStatus findPolysAroundCircle(dtPolyRef startRef, const float* centerPos, const float radius, + const dtQueryFilter* filter, + dtPolyRef* resultRef, dtPolyRef* resultParent, float* resultCost, + int* resultCount, const int maxResult) const; + + /// Finds the polygons along the naviation graph that touch the specified convex polygon. + /// @param[in] startRef The reference id of the polygon where the search starts. + /// @param[in] verts The vertices describing the convex polygon. (CCW) + /// [(x, y, z) * @p nverts] + /// @param[in] nverts The number of vertices in the polygon. + /// @param[in] filter The polygon filter to apply to the query. + /// @param[out] resultRef The reference ids of the polygons touched by the search polygon. [opt] + /// @param[out] resultParent The reference ids of the parent polygons for each result. Zero if a + /// result polygon has no parent. [opt] + /// @param[out] resultCost The search cost from the centroid point to the polygon. [opt] + /// @param[out] resultCount The number of polygons found. + /// @param[in] maxResult The maximum number of polygons the result arrays can hold. + /// @returns The status flags for the query. + dtStatus findPolysAroundShape(dtPolyRef startRef, const float* verts, const int nverts, + const dtQueryFilter* filter, + dtPolyRef* resultRef, dtPolyRef* resultParent, float* resultCost, + int* resultCount, const int maxResult) const; + + /// Gets a path from the explored nodes in the previous search. + /// @param[in] endRef The reference id of the end polygon. + /// @param[out] path An ordered list of polygon references representing the path. (Start to end.) + /// [(polyRef) * @p pathCount] + /// @param[out] pathCount The number of polygons returned in the @p path array. + /// @param[in] maxPath The maximum number of polygons the @p path array can hold. [Limit: >= 0] + /// @returns The status flags. Returns DT_FAILURE | DT_INVALID_PARAM if any parameter is wrong, or if + /// @p endRef was not explored in the previous search. Returns DT_SUCCESS | DT_BUFFER_TOO_SMALL + /// if @p path cannot contain the entire path. In this case it is filled to capacity with a partial path. + /// Otherwise returns DT_SUCCESS. + /// @remarks The result of this function depends on the state of the query object. For that reason it should only + /// be used immediately after one of the two Dijkstra searches, findPolysAroundCircle or findPolysAroundShape. + dtStatus getPathFromDijkstraSearch(dtPolyRef endRef, dtPolyRef* path, int* pathCount, int maxPath) const; + + /// @} + /// @name Local Query Functions + ///@{ + + /// Finds the polygon nearest to the specified center point. + /// [opt] means the specified parameter can be a null pointer, in that case the output parameter will not be set. + /// + /// @param[in] center The center of the search box. [(x, y, z)] + /// @param[in] halfExtents The search distance along each axis. [(x, y, z)] + /// @param[in] filter The polygon filter to apply to the query. + /// @param[out] nearestRef The reference id of the nearest polygon. Will be set to 0 if no polygon is found. + /// @param[out] nearestPt The nearest point on the polygon. Unchanged if no polygon is found. [opt] [(x, y, z)] + /// @returns The status flags for the query. + dtStatus findNearestPoly(const float* center, const float* halfExtents, + const dtQueryFilter* filter, + dtPolyRef* nearestRef, float* nearestPt) const; + + /// Finds the polygon nearest to the specified center point. + /// [opt] means the specified parameter can be a null pointer, in that case the output parameter will not be set. + /// + /// @param[in] center The center of the search box. [(x, y, z)] + /// @param[in] halfExtents The search distance along each axis. [(x, y, z)] + /// @param[in] filter The polygon filter to apply to the query. + /// @param[out] nearestRef The reference id of the nearest polygon. Will be set to 0 if no polygon is found. + /// @param[out] nearestPt The nearest point on the polygon. Unchanged if no polygon is found. [opt] [(x, y, z)] + /// @param[out] isOverPoly Set to true if the point's X/Z coordinate lies inside the polygon, false otherwise. Unchanged if no polygon is found. [opt] + /// @returns The status flags for the query. + dtStatus findNearestPoly(const float* center, const float* halfExtents, + const dtQueryFilter* filter, + dtPolyRef* nearestRef, float* nearestPt, bool* isOverPoly) const; + + /// Finds polygons that overlap the search box. + /// @param[in] center The center of the search box. [(x, y, z)] + /// @param[in] halfExtents The search distance along each axis. [(x, y, z)] + /// @param[in] filter The polygon filter to apply to the query. + /// @param[out] polys The reference ids of the polygons that overlap the query box. + /// @param[out] polyCount The number of polygons in the search result. + /// @param[in] maxPolys The maximum number of polygons the search result can hold. + /// @returns The status flags for the query. + dtStatus queryPolygons(const float* center, const float* halfExtents, + const dtQueryFilter* filter, + dtPolyRef* polys, int* polyCount, const int maxPolys) const; + + /// Finds polygons that overlap the search box. + /// @param[in] center The center of the search box. [(x, y, z)] + /// @param[in] halfExtents The search distance along each axis. [(x, y, z)] + /// @param[in] filter The polygon filter to apply to the query. + /// @param[in] query The query. Polygons found will be batched together and passed to this query. + dtStatus queryPolygons(const float* center, const float* halfExtents, + const dtQueryFilter* filter, dtPolyQuery* query) const; + + /// Finds the non-overlapping navigation polygons in the local neighbourhood around the center position. + /// @param[in] startRef The reference id of the polygon where the search starts. + /// @param[in] centerPos The center of the query circle. [(x, y, z)] + /// @param[in] radius The radius of the query circle. + /// @param[in] filter The polygon filter to apply to the query. + /// @param[out] resultRef The reference ids of the polygons touched by the circle. + /// @param[out] resultParent The reference ids of the parent polygons for each result. + /// Zero if a result polygon has no parent. [opt] + /// @param[out] resultCount The number of polygons found. + /// @param[in] maxResult The maximum number of polygons the result arrays can hold. + /// @returns The status flags for the query. + dtStatus findLocalNeighbourhood(dtPolyRef startRef, const float* centerPos, const float radius, + const dtQueryFilter* filter, + dtPolyRef* resultRef, dtPolyRef* resultParent, + int* resultCount, const int maxResult) const; + + /// Moves from the start to the end position constrained to the navigation mesh. + /// @param[in] startRef The reference id of the start polygon. + /// @param[in] startPos A position of the mover within the start polygon. [(x, y, x)] + /// @param[in] endPos The desired end position of the mover. [(x, y, z)] + /// @param[in] filter The polygon filter to apply to the query. + /// @param[out] resultPos The result position of the mover. [(x, y, z)] + /// @param[out] visited The reference ids of the polygons visited during the move. + /// @param[out] visitedCount The number of polygons visited during the move. + /// @param[in] maxVisitedSize The maximum number of polygons the @p visited array can hold. + /// @returns The status flags for the query. + dtStatus moveAlongSurface(dtPolyRef startRef, const float* startPos, const float* endPos, + const dtQueryFilter* filter, + float* resultPos, dtPolyRef* visited, int* visitedCount, const int maxVisitedSize) const; + + /// Casts a 'walkability' ray along the surface of the navigation mesh from + /// the start position toward the end position. + /// @note A wrapper around raycast(..., RaycastHit*). Retained for backward compatibility. + /// @param[in] startRef The reference id of the start polygon. + /// @param[in] startPos A position within the start polygon representing + /// the start of the ray. [(x, y, z)] + /// @param[in] endPos The position to cast the ray toward. [(x, y, z)] + /// @param[out] t The hit parameter. (FLT_MAX if no wall hit.) + /// @param[out] hitNormal The normal of the nearest wall hit. [(x, y, z)] + /// @param[in] filter The polygon filter to apply to the query. + /// @param[out] path The reference ids of the visited polygons. [opt] + /// @param[out] pathCount The number of visited polygons. [opt] + /// @param[in] maxPath The maximum number of polygons the @p path array can hold. + /// @returns The status flags for the query. + dtStatus raycast(dtPolyRef startRef, const float* startPos, const float* endPos, + const dtQueryFilter* filter, + float* t, float* hitNormal, dtPolyRef* path, int* pathCount, const int maxPath) const; + + /// Casts a 'walkability' ray along the surface of the navigation mesh from + /// the start position toward the end position. + /// @param[in] startRef The reference id of the start polygon. + /// @param[in] startPos A position within the start polygon representing + /// the start of the ray. [(x, y, z)] + /// @param[in] endPos The position to cast the ray toward. [(x, y, z)] + /// @param[in] filter The polygon filter to apply to the query. + /// @param[in] flags govern how the raycast behaves. See dtRaycastOptions + /// @param[out] hit Pointer to a raycast hit structure which will be filled by the results. + /// @param[in] prevRef parent of start ref. Used during for cost calculation [opt] + /// @returns The status flags for the query. + dtStatus raycast(dtPolyRef startRef, const float* startPos, const float* endPos, + const dtQueryFilter* filter, const unsigned int options, + dtRaycastHit* hit, dtPolyRef prevRef = 0) const; + + + /// Finds the distance from the specified position to the nearest polygon wall. + /// @param[in] startRef The reference id of the polygon containing @p centerPos. + /// @param[in] centerPos The center of the search circle. [(x, y, z)] + /// @param[in] maxRadius The radius of the search circle. + /// @param[in] filter The polygon filter to apply to the query. + /// @param[out] hitDist The distance to the nearest wall from @p centerPos. + /// @param[out] hitPos The nearest position on the wall that was hit. [(x, y, z)] + /// @param[out] hitNormal The normalized ray formed from the wall point to the + /// source point. [(x, y, z)] + /// @returns The status flags for the query. + dtStatus findDistanceToWall(dtPolyRef startRef, const float* centerPos, const float maxRadius, + const dtQueryFilter* filter, + float* hitDist, float* hitPos, float* hitNormal) const; + + /// Returns the segments for the specified polygon, optionally including portals. + /// @param[in] ref The reference id of the polygon. + /// @param[in] filter The polygon filter to apply to the query. + /// @param[out] segmentVerts The segments. [(ax, ay, az, bx, by, bz) * segmentCount] + /// @param[out] segmentRefs The reference ids of each segment's neighbor polygon. + /// Or zero if the segment is a wall. [opt] [(parentRef) * @p segmentCount] + /// @param[out] segmentCount The number of segments returned. + /// @param[in] maxSegments The maximum number of segments the result arrays can hold. + /// @returns The status flags for the query. + dtStatus getPolyWallSegments(dtPolyRef ref, const dtQueryFilter* filter, + float* segmentVerts, dtPolyRef* segmentRefs, int* segmentCount, + const int maxSegments) const; + + /// Returns random location on navmesh. + /// Polygons are chosen weighted by area. The search runs in linear related to number of polygon. + /// @param[in] filter The polygon filter to apply to the query. + /// @param[in] frand Function returning a random number [0..1). + /// @param[out] randomRef The reference id of the random location. + /// @param[out] randomPt The random location. + /// @returns The status flags for the query. + dtStatus findRandomPoint(const dtQueryFilter* filter, float (*frand)(), + dtPolyRef* randomRef, float* randomPt) const; + + /// Returns random location on navmesh within the reach of specified location. + /// Polygons are chosen weighted by area. The search runs in linear related to number of polygon. + /// The location is not exactly constrained by the circle, but it limits the visited polygons. + /// @param[in] startRef The reference id of the polygon where the search starts. + /// @param[in] centerPos The center of the search circle. [(x, y, z)] + /// @param[in] filter The polygon filter to apply to the query. + /// @param[in] frand Function returning a random number [0..1). + /// @param[out] randomRef The reference id of the random location. + /// @param[out] randomPt The random location. [(x, y, z)] + /// @returns The status flags for the query. + dtStatus findRandomPointAroundCircle(dtPolyRef startRef, const float* centerPos, const float maxRadius, + const dtQueryFilter* filter, float (*frand)(), + dtPolyRef* randomRef, float* randomPt) const; + + /// Finds the closest point on the specified polygon. + /// @param[in] ref The reference id of the polygon. + /// @param[in] pos The position to check. [(x, y, z)] + /// @param[out] closest The closest point on the polygon. [(x, y, z)] + /// @param[out] posOverPoly True of the position is over the polygon. + /// @returns The status flags for the query. + dtStatus closestPointOnPoly(dtPolyRef ref, const float* pos, float* closest, bool* posOverPoly) const; + + /// Returns a point on the boundary closest to the source point if the source point is outside the + /// polygon's xz-bounds. + /// @param[in] ref The reference id to the polygon. + /// @param[in] pos The position to check. [(x, y, z)] + /// @param[out] closest The closest point. [(x, y, z)] + /// @returns The status flags for the query. + dtStatus closestPointOnPolyBoundary(dtPolyRef ref, const float* pos, float* closest) const; + + /// Gets the height of the polygon at the provided position using the height detail. (Most accurate.) + /// @param[in] ref The reference id of the polygon. + /// @param[in] pos A position within the xz-bounds of the polygon. [(x, y, z)] + /// @param[out] height The height at the surface of the polygon. + /// @returns The status flags for the query. + dtStatus getPolyHeight(dtPolyRef ref, const float* pos, float* height) const; + + /// @} + /// @name Miscellaneous Functions + /// @{ + + /// Returns true if the polygon reference is valid and passes the filter restrictions. + /// @param[in] ref The polygon reference to check. + /// @param[in] filter The filter to apply. + bool isValidPolyRef(dtPolyRef ref, const dtQueryFilter* filter) const; + + /// Returns true if the polygon reference is in the closed list. + /// @param[in] ref The reference id of the polygon to check. + /// @returns True if the polygon is in closed list. + bool isInClosedList(dtPolyRef ref) const; + + /// Gets the node pool. + /// @returns The node pool. + class dtNodePool* getNodePool() const { return m_nodePool; } + + /// Gets the navigation mesh the query object is using. + /// @return The navigation mesh the query object is using. + const dtNavMesh* getAttachedNavMesh() const { return m_nav; } + + /// @} + +private: + // Explicitly disabled copy constructor and copy assignment operator + dtNavMeshQuery(const dtNavMeshQuery&); + dtNavMeshQuery& operator=(const dtNavMeshQuery&); + + /// Queries polygons within a tile. + void queryPolygonsInTile(const dtMeshTile* tile, const float* qmin, const float* qmax, + const dtQueryFilter* filter, dtPolyQuery* query) const; + + /// Returns portal points between two polygons. + dtStatus getPortalPoints(dtPolyRef from, dtPolyRef to, float* left, float* right, + unsigned char& fromType, unsigned char& toType) const; + dtStatus getPortalPoints(dtPolyRef from, const dtPoly* fromPoly, const dtMeshTile* fromTile, + dtPolyRef to, const dtPoly* toPoly, const dtMeshTile* toTile, + float* left, float* right) const; + + /// Returns edge mid point between two polygons. + dtStatus getEdgeMidPoint(dtPolyRef from, dtPolyRef to, float* mid) const; + dtStatus getEdgeMidPoint(dtPolyRef from, const dtPoly* fromPoly, const dtMeshTile* fromTile, + dtPolyRef to, const dtPoly* toPoly, const dtMeshTile* toTile, + float* mid) const; + + // Appends vertex to a straight path + dtStatus appendVertex(const float* pos, const unsigned char flags, const dtPolyRef ref, + float* straightPath, unsigned char* straightPathFlags, dtPolyRef* straightPathRefs, + int* straightPathCount, const int maxStraightPath) const; + + // Appends intermediate portal points to a straight path. + dtStatus appendPortals(const int startIdx, const int endIdx, const float* endPos, const dtPolyRef* path, + float* straightPath, unsigned char* straightPathFlags, dtPolyRef* straightPathRefs, + int* straightPathCount, const int maxStraightPath, const int options) const; + + // Gets the path leading to the specified end node. + dtStatus getPathToNode(struct dtNode* endNode, dtPolyRef* path, int* pathCount, int maxPath) const; + + const dtNavMesh* m_nav; ///< Pointer to navmesh data. + + struct dtQueryData + { + dtStatus status; + struct dtNode* lastBestNode; + float lastBestNodeCost; + dtPolyRef startRef, endRef; + float startPos[3], endPos[3]; + const dtQueryFilter* filter; + unsigned int options; + float raycastLimitSqr; + }; + dtQueryData m_query; ///< Sliced query state. + + class dtNodePool* m_tinyNodePool; ///< Pointer to small node pool. + class dtNodePool* m_nodePool; ///< Pointer to node pool. + class dtNodeQueue* m_openList; ///< Pointer to open list queue. +}; + +/// Allocates a query object using the Detour allocator. +/// @return An allocated query object, or null on failure. +/// @ingroup detour +dtNavMeshQuery* dtAllocNavMeshQuery(); + +/// Frees the specified query object using the Detour allocator. +/// @param[in] query A query object allocated using #dtAllocNavMeshQuery +/// @ingroup detour +void dtFreeNavMeshQuery(dtNavMeshQuery* query); + +#endif // DETOURNAVMESHQUERY_H diff --git a/extern/fetched/recastnavigation/Detour/Include/DetourNode.h b/extern/fetched/recastnavigation/Detour/Include/DetourNode.h new file mode 100644 index 000000000..db0974708 --- /dev/null +++ b/extern/fetched/recastnavigation/Detour/Include/DetourNode.h @@ -0,0 +1,168 @@ +// +// Copyright (c) 2009-2010 Mikko Mononen memon@inside.org +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. +// + +#ifndef DETOURNODE_H +#define DETOURNODE_H + +#include "DetourNavMesh.h" + +enum dtNodeFlags +{ + DT_NODE_OPEN = 0x01, + DT_NODE_CLOSED = 0x02, + DT_NODE_PARENT_DETACHED = 0x04, // parent of the node is not adjacent. Found using raycast. +}; + +typedef unsigned short dtNodeIndex; +static const dtNodeIndex DT_NULL_IDX = (dtNodeIndex)~0; + +static const int DT_NODE_PARENT_BITS = 24; +static const int DT_NODE_STATE_BITS = 2; +struct dtNode +{ + float pos[3]; ///< Position of the node. + float cost; ///< Cost from previous node to current node. + float total; ///< Cost up to the node. + unsigned int pidx : DT_NODE_PARENT_BITS; ///< Index to parent node. + unsigned int state : DT_NODE_STATE_BITS; ///< extra state information. A polyRef can have multiple nodes with different extra info. see DT_MAX_STATES_PER_NODE + unsigned int flags : 3; ///< Node flags. A combination of dtNodeFlags. + dtPolyRef id; ///< Polygon ref the node corresponds to. +}; + +static const int DT_MAX_STATES_PER_NODE = 1 << DT_NODE_STATE_BITS; // number of extra states per node. See dtNode::state + +class dtNodePool +{ +public: + dtNodePool(int maxNodes, int hashSize); + ~dtNodePool(); + void clear(); + + // Get a dtNode by ref and extra state information. If there is none then - allocate + // There can be more than one node for the same polyRef but with different extra state information + dtNode* getNode(dtPolyRef id, unsigned char state=0); + dtNode* findNode(dtPolyRef id, unsigned char state); + unsigned int findNodes(dtPolyRef id, dtNode** nodes, const int maxNodes); + + inline unsigned int getNodeIdx(const dtNode* node) const + { + if (!node) return 0; + return (unsigned int)(node - m_nodes) + 1; + } + + inline dtNode* getNodeAtIdx(unsigned int idx) + { + if (!idx) return 0; + return &m_nodes[idx - 1]; + } + + inline const dtNode* getNodeAtIdx(unsigned int idx) const + { + if (!idx) return 0; + return &m_nodes[idx - 1]; + } + + inline int getMemUsed() const + { + return sizeof(*this) + + sizeof(dtNode)*m_maxNodes + + sizeof(dtNodeIndex)*m_maxNodes + + sizeof(dtNodeIndex)*m_hashSize; + } + + inline int getMaxNodes() const { return m_maxNodes; } + + inline int getHashSize() const { return m_hashSize; } + inline dtNodeIndex getFirst(int bucket) const { return m_first[bucket]; } + inline dtNodeIndex getNext(int i) const { return m_next[i]; } + inline int getNodeCount() const { return m_nodeCount; } + +private: + // Explicitly disabled copy constructor and copy assignment operator. + dtNodePool(const dtNodePool&); + dtNodePool& operator=(const dtNodePool&); + + dtNode* m_nodes; + dtNodeIndex* m_first; + dtNodeIndex* m_next; + const int m_maxNodes; + const int m_hashSize; + int m_nodeCount; +}; + +class dtNodeQueue +{ +public: + dtNodeQueue(int n); + ~dtNodeQueue(); + + inline void clear() { m_size = 0; } + + inline dtNode* top() { return m_heap[0]; } + + inline dtNode* pop() + { + dtNode* result = m_heap[0]; + m_size--; + trickleDown(0, m_heap[m_size]); + return result; + } + + inline void push(dtNode* node) + { + m_size++; + bubbleUp(m_size-1, node); + } + + inline void modify(dtNode* node) + { + for (int i = 0; i < m_size; ++i) + { + if (m_heap[i] == node) + { + bubbleUp(i, node); + return; + } + } + } + + inline bool empty() const { return m_size == 0; } + + inline int getMemUsed() const + { + return sizeof(*this) + + sizeof(dtNode*) * (m_capacity + 1); + } + + inline int getCapacity() const { return m_capacity; } + +private: + // Explicitly disabled copy constructor and copy assignment operator. + dtNodeQueue(const dtNodeQueue&); + dtNodeQueue& operator=(const dtNodeQueue&); + + void bubbleUp(int i, dtNode* node); + void trickleDown(int i, dtNode* node); + + dtNode** m_heap; + const int m_capacity; + int m_size; +}; + + +#endif // DETOURNODE_H diff --git a/extern/fetched/recastnavigation/Detour/Include/DetourStatus.h b/extern/fetched/recastnavigation/Detour/Include/DetourStatus.h new file mode 100644 index 000000000..8e1bb44b9 --- /dev/null +++ b/extern/fetched/recastnavigation/Detour/Include/DetourStatus.h @@ -0,0 +1,65 @@ +// +// Copyright (c) 2009-2010 Mikko Mononen memon@inside.org +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. +// + +#ifndef DETOURSTATUS_H +#define DETOURSTATUS_H + +typedef unsigned int dtStatus; + +// High level status. +static const unsigned int DT_FAILURE = 1u << 31; // Operation failed. +static const unsigned int DT_SUCCESS = 1u << 30; // Operation succeed. +static const unsigned int DT_IN_PROGRESS = 1u << 29; // Operation still in progress. + +// Detail information for status. +static const unsigned int DT_STATUS_DETAIL_MASK = 0x0ffffff; +static const unsigned int DT_WRONG_MAGIC = 1 << 0; // Input data is not recognized. +static const unsigned int DT_WRONG_VERSION = 1 << 1; // Input data is in wrong version. +static const unsigned int DT_OUT_OF_MEMORY = 1 << 2; // Operation ran out of memory. +static const unsigned int DT_INVALID_PARAM = 1 << 3; // An input parameter was invalid. +static const unsigned int DT_BUFFER_TOO_SMALL = 1 << 4; // Result buffer for the query was too small to store all results. +static const unsigned int DT_OUT_OF_NODES = 1 << 5; // Query ran out of nodes during search. +static const unsigned int DT_PARTIAL_RESULT = 1 << 6; // Query did not reach the end location, returning best guess. +static const unsigned int DT_ALREADY_OCCUPIED = 1 << 7; // A tile has already been assigned to the given x,y coordinate + + +// Returns true of status is success. +inline bool dtStatusSucceed(dtStatus status) +{ + return (status & DT_SUCCESS) != 0; +} + +// Returns true of status is failure. +inline bool dtStatusFailed(dtStatus status) +{ + return (status & DT_FAILURE) != 0; +} + +// Returns true of status is in progress. +inline bool dtStatusInProgress(dtStatus status) +{ + return (status & DT_IN_PROGRESS) != 0; +} + +// Returns true if specific detail is set. +inline bool dtStatusDetail(dtStatus status, unsigned int detail) +{ + return (status & detail) != 0; +} + +#endif // DETOURSTATUS_H diff --git a/extern/fetched/recastnavigation/Detour/Source/DetourAlloc.cpp b/extern/fetched/recastnavigation/Detour/Source/DetourAlloc.cpp new file mode 100644 index 000000000..d9ad1fc01 --- /dev/null +++ b/extern/fetched/recastnavigation/Detour/Source/DetourAlloc.cpp @@ -0,0 +1,50 @@ +// +// Copyright (c) 2009-2010 Mikko Mononen memon@inside.org +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. +// + +#include +#include "DetourAlloc.h" + +static void *dtAllocDefault(size_t size, dtAllocHint) +{ + return malloc(size); +} + +static void dtFreeDefault(void *ptr) +{ + free(ptr); +} + +static dtAllocFunc* sAllocFunc = dtAllocDefault; +static dtFreeFunc* sFreeFunc = dtFreeDefault; + +void dtAllocSetCustom(dtAllocFunc *allocFunc, dtFreeFunc *freeFunc) +{ + sAllocFunc = allocFunc ? allocFunc : dtAllocDefault; + sFreeFunc = freeFunc ? freeFunc : dtFreeDefault; +} + +void* dtAlloc(size_t size, dtAllocHint hint) +{ + return sAllocFunc(size, hint); +} + +void dtFree(void* ptr) +{ + if (ptr) + sFreeFunc(ptr); +} diff --git a/extern/fetched/recastnavigation/Detour/Source/DetourAssert.cpp b/extern/fetched/recastnavigation/Detour/Source/DetourAssert.cpp new file mode 100644 index 000000000..5e019e0cf --- /dev/null +++ b/extern/fetched/recastnavigation/Detour/Source/DetourAssert.cpp @@ -0,0 +1,35 @@ +// +// Copyright (c) 2009-2010 Mikko Mononen memon@inside.org +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. +// + +#include "DetourAssert.h" + +#ifndef NDEBUG + +static dtAssertFailFunc* sAssertFailFunc = 0; + +void dtAssertFailSetCustom(dtAssertFailFunc *assertFailFunc) +{ + sAssertFailFunc = assertFailFunc; +} + +dtAssertFailFunc* dtAssertFailGetCustom() +{ + return sAssertFailFunc; +} + +#endif diff --git a/extern/fetched/recastnavigation/Detour/Source/DetourCommon.cpp b/extern/fetched/recastnavigation/Detour/Source/DetourCommon.cpp new file mode 100644 index 000000000..b89d7512c --- /dev/null +++ b/extern/fetched/recastnavigation/Detour/Source/DetourCommon.cpp @@ -0,0 +1,387 @@ +// +// Copyright (c) 2009-2010 Mikko Mononen memon@inside.org +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. +// + +#include "DetourCommon.h" +#include "DetourMath.h" + +////////////////////////////////////////////////////////////////////////////////////////// + +void dtClosestPtPointTriangle(float* closest, const float* p, + const float* a, const float* b, const float* c) +{ + // Check if P in vertex region outside A + float ab[3], ac[3], ap[3]; + dtVsub(ab, b, a); + dtVsub(ac, c, a); + dtVsub(ap, p, a); + float d1 = dtVdot(ab, ap); + float d2 = dtVdot(ac, ap); + if (d1 <= 0.0f && d2 <= 0.0f) + { + // barycentric coordinates (1,0,0) + dtVcopy(closest, a); + return; + } + + // Check if P in vertex region outside B + float bp[3]; + dtVsub(bp, p, b); + float d3 = dtVdot(ab, bp); + float d4 = dtVdot(ac, bp); + if (d3 >= 0.0f && d4 <= d3) + { + // barycentric coordinates (0,1,0) + dtVcopy(closest, b); + return; + } + + // Check if P in edge region of AB, if so return projection of P onto AB + float vc = d1*d4 - d3*d2; + if (vc <= 0.0f && d1 >= 0.0f && d3 <= 0.0f) + { + // barycentric coordinates (1-v,v,0) + float v = d1 / (d1 - d3); + closest[0] = a[0] + v * ab[0]; + closest[1] = a[1] + v * ab[1]; + closest[2] = a[2] + v * ab[2]; + return; + } + + // Check if P in vertex region outside C + float cp[3]; + dtVsub(cp, p, c); + float d5 = dtVdot(ab, cp); + float d6 = dtVdot(ac, cp); + if (d6 >= 0.0f && d5 <= d6) + { + // barycentric coordinates (0,0,1) + dtVcopy(closest, c); + return; + } + + // Check if P in edge region of AC, if so return projection of P onto AC + float vb = d5*d2 - d1*d6; + if (vb <= 0.0f && d2 >= 0.0f && d6 <= 0.0f) + { + // barycentric coordinates (1-w,0,w) + float w = d2 / (d2 - d6); + closest[0] = a[0] + w * ac[0]; + closest[1] = a[1] + w * ac[1]; + closest[2] = a[2] + w * ac[2]; + return; + } + + // Check if P in edge region of BC, if so return projection of P onto BC + float va = d3*d6 - d5*d4; + if (va <= 0.0f && (d4 - d3) >= 0.0f && (d5 - d6) >= 0.0f) + { + // barycentric coordinates (0,1-w,w) + float w = (d4 - d3) / ((d4 - d3) + (d5 - d6)); + closest[0] = b[0] + w * (c[0] - b[0]); + closest[1] = b[1] + w * (c[1] - b[1]); + closest[2] = b[2] + w * (c[2] - b[2]); + return; + } + + // P inside face region. Compute Q through its barycentric coordinates (u,v,w) + float denom = 1.0f / (va + vb + vc); + float v = vb * denom; + float w = vc * denom; + closest[0] = a[0] + ab[0] * v + ac[0] * w; + closest[1] = a[1] + ab[1] * v + ac[1] * w; + closest[2] = a[2] + ab[2] * v + ac[2] * w; +} + +bool dtIntersectSegmentPoly2D(const float* p0, const float* p1, + const float* verts, int nverts, + float& tmin, float& tmax, + int& segMin, int& segMax) +{ + static const float EPS = 0.00000001f; + + tmin = 0; + tmax = 1; + segMin = -1; + segMax = -1; + + float dir[3]; + dtVsub(dir, p1, p0); + + for (int i = 0, j = nverts-1; i < nverts; j=i++) + { + float edge[3], diff[3]; + dtVsub(edge, &verts[i*3], &verts[j*3]); + dtVsub(diff, p0, &verts[j*3]); + const float n = dtVperp2D(edge, diff); + const float d = dtVperp2D(dir, edge); + if (fabsf(d) < EPS) + { + // S is nearly parallel to this edge + if (n < 0) + return false; + else + continue; + } + const float t = n / d; + if (d < 0) + { + // segment S is entering across this edge + if (t > tmin) + { + tmin = t; + segMin = j; + // S enters after leaving polygon + if (tmin > tmax) + return false; + } + } + else + { + // segment S is leaving across this edge + if (t < tmax) + { + tmax = t; + segMax = j; + // S leaves before entering polygon + if (tmax < tmin) + return false; + } + } + } + + return true; +} + +float dtDistancePtSegSqr2D(const float* pt, const float* p, const float* q, float& t) +{ + float pqx = q[0] - p[0]; + float pqz = q[2] - p[2]; + float dx = pt[0] - p[0]; + float dz = pt[2] - p[2]; + float d = pqx*pqx + pqz*pqz; + t = pqx*dx + pqz*dz; + if (d > 0) t /= d; + if (t < 0) t = 0; + else if (t > 1) t = 1; + dx = p[0] + t*pqx - pt[0]; + dz = p[2] + t*pqz - pt[2]; + return dx*dx + dz*dz; +} + +void dtCalcPolyCenter(float* tc, const unsigned short* idx, int nidx, const float* verts) +{ + tc[0] = 0.0f; + tc[1] = 0.0f; + tc[2] = 0.0f; + for (int j = 0; j < nidx; ++j) + { + const float* v = &verts[idx[j]*3]; + tc[0] += v[0]; + tc[1] += v[1]; + tc[2] += v[2]; + } + const float s = 1.0f / nidx; + tc[0] *= s; + tc[1] *= s; + tc[2] *= s; +} + +bool dtClosestHeightPointTriangle(const float* p, const float* a, const float* b, const float* c, float& h) +{ + const float EPS = 1e-6f; + float v0[3], v1[3], v2[3]; + + dtVsub(v0, c, a); + dtVsub(v1, b, a); + dtVsub(v2, p, a); + + // Compute scaled barycentric coordinates + float denom = v0[0] * v1[2] - v0[2] * v1[0]; + if (fabsf(denom) < EPS) + return false; + + float u = v1[2] * v2[0] - v1[0] * v2[2]; + float v = v0[0] * v2[2] - v0[2] * v2[0]; + + if (denom < 0) { + denom = -denom; + u = -u; + v = -v; + } + + // If point lies inside the triangle, return interpolated ycoord. + if (u >= 0.0f && v >= 0.0f && (u + v) <= denom) { + h = a[1] + (v0[1] * u + v1[1] * v) / denom; + return true; + } + return false; +} + +/// @par +/// +/// All points are projected onto the xz-plane, so the y-values are ignored. +bool dtPointInPolygon(const float* pt, const float* verts, const int nverts) +{ + // TODO: Replace pnpoly with triArea2D tests? + int i, j; + bool c = false; + for (i = 0, j = nverts-1; i < nverts; j = i++) + { + const float* vi = &verts[i*3]; + const float* vj = &verts[j*3]; + if (((vi[2] > pt[2]) != (vj[2] > pt[2])) && + (pt[0] < (vj[0]-vi[0]) * (pt[2]-vi[2]) / (vj[2]-vi[2]) + vi[0]) ) + c = !c; + } + return c; +} + +bool dtDistancePtPolyEdgesSqr(const float* pt, const float* verts, const int nverts, + float* ed, float* et) +{ + // TODO: Replace pnpoly with triArea2D tests? + int i, j; + bool c = false; + for (i = 0, j = nverts-1; i < nverts; j = i++) + { + const float* vi = &verts[i*3]; + const float* vj = &verts[j*3]; + if (((vi[2] > pt[2]) != (vj[2] > pt[2])) && + (pt[0] < (vj[0]-vi[0]) * (pt[2]-vi[2]) / (vj[2]-vi[2]) + vi[0]) ) + c = !c; + ed[j] = dtDistancePtSegSqr2D(pt, vj, vi, et[j]); + } + return c; +} + +static void projectPoly(const float* axis, const float* poly, const int npoly, + float& rmin, float& rmax) +{ + rmin = rmax = dtVdot2D(axis, &poly[0]); + for (int i = 1; i < npoly; ++i) + { + const float d = dtVdot2D(axis, &poly[i*3]); + rmin = dtMin(rmin, d); + rmax = dtMax(rmax, d); + } +} + +inline bool overlapRange(const float amin, const float amax, + const float bmin, const float bmax, + const float eps) +{ + return ((amin+eps) > bmax || (amax-eps) < bmin) ? false : true; +} + +/// @par +/// +/// All vertices are projected onto the xz-plane, so the y-values are ignored. +bool dtOverlapPolyPoly2D(const float* polya, const int npolya, + const float* polyb, const int npolyb) +{ + const float eps = 1e-4f; + + for (int i = 0, j = npolya-1; i < npolya; j=i++) + { + const float* va = &polya[j*3]; + const float* vb = &polya[i*3]; + const float n[3] = { vb[2]-va[2], 0, -(vb[0]-va[0]) }; + float amin,amax,bmin,bmax; + projectPoly(n, polya, npolya, amin,amax); + projectPoly(n, polyb, npolyb, bmin,bmax); + if (!overlapRange(amin,amax, bmin,bmax, eps)) + { + // Found separating axis + return false; + } + } + for (int i = 0, j = npolyb-1; i < npolyb; j=i++) + { + const float* va = &polyb[j*3]; + const float* vb = &polyb[i*3]; + const float n[3] = { vb[2]-va[2], 0, -(vb[0]-va[0]) }; + float amin,amax,bmin,bmax; + projectPoly(n, polya, npolya, amin,amax); + projectPoly(n, polyb, npolyb, bmin,bmax); + if (!overlapRange(amin,amax, bmin,bmax, eps)) + { + // Found separating axis + return false; + } + } + return true; +} + +// Returns a random point in a convex polygon. +// Adapted from Graphics Gems article. +void dtRandomPointInConvexPoly(const float* pts, const int npts, float* areas, + const float s, const float t, float* out) +{ + // Calc triangle araes + float areasum = 0.0f; + for (int i = 2; i < npts; i++) { + areas[i] = dtTriArea2D(&pts[0], &pts[(i-1)*3], &pts[i*3]); + areasum += dtMax(0.001f, areas[i]); + } + // Find sub triangle weighted by area. + const float thr = s*areasum; + float acc = 0.0f; + float u = 1.0f; + int tri = npts - 1; + for (int i = 2; i < npts; i++) { + const float dacc = areas[i]; + if (thr >= acc && thr < (acc+dacc)) + { + u = (thr - acc) / dacc; + tri = i; + break; + } + acc += dacc; + } + + float v = dtMathSqrtf(t); + + const float a = 1 - v; + const float b = (1 - u) * v; + const float c = u * v; + const float* pa = &pts[0]; + const float* pb = &pts[(tri-1)*3]; + const float* pc = &pts[tri*3]; + + out[0] = a*pa[0] + b*pb[0] + c*pc[0]; + out[1] = a*pa[1] + b*pb[1] + c*pc[1]; + out[2] = a*pa[2] + b*pb[2] + c*pc[2]; +} + +inline float vperpXZ(const float* a, const float* b) { return a[0]*b[2] - a[2]*b[0]; } + +bool dtIntersectSegSeg2D(const float* ap, const float* aq, + const float* bp, const float* bq, + float& s, float& t) +{ + float u[3], v[3], w[3]; + dtVsub(u,aq,ap); + dtVsub(v,bq,bp); + dtVsub(w,ap,bp); + float d = vperpXZ(u,v); + if (fabsf(d) < 1e-6f) return false; + s = vperpXZ(v,w) / d; + t = vperpXZ(u,w) / d; + return true; +} + diff --git a/extern/fetched/recastnavigation/Detour/Source/DetourNavMesh.cpp b/extern/fetched/recastnavigation/Detour/Source/DetourNavMesh.cpp new file mode 100644 index 000000000..b119cd541 --- /dev/null +++ b/extern/fetched/recastnavigation/Detour/Source/DetourNavMesh.cpp @@ -0,0 +1,1591 @@ +// +// Copyright (c) 2009-2010 Mikko Mononen memon@inside.org +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. +// + +#include +#include +#include +#include "DetourNavMesh.h" +#include "DetourNode.h" +#include "DetourCommon.h" +#include "DetourMath.h" +#include "DetourAlloc.h" +#include "DetourAssert.h" +#include + + +inline bool overlapSlabs(const float* amin, const float* amax, + const float* bmin, const float* bmax, + const float px, const float py) +{ + // Check for horizontal overlap. + // The segment is shrunken a little so that slabs which touch + // at end points are not connected. + const float minx = dtMax(amin[0]+px,bmin[0]+px); + const float maxx = dtMin(amax[0]-px,bmax[0]-px); + if (minx > maxx) + return false; + + // Check vertical overlap. + const float ad = (amax[1]-amin[1]) / (amax[0]-amin[0]); + const float ak = amin[1] - ad*amin[0]; + const float bd = (bmax[1]-bmin[1]) / (bmax[0]-bmin[0]); + const float bk = bmin[1] - bd*bmin[0]; + const float aminy = ad*minx + ak; + const float amaxy = ad*maxx + ak; + const float bminy = bd*minx + bk; + const float bmaxy = bd*maxx + bk; + const float dmin = bminy - aminy; + const float dmax = bmaxy - amaxy; + + // Crossing segments always overlap. + if (dmin*dmax < 0) + return true; + + // Check for overlap at endpoints. + const float thr = dtSqr(py*2); + if (dmin*dmin <= thr || dmax*dmax <= thr) + return true; + + return false; +} + +static float getSlabCoord(const float* va, const int side) +{ + if (side == 0 || side == 4) + return va[0]; + else if (side == 2 || side == 6) + return va[2]; + return 0; +} + +static void calcSlabEndPoints(const float* va, const float* vb, float* bmin, float* bmax, const int side) +{ + if (side == 0 || side == 4) + { + if (va[2] < vb[2]) + { + bmin[0] = va[2]; + bmin[1] = va[1]; + bmax[0] = vb[2]; + bmax[1] = vb[1]; + } + else + { + bmin[0] = vb[2]; + bmin[1] = vb[1]; + bmax[0] = va[2]; + bmax[1] = va[1]; + } + } + else if (side == 2 || side == 6) + { + if (va[0] < vb[0]) + { + bmin[0] = va[0]; + bmin[1] = va[1]; + bmax[0] = vb[0]; + bmax[1] = vb[1]; + } + else + { + bmin[0] = vb[0]; + bmin[1] = vb[1]; + bmax[0] = va[0]; + bmax[1] = va[1]; + } + } +} + +inline int computeTileHash(int x, int y, const int mask) +{ + const unsigned int h1 = 0x8da6b343; // Large multiplicative constants; + const unsigned int h2 = 0xd8163841; // here arbitrarily chosen primes + unsigned int n = h1 * x + h2 * y; + return (int)(n & mask); +} + +inline unsigned int allocLink(dtMeshTile* tile) +{ + if (tile->linksFreeList == DT_NULL_LINK) + return DT_NULL_LINK; + unsigned int link = tile->linksFreeList; + tile->linksFreeList = tile->links[link].next; + return link; +} + +inline void freeLink(dtMeshTile* tile, unsigned int link) +{ + tile->links[link].next = tile->linksFreeList; + tile->linksFreeList = link; +} + + +dtNavMesh* dtAllocNavMesh() +{ + void* mem = dtAlloc(sizeof(dtNavMesh), DT_ALLOC_PERM); + if (!mem) return 0; + return new(mem) dtNavMesh; +} + +/// @par +/// +/// This function will only free the memory for tiles with the #DT_TILE_FREE_DATA +/// flag set. +void dtFreeNavMesh(dtNavMesh* navmesh) +{ + if (!navmesh) return; + navmesh->~dtNavMesh(); + dtFree(navmesh); +} + +////////////////////////////////////////////////////////////////////////////////////////// + +/** +@class dtNavMesh + +The navigation mesh consists of one or more tiles defining three primary types of structural data: + +A polygon mesh which defines most of the navigation graph. (See rcPolyMesh for its structure.) +A detail mesh used for determining surface height on the polygon mesh. (See rcPolyMeshDetail for its structure.) +Off-mesh connections, which define custom point-to-point edges within the navigation graph. + +The general build process is as follows: + +-# Create rcPolyMesh and rcPolyMeshDetail data using the Recast build pipeline. +-# Optionally, create off-mesh connection data. +-# Combine the source data into a dtNavMeshCreateParams structure. +-# Create a tile data array using dtCreateNavMeshData(). +-# Allocate at dtNavMesh object and initialize it. (For single tile navigation meshes, + the tile data is loaded during this step.) +-# For multi-tile navigation meshes, load the tile data using dtNavMesh::addTile(). + +Notes: + +- This class is usually used in conjunction with the dtNavMeshQuery class for pathfinding. +- Technically, all navigation meshes are tiled. A 'solo' mesh is simply a navigation mesh initialized + to have only a single tile. +- This class does not implement any asynchronous methods. So the ::dtStatus result of all methods will + always contain either a success or failure flag. + +@see dtNavMeshQuery, dtCreateNavMeshData, dtNavMeshCreateParams, #dtAllocNavMesh, #dtFreeNavMesh +*/ + +dtNavMesh::dtNavMesh() : + m_tileWidth(0), + m_tileHeight(0), + m_maxTiles(0), + m_tileLutSize(0), + m_tileLutMask(0), + m_posLookup(0), + m_nextFree(0), + m_tiles(0) +{ +#ifndef DT_POLYREF64 + m_saltBits = 0; + m_tileBits = 0; + m_polyBits = 0; +#endif + memset(&m_params, 0, sizeof(dtNavMeshParams)); + m_orig[0] = 0; + m_orig[1] = 0; + m_orig[2] = 0; +} + +dtNavMesh::~dtNavMesh() +{ + for (int i = 0; i < m_maxTiles; ++i) + { + if (m_tiles[i].flags & DT_TILE_FREE_DATA) + { + dtFree(m_tiles[i].data); + m_tiles[i].data = 0; + m_tiles[i].dataSize = 0; + } + } + dtFree(m_posLookup); + dtFree(m_tiles); +} + +dtStatus dtNavMesh::init(const dtNavMeshParams* params) +{ + memcpy(&m_params, params, sizeof(dtNavMeshParams)); + dtVcopy(m_orig, params->orig); + m_tileWidth = params->tileWidth; + m_tileHeight = params->tileHeight; + + // Init tiles + m_maxTiles = params->maxTiles; + m_tileLutSize = dtNextPow2(params->maxTiles/4); + if (!m_tileLutSize) m_tileLutSize = 1; + m_tileLutMask = m_tileLutSize-1; + + m_tiles = (dtMeshTile*)dtAlloc(sizeof(dtMeshTile)*m_maxTiles, DT_ALLOC_PERM); + if (!m_tiles) + return DT_FAILURE | DT_OUT_OF_MEMORY; + m_posLookup = (dtMeshTile**)dtAlloc(sizeof(dtMeshTile*)*m_tileLutSize, DT_ALLOC_PERM); + if (!m_posLookup) + return DT_FAILURE | DT_OUT_OF_MEMORY; + memset(m_tiles, 0, sizeof(dtMeshTile)*m_maxTiles); + memset(m_posLookup, 0, sizeof(dtMeshTile*)*m_tileLutSize); + m_nextFree = 0; + for (int i = m_maxTiles-1; i >= 0; --i) + { + m_tiles[i].salt = 1; + m_tiles[i].next = m_nextFree; + m_nextFree = &m_tiles[i]; + } + + // Init ID generator values. +#ifndef DT_POLYREF64 + m_tileBits = dtIlog2(dtNextPow2((unsigned int)params->maxTiles)); + m_polyBits = dtIlog2(dtNextPow2((unsigned int)params->maxPolys)); + // Only allow 31 salt bits, since the salt mask is calculated using 32bit uint and it will overflow. + m_saltBits = dtMin((unsigned int)31, 32 - m_tileBits - m_polyBits); + + if (m_saltBits < 10) + return DT_FAILURE | DT_INVALID_PARAM; +#endif + + return DT_SUCCESS; +} + +dtStatus dtNavMesh::init(unsigned char* data, const int dataSize, const int flags) +{ + // Make sure the data is in right format. + dtMeshHeader* header = (dtMeshHeader*)data; + if (header->magic != DT_NAVMESH_MAGIC) + return DT_FAILURE | DT_WRONG_MAGIC; + if (header->version != DT_NAVMESH_VERSION) + return DT_FAILURE | DT_WRONG_VERSION; + + dtNavMeshParams params; + dtVcopy(params.orig, header->bmin); + params.tileWidth = header->bmax[0] - header->bmin[0]; + params.tileHeight = header->bmax[2] - header->bmin[2]; + params.maxTiles = 1; + params.maxPolys = header->polyCount; + + dtStatus status = init(¶ms); + if (dtStatusFailed(status)) + return status; + + return addTile(data, dataSize, flags, 0, 0); +} + +/// @par +/// +/// @note The parameters are created automatically when the single tile +/// initialization is performed. +const dtNavMeshParams* dtNavMesh::getParams() const +{ + return &m_params; +} + +////////////////////////////////////////////////////////////////////////////////////////// +int dtNavMesh::findConnectingPolys(const float* va, const float* vb, + const dtMeshTile* tile, int side, + dtPolyRef* con, float* conarea, int maxcon) const +{ + if (!tile) return 0; + + float amin[2], amax[2]; + calcSlabEndPoints(va, vb, amin, amax, side); + const float apos = getSlabCoord(va, side); + + // Remove links pointing to 'side' and compact the links array. + float bmin[2], bmax[2]; + unsigned short m = DT_EXT_LINK | (unsigned short)side; + int n = 0; + + dtPolyRef base = getPolyRefBase(tile); + + for (int i = 0; i < tile->header->polyCount; ++i) + { + dtPoly* poly = &tile->polys[i]; + const int nv = poly->vertCount; + for (int j = 0; j < nv; ++j) + { + // Skip edges which do not point to the right side. + if (poly->neis[j] != m) continue; + + const float* vc = &tile->verts[poly->verts[j]*3]; + const float* vd = &tile->verts[poly->verts[(j+1) % nv]*3]; + const float bpos = getSlabCoord(vc, side); + + // Segments are not close enough. + if (dtAbs(apos-bpos) > 0.01f) + continue; + + // Check if the segments touch. + calcSlabEndPoints(vc,vd, bmin,bmax, side); + + if (!overlapSlabs(amin,amax, bmin,bmax, 0.01f, tile->header->walkableClimb)) continue; + + // Add return value. + if (n < maxcon) + { + conarea[n*2+0] = dtMax(amin[0], bmin[0]); + conarea[n*2+1] = dtMin(amax[0], bmax[0]); + con[n] = base | (dtPolyRef)i; + n++; + } + break; + } + } + return n; +} + +void dtNavMesh::unconnectLinks(dtMeshTile* tile, dtMeshTile* target) +{ + if (!tile || !target) return; + + const unsigned int targetNum = decodePolyIdTile(getTileRef(target)); + + for (int i = 0; i < tile->header->polyCount; ++i) + { + dtPoly* poly = &tile->polys[i]; + unsigned int j = poly->firstLink; + unsigned int pj = DT_NULL_LINK; + while (j != DT_NULL_LINK) + { + if (decodePolyIdTile(tile->links[j].ref) == targetNum) + { + // Remove link. + unsigned int nj = tile->links[j].next; + if (pj == DT_NULL_LINK) + poly->firstLink = nj; + else + tile->links[pj].next = nj; + freeLink(tile, j); + j = nj; + } + else + { + // Advance + pj = j; + j = tile->links[j].next; + } + } + } +} + +void dtNavMesh::connectExtLinks(dtMeshTile* tile, dtMeshTile* target, int side) +{ + if (!tile) return; + + // Connect border links. + for (int i = 0; i < tile->header->polyCount; ++i) + { + dtPoly* poly = &tile->polys[i]; + + // Create new links. +// unsigned short m = DT_EXT_LINK | (unsigned short)side; + + const int nv = poly->vertCount; + for (int j = 0; j < nv; ++j) + { + // Skip non-portal edges. + if ((poly->neis[j] & DT_EXT_LINK) == 0) + continue; + + const int dir = (int)(poly->neis[j] & 0xff); + if (side != -1 && dir != side) + continue; + + // Create new links + const float* va = &tile->verts[poly->verts[j]*3]; + const float* vb = &tile->verts[poly->verts[(j+1) % nv]*3]; + dtPolyRef nei[4]; + float neia[4*2]; + int nnei = findConnectingPolys(va,vb, target, dtOppositeTile(dir), nei,neia,4); + for (int k = 0; k < nnei; ++k) + { + unsigned int idx = allocLink(tile); + if (idx != DT_NULL_LINK) + { + dtLink* link = &tile->links[idx]; + link->ref = nei[k]; + link->edge = (unsigned char)j; + link->side = (unsigned char)dir; + + link->next = poly->firstLink; + poly->firstLink = idx; + + // Compress portal limits to a byte value. + if (dir == 0 || dir == 4) + { + float tmin = (neia[k*2+0]-va[2]) / (vb[2]-va[2]); + float tmax = (neia[k*2+1]-va[2]) / (vb[2]-va[2]); + if (tmin > tmax) + dtSwap(tmin,tmax); + link->bmin = (unsigned char)(dtClamp(tmin, 0.0f, 1.0f)*255.0f); + link->bmax = (unsigned char)(dtClamp(tmax, 0.0f, 1.0f)*255.0f); + } + else if (dir == 2 || dir == 6) + { + float tmin = (neia[k*2+0]-va[0]) / (vb[0]-va[0]); + float tmax = (neia[k*2+1]-va[0]) / (vb[0]-va[0]); + if (tmin > tmax) + dtSwap(tmin,tmax); + link->bmin = (unsigned char)(dtClamp(tmin, 0.0f, 1.0f)*255.0f); + link->bmax = (unsigned char)(dtClamp(tmax, 0.0f, 1.0f)*255.0f); + } + } + } + } + } +} + +void dtNavMesh::connectExtOffMeshLinks(dtMeshTile* tile, dtMeshTile* target, int side) +{ + if (!tile) return; + + // Connect off-mesh links. + // We are interested on links which land from target tile to this tile. + const unsigned char oppositeSide = (side == -1) ? 0xff : (unsigned char)dtOppositeTile(side); + + for (int i = 0; i < target->header->offMeshConCount; ++i) + { + dtOffMeshConnection* targetCon = &target->offMeshCons[i]; + if (targetCon->side != oppositeSide) + continue; + + dtPoly* targetPoly = &target->polys[targetCon->poly]; + // Skip off-mesh connections which start location could not be connected at all. + if (targetPoly->firstLink == DT_NULL_LINK) + continue; + + const float halfExtents[3] = { targetCon->rad, target->header->walkableClimb, targetCon->rad }; + + // Find polygon to connect to. + const float* p = &targetCon->pos[3]; + float nearestPt[3]; + dtPolyRef ref = findNearestPolyInTile(tile, p, halfExtents, nearestPt); + if (!ref) + continue; + // findNearestPoly may return too optimistic results, further check to make sure. + if (dtSqr(nearestPt[0]-p[0])+dtSqr(nearestPt[2]-p[2]) > dtSqr(targetCon->rad)) + continue; + // Make sure the location is on current mesh. + float* v = &target->verts[targetPoly->verts[1]*3]; + dtVcopy(v, nearestPt); + + // Link off-mesh connection to target poly. + unsigned int idx = allocLink(target); + if (idx != DT_NULL_LINK) + { + dtLink* link = &target->links[idx]; + link->ref = ref; + link->edge = (unsigned char)1; + link->side = oppositeSide; + link->bmin = link->bmax = 0; + // Add to linked list. + link->next = targetPoly->firstLink; + targetPoly->firstLink = idx; + } + + // Link target poly to off-mesh connection. + if (targetCon->flags & DT_OFFMESH_CON_BIDIR) + { + unsigned int tidx = allocLink(tile); + if (tidx != DT_NULL_LINK) + { + const unsigned short landPolyIdx = (unsigned short)decodePolyIdPoly(ref); + dtPoly* landPoly = &tile->polys[landPolyIdx]; + dtLink* link = &tile->links[tidx]; + link->ref = getPolyRefBase(target) | (dtPolyRef)(targetCon->poly); + link->edge = 0xff; + link->side = (unsigned char)(side == -1 ? 0xff : side); + link->bmin = link->bmax = 0; + // Add to linked list. + link->next = landPoly->firstLink; + landPoly->firstLink = tidx; + } + } + } + +} + +void dtNavMesh::connectIntLinks(dtMeshTile* tile) +{ + if (!tile) return; + + dtPolyRef base = getPolyRefBase(tile); + + for (int i = 0; i < tile->header->polyCount; ++i) + { + dtPoly* poly = &tile->polys[i]; + poly->firstLink = DT_NULL_LINK; + + if (poly->getType() == DT_POLYTYPE_OFFMESH_CONNECTION) + continue; + + // Build edge links backwards so that the links will be + // in the linked list from lowest index to highest. + for (int j = poly->vertCount-1; j >= 0; --j) + { + // Skip hard and non-internal edges. + if (poly->neis[j] == 0 || (poly->neis[j] & DT_EXT_LINK)) continue; + + unsigned int idx = allocLink(tile); + if (idx != DT_NULL_LINK) + { + dtLink* link = &tile->links[idx]; + link->ref = base | (dtPolyRef)(poly->neis[j]-1); + link->edge = (unsigned char)j; + link->side = 0xff; + link->bmin = link->bmax = 0; + // Add to linked list. + link->next = poly->firstLink; + poly->firstLink = idx; + } + } + } +} + +void dtNavMesh::baseOffMeshLinks(dtMeshTile* tile) +{ + if (!tile) return; + + dtPolyRef base = getPolyRefBase(tile); + + // Base off-mesh connection start points. + for (int i = 0; i < tile->header->offMeshConCount; ++i) + { + dtOffMeshConnection* con = &tile->offMeshCons[i]; + dtPoly* poly = &tile->polys[con->poly]; + + const float halfExtents[3] = { con->rad, tile->header->walkableClimb, con->rad }; + + // Find polygon to connect to. + const float* p = &con->pos[0]; // First vertex + float nearestPt[3]; + dtPolyRef ref = findNearestPolyInTile(tile, p, halfExtents, nearestPt); + if (!ref) continue; + // findNearestPoly may return too optimistic results, further check to make sure. + if (dtSqr(nearestPt[0]-p[0])+dtSqr(nearestPt[2]-p[2]) > dtSqr(con->rad)) + continue; + // Make sure the location is on current mesh. + float* v = &tile->verts[poly->verts[0]*3]; + dtVcopy(v, nearestPt); + + // Link off-mesh connection to target poly. + unsigned int idx = allocLink(tile); + if (idx != DT_NULL_LINK) + { + dtLink* link = &tile->links[idx]; + link->ref = ref; + link->edge = (unsigned char)0; + link->side = 0xff; + link->bmin = link->bmax = 0; + // Add to linked list. + link->next = poly->firstLink; + poly->firstLink = idx; + } + + // Start end-point is always connect back to off-mesh connection. + unsigned int tidx = allocLink(tile); + if (tidx != DT_NULL_LINK) + { + const unsigned short landPolyIdx = (unsigned short)decodePolyIdPoly(ref); + dtPoly* landPoly = &tile->polys[landPolyIdx]; + dtLink* link = &tile->links[tidx]; + link->ref = base | (dtPolyRef)(con->poly); + link->edge = 0xff; + link->side = 0xff; + link->bmin = link->bmax = 0; + // Add to linked list. + link->next = landPoly->firstLink; + landPoly->firstLink = tidx; + } + } +} + +namespace +{ + template + void closestPointOnDetailEdges(const dtMeshTile* tile, const dtPoly* poly, const float* pos, float* closest) + { + const unsigned int ip = (unsigned int)(poly - tile->polys); + const dtPolyDetail* pd = &tile->detailMeshes[ip]; + + float dmin = FLT_MAX; + float tmin = 0; + const float* pmin = 0; + const float* pmax = 0; + + for (int i = 0; i < pd->triCount; i++) + { + const unsigned char* tris = &tile->detailTris[(pd->triBase + i) * 4]; + const int ANY_BOUNDARY_EDGE = + (DT_DETAIL_EDGE_BOUNDARY << 0) | + (DT_DETAIL_EDGE_BOUNDARY << 2) | + (DT_DETAIL_EDGE_BOUNDARY << 4); + if (onlyBoundary && (tris[3] & ANY_BOUNDARY_EDGE) == 0) + continue; + + const float* v[3]; + for (int j = 0; j < 3; ++j) + { + if (tris[j] < poly->vertCount) + v[j] = &tile->verts[poly->verts[tris[j]] * 3]; + else + v[j] = &tile->detailVerts[(pd->vertBase + (tris[j] - poly->vertCount)) * 3]; + } + + for (int k = 0, j = 2; k < 3; j = k++) + { + if ((dtGetDetailTriEdgeFlags(tris[3], j) & DT_DETAIL_EDGE_BOUNDARY) == 0 && + (onlyBoundary || tris[j] < tris[k])) + { + // Only looking at boundary edges and this is internal, or + // this is an inner edge that we will see again or have already seen. + continue; + } + + float t; + float d = dtDistancePtSegSqr2D(pos, v[j], v[k], t); + if (d < dmin) + { + dmin = d; + tmin = t; + pmin = v[j]; + pmax = v[k]; + } + } + } + + dtVlerp(closest, pmin, pmax, tmin); + } +} + +bool dtNavMesh::getPolyHeight(const dtMeshTile* tile, const dtPoly* poly, const float* pos, float* height) const +{ + // Off-mesh connections do not have detail polys and getting height + // over them does not make sense. + if (poly->getType() == DT_POLYTYPE_OFFMESH_CONNECTION) + return false; + + const unsigned int ip = (unsigned int)(poly - tile->polys); + const dtPolyDetail* pd = &tile->detailMeshes[ip]; + + float verts[DT_VERTS_PER_POLYGON*3]; + const int nv = poly->vertCount; + for (int i = 0; i < nv; ++i) + dtVcopy(&verts[i*3], &tile->verts[poly->verts[i]*3]); + + if (!dtPointInPolygon(pos, verts, nv)) + return false; + + if (!height) + return true; + + // Find height at the location. + for (int j = 0; j < pd->triCount; ++j) + { + const unsigned char* t = &tile->detailTris[(pd->triBase+j)*4]; + const float* v[3]; + for (int k = 0; k < 3; ++k) + { + if (t[k] < poly->vertCount) + v[k] = &tile->verts[poly->verts[t[k]]*3]; + else + v[k] = &tile->detailVerts[(pd->vertBase+(t[k]-poly->vertCount))*3]; + } + float h; + if (dtClosestHeightPointTriangle(pos, v[0], v[1], v[2], h)) + { + *height = h; + return true; + } + } + + // If all triangle checks failed above (can happen with degenerate triangles + // or larger floating point values) the point is on an edge, so just select + // closest. This should almost never happen so the extra iteration here is + // ok. + float closest[3]; + closestPointOnDetailEdges(tile, poly, pos, closest); + *height = closest[1]; + return true; +} + +void dtNavMesh::closestPointOnPoly(dtPolyRef ref, const float* pos, float* closest, bool* posOverPoly) const +{ + const dtMeshTile* tile = 0; + const dtPoly* poly = 0; + getTileAndPolyByRefUnsafe(ref, &tile, &poly); + + dtVcopy(closest, pos); + if (getPolyHeight(tile, poly, pos, &closest[1])) + { + if (posOverPoly) + *posOverPoly = true; + return; + } + + if (posOverPoly) + *posOverPoly = false; + + // Off-mesh connections don't have detail polygons. + if (poly->getType() == DT_POLYTYPE_OFFMESH_CONNECTION) + { + const float* v0 = &tile->verts[poly->verts[0]*3]; + const float* v1 = &tile->verts[poly->verts[1]*3]; + float t; + dtDistancePtSegSqr2D(pos, v0, v1, t); + dtVlerp(closest, v0, v1, t); + return; + } + + // Outside poly that is not an offmesh connection. + closestPointOnDetailEdges(tile, poly, pos, closest); +} + +dtPolyRef dtNavMesh::findNearestPolyInTile(const dtMeshTile* tile, + const float* center, const float* halfExtents, + float* nearestPt) const +{ + float bmin[3], bmax[3]; + dtVsub(bmin, center, halfExtents); + dtVadd(bmax, center, halfExtents); + + // Get nearby polygons from proximity grid. + dtPolyRef polys[128]; + int polyCount = queryPolygonsInTile(tile, bmin, bmax, polys, 128); + + // Find nearest polygon amongst the nearby polygons. + dtPolyRef nearest = 0; + float nearestDistanceSqr = FLT_MAX; + for (int i = 0; i < polyCount; ++i) + { + dtPolyRef ref = polys[i]; + float closestPtPoly[3]; + float diff[3]; + bool posOverPoly = false; + float d; + closestPointOnPoly(ref, center, closestPtPoly, &posOverPoly); + + // If a point is directly over a polygon and closer than + // climb height, favor that instead of straight line nearest point. + dtVsub(diff, center, closestPtPoly); + if (posOverPoly) + { + d = dtAbs(diff[1]) - tile->header->walkableClimb; + d = d > 0 ? d*d : 0; + } + else + { + d = dtVlenSqr(diff); + } + + if (d < nearestDistanceSqr) + { + dtVcopy(nearestPt, closestPtPoly); + nearestDistanceSqr = d; + nearest = ref; + } + } + + return nearest; +} + +int dtNavMesh::queryPolygonsInTile(const dtMeshTile* tile, const float* qmin, const float* qmax, + dtPolyRef* polys, const int maxPolys) const +{ + if (tile->bvTree) + { + const dtBVNode* node = &tile->bvTree[0]; + const dtBVNode* end = &tile->bvTree[tile->header->bvNodeCount]; + const float* tbmin = tile->header->bmin; + const float* tbmax = tile->header->bmax; + const float qfac = tile->header->bvQuantFactor; + + // Calculate quantized box + unsigned short bmin[3], bmax[3]; + // dtClamp query box to world box. + float minx = dtClamp(qmin[0], tbmin[0], tbmax[0]) - tbmin[0]; + float miny = dtClamp(qmin[1], tbmin[1], tbmax[1]) - tbmin[1]; + float minz = dtClamp(qmin[2], tbmin[2], tbmax[2]) - tbmin[2]; + float maxx = dtClamp(qmax[0], tbmin[0], tbmax[0]) - tbmin[0]; + float maxy = dtClamp(qmax[1], tbmin[1], tbmax[1]) - tbmin[1]; + float maxz = dtClamp(qmax[2], tbmin[2], tbmax[2]) - tbmin[2]; + // Quantize + bmin[0] = (unsigned short)(qfac * minx) & 0xfffe; + bmin[1] = (unsigned short)(qfac * miny) & 0xfffe; + bmin[2] = (unsigned short)(qfac * minz) & 0xfffe; + bmax[0] = (unsigned short)(qfac * maxx + 1) | 1; + bmax[1] = (unsigned short)(qfac * maxy + 1) | 1; + bmax[2] = (unsigned short)(qfac * maxz + 1) | 1; + + // Traverse tree + dtPolyRef base = getPolyRefBase(tile); + int n = 0; + while (node < end) + { + const bool overlap = dtOverlapQuantBounds(bmin, bmax, node->bmin, node->bmax); + const bool isLeafNode = node->i >= 0; + + if (isLeafNode && overlap) + { + if (n < maxPolys) + polys[n++] = base | (dtPolyRef)node->i; + } + + if (overlap || isLeafNode) + node++; + else + { + const int escapeIndex = -node->i; + node += escapeIndex; + } + } + + return n; + } + else + { + float bmin[3], bmax[3]; + int n = 0; + dtPolyRef base = getPolyRefBase(tile); + for (int i = 0; i < tile->header->polyCount; ++i) + { + dtPoly* p = &tile->polys[i]; + // Do not return off-mesh connection polygons. + if (p->getType() == DT_POLYTYPE_OFFMESH_CONNECTION) + continue; + // Calc polygon bounds. + const float* v = &tile->verts[p->verts[0]*3]; + dtVcopy(bmin, v); + dtVcopy(bmax, v); + for (int j = 1; j < p->vertCount; ++j) + { + v = &tile->verts[p->verts[j]*3]; + dtVmin(bmin, v); + dtVmax(bmax, v); + } + if (dtOverlapBounds(qmin,qmax, bmin,bmax)) + { + if (n < maxPolys) + polys[n++] = base | (dtPolyRef)i; + } + } + return n; + } +} + +/// @par +/// +/// The add operation will fail if the data is in the wrong format, the allocated tile +/// space is full, or there is a tile already at the specified reference. +/// +/// The lastRef parameter is used to restore a tile with the same tile +/// reference it had previously used. In this case the #dtPolyRef's for the +/// tile will be restored to the same values they were before the tile was +/// removed. +/// +/// The nav mesh assumes exclusive access to the data passed and will make +/// changes to the dynamic portion of the data. For that reason the data +/// should not be reused in other nav meshes until the tile has been successfully +/// removed from this nav mesh. +/// +/// @see dtCreateNavMeshData, #removeTile +dtStatus dtNavMesh::addTile(unsigned char* data, int dataSize, int flags, + dtTileRef lastRef, dtTileRef* result) +{ + // Make sure the data is in right format. + dtMeshHeader* header = (dtMeshHeader*)data; + if (header->magic != DT_NAVMESH_MAGIC) + return DT_FAILURE | DT_WRONG_MAGIC; + if (header->version != DT_NAVMESH_VERSION) + return DT_FAILURE | DT_WRONG_VERSION; + +#ifndef DT_POLYREF64 + // Do not allow adding more polygons than specified in the NavMesh's maxPolys constraint. + // Otherwise, the poly ID cannot be represented with the given number of bits. + if (m_polyBits < dtIlog2(dtNextPow2((unsigned int)header->polyCount))) + return DT_FAILURE | DT_INVALID_PARAM; +#endif + + // Make sure the location is free. + if (getTileAt(header->x, header->y, header->layer)) + return DT_FAILURE | DT_ALREADY_OCCUPIED; + + // Allocate a tile. + dtMeshTile* tile = 0; + if (!lastRef) + { + if (m_nextFree) + { + tile = m_nextFree; + m_nextFree = tile->next; + tile->next = 0; + } + } + else + { + // Try to relocate the tile to specific index with same salt. + int tileIndex = (int)decodePolyIdTile((dtPolyRef)lastRef); + if (tileIndex >= m_maxTiles) + return DT_FAILURE | DT_OUT_OF_MEMORY; + // Try to find the specific tile id from the free list. + dtMeshTile* target = &m_tiles[tileIndex]; + dtMeshTile* prev = 0; + tile = m_nextFree; + while (tile && tile != target) + { + prev = tile; + tile = tile->next; + } + // Could not find the correct location. + if (tile != target) + return DT_FAILURE | DT_OUT_OF_MEMORY; + // Remove from freelist + if (!prev) + m_nextFree = tile->next; + else + prev->next = tile->next; + + // Restore salt. + tile->salt = decodePolyIdSalt((dtPolyRef)lastRef); + } + + // Make sure we could allocate a tile. + if (!tile) + return DT_FAILURE | DT_OUT_OF_MEMORY; + + // Insert tile into the position lut. + int h = computeTileHash(header->x, header->y, m_tileLutMask); + tile->next = m_posLookup[h]; + m_posLookup[h] = tile; + + // Patch header pointers. + const int headerSize = dtAlign4(sizeof(dtMeshHeader)); + const int vertsSize = dtAlign4(sizeof(float)*3*header->vertCount); + const int polysSize = dtAlign4(sizeof(dtPoly)*header->polyCount); + const int linksSize = dtAlign4(sizeof(dtLink)*(header->maxLinkCount)); + const int detailMeshesSize = dtAlign4(sizeof(dtPolyDetail)*header->detailMeshCount); + const int detailVertsSize = dtAlign4(sizeof(float)*3*header->detailVertCount); + const int detailTrisSize = dtAlign4(sizeof(unsigned char)*4*header->detailTriCount); + const int bvtreeSize = dtAlign4(sizeof(dtBVNode)*header->bvNodeCount); + const int offMeshLinksSize = dtAlign4(sizeof(dtOffMeshConnection)*header->offMeshConCount); + + unsigned char* d = data + headerSize; + tile->verts = dtGetThenAdvanceBufferPointer(d, vertsSize); + tile->polys = dtGetThenAdvanceBufferPointer(d, polysSize); + tile->links = dtGetThenAdvanceBufferPointer(d, linksSize); + tile->detailMeshes = dtGetThenAdvanceBufferPointer(d, detailMeshesSize); + tile->detailVerts = dtGetThenAdvanceBufferPointer(d, detailVertsSize); + tile->detailTris = dtGetThenAdvanceBufferPointer(d, detailTrisSize); + tile->bvTree = dtGetThenAdvanceBufferPointer(d, bvtreeSize); + tile->offMeshCons = dtGetThenAdvanceBufferPointer(d, offMeshLinksSize); + + // If there are no items in the bvtree, reset the tree pointer. + if (!bvtreeSize) + tile->bvTree = 0; + + // Build links freelist + tile->linksFreeList = 0; + tile->links[header->maxLinkCount-1].next = DT_NULL_LINK; + for (int i = 0; i < header->maxLinkCount-1; ++i) + tile->links[i].next = i+1; + + // Init tile. + tile->header = header; + tile->data = data; + tile->dataSize = dataSize; + tile->flags = flags; + + connectIntLinks(tile); + + // Base off-mesh connections to their starting polygons and connect connections inside the tile. + baseOffMeshLinks(tile); + connectExtOffMeshLinks(tile, tile, -1); + + // Create connections with neighbour tiles. + static const int MAX_NEIS = 32; + dtMeshTile* neis[MAX_NEIS]; + int nneis; + + // Connect with layers in current tile. + nneis = getTilesAt(header->x, header->y, neis, MAX_NEIS); + for (int j = 0; j < nneis; ++j) + { + if (neis[j] == tile) + continue; + + connectExtLinks(tile, neis[j], -1); + connectExtLinks(neis[j], tile, -1); + connectExtOffMeshLinks(tile, neis[j], -1); + connectExtOffMeshLinks(neis[j], tile, -1); + } + + // Connect with neighbour tiles. + for (int i = 0; i < 8; ++i) + { + nneis = getNeighbourTilesAt(header->x, header->y, i, neis, MAX_NEIS); + for (int j = 0; j < nneis; ++j) + { + connectExtLinks(tile, neis[j], i); + connectExtLinks(neis[j], tile, dtOppositeTile(i)); + connectExtOffMeshLinks(tile, neis[j], i); + connectExtOffMeshLinks(neis[j], tile, dtOppositeTile(i)); + } + } + + if (result) + *result = getTileRef(tile); + + return DT_SUCCESS; +} + +const dtMeshTile* dtNavMesh::getTileAt(const int x, const int y, const int layer) const +{ + // Find tile based on hash. + int h = computeTileHash(x,y,m_tileLutMask); + dtMeshTile* tile = m_posLookup[h]; + while (tile) + { + if (tile->header && + tile->header->x == x && + tile->header->y == y && + tile->header->layer == layer) + { + return tile; + } + tile = tile->next; + } + return 0; +} + +int dtNavMesh::getNeighbourTilesAt(const int x, const int y, const int side, dtMeshTile** tiles, const int maxTiles) const +{ + int nx = x, ny = y; + switch (side) + { + case 0: nx++; break; + case 1: nx++; ny++; break; + case 2: ny++; break; + case 3: nx--; ny++; break; + case 4: nx--; break; + case 5: nx--; ny--; break; + case 6: ny--; break; + case 7: nx++; ny--; break; + }; + + return getTilesAt(nx, ny, tiles, maxTiles); +} + +int dtNavMesh::getTilesAt(const int x, const int y, dtMeshTile** tiles, const int maxTiles) const +{ + int n = 0; + + // Find tile based on hash. + int h = computeTileHash(x,y,m_tileLutMask); + dtMeshTile* tile = m_posLookup[h]; + while (tile) + { + if (tile->header && + tile->header->x == x && + tile->header->y == y) + { + if (n < maxTiles) + tiles[n++] = tile; + } + tile = tile->next; + } + + return n; +} + +/// @par +/// +/// This function will not fail if the tiles array is too small to hold the +/// entire result set. It will simply fill the array to capacity. +int dtNavMesh::getTilesAt(const int x, const int y, dtMeshTile const** tiles, const int maxTiles) const +{ + int n = 0; + + // Find tile based on hash. + int h = computeTileHash(x,y,m_tileLutMask); + dtMeshTile* tile = m_posLookup[h]; + while (tile) + { + if (tile->header && + tile->header->x == x && + tile->header->y == y) + { + if (n < maxTiles) + tiles[n++] = tile; + } + tile = tile->next; + } + + return n; +} + + +dtTileRef dtNavMesh::getTileRefAt(const int x, const int y, const int layer) const +{ + // Find tile based on hash. + int h = computeTileHash(x,y,m_tileLutMask); + dtMeshTile* tile = m_posLookup[h]; + while (tile) + { + if (tile->header && + tile->header->x == x && + tile->header->y == y && + tile->header->layer == layer) + { + return getTileRef(tile); + } + tile = tile->next; + } + return 0; +} + +const dtMeshTile* dtNavMesh::getTileByRef(dtTileRef ref) const +{ + if (!ref) + return 0; + unsigned int tileIndex = decodePolyIdTile((dtPolyRef)ref); + unsigned int tileSalt = decodePolyIdSalt((dtPolyRef)ref); + if ((int)tileIndex >= m_maxTiles) + return 0; + const dtMeshTile* tile = &m_tiles[tileIndex]; + if (tile->salt != tileSalt) + return 0; + return tile; +} + +int dtNavMesh::getMaxTiles() const +{ + return m_maxTiles; +} + +dtMeshTile* dtNavMesh::getTile(int i) +{ + return &m_tiles[i]; +} + +const dtMeshTile* dtNavMesh::getTile(int i) const +{ + return &m_tiles[i]; +} + +void dtNavMesh::calcTileLoc(const float* pos, int* tx, int* ty) const +{ + *tx = (int)floorf((pos[0]-m_orig[0]) / m_tileWidth); + *ty = (int)floorf((pos[2]-m_orig[2]) / m_tileHeight); +} + +dtStatus dtNavMesh::getTileAndPolyByRef(const dtPolyRef ref, const dtMeshTile** tile, const dtPoly** poly) const +{ + if (!ref) return DT_FAILURE; + unsigned int salt, it, ip; + decodePolyId(ref, salt, it, ip); + if (it >= (unsigned int)m_maxTiles) return DT_FAILURE | DT_INVALID_PARAM; + if (m_tiles[it].salt != salt || m_tiles[it].header == 0) return DT_FAILURE | DT_INVALID_PARAM; + if (ip >= (unsigned int)m_tiles[it].header->polyCount) return DT_FAILURE | DT_INVALID_PARAM; + *tile = &m_tiles[it]; + *poly = &m_tiles[it].polys[ip]; + return DT_SUCCESS; +} + +/// @par +/// +/// @warning Only use this function if it is known that the provided polygon +/// reference is valid. This function is faster than #getTileAndPolyByRef, but +/// it does not validate the reference. +void dtNavMesh::getTileAndPolyByRefUnsafe(const dtPolyRef ref, const dtMeshTile** tile, const dtPoly** poly) const +{ + unsigned int salt, it, ip; + decodePolyId(ref, salt, it, ip); + *tile = &m_tiles[it]; + *poly = &m_tiles[it].polys[ip]; +} + +bool dtNavMesh::isValidPolyRef(dtPolyRef ref) const +{ + if (!ref) return false; + unsigned int salt, it, ip; + decodePolyId(ref, salt, it, ip); + if (it >= (unsigned int)m_maxTiles) return false; + if (m_tiles[it].salt != salt || m_tiles[it].header == 0) return false; + if (ip >= (unsigned int)m_tiles[it].header->polyCount) return false; + return true; +} + +/// @par +/// +/// This function returns the data for the tile so that, if desired, +/// it can be added back to the navigation mesh at a later point. +/// +/// @see #addTile +dtStatus dtNavMesh::removeTile(dtTileRef ref, unsigned char** data, int* dataSize) +{ + if (!ref) + return DT_FAILURE | DT_INVALID_PARAM; + unsigned int tileIndex = decodePolyIdTile((dtPolyRef)ref); + unsigned int tileSalt = decodePolyIdSalt((dtPolyRef)ref); + if ((int)tileIndex >= m_maxTiles) + return DT_FAILURE | DT_INVALID_PARAM; + dtMeshTile* tile = &m_tiles[tileIndex]; + if (tile->salt != tileSalt) + return DT_FAILURE | DT_INVALID_PARAM; + + // Remove tile from hash lookup. + int h = computeTileHash(tile->header->x,tile->header->y,m_tileLutMask); + dtMeshTile* prev = 0; + dtMeshTile* cur = m_posLookup[h]; + while (cur) + { + if (cur == tile) + { + if (prev) + prev->next = cur->next; + else + m_posLookup[h] = cur->next; + break; + } + prev = cur; + cur = cur->next; + } + + // Remove connections to neighbour tiles. + static const int MAX_NEIS = 32; + dtMeshTile* neis[MAX_NEIS]; + int nneis; + + // Disconnect from other layers in current tile. + nneis = getTilesAt(tile->header->x, tile->header->y, neis, MAX_NEIS); + for (int j = 0; j < nneis; ++j) + { + if (neis[j] == tile) continue; + unconnectLinks(neis[j], tile); + } + + // Disconnect from neighbour tiles. + for (int i = 0; i < 8; ++i) + { + nneis = getNeighbourTilesAt(tile->header->x, tile->header->y, i, neis, MAX_NEIS); + for (int j = 0; j < nneis; ++j) + unconnectLinks(neis[j], tile); + } + + // Reset tile. + if (tile->flags & DT_TILE_FREE_DATA) + { + // Owns data + dtFree(tile->data); + tile->data = 0; + tile->dataSize = 0; + if (data) *data = 0; + if (dataSize) *dataSize = 0; + } + else + { + if (data) *data = tile->data; + if (dataSize) *dataSize = tile->dataSize; + } + + tile->header = 0; + tile->flags = 0; + tile->linksFreeList = 0; + tile->polys = 0; + tile->verts = 0; + tile->links = 0; + tile->detailMeshes = 0; + tile->detailVerts = 0; + tile->detailTris = 0; + tile->bvTree = 0; + tile->offMeshCons = 0; + + // Update salt, salt should never be zero. +#ifdef DT_POLYREF64 + tile->salt = (tile->salt+1) & ((1<salt = (tile->salt+1) & ((1<salt == 0) + tile->salt++; + + // Add to free list. + tile->next = m_nextFree; + m_nextFree = tile; + + return DT_SUCCESS; +} + +dtTileRef dtNavMesh::getTileRef(const dtMeshTile* tile) const +{ + if (!tile) return 0; + const unsigned int it = (unsigned int)(tile - m_tiles); + return (dtTileRef)encodePolyId(tile->salt, it, 0); +} + +/// @par +/// +/// Example use case: +/// @code +/// +/// const dtPolyRef base = navmesh->getPolyRefBase(tile); +/// for (int i = 0; i < tile->header->polyCount; ++i) +/// { +/// const dtPoly* p = &tile->polys[i]; +/// const dtPolyRef ref = base | (dtPolyRef)i; +/// +/// // Use the reference to access the polygon data. +/// } +/// @endcode +dtPolyRef dtNavMesh::getPolyRefBase(const dtMeshTile* tile) const +{ + if (!tile) return 0; + const unsigned int it = (unsigned int)(tile - m_tiles); + return encodePolyId(tile->salt, it, 0); +} + +struct dtTileState +{ + int magic; // Magic number, used to identify the data. + int version; // Data version number. + dtTileRef ref; // Tile ref at the time of storing the data. +}; + +struct dtPolyState +{ + unsigned short flags; // Flags (see dtPolyFlags). + unsigned char area; // Area ID of the polygon. +}; + +/// @see #storeTileState +int dtNavMesh::getTileStateSize(const dtMeshTile* tile) const +{ + if (!tile) return 0; + const int headerSize = dtAlign4(sizeof(dtTileState)); + const int polyStateSize = dtAlign4(sizeof(dtPolyState) * tile->header->polyCount); + return headerSize + polyStateSize; +} + +/// @par +/// +/// Tile state includes non-structural data such as polygon flags, area ids, etc. +/// @note The state data is only valid until the tile reference changes. +/// @see #getTileStateSize, #restoreTileState +dtStatus dtNavMesh::storeTileState(const dtMeshTile* tile, unsigned char* data, const int maxDataSize) const +{ + // Make sure there is enough space to store the state. + const int sizeReq = getTileStateSize(tile); + if (maxDataSize < sizeReq) + return DT_FAILURE | DT_BUFFER_TOO_SMALL; + + dtTileState* tileState = dtGetThenAdvanceBufferPointer(data, dtAlign4(sizeof(dtTileState))); + dtPolyState* polyStates = dtGetThenAdvanceBufferPointer(data, dtAlign4(sizeof(dtPolyState) * tile->header->polyCount)); + + // Store tile state. + tileState->magic = DT_NAVMESH_STATE_MAGIC; + tileState->version = DT_NAVMESH_STATE_VERSION; + tileState->ref = getTileRef(tile); + + // Store per poly state. + for (int i = 0; i < tile->header->polyCount; ++i) + { + const dtPoly* p = &tile->polys[i]; + dtPolyState* s = &polyStates[i]; + s->flags = p->flags; + s->area = p->getArea(); + } + + return DT_SUCCESS; +} + +/// @par +/// +/// Tile state includes non-structural data such as polygon flags, area ids, etc. +/// @note This function does not impact the tile's #dtTileRef and #dtPolyRef's. +/// @see #storeTileState +dtStatus dtNavMesh::restoreTileState(dtMeshTile* tile, const unsigned char* data, const int maxDataSize) +{ + // Make sure there is enough space to store the state. + const int sizeReq = getTileStateSize(tile); + if (maxDataSize < sizeReq) + return DT_FAILURE | DT_INVALID_PARAM; + + const dtTileState* tileState = dtGetThenAdvanceBufferPointer(data, dtAlign4(sizeof(dtTileState))); + const dtPolyState* polyStates = dtGetThenAdvanceBufferPointer(data, dtAlign4(sizeof(dtPolyState) * tile->header->polyCount)); + + // Check that the restore is possible. + if (tileState->magic != DT_NAVMESH_STATE_MAGIC) + return DT_FAILURE | DT_WRONG_MAGIC; + if (tileState->version != DT_NAVMESH_STATE_VERSION) + return DT_FAILURE | DT_WRONG_VERSION; + if (tileState->ref != getTileRef(tile)) + return DT_FAILURE | DT_INVALID_PARAM; + + // Restore per poly state. + for (int i = 0; i < tile->header->polyCount; ++i) + { + dtPoly* p = &tile->polys[i]; + const dtPolyState* s = &polyStates[i]; + p->flags = s->flags; + p->setArea(s->area); + } + + return DT_SUCCESS; +} + +/// @par +/// +/// Off-mesh connections are stored in the navigation mesh as special 2-vertex +/// polygons with a single edge. At least one of the vertices is expected to be +/// inside a normal polygon. So an off-mesh connection is "entered" from a +/// normal polygon at one of its endpoints. This is the polygon identified by +/// the prevRef parameter. +dtStatus dtNavMesh::getOffMeshConnectionPolyEndPoints(dtPolyRef prevRef, dtPolyRef polyRef, float* startPos, float* endPos) const +{ + unsigned int salt, it, ip; + + if (!polyRef) + return DT_FAILURE; + + // Get current polygon + decodePolyId(polyRef, salt, it, ip); + if (it >= (unsigned int)m_maxTiles) return DT_FAILURE | DT_INVALID_PARAM; + if (m_tiles[it].salt != salt || m_tiles[it].header == 0) return DT_FAILURE | DT_INVALID_PARAM; + const dtMeshTile* tile = &m_tiles[it]; + if (ip >= (unsigned int)tile->header->polyCount) return DT_FAILURE | DT_INVALID_PARAM; + const dtPoly* poly = &tile->polys[ip]; + + // Make sure that the current poly is indeed off-mesh link. + if (poly->getType() != DT_POLYTYPE_OFFMESH_CONNECTION) + return DT_FAILURE; + + // Figure out which way to hand out the vertices. + int idx0 = 0, idx1 = 1; + + // Find link that points to first vertex. + for (unsigned int i = poly->firstLink; i != DT_NULL_LINK; i = tile->links[i].next) + { + if (tile->links[i].edge == 0) + { + if (tile->links[i].ref != prevRef) + { + idx0 = 1; + idx1 = 0; + } + break; + } + } + + dtVcopy(startPos, &tile->verts[poly->verts[idx0]*3]); + dtVcopy(endPos, &tile->verts[poly->verts[idx1]*3]); + + return DT_SUCCESS; +} + + +const dtOffMeshConnection* dtNavMesh::getOffMeshConnectionByRef(dtPolyRef ref) const +{ + unsigned int salt, it, ip; + + if (!ref) + return 0; + + // Get current polygon + decodePolyId(ref, salt, it, ip); + if (it >= (unsigned int)m_maxTiles) return 0; + if (m_tiles[it].salt != salt || m_tiles[it].header == 0) return 0; + const dtMeshTile* tile = &m_tiles[it]; + if (ip >= (unsigned int)tile->header->polyCount) return 0; + const dtPoly* poly = &tile->polys[ip]; + + // Make sure that the current poly is indeed off-mesh link. + if (poly->getType() != DT_POLYTYPE_OFFMESH_CONNECTION) + return 0; + + const unsigned int idx = ip - tile->header->offMeshBase; + dtAssert(idx < (unsigned int)tile->header->offMeshConCount); + return &tile->offMeshCons[idx]; +} + + +dtStatus dtNavMesh::setPolyFlags(dtPolyRef ref, unsigned short flags) +{ + if (!ref) return DT_FAILURE; + unsigned int salt, it, ip; + decodePolyId(ref, salt, it, ip); + if (it >= (unsigned int)m_maxTiles) return DT_FAILURE | DT_INVALID_PARAM; + if (m_tiles[it].salt != salt || m_tiles[it].header == 0) return DT_FAILURE | DT_INVALID_PARAM; + dtMeshTile* tile = &m_tiles[it]; + if (ip >= (unsigned int)tile->header->polyCount) return DT_FAILURE | DT_INVALID_PARAM; + dtPoly* poly = &tile->polys[ip]; + + // Change flags. + poly->flags = flags; + + return DT_SUCCESS; +} + +dtStatus dtNavMesh::getPolyFlags(dtPolyRef ref, unsigned short* resultFlags) const +{ + if (!ref) return DT_FAILURE; + unsigned int salt, it, ip; + decodePolyId(ref, salt, it, ip); + if (it >= (unsigned int)m_maxTiles) return DT_FAILURE | DT_INVALID_PARAM; + if (m_tiles[it].salt != salt || m_tiles[it].header == 0) return DT_FAILURE | DT_INVALID_PARAM; + const dtMeshTile* tile = &m_tiles[it]; + if (ip >= (unsigned int)tile->header->polyCount) return DT_FAILURE | DT_INVALID_PARAM; + const dtPoly* poly = &tile->polys[ip]; + + *resultFlags = poly->flags; + + return DT_SUCCESS; +} + +dtStatus dtNavMesh::setPolyArea(dtPolyRef ref, unsigned char area) +{ + if (!ref) return DT_FAILURE; + unsigned int salt, it, ip; + decodePolyId(ref, salt, it, ip); + if (it >= (unsigned int)m_maxTiles) return DT_FAILURE | DT_INVALID_PARAM; + if (m_tiles[it].salt != salt || m_tiles[it].header == 0) return DT_FAILURE | DT_INVALID_PARAM; + dtMeshTile* tile = &m_tiles[it]; + if (ip >= (unsigned int)tile->header->polyCount) return DT_FAILURE | DT_INVALID_PARAM; + dtPoly* poly = &tile->polys[ip]; + + poly->setArea(area); + + return DT_SUCCESS; +} + +dtStatus dtNavMesh::getPolyArea(dtPolyRef ref, unsigned char* resultArea) const +{ + if (!ref) return DT_FAILURE; + unsigned int salt, it, ip; + decodePolyId(ref, salt, it, ip); + if (it >= (unsigned int)m_maxTiles) return DT_FAILURE | DT_INVALID_PARAM; + if (m_tiles[it].salt != salt || m_tiles[it].header == 0) return DT_FAILURE | DT_INVALID_PARAM; + const dtMeshTile* tile = &m_tiles[it]; + if (ip >= (unsigned int)tile->header->polyCount) return DT_FAILURE | DT_INVALID_PARAM; + const dtPoly* poly = &tile->polys[ip]; + + *resultArea = poly->getArea(); + + return DT_SUCCESS; +} + diff --git a/extern/fetched/recastnavigation/Detour/Source/DetourNavMeshBuilder.cpp b/extern/fetched/recastnavigation/Detour/Source/DetourNavMeshBuilder.cpp new file mode 100644 index 000000000..e93a97629 --- /dev/null +++ b/extern/fetched/recastnavigation/Detour/Source/DetourNavMeshBuilder.cpp @@ -0,0 +1,802 @@ +// +// Copyright (c) 2009-2010 Mikko Mononen memon@inside.org +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. +// + +#include +#include +#include +#include +#include "DetourNavMesh.h" +#include "DetourCommon.h" +#include "DetourMath.h" +#include "DetourNavMeshBuilder.h" +#include "DetourAlloc.h" +#include "DetourAssert.h" + +static unsigned short MESH_NULL_IDX = 0xffff; + + +struct BVItem +{ + unsigned short bmin[3]; + unsigned short bmax[3]; + int i; +}; + +static int compareItemX(const void* va, const void* vb) +{ + const BVItem* a = (const BVItem*)va; + const BVItem* b = (const BVItem*)vb; + if (a->bmin[0] < b->bmin[0]) + return -1; + if (a->bmin[0] > b->bmin[0]) + return 1; + return 0; +} + +static int compareItemY(const void* va, const void* vb) +{ + const BVItem* a = (const BVItem*)va; + const BVItem* b = (const BVItem*)vb; + if (a->bmin[1] < b->bmin[1]) + return -1; + if (a->bmin[1] > b->bmin[1]) + return 1; + return 0; +} + +static int compareItemZ(const void* va, const void* vb) +{ + const BVItem* a = (const BVItem*)va; + const BVItem* b = (const BVItem*)vb; + if (a->bmin[2] < b->bmin[2]) + return -1; + if (a->bmin[2] > b->bmin[2]) + return 1; + return 0; +} + +static void calcExtends(BVItem* items, const int /*nitems*/, const int imin, const int imax, + unsigned short* bmin, unsigned short* bmax) +{ + bmin[0] = items[imin].bmin[0]; + bmin[1] = items[imin].bmin[1]; + bmin[2] = items[imin].bmin[2]; + + bmax[0] = items[imin].bmax[0]; + bmax[1] = items[imin].bmax[1]; + bmax[2] = items[imin].bmax[2]; + + for (int i = imin+1; i < imax; ++i) + { + const BVItem& it = items[i]; + if (it.bmin[0] < bmin[0]) bmin[0] = it.bmin[0]; + if (it.bmin[1] < bmin[1]) bmin[1] = it.bmin[1]; + if (it.bmin[2] < bmin[2]) bmin[2] = it.bmin[2]; + + if (it.bmax[0] > bmax[0]) bmax[0] = it.bmax[0]; + if (it.bmax[1] > bmax[1]) bmax[1] = it.bmax[1]; + if (it.bmax[2] > bmax[2]) bmax[2] = it.bmax[2]; + } +} + +inline int longestAxis(unsigned short x, unsigned short y, unsigned short z) +{ + int axis = 0; + unsigned short maxVal = x; + if (y > maxVal) + { + axis = 1; + maxVal = y; + } + if (z > maxVal) + { + axis = 2; + } + return axis; +} + +static void subdivide(BVItem* items, int nitems, int imin, int imax, int& curNode, dtBVNode* nodes) +{ + int inum = imax - imin; + int icur = curNode; + + dtBVNode& node = nodes[curNode++]; + + if (inum == 1) + { + // Leaf + node.bmin[0] = items[imin].bmin[0]; + node.bmin[1] = items[imin].bmin[1]; + node.bmin[2] = items[imin].bmin[2]; + + node.bmax[0] = items[imin].bmax[0]; + node.bmax[1] = items[imin].bmax[1]; + node.bmax[2] = items[imin].bmax[2]; + + node.i = items[imin].i; + } + else + { + // Split + calcExtends(items, nitems, imin, imax, node.bmin, node.bmax); + + int axis = longestAxis(node.bmax[0] - node.bmin[0], + node.bmax[1] - node.bmin[1], + node.bmax[2] - node.bmin[2]); + + if (axis == 0) + { + // Sort along x-axis + qsort(items+imin, inum, sizeof(BVItem), compareItemX); + } + else if (axis == 1) + { + // Sort along y-axis + qsort(items+imin, inum, sizeof(BVItem), compareItemY); + } + else + { + // Sort along z-axis + qsort(items+imin, inum, sizeof(BVItem), compareItemZ); + } + + int isplit = imin+inum/2; + + // Left + subdivide(items, nitems, imin, isplit, curNode, nodes); + // Right + subdivide(items, nitems, isplit, imax, curNode, nodes); + + int iescape = curNode - icur; + // Negative index means escape. + node.i = -iescape; + } +} + +static int createBVTree(dtNavMeshCreateParams* params, dtBVNode* nodes, int /*nnodes*/) +{ + // Build tree + float quantFactor = 1 / params->cs; + BVItem* items = (BVItem*)dtAlloc(sizeof(BVItem)*params->polyCount, DT_ALLOC_TEMP); + for (int i = 0; i < params->polyCount; i++) + { + BVItem& it = items[i]; + it.i = i; + // Calc polygon bounds. Use detail meshes if available. + if (params->detailMeshes) + { + int vb = (int)params->detailMeshes[i*4+0]; + int ndv = (int)params->detailMeshes[i*4+1]; + float bmin[3]; + float bmax[3]; + + const float* dv = ¶ms->detailVerts[vb*3]; + dtVcopy(bmin, dv); + dtVcopy(bmax, dv); + + for (int j = 1; j < ndv; j++) + { + dtVmin(bmin, &dv[j * 3]); + dtVmax(bmax, &dv[j * 3]); + } + + // BV-tree uses cs for all dimensions + it.bmin[0] = (unsigned short)dtClamp((int)((bmin[0] - params->bmin[0])*quantFactor), 0, 0xffff); + it.bmin[1] = (unsigned short)dtClamp((int)((bmin[1] - params->bmin[1])*quantFactor), 0, 0xffff); + it.bmin[2] = (unsigned short)dtClamp((int)((bmin[2] - params->bmin[2])*quantFactor), 0, 0xffff); + + it.bmax[0] = (unsigned short)dtClamp((int)((bmax[0] - params->bmin[0])*quantFactor), 0, 0xffff); + it.bmax[1] = (unsigned short)dtClamp((int)((bmax[1] - params->bmin[1])*quantFactor), 0, 0xffff); + it.bmax[2] = (unsigned short)dtClamp((int)((bmax[2] - params->bmin[2])*quantFactor), 0, 0xffff); + } + else + { + const unsigned short* p = ¶ms->polys[i*params->nvp * 2]; + it.bmin[0] = it.bmax[0] = params->verts[p[0] * 3 + 0]; + it.bmin[1] = it.bmax[1] = params->verts[p[0] * 3 + 1]; + it.bmin[2] = it.bmax[2] = params->verts[p[0] * 3 + 2]; + + for (int j = 1; j < params->nvp; ++j) + { + if (p[j] == MESH_NULL_IDX) break; + unsigned short x = params->verts[p[j] * 3 + 0]; + unsigned short y = params->verts[p[j] * 3 + 1]; + unsigned short z = params->verts[p[j] * 3 + 2]; + + if (x < it.bmin[0]) it.bmin[0] = x; + if (y < it.bmin[1]) it.bmin[1] = y; + if (z < it.bmin[2]) it.bmin[2] = z; + + if (x > it.bmax[0]) it.bmax[0] = x; + if (y > it.bmax[1]) it.bmax[1] = y; + if (z > it.bmax[2]) it.bmax[2] = z; + } + // Remap y + it.bmin[1] = (unsigned short)dtMathFloorf((float)it.bmin[1] * params->ch / params->cs); + it.bmax[1] = (unsigned short)dtMathCeilf((float)it.bmax[1] * params->ch / params->cs); + } + } + + int curNode = 0; + subdivide(items, params->polyCount, 0, params->polyCount, curNode, nodes); + + dtFree(items); + + return curNode; +} + +static unsigned char classifyOffMeshPoint(const float* pt, const float* bmin, const float* bmax) +{ + static const unsigned char XP = 1<<0; + static const unsigned char ZP = 1<<1; + static const unsigned char XM = 1<<2; + static const unsigned char ZM = 1<<3; + + unsigned char outcode = 0; + outcode |= (pt[0] >= bmax[0]) ? XP : 0; + outcode |= (pt[2] >= bmax[2]) ? ZP : 0; + outcode |= (pt[0] < bmin[0]) ? XM : 0; + outcode |= (pt[2] < bmin[2]) ? ZM : 0; + + switch (outcode) + { + case XP: return 0; + case XP|ZP: return 1; + case ZP: return 2; + case XM|ZP: return 3; + case XM: return 4; + case XM|ZM: return 5; + case ZM: return 6; + case XP|ZM: return 7; + }; + + return 0xff; +} + +// TODO: Better error handling. + +/// @par +/// +/// The output data array is allocated using the detour allocator (dtAlloc()). The method +/// used to free the memory will be determined by how the tile is added to the navigation +/// mesh. +/// +/// @see dtNavMesh, dtNavMesh::addTile() +bool dtCreateNavMeshData(dtNavMeshCreateParams* params, unsigned char** outData, int* outDataSize) +{ + if (params->nvp > DT_VERTS_PER_POLYGON) + return false; + if (params->vertCount >= 0xffff) + return false; + if (!params->vertCount || !params->verts) + return false; + if (!params->polyCount || !params->polys) + return false; + + const int nvp = params->nvp; + + // Classify off-mesh connection points. We store only the connections + // whose start point is inside the tile. + unsigned char* offMeshConClass = 0; + int storedOffMeshConCount = 0; + int offMeshConLinkCount = 0; + + if (params->offMeshConCount > 0) + { + offMeshConClass = (unsigned char*)dtAlloc(sizeof(unsigned char)*params->offMeshConCount*2, DT_ALLOC_TEMP); + if (!offMeshConClass) + return false; + + // Find tight heigh bounds, used for culling out off-mesh start locations. + float hmin = FLT_MAX; + float hmax = -FLT_MAX; + + if (params->detailVerts && params->detailVertsCount) + { + for (int i = 0; i < params->detailVertsCount; ++i) + { + const float h = params->detailVerts[i*3+1]; + hmin = dtMin(hmin,h); + hmax = dtMax(hmax,h); + } + } + else + { + for (int i = 0; i < params->vertCount; ++i) + { + const unsigned short* iv = ¶ms->verts[i*3]; + const float h = params->bmin[1] + iv[1] * params->ch; + hmin = dtMin(hmin,h); + hmax = dtMax(hmax,h); + } + } + hmin -= params->walkableClimb; + hmax += params->walkableClimb; + float bmin[3], bmax[3]; + dtVcopy(bmin, params->bmin); + dtVcopy(bmax, params->bmax); + bmin[1] = hmin; + bmax[1] = hmax; + + for (int i = 0; i < params->offMeshConCount; ++i) + { + const float* p0 = ¶ms->offMeshConVerts[(i*2+0)*3]; + const float* p1 = ¶ms->offMeshConVerts[(i*2+1)*3]; + offMeshConClass[i*2+0] = classifyOffMeshPoint(p0, bmin, bmax); + offMeshConClass[i*2+1] = classifyOffMeshPoint(p1, bmin, bmax); + + // Zero out off-mesh start positions which are not even potentially touching the mesh. + if (offMeshConClass[i*2+0] == 0xff) + { + if (p0[1] < bmin[1] || p0[1] > bmax[1]) + offMeshConClass[i*2+0] = 0; + } + + // Cound how many links should be allocated for off-mesh connections. + if (offMeshConClass[i*2+0] == 0xff) + offMeshConLinkCount++; + if (offMeshConClass[i*2+1] == 0xff) + offMeshConLinkCount++; + + if (offMeshConClass[i*2+0] == 0xff) + storedOffMeshConCount++; + } + } + + // Off-mesh connectionss are stored as polygons, adjust values. + const int totPolyCount = params->polyCount + storedOffMeshConCount; + const int totVertCount = params->vertCount + storedOffMeshConCount*2; + + // Find portal edges which are at tile borders. + int edgeCount = 0; + int portalCount = 0; + for (int i = 0; i < params->polyCount; ++i) + { + const unsigned short* p = ¶ms->polys[i*2*nvp]; + for (int j = 0; j < nvp; ++j) + { + if (p[j] == MESH_NULL_IDX) break; + edgeCount++; + + if (p[nvp+j] & 0x8000) + { + unsigned short dir = p[nvp+j] & 0xf; + if (dir != 0xf) + portalCount++; + } + } + } + + const int maxLinkCount = edgeCount + portalCount*2 + offMeshConLinkCount*2; + + // Find unique detail vertices. + int uniqueDetailVertCount = 0; + int detailTriCount = 0; + if (params->detailMeshes) + { + // Has detail mesh, count unique detail vertex count and use input detail tri count. + detailTriCount = params->detailTriCount; + for (int i = 0; i < params->polyCount; ++i) + { + const unsigned short* p = ¶ms->polys[i*nvp*2]; + int ndv = params->detailMeshes[i*4+1]; + int nv = 0; + for (int j = 0; j < nvp; ++j) + { + if (p[j] == MESH_NULL_IDX) break; + nv++; + } + ndv -= nv; + uniqueDetailVertCount += ndv; + } + } + else + { + // No input detail mesh, build detail mesh from nav polys. + uniqueDetailVertCount = 0; // No extra detail verts. + detailTriCount = 0; + for (int i = 0; i < params->polyCount; ++i) + { + const unsigned short* p = ¶ms->polys[i*nvp*2]; + int nv = 0; + for (int j = 0; j < nvp; ++j) + { + if (p[j] == MESH_NULL_IDX) break; + nv++; + } + detailTriCount += nv-2; + } + } + + // Calculate data size + const int headerSize = dtAlign4(sizeof(dtMeshHeader)); + const int vertsSize = dtAlign4(sizeof(float)*3*totVertCount); + const int polysSize = dtAlign4(sizeof(dtPoly)*totPolyCount); + const int linksSize = dtAlign4(sizeof(dtLink)*maxLinkCount); + const int detailMeshesSize = dtAlign4(sizeof(dtPolyDetail)*params->polyCount); + const int detailVertsSize = dtAlign4(sizeof(float)*3*uniqueDetailVertCount); + const int detailTrisSize = dtAlign4(sizeof(unsigned char)*4*detailTriCount); + const int bvTreeSize = params->buildBvTree ? dtAlign4(sizeof(dtBVNode)*params->polyCount*2) : 0; + const int offMeshConsSize = dtAlign4(sizeof(dtOffMeshConnection)*storedOffMeshConCount); + + const int dataSize = headerSize + vertsSize + polysSize + linksSize + + detailMeshesSize + detailVertsSize + detailTrisSize + + bvTreeSize + offMeshConsSize; + + unsigned char* data = (unsigned char*)dtAlloc(sizeof(unsigned char)*dataSize, DT_ALLOC_PERM); + if (!data) + { + dtFree(offMeshConClass); + return false; + } + memset(data, 0, dataSize); + + unsigned char* d = data; + + dtMeshHeader* header = dtGetThenAdvanceBufferPointer(d, headerSize); + float* navVerts = dtGetThenAdvanceBufferPointer(d, vertsSize); + dtPoly* navPolys = dtGetThenAdvanceBufferPointer(d, polysSize); + d += linksSize; // Ignore links; just leave enough space for them. They'll be created on load. + dtPolyDetail* navDMeshes = dtGetThenAdvanceBufferPointer(d, detailMeshesSize); + float* navDVerts = dtGetThenAdvanceBufferPointer(d, detailVertsSize); + unsigned char* navDTris = dtGetThenAdvanceBufferPointer(d, detailTrisSize); + dtBVNode* navBvtree = dtGetThenAdvanceBufferPointer(d, bvTreeSize); + dtOffMeshConnection* offMeshCons = dtGetThenAdvanceBufferPointer(d, offMeshConsSize); + + + // Store header + header->magic = DT_NAVMESH_MAGIC; + header->version = DT_NAVMESH_VERSION; + header->x = params->tileX; + header->y = params->tileY; + header->layer = params->tileLayer; + header->userId = params->userId; + header->polyCount = totPolyCount; + header->vertCount = totVertCount; + header->maxLinkCount = maxLinkCount; + dtVcopy(header->bmin, params->bmin); + dtVcopy(header->bmax, params->bmax); + header->detailMeshCount = params->polyCount; + header->detailVertCount = uniqueDetailVertCount; + header->detailTriCount = detailTriCount; + header->bvQuantFactor = 1.0f / params->cs; + header->offMeshBase = params->polyCount; + header->walkableHeight = params->walkableHeight; + header->walkableRadius = params->walkableRadius; + header->walkableClimb = params->walkableClimb; + header->offMeshConCount = storedOffMeshConCount; + header->bvNodeCount = params->buildBvTree ? params->polyCount*2 : 0; + + const int offMeshVertsBase = params->vertCount; + const int offMeshPolyBase = params->polyCount; + + // Store vertices + // Mesh vertices + for (int i = 0; i < params->vertCount; ++i) + { + const unsigned short* iv = ¶ms->verts[i*3]; + float* v = &navVerts[i*3]; + v[0] = params->bmin[0] + iv[0] * params->cs; + v[1] = params->bmin[1] + iv[1] * params->ch; + v[2] = params->bmin[2] + iv[2] * params->cs; + } + // Off-mesh link vertices. + int n = 0; + for (int i = 0; i < params->offMeshConCount; ++i) + { + // Only store connections which start from this tile. + if (offMeshConClass[i*2+0] == 0xff) + { + const float* linkv = ¶ms->offMeshConVerts[i*2*3]; + float* v = &navVerts[(offMeshVertsBase + n*2)*3]; + dtVcopy(&v[0], &linkv[0]); + dtVcopy(&v[3], &linkv[3]); + n++; + } + } + + // Store polygons + // Mesh polys + const unsigned short* src = params->polys; + for (int i = 0; i < params->polyCount; ++i) + { + dtPoly* p = &navPolys[i]; + p->vertCount = 0; + p->flags = params->polyFlags[i]; + p->setArea(params->polyAreas[i]); + p->setType(DT_POLYTYPE_GROUND); + for (int j = 0; j < nvp; ++j) + { + if (src[j] == MESH_NULL_IDX) break; + p->verts[j] = src[j]; + if (src[nvp+j] & 0x8000) + { + // Border or portal edge. + unsigned short dir = src[nvp+j] & 0xf; + if (dir == 0xf) // Border + p->neis[j] = 0; + else if (dir == 0) // Portal x- + p->neis[j] = DT_EXT_LINK | 4; + else if (dir == 1) // Portal z+ + p->neis[j] = DT_EXT_LINK | 2; + else if (dir == 2) // Portal x+ + p->neis[j] = DT_EXT_LINK | 0; + else if (dir == 3) // Portal z- + p->neis[j] = DT_EXT_LINK | 6; + } + else + { + // Normal connection + p->neis[j] = src[nvp+j]+1; + } + + p->vertCount++; + } + src += nvp*2; + } + // Off-mesh connection vertices. + n = 0; + for (int i = 0; i < params->offMeshConCount; ++i) + { + // Only store connections which start from this tile. + if (offMeshConClass[i*2+0] == 0xff) + { + dtPoly* p = &navPolys[offMeshPolyBase+n]; + p->vertCount = 2; + p->verts[0] = (unsigned short)(offMeshVertsBase + n*2+0); + p->verts[1] = (unsigned short)(offMeshVertsBase + n*2+1); + p->flags = params->offMeshConFlags[i]; + p->setArea(params->offMeshConAreas[i]); + p->setType(DT_POLYTYPE_OFFMESH_CONNECTION); + n++; + } + } + + // Store detail meshes and vertices. + // The nav polygon vertices are stored as the first vertices on each mesh. + // We compress the mesh data by skipping them and using the navmesh coordinates. + if (params->detailMeshes) + { + unsigned short vbase = 0; + for (int i = 0; i < params->polyCount; ++i) + { + dtPolyDetail& dtl = navDMeshes[i]; + const int vb = (int)params->detailMeshes[i*4+0]; + const int ndv = (int)params->detailMeshes[i*4+1]; + const int nv = navPolys[i].vertCount; + dtl.vertBase = (unsigned int)vbase; + dtl.vertCount = (unsigned char)(ndv-nv); + dtl.triBase = (unsigned int)params->detailMeshes[i*4+2]; + dtl.triCount = (unsigned char)params->detailMeshes[i*4+3]; + // Copy vertices except the first 'nv' verts which are equal to nav poly verts. + if (ndv-nv) + { + memcpy(&navDVerts[vbase*3], ¶ms->detailVerts[(vb+nv)*3], sizeof(float)*3*(ndv-nv)); + vbase += (unsigned short)(ndv-nv); + } + } + // Store triangles. + memcpy(navDTris, params->detailTris, sizeof(unsigned char)*4*params->detailTriCount); + } + else + { + // Create dummy detail mesh by triangulating polys. + int tbase = 0; + for (int i = 0; i < params->polyCount; ++i) + { + dtPolyDetail& dtl = navDMeshes[i]; + const int nv = navPolys[i].vertCount; + dtl.vertBase = 0; + dtl.vertCount = 0; + dtl.triBase = (unsigned int)tbase; + dtl.triCount = (unsigned char)(nv-2); + // Triangulate polygon (local indices). + for (int j = 2; j < nv; ++j) + { + unsigned char* t = &navDTris[tbase*4]; + t[0] = 0; + t[1] = (unsigned char)(j-1); + t[2] = (unsigned char)j; + // Bit for each edge that belongs to poly boundary. + t[3] = (1<<2); + if (j == 2) t[3] |= (1<<0); + if (j == nv-1) t[3] |= (1<<4); + tbase++; + } + } + } + + // Store and create BVtree. + if (params->buildBvTree) + { + createBVTree(params, navBvtree, 2*params->polyCount); + } + + // Store Off-Mesh connections. + n = 0; + for (int i = 0; i < params->offMeshConCount; ++i) + { + // Only store connections which start from this tile. + if (offMeshConClass[i*2+0] == 0xff) + { + dtOffMeshConnection* con = &offMeshCons[n]; + con->poly = (unsigned short)(offMeshPolyBase + n); + // Copy connection end-points. + const float* endPts = ¶ms->offMeshConVerts[i*2*3]; + dtVcopy(&con->pos[0], &endPts[0]); + dtVcopy(&con->pos[3], &endPts[3]); + con->rad = params->offMeshConRad[i]; + con->flags = params->offMeshConDir[i] ? DT_OFFMESH_CON_BIDIR : 0; + con->side = offMeshConClass[i*2+1]; + if (params->offMeshConUserID) + con->userId = params->offMeshConUserID[i]; + n++; + } + } + + dtFree(offMeshConClass); + + *outData = data; + *outDataSize = dataSize; + + return true; +} + +bool dtNavMeshHeaderSwapEndian(unsigned char* data, const int /*dataSize*/) +{ + dtMeshHeader* header = (dtMeshHeader*)data; + + int swappedMagic = DT_NAVMESH_MAGIC; + int swappedVersion = DT_NAVMESH_VERSION; + dtSwapEndian(&swappedMagic); + dtSwapEndian(&swappedVersion); + + if ((header->magic != DT_NAVMESH_MAGIC || header->version != DT_NAVMESH_VERSION) && + (header->magic != swappedMagic || header->version != swappedVersion)) + { + return false; + } + + dtSwapEndian(&header->magic); + dtSwapEndian(&header->version); + dtSwapEndian(&header->x); + dtSwapEndian(&header->y); + dtSwapEndian(&header->layer); + dtSwapEndian(&header->userId); + dtSwapEndian(&header->polyCount); + dtSwapEndian(&header->vertCount); + dtSwapEndian(&header->maxLinkCount); + dtSwapEndian(&header->detailMeshCount); + dtSwapEndian(&header->detailVertCount); + dtSwapEndian(&header->detailTriCount); + dtSwapEndian(&header->bvNodeCount); + dtSwapEndian(&header->offMeshConCount); + dtSwapEndian(&header->offMeshBase); + dtSwapEndian(&header->walkableHeight); + dtSwapEndian(&header->walkableRadius); + dtSwapEndian(&header->walkableClimb); + dtSwapEndian(&header->bmin[0]); + dtSwapEndian(&header->bmin[1]); + dtSwapEndian(&header->bmin[2]); + dtSwapEndian(&header->bmax[0]); + dtSwapEndian(&header->bmax[1]); + dtSwapEndian(&header->bmax[2]); + dtSwapEndian(&header->bvQuantFactor); + + // Freelist index and pointers are updated when tile is added, no need to swap. + + return true; +} + +/// @par +/// +/// @warning This function assumes that the header is in the correct endianess already. +/// Call #dtNavMeshHeaderSwapEndian() first on the data if the data is expected to be in wrong endianess +/// to start with. Call #dtNavMeshHeaderSwapEndian() after the data has been swapped if converting from +/// native to foreign endianess. +bool dtNavMeshDataSwapEndian(unsigned char* data, const int /*dataSize*/) +{ + // Make sure the data is in right format. + dtMeshHeader* header = (dtMeshHeader*)data; + if (header->magic != DT_NAVMESH_MAGIC) + return false; + if (header->version != DT_NAVMESH_VERSION) + return false; + + // Patch header pointers. + const int headerSize = dtAlign4(sizeof(dtMeshHeader)); + const int vertsSize = dtAlign4(sizeof(float)*3*header->vertCount); + const int polysSize = dtAlign4(sizeof(dtPoly)*header->polyCount); + const int linksSize = dtAlign4(sizeof(dtLink)*(header->maxLinkCount)); + const int detailMeshesSize = dtAlign4(sizeof(dtPolyDetail)*header->detailMeshCount); + const int detailVertsSize = dtAlign4(sizeof(float)*3*header->detailVertCount); + const int detailTrisSize = dtAlign4(sizeof(unsigned char)*4*header->detailTriCount); + const int bvtreeSize = dtAlign4(sizeof(dtBVNode)*header->bvNodeCount); + const int offMeshLinksSize = dtAlign4(sizeof(dtOffMeshConnection)*header->offMeshConCount); + + unsigned char* d = data + headerSize; + float* verts = dtGetThenAdvanceBufferPointer(d, vertsSize); + dtPoly* polys = dtGetThenAdvanceBufferPointer(d, polysSize); + d += linksSize; // Ignore links; they technically should be endian-swapped but all their data is overwritten on load anyway. + //dtLink* links = dtGetThenAdvanceBufferPointer(d, linksSize); + dtPolyDetail* detailMeshes = dtGetThenAdvanceBufferPointer(d, detailMeshesSize); + float* detailVerts = dtGetThenAdvanceBufferPointer(d, detailVertsSize); + d += detailTrisSize; // Ignore detail tris; single bytes can't be endian-swapped. + //unsigned char* detailTris = dtGetThenAdvanceBufferPointer(d, detailTrisSize); + dtBVNode* bvTree = dtGetThenAdvanceBufferPointer(d, bvtreeSize); + dtOffMeshConnection* offMeshCons = dtGetThenAdvanceBufferPointer(d, offMeshLinksSize); + + // Vertices + for (int i = 0; i < header->vertCount*3; ++i) + { + dtSwapEndian(&verts[i]); + } + + // Polys + for (int i = 0; i < header->polyCount; ++i) + { + dtPoly* p = &polys[i]; + // poly->firstLink is update when tile is added, no need to swap. + for (int j = 0; j < DT_VERTS_PER_POLYGON; ++j) + { + dtSwapEndian(&p->verts[j]); + dtSwapEndian(&p->neis[j]); + } + dtSwapEndian(&p->flags); + } + + // Links are rebuild when tile is added, no need to swap. + + // Detail meshes + for (int i = 0; i < header->detailMeshCount; ++i) + { + dtPolyDetail* pd = &detailMeshes[i]; + dtSwapEndian(&pd->vertBase); + dtSwapEndian(&pd->triBase); + } + + // Detail verts + for (int i = 0; i < header->detailVertCount*3; ++i) + { + dtSwapEndian(&detailVerts[i]); + } + + // BV-tree + for (int i = 0; i < header->bvNodeCount; ++i) + { + dtBVNode* node = &bvTree[i]; + for (int j = 0; j < 3; ++j) + { + dtSwapEndian(&node->bmin[j]); + dtSwapEndian(&node->bmax[j]); + } + dtSwapEndian(&node->i); + } + + // Off-mesh Connections. + for (int i = 0; i < header->offMeshConCount; ++i) + { + dtOffMeshConnection* con = &offMeshCons[i]; + for (int j = 0; j < 6; ++j) + dtSwapEndian(&con->pos[j]); + dtSwapEndian(&con->rad); + dtSwapEndian(&con->poly); + } + + return true; +} diff --git a/extern/fetched/recastnavigation/Detour/Source/DetourNavMeshQuery.cpp b/extern/fetched/recastnavigation/Detour/Source/DetourNavMeshQuery.cpp new file mode 100644 index 000000000..8ea09c823 --- /dev/null +++ b/extern/fetched/recastnavigation/Detour/Source/DetourNavMeshQuery.cpp @@ -0,0 +1,3679 @@ +// +// Copyright (c) 2009-2010 Mikko Mononen memon@inside.org +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. +// + +#include +#include +#include "DetourNavMeshQuery.h" +#include "DetourNavMesh.h" +#include "DetourNode.h" +#include "DetourCommon.h" +#include "DetourMath.h" +#include "DetourAlloc.h" +#include "DetourAssert.h" +#include + +/// @class dtQueryFilter +/// +/// The Default Implementation +/// +/// At construction: All area costs default to 1.0. All flags are included +/// and none are excluded. +/// +/// If a polygon has both an include and an exclude flag, it will be excluded. +/// +/// The way filtering works, a navigation mesh polygon must have at least one flag +/// set to ever be considered by a query. So a polygon with no flags will never +/// be considered. +/// +/// Setting the include flags to 0 will result in all polygons being excluded. +/// +/// Custom Implementations +/// +/// DT_VIRTUAL_QUERYFILTER must be defined in order to extend this class. +/// +/// Implement a custom query filter by overriding the virtual passFilter() +/// and getCost() functions. If this is done, both functions should be as +/// fast as possible. Use cached local copies of data rather than accessing +/// your own objects where possible. +/// +/// Custom implementations do not need to adhere to the flags or cost logic +/// used by the default implementation. +/// +/// In order for A* searches to work properly, the cost should be proportional to +/// the travel distance. Implementing a cost modifier less than 1.0 is likely +/// to lead to problems during pathfinding. +/// +/// @see dtNavMeshQuery + +dtQueryFilter::dtQueryFilter() : + m_includeFlags(0xffff), + m_excludeFlags(0) +{ + for (int i = 0; i < DT_MAX_AREAS; ++i) + m_areaCost[i] = 1.0f; +} + +#ifdef DT_VIRTUAL_QUERYFILTER +bool dtQueryFilter::passFilter(const dtPolyRef /*ref*/, + const dtMeshTile* /*tile*/, + const dtPoly* poly) const +{ + return (poly->flags & m_includeFlags) != 0 && (poly->flags & m_excludeFlags) == 0; +} + +float dtQueryFilter::getCost(const float* pa, const float* pb, + const dtPolyRef /*prevRef*/, const dtMeshTile* /*prevTile*/, const dtPoly* /*prevPoly*/, + const dtPolyRef /*curRef*/, const dtMeshTile* /*curTile*/, const dtPoly* curPoly, + const dtPolyRef /*nextRef*/, const dtMeshTile* /*nextTile*/, const dtPoly* /*nextPoly*/) const +{ + return dtVdist(pa, pb) * m_areaCost[curPoly->getArea()]; +} +#else +inline bool dtQueryFilter::passFilter(const dtPolyRef /*ref*/, + const dtMeshTile* /*tile*/, + const dtPoly* poly) const +{ + return (poly->flags & m_includeFlags) != 0 && (poly->flags & m_excludeFlags) == 0; +} + +inline float dtQueryFilter::getCost(const float* pa, const float* pb, + const dtPolyRef /*prevRef*/, const dtMeshTile* /*prevTile*/, const dtPoly* /*prevPoly*/, + const dtPolyRef /*curRef*/, const dtMeshTile* /*curTile*/, const dtPoly* curPoly, + const dtPolyRef /*nextRef*/, const dtMeshTile* /*nextTile*/, const dtPoly* /*nextPoly*/) const +{ + return dtVdist(pa, pb) * m_areaCost[curPoly->getArea()]; +} +#endif + +static const float H_SCALE = 0.999f; // Search heuristic scale. + + +dtNavMeshQuery* dtAllocNavMeshQuery() +{ + void* mem = dtAlloc(sizeof(dtNavMeshQuery), DT_ALLOC_PERM); + if (!mem) return 0; + return new(mem) dtNavMeshQuery; +} + +void dtFreeNavMeshQuery(dtNavMeshQuery* navmesh) +{ + if (!navmesh) return; + navmesh->~dtNavMeshQuery(); + dtFree(navmesh); +} + +////////////////////////////////////////////////////////////////////////////////////////// + +/// @class dtNavMeshQuery +/// +/// For methods that support undersized buffers, if the buffer is too small +/// to hold the entire result set the return status of the method will include +/// the #DT_BUFFER_TOO_SMALL flag. +/// +/// Constant member functions can be used by multiple clients without side +/// effects. (E.g. No change to the closed list. No impact on an in-progress +/// sliced path query. Etc.) +/// +/// Walls and portals: A @e wall is a polygon segment that is +/// considered impassable. A @e portal is a passable segment between polygons. +/// A portal may be treated as a wall based on the dtQueryFilter used for a query. +/// +/// @see dtNavMesh, dtQueryFilter, #dtAllocNavMeshQuery(), #dtAllocNavMeshQuery() + +dtNavMeshQuery::dtNavMeshQuery() : + m_nav(0), + m_tinyNodePool(0), + m_nodePool(0), + m_openList(0) +{ + memset(&m_query, 0, sizeof(dtQueryData)); +} + +dtNavMeshQuery::~dtNavMeshQuery() +{ + if (m_tinyNodePool) + m_tinyNodePool->~dtNodePool(); + if (m_nodePool) + m_nodePool->~dtNodePool(); + if (m_openList) + m_openList->~dtNodeQueue(); + dtFree(m_tinyNodePool); + dtFree(m_nodePool); + dtFree(m_openList); +} + +/// @par +/// +/// Must be the first function called after construction, before other +/// functions are used. +/// +/// This function can be used multiple times. +dtStatus dtNavMeshQuery::init(const dtNavMesh* nav, const int maxNodes) +{ + if (maxNodes > DT_NULL_IDX || maxNodes > (1 << DT_NODE_PARENT_BITS) - 1) + return DT_FAILURE | DT_INVALID_PARAM; + + m_nav = nav; + + if (!m_nodePool || m_nodePool->getMaxNodes() < maxNodes) + { + if (m_nodePool) + { + m_nodePool->~dtNodePool(); + dtFree(m_nodePool); + m_nodePool = 0; + } + m_nodePool = new (dtAlloc(sizeof(dtNodePool), DT_ALLOC_PERM)) dtNodePool(maxNodes, dtNextPow2(maxNodes/4)); + if (!m_nodePool) + return DT_FAILURE | DT_OUT_OF_MEMORY; + } + else + { + m_nodePool->clear(); + } + + if (!m_tinyNodePool) + { + m_tinyNodePool = new (dtAlloc(sizeof(dtNodePool), DT_ALLOC_PERM)) dtNodePool(64, 32); + if (!m_tinyNodePool) + return DT_FAILURE | DT_OUT_OF_MEMORY; + } + else + { + m_tinyNodePool->clear(); + } + + if (!m_openList || m_openList->getCapacity() < maxNodes) + { + if (m_openList) + { + m_openList->~dtNodeQueue(); + dtFree(m_openList); + m_openList = 0; + } + m_openList = new (dtAlloc(sizeof(dtNodeQueue), DT_ALLOC_PERM)) dtNodeQueue(maxNodes); + if (!m_openList) + return DT_FAILURE | DT_OUT_OF_MEMORY; + } + else + { + m_openList->clear(); + } + + return DT_SUCCESS; +} + +dtStatus dtNavMeshQuery::findRandomPoint(const dtQueryFilter* filter, float (*frand)(), + dtPolyRef* randomRef, float* randomPt) const +{ + dtAssert(m_nav); + + if (!filter || !frand || !randomRef || !randomPt) + return DT_FAILURE | DT_INVALID_PARAM; + + // Randomly pick one tile. Assume that all tiles cover roughly the same area. + const dtMeshTile* tile = 0; + float tsum = 0.0f; + for (int i = 0; i < m_nav->getMaxTiles(); i++) + { + const dtMeshTile* t = m_nav->getTile(i); + if (!t || !t->header) continue; + + // Choose random tile using reservoi sampling. + const float area = 1.0f; // Could be tile area too. + tsum += area; + const float u = frand(); + if (u*tsum <= area) + tile = t; + } + if (!tile) + return DT_FAILURE; + + // Randomly pick one polygon weighted by polygon area. + const dtPoly* poly = 0; + dtPolyRef polyRef = 0; + const dtPolyRef base = m_nav->getPolyRefBase(tile); + + float areaSum = 0.0f; + for (int i = 0; i < tile->header->polyCount; ++i) + { + const dtPoly* p = &tile->polys[i]; + // Do not return off-mesh connection polygons. + if (p->getType() != DT_POLYTYPE_GROUND) + continue; + // Must pass filter + const dtPolyRef ref = base | (dtPolyRef)i; + if (!filter->passFilter(ref, tile, p)) + continue; + + // Calc area of the polygon. + float polyArea = 0.0f; + for (int j = 2; j < p->vertCount; ++j) + { + const float* va = &tile->verts[p->verts[0]*3]; + const float* vb = &tile->verts[p->verts[j-1]*3]; + const float* vc = &tile->verts[p->verts[j]*3]; + polyArea += dtTriArea2D(va,vb,vc); + } + + // Choose random polygon weighted by area, using reservoi sampling. + areaSum += polyArea; + const float u = frand(); + if (u*areaSum <= polyArea) + { + poly = p; + polyRef = ref; + } + } + + if (!poly) + return DT_FAILURE; + + // Randomly pick point on polygon. + const float* v = &tile->verts[poly->verts[0]*3]; + float verts[3*DT_VERTS_PER_POLYGON]; + float areas[DT_VERTS_PER_POLYGON]; + dtVcopy(&verts[0*3],v); + for (int j = 1; j < poly->vertCount; ++j) + { + v = &tile->verts[poly->verts[j]*3]; + dtVcopy(&verts[j*3],v); + } + + const float s = frand(); + const float t = frand(); + + float pt[3]; + dtRandomPointInConvexPoly(verts, poly->vertCount, areas, s, t, pt); + + float h = 0.0f; + dtStatus status = getPolyHeight(polyRef, pt, &h); + if (dtStatusFailed(status)) + return status; + pt[1] = h; + + dtVcopy(randomPt, pt); + *randomRef = polyRef; + + return DT_SUCCESS; +} + +dtStatus dtNavMeshQuery::findRandomPointAroundCircle(dtPolyRef startRef, const float* centerPos, const float maxRadius, + const dtQueryFilter* filter, float (*frand)(), + dtPolyRef* randomRef, float* randomPt) const +{ + dtAssert(m_nav); + dtAssert(m_nodePool); + dtAssert(m_openList); + + // Validate input + if (!m_nav->isValidPolyRef(startRef) || + !centerPos || !dtVisfinite(centerPos) || + maxRadius < 0 || !dtMathIsfinite(maxRadius) || + !filter || !frand || !randomRef || !randomPt) + { + return DT_FAILURE | DT_INVALID_PARAM; + } + + const dtMeshTile* startTile = 0; + const dtPoly* startPoly = 0; + m_nav->getTileAndPolyByRefUnsafe(startRef, &startTile, &startPoly); + if (!filter->passFilter(startRef, startTile, startPoly)) + return DT_FAILURE | DT_INVALID_PARAM; + + m_nodePool->clear(); + m_openList->clear(); + + dtNode* startNode = m_nodePool->getNode(startRef); + dtVcopy(startNode->pos, centerPos); + startNode->pidx = 0; + startNode->cost = 0; + startNode->total = 0; + startNode->id = startRef; + startNode->flags = DT_NODE_OPEN; + m_openList->push(startNode); + + dtStatus status = DT_SUCCESS; + + const float radiusSqr = dtSqr(maxRadius); + float areaSum = 0.0f; + + const dtMeshTile* randomTile = 0; + const dtPoly* randomPoly = 0; + dtPolyRef randomPolyRef = 0; + + while (!m_openList->empty()) + { + dtNode* bestNode = m_openList->pop(); + bestNode->flags &= ~DT_NODE_OPEN; + bestNode->flags |= DT_NODE_CLOSED; + + // Get poly and tile. + // The API input has been cheked already, skip checking internal data. + const dtPolyRef bestRef = bestNode->id; + const dtMeshTile* bestTile = 0; + const dtPoly* bestPoly = 0; + m_nav->getTileAndPolyByRefUnsafe(bestRef, &bestTile, &bestPoly); + + // Place random locations on on ground. + if (bestPoly->getType() == DT_POLYTYPE_GROUND) + { + // Calc area of the polygon. + float polyArea = 0.0f; + for (int j = 2; j < bestPoly->vertCount; ++j) + { + const float* va = &bestTile->verts[bestPoly->verts[0]*3]; + const float* vb = &bestTile->verts[bestPoly->verts[j-1]*3]; + const float* vc = &bestTile->verts[bestPoly->verts[j]*3]; + polyArea += dtTriArea2D(va,vb,vc); + } + // Choose random polygon weighted by area, using reservoi sampling. + areaSum += polyArea; + const float u = frand(); + if (u*areaSum <= polyArea) + { + randomTile = bestTile; + randomPoly = bestPoly; + randomPolyRef = bestRef; + } + } + + + // Get parent poly and tile. + dtPolyRef parentRef = 0; + const dtMeshTile* parentTile = 0; + const dtPoly* parentPoly = 0; + if (bestNode->pidx) + parentRef = m_nodePool->getNodeAtIdx(bestNode->pidx)->id; + if (parentRef) + m_nav->getTileAndPolyByRefUnsafe(parentRef, &parentTile, &parentPoly); + + for (unsigned int i = bestPoly->firstLink; i != DT_NULL_LINK; i = bestTile->links[i].next) + { + const dtLink* link = &bestTile->links[i]; + dtPolyRef neighbourRef = link->ref; + // Skip invalid neighbours and do not follow back to parent. + if (!neighbourRef || neighbourRef == parentRef) + continue; + + // Expand to neighbour + const dtMeshTile* neighbourTile = 0; + const dtPoly* neighbourPoly = 0; + m_nav->getTileAndPolyByRefUnsafe(neighbourRef, &neighbourTile, &neighbourPoly); + + // Do not advance if the polygon is excluded by the filter. + if (!filter->passFilter(neighbourRef, neighbourTile, neighbourPoly)) + continue; + + // Find edge and calc distance to the edge. + float va[3], vb[3]; + if (!getPortalPoints(bestRef, bestPoly, bestTile, neighbourRef, neighbourPoly, neighbourTile, va, vb)) + continue; + + // If the circle is not touching the next polygon, skip it. + float tseg; + float distSqr = dtDistancePtSegSqr2D(centerPos, va, vb, tseg); + if (distSqr > radiusSqr) + continue; + + dtNode* neighbourNode = m_nodePool->getNode(neighbourRef); + if (!neighbourNode) + { + status |= DT_OUT_OF_NODES; + continue; + } + + if (neighbourNode->flags & DT_NODE_CLOSED) + continue; + + // Cost + if (neighbourNode->flags == 0) + dtVlerp(neighbourNode->pos, va, vb, 0.5f); + + const float total = bestNode->total + dtVdist(bestNode->pos, neighbourNode->pos); + + // The node is already in open list and the new result is worse, skip. + if ((neighbourNode->flags & DT_NODE_OPEN) && total >= neighbourNode->total) + continue; + + neighbourNode->id = neighbourRef; + neighbourNode->flags = (neighbourNode->flags & ~DT_NODE_CLOSED); + neighbourNode->pidx = m_nodePool->getNodeIdx(bestNode); + neighbourNode->total = total; + + if (neighbourNode->flags & DT_NODE_OPEN) + { + m_openList->modify(neighbourNode); + } + else + { + neighbourNode->flags = DT_NODE_OPEN; + m_openList->push(neighbourNode); + } + } + } + + if (!randomPoly) + return DT_FAILURE; + + // Randomly pick point on polygon. + const float* v = &randomTile->verts[randomPoly->verts[0]*3]; + float verts[3*DT_VERTS_PER_POLYGON]; + float areas[DT_VERTS_PER_POLYGON]; + dtVcopy(&verts[0*3],v); + for (int j = 1; j < randomPoly->vertCount; ++j) + { + v = &randomTile->verts[randomPoly->verts[j]*3]; + dtVcopy(&verts[j*3],v); + } + + const float s = frand(); + const float t = frand(); + + float pt[3]; + dtRandomPointInConvexPoly(verts, randomPoly->vertCount, areas, s, t, pt); + + float h = 0.0f; + dtStatus stat = getPolyHeight(randomPolyRef, pt, &h); + if (dtStatusFailed(status)) + return stat; + pt[1] = h; + + dtVcopy(randomPt, pt); + *randomRef = randomPolyRef; + + return DT_SUCCESS; +} + + +////////////////////////////////////////////////////////////////////////////////////////// + +/// @par +/// +/// Uses the detail polygons to find the surface height. (Most accurate.) +/// +/// @p pos does not have to be within the bounds of the polygon or navigation mesh. +/// +/// See closestPointOnPolyBoundary() for a limited but faster option. +/// +dtStatus dtNavMeshQuery::closestPointOnPoly(dtPolyRef ref, const float* pos, float* closest, bool* posOverPoly) const +{ + dtAssert(m_nav); + if (!m_nav->isValidPolyRef(ref) || + !pos || !dtVisfinite(pos) || + !closest) + { + return DT_FAILURE | DT_INVALID_PARAM; + } + + m_nav->closestPointOnPoly(ref, pos, closest, posOverPoly); + return DT_SUCCESS; +} + +/// @par +/// +/// Much faster than closestPointOnPoly(). +/// +/// If the provided position lies within the polygon's xz-bounds (above or below), +/// then @p pos and @p closest will be equal. +/// +/// The height of @p closest will be the polygon boundary. The height detail is not used. +/// +/// @p pos does not have to be within the bounds of the polybon or the navigation mesh. +/// +dtStatus dtNavMeshQuery::closestPointOnPolyBoundary(dtPolyRef ref, const float* pos, float* closest) const +{ + dtAssert(m_nav); + + const dtMeshTile* tile = 0; + const dtPoly* poly = 0; + if (dtStatusFailed(m_nav->getTileAndPolyByRef(ref, &tile, &poly))) + return DT_FAILURE | DT_INVALID_PARAM; + + if (!pos || !dtVisfinite(pos) || !closest) + return DT_FAILURE | DT_INVALID_PARAM; + + // Collect vertices. + float verts[DT_VERTS_PER_POLYGON*3]; + float edged[DT_VERTS_PER_POLYGON]; + float edget[DT_VERTS_PER_POLYGON]; + int nv = 0; + for (int i = 0; i < (int)poly->vertCount; ++i) + { + dtVcopy(&verts[nv*3], &tile->verts[poly->verts[i]*3]); + nv++; + } + + bool inside = dtDistancePtPolyEdgesSqr(pos, verts, nv, edged, edget); + if (inside) + { + // Point is inside the polygon, return the point. + dtVcopy(closest, pos); + } + else + { + // Point is outside the polygon, dtClamp to nearest edge. + float dmin = edged[0]; + int imin = 0; + for (int i = 1; i < nv; ++i) + { + if (edged[i] < dmin) + { + dmin = edged[i]; + imin = i; + } + } + const float* va = &verts[imin*3]; + const float* vb = &verts[((imin+1)%nv)*3]; + dtVlerp(closest, va, vb, edget[imin]); + } + + return DT_SUCCESS; +} + +/// @par +/// +/// Will return #DT_FAILURE | DT_INVALID_PARAM if the provided position is outside the xz-bounds +/// of the polygon. +/// +dtStatus dtNavMeshQuery::getPolyHeight(dtPolyRef ref, const float* pos, float* height) const +{ + dtAssert(m_nav); + + const dtMeshTile* tile = 0; + const dtPoly* poly = 0; + if (dtStatusFailed(m_nav->getTileAndPolyByRef(ref, &tile, &poly))) + return DT_FAILURE | DT_INVALID_PARAM; + + if (!pos || !dtVisfinite2D(pos)) + return DT_FAILURE | DT_INVALID_PARAM; + + // We used to return success for offmesh connections, but the + // getPolyHeight in DetourNavMesh does not do this, so special + // case it here. + if (poly->getType() == DT_POLYTYPE_OFFMESH_CONNECTION) + { + const float* v0 = &tile->verts[poly->verts[0]*3]; + const float* v1 = &tile->verts[poly->verts[1]*3]; + float t; + dtDistancePtSegSqr2D(pos, v0, v1, t); + if (height) + *height = v0[1] + (v1[1] - v0[1])*t; + + return DT_SUCCESS; + } + + return m_nav->getPolyHeight(tile, poly, pos, height) + ? DT_SUCCESS + : DT_FAILURE | DT_INVALID_PARAM; +} + +class dtFindNearestPolyQuery : public dtPolyQuery +{ + const dtNavMeshQuery* m_query; + const float* m_center; + float m_nearestDistanceSqr; + dtPolyRef m_nearestRef; + float m_nearestPoint[3]; + bool m_overPoly; + +public: + dtFindNearestPolyQuery(const dtNavMeshQuery* query, const float* center) + : m_query(query), m_center(center), m_nearestDistanceSqr(FLT_MAX), m_nearestRef(0), m_nearestPoint(), m_overPoly(false) + { + } + + dtPolyRef nearestRef() const { return m_nearestRef; } + const float* nearestPoint() const { return m_nearestPoint; } + bool isOverPoly() const { return m_overPoly; } + + void process(const dtMeshTile* tile, dtPoly** polys, dtPolyRef* refs, int count) + { + dtIgnoreUnused(polys); + + for (int i = 0; i < count; ++i) + { + dtPolyRef ref = refs[i]; + float closestPtPoly[3]; + float diff[3]; + bool posOverPoly = false; + float d; + m_query->closestPointOnPoly(ref, m_center, closestPtPoly, &posOverPoly); + + // If a point is directly over a polygon and closer than + // climb height, favor that instead of straight line nearest point. + dtVsub(diff, m_center, closestPtPoly); + if (posOverPoly) + { + d = dtAbs(diff[1]) - tile->header->walkableClimb; + d = d > 0 ? d*d : 0; + } + else + { + d = dtVlenSqr(diff); + } + + if (d < m_nearestDistanceSqr) + { + dtVcopy(m_nearestPoint, closestPtPoly); + + m_nearestDistanceSqr = d; + m_nearestRef = ref; + m_overPoly = posOverPoly; + } + } + } +}; + +/// @par +/// +/// @note If the search box does not intersect any polygons the search will +/// return #DT_SUCCESS, but @p nearestRef will be zero. So if in doubt, check +/// @p nearestRef before using @p nearestPt. +/// +dtStatus dtNavMeshQuery::findNearestPoly(const float* center, const float* halfExtents, + const dtQueryFilter* filter, + dtPolyRef* nearestRef, float* nearestPt) const +{ + return findNearestPoly(center, halfExtents, filter, nearestRef, nearestPt, NULL); +} + +// If center and nearestPt point to an equal position, isOverPoly will be true; +// however there's also a special case of climb height inside the polygon (see dtFindNearestPolyQuery) +dtStatus dtNavMeshQuery::findNearestPoly(const float* center, const float* halfExtents, + const dtQueryFilter* filter, + dtPolyRef* nearestRef, float* nearestPt, bool* isOverPoly) const +{ + dtAssert(m_nav); + + if (!nearestRef) + return DT_FAILURE | DT_INVALID_PARAM; + + // queryPolygons below will check rest of params + + dtFindNearestPolyQuery query(this, center); + + dtStatus status = queryPolygons(center, halfExtents, filter, &query); + if (dtStatusFailed(status)) + return status; + + *nearestRef = query.nearestRef(); + // Only override nearestPt if we actually found a poly so the nearest point + // is valid. + if (nearestPt && *nearestRef) + { + dtVcopy(nearestPt, query.nearestPoint()); + if (isOverPoly) + *isOverPoly = query.isOverPoly(); + } + + return DT_SUCCESS; +} + +void dtNavMeshQuery::queryPolygonsInTile(const dtMeshTile* tile, const float* qmin, const float* qmax, + const dtQueryFilter* filter, dtPolyQuery* query) const +{ + dtAssert(m_nav); + static const int batchSize = 32; + dtPolyRef polyRefs[batchSize]; + dtPoly* polys[batchSize]; + int n = 0; + + if (tile->bvTree) + { + const dtBVNode* node = &tile->bvTree[0]; + const dtBVNode* end = &tile->bvTree[tile->header->bvNodeCount]; + const float* tbmin = tile->header->bmin; + const float* tbmax = tile->header->bmax; + const float qfac = tile->header->bvQuantFactor; + + // Calculate quantized box + unsigned short bmin[3], bmax[3]; + // dtClamp query box to world box. + float minx = dtClamp(qmin[0], tbmin[0], tbmax[0]) - tbmin[0]; + float miny = dtClamp(qmin[1], tbmin[1], tbmax[1]) - tbmin[1]; + float minz = dtClamp(qmin[2], tbmin[2], tbmax[2]) - tbmin[2]; + float maxx = dtClamp(qmax[0], tbmin[0], tbmax[0]) - tbmin[0]; + float maxy = dtClamp(qmax[1], tbmin[1], tbmax[1]) - tbmin[1]; + float maxz = dtClamp(qmax[2], tbmin[2], tbmax[2]) - tbmin[2]; + // Quantize + bmin[0] = (unsigned short)(qfac * minx) & 0xfffe; + bmin[1] = (unsigned short)(qfac * miny) & 0xfffe; + bmin[2] = (unsigned short)(qfac * minz) & 0xfffe; + bmax[0] = (unsigned short)(qfac * maxx + 1) | 1; + bmax[1] = (unsigned short)(qfac * maxy + 1) | 1; + bmax[2] = (unsigned short)(qfac * maxz + 1) | 1; + + // Traverse tree + const dtPolyRef base = m_nav->getPolyRefBase(tile); + while (node < end) + { + const bool overlap = dtOverlapQuantBounds(bmin, bmax, node->bmin, node->bmax); + const bool isLeafNode = node->i >= 0; + + if (isLeafNode && overlap) + { + dtPolyRef ref = base | (dtPolyRef)node->i; + if (filter->passFilter(ref, tile, &tile->polys[node->i])) + { + polyRefs[n] = ref; + polys[n] = &tile->polys[node->i]; + + if (n == batchSize - 1) + { + query->process(tile, polys, polyRefs, batchSize); + n = 0; + } + else + { + n++; + } + } + } + + if (overlap || isLeafNode) + node++; + else + { + const int escapeIndex = -node->i; + node += escapeIndex; + } + } + } + else + { + float bmin[3], bmax[3]; + const dtPolyRef base = m_nav->getPolyRefBase(tile); + for (int i = 0; i < tile->header->polyCount; ++i) + { + dtPoly* p = &tile->polys[i]; + // Do not return off-mesh connection polygons. + if (p->getType() == DT_POLYTYPE_OFFMESH_CONNECTION) + continue; + // Must pass filter + const dtPolyRef ref = base | (dtPolyRef)i; + if (!filter->passFilter(ref, tile, p)) + continue; + // Calc polygon bounds. + const float* v = &tile->verts[p->verts[0]*3]; + dtVcopy(bmin, v); + dtVcopy(bmax, v); + for (int j = 1; j < p->vertCount; ++j) + { + v = &tile->verts[p->verts[j]*3]; + dtVmin(bmin, v); + dtVmax(bmax, v); + } + if (dtOverlapBounds(qmin, qmax, bmin, bmax)) + { + polyRefs[n] = ref; + polys[n] = p; + + if (n == batchSize - 1) + { + query->process(tile, polys, polyRefs, batchSize); + n = 0; + } + else + { + n++; + } + } + } + } + + // Process the last polygons that didn't make a full batch. + if (n > 0) + query->process(tile, polys, polyRefs, n); +} + +class dtCollectPolysQuery : public dtPolyQuery +{ + dtPolyRef* m_polys; + const int m_maxPolys; + int m_numCollected; + bool m_overflow; + +public: + dtCollectPolysQuery(dtPolyRef* polys, const int maxPolys) + : m_polys(polys), m_maxPolys(maxPolys), m_numCollected(0), m_overflow(false) + { + } + + int numCollected() const { return m_numCollected; } + bool overflowed() const { return m_overflow; } + + void process(const dtMeshTile* tile, dtPoly** polys, dtPolyRef* refs, int count) + { + dtIgnoreUnused(tile); + dtIgnoreUnused(polys); + + int numLeft = m_maxPolys - m_numCollected; + int toCopy = count; + if (toCopy > numLeft) + { + m_overflow = true; + toCopy = numLeft; + } + + memcpy(m_polys + m_numCollected, refs, (size_t)toCopy * sizeof(dtPolyRef)); + m_numCollected += toCopy; + } +}; + +/// @par +/// +/// If no polygons are found, the function will return #DT_SUCCESS with a +/// @p polyCount of zero. +/// +/// If @p polys is too small to hold the entire result set, then the array will +/// be filled to capacity. The method of choosing which polygons from the +/// full set are included in the partial result set is undefined. +/// +dtStatus dtNavMeshQuery::queryPolygons(const float* center, const float* halfExtents, + const dtQueryFilter* filter, + dtPolyRef* polys, int* polyCount, const int maxPolys) const +{ + if (!polys || !polyCount || maxPolys < 0) + return DT_FAILURE | DT_INVALID_PARAM; + + dtCollectPolysQuery collector(polys, maxPolys); + + dtStatus status = queryPolygons(center, halfExtents, filter, &collector); + if (dtStatusFailed(status)) + return status; + + *polyCount = collector.numCollected(); + return collector.overflowed() ? DT_SUCCESS | DT_BUFFER_TOO_SMALL : DT_SUCCESS; +} + +/// @par +/// +/// The query will be invoked with batches of polygons. Polygons passed +/// to the query have bounding boxes that overlap with the center and halfExtents +/// passed to this function. The dtPolyQuery::process function is invoked multiple +/// times until all overlapping polygons have been processed. +/// +dtStatus dtNavMeshQuery::queryPolygons(const float* center, const float* halfExtents, + const dtQueryFilter* filter, dtPolyQuery* query) const +{ + dtAssert(m_nav); + + if (!center || !dtVisfinite(center) || + !halfExtents || !dtVisfinite(halfExtents) || + !filter || !query) + { + return DT_FAILURE | DT_INVALID_PARAM; + } + + float bmin[3], bmax[3]; + dtVsub(bmin, center, halfExtents); + dtVadd(bmax, center, halfExtents); + + // Find tiles the query touches. + int minx, miny, maxx, maxy; + m_nav->calcTileLoc(bmin, &minx, &miny); + m_nav->calcTileLoc(bmax, &maxx, &maxy); + + static const int MAX_NEIS = 32; + const dtMeshTile* neis[MAX_NEIS]; + + for (int y = miny; y <= maxy; ++y) + { + for (int x = minx; x <= maxx; ++x) + { + const int nneis = m_nav->getTilesAt(x,y,neis,MAX_NEIS); + for (int j = 0; j < nneis; ++j) + { + queryPolygonsInTile(neis[j], bmin, bmax, filter, query); + } + } + } + + return DT_SUCCESS; +} + +/// @par +/// +/// If the end polygon cannot be reached through the navigation graph, +/// the last polygon in the path will be the nearest the end polygon. +/// +/// If the path array is to small to hold the full result, it will be filled as +/// far as possible from the start polygon toward the end polygon. +/// +/// The start and end positions are used to calculate traversal costs. +/// (The y-values impact the result.) +/// +dtStatus dtNavMeshQuery::findPath(dtPolyRef startRef, dtPolyRef endRef, + const float* startPos, const float* endPos, + const dtQueryFilter* filter, + dtPolyRef* path, int* pathCount, const int maxPath) const +{ + dtAssert(m_nav); + dtAssert(m_nodePool); + dtAssert(m_openList); + + if (!pathCount) + return DT_FAILURE | DT_INVALID_PARAM; + + *pathCount = 0; + + // Validate input + if (!m_nav->isValidPolyRef(startRef) || !m_nav->isValidPolyRef(endRef) || + !startPos || !dtVisfinite(startPos) || + !endPos || !dtVisfinite(endPos) || + !filter || !path || maxPath <= 0) + { + return DT_FAILURE | DT_INVALID_PARAM; + } + + if (startRef == endRef) + { + path[0] = startRef; + *pathCount = 1; + return DT_SUCCESS; + } + + m_nodePool->clear(); + m_openList->clear(); + + dtNode* startNode = m_nodePool->getNode(startRef); + dtVcopy(startNode->pos, startPos); + startNode->pidx = 0; + startNode->cost = 0; + startNode->total = dtVdist(startPos, endPos) * H_SCALE; + startNode->id = startRef; + startNode->flags = DT_NODE_OPEN; + m_openList->push(startNode); + + dtNode* lastBestNode = startNode; + float lastBestNodeCost = startNode->total; + + bool outOfNodes = false; + + while (!m_openList->empty()) + { + // Remove node from open list and put it in closed list. + dtNode* bestNode = m_openList->pop(); + bestNode->flags &= ~DT_NODE_OPEN; + bestNode->flags |= DT_NODE_CLOSED; + + // Reached the goal, stop searching. + if (bestNode->id == endRef) + { + lastBestNode = bestNode; + break; + } + + // Get current poly and tile. + // The API input has been cheked already, skip checking internal data. + const dtPolyRef bestRef = bestNode->id; + const dtMeshTile* bestTile = 0; + const dtPoly* bestPoly = 0; + m_nav->getTileAndPolyByRefUnsafe(bestRef, &bestTile, &bestPoly); + + // Get parent poly and tile. + dtPolyRef parentRef = 0; + const dtMeshTile* parentTile = 0; + const dtPoly* parentPoly = 0; + if (bestNode->pidx) + parentRef = m_nodePool->getNodeAtIdx(bestNode->pidx)->id; + if (parentRef) + m_nav->getTileAndPolyByRefUnsafe(parentRef, &parentTile, &parentPoly); + + for (unsigned int i = bestPoly->firstLink; i != DT_NULL_LINK; i = bestTile->links[i].next) + { + dtPolyRef neighbourRef = bestTile->links[i].ref; + + // Skip invalid ids and do not expand back to where we came from. + if (!neighbourRef || neighbourRef == parentRef) + continue; + + // Get neighbour poly and tile. + // The API input has been cheked already, skip checking internal data. + const dtMeshTile* neighbourTile = 0; + const dtPoly* neighbourPoly = 0; + m_nav->getTileAndPolyByRefUnsafe(neighbourRef, &neighbourTile, &neighbourPoly); + + if (!filter->passFilter(neighbourRef, neighbourTile, neighbourPoly)) + continue; + + // deal explicitly with crossing tile boundaries + unsigned char crossSide = 0; + if (bestTile->links[i].side != 0xff) + crossSide = bestTile->links[i].side >> 1; + + // get the node + dtNode* neighbourNode = m_nodePool->getNode(neighbourRef, crossSide); + if (!neighbourNode) + { + outOfNodes = true; + continue; + } + + // If the node is visited the first time, calculate node position. + if (neighbourNode->flags == 0) + { + getEdgeMidPoint(bestRef, bestPoly, bestTile, + neighbourRef, neighbourPoly, neighbourTile, + neighbourNode->pos); + } + + // Calculate cost and heuristic. + float cost = 0; + float heuristic = 0; + + // Special case for last node. + if (neighbourRef == endRef) + { + // Cost + const float curCost = filter->getCost(bestNode->pos, neighbourNode->pos, + parentRef, parentTile, parentPoly, + bestRef, bestTile, bestPoly, + neighbourRef, neighbourTile, neighbourPoly); + const float endCost = filter->getCost(neighbourNode->pos, endPos, + bestRef, bestTile, bestPoly, + neighbourRef, neighbourTile, neighbourPoly, + 0, 0, 0); + + cost = bestNode->cost + curCost + endCost; + heuristic = 0; + } + else + { + // Cost + const float curCost = filter->getCost(bestNode->pos, neighbourNode->pos, + parentRef, parentTile, parentPoly, + bestRef, bestTile, bestPoly, + neighbourRef, neighbourTile, neighbourPoly); + cost = bestNode->cost + curCost; + heuristic = dtVdist(neighbourNode->pos, endPos)*H_SCALE; + } + + const float total = cost + heuristic; + + // The node is already in open list and the new result is worse, skip. + if ((neighbourNode->flags & DT_NODE_OPEN) && total >= neighbourNode->total) + continue; + // The node is already visited and process, and the new result is worse, skip. + if ((neighbourNode->flags & DT_NODE_CLOSED) && total >= neighbourNode->total) + continue; + + // Add or update the node. + neighbourNode->pidx = m_nodePool->getNodeIdx(bestNode); + neighbourNode->id = neighbourRef; + neighbourNode->flags = (neighbourNode->flags & ~DT_NODE_CLOSED); + neighbourNode->cost = cost; + neighbourNode->total = total; + + if (neighbourNode->flags & DT_NODE_OPEN) + { + // Already in open, update node location. + m_openList->modify(neighbourNode); + } + else + { + // Put the node in open list. + neighbourNode->flags |= DT_NODE_OPEN; + m_openList->push(neighbourNode); + } + + // Update nearest node to target so far. + if (heuristic < lastBestNodeCost) + { + lastBestNodeCost = heuristic; + lastBestNode = neighbourNode; + } + } + } + + dtStatus status = getPathToNode(lastBestNode, path, pathCount, maxPath); + + if (lastBestNode->id != endRef) + status |= DT_PARTIAL_RESULT; + + if (outOfNodes) + status |= DT_OUT_OF_NODES; + + return status; +} + +dtStatus dtNavMeshQuery::getPathToNode(dtNode* endNode, dtPolyRef* path, int* pathCount, int maxPath) const +{ + // Find the length of the entire path. + dtNode* curNode = endNode; + int length = 0; + do + { + length++; + curNode = m_nodePool->getNodeAtIdx(curNode->pidx); + } while (curNode); + + // If the path cannot be fully stored then advance to the last node we will be able to store. + curNode = endNode; + int writeCount; + for (writeCount = length; writeCount > maxPath; writeCount--) + { + dtAssert(curNode); + + curNode = m_nodePool->getNodeAtIdx(curNode->pidx); + } + + // Write path + for (int i = writeCount - 1; i >= 0; i--) + { + dtAssert(curNode); + + path[i] = curNode->id; + curNode = m_nodePool->getNodeAtIdx(curNode->pidx); + } + + dtAssert(!curNode); + + *pathCount = dtMin(length, maxPath); + + if (length > maxPath) + return DT_SUCCESS | DT_BUFFER_TOO_SMALL; + + return DT_SUCCESS; +} + + +/// @par +/// +/// @warning Calling any non-slice methods before calling finalizeSlicedFindPath() +/// or finalizeSlicedFindPathPartial() may result in corrupted data! +/// +/// The @p filter pointer is stored and used for the duration of the sliced +/// path query. +/// +dtStatus dtNavMeshQuery::initSlicedFindPath(dtPolyRef startRef, dtPolyRef endRef, + const float* startPos, const float* endPos, + const dtQueryFilter* filter, const unsigned int options) +{ + dtAssert(m_nav); + dtAssert(m_nodePool); + dtAssert(m_openList); + + // Init path state. + memset(&m_query, 0, sizeof(dtQueryData)); + m_query.status = DT_FAILURE; + m_query.startRef = startRef; + m_query.endRef = endRef; + if (startPos) + dtVcopy(m_query.startPos, startPos); + if (endPos) + dtVcopy(m_query.endPos, endPos); + m_query.filter = filter; + m_query.options = options; + m_query.raycastLimitSqr = FLT_MAX; + + // Validate input + if (!m_nav->isValidPolyRef(startRef) || !m_nav->isValidPolyRef(endRef) || + !startPos || !dtVisfinite(startPos) || + !endPos || !dtVisfinite(endPos) || !filter) + { + return DT_FAILURE | DT_INVALID_PARAM; + } + + // trade quality with performance? + if (options & DT_FINDPATH_ANY_ANGLE) + { + // limiting to several times the character radius yields nice results. It is not sensitive + // so it is enough to compute it from the first tile. + const dtMeshTile* tile = m_nav->getTileByRef(startRef); + float agentRadius = tile->header->walkableRadius; + m_query.raycastLimitSqr = dtSqr(agentRadius * DT_RAY_CAST_LIMIT_PROPORTIONS); + } + + if (startRef == endRef) + { + m_query.status = DT_SUCCESS; + return DT_SUCCESS; + } + + m_nodePool->clear(); + m_openList->clear(); + + dtNode* startNode = m_nodePool->getNode(startRef); + dtVcopy(startNode->pos, startPos); + startNode->pidx = 0; + startNode->cost = 0; + startNode->total = dtVdist(startPos, endPos) * H_SCALE; + startNode->id = startRef; + startNode->flags = DT_NODE_OPEN; + m_openList->push(startNode); + + m_query.status = DT_IN_PROGRESS; + m_query.lastBestNode = startNode; + m_query.lastBestNodeCost = startNode->total; + + return m_query.status; +} + +dtStatus dtNavMeshQuery::updateSlicedFindPath(const int maxIter, int* doneIters) +{ + if (!dtStatusInProgress(m_query.status)) + return m_query.status; + + // Make sure the request is still valid. + if (!m_nav->isValidPolyRef(m_query.startRef) || !m_nav->isValidPolyRef(m_query.endRef)) + { + m_query.status = DT_FAILURE; + return DT_FAILURE; + } + + dtRaycastHit rayHit; + rayHit.maxPath = 0; + + int iter = 0; + while (iter < maxIter && !m_openList->empty()) + { + iter++; + + // Remove node from open list and put it in closed list. + dtNode* bestNode = m_openList->pop(); + bestNode->flags &= ~DT_NODE_OPEN; + bestNode->flags |= DT_NODE_CLOSED; + + // Reached the goal, stop searching. + if (bestNode->id == m_query.endRef) + { + m_query.lastBestNode = bestNode; + const dtStatus details = m_query.status & DT_STATUS_DETAIL_MASK; + m_query.status = DT_SUCCESS | details; + if (doneIters) + *doneIters = iter; + return m_query.status; + } + + // Get current poly and tile. + // The API input has been cheked already, skip checking internal data. + const dtPolyRef bestRef = bestNode->id; + const dtMeshTile* bestTile = 0; + const dtPoly* bestPoly = 0; + if (dtStatusFailed(m_nav->getTileAndPolyByRef(bestRef, &bestTile, &bestPoly))) + { + // The polygon has disappeared during the sliced query, fail. + m_query.status = DT_FAILURE; + if (doneIters) + *doneIters = iter; + return m_query.status; + } + + // Get parent and grand parent poly and tile. + dtPolyRef parentRef = 0, grandpaRef = 0; + const dtMeshTile* parentTile = 0; + const dtPoly* parentPoly = 0; + dtNode* parentNode = 0; + if (bestNode->pidx) + { + parentNode = m_nodePool->getNodeAtIdx(bestNode->pidx); + parentRef = parentNode->id; + if (parentNode->pidx) + grandpaRef = m_nodePool->getNodeAtIdx(parentNode->pidx)->id; + } + if (parentRef) + { + bool invalidParent = dtStatusFailed(m_nav->getTileAndPolyByRef(parentRef, &parentTile, &parentPoly)); + if (invalidParent || (grandpaRef && !m_nav->isValidPolyRef(grandpaRef)) ) + { + // The polygon has disappeared during the sliced query, fail. + m_query.status = DT_FAILURE; + if (doneIters) + *doneIters = iter; + return m_query.status; + } + } + + // decide whether to test raycast to previous nodes + bool tryLOS = false; + if (m_query.options & DT_FINDPATH_ANY_ANGLE) + { + if ((parentRef != 0) && (dtVdistSqr(parentNode->pos, bestNode->pos) < m_query.raycastLimitSqr)) + tryLOS = true; + } + + for (unsigned int i = bestPoly->firstLink; i != DT_NULL_LINK; i = bestTile->links[i].next) + { + dtPolyRef neighbourRef = bestTile->links[i].ref; + + // Skip invalid ids and do not expand back to where we came from. + if (!neighbourRef || neighbourRef == parentRef) + continue; + + // Get neighbour poly and tile. + // The API input has been cheked already, skip checking internal data. + const dtMeshTile* neighbourTile = 0; + const dtPoly* neighbourPoly = 0; + m_nav->getTileAndPolyByRefUnsafe(neighbourRef, &neighbourTile, &neighbourPoly); + + if (!m_query.filter->passFilter(neighbourRef, neighbourTile, neighbourPoly)) + continue; + + // get the neighbor node + dtNode* neighbourNode = m_nodePool->getNode(neighbourRef, 0); + if (!neighbourNode) + { + m_query.status |= DT_OUT_OF_NODES; + continue; + } + + // do not expand to nodes that were already visited from the same parent + if (neighbourNode->pidx != 0 && neighbourNode->pidx == bestNode->pidx) + continue; + + // If the node is visited the first time, calculate node position. + if (neighbourNode->flags == 0) + { + getEdgeMidPoint(bestRef, bestPoly, bestTile, + neighbourRef, neighbourPoly, neighbourTile, + neighbourNode->pos); + } + + // Calculate cost and heuristic. + float cost = 0; + float heuristic = 0; + + // raycast parent + bool foundShortCut = false; + rayHit.pathCost = rayHit.t = 0; + if (tryLOS) + { + raycast(parentRef, parentNode->pos, neighbourNode->pos, m_query.filter, DT_RAYCAST_USE_COSTS, &rayHit, grandpaRef); + foundShortCut = rayHit.t >= 1.0f; + } + + // update move cost + if (foundShortCut) + { + // shortcut found using raycast. Using shorter cost instead + cost = parentNode->cost + rayHit.pathCost; + } + else + { + // No shortcut found. + const float curCost = m_query.filter->getCost(bestNode->pos, neighbourNode->pos, + parentRef, parentTile, parentPoly, + bestRef, bestTile, bestPoly, + neighbourRef, neighbourTile, neighbourPoly); + cost = bestNode->cost + curCost; + } + + // Special case for last node. + if (neighbourRef == m_query.endRef) + { + const float endCost = m_query.filter->getCost(neighbourNode->pos, m_query.endPos, + bestRef, bestTile, bestPoly, + neighbourRef, neighbourTile, neighbourPoly, + 0, 0, 0); + + cost = cost + endCost; + heuristic = 0; + } + else + { + heuristic = dtVdist(neighbourNode->pos, m_query.endPos)*H_SCALE; + } + + const float total = cost + heuristic; + + // The node is already in open list and the new result is worse, skip. + if ((neighbourNode->flags & DT_NODE_OPEN) && total >= neighbourNode->total) + continue; + // The node is already visited and process, and the new result is worse, skip. + if ((neighbourNode->flags & DT_NODE_CLOSED) && total >= neighbourNode->total) + continue; + + // Add or update the node. + neighbourNode->pidx = foundShortCut ? bestNode->pidx : m_nodePool->getNodeIdx(bestNode); + neighbourNode->id = neighbourRef; + neighbourNode->flags = (neighbourNode->flags & ~(DT_NODE_CLOSED | DT_NODE_PARENT_DETACHED)); + neighbourNode->cost = cost; + neighbourNode->total = total; + if (foundShortCut) + neighbourNode->flags = (neighbourNode->flags | DT_NODE_PARENT_DETACHED); + + if (neighbourNode->flags & DT_NODE_OPEN) + { + // Already in open, update node location. + m_openList->modify(neighbourNode); + } + else + { + // Put the node in open list. + neighbourNode->flags |= DT_NODE_OPEN; + m_openList->push(neighbourNode); + } + + // Update nearest node to target so far. + if (heuristic < m_query.lastBestNodeCost) + { + m_query.lastBestNodeCost = heuristic; + m_query.lastBestNode = neighbourNode; + } + } + } + + // Exhausted all nodes, but could not find path. + if (m_openList->empty()) + { + const dtStatus details = m_query.status & DT_STATUS_DETAIL_MASK; + m_query.status = DT_SUCCESS | details; + } + + if (doneIters) + *doneIters = iter; + + return m_query.status; +} + +dtStatus dtNavMeshQuery::finalizeSlicedFindPath(dtPolyRef* path, int* pathCount, const int maxPath) +{ + if (!pathCount) + return DT_FAILURE | DT_INVALID_PARAM; + + *pathCount = 0; + + if (!path || maxPath <= 0) + return DT_FAILURE | DT_INVALID_PARAM; + + if (dtStatusFailed(m_query.status)) + { + // Reset query. + memset(&m_query, 0, sizeof(dtQueryData)); + return DT_FAILURE; + } + + int n = 0; + + if (m_query.startRef == m_query.endRef) + { + // Special case: the search starts and ends at same poly. + path[n++] = m_query.startRef; + } + else + { + // Reverse the path. + dtAssert(m_query.lastBestNode); + + if (m_query.lastBestNode->id != m_query.endRef) + m_query.status |= DT_PARTIAL_RESULT; + + dtNode* prev = 0; + dtNode* node = m_query.lastBestNode; + int prevRay = 0; + do + { + dtNode* next = m_nodePool->getNodeAtIdx(node->pidx); + node->pidx = m_nodePool->getNodeIdx(prev); + prev = node; + int nextRay = node->flags & DT_NODE_PARENT_DETACHED; // keep track of whether parent is not adjacent (i.e. due to raycast shortcut) + node->flags = (node->flags & ~DT_NODE_PARENT_DETACHED) | prevRay; // and store it in the reversed path's node + prevRay = nextRay; + node = next; + } + while (node); + + // Store path + node = prev; + do + { + dtNode* next = m_nodePool->getNodeAtIdx(node->pidx); + dtStatus status = 0; + if (node->flags & DT_NODE_PARENT_DETACHED) + { + float t, normal[3]; + int m; + status = raycast(node->id, node->pos, next->pos, m_query.filter, &t, normal, path+n, &m, maxPath-n); + n += m; + // raycast ends on poly boundary and the path might include the next poly boundary. + if (path[n-1] == next->id) + n--; // remove to avoid duplicates + } + else + { + path[n++] = node->id; + if (n >= maxPath) + status = DT_BUFFER_TOO_SMALL; + } + + if (status & DT_STATUS_DETAIL_MASK) + { + m_query.status |= status & DT_STATUS_DETAIL_MASK; + break; + } + node = next; + } + while (node); + } + + const dtStatus details = m_query.status & DT_STATUS_DETAIL_MASK; + + // Reset query. + memset(&m_query, 0, sizeof(dtQueryData)); + + *pathCount = n; + + return DT_SUCCESS | details; +} + +dtStatus dtNavMeshQuery::finalizeSlicedFindPathPartial(const dtPolyRef* existing, const int existingSize, + dtPolyRef* path, int* pathCount, const int maxPath) +{ + if (!pathCount) + return DT_FAILURE | DT_INVALID_PARAM; + + *pathCount = 0; + + if (!existing || existingSize <= 0 || !path || !pathCount || maxPath <= 0) + return DT_FAILURE | DT_INVALID_PARAM; + + if (dtStatusFailed(m_query.status)) + { + // Reset query. + memset(&m_query, 0, sizeof(dtQueryData)); + return DT_FAILURE; + } + + int n = 0; + + if (m_query.startRef == m_query.endRef) + { + // Special case: the search starts and ends at same poly. + path[n++] = m_query.startRef; + } + else + { + // Find furthest existing node that was visited. + dtNode* prev = 0; + dtNode* node = 0; + for (int i = existingSize-1; i >= 0; --i) + { + m_nodePool->findNodes(existing[i], &node, 1); + if (node) + break; + } + + if (!node) + { + m_query.status |= DT_PARTIAL_RESULT; + dtAssert(m_query.lastBestNode); + node = m_query.lastBestNode; + } + + // Reverse the path. + int prevRay = 0; + do + { + dtNode* next = m_nodePool->getNodeAtIdx(node->pidx); + node->pidx = m_nodePool->getNodeIdx(prev); + prev = node; + int nextRay = node->flags & DT_NODE_PARENT_DETACHED; // keep track of whether parent is not adjacent (i.e. due to raycast shortcut) + node->flags = (node->flags & ~DT_NODE_PARENT_DETACHED) | prevRay; // and store it in the reversed path's node + prevRay = nextRay; + node = next; + } + while (node); + + // Store path + node = prev; + do + { + dtNode* next = m_nodePool->getNodeAtIdx(node->pidx); + dtStatus status = 0; + if (node->flags & DT_NODE_PARENT_DETACHED) + { + float t, normal[3]; + int m; + status = raycast(node->id, node->pos, next->pos, m_query.filter, &t, normal, path+n, &m, maxPath-n); + n += m; + // raycast ends on poly boundary and the path might include the next poly boundary. + if (path[n-1] == next->id) + n--; // remove to avoid duplicates + } + else + { + path[n++] = node->id; + if (n >= maxPath) + status = DT_BUFFER_TOO_SMALL; + } + + if (status & DT_STATUS_DETAIL_MASK) + { + m_query.status |= status & DT_STATUS_DETAIL_MASK; + break; + } + node = next; + } + while (node); + } + + const dtStatus details = m_query.status & DT_STATUS_DETAIL_MASK; + + // Reset query. + memset(&m_query, 0, sizeof(dtQueryData)); + + *pathCount = n; + + return DT_SUCCESS | details; +} + + +dtStatus dtNavMeshQuery::appendVertex(const float* pos, const unsigned char flags, const dtPolyRef ref, + float* straightPath, unsigned char* straightPathFlags, dtPolyRef* straightPathRefs, + int* straightPathCount, const int maxStraightPath) const +{ + if ((*straightPathCount) > 0 && dtVequal(&straightPath[((*straightPathCount)-1)*3], pos)) + { + // The vertices are equal, update flags and poly. + if (straightPathFlags) + straightPathFlags[(*straightPathCount)-1] = flags; + if (straightPathRefs) + straightPathRefs[(*straightPathCount)-1] = ref; + } + else + { + // Append new vertex. + dtVcopy(&straightPath[(*straightPathCount)*3], pos); + if (straightPathFlags) + straightPathFlags[(*straightPathCount)] = flags; + if (straightPathRefs) + straightPathRefs[(*straightPathCount)] = ref; + (*straightPathCount)++; + + // If there is no space to append more vertices, return. + if ((*straightPathCount) >= maxStraightPath) + { + return DT_SUCCESS | DT_BUFFER_TOO_SMALL; + } + + // If reached end of path, return. + if (flags == DT_STRAIGHTPATH_END) + { + return DT_SUCCESS; + } + } + return DT_IN_PROGRESS; +} + +dtStatus dtNavMeshQuery::appendPortals(const int startIdx, const int endIdx, const float* endPos, const dtPolyRef* path, + float* straightPath, unsigned char* straightPathFlags, dtPolyRef* straightPathRefs, + int* straightPathCount, const int maxStraightPath, const int options) const +{ + const float* startPos = &straightPath[(*straightPathCount-1)*3]; + // Append or update last vertex + dtStatus stat = 0; + for (int i = startIdx; i < endIdx; i++) + { + // Calculate portal + const dtPolyRef from = path[i]; + const dtMeshTile* fromTile = 0; + const dtPoly* fromPoly = 0; + if (dtStatusFailed(m_nav->getTileAndPolyByRef(from, &fromTile, &fromPoly))) + return DT_FAILURE | DT_INVALID_PARAM; + + const dtPolyRef to = path[i+1]; + const dtMeshTile* toTile = 0; + const dtPoly* toPoly = 0; + if (dtStatusFailed(m_nav->getTileAndPolyByRef(to, &toTile, &toPoly))) + return DT_FAILURE | DT_INVALID_PARAM; + + float left[3], right[3]; + if (dtStatusFailed(getPortalPoints(from, fromPoly, fromTile, to, toPoly, toTile, left, right))) + break; + + if (options & DT_STRAIGHTPATH_AREA_CROSSINGS) + { + // Skip intersection if only area crossings are requested. + if (fromPoly->getArea() == toPoly->getArea()) + continue; + } + + // Append intersection + float s,t; + if (dtIntersectSegSeg2D(startPos, endPos, left, right, s, t)) + { + float pt[3]; + dtVlerp(pt, left,right, t); + + stat = appendVertex(pt, 0, path[i+1], + straightPath, straightPathFlags, straightPathRefs, + straightPathCount, maxStraightPath); + if (stat != DT_IN_PROGRESS) + return stat; + } + } + return DT_IN_PROGRESS; +} + +/// @par +/// +/// This method peforms what is often called 'string pulling'. +/// +/// The start position is clamped to the first polygon in the path, and the +/// end position is clamped to the last. So the start and end positions should +/// normally be within or very near the first and last polygons respectively. +/// +/// The returned polygon references represent the reference id of the polygon +/// that is entered at the associated path position. The reference id associated +/// with the end point will always be zero. This allows, for example, matching +/// off-mesh link points to their representative polygons. +/// +/// If the provided result buffers are too small for the entire result set, +/// they will be filled as far as possible from the start toward the end +/// position. +/// +dtStatus dtNavMeshQuery::findStraightPath(const float* startPos, const float* endPos, + const dtPolyRef* path, const int pathSize, + float* straightPath, unsigned char* straightPathFlags, dtPolyRef* straightPathRefs, + int* straightPathCount, const int maxStraightPath, const int options) const +{ + dtAssert(m_nav); + + if (!straightPathCount) + return DT_FAILURE | DT_INVALID_PARAM; + + *straightPathCount = 0; + + if (!startPos || !dtVisfinite(startPos) || + !endPos || !dtVisfinite(endPos) || + !path || pathSize <= 0 || !path[0] || + maxStraightPath <= 0) + { + return DT_FAILURE | DT_INVALID_PARAM; + } + + dtStatus stat = 0; + + // TODO: Should this be callers responsibility? + float closestStartPos[3]; + if (dtStatusFailed(closestPointOnPolyBoundary(path[0], startPos, closestStartPos))) + return DT_FAILURE | DT_INVALID_PARAM; + + float closestEndPos[3]; + if (dtStatusFailed(closestPointOnPolyBoundary(path[pathSize-1], endPos, closestEndPos))) + return DT_FAILURE | DT_INVALID_PARAM; + + // Add start point. + stat = appendVertex(closestStartPos, DT_STRAIGHTPATH_START, path[0], + straightPath, straightPathFlags, straightPathRefs, + straightPathCount, maxStraightPath); + if (stat != DT_IN_PROGRESS) + return stat; + + if (pathSize > 1) + { + float portalApex[3], portalLeft[3], portalRight[3]; + dtVcopy(portalApex, closestStartPos); + dtVcopy(portalLeft, portalApex); + dtVcopy(portalRight, portalApex); + int apexIndex = 0; + int leftIndex = 0; + int rightIndex = 0; + + unsigned char leftPolyType = 0; + unsigned char rightPolyType = 0; + + dtPolyRef leftPolyRef = path[0]; + dtPolyRef rightPolyRef = path[0]; + + for (int i = 0; i < pathSize; ++i) + { + float left[3], right[3]; + unsigned char toType; + + if (i+1 < pathSize) + { + unsigned char fromType; // fromType is ignored. + + // Next portal. + if (dtStatusFailed(getPortalPoints(path[i], path[i+1], left, right, fromType, toType))) + { + // Failed to get portal points, in practice this means that path[i+1] is invalid polygon. + // Clamp the end point to path[i], and return the path so far. + + if (dtStatusFailed(closestPointOnPolyBoundary(path[i], endPos, closestEndPos))) + { + // This should only happen when the first polygon is invalid. + return DT_FAILURE | DT_INVALID_PARAM; + } + + // Apeend portals along the current straight path segment. + if (options & (DT_STRAIGHTPATH_AREA_CROSSINGS | DT_STRAIGHTPATH_ALL_CROSSINGS)) + { + // Ignore status return value as we're just about to return anyway. + appendPortals(apexIndex, i, closestEndPos, path, + straightPath, straightPathFlags, straightPathRefs, + straightPathCount, maxStraightPath, options); + } + + // Ignore status return value as we're just about to return anyway. + appendVertex(closestEndPos, 0, path[i], + straightPath, straightPathFlags, straightPathRefs, + straightPathCount, maxStraightPath); + + return DT_SUCCESS | DT_PARTIAL_RESULT | ((*straightPathCount >= maxStraightPath) ? DT_BUFFER_TOO_SMALL : 0); + } + + // If starting really close the portal, advance. + if (i == 0) + { + float t; + if (dtDistancePtSegSqr2D(portalApex, left, right, t) < dtSqr(0.001f)) + continue; + } + } + else + { + // End of the path. + dtVcopy(left, closestEndPos); + dtVcopy(right, closestEndPos); + + toType = DT_POLYTYPE_GROUND; + } + + // Right vertex. + if (dtTriArea2D(portalApex, portalRight, right) <= 0.0f) + { + if (dtVequal(portalApex, portalRight) || dtTriArea2D(portalApex, portalLeft, right) > 0.0f) + { + dtVcopy(portalRight, right); + rightPolyRef = (i+1 < pathSize) ? path[i+1] : 0; + rightPolyType = toType; + rightIndex = i; + } + else + { + // Append portals along the current straight path segment. + if (options & (DT_STRAIGHTPATH_AREA_CROSSINGS | DT_STRAIGHTPATH_ALL_CROSSINGS)) + { + stat = appendPortals(apexIndex, leftIndex, portalLeft, path, + straightPath, straightPathFlags, straightPathRefs, + straightPathCount, maxStraightPath, options); + if (stat != DT_IN_PROGRESS) + return stat; + } + + dtVcopy(portalApex, portalLeft); + apexIndex = leftIndex; + + unsigned char flags = 0; + if (!leftPolyRef) + flags = DT_STRAIGHTPATH_END; + else if (leftPolyType == DT_POLYTYPE_OFFMESH_CONNECTION) + flags = DT_STRAIGHTPATH_OFFMESH_CONNECTION; + dtPolyRef ref = leftPolyRef; + + // Append or update vertex + stat = appendVertex(portalApex, flags, ref, + straightPath, straightPathFlags, straightPathRefs, + straightPathCount, maxStraightPath); + if (stat != DT_IN_PROGRESS) + return stat; + + dtVcopy(portalLeft, portalApex); + dtVcopy(portalRight, portalApex); + leftIndex = apexIndex; + rightIndex = apexIndex; + + // Restart + i = apexIndex; + + continue; + } + } + + // Left vertex. + if (dtTriArea2D(portalApex, portalLeft, left) >= 0.0f) + { + if (dtVequal(portalApex, portalLeft) || dtTriArea2D(portalApex, portalRight, left) < 0.0f) + { + dtVcopy(portalLeft, left); + leftPolyRef = (i+1 < pathSize) ? path[i+1] : 0; + leftPolyType = toType; + leftIndex = i; + } + else + { + // Append portals along the current straight path segment. + if (options & (DT_STRAIGHTPATH_AREA_CROSSINGS | DT_STRAIGHTPATH_ALL_CROSSINGS)) + { + stat = appendPortals(apexIndex, rightIndex, portalRight, path, + straightPath, straightPathFlags, straightPathRefs, + straightPathCount, maxStraightPath, options); + if (stat != DT_IN_PROGRESS) + return stat; + } + + dtVcopy(portalApex, portalRight); + apexIndex = rightIndex; + + unsigned char flags = 0; + if (!rightPolyRef) + flags = DT_STRAIGHTPATH_END; + else if (rightPolyType == DT_POLYTYPE_OFFMESH_CONNECTION) + flags = DT_STRAIGHTPATH_OFFMESH_CONNECTION; + dtPolyRef ref = rightPolyRef; + + // Append or update vertex + stat = appendVertex(portalApex, flags, ref, + straightPath, straightPathFlags, straightPathRefs, + straightPathCount, maxStraightPath); + if (stat != DT_IN_PROGRESS) + return stat; + + dtVcopy(portalLeft, portalApex); + dtVcopy(portalRight, portalApex); + leftIndex = apexIndex; + rightIndex = apexIndex; + + // Restart + i = apexIndex; + + continue; + } + } + } + + // Append portals along the current straight path segment. + if (options & (DT_STRAIGHTPATH_AREA_CROSSINGS | DT_STRAIGHTPATH_ALL_CROSSINGS)) + { + stat = appendPortals(apexIndex, pathSize-1, closestEndPos, path, + straightPath, straightPathFlags, straightPathRefs, + straightPathCount, maxStraightPath, options); + if (stat != DT_IN_PROGRESS) + return stat; + } + } + + // Ignore status return value as we're just about to return anyway. + appendVertex(closestEndPos, DT_STRAIGHTPATH_END, 0, + straightPath, straightPathFlags, straightPathRefs, + straightPathCount, maxStraightPath); + + return DT_SUCCESS | ((*straightPathCount >= maxStraightPath) ? DT_BUFFER_TOO_SMALL : 0); +} + +/// @par +/// +/// This method is optimized for small delta movement and a small number of +/// polygons. If used for too great a distance, the result set will form an +/// incomplete path. +/// +/// @p resultPos will equal the @p endPos if the end is reached. +/// Otherwise the closest reachable position will be returned. +/// +/// @p resultPos is not projected onto the surface of the navigation +/// mesh. Use #getPolyHeight if this is needed. +/// +/// This method treats the end position in the same manner as +/// the #raycast method. (As a 2D point.) See that method's documentation +/// for details. +/// +/// If the @p visited array is too small to hold the entire result set, it will +/// be filled as far as possible from the start position toward the end +/// position. +/// +dtStatus dtNavMeshQuery::moveAlongSurface(dtPolyRef startRef, const float* startPos, const float* endPos, + const dtQueryFilter* filter, + float* resultPos, dtPolyRef* visited, int* visitedCount, const int maxVisitedSize) const +{ + dtAssert(m_nav); + dtAssert(m_tinyNodePool); + + if (!visitedCount) + return DT_FAILURE | DT_INVALID_PARAM; + + *visitedCount = 0; + + if (!m_nav->isValidPolyRef(startRef) || + !startPos || !dtVisfinite(startPos) || + !endPos || !dtVisfinite(endPos) || + !filter || !resultPos || !visited || + maxVisitedSize <= 0) + { + return DT_FAILURE | DT_INVALID_PARAM; + } + + dtStatus status = DT_SUCCESS; + + static const int MAX_STACK = 48; + dtNode* stack[MAX_STACK]; + int nstack = 0; + + m_tinyNodePool->clear(); + + dtNode* startNode = m_tinyNodePool->getNode(startRef); + startNode->pidx = 0; + startNode->cost = 0; + startNode->total = 0; + startNode->id = startRef; + startNode->flags = DT_NODE_CLOSED; + stack[nstack++] = startNode; + + float bestPos[3]; + float bestDist = FLT_MAX; + dtNode* bestNode = 0; + dtVcopy(bestPos, startPos); + + // Search constraints + float searchPos[3], searchRadSqr; + dtVlerp(searchPos, startPos, endPos, 0.5f); + searchRadSqr = dtSqr(dtVdist(startPos, endPos)/2.0f + 0.001f); + + float verts[DT_VERTS_PER_POLYGON*3]; + + while (nstack) + { + // Pop front. + dtNode* curNode = stack[0]; + for (int i = 0; i < nstack-1; ++i) + stack[i] = stack[i+1]; + nstack--; + + // Get poly and tile. + // The API input has been cheked already, skip checking internal data. + const dtPolyRef curRef = curNode->id; + const dtMeshTile* curTile = 0; + const dtPoly* curPoly = 0; + m_nav->getTileAndPolyByRefUnsafe(curRef, &curTile, &curPoly); + + // Collect vertices. + const int nverts = curPoly->vertCount; + for (int i = 0; i < nverts; ++i) + dtVcopy(&verts[i*3], &curTile->verts[curPoly->verts[i]*3]); + + // If target is inside the poly, stop search. + if (dtPointInPolygon(endPos, verts, nverts)) + { + bestNode = curNode; + dtVcopy(bestPos, endPos); + break; + } + + // Find wall edges and find nearest point inside the walls. + for (int i = 0, j = (int)curPoly->vertCount-1; i < (int)curPoly->vertCount; j = i++) + { + // Find links to neighbours. + static const int MAX_NEIS = 8; + int nneis = 0; + dtPolyRef neis[MAX_NEIS]; + + if (curPoly->neis[j] & DT_EXT_LINK) + { + // Tile border. + for (unsigned int k = curPoly->firstLink; k != DT_NULL_LINK; k = curTile->links[k].next) + { + const dtLink* link = &curTile->links[k]; + if (link->edge == j) + { + if (link->ref != 0) + { + const dtMeshTile* neiTile = 0; + const dtPoly* neiPoly = 0; + m_nav->getTileAndPolyByRefUnsafe(link->ref, &neiTile, &neiPoly); + if (filter->passFilter(link->ref, neiTile, neiPoly)) + { + if (nneis < MAX_NEIS) + neis[nneis++] = link->ref; + } + } + } + } + } + else if (curPoly->neis[j]) + { + const unsigned int idx = (unsigned int)(curPoly->neis[j]-1); + const dtPolyRef ref = m_nav->getPolyRefBase(curTile) | idx; + if (filter->passFilter(ref, curTile, &curTile->polys[idx])) + { + // Internal edge, encode id. + neis[nneis++] = ref; + } + } + + if (!nneis) + { + // Wall edge, calc distance. + const float* vj = &verts[j*3]; + const float* vi = &verts[i*3]; + float tseg; + const float distSqr = dtDistancePtSegSqr2D(endPos, vj, vi, tseg); + if (distSqr < bestDist) + { + // Update nearest distance. + dtVlerp(bestPos, vj,vi, tseg); + bestDist = distSqr; + bestNode = curNode; + } + } + else + { + for (int k = 0; k < nneis; ++k) + { + // Skip if no node can be allocated. + dtNode* neighbourNode = m_tinyNodePool->getNode(neis[k]); + if (!neighbourNode) + continue; + // Skip if already visited. + if (neighbourNode->flags & DT_NODE_CLOSED) + continue; + + // Skip the link if it is too far from search constraint. + // TODO: Maybe should use getPortalPoints(), but this one is way faster. + const float* vj = &verts[j*3]; + const float* vi = &verts[i*3]; + float tseg; + float distSqr = dtDistancePtSegSqr2D(searchPos, vj, vi, tseg); + if (distSqr > searchRadSqr) + continue; + + // Mark as the node as visited and push to queue. + if (nstack < MAX_STACK) + { + neighbourNode->pidx = m_tinyNodePool->getNodeIdx(curNode); + neighbourNode->flags |= DT_NODE_CLOSED; + stack[nstack++] = neighbourNode; + } + } + } + } + } + + int n = 0; + if (bestNode) + { + // Reverse the path. + dtNode* prev = 0; + dtNode* node = bestNode; + do + { + dtNode* next = m_tinyNodePool->getNodeAtIdx(node->pidx); + node->pidx = m_tinyNodePool->getNodeIdx(prev); + prev = node; + node = next; + } + while (node); + + // Store result + node = prev; + do + { + visited[n++] = node->id; + if (n >= maxVisitedSize) + { + status |= DT_BUFFER_TOO_SMALL; + break; + } + node = m_tinyNodePool->getNodeAtIdx(node->pidx); + } + while (node); + } + + dtVcopy(resultPos, bestPos); + + *visitedCount = n; + + return status; +} + + +dtStatus dtNavMeshQuery::getPortalPoints(dtPolyRef from, dtPolyRef to, float* left, float* right, + unsigned char& fromType, unsigned char& toType) const +{ + dtAssert(m_nav); + + const dtMeshTile* fromTile = 0; + const dtPoly* fromPoly = 0; + if (dtStatusFailed(m_nav->getTileAndPolyByRef(from, &fromTile, &fromPoly))) + return DT_FAILURE | DT_INVALID_PARAM; + fromType = fromPoly->getType(); + + const dtMeshTile* toTile = 0; + const dtPoly* toPoly = 0; + if (dtStatusFailed(m_nav->getTileAndPolyByRef(to, &toTile, &toPoly))) + return DT_FAILURE | DT_INVALID_PARAM; + toType = toPoly->getType(); + + return getPortalPoints(from, fromPoly, fromTile, to, toPoly, toTile, left, right); +} + +// Returns portal points between two polygons. +dtStatus dtNavMeshQuery::getPortalPoints(dtPolyRef from, const dtPoly* fromPoly, const dtMeshTile* fromTile, + dtPolyRef to, const dtPoly* toPoly, const dtMeshTile* toTile, + float* left, float* right) const +{ + // Find the link that points to the 'to' polygon. + const dtLink* link = 0; + for (unsigned int i = fromPoly->firstLink; i != DT_NULL_LINK; i = fromTile->links[i].next) + { + if (fromTile->links[i].ref == to) + { + link = &fromTile->links[i]; + break; + } + } + if (!link) + return DT_FAILURE | DT_INVALID_PARAM; + + // Handle off-mesh connections. + if (fromPoly->getType() == DT_POLYTYPE_OFFMESH_CONNECTION) + { + // Find link that points to first vertex. + for (unsigned int i = fromPoly->firstLink; i != DT_NULL_LINK; i = fromTile->links[i].next) + { + if (fromTile->links[i].ref == to) + { + const int v = fromTile->links[i].edge; + dtVcopy(left, &fromTile->verts[fromPoly->verts[v]*3]); + dtVcopy(right, &fromTile->verts[fromPoly->verts[v]*3]); + return DT_SUCCESS; + } + } + return DT_FAILURE | DT_INVALID_PARAM; + } + + if (toPoly->getType() == DT_POLYTYPE_OFFMESH_CONNECTION) + { + for (unsigned int i = toPoly->firstLink; i != DT_NULL_LINK; i = toTile->links[i].next) + { + if (toTile->links[i].ref == from) + { + const int v = toTile->links[i].edge; + dtVcopy(left, &toTile->verts[toPoly->verts[v]*3]); + dtVcopy(right, &toTile->verts[toPoly->verts[v]*3]); + return DT_SUCCESS; + } + } + return DT_FAILURE | DT_INVALID_PARAM; + } + + // Find portal vertices. + const int v0 = fromPoly->verts[link->edge]; + const int v1 = fromPoly->verts[(link->edge+1) % (int)fromPoly->vertCount]; + dtVcopy(left, &fromTile->verts[v0*3]); + dtVcopy(right, &fromTile->verts[v1*3]); + + // If the link is at tile boundary, dtClamp the vertices to + // the link width. + if (link->side != 0xff) + { + // Unpack portal limits. + if (link->bmin != 0 || link->bmax != 255) + { + const float s = 1.0f/255.0f; + const float tmin = link->bmin*s; + const float tmax = link->bmax*s; + dtVlerp(left, &fromTile->verts[v0*3], &fromTile->verts[v1*3], tmin); + dtVlerp(right, &fromTile->verts[v0*3], &fromTile->verts[v1*3], tmax); + } + } + + return DT_SUCCESS; +} + +// Returns edge mid point between two polygons. +dtStatus dtNavMeshQuery::getEdgeMidPoint(dtPolyRef from, dtPolyRef to, float* mid) const +{ + float left[3], right[3]; + unsigned char fromType, toType; + if (dtStatusFailed(getPortalPoints(from, to, left,right, fromType, toType))) + return DT_FAILURE | DT_INVALID_PARAM; + mid[0] = (left[0]+right[0])*0.5f; + mid[1] = (left[1]+right[1])*0.5f; + mid[2] = (left[2]+right[2])*0.5f; + return DT_SUCCESS; +} + +dtStatus dtNavMeshQuery::getEdgeMidPoint(dtPolyRef from, const dtPoly* fromPoly, const dtMeshTile* fromTile, + dtPolyRef to, const dtPoly* toPoly, const dtMeshTile* toTile, + float* mid) const +{ + float left[3], right[3]; + if (dtStatusFailed(getPortalPoints(from, fromPoly, fromTile, to, toPoly, toTile, left, right))) + return DT_FAILURE | DT_INVALID_PARAM; + mid[0] = (left[0]+right[0])*0.5f; + mid[1] = (left[1]+right[1])*0.5f; + mid[2] = (left[2]+right[2])*0.5f; + return DT_SUCCESS; +} + + + +/// @par +/// +/// This method is meant to be used for quick, short distance checks. +/// +/// If the path array is too small to hold the result, it will be filled as +/// far as possible from the start postion toward the end position. +/// +/// Using the Hit Parameter (t) +/// +/// If the hit parameter is a very high value (FLT_MAX), then the ray has hit +/// the end position. In this case the path represents a valid corridor to the +/// end position and the value of @p hitNormal is undefined. +/// +/// If the hit parameter is zero, then the start position is on the wall that +/// was hit and the value of @p hitNormal is undefined. +/// +/// If 0 < t < 1.0 then the following applies: +/// +/// @code +/// distanceToHitBorder = distanceToEndPosition * t +/// hitPoint = startPos + (endPos - startPos) * t +/// @endcode +/// +/// Use Case Restriction +/// +/// The raycast ignores the y-value of the end position. (2D check.) This +/// places significant limits on how it can be used. For example: +/// +/// Consider a scene where there is a main floor with a second floor balcony +/// that hangs over the main floor. So the first floor mesh extends below the +/// balcony mesh. The start position is somewhere on the first floor. The end +/// position is on the balcony. +/// +/// The raycast will search toward the end position along the first floor mesh. +/// If it reaches the end position's xz-coordinates it will indicate FLT_MAX +/// (no wall hit), meaning it reached the end position. This is one example of why +/// this method is meant for short distance checks. +/// +dtStatus dtNavMeshQuery::raycast(dtPolyRef startRef, const float* startPos, const float* endPos, + const dtQueryFilter* filter, + float* t, float* hitNormal, dtPolyRef* path, int* pathCount, const int maxPath) const +{ + dtRaycastHit hit; + hit.path = path; + hit.maxPath = maxPath; + + dtStatus status = raycast(startRef, startPos, endPos, filter, 0, &hit); + + *t = hit.t; + if (hitNormal) + dtVcopy(hitNormal, hit.hitNormal); + if (pathCount) + *pathCount = hit.pathCount; + + return status; +} + + +/// @par +/// +/// This method is meant to be used for quick, short distance checks. +/// +/// If the path array is too small to hold the result, it will be filled as +/// far as possible from the start postion toward the end position. +/// +/// Using the Hit Parameter t of RaycastHit +/// +/// If the hit parameter is a very high value (FLT_MAX), then the ray has hit +/// the end position. In this case the path represents a valid corridor to the +/// end position and the value of @p hitNormal is undefined. +/// +/// If the hit parameter is zero, then the start position is on the wall that +/// was hit and the value of @p hitNormal is undefined. +/// +/// If 0 < t < 1.0 then the following applies: +/// +/// @code +/// distanceToHitBorder = distanceToEndPosition * t +/// hitPoint = startPos + (endPos - startPos) * t +/// @endcode +/// +/// Use Case Restriction +/// +/// The raycast ignores the y-value of the end position. (2D check.) This +/// places significant limits on how it can be used. For example: +/// +/// Consider a scene where there is a main floor with a second floor balcony +/// that hangs over the main floor. So the first floor mesh extends below the +/// balcony mesh. The start position is somewhere on the first floor. The end +/// position is on the balcony. +/// +/// The raycast will search toward the end position along the first floor mesh. +/// If it reaches the end position's xz-coordinates it will indicate FLT_MAX +/// (no wall hit), meaning it reached the end position. This is one example of why +/// this method is meant for short distance checks. +/// +dtStatus dtNavMeshQuery::raycast(dtPolyRef startRef, const float* startPos, const float* endPos, + const dtQueryFilter* filter, const unsigned int options, + dtRaycastHit* hit, dtPolyRef prevRef) const +{ + dtAssert(m_nav); + + if (!hit) + return DT_FAILURE | DT_INVALID_PARAM; + + hit->t = 0; + hit->pathCount = 0; + hit->pathCost = 0; + + // Validate input + if (!m_nav->isValidPolyRef(startRef) || + !startPos || !dtVisfinite(startPos) || + !endPos || !dtVisfinite(endPos) || + !filter || + (prevRef && !m_nav->isValidPolyRef(prevRef))) + { + return DT_FAILURE | DT_INVALID_PARAM; + } + + float dir[3], curPos[3], lastPos[3]; + float verts[DT_VERTS_PER_POLYGON*3+3]; + int n = 0; + + dtVcopy(curPos, startPos); + dtVsub(dir, endPos, startPos); + dtVset(hit->hitNormal, 0, 0, 0); + + dtStatus status = DT_SUCCESS; + + const dtMeshTile* prevTile, *tile, *nextTile; + const dtPoly* prevPoly, *poly, *nextPoly; + dtPolyRef curRef; + + // The API input has been checked already, skip checking internal data. + curRef = startRef; + tile = 0; + poly = 0; + m_nav->getTileAndPolyByRefUnsafe(curRef, &tile, &poly); + nextTile = prevTile = tile; + nextPoly = prevPoly = poly; + if (prevRef) + m_nav->getTileAndPolyByRefUnsafe(prevRef, &prevTile, &prevPoly); + + while (curRef) + { + // Cast ray against current polygon. + + // Collect vertices. + int nv = 0; + for (int i = 0; i < (int)poly->vertCount; ++i) + { + dtVcopy(&verts[nv*3], &tile->verts[poly->verts[i]*3]); + nv++; + } + + float tmin, tmax; + int segMin, segMax; + if (!dtIntersectSegmentPoly2D(startPos, endPos, verts, nv, tmin, tmax, segMin, segMax)) + { + // Could not hit the polygon, keep the old t and report hit. + hit->pathCount = n; + return status; + } + + hit->hitEdgeIndex = segMax; + + // Keep track of furthest t so far. + if (tmax > hit->t) + hit->t = tmax; + + // Store visited polygons. + if (n < hit->maxPath) + hit->path[n++] = curRef; + else + status |= DT_BUFFER_TOO_SMALL; + + // Ray end is completely inside the polygon. + if (segMax == -1) + { + hit->t = FLT_MAX; + hit->pathCount = n; + + // add the cost + if (options & DT_RAYCAST_USE_COSTS) + hit->pathCost += filter->getCost(curPos, endPos, prevRef, prevTile, prevPoly, curRef, tile, poly, curRef, tile, poly); + return status; + } + + // Follow neighbours. + dtPolyRef nextRef = 0; + + for (unsigned int i = poly->firstLink; i != DT_NULL_LINK; i = tile->links[i].next) + { + const dtLink* link = &tile->links[i]; + + // Find link which contains this edge. + if ((int)link->edge != segMax) + continue; + + // Get pointer to the next polygon. + nextTile = 0; + nextPoly = 0; + m_nav->getTileAndPolyByRefUnsafe(link->ref, &nextTile, &nextPoly); + + // Skip off-mesh connections. + if (nextPoly->getType() == DT_POLYTYPE_OFFMESH_CONNECTION) + continue; + + // Skip links based on filter. + if (!filter->passFilter(link->ref, nextTile, nextPoly)) + continue; + + // If the link is internal, just return the ref. + if (link->side == 0xff) + { + nextRef = link->ref; + break; + } + + // If the link is at tile boundary, + + // Check if the link spans the whole edge, and accept. + if (link->bmin == 0 && link->bmax == 255) + { + nextRef = link->ref; + break; + } + + // Check for partial edge links. + const int v0 = poly->verts[link->edge]; + const int v1 = poly->verts[(link->edge+1) % poly->vertCount]; + const float* left = &tile->verts[v0*3]; + const float* right = &tile->verts[v1*3]; + + // Check that the intersection lies inside the link portal. + if (link->side == 0 || link->side == 4) + { + // Calculate link size. + const float s = 1.0f/255.0f; + float lmin = left[2] + (right[2] - left[2])*(link->bmin*s); + float lmax = left[2] + (right[2] - left[2])*(link->bmax*s); + if (lmin > lmax) dtSwap(lmin, lmax); + + // Find Z intersection. + float z = startPos[2] + (endPos[2]-startPos[2])*tmax; + if (z >= lmin && z <= lmax) + { + nextRef = link->ref; + break; + } + } + else if (link->side == 2 || link->side == 6) + { + // Calculate link size. + const float s = 1.0f/255.0f; + float lmin = left[0] + (right[0] - left[0])*(link->bmin*s); + float lmax = left[0] + (right[0] - left[0])*(link->bmax*s); + if (lmin > lmax) dtSwap(lmin, lmax); + + // Find X intersection. + float x = startPos[0] + (endPos[0]-startPos[0])*tmax; + if (x >= lmin && x <= lmax) + { + nextRef = link->ref; + break; + } + } + } + + // add the cost + if (options & DT_RAYCAST_USE_COSTS) + { + // compute the intersection point at the furthest end of the polygon + // and correct the height (since the raycast moves in 2d) + dtVcopy(lastPos, curPos); + dtVmad(curPos, startPos, dir, hit->t); + float* e1 = &verts[segMax*3]; + float* e2 = &verts[((segMax+1)%nv)*3]; + float eDir[3], diff[3]; + dtVsub(eDir, e2, e1); + dtVsub(diff, curPos, e1); + float s = dtSqr(eDir[0]) > dtSqr(eDir[2]) ? diff[0] / eDir[0] : diff[2] / eDir[2]; + curPos[1] = e1[1] + eDir[1] * s; + + hit->pathCost += filter->getCost(lastPos, curPos, prevRef, prevTile, prevPoly, curRef, tile, poly, nextRef, nextTile, nextPoly); + } + + if (!nextRef) + { + // No neighbour, we hit a wall. + + // Calculate hit normal. + const int a = segMax; + const int b = segMax+1 < nv ? segMax+1 : 0; + const float* va = &verts[a*3]; + const float* vb = &verts[b*3]; + const float dx = vb[0] - va[0]; + const float dz = vb[2] - va[2]; + hit->hitNormal[0] = dz; + hit->hitNormal[1] = 0; + hit->hitNormal[2] = -dx; + dtVnormalize(hit->hitNormal); + + hit->pathCount = n; + return status; + } + + // No hit, advance to neighbour polygon. + prevRef = curRef; + curRef = nextRef; + prevTile = tile; + tile = nextTile; + prevPoly = poly; + poly = nextPoly; + } + + hit->pathCount = n; + + return status; +} + +/// @par +/// +/// At least one result array must be provided. +/// +/// The order of the result set is from least to highest cost to reach the polygon. +/// +/// A common use case for this method is to perform Dijkstra searches. +/// Candidate polygons are found by searching the graph beginning at the start polygon. +/// +/// If a polygon is not found via the graph search, even if it intersects the +/// search circle, it will not be included in the result set. For example: +/// +/// polyA is the start polygon. +/// polyB shares an edge with polyA. (Is adjacent.) +/// polyC shares an edge with polyB, but not with polyA +/// Even if the search circle overlaps polyC, it will not be included in the +/// result set unless polyB is also in the set. +/// +/// The value of the center point is used as the start position for cost +/// calculations. It is not projected onto the surface of the mesh, so its +/// y-value will effect the costs. +/// +/// Intersection tests occur in 2D. All polygons and the search circle are +/// projected onto the xz-plane. So the y-value of the center point does not +/// effect intersection tests. +/// +/// If the result arrays are to small to hold the entire result set, they will be +/// filled to capacity. +/// +dtStatus dtNavMeshQuery::findPolysAroundCircle(dtPolyRef startRef, const float* centerPos, const float radius, + const dtQueryFilter* filter, + dtPolyRef* resultRef, dtPolyRef* resultParent, float* resultCost, + int* resultCount, const int maxResult) const +{ + dtAssert(m_nav); + dtAssert(m_nodePool); + dtAssert(m_openList); + + if (!resultCount) + return DT_FAILURE | DT_INVALID_PARAM; + + *resultCount = 0; + + if (!m_nav->isValidPolyRef(startRef) || + !centerPos || !dtVisfinite(centerPos) || + radius < 0 || !dtMathIsfinite(radius) || + !filter || maxResult < 0) + { + return DT_FAILURE | DT_INVALID_PARAM; + } + + m_nodePool->clear(); + m_openList->clear(); + + dtNode* startNode = m_nodePool->getNode(startRef); + dtVcopy(startNode->pos, centerPos); + startNode->pidx = 0; + startNode->cost = 0; + startNode->total = 0; + startNode->id = startRef; + startNode->flags = DT_NODE_OPEN; + m_openList->push(startNode); + + dtStatus status = DT_SUCCESS; + + int n = 0; + + const float radiusSqr = dtSqr(radius); + + while (!m_openList->empty()) + { + dtNode* bestNode = m_openList->pop(); + bestNode->flags &= ~DT_NODE_OPEN; + bestNode->flags |= DT_NODE_CLOSED; + + // Get poly and tile. + // The API input has been cheked already, skip checking internal data. + const dtPolyRef bestRef = bestNode->id; + const dtMeshTile* bestTile = 0; + const dtPoly* bestPoly = 0; + m_nav->getTileAndPolyByRefUnsafe(bestRef, &bestTile, &bestPoly); + + // Get parent poly and tile. + dtPolyRef parentRef = 0; + const dtMeshTile* parentTile = 0; + const dtPoly* parentPoly = 0; + if (bestNode->pidx) + parentRef = m_nodePool->getNodeAtIdx(bestNode->pidx)->id; + if (parentRef) + m_nav->getTileAndPolyByRefUnsafe(parentRef, &parentTile, &parentPoly); + + if (n < maxResult) + { + if (resultRef) + resultRef[n] = bestRef; + if (resultParent) + resultParent[n] = parentRef; + if (resultCost) + resultCost[n] = bestNode->total; + ++n; + } + else + { + status |= DT_BUFFER_TOO_SMALL; + } + + for (unsigned int i = bestPoly->firstLink; i != DT_NULL_LINK; i = bestTile->links[i].next) + { + const dtLink* link = &bestTile->links[i]; + dtPolyRef neighbourRef = link->ref; + // Skip invalid neighbours and do not follow back to parent. + if (!neighbourRef || neighbourRef == parentRef) + continue; + + // Expand to neighbour + const dtMeshTile* neighbourTile = 0; + const dtPoly* neighbourPoly = 0; + m_nav->getTileAndPolyByRefUnsafe(neighbourRef, &neighbourTile, &neighbourPoly); + + // Do not advance if the polygon is excluded by the filter. + if (!filter->passFilter(neighbourRef, neighbourTile, neighbourPoly)) + continue; + + // Find edge and calc distance to the edge. + float va[3], vb[3]; + if (!getPortalPoints(bestRef, bestPoly, bestTile, neighbourRef, neighbourPoly, neighbourTile, va, vb)) + continue; + + // If the circle is not touching the next polygon, skip it. + float tseg; + float distSqr = dtDistancePtSegSqr2D(centerPos, va, vb, tseg); + if (distSqr > radiusSqr) + continue; + + dtNode* neighbourNode = m_nodePool->getNode(neighbourRef); + if (!neighbourNode) + { + status |= DT_OUT_OF_NODES; + continue; + } + + if (neighbourNode->flags & DT_NODE_CLOSED) + continue; + + // Cost + if (neighbourNode->flags == 0) + dtVlerp(neighbourNode->pos, va, vb, 0.5f); + + float cost = filter->getCost( + bestNode->pos, neighbourNode->pos, + parentRef, parentTile, parentPoly, + bestRef, bestTile, bestPoly, + neighbourRef, neighbourTile, neighbourPoly); + + const float total = bestNode->total + cost; + + // The node is already in open list and the new result is worse, skip. + if ((neighbourNode->flags & DT_NODE_OPEN) && total >= neighbourNode->total) + continue; + + neighbourNode->id = neighbourRef; + neighbourNode->pidx = m_nodePool->getNodeIdx(bestNode); + neighbourNode->total = total; + + if (neighbourNode->flags & DT_NODE_OPEN) + { + m_openList->modify(neighbourNode); + } + else + { + neighbourNode->flags = DT_NODE_OPEN; + m_openList->push(neighbourNode); + } + } + } + + *resultCount = n; + + return status; +} + +/// @par +/// +/// The order of the result set is from least to highest cost. +/// +/// At least one result array must be provided. +/// +/// A common use case for this method is to perform Dijkstra searches. +/// Candidate polygons are found by searching the graph beginning at the start +/// polygon. +/// +/// The same intersection test restrictions that apply to findPolysAroundCircle() +/// method apply to this method. +/// +/// The 3D centroid of the search polygon is used as the start position for cost +/// calculations. +/// +/// Intersection tests occur in 2D. All polygons are projected onto the +/// xz-plane. So the y-values of the vertices do not effect intersection tests. +/// +/// If the result arrays are is too small to hold the entire result set, they will +/// be filled to capacity. +/// +dtStatus dtNavMeshQuery::findPolysAroundShape(dtPolyRef startRef, const float* verts, const int nverts, + const dtQueryFilter* filter, + dtPolyRef* resultRef, dtPolyRef* resultParent, float* resultCost, + int* resultCount, const int maxResult) const +{ + dtAssert(m_nav); + dtAssert(m_nodePool); + dtAssert(m_openList); + + if (!resultCount) + return DT_FAILURE | DT_INVALID_PARAM; + + *resultCount = 0; + + if (!m_nav->isValidPolyRef(startRef) || + !verts || nverts < 3 || + !filter || maxResult < 0) + { + return DT_FAILURE | DT_INVALID_PARAM; + } + + // Validate input + if (!startRef || !m_nav->isValidPolyRef(startRef)) + return DT_FAILURE | DT_INVALID_PARAM; + + m_nodePool->clear(); + m_openList->clear(); + + float centerPos[3] = {0,0,0}; + for (int i = 0; i < nverts; ++i) + dtVadd(centerPos,centerPos,&verts[i*3]); + dtVscale(centerPos,centerPos,1.0f/nverts); + + dtNode* startNode = m_nodePool->getNode(startRef); + dtVcopy(startNode->pos, centerPos); + startNode->pidx = 0; + startNode->cost = 0; + startNode->total = 0; + startNode->id = startRef; + startNode->flags = DT_NODE_OPEN; + m_openList->push(startNode); + + dtStatus status = DT_SUCCESS; + + int n = 0; + + while (!m_openList->empty()) + { + dtNode* bestNode = m_openList->pop(); + bestNode->flags &= ~DT_NODE_OPEN; + bestNode->flags |= DT_NODE_CLOSED; + + // Get poly and tile. + // The API input has been cheked already, skip checking internal data. + const dtPolyRef bestRef = bestNode->id; + const dtMeshTile* bestTile = 0; + const dtPoly* bestPoly = 0; + m_nav->getTileAndPolyByRefUnsafe(bestRef, &bestTile, &bestPoly); + + // Get parent poly and tile. + dtPolyRef parentRef = 0; + const dtMeshTile* parentTile = 0; + const dtPoly* parentPoly = 0; + if (bestNode->pidx) + parentRef = m_nodePool->getNodeAtIdx(bestNode->pidx)->id; + if (parentRef) + m_nav->getTileAndPolyByRefUnsafe(parentRef, &parentTile, &parentPoly); + + if (n < maxResult) + { + if (resultRef) + resultRef[n] = bestRef; + if (resultParent) + resultParent[n] = parentRef; + if (resultCost) + resultCost[n] = bestNode->total; + + ++n; + } + else + { + status |= DT_BUFFER_TOO_SMALL; + } + + for (unsigned int i = bestPoly->firstLink; i != DT_NULL_LINK; i = bestTile->links[i].next) + { + const dtLink* link = &bestTile->links[i]; + dtPolyRef neighbourRef = link->ref; + // Skip invalid neighbours and do not follow back to parent. + if (!neighbourRef || neighbourRef == parentRef) + continue; + + // Expand to neighbour + const dtMeshTile* neighbourTile = 0; + const dtPoly* neighbourPoly = 0; + m_nav->getTileAndPolyByRefUnsafe(neighbourRef, &neighbourTile, &neighbourPoly); + + // Do not advance if the polygon is excluded by the filter. + if (!filter->passFilter(neighbourRef, neighbourTile, neighbourPoly)) + continue; + + // Find edge and calc distance to the edge. + float va[3], vb[3]; + if (!getPortalPoints(bestRef, bestPoly, bestTile, neighbourRef, neighbourPoly, neighbourTile, va, vb)) + continue; + + // If the poly is not touching the edge to the next polygon, skip the connection it. + float tmin, tmax; + int segMin, segMax; + if (!dtIntersectSegmentPoly2D(va, vb, verts, nverts, tmin, tmax, segMin, segMax)) + continue; + if (tmin > 1.0f || tmax < 0.0f) + continue; + + dtNode* neighbourNode = m_nodePool->getNode(neighbourRef); + if (!neighbourNode) + { + status |= DT_OUT_OF_NODES; + continue; + } + + if (neighbourNode->flags & DT_NODE_CLOSED) + continue; + + // Cost + if (neighbourNode->flags == 0) + dtVlerp(neighbourNode->pos, va, vb, 0.5f); + + float cost = filter->getCost( + bestNode->pos, neighbourNode->pos, + parentRef, parentTile, parentPoly, + bestRef, bestTile, bestPoly, + neighbourRef, neighbourTile, neighbourPoly); + + const float total = bestNode->total + cost; + + // The node is already in open list and the new result is worse, skip. + if ((neighbourNode->flags & DT_NODE_OPEN) && total >= neighbourNode->total) + continue; + + neighbourNode->id = neighbourRef; + neighbourNode->pidx = m_nodePool->getNodeIdx(bestNode); + neighbourNode->total = total; + + if (neighbourNode->flags & DT_NODE_OPEN) + { + m_openList->modify(neighbourNode); + } + else + { + neighbourNode->flags = DT_NODE_OPEN; + m_openList->push(neighbourNode); + } + } + } + + *resultCount = n; + + return status; +} + +dtStatus dtNavMeshQuery::getPathFromDijkstraSearch(dtPolyRef endRef, dtPolyRef* path, int* pathCount, int maxPath) const +{ + if (!m_nav->isValidPolyRef(endRef) || !path || !pathCount || maxPath < 0) + return DT_FAILURE | DT_INVALID_PARAM; + + *pathCount = 0; + + dtNode* endNode; + if (m_nodePool->findNodes(endRef, &endNode, 1) != 1 || + (endNode->flags & DT_NODE_CLOSED) == 0) + return DT_FAILURE | DT_INVALID_PARAM; + + return getPathToNode(endNode, path, pathCount, maxPath); +} + +/// @par +/// +/// This method is optimized for a small search radius and small number of result +/// polygons. +/// +/// Candidate polygons are found by searching the navigation graph beginning at +/// the start polygon. +/// +/// The same intersection test restrictions that apply to the findPolysAroundCircle +/// mehtod applies to this method. +/// +/// The value of the center point is used as the start point for cost calculations. +/// It is not projected onto the surface of the mesh, so its y-value will effect +/// the costs. +/// +/// Intersection tests occur in 2D. All polygons and the search circle are +/// projected onto the xz-plane. So the y-value of the center point does not +/// effect intersection tests. +/// +/// If the result arrays are is too small to hold the entire result set, they will +/// be filled to capacity. +/// +dtStatus dtNavMeshQuery::findLocalNeighbourhood(dtPolyRef startRef, const float* centerPos, const float radius, + const dtQueryFilter* filter, + dtPolyRef* resultRef, dtPolyRef* resultParent, + int* resultCount, const int maxResult) const +{ + dtAssert(m_nav); + dtAssert(m_tinyNodePool); + + if (!resultCount) + return DT_FAILURE | DT_INVALID_PARAM; + + *resultCount = 0; + + if (!m_nav->isValidPolyRef(startRef) || + !centerPos || !dtVisfinite(centerPos) || + radius < 0 || !dtMathIsfinite(radius) || + !filter || maxResult < 0) + { + return DT_FAILURE | DT_INVALID_PARAM; + } + + static const int MAX_STACK = 48; + dtNode* stack[MAX_STACK]; + int nstack = 0; + + m_tinyNodePool->clear(); + + dtNode* startNode = m_tinyNodePool->getNode(startRef); + startNode->pidx = 0; + startNode->id = startRef; + startNode->flags = DT_NODE_CLOSED; + stack[nstack++] = startNode; + + const float radiusSqr = dtSqr(radius); + + float pa[DT_VERTS_PER_POLYGON*3]; + float pb[DT_VERTS_PER_POLYGON*3]; + + dtStatus status = DT_SUCCESS; + + int n = 0; + if (n < maxResult) + { + resultRef[n] = startNode->id; + if (resultParent) + resultParent[n] = 0; + ++n; + } + else + { + status |= DT_BUFFER_TOO_SMALL; + } + + while (nstack) + { + // Pop front. + dtNode* curNode = stack[0]; + for (int i = 0; i < nstack-1; ++i) + stack[i] = stack[i+1]; + nstack--; + + // Get poly and tile. + // The API input has been cheked already, skip checking internal data. + const dtPolyRef curRef = curNode->id; + const dtMeshTile* curTile = 0; + const dtPoly* curPoly = 0; + m_nav->getTileAndPolyByRefUnsafe(curRef, &curTile, &curPoly); + + for (unsigned int i = curPoly->firstLink; i != DT_NULL_LINK; i = curTile->links[i].next) + { + const dtLink* link = &curTile->links[i]; + dtPolyRef neighbourRef = link->ref; + // Skip invalid neighbours. + if (!neighbourRef) + continue; + + // Skip if cannot alloca more nodes. + dtNode* neighbourNode = m_tinyNodePool->getNode(neighbourRef); + if (!neighbourNode) + continue; + // Skip visited. + if (neighbourNode->flags & DT_NODE_CLOSED) + continue; + + // Expand to neighbour + const dtMeshTile* neighbourTile = 0; + const dtPoly* neighbourPoly = 0; + m_nav->getTileAndPolyByRefUnsafe(neighbourRef, &neighbourTile, &neighbourPoly); + + // Skip off-mesh connections. + if (neighbourPoly->getType() == DT_POLYTYPE_OFFMESH_CONNECTION) + continue; + + // Do not advance if the polygon is excluded by the filter. + if (!filter->passFilter(neighbourRef, neighbourTile, neighbourPoly)) + continue; + + // Find edge and calc distance to the edge. + float va[3], vb[3]; + if (!getPortalPoints(curRef, curPoly, curTile, neighbourRef, neighbourPoly, neighbourTile, va, vb)) + continue; + + // If the circle is not touching the next polygon, skip it. + float tseg; + float distSqr = dtDistancePtSegSqr2D(centerPos, va, vb, tseg); + if (distSqr > radiusSqr) + continue; + + // Mark node visited, this is done before the overlap test so that + // we will not visit the poly again if the test fails. + neighbourNode->flags |= DT_NODE_CLOSED; + neighbourNode->pidx = m_tinyNodePool->getNodeIdx(curNode); + + // Check that the polygon does not collide with existing polygons. + + // Collect vertices of the neighbour poly. + const int npa = neighbourPoly->vertCount; + for (int k = 0; k < npa; ++k) + dtVcopy(&pa[k*3], &neighbourTile->verts[neighbourPoly->verts[k]*3]); + + bool overlap = false; + for (int j = 0; j < n; ++j) + { + dtPolyRef pastRef = resultRef[j]; + + // Connected polys do not overlap. + bool connected = false; + for (unsigned int k = curPoly->firstLink; k != DT_NULL_LINK; k = curTile->links[k].next) + { + if (curTile->links[k].ref == pastRef) + { + connected = true; + break; + } + } + if (connected) + continue; + + // Potentially overlapping. + const dtMeshTile* pastTile = 0; + const dtPoly* pastPoly = 0; + m_nav->getTileAndPolyByRefUnsafe(pastRef, &pastTile, &pastPoly); + + // Get vertices and test overlap + const int npb = pastPoly->vertCount; + for (int k = 0; k < npb; ++k) + dtVcopy(&pb[k*3], &pastTile->verts[pastPoly->verts[k]*3]); + + if (dtOverlapPolyPoly2D(pa,npa, pb,npb)) + { + overlap = true; + break; + } + } + if (overlap) + continue; + + // This poly is fine, store and advance to the poly. + if (n < maxResult) + { + resultRef[n] = neighbourRef; + if (resultParent) + resultParent[n] = curRef; + ++n; + } + else + { + status |= DT_BUFFER_TOO_SMALL; + } + + if (nstack < MAX_STACK) + { + stack[nstack++] = neighbourNode; + } + } + } + + *resultCount = n; + + return status; +} + + +struct dtSegInterval +{ + dtPolyRef ref; + short tmin, tmax; +}; + +static void insertInterval(dtSegInterval* ints, int& nints, const int maxInts, + const short tmin, const short tmax, const dtPolyRef ref) +{ + if (nints+1 > maxInts) return; + // Find insertion point. + int idx = 0; + while (idx < nints) + { + if (tmax <= ints[idx].tmin) + break; + idx++; + } + // Move current results. + if (nints-idx) + memmove(ints+idx+1, ints+idx, sizeof(dtSegInterval)*(nints-idx)); + // Store + ints[idx].ref = ref; + ints[idx].tmin = tmin; + ints[idx].tmax = tmax; + nints++; +} + +/// @par +/// +/// If the @p segmentRefs parameter is provided, then all polygon segments will be returned. +/// Otherwise only the wall segments are returned. +/// +/// A segment that is normally a portal will be included in the result set as a +/// wall if the @p filter results in the neighbor polygon becoomming impassable. +/// +/// The @p segmentVerts and @p segmentRefs buffers should normally be sized for the +/// maximum segments per polygon of the source navigation mesh. +/// +dtStatus dtNavMeshQuery::getPolyWallSegments(dtPolyRef ref, const dtQueryFilter* filter, + float* segmentVerts, dtPolyRef* segmentRefs, int* segmentCount, + const int maxSegments) const +{ + dtAssert(m_nav); + + if (!segmentCount) + return DT_FAILURE | DT_INVALID_PARAM; + + *segmentCount = 0; + + const dtMeshTile* tile = 0; + const dtPoly* poly = 0; + if (dtStatusFailed(m_nav->getTileAndPolyByRef(ref, &tile, &poly))) + return DT_FAILURE | DT_INVALID_PARAM; + + if (!filter || !segmentVerts || maxSegments < 0) + return DT_FAILURE | DT_INVALID_PARAM; + + int n = 0; + static const int MAX_INTERVAL = 16; + dtSegInterval ints[MAX_INTERVAL]; + int nints; + + const bool storePortals = segmentRefs != 0; + + dtStatus status = DT_SUCCESS; + + for (int i = 0, j = (int)poly->vertCount-1; i < (int)poly->vertCount; j = i++) + { + // Skip non-solid edges. + nints = 0; + if (poly->neis[j] & DT_EXT_LINK) + { + // Tile border. + for (unsigned int k = poly->firstLink; k != DT_NULL_LINK; k = tile->links[k].next) + { + const dtLink* link = &tile->links[k]; + if (link->edge == j) + { + if (link->ref != 0) + { + const dtMeshTile* neiTile = 0; + const dtPoly* neiPoly = 0; + m_nav->getTileAndPolyByRefUnsafe(link->ref, &neiTile, &neiPoly); + if (filter->passFilter(link->ref, neiTile, neiPoly)) + { + insertInterval(ints, nints, MAX_INTERVAL, link->bmin, link->bmax, link->ref); + } + } + } + } + } + else + { + // Internal edge + dtPolyRef neiRef = 0; + if (poly->neis[j]) + { + const unsigned int idx = (unsigned int)(poly->neis[j]-1); + neiRef = m_nav->getPolyRefBase(tile) | idx; + if (!filter->passFilter(neiRef, tile, &tile->polys[idx])) + neiRef = 0; + } + + // If the edge leads to another polygon and portals are not stored, skip. + if (neiRef != 0 && !storePortals) + continue; + + if (n < maxSegments) + { + const float* vj = &tile->verts[poly->verts[j]*3]; + const float* vi = &tile->verts[poly->verts[i]*3]; + float* seg = &segmentVerts[n*6]; + dtVcopy(seg+0, vj); + dtVcopy(seg+3, vi); + if (segmentRefs) + segmentRefs[n] = neiRef; + n++; + } + else + { + status |= DT_BUFFER_TOO_SMALL; + } + + continue; + } + + // Add sentinels + insertInterval(ints, nints, MAX_INTERVAL, -1, 0, 0); + insertInterval(ints, nints, MAX_INTERVAL, 255, 256, 0); + + // Store segments. + const float* vj = &tile->verts[poly->verts[j]*3]; + const float* vi = &tile->verts[poly->verts[i]*3]; + for (int k = 1; k < nints; ++k) + { + // Portal segment. + if (storePortals && ints[k].ref) + { + const float tmin = ints[k].tmin/255.0f; + const float tmax = ints[k].tmax/255.0f; + if (n < maxSegments) + { + float* seg = &segmentVerts[n*6]; + dtVlerp(seg+0, vj,vi, tmin); + dtVlerp(seg+3, vj,vi, tmax); + if (segmentRefs) + segmentRefs[n] = ints[k].ref; + n++; + } + else + { + status |= DT_BUFFER_TOO_SMALL; + } + } + + // Wall segment. + const int imin = ints[k-1].tmax; + const int imax = ints[k].tmin; + if (imin != imax) + { + const float tmin = imin/255.0f; + const float tmax = imax/255.0f; + if (n < maxSegments) + { + float* seg = &segmentVerts[n*6]; + dtVlerp(seg+0, vj,vi, tmin); + dtVlerp(seg+3, vj,vi, tmax); + if (segmentRefs) + segmentRefs[n] = 0; + n++; + } + else + { + status |= DT_BUFFER_TOO_SMALL; + } + } + } + } + + *segmentCount = n; + + return status; +} + +/// @par +/// +/// @p hitPos is not adjusted using the height detail data. +/// +/// @p hitDist will equal the search radius if there is no wall within the +/// radius. In this case the values of @p hitPos and @p hitNormal are +/// undefined. +/// +/// The normal will become unpredicable if @p hitDist is a very small number. +/// +dtStatus dtNavMeshQuery::findDistanceToWall(dtPolyRef startRef, const float* centerPos, const float maxRadius, + const dtQueryFilter* filter, + float* hitDist, float* hitPos, float* hitNormal) const +{ + dtAssert(m_nav); + dtAssert(m_nodePool); + dtAssert(m_openList); + + // Validate input + if (!m_nav->isValidPolyRef(startRef) || + !centerPos || !dtVisfinite(centerPos) || + maxRadius < 0 || !dtMathIsfinite(maxRadius) || + !filter || !hitDist || !hitPos || !hitNormal) + { + return DT_FAILURE | DT_INVALID_PARAM; + } + + m_nodePool->clear(); + m_openList->clear(); + + dtNode* startNode = m_nodePool->getNode(startRef); + dtVcopy(startNode->pos, centerPos); + startNode->pidx = 0; + startNode->cost = 0; + startNode->total = 0; + startNode->id = startRef; + startNode->flags = DT_NODE_OPEN; + m_openList->push(startNode); + + float radiusSqr = dtSqr(maxRadius); + + dtStatus status = DT_SUCCESS; + + while (!m_openList->empty()) + { + dtNode* bestNode = m_openList->pop(); + bestNode->flags &= ~DT_NODE_OPEN; + bestNode->flags |= DT_NODE_CLOSED; + + // Get poly and tile. + // The API input has been cheked already, skip checking internal data. + const dtPolyRef bestRef = bestNode->id; + const dtMeshTile* bestTile = 0; + const dtPoly* bestPoly = 0; + m_nav->getTileAndPolyByRefUnsafe(bestRef, &bestTile, &bestPoly); + + // Get parent poly and tile. + dtPolyRef parentRef = 0; + const dtMeshTile* parentTile = 0; + const dtPoly* parentPoly = 0; + if (bestNode->pidx) + parentRef = m_nodePool->getNodeAtIdx(bestNode->pidx)->id; + if (parentRef) + m_nav->getTileAndPolyByRefUnsafe(parentRef, &parentTile, &parentPoly); + + // Hit test walls. + for (int i = 0, j = (int)bestPoly->vertCount-1; i < (int)bestPoly->vertCount; j = i++) + { + // Skip non-solid edges. + if (bestPoly->neis[j] & DT_EXT_LINK) + { + // Tile border. + bool solid = true; + for (unsigned int k = bestPoly->firstLink; k != DT_NULL_LINK; k = bestTile->links[k].next) + { + const dtLink* link = &bestTile->links[k]; + if (link->edge == j) + { + if (link->ref != 0) + { + const dtMeshTile* neiTile = 0; + const dtPoly* neiPoly = 0; + m_nav->getTileAndPolyByRefUnsafe(link->ref, &neiTile, &neiPoly); + if (filter->passFilter(link->ref, neiTile, neiPoly)) + solid = false; + } + break; + } + } + if (!solid) continue; + } + else if (bestPoly->neis[j]) + { + // Internal edge + const unsigned int idx = (unsigned int)(bestPoly->neis[j]-1); + const dtPolyRef ref = m_nav->getPolyRefBase(bestTile) | idx; + if (filter->passFilter(ref, bestTile, &bestTile->polys[idx])) + continue; + } + + // Calc distance to the edge. + const float* vj = &bestTile->verts[bestPoly->verts[j]*3]; + const float* vi = &bestTile->verts[bestPoly->verts[i]*3]; + float tseg; + float distSqr = dtDistancePtSegSqr2D(centerPos, vj, vi, tseg); + + // Edge is too far, skip. + if (distSqr > radiusSqr) + continue; + + // Hit wall, update radius. + radiusSqr = distSqr; + // Calculate hit pos. + hitPos[0] = vj[0] + (vi[0] - vj[0])*tseg; + hitPos[1] = vj[1] + (vi[1] - vj[1])*tseg; + hitPos[2] = vj[2] + (vi[2] - vj[2])*tseg; + } + + for (unsigned int i = bestPoly->firstLink; i != DT_NULL_LINK; i = bestTile->links[i].next) + { + const dtLink* link = &bestTile->links[i]; + dtPolyRef neighbourRef = link->ref; + // Skip invalid neighbours and do not follow back to parent. + if (!neighbourRef || neighbourRef == parentRef) + continue; + + // Expand to neighbour. + const dtMeshTile* neighbourTile = 0; + const dtPoly* neighbourPoly = 0; + m_nav->getTileAndPolyByRefUnsafe(neighbourRef, &neighbourTile, &neighbourPoly); + + // Skip off-mesh connections. + if (neighbourPoly->getType() == DT_POLYTYPE_OFFMESH_CONNECTION) + continue; + + // Calc distance to the edge. + const float* va = &bestTile->verts[bestPoly->verts[link->edge]*3]; + const float* vb = &bestTile->verts[bestPoly->verts[(link->edge+1) % bestPoly->vertCount]*3]; + float tseg; + float distSqr = dtDistancePtSegSqr2D(centerPos, va, vb, tseg); + + // If the circle is not touching the next polygon, skip it. + if (distSqr > radiusSqr) + continue; + + if (!filter->passFilter(neighbourRef, neighbourTile, neighbourPoly)) + continue; + + dtNode* neighbourNode = m_nodePool->getNode(neighbourRef); + if (!neighbourNode) + { + status |= DT_OUT_OF_NODES; + continue; + } + + if (neighbourNode->flags & DT_NODE_CLOSED) + continue; + + // Cost + if (neighbourNode->flags == 0) + { + getEdgeMidPoint(bestRef, bestPoly, bestTile, + neighbourRef, neighbourPoly, neighbourTile, neighbourNode->pos); + } + + const float total = bestNode->total + dtVdist(bestNode->pos, neighbourNode->pos); + + // The node is already in open list and the new result is worse, skip. + if ((neighbourNode->flags & DT_NODE_OPEN) && total >= neighbourNode->total) + continue; + + neighbourNode->id = neighbourRef; + neighbourNode->flags = (neighbourNode->flags & ~DT_NODE_CLOSED); + neighbourNode->pidx = m_nodePool->getNodeIdx(bestNode); + neighbourNode->total = total; + + if (neighbourNode->flags & DT_NODE_OPEN) + { + m_openList->modify(neighbourNode); + } + else + { + neighbourNode->flags |= DT_NODE_OPEN; + m_openList->push(neighbourNode); + } + } + } + + // Calc hit normal. + dtVsub(hitNormal, centerPos, hitPos); + dtVnormalize(hitNormal); + + *hitDist = dtMathSqrtf(radiusSqr); + + return status; +} + +bool dtNavMeshQuery::isValidPolyRef(dtPolyRef ref, const dtQueryFilter* filter) const +{ + const dtMeshTile* tile = 0; + const dtPoly* poly = 0; + dtStatus status = m_nav->getTileAndPolyByRef(ref, &tile, &poly); + // If cannot get polygon, assume it does not exists and boundary is invalid. + if (dtStatusFailed(status)) + return false; + // If cannot pass filter, assume flags has changed and boundary is invalid. + if (!filter->passFilter(ref, tile, poly)) + return false; + return true; +} + +/// @par +/// +/// The closed list is the list of polygons that were fully evaluated during +/// the last navigation graph search. (A* or Dijkstra) +/// +bool dtNavMeshQuery::isInClosedList(dtPolyRef ref) const +{ + if (!m_nodePool) return false; + + dtNode* nodes[DT_MAX_STATES_PER_NODE]; + int n= m_nodePool->findNodes(ref, nodes, DT_MAX_STATES_PER_NODE); + + for (int i=0; iflags & DT_NODE_CLOSED) + return true; + } + + return false; +} diff --git a/extern/fetched/recastnavigation/Detour/Source/DetourNode.cpp b/extern/fetched/recastnavigation/Detour/Source/DetourNode.cpp new file mode 100644 index 000000000..48abbba6b --- /dev/null +++ b/extern/fetched/recastnavigation/Detour/Source/DetourNode.cpp @@ -0,0 +1,200 @@ +// +// Copyright (c) 2009-2010 Mikko Mononen memon@inside.org +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. +// + +#include "DetourNode.h" +#include "DetourAlloc.h" +#include "DetourAssert.h" +#include "DetourCommon.h" +#include + +#ifdef DT_POLYREF64 +// From Thomas Wang, https://gist.github.com/badboy/6267743 +inline unsigned int dtHashRef(dtPolyRef a) +{ + a = (~a) + (a << 18); // a = (a << 18) - a - 1; + a = a ^ (a >> 31); + a = a * 21; // a = (a + (a << 2)) + (a << 4); + a = a ^ (a >> 11); + a = a + (a << 6); + a = a ^ (a >> 22); + return (unsigned int)a; +} +#else +inline unsigned int dtHashRef(dtPolyRef a) +{ + a += ~(a<<15); + a ^= (a>>10); + a += (a<<3); + a ^= (a>>6); + a += ~(a<<11); + a ^= (a>>16); + return (unsigned int)a; +} +#endif + +////////////////////////////////////////////////////////////////////////////////////////// +dtNodePool::dtNodePool(int maxNodes, int hashSize) : + m_nodes(0), + m_first(0), + m_next(0), + m_maxNodes(maxNodes), + m_hashSize(hashSize), + m_nodeCount(0) +{ + dtAssert(dtNextPow2(m_hashSize) == (unsigned int)m_hashSize); + // pidx is special as 0 means "none" and 1 is the first node. For that reason + // we have 1 fewer nodes available than the number of values it can contain. + dtAssert(m_maxNodes > 0 && m_maxNodes <= DT_NULL_IDX && m_maxNodes <= (1 << DT_NODE_PARENT_BITS) - 1); + + m_nodes = (dtNode*)dtAlloc(sizeof(dtNode)*m_maxNodes, DT_ALLOC_PERM); + m_next = (dtNodeIndex*)dtAlloc(sizeof(dtNodeIndex)*m_maxNodes, DT_ALLOC_PERM); + m_first = (dtNodeIndex*)dtAlloc(sizeof(dtNodeIndex)*hashSize, DT_ALLOC_PERM); + + dtAssert(m_nodes); + dtAssert(m_next); + dtAssert(m_first); + + memset(m_first, 0xff, sizeof(dtNodeIndex)*m_hashSize); + memset(m_next, 0xff, sizeof(dtNodeIndex)*m_maxNodes); +} + +dtNodePool::~dtNodePool() +{ + dtFree(m_nodes); + dtFree(m_next); + dtFree(m_first); +} + +void dtNodePool::clear() +{ + memset(m_first, 0xff, sizeof(dtNodeIndex)*m_hashSize); + m_nodeCount = 0; +} + +unsigned int dtNodePool::findNodes(dtPolyRef id, dtNode** nodes, const int maxNodes) +{ + int n = 0; + unsigned int bucket = dtHashRef(id) & (m_hashSize-1); + dtNodeIndex i = m_first[bucket]; + while (i != DT_NULL_IDX) + { + if (m_nodes[i].id == id) + { + if (n >= maxNodes) + return n; + nodes[n++] = &m_nodes[i]; + } + i = m_next[i]; + } + + return n; +} + +dtNode* dtNodePool::findNode(dtPolyRef id, unsigned char state) +{ + unsigned int bucket = dtHashRef(id) & (m_hashSize-1); + dtNodeIndex i = m_first[bucket]; + while (i != DT_NULL_IDX) + { + if (m_nodes[i].id == id && m_nodes[i].state == state) + return &m_nodes[i]; + i = m_next[i]; + } + return 0; +} + +dtNode* dtNodePool::getNode(dtPolyRef id, unsigned char state) +{ + unsigned int bucket = dtHashRef(id) & (m_hashSize-1); + dtNodeIndex i = m_first[bucket]; + dtNode* node = 0; + while (i != DT_NULL_IDX) + { + if (m_nodes[i].id == id && m_nodes[i].state == state) + return &m_nodes[i]; + i = m_next[i]; + } + + if (m_nodeCount >= m_maxNodes) + return 0; + + i = (dtNodeIndex)m_nodeCount; + m_nodeCount++; + + // Init node + node = &m_nodes[i]; + node->pidx = 0; + node->cost = 0; + node->total = 0; + node->id = id; + node->state = state; + node->flags = 0; + + m_next[i] = m_first[bucket]; + m_first[bucket] = i; + + return node; +} + + +////////////////////////////////////////////////////////////////////////////////////////// +dtNodeQueue::dtNodeQueue(int n) : + m_heap(0), + m_capacity(n), + m_size(0) +{ + dtAssert(m_capacity > 0); + + m_heap = (dtNode**)dtAlloc(sizeof(dtNode*)*(m_capacity+1), DT_ALLOC_PERM); + dtAssert(m_heap); +} + +dtNodeQueue::~dtNodeQueue() +{ + dtFree(m_heap); +} + +void dtNodeQueue::bubbleUp(int i, dtNode* node) +{ + int parent = (i-1)/2; + // note: (index > 0) means there is a parent + while ((i > 0) && (m_heap[parent]->total > node->total)) + { + m_heap[i] = m_heap[parent]; + i = parent; + parent = (i-1)/2; + } + m_heap[i] = node; +} + +void dtNodeQueue::trickleDown(int i, dtNode* node) +{ + int child = (i*2)+1; + while (child < m_size) + { + if (((child+1) < m_size) && + (m_heap[child]->total > m_heap[child+1]->total)) + { + child++; + } + m_heap[i] = m_heap[child]; + i = child; + child = (i*2)+1; + } + bubbleUp(i, node); +} diff --git a/extern/fetched/recastnavigation/DetourCrowd/CMakeLists.txt b/extern/fetched/recastnavigation/DetourCrowd/CMakeLists.txt new file mode 100644 index 000000000..d0e186be0 --- /dev/null +++ b/extern/fetched/recastnavigation/DetourCrowd/CMakeLists.txt @@ -0,0 +1,34 @@ +file(GLOB SOURCES Source/*.cpp) +add_library(DetourCrowd ${SOURCES}) + +add_library(RecastNavigation::DetourCrowd ALIAS DetourCrowd) +set_target_properties(DetourCrowd PROPERTIES DEBUG_POSTFIX -d) + +set(DetourCrowd_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/Include") + +target_include_directories(DetourCrowd PUBLIC + "$" +) + +target_link_libraries(DetourCrowd + Detour +) + +set_target_properties(DetourCrowd PROPERTIES + SOVERSION ${SOVERSION} + VERSION ${VERSION} + COMPILE_PDB_OUTPUT_DIRECTORY . + COMPILE_PDB_NAME "DetourCrowd-d" + ) + +install(TARGETS DetourCrowd + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + COMPONENT library + ) + +file(GLOB INCLUDES Include/*.h) +install(FILES ${INCLUDES} DESTINATION + ${CMAKE_INSTALL_INCLUDEDIR}/recastnavigation) +install(FILES "$/DetourCrowd-d.pdb" CONFIGURATIONS "Debug" DESTINATION "lib") diff --git a/extern/fetched/recastnavigation/DetourCrowd/Include/DetourCrowd.h b/extern/fetched/recastnavigation/DetourCrowd/Include/DetourCrowd.h new file mode 100644 index 000000000..952050878 --- /dev/null +++ b/extern/fetched/recastnavigation/DetourCrowd/Include/DetourCrowd.h @@ -0,0 +1,460 @@ +// +// Copyright (c) 2009-2010 Mikko Mononen memon@inside.org +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. +// + +#ifndef DETOURCROWD_H +#define DETOURCROWD_H + +#include "DetourNavMeshQuery.h" +#include "DetourObstacleAvoidance.h" +#include "DetourLocalBoundary.h" +#include "DetourPathCorridor.h" +#include "DetourProximityGrid.h" +#include "DetourPathQueue.h" + +/// The maximum number of neighbors that a crowd agent can take into account +/// for steering decisions. +/// @ingroup crowd +static const int DT_CROWDAGENT_MAX_NEIGHBOURS = 6; + +/// The maximum number of corners a crowd agent will look ahead in the path. +/// This value is used for sizing the crowd agent corner buffers. +/// Due to the behavior of the crowd manager, the actual number of useful +/// corners will be one less than this number. +/// @ingroup crowd +static const int DT_CROWDAGENT_MAX_CORNERS = 4; + +/// The maximum number of crowd avoidance configurations supported by the +/// crowd manager. +/// @ingroup crowd +/// @see dtObstacleAvoidanceParams, dtCrowd::setObstacleAvoidanceParams(), dtCrowd::getObstacleAvoidanceParams(), +/// dtCrowdAgentParams::obstacleAvoidanceType +static const int DT_CROWD_MAX_OBSTAVOIDANCE_PARAMS = 8; + +/// The maximum number of query filter types supported by the crowd manager. +/// @ingroup crowd +/// @see dtQueryFilter, dtCrowd::getFilter() dtCrowd::getEditableFilter(), +/// dtCrowdAgentParams::queryFilterType +static const int DT_CROWD_MAX_QUERY_FILTER_TYPE = 16; + +/// Provides neighbor data for agents managed by the crowd. +/// @ingroup crowd +/// @see dtCrowdAgent::neis, dtCrowd +struct dtCrowdNeighbour +{ + int idx; ///< The index of the neighbor in the crowd. + float dist; ///< The distance between the current agent and the neighbor. +}; + +/// The type of navigation mesh polygon the agent is currently traversing. +/// @ingroup crowd +enum CrowdAgentState +{ + DT_CROWDAGENT_STATE_INVALID, ///< The agent is not in a valid state. + DT_CROWDAGENT_STATE_WALKING, ///< The agent is traversing a normal navigation mesh polygon. + DT_CROWDAGENT_STATE_OFFMESH, ///< The agent is traversing an off-mesh connection. +}; + +/// Configuration parameters for a crowd agent. +/// @ingroup crowd +struct dtCrowdAgentParams +{ + float radius; ///< Agent radius. [Limit: >= 0] + float height; ///< Agent height. [Limit: > 0] + float maxAcceleration; ///< Maximum allowed acceleration. [Limit: >= 0] + float maxSpeed; ///< Maximum allowed speed. [Limit: >= 0] + + /// Defines how close a collision element must be before it is considered for steering behaviors. [Limits: > 0] + float collisionQueryRange; + + float pathOptimizationRange; ///< The path visibility optimization range. [Limit: > 0] + + /// How aggresive the agent manager should be at avoiding collisions with this agent. [Limit: >= 0] + float separationWeight; + + /// Flags that impact steering behavior. (See: #UpdateFlags) + unsigned char updateFlags; + + /// The index of the avoidance configuration to use for the agent. + /// [Limits: 0 <= value <= #DT_CROWD_MAX_OBSTAVOIDANCE_PARAMS] + unsigned char obstacleAvoidanceType; + + /// The index of the query filter used by this agent. + unsigned char queryFilterType; + + /// User defined data attached to the agent. + void* userData; +}; + +enum MoveRequestState +{ + DT_CROWDAGENT_TARGET_NONE = 0, + DT_CROWDAGENT_TARGET_FAILED, + DT_CROWDAGENT_TARGET_VALID, + DT_CROWDAGENT_TARGET_REQUESTING, + DT_CROWDAGENT_TARGET_WAITING_FOR_QUEUE, + DT_CROWDAGENT_TARGET_WAITING_FOR_PATH, + DT_CROWDAGENT_TARGET_VELOCITY, +}; + +/// Represents an agent managed by a #dtCrowd object. +/// @ingroup crowd +struct dtCrowdAgent +{ + /// True if the agent is active, false if the agent is in an unused slot in the agent pool. + bool active; + + /// The type of mesh polygon the agent is traversing. (See: #CrowdAgentState) + unsigned char state; + + /// True if the agent has valid path (targetState == DT_CROWDAGENT_TARGET_VALID) and the path does not lead to the requested position, else false. + bool partial; + + /// The path corridor the agent is using. + dtPathCorridor corridor; + + /// The local boundary data for the agent. + dtLocalBoundary boundary; + + /// Time since the agent's path corridor was optimized. + float topologyOptTime; + + /// The known neighbors of the agent. + dtCrowdNeighbour neis[DT_CROWDAGENT_MAX_NEIGHBOURS]; + + /// The number of neighbors. + int nneis; + + /// The desired speed. + float desiredSpeed; + + float npos[3]; ///< The current agent position. [(x, y, z)] + float disp[3]; ///< A temporary value used to accumulate agent displacement during iterative collision resolution. [(x, y, z)] + float dvel[3]; ///< The desired velocity of the agent. Based on the current path, calculated from scratch each frame. [(x, y, z)] + float nvel[3]; ///< The desired velocity adjusted by obstacle avoidance, calculated from scratch each frame. [(x, y, z)] + float vel[3]; ///< The actual velocity of the agent. The change from nvel -> vel is constrained by max acceleration. [(x, y, z)] + + /// The agent's configuration parameters. + dtCrowdAgentParams params; + + /// The local path corridor corners for the agent. (Staight path.) [(x, y, z) * #ncorners] + float cornerVerts[DT_CROWDAGENT_MAX_CORNERS*3]; + + /// The local path corridor corner flags. (See: #dtStraightPathFlags) [(flags) * #ncorners] + unsigned char cornerFlags[DT_CROWDAGENT_MAX_CORNERS]; + + /// The reference id of the polygon being entered at the corner. [(polyRef) * #ncorners] + dtPolyRef cornerPolys[DT_CROWDAGENT_MAX_CORNERS]; + + /// The number of corners. + int ncorners; + + unsigned char targetState; ///< State of the movement request. + dtPolyRef targetRef; ///< Target polyref of the movement request. + float targetPos[3]; ///< Target position of the movement request (or velocity in case of DT_CROWDAGENT_TARGET_VELOCITY). + dtPathQueueRef targetPathqRef; ///< Path finder ref. + bool targetReplan; ///< Flag indicating that the current path is being replanned. + float targetReplanTime; ///