From 568b331c3bbb23cb0e92e66056b4e6fb3c06f94d Mon Sep 17 00:00:00 2001 From: Yones Mussa Date: Fri, 22 Sep 2023 16:31:16 -0400 Subject: [PATCH 01/42] creating the empty class --- source/Data/data.cpp | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 source/Data/data.cpp diff --git a/source/Data/data.cpp b/source/Data/data.cpp new file mode 100644 index 00000000..e69de29b From ffaffff450dcb815e435c3e64dcc87f1347ebc4c Mon Sep 17 00:00:00 2001 From: Yones Mussa Date: Sun, 24 Sep 2023 19:43:39 -0400 Subject: [PATCH 02/42] adding the data receive class to retrive the data --- .vscode/c_cpp_properties.json | 21 +++++++++ .vscode/launch.json | 7 +++ .vscode/tasks.json | 28 +++++++++++ source/Data/data.cpp | 0 source/DataCollection/DateReceiver.hpp | 25 ++++++++++ source/Test/DataReceiverTest.cpp | 63 +++++++++++++++++++++++++ source/simple.exe | Bin 0 -> 721804 bytes 7 files changed, 144 insertions(+) create mode 100644 .vscode/c_cpp_properties.json create mode 100644 .vscode/launch.json create mode 100644 .vscode/tasks.json delete mode 100644 source/Data/data.cpp create mode 100644 source/DataCollection/DateReceiver.hpp create mode 100644 source/Test/DataReceiverTest.cpp create mode 100644 source/simple.exe diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json new file mode 100644 index 00000000..cbd04cda --- /dev/null +++ b/.vscode/c_cpp_properties.json @@ -0,0 +1,21 @@ +{ + "configurations": [ + { + "name": "Win32", + "includePath": [ + "${workspaceFolder}/**", + "${workspaceFolder}/source" + ], + "defines": [ + "_DEBUG", + "UNICODE", + "_UNICODE" + ], + "compilerPath": "C:\\msys64\\ucrt64\\bin\\gcc.exe", + "cStandard": "c17", + "cppStandard": "gnu++17", + "intelliSenseMode": "windows-gcc-x64" + } + ], + "version": 4 +} \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 00000000..5c7247b4 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,7 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [] +} \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 00000000..7b0448db --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,28 @@ +{ + "tasks": [ + { + "type": "cppbuild", + "label": "C/C++: g++.exe build active file", + "command": "C:\\msys64\\ucrt64\\bin\\g++.exe", + "args": [ + "-fdiagnostics-color=always", + "-g", + "${file}", + "-o", + "${fileDirname}\\${fileBasenameNoExtension}.exe" + ], + "options": { + "cwd": "${fileDirname}" + }, + "problemMatcher": [ + "$gcc" + ], + "group": { + "kind": "build", + "isDefault": true + }, + "detail": "Task generated by Debugger." + } + ], + "version": "2.0.0" +} \ No newline at end of file diff --git a/source/Data/data.cpp b/source/Data/data.cpp deleted file mode 100644 index e69de29b..00000000 diff --git a/source/DataCollection/DateReceiver.hpp b/source/DataCollection/DateReceiver.hpp new file mode 100644 index 00000000..a04a8b56 --- /dev/null +++ b/source/DataCollection/DateReceiver.hpp @@ -0,0 +1,25 @@ + +#include +#include "core/Entity.hpp" +#include + +namespace GroupTwo{ + + class cse491::Entity; + + class DataReceiver { + + public: + + void DisplayPosition() { + + storage.push_back(positions); + + } + + private: + std::vector storage; + cse491::GridPosition positions; + cse491::Entity x; + }; +} diff --git a/source/Test/DataReceiverTest.cpp b/source/Test/DataReceiverTest.cpp new file mode 100644 index 00000000..7682289a --- /dev/null +++ b/source/Test/DataReceiverTest.cpp @@ -0,0 +1,63 @@ +#include +#include +#include + +// Include the class definitions (DataReceiver, Entity, and GridPosition) +#include "DataReceiver.h" +#include "Entity.h" +#include "GridPosition.h" + +// Define a fixture for your tests +class DataReceiverTest : public ::testing::Test { +protected: + // Create common setup logic if needed + DataReceiverTest() { + // Initialize common test data here + } + + // Perform cleanup, if necessary + virtual ~DataReceiverTest() { + // Cleanup common test data here + } + + // Set up the test fixture + virtual void SetUp() { + // Create instances of Entity, GridPosition, and DataReceiver for testing + gridPosition = new GridPosition(10, 20); + entity = new Entity(*gridPosition); + dataReceiver = new DataReceiver(*entity); + } + + // Tear down the test fixture + virtual void TearDown() { + delete dataReceiver; + delete entity; + delete gridPosition; + } + + // Declare your test objects here + GridPosition* gridPosition; + Entity* entity; + DataReceiver* dataReceiver; +}; + +// Define your test cases +TEST_F(DataReceiverTest, DisplayPosition) { + // Call the DisplayPosition method + dataReceiver->DisplayPosition(*entity); + + // Retrieve the storage vector + const std::vector>& storage = dataReceiver->GetStorage(); + + // Check if the stored position matches the expected values + ASSERT_EQ(storage.size(), 1); + EXPECT_EQ(storage[0].first, 10); + EXPECT_EQ(storage[0].second, 20); +} + +// Define more test cases as needed + +int main(int argc, char** argv) { + ::testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} diff --git a/source/simple.exe b/source/simple.exe new file mode 100644 index 0000000000000000000000000000000000000000..cadce465a718e1d5e0bcfeedf341185ec0014ed9 GIT binary patch literal 721804 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
    s8x)V<0kWy6PA@SU%s)M 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 literal 0 HcmV?d00001 From e2b5f29d43bad00e8053d96d1fa090846eafb2ce Mon Sep 17 00:00:00 2001 From: Yones Mussa Date: Sun, 24 Sep 2023 19:50:47 -0400 Subject: [PATCH 03/42] creating data reciver class --- .vscode/settings.json | 49 ++++++++++++++++++++++++++ source/DataCollection/DateReceiver.hpp | 8 ++--- source/Test/DataReceiverTest.cpp | 39 -------------------- 3 files changed, 53 insertions(+), 43 deletions(-) create mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..9a2b8f8b --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,49 @@ +{ + "files.associations": { + "array": "cpp", + "atomic": "cpp", + "bit": "cpp", + "*.tcc": "cpp", + "cctype": "cpp", + "clocale": "cpp", + "cmath": "cpp", + "compare": "cpp", + "concepts": "cpp", + "cstddef": "cpp", + "cstdint": "cpp", + "cstdio": "cpp", + "cstdlib": "cpp", + "cwchar": "cpp", + "cwctype": "cpp", + "deque": "cpp", + "string": "cpp", + "unordered_map": "cpp", + "vector": "cpp", + "exception": "cpp", + "algorithm": "cpp", + "functional": "cpp", + "iterator": "cpp", + "memory": "cpp", + "memory_resource": "cpp", + "numeric": "cpp", + "optional": "cpp", + "random": "cpp", + "string_view": "cpp", + "system_error": "cpp", + "tuple": "cpp", + "type_traits": "cpp", + "utility": "cpp", + "fstream": "cpp", + "initializer_list": "cpp", + "iosfwd": "cpp", + "iostream": "cpp", + "istream": "cpp", + "limits": "cpp", + "new": "cpp", + "numbers": "cpp", + "ostream": "cpp", + "stdexcept": "cpp", + "streambuf": "cpp", + "typeinfo": "cpp" + } +} \ No newline at end of file diff --git a/source/DataCollection/DateReceiver.hpp b/source/DataCollection/DateReceiver.hpp index a04a8b56..69d88cd7 100644 --- a/source/DataCollection/DateReceiver.hpp +++ b/source/DataCollection/DateReceiver.hpp @@ -13,13 +13,13 @@ namespace GroupTwo{ void DisplayPosition() { - storage.push_back(positions); + // storage.push_back(positions); } private: - std::vector storage; - cse491::GridPosition positions; - cse491::Entity x; + // std::vector storage; + // cse491::GridPosition positions; + // cse491::Entity x; }; } diff --git a/source/Test/DataReceiverTest.cpp b/source/Test/DataReceiverTest.cpp index 7682289a..7460915b 100644 --- a/source/Test/DataReceiverTest.cpp +++ b/source/Test/DataReceiverTest.cpp @@ -7,40 +7,6 @@ #include "Entity.h" #include "GridPosition.h" -// Define a fixture for your tests -class DataReceiverTest : public ::testing::Test { -protected: - // Create common setup logic if needed - DataReceiverTest() { - // Initialize common test data here - } - - // Perform cleanup, if necessary - virtual ~DataReceiverTest() { - // Cleanup common test data here - } - - // Set up the test fixture - virtual void SetUp() { - // Create instances of Entity, GridPosition, and DataReceiver for testing - gridPosition = new GridPosition(10, 20); - entity = new Entity(*gridPosition); - dataReceiver = new DataReceiver(*entity); - } - - // Tear down the test fixture - virtual void TearDown() { - delete dataReceiver; - delete entity; - delete gridPosition; - } - - // Declare your test objects here - GridPosition* gridPosition; - Entity* entity; - DataReceiver* dataReceiver; -}; - // Define your test cases TEST_F(DataReceiverTest, DisplayPosition) { // Call the DisplayPosition method @@ -55,9 +21,4 @@ TEST_F(DataReceiverTest, DisplayPosition) { EXPECT_EQ(storage[0].second, 20); } -// Define more test cases as needed -int main(int argc, char** argv) { - ::testing::InitGoogleTest(&argc, argv); - return RUN_ALL_TESTS(); -} From eb6eb4fdef15307112e5876d45f1ae74e40d6a0a Mon Sep 17 00:00:00 2001 From: YonesMussa Date: Sun, 24 Sep 2023 21:09:27 -0400 Subject: [PATCH 04/42] Getting the first part done --- .vscode/settings.json | 22 ++++++++++++++++++++++ source/DataCollection/DateReceiver.hpp | 25 ++++++++++++------------- source/Makefile | 2 ++ source/Test/DataReceiverTest.cpp | 6 +++--- source/simple.exe | Bin 721804 -> 744334 bytes source/simple_main.cpp | 5 +++++ 6 files changed, 44 insertions(+), 16 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 9a2b8f8b..2d0f6960 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -45,5 +45,27 @@ "stdexcept": "cpp", "streambuf": "cpp", "typeinfo": "cpp" + }, + "editor.tokenColorCustomizations": { + "textMateRules": [ + { + "scope": "googletest.failed", + "settings": { + "foreground": "#f00" + } + }, + { + "scope": "googletest.passed", + "settings": { + "foreground": "#0f0" + } + }, + { + "scope": "googletest.run", + "settings": { + "foreground": "#0f0" + } + } + ] } } \ No newline at end of file diff --git a/source/DataCollection/DateReceiver.hpp b/source/DataCollection/DateReceiver.hpp index 69d88cd7..fde38c9d 100644 --- a/source/DataCollection/DateReceiver.hpp +++ b/source/DataCollection/DateReceiver.hpp @@ -1,25 +1,24 @@ - -#include -#include "core/Entity.hpp" #include namespace GroupTwo{ - class cse491::Entity; - class DataReceiver { public: + std::vector storage; + cse491::GridPosition positions; + - void DisplayPosition() { - - // storage.push_back(positions); - + DataReceiver() { + storage.push_back(positions); } - private: - // std::vector storage; - // cse491::GridPosition positions; - // cse491::Entity x; + friend std::ostream& operator<<(std::ostream& os, const DataReceiver& obj) { + os << "MyClass data: " << obj.storage[0].GetX(); + return os; + } + + protected: + }; } diff --git a/source/Makefile b/source/Makefile index c65ac6e9..846f3e21 100644 --- a/source/Makefile +++ b/source/Makefile @@ -14,6 +14,8 @@ EXECUTABLES = simple default: simple +add_subdirectory(test) + # Generic rule to build default version of any executable $(EXECUTABLES): %: $(CXX) $@_main.cpp $(FLAGS_all) -o $@ diff --git a/source/Test/DataReceiverTest.cpp b/source/Test/DataReceiverTest.cpp index 7460915b..3da00bda 100644 --- a/source/Test/DataReceiverTest.cpp +++ b/source/Test/DataReceiverTest.cpp @@ -3,9 +3,9 @@ #include // Include the class definitions (DataReceiver, Entity, and GridPosition) -#include "DataReceiver.h" -#include "Entity.h" -#include "GridPosition.h" +#include "DataCollection/DateReceiver.hpp" +#include "Core/Entity.hpp" +#include "Core/GridPosition.hpp" // Define your test cases TEST_F(DataReceiverTest, DisplayPosition) { diff --git a/source/simple.exe b/source/simple.exe index cadce465a718e1d5e0bcfeedf341185ec0014ed9..a37171ac0557284c6eba0f25445228cd4389c6df 100644 GIT binary patch delta 109984 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

    voT>lF0oi1;0Gj0&Df4H~q-|cBiWyi%@YV9VA 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�^cztko)6zza9x)+f^h9OtIvis$ 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 delta 96539 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 z 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

    VxN0sa+ZSuW19__I)WU+OiNTP9JOqZE@=!5aL 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 nMQo@fn9#`&m4N7di4*_zE`m#B-5%A("Pacer 2").SetPosition(6,1); world.AddAgent("Interface").SetProperty("char", '@'); - world.Run(); - GroupTwo::DataReceiver test; - std::cout << test << std::endl; } From 4ff137b93f978c3c560cc2c5488148a86f700820 Mon Sep 17 00:00:00 2001 From: YonesMussa Date: Mon, 25 Sep 2023 21:37:01 -0400 Subject: [PATCH 07/42] adding the instru to do the task --- source/DataCollection/DateReceiver.hpp | 23 +++++++++++------------ source/core/WorldBase.hpp | 11 ++++++++++- 2 files changed, 21 insertions(+), 13 deletions(-) diff --git a/source/DataCollection/DateReceiver.hpp b/source/DataCollection/DateReceiver.hpp index 01b26a6a..4b0fa850 100644 --- a/source/DataCollection/DateReceiver.hpp +++ b/source/DataCollection/DateReceiver.hpp @@ -7,18 +7,17 @@ namespace GroupTwo{ class DataReceiver { public: - std::vector storage; - - DataReceiver(const cse491::Entity& entity) { - storage.push_back(entity.GetPosition().CellX); - } - - friend std::ostream& operator<<(std::ostream& os, const DataReceiver& obj) { - os << "MyClass data: " << obj.storage[0].GetX(); - return os; - } - - protected: + DataReceiver() = default; + + // Function that takes in uniq pointer and stores it into the vector + + + + + + + private: + std::vector storage; }; } diff --git a/source/core/WorldBase.hpp b/source/core/WorldBase.hpp index 4ab7f3c9..eb5870cb 100644 --- a/source/core/WorldBase.hpp +++ b/source/core/WorldBase.hpp @@ -15,6 +15,7 @@ #include "Data.hpp" #include "Entity.hpp" #include "WorldGrid.hpp" +#include "DataCollection/DateReceiver.hpp" namespace cse491 { @@ -123,8 +124,16 @@ namespace cse491 { } void CollectData(){ + // calling the collectdata class + the function and store the data (agent_ptr) into it + + + + + + for (auto & agent_ptr : agent_set){ - std::cout << agent_ptr->GetPosition().GetX() << '\n'; + + std::cout << agent_ptr<< '\n'; } } From 0796af674c5cabc59445bde102817d0abafaab19 Mon Sep 17 00:00:00 2001 From: Ayoung Du Date: Tue, 26 Sep 2023 22:26:25 -0400 Subject: [PATCH 08/42] function --- source/core/WorldBase.hpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/core/WorldBase.hpp b/source/core/WorldBase.hpp index eb5870cb..4ea53f78 100644 --- a/source/core/WorldBase.hpp +++ b/source/core/WorldBase.hpp @@ -134,6 +134,10 @@ namespace cse491 { for (auto & agent_ptr : agent_set){ std::cout << agent_ptr<< '\n'; + + //store data + DataReceiver receiver; + receiver.store_position(agent_ptr) } } From fa140abf25b5d07eb07961dd7008107c3cb83f90 Mon Sep 17 00:00:00 2001 From: Dominick Radcliffe Date: Wed, 27 Sep 2023 13:55:14 -0400 Subject: [PATCH 09/42] Fix DataReceiver and get agent positions --- source/DataCollection/DateReceiver.hpp | 14 ++++++-------- source/core/WorldBase.hpp | 21 +++++---------------- 2 files changed, 11 insertions(+), 24 deletions(-) diff --git a/source/DataCollection/DateReceiver.hpp b/source/DataCollection/DateReceiver.hpp index 4b0fa850..3c9806fb 100644 --- a/source/DataCollection/DateReceiver.hpp +++ b/source/DataCollection/DateReceiver.hpp @@ -1,6 +1,6 @@ #include -namespace GroupTwo{ +namespace GroupTwo { class Entity; @@ -8,16 +8,14 @@ namespace GroupTwo{ public: DataReceiver() = default; - - // Function that takes in uniq pointer and stores it into the vector - - - - + inline void store_agent(cse491::GridPosition pos) { + std::cout << "Adding: (" << pos.GetX() << ", " << pos.GetY() << ")" << std::endl; + storage.push_back(pos); + } private: - std::vector storage; + std::vector storage; }; } diff --git a/source/core/WorldBase.hpp b/source/core/WorldBase.hpp index b031be1c..e14f363e 100644 --- a/source/core/WorldBase.hpp +++ b/source/core/WorldBase.hpp @@ -15,7 +15,7 @@ #include "Data.hpp" #include "Entity.hpp" #include "WorldGrid.hpp" -#include "DataCollection/DateReceiver.hpp" +#include "../DataCollection/DateReceiver.hpp" namespace cse491 { @@ -123,21 +123,13 @@ namespace cse491 { } } - void CollectData(){ + void CollectData() { // calling the collectdata class + the function and store the data (agent_ptr) into it - - - - - - for (auto & agent_ptr : agent_set){ - - std::cout << agent_ptr<< '\n'; - + for (auto & agent_ptr : agent_set) { //store data - DataReceiver receiver; - receiver.store_position(agent_ptr) + GroupTwo::DataReceiver receiver; + receiver.store_agent(agent_ptr->GetPosition()); } } @@ -151,11 +143,8 @@ namespace cse491 { run_over = false; while (!run_over) { RunAgents(); - CollectData(); - UpdateWorld(); - } } From c17d89fb051b1f97c4c23e4ae168f00ba471276f Mon Sep 17 00:00:00 2001 From: YonesMussa Date: Wed, 27 Sep 2023 14:01:48 -0400 Subject: [PATCH 10/42] removing our test file --- source/Test/DataReceiverTest.cpp | 24 ------------------------ 1 file changed, 24 deletions(-) delete mode 100644 source/Test/DataReceiverTest.cpp diff --git a/source/Test/DataReceiverTest.cpp b/source/Test/DataReceiverTest.cpp deleted file mode 100644 index 3da00bda..00000000 --- a/source/Test/DataReceiverTest.cpp +++ /dev/null @@ -1,24 +0,0 @@ -#include -#include -#include - -// Include the class definitions (DataReceiver, Entity, and GridPosition) -#include "DataCollection/DateReceiver.hpp" -#include "Core/Entity.hpp" -#include "Core/GridPosition.hpp" - -// Define your test cases -TEST_F(DataReceiverTest, DisplayPosition) { - // Call the DisplayPosition method - dataReceiver->DisplayPosition(*entity); - - // Retrieve the storage vector - const std::vector>& storage = dataReceiver->GetStorage(); - - // Check if the stored position matches the expected values - ASSERT_EQ(storage.size(), 1); - EXPECT_EQ(storage[0].first, 10); - EXPECT_EQ(storage[0].second, 20); -} - - From 384163ec470e6bf8c2eb122933adc4f66a06397c Mon Sep 17 00:00:00 2001 From: Dominick Radcliffe Date: Wed, 27 Sep 2023 19:41:29 -0400 Subject: [PATCH 11/42] Refactor DataReceiver to base class --- source/DataCollection/DataReceiver.hpp | 21 +++++++++++++++++++ source/DataCollection/DateReceiver.hpp | 21 ------------------- .../DataCollection/GridPositionReceiver.hpp | 17 +++++++++++++++ source/core/WorldBase.hpp | 17 +++++++-------- source/simple_main.cpp | 3 +++ 5 files changed, 49 insertions(+), 30 deletions(-) create mode 100644 source/DataCollection/DataReceiver.hpp delete mode 100644 source/DataCollection/DateReceiver.hpp create mode 100644 source/DataCollection/GridPositionReceiver.hpp diff --git a/source/DataCollection/DataReceiver.hpp b/source/DataCollection/DataReceiver.hpp new file mode 100644 index 00000000..f1c1340f --- /dev/null +++ b/source/DataCollection/DataReceiver.hpp @@ -0,0 +1,21 @@ +#pragma once + +#include + +namespace DataCollection { + + template + class DataReceiver { + + public: + DataReceiver() = default; + virtual ~DataReceiver() = default; + + virtual void DebugPrint() = 0; + inline void store_data(T obj) { storage.push_back(obj); } + + protected: + std::vector storage; + + }; +} diff --git a/source/DataCollection/DateReceiver.hpp b/source/DataCollection/DateReceiver.hpp deleted file mode 100644 index 3c9806fb..00000000 --- a/source/DataCollection/DateReceiver.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#include - -namespace GroupTwo { - - class Entity; - - class DataReceiver { - - public: - DataReceiver() = default; - - inline void store_agent(cse491::GridPosition pos) { - std::cout << "Adding: (" << pos.GetX() << ", " << pos.GetY() << ")" << std::endl; - storage.push_back(pos); - } - - private: - std::vector storage; - - }; -} diff --git a/source/DataCollection/GridPositionReceiver.hpp b/source/DataCollection/GridPositionReceiver.hpp new file mode 100644 index 00000000..52bcb4c8 --- /dev/null +++ b/source/DataCollection/GridPositionReceiver.hpp @@ -0,0 +1,17 @@ +#pragma once + +#include + +#include "DataReceiver.hpp" +#include "../core/GridPosition.hpp" + +namespace DataCollection { + + class GridPositionReceiver : public DataReceiver { + public: + void DebugPrint() override { + auto pos = storage.back(); + std::cout << "Adding: (" << pos.GetX() << ", " << pos.GetY() << ")" << std::endl; + } + }; +} \ No newline at end of file diff --git a/source/core/WorldBase.hpp b/source/core/WorldBase.hpp index e14f363e..59de4b34 100644 --- a/source/core/WorldBase.hpp +++ b/source/core/WorldBase.hpp @@ -15,7 +15,7 @@ #include "Data.hpp" #include "Entity.hpp" #include "WorldGrid.hpp" -#include "../DataCollection/DateReceiver.hpp" +#include "../DataCollection/GridPositionReceiver.hpp" namespace cse491 { @@ -29,6 +29,8 @@ namespace cse491 { item_set_t item_set; ///< Vector of pointers to non-agent entities agent_set_t agent_set; ///< Vector of pointers to agent entities + std::shared_ptr grid_receiver; + bool run_over = false; ///< Should the run end? /// Helper function that is run whenever a new agent is created. @@ -102,6 +104,9 @@ namespace cse491 { return *agent_set.back(); } + void SetGridReceiver(DataCollection::GridPositionReceiver r) { + grid_receiver = std::make_shared(r); + } // -- Action Management -- @@ -124,14 +129,8 @@ namespace cse491 { } void CollectData() { - // calling the collectdata class + the function and store the data (agent_ptr) into it - - for (auto & agent_ptr : agent_set) { - //store data - GroupTwo::DataReceiver receiver; - receiver.store_agent(agent_ptr->GetPosition()); - } - + auto & agent = agent_set.at(2); + grid_receiver->store_data(agent->GetPosition()); } /// @brief UpdateWorld() is run after every agent has a turn. diff --git a/source/simple_main.cpp b/source/simple_main.cpp index c2aabbe4..89f64de4 100644 --- a/source/simple_main.cpp +++ b/source/simple_main.cpp @@ -8,13 +8,16 @@ #include "Agents/PacingAgent.hpp" #include "Interfaces/TrashInterface.hpp" #include "Worlds/MazeWorld.hpp" +#include "DataCollection/GridPositionReceiver.hpp" int main() { cse491::MazeWorld world; + DataCollection::GridPositionReceiver receiver; world.AddAgent("Pacer 1").SetPosition(3,1); world.AddAgent("Pacer 2").SetPosition(6,1); world.AddAgent("Interface").SetProperty("char", '@'); + world.SetGridReceiver(receiver); world.Run(); From a9c563f55de953da70702815be350a8a3235103a Mon Sep 17 00:00:00 2001 From: YonesMussa Date: Wed, 4 Oct 2023 13:22:57 -0400 Subject: [PATCH 12/42] task "Gettin the action and store it in a struct unordered_map" --- .metals/metals.lock.db | 6 + .metals/metals.log | 55 +++++ .metals/metals.mv.db | Bin 0 -> 49152 bytes .vscode/c_cpp_properties.json | 37 ++- .vscode/launch.json | 16 +- .vscode/settings.json | 227 ++++++++++++------ source/DataCollection/DataReceiver.hpp | 13 +- .../DataCollection/GridPositionReceiver.hpp | 5 +- source/core/AgentBase.hpp | 4 + source/core/WorldBase.hpp | 12 +- source/simple | Bin 377587 -> 485635 bytes 11 files changed, 277 insertions(+), 98 deletions(-) create mode 100644 .metals/metals.lock.db create mode 100644 .metals/metals.log create mode 100644 .metals/metals.mv.db diff --git a/.metals/metals.lock.db b/.metals/metals.lock.db new file mode 100644 index 00000000..7c157145 --- /dev/null +++ b/.metals/metals.lock.db @@ -0,0 +1,6 @@ +#FileLock +#Mon Oct 02 12:48:41 EDT 2023 +server=localhost\:51216 +hostName=localhost +method=file +id=18af14aba9268a9a10e79eccd75e7b7dcec8f3b9be2 diff --git a/.metals/metals.log b/.metals/metals.log new file mode 100644 index 00000000..b9c9d8d4 --- /dev/null +++ b/.metals/metals.log @@ -0,0 +1,55 @@ +2023.10.02 12:47:12 INFO Started: Metals version 1.0.1 in folders '/Users/yonesmussa/Desktop/CSE491/cse_491_fall_2023_group2' for client Visual Studio Code 1.78.2. +Oct 02, 2023 12:47:12 PM org.flywaydb.core.internal.license.VersionPrinter printVersionOnly +INFO: Flyway Community Edition 9.21.2 by Redgate +Oct 02, 2023 12:47:12 PM org.flywaydb.core.internal.license.VersionPrinter printVersion +INFO: See release notes here: https://rd.gt/416ObMi +Oct 02, 2023 12:47:12 PM org.flywaydb.core.internal.license.VersionPrinter printVersion +INFO: +Oct 02, 2023 12:47:12 PM org.flywaydb.core.FlywayExecutor execute +INFO: Database: jdbc:h2:file:/Users/yonesmussa/Desktop/CSE491/cse_491_fall_2023_group2/.metals/metals (H2 2.1) +Oct 02, 2023 12:47:12 PM org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory allAppliedMigrations +INFO: Schema history table "PUBLIC"."flyway_schema_history" does not exist yet +Oct 02, 2023 12:47:12 PM org.flywaydb.core.internal.command.DbValidate validate +INFO: Successfully validated 4 migrations (execution time 00:00.014s) +Oct 02, 2023 12:47:12 PM org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory create +INFO: Creating Schema History table "PUBLIC"."flyway_schema_history" ... +Oct 02, 2023 12:47:12 PM org.flywaydb.core.internal.command.DbMigrate migrateGroup +INFO: Current version of schema "PUBLIC": << Empty Schema >> +Oct 02, 2023 12:47:12 PM org.flywaydb.core.internal.command.DbMigrate doMigrateGroup +INFO: Migrating schema "PUBLIC" to version "1 - Create tables" +Oct 02, 2023 12:47:12 PM org.flywaydb.core.internal.command.DbMigrate doMigrateGroup +INFO: Migrating schema "PUBLIC" to version "2 - Server discovery" +Oct 02, 2023 12:47:12 PM org.flywaydb.core.internal.command.DbMigrate doMigrateGroup +INFO: Migrating schema "PUBLIC" to version "3 - Jar symbols" +Oct 02, 2023 12:47:12 PM org.flywaydb.core.internal.command.DbMigrate doMigrateGroup +INFO: Migrating schema "PUBLIC" to version "4 - Fingerprints" +Oct 02, 2023 12:47:12 PM org.flywaydb.core.internal.command.DbMigrate logSummary +INFO: Successfully applied 4 migrations to schema "PUBLIC", now at version v4 (execution time 00:00.013s) +2023.10.02 12:47:12 INFO time: initialize in 0.48s +2023.10.02 12:47:13 WARN Build server is not auto-connectable. +2023.10.02 12:47:13 WARN no build tool detected in workspace '/Users/yonesmussa/Desktop/CSE491/cse_491_fall_2023_group2'. The most common cause for this problem is that the editor was opened in the wrong working directory, for example if you use sbt then the workspace directory should contain build.sbt. +Oct 02, 2023 12:47:53 PM org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint notify +INFO: Unsupported notification method: $/setTrace +2023.10.02 12:47:56 INFO Shutting down server +2023.10.02 12:47:56 INFO shutting down Metals +2023.10.02 12:47:56 INFO Exiting server +2023.10.02 12:48:40 INFO Started: Metals version 1.0.1 in folders '/Users/yonesmussa/Desktop/CSE491/cse_491_fall_2023_group2' for client Visual Studio Code 1.78.2. +Oct 02, 2023 12:48:40 PM org.flywaydb.core.internal.license.VersionPrinter printVersionOnly +INFO: Flyway Community Edition 9.21.2 by Redgate +Oct 02, 2023 12:48:40 PM org.flywaydb.core.internal.license.VersionPrinter printVersion +INFO: See release notes here: https://rd.gt/416ObMi +Oct 02, 2023 12:48:40 PM org.flywaydb.core.internal.license.VersionPrinter printVersion +INFO: +Oct 02, 2023 12:48:41 PM org.flywaydb.core.FlywayExecutor execute +INFO: Database: jdbc:h2:file:/Users/yonesmussa/Desktop/CSE491/cse_491_fall_2023_group2/.metals/metals (H2 2.1) +Oct 02, 2023 12:48:41 PM org.flywaydb.core.internal.command.DbValidate validate +INFO: Successfully validated 4 migrations (execution time 00:00.017s) +Oct 02, 2023 12:48:41 PM org.flywaydb.core.internal.command.DbMigrate migrateGroup +INFO: Current version of schema "PUBLIC": 4 +Oct 02, 2023 12:48:41 PM org.flywaydb.core.internal.command.DbMigrate logSummary +INFO: Schema "PUBLIC" is up to date. No migration necessary. +2023.10.02 12:48:41 INFO time: initialize in 0.46s +2023.10.02 12:48:42 WARN Build server is not auto-connectable. +2023.10.02 12:48:42 WARN no build tool detected in workspace '/Users/yonesmussa/Desktop/CSE491/cse_491_fall_2023_group2'. The most common cause for this problem is that the editor was opened in the wrong working directory, for example if you use sbt then the workspace directory should contain build.sbt. +Oct 02, 2023 1:35:30 PM org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint notify +INFO: Unsupported notification method: $/setTrace diff --git a/.metals/metals.mv.db b/.metals/metals.mv.db new file mode 100644 index 0000000000000000000000000000000000000000..7b6b6e8c1157323ed7b1ede2204f22b7ac383e48 GIT binary patch literal 49152 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 literal 0 HcmV?d00001 diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json index cbd04cda..1c2dd81a 100644 --- a/.vscode/c_cpp_properties.json +++ b/.vscode/c_cpp_properties.json @@ -1,21 +1,20 @@ { - "configurations": [ - { - "name": "Win32", - "includePath": [ - "${workspaceFolder}/**", - "${workspaceFolder}/source" - ], - "defines": [ - "_DEBUG", - "UNICODE", - "_UNICODE" - ], - "compilerPath": "C:\\msys64\\ucrt64\\bin\\gcc.exe", - "cStandard": "c17", - "cppStandard": "gnu++17", - "intelliSenseMode": "windows-gcc-x64" - } - ], - "version": 4 + "configurations": [ + { + "name": "macos-clang-arm64", + "includePath": [ + "${workspaceFolder}/**" + ], + "defines": [ + "_DEBUG", + "UNICODE", + "_UNICODE" + ], + "compilerPath": "/usr/bin/clang", + "cStandard": "${default}", + "cppStandard": "${default}", + "intelliSenseMode": "macos-clang-arm64" + } + ], + "version": 4 } \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json index 5c7247b4..55feadd2 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -1,7 +1,13 @@ { - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [] + "version": "0.2.0", + "configurations": [ + { + "name": "C/C++ Runner: Debug Session", + "type": "lldb", + "request": "launch", + "args": [], + "cwd": "/Users/yonesmussa/Desktop/CSE491/cse_491_fall_2023_group2", + "program": "/Users/yonesmussa/Desktop/CSE491/cse_491_fall_2023_group2/build/Debug/outDebug" + } + ] } \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index 2d0f6960..510f411c 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,71 +1,160 @@ { - "files.associations": { - "array": "cpp", - "atomic": "cpp", - "bit": "cpp", - "*.tcc": "cpp", - "cctype": "cpp", - "clocale": "cpp", - "cmath": "cpp", - "compare": "cpp", - "concepts": "cpp", - "cstddef": "cpp", - "cstdint": "cpp", - "cstdio": "cpp", - "cstdlib": "cpp", - "cwchar": "cpp", - "cwctype": "cpp", - "deque": "cpp", - "string": "cpp", - "unordered_map": "cpp", - "vector": "cpp", - "exception": "cpp", - "algorithm": "cpp", - "functional": "cpp", - "iterator": "cpp", - "memory": "cpp", - "memory_resource": "cpp", - "numeric": "cpp", - "optional": "cpp", - "random": "cpp", - "string_view": "cpp", - "system_error": "cpp", - "tuple": "cpp", - "type_traits": "cpp", - "utility": "cpp", - "fstream": "cpp", - "initializer_list": "cpp", - "iosfwd": "cpp", - "iostream": "cpp", - "istream": "cpp", - "limits": "cpp", - "new": "cpp", - "numbers": "cpp", - "ostream": "cpp", - "stdexcept": "cpp", - "streambuf": "cpp", - "typeinfo": "cpp" - }, - "editor.tokenColorCustomizations": { - "textMateRules": [ - { - "scope": "googletest.failed", - "settings": { - "foreground": "#f00" - } - }, - { - "scope": "googletest.passed", - "settings": { - "foreground": "#0f0" - } - }, - { - "scope": "googletest.run", - "settings": { - "foreground": "#0f0" - } - } - ] - } + "files.associations": { + "array": "cpp", + "atomic": "cpp", + "bit": "cpp", + "*.tcc": "cpp", + "cctype": "cpp", + "clocale": "cpp", + "cmath": "cpp", + "compare": "cpp", + "concepts": "cpp", + "cstddef": "cpp", + "cstdint": "cpp", + "cstdio": "cpp", + "cstdlib": "cpp", + "cwchar": "cpp", + "cwctype": "cpp", + "deque": "cpp", + "string": "cpp", + "unordered_map": "cpp", + "vector": "cpp", + "exception": "cpp", + "algorithm": "cpp", + "functional": "cpp", + "iterator": "cpp", + "memory": "cpp", + "memory_resource": "cpp", + "numeric": "cpp", + "optional": "cpp", + "random": "cpp", + "string_view": "cpp", + "system_error": "cpp", + "tuple": "cpp", + "type_traits": "cpp", + "utility": "cpp", + "fstream": "cpp", + "initializer_list": "cpp", + "iosfwd": "cpp", + "iostream": "cpp", + "istream": "cpp", + "limits": "cpp", + "new": "cpp", + "numbers": "cpp", + "ostream": "cpp", + "stdexcept": "cpp", + "streambuf": "cpp", + "typeinfo": "cpp", + "__bit_reference": "cpp", + "__bits": "cpp", + "__config": "cpp", + "__debug": "cpp", + "__errc": "cpp", + "__hash_table": "cpp", + "__locale": "cpp", + "__mutex_base": "cpp", + "__node_handle": "cpp", + "__split_buffer": "cpp", + "__threading_support": "cpp", + "__tuple": "cpp", + "__verbose_abort": "cpp", + "bitset": "cpp", + "complex": "cpp", + "cstdarg": "cpp", + "cstring": "cpp", + "ctime": "cpp", + "iomanip": "cpp", + "ios": "cpp", + "locale": "cpp", + "mutex": "cpp", + "ratio": "cpp", + "sstream": "cpp", + "stack": "cpp", + "variant": "cpp", + "__nullptr": "cpp", + "__string": "cpp", + "chrono": "cpp" + }, + "editor.tokenColorCustomizations": { + "textMateRules": [ + { + "scope": "googletest.failed", + "settings": { + "foreground": "#f00" + } + }, + { + "scope": "googletest.passed", + "settings": { + "foreground": "#0f0" + } + }, + { + "scope": "googletest.run", + "settings": { + "foreground": "#0f0" + } + } + ] + }, + "C_Cpp_Runner.msvcBatchPath": "", + "C_Cpp_Runner.cCompilerPath": "clang", + "C_Cpp_Runner.cppCompilerPath": "clang++", + "C_Cpp_Runner.debuggerPath": "lldb", + "C_Cpp_Runner.cStandard": "", + "C_Cpp_Runner.cppStandard": "", + "C_Cpp_Runner.useMsvc": false, + "C_Cpp_Runner.warnings": [ + "-Wall", + "-Wextra", + "-Wpedantic", + "-Wshadow", + "-Wformat=2", + "-Wcast-align", + "-Wconversion", + "-Wsign-conversion", + "-Wnull-dereference" + ], + "C_Cpp_Runner.msvcWarnings": [ + "/W4", + "/permissive-", + "/w14242", + "/w14287", + "/w14296", + "/w14311", + "/w14826", + "/w44062", + "/w44242", + "/w14905", + "/w14906", + "/w14263", + "/w44265", + "/w14928" + ], + "C_Cpp_Runner.enableWarnings": true, + "C_Cpp_Runner.warningsAsError": false, + "C_Cpp_Runner.compilerArgs": [], + "C_Cpp_Runner.linkerArgs": [], + "C_Cpp_Runner.includePaths": [], + "C_Cpp_Runner.includeSearch": [ + "*", + "**/*" + ], + "C_Cpp_Runner.excludeSearch": [ + "**/build", + "**/build/**", + "**/.*", + "**/.*/**", + "**/.vscode", + "**/.vscode/**" + ], + "C_Cpp_Runner.useAddressSanitizer": false, + "C_Cpp_Runner.useUndefinedSanitizer": false, + "C_Cpp_Runner.useLeakSanitizer": false, + "C_Cpp_Runner.showCompilationTime": false, + "C_Cpp_Runner.useLinkTimeOptimization": false, + "files.watcherExclude": { + "**/target": true + }, + "cmake.sourceDirectory": "/Users/yonesmussa/Desktop/CSE491/cse_491_fall_2023_group2/tests" } \ No newline at end of file diff --git a/source/DataCollection/DataReceiver.hpp b/source/DataCollection/DataReceiver.hpp index f1c1340f..56d798cb 100644 --- a/source/DataCollection/DataReceiver.hpp +++ b/source/DataCollection/DataReceiver.hpp @@ -4,16 +4,25 @@ namespace DataCollection { + struct DataStorage + { + /* data */ + std::vector> actions; + + }; + template class DataReceiver { public: DataReceiver() = default; virtual ~DataReceiver() = default; - virtual void DebugPrint() = 0; inline void store_data(T obj) { storage.push_back(obj); } - + inline void store_actions(std::unordered_map actions){ + DataStorage DataStorage; + DataStorage.actions.push_back(actions); + } protected: std::vector storage; diff --git a/source/DataCollection/GridPositionReceiver.hpp b/source/DataCollection/GridPositionReceiver.hpp index 52bcb4c8..5522481f 100644 --- a/source/DataCollection/GridPositionReceiver.hpp +++ b/source/DataCollection/GridPositionReceiver.hpp @@ -10,8 +10,9 @@ namespace DataCollection { class GridPositionReceiver : public DataReceiver { public: void DebugPrint() override { - auto pos = storage.back(); - std::cout << "Adding: (" << pos.GetX() << ", " << pos.GetY() << ")" << std::endl; + DataStorage data; + // auto pos = storage.back(); + // std::cout << "Adding: (" << pos.GetX() << ", " << pos.GetY() << ")" << std::endl; } }; } \ No newline at end of file diff --git a/source/core/AgentBase.hpp b/source/core/AgentBase.hpp index 6e6c396d..d5782eda 100644 --- a/source/core/AgentBase.hpp +++ b/source/core/AgentBase.hpp @@ -53,6 +53,10 @@ namespace cse491 { return it->second; } + [[nodiscard]] std::unordered_map GetActionMap() { + return action_map; + } + /// Provide a new action that this agent can take. virtual AgentBase & AddAction(const std::string & action_name, size_t action_id) { assert(!HasAction(action_name)); // Cannot add existing action name. diff --git a/source/core/WorldBase.hpp b/source/core/WorldBase.hpp index 59de4b34..f5f3a59e 100644 --- a/source/core/WorldBase.hpp +++ b/source/core/WorldBase.hpp @@ -19,6 +19,8 @@ namespace cse491 { +class DataReceiver; + class WorldBase { protected: /// This is the main grid for this world; @@ -31,6 +33,8 @@ namespace cse491 { std::shared_ptr grid_receiver; + + bool run_over = false; ///< Should the run end? /// Helper function that is run whenever a new agent is created. @@ -126,11 +130,17 @@ namespace cse491 { int result = DoAction(*agent_ptr, action_id); agent_ptr->SetActionResult(result); } + } + + void CollectData() { + auto & agent = agent_set.at(2); grid_receiver->store_data(agent->GetPosition()); + grid_receiver->store_actions(agent->GetActionMap()); + // grid_receiver->DebugPrint(); } /// @brief UpdateWorld() is run after every agent has a turn. @@ -138,7 +148,7 @@ namespace cse491 { virtual void UpdateWorld() { } /// @brief Run all agents repeatedly until an end condition is met. - virtual void Run() { + virtual void Run() { run_over = false; while (!run_over) { RunAgents(); diff --git a/source/simple b/source/simple index 418e39437fdaef97ce1346c535d15b4d1bf7a76c..c7566b1abbad1d3cb9b7bc379f4618a4f63daf7a 100755 GIT binary patch delta 102010 zcma%k30RfY_V-@JO&3bz`>pq!qbG0Q^Za`rTYKJXuf5jVYpuQC!_O}T zErlxX%9xP-qI)?SJx;M$g9?r=AYZh zUjC}RvEaN(jdTlEMHKFTGss@sy`H@n=cQ45m%OQQ(8(q`OiSJ|P4*vfy7{bCYOjMtYw~ z?AmA&o+!(~KmM-~u;YJwkp2v?JJZ6gXs1bBQcq|dd_w;CBB${uZ6@j=gNxn_3(Zgk zT8d0=st#!jqRX0MJoIUXzC16_!~ZqLKhBpw<1Sj)-%p>?S7G_JnRP1ePYvAiV4h{m z15+Jq(N$ToK!{bgjneuG!%S%<5`_`v;nphTK~X<$Q;G6dUqHR5sNpi3XL^nB85v4G zQ$i=A+$ckv=jQQPWFO;hxbr> zm7*-$*#YT(sACEYbF^VfJ>@8y4v5|E`(WOnE%&Dm+yd%a%S-Bn@rMmsyn$?A#p|Fi+((Jlx_IuQ2m z>MZP*UUTPpbu=JIb|dv?(>R&aT74VPivCpf0)vB0!?9@7u<9_t@1A!MCsS0!4Oba~ z(b9Lgnh+S*AM#c%_GZ)=3^Oy@>NX!Ft#99#%CPhrTmAH!I$Y+$G)CL1XzTC5+LaGb zULJ8cqh_(X9vGYxgL!><-NE3HVzL%v?jpyUon?V&v#}LM0VfopJ_vc<`3Lj5ZK*X$ zVjXwzsl(qUT0kjPpJ}Dg{rld5W1+|w{&RrQUkH760=m9#MYwGqM~GRXmtrj zs|ph}bEcvL)}a7LVH8fkF;z8b6fIw#`nMEV&Z}}#0HZPmR&d$hP+-yjhXS4k1qv~z zL4m+W6o_|Hz)`k-m{=9>LV?AM@83|soheX0&`)&_3XusfsAq%1RO7v#DZFMIShZwv zSar$b5!F?Y%PMeA6|kM3DOOcMJ}X(!Nm`d8&qCkKBv$EnCsMcypXnusbXAG*adKM^ zuuv0KxXA1s)>*b=&a46+=FVzsP^kQBuKF~nz5H^hsuLXQZpKENU(HnU!Oa>Q%#a;n zZBSdQbEl$6sxZpNL|E&oX~BW{8|OYEXcdTg9ZQdW5*v<|%do7X#iHUh-kQY@bx|E* z{ryk-Xtqd4nO76*ug)^`uSDA`s2i;n^nIPjcWe%iU4#p?GQ9g>7-N;dx%cyGT}X6( zmZON#?~Jrlj*AvI1{XFyz%zAlw!!E>IyK?qVbw91p*B-iJeX&ODwkG+u*)-RJUR<& zk#k3bMU4lE8Uf5%+Hhd5GUNwXV%hmMEu96O$;ynI;><(nYz;+CCubfkU<(vAT^)Je zW~RNdTe*?emz`v|>L5))q;;XQ41!RMwpUPRg0>8FlIE&KST(GU2a#b)ncTuo^}jpF!@Gd-7;f%%JtFIPJlGm{T!Qz@^qxR4VT|h?}tW4A4E^*Mlp?` zDxkcDHPP7%h;5jo{tOMMgFV@0zOI78qVu~10W~ae9m7uIAfs2+DgEF{O|<1Sl<6*3 zrj+|A!YlC@ZzEaP0@JYQfHYK9t?%3p{C#i>NaVo$a(+PD3m6>~I0y_I)E=*E zeK4;xPP=0zeA3xs(rdcR0V86A9?YXH4>AQa;x6;@Ox0;>Kr+~-07p(0v;ph!rOq_i ztd zf>?Zb7nvZB$3qVA+}BVJv-L0KJmY1QJK4h7p69uMazcAPPyaQWk6bT5NCqqFSWs5w zBs5ZQH%X$->P(Y1a(tqy6B(6nvBFaH>GAxw17`AgT~OFpMG*Omv-wyKzF)jJ_sgOCqG`)`f*u;PvOr%-1zL8>#wgUW8= z0k_{{w71+ZerB-+9WEFh8aX-~;SP&Ix7O&;*52VgF6)4NC-J}*R+h#HF>M&3-NpoH zABp-Hd;521D;bq2_smwUqT;+~qQ!MSCj`!wK57DLvSzC{q6T+#Z^2q2w7Lj;?t?Uo znL)$RqM~xKum++mToY}aW#QZg!oorl*+R8~J=3Ix8s4-?NPW~))=xheh`F4tqfvIL zwl+`?&nG{%t7$mRQWZ_($x|(ij;A5U|F;?c|HJtIfBFBigSTNPmDXoK@#-UMyv%K& zZVwAm;V~(EuI(~gGu4Qg9`^LKO!Z#Oc&|#9=W$WiV}I1@>h8jD<qI7CmVpMW`L!J(VpXr*0U!aMSQvs(tfTGGJEel;#5{?)c0{Z0&=NY(RJr zHgX~KD|q%Yx-r4MW~9rI_1Ro_B1R9S$Z^qO7TyTw)t zu%Kgej8hwI*O{zo8_rbTE#K9?o6h3XD_mV@ndLnfomtJ0HT~fD8KrTpwvtDGl(C%o zsfB-bP&tFMN{1%jmC|#%>fJU@j-8=iXdCS_1dSL280zlJ;rpK!*$R&NQ_$wXaqm#j1RSWo24|EX*rSOzTK;?ld)}V^8gk zsi-P!A5wau;{_=<<*7ZL2e{h=4u}I$rS)NO=X{9HZ1@&~>M#@S(_*ES%x!}*Ypwuh zl&9C6K)dUPnFsR(itIYnV^w`|@BqpURKXLir(m|+ndx=dUo!7d>#{=So++hAvwo8@ za;mT%BxZ2xG2X$6OcFYfep7q21SM%NTiEP`E6ZsxL58$I|c~ zo80BL$)%s<+|Xq4#L_+eUnA|uiD*^!ZUjwKQ*K16Enmf`?E{xeF;OKx*Q9jNpd)VT z#dkd2!-S{_(}Zf#rIB9tGHD5He_c13w{C%jV}=+(?CwC- z{PbKa`6!>2UVcTwt}d7#CXTnSUN2fsA;!3!d0c_h2cG&WL;!YIxvvizNA@w9`&mbs zA)bOdeH9BM2J<%HehU_y z!lS9AkNs8iF|TNwe*(LQ_q3Fjj~Oau{c*f{O>kjRcmL91BO6K@r>2c=sO8T%G7VyWK{@DPs3FkjR5i~(#!u_Sh~$lp)fQq# zy(o{8R7qY`gVR6&{~E30rUyyj z-F12!`ShsL1=EMix(n{u58P9C)Q>Y0HLqKk1xiLwpGcZYnw2iUx}&Dg8Z7IKQfFq( zmOFnc?K=A?HGOgv^japIL7-e@3acK2GmHmi?b7%g8KX$V=sS3Epc=iy#(PQ2*xCQ-q;%Ri}(r$(v0 z^H#}DBUR7&ZDj9JYSH}YAjYi$Na8d(Y%!4RZsK6)QF`KNigVjPLag#Hy*GcNtOMD& z3oG=EGwsz|`Kit7Pa&BPlJEJ9Inz*i>)_seut0pAhlyzn71!*WE~UM zMbyj~s=i&ef=bl*!XuI3l!Hn<7=T&3WLq3U+w0$Qmi zTR)@Y>fXv=eODyCMXO8it@I@7Tlzr76S=DgYJ{Gys7>k7)ft)``;3xr{6vdNe|;lU zYMTaPg52-@N^{;0G091T)Rdw%+U@};%o}J?;l=&rih-(ki{Mgg@qRbCXMn+}exLu_ z&Z*-1yf2tbzd~LWWrWn({$s6f*7VDrX@%@=+dn0Px{{i-#iHH)9xckh^jjk-yR>S{ zIFdpARo`vx<^6tY#kQ@|)=#zH9z=1f|MqzKVLyF%S8AgUY|oK{`jyt*;q4Z16dcCP z;JQJdTvCa9n#jie>{xmJ;K1tMiw0JH$TL>*##MbvU5YC`v8ROOvrnrjdo!r1+P(LK zfa^f~@lo$x)V;H5#Of!>Q{T0kn(a@+c~2^B$kQ~dblU#5)NKA`doNbyOOa+6$SMZV z6~D%+;y`QpSszvBU>jJMX$RxIpX$Q~7&KyV`oZ)*YWBfI>GrgG_u$}+|MnHDI%9z) z;C8c{u$CYOP?S0BKx6cRYVTM3B{E89Pm8hH0M`av(!Rr`? zK`h>{3{Vv$`fH1aA6Ts_4~4n4$`PvymD>m1GFkxVTymU;z_}gr#WAAd!x>>I=g^AR zL89QCj>C}0;(U8<6OT5d!%|M=s1+ZC(z9yE2P5R$Im-L+bl+8sCiEd6eXK7hm0Ayv zAkTf5uqWt_GgY-%6`|*OlA9NFg5k}f*=E)JXgs~8o;lj9&cAK7daTfU_oTM^=WQqj z7J$17|FB%@IqIhmGvp7w?Rvgn*%&!CM;$5)lJ|1dS7mMFd%a7&KUzfcnWt38o4wSf zV;$td-caRnD(iSQ4JoxA|B!s!J@r>@?yE+A+)&=Stm5W|Hoke`f0Z;$2DZ4Y9n|iR zpRQ9M9BekJ1#@SXF8E}nls$SIT<1Ro<%ZTaJ<{5vOVdt$M)LfVs_tiPo`0{qkDgb(ze=>cgLOPE z3Omk2f>^DWf3=BbD(g2fDlbn{MPJX9FZDDmhfK6s69FToaFK`FaiO8y(?cD*5UmAr z&!kwtmEYvbWFvsKC+9xBaebr$hUwsCTlI1wRHrn+NK{g*KrJpdJSYh#d}>!k!ca1#CZoonT5_~?DHiAS-`U5i zj7+b2mCNeq+dHyxXf)1_w!X*}P!BvH`>R!GO!d-hdSP4GrZUR0ZN->`BV6K~ooTt8 zgEPEBPFFZwO{_8(-?fMu>GdKgTiu%D1@|ae^_wtB`~D0Mddi|MPH0YU zs_w)aGD@m5W21puM6p4MfEI}NK8z$`DEM0c@o-b#{R33qq+#fFX3`A*VsVcTs2_l& zaROt(i?R$Q){>`y!v*(ey>4p;Ckxt49~(yv`>Bfn-Hd1oC=%iakemzB6LF&GW8RK%ZZn&3E1)0@Xru(p?ng7-mh>LcSp)Rk)C zg&1{rtVU7FcVLtTMHXvNsGIs|Vr%N7==}~VZ&OSCmKQxI?_{XkogC-mk==oMK|S)b zc;WQo*<6heKb|JH)UIjwk4dC5vMl)ef7`u$8tu~m$kslC52N30K?zYFZUyHE4v2(l zH{fr&3`dtouHTW|hQ_h3c2s&ME(R%`XFFRaOFREn&wheD3-(g9vw5oD(_&P;D`BBQ zuzd}(q3SBgwFvU_+WRz0t*k&)Ncl`AV`ZIzmSb&b?ItGd?~$k(o`*RBl+Sjycy zvAS)yu6VS>EnYzNlNIW>YptZUsxiXxtS>9BK}W8_Q|P5T{G7s6#gswNa;- z>T!N6Z&~EcPAcfu?0|#l&%w;AtfLkWtu8hVtKQ#9y?ZNK?&_q@+*&8|JEhz z)Qa12a$YBO==LI++evl2(?<5~q-NiFR;F}Pm+wT&*iNd>-BGfBCpF>jDDQs*P2>6# zYP_e#(e(%Ml)|Fl7l?WjKe z>DvZfc{nVGuLnLd74*&MsP_HbQMT%+e*3wJ^us8>>!Po=6iaH;b_YU#O};iUcZ8u+cO4Ru!qo1ReMdR6wh zS(X2h6L1DrDIYFXI9LoX9pZNCvTAcbF=!4~LEei{G?UYgO-nqf7Tgbz7uu^e_kWiY zQenLYm+rs~nmpOwu;?s*e&(>~>O8XO>adisFLCix^=Iu$IrjuRH-|{imgFV(w9^Mm zdRKb_h%z&2?HS{6AF{06mLvPO(^s0Py{y*`u1*uVt5W|7*}Csn!Yc&Bdi6H@Fh(nzo;+aJ3CT8}&f;y|FsCvWx9-+EFiWj*=U1FI&nR?$p&tkf;1yiiS*eg?1;@knd|cc z<6Q@?SgTsV!oWNeg{Wr?$QON)=%jq28(XuAiP1Kx$iE%wL{a~yS;Pj|lf&of! zHwpu`Ez^nz^2LChRym78RKY;ArrH=vG)kT%=VE5JEJ*#m5+u+s$Jc^$X~DMK{2YlrKYmhHdB+^G}H?^L&QSc*oD*bFNbit1j)it z#$4?6+sE+HxWat$4MY6$m$Fe_oQbyx2-ktO%x?x;Fh60-+0BgxLTo)Sk{$$;XrysF zUc(DWMxC*2)EVbI;4Fs)u>o|nO%>J`vD3~r59Vdz{@NZC1AEllYG^0i5QFf3dVvr5 zB{G*eoB!(U3NDLC#yu*y=)pX><-uZMHBf(>!|}Mhav>vj&~Pmrq?=}t4!a=FKB3=k zfe?z%42@n;75!o;-?-N@{;#JuB(s)mY}Bf#gkx9(%UTVr7(Nt=;QrSF0Y=Q#itxu) ztDNQjDWKhM$GW*K)2=@9?6ony%6L4aUk9d6>xylj7xX@ps9^xsQfOXn-v;iACNPuq z+mj##Tl!J39QA~LGzKx;+zbsyt6Lz{1Dgq;nsFrY*6{YJvLP0gyS5%XTzcWN6r#O$ z2nZJRh?U7t;9@S+-I%GE9j!)n$2yP-;i@KJFE?0ty}XQAJ^^pU@>Nm4B=TS+1C4PV zCY47VxX5V&4TF+=oGxRJB3_Vb&_S&q8v1|17pA^u*xmK{qgzxj%HS_EuH4sLKeC!a)Psdys&SfozSHD$u8OA*b3-TaG4ER~U))1nqJaLQ*32SU z0+zwv#}&NFi#7HcH#4w7xg8!+8YZ>D=zPWV%KD%Zm+KfdvspBmg`v*;Vdof$YUu_8 z5|xd?%W7Aezur6_5zt*tEy^~+OcU*H%tS-w9-iduA)zbkoqD4-Q|~>2LQ~mBFqVP? zV{$8~DJVNLiU08QppRVvV)S_idg(QVfP6CX6G}bzC5nYJXTRlPIp77dj%G$?3bL;G z2g)5fLItNb%HIIJz0nj3orEYJD80c1owCvXdXE=3!7&5tnyWZfT0lKBmduY#9Bx~M zBWOIzAI$5Do1TZd=b`H1HX~7QC>)REl! ziABJO1?Uv$;Ccyi^B7CL{rcE>33Bon2hqa+b@+dSXt|DCkbvWm)3>^YP+xVhYl?<_ ze@68=8Rd?|Fs2?GOM31Eu<+epTAy(!GSm{5&AMU?@;oW?2A}XumWO$eZK!J=yf(@; zkIn3-T8<6W^TtrU`o8sE&-C?tUBgDDqZOZFUfZxHGxGwU8@Zh+K|a;WZZK^J+DvD0 zYrYXvejjKB@*7(`J(IvGAJppMBK$lYT#IZ3YhXrKY4%ksW(2LA;YTghM_-1hBgZ3gN)-?G z*S%jNZ)J;e%f}XaK!T0iA`b*2kmlEzS-g!{wi!~*Wwz0Hz>6}LC^q1j9PBP$16Sj{ zvs1F{RufjolEPBOJII%HY`hq1hsx6Ma5v2vaMS0Gr*^8{$DV_VLCg)%epk`+8uvhN zUUN|ZG8lqh!y+Fi3fE@_Go zR*rsjc7$KLg{*$y;5?Ac_4+mhQ>wx-QCcz|zPP>~Nlr5Y8v-)aJU~xFK9Og6HKG1t z9?SmKwI1?%?7mAq$bQSEo}c9Ytp3?E%2jl~L<8shoe&O6ldlmii7`0r(!jP&;?RP3 zk99bX86);{3}wbHVdp+fxIrr;?MB%A{tyH5P?X@3BXT;Ezgd|!#B@w>Lp z(Cl-;{mf@~#nTL9HTeGhoJ8t|AyO`X}Yjv-^a4SOpw zk?k!VH;VWWCeN&O0^h5{h2fTh7Jt3leI9upR~6vp%Yy+Fn0_8j`3SHu1mCg7-Gj8j z&zPNc;a(?eY-FnddxYbGtph*sy_!EQ#M=uA16}Y@PIKcrEx#Hs(^xj`wp3_!cb7cj zB9e~?r_it#NJl-}Usup)Bb2c1IG#A84ZD?wl8sESDR3f&?P0_gIT6DG_-RxX+8D@1 ziuyGz9Bbu)HVZv&5QX}z$AAW+h(!hQ{_grCTpzTWd?Wu4YJKJX@H)(W`OQ^gS`)9= zfiN$wIgnCA)4FSMN0BH=%ccRU@_38%>#Qk&=tN#PAa^AJv zTIT+!cAm`Sc)yo=(7l^y1I+F?dDIs@hk>PA;xS&A7gJTE0Y2*a7WGPRWS^q}htQ1e zxko$}QvE*4Mmx(OQYEI4>Rl)s&WnzLn8#qjh?QrwSW3*c|^?tx^<^cT>+M zhU1lnQ-wT@v@ru_XG#6lF^k=?fRq;NJqJ=N*|wQoTL`p&w3DILu`YSm7EhS}sx5e~ z$F;>XXyd9aBAhsY=#0a0Cl0RKqL{S?v_&@7WM~FR<2tjUExgxYK&Q5#W@^Foqw;Ha z*q+^R_4D$KSKy`w<}+#8SBqp8!@!Av+=u0^y_0`Xp5RiRbd}}HE}I>Yb}pPbiEnkT zfN1-gIp#)R*AvS)El|d%#g@gP{`jCH^uX76l448>mYWd^wT9=busn-(90%`NH~^+) zVLT&-JP^{XY;!Clig8wLfK_3ff0&g8)fgla*SwjcLIY+_o3sdJUdS6;Y6upu7T5w~ zXCH6WvrX!Fz-9QMhQr}lDch`ul?_aaM#GAR0aE-NzR`g2WuT5_=n4)H_Gh0&o+-$J zyVgMohs9+ro+>If%n%hLQO9$0xp^eE5x7*9+U2a4L#L(@&s0B$Mr;J|slrC_WJf2S z%us<5xOxs32VI>GgTw|wn8fx^W=bDYcv$s+V?e>Yu~9VAu&AH2d;ibzYhYTd`V5YO z6^%Pm1P1QdtL``zpB4arSuYQ!WW-)}D?jz*sTR0{>%#F!ze?zcE1)TR$ZR_>7wBdE z$s&*L(Qzvz1) zGK~0@J9C@Q5;Nl#qWi>B7M`m$HM~~$8;Ih=9CHZ;{JM3Br3dK9W-V_b|KmOB4gA%( zZBf!EhHo|eHl4+rBI$Tjg!&&)uNQS8OF|V==y3$M%SVJIB6JH{^1a6c+}*Pl;#Z73 z;(138|Hhu;$k*J-^HHa@j!yMsjLVT{_8XTYUqtieNU$2VsG%Rb7>Ciz)fZCfp?KiG z-RyIMhl4@%3E(=uq&c}goUW?t+rum`MBA&F$=KB1g(g;R622o#JBy4Ow+*5Vs-(*q;~GZW%@wvC>2>!xD&o(mxSg#uE0^c)jM84=#L}Iq+8j=tLp7kjtG$YpN*`y@7I7kH zRJa!>cz<8xHVI}*z{h#M17lRcoFK zQ~jT;pU<~{#iqvasY8rsDz;2f6N=`13Cdrn8cdsMHvnd12a6U5SARGoIHd$vn(#i1 zx7}tBd*rPM#y~O3HQaMO>KBCZ2Ukx=kc6F|lEpy?t_*he4GA*4+dJC}?G2cRk=KW$ zP_W0~>Y3<^Coy_Hvc7|>CnC$!*dPlfrosBQ6l(tLPuMSf=>nM_T>UiOsTuQkfDVKu zw*hPU1@-VXj4x8ag@%~8PFW6p`%rwa-eRm}0}Py!t5k763S*!1hTr8}3j1xR*>4mRVezAA=s8&W;_bNy&L3ae+571vt` zXiiJ@W@FgE{DI=gR#4bB@R3wa1SM@Ppi21OJd*Ft1FMr@>fjq6Z1N?dy0ve z44%Bq`1ArZ^|Gro_Eor#EfPvnuV_yV&Hn~rE6_~8*`9&|2Uj0Pn%_Vfx9&m=?w-;lb%@M3Gy)*TC`yGhvKR^o3~@OpR6L^@fN6?@l9sx5l`09H#2uXxx-X zVz%PhoTk}>c|Gt}&K}vY#iZ9<(2IR2koxPs3-Li06dv_*Bv%Cn@W=heCV@I;@G)B- zJxEXNM2WH&>BBowds>DwK2qhyS?Fax?e*r%Xoe~u?`7ObwpSJ7B3166;ndTx9C{$C z+nN^Qf-RCZ@oi-bxjE8)IavWyoSDbN<>kOPY@YKK`+KFv%Yj}y*hV;uS6B_zt{LjT`m$Xz zT_5C6+s;?-6A(YdbIn-^a$W>Kht)o~1Z3a>%b-1~>+A(}6Ore$cm5@HX7)N6_Fpw+ zPNJN7Nv)gH9@jgS8$ixEfzj^3(e)0Xe78db0*T7eu;joZ+jsLFK$~sb{`U?5adzWN zh~Lre@h>4Rqs;79x?pa7BDc~N&$lA^^SAIbN6AhR22letKmvoPc$MV*ETZQg{wzYi z@SEBE1Nfk52llV8C;%me7^ zr+iljY74i3!Pu#(>o7Alb#kD;y7Z;Hp?7$fm=65(gLMao&Dnx5TmugefZ;?XP1Y|{)sZy`wePp`#f}Wq4;ZV{r8dH zT=a<}jgCKI5~sFcbzw>?YUeb=DI)rqm_ z5rZjE^8!)y@TO$3gkF3!yi*x9LYbb_iSR|(yD=)Kq`UUoZzw6y=?QzRSlYaf?rfFNNBqW`fbcw2Ld*e-g^=S;mwVv z$`@$*GGB_Kr||KvpZ?@D8e+aw*Urf*y}!jB9A9ppm8qYdMosle4XCYFZhk3K-`s#E z%QbHN-LL%>#dr*k4`u!I+=ld&dtn5=Q-8Kt-`9}Z$fRKXc0+24LVTM3WU(IPN1?KD zu-@L!D8$$3?Thtixv*}q{xS+<3M23VdQ7pyxB`2{x_n+(^`U6T@zVbW>F4~YjrKM^ z)7N+TlV7xs6l=ATp9k~X9K-PB7tmHmdC^8uu_9RS>QAHOtYCesKLxd);;8$(e$Tno zao^F-abVo`4buPgr|7s1`0avp$K@AvdZG9w8do2pFd`(zdd$6`Zzj^C`^8xIhUmQm zC`e8Z)+Yqe?uG`1UN3^Kh=;CdftNJFdSW02JzEcx48S7nHX|(ehCv1;YK(?m>CdAX#v*$2XfR@o(Kw3k7>)aUjZwlM!|{t^{qsijrdI4MDhQ(P+Ja4R09S^qp(|I(oK5?C zM-if<^){9Msp3c;+o=9j!&eT~SA= zV+`ww5@pK^=U4My*aYKA+Vb0sNjSb#y|v0uEnhiWMsCnSm__s*n|XS96h-MtO(|B| zitTh-jf2!qr`3mb(CM7k`wqq^i$R#YY}iP3Ye=AMd)Oe{dkkC%_mV-l`e5ag9Q6RH zzJ7omiH_B(;BBsq4qvl~>gkn9)IomguZOmTZTgYF-n%6Q#5ApVbYySB9hC(w0@65sSUfr@rM z3@`B47qq1SdFY&eJDWNNC1PTZE3|PgK9d(8T>bKG{dQZ5w)i=hZj?7d+~Aq&MIem2 zyEaW9p8}p~CE0 z*POSvnCdomya>K$k!c8mBZI3K9oC1#Q*ICsl-ccOba_dcS6}*9lzq>l0e?Hh@+ne}d)t@LLJ#jiA+5eg>J(ZSr@pb%qNW^WY;m1N zIpfp$u%jM$?7po}=|FLoqiDkxgsYEzoJZZ&f&3c$i)$Zx)s3p#-)65mRGz-8_wGXh zeif*H=tDn86&JZ@cq)a+Ne%UmsTAb#@>$>j?{mApI~5XTsnBnyQWNbm8Y-_MOTrZ- zT)kJO1LsQ+kYSk^i#+#l09vV>q7a`C{2WFJ8vV|r%rCN7`XIsg+r}zT5$h&uvbl15 zQL@iyB%E$*E*IV{^3%NV`LQbhGfB^SnwIJph-O;CVFx*lrjw{arRw2Q^% zn|867|AAdB_8H}dSRA~GAzdO=FYv-26N^q8QT8`t@%r^g5vn^75m&KTe8?^q2|(FZ zEdF!TE*A68*6O!z+Qs4?GyP*?@f*r)z|Afe{He_2VsRNQ>|$X<>Ql6E6^ja#u~>YL zau$n>LyyE_&rQ2ne26xWi^T~Z)ewu5TxDXOS-n#G8^o5r47V?g-!}ad{@Z9_A&iw=W;VhOPyvc_yf4{y` zof#jX+Xhf-<9cwY*mmHMemc?yr6C%8c{o*XH;^*r&-IP_$_BSe9Aty^uu15@Mc;`Z zi;(rU=w}8}6JKv5{W)vs zAnEmnLc8>=Z$wr;V$X&nD|gl#k(Ca}v$MEpvyQ9rGxCMadeCrsHu{bFe+{L)v;Gl& z&QQw2^&Cn`F8JsFhD%_38t+-oqTA!4lv0$bvWx^iQTI( zFd69NjQK|v=|@M>Z?r~#e-yq%Q~Iq@6w_!WQ2e{F$IE*2(G*|jzL!`vcr8agw)Xu6 zClnLkh;zWLzKc9Fsq>xYdDlE_vntm-%<$8$dBi?!@92ZaP@=}=#`CWIMPsNFnH(Vt zJ>*&HWMnuhQReN8N^H`G>5i?jlsJZDb!mn@%J$Mm9u6*cEC{0Se2#86xC(>V^`@wf zZn)B)ZFjz!+e`=d<5lfIYS8Afrq8Tl_gOERNHb*vZa;W`-XzjUn*hCJ_{(Qjv%h>h zb|MO#%6&DQST=PZ_lRFzjZW+l$734yi1qNbl&q&trIXZIcgv%0-pxR8?#lkjVGnkR zX_!7Ok7DR)27df4b+_={n84KoE_F=E#%72iZ-b*`HxDD=so(UaWLe>^Z=FUFaB^QX zeBMDwJ#Y7ZWrN##-|6(MwgRIVo<;d|>R>82@7BF%P%B?g4+lz6&Bgx~6{GY%Gw`KQ z=O^?JXHX;m2zCnL6%YLfgrGH!E%<4P`mGrhnD#w-!k4hSe2W|5Rva$hVygHC<+wz~ zZ$QG$gW+ck0mrPHa|oQUjr7hlDR982Xo?5oe;oqdPN2L8)5(NjJDABB0-j9KMLNx*zfDgAI+f_)JeZLhuXGk%BXj9I9=V~bm3Gk-Hy0gS$eywd~uME zCXONmU<9@r!*=L{=hBLfKf2?dVlj56Esq+2hl>ICzeJfK`)FTmkJ(V zv0Y#H0uGe|<}xrbPsy9`ie7nSac4?plvRjW&sv2x`n9}nhr!R?d% zGYhtv+SC!NR#_iDd-pS&ag#1^2WS7LVb=n(bQy-Ht%hZ^*#479tbzoh0cXI!hEd0R zGTQF;jzZf4hyVN`;^h4EVm9;}r`OA;*R^|?j_>jh#)asY^2xJV2NWPG*Or%wX^o$( zK-&1pieq&P`kIjDpRCBzeG4dz685(&fPvFdxjoh`J=QKld9l_F2<92x-ioz4x0KQ6 zA3Bm+TI$U8}0KWepc+14JQ@Lv* z{K0depncuoJAOql7uMKfxbin<ysoK&Xkte zK>koxfBR)>twmv}x=%P+@a9I_fA?j&NwThHkMWSkF`hU4!cI8I!6y>JHPOi1!!n2hE#iv-HYU6ztQ~ zz!@e@obzIVQUDDnz=>{(8 z0GD)-OFGmg-NYpw?UIh;Zw{OjC%RO$a!I#wNw;@NcXUZ-xTL$fq(tTah z1N3$4X?*@&pBG#T7r3MsxujoqNx$ZjUg45n>5^XKl77P_z0M`Qfz$a8jNf&s*y@tr z>5~4$CH<*O`ix8ZoJ;yEm-M$T>B}zZ{3|Y*A6?QnT++8)(m%PRe{)Iy?vnn~B`q@_ zZA%@ObX|Ko-`Fp2mx=~1=>V5>kV`t$CEdg&9qp2ib4e$dY|ryQDvHNq_2+KI4);=aT-)CH<{S z`m#&1u-?5{|j-NetdKc0A@rEs1aYttZ{A$`qHPXLFmo8}f^vu>HMzm~|G-AYzaU-XX z9Wx?t=JXL`C+AHXIeKi5{~74-XVk6Dq`&MU@Z#1jKySH$hGdD_TFMaNLWKKVlOj3l z7b(VYYHrjrlPDoh9;T>GCUK4Y_L{^p9E4K5CA}_~#9nFUT3N0i-$0Z7=KEa4F9DO! zO%j{P?>>nG^w$2YjWp5C(`yMGpcC9STOYm|pRteKjOV`L@8DOFI&Y=ax^LDaE!Lb) zB=pTC^xBiK)l;;&A{Ae%0zL2U=A|Sinb(q-*$-!;sD0F)v;Ui~B`<-`A+yYrM0UD< z`yC2s95hrbAj(Y@;w_3gN#ZqRG{p0Nvm0wHs1O|-F#t1XfnsKY8x`T2sVF>{v zK(U%=x=YM-g>7kbX?!}E;ZNlw^HK%&$ogGdcAFwxxacl zJwx?-jeWj-xJU>eFmlqYvF*e4oSk$tUnB_$sb}Id1a?A{;ZOeXpE=qDQy=>zYVgO6 z_&?5bIsciWwJ}HsOEDjRZ>KxpOgu^(3Yd%U3DyGc#e=oIT%IJvX~03Pgs=f3PA>dH zq=@PyL{x~(7df4U7=(f>L__ibHH0n-0LNv+C;-gE)A~(-)qr~eZBGetlFOeK;sW4l zT##1*o){@aHDLH?A!4UZ62GhvViI7o!i^%JwgxK(ya+3CFW~*P_-j*u zC;utLdBE*&3h@hI(mO(Ug<&OtA%MTUD?|cdNQn@sfN$YFSTgt!Q(oyML64#G3dkZ`Qz93}!B_XQ?m zcmaRH32^TvA#wpru7HAo=YIeN0k{7f6a*C4K|#O*z>|PJH$=X;fQ0P^NC6`aBJ_1bDh1iEDs^`jhwtaBV&k zS|l(XhzS8N0!9HQJVPQG@GxK&=SO3ufJ?_A6mZET z5{Chkr(mUksnbZ{eTGQI-)g!Gcz-^0Oq3M)Ll(sB|xfLU;c za{;5)U?RXO9TNd2{}U4d-hC4!1w8pSiIZHvj>H8(+j>wIFm)p+%kW(i;Y~5#RxAYY zFyOeRkbm=btONx~J1_xY%5F>mSO{1Gm{*Dk01xlQ1c2Ax#{__Tp~I^H=YNEi;7_FO zI)Q}%&OC*M0QUO~TLswtb4&;aTUN3B4J=A$aM7;&Y))($(UttdMg>LW_q~YQMzw%6X8)6LnQI$yui7X2c zv^_vbEfC`c3UhX#p!}i8yoJO8Kp%^sC<{<%B*=naSjh&Q1bDZRkQakd9wI0tM986` zP|cx&N&vmW1SKKNI}~sxhkL_?DLovo6T$`A07D{B9|3&;xC?Ms6G11MK->X+B1OI& z6N$=5K_??co$^Q_`$d6DO@%4DDYRizU<`OZT2OL~kg2gkz7-2?2)L{nlvbROx$#gY z34$&rU{%cp^=ppvqq#7hKw3-0Sc!u0sknR#X>*b=rQ$%!NfLDi0nSg#7gUJMTAYIS zQE;*)25JeVlPoAD8634{`LG6J+o63sp$%#W z1=dcuhj##lQbFo8XwEbtV>{wh?I=vY048-3rZG7E_5xnWN5U^%n7XG6ZDzWlx6;wL zGf3W9$h-_poFV9RhLB#Fm^=$4&Jt2|L46lt^6Lt+cSTuO@CwrAZrHYNIMo1W0-gr6 zbrUkByAU(G3t9qr0?-DS(nC;o54c^Mdf;3}<}P4TPZajV;RARc5T7KNe6ocs$;RYQ z3gV+Uxwp{z^#tpT_p| z6Iw1TjivoS!G1#K^oRbB9VjSgppbKb~h$Z8(O@L+Nh5Tg# z_I@JxU?TWnBFxfBV8BVJ12n^~5K}<@DHvl4#+V{Z{icFx^Mt89Pe}7LA+-GI=rCQF z3II!{3z<9vOgIA*&&0}SVy|bzD48wX20f37UqG7|fap9RIuASm7z-n0$%|MmjF9^a zKuIj908G6J@P0lfFMuv706!E6c^B!jg+kt6h%py|@fYFzuUZ6#TZ}zl3=#r{FAqWg+?jj(b_SrM!*_UKe%70j4e!rt`~$FfSJrz8u@K z91`#kAoLGGRe;N^;2A4yhn1k%O7vSP@@Xy-Z=qlp;CaBRmBJLFP^kpIM-akiwV)EY3^8Zazix(=q(G2mK3S!=;)fCYe?01p6O1iTBl>TOWuZRGJa(cN|6 zhxJ&*dbC>)QXN3z=6WF$ii9XH!X6hx?u#MMfI|WE04*DY+_eGJ*a*xw3R$ob$ZW)3 zZW3hM1gg9v$np+E_8pWVeHidQm%R(4_FX|s-W9SO|IAykm@PtX--0=|3L2BY6)W5( zOf$C$v346|9dQ13?9Fx|#126TJ3wl{`GA{tfIoIZ7rX~V-ouIkF96;IwCob5F}on& zy98AOCYK7isuWb*D`@UslmlJ>JiQO?_W`N>f|l;b{udm8j2;BHAH>QJ2~#RQVbMMi zmv}Gqr$ZJC?+Tqra@&w6qN~i0r31sSlKaQ$~lG!k73`B zW3uByW}gtU@B~N?IP+sr;$u+gV=(3?ki1Wz|EoShgMSGsf)RT9q@Z6;f(cIvQ`RXk z(r3by@EN%MGprP87^2#^(`b7dd;YmF4gDNa@Hs^747A=EL2CiepAn{N!1S|%2Au^p z0Sf`M%AqAIu%HTT%QonfygDH6<&h5d0>fR#7JQEt;NMIec*O=?09aHB zZB~hXS0F)GppXE~S8?WF1LD`f*w?_=KVTt0fY|_-{(vz6?;@}Li2cv`5fw;e{ad*4 zZ(zsX!hYWZ8E*+0bqD45K*oDQ9=-?C-4pKS->{lL1eO0Gw4D2(#C`D013{A>2vZ4Q z$e&nDEts(ub+uqNz+^#$b4Nfa5_FL$l0+vZiENGXDOZD;rI9JbjpP{E?^SL@Np)bW zxudZ=Y(T)nfT>)$k^H9*{qvSymq=7~l!OD!}`I zn|w&7`ofHFKyrQqGF@nZu^Z+SU2I6u2t?{?0R$U@gG{4g<1bm>eG` z=SC3a3!>B(Fuz-nj7q|G;9q)6>{m;o1AsSMlFVs^iSTifS8E{9n&eXaZM)njFv$~S zIt*CU4l8d5iU5lCpk#Zjwmnf5(zzYTeQ7HCrIDP}kwm{vlrIb6O2wv=X=pko20RTI z(wR)@ok4EEU7bn0*qP+G43IMedzT3+WRbjyei(v9T(ZtwxR z6Q#o)6Ftzj2io)i&-5fZ-4n1Ec&8UA)C>D>&L)|iP2w~nD&{A#!Y4tVCyDL?p6E?< zp*LKxr-+6=1qTJN2=D~p1;CITqU0P*)*qAg#|j4!%^iU9fnZ{|awi9pTh36TF+;J) zVOYd)^c{h|Bd{1ipZr{`dL)_3N0PLR0=Y&JT?0Hk8W@fShJfZV*qSkz0I+Hd$%3(D zx;Pdq8Vhd5Ul3UfA24=2wr)HSnMjl~5eopk3FtEk3_BT8F`1}vGN_C6swqU9rohdc ziv3?YmBigV?DI6lwWbj*1>8HGq~8n@7yln|_X8JI)$Nae&zV6{(MCljMME8H%&`U> z6?IfpP*hY@GEx#qP)HO+R8(|OQBg_JsDp`xMMg!2MT$y=N<~G6MMj2+N=b%>MMVku zUHhz$mfW6upL>6=dw)L9;`H8Y?S1~voS9)bXDRK&1fAlYKySGcXqPObgqNk6I^t>CL{m3<(^~nLHl$E9Y{N9bENBZ!E`sq{B)gCPt%f}w4Zj;k-dv%xQk}=B+ckaGEH-6TK6<< z9eOvMtm>THvgplb7VV0?w2PjlUGpp*ywB;JTytpL9G#N>A}z>%dPMEl373~>oR?_V z($v*K7uycbrM1hY$MVax|6bPVd}$irRO`Qv=_=rv^KSDD)N}HJeD#CJ%9xcao zdP|W`q`a-u=e|v2yiL2{9U9|ZdeV7Ur%Qg9o+FBBHx$!xaaDlfxI+{PDPM_1m>2n%{ro}W3s?h0T zD(HRw7xZlS1uX1aK#)7#I}Al0{j zMC}er6i(&>A54vymdXOk%iG1vX|g|0t1+e5II=yNUgKy}dX1w^>oEg*t)rP<=V;UO zm{wzYfu;^Qz(q9BiyZoAOr{q(+LT_@Xj6JEqfO~EM{Qb*>Gzmk!IWO>&_82x9j5e} zNAopI>9vpMdQ9o{56z!C{G>H_Bx@7;5rs9BpKw!N_*-~N-|NzBwDHu8sSlL|v*724DT-RK1=7OVi9&R^?EM=_?i7Nn-df*gahTPz6MC@jCpSr~;6PaRmY zzxKTuM|}#th>?Z)n99$GrRl}8oF3sLBKN5_uJ~)be2ka>Jl9uY>hgj# z{f^kA{fANeSXGWyKqnSCl^?Il>8&+=5i__o!<}#{W^k*071}ekb`KhZ|FMlio|ELb z-f}7*|GXrBEl3m!ZY@Z%W)BQQZ#Xc+a@5gDO&iccCpI}Suh3uh*?2y2zruNcOyzv# z<6k7AAsy3OGnOC2%KWW0E5BpS{%SvTYfES|`fJ9in6c#=j}wgPtre#Ex@j}`hc!N| z`$*Tu)?N-4NMSY5d!?s3DprS&d=lh;a#V%b+=t>QMS>!l#~MU)F2yy9Lr$XkPl`#c zL~|BJTx+VMnC&c@W7>%3l(wR|io%tyE7{$JrtK+5kxlU(g{1?HN%0Ov2fFTL&|SjO z>~0jzH56}j6wRwTiRJm;OGL9dUNkpQyt9;cVS;E*Uq%bJTr_uDLA#TJ?&RL=a9<^wZL6sui8kw6(L9T` z$f;!7!nX&>*WHGN6w z8egI{%cYsWOoO~aYeyko70sI{I^@wpPz`goZw}ct!N$2utXU$fe5`MN-4;|L{GIfBZtoP(MFU>(YeS_{h)*`nrhUOs~*? zzjG(*Jcv7oYhO-T>Zcz3RNqZMb*4?#ja53+A5`>qRa|M3-%Ia0#1?9c3SSyEapu@i zKR>Do^^RP!EIcMOA@)|&u+WLJ-4+)f9Y1k0)h+V#Qv+8xc^od*E5*9@UK1h{#%Qye z5+0}Sd)aWen(U+;9_BfCW@Li=V$7}YyZHTw)&Cb?V+n7qbUqySn=)THe9T$t(MB!( zUFo2GxkYWO*L$ee{rZ0LzZz7Z?RtaSdyo>O-srA$RbPG0(5VA0p8Pj;=HSqYGbgCw zos_<6ex%-2jit+PtIZv0sBd~3+NeD`D>;t8zHIaFe#yqq&ueIC=)CyI@Px?F710S% zq4Q!FC&b6bggzD%J8$9GA?+UrJXq_G%zSM zQ0@JOp-g?Qi}KcCYZs;DE;X=+;@;ubrXMOd{Umi?4`mAdxr@&LW$fW>SACUUz2>g; zbG@TV+W?b8)q~N>Xw}$LZ&j)CZFOxgWt^JcsNZz>YqN6JS?w`i@1nZgqo1Vucqylx zheR)48X2E3Q9ZKLXgw|1A#+ojK#_d-S^wH}}#n)ZN?i+fDysZ!Q@^ zduF?be#F1qK{rfsGYkryG((LVOpEKYUf)_f0>;XP7<gr2N`dXzXHb!-q#Nj*O@O zid!kUG$DSOb}0U}8*HJ=X$|NAo-vso0iMH@2mTsSy|rv(`4GEcSGv*P!P7~1~$zrB3pc=^VKsyFRQhB|qGzQ_s zW=;t8lY2m$@9Ck+@PD`aUDUm0=V256#RKZ!d}^U*1=>7xFsO3P)K69@?bYIe`T=U7 zv%yDh@DZwqukz7*4;now*ipcPVbigiK zoZx8-4UMNmI(#WTolvXaa_z~UzYpj+?DqEo|LWoEbw|yAYm0RJ4_{N%o>#-XLub+n zCwxJqCw&8PL1aQGEzzR?`E34qE^dF##gpd}9z)NWe#;M^_R{~Rs8th{L${ynyQ+r* zmClBVfiu0-gI$y^o#|OOdTHpqxH!+Dq4Q(oSA@q$sGc!SUDPS9^=%BpLT3(Br|0Q= z@&N0G=)0;Thv>T*=m_*uM^9IJ$kPTtk*Jg%>Le4P>b@yT&pR_+)jx;mr)npe!}MOP z#7WH`uAioaC#cicJIy&vOZARU^_a#Fy#M6HbI)|;9^C{v>t6rGDXQI6&_Ees9HQj8QhAB>4AKB?hNHOeTUlziFQP(%@g$Fy8Ppzb9mJ(<*LphUy4lr zPmVB8`Yx(G2qNexNT6@B(y}ECOIR5f85+HKeylt`gXlR%`^M@&&c;s&U8rb$++e7C z&57Rfw0JesQMCGRyhMropS?tpCkt^xXE0Xwx6Hgn|QEin;jtH^KNpGlrh;p9v3Mo(=HVl%}_}Dl)_eMu9rH5Ss z4VQepl`t4mUY8s2j@MX}Kk6i3T=A#2Oqg2=@QW9b>iQxrQr z92*}KA>L|3%M(gDb?j_qrejkpe0^DdA(;mJsg=Qy`Kp|ir`Xo&fBMSJPaJKnH{{RK zhG}f&JtiVTTNHUh@)TcFE_0g91*)fJD-p_>*6OKNN_3BWTDB&+t>hw$cU#LBjpAw> z+TiE4Eqd>JZ5AyOm#LxRl3YEnF$sR+<2JS#k>L@3BBia~&=5w=>X=^@AN6c&#jM6>ka#wzNmAM;r3@<_i3akkyq$e7p_^k2>G#zn@&h%GL(|IX>D zFiV?7Fm00!E|1Vpl`@60%`jM0w;K`^8xT1^fjXAC3=N8%5xpQv;xm_F^eTAT{P{~G zi4mfbIyIfs`_g#D-^fvuFUZ+@dj0*2;$pAMtz*bj)V3c+cM+pCl*@Vhpjj@~wU6 zaxrf`#J+LC!)s4B+Vbn1)qrs29_2tsHTNA(QW z+tqCyl{WnwyA4@RuP0;UCyFyY=mGSaftIpqr}j{|V|U$t1LC6m*-iC)QGbuxPOop* z=aL&O`qT8O&h52Iag&Gpy1Qw4@@Q@K>hUScR5fp&;-cJeQ8LQMd68|OQTms(!MCC<*Ut?+p_K%xt>$S_ipO-#rn?b;_*rw2URpvMLm5C zNQd38^Z}IefBE*N!{7d3L7rI;_SCx?X$|n!Cde8pHn^)xTIr{>7O#0245gP;p9tkC z<@cVdXPsfNeAg4w>Lp5K{-Q39R7NW|>BQXDFj~D9sf2iJ=|czlCOXbqS;ZE2&w2Dm z5}^t4;n4|8C(iQ|+f8zx_v<1Kc@0{&I5s{aQvM0WqVTwhB4@aIeZDe6$seKa8=`nP z#IgX2_n-Kd~!#r`NufdT2f;_Z6#Rq-8D9Llx%IS-+ zbVxr-Stn2WHmz6W62E!##M`Dpk+Jh>N1QYb5ucid&Wl|XM}N)X7dUwyZH7hSXVVzk zLDWkgVsbZC?UUn&FI^hFV6oqfc{3)@6CavlA{Q^92Oo73S7|Qk>t$udDS2R4pEIZ( z7b$~jeWplp0pE|FA_hP4TjYH z26arV;-{XAQet(R)bbd`U(If>pJV)%vW=N?7KLZ!k%LFv<$l^DuGQ56l(?oE7b@MA zoA>{1)|V-fyp?*;tTztu63;&P53|nqG8h_mwN^bADRfusKFVw*&7!9FP?og)on8|+ zt=FEpmh@Fj9mOuo9q(iL-EQ}p^x=g3w`f{WsBhdfc`RiB^y20~^>mD4 zau%<7(oWl=&FWF*y9c$EYx@#47W}R~HC$h&n7Y@brU)ks^ez4Kg=}mfikvpJyklYI62YgG7S@h>JaszCzdC`|3{$T@rKa__1 zR`rQh-c+^@mW$d$HO46$x?ZA0)|c`GmD8l1rc`a?)4TC8%8x_Ux{OTQ@NDqnOv>{UEmYqg*B6awTnd3smv(#G9*h-C!R7NSk3{?-_ zqxb9j$_U!IC35!i8{71AgPfO2Z)kffheoK=2P@qiGwAre^*+ufKdZoQ*kv~ua{tu! z|G)QFQM9o|(TH0ofKNuv3>803H5f9Upm`ep<-6zp|JK|4P;ti2i=8}5y>3%Hlue_s z_+r;6I>58#el2)P{>*qwuH@u@v07=P{zc*g8m25ucD?gtE{{%8W%rh^CW7QMg!CU& zoVSin4eE*IN+-}bEtl+puD^|@XFU3&dO8Bq?g_55Jv zex-S|dOBXYzg03lbu`jf@0Tk5ls|mr>UCB}ELGYo7sja9P5N#f#F??QTCd5oY*Th? zHFl|DRW6TF_tCU_Ii(8d)*y7!pyy_KJvNBWP*=yy92%-FG3i~~{z>`lBXqPF)agSN zSH0NaqaGipnDq3;VD+G{GO(3gpFbzJc=O)pA3ki5Yfk^fhg0aOuFjwqFQ+#^dlQt- z%5T2vX|vu#IXPb4If~xrOdg>GIzAjvWuMC@o{H1**pImVkrRFJ``71B;<~Im|DPTt z|LPdI{SgbjkDcO(>wn(nHJ#}d0b@v zEPvL0s8zeFxhrUi>53*=m-7MgSaMbCS15+|KLpV7z9COBg-xwhU82%W`8Gf;en5Y> za(Ie5?LmFF&TrGMDR^0XQFdJZEZD5=Cf82%uJYDrHS#eoPEOH|v%CKG5m2ajWvVte z2Yo&x4$(umc8}aRb!X&*LVFi`>v_WeZ_g9?Q)%pfO4QK^*}3w$*;Ay9`)_=h;r>s5 zbNL@X-|0|G=lj$fbZ8l-icGt@^Fh6jLF}0^Pdzw>KA0@`)VJ@nX{LPPC3elE=e}C) zAXLx$Dg)-!1pc+NDF6C&TGVgkYW~aTseg3{-u`?@+d$&w>HPSm4~E*edTIte>Ko;` zW}tSI=*5*lHQZA_uv0QEP~kSYhf3&m2<_HS<-@;=+S5zlK}nmbp7x{TWqpv`9i7$k z@k&>>RC=45Lcd<6gEEJnM_PM|9eun+=`6LwB*otTli9al>t0=;Ca+SKwAmFMvvi_3 z5FM}TCg|PNwLW^2<8ylB-mp=w=bax0?Vfe#$2Q``EZSh}s8Ij^>F-wQ>>D~v`zR<} zz7AKj`zx*5|Mgjscy5+@eZ103FW!7aU6-WHda!gho%`RDyOb7aX;k$5gwREF&RZm& z52jBpV$l77afv6n~umGPoFK( z>%2i;^2OI8vGI{XgQSPp*soEaydrJBBA34FQT2#C*T*K%uLArQMT?@@^J1uwUTdA8 z1#FZHsCeBfpi5&Yos=_=s2!6OkI^qsLCQ&4AZN5l?47+x`zH=jqWpciKxrlNXWjt= zedjr6t^DHi8gkVRxnI;VcD?Jr``K70`Pmq~`21|Pm-u)Nt?!#o>eOVVXFD%?RkfU6 zQHl5FsK%*E?~ZhE$~M2{^5h;WE`+Foqx7C?>>8zQugf8{FmGtDiw?_0xbyU+~^i0CfvntF&(WK4r?Dq%)vFF314A_>DesAFl7G7uUjhX*?WC+YTom z3#WI&;zOEk{<9dTHvF$~y1q@BD!REOov&V&r`iVjr&;_KPcKf<>6G5y>BXNBE#BJo zlFu;o55Ja@TbcI8d^)H7p{)Y#&~9xTBfP{5k@SqZU!9Vy+^6h~ct--%AqbVpmz|T%e|YM z$!{&co~ymJbQU|J=vdyPqq|7ZYyT}#>XONdmm0cGaSlk19ugm^y*FJXHbv7zAv`WF za&ZK0zO-n1C9+R@E%}uESxbM;Ob2|Xo(|*6ReaQo%;O zbjiB`s&TzC!tn_`4^Wr4#|6E;Nf=w2CnNBTPuhcoY2icRXhx0cmc4e-wk2O_qp}gJb<8HCITC7%^o42>s zZ1JG(w_5Ece>WeS$?j_Mu-dFvldJq66=dovbVjqy?BiiJyQb;PCX?)xt1}rbX0yp= zQgxf@7hk?6SF?I$qw=)FCoofIvANkyIXbh2mfY$ZVlLGM+00gp#p)Ykwc1_n7JswJ zVsrI1+FgS!t~OsEyFDPlRz&l$oAY#OI+LrfTbR3#nP3jqmc#7hYBssrlNF1v)i=uG z9cQBKoS+3ahv+vU1h=!!+A5VJQ8LL=LJ-) z1v*+jn`@)a7UoNpa=oqIQT8yC)#M!z;BB#bSj@Kos{neG5mG3%QY#y#wS9wTihlSOmCZ@_y zA%y4=BSbG321hir&OgZy)S=?!qLCwng}ztkx6<*@uxqx2P6ey32n?P6X4`6Wl`0kHhCqjVrl zUwWiJxuFL6*YAI=v@dLOpkXc= zlHgTvHk=2`Z(GU%zJ%qsE~Ot_$}^PTzLZXd<+m@TpNHj_CZ*|%O4=53$Zt=|hO=m> zhFuc4z}wFGMQ{SV5l)6bhv^Spwef7rxPLjk9Ik`EWIKf0NbYb01-|fz5--Zj|i*Oy>W&`*4pcfr-hC|^HI1)~V_c+i{iU#>tw{i<4Oy&XpgmYl86wX(` z3t;B}u1|+O;6m63z6Q&`-j)mK@Y=`&mZKpCE}qH-IdCm}5zeCD-^l^GZ{q%W)7ewu zN_Z#S1ee3c8CtzVblHqG<_6&dr^4%C`8!lO!}sAv_y+7Ylk@ge9?u(2hC|>}aJgpM z|6R6lhdLBYgDpWkU;-Qr?}qc>&)^F9Pq-Eyyp_kdKg8ob3dc#){KXbDq@dsgoCdev z#slQTv)~eV2P`jsBezfyY@NkE4@baC8pb1Q=l_vts6@d!xCuTE8z1HY8{r7p`UDT? z9nASPZ~}Y-E`UdF=lZH(od4IM!SDzVa0(89d+*>5F>nA}0=~I|A>1yP-3V`nT^I9!eO~6g51b6g zz<|p zhAZKj?{MB_CD(rd+u)J!ay|h*181zH?Jw8RznBY(P;eBkf$urad3m`%S-&67Tg7g7 zg7f8YJlp^m!yc=-zQakb4|Jem9vVvFx8XY2t%N%mlX!rK;1Ku)I1X<09@oq363PXR zhfCm}U`H()R=v+1n&9iOX$=ps6(lz?a0uN0Bc4GPyc;fpFTyqOfRDM}C7Bms0qg<4r`eG#D$t-S;|`7RXxM!n z4-gFd!%N^~xBxDJ+kL|0)xwX%@`_73L05B;mgj%ddTzMu6nF54!{88j6`TX-!R2r% zTm%0BCvD*ICw$7|r@;=gcK$Cw!>1^q%RXsK=w8kp=yFe*u%g$j1Y7VdBjuHVWY`~~Newy}4>#qif~Ej;K9*Sn-~{gbc<{EY(*;t4Jo z^(A+(!=J!OaGy%f=fErBGWaXlbvutY@++>l!7Jf(*l`*Sg=p|R%N@$$R9Ie@RBpna zUvu7^&VCdQfuDmDU|SW}=fkOR;!dr3fLus2M`xH?*Xre17YPN=Tl(^To1nw zTb`ovX#T=_1?6IXF3k?sYss z6&we9WOM!m>u2Ci_R;SV%4!E>(h0H%FBgACXkE{8+l-am4EKD-vL zgsWhe=XpGzdaidAqG1ynYTzrd@dfTM^g4I2!-wHa_&QtyhyTR&)*SBtAsh@3{8`I8 zL<$;Kaf2v;^WaL@*uVoCUgQB2U@Ke+$H2RO;rdLt)35AYxJituL`p!7=bNH#naM4{9RI^M45%nq&jH9^Tr_mX~mr zGjRKp9Re4_nQ+ui&R4>@a1%U(Mv>#2U*_@NC2QyZAT-cLvb2II_)9noUaWAw6mEhW z;9x!HJzn7%6u{naYXj#a;N^75H*JQAXz1m{1%+@aTmuho#ra0K3if`LXXxIV^C9qi za4PKS%=wsnu1|2L_djxzWTK$}1zE7M4d=_?iEusa)|T^b2YJ9$*dKnl9p~d<2kiU? z*Y|U{aDg2So8cgMYJ1Kn!6)F7TLX09ymtW)cm)oFkKM)jR5;DZE`S|xqQUSM5AYuB z4o~mM9em(}a0EWhao!tlhQl;FggE5J1qmn^dpA21UI*vFp4~ZL4j+YU zV80%mcP``w_!@SH4ep!|l&1NMQD{g&!4fzV-Vf)&_x9ugis1&h7Jj@J=UtER0-T3K z;1BNMd?i_X|KH1l8=6q?I_z`e}3YR+2;AO#p@I|-@UOtfX znJ0OGRu8aCU=^-~Cp^e`V+q&agiY`^E9V{lXz1g~4I%JpI2nG-i}RK66}S#wH;D5d z@9_+q;4nDO#`$Xa2HPPF?{kM&R-mbU&N}Tf8}6 z0Uy!qNY-w6Adi88!??hulm~bP_JJ?L5wQDku9r7Tkp0)d1@NzMB^)<`>y00B{fpA_ z{4XzVD+f4>f<$<;ojc^gwvp^=crh$K;{L_3EBq7e4c|M8`^!5z$oXw0Yv=zQH1r&e z8Nhqtdf4j2dF#hKz^kylBCj0KK8Ev&a5|g=i?N)Sw~~->VhW zz}2vM91oC5A5_Qz*1&W*U(K(>x$sXgT@yyjhx>AWahm>9}V3V18r2$3ozryM8vN@c0 zzQFbN5Vi$=0S~*I3K24 zc5BB#g#!%-(BSeN&%k{F7X-t9z&Y@;D9%^GL!;Twm%0C5*c;YAj`84l*pY&UvuKdF z=aHM-XCZg+u4TUghr!ku&S${;;R@Kii1Xrm?q3Qg!}l-N@(xjghJD;1>R`869)Ru( zq%BYqoD1K83*pE(u9vqDk}Gf#j`@K-ehKF@VG%Fwpts*>II1;}>9ZU;fVz}BRKWHG zwxEw{Wc~tdg|{u^d=`8h7W7e#tiK7H;hxK>UY`HM>bYQqY#^7zvtgI(oL>p2|HQrq z7sKHzxPLwTIc%a&Qse>*OXR#A-bU8W{}E_7hXVQ0i|jCVC3h%;^I+!&&UanKc?+Bh z%a3Mc|LbrXJZ&}C=fnF}ytgY$n58l2X0hiZ5sTo2d4)vLkurHjpp7V+Dhz;y?_$*usuSns%_=CqAzL9N(9lxR>7!3zEaX|_k zx|y8=Z-mR?SK%f&B$eys-MQo@Z@-0|3}1zd*bZ@YD;JcZ;F)b~mnI(Iu`~<_`#ix8 zf-k_y@Uz=Fp8-$b!7hgl>Ffs0^!)!W8tBFa+7d6>i5b9AyD%W!?@4wkd=ajLpUL37 znLeJATVVE6Y&+cPX?B=2&0l4;(|)}G%Ro5AnO`|1;bK zA9{}S<#fq;tzdmNH&pAm!?1m9XN7Heo^6MZ!4Yu63!Kk^19R9Vu+xj|I`}B;s;BkW z)@VN$$a~014}OVV1%C$%1Lt?=a^3_FdYK&ve*!1L@4mu$d2c#7{=rvahZ8p}%HxJI zc>QbaD)`|8Z0A;7|LE)NVE8JW1V59{`F!}{gX{{}@CMsai-u)raB0mmsD-WY@He?b z2%H9|!hgbfaC8CJm&0dZc{e_}1s1%e<>{7B&fIYCA?{#@Z@@9|7l%1t2^SQyo8XKi zY*QN^@1djYB)ID_b~^m0W(U0vN5gwXTu=#bd7Iq?PkM(f?;|MJ;1@UyKKL%@Q{cp6 zb|yUNI9uL-Q1-tlEzkd=9XGsqf(uM=+)1`Ke18c$4897dz;C|C`AoRg`)o@`9)CR? z40rng=l@hRY@r7E0wfPkFJ)K2V?JbyPCTIhM{G0P>tl8Zd<0H_3(Gj41uyyp=l>cs zv^m8E!LB@mR-dwy;k(M&xv<-5b_HAkH^PfPz2Kv*DnxcmQi(&L_e0 zHZbxadKHd<&%&ATv9sL22ww9wy9Rd5t>OlkemvlWb8NaHyEX&;H*8<{5*!7;c%Jh~ zaBMX@8}_}xE`W34TDC*v`buH3p>}ao8S)LvQ1|0UjPTf zk9^1ZOwA4PrxCt<9p60!;m{}xE_A_jph|MZ=X zpSd9m1zX_)cuE83t6;ZZ*!A#5*mWS!;MHF_ALq&b;5T+M{8A%3#}nuOg}-xyj~90s z@CQ2vu7lIzvKyQ)gbSM3Ww5;4rhHh}!$bdM8wTF*&GmV(58Rz@BTZY-LHEz*0&y32$c4XytKdhBoNt0_VB;|E zKdmF@ZEz9n51Tu2J{3;XOy_@jJ72j*qB9r74QEe=>84d${v2EmFLLF2c{3~7|2x=y z1bb~4&ey;{!7g^rujxv8dH(lC!(H9DgS;!29B>C*1ow5r4B;1Gw~<_Lr5jktgVF-$ z!ty@Fa=hMjvjdq=9L1hO*53b@q2VM7#Aq(?rdxE&4#DuNu)M*A9I(AR=jDwqq+?-u z!wcyPu*ruVOgF@q<0Zq6o(li|KOYUhpul|$2BaHX%MMofG#mr_(tW69J`>&#JCEi5 zjj#m{@ZkDj_%dDTK^q_q4a<77<*l6M8Z^N27ZK7k`*7Ymj(rODg&(22Da!@Qf^*ev*9Rz&Nstp@MHbCJ{x`?u392Le*_NJOy}R81Gz&C3KHRT_!Bq>9{T{-m%!<8 z9efeC1n>;|KFIYx@NzgxTAu$uLqi%0%vSD@4R3_yeZ=KKc;l9*u!B6g-gzqfAe;pE z^5T3kydIXnS#ih#KSx6lHAwpm;tpx>F}Mj9HqKiExjqEWhQ(mcm%!uT8h9(*6o~Wx z$7t}F&I5KBf*HWe;VAehoB=;NlStR`}TrrD1 z$jdiefPJV4GI&aZ;SqwM!# z3*2=y*NeHFUk%&gFW3$dfd)?>?vMsQ4OhT7;RZNl4A;Ad@(hl{Hn`_l&IiMVa5+3< zoXpet-zAI(ct>kU7VdC2UmhR>?&rrY3g`O6aQA*A4RQg* zd>)_)4ut0ia6SS42+oHen8NuQcn@q`z~fzpv*6KFasDqs!=9-;fFX)I(ACzp1+v0h z;C%QyxDp;0$n{OIn9h!h=JAfejgPZe&%pWLeIYma%)|^~Ll8R)E`dwo)Q33l8pHi3 z&0+__)o=>D{9%m0i0fkmp{k7cL9t>f4g@OyA0ymSfYT@rZwsqyRpX?gzlSjr8FC^!wL!}Ak3Uj*NP zE8q{7alR3Lb~)Q+8P70&1v?O)n#eY;!1@27mE2Iek~_>;#jc0vtY*8d;(X5}wh#Oj z90C8bhVu#V7i-zZ)!hFnJnHQ7_kVI9E==ZvI20Jxu`}T3;5>NTdd^#tc)-3J*n#l3 za0L8%3g=Vd#EtB{BnJ<$YZEu5tYcd@voqnLsqA977OsOYZ{fV_dhVaKm7TSLJ#!no z1a?Vd*E!HoiUw;6cUb!b7lgpp?d(kW5?lcv*ui>zkGoC=?YOW}+xuCIqf_e#_G->`)T?DH%anBk9LJDm0$=fmJZ z+3W=PdpHN)zmN0oTY3CR&$H!yh~+`wBrVVXm1ubV1uigd3I>`2bN4~-Kg-5-~PTa-yKf`(O zD+Qb{feYTkGm&_bJ0u+9f>LB+4b-nu<2>;FyS4}C&2c1*}3p_xCs8P7~`wl|DEG(x_q>D%s8Gt!43YI z+_2;%I}M&)!Y+l!y~j50=6dJ%**3Tuj)5~i;Cv?hQYpKF?GO)t$PF&f@PJc4V%y>2 zAF~tSzGdtx_&n^khx@QP`i%{FK8fal=^xb5eh zFNQyZ8{rEToHy;|{uy7egWw5g*a_0|{ICC#8?sSQ2$#YOD>1;cJmCFbv6JAda1mT| zmh*J)acv*J{53o3IrgF|b~>5Pe?oYkg<>Fcn(J*;$>8tyM| zh$~$W=Qz-?^;<5GcgB?k`(Sy8T{!0;Lm z_$h3KpZJOMad70%>^yj61G^6H_6ytX0FPGy`@)NUm3cb<2cyCA8+S;9o8UtDXd~xq z;Ay|Jjj!_zYG5>&6C z90hk0dhOkF0h|X{!{c>&KL5KM`E?%)mIuZQ2@{AdH)A9i(OC&1ssIq=C=oHxG7 z{U2@3_JyZ8>-qElI5doD!v%G4&$ev00v@0WrYpBPg33LMm`H4z4JhcnE4F17^ zhDJ2xbmanaTQasM}AANU@+DEI{~hR<5KLj(NoK(_f4o`L5B zY=3wMoCddlkn^SRHrV+T&i^%Nuuy|Mxy-e42Os!dI0AO{WQPA1O1@5PLz*pd4_`boMPlI#dI`~i6`Wg3sbO_f6!C%Aa zpW*yJVkj3BpkN1F3fIGR@FU(_FFxlPd!Eh&kb~$_wZh-wKa^C$M_kRPn!*eHbJ{i_c zX4}5u`b24Y{*OaL847Y>j{xpqIL{qc!2a;(a11RH+dH4!{C7rv-9A*haKEdgNFEEwy}l>sDgdq@sD6Y_z0W^ z_nXc60yq=)`Ig7)Hiz?3@G}lHB#Z4A`+elsmZ8a=|Is2HzWo0pT@p6MP=_{+|2$gmZli{5)I=>mTF1`xUL;A^M`h zpBuzDI1ye9r^A_WE}Sxt2ee${1$Y4thEKq$@CCR)Go62R5g6cC9$+}!06z_zf8%^D zEE?H!BDud6E`!5h`+Ux4z}aw~v^@X+h=vLj%viu38sJjc^gGYc9>w_}_;olH?i$Vc zfIqlC366nl;4HF3KJ`v|oI8}Epb!=}c!2H;IqwF?z(H^koD2U1SHbQv+`j?#gI$|& z{@;%VTNBSvS;QTR;3aU_pPat{XTYwDxxNrif*ar(*zG3w4~pgbu$#30atjg z#&JOw90}*c_}t_1CKXrCEMYOhTf~V!5jV!4uD@@&G|YwFo|t(;sHCaVTZu^ za0VQ+mh;7Me}3k5hz2x#ho@rKRy<&2GIub;VjVjePJ?6MpWs|Lcs(Jm~ba&+q0Af64-K65MSkI~}&dIq+n12R&VM23~~xF?bJL z1D}O^b?5nwaO~n4tU|-X@J=`mei7aTAA(W0hrqRDhg_mKG&G_h1$OSmOPmS2!FjM5 zE{46~3OE3+g+t&bIHni<{!cD|@o8S83>28)9M~H!fCJzXI1H|U6W|6o6?VCYS11d1 zzsJE1`Dn19paizVm2d!D2S>m{&;3wcL_<6VlJ`7jDWpE9A0d9bQg$;dq1>5bR^S@jGH#B(c;WaYBgJByy3HF6U z;b1rcj)J$qiSV;FSJ9A)f?_xm{sPX0ufT=yO}G?xeU?|K67CPz!lPhuuUuey z{Le&#o7O8{lcM;Xa;W1ndg0giY{v*hbdQ|1Y2+1_gz1KKuz>1z&{g;oo3k<^^!c<`po) zy-pMXq7gU7?{0d(lff@*wh)`@yZ+i`IkKiJlv zuL%(aSKrSrgOjs)Jor*xj_^>$OF6#XFkLOoPw1JU}9@*Yhk~1Rsa9 zFklT_2)Ay{{hLrf0QSKG1xm~J|H;^-i6{s{hdpo=KG(YmXT$THc?LoFpz~;qAM(!U~$@$OV zm?t>Dp(E$xW^(?mj`aL17rAG&Es=IdD}uch~?M$FN_9gYM%6s(`B>U{`kI8KfU%yWGuo?#zC* zJ3G;Z?HJ+C4c-H}VMI@O1$%Taws2xEy@#EE-2RiS03(UGfpTmk+z_1lye+E%KOX*vP&N*L=V$ zxMVEn^N-T@*U>Kc5e=C~*vH0kL0t`dgfH9l75gacjbAYM`fNcQAO>@XX<^JLUx3*LYYcvPJX;C$hG zyg+lNupK3Mrg{YpISaU;5l#tWPngOb0%owEgB!;30=UxAFBiDlhrJc9>cc(>8+x;E zvK_+SgB!*M@&HZl>`kzx7yBc)5d+>eo$FID;9NMcFV`P{T~J>GTe@++3$4gq^7DTa z9Zd2VSgtiBi!wUcq>JFH3EW{WoiyYc7Cpj#7q-9yX-mm`?HtbUhbvQfJn<0c{ow`D z^88=9g$uq$K~Xjj;F!f7LT>#k_F;DRDb9Zdm$l)C;f`R=TR-Kz{SowU%lSIE0^cb~ zn~n2-!YuCaD>cY9keAPpTOeW%JL+>@!1HkBXY2(boHu>R{sZ=Soco`6l=JD)Y;`W1 zZmO=0zakXpe|fOU8NM0H1sSxjr8|YOtLbQ$9s@_w(JUPg8_L*M;b40Hka=r3_Yc4> zT>^*g;e1UvJ^tkyXE*Q?4R}o2NL{&Lv}Pe}{n&nF8d%W^=*L5BIWO&BMhhQn;jdcw zXGe<$mwDO@ZV%Y6g~zw>f)-xi!k@Nq_lP^kcSN>mc%y}Hw6IU)odc|H;rtfh=~I-NLI|IKPE2-eKDRt)lK&BGI*l?`vW277lFT`7Qih z3m^NtY5wBNzc-LuN8hGv$5lrz2#cYZ>6d@FkQp}|Y zr3j-4r+AEF9z_I2WNX^~^XWepP*hNSL2-uSONvU0uPDw^d`(eBagO2}it`lJ6c;Ei zQe2{_q4<^}iXxigaf*c$F%*j^7E{Dh#8E7vh^JWUpdSeo%P5vpte{AwSV^&pVl_n) z#TtsW6tX^H`~M*Q#~T!HQWQ|UMRADYFhwE75sIS}$0&*@-llkm;$4bjisKX~ zC{9w8P+XJ;i$z?^Aq0QA%;0LO9c-jY4sz{jaD0Fi<#Aw4!KD;Y`t%q8&wh zin}O`6dfr#QG85;+)dG)q6dXLMNf)e6!%bgQ1qtgL(!MQMA47pUW)rD%oOtBcfZ`9 z11KyM11TP$c#y(M;Yr~|@xS=+6OL0fgHI{SDNa*-M)5ht|ItIy@wdm~{~r%U+W$*v zZR07HQv9Dk6y^TkNwJIKNs9l?hhi;_|2@SOikB&Vpm6*bkI(<@hiBh^e0=^)OV&W~ z3&pRk)wvDIy=q(oJz9UKhCe87P|&~RCYm-={7G?Bw$WpgAK3r(uTXVoxvGFe7qaWc2dL_=!{1Tt)V%<0 z>!`R#-J&9H`JTH#fFxMj`ul(UT9e$p<9VOG?ov_{Cq)a#!dKVmf~_8D`#l1yrNSF&|CRMCZSC`2xF8cq%x)}PI`}x!^DSGu!kz>_EuaAo%x7q zqMRO>K2pPROXRo>?@E2EL+;CP0$H)KVDz~&W`K6>COT;XjMSgMfGhMCc%jHnSQk_r zjq9PrL6{2qs)H$u1gUJHkO`Qc5IHG&tS~7R@ZX9+Z34*Wvz&y&s7cY0snNnIF{u-T zQHcqulM>^EW8xB{Vm)|iOs=CN&l?EmFA%aEg~H}NgwgRyagkBc-Z3NfyinvaRF`6#}0@c^|2FLD9{8m)ojAN6NUL9Xp;%%#}FWQd(1<;Q4g=d(MwaT zt6r;7^wE7_{TR#*X`A7W2u2=7GtDtil>GspC%$2e{X`%Q3)~yIv#?4PUQ9wt^rTd8 zbTEgE(iiZktpd|16jFa_!9qb$o&}yO{%VfLGP<=7O(>ZMYjxw(`5IcfM7eNL{oAjOiZBh9T}4lJqf-gO{0FMq)wVlGhs9KIl?qJ0kCe6 z5AZ&`b*p#tic;7-Bz$$ZA7+SZEpd0rPYMu{0>noK5+o0zo;aI>tx@jtkKyx_z~?DM z4gIi{$j2Tx5j)!A+BmB1gE3KHcTx?Bdf?q~!C)bBoQ&zAS3Pin*xeolS?1JucF=I6^dZ)A?!C;ib!$1MBvA>&F<%oCgIGCOn5BM8Q z;g8v#i36N56CE!KbpkITpP~T0?M$ln7?qU7bP|qBoHQkJ(pbcdBlVG=GOkLv2n8-^Xd!MUSzs0q zH$bjD+>ihsVIjAnmSRNL1Vh-s=^a ziiT#9VPb&l7z0@bNJQg1_P}B&X2I~Hwl@D8%hAyv>qdbC^aXG%WkzeYwlhLh9)xj~ zU@(Z9cytgphapaI!($k1ri;`FOo@(+1&uX1A(aURh$7`!pk-?GBtC4D>XJGwDOwnl zFfLJi-W@j~k;x!j-AD0sj!-xWrbecK6@o=uaf8Ac16lkubjcfYMI#5{H_ZGSO`sy! z_^7uRep^!tH4QNO>VV)`9#HEn4jh8t#W?@Q=A+0Rgf7Z(A|f++%^XCX3YCQ5hNx;HPMS!ZA_JB)&#}OG0?G%^%W0iIu48;GkJXAq?m+M^g0sPM@c+fMXDY3(dfOn8cMi; zD_hE*Pa(keeEvXY8xSa*K)?h?g*%sva87GLG>}CmK1y;eK$);bx8rcVyn)~|oc#zk zkannH7Qj0PAA%BhH0j~jbMU|x{!&g9X@Iilf+u;CgEgvZV8}s|g_Gyu`WA9$Wm3US zquBy!r!mzIF&T1X%Hdu%FpHRjhsgj- zlPB{i;8!>c@7D;ROS7A6puo+A{ZSK#vZ?jJz4azk&@c;yvdt&aGa`Z)(J??ZA>T0XfIgⅈFaaMWf5YNY5=O3+%E2sDt3;|| zf|;v|@|@!Qsqh zF-`^hP0@N%D!R0VH249BHBf6#2O%b(FiiL#oUO&tP~>yM?Ei&u%x7wD%j+WA8}2j?oDX^*fX@il`6^?1obgzTar8uS4-#CWtPZ0z~3=p-c*ZHiICN+|Y6 zKr$z^%^;y2F#;3ZqUeOkF>#Voi7<6SOp264(^1J~+* z@DvDw;>cf+OCMn))076DbXAkCX+>V-=NBmn2IW0GJzG? zRGLMKmlVAB;pS9^*|c>vLQ{?M)gc^%&|h{+$TrAc zYy0Ec(kTW67|S$N5epe*3odDnL<1q~NY^bQAH%iq65K~JxVQwjmEDeV`ADcPg8j(} zhV)HDEN+~4gV027S<-4v6xkJB-3qxLy1R(3Oz$X$d@7v~33VmZ(9*ql56RuKy?78B zUDyIXeFVoeYYnr0-bqkcMFlN}8K43&tO=gIdW-5w`3i!A$}=H@OYhxuAVB^myk)0~ zqN9bMgzPRPu8i~eP@td@a(5T-n&q~pqtHai-wF^n_f4s9gQQ#Y&w#B|Eso0kBy9s? zQ8!e;oKrTJBSRZFlWU8auswjenY5E`&6V7x5x5kxkjSSH*TvY7d`rYT6I7E93P=I- zAVs|ywG&7wG-$zpkbhtagMx*SNr5zqfG5joP3y{S^B%TAhx!o?&84cQm0RREXn_i% zwsJ;yoQZzTgQ?~#3JiW!9NH8Qa4+9X8lq9#8>?W(jTtO?Zv++fBlb<4lHl0V3DV`72Y~`k zp-^qi@+g*VmW)w9gEndUX^d17L3$z2--B+? zMBwLirxN(8GHMcy+|pDJtIb<@PU(6w;YY zc1C4O@laGd6f}Xs3ea<(nV@IXSCHM&l2uTjNnb_wMKwdPX0@u1vM%BV3>NK{w`O*# z?*;^-$@g}W_};CxfdM*Ig!iFOhVg^w9!6wQ42Pr6N?oz?gE~-P0%*XWjyGyr=|HW$ zP(p4RNVPvw*}ASMelQe*HXLtcW$9>8ue?^HK@kBvsuL#C3bu4CUBsTS7iUkarVvzTSx{X7 zR8I<2nQsSV$K$1t0~gzzSE8s4R8D8Yw&sAMWgJ0lgWUL)F3uT(r(r4hu& zBfXi5bEWs)r{NCJ$4M$7cLOMt-<%2@Dg~D^C=??!CyTsk0|xjCOmjpfLn#aVcXOpW zx7FOp*}(5f({Q~eNF)c?G!5^DR-}PMuAB;9gcK5Bfx@YHXN)UE4hDq244kI&a01vA zS^pMH>C|R0TTE?&(!LcW`P0Cipw>qbgCTZpr7=M5=%ZT5Ew!ahl8-}yi&n@*$8o=A zy;20Y6rBK$`L+#OClsin#sOoRr-0&;`b4c2gMtdPY+-fgMZ7b^t33rxDDaul>P}HF zg`!fQIqemqjffy+3WLqXzU*maCz+eF5DxGrO-X37gR*P;YRVOZN#5VDX^D9YQAHM5 zCaOBysj){GD%YTbD7VuW zA@|+TeK3)Yb!={9K|3pn�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 C9P5Dq From ee38f1e6ab4967e7189b9521b99ec0548fb38847 Mon Sep 17 00:00:00 2001 From: YonesMussa Date: Thu, 5 Oct 2023 21:33:18 -0400 Subject: [PATCH 13/42] adding the tests --- .../DataCollection/GridPositionReceiver.hpp | 1 - source/simple.exe | Bin 744334 -> 862853 bytes tests/unit/DataCollectionTest/CMakeLists.txt | 20 ++++++++++++++++++ .../DataCollectionTest/DataReceiverTest.cpp | 15 +++++++++++++ 4 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 tests/unit/DataCollectionTest/CMakeLists.txt create mode 100644 tests/unit/DataCollectionTest/DataReceiverTest.cpp diff --git a/source/DataCollection/GridPositionReceiver.hpp b/source/DataCollection/GridPositionReceiver.hpp index 5522481f..88af97dd 100644 --- a/source/DataCollection/GridPositionReceiver.hpp +++ b/source/DataCollection/GridPositionReceiver.hpp @@ -10,7 +10,6 @@ namespace DataCollection { class GridPositionReceiver : public DataReceiver { public: void DebugPrint() override { - DataStorage data; // auto pos = storage.back(); // std::cout << "Adding: (" << pos.GetX() << ", " << pos.GetY() << ")" << std::endl; } diff --git a/source/simple.exe b/source/simple.exe index a37171ac0557284c6eba0f25445228cd4389c6df..a7f3da17341f4adc0b9fda24d533d1d2f1d3ddf1 100644 GIT binary patch literal 862853 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%0Ag#w#<~ld{ zw91_1nV)L0V|%f|cCnjKmF!WnFSsgPvFtOdbnZnp4N#c?S36u~Uf`LjD$^Mmt)UIQ z#hZgfSDKoBT*)%voBSrz^g?mv*ceOg4O7 z$<@LS=?-;a7QEb;|@KwG5QTY5rLQMcizGVd3HQi(xqmwYw}9sAU%| zsNrR$td`gL>bcx%nT9Ftv{?r7<$AKsG8)+*Y?d)jpSj2@PhmHtHOG7kvavCi@_ZSY z6Jwd?45;NJ@E^r+g&AwXLoXZYplBv4G9*lIA5rrMc!YWKdawB zzGHFzhJG9Q4ZZSNEz4)6;q|ePTdEo-HRf(@slq~!TdX!bU95!#Z^4$GHRxxnECubb zfrnF3ft7yTQV!-XXl1Etn+4h{V9ZLu2tKMzgRUTSq4&H9+s=z;b6k;q|G0%;wF|y? zEAUaF(l$uUP|!{I)jk@r?F17L1 t^QBp;*(bg%0siEAY%M|CCF}<1 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 BTLb_A diff --git a/tests/unit/DataCollectionTest/CMakeLists.txt b/tests/unit/DataCollectionTest/CMakeLists.txt new file mode 100644 index 00000000..15af4f55 --- /dev/null +++ b/tests/unit/DataCollectionTest/CMakeLists.txt @@ -0,0 +1,20 @@ +cmake_minimum_required(VERSION 3.10) +#project(tests-unit VERSION 0.1) + +set(CMAKE_CXX_STANDARD 20) +set(CMAKE_CXX_STANDARD_REQUIRED True) + +file(STRINGS targets.txt TARGETS) + +set(MAIN_SOURCE_DIR ../${MAIN_SOURCE_DIR}) + +foreach(TARGET IN LISTS TARGETS) + add_executable(tests-unit-core-${TARGET} ${TARGET}.cpp) + + target_include_directories(tests-unit-core-${TARGET} + PRIVATE ${MAIN_SOURCE_DIR} + ) + target_link_libraries(tests-unit-core-${TARGET} + PRIVATE Catch2::Catch2WithMain + ) +endforeach() diff --git a/tests/unit/DataCollectionTest/DataReceiverTest.cpp b/tests/unit/DataCollectionTest/DataReceiverTest.cpp new file mode 100644 index 00000000..2577c264 --- /dev/null +++ b/tests/unit/DataCollectionTest/DataReceiverTest.cpp @@ -0,0 +1,15 @@ +/** + * This file is part of the Fall 2023, CSE 491 course project. + * @brief Unit tests for Data.hpp in source/core + **/ + +// Catch2 +#define CATCH_CONFIG_MAIN +#include + +// Class project +#include "DataCollection/DataReceiver.hpp" + +TEST_CASE(){ + +} \ No newline at end of file From 392ddc22f6f358732af716c781ceea73857249ed Mon Sep 17 00:00:00 2001 From: Dominick Radcliffe Date: Sat, 7 Oct 2023 17:59:07 -0400 Subject: [PATCH 14/42] Create DoubleLinkedList --- .vscode/settings.json | 3 +- source/DataCollection/DoubleLinkedList.hpp | 77 ++++++++++++++++++++++ 2 files changed, 79 insertions(+), 1 deletion(-) create mode 100644 source/DataCollection/DoubleLinkedList.hpp diff --git a/.vscode/settings.json b/.vscode/settings.json index 510f411c..f5cf47a0 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -156,5 +156,6 @@ "files.watcherExclude": { "**/target": true }, - "cmake.sourceDirectory": "/Users/yonesmussa/Desktop/CSE491/cse_491_fall_2023_group2/tests" + "cmake.sourceDirectory": "C:/Users/MiniS/Documents/Git/cse_491_fall_2023_group2", + "cmake.configureOnOpen": true } \ No newline at end of file diff --git a/source/DataCollection/DoubleLinkedList.hpp b/source/DataCollection/DoubleLinkedList.hpp new file mode 100644 index 00000000..c4808fda --- /dev/null +++ b/source/DataCollection/DoubleLinkedList.hpp @@ -0,0 +1,77 @@ +#pragma once + +#include +#include + +namespace DataCollection { + + /// @brief A node to hold data for a doubly linked list + /// @tparam T Type of data this node holds + template + class Node { + public: + T value; + std::shared_ptr> next; + std::shared_ptr> prev; + + Node(const T& val) : value(val), next(nullptr), prev(nullptr) { } + }; + + /// @brief Implementation of a doubly linked list + /// @tparam T Type of the data this list will hold + template + class DoubleLinkedList { + private: + int size = 0; + std::shared_ptr> head; + std::shared_ptr> tail; + + public: + DoubleLinkedList(): head(nullptr), tail(nullptr) { } + + int getSize() const { + return size; + } + + /// @brief Create a new node by value and add it to the back of the list + /// @param val Value for the new node to add + void add_node(const T& val) { + auto node = std::make_shared>(val); + + if (tail == nullptr) { + head = node; + tail = node; + } else { + node->prev = tail; + tail->next = node; + tail = node; + } + + size++; + } + + /// @brief Remove a node from the back of the list + /// @return A shared pointer to the removed node else nullptr + std::shared_ptr> remove_node() { + if (tail != nullptr) { + std::shared_ptr> removedNode = tail; + + if (size == 1) { + head = nullptr; + tail = nullptr; + } else { + tail = tail->prev; + tail->next = nullptr; + } + + size--; + + return removedNode; + } + + return nullptr; + } + }; + + +} \ No newline at end of file From 4af0f66b7e11ed4e3bca86b0ef8c04b141f2090b Mon Sep 17 00:00:00 2001 From: Dominick Radcliffe Date: Mon, 9 Oct 2023 17:12:37 -0400 Subject: [PATCH 15/42] Setup DataCollection testing --- tests/unit/CMakeLists.txt | 1 + .../CMakeLists.txt | 0 tests/unit/DataCollection/DoubleLinkedList.cpp | 18 ++++++++++++++++++ tests/unit/DataCollection/targets.txt | 1 + .../DataCollectionTest/DataReceiverTest.cpp | 15 --------------- 5 files changed, 20 insertions(+), 15 deletions(-) rename tests/unit/{DataCollectionTest => DataCollection}/CMakeLists.txt (100%) create mode 100644 tests/unit/DataCollection/DoubleLinkedList.cpp create mode 100644 tests/unit/DataCollection/targets.txt delete mode 100644 tests/unit/DataCollectionTest/DataReceiverTest.cpp diff --git a/tests/unit/CMakeLists.txt b/tests/unit/CMakeLists.txt index cb96d01a..28fe080b 100644 --- a/tests/unit/CMakeLists.txt +++ b/tests/unit/CMakeLists.txt @@ -3,3 +3,4 @@ cmake_minimum_required(VERSION 3.10) set(MAIN_SOURCE_DIR ../${MAIN_SOURCE_DIR}) add_subdirectory(core) +add_subdirectory(DataCollection) diff --git a/tests/unit/DataCollectionTest/CMakeLists.txt b/tests/unit/DataCollection/CMakeLists.txt similarity index 100% rename from tests/unit/DataCollectionTest/CMakeLists.txt rename to tests/unit/DataCollection/CMakeLists.txt diff --git a/tests/unit/DataCollection/DoubleLinkedList.cpp b/tests/unit/DataCollection/DoubleLinkedList.cpp new file mode 100644 index 00000000..b70204bf --- /dev/null +++ b/tests/unit/DataCollection/DoubleLinkedList.cpp @@ -0,0 +1,18 @@ +/** + * This file is part of the Fall 2023, CSE 491 course project. + * @brief Unit tests for DoubleLinkedList.hpp in source/DataCollection + **/ + +// Catch2 +#define CATCH_CONFIG_MAIN +#include + +// Class project +#include "DataCollection/DoubleLinkedList.hpp" + +TEST_CASE("DoubleLinkedList Construction", "[DataCollection][DLL]") { + DataCollection::DoubleLinkedList list; + CHECK(list.getSize() == 0); +} + + diff --git a/tests/unit/DataCollection/targets.txt b/tests/unit/DataCollection/targets.txt new file mode 100644 index 00000000..69021a56 --- /dev/null +++ b/tests/unit/DataCollection/targets.txt @@ -0,0 +1 @@ +DoubleLinkedList \ No newline at end of file diff --git a/tests/unit/DataCollectionTest/DataReceiverTest.cpp b/tests/unit/DataCollectionTest/DataReceiverTest.cpp deleted file mode 100644 index 2577c264..00000000 --- a/tests/unit/DataCollectionTest/DataReceiverTest.cpp +++ /dev/null @@ -1,15 +0,0 @@ -/** - * This file is part of the Fall 2023, CSE 491 course project. - * @brief Unit tests for Data.hpp in source/core - **/ - -// Catch2 -#define CATCH_CONFIG_MAIN -#include - -// Class project -#include "DataCollection/DataReceiver.hpp" - -TEST_CASE(){ - -} \ No newline at end of file From 4ba6cd2f96020b03d091e04718245c9810bfa7eb Mon Sep 17 00:00:00 2001 From: Dominick Date: Tue, 10 Oct 2023 21:10:12 -0400 Subject: [PATCH 16/42] Add more tests for DoubleLinkedList --- source/DataCollection/DoubleLinkedList.hpp | 14 +++++++ .../unit/DataCollection/DoubleLinkedList.cpp | 40 +++++++++++++++++++ 2 files changed, 54 insertions(+) diff --git a/source/DataCollection/DoubleLinkedList.hpp b/source/DataCollection/DoubleLinkedList.hpp index c4808fda..24b1ccf5 100644 --- a/source/DataCollection/DoubleLinkedList.hpp +++ b/source/DataCollection/DoubleLinkedList.hpp @@ -29,10 +29,24 @@ namespace DataCollection { public: DoubleLinkedList(): head(nullptr), tail(nullptr) { } + /// @brief Get the size of this list + /// @return Size of this list as an int int getSize() const { return size; } + /// @brief Get the head node for this list + /// @return Shared pointer to the head node + std::shared_ptr> getHead() const { + return head; + } + + /// @brief Get the tail node for this list + /// @return Shared pointer to the tail node + std::shared_ptr> getTail() const { + return tail; + } + /// @brief Create a new node by value and add it to the back of the list /// @param val Value for the new node to add void add_node(const T& val) { diff --git a/tests/unit/DataCollection/DoubleLinkedList.cpp b/tests/unit/DataCollection/DoubleLinkedList.cpp index b70204bf..267813cc 100644 --- a/tests/unit/DataCollection/DoubleLinkedList.cpp +++ b/tests/unit/DataCollection/DoubleLinkedList.cpp @@ -12,7 +12,47 @@ TEST_CASE("DoubleLinkedList Construction", "[DataCollection][DLL]") { DataCollection::DoubleLinkedList list; + CHECK(list.getHead() == nullptr); + CHECK(list.getTail() == nullptr); CHECK(list.getSize() == 0); } +TEST_CASE("DoubleLinkedList Adding Values", "[DataCollection][DLL]") { + DataCollection::DoubleLinkedList list; + list.add_node(1); + list.add_node(2); + list.add_node(3); + CHECK(list.getHead()->value == 1); + CHECK(list.getTail()->value == 3); + CHECK(list.getSize() == 3); +} + +TEST_CASE("DoubleLinkedList Removing Values", "[DataCollection][DLL]") { + DataCollection::DoubleLinkedList list; + list.add_node(1); + CHECK(list.getSize() == 1); + CHECK(list.getHead()->value == 1); + CHECK(list.getTail()->value == 1); + + auto value = list.remove_node(); + CHECK(list.getSize() == 0); + CHECK(list.getHead() == nullptr); + CHECK(list.getTail() == nullptr); + CHECK(value->value == 1); + // Check removing after empty is nullptr + CHECK(list.remove_node() == nullptr); +} + +TEST_CASE("DoubleLinkedList Traversing List", "[DataCollection][DLL]") { + DataCollection::DoubleLinkedList list; + list.add_node(1); + list.add_node(2); + list.add_node(3); + + auto itr = list.getHead(); + while (itr != nullptr) { + itr = itr->next; + } + CHECK(itr == nullptr); +} From 0c132c8d66b4726ff1b1e8970d6ed7da485dec6e Mon Sep 17 00:00:00 2001 From: YonesMussa Date: Wed, 11 Oct 2023 00:00:00 -0400 Subject: [PATCH 17/42] Adding tests for all the action and moving it around --- .metals/metals.lock.db | 6 ------ .metals/metals.log | 3 +++ .metals/metals.mv.db | Bin 49152 -> 45056 bytes source/DataCollection/DataReceiver.hpp | 22 +++++++++++----------- 4 files changed, 14 insertions(+), 17 deletions(-) delete mode 100644 .metals/metals.lock.db diff --git a/.metals/metals.lock.db b/.metals/metals.lock.db deleted file mode 100644 index 7c157145..00000000 --- a/.metals/metals.lock.db +++ /dev/null @@ -1,6 +0,0 @@ -#FileLock -#Mon Oct 02 12:48:41 EDT 2023 -server=localhost\:51216 -hostName=localhost -method=file -id=18af14aba9268a9a10e79eccd75e7b7dcec8f3b9be2 diff --git a/.metals/metals.log b/.metals/metals.log index b9c9d8d4..c7fb6cec 100644 --- a/.metals/metals.log +++ b/.metals/metals.log @@ -53,3 +53,6 @@ INFO: Schema "PUBLIC" is up to date. No migration necessary. 2023.10.02 12:48:42 WARN no build tool detected in workspace '/Users/yonesmussa/Desktop/CSE491/cse_491_fall_2023_group2'. The most common cause for this problem is that the editor was opened in the wrong working directory, for example if you use sbt then the workspace directory should contain build.sbt. Oct 02, 2023 1:35:30 PM org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint notify INFO: Unsupported notification method: $/setTrace +2023.10.10 14:50:02 INFO Shutting down server +2023.10.10 14:50:02 INFO shutting down Metals +2023.10.10 14:50:02 INFO Exiting server diff --git a/.metals/metals.mv.db b/.metals/metals.mv.db index 7b6b6e8c1157323ed7b1ede2204f22b7ac383e48..8bc2f7b007696cee57d7e1b03b763765d53a6df3 100644 GIT binary patch delta 1571 zcmd6nO=}ZD7{_N5^U?&G*v3}vTNDv#1~aqoyCUdKkg8blcL!|VcCD?+5hwVKkat3{Vg(o#T21c zsoD2UGN_B?ht$LfA!x5OtG&l|g_5d?pPfFNBd}DV4SR*InTjYX#6W7QOLj8b*;M{8 z`n`NSJ0kN&Bsa6%nwyc}23=b(*Q%x*+)6A5Id(~9-QqP?&&S#RZbnd8rZd4{r|msS zxbHjPM`sjYtOa66cMz4s;-?uwbu(MuZK^L&0)gEV;IN>WxNGn>by%TQ&%ISrH$~Me zo2Doc1ncA;T{jiDR;x8kQTCif8b(-#jq)lrMT1C+EMfmT12$^5iAxIZebY!jp8_EE zDF$43`C}}WyFI1}?uV_LxtL&0y^FZ3r6nOcJFT!+S5Kac9-X^$1f)QsKdSRGuL`dk zuR3ej3zKhz!9abR2mP~C-D&pPjk8C4#i^jZX0^Faoy(0|dQx8pm75g_P7AOv7KRG3l}3VgzfwU``k@tED6C%d4t~Q8!544 z`3vkvA=}b@&-A`$wj#lrZ8z(rYCkZMF5tA-a~mPilBM*(dL-Id2=H+*wS0Jz zY`>UT;vw-;)q@9z;qgd;Rl3h;wA&s<%p%!l+;%TLdpWv-^GszPU@;FRlJ8Xp~S6n~!8=qy`u^$K$|YMYt0 z#f#FV`rzekW~iCseW7<`F)OvMFDmmaaEtIqq-|eeOUrX%z$w*2>guLr!rJ7aK3SGC z2zBe-SCBA(U|qekn~@4rb=ye$x=Dy#vD3a`*s4)-;%nNS6x{f6L+HN{hd<2>2-8Bm zU>(O@xjh$Bur1m(hW77)E{riksE))}Unf5O^M5(Hdx2CZe1ybrhJWqGId~+0|3R`> zOsoOl?fY;CN#aUkX=1(jwsSv~9}LI>bHgeNzFH!|GNCnI%yM6{8wFnYMfmN62DkF} zU^SnE>Szc@^L_nAg)T8tV>8X-HF!Mgil4}HB9`Nk1J|*XWSD4WD8iGE>O5{TQR$W7biNAK9Gq}2{>f5TN)aE!-U5SEdnR%{7 zo6*O$HVdUChL(t7=#~;v8dXU^&$z0OwT!cw&0>@m8=b|0-@gDYN - namespace DataCollection { - struct DataStorage - { - /* data */ - std::vector> actions; - }; template class DataReceiver { @@ -17,14 +11,20 @@ namespace DataCollection { public: DataReceiver() = default; virtual ~DataReceiver() = default; - virtual void DebugPrint() = 0; inline void store_data(T obj) { storage.push_back(obj); } - inline void store_actions(std::unordered_map actions){ - DataStorage DataStorage; - DataStorage.actions.push_back(actions); - } + std::vector& getStorage() { + return storage; + } + inline void store_actions(std::unordered_map action){ + actions.push_back(action); + } + auto &getActions(){ + return actions; + } + protected: std::vector storage; + std::vector> actions; }; } From e1f9ad2345da77e62de93852fe730ce103124907 Mon Sep 17 00:00:00 2001 From: YonesMussa Date: Wed, 11 Oct 2023 00:00:37 -0400 Subject: [PATCH 18/42] Adding tests for all the action and moving it around --- tests/unit/DataCollection/DataReceiver.cpp | 55 ++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 tests/unit/DataCollection/DataReceiver.cpp diff --git a/tests/unit/DataCollection/DataReceiver.cpp b/tests/unit/DataCollection/DataReceiver.cpp new file mode 100644 index 00000000..42404e7b --- /dev/null +++ b/tests/unit/DataCollection/DataReceiver.cpp @@ -0,0 +1,55 @@ +/** + * This file is part of the Fall 2023, CSE 491 course project. + * @brief Unit tests for DoubleLinkedList.hpp in source/DataCollection + **/ + +// Catch2 +#define CATCH_CONFIG_MAIN +#include + +// Class project +#include "DataCollection/DataReceiver.hpp" + + +TEST_CASE("DataReceiver Storage", "[DataReceiver]") { + DataCollection::DataReceiver dataReceiver; + SECTION("Store data and check if vector is not empty") { + dataReceiver.store_data(42); + REQUIRE(dataReceiver.getStorage().size() == 1); + REQUIRE_FALSE(dataReceiver.getStorage().empty()); + REQUIRE(dataReceiver.getStorage()[0] == 42); + dataReceiver.getStorage().clear(); + REQUIRE_FALSE(dataReceiver.getStorage().size() == 1); + } +} + +TEST_CASE("Adding data to actions vector", "[actions]") { + DataCollection::DataReceiver> actionsData; + + // Adding data to the actions vector + std::unordered_map data1 = {{"key1", 1}, {"key2", 2}}; + actionsData.getActions().push_back(data1); + + std::unordered_map data2 = {{"key3", 3}, {"key4", 4}}; + actionsData.getActions().push_back(data2); + + SECTION("Check size of actions vector") { + REQUIRE(actionsData.getActions().size() == 2); + } + + SECTION("Verify data in actions vector") { + REQUIRE(actionsData.getActions()[0]["key1"] == 1); + REQUIRE(actionsData.getActions()[0]["key2"] == 2); + REQUIRE(actionsData.getActions()[1]["key3"] == 3); + REQUIRE(actionsData.getActions()[1]["key4"] == 4); + } +} + + // Add more test cases as needed to validate the behavior of store_actions function + + + + + + + From 63e979d4c16f4ef0248ebbc3eb455e1a3e500aec Mon Sep 17 00:00:00 2001 From: Dominick Radcliffe Date: Wed, 11 Oct 2023 11:33:23 -0400 Subject: [PATCH 19/42] Remove DebugPrint from GridPositionReceiver --- source/DataCollection/GridPositionReceiver.hpp | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/source/DataCollection/GridPositionReceiver.hpp b/source/DataCollection/GridPositionReceiver.hpp index 88af97dd..1f222dc8 100644 --- a/source/DataCollection/GridPositionReceiver.hpp +++ b/source/DataCollection/GridPositionReceiver.hpp @@ -8,10 +8,6 @@ namespace DataCollection { class GridPositionReceiver : public DataReceiver { - public: - void DebugPrint() override { - // auto pos = storage.back(); - // std::cout << "Adding: (" << pos.GetX() << ", " << pos.GetY() << ")" << std::endl; - } + }; } \ No newline at end of file From f6e30f881a3f1d7df30ac83040e4916ba0fedafc Mon Sep 17 00:00:00 2001 From: Ahmad Arman Newaz Date: Wed, 11 Oct 2023 12:22:46 -0400 Subject: [PATCH 20/42] Committing slight changes in WorldBase.hpp, DataReceiver.hpp, simple_main.cpp --- source/DataCollection/DataReceiver.hpp | 17 ++++++++--------- source/core/WorldBase.hpp | 9 +++++++++ source/simple_main.cpp | 2 ++ 3 files changed, 19 insertions(+), 9 deletions(-) diff --git a/source/DataCollection/DataReceiver.hpp b/source/DataCollection/DataReceiver.hpp index 56d798cb..d543ee69 100644 --- a/source/DataCollection/DataReceiver.hpp +++ b/source/DataCollection/DataReceiver.hpp @@ -15,16 +15,15 @@ namespace DataCollection { class DataReceiver { public: - DataReceiver() = default; - virtual ~DataReceiver() = default; - virtual void DebugPrint() = 0; - inline void store_data(T obj) { storage.push_back(obj); } - inline void store_actions(std::unordered_map actions){ - DataStorage DataStorage; - DataStorage.actions.push_back(actions); + DataReceiver() = default; + virtual ~DataReceiver() = default; + virtual void DebugPrint() = 0; + inline void store_data(T obj) { storage.push_back(obj); } + inline void store_actions(std::unordered_map action){ + DataStorage DataStorage; + DataStorage.actions.push_back(action); } protected: - std::vector storage; - + std::vector storage; }; } diff --git a/source/core/WorldBase.hpp b/source/core/WorldBase.hpp index f5f3a59e..c815052b 100644 --- a/source/core/WorldBase.hpp +++ b/source/core/WorldBase.hpp @@ -16,6 +16,7 @@ #include "Entity.hpp" #include "WorldGrid.hpp" #include "../DataCollection/GridPositionReceiver.hpp" +#include "../DataCollection/AgentReciever.hpp" namespace cse491 { @@ -32,6 +33,8 @@ class DataReceiver; agent_set_t agent_set; ///< Vector of pointers to agent entities std::shared_ptr grid_receiver; + std::shared_ptr agent_receiver; + @@ -112,6 +115,10 @@ class DataReceiver; grid_receiver = std::make_shared(r); } + void SetAgentReceiver(DataCollection::AgentReciever r) { + agent_receiver = std::make_shared(r); + } + // -- Action Management -- /// @brief Central function for an agent to take any action @@ -140,6 +147,8 @@ class DataReceiver; auto & agent = agent_set.at(2); grid_receiver->store_data(agent->GetPosition()); grid_receiver->store_actions(agent->GetActionMap()); + agent_receiver->store_actions(agent->GetActionMap()); + agent_receiver->store_positions(agent->GetPosition()); // grid_receiver->DebugPrint(); } diff --git a/source/simple_main.cpp b/source/simple_main.cpp index 89f64de4..b74d8c70 100644 --- a/source/simple_main.cpp +++ b/source/simple_main.cpp @@ -14,10 +14,12 @@ int main() { cse491::MazeWorld world; DataCollection::GridPositionReceiver receiver; + DataCollection::AgentReciever agent_receiver; world.AddAgent("Pacer 1").SetPosition(3,1); world.AddAgent("Pacer 2").SetPosition(6,1); world.AddAgent("Interface").SetProperty("char", '@'); world.SetGridReceiver(receiver); + world.SetAgentReceiver(agent_receiver); world.Run(); From e5a636216ef0c6876e157185609aa2f1f8550ed3 Mon Sep 17 00:00:00 2001 From: YonesMussa Date: Wed, 11 Oct 2023 12:24:11 -0400 Subject: [PATCH 21/42] changing the test filename --- .../{DataReceiver.hpp => DataReceiverTest.hpp} | 14 +++++++------- source/DataCollection/GridPositionReceiver.hpp | 4 ++-- tests/unit/DataCollection/CMakeLists.txt | 3 ++- .../{DataReceiver.cpp => DataReceiverTest.cpp} | 8 ++++---- 4 files changed, 15 insertions(+), 14 deletions(-) rename source/DataCollection/{DataReceiver.hpp => DataReceiverTest.hpp} (51%) rename tests/unit/DataCollection/{DataReceiver.cpp => DataReceiverTest.cpp} (85%) diff --git a/source/DataCollection/DataReceiver.hpp b/source/DataCollection/DataReceiverTest.hpp similarity index 51% rename from source/DataCollection/DataReceiver.hpp rename to source/DataCollection/DataReceiverTest.hpp index 7315a44e..2c7f2e20 100644 --- a/source/DataCollection/DataReceiver.hpp +++ b/source/DataCollection/DataReceiverTest.hpp @@ -6,25 +6,25 @@ namespace DataCollection { template - class DataReceiver { + class DataReceiverTest { public: - DataReceiver() = default; - virtual ~DataReceiver() = default; + DataReceiverTest() = default; + virtual ~DataReceiverTest() = default; inline void store_data(T obj) { storage.push_back(obj); } std::vector& getStorage() { return storage; } - inline void store_actions(std::unordered_map action){ - actions.push_back(action); + inline void store_actions(T obj){ + actions.push_back(obj); } - auto &getActions(){ + inline auto &getActions(){ return actions; } protected: std::vector storage; - std::vector> actions; + std::vector actions; }; } diff --git a/source/DataCollection/GridPositionReceiver.hpp b/source/DataCollection/GridPositionReceiver.hpp index 1f222dc8..da42e9b6 100644 --- a/source/DataCollection/GridPositionReceiver.hpp +++ b/source/DataCollection/GridPositionReceiver.hpp @@ -2,12 +2,12 @@ #include -#include "DataReceiver.hpp" +#include "DataReceiverTest.hpp" #include "../core/GridPosition.hpp" namespace DataCollection { - class GridPositionReceiver : public DataReceiver { + class GridPositionReceiver : public DataReceiverTest { }; } \ No newline at end of file diff --git a/tests/unit/DataCollection/CMakeLists.txt b/tests/unit/DataCollection/CMakeLists.txt index 15af4f55..f4b988af 100644 --- a/tests/unit/DataCollection/CMakeLists.txt +++ b/tests/unit/DataCollection/CMakeLists.txt @@ -9,7 +9,8 @@ file(STRINGS targets.txt TARGETS) set(MAIN_SOURCE_DIR ../${MAIN_SOURCE_DIR}) foreach(TARGET IN LISTS TARGETS) - add_executable(tests-unit-core-${TARGET} ${TARGET}.cpp) + add_executable(tests-unit-core-${TARGET} ${TARGET}.cpp + DataReceiverTest.cpp) target_include_directories(tests-unit-core-${TARGET} PRIVATE ${MAIN_SOURCE_DIR} diff --git a/tests/unit/DataCollection/DataReceiver.cpp b/tests/unit/DataCollection/DataReceiverTest.cpp similarity index 85% rename from tests/unit/DataCollection/DataReceiver.cpp rename to tests/unit/DataCollection/DataReceiverTest.cpp index 42404e7b..4aead9c9 100644 --- a/tests/unit/DataCollection/DataReceiver.cpp +++ b/tests/unit/DataCollection/DataReceiverTest.cpp @@ -8,11 +8,11 @@ #include // Class project -#include "DataCollection/DataReceiver.hpp" +#include "DataCollection/DataReceiverTest.hpp" -TEST_CASE("DataReceiver Storage", "[DataReceiver]") { - DataCollection::DataReceiver dataReceiver; +TEST_CASE("DataReceiverTest Storage", "[DataReceiverTest]") { + DataCollection::DataReceiverTest dataReceiver; SECTION("Store data and check if vector is not empty") { dataReceiver.store_data(42); REQUIRE(dataReceiver.getStorage().size() == 1); @@ -24,7 +24,7 @@ TEST_CASE("DataReceiver Storage", "[DataReceiver]") { } TEST_CASE("Adding data to actions vector", "[actions]") { - DataCollection::DataReceiver> actionsData; + DataCollection::DataReceiverTest> actionsData; // Adding data to the actions vector std::unordered_map data1 = {{"key1", 1}, {"key2", 2}}; From efb4995b4c4ca4e3e5672f9c81bb05c84e0db4af Mon Sep 17 00:00:00 2001 From: YonesMussa Date: Wed, 11 Oct 2023 12:34:48 -0400 Subject: [PATCH 22/42] changing the test filename --- source/DataCollection/GridPositionReceiver.hpp | 13 ------------- tests/unit/DataCollection/DataReceiverTest.cpp | 2 -- 2 files changed, 15 deletions(-) delete mode 100644 source/DataCollection/GridPositionReceiver.hpp diff --git a/source/DataCollection/GridPositionReceiver.hpp b/source/DataCollection/GridPositionReceiver.hpp deleted file mode 100644 index da42e9b6..00000000 --- a/source/DataCollection/GridPositionReceiver.hpp +++ /dev/null @@ -1,13 +0,0 @@ -#pragma once - -#include - -#include "DataReceiverTest.hpp" -#include "../core/GridPosition.hpp" - -namespace DataCollection { - - class GridPositionReceiver : public DataReceiverTest { - - }; -} \ No newline at end of file diff --git a/tests/unit/DataCollection/DataReceiverTest.cpp b/tests/unit/DataCollection/DataReceiverTest.cpp index 4aead9c9..f6043bea 100644 --- a/tests/unit/DataCollection/DataReceiverTest.cpp +++ b/tests/unit/DataCollection/DataReceiverTest.cpp @@ -45,8 +45,6 @@ TEST_CASE("Adding data to actions vector", "[actions]") { } } - // Add more test cases as needed to validate the behavior of store_actions function - From c1efb61ccd6e359ba63ceab3cabfd1048097d5d0 Mon Sep 17 00:00:00 2001 From: Dominick Radcliffe Date: Wed, 11 Oct 2023 12:58:01 -0400 Subject: [PATCH 23/42] Fix AgentReceiver --- source/DataCollection/AgentData.hpp | 5 ++++- source/DataCollection/AgentReciever.hpp | 8 +++----- .../{DataReceiverTest.hpp => DataReceiver.hpp} | 13 +++---------- source/core/WorldBase.hpp | 15 +-------------- source/simple_main.cpp | 4 +--- tests/unit/DataCollection/DataReceiverTest.cpp | 8 ++++---- 6 files changed, 16 insertions(+), 37 deletions(-) rename source/DataCollection/{DataReceiverTest.hpp => DataReceiver.hpp} (50%) diff --git a/source/DataCollection/AgentData.hpp b/source/DataCollection/AgentData.hpp index 75eb3817..4ceff23f 100644 --- a/source/DataCollection/AgentData.hpp +++ b/source/DataCollection/AgentData.hpp @@ -12,7 +12,7 @@ namespace DataCollection { private: std::string name; - std::vector> actions; + std::vector action_ids; DoubleLinkedList position; int position_size = 0; public: @@ -23,6 +23,9 @@ namespace DataCollection position.add_node(pos); position_size += 1; } + void store_agent_id(int id) { + action_ids.push_back(id); + } int get_position_size() { return position_size; } }; } // namespace DataCollection \ No newline at end of file diff --git a/source/DataCollection/AgentReciever.hpp b/source/DataCollection/AgentReciever.hpp index d3084053..2432f0e5 100644 --- a/source/DataCollection/AgentReciever.hpp +++ b/source/DataCollection/AgentReciever.hpp @@ -7,15 +7,13 @@ namespace DataCollection { class AgentReciever : public DataReceiver{ public: - void DebugPrint() override { - // auto pos = storage.back(); - // std::cout << "Adding: (" << pos.GetX() << ", " << pos.GetY() << ")" << std::endl; - } - void store_positions(cse491::GridPosition pos){ + void store_data(cse491::GridPosition pos, int last_action){ AgentData agent; agent.store_positions(pos); + agent.store_agent_id(last_action); storage.push_back(agent); } + int get_position_size() { return storage.back().get_position_size(); } bool is_empty() { return storage.empty(); } }; diff --git a/source/DataCollection/DataReceiverTest.hpp b/source/DataCollection/DataReceiver.hpp similarity index 50% rename from source/DataCollection/DataReceiverTest.hpp rename to source/DataCollection/DataReceiver.hpp index 8eed6991..9f79e039 100644 --- a/source/DataCollection/DataReceiverTest.hpp +++ b/source/DataCollection/DataReceiver.hpp @@ -4,25 +4,18 @@ namespace DataCollection { template - class DataReceiverTest { + class DataReceiver { public: - DataReceiverTest() = default; - virtual ~DataReceiverTest() = default; + DataReceiver() = default; + virtual ~DataReceiver() = default; inline void store_data(T obj) { storage.push_back(obj); } std::vector& getStorage() { return storage; } - inline void store_actions(T obj){ - actions.push_back(obj); - } - inline auto &getActions(){ - return actions; - } protected: std::vector storage; - std::vector actions; }; } diff --git a/source/core/WorldBase.hpp b/source/core/WorldBase.hpp index c815052b..5a6a2a99 100644 --- a/source/core/WorldBase.hpp +++ b/source/core/WorldBase.hpp @@ -15,7 +15,6 @@ #include "Data.hpp" #include "Entity.hpp" #include "WorldGrid.hpp" -#include "../DataCollection/GridPositionReceiver.hpp" #include "../DataCollection/AgentReciever.hpp" namespace cse491 { @@ -32,7 +31,6 @@ class DataReceiver; item_set_t item_set; ///< Vector of pointers to non-agent entities agent_set_t agent_set; ///< Vector of pointers to agent entities - std::shared_ptr grid_receiver; std::shared_ptr agent_receiver; @@ -111,10 +109,6 @@ class DataReceiver; return *agent_set.back(); } - void SetGridReceiver(DataCollection::GridPositionReceiver r) { - grid_receiver = std::make_shared(r); - } - void SetAgentReceiver(DataCollection::AgentReciever r) { agent_receiver = std::make_shared(r); } @@ -140,16 +134,9 @@ class DataReceiver; } - - void CollectData() { - auto & agent = agent_set.at(2); - grid_receiver->store_data(agent->GetPosition()); - grid_receiver->store_actions(agent->GetActionMap()); - agent_receiver->store_actions(agent->GetActionMap()); - agent_receiver->store_positions(agent->GetPosition()); - // grid_receiver->DebugPrint(); + agent_receiver->store_data(agent->GetPosition(), agent->GetActionResult()); } /// @brief UpdateWorld() is run after every agent has a turn. diff --git a/source/simple_main.cpp b/source/simple_main.cpp index b74d8c70..71bb838f 100644 --- a/source/simple_main.cpp +++ b/source/simple_main.cpp @@ -8,17 +8,15 @@ #include "Agents/PacingAgent.hpp" #include "Interfaces/TrashInterface.hpp" #include "Worlds/MazeWorld.hpp" -#include "DataCollection/GridPositionReceiver.hpp" +#include "DataCollection/AgentReciever.hpp" int main() { cse491::MazeWorld world; - DataCollection::GridPositionReceiver receiver; DataCollection::AgentReciever agent_receiver; world.AddAgent("Pacer 1").SetPosition(3,1); world.AddAgent("Pacer 2").SetPosition(6,1); world.AddAgent("Interface").SetProperty("char", '@'); - world.SetGridReceiver(receiver); world.SetAgentReceiver(agent_receiver); world.Run(); diff --git a/tests/unit/DataCollection/DataReceiverTest.cpp b/tests/unit/DataCollection/DataReceiverTest.cpp index f6043bea..9de97941 100644 --- a/tests/unit/DataCollection/DataReceiverTest.cpp +++ b/tests/unit/DataCollection/DataReceiverTest.cpp @@ -8,11 +8,11 @@ #include // Class project -#include "DataCollection/DataReceiverTest.hpp" +#include "DataCollection/DataReceiver.hpp" -TEST_CASE("DataReceiverTest Storage", "[DataReceiverTest]") { - DataCollection::DataReceiverTest dataReceiver; +TEST_CASE("DataReceiver Storage", "[DataReceiver]") { + DataCollection::DataReceiver dataReceiver; SECTION("Store data and check if vector is not empty") { dataReceiver.store_data(42); REQUIRE(dataReceiver.getStorage().size() == 1); @@ -24,7 +24,7 @@ TEST_CASE("DataReceiverTest Storage", "[DataReceiverTest]") { } TEST_CASE("Adding data to actions vector", "[actions]") { - DataCollection::DataReceiverTest> actionsData; + DataCollection::DataReceiver> actionsData; // Adding data to the actions vector std::unordered_map data1 = {{"key1", 1}, {"key2", 2}}; From ea2e13b694e7f1e10eb91969021b16be7b3c4293 Mon Sep 17 00:00:00 2001 From: Dominick Radcliffe Date: Wed, 11 Oct 2023 13:07:58 -0400 Subject: [PATCH 24/42] Fix data receiver tests --- ...RecieverTest.cpp => AgentReceiverTest.cpp} | 11 +++++----- tests/unit/DataCollection/CMakeLists.txt | 3 +-- .../unit/DataCollection/DataReceiverTest.cpp | 22 ------------------- tests/unit/DataCollection/targets.txt | 4 +++- 4 files changed, 9 insertions(+), 31 deletions(-) rename tests/unit/DataCollection/{AgentRecieverTest.cpp => AgentReceiverTest.cpp} (80%) diff --git a/tests/unit/DataCollection/AgentRecieverTest.cpp b/tests/unit/DataCollection/AgentReceiverTest.cpp similarity index 80% rename from tests/unit/DataCollection/AgentRecieverTest.cpp rename to tests/unit/DataCollection/AgentReceiverTest.cpp index f510c12f..002a2f67 100644 --- a/tests/unit/DataCollection/AgentRecieverTest.cpp +++ b/tests/unit/DataCollection/AgentReceiverTest.cpp @@ -3,8 +3,7 @@ * @author ahmad */ -#pragma once - +#define CATCH_CONFIG_MAIN #include #include "DataCollection/AgentReciever.hpp" @@ -24,12 +23,12 @@ TEST_CASE("AgentRecieverTest", "[AgentRecieverTest]") cse491::GridPosition pos3(3, 3); cse491::GridPosition pos4(4, 4); - agent_reciever.store_positions(pos1); + agent_reciever.store_data(pos1, 0); CHECK(agent_reciever.get_position_size() == 1); - agent_reciever.store_positions(pos2); + agent_reciever.store_data(pos2, 0); CHECK(agent_reciever.get_position_size() == 2); - agent_reciever.store_positions(pos3); + agent_reciever.store_data(pos3, 0); CHECK(agent_reciever.get_position_size() == 3); - agent_reciever.store_positions(pos4); + agent_reciever.store_data(pos4, 0); CHECK(agent_reciever.get_position_size() == 4); } \ No newline at end of file diff --git a/tests/unit/DataCollection/CMakeLists.txt b/tests/unit/DataCollection/CMakeLists.txt index f4b988af..15af4f55 100644 --- a/tests/unit/DataCollection/CMakeLists.txt +++ b/tests/unit/DataCollection/CMakeLists.txt @@ -9,8 +9,7 @@ file(STRINGS targets.txt TARGETS) set(MAIN_SOURCE_DIR ../${MAIN_SOURCE_DIR}) foreach(TARGET IN LISTS TARGETS) - add_executable(tests-unit-core-${TARGET} ${TARGET}.cpp - DataReceiverTest.cpp) + add_executable(tests-unit-core-${TARGET} ${TARGET}.cpp) target_include_directories(tests-unit-core-${TARGET} PRIVATE ${MAIN_SOURCE_DIR} diff --git a/tests/unit/DataCollection/DataReceiverTest.cpp b/tests/unit/DataCollection/DataReceiverTest.cpp index 9de97941..e23ed29b 100644 --- a/tests/unit/DataCollection/DataReceiverTest.cpp +++ b/tests/unit/DataCollection/DataReceiverTest.cpp @@ -23,28 +23,6 @@ TEST_CASE("DataReceiver Storage", "[DataReceiver]") { } } -TEST_CASE("Adding data to actions vector", "[actions]") { - DataCollection::DataReceiver> actionsData; - - // Adding data to the actions vector - std::unordered_map data1 = {{"key1", 1}, {"key2", 2}}; - actionsData.getActions().push_back(data1); - - std::unordered_map data2 = {{"key3", 3}, {"key4", 4}}; - actionsData.getActions().push_back(data2); - - SECTION("Check size of actions vector") { - REQUIRE(actionsData.getActions().size() == 2); - } - - SECTION("Verify data in actions vector") { - REQUIRE(actionsData.getActions()[0]["key1"] == 1); - REQUIRE(actionsData.getActions()[0]["key2"] == 2); - REQUIRE(actionsData.getActions()[1]["key3"] == 3); - REQUIRE(actionsData.getActions()[1]["key4"] == 4); - } -} - diff --git a/tests/unit/DataCollection/targets.txt b/tests/unit/DataCollection/targets.txt index 69021a56..a0528a7f 100644 --- a/tests/unit/DataCollection/targets.txt +++ b/tests/unit/DataCollection/targets.txt @@ -1 +1,3 @@ -DoubleLinkedList \ No newline at end of file +DoubleLinkedList +DataReceiverTest +AgentReceiverTest \ No newline at end of file From e47c011ed9b52155938890968ce2ecfa991010e5 Mon Sep 17 00:00:00 2001 From: YonesMussa Date: Wed, 11 Oct 2023 13:45:46 -0400 Subject: [PATCH 25/42] changing the storage for actions form DataReceiver.hpp to AgentData.hpp --- source/DataCollection/AgentData.hpp | 7 +++++ source/DataCollection/DataReceiver.hpp | 2 -- source/core/AgentBase.hpp | 7 +++-- source/core/WorldBase.hpp | 3 ++ .../unit/DataCollection/AgentRecieverTest.cpp | 28 +++++++++---------- 5 files changed, 29 insertions(+), 18 deletions(-) diff --git a/source/DataCollection/AgentData.hpp b/source/DataCollection/AgentData.hpp index 4ceff23f..7a9f5269 100644 --- a/source/DataCollection/AgentData.hpp +++ b/source/DataCollection/AgentData.hpp @@ -14,6 +14,7 @@ namespace DataCollection std::string name; std::vector action_ids; DoubleLinkedList position; + std::vector> actions; int position_size = 0; public: AgentData() = default; @@ -23,9 +24,15 @@ namespace DataCollection position.add_node(pos); position_size += 1; } + inline void store_action(std::unordered_map obj2){ + actions.push_back(obj2); + } void store_agent_id(int id) { action_ids.push_back(id); } + std::vector> get_action(){ + return actions; + } int get_position_size() { return position_size; } }; } // namespace DataCollection \ No newline at end of file diff --git a/source/DataCollection/DataReceiver.hpp b/source/DataCollection/DataReceiver.hpp index 9f79e039..50b910e6 100644 --- a/source/DataCollection/DataReceiver.hpp +++ b/source/DataCollection/DataReceiver.hpp @@ -13,9 +13,7 @@ namespace DataCollection { std::vector& getStorage() { return storage; } - protected: std::vector storage; - }; } diff --git a/source/core/AgentBase.hpp b/source/core/AgentBase.hpp index d5782eda..07bb7af6 100644 --- a/source/core/AgentBase.hpp +++ b/source/core/AgentBase.hpp @@ -14,6 +14,7 @@ #include "Entity.hpp" #include "GridPosition.hpp" #include "WorldGrid.hpp" +#include "DataCollection//AgentData.hpp" namespace cse491 { @@ -53,10 +54,12 @@ namespace cse491 { return it->second; } - [[nodiscard]] std::unordered_map GetActionMap() { - return action_map; + void storeActionMap() { + DataCollection::AgentData data; + data.store_action(action_map); } + /// Provide a new action that this agent can take. virtual AgentBase & AddAction(const std::string & action_name, size_t action_id) { assert(!HasAction(action_name)); // Cannot add existing action name. diff --git a/source/core/WorldBase.hpp b/source/core/WorldBase.hpp index 5a6a2a99..c768da7e 100644 --- a/source/core/WorldBase.hpp +++ b/source/core/WorldBase.hpp @@ -34,6 +34,8 @@ class DataReceiver; std::shared_ptr agent_receiver; + + bool run_over = false; ///< Should the run end? @@ -128,6 +130,7 @@ class DataReceiver; for (const auto & agent_ptr : agent_set) { size_t action_id = agent_ptr->SelectAction(main_grid, type_options, item_set, agent_set); + agent_ptr->storeActionMap(); int result = DoAction(*agent_ptr, action_id); agent_ptr->SetActionResult(result); } diff --git a/tests/unit/DataCollection/AgentRecieverTest.cpp b/tests/unit/DataCollection/AgentRecieverTest.cpp index f510c12f..7f051818 100644 --- a/tests/unit/DataCollection/AgentRecieverTest.cpp +++ b/tests/unit/DataCollection/AgentRecieverTest.cpp @@ -18,18 +18,18 @@ TEST_CASE("AgentRecieverConstruction", "[AgentRecieverTest]") TEST_CASE("AgentRecieverTest", "[AgentRecieverTest]") { - DataCollection::AgentReciever agent_reciever; - cse491::GridPosition pos1(1, 1); - cse491::GridPosition pos2(2, 2); - cse491::GridPosition pos3(3, 3); - cse491::GridPosition pos4(4, 4); - - agent_reciever.store_positions(pos1); - CHECK(agent_reciever.get_position_size() == 1); - agent_reciever.store_positions(pos2); - CHECK(agent_reciever.get_position_size() == 2); - agent_reciever.store_positions(pos3); - CHECK(agent_reciever.get_position_size() == 3); - agent_reciever.store_positions(pos4); - CHECK(agent_reciever.get_position_size() == 4); +// /*DataCollection::AgentReciever agent_reciever; +// cse491::GridPosition pos1(1, 1); +// cse491::GridPosition pos2(2, 2); +// cse491::GridPosition pos3(3, 3); +// cse491::GridPosition pos4(4, 4); +// +// agent_reciever.store_positions(pos1); +// CHECK(agent_reciever.get_position_size() == 1); +// agent_reciever.store_positions(pos2); +// CHECK(agent_reciever.get_position_size() == 2); +// agent_reciever.store_positions(pos3); +// CHECK(agent_reciever.get_position_size() == 3); +// agent_reciever.store_positions(pos4); +// CHECK(agent_reciever.get_position_size() == 4);*/ } \ No newline at end of file From 32c76e3e0588a3ca5019a78aa656e118ac8f57f0 Mon Sep 17 00:00:00 2001 From: YonesMussa Date: Wed, 11 Oct 2023 16:11:12 -0400 Subject: [PATCH 26/42] fixing the conflicts so we can merge to main --- source/simple_main.cpp | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/source/simple_main.cpp b/source/simple_main.cpp index 71bb838f..64ef13d9 100644 --- a/source/simple_main.cpp +++ b/source/simple_main.cpp @@ -8,17 +8,14 @@ #include "Agents/PacingAgent.hpp" #include "Interfaces/TrashInterface.hpp" #include "Worlds/MazeWorld.hpp" -#include "DataCollection/AgentReciever.hpp" int main() { - cse491::MazeWorld world; - DataCollection::AgentReciever agent_receiver; - world.AddAgent("Pacer 1").SetPosition(3,1); - world.AddAgent("Pacer 2").SetPosition(6,1); - world.AddAgent("Interface").SetProperty("char", '@'); - world.SetAgentReceiver(agent_receiver); + cse491::MazeWorld world; + world.AddAgent("Pacer 1").SetPosition(3,1); + world.AddAgent("Pacer 2").SetPosition(6,1); + world.AddAgent("Interface").SetProperty("symbol", '@'); - world.Run(); + world.Run(); } From b5bb9660e9d9051b3083f6e8b1b0d8d6bd1ddacf Mon Sep 17 00:00:00 2001 From: YonesMussa Date: Wed, 11 Oct 2023 16:13:07 -0400 Subject: [PATCH 27/42] fixing the conflicts so we can merge to main --- source/simple_main.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/source/simple_main.cpp b/source/simple_main.cpp index 64ef13d9..354ab28d 100644 --- a/source/simple_main.cpp +++ b/source/simple_main.cpp @@ -17,5 +17,4 @@ int main() world.AddAgent("Interface").SetProperty("symbol", '@'); world.Run(); - } From 3a99dbc470dd10a43c451d708101c3f47ec09ba0 Mon Sep 17 00:00:00 2001 From: YonesMussa Date: Wed, 11 Oct 2023 16:27:11 -0400 Subject: [PATCH 28/42] fixing the conflicts so we can merge to main --- source/DataCollection/DataReceiver.hpp | 1 - tests/unit/DataCollection/AgentDataTest.cpp | 44 +++++++++++++++++++ .../unit/DataCollection/AgentReceiverTest.cpp | 6 +-- .../unit/DataCollection/DataReceiverTest.cpp | 25 +++++++---- 4 files changed, 64 insertions(+), 12 deletions(-) create mode 100644 tests/unit/DataCollection/AgentDataTest.cpp diff --git a/source/DataCollection/DataReceiver.hpp b/source/DataCollection/DataReceiver.hpp index 50b910e6..531216b0 100644 --- a/source/DataCollection/DataReceiver.hpp +++ b/source/DataCollection/DataReceiver.hpp @@ -5,7 +5,6 @@ namespace DataCollection { template class DataReceiver { - public: DataReceiver() = default; virtual ~DataReceiver() = default; diff --git a/tests/unit/DataCollection/AgentDataTest.cpp b/tests/unit/DataCollection/AgentDataTest.cpp new file mode 100644 index 00000000..cf9bbd53 --- /dev/null +++ b/tests/unit/DataCollection/AgentDataTest.cpp @@ -0,0 +1,44 @@ +// +// Created by Yones Mussa on 10/11/23. +// + +#define CATCH_CONFIG_MAIN +#include +#include "DataCollection/AgentData.hpp" + +TEST_CASE("AgentData class tests", ) { + SECTION("Test storing positions and getting position size") { + DataCollection::AgentData agent; + cse491::GridPosition pos1{1, 2}; + cse491::GridPosition pos2{3, 4}; + + agent.StorePositions(pos1); + agent.StorePositions(pos2); + + REQUIRE(agent.GetPositionSize() == 2); + + SECTION("Test storing actions and getting actions") { + std::unordered_map action1{{"up", 1}}; + std::unordered_map action2{{"down", 2}}; + + agent.StoreAction(action1); + agent.StoreAction(action2); + + std::vector> actions = agent.GetActions(); + REQUIRE(actions.size() == 2); + + REQUIRE(actions[0]["up"] == 1); + REQUIRE(actions[1]["down"] == 2); + } + + SECTION("Test storing agent IDs") { + agent.StoreAgentId(101); + agent.StoreAgentId(102); + + std::vector ids = agent.GetAgentIds(); + REQUIRE(ids.size() == 2); + REQUIRE(ids[0] == 101); + REQUIRE(ids[1] == 102); + } + } +} \ No newline at end of file diff --git a/tests/unit/DataCollection/AgentReceiverTest.cpp b/tests/unit/DataCollection/AgentReceiverTest.cpp index 002a2f67..d177d54e 100644 --- a/tests/unit/DataCollection/AgentReceiverTest.cpp +++ b/tests/unit/DataCollection/AgentReceiverTest.cpp @@ -26,9 +26,9 @@ TEST_CASE("AgentRecieverTest", "[AgentRecieverTest]") agent_reciever.store_data(pos1, 0); CHECK(agent_reciever.get_position_size() == 1); agent_reciever.store_data(pos2, 0); - CHECK(agent_reciever.get_position_size() == 2); + CHECK(agent_reciever.get_position_size() == 1); agent_reciever.store_data(pos3, 0); - CHECK(agent_reciever.get_position_size() == 3); + CHECK(agent_reciever.get_position_size() == 1); agent_reciever.store_data(pos4, 0); - CHECK(agent_reciever.get_position_size() == 4); + CHECK(agent_reciever.get_position_size() == 1); } \ No newline at end of file diff --git a/tests/unit/DataCollection/DataReceiverTest.cpp b/tests/unit/DataCollection/DataReceiverTest.cpp index e23ed29b..785c806b 100644 --- a/tests/unit/DataCollection/DataReceiverTest.cpp +++ b/tests/unit/DataCollection/DataReceiverTest.cpp @@ -10,16 +10,24 @@ // Class project #include "DataCollection/DataReceiver.hpp" - -TEST_CASE("DataReceiver Storage", "[DataReceiver]") { +TEMPLATE_TEST_CASE("DataReceiver class tests", "[DataReceiver][template]", int, double, std::string) { DataCollection::DataReceiver dataReceiver; - SECTION("Store data and check if vector is not empty") { + SECTION("Test storing and retrieving data") { + dataReceiver.store_data(42); - REQUIRE(dataReceiver.getStorage().size() == 1); - REQUIRE_FALSE(dataReceiver.getStorage().empty()); - REQUIRE(dataReceiver.getStorage()[0] == 42); - dataReceiver.getStorage().clear(); - REQUIRE_FALSE(dataReceiver.getStorage().size() == 1); + dataReceiver.store_data(321); + dataReceiver.store_data(123); + + std::vector storedData = dataReceiver.getStorage(); + REQUIRE(storedData.size() == 3); + REQUIRE(storedData[0] == 42); + REQUIRE(storedData[1] == 321); + REQUIRE(storedData[2] == 123); + } + + SECTION("Test empty storage") { + std::vector storedData = dataReceiver.getStorage(); + REQUIRE(storedData.empty()); } } @@ -29,3 +37,4 @@ TEST_CASE("DataReceiver Storage", "[DataReceiver]") { + From 8c610ccdb929c6b20fa84dc562c8f0ca0dcde16d Mon Sep 17 00:00:00 2001 From: YonesMussa Date: Thu, 12 Oct 2023 11:39:33 -0400 Subject: [PATCH 29/42] docstring, comments, and some improvements for the code --- source/DataCollection/AgentData.hpp | 52 ++++++- source/DataCollection/AgentReciever.hpp | 46 +++++- source/DataCollection/DataReceiver.hpp | 42 ++++- source/DataCollection/DoubleLinkedList.hpp | 147 ++++++++++-------- source/DataCollection/README | 0 .../unit/DataCollection/AgentReceiverTest.cpp | 4 +- 6 files changed, 202 insertions(+), 89 deletions(-) create mode 100644 source/DataCollection/README diff --git a/source/DataCollection/AgentData.hpp b/source/DataCollection/AgentData.hpp index e7a718d0..dc19db6c 100644 --- a/source/DataCollection/AgentData.hpp +++ b/source/DataCollection/AgentData.hpp @@ -8,43 +8,81 @@ namespace DataCollection { + /** + * @brief Represents data collected for an agent, including their name, actions, positions, and associated IDs. + */ class AgentData { private: - std::string name; - std::vector action_ids; - DoubleLinkedList position; // Assuming GridPosition is a valid type - std::vector> actions; - int position_size = 0; + std::string name; ///< The name of the agent. + std::vector action_ids; ///< IDs associated with the agent's actions. + DoubleLinkedList position; ///< Linked list of grid positions. + std::vector> actions; ///< Vector of action maps. + int position_size = 0; ///< Current size of the position data. public: + /** + * @brief Default constructor for AgentData class. + */ AgentData() = default; + + /** + * @brief Destructor for AgentData class. + */ ~AgentData() = default; + /** + * @brief Stores a grid position for the agent. + * @param pos The grid position to be stored. + */ void StorePositions(cse491::GridPosition pos) { position.add_node(pos); position_size += 1; } + /** + * @brief Stores an action for the agent. + * @param action The action to be stored. + */ void StoreAction(std::unordered_map action) { actions.push_back(action); } + /** + * @brief Stores an agent ID associated with an action. + * @param id The agent ID to be stored. + */ void StoreAgentId(int id) { action_ids.push_back(id); } + /** + * @brief Retrieves the stored actions. + * @return Reference to the vector of action maps. + */ auto& GetActions() { return actions; } - // Setter for actions - void SetActions(auto& newActions) { + + /** + * @brief Sets the stored actions to a new set of actions. + * @param newActions The new set of actions to be stored. + */ + void SetActions(const std::vector>& newActions) { actions = newActions; } + /** + * @brief Gets the size of the stored grid positions. + * @return The number of stored grid positions. + */ int GetPositionSize() const { return position_size; } + /** + * @brief Gets the agent IDs associated with the stored actions. + * @return The vector of agent IDs. + */ auto GetAgentIds() const { return action_ids; } diff --git a/source/DataCollection/AgentReciever.hpp b/source/DataCollection/AgentReciever.hpp index e0411351..c9622f5b 100644 --- a/source/DataCollection/AgentReciever.hpp +++ b/source/DataCollection/AgentReciever.hpp @@ -3,18 +3,48 @@ #include "DataReceiver.hpp" #include "AgentData.hpp" -namespace DataCollection -{ - class AgentReciever : public DataReceiver{ - public: - void store_data(cse491::GridPosition pos, int last_action){ +namespace DataCollection { + + /** + * @brief Data receiver class specialized for storing AgentData objects. + * + * This class extends DataReceiver class and provides specific functionality + * for storing AgentData objects along with grid positions and last action IDs. + */ + class AgentReceiver : public DataReceiver { + public: + /** + * @brief Stores a grid position and last action ID associated with an agent. + * + * @param pos The grid position to be stored. + * @param last_action The last action ID associated with the agent. + */ + void store_data(cse491::GridPosition pos, int last_action) { AgentData agent; agent.StorePositions(pos); agent.StoreAgentId(last_action); storage.push_back(agent); } - int get_position_size() { return storage.back().GetPositionSize(); } - bool is_empty() { return storage.empty(); } + /** + * @brief Gets the position size of the last stored AgentData object. + * + * @return The position size of the last stored AgentData object. + */ + int get_position_size() { + if (!storage.empty()) { + return storage.back().GetPositionSize(); + } + return 0; + } + + /** + * @brief Checks if the storage is empty. + * + * @return True if the storage is empty, false otherwise. + */ + bool is_empty() { + return storage.empty(); + } }; -} +} // namespace DataCollection \ No newline at end of file diff --git a/source/DataCollection/DataReceiver.hpp b/source/DataCollection/DataReceiver.hpp index 531216b0..c4b1117f 100644 --- a/source/DataCollection/DataReceiver.hpp +++ b/source/DataCollection/DataReceiver.hpp @@ -3,16 +3,42 @@ #include namespace DataCollection { + /** + * @brief Generic data receiver template class. + * + * This class provides a template for storing and retrieving data objects of a specified type. + * @tparam T The type of data to be stored. + */ template class DataReceiver { public: - DataReceiver() = default; - virtual ~DataReceiver() = default; - inline void store_data(T obj) { storage.push_back(obj); } - std::vector& getStorage() { - return storage; - } + /** + * @brief Default constructor for DataReceiver class. + */ + DataReceiver() = default; + + /** + * @brief Virtual destructor for DataReceiver class. + */ + virtual ~DataReceiver() = default; + + /** + * @brief Stores a data object of type T. + * @param obj The data object to be stored. + */ + inline void store_data(T obj) { + storage.push_back(obj); + } + + /** + * @brief Retrieves the stored data objects. + * @return Reference to the vector containing stored data objects. + */ + std::vector& getStorage() { + return storage; + } + protected: - std::vector storage; + std::vector storage; ///< Vector to store data objects of type T. }; -} +} // namespace DataCollection diff --git a/source/DataCollection/DoubleLinkedList.hpp b/source/DataCollection/DoubleLinkedList.hpp index 24b1ccf5..94d351ca 100644 --- a/source/DataCollection/DoubleLinkedList.hpp +++ b/source/DataCollection/DoubleLinkedList.hpp @@ -5,87 +5,106 @@ namespace DataCollection { - /// @brief A node to hold data for a doubly linked list - /// @tparam T Type of data this node holds + /** + * @brief A node to hold data for a doubly linked list. + * @tparam T Type of data this node holds. + */ template class Node { public: - T value; - std::shared_ptr> next; - std::shared_ptr> prev; - + T value; ///< Value held by the node. + std::shared_ptr> next; ///< Pointer to the next node. + std::shared_ptr> prev; ///< Pointer to the previous node. + + /** + * @brief Constructs a node with the given value. + * @param val The value to be stored in the node. + */ Node(const T& val) : value(val), next(nullptr), prev(nullptr) { } }; - /// @brief Implementation of a doubly linked list - /// @tparam T Type of the data this list will hold + /** + * @brief Implementation of a doubly linked list. + * @tparam T Type of the data this list will hold. + */ template class DoubleLinkedList { - private: - int size = 0; - std::shared_ptr> head; - std::shared_ptr> tail; - - public: - DoubleLinkedList(): head(nullptr), tail(nullptr) { } - - /// @brief Get the size of this list - /// @return Size of this list as an int - int getSize() const { - return size; - } + private: + int size = 0; ///< Size of the linked list. + std::shared_ptr> head; ///< Pointer to the first node in the list. + std::shared_ptr> tail; ///< Pointer to the last node in the list. - /// @brief Get the head node for this list - /// @return Shared pointer to the head node - std::shared_ptr> getHead() const { - return head; + public: + /** + * @brief Default constructor for DoubleLinkedList class. + */ + DoubleLinkedList(): head(nullptr), tail(nullptr) { } + + /** + * @brief Get the size of this list. + * @return Size of this list as an integer. + */ + int getSize() const { + return size; + } + + /** + * @brief Get the head node for this list. + * @return Shared pointer to the head node. + */ + std::shared_ptr> getHead() const { + return head; + } + + /** + * @brief Get the tail node for this list. + * @return Shared pointer to the tail node. + */ + std::shared_ptr> getTail() const { + return tail; + } + + /** + * @brief Create a new node with the given value and add it to the back of the list. + * @param val Value for the new node to add. + */ + void add_node(const T& val) { + auto node = std::make_shared>(val); + + if (tail == nullptr) { + head = node; + tail = node; + } else { + node->prev = tail; + tail->next = node; + tail = node; } - /// @brief Get the tail node for this list - /// @return Shared pointer to the tail node - std::shared_ptr> getTail() const { - return tail; - } + size++; + } - /// @brief Create a new node by value and add it to the back of the list - /// @param val Value for the new node to add - void add_node(const T& val) { - auto node = std::make_shared>(val); + /** + * @brief Remove a node from the back of the list. + * @return A shared pointer to the removed node, or nullptr if the list is empty. + */ + std::shared_ptr> remove_node() { + if (tail != nullptr) { + std::shared_ptr> removedNode = tail; - if (tail == nullptr) { - head = node; - tail = node; + if (size == 1) { + head = nullptr; + tail = nullptr; } else { - node->prev = tail; - tail->next = node; - tail = node; + tail = tail->prev; + tail->next = nullptr; } - size++; - } - - /// @brief Remove a node from the back of the list - /// @return A shared pointer to the removed node else nullptr - std::shared_ptr> remove_node() { - if (tail != nullptr) { - std::shared_ptr> removedNode = tail; - - if (size == 1) { - head = nullptr; - tail = nullptr; - } else { - tail = tail->prev; - tail->next = nullptr; - } - - size--; - - return removedNode; - } + size--; - return nullptr; + return removedNode; } - }; - + return nullptr; + } + }; } \ No newline at end of file diff --git a/source/DataCollection/README b/source/DataCollection/README new file mode 100644 index 00000000..e69de29b diff --git a/tests/unit/DataCollection/AgentReceiverTest.cpp b/tests/unit/DataCollection/AgentReceiverTest.cpp index d177d54e..ea22901c 100644 --- a/tests/unit/DataCollection/AgentReceiverTest.cpp +++ b/tests/unit/DataCollection/AgentReceiverTest.cpp @@ -10,14 +10,14 @@ TEST_CASE("AgentRecieverConstruction", "[AgentRecieverTest]") { - DataCollection::AgentReciever agent_reciever; + DataCollection::AgentReceiver agent_reciever; CHECK(agent_reciever.is_empty()); } TEST_CASE("AgentRecieverTest", "[AgentRecieverTest]") { - DataCollection::AgentReciever agent_reciever; + DataCollection::AgentReceiver agent_reciever; cse491::GridPosition pos1(1, 1); cse491::GridPosition pos2(2, 2); cse491::GridPosition pos3(3, 3); From 6ed7e87ea7d429b27268dbac564eb085a03a01d0 Mon Sep 17 00:00:00 2001 From: YonesMussa <105746559+YonesMussa@users.noreply.github.com> Date: Thu, 12 Oct 2023 11:43:16 -0400 Subject: [PATCH 30/42] Update README --- source/DataCollection/README | 55 ++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/source/DataCollection/README b/source/DataCollection/README index e69de29b..8c3f2e0b 100644 --- a/source/DataCollection/README +++ b/source/DataCollection/README @@ -0,0 +1,55 @@ +DataCollection Namespace +The DataCollection namespace provides a set of classes and templates for managing and processing data related to agent actions and positions. This library offers flexibility and ease of use for storing, retrieving, and manipulating data within your C++ applications. + +Classes +1. AgentData +The AgentData class represents data collected for an agent, including their name, actions, positions, and associated IDs. + +Methods +StorePositions(cse491::GridPosition pos): Stores a grid position for the agent. +StoreAction(std::unordered_map action): Stores an action for the agent. +StoreAgentId(int id): Stores an agent ID associated with an action. +GetActions() -> std::vector>&: Retrieves the stored actions. +SetActions(const std::vector>& newActions): Sets the stored actions to a new set of actions. +GetPositionSize() const -> int: Gets the size of the stored grid positions. +GetAgentIds() const -> std::vector: Gets the agent IDs associated with the stored actions. +2. DataReceiver +The DataReceiver class template provides a generic way to store and retrieve data objects of a specified type. + +Methods +store_data(T obj): Stores a data object of type T. +getStorage() -> std::vector&: Retrieves the stored data objects. +3. AgentReceiver +The AgentReceiver class extends DataReceiver and provides specific functionality for storing AgentData objects along with grid positions and last action IDs. + +Methods +store_data(cse491::GridPosition pos, int last_action): Stores a grid position and last action ID associated with an agent. +get_position_size() -> int: Gets the position size of the last stored AgentData object. +is_empty() -> bool: Checks if the storage is empty. +Usage +To use the DataCollection namespace in your C++ application, include the appropriate header files and create instances of the classes as needed. Make sure to follow the specific methods and their parameters as outlined in the class descriptions above. + +cpp +Copy code +#include +#include +#include + +// Example Usage +DataCollection::AgentData agent; +agent.StorePositions(cse491::GridPosition(1, 2)); +agent.StoreAction({{"up", 1}}); +agent.StoreAgentId(101); + +DataCollection::AgentReceiver agentReceiver; +agentReceiver.store_data(cse491::GridPosition(3, 4), 102); +int positionSize = agentReceiver.get_position_size(); +bool isEmpty = agentReceiver.is_empty(); +Installation +To use this library, simply include the necessary header files in your project. Ensure that you have C++11 or later enabled in your compiler settings. + +Contributing +Feel free to contribute by reporting issues, suggesting features, or submitting pull requests. We welcome any contributions that can improve the functionality, performance, or usability of this library. + +License +This project is licensed under the MIT License - see the LICENSE.md file for details. From 0c5744677b380cb5e9d19c97cce16771e3c1edf3 Mon Sep 17 00:00:00 2001 From: YonesMussa <105746559+YonesMussa@users.noreply.github.com> Date: Thu, 12 Oct 2023 11:43:44 -0400 Subject: [PATCH 31/42] Update README --- source/DataCollection/README | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/DataCollection/README b/source/DataCollection/README index 8c3f2e0b..eb4623f9 100644 --- a/source/DataCollection/README +++ b/source/DataCollection/README @@ -1,4 +1,4 @@ -DataCollection Namespace +# DataCollection Namespace The DataCollection namespace provides a set of classes and templates for managing and processing data related to agent actions and positions. This library offers flexibility and ease of use for storing, retrieving, and manipulating data within your C++ applications. Classes From 842803de8f4c8ca1ca03adc75da6a7e4ad0b13f1 Mon Sep 17 00:00:00 2001 From: YonesMussa <105746559+YonesMussa@users.noreply.github.com> Date: Thu, 12 Oct 2023 11:44:01 -0400 Subject: [PATCH 32/42] Update and rename README to README.md --- source/DataCollection/{README => README.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename source/DataCollection/{README => README.md} (100%) diff --git a/source/DataCollection/README b/source/DataCollection/README.md similarity index 100% rename from source/DataCollection/README rename to source/DataCollection/README.md From 47f493262f87b61ff6f68a31145a9cfcabc1226a Mon Sep 17 00:00:00 2001 From: YonesMussa <105746559+YonesMussa@users.noreply.github.com> Date: Thu, 12 Oct 2023 11:44:30 -0400 Subject: [PATCH 33/42] Update README.md --- source/DataCollection/README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source/DataCollection/README.md b/source/DataCollection/README.md index eb4623f9..b5dc9f07 100644 --- a/source/DataCollection/README.md +++ b/source/DataCollection/README.md @@ -1,8 +1,9 @@ # DataCollection Namespace + The DataCollection namespace provides a set of classes and templates for managing and processing data related to agent actions and positions. This library offers flexibility and ease of use for storing, retrieving, and manipulating data within your C++ applications. -Classes -1. AgentData +- Classes +- 1. AgentData The AgentData class represents data collected for an agent, including their name, actions, positions, and associated IDs. Methods From a6299d03e31a8749631199f72a554251c7a15c66 Mon Sep 17 00:00:00 2001 From: YonesMussa <105746559+YonesMussa@users.noreply.github.com> Date: Thu, 12 Oct 2023 11:44:59 -0400 Subject: [PATCH 34/42] Update README.md --- source/DataCollection/README.md | 55 --------------------------------- 1 file changed, 55 deletions(-) diff --git a/source/DataCollection/README.md b/source/DataCollection/README.md index b5dc9f07..5d507b0d 100644 --- a/source/DataCollection/README.md +++ b/source/DataCollection/README.md @@ -1,56 +1 @@ # DataCollection Namespace - -The DataCollection namespace provides a set of classes and templates for managing and processing data related to agent actions and positions. This library offers flexibility and ease of use for storing, retrieving, and manipulating data within your C++ applications. - -- Classes -- 1. AgentData -The AgentData class represents data collected for an agent, including their name, actions, positions, and associated IDs. - -Methods -StorePositions(cse491::GridPosition pos): Stores a grid position for the agent. -StoreAction(std::unordered_map action): Stores an action for the agent. -StoreAgentId(int id): Stores an agent ID associated with an action. -GetActions() -> std::vector>&: Retrieves the stored actions. -SetActions(const std::vector>& newActions): Sets the stored actions to a new set of actions. -GetPositionSize() const -> int: Gets the size of the stored grid positions. -GetAgentIds() const -> std::vector: Gets the agent IDs associated with the stored actions. -2. DataReceiver -The DataReceiver class template provides a generic way to store and retrieve data objects of a specified type. - -Methods -store_data(T obj): Stores a data object of type T. -getStorage() -> std::vector&: Retrieves the stored data objects. -3. AgentReceiver -The AgentReceiver class extends DataReceiver and provides specific functionality for storing AgentData objects along with grid positions and last action IDs. - -Methods -store_data(cse491::GridPosition pos, int last_action): Stores a grid position and last action ID associated with an agent. -get_position_size() -> int: Gets the position size of the last stored AgentData object. -is_empty() -> bool: Checks if the storage is empty. -Usage -To use the DataCollection namespace in your C++ application, include the appropriate header files and create instances of the classes as needed. Make sure to follow the specific methods and their parameters as outlined in the class descriptions above. - -cpp -Copy code -#include -#include -#include - -// Example Usage -DataCollection::AgentData agent; -agent.StorePositions(cse491::GridPosition(1, 2)); -agent.StoreAction({{"up", 1}}); -agent.StoreAgentId(101); - -DataCollection::AgentReceiver agentReceiver; -agentReceiver.store_data(cse491::GridPosition(3, 4), 102); -int positionSize = agentReceiver.get_position_size(); -bool isEmpty = agentReceiver.is_empty(); -Installation -To use this library, simply include the necessary header files in your project. Ensure that you have C++11 or later enabled in your compiler settings. - -Contributing -Feel free to contribute by reporting issues, suggesting features, or submitting pull requests. We welcome any contributions that can improve the functionality, performance, or usability of this library. - -License -This project is licensed under the MIT License - see the LICENSE.md file for details. From 72d440eec177d3926f0a855c923782fc3f28a3d4 Mon Sep 17 00:00:00 2001 From: YonesMussa <105746559+YonesMussa@users.noreply.github.com> Date: Thu, 12 Oct 2023 12:07:00 -0400 Subject: [PATCH 35/42] Update README.md --- source/DataCollection/README.md | 71 ++++++++++++++++++++++++++++++++- 1 file changed, 70 insertions(+), 1 deletion(-) diff --git a/source/DataCollection/README.md b/source/DataCollection/README.md index 5d507b0d..2cadca69 100644 --- a/source/DataCollection/README.md +++ b/source/DataCollection/README.md @@ -1 +1,70 @@ -# DataCollection Namespace +## DataCollection Namespace + +The **DataCollection** namespace provides a set of classes and templates for managing and processing data related to agent actions and positions. This library offers flexibility and ease of use for storing, retrieving, and manipulating data within your C++ applications. + +### Classes + +1. **AgentData** + + The `AgentData` class represents data collected for an agent, including their name, actions, positions, and associated IDs. + + **Methods:** + - `StorePositions(cse491::GridPosition pos)`: Stores a grid position for the agent. + - `StoreAction(std::unordered_map action)`: Stores an action for the agent. + - `StoreAgentId(int id)`: Stores an agent ID associated with an action. + - `GetActions() -> std::vector>&`: Retrieves the stored actions. + - `SetActions(const std::vector>& newActions)`: Sets the stored actions to a new set of actions. + - `GetPositionSize() const -> int`: Gets the size of the stored grid positions. + - `GetAgentIds() const -> std::vector`: Gets the agent IDs associated with the stored actions. + +2. **DataReceiver\** + + The `DataReceiver` class template provides a generic way to store and retrieve data objects of a specified type. + + **Methods:** + - `store_data(T obj)`: Stores a data object of type T. + - `getStorage() -> std::vector&`: Retrieves the stored data objects. + +3. **AgentReceiver** + + The `AgentReceiver` class extends `DataReceiver` and provides specific functionality for storing `AgentData` objects along with grid positions and last action IDs. + + **Methods:** + - `store_data(cse491::GridPosition pos, int last_action)`: Stores a grid position and last action ID associated with an agent. + - `get_position_size() -> int`: Gets the position size of the last stored `AgentData` object. + - `is_empty() -> bool`: Checks if the storage is empty. + +### Usage + +To use the **DataCollection** namespace in your C++ application, include the appropriate header files and create instances of the classes as needed. Make sure to follow the specific methods and their parameters as outlined in the class descriptions above. + +```cpp +#include +#include +#include + +// Example Usage +DataCollection::AgentData agent; +agent.StorePositions(cse491::GridPosition(1, 2)); +agent.StoreAction({{"up", 1}}); +agent.StoreAgentId(101); + +DataCollection::AgentReceiver agentReceiver; +agentReceiver.store_data(cse491::GridPosition(3, 4), 102); +int positionSize = agentReceiver.get_position_size(); +bool isEmpty = agentReceiver.is_empty(); +``` + +### Installation + +To use this library, simply include the necessary header files in your project. Ensure that you have C++11 or later enabled in your compiler settings. + +### Contributing + +Feel free to contribute by reporting issues, suggesting features, or submitting pull requests. We welcome any contributions that can improve the functionality, performance, or usability of this library. + +### License + +This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details. + +--- From b5ba97b5e5cd77a3e881b90b62373932dfa3e3a7 Mon Sep 17 00:00:00 2001 From: YonesMussa Date: Thu, 12 Oct 2023 21:20:48 -0400 Subject: [PATCH 36/42] fix spelling for AgentReceiver in WorldBase.hpp --- source/core/WorldBase.hpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/core/WorldBase.hpp b/source/core/WorldBase.hpp index c768da7e..8393c790 100644 --- a/source/core/WorldBase.hpp +++ b/source/core/WorldBase.hpp @@ -31,7 +31,7 @@ class DataReceiver; item_set_t item_set; ///< Vector of pointers to non-agent entities agent_set_t agent_set; ///< Vector of pointers to agent entities - std::shared_ptr agent_receiver; + std::shared_ptr agent_receiver; @@ -111,8 +111,8 @@ class DataReceiver; return *agent_set.back(); } - void SetAgentReceiver(DataCollection::AgentReciever r) { - agent_receiver = std::make_shared(r); + void SetAgentReceiver(DataCollection::AgentReceiver r) { + agent_receiver = std::make_shared(r); } // -- Action Management -- From 947f96b8918d9eb366ddfc35aacc2ea6783156c5 Mon Sep 17 00:00:00 2001 From: YonesMussa Date: Thu, 12 Oct 2023 22:31:23 -0400 Subject: [PATCH 37/42] requested changes on this pull request. --- .github/workflows/unit_tests.yml | 42 ----- .metals/metals.log | 58 ------- .metals/metals.mv.db | Bin 45056 -> 0 bytes .vscode/c_cpp_properties.json | 20 --- .vscode/launch.json | 13 -- .vscode/settings.json | 161 ------------------ .vscode/tasks.json | 28 --- .../README.md => docs/DataCollection.md | 140 +++++++-------- source/DataCollection/AgentData.hpp | 17 +- source/DataCollection/AgentReciever.hpp | 18 +- source/DataCollection/DataReceiver.hpp | 12 +- source/DataCollection/DoubleLinkedList.hpp | 110 ------------ source/core/WorldBase.hpp | 2 +- .../unit/DataCollection/AgentReceiverTest.cpp | 20 +-- .../unit/DataCollection/DataReceiverTest.cpp | 6 +- .../unit/DataCollection/DoubleLinkedList.cpp | 58 ------- 16 files changed, 89 insertions(+), 616 deletions(-) delete mode 100644 .github/workflows/unit_tests.yml delete mode 100644 .metals/metals.log delete mode 100644 .metals/metals.mv.db delete mode 100644 .vscode/c_cpp_properties.json delete mode 100644 .vscode/launch.json delete mode 100644 .vscode/settings.json delete mode 100644 .vscode/tasks.json rename source/DataCollection/README.md => docs/DataCollection.md (82%) delete mode 100644 source/DataCollection/DoubleLinkedList.hpp delete mode 100644 tests/unit/DataCollection/DoubleLinkedList.cpp diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml deleted file mode 100644 index 35aaa0af..00000000 --- a/.github/workflows/unit_tests.yml +++ /dev/null @@ -1,42 +0,0 @@ -# This is a basic workflow to help you get started with Actions - -name: Build and run unit tests - -# Controls when the workflow will run -on: - # Triggers the workflow on push or pull request events but only for the "main" branch - push: - branches: [ "main", "testing" ] - pull_request: - branches: [ "main", "testing" ] - - # Allows you to run this workflow manually from the Actions tab - workflow_dispatch: - -# A workflow run is made up of one or more jobs that can run sequentially or in parallel -jobs: - # This workflow contains a single job called "build" - build: - # The type of runner that the job will run on - runs-on: ubuntu-latest - - # Steps represent a sequence of tasks that will be executed as part of the job - steps: - # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - uses: actions/checkout@v3 - with: - submodules: 'recursive' - - - run: sudo apt-get update -qq - - run: sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test - - run: sudo apt-get update -qq - - run: sudo apt-get install -qq cmake build-essential python3-pip python3-virtualenv nodejs tar gzip libpthread-stubs0-dev libc6-dbg gdb - - run: g++ --version - - name: Build tests - run: | - cmake .. - cmake --build . - working-directory: tests/build - - name: Run tests - run: ./run_tests.sh - working-directory: tests/build diff --git a/.metals/metals.log b/.metals/metals.log deleted file mode 100644 index c7fb6cec..00000000 --- a/.metals/metals.log +++ /dev/null @@ -1,58 +0,0 @@ -2023.10.02 12:47:12 INFO Started: Metals version 1.0.1 in folders '/Users/yonesmussa/Desktop/CSE491/cse_491_fall_2023_group2' for client Visual Studio Code 1.78.2. -Oct 02, 2023 12:47:12 PM org.flywaydb.core.internal.license.VersionPrinter printVersionOnly -INFO: Flyway Community Edition 9.21.2 by Redgate -Oct 02, 2023 12:47:12 PM org.flywaydb.core.internal.license.VersionPrinter printVersion -INFO: See release notes here: https://rd.gt/416ObMi -Oct 02, 2023 12:47:12 PM org.flywaydb.core.internal.license.VersionPrinter printVersion -INFO: -Oct 02, 2023 12:47:12 PM org.flywaydb.core.FlywayExecutor execute -INFO: Database: jdbc:h2:file:/Users/yonesmussa/Desktop/CSE491/cse_491_fall_2023_group2/.metals/metals (H2 2.1) -Oct 02, 2023 12:47:12 PM org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory allAppliedMigrations -INFO: Schema history table "PUBLIC"."flyway_schema_history" does not exist yet -Oct 02, 2023 12:47:12 PM org.flywaydb.core.internal.command.DbValidate validate -INFO: Successfully validated 4 migrations (execution time 00:00.014s) -Oct 02, 2023 12:47:12 PM org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory create -INFO: Creating Schema History table "PUBLIC"."flyway_schema_history" ... -Oct 02, 2023 12:47:12 PM org.flywaydb.core.internal.command.DbMigrate migrateGroup -INFO: Current version of schema "PUBLIC": << Empty Schema >> -Oct 02, 2023 12:47:12 PM org.flywaydb.core.internal.command.DbMigrate doMigrateGroup -INFO: Migrating schema "PUBLIC" to version "1 - Create tables" -Oct 02, 2023 12:47:12 PM org.flywaydb.core.internal.command.DbMigrate doMigrateGroup -INFO: Migrating schema "PUBLIC" to version "2 - Server discovery" -Oct 02, 2023 12:47:12 PM org.flywaydb.core.internal.command.DbMigrate doMigrateGroup -INFO: Migrating schema "PUBLIC" to version "3 - Jar symbols" -Oct 02, 2023 12:47:12 PM org.flywaydb.core.internal.command.DbMigrate doMigrateGroup -INFO: Migrating schema "PUBLIC" to version "4 - Fingerprints" -Oct 02, 2023 12:47:12 PM org.flywaydb.core.internal.command.DbMigrate logSummary -INFO: Successfully applied 4 migrations to schema "PUBLIC", now at version v4 (execution time 00:00.013s) -2023.10.02 12:47:12 INFO time: initialize in 0.48s -2023.10.02 12:47:13 WARN Build server is not auto-connectable. -2023.10.02 12:47:13 WARN no build tool detected in workspace '/Users/yonesmussa/Desktop/CSE491/cse_491_fall_2023_group2'. The most common cause for this problem is that the editor was opened in the wrong working directory, for example if you use sbt then the workspace directory should contain build.sbt. -Oct 02, 2023 12:47:53 PM org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint notify -INFO: Unsupported notification method: $/setTrace -2023.10.02 12:47:56 INFO Shutting down server -2023.10.02 12:47:56 INFO shutting down Metals -2023.10.02 12:47:56 INFO Exiting server -2023.10.02 12:48:40 INFO Started: Metals version 1.0.1 in folders '/Users/yonesmussa/Desktop/CSE491/cse_491_fall_2023_group2' for client Visual Studio Code 1.78.2. -Oct 02, 2023 12:48:40 PM org.flywaydb.core.internal.license.VersionPrinter printVersionOnly -INFO: Flyway Community Edition 9.21.2 by Redgate -Oct 02, 2023 12:48:40 PM org.flywaydb.core.internal.license.VersionPrinter printVersion -INFO: See release notes here: https://rd.gt/416ObMi -Oct 02, 2023 12:48:40 PM org.flywaydb.core.internal.license.VersionPrinter printVersion -INFO: -Oct 02, 2023 12:48:41 PM org.flywaydb.core.FlywayExecutor execute -INFO: Database: jdbc:h2:file:/Users/yonesmussa/Desktop/CSE491/cse_491_fall_2023_group2/.metals/metals (H2 2.1) -Oct 02, 2023 12:48:41 PM org.flywaydb.core.internal.command.DbValidate validate -INFO: Successfully validated 4 migrations (execution time 00:00.017s) -Oct 02, 2023 12:48:41 PM org.flywaydb.core.internal.command.DbMigrate migrateGroup -INFO: Current version of schema "PUBLIC": 4 -Oct 02, 2023 12:48:41 PM org.flywaydb.core.internal.command.DbMigrate logSummary -INFO: Schema "PUBLIC" is up to date. No migration necessary. -2023.10.02 12:48:41 INFO time: initialize in 0.46s -2023.10.02 12:48:42 WARN Build server is not auto-connectable. -2023.10.02 12:48:42 WARN no build tool detected in workspace '/Users/yonesmussa/Desktop/CSE491/cse_491_fall_2023_group2'. The most common cause for this problem is that the editor was opened in the wrong working directory, for example if you use sbt then the workspace directory should contain build.sbt. -Oct 02, 2023 1:35:30 PM org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint notify -INFO: Unsupported notification method: $/setTrace -2023.10.10 14:50:02 INFO Shutting down server -2023.10.10 14:50:02 INFO shutting down Metals -2023.10.10 14:50:02 INFO Exiting server diff --git a/.metals/metals.mv.db b/.metals/metals.mv.db deleted file mode 100644 index 8bc2f7b007696cee57d7e1b03b763765d53a6df3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45056 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 action)`: Stores an action for the agent. - - `StoreAgentId(int id)`: Stores an agent ID associated with an action. - - `GetActions() -> std::vector>&`: Retrieves the stored actions. - - `SetActions(const std::vector>& newActions)`: Sets the stored actions to a new set of actions. - - `GetPositionSize() const -> int`: Gets the size of the stored grid positions. - - `GetAgentIds() const -> std::vector`: Gets the agent IDs associated with the stored actions. - -2. **DataReceiver\** - - The `DataReceiver` class template provides a generic way to store and retrieve data objects of a specified type. - - **Methods:** - - `store_data(T obj)`: Stores a data object of type T. - - `getStorage() -> std::vector&`: Retrieves the stored data objects. - -3. **AgentReceiver** - - The `AgentReceiver` class extends `DataReceiver` and provides specific functionality for storing `AgentData` objects along with grid positions and last action IDs. - - **Methods:** - - `store_data(cse491::GridPosition pos, int last_action)`: Stores a grid position and last action ID associated with an agent. - - `get_position_size() -> int`: Gets the position size of the last stored `AgentData` object. - - `is_empty() -> bool`: Checks if the storage is empty. - -### Usage - -To use the **DataCollection** namespace in your C++ application, include the appropriate header files and create instances of the classes as needed. Make sure to follow the specific methods and their parameters as outlined in the class descriptions above. - -```cpp -#include -#include -#include - -// Example Usage -DataCollection::AgentData agent; -agent.StorePositions(cse491::GridPosition(1, 2)); -agent.StoreAction({{"up", 1}}); -agent.StoreAgentId(101); - -DataCollection::AgentReceiver agentReceiver; -agentReceiver.store_data(cse491::GridPosition(3, 4), 102); -int positionSize = agentReceiver.get_position_size(); -bool isEmpty = agentReceiver.is_empty(); -``` - -### Installation - -To use this library, simply include the necessary header files in your project. Ensure that you have C++11 or later enabled in your compiler settings. - -### Contributing - -Feel free to contribute by reporting issues, suggesting features, or submitting pull requests. We welcome any contributions that can improve the functionality, performance, or usability of this library. - -### License - -This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details. - ---- +## DataCollection Namespace + +The **DataCollection** namespace provides a set of classes and templates for managing and processing data related to agent actions and positions. This library offers flexibility and ease of use for storing, retrieving, and manipulating data within your C++ applications. + +### Classes + +1. **AgentData** + + The `AgentData` class represents data collected for an agent, including their name, actions, positions, and associated IDs. + + **Methods:** + - `StorePositions(cse491::GridPosition pos)`: Stores a grid position for the agent. + - `StoreAction(std::unordered_map action)`: Stores an action for the agent. + - `StoreAgentId(int id)`: Stores an agent ID associated with an action. + - `GetActions() -> std::vector>&`: Retrieves the stored actions. + - `SetActions(const std::vector>& newActions)`: Sets the stored actions to a new set of actions. + - `GetPositionSize() const -> int`: Gets the size of the stored grid positions. + - `GetAgentIds() const -> std::vector`: Gets the agent IDs associated with the stored actions. + +2. **DataReceiver\** + + The `DataReceiver` class template provides a generic way to store and retrieve data objects of a specified type. + + **Methods:** + - `StoreData(T obj)`: Stores a data object of type T. + - `getStorage() -> std::vector&`: Retrieves the stored data objects. + +3. **AgentReceiver** + + The `AgentReceiver` class extends `DataReceiver` and provides specific functionality for storing `AgentData` objects along with grid positions and last action IDs. + + **Methods:** + - `StoreData(cse491::GridPosition pos, int last_action)`: Stores a grid position and last action ID associated with an agent. + - `GetPositionSize() -> int`: Gets the position size of the last stored `AgentData` object. + - `IsEmpty() -> bool`: Checks if the storage is empty. + +### Usage + +To use the **DataCollection** namespace in your C++ application, include the appropriate header files and create instances of the classes as needed. Make sure to follow the specific methods and their parameters as outlined in the class descriptions above. + +```cpp +#include +#include +#include + +// Example Usage +DataCollection::AgentData agent; +agent.StorePositions(cse491::GridPosition(1, 2)); +agent.StoreAction({{"up", 1}}); +agent.StoreAgentId(101); + +DataCollection::AgentReceiver agentReceiver; +agentReceiver.StoreData(cse491::GridPosition(3, 4), 102); +int positionSize = agentReceiver.GetPositionSize(); +bool isEmpty = agentReceiver.IsEmpty(); +``` + +### Installation + +To use this library, simply include the necessary header files in your project. Ensure that you have C++11 or later enabled in your compiler settings. + +### Contributing + +Feel free to contribute by reporting issues, suggesting features, or submitting pull requests. We welcome any contributions that can improve the functionality, performance, or usability of this library. + +### License + +This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details. + +--- diff --git a/source/DataCollection/AgentData.hpp b/source/DataCollection/AgentData.hpp index dc19db6c..cc0c88f6 100644 --- a/source/DataCollection/AgentData.hpp +++ b/source/DataCollection/AgentData.hpp @@ -1,9 +1,9 @@ #pragma once #include +#include #include #include -#include "DoubleLinkedList.hpp" #include "../core/GridPosition.hpp" namespace DataCollection @@ -14,10 +14,10 @@ namespace DataCollection class AgentData { private: std::string name; ///< The name of the agent. - std::vector action_ids; ///< IDs associated with the agent's actions. - DoubleLinkedList position; ///< Linked list of grid positions. + std::vector actionIds; ///< IDs associated with the agent's actions. + std::vector position; ///list of grid positions. std::vector> actions; ///< Vector of action maps. - int position_size = 0; ///< Current size of the position data. + int positionSize = 0; ///< Current size of the position data. public: /** @@ -35,8 +35,7 @@ namespace DataCollection * @param pos The grid position to be stored. */ void StorePositions(cse491::GridPosition pos) { - position.add_node(pos); - position_size += 1; + position.push_back(pos); } /** @@ -52,7 +51,7 @@ namespace DataCollection * @param id The agent ID to be stored. */ void StoreAgentId(int id) { - action_ids.push_back(id); + actionIds.push_back(id); } /** @@ -76,7 +75,7 @@ namespace DataCollection * @return The number of stored grid positions. */ int GetPositionSize() const { - return position_size; + return position.size(); } /** @@ -84,7 +83,7 @@ namespace DataCollection * @return The vector of agent IDs. */ auto GetAgentIds() const { - return action_ids; + return actionIds; } }; } // namespace DataCollection \ No newline at end of file diff --git a/source/DataCollection/AgentReciever.hpp b/source/DataCollection/AgentReciever.hpp index c9622f5b..f22e0c05 100644 --- a/source/DataCollection/AgentReciever.hpp +++ b/source/DataCollection/AgentReciever.hpp @@ -19,31 +19,17 @@ namespace DataCollection { * @param pos The grid position to be stored. * @param last_action The last action ID associated with the agent. */ - void store_data(cse491::GridPosition pos, int last_action) { + void StoreData(cse491::GridPosition pos, int last_action) { AgentData agent; agent.StorePositions(pos); agent.StoreAgentId(last_action); - storage.push_back(agent); } - - /** - * @brief Gets the position size of the last stored AgentData object. - * - * @return The position size of the last stored AgentData object. - */ - int get_position_size() { - if (!storage.empty()) { - return storage.back().GetPositionSize(); - } - return 0; - } - /** * @brief Checks if the storage is empty. * * @return True if the storage is empty, false otherwise. */ - bool is_empty() { + bool IsEmpty() { return storage.empty(); } }; diff --git a/source/DataCollection/DataReceiver.hpp b/source/DataCollection/DataReceiver.hpp index c4b1117f..84eb6e77 100644 --- a/source/DataCollection/DataReceiver.hpp +++ b/source/DataCollection/DataReceiver.hpp @@ -22,14 +22,6 @@ namespace DataCollection { */ virtual ~DataReceiver() = default; - /** - * @brief Stores a data object of type T. - * @param obj The data object to be stored. - */ - inline void store_data(T obj) { - storage.push_back(obj); - } - /** * @brief Retrieves the stored data objects. * @return Reference to the vector containing stored data objects. @@ -38,6 +30,10 @@ namespace DataCollection { return storage; } + void StoreIntoStorage(T obj){ + storage.push_back(obj); + } + protected: std::vector storage; ///< Vector to store data objects of type T. }; diff --git a/source/DataCollection/DoubleLinkedList.hpp b/source/DataCollection/DoubleLinkedList.hpp deleted file mode 100644 index 94d351ca..00000000 --- a/source/DataCollection/DoubleLinkedList.hpp +++ /dev/null @@ -1,110 +0,0 @@ -#pragma once - -#include -#include - -namespace DataCollection { - - /** - * @brief A node to hold data for a doubly linked list. - * @tparam T Type of data this node holds. - */ - template - class Node { - public: - T value; ///< Value held by the node. - std::shared_ptr> next; ///< Pointer to the next node. - std::shared_ptr> prev; ///< Pointer to the previous node. - - /** - * @brief Constructs a node with the given value. - * @param val The value to be stored in the node. - */ - Node(const T& val) : value(val), next(nullptr), prev(nullptr) { } - }; - - /** - * @brief Implementation of a doubly linked list. - * @tparam T Type of the data this list will hold. - */ - template - class DoubleLinkedList { - private: - int size = 0; ///< Size of the linked list. - std::shared_ptr> head; ///< Pointer to the first node in the list. - std::shared_ptr> tail; ///< Pointer to the last node in the list. - - public: - /** - * @brief Default constructor for DoubleLinkedList class. - */ - DoubleLinkedList(): head(nullptr), tail(nullptr) { } - - /** - * @brief Get the size of this list. - * @return Size of this list as an integer. - */ - int getSize() const { - return size; - } - - /** - * @brief Get the head node for this list. - * @return Shared pointer to the head node. - */ - std::shared_ptr> getHead() const { - return head; - } - - /** - * @brief Get the tail node for this list. - * @return Shared pointer to the tail node. - */ - std::shared_ptr> getTail() const { - return tail; - } - - /** - * @brief Create a new node with the given value and add it to the back of the list. - * @param val Value for the new node to add. - */ - void add_node(const T& val) { - auto node = std::make_shared>(val); - - if (tail == nullptr) { - head = node; - tail = node; - } else { - node->prev = tail; - tail->next = node; - tail = node; - } - - size++; - } - - /** - * @brief Remove a node from the back of the list. - * @return A shared pointer to the removed node, or nullptr if the list is empty. - */ - std::shared_ptr> remove_node() { - if (tail != nullptr) { - std::shared_ptr> removedNode = tail; - - if (size == 1) { - head = nullptr; - tail = nullptr; - } else { - tail = tail->prev; - tail->next = nullptr; - } - - size--; - - return removedNode; - } - - return nullptr; - } - }; -} \ No newline at end of file diff --git a/source/core/WorldBase.hpp b/source/core/WorldBase.hpp index 8393c790..7a61daec 100644 --- a/source/core/WorldBase.hpp +++ b/source/core/WorldBase.hpp @@ -139,7 +139,7 @@ class DataReceiver; void CollectData() { auto & agent = agent_set.at(2); - agent_receiver->store_data(agent->GetPosition(), agent->GetActionResult()); + agent_receiver->StoreData(agent->GetPosition(), agent->GetActionResult()); } /// @brief UpdateWorld() is run after every agent has a turn. diff --git a/tests/unit/DataCollection/AgentReceiverTest.cpp b/tests/unit/DataCollection/AgentReceiverTest.cpp index ea22901c..45fe3da7 100644 --- a/tests/unit/DataCollection/AgentReceiverTest.cpp +++ b/tests/unit/DataCollection/AgentReceiverTest.cpp @@ -11,24 +11,6 @@ TEST_CASE("AgentRecieverConstruction", "[AgentRecieverTest]") { DataCollection::AgentReceiver agent_reciever; - CHECK(agent_reciever.is_empty()); + CHECK(agent_reciever.IsEmpty()); } - -TEST_CASE("AgentRecieverTest", "[AgentRecieverTest]") -{ - DataCollection::AgentReceiver agent_reciever; - cse491::GridPosition pos1(1, 1); - cse491::GridPosition pos2(2, 2); - cse491::GridPosition pos3(3, 3); - cse491::GridPosition pos4(4, 4); - - agent_reciever.store_data(pos1, 0); - CHECK(agent_reciever.get_position_size() == 1); - agent_reciever.store_data(pos2, 0); - CHECK(agent_reciever.get_position_size() == 1); - agent_reciever.store_data(pos3, 0); - CHECK(agent_reciever.get_position_size() == 1); - agent_reciever.store_data(pos4, 0); - CHECK(agent_reciever.get_position_size() == 1); -} \ No newline at end of file diff --git a/tests/unit/DataCollection/DataReceiverTest.cpp b/tests/unit/DataCollection/DataReceiverTest.cpp index 785c806b..62f6c11c 100644 --- a/tests/unit/DataCollection/DataReceiverTest.cpp +++ b/tests/unit/DataCollection/DataReceiverTest.cpp @@ -14,9 +14,9 @@ TEMPLATE_TEST_CASE("DataReceiver class tests", "[DataReceiver][template]", int, DataCollection::DataReceiver dataReceiver; SECTION("Test storing and retrieving data") { - dataReceiver.store_data(42); - dataReceiver.store_data(321); - dataReceiver.store_data(123); + dataReceiver.StoreIntoStorage(42); + dataReceiver.StoreIntoStorage(321); + dataReceiver.StoreIntoStorage(123); std::vector storedData = dataReceiver.getStorage(); REQUIRE(storedData.size() == 3); diff --git a/tests/unit/DataCollection/DoubleLinkedList.cpp b/tests/unit/DataCollection/DoubleLinkedList.cpp deleted file mode 100644 index 267813cc..00000000 --- a/tests/unit/DataCollection/DoubleLinkedList.cpp +++ /dev/null @@ -1,58 +0,0 @@ -/** - * This file is part of the Fall 2023, CSE 491 course project. - * @brief Unit tests for DoubleLinkedList.hpp in source/DataCollection - **/ - -// Catch2 -#define CATCH_CONFIG_MAIN -#include - -// Class project -#include "DataCollection/DoubleLinkedList.hpp" - -TEST_CASE("DoubleLinkedList Construction", "[DataCollection][DLL]") { - DataCollection::DoubleLinkedList list; - CHECK(list.getHead() == nullptr); - CHECK(list.getTail() == nullptr); - CHECK(list.getSize() == 0); -} - -TEST_CASE("DoubleLinkedList Adding Values", "[DataCollection][DLL]") { - DataCollection::DoubleLinkedList list; - list.add_node(1); - list.add_node(2); - list.add_node(3); - CHECK(list.getHead()->value == 1); - CHECK(list.getTail()->value == 3); - CHECK(list.getSize() == 3); -} - -TEST_CASE("DoubleLinkedList Removing Values", "[DataCollection][DLL]") { - DataCollection::DoubleLinkedList list; - list.add_node(1); - CHECK(list.getSize() == 1); - CHECK(list.getHead()->value == 1); - CHECK(list.getTail()->value == 1); - - auto value = list.remove_node(); - CHECK(list.getSize() == 0); - CHECK(list.getHead() == nullptr); - CHECK(list.getTail() == nullptr); - CHECK(value->value == 1); - - // Check removing after empty is nullptr - CHECK(list.remove_node() == nullptr); -} - -TEST_CASE("DoubleLinkedList Traversing List", "[DataCollection][DLL]") { - DataCollection::DoubleLinkedList list; - list.add_node(1); - list.add_node(2); - list.add_node(3); - - auto itr = list.getHead(); - while (itr != nullptr) { - itr = itr->next; - } - CHECK(itr == nullptr); -} From 7844a164d3c896f90fdd64116ae263f6bb247eba Mon Sep 17 00:00:00 2001 From: Dominick Radcliffe Date: Thu, 12 Oct 2023 22:47:43 -0400 Subject: [PATCH 38/42] Fix AgentReceiver crashing the program --- source/DataCollection/AgentReciever.hpp | 9 +-------- source/DataCollection/DataReceiver.hpp | 14 +++++++++++++- source/core/WorldBase.hpp | 5 +++++ 3 files changed, 19 insertions(+), 9 deletions(-) diff --git a/source/DataCollection/AgentReciever.hpp b/source/DataCollection/AgentReciever.hpp index f22e0c05..b4c1ae53 100644 --- a/source/DataCollection/AgentReciever.hpp +++ b/source/DataCollection/AgentReciever.hpp @@ -23,14 +23,7 @@ namespace DataCollection { AgentData agent; agent.StorePositions(pos); agent.StoreAgentId(last_action); - } - /** - * @brief Checks if the storage is empty. - * - * @return True if the storage is empty, false otherwise. - */ - bool IsEmpty() { - return storage.empty(); + StoreIntoStorage(agent); } }; } // namespace DataCollection \ No newline at end of file diff --git a/source/DataCollection/DataReceiver.hpp b/source/DataCollection/DataReceiver.hpp index 84eb6e77..8862ec10 100644 --- a/source/DataCollection/DataReceiver.hpp +++ b/source/DataCollection/DataReceiver.hpp @@ -30,11 +30,23 @@ namespace DataCollection { return storage; } + /** + * @brief Store a data object into the storage + * @param obj The data object to store + */ void StoreIntoStorage(T obj){ storage.push_back(obj); } + /** + * @brief Checks if the storage is empty. + * @return True if the storage is empty, false otherwise. + */ + bool IsEmpty() { + return storage.empty(); + } + protected: - std::vector storage; ///< Vector to store data objects of type T. + std::vector storage; ///< Vector to store shared_ptr data objects of type T. }; } // namespace DataCollection diff --git a/source/core/WorldBase.hpp b/source/core/WorldBase.hpp index 7a61daec..dc4f0a31 100644 --- a/source/core/WorldBase.hpp +++ b/source/core/WorldBase.hpp @@ -57,8 +57,13 @@ class DataReceiver; public: WorldBase() { + DataCollection::AgentReceiver receiver; + // The first cell type (ID 0) should be reserved for errors or empty spots in a grid. AddCellType("Unknown", "This is an invalid cell type and should not be reachable."); + + // Set up the agent data receiver + SetAgentReceiver(receiver); } virtual ~WorldBase() = default; From 4f81dd9cde0af339f8ba2f7918d7bf9b02ed606c Mon Sep 17 00:00:00 2001 From: Ayoung Du Date: Thu, 12 Oct 2023 22:50:50 -0400 Subject: [PATCH 39/42] adding GameData and Game Reciever --- source/DataCollection/GameData.hpp | 91 ++++++++++++++++++++++ source/DataCollection/GameReceiver.hpp | 29 +++++++ tests/unit/DataCollection/GameDataTest.cpp | 53 +++++++++++++ 3 files changed, 173 insertions(+) create mode 100644 source/DataCollection/GameData.hpp create mode 100644 source/DataCollection/GameReceiver.hpp create mode 100644 tests/unit/DataCollection/GameDataTest.cpp diff --git a/source/DataCollection/GameData.hpp b/source/DataCollection/GameData.hpp new file mode 100644 index 00000000..45d68201 --- /dev/null +++ b/source/DataCollection/GameData.hpp @@ -0,0 +1,91 @@ +#pragma once +#include "DoubleLinkedList.hpp" +#include +#include"../core/GridPosition.hpp" +namespace DataCollection{ + class GameData{ + private: + /* number of collisions */ + int numOfCol; + + std::vectorcollisions;///< A vector of Collision Data + std::vectorShortestPathAction; ///>ShortestPathPos;///& GetCollisions() const { + return collisions; + } + + /** + * @brief Store a shortest path action. + * @param action Shortest path action to store. + */ + void StoreShortestPathAction(size_t action) { + ShortestPathAction.push_back(action); + } + + /** + * @brief Retrieve the stored shortest path actions. + * @return A constant reference to the vector of shortest path actions. + */ + const std::vector& GetShortestPathActions() const { + return ShortestPathAction; + } + + /** + * @brief Store a shortest path position. + * @param position Shortest path position to store. + */ + void StoreShortestPathPos(const DoubleLinkedList& position) { + ShortestPathPos.push_back(position); + } + + /** + * @brief Retrieve the stored shortest path positions. + * @return A constant reference to the vector of shortest path positions. + */ + const std::vector>& GetShortestPathPos() const { + return ShortestPathPos; + } + }; + } + + diff --git a/source/DataCollection/GameReceiver.hpp b/source/DataCollection/GameReceiver.hpp new file mode 100644 index 00000000..3508fa73 --- /dev/null +++ b/source/DataCollection/GameReceiver.hpp @@ -0,0 +1,29 @@ +#pragma once + +#include +#include "GameData.hpp" +#include "DataReceiver.hpp" +#include "../core/GridPosition.hpp" +#include +namespace DataCollection { + + class GameReceiver : public DataReceiver { + public: + GameReceiver() = default; + ~GameReceiver() override = default; + + // You can override or add methods specific to GameReceiver here. + + void DebugPrint() override { + // Implement the DebugPrint function for GameReceiver + for (const auto& data : this->storage) { + std::cout << "Number of collisions: " << data.numOfCol << std::endl; + // You can add more details for printing actions and positions. + } + } + void store_GameData(const GameData& gameData) { + + this->storage.push_back(gameData); + } + }; +} \ No newline at end of file diff --git a/tests/unit/DataCollection/GameDataTest.cpp b/tests/unit/DataCollection/GameDataTest.cpp new file mode 100644 index 00000000..91e269a5 --- /dev/null +++ b/tests/unit/DataCollection/GameDataTest.cpp @@ -0,0 +1,53 @@ +/** + * This file is part of the Fall 2023, CSE 491 course project. + * @brief Unit tests for GameData.hpp in source/DataCollection + **/ + +// Catch2 +#define CATCH_CONFIG_MAIN +#include + +// Class project +#include "DataCollection/DoubleLinkedList.hpp" +#include "DataCollection/GameData.hpp" +#include "DataCollection/DoubleLinkedList.hpp" +TEST_CASE("GameDataTest", "[DataCollection][GameData]") { + DataCollection::GameData data; + // Testing numOfCol getter and setter + SECTION("Test numOfCol getter and setter") { + data.setNumOfCol(5); + CHECK(data.getNumOfCol() == 5); + } + + // Testing collision data storage and retrieval + SECTION("Test StoreCollision and GetCollisions") { + data.StoreCollision(10); + data.StoreCollision(20); + CHECK(data.GetCollisions().size() == 2); + CHECK(data.GetCollisions()[0] == 10); + CHECK(data.GetCollisions()[1] == 20); + } + + // Testing shortest path action storage and retrieval + SECTION("Test StoreShortestPathAction and GetShortestPathActions") { + data.StoreShortestPathAction(3); + data.StoreShortestPathAction(4); + CHECK(data.GetShortestPathActions().size() == 2); + CHECK(data.GetShortestPathActions()[0] == 3); + CHECK(data.GetShortestPathActions()[1] == 4); + } + + // Testing shortest path position storage and retrieval + SECTION("Test StoreShortestPathPos and GetShortestPathPos") { + DataCollection::DoubleLinkedList pos1; + pos1.add_node(cse491::GridPosition(1, 1)); + data.StoreShortestPathPos(pos1); + + DataCollection::DoubleLinkedList pos2; + pos2.add_node(cse491::GridPosition(2, 2)); + data.StoreShortestPathPos(pos2); + + CHECK(data.GetShortestPathPos().size() == 2); + // Here you might also want to check the actual positions inside the stored LinkedLists + } +} From 8730ba2fd0cb800dac1abd59ee611a86f3956e1d Mon Sep 17 00:00:00 2001 From: Ayoung Du Date: Thu, 12 Oct 2023 23:03:04 -0400 Subject: [PATCH 40/42] bug fixing --- source/DataCollection/GameData.hpp | 18 ++++++------ source/DataCollection/GameReceiver.hpp | 38 ++++++++++++++++++-------- 2 files changed, 35 insertions(+), 21 deletions(-) diff --git a/source/DataCollection/GameData.hpp b/source/DataCollection/GameData.hpp index 45d68201..1c194a4c 100644 --- a/source/DataCollection/GameData.hpp +++ b/source/DataCollection/GameData.hpp @@ -1,5 +1,5 @@ #pragma once -#include "DoubleLinkedList.hpp" + #include #include"../core/GridPosition.hpp" namespace DataCollection{ @@ -9,8 +9,8 @@ namespace DataCollection{ int numOfCol; std::vectorcollisions;///< A vector of Collision Data - std::vectorShortestPathAction; ///>ShortestPathPos;///shortestPathAction; ///shortestPathPos;///& GetShortestPathActions() const { - return ShortestPathAction; + return shortestPathAction; } /** * @brief Store a shortest path position. * @param position Shortest path position to store. */ - void StoreShortestPathPos(const DoubleLinkedList& position) { - ShortestPathPos.push_back(position); + void StoreShortestPathPos(const cse491::GridPosition pos) { + shortestPathPos.push_back(pos); } /** * @brief Retrieve the stored shortest path positions. * @return A constant reference to the vector of shortest path positions. */ - const std::vector>& GetShortestPathPos() const { - return ShortestPathPos; + const std::vector GetShortestPathPos() const { + return shortestPathPos; } }; } diff --git a/source/DataCollection/GameReceiver.hpp b/source/DataCollection/GameReceiver.hpp index 3508fa73..23baf36a 100644 --- a/source/DataCollection/GameReceiver.hpp +++ b/source/DataCollection/GameReceiver.hpp @@ -7,23 +7,37 @@ #include namespace DataCollection { + /** + * @brief Represents a receiver specifically designed to handle game-related data. + * + * GameReceiver is an extension of the generic DataReceiver, specialized to handle + * data related to games. It provides methods for storing and processing game-specific + * data types such as GameData. + */ class GameReceiver : public DataReceiver { public: + /** + * @brief Default constructor for the GameReceiver class. + */ GameReceiver() = default; - ~GameReceiver() override = default; - - // You can override or add methods specific to GameReceiver here. - void DebugPrint() override { - // Implement the DebugPrint function for GameReceiver - for (const auto& data : this->storage) { - std::cout << "Number of collisions: " << data.numOfCol << std::endl; - // You can add more details for printing actions and positions. - } - } - void store_GameData(const GameData& gameData) { + /** + * @brief Destructor for the GameReceiver class. + */ + ~GameReceiver() override = default; + /** + * @brief Store a GameData object into the receiver's storage. + * + * This method allows for the addition of game-specific data into the + * receiver's storage for further processing or analysis. + * + * @param gameData The GameData object to be stored. + */ + void store_GameData(const GameData& gameData) { this->storage.push_back(gameData); } }; -} \ No newline at end of file + +} +///< Doc stirngs are generated by ChatGpt \ No newline at end of file From 8037f31d4343e9cf3b8d84be4f1c78cab40c00c9 Mon Sep 17 00:00:00 2001 From: YonesMussa Date: Fri, 13 Oct 2023 15:18:12 -0400 Subject: [PATCH 41/42] last changes broke the program. fixed in this commits --- source/DataCollection/AgentData.hpp | 1 - tests/unit/DataCollection/AgentDataTest.cpp | 68 +++++++++---------- tests/unit/DataCollection/CMakeLists.txt | 3 +- .../unit/DataCollection/DataReceiverTest.cpp | 1 - tests/unit/DataCollection/GameDataTest.cpp | 17 +---- tests/unit/DataCollection/targets.txt | 1 - 6 files changed, 37 insertions(+), 54 deletions(-) diff --git a/source/DataCollection/AgentData.hpp b/source/DataCollection/AgentData.hpp index cc0c88f6..78252ee2 100644 --- a/source/DataCollection/AgentData.hpp +++ b/source/DataCollection/AgentData.hpp @@ -17,7 +17,6 @@ namespace DataCollection std::vector actionIds; ///< IDs associated with the agent's actions. std::vector position; ///list of grid positions. std::vector> actions; ///< Vector of action maps. - int positionSize = 0; ///< Current size of the position data. public: /** diff --git a/tests/unit/DataCollection/AgentDataTest.cpp b/tests/unit/DataCollection/AgentDataTest.cpp index cf9bbd53..77f8e301 100644 --- a/tests/unit/DataCollection/AgentDataTest.cpp +++ b/tests/unit/DataCollection/AgentDataTest.cpp @@ -7,38 +7,38 @@ #include "DataCollection/AgentData.hpp" TEST_CASE("AgentData class tests", ) { - SECTION("Test storing positions and getting position size") { - DataCollection::AgentData agent; - cse491::GridPosition pos1{1, 2}; - cse491::GridPosition pos2{3, 4}; - - agent.StorePositions(pos1); - agent.StorePositions(pos2); - - REQUIRE(agent.GetPositionSize() == 2); - - SECTION("Test storing actions and getting actions") { - std::unordered_map action1{{"up", 1}}; - std::unordered_map action2{{"down", 2}}; - - agent.StoreAction(action1); - agent.StoreAction(action2); - - std::vector> actions = agent.GetActions(); - REQUIRE(actions.size() == 2); - - REQUIRE(actions[0]["up"] == 1); - REQUIRE(actions[1]["down"] == 2); - } - - SECTION("Test storing agent IDs") { - agent.StoreAgentId(101); - agent.StoreAgentId(102); - - std::vector ids = agent.GetAgentIds(); - REQUIRE(ids.size() == 2); - REQUIRE(ids[0] == 101); - REQUIRE(ids[1] == 102); - } - } +// SECTION("Test storing positions and getting position size") { +// DataCollection::AgentData agent; +// cse491::GridPosition pos1{1, 2}; +// cse491::GridPosition pos2{3, 4}; +// +// agent.StorePositions(pos1); +// agent.StorePositions(pos2); +// +// REQUIRE(agent.GetPositionSize() == 2); +// +// SECTION("Test storing actions and getting actions") { +// std::unordered_map action1{{"up", 1}}; +// std::unordered_map action2{{"down", 2}}; +// +// agent.StoreAction(action1); +// agent.StoreAction(action2); +// +// std::vector> actions = agent.GetActions(); +// REQUIRE(actions.size() == 2); +// +// REQUIRE(actions[0]["up"] == 1); +// REQUIRE(actions[1]["down"] == 2); +// } +// +// SECTION("Test storing agent IDs") { +// agent.StoreAgentId(101); +// agent.StoreAgentId(102); +// +// std::vector ids = agent.GetAgentIds(); +// REQUIRE(ids.size() == 2); +// REQUIRE(ids[0] == 101); +// REQUIRE(ids[1] == 102); +// } +// } } \ No newline at end of file diff --git a/tests/unit/DataCollection/CMakeLists.txt b/tests/unit/DataCollection/CMakeLists.txt index 6efde9bc..02664f83 100644 --- a/tests/unit/DataCollection/CMakeLists.txt +++ b/tests/unit/DataCollection/CMakeLists.txt @@ -10,7 +10,8 @@ set(MAIN_SOURCE_DIR ../${MAIN_SOURCE_DIR}) foreach(TARGET IN LISTS TARGETS) add_executable(tests-unit-core-${TARGET} ${TARGET}.cpp - AgentDataTest.cpp) + AgentDataTest.cpp + GameDataTest.cpp) target_include_directories(tests-unit-core-${TARGET} PRIVATE ${MAIN_SOURCE_DIR} diff --git a/tests/unit/DataCollection/DataReceiverTest.cpp b/tests/unit/DataCollection/DataReceiverTest.cpp index 62f6c11c..bfa49387 100644 --- a/tests/unit/DataCollection/DataReceiverTest.cpp +++ b/tests/unit/DataCollection/DataReceiverTest.cpp @@ -1,6 +1,5 @@ /** * This file is part of the Fall 2023, CSE 491 course project. - * @brief Unit tests for DoubleLinkedList.hpp in source/DataCollection **/ // Catch2 diff --git a/tests/unit/DataCollection/GameDataTest.cpp b/tests/unit/DataCollection/GameDataTest.cpp index 91e269a5..69cf4cd2 100644 --- a/tests/unit/DataCollection/GameDataTest.cpp +++ b/tests/unit/DataCollection/GameDataTest.cpp @@ -8,9 +8,7 @@ #include // Class project -#include "DataCollection/DoubleLinkedList.hpp" #include "DataCollection/GameData.hpp" -#include "DataCollection/DoubleLinkedList.hpp" TEST_CASE("GameDataTest", "[DataCollection][GameData]") { DataCollection::GameData data; // Testing numOfCol getter and setter @@ -36,18 +34,5 @@ TEST_CASE("GameDataTest", "[DataCollection][GameData]") { CHECK(data.GetShortestPathActions()[0] == 3); CHECK(data.GetShortestPathActions()[1] == 4); } - - // Testing shortest path position storage and retrieval - SECTION("Test StoreShortestPathPos and GetShortestPathPos") { - DataCollection::DoubleLinkedList pos1; - pos1.add_node(cse491::GridPosition(1, 1)); - data.StoreShortestPathPos(pos1); - - DataCollection::DoubleLinkedList pos2; - pos2.add_node(cse491::GridPosition(2, 2)); - data.StoreShortestPathPos(pos2); - - CHECK(data.GetShortestPathPos().size() == 2); - // Here you might also want to check the actual positions inside the stored LinkedLists - } + } diff --git a/tests/unit/DataCollection/targets.txt b/tests/unit/DataCollection/targets.txt index a0528a7f..8ad51a3f 100644 --- a/tests/unit/DataCollection/targets.txt +++ b/tests/unit/DataCollection/targets.txt @@ -1,3 +1,2 @@ -DoubleLinkedList DataReceiverTest AgentReceiverTest \ No newline at end of file From 2b12a560b0a5394d1ee57497f00369d79691886f Mon Sep 17 00:00:00 2001 From: Ahmad Arman Newaz Date: Wed, 18 Oct 2023 20:04:01 -0400 Subject: [PATCH 42/42] Merge branch 'main' of https://github.com/dradcl/cse_491_fall_2023_group2 # Conflicts: # source/DataCollection/DataReceiver.hpp --- source/DataCollection/AgentData.hpp | 14 +++- source/DataCollection/AgentReciever.hpp | 33 +++++++-- source/core/AgentBase.hpp | 7 +- source/core/WorldBase.hpp | 8 ++- tests/unit/DataCollection/AgentDataTest.cpp | 68 +++++++++---------- .../unit/DataCollection/AgentReceiverTest.cpp | 12 ++++ 6 files changed, 96 insertions(+), 46 deletions(-) diff --git a/source/DataCollection/AgentData.hpp b/source/DataCollection/AgentData.hpp index 78252ee2..0d92bbd2 100644 --- a/source/DataCollection/AgentData.hpp +++ b/source/DataCollection/AgentData.hpp @@ -2,6 +2,7 @@ #include #include +#include #include #include #include "../core/GridPosition.hpp" @@ -16,13 +17,14 @@ namespace DataCollection std::string name; ///< The name of the agent. std::vector actionIds; ///< IDs associated with the agent's actions. std::vector position; ///list of grid positions. - std::vector> actions; ///< Vector of action maps. + std::vector> actions; ///< Vector of action maps. public: /** * @brief Default constructor for AgentData class. */ - AgentData() = default; +// AgentData() = default; + AgentData(std::string name) : name(std::move(name)) {} /** * @brief Destructor for AgentData class. @@ -61,6 +63,10 @@ namespace DataCollection return actions; } + int GetActionSize() const { + return actions.size(); + } + /** * @brief Sets the stored actions to a new set of actions. * @param newActions The new set of actions to be stored. @@ -84,5 +90,9 @@ namespace DataCollection auto GetAgentIds() const { return actionIds; } + + std::string GetName() const { + return name; + } }; } // namespace DataCollection \ No newline at end of file diff --git a/source/DataCollection/AgentReciever.hpp b/source/DataCollection/AgentReciever.hpp index b4c1ae53..d4fa7266 100644 --- a/source/DataCollection/AgentReciever.hpp +++ b/source/DataCollection/AgentReciever.hpp @@ -12,6 +12,9 @@ namespace DataCollection { * for storing AgentData objects along with grid positions and last action IDs. */ class AgentReceiver : public DataReceiver { + private: + std::unordered_map> agent_map; + public: /** * @brief Stores a grid position and last action ID associated with an agent. @@ -19,11 +22,31 @@ namespace DataCollection { * @param pos The grid position to be stored. * @param last_action The last action ID associated with the agent. */ - void StoreData(cse491::GridPosition pos, int last_action) { - AgentData agent; - agent.StorePositions(pos); - agent.StoreAgentId(last_action); - StoreIntoStorage(agent); + void StoreData(std::string name, cse491::GridPosition pos, int last_action) { + std::shared_ptr agent = GetAgent(name); + agent->StorePositions(pos); +// agent->StoreAction(last_action); + StoreIntoStorage(*agent); + } + + void AddAgent(const std::string& name) { + AgentData agent(name); + agent_map[name] = std::make_shared(agent); + } + + std::shared_ptr GetAgent(const std::string& name) + { + if (agent_map.find(name)==agent_map.end()) { + AddAgent(name); + return agent_map[name]; + } + else { + return agent_map[name]; + } + } + + AgentData GetAgentData(const std::string& name) { + return *agent_map[name]; } }; } // namespace DataCollection \ No newline at end of file diff --git a/source/core/AgentBase.hpp b/source/core/AgentBase.hpp index 552ce3e8..d6e3f988 100644 --- a/source/core/AgentBase.hpp +++ b/source/core/AgentBase.hpp @@ -9,6 +9,7 @@ #include #include #include +#include #include "Data.hpp" #include "Entity.hpp" @@ -25,6 +26,7 @@ namespace cse491 { int action_result=1; ///< Usually a one (success) or zero (failure). + int action; // The action that the agent is currently performing public: AgentBase(size_t id, const std::string & name) : Entity(id, name) { } ~AgentBase() = default; // Already virtual from Entity @@ -47,6 +49,7 @@ namespace cse491 { return action_map.count(action_name); } + /// Return an action ID *if* that action exists, otherwise return zero. [[nodiscard]] size_t GetActionID(const std::string & action_name) const { auto it = action_map.find(action_name); @@ -54,8 +57,8 @@ namespace cse491 { return it->second; } - void storeActionMap() { - DataCollection::AgentData data; + void storeActionMap(std::string name) { + DataCollection::AgentData data(name); data.StoreAction(action_map); } diff --git a/source/core/WorldBase.hpp b/source/core/WorldBase.hpp index dc4f0a31..817084dc 100644 --- a/source/core/WorldBase.hpp +++ b/source/core/WorldBase.hpp @@ -31,6 +31,7 @@ class DataReceiver; item_set_t item_set; ///< Vector of pointers to non-agent entities agent_set_t agent_set; ///< Vector of pointers to agent entities + std::string action; // The action that the agent is currently performing std::shared_ptr agent_receiver; @@ -135,7 +136,7 @@ class DataReceiver; for (const auto & agent_ptr : agent_set) { size_t action_id = agent_ptr->SelectAction(main_grid, type_options, item_set, agent_set); - agent_ptr->storeActionMap(); + agent_ptr->storeActionMap(agent_ptr->GetName()); int result = DoAction(*agent_ptr, action_id); agent_ptr->SetActionResult(result); } @@ -143,8 +144,9 @@ class DataReceiver; } void CollectData() { - auto & agent = agent_set.at(2); - agent_receiver->StoreData(agent->GetPosition(), agent->GetActionResult()); + for (const auto & agent_ptr : agent_set) { + agent_receiver->StoreData(agent_ptr->GetName(), agent_ptr->GetPosition(), agent_ptr->GetActionResult()); + } } /// @brief UpdateWorld() is run after every agent has a turn. diff --git a/tests/unit/DataCollection/AgentDataTest.cpp b/tests/unit/DataCollection/AgentDataTest.cpp index 77f8e301..1324272d 100644 --- a/tests/unit/DataCollection/AgentDataTest.cpp +++ b/tests/unit/DataCollection/AgentDataTest.cpp @@ -7,38 +7,38 @@ #include "DataCollection/AgentData.hpp" TEST_CASE("AgentData class tests", ) { -// SECTION("Test storing positions and getting position size") { -// DataCollection::AgentData agent; -// cse491::GridPosition pos1{1, 2}; -// cse491::GridPosition pos2{3, 4}; -// -// agent.StorePositions(pos1); -// agent.StorePositions(pos2); -// -// REQUIRE(agent.GetPositionSize() == 2); -// -// SECTION("Test storing actions and getting actions") { -// std::unordered_map action1{{"up", 1}}; -// std::unordered_map action2{{"down", 2}}; -// -// agent.StoreAction(action1); -// agent.StoreAction(action2); -// -// std::vector> actions = agent.GetActions(); -// REQUIRE(actions.size() == 2); -// -// REQUIRE(actions[0]["up"] == 1); -// REQUIRE(actions[1]["down"] == 2); -// } -// -// SECTION("Test storing agent IDs") { -// agent.StoreAgentId(101); -// agent.StoreAgentId(102); -// -// std::vector ids = agent.GetAgentIds(); -// REQUIRE(ids.size() == 2); -// REQUIRE(ids[0] == 101); -// REQUIRE(ids[1] == 102); -// } -// } + SECTION("Test storing positions and getting position size") { + DataCollection::AgentData agent("Agent1"); + cse491::GridPosition pos1{1, 2}; + cse491::GridPosition pos2{3, 4}; + + agent.StorePositions(pos1); + agent.StorePositions(pos2); + + REQUIRE(agent.GetPositionSize() == 2); + + SECTION("Test storing actions and getting actions") { + std::unordered_map action1{{"up", 1}}; + std::unordered_map action2{{"down", 2}}; + + agent.StoreAction(action1); + agent.StoreAction(action2); + + std::vector> actions = agent.GetActions(); + REQUIRE(actions.size() == 2); + + REQUIRE(actions[0]["up"] == 1); + REQUIRE(actions[1]["down"] == 2); + } + + SECTION("Test storing agent IDs") { + agent.StoreAgentId(101); + agent.StoreAgentId(102); + + std::vector ids = agent.GetAgentIds(); + REQUIRE(ids.size() == 2); + REQUIRE(ids[0] == 101); + REQUIRE(ids[1] == 102); + } + } } \ No newline at end of file diff --git a/tests/unit/DataCollection/AgentReceiverTest.cpp b/tests/unit/DataCollection/AgentReceiverTest.cpp index 45fe3da7..f4ff9b0b 100644 --- a/tests/unit/DataCollection/AgentReceiverTest.cpp +++ b/tests/unit/DataCollection/AgentReceiverTest.cpp @@ -14,3 +14,15 @@ TEST_CASE("AgentRecieverConstruction", "[AgentRecieverTest]") CHECK(agent_reciever.IsEmpty()); } + +TEST_CASE("AgentRecieverStoreData", "[AgentRecieverTest]") +{ + DataCollection::AgentReceiver agent_reciever; + cse491::GridPosition pos{1, 2}; + agent_reciever.StoreData("Agent1",pos, 1); + CHECK_FALSE(agent_reciever.IsEmpty()); + agent_reciever.StoreData("Agent1",pos, 2); + agent_reciever.StoreData("Agent2",pos, 3); + CHECK(agent_reciever.GetAgent("Agent1")->GetPositionSize() == 2); + +}

    eJEQDe@(j$_)ffnfY{%#O_hQ|kjTQ8_5b$n_jk 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"Pacer 2").SetPosition(6,1); world.AddAgent("Interface").SetProperty("char", '@'); + world.Run(); + + GroupTwo::DataReceiver test; + std::cout << test << std::endl; } From ea5af24e1126165f72dcd635a0c03b6f1198010f Mon Sep 17 00:00:00 2001 From: YonesMussa Date: Mon, 25 Sep 2023 12:54:44 -0400 Subject: [PATCH 05/42] fixing the error --- source/DataCollection/DateReceiver.hpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/source/DataCollection/DateReceiver.hpp b/source/DataCollection/DateReceiver.hpp index fde38c9d..9f5dee23 100644 --- a/source/DataCollection/DateReceiver.hpp +++ b/source/DataCollection/DateReceiver.hpp @@ -1,17 +1,18 @@ #include +#include namespace GroupTwo{ + class Entity; + class DataReceiver { public: std::vector storage; - cse491::GridPosition positions; - - DataReceiver() { - storage.push_back(positions); - } + DataReceiver(const cse491::Entity& entity) { + storage.push_back(entity.GetPosition()); + } friend std::ostream& operator<<(std::ostream& os, const DataReceiver& obj) { os << "MyClass data: " << obj.storage[0].GetX(); From 189855fa30095fba03e5bcaa474f4ec2e89411c5 Mon Sep 17 00:00:00 2001 From: YonesMussa Date: Mon, 25 Sep 2023 21:17:58 -0400 Subject: [PATCH 06/42] getting the data to display --- source/DataCollection/DateReceiver.hpp | 3 +-- source/core/WorldBase.hpp | 11 +++++++++++ source/simple | Bin 0 -> 377587 bytes source/simple_main.cpp | 4 ---- 4 files changed, 12 insertions(+), 6 deletions(-) create mode 100755 source/simple diff --git a/source/DataCollection/DateReceiver.hpp b/source/DataCollection/DateReceiver.hpp index 9f5dee23..01b26a6a 100644 --- a/source/DataCollection/DateReceiver.hpp +++ b/source/DataCollection/DateReceiver.hpp @@ -1,5 +1,4 @@ #include -#include namespace GroupTwo{ @@ -11,7 +10,7 @@ namespace GroupTwo{ std::vector storage; DataReceiver(const cse491::Entity& entity) { - storage.push_back(entity.GetPosition()); + storage.push_back(entity.GetPosition().CellX); } friend std::ostream& operator<<(std::ostream& os, const DataReceiver& obj) { diff --git a/source/core/WorldBase.hpp b/source/core/WorldBase.hpp index 0411023b..4ab7f3c9 100644 --- a/source/core/WorldBase.hpp +++ b/source/core/WorldBase.hpp @@ -122,6 +122,13 @@ namespace cse491 { } } + void CollectData(){ + for (auto & agent_ptr : agent_set){ + std::cout << agent_ptr->GetPosition().GetX() << '\n'; + } + + } + /// @brief UpdateWorld() is run after every agent has a turn. /// Override this function to manage background events for a world. virtual void UpdateWorld() { } @@ -131,7 +138,11 @@ namespace cse491 { run_over = false; while (!run_over) { RunAgents(); + + CollectData(); + UpdateWorld(); + } } diff --git a/source/simple b/source/simple new file mode 100755 index 0000000000000000000000000000000000000000..418e39437fdaef97ce1346c535d15b4d1bf7a76c GIT binary patch literal 377587 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