diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/.idea/acl-project.iml b/.idea/acl-project.iml
new file mode 100644
index 0000000000000000000000000000000000000000..d6ebd4805981b8400db3e3291c74a743fef9a824
--- /dev/null
+++ b/.idea/acl-project.iml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="JAVA_MODULE" version="4">
+  <component name="NewModuleRootManager" inherit-compiler-output="true">
+    <exclude-output />
+    <content url="file://$MODULE_DIR$" />
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>
\ No newline at end of file
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a96e06a7ac09c59186e288501fb06734f6fc5b8f
--- /dev/null
+++ b/.idea/compiler.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="CompilerConfiguration">
+    <annotationProcessing>
+      <profile name="Maven default annotation processors profile" enabled="true">
+        <sourceOutputDir name="target/generated-sources/annotations" />
+        <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
+        <outputRelativeToContentRoot value="true" />
+        <module name="MAVENProject" />
+      </profile>
+    </annotationProcessing>
+    <bytecodeTargetLevel>
+      <module name="MAVENProject" target="17" />
+    </bytecodeTargetLevel>
+  </component>
+</project>
\ No newline at end of file
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..2034767f68a2cce985e8b1b522aa0c604d7d0419
--- /dev/null
+++ b/.idea/encodings.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="Encoding">
+    <file url="file://$PROJECT_DIR$/MAVENProject/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/MAVENProject/src/main/resources" charset="UTF-8" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
new file mode 100644
index 0000000000000000000000000000000000000000..712ab9d985c20018a0c97b93d2148ac1ffe588a5
--- /dev/null
+++ b/.idea/jarRepositories.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="RemoteRepositoriesConfiguration">
+    <remote-repository>
+      <option name="id" value="central" />
+      <option name="name" value="Central Repository" />
+      <option name="url" value="https://repo.maven.apache.org/maven2" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="central" />
+      <option name="name" value="Maven Central repository" />
+      <option name="url" value="https://repo1.maven.org/maven2" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="jboss.community" />
+      <option name="name" value="JBoss Community repository" />
+      <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
+    </remote-repository>
+  </component>
+</project>
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000000000000000000000000000000000000..9b66d65b629ab91ae5712e55086cceb4f8803129
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="MavenProjectsManager">
+    <option name="originalFiles">
+      <list>
+        <option value="$PROJECT_DIR$/MAVENProject/pom.xml" />
+      </list>
+    </option>
+  </component>
+</project>
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1f3a7e674d0c59f602ebcebb6439676069a6ca38
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectModuleManager">
+    <modules>
+      <module fileurl="file://$PROJECT_DIR$/MAVENProject/MAVENProject.iml" filepath="$PROJECT_DIR$/MAVENProject/MAVENProject.iml" />
+      <module fileurl="file://$PROJECT_DIR$/.idea/acl-project.iml" filepath="$PROJECT_DIR$/.idea/acl-project.iml" />
+    </modules>
+  </component>
+</project>
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000000000000000000000000000000000000..35eb1ddfbbc029bcab630581847471d7f238ec53
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="VcsDirectoryMappings">
+    <mapping directory="" vcs="Git" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0154b3d1c7d468ac6b5d47453c66c21c9e0cbf31
--- /dev/null
+++ b/.idea/workspace.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="AutoImportSettings">
+    <option name="autoReloadType" value="SELECTIVE" />
+  </component>
+  <component name="ChangeListManager">
+    <list default="true" id="033fb804-6736-4571-bec0-d2b3c3ece987" name="Changes" comment="" />
+    <option name="SHOW_DIALOG" value="false" />
+    <option name="HIGHLIGHT_CONFLICTS" value="true" />
+    <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
+    <option name="LAST_RESOLUTION" value="IGNORE" />
+  </component>
+  <component name="Git.Settings">
+    <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
+  </component>
+  <component name="MarkdownSettingsMigration">
+    <option name="stateVersion" value="1" />
+  </component>
+  <component name="MavenImportPreferences">
+    <option name="generalSettings">
+      <MavenGeneralSettings>
+        <option name="useMavenConfig" value="true" />
+      </MavenGeneralSettings>
+    </option>
+  </component>
+  <component name="ProjectId" id="2IJxXd5Ys1Yqkmkh0OXQYYPdoFz" />
+  <component name="ProjectViewState">
+    <option name="hideEmptyMiddlePackages" value="true" />
+    <option name="showLibraryContents" value="true" />
+  </component>
+  <component name="PropertiesComponent"><![CDATA[{
+  "keyToString": {
+    "RunOnceActivity.OpenProjectViewOnStart": "true",
+    "RunOnceActivity.ShowReadmeOnStart": "true",
+    "last_opened_file_path": "C:/Users/bruno/acl-project/MAVENProject"
+  }
+}]]></component>
+  <component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
+  <component name="TaskManager">
+    <task active="true" id="Default" summary="Default task">
+      <changelist id="033fb804-6736-4571-bec0-d2b3c3ece987" name="Changes" comment="" />
+      <created>1669913527278</created>
+      <option name="number" value="Default" />
+      <option name="presentableId" value="Default" />
+      <updated>1669913527278</updated>
+    </task>
+    <servers />
+  </component>
+  <component name="Vcs.Log.Tabs.Properties">
+    <option name="TAB_STATES">
+      <map>
+        <entry key="MAIN">
+          <value>
+            <State />
+          </value>
+        </entry>
+      </map>
+    </option>
+  </component>
+</project>
\ No newline at end of file
diff --git a/MAVENProject/.classpath b/MAVENProject/.classpath
new file mode 100644
index 0000000000000000000000000000000000000000..83a3b6fa64c1a06525dcee44e5beaa0aeaf8743d
--- /dev/null
+++ b/MAVENProject/.classpath
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" output="target/classes" path="src/main/java">
+		<attributes>
+			<attribute name="optional" value="true"/>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="src" output="target/test-classes" path="src/test/java">
+		<attributes>
+			<attribute name="optional" value="true"/>
+			<attribute name="maven.pomderived" value="true"/>
+			<attribute name="test" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/MAVENProject/.gitignore b/MAVENProject/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..b83d22266ac8aa2f8df2edef68082c789727841d
--- /dev/null
+++ b/MAVENProject/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/MAVENProject/.idea/.gitignore b/MAVENProject/.idea/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..26d33521af10bcc7fd8cea344038eaaeb78d0ef5
--- /dev/null
+++ b/MAVENProject/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/MAVENProject/.idea/.name b/MAVENProject/.idea/.name
new file mode 100644
index 0000000000000000000000000000000000000000..002da1d50b311c4571fbcab32a8f024fb0891e4f
--- /dev/null
+++ b/MAVENProject/.idea/.name
@@ -0,0 +1 @@
+Main.java
\ No newline at end of file
diff --git a/MAVENProject/.idea/compiler.xml b/MAVENProject/.idea/compiler.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a505de900913b081809f7440046d7803203279d0
--- /dev/null
+++ b/MAVENProject/.idea/compiler.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="CompilerConfiguration">
+    <annotationProcessing>
+      <profile name="Maven default annotation processors profile" enabled="true">
+        <sourceOutputDir name="target/generated-sources/annotations" />
+        <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
+        <outputRelativeToContentRoot value="true" />
+        <module name="MAVENProject" />
+      </profile>
+    </annotationProcessing>
+  </component>
+</project>
\ No newline at end of file
diff --git a/MAVENProject/.idea/encodings.xml b/MAVENProject/.idea/encodings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..aa00ffab7828f4818589659c804ec2cfd99baed3
--- /dev/null
+++ b/MAVENProject/.idea/encodings.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="Encoding">
+    <file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/MAVENProject/.idea/jarRepositories.xml b/MAVENProject/.idea/jarRepositories.xml
new file mode 100644
index 0000000000000000000000000000000000000000..712ab9d985c20018a0c97b93d2148ac1ffe588a5
--- /dev/null
+++ b/MAVENProject/.idea/jarRepositories.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="RemoteRepositoriesConfiguration">
+    <remote-repository>
+      <option name="id" value="central" />
+      <option name="name" value="Central Repository" />
+      <option name="url" value="https://repo.maven.apache.org/maven2" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="central" />
+      <option name="name" value="Maven Central repository" />
+      <option name="url" value="https://repo1.maven.org/maven2" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="jboss.community" />
+      <option name="name" value="JBoss Community repository" />
+      <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
+    </remote-repository>
+  </component>
+</project>
\ No newline at end of file
diff --git a/MAVENProject/.idea/misc.xml b/MAVENProject/.idea/misc.xml
new file mode 100644
index 0000000000000000000000000000000000000000..66aeb582178349d52a55fe23fa3233aff537694f
--- /dev/null
+++ b/MAVENProject/.idea/misc.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ExternalStorageConfigurationManager" enabled="true" />
+  <component name="MavenProjectsManager">
+    <option name="originalFiles">
+      <list>
+        <option value="$PROJECT_DIR$/pom.xml" />
+      </list>
+    </option>
+  </component>
+  <component name="ProjectRootManager" version="2" project-jdk-name="openjdk-19" project-jdk-type="JavaSDK" />
+</project>
\ No newline at end of file
diff --git a/MAVENProject/.idea/vcs.xml b/MAVENProject/.idea/vcs.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6c0b8635858dc7ad44b93df54b762707ce49eefc
--- /dev/null
+++ b/MAVENProject/.idea/vcs.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="VcsDirectoryMappings">
+    <mapping directory="$PROJECT_DIR$/.." vcs="Git" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/MAVENProject/.project b/MAVENProject/.project
new file mode 100644
index 0000000000000000000000000000000000000000..39d013eadece75077b074d1a0f0f1ea45b705db0
--- /dev/null
+++ b/MAVENProject/.project
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>MAVENProject</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+	</natures>
+</projectDescription>
diff --git a/MAVENProject/.settings/org.eclipse.core.resources.prefs b/MAVENProject/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..abdea9ac032d4655898933f93050f48bf9581d14
--- /dev/null
+++ b/MAVENProject/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,4 @@
+eclipse.preferences.version=1
+encoding//src/main/java=UTF-8
+encoding//src/main/resources=UTF-8
+encoding/<project>=UTF-8
diff --git a/MAVENProject/.settings/org.eclipse.jdt.core.prefs b/MAVENProject/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..cf2cd4590a7b37a700141633a3f00c030130be1e
--- /dev/null
+++ b/MAVENProject/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,8 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
+org.eclipse.jdt.core.compiler.compliance=17
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.compiler.source=17
diff --git a/MAVENProject/MAVENProject.iml b/MAVENProject/MAVENProject.iml
new file mode 100644
index 0000000000000000000000000000000000000000..56e7bd44e0080667a70cba6321e6fda51c5ec967
--- /dev/null
+++ b/MAVENProject/MAVENProject.iml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_17">
+    <output url="file://$MODULE_DIR$/target/classes" />
+    <output-test url="file://$MODULE_DIR$/target/test-classes" />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
+      <excludeFolder url="file://$MODULE_DIR$/target" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>
\ No newline at end of file
diff --git a/MAVENProject/bin/.gitignore b/MAVENProject/bin/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..b83d22266ac8aa2f8df2edef68082c789727841d
--- /dev/null
+++ b/MAVENProject/bin/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/MAVENProject/bin/.idea/.gitignore b/MAVENProject/bin/.idea/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..26d33521af10bcc7fd8cea344038eaaeb78d0ef5
--- /dev/null
+++ b/MAVENProject/bin/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/MAVENProject/bin/.idea/compiler.xml b/MAVENProject/bin/.idea/compiler.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a505de900913b081809f7440046d7803203279d0
--- /dev/null
+++ b/MAVENProject/bin/.idea/compiler.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="CompilerConfiguration">
+    <annotationProcessing>
+      <profile name="Maven default annotation processors profile" enabled="true">
+        <sourceOutputDir name="target/generated-sources/annotations" />
+        <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
+        <outputRelativeToContentRoot value="true" />
+        <module name="MAVENProject" />
+      </profile>
+    </annotationProcessing>
+  </component>
+</project>
\ No newline at end of file
diff --git a/MAVENProject/bin/.idea/encodings.xml b/MAVENProject/bin/.idea/encodings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..aa00ffab7828f4818589659c804ec2cfd99baed3
--- /dev/null
+++ b/MAVENProject/bin/.idea/encodings.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="Encoding">
+    <file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/MAVENProject/bin/.idea/jarRepositories.xml b/MAVENProject/bin/.idea/jarRepositories.xml
new file mode 100644
index 0000000000000000000000000000000000000000..712ab9d985c20018a0c97b93d2148ac1ffe588a5
--- /dev/null
+++ b/MAVENProject/bin/.idea/jarRepositories.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="RemoteRepositoriesConfiguration">
+    <remote-repository>
+      <option name="id" value="central" />
+      <option name="name" value="Central Repository" />
+      <option name="url" value="https://repo.maven.apache.org/maven2" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="central" />
+      <option name="name" value="Maven Central repository" />
+      <option name="url" value="https://repo1.maven.org/maven2" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="jboss.community" />
+      <option name="name" value="JBoss Community repository" />
+      <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
+    </remote-repository>
+  </component>
+</project>
\ No newline at end of file
diff --git a/MAVENProject/bin/.idea/misc.xml b/MAVENProject/bin/.idea/misc.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b73630f72ffad92208e0e49096da506fcd88112d
--- /dev/null
+++ b/MAVENProject/bin/.idea/misc.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ExternalStorageConfigurationManager" enabled="true" />
+  <component name="MavenProjectsManager">
+    <option name="originalFiles">
+      <list>
+        <option value="$PROJECT_DIR$/pom.xml" />
+      </list>
+    </option>
+  </component>
+</project>
\ No newline at end of file
diff --git a/MAVENProject/bin/.idea/vcs.xml b/MAVENProject/bin/.idea/vcs.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6c0b8635858dc7ad44b93df54b762707ce49eefc
--- /dev/null
+++ b/MAVENProject/bin/.idea/vcs.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="VcsDirectoryMappings">
+    <mapping directory="$PROJECT_DIR$/.." vcs="Git" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/MAVENProject/bin/.project b/MAVENProject/bin/.project
new file mode 100644
index 0000000000000000000000000000000000000000..39d013eadece75077b074d1a0f0f1ea45b705db0
--- /dev/null
+++ b/MAVENProject/bin/.project
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>MAVENProject</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+	</natures>
+</projectDescription>
diff --git a/MAVENProject/bin/.settings/org.eclipse.core.resources.prefs b/MAVENProject/bin/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..99f26c0203a7844de00dbfc56e6a35d8ed3c022c
--- /dev/null
+++ b/MAVENProject/bin/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/MAVENProject/bin/MAVENProject.iml b/MAVENProject/bin/MAVENProject.iml
new file mode 100644
index 0000000000000000000000000000000000000000..56e7bd44e0080667a70cba6321e6fda51c5ec967
--- /dev/null
+++ b/MAVENProject/bin/MAVENProject.iml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_17">
+    <output url="file://$MODULE_DIR$/target/classes" />
+    <output-test url="file://$MODULE_DIR$/target/test-classes" />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
+      <excludeFolder url="file://$MODULE_DIR$/target" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>
\ No newline at end of file
diff --git a/MAVENProject/bin/PlanUML.puml b/MAVENProject/bin/PlanUML.puml
new file mode 100644
index 0000000000000000000000000000000000000000..c16d686b7cfdece0675b9c2be9ac2629c0e111c3
--- /dev/null
+++ b/MAVENProject/bin/PlanUML.puml
@@ -0,0 +1,168 @@
+@startuml
+
+title Diagramme UML des Cyberpac 2077
+
+java.awt.event.KeyListener <|-- engine.GameController
+engine.GameController <|.. jeu.Controller
+engine.Game <|.. jeu.Jeu
+javax.swing.JPanel <|-- engine.DrawingPanel
+engine.GameController  <|-- engine.GameEngineGraphical
+engine.Game <|-- engine.GameEngineGraphical
+engine.GamePainter <|--  engine.GameEngineGraphical
+engine.GraphicalInterface <|-- engine.GameEngineGraphical
+engine.DrawingPanel <|-- engine.GraphicalInterface
+engine.GamePainter <|-- engine.DrawingPanel
+environment.Coordonnees <|-- entity.Entity
+entity.Character <|-- environment.Physique
+
+loaders.CharacterLoader <|-- jeu.Jeu
+jeu.Painter <|-- loaders.CharacterLoader
+entity.Character <|-- jeu.Jeu
+jeu.Painter <|-- entity.Character
+entity.Monster <|-- environment.Physique
+entity.Character <|-- loaders.CharacterLoader
+
+interface engine.GameController {
++ Cmd getCommand()
+}
+
+class engine.GraphicalInterface {
+- DrawingPanel panel
++ <<Create>> GraphicalInterface(GamePainter,GameController)
++ void paint()
+}
+
+class engine.DrawingPanel {
+- {static} long serialVersionUID
+- GamePainter painter
+- BufferedImage nextImage
+- BufferedImage currentImage
+- int width
++ <<Create>> DrawingPanel(GamePainter)
++ void drawGame()
++ void paint(Graphics)
+}
+
+class start.Main {
++ {static} void main(String[])
+}
+interface engine.GamePainter {
++ {abstract}void draw(BufferedImage)
++ {abstract}int getWidth()
++ {abstract}int getHeight()
+}
+interface engine.Game {
++ void evolve(Cmd)
++ boolean isFinished()
+}
+class engine.GameEngineGraphical {
+- Game game
+- GamePainter gamePainter
+- GameController gameController
+- GraphicalInterface gui
++ <<Create>> GameEngineGraphical(Game,GamePainter,GameController)
++ void run()
+}
+class entity.Character {
+- double masse
+- double impulsionSaut
+- HashMap tableCommand
+- int alpha
+- int nbLifePoints
+- double entityWIDTH
+- double entityHEIGHT
+- double vitesseActuX
+- double vitesseActuZ
++ void deplacements()
++ void resetCommand()
++ void getGameCommand()
++ void attaque()
++ void evolveCharacter()
++ void collisionsGestion()
++ int getNbLifePoints()
++ void setNbLifePoints(int)
++ int getAlpha()
++ double getM()
++ double getVitesseActuX()
++ double getVitesseActuZ()
+}
+class entity.Monster{
++ void deplacements()
++ void attaque()
+}
+
+
+abstract class entity.Entity{
+- HitBox hitBox
+- double vitesseMax
+- Coordonnees coord
+- double entityWIDTH
+- double entityHEIGHT
++ void deplacements()
++ Coordonnes getCoord()
++ void attaque()
+}
+entity.Entity <|.. entity.Character
+entity.Entity <|.. entity.Monster
+
+
+
+class environment.Obstacle{
+}
+
+class environment.Hitbox{
+- HashMap<String, Coordonnees> extremites
++ public {static} Boolean Collision()
+}
+class environment.Coordonnees{
+- int x
+- int z
++ {static} int distance(Object,Object)
++ double getX()
++ double getZ()
+}
+
+class loaders.CharacterLoader{
+    - Character gameCharacter
+    - String skinPath
+    - Image imageCharacter
+    + void refreshImage()
+    + Character getGameCharacter()
+    + String getSkinPath()
+    + Image getImageCharacter()
+    + void setSkinPath(String)
+}
+
+
+class jeu.Painter{
+# {static} int WIDTH
+# {static} int HEIGHT
++ <<Create>> Painter()
++ void draw(BufferedImage)
+- void drawCharacter(Graphics2D,Character,Image)
+- void drawSol(Graphics2D)
+- void drawObstacle(Graphics2D)
++ int getWidth()
++ int getHeight()
+}
+class jeu.Controller {
+- boolean isRightPressed, isLeftPressed, isSpacePressed
++ <<Create>> Controller()
++ HashMap<String,Boolean> getCommand()
++ void keyPressed(KeyEvent)
++ void keyReleased(KeyEvent)
++ void keyTyped(KeyEvent)
+}
+class jeu.Jeu{
++ <<Create>> Jeu(String)
++ void evolve(Cmd)
+- HashMap directionJeu
++ boolean isFinished()
+- Character gameCharacter
+- CharacterLoader gameCharacterLoader
+}
+class environment.Physique{
+- double g
+}
+
+@enduml
\ No newline at end of file
diff --git a/MAVENProject/bin/pom.xml b/MAVENProject/bin/pom.xml
new file mode 100644
index 0000000000000000000000000000000000000000..62364a99470f3ba0f5495f83f212d474fabd682a
--- /dev/null
+++ b/MAVENProject/bin/pom.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <groupId>ACLISN2022.cyberpac2077</groupId>
+    <artifactId>MAVENProject</artifactId>
+    <version>1.0-SNAPSHOT</version>
+
+
+    <properties>
+        <maven.compiler.source>17</maven.compiler.source>
+        <maven.compiler.target>17</maven.compiler.target>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+
+    <build>
+        <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+            </resource>
+        </resources>
+    </build>
+
+</project>
\ No newline at end of file
diff --git a/MAVENProject/bin/src/main/java/engine/DrawingPanel.class b/MAVENProject/bin/src/main/java/engine/DrawingPanel.class
new file mode 100644
index 0000000000000000000000000000000000000000..bcc3a64c5d5ee77a5171ca73189931741f987baa
Binary files /dev/null and b/MAVENProject/bin/src/main/java/engine/DrawingPanel.class differ
diff --git a/MAVENProject/bin/src/main/java/engine/Game.class b/MAVENProject/bin/src/main/java/engine/Game.class
new file mode 100644
index 0000000000000000000000000000000000000000..059f01abf45c8f93e2ea392aa82322e336ac6637
Binary files /dev/null and b/MAVENProject/bin/src/main/java/engine/Game.class differ
diff --git a/MAVENProject/bin/src/main/java/engine/GameController.class b/MAVENProject/bin/src/main/java/engine/GameController.class
new file mode 100644
index 0000000000000000000000000000000000000000..6588fbc35dc3783202fa0a489b28930dd45eb8ef
Binary files /dev/null and b/MAVENProject/bin/src/main/java/engine/GameController.class differ
diff --git a/MAVENProject/bin/src/main/java/engine/GameEngineGraphical.class b/MAVENProject/bin/src/main/java/engine/GameEngineGraphical.class
new file mode 100644
index 0000000000000000000000000000000000000000..1af0703648dd12baf0d5d6495780d0fdc2c6e16b
Binary files /dev/null and b/MAVENProject/bin/src/main/java/engine/GameEngineGraphical.class differ
diff --git a/MAVENProject/bin/src/main/java/engine/GamePainter.class b/MAVENProject/bin/src/main/java/engine/GamePainter.class
new file mode 100644
index 0000000000000000000000000000000000000000..09fa156d909c6a7d7f9d39df58c53f82dea34cbb
Binary files /dev/null and b/MAVENProject/bin/src/main/java/engine/GamePainter.class differ
diff --git a/MAVENProject/bin/src/main/java/engine/GraphicalInterface.class b/MAVENProject/bin/src/main/java/engine/GraphicalInterface.class
new file mode 100644
index 0000000000000000000000000000000000000000..da7795b9c3b87b585762470f9538e845f093e71b
Binary files /dev/null and b/MAVENProject/bin/src/main/java/engine/GraphicalInterface.class differ
diff --git a/MAVENProject/bin/src/main/java/entity/Character.class b/MAVENProject/bin/src/main/java/entity/Character.class
new file mode 100644
index 0000000000000000000000000000000000000000..268acb32079fc09abc208fa75fd401a93eb02e14
Binary files /dev/null and b/MAVENProject/bin/src/main/java/entity/Character.class differ
diff --git a/MAVENProject/bin/src/main/java/entity/Entity.class b/MAVENProject/bin/src/main/java/entity/Entity.class
new file mode 100644
index 0000000000000000000000000000000000000000..96fdc81b641d7535cdb326c244cb741863497064
Binary files /dev/null and b/MAVENProject/bin/src/main/java/entity/Entity.class differ
diff --git a/MAVENProject/bin/src/main/java/entity/Monster.class b/MAVENProject/bin/src/main/java/entity/Monster.class
new file mode 100644
index 0000000000000000000000000000000000000000..454830bc560239a62b02b5b86a29a6f393e89dac
Binary files /dev/null and b/MAVENProject/bin/src/main/java/entity/Monster.class differ
diff --git a/MAVENProject/bin/src/main/java/environnement/Coordonnees.class b/MAVENProject/bin/src/main/java/environnement/Coordonnees.class
new file mode 100644
index 0000000000000000000000000000000000000000..7f9a8a636e30757748782fa62febcbf79627d0f5
Binary files /dev/null and b/MAVENProject/bin/src/main/java/environnement/Coordonnees.class differ
diff --git a/MAVENProject/bin/src/main/java/environnement/HitBox.class b/MAVENProject/bin/src/main/java/environnement/HitBox.class
new file mode 100644
index 0000000000000000000000000000000000000000..c5f4c481e57eeb42ca076075750d26303c6ddd30
Binary files /dev/null and b/MAVENProject/bin/src/main/java/environnement/HitBox.class differ
diff --git a/MAVENProject/bin/src/main/java/environnement/Physique.class b/MAVENProject/bin/src/main/java/environnement/Physique.class
new file mode 100644
index 0000000000000000000000000000000000000000..d0bd1d65476c384ade35e94ff679ded6d1a4f4bd
Binary files /dev/null and b/MAVENProject/bin/src/main/java/environnement/Physique.class differ
diff --git a/MAVENProject/bin/src/main/java/environnement/PositionCollision.class b/MAVENProject/bin/src/main/java/environnement/PositionCollision.class
new file mode 100644
index 0000000000000000000000000000000000000000..c7b13b29005f10bc5d6b701a728914c510e2c481
Binary files /dev/null and b/MAVENProject/bin/src/main/java/environnement/PositionCollision.class differ
diff --git a/MAVENProject/bin/src/main/java/jeu/Controller.class b/MAVENProject/bin/src/main/java/jeu/Controller.class
new file mode 100644
index 0000000000000000000000000000000000000000..b745bc3927806972e9362d99ffa353c9abeac0f2
Binary files /dev/null and b/MAVENProject/bin/src/main/java/jeu/Controller.class differ
diff --git a/MAVENProject/bin/src/main/java/jeu/Jeu.class b/MAVENProject/bin/src/main/java/jeu/Jeu.class
new file mode 100644
index 0000000000000000000000000000000000000000..c1c72957747df2b40d018587032fa54deb33c700
Binary files /dev/null and b/MAVENProject/bin/src/main/java/jeu/Jeu.class differ
diff --git a/MAVENProject/bin/src/main/java/jeu/Painter.class b/MAVENProject/bin/src/main/java/jeu/Painter.class
new file mode 100644
index 0000000000000000000000000000000000000000..288f5410e7703c76a1176d41fa49df8be4d85672
Binary files /dev/null and b/MAVENProject/bin/src/main/java/jeu/Painter.class differ
diff --git a/MAVENProject/bin/src/main/java/loaders/CharacterLoader.class b/MAVENProject/bin/src/main/java/loaders/CharacterLoader.class
new file mode 100644
index 0000000000000000000000000000000000000000..a5769f082d3393f96ea4b7a21072ac96f834bf2a
Binary files /dev/null and b/MAVENProject/bin/src/main/java/loaders/CharacterLoader.class differ
diff --git a/MAVENProject/bin/src/main/java/loaders/ObstacleLoader.class b/MAVENProject/bin/src/main/java/loaders/ObstacleLoader.class
new file mode 100644
index 0000000000000000000000000000000000000000..c47869c103e774d33bfa57899f012302c92e6e21
Binary files /dev/null and b/MAVENProject/bin/src/main/java/loaders/ObstacleLoader.class differ
diff --git a/MAVENProject/bin/src/main/java/map/Obstacle.class b/MAVENProject/bin/src/main/java/map/Obstacle.class
new file mode 100644
index 0000000000000000000000000000000000000000..45aad236a63245a1745db665bb6c2bb72d47b9b3
Binary files /dev/null and b/MAVENProject/bin/src/main/java/map/Obstacle.class differ
diff --git a/MAVENProject/bin/src/main/java/start/Main.class b/MAVENProject/bin/src/main/java/start/Main.class
new file mode 100644
index 0000000000000000000000000000000000000000..616d63053506c3b895679cbb6b789e4bbfd00b31
Binary files /dev/null and b/MAVENProject/bin/src/main/java/start/Main.class differ
diff --git a/MAVENProject/bin/src/main/resources/Frames_perso/character_attack1.png b/MAVENProject/bin/src/main/resources/Frames_perso/character_attack1.png
new file mode 100644
index 0000000000000000000000000000000000000000..c7c3ecd3479e7fc40b2925746bc4d8e0f9263671
Binary files /dev/null and b/MAVENProject/bin/src/main/resources/Frames_perso/character_attack1.png differ
diff --git a/MAVENProject/bin/src/main/resources/Frames_perso/character_attack2.png b/MAVENProject/bin/src/main/resources/Frames_perso/character_attack2.png
new file mode 100644
index 0000000000000000000000000000000000000000..5cb5860172043d9f724e291ecb8776a3246c7efd
Binary files /dev/null and b/MAVENProject/bin/src/main/resources/Frames_perso/character_attack2.png differ
diff --git a/MAVENProject/bin/src/main/resources/Frames_perso/character_attack3.png b/MAVENProject/bin/src/main/resources/Frames_perso/character_attack3.png
new file mode 100644
index 0000000000000000000000000000000000000000..5cb5860172043d9f724e291ecb8776a3246c7efd
Binary files /dev/null and b/MAVENProject/bin/src/main/resources/Frames_perso/character_attack3.png differ
diff --git a/MAVENProject/bin/src/main/resources/Frames_perso/character_health1.png b/MAVENProject/bin/src/main/resources/Frames_perso/character_health1.png
new file mode 100644
index 0000000000000000000000000000000000000000..f63de501fb75f2717ffc067e69dd74d2f1e61a25
Binary files /dev/null and b/MAVENProject/bin/src/main/resources/Frames_perso/character_health1.png differ
diff --git a/MAVENProject/bin/src/main/resources/Frames_perso/character_health2.png b/MAVENProject/bin/src/main/resources/Frames_perso/character_health2.png
new file mode 100644
index 0000000000000000000000000000000000000000..4c02df0928aa04aea760a9aefcd26438683ab1e9
Binary files /dev/null and b/MAVENProject/bin/src/main/resources/Frames_perso/character_health2.png differ
diff --git a/MAVENProject/bin/src/main/resources/Frames_perso/character_idle1.png b/MAVENProject/bin/src/main/resources/Frames_perso/character_idle1.png
new file mode 100644
index 0000000000000000000000000000000000000000..c0b183771434f5513ca2e2b6aa58af9da4779712
Binary files /dev/null and b/MAVENProject/bin/src/main/resources/Frames_perso/character_idle1.png differ
diff --git a/MAVENProject/bin/src/main/resources/Frames_perso/character_idle2.png b/MAVENProject/bin/src/main/resources/Frames_perso/character_idle2.png
new file mode 100644
index 0000000000000000000000000000000000000000..c0b183771434f5513ca2e2b6aa58af9da4779712
Binary files /dev/null and b/MAVENProject/bin/src/main/resources/Frames_perso/character_idle2.png differ
diff --git a/MAVENProject/bin/src/main/resources/Frames_perso/character_idle3.png b/MAVENProject/bin/src/main/resources/Frames_perso/character_idle3.png
new file mode 100644
index 0000000000000000000000000000000000000000..7788bc05f24b79521111675772f00052f4d19ac8
Binary files /dev/null and b/MAVENProject/bin/src/main/resources/Frames_perso/character_idle3.png differ
diff --git a/MAVENProject/bin/src/main/resources/Frames_perso/character_idle4.png b/MAVENProject/bin/src/main/resources/Frames_perso/character_idle4.png
new file mode 100644
index 0000000000000000000000000000000000000000..7788bc05f24b79521111675772f00052f4d19ac8
Binary files /dev/null and b/MAVENProject/bin/src/main/resources/Frames_perso/character_idle4.png differ
diff --git a/MAVENProject/bin/src/main/resources/Frames_perso/character_jump1.png b/MAVENProject/bin/src/main/resources/Frames_perso/character_jump1.png
new file mode 100644
index 0000000000000000000000000000000000000000..6371fe1c4802197121b500a09271743832ba6cb1
Binary files /dev/null and b/MAVENProject/bin/src/main/resources/Frames_perso/character_jump1.png differ
diff --git a/MAVENProject/bin/src/main/resources/Frames_perso/character_run1.png b/MAVENProject/bin/src/main/resources/Frames_perso/character_run1.png
new file mode 100644
index 0000000000000000000000000000000000000000..7a313b84049dc8cc76a2b1772bc9d283138c170d
Binary files /dev/null and b/MAVENProject/bin/src/main/resources/Frames_perso/character_run1.png differ
diff --git a/MAVENProject/bin/src/main/resources/Frames_perso/character_run2.png b/MAVENProject/bin/src/main/resources/Frames_perso/character_run2.png
new file mode 100644
index 0000000000000000000000000000000000000000..476b989afcf8e35bd92b6605fc247809eeb170ff
Binary files /dev/null and b/MAVENProject/bin/src/main/resources/Frames_perso/character_run2.png differ
diff --git a/MAVENProject/bin/src/main/resources/Frames_perso/character_run3.png b/MAVENProject/bin/src/main/resources/Frames_perso/character_run3.png
new file mode 100644
index 0000000000000000000000000000000000000000..548d48bf56d6b223aa91dbfa80699b00c93c836d
Binary files /dev/null and b/MAVENProject/bin/src/main/resources/Frames_perso/character_run3.png differ
diff --git a/MAVENProject/bin/src/main/resources/Frames_perso/character_run4.png b/MAVENProject/bin/src/main/resources/Frames_perso/character_run4.png
new file mode 100644
index 0000000000000000000000000000000000000000..465822f3b6901334ce8eb60015090369b387e7e6
Binary files /dev/null and b/MAVENProject/bin/src/main/resources/Frames_perso/character_run4.png differ
diff --git a/MAVENProject/bin/src/main/resources/Obstacles/Obstacle1.png b/MAVENProject/bin/src/main/resources/Obstacles/Obstacle1.png
new file mode 100644
index 0000000000000000000000000000000000000000..ff7cca0c00612147b00a26623ef1e0118211ba77
Binary files /dev/null and b/MAVENProject/bin/src/main/resources/Obstacles/Obstacle1.png differ
diff --git a/MAVENProject/bin/src/main/resources/Obstacles/Obstacle2.png b/MAVENProject/bin/src/main/resources/Obstacles/Obstacle2.png
new file mode 100644
index 0000000000000000000000000000000000000000..e4ec36eec82c4cd262f6038021a8fa5a3389311c
Binary files /dev/null and b/MAVENProject/bin/src/main/resources/Obstacles/Obstacle2.png differ
diff --git a/MAVENProject/bin/src/main/resources/Obstacles/Plateforme.png b/MAVENProject/bin/src/main/resources/Obstacles/Plateforme.png
new file mode 100644
index 0000000000000000000000000000000000000000..0febf2724f0487c62a81704ddd06288ba0f72f1f
Binary files /dev/null and b/MAVENProject/bin/src/main/resources/Obstacles/Plateforme.png differ
diff --git a/MAVENProject/bin/src/main/resources/Obstacles/Terre.png b/MAVENProject/bin/src/main/resources/Obstacles/Terre.png
new file mode 100644
index 0000000000000000000000000000000000000000..8eaba092c6bc93d74fe6a4ed67539f0a1d434f1a
Binary files /dev/null and b/MAVENProject/bin/src/main/resources/Obstacles/Terre.png differ
diff --git a/MAVENProject/src/main/java/loaders/CoffreLoader.java b/MAVENProject/src/main/java/loaders/CoffreLoader.java
new file mode 100644
index 0000000000000000000000000000000000000000..306898225be97ceedb81f6b20447f6711310d717
--- /dev/null
+++ b/MAVENProject/src/main/java/loaders/CoffreLoader.java
@@ -0,0 +1,29 @@
+package loaders;
+import map.Coffre;
+
+import javax.swing.*;
+import java.awt.*;
+import java.net.URL;
+
+public class CoffreLoader {
+
+    private Image imageCoffre;
+    private Coffre coffre;
+
+    public Image getImageCoffre() {
+        return imageCoffre;
+    }
+
+    public Coffre getCoffre() {
+        return coffre;
+    }
+
+    public CoffreLoader(Coffre obs, String nom){
+        String fn = "Coffre/";
+        URL url = CoffreLoader.class.getClassLoader().getResource(fn);
+        assert url != null;
+        String path = url.toString().substring(6)+"/"+nom;
+        coffre = obs;
+        imageCoffre = new ImageIcon(path).getImage();
+    }
+}