diff --git a/2A/S4/Quali_dev/QD3-TD1-Fonctionnel-Dependance-v1.2.pdf b/2A/S4/Quali_dev/QD3-TD1-Fonctionnel-Dependance-v1.2.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..2c65357e5b4a4215664a49244e99ac5dbe3cf821
Binary files /dev/null and b/2A/S4/Quali_dev/QD3-TD1-Fonctionnel-Dependance-v1.2.pdf differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/.gradle/8.0/checksums/checksums.lock b/2A/S4/Quali_dev/TD1 Clock/.gradle/8.0/checksums/checksums.lock
new file mode 100644
index 0000000000000000000000000000000000000000..0aa5923a5fc82d0bd7a30d5c9e61f1a792268c9e
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/.gradle/8.0/checksums/checksums.lock differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/.gradle/8.0/checksums/md5-checksums.bin b/2A/S4/Quali_dev/TD1 Clock/.gradle/8.0/checksums/md5-checksums.bin
new file mode 100644
index 0000000000000000000000000000000000000000..6212fada6553e14e1fb74370aff2196814bee62e
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/.gradle/8.0/checksums/md5-checksums.bin differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/.gradle/8.0/checksums/sha1-checksums.bin b/2A/S4/Quali_dev/TD1 Clock/.gradle/8.0/checksums/sha1-checksums.bin
new file mode 100644
index 0000000000000000000000000000000000000000..975a08191004b37dcd35f44eeeb454d627c9acaa
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/.gradle/8.0/checksums/sha1-checksums.bin differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/.gradle/8.0/dependencies-accessors/dependencies-accessors.lock b/2A/S4/Quali_dev/TD1 Clock/.gradle/8.0/dependencies-accessors/dependencies-accessors.lock
new file mode 100644
index 0000000000000000000000000000000000000000..b652d0de03f389cff1abe100de3018b3c4cbdd47
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/.gradle/8.0/dependencies-accessors/dependencies-accessors.lock differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/.gradle/8.0/dependencies-accessors/gc.properties b/2A/S4/Quali_dev/TD1 Clock/.gradle/8.0/dependencies-accessors/gc.properties
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/2A/S4/Quali_dev/TD1 Clock/.gradle/8.0/executionHistory/executionHistory.bin b/2A/S4/Quali_dev/TD1 Clock/.gradle/8.0/executionHistory/executionHistory.bin
new file mode 100644
index 0000000000000000000000000000000000000000..aa7647f5d248dcfcda2ae6906ed643a8a5fd0290
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/.gradle/8.0/executionHistory/executionHistory.bin differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/.gradle/8.0/executionHistory/executionHistory.lock b/2A/S4/Quali_dev/TD1 Clock/.gradle/8.0/executionHistory/executionHistory.lock
new file mode 100644
index 0000000000000000000000000000000000000000..3852c2f59937758ecebf8910ed90cea33e6d7dd0
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/.gradle/8.0/executionHistory/executionHistory.lock differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/.gradle/8.0/fileChanges/last-build.bin b/2A/S4/Quali_dev/TD1 Clock/.gradle/8.0/fileChanges/last-build.bin
new file mode 100644
index 0000000000000000000000000000000000000000..f76dd238ade08917e6712764a16a22005a50573d
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/.gradle/8.0/fileChanges/last-build.bin differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/.gradle/8.0/fileHashes/fileHashes.bin b/2A/S4/Quali_dev/TD1 Clock/.gradle/8.0/fileHashes/fileHashes.bin
new file mode 100644
index 0000000000000000000000000000000000000000..16e7619cd71f413f5f53f2775d720fe42921a7e2
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/.gradle/8.0/fileHashes/fileHashes.bin differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/.gradle/8.0/fileHashes/fileHashes.lock b/2A/S4/Quali_dev/TD1 Clock/.gradle/8.0/fileHashes/fileHashes.lock
new file mode 100644
index 0000000000000000000000000000000000000000..8bbb6e812725ba2466054835ab10dd18f3a8227d
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/.gradle/8.0/fileHashes/fileHashes.lock differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/.gradle/8.0/gc.properties b/2A/S4/Quali_dev/TD1 Clock/.gradle/8.0/gc.properties
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/2A/S4/Quali_dev/TD1 Clock/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/2A/S4/Quali_dev/TD1 Clock/.gradle/buildOutputCleanup/buildOutputCleanup.lock
new file mode 100644
index 0000000000000000000000000000000000000000..11e90628f76b281448ddc8fe31a0d65c941ac5b7
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/.gradle/buildOutputCleanup/cache.properties b/2A/S4/Quali_dev/TD1 Clock/.gradle/buildOutputCleanup/cache.properties
new file mode 100644
index 0000000000000000000000000000000000000000..60c464fb591d67e850b3d26bb954f7396d13f4f2
--- /dev/null
+++ b/2A/S4/Quali_dev/TD1 Clock/.gradle/buildOutputCleanup/cache.properties	
@@ -0,0 +1,2 @@
+#Fri Jan 26 17:11:50 CET 2024
+gradle.version=8.0
diff --git a/2A/S4/Quali_dev/TD1 Clock/.gradle/buildOutputCleanup/outputFiles.bin b/2A/S4/Quali_dev/TD1 Clock/.gradle/buildOutputCleanup/outputFiles.bin
new file mode 100644
index 0000000000000000000000000000000000000000..dfe4019af32b5d3e513fa9182598ca761cce074f
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/.gradle/buildOutputCleanup/outputFiles.bin differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/.gradle/vcs-1/gc.properties b/2A/S4/Quali_dev/TD1 Clock/.gradle/vcs-1/gc.properties
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/2A/S4/Quali_dev/TD1 Clock/.idea/.gitignore b/2A/S4/Quali_dev/TD1 Clock/.idea/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..13566b81b018ad684f3a35fee301741b2734c8f4
--- /dev/null
+++ b/2A/S4/Quali_dev/TD1 Clock/.idea/.gitignore	
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/2A/S4/Quali_dev/TD1 Clock/.idea/compiler.xml b/2A/S4/Quali_dev/TD1 Clock/.idea/compiler.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b589d56e9f285d8cfdc6c270853a5d439021a278
--- /dev/null
+++ b/2A/S4/Quali_dev/TD1 Clock/.idea/compiler.xml	
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="CompilerConfiguration">
+    <bytecodeTargetLevel target="17" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/2A/S4/Quali_dev/TD1 Clock/.idea/gradle.xml b/2A/S4/Quali_dev/TD1 Clock/.idea/gradle.xml
new file mode 100644
index 0000000000000000000000000000000000000000..39ec4f56e5bf5c953f27a4e74b597cb129627906
--- /dev/null
+++ b/2A/S4/Quali_dev/TD1 Clock/.idea/gradle.xml	
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="GradleSettings">
+    <option name="linkedExternalProjectsSettings">
+      <GradleProjectSettings>
+        <option name="externalProjectPath" value="$PROJECT_DIR$" />
+        <option name="gradleJvm" value="#JAVA_HOME" />
+        <option name="modules">
+          <set>
+            <option value="$PROJECT_DIR$" />
+          </set>
+        </option>
+      </GradleProjectSettings>
+    </option>
+  </component>
+</project>
\ No newline at end of file
diff --git a/2A/S4/Quali_dev/TD1 Clock/.idea/jarRepositories.xml b/2A/S4/Quali_dev/TD1 Clock/.idea/jarRepositories.xml
new file mode 100644
index 0000000000000000000000000000000000000000..fdc392fe877c32ab51d532fa67f65ff2e75e9061
--- /dev/null
+++ b/2A/S4/Quali_dev/TD1 Clock/.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="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>
+    <remote-repository>
+      <option name="id" value="MavenRepo" />
+      <option name="name" value="MavenRepo" />
+      <option name="url" value="https://repo.maven.apache.org/maven2/" />
+    </remote-repository>
+  </component>
+</project>
\ No newline at end of file
diff --git a/2A/S4/Quali_dev/TD1 Clock/.idea/kotlinc.xml b/2A/S4/Quali_dev/TD1 Clock/.idea/kotlinc.xml
new file mode 100644
index 0000000000000000000000000000000000000000..568bea16e29e4d31c02a8e1576e7fb23830a84ed
--- /dev/null
+++ b/2A/S4/Quali_dev/TD1 Clock/.idea/kotlinc.xml	
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="KotlinJpsPluginSettings">
+    <option name="version" value="1.6.20" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/2A/S4/Quali_dev/TD1 Clock/.idea/misc.xml b/2A/S4/Quali_dev/TD1 Clock/.idea/misc.xml
new file mode 100644
index 0000000000000000000000000000000000000000..668048d361f325597a12d4975b8ba9630ad8decb
--- /dev/null
+++ b/2A/S4/Quali_dev/TD1 Clock/.idea/misc.xml	
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ExternalStorageConfigurationManager" enabled="true" />
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_17" project-jdk-name="17" project-jdk-type="JavaSDK" />
+</project>
\ No newline at end of file
diff --git a/2A/S4/Quali_dev/TD1 Clock/.idea/vcs.xml b/2A/S4/Quali_dev/TD1 Clock/.idea/vcs.xml
new file mode 100644
index 0000000000000000000000000000000000000000..4fce1d86b49521afe1cee4ed1c13b6396ebbc6f3
--- /dev/null
+++ b/2A/S4/Quali_dev/TD1 Clock/.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/2A/S4/Quali_dev/TD1 Clock/build.gradle.kts b/2A/S4/Quali_dev/TD1 Clock/build.gradle.kts
new file mode 100644
index 0000000000000000000000000000000000000000..13b396b6f5e74251ea39850d99bbf8f7977d3ddb
--- /dev/null
+++ b/2A/S4/Quali_dev/TD1 Clock/build.gradle.kts	
@@ -0,0 +1,31 @@
+import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
+
+plugins {
+    kotlin("jvm") version "1.6.20"
+    application
+}
+
+group = "me.user"
+version = "1.0-SNAPSHOT"
+
+repositories {
+    mavenCentral()
+}
+
+dependencies {
+    implementation("org.junit.jupiter:junit-jupiter:5.8.2")
+    testImplementation(kotlin("test"))
+    testImplementation("io.mockk:mockk:1.13.2")
+}
+
+tasks.test {
+    useJUnitPlatform()
+}
+
+tasks.withType<KotlinCompile> {
+    kotlinOptions.jvmTarget = "1.8"
+}
+
+application {
+    mainClass.set("MainKt")
+}
\ No newline at end of file
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/main/META-INF/TD1 Clock.kotlin_module b/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/main/META-INF/TD1 Clock.kotlin_module
new file mode 100644
index 0000000000000000000000000000000000000000..b0061bcc80d3e6be458b9b26fb438242799b3180
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/main/META-INF/TD1 Clock.kotlin_module differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/main/MainKt.class b/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/main/MainKt.class
new file mode 100644
index 0000000000000000000000000000000000000000..9dea87ca1acbc404ffcae9196deaba98b67b8739
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/main/MainKt.class differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/main/fr/nantes/univ/clock/AlarmClock.class b/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/main/fr/nantes/univ/clock/AlarmClock.class
new file mode 100644
index 0000000000000000000000000000000000000000..b1692865cf5711a512ae822f8734c25a2efd8ff0
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/main/fr/nantes/univ/clock/AlarmClock.class differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/main/fr/nantes/univ/clock/AlarmClockException$Companion.class b/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/main/fr/nantes/univ/clock/AlarmClockException$Companion.class
new file mode 100644
index 0000000000000000000000000000000000000000..7114ca8241becf90cf4a4e89f012e373889e960b
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/main/fr/nantes/univ/clock/AlarmClockException$Companion.class differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/main/fr/nantes/univ/clock/AlarmClockException.class b/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/main/fr/nantes/univ/clock/AlarmClockException.class
new file mode 100644
index 0000000000000000000000000000000000000000..3a11350b7e0702ae304fd61e3fb4cff39c0e36a0
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/main/fr/nantes/univ/clock/AlarmClockException.class differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/main/fr/nantes/univ/clock/AlarmClockFactory.class b/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/main/fr/nantes/univ/clock/AlarmClockFactory.class
new file mode 100644
index 0000000000000000000000000000000000000000..17534f28982d371ff0fcc286e3c7deb85b3d8930
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/main/fr/nantes/univ/clock/AlarmClockFactory.class differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/main/fr/nantes/univ/clock/BasicAlarmClock.class b/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/main/fr/nantes/univ/clock/BasicAlarmClock.class
new file mode 100644
index 0000000000000000000000000000000000000000..fc931e9f982ea47eec8e52a831b4152677e8e177
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/main/fr/nantes/univ/clock/BasicAlarmClock.class differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/main/fr/nantes/univ/clock/Calendar$Companion.class b/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/main/fr/nantes/univ/clock/Calendar$Companion.class
new file mode 100644
index 0000000000000000000000000000000000000000..9a228b77c6e22fc18b798e87e56f6408d1cc4809
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/main/fr/nantes/univ/clock/Calendar$Companion.class differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/main/fr/nantes/univ/clock/Calendar.class b/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/main/fr/nantes/univ/clock/Calendar.class
new file mode 100644
index 0000000000000000000000000000000000000000..773b7dd07727e284e5dc7236fb2814f65653e9d1
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/main/fr/nantes/univ/clock/Calendar.class differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/test/META-INF/TD1 Clock.kotlin_module b/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/test/META-INF/TD1 Clock.kotlin_module
new file mode 100644
index 0000000000000000000000000000000000000000..3a4e3bfdc5206ad63549c999fba03d3a9a3b2308
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/test/META-INF/TD1 Clock.kotlin_module differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/test/fr/nantes/univ/clock/BasicAlarmClockTest$Companion.class b/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/test/fr/nantes/univ/clock/BasicAlarmClockTest$Companion.class
new file mode 100644
index 0000000000000000000000000000000000000000..4c2cea1459a88c316ddec7fef2d1938f7f81bff5
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/test/fr/nantes/univ/clock/BasicAlarmClockTest$Companion.class differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/test/fr/nantes/univ/clock/BasicAlarmClockTest$Testparam$$inlined$assertThrows$1.class b/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/test/fr/nantes/univ/clock/BasicAlarmClockTest$Testparam$$inlined$assertThrows$1.class
new file mode 100644
index 0000000000000000000000000000000000000000..bcc8847f1b264fc22fdebc6c39a68077cabe9a5e
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/test/fr/nantes/univ/clock/BasicAlarmClockTest$Testparam$$inlined$assertThrows$1.class differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/test/fr/nantes/univ/clock/BasicAlarmClockTest$selectRing1$$inlined$assertThrows$1.class b/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/test/fr/nantes/univ/clock/BasicAlarmClockTest$selectRing1$$inlined$assertThrows$1.class
new file mode 100644
index 0000000000000000000000000000000000000000..59e4e5fffdc1cdd58bed8b8083f5f3d689e09f88
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/test/fr/nantes/univ/clock/BasicAlarmClockTest$selectRing1$$inlined$assertThrows$1.class differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/test/fr/nantes/univ/clock/BasicAlarmClockTest$selectRing2$$inlined$assertThrows$1.class b/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/test/fr/nantes/univ/clock/BasicAlarmClockTest$selectRing2$$inlined$assertThrows$1.class
new file mode 100644
index 0000000000000000000000000000000000000000..3130b77c8c677ac86c5c85266ad0091cb02f35e7
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/test/fr/nantes/univ/clock/BasicAlarmClockTest$selectRing2$$inlined$assertThrows$1.class differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/test/fr/nantes/univ/clock/BasicAlarmClockTest$selectRing3$$inlined$assertThrows$1.class b/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/test/fr/nantes/univ/clock/BasicAlarmClockTest$selectRing3$$inlined$assertThrows$1.class
new file mode 100644
index 0000000000000000000000000000000000000000..34e7f28f59a9b38ea0235b9d8815b23fb996f4e9
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/test/fr/nantes/univ/clock/BasicAlarmClockTest$selectRing3$$inlined$assertThrows$1.class differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/test/fr/nantes/univ/clock/BasicAlarmClockTest$selectRing4$$inlined$assertThrows$1.class b/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/test/fr/nantes/univ/clock/BasicAlarmClockTest$selectRing4$$inlined$assertThrows$1.class
new file mode 100644
index 0000000000000000000000000000000000000000..4841f67b14a8ef46cc22d9a1d3e21952bcdd5be3
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/test/fr/nantes/univ/clock/BasicAlarmClockTest$selectRing4$$inlined$assertThrows$1.class differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/test/fr/nantes/univ/clock/BasicAlarmClockTest$selectRing5$$inlined$assertThrows$1.class b/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/test/fr/nantes/univ/clock/BasicAlarmClockTest$selectRing5$$inlined$assertThrows$1.class
new file mode 100644
index 0000000000000000000000000000000000000000..cb41b3b69e3f996b1064566484c4ac9bdd2eea51
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/test/fr/nantes/univ/clock/BasicAlarmClockTest$selectRing5$$inlined$assertThrows$1.class differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/test/fr/nantes/univ/clock/BasicAlarmClockTest$selectRing6$$inlined$assertThrows$1.class b/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/test/fr/nantes/univ/clock/BasicAlarmClockTest$selectRing6$$inlined$assertThrows$1.class
new file mode 100644
index 0000000000000000000000000000000000000000..448542d65f58e1a789a977b0b8fa88ba22dd483b
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/test/fr/nantes/univ/clock/BasicAlarmClockTest$selectRing6$$inlined$assertThrows$1.class differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/test/fr/nantes/univ/clock/BasicAlarmClockTest.class b/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/test/fr/nantes/univ/clock/BasicAlarmClockTest.class
new file mode 100644
index 0000000000000000000000000000000000000000..ca7d5b1183ad8e1511309138c295030db2fd479c
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/classes/kotlin/test/fr/nantes/univ/clock/BasicAlarmClockTest.class differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab
new file mode 100644
index 0000000000000000000000000000000000000000..2b5e738c61a1ba3b03a9e7aeaea167c34b6b631c
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream
new file mode 100644
index 0000000000000000000000000000000000000000..08178dc6c28bef350a5636775c56e7ace90fc717
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len
new file mode 100644
index 0000000000000000000000000000000000000000..9223f719e50bb07459a9bb239811504c17bb1214
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len
new file mode 100644
index 0000000000000000000000000000000000000000..9e27f732fe29db9f82162c1114700ef23f6ac174
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at
new file mode 100644
index 0000000000000000000000000000000000000000..9583e895bbb1183d42d0704b7390718ca924eeb7
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i
new file mode 100644
index 0000000000000000000000000000000000000000..1d662a6d89697847d717d76f6e6e37a01af07b17
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len
new file mode 100644
index 0000000000000000000000000000000000000000..131e265740f37d77b7c4a3676d2a7704ca3e4a29
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab
new file mode 100644
index 0000000000000000000000000000000000000000..48be5f6c9f6d2d801b5257448888c97c875a8cfa
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream
new file mode 100644
index 0000000000000000000000000000000000000000..fc770ef335358476ea1ce590fb9affc33935fb9c
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len
new file mode 100644
index 0000000000000000000000000000000000000000..3a3075b1c7bfe5be9724a142e408d7022e61c988
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len
new file mode 100644
index 0000000000000000000000000000000000000000..817b326d9eb94f6a38f5e047201a69ab944ef476
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at
new file mode 100644
index 0000000000000000000000000000000000000000..92b2b7d98a22321bf9f30b8620402121b38409b3
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i
new file mode 100644
index 0000000000000000000000000000000000000000..2d2db0ac537395b6d732f956f1b7fd24f0b58bd1
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len
new file mode 100644
index 0000000000000000000000000000000000000000..131e265740f37d77b7c4a3676d2a7704ca3e4a29
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab
new file mode 100644
index 0000000000000000000000000000000000000000..1d09c993d9b95cddfe0d0f136d50cc8f0e6808a3
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream
new file mode 100644
index 0000000000000000000000000000000000000000..fc770ef335358476ea1ce590fb9affc33935fb9c
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len
new file mode 100644
index 0000000000000000000000000000000000000000..3a3075b1c7bfe5be9724a142e408d7022e61c988
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len
new file mode 100644
index 0000000000000000000000000000000000000000..817b326d9eb94f6a38f5e047201a69ab944ef476
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at
new file mode 100644
index 0000000000000000000000000000000000000000..3792cda83cac3364882e87ab4139bc8528b90028
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i
new file mode 100644
index 0000000000000000000000000000000000000000..2d2db0ac537395b6d732f956f1b7fd24f0b58bd1
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len
new file mode 100644
index 0000000000000000000000000000000000000000..131e265740f37d77b7c4a3676d2a7704ca3e4a29
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab
new file mode 100644
index 0000000000000000000000000000000000000000..ce954487e350a2b2d5c57b599992b49340a84e6e
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream
new file mode 100644
index 0000000000000000000000000000000000000000..09f35a424dae21f0e9ac85ba179d8d9bec343634
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream.len
new file mode 100644
index 0000000000000000000000000000000000000000..19f78327485a48bad6470d72d795c648ae866679
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.len
new file mode 100644
index 0000000000000000000000000000000000000000..2a17e6e5bd9e7704741c2a3ae485eb2d2e302b87
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.values.at b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.values.at
new file mode 100644
index 0000000000000000000000000000000000000000..e18b4bbc6b4aab82bdda1ba4bf54d7986ea04c49
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.values.at differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i
new file mode 100644
index 0000000000000000000000000000000000000000..ea6e9ba41e5268122d7913c14a4732e31b63842f
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i.len
new file mode 100644
index 0000000000000000000000000000000000000000..131e265740f37d77b7c4a3676d2a7704ca3e4a29
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab
new file mode 100644
index 0000000000000000000000000000000000000000..620a5f1768ac5339c27582a94077548c2e53994c
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream
new file mode 100644
index 0000000000000000000000000000000000000000..954da2836f7c95cfbe611d8427cf091b4a80dae3
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len
new file mode 100644
index 0000000000000000000000000000000000000000..d897d44a324c2617f7a9e7cf5a235fd564857422
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len
new file mode 100644
index 0000000000000000000000000000000000000000..fa606b628b9821e4e1a5e524f5973b5db3fb44ba
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at
new file mode 100644
index 0000000000000000000000000000000000000000..18f5eac752448531d2c41e7b990ed47ce12c217b
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i
new file mode 100644
index 0000000000000000000000000000000000000000..98f65dd2ee6e6620c1b1c69440f4b2deca99d510
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len
new file mode 100644
index 0000000000000000000000000000000000000000..131e265740f37d77b7c4a3676d2a7704ca3e4a29
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab
new file mode 100644
index 0000000000000000000000000000000000000000..bdf584a84b58bf0b45e9b3a4c946653433feaad2
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.keystream b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.keystream
new file mode 100644
index 0000000000000000000000000000000000000000..a14e187d528367a1d980605b511e8e60a9fb9912
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.keystream differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.keystream.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.keystream.len
new file mode 100644
index 0000000000000000000000000000000000000000..379d85ced69049230006887a8ba1241e30c6e7df
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.keystream.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.len
new file mode 100644
index 0000000000000000000000000000000000000000..2a17e6e5bd9e7704741c2a3ae485eb2d2e302b87
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.values.at b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.values.at
new file mode 100644
index 0000000000000000000000000000000000000000..46d6744972241d5e158860b121c8dcc129d1d042
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.values.at differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab_i b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab_i
new file mode 100644
index 0000000000000000000000000000000000000000..61f679b5bbd853113667b937aba0ba5cf7e2c49d
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab_i differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab_i.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab_i.len
new file mode 100644
index 0000000000000000000000000000000000000000..131e265740f37d77b7c4a3676d2a7704ca3e4a29
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab_i.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab
new file mode 100644
index 0000000000000000000000000000000000000000..02ecb7e397ece75a616c102e2de0093f2ec87812
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream
new file mode 100644
index 0000000000000000000000000000000000000000..7c9722983548d48aa91c758956dd7e3d9dccb610
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len
new file mode 100644
index 0000000000000000000000000000000000000000..5ca716ff2653275aa5a5702fe166e60abbd27f74
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len
new file mode 100644
index 0000000000000000000000000000000000000000..eb0b8a069dd4fe98c3148ae79618cb3e6ef0b6db
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at
new file mode 100644
index 0000000000000000000000000000000000000000..5d24d372813ab366dda381330e357c70b6c1bbd0
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i
new file mode 100644
index 0000000000000000000000000000000000000000..d39fb1fe5582b14e19e209ae5cb60b55ebe5b44a
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len
new file mode 100644
index 0000000000000000000000000000000000000000..131e265740f37d77b7c4a3676d2a7704ca3e4a29
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab
new file mode 100644
index 0000000000000000000000000000000000000000..c9c1fd0841477af1f1f656a3fc3ab182c9fea7e8
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream
new file mode 100644
index 0000000000000000000000000000000000000000..313c448e934d878ceea6da4cf5837a69cb871eae
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len
new file mode 100644
index 0000000000000000000000000000000000000000..9223f719e50bb07459a9bb239811504c17bb1214
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len
new file mode 100644
index 0000000000000000000000000000000000000000..9e27f732fe29db9f82162c1114700ef23f6ac174
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at
new file mode 100644
index 0000000000000000000000000000000000000000..873834011dd09d9546e96b9d4ee3e36a27c945b0
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i
new file mode 100644
index 0000000000000000000000000000000000000000..dbf1782a318137d1e1229cced9b42a43b0f19c1b
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len
new file mode 100644
index 0000000000000000000000000000000000000000..131e265740f37d77b7c4a3676d2a7704ca3e4a29
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab
new file mode 100644
index 0000000000000000000000000000000000000000..04d0e84d7a38f8462e8920e3d48eefa46b4dc6b9
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream
new file mode 100644
index 0000000000000000000000000000000000000000..3e871a42053d0e445ca9b069a8b2e2c8b7a853b8
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len
new file mode 100644
index 0000000000000000000000000000000000000000..3bb2dcc6ce3baa57676d845dd21df8491d46fd34
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len
new file mode 100644
index 0000000000000000000000000000000000000000..01bdaa1da7d937c7e7d98e54ba912f88ab95c7f2
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at
new file mode 100644
index 0000000000000000000000000000000000000000..dbb7cf29300ab837017301d1012c24ffc5787ebc
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i
new file mode 100644
index 0000000000000000000000000000000000000000..ad73f0372b522694a0b020f2108f7540e95dba0f
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len
new file mode 100644
index 0000000000000000000000000000000000000000..131e265740f37d77b7c4a3676d2a7704ca3e4a29
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab
new file mode 100644
index 0000000000000000000000000000000000000000..9a63615cbbd0a55ff3c1a36130cb0f87d62b75d1
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream
new file mode 100644
index 0000000000000000000000000000000000000000..73a83d6ca5608402fb341503f5c7e2963396d679
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len
new file mode 100644
index 0000000000000000000000000000000000000000..826d10c570abde86d575f2550f2600c130b8d472
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len
new file mode 100644
index 0000000000000000000000000000000000000000..01bdaa1da7d937c7e7d98e54ba912f88ab95c7f2
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at
new file mode 100644
index 0000000000000000000000000000000000000000..70065e4629c1d351a9d017c3215f90d5a5457a40
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i
new file mode 100644
index 0000000000000000000000000000000000000000..f240da99fd85fd093d1cf73ef629d4914cc803f3
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len
new file mode 100644
index 0000000000000000000000000000000000000000..131e265740f37d77b7c4a3676d2a7704ca3e4a29
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/counters.tab b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/counters.tab
new file mode 100644
index 0000000000000000000000000000000000000000..888a92ddbb58e04a13720c042ea87d1804778766
--- /dev/null
+++ b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/counters.tab	
@@ -0,0 +1,2 @@
+6
+0
\ No newline at end of file
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab
new file mode 100644
index 0000000000000000000000000000000000000000..1813cdbd28821457353858f5de55da9788ce3882
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream
new file mode 100644
index 0000000000000000000000000000000000000000..313c448e934d878ceea6da4cf5837a69cb871eae
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len
new file mode 100644
index 0000000000000000000000000000000000000000..9223f719e50bb07459a9bb239811504c17bb1214
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len
new file mode 100644
index 0000000000000000000000000000000000000000..9e27f732fe29db9f82162c1114700ef23f6ac174
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at
new file mode 100644
index 0000000000000000000000000000000000000000..87c4282cf3f6e1c735773c97cc673d7d096b1ec7
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i
new file mode 100644
index 0000000000000000000000000000000000000000..dbf1782a318137d1e1229cced9b42a43b0f19c1b
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len
new file mode 100644
index 0000000000000000000000000000000000000000..131e265740f37d77b7c4a3676d2a7704ca3e4a29
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab
new file mode 100644
index 0000000000000000000000000000000000000000..1eeb39608768c0555cb248005f483c55096e9994
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream
new file mode 100644
index 0000000000000000000000000000000000000000..3d5fe7aedadef37f4159cfca6ffa6fc60f9d7e02
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len
new file mode 100644
index 0000000000000000000000000000000000000000..fa902fa8b4ec3b0b75d9e4917b34547e68e2913d
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len
new file mode 100644
index 0000000000000000000000000000000000000000..9e27f732fe29db9f82162c1114700ef23f6ac174
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at
new file mode 100644
index 0000000000000000000000000000000000000000..405e189007237194d0f60cf01912f01f67b3ebe7
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i
new file mode 100644
index 0000000000000000000000000000000000000000..b7dc91120ef99841038923626b75352022625c6e
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len
new file mode 100644
index 0000000000000000000000000000000000000000..131e265740f37d77b7c4a3676d2a7704ca3e4a29
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab
new file mode 100644
index 0000000000000000000000000000000000000000..713589e80435f7166d8dd97dc3b716669b68fea8
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream
new file mode 100644
index 0000000000000000000000000000000000000000..e982e4d4c96ec5dd2a68306f4d049a4b143c713f
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len
new file mode 100644
index 0000000000000000000000000000000000000000..1964f792d375942ea0081819c1b9d5e48fb99409
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.len
new file mode 100644
index 0000000000000000000000000000000000000000..76cb3c965a8e7dd7472ab815b7a8c08158110ed1
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at
new file mode 100644
index 0000000000000000000000000000000000000000..6cc2835beb34c205c5ae5eb02b11e5724b07365f
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab_i b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab_i
new file mode 100644
index 0000000000000000000000000000000000000000..e771e0d74309a7374a45e1743f4a9cd3de519889
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab_i differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len
new file mode 100644
index 0000000000000000000000000000000000000000..131e265740f37d77b7c4a3676d2a7704ca3e4a29
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/last-build.bin b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/last-build.bin
new file mode 100644
index 0000000000000000000000000000000000000000..d91da481d089ab469256f12b6a09e13f45ec135d
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/cacheable/last-build.bin differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/localstate/build-history.bin b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/localstate/build-history.bin
new file mode 100644
index 0000000000000000000000000000000000000000..b08bf8c8270200915df72f6f6f57b09ed63ae1e3
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileKotlin/localstate/build-history.bin differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/inputs/source-to-output.tab b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/inputs/source-to-output.tab
new file mode 100644
index 0000000000000000000000000000000000000000..4229effa228d4d61a37e25f5bbf8ace65b472cd1
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/inputs/source-to-output.tab differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream
new file mode 100644
index 0000000000000000000000000000000000000000..ace70275473ea73d777131cc1730d97a11da8ac4
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len
new file mode 100644
index 0000000000000000000000000000000000000000..7f1939e5bdf7d3ac1fa145ee60f78ff8420a6324
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len
new file mode 100644
index 0000000000000000000000000000000000000000..2a17e6e5bd9e7704741c2a3ae485eb2d2e302b87
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at
new file mode 100644
index 0000000000000000000000000000000000000000..3c54336f516cb5fed0642ff3b5d5f051f5dba87b
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i
new file mode 100644
index 0000000000000000000000000000000000000000..b166365f4a21b07d56d360d9215afca80caf131d
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len
new file mode 100644
index 0000000000000000000000000000000000000000..131e265740f37d77b7c4a3676d2a7704ca3e4a29
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab
new file mode 100644
index 0000000000000000000000000000000000000000..ce87f3f7b7bc4e5201cf0c55b6d9f49cb3f5ca30
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream
new file mode 100644
index 0000000000000000000000000000000000000000..31d17209e082764d6a44ed08d708fcf13de9a69f
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len
new file mode 100644
index 0000000000000000000000000000000000000000..51d3a591c72cd69f40b7721549ea3508a231eb93
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len
new file mode 100644
index 0000000000000000000000000000000000000000..01bdaa1da7d937c7e7d98e54ba912f88ab95c7f2
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at
new file mode 100644
index 0000000000000000000000000000000000000000..3737e138423429f98a05b0f5daa3414fe62d0dbf
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i
new file mode 100644
index 0000000000000000000000000000000000000000..ab9402a18d8ed5846e15e2f308b39e95b3bc7a7e
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len
new file mode 100644
index 0000000000000000000000000000000000000000..131e265740f37d77b7c4a3676d2a7704ca3e4a29
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab
new file mode 100644
index 0000000000000000000000000000000000000000..981725c71dc7ee46e245516b9b2ac68ddea932eb
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream
new file mode 100644
index 0000000000000000000000000000000000000000..31d17209e082764d6a44ed08d708fcf13de9a69f
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len
new file mode 100644
index 0000000000000000000000000000000000000000..51d3a591c72cd69f40b7721549ea3508a231eb93
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len
new file mode 100644
index 0000000000000000000000000000000000000000..01bdaa1da7d937c7e7d98e54ba912f88ab95c7f2
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at
new file mode 100644
index 0000000000000000000000000000000000000000..3fad668418e2e5380d312e41c526edebf5261b9c
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i
new file mode 100644
index 0000000000000000000000000000000000000000..ab9402a18d8ed5846e15e2f308b39e95b3bc7a7e
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len
new file mode 100644
index 0000000000000000000000000000000000000000..131e265740f37d77b7c4a3676d2a7704ca3e4a29
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab
new file mode 100644
index 0000000000000000000000000000000000000000..59be21c5a388c61ac6e4f732ee6e3c93f084a879
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream
new file mode 100644
index 0000000000000000000000000000000000000000..4397332527740ed3d28033a9bec0f0fb5a4e2e99
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len
new file mode 100644
index 0000000000000000000000000000000000000000..5a90da614aa4680536dc132309a800340b99b152
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len
new file mode 100644
index 0000000000000000000000000000000000000000..eb0b8a069dd4fe98c3148ae79618cb3e6ef0b6db
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at
new file mode 100644
index 0000000000000000000000000000000000000000..d3f970b5cde1c4402c972c21a8cb5bea8ddbe45a
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i
new file mode 100644
index 0000000000000000000000000000000000000000..088707f231da2cc9e95bc48b01587b77c8b50c47
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len
new file mode 100644
index 0000000000000000000000000000000000000000..131e265740f37d77b7c4a3676d2a7704ca3e4a29
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab
new file mode 100644
index 0000000000000000000000000000000000000000..f10136f3e67b39b6a4cb7dea27fc7d4c23fafa9d
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream
new file mode 100644
index 0000000000000000000000000000000000000000..571632b98798bde0b0318d68b3e90fbdefd02300
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len
new file mode 100644
index 0000000000000000000000000000000000000000..344c6c7134898dc548dfdbd35bc8f7304aec1058
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len
new file mode 100644
index 0000000000000000000000000000000000000000..a9f80ae0249093f1db8b14f71053acce35747e3d
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at
new file mode 100644
index 0000000000000000000000000000000000000000..97d9b09dd708ab7730ebcf2effe99c15148bad43
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i
new file mode 100644
index 0000000000000000000000000000000000000000..c4a3cb016a31ca11662ce3316e1f9a1cad87edeb
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len
new file mode 100644
index 0000000000000000000000000000000000000000..131e265740f37d77b7c4a3676d2a7704ca3e4a29
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab
new file mode 100644
index 0000000000000000000000000000000000000000..84af199ec44786bd6415eba28da8b9f5df4d02b8
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream
new file mode 100644
index 0000000000000000000000000000000000000000..ace70275473ea73d777131cc1730d97a11da8ac4
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len
new file mode 100644
index 0000000000000000000000000000000000000000..7f1939e5bdf7d3ac1fa145ee60f78ff8420a6324
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len
new file mode 100644
index 0000000000000000000000000000000000000000..2a17e6e5bd9e7704741c2a3ae485eb2d2e302b87
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at
new file mode 100644
index 0000000000000000000000000000000000000000..c6e392c0be4f05739ba0b96b233878eb09a64ee6
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i
new file mode 100644
index 0000000000000000000000000000000000000000..b166365f4a21b07d56d360d9215afca80caf131d
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len
new file mode 100644
index 0000000000000000000000000000000000000000..131e265740f37d77b7c4a3676d2a7704ca3e4a29
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/counters.tab b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/counters.tab
new file mode 100644
index 0000000000000000000000000000000000000000..c393a5175e408b0e3885f71a19266de2c268db77
--- /dev/null
+++ b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/counters.tab	
@@ -0,0 +1,2 @@
+3
+0
\ No newline at end of file
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/file-to-id.tab b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/file-to-id.tab
new file mode 100644
index 0000000000000000000000000000000000000000..18a2b43ddb4ac526e274b1effc8373085735e9fc
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/file-to-id.tab differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream
new file mode 100644
index 0000000000000000000000000000000000000000..ace70275473ea73d777131cc1730d97a11da8ac4
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len
new file mode 100644
index 0000000000000000000000000000000000000000..7f1939e5bdf7d3ac1fa145ee60f78ff8420a6324
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len
new file mode 100644
index 0000000000000000000000000000000000000000..2a17e6e5bd9e7704741c2a3ae485eb2d2e302b87
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at
new file mode 100644
index 0000000000000000000000000000000000000000..9f383b5fab9d5332f3a4a6ffa2b7645a6d9f8af6
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i
new file mode 100644
index 0000000000000000000000000000000000000000..b166365f4a21b07d56d360d9215afca80caf131d
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len
new file mode 100644
index 0000000000000000000000000000000000000000..131e265740f37d77b7c4a3676d2a7704ca3e4a29
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/id-to-file.tab b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/id-to-file.tab
new file mode 100644
index 0000000000000000000000000000000000000000..aa512cd723edf6e38c4334ddbbd755557a34f363
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/id-to-file.tab differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream
new file mode 100644
index 0000000000000000000000000000000000000000..636f34a3cbe33411309e4121964a67a0624882df
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len
new file mode 100644
index 0000000000000000000000000000000000000000..29ce11cc9c2acfbfd357e04485500314b13afbb5
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len
new file mode 100644
index 0000000000000000000000000000000000000000..a9f80ae0249093f1db8b14f71053acce35747e3d
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at
new file mode 100644
index 0000000000000000000000000000000000000000..09e2d769c2b8b71d7d8c383cfb9df58f4210068a
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i
new file mode 100644
index 0000000000000000000000000000000000000000..e9905b3d28cac38891f28b92f61f50d5f90de08c
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len
new file mode 100644
index 0000000000000000000000000000000000000000..131e265740f37d77b7c4a3676d2a7704ca3e4a29
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/lookups.tab b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/lookups.tab
new file mode 100644
index 0000000000000000000000000000000000000000..223d7fdf1173dd2c59d22589895d155a76a34bfb
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/lookups.tab differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream
new file mode 100644
index 0000000000000000000000000000000000000000..57ad648b015c6b449c2629856eb28a8f38a2df43
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len
new file mode 100644
index 0000000000000000000000000000000000000000..1a1a2c7446170ef646024435cf8a49ad3d0f3d72
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/lookups.tab.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/lookups.tab.len
new file mode 100644
index 0000000000000000000000000000000000000000..edd30cc04c7c969d065096278d58e6975a1d10b4
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/lookups.tab.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at
new file mode 100644
index 0000000000000000000000000000000000000000..c6391f2f13db9ec34a622aae4e580d4dc37ffd50
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/lookups.tab_i b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/lookups.tab_i
new file mode 100644
index 0000000000000000000000000000000000000000..3e2315e9436da529af6124aff0ddfc3ce13cb033
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/lookups.tab_i differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len
new file mode 100644
index 0000000000000000000000000000000000000000..131e265740f37d77b7c4a3676d2a7704ca3e4a29
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/last-build.bin b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/last-build.bin
new file mode 100644
index 0000000000000000000000000000000000000000..93ee77634ecafef7dd3c288a2665427f14d4b0a6
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/cacheable/last-build.bin differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/localstate/build-history.bin b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/localstate/build-history.bin
new file mode 100644
index 0000000000000000000000000000000000000000..361935e789e27b634006df5ce11c8751190a1827
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/kotlin/compileTestKotlin/localstate/build-history.bin differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/reports/tests/test/classes/fr.nantes.univ.clock.BasicAlarmClockTest.html b/2A/S4/Quali_dev/TD1 Clock/build/reports/tests/test/classes/fr.nantes.univ.clock.BasicAlarmClockTest.html
new file mode 100644
index 0000000000000000000000000000000000000000..7582e7becda68bafcb52c4c44193135b860a81da
--- /dev/null
+++ b/2A/S4/Quali_dev/TD1 Clock/build/reports/tests/test/classes/fr.nantes.univ.clock.BasicAlarmClockTest.html	
@@ -0,0 +1,170 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<meta http-equiv="x-ua-compatible" content="IE=edge"/>
+<title>Test results - BasicAlarmClockTest</title>
+<link href="../css/base-style.css" rel="stylesheet" type="text/css"/>
+<link href="../css/style.css" rel="stylesheet" type="text/css"/>
+<script src="../js/report.js" type="text/javascript"></script>
+</head>
+<body>
+<div id="content">
+<h1>BasicAlarmClockTest</h1>
+<div class="breadcrumbs">
+<a href="../index.html">all</a> &gt; 
+<a href="../packages/fr.nantes.univ.clock.html">fr.nantes.univ.clock</a> &gt; BasicAlarmClockTest</div>
+<div id="summary">
+<table>
+<tr>
+<td>
+<div class="summaryGroup">
+<table>
+<tr>
+<td>
+<div class="infoBox" id="tests">
+<div class="counter">13</div>
+<p>tests</p>
+</div>
+</td>
+<td>
+<div class="infoBox" id="failures">
+<div class="counter">0</div>
+<p>failures</p>
+</div>
+</td>
+<td>
+<div class="infoBox" id="ignored">
+<div class="counter">0</div>
+<p>ignored</p>
+</div>
+</td>
+<td>
+<div class="infoBox" id="duration">
+<div class="counter">0.111s</div>
+<p>duration</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+</td>
+<td>
+<div class="infoBox success" id="successRate">
+<div class="percent">100%</div>
+<p>successful</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div id="tabs">
+<ul class="tabLinks">
+<li>
+<a href="#tab0">Tests</a>
+</li>
+</ul>
+<div id="tab0" class="tab">
+<h2>Tests</h2>
+<table>
+<thead>
+<tr>
+<th>Test</th>
+<th>Method name</th>
+<th>Duration</th>
+<th>Result</th>
+</tr>
+</thead>
+<tr>
+<td class="success">[1] [-2, 3, 10]</td>
+<td class="success">Testparam(Integer[])[1]</td>
+<td class="success">0.039s</td>
+<td class="success">passed</td>
+</tr>
+<tr>
+<td class="success">[2] [15, 3, 10]</td>
+<td class="success">Testparam(Integer[])[2]</td>
+<td class="success">0.001s</td>
+<td class="success">passed</td>
+</tr>
+<tr>
+<td class="success">[3] [4, -3, 10]</td>
+<td class="success">Testparam(Integer[])[3]</td>
+<td class="success">0.002s</td>
+<td class="success">passed</td>
+</tr>
+<tr>
+<td class="success">[4] [4, 25, 10]</td>
+<td class="success">Testparam(Integer[])[4]</td>
+<td class="success">0.002s</td>
+<td class="success">passed</td>
+</tr>
+<tr>
+<td class="success">[5] [4, 12, -5]</td>
+<td class="success">Testparam(Integer[])[5]</td>
+<td class="success">0.001s</td>
+<td class="success">passed</td>
+</tr>
+<tr>
+<td class="success">[6] [4, 12, 62]</td>
+<td class="success">Testparam(Integer[])[6]</td>
+<td class="success">0.001s</td>
+<td class="success">passed</td>
+</tr>
+<tr>
+<td class="success">selectRing1()</td>
+<td class="success">selectRing1()</td>
+<td class="success">0.041s</td>
+<td class="success">passed</td>
+</tr>
+<tr>
+<td class="success">selectRing2()</td>
+<td class="success">selectRing2()</td>
+<td class="success">0.003s</td>
+<td class="success">passed</td>
+</tr>
+<tr>
+<td class="success">selectRing3()</td>
+<td class="success">selectRing3()</td>
+<td class="success">0.005s</td>
+<td class="success">passed</td>
+</tr>
+<tr>
+<td class="success">selectRing4()</td>
+<td class="success">selectRing4()</td>
+<td class="success">0.005s</td>
+<td class="success">passed</td>
+</tr>
+<tr>
+<td class="success">selectRing5()</td>
+<td class="success">selectRing5()</td>
+<td class="success">0.005s</td>
+<td class="success">passed</td>
+</tr>
+<tr>
+<td class="success">selectRing6()</td>
+<td class="success">selectRing6()</td>
+<td class="success">0.003s</td>
+<td class="success">passed</td>
+</tr>
+<tr>
+<td class="success">selectRing7()</td>
+<td class="success">selectRing7()</td>
+<td class="success">0.003s</td>
+<td class="success">passed</td>
+</tr>
+</table>
+</div>
+</div>
+<div id="footer">
+<p>
+<div>
+<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
+<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
+</label>
+</div>Generated by 
+<a href="http://www.gradle.org">Gradle 8.0</a> at 26 janv. 2024, 17:37:27</p>
+</div>
+</div>
+</body>
+</html>
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/reports/tests/test/css/base-style.css b/2A/S4/Quali_dev/TD1 Clock/build/reports/tests/test/css/base-style.css
new file mode 100644
index 0000000000000000000000000000000000000000..4afa73e3ddcf5e21bdd0a22ac575dc99b2e3d826
--- /dev/null
+++ b/2A/S4/Quali_dev/TD1 Clock/build/reports/tests/test/css/base-style.css	
@@ -0,0 +1,179 @@
+
+body {
+    margin: 0;
+    padding: 0;
+    font-family: sans-serif;
+    font-size: 12pt;
+}
+
+body, a, a:visited {
+    color: #303030;
+}
+
+#content {
+    padding-left: 50px;
+    padding-right: 50px;
+    padding-top: 30px;
+    padding-bottom: 30px;
+}
+
+#content h1 {
+    font-size: 160%;
+    margin-bottom: 10px;
+}
+
+#footer {
+    margin-top: 100px;
+    font-size: 80%;
+    white-space: nowrap;
+}
+
+#footer, #footer a {
+    color: #a0a0a0;
+}
+
+#line-wrapping-toggle {
+    vertical-align: middle;
+}
+
+#label-for-line-wrapping-toggle {
+    vertical-align: middle;
+}
+
+ul {
+    margin-left: 0;
+}
+
+h1, h2, h3 {
+    white-space: nowrap;
+}
+
+h2 {
+    font-size: 120%;
+}
+
+ul.tabLinks {
+    padding-left: 0;
+    padding-top: 10px;
+    padding-bottom: 10px;
+    overflow: auto;
+    min-width: 800px;
+    width: auto !important;
+    width: 800px;
+}
+
+ul.tabLinks li {
+    float: left;
+    height: 100%;
+    list-style: none;
+    padding-left: 10px;
+    padding-right: 10px;
+    padding-top: 5px;
+    padding-bottom: 5px;
+    margin-bottom: 0;
+    -moz-border-radius: 7px;
+    border-radius: 7px;
+    margin-right: 25px;
+    border: solid 1px #d4d4d4;
+    background-color: #f0f0f0;
+}
+
+ul.tabLinks li:hover {
+    background-color: #fafafa;
+}
+
+ul.tabLinks li.selected {
+    background-color: #c5f0f5;
+    border-color: #c5f0f5;
+}
+
+ul.tabLinks a {
+    font-size: 120%;
+    display: block;
+    outline: none;
+    text-decoration: none;
+    margin: 0;
+    padding: 0;
+}
+
+ul.tabLinks li h2 {
+    margin: 0;
+    padding: 0;
+}
+
+div.tab {
+}
+
+div.selected {
+    display: block;
+}
+
+div.deselected {
+    display: none;
+}
+
+div.tab table {
+    min-width: 350px;
+    width: auto !important;
+    width: 350px;
+    border-collapse: collapse;
+}
+
+div.tab th, div.tab table {
+    border-bottom: solid #d0d0d0 1px;
+}
+
+div.tab th {
+    text-align: left;
+    white-space: nowrap;
+    padding-left: 6em;
+}
+
+div.tab th:first-child {
+    padding-left: 0;
+}
+
+div.tab td {
+    white-space: nowrap;
+    padding-left: 6em;
+    padding-top: 5px;
+    padding-bottom: 5px;
+}
+
+div.tab td:first-child {
+    padding-left: 0;
+}
+
+div.tab td.numeric, div.tab th.numeric {
+    text-align: right;
+}
+
+span.code {
+    display: inline-block;
+    margin-top: 0em;
+    margin-bottom: 1em;
+}
+
+span.code pre {
+    font-size: 11pt;
+    padding-top: 10px;
+    padding-bottom: 10px;
+    padding-left: 10px;
+    padding-right: 10px;
+    margin: 0;
+    background-color: #f7f7f7;
+    border: solid 1px #d0d0d0;
+    min-width: 700px;
+    width: auto !important;
+    width: 700px;
+}
+
+span.wrapped pre {
+    word-wrap: break-word;
+    white-space: pre-wrap;
+    word-break: break-all;
+}
+
+label.hidden {
+    display: none;
+}
\ No newline at end of file
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/reports/tests/test/css/style.css b/2A/S4/Quali_dev/TD1 Clock/build/reports/tests/test/css/style.css
new file mode 100644
index 0000000000000000000000000000000000000000..3dc4913e7a077a1f1f3810b1f20cc9275fb236bf
--- /dev/null
+++ b/2A/S4/Quali_dev/TD1 Clock/build/reports/tests/test/css/style.css	
@@ -0,0 +1,84 @@
+
+#summary {
+    margin-top: 30px;
+    margin-bottom: 40px;
+}
+
+#summary table {
+    border-collapse: collapse;
+}
+
+#summary td {
+    vertical-align: top;
+}
+
+.breadcrumbs, .breadcrumbs a {
+    color: #606060;
+}
+
+.infoBox {
+    width: 110px;
+    padding-top: 15px;
+    padding-bottom: 15px;
+    text-align: center;
+}
+
+.infoBox p {
+    margin: 0;
+}
+
+.counter, .percent {
+    font-size: 120%;
+    font-weight: bold;
+    margin-bottom: 8px;
+}
+
+#duration {
+    width: 125px;
+}
+
+#successRate, .summaryGroup {
+    border: solid 2px #d0d0d0;
+    -moz-border-radius: 10px;
+    border-radius: 10px;
+}
+
+#successRate {
+    width: 140px;
+    margin-left: 35px;
+}
+
+#successRate .percent {
+    font-size: 180%;
+}
+
+.success, .success a {
+    color: #008000;
+}
+
+div.success, #successRate.success {
+    background-color: #bbd9bb;
+    border-color: #008000;
+}
+
+.failures, .failures a {
+    color: #b60808;
+}
+
+.skipped, .skipped a {
+    color: #c09853;
+}
+
+div.failures, #successRate.failures {
+    background-color: #ecdada;
+    border-color: #b60808;
+}
+
+ul.linkList {
+    padding-left: 0;
+}
+
+ul.linkList li {
+    list-style: none;
+    margin-bottom: 5px;
+}
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/reports/tests/test/index.html b/2A/S4/Quali_dev/TD1 Clock/build/reports/tests/test/index.html
new file mode 100644
index 0000000000000000000000000000000000000000..c7ab93b1f86968839ba2ab290630fd1b7e3fe341
--- /dev/null
+++ b/2A/S4/Quali_dev/TD1 Clock/build/reports/tests/test/index.html	
@@ -0,0 +1,133 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<meta http-equiv="x-ua-compatible" content="IE=edge"/>
+<title>Test results - Test Summary</title>
+<link href="css/base-style.css" rel="stylesheet" type="text/css"/>
+<link href="css/style.css" rel="stylesheet" type="text/css"/>
+<script src="js/report.js" type="text/javascript"></script>
+</head>
+<body>
+<div id="content">
+<h1>Test Summary</h1>
+<div id="summary">
+<table>
+<tr>
+<td>
+<div class="summaryGroup">
+<table>
+<tr>
+<td>
+<div class="infoBox" id="tests">
+<div class="counter">13</div>
+<p>tests</p>
+</div>
+</td>
+<td>
+<div class="infoBox" id="failures">
+<div class="counter">0</div>
+<p>failures</p>
+</div>
+</td>
+<td>
+<div class="infoBox" id="ignored">
+<div class="counter">0</div>
+<p>ignored</p>
+</div>
+</td>
+<td>
+<div class="infoBox" id="duration">
+<div class="counter">0.111s</div>
+<p>duration</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+</td>
+<td>
+<div class="infoBox success" id="successRate">
+<div class="percent">100%</div>
+<p>successful</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div id="tabs">
+<ul class="tabLinks">
+<li>
+<a href="#tab0">Packages</a>
+</li>
+<li>
+<a href="#tab1">Classes</a>
+</li>
+</ul>
+<div id="tab0" class="tab">
+<h2>Packages</h2>
+<table>
+<thead>
+<tr>
+<th>Package</th>
+<th>Tests</th>
+<th>Failures</th>
+<th>Ignored</th>
+<th>Duration</th>
+<th>Success rate</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="success">
+<a href="packages/fr.nantes.univ.clock.html">fr.nantes.univ.clock</a>
+</td>
+<td>13</td>
+<td>0</td>
+<td>0</td>
+<td>0.111s</td>
+<td class="success">100%</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div id="tab1" class="tab">
+<h2>Classes</h2>
+<table>
+<thead>
+<tr>
+<th>Class</th>
+<th>Tests</th>
+<th>Failures</th>
+<th>Ignored</th>
+<th>Duration</th>
+<th>Success rate</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="success">
+<a href="classes/fr.nantes.univ.clock.BasicAlarmClockTest.html">fr.nantes.univ.clock.BasicAlarmClockTest</a>
+</td>
+<td>13</td>
+<td>0</td>
+<td>0</td>
+<td>0.111s</td>
+<td class="success">100%</td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div id="footer">
+<p>
+<div>
+<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
+<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
+</label>
+</div>Generated by 
+<a href="http://www.gradle.org">Gradle 8.0</a> at 26 janv. 2024, 17:37:27</p>
+</div>
+</div>
+</body>
+</html>
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/reports/tests/test/js/report.js b/2A/S4/Quali_dev/TD1 Clock/build/reports/tests/test/js/report.js
new file mode 100644
index 0000000000000000000000000000000000000000..83bab4a19f36a6f460c6747ad6b7252f63a1fad3
--- /dev/null
+++ b/2A/S4/Quali_dev/TD1 Clock/build/reports/tests/test/js/report.js	
@@ -0,0 +1,194 @@
+(function (window, document) {
+    "use strict";
+
+    var tabs = {};
+
+    function changeElementClass(element, classValue) {
+        if (element.getAttribute("className")) {
+            element.setAttribute("className", classValue);
+        } else {
+            element.setAttribute("class", classValue);
+        }
+    }
+
+    function getClassAttribute(element) {
+        if (element.getAttribute("className")) {
+            return element.getAttribute("className");
+        } else {
+            return element.getAttribute("class");
+        }
+    }
+
+    function addClass(element, classValue) {
+        changeElementClass(element, getClassAttribute(element) + " " + classValue);
+    }
+
+    function removeClass(element, classValue) {
+        changeElementClass(element, getClassAttribute(element).replace(classValue, ""));
+    }
+
+    function initTabs() {
+        var container = document.getElementById("tabs");
+
+        tabs.tabs = findTabs(container);
+        tabs.titles = findTitles(tabs.tabs);
+        tabs.headers = findHeaders(container);
+        tabs.select = select;
+        tabs.deselectAll = deselectAll;
+        tabs.select(0);
+
+        return true;
+    }
+
+    function getCheckBox() {
+        return document.getElementById("line-wrapping-toggle");
+    }
+
+    function getLabelForCheckBox() {
+        return document.getElementById("label-for-line-wrapping-toggle");
+    }
+
+    function findCodeBlocks() {
+        var spans = document.getElementById("tabs").getElementsByTagName("span");
+        var codeBlocks = [];
+        for (var i = 0; i < spans.length; ++i) {
+            if (spans[i].className.indexOf("code") >= 0) {
+                codeBlocks.push(spans[i]);
+            }
+        }
+        return codeBlocks;
+    }
+
+    function forAllCodeBlocks(operation) {
+        var codeBlocks = findCodeBlocks();
+
+        for (var i = 0; i < codeBlocks.length; ++i) {
+            operation(codeBlocks[i], "wrapped");
+        }
+    }
+
+    function toggleLineWrapping() {
+        var checkBox = getCheckBox();
+
+        if (checkBox.checked) {
+            forAllCodeBlocks(addClass);
+        } else {
+            forAllCodeBlocks(removeClass);
+        }
+    }
+
+    function initControls() {
+        if (findCodeBlocks().length > 0) {
+            var checkBox = getCheckBox();
+            var label = getLabelForCheckBox();
+
+            checkBox.onclick = toggleLineWrapping;
+            checkBox.checked = false;
+
+            removeClass(label, "hidden");
+         }
+    }
+
+    function switchTab() {
+        var id = this.id.substr(1);
+
+        for (var i = 0; i < tabs.tabs.length; i++) {
+            if (tabs.tabs[i].id === id) {
+                tabs.select(i);
+                break;
+            }
+        }
+
+        return false;
+    }
+
+    function select(i) {
+        this.deselectAll();
+
+        changeElementClass(this.tabs[i], "tab selected");
+        changeElementClass(this.headers[i], "selected");
+
+        while (this.headers[i].firstChild) {
+            this.headers[i].removeChild(this.headers[i].firstChild);
+        }
+
+        var h2 = document.createElement("H2");
+
+        h2.appendChild(document.createTextNode(this.titles[i]));
+        this.headers[i].appendChild(h2);
+    }
+
+    function deselectAll() {
+        for (var i = 0; i < this.tabs.length; i++) {
+            changeElementClass(this.tabs[i], "tab deselected");
+            changeElementClass(this.headers[i], "deselected");
+
+            while (this.headers[i].firstChild) {
+                this.headers[i].removeChild(this.headers[i].firstChild);
+            }
+
+            var a = document.createElement("A");
+
+            a.setAttribute("id", "ltab" + i);
+            a.setAttribute("href", "#tab" + i);
+            a.onclick = switchTab;
+            a.appendChild(document.createTextNode(this.titles[i]));
+
+            this.headers[i].appendChild(a);
+        }
+    }
+
+    function findTabs(container) {
+        return findChildElements(container, "DIV", "tab");
+    }
+
+    function findHeaders(container) {
+        var owner = findChildElements(container, "UL", "tabLinks");
+        return findChildElements(owner[0], "LI", null);
+    }
+
+    function findTitles(tabs) {
+        var titles = [];
+
+        for (var i = 0; i < tabs.length; i++) {
+            var tab = tabs[i];
+            var header = findChildElements(tab, "H2", null)[0];
+
+            header.parentNode.removeChild(header);
+
+            if (header.innerText) {
+                titles.push(header.innerText);
+            } else {
+                titles.push(header.textContent);
+            }
+        }
+
+        return titles;
+    }
+
+    function findChildElements(container, name, targetClass) {
+        var elements = [];
+        var children = container.childNodes;
+
+        for (var i = 0; i < children.length; i++) {
+            var child = children.item(i);
+
+            if (child.nodeType === 1 && child.nodeName === name) {
+                if (targetClass && child.className.indexOf(targetClass) < 0) {
+                    continue;
+                }
+
+                elements.push(child);
+            }
+        }
+
+        return elements;
+    }
+
+    // Entry point.
+
+    window.onload = function() {
+        initTabs();
+        initControls();
+    };
+} (window, window.document));
\ No newline at end of file
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/reports/tests/test/packages/fr.nantes.univ.clock.html b/2A/S4/Quali_dev/TD1 Clock/build/reports/tests/test/packages/fr.nantes.univ.clock.html
new file mode 100644
index 0000000000000000000000000000000000000000..275c55f9cac9b2b03d7964e09f5081fc468f2047
--- /dev/null
+++ b/2A/S4/Quali_dev/TD1 Clock/build/reports/tests/test/packages/fr.nantes.univ.clock.html	
@@ -0,0 +1,103 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<meta http-equiv="x-ua-compatible" content="IE=edge"/>
+<title>Test results - Package fr.nantes.univ.clock</title>
+<link href="../css/base-style.css" rel="stylesheet" type="text/css"/>
+<link href="../css/style.css" rel="stylesheet" type="text/css"/>
+<script src="../js/report.js" type="text/javascript"></script>
+</head>
+<body>
+<div id="content">
+<h1>Package fr.nantes.univ.clock</h1>
+<div class="breadcrumbs">
+<a href="../index.html">all</a> &gt; fr.nantes.univ.clock</div>
+<div id="summary">
+<table>
+<tr>
+<td>
+<div class="summaryGroup">
+<table>
+<tr>
+<td>
+<div class="infoBox" id="tests">
+<div class="counter">13</div>
+<p>tests</p>
+</div>
+</td>
+<td>
+<div class="infoBox" id="failures">
+<div class="counter">0</div>
+<p>failures</p>
+</div>
+</td>
+<td>
+<div class="infoBox" id="ignored">
+<div class="counter">0</div>
+<p>ignored</p>
+</div>
+</td>
+<td>
+<div class="infoBox" id="duration">
+<div class="counter">0.111s</div>
+<p>duration</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+</td>
+<td>
+<div class="infoBox success" id="successRate">
+<div class="percent">100%</div>
+<p>successful</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div id="tabs">
+<ul class="tabLinks">
+<li>
+<a href="#tab0">Classes</a>
+</li>
+</ul>
+<div id="tab0" class="tab">
+<h2>Classes</h2>
+<table>
+<thread>
+<tr>
+<th>Class</th>
+<th>Tests</th>
+<th>Failures</th>
+<th>Ignored</th>
+<th>Duration</th>
+<th>Success rate</th>
+</tr>
+</thread>
+<tr>
+<td class="success">
+<a href="../classes/fr.nantes.univ.clock.BasicAlarmClockTest.html">BasicAlarmClockTest</a>
+</td>
+<td>13</td>
+<td>0</td>
+<td>0</td>
+<td>0.111s</td>
+<td class="success">100%</td>
+</tr>
+</table>
+</div>
+</div>
+<div id="footer">
+<p>
+<div>
+<label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
+<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
+</label>
+</div>Generated by 
+<a href="http://www.gradle.org">Gradle 8.0</a> at 26 janv. 2024, 17:37:27</p>
+</div>
+</div>
+</body>
+</html>
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/test-results/test/TEST-fr.nantes.univ.clock.BasicAlarmClockTest.xml b/2A/S4/Quali_dev/TD1 Clock/build/test-results/test/TEST-fr.nantes.univ.clock.BasicAlarmClockTest.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3344ff74f62bc8a8c040a6c0859693010487d1bb
--- /dev/null
+++ b/2A/S4/Quali_dev/TD1 Clock/build/test-results/test/TEST-fr.nantes.univ.clock.BasicAlarmClockTest.xml	
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<testsuite name="fr.nantes.univ.clock.BasicAlarmClockTest" tests="13" skipped="0" failures="0" errors="0" timestamp="2024-01-26T16:37:26" hostname="u-inf-j-e114-02" time="0.195">
+  <properties/>
+  <testcase name="selectRing1()" classname="fr.nantes.univ.clock.BasicAlarmClockTest" time="0.041"/>
+  <testcase name="selectRing2()" classname="fr.nantes.univ.clock.BasicAlarmClockTest" time="0.003"/>
+  <testcase name="selectRing3()" classname="fr.nantes.univ.clock.BasicAlarmClockTest" time="0.005"/>
+  <testcase name="selectRing4()" classname="fr.nantes.univ.clock.BasicAlarmClockTest" time="0.005"/>
+  <testcase name="selectRing5()" classname="fr.nantes.univ.clock.BasicAlarmClockTest" time="0.005"/>
+  <testcase name="selectRing6()" classname="fr.nantes.univ.clock.BasicAlarmClockTest" time="0.003"/>
+  <testcase name="selectRing7()" classname="fr.nantes.univ.clock.BasicAlarmClockTest" time="0.003"/>
+  <testcase name="[1] [-2, 3, 10]" classname="fr.nantes.univ.clock.BasicAlarmClockTest" time="0.039"/>
+  <testcase name="[2] [15, 3, 10]" classname="fr.nantes.univ.clock.BasicAlarmClockTest" time="0.001"/>
+  <testcase name="[3] [4, -3, 10]" classname="fr.nantes.univ.clock.BasicAlarmClockTest" time="0.002"/>
+  <testcase name="[4] [4, 25, 10]" classname="fr.nantes.univ.clock.BasicAlarmClockTest" time="0.002"/>
+  <testcase name="[5] [4, 12, -5]" classname="fr.nantes.univ.clock.BasicAlarmClockTest" time="0.001"/>
+  <testcase name="[6] [4, 12, 62]" classname="fr.nantes.univ.clock.BasicAlarmClockTest" time="0.001"/>
+  <system-out><![CDATA[]]></system-out>
+  <system-err><![CDATA[]]></system-err>
+</testsuite>
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/test-results/test/binary/output.bin b/2A/S4/Quali_dev/TD1 Clock/build/test-results/test/binary/output.bin
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/test-results/test/binary/output.bin.idx b/2A/S4/Quali_dev/TD1 Clock/build/test-results/test/binary/output.bin.idx
new file mode 100644
index 0000000000000000000000000000000000000000..f76dd238ade08917e6712764a16a22005a50573d
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/test-results/test/binary/output.bin.idx differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/build/test-results/test/binary/results.bin b/2A/S4/Quali_dev/TD1 Clock/build/test-results/test/binary/results.bin
new file mode 100644
index 0000000000000000000000000000000000000000..ca26ecbde34ad7db2874b64ac47ced2a2dd3a434
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/build/test-results/test/binary/results.bin differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/gradle/wrapper/gradle-wrapper.jar b/2A/S4/Quali_dev/TD1 Clock/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 0000000000000000000000000000000000000000..ccebba7710deaf9f98673a68957ea02138b60d0a
Binary files /dev/null and b/2A/S4/Quali_dev/TD1 Clock/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/2A/S4/Quali_dev/TD1 Clock/gradle/wrapper/gradle-wrapper.properties b/2A/S4/Quali_dev/TD1 Clock/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 0000000000000000000000000000000000000000..42defcc94b345ce2f6cd2ce570b102db6e4b097e
--- /dev/null
+++ b/2A/S4/Quali_dev/TD1 Clock/gradle/wrapper/gradle-wrapper.properties	
@@ -0,0 +1,6 @@
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip
+networkTimeout=10000
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
diff --git a/2A/S4/Quali_dev/TD1 Clock/gradlew b/2A/S4/Quali_dev/TD1 Clock/gradlew
new file mode 100755
index 0000000000000000000000000000000000000000..79a61d421cc4e272926b1d590728d0bbfc224b0d
--- /dev/null
+++ b/2A/S4/Quali_dev/TD1 Clock/gradlew	
@@ -0,0 +1,244 @@
+#!/bin/sh
+
+#
+# Copyright © 2015-2021 the original authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+##############################################################################
+#
+#   Gradle start up script for POSIX generated by Gradle.
+#
+#   Important for running:
+#
+#   (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
+#       noncompliant, but you have some other compliant shell such as ksh or
+#       bash, then to run this script, type that shell name before the whole
+#       command line, like:
+#
+#           ksh Gradle
+#
+#       Busybox and similar reduced shells will NOT work, because this script
+#       requires all of these POSIX shell features:
+#         * functions;
+#         * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
+#           «${var#prefix}», «${var%suffix}», and «$( cmd )»;
+#         * compound commands having a testable exit status, especially «case»;
+#         * various built-in commands including «command», «set», and «ulimit».
+#
+#   Important for patching:
+#
+#   (2) This script targets any POSIX shell, so it avoids extensions provided
+#       by Bash, Ksh, etc; in particular arrays are avoided.
+#
+#       The "traditional" practice of packing multiple parameters into a
+#       space-separated string is a well documented source of bugs and security
+#       problems, so this is (mostly) avoided, by progressively accumulating
+#       options in "$@", and eventually passing that to Java.
+#
+#       Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
+#       and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
+#       see the in-line comments for details.
+#
+#       There are tweaks for specific operating systems such as AIX, CygWin,
+#       Darwin, MinGW, and NonStop.
+#
+#   (3) This script is generated from the Groovy template
+#       https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
+#       within the Gradle project.
+#
+#       You can find Gradle at https://github.com/gradle/gradle/.
+#
+##############################################################################
+
+# Attempt to set APP_HOME
+
+# Resolve links: $0 may be a link
+app_path=$0
+
+# Need this for daisy-chained symlinks.
+while
+    APP_HOME=${app_path%"${app_path##*/}"}  # leaves a trailing /; empty if no leading path
+    [ -h "$app_path" ]
+do
+    ls=$( ls -ld "$app_path" )
+    link=${ls#*' -> '}
+    case $link in             #(
+      /*)   app_path=$link ;; #(
+      *)    app_path=$APP_HOME$link ;;
+    esac
+done
+
+# This is normally unused
+# shellcheck disable=SC2034
+APP_BASE_NAME=${0##*/}
+APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD=maximum
+
+warn () {
+    echo "$*"
+} >&2
+
+die () {
+    echo
+    echo "$*"
+    echo
+    exit 1
+} >&2
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+nonstop=false
+case "$( uname )" in                #(
+  CYGWIN* )         cygwin=true  ;; #(
+  Darwin* )         darwin=true  ;; #(
+  MSYS* | MINGW* )  msys=true    ;; #(
+  NONSTOP* )        nonstop=true ;;
+esac
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+        # IBM's JDK on AIX uses strange locations for the executables
+        JAVACMD=$JAVA_HOME/jre/sh/java
+    else
+        JAVACMD=$JAVA_HOME/bin/java
+    fi
+    if [ ! -x "$JAVACMD" ] ; then
+        die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+    fi
+else
+    JAVACMD=java
+    which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+fi
+
+# Increase the maximum file descriptors if we can.
+if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
+    case $MAX_FD in #(
+      max*)
+        # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
+        # shellcheck disable=SC3045
+        MAX_FD=$( ulimit -H -n ) ||
+            warn "Could not query maximum file descriptor limit"
+    esac
+    case $MAX_FD in  #(
+      '' | soft) :;; #(
+      *)
+        # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
+        # shellcheck disable=SC3045
+        ulimit -n "$MAX_FD" ||
+            warn "Could not set maximum file descriptor limit to $MAX_FD"
+    esac
+fi
+
+# Collect all arguments for the java command, stacking in reverse order:
+#   * args from the command line
+#   * the main class name
+#   * -classpath
+#   * -D...appname settings
+#   * --module-path (only if needed)
+#   * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
+
+# For Cygwin or MSYS, switch paths to Windows format before running java
+if "$cygwin" || "$msys" ; then
+    APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
+    CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
+
+    JAVACMD=$( cygpath --unix "$JAVACMD" )
+
+    # Now convert the arguments - kludge to limit ourselves to /bin/sh
+    for arg do
+        if
+            case $arg in                                #(
+              -*)   false ;;                            # don't mess with options #(
+              /?*)  t=${arg#/} t=/${t%%/*}              # looks like a POSIX filepath
+                    [ -e "$t" ] ;;                      #(
+              *)    false ;;
+            esac
+        then
+            arg=$( cygpath --path --ignore --mixed "$arg" )
+        fi
+        # Roll the args list around exactly as many times as the number of
+        # args, so each arg winds up back in the position where it started, but
+        # possibly modified.
+        #
+        # NB: a `for` loop captures its iteration list before it begins, so
+        # changing the positional parameters here affects neither the number of
+        # iterations, nor the values presented in `arg`.
+        shift                   # remove old arg
+        set -- "$@" "$arg"      # push replacement arg
+    done
+fi
+
+# Collect all arguments for the java command;
+#   * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
+#     shell script including quotes and variable substitutions, so put them in
+#     double quotes to make sure that they get re-expanded; and
+#   * put everything else in single quotes, so that it's not re-expanded.
+
+set -- \
+        "-Dorg.gradle.appname=$APP_BASE_NAME" \
+        -classpath "$CLASSPATH" \
+        org.gradle.wrapper.GradleWrapperMain \
+        "$@"
+
+# Stop when "xargs" is not available.
+if ! command -v xargs >/dev/null 2>&1
+then
+    die "xargs is not available"
+fi
+
+# Use "xargs" to parse quoted args.
+#
+# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
+#
+# In Bash we could simply go:
+#
+#   readarray ARGS < <( xargs -n1 <<<"$var" ) &&
+#   set -- "${ARGS[@]}" "$@"
+#
+# but POSIX shell has neither arrays nor command substitution, so instead we
+# post-process each arg (as a line of input to sed) to backslash-escape any
+# character that might be a shell metacharacter, then use eval to reverse
+# that process (while maintaining the separation between arguments), and wrap
+# the whole thing up as a single "set" statement.
+#
+# This will of course break if any of these variables contains a newline or
+# an unmatched quote.
+#
+
+eval "set -- $(
+        printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
+        xargs -n1 |
+        sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
+        tr '\n' ' '
+    )" '"$@"'
+
+exec "$JAVACMD" "$@"
diff --git a/2A/S4/Quali_dev/TD1 Clock/gradlew.bat b/2A/S4/Quali_dev/TD1 Clock/gradlew.bat
new file mode 100644
index 0000000000000000000000000000000000000000..6689b85beecde676054c39c2408085f41e6be6dc
--- /dev/null
+++ b/2A/S4/Quali_dev/TD1 Clock/gradlew.bat	
@@ -0,0 +1,92 @@
+@rem
+@rem Copyright 2015 the original author or authors.
+@rem
+@rem Licensed under the Apache License, Version 2.0 (the "License");
+@rem you may not use this file except in compliance with the License.
+@rem You may obtain a copy of the License at
+@rem
+@rem      https://www.apache.org/licenses/LICENSE-2.0
+@rem
+@rem Unless required by applicable law or agreed to in writing, software
+@rem distributed under the License is distributed on an "AS IS" BASIS,
+@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@rem See the License for the specific language governing permissions and
+@rem limitations under the License.
+@rem
+
+@if "%DEBUG%"=="" @echo off
+@rem ##########################################################################
+@rem
+@rem  Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+set DIRNAME=%~dp0
+if "%DIRNAME%"=="" set DIRNAME=.
+@rem This is normally unused
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Resolve any "." and ".." in APP_HOME to make it shorter.
+for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if %ERRORLEVEL% equ 0 goto execute
+
+echo.
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto execute
+
+echo.
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
+
+:end
+@rem End local scope for the variables with windows NT shell
+if %ERRORLEVEL% equ 0 goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+set EXIT_CODE=%ERRORLEVEL%
+if %EXIT_CODE% equ 0 set EXIT_CODE=1
+if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
+exit /b %EXIT_CODE%
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
diff --git a/2A/S4/Quali_dev/TD1 Clock/src/main/kotlin/Main.kt b/2A/S4/Quali_dev/TD1 Clock/src/main/kotlin/Main.kt
new file mode 100644
index 0000000000000000000000000000000000000000..35e214d3cad93bb354dccf056f999749e3b2a5d1
--- /dev/null
+++ b/2A/S4/Quali_dev/TD1 Clock/src/main/kotlin/Main.kt	
@@ -0,0 +1,26 @@
+import fr.nantes.univ.clock.AlarmClockException
+import fr.nantes.univ.clock.BasicAlarmClock
+import fr.nantes.univ.clock.Calendar
+
+fun main(args: Array<String>) {
+    println("Hello IUT World")
+
+    try {
+        val ac = BasicAlarmClock(3, 12, 30)
+        ac.enable()
+        println(ac)
+        ac.addMin(55)
+        ac.enable()
+        println(ac)
+        ac.checkTimeAndRing()
+        println(ac)
+
+        val cal= Calendar()
+        println(Calendar.HOUR)
+        println(cal[Calendar.HOUR])
+        println(cal[Calendar.MINUTE])
+
+    } catch (e: AlarmClockException) {
+        println(e)
+    }
+}
\ No newline at end of file
diff --git a/2A/S4/Quali_dev/TD1 Clock/src/main/kotlin/fr/nantes/univ/clock/AlarmClock.kt b/2A/S4/Quali_dev/TD1 Clock/src/main/kotlin/fr/nantes/univ/clock/AlarmClock.kt
new file mode 100644
index 0000000000000000000000000000000000000000..ec272b0f92249ed9e805cca2b8a6b184620fe434
--- /dev/null
+++ b/2A/S4/Quali_dev/TD1 Clock/src/main/kotlin/fr/nantes/univ/clock/AlarmClock.kt	
@@ -0,0 +1,112 @@
+package fr.nantes.univ.clock
+
+/**
+ * Common interface for a simple alarm clock software library.
+ *
+ * Created on 01/01/2023.
+ * Initial code from Arnaud Lanoix and Jean-Marie Mottu
+ *
+ * Rehaul by Erwan Bousse in 2019-2022
+ *
+ * Transformed into kotlin and updated in 2023 by Jean-Marie Mottu
+ */
+interface AlarmClock {
+    /**
+     * Selects a new ringtone, if and only if this alarm clock is not ringing.
+     *
+     * @param ringtone the ringtone, between 1 and 10.
+     * @return true when the ringtone has changed, false otherwise.
+     * @throws AlarmClockException when the ringtone is invalid.
+     */
+    @Throws(AlarmClockException::class)
+    fun selectRing(ringtone: Int): Boolean
+
+    /**
+     * Increments the ringing time with the number of minutes passed as parameter.
+     * As a result, it changes the Hour and the Minutes previously stored.
+     *
+     * @param minutes the increment, in minutes.
+     * @throws AlarmClockException if the parameter is invalid.
+     */
+    @Throws(AlarmClockException::class)
+    fun addMin(minutes: Int)
+
+    /**
+     * Enables (activates) this Alarm Clock. The Alarm Clock only rings when it is enabled.
+     * This AlarmClock cannot be enabled when it is ringing.
+     *
+     * @throws AlarmClockException if the alarm is ringing.
+     */
+    @Throws(AlarmClockException::class)
+    fun enable()
+
+    /**
+     * If the system clock time matches the configured alarm time, and if the Alarm Clock is enabled,
+     * rings the Alarm Clock and disables the Alarm Clock.
+     *
+     * This method should be called at least once per minute, in order to not miss
+     * the alarm time.
+     *
+     */
+    fun checkTimeAndRing()
+
+    /**
+     * Disables this Alarm Clock. The Alarm Clock does not ring when it is disabled.
+     * This AlarmClock cannot be disabled when it is ringing.
+     *
+     * @throws AlarmClockException if the alarm is ringing.
+     */
+    @Throws(AlarmClockException::class)
+    fun disable()
+
+    /**
+     * Switches off (stops) this alarm clock ring. If the parameter snooze is true, makes it enabled again and rings
+     * back after 5 minutes.
+     *
+     * @param snooze when true, makes the alarm clock ring again, 5 minutes later.
+     * @throws AlarmClockException if the alarm cannot be snoozed.
+     */
+    @Throws(AlarmClockException::class)
+    fun switchOff(snooze: Boolean)
+
+    /**
+     * Accessor for the current status of this alarm, if it is enabled or not.
+     *
+     * @return a [boolean] value: true if the alarm is enabled, false otherwise.
+     */
+    val isEnabled: Boolean
+
+    /**
+     * Returns the current state of this alarm.
+     *
+     * @return a [boolean] value: true if the alarm is ringing, false otherwise.
+     */
+    val isRinging: Boolean
+
+    /**
+     * Accessor to this alarm ringtone.
+     *
+     * @return an [int] value between 1 and 10.
+     */
+    val ring: Int
+
+    /**
+     * Accessor to this alarm hour.
+     *
+     * @return an [int] value between 0 and 23.
+     */
+    val hour: Int
+
+    /**
+     * Accessor to this alarm's minutes.
+     *
+     * @return an [int] value between 0 and 59.
+     */
+    val min: Int
+
+    /**
+     * Setter to switch on this.ringing attribute for testing.
+     * Desactivate the alarmClock to prevent inconsistency
+     */
+    fun setRingingOn()
+}
\ No newline at end of file
diff --git a/2A/S4/Quali_dev/TD1 Clock/src/main/kotlin/fr/nantes/univ/clock/AlarmClockException.kt b/2A/S4/Quali_dev/TD1 Clock/src/main/kotlin/fr/nantes/univ/clock/AlarmClockException.kt
new file mode 100644
index 0000000000000000000000000000000000000000..d53a99991d5852b3dc7ad8becb6226c44383bd87
--- /dev/null
+++ b/2A/S4/Quali_dev/TD1 Clock/src/main/kotlin/fr/nantes/univ/clock/AlarmClockException.kt	
@@ -0,0 +1,14 @@
+package fr.nantes.univ.clock
+
+class AlarmClockException(private val msg: String) : Exception() {
+    override fun toString(): String {
+        return msg + " : " + super.toString()
+    }
+
+    companion object {
+        /**
+         *
+         */
+        private const val serialVersionUID = 1L
+    }
+}
\ No newline at end of file
diff --git a/2A/S4/Quali_dev/TD1 Clock/src/main/kotlin/fr/nantes/univ/clock/AlarmClockFactory.kt b/2A/S4/Quali_dev/TD1 Clock/src/main/kotlin/fr/nantes/univ/clock/AlarmClockFactory.kt
new file mode 100644
index 0000000000000000000000000000000000000000..e8bc10e764ba9e5c4932a15174c2fc39281675c9
--- /dev/null
+++ b/2A/S4/Quali_dev/TD1 Clock/src/main/kotlin/fr/nantes/univ/clock/AlarmClockFactory.kt	
@@ -0,0 +1,26 @@
+package fr.nantes.univ.clock
+
+/**
+ * Factory for creating AlarmClock instances.
+ */
+class AlarmClockFactory {
+    /**
+     * Instantiates a new AlarmClock and initializes it with the following parameters: ring, hour and min.
+     * After the instantiation, the fields ringing and isActive are set to false.
+     *
+     * @param ring choice of the ringtone (value between 1 and 10)
+     * @param hour the alarm hour (value between 0 and 23).
+     * @param min the alarm minute (value between 0 and 59).
+     *
+     * @return an instance of AlarmClock
+     * @throws AlarmClockException when arguments are invalid
+     */
+    @Throws(AlarmClockException::class)
+    fun createAlarmClock(
+        ring: Int,
+        hour: Int,
+        min: Int
+    ): AlarmClock {
+        return BasicAlarmClock(ring, hour, min)
+    }
+}
\ No newline at end of file
diff --git a/2A/S4/Quali_dev/TD1 Clock/src/main/kotlin/fr/nantes/univ/clock/BasicAlarmClock.kt b/2A/S4/Quali_dev/TD1 Clock/src/main/kotlin/fr/nantes/univ/clock/BasicAlarmClock.kt
new file mode 100644
index 0000000000000000000000000000000000000000..a4a0798b14da9e1e9de2330e9af89e44c4f36d38
--- /dev/null
+++ b/2A/S4/Quali_dev/TD1 Clock/src/main/kotlin/fr/nantes/univ/clock/BasicAlarmClock.kt	
@@ -0,0 +1,198 @@
+package fr.nantes.univ.clock
+
+/**
+ * Basic implementation of the [AlarmClock] interface.
+ *
+ * Initial code from Arnaud Lanoix and Jean-Marie Mottu
+ */
+class BasicAlarmClock(ring: Int, hour: Int, min: Int) : AlarmClock {
+    /**
+     * {@inheritDoc}
+     */
+    /**
+     * An [int] value between 1 and 10 representing the ringtone.
+     */
+    override var ring = 0
+        private set
+    /**
+     * {@inheritDoc}
+     */
+    /**
+     * An [int] value between 0 and 23 representing the alarm hour.
+     */
+    override var hour = 0
+        private set
+    /**
+     * {@inheritDoc}
+     */
+    /**
+     * An [int] value between 0 and 59 representing the alarm minutes.
+     */
+    override var min = 0
+        private set
+    /**
+     * {@inheritDoc}
+     */
+    /**
+     * A [boolean] value: true if the alarm is enabled, false otherwise.
+     */
+    override var isEnabled = false
+        private set
+    /**
+     * {@inheritDoc}
+     */
+    /**
+     * A [boolean] value: true if the alarm is ringing, false otherwise.
+     */
+    override var isRinging = false
+        private set
+
+    /**
+     * @see fr.nantes.alarm.AlarmClock
+     *
+     * @param ring [BasicAlarmClock.ring]
+     * @param hour [BasicAlarmClock.hour]
+     * @param min [BasicAlarmClock.min]
+     * @throws AlarmClockException if one parameter is out of bounds.
+     */
+    init {
+        if (hour < 0) {
+            throw AlarmClockException("bad hour: inf value")
+        } else if (hour > 23) {
+            throw AlarmClockException("bad hour: sup value")
+        } else if (min < 0) {
+            throw AlarmClockException("bad min: inf value")
+        } else if (min > 59) {
+            throw AlarmClockException("bad min: sup value")
+        } else if (ring < 1 || ring > 10) {
+            throw AlarmClockException("bad ringtone: out of limits")
+        } else {
+            this.ring = ring
+            this.hour = hour
+            this.min = min
+        }
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Throws(AlarmClockException::class)
+    override fun selectRing(ringtone: Int): Boolean {
+        var modified = false
+         if (!isRinging) {
+            if (ringtone < 1 || ringtone > 10) {
+                throw AlarmClockException("bad ringtone: out of bounds")
+            }
+             ring = ringtone
+             modified = ring != ringtone
+        }
+        return modified
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Throws(AlarmClockException::class)
+    override fun addMin(minutes: Int) {
+        var addedmin = minutes
+        var addedhour = 0
+        var newmin = 0
+        var newhour = 0
+
+        if (addedmin < 0) {
+            throw AlarmClockException("bad min: inf value")
+        }
+
+        while (addedmin > 59) {
+            addedhour++
+            addedmin = addedmin - 60
+        }
+
+        newmin = min + addedmin
+        if (newmin > 59) {
+            addedhour++
+            newmin = newmin - 60
+        }
+        newhour = hour + addedhour
+        while (newhour > 23) {
+            newhour = newhour - 24
+        }
+        hour = newhour
+        min = newmin
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Throws(AlarmClockException::class)
+    override fun enable() {
+        if (isRinging) {
+            throw AlarmClockException("Cannot enable the alarm when it is ringing")
+        }
+        isEnabled = true
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    override fun checkTimeAndRing() {
+        if (isEnabled) {
+            val cal = Calendar()
+            if (hour == cal[Calendar.HOUR] && min == cal[Calendar.MINUTE])
+                isRinging = true
+                isEnabled = false
+        }
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Throws(AlarmClockException::class)
+    override fun disable() {
+        if (isRinging) {
+            throw AlarmClockException("Cannot disable the alarm when it is ringing")
+        }
+        isEnabled = false
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Throws(AlarmClockException::class)
+    override fun switchOff(snooze: Boolean) {
+        isRinging = false
+        if (snooze) {
+            isEnabled = true
+            addMin(5)
+        }
+    }
+
+    override fun hashCode(): Int {
+        return ring + hour + min + isEnabled.hashCode()+ isRinging.hashCode()
+    }
+
+    override fun equals(o: Any?): Boolean {
+        if (this === o) return true
+        if (o == null || javaClass != o.javaClass) return false
+        val that = o as BasicAlarmClock
+        return ring == that.ring && hour == that.hour && min == that.min && isEnabled == that.isEnabled && isRinging == that.isRinging
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    override fun setRingingOn() {
+        isRinging = true
+        isEnabled = false
+    }
+
+    override fun toString(): String {
+        return "BasicAlarmClock{" +
+                "ring=" + ring +
+                ", hour=" + hour +
+                ", min=" + min +
+                ", enabled=" + isEnabled +
+                ", ringing=" + isRinging +
+                '}'
+    }
+}
\ No newline at end of file
diff --git a/2A/S4/Quali_dev/TD1 Clock/src/main/kotlin/fr/nantes/univ/clock/Calendar.kt b/2A/S4/Quali_dev/TD1 Clock/src/main/kotlin/fr/nantes/univ/clock/Calendar.kt
new file mode 100644
index 0000000000000000000000000000000000000000..cfaef09e2a060ff953ae622ecf543aeb98bd6edc
--- /dev/null
+++ b/2A/S4/Quali_dev/TD1 Clock/src/main/kotlin/fr/nantes/univ/clock/Calendar.kt	
@@ -0,0 +1,20 @@
+package fr.nantes.univ.clock
+
+import java.util.*
+
+class Calendar {
+    init {
+        println("A Calendar is instantiated")
+    }
+
+    operator fun get(field: Int): Int {
+        println("Calendar consulted")
+        val calendar = GregorianCalendar()
+        return if (field == HOUR) calendar[GregorianCalendar.HOUR] else if (field == MINUTE) calendar[GregorianCalendar.MINUTE] else -1
+    }
+
+    companion object {
+        const val HOUR = 1
+        const val MINUTE = 2
+    }
+}
\ No newline at end of file
diff --git a/2A/S4/Quali_dev/TD1 Clock/src/test/kotlin/fr/nantes/univ/clock/BasicAlarmClockTest.kt b/2A/S4/Quali_dev/TD1 Clock/src/test/kotlin/fr/nantes/univ/clock/BasicAlarmClockTest.kt
new file mode 100644
index 0000000000000000000000000000000000000000..3cd2597f7fdcc0691baeca292a70f5bbb1026a85
--- /dev/null
+++ b/2A/S4/Quali_dev/TD1 Clock/src/test/kotlin/fr/nantes/univ/clock/BasicAlarmClockTest.kt	
@@ -0,0 +1,80 @@
+package fr.nantes.univ.clock
+
+import org.junit.jupiter.api.Test
+import org.junit.jupiter.api.assertThrows
+
+import org.junit.jupiter.api.Assertions.*
+import org.junit.jupiter.params.ParameterizedTest
+import org.junit.jupiter.params.provider.Arguments
+import org.junit.jupiter.params.provider.MethodSource
+import java.util.stream.Stream
+
+class BasicAlarmClockTest {
+
+    @Test
+    fun selectRing1() {
+        assertThrows<AlarmClockException>{ BasicAlarmClock(-2,3,10) }
+    }
+
+    @Test
+    fun selectRing2() {
+        assertThrows<AlarmClockException>{ BasicAlarmClock(15,3,10) }
+    }
+
+    @Test
+    fun selectRing3() {
+        assertThrows<AlarmClockException>{ BasicAlarmClock(4,-3,10) }
+    }
+
+    @Test
+    fun selectRing4() {
+        assertThrows<AlarmClockException>{ BasicAlarmClock(4,25,10) }
+    }
+
+    @Test
+    fun selectRing5() {
+        assertThrows<AlarmClockException>{ BasicAlarmClock(4,12,-5) }
+    }
+
+    @Test
+    fun selectRing6() {
+        assertThrows<AlarmClockException>{ BasicAlarmClock(4,12,62) }
+    }
+
+    @Test
+    fun selectRing7() {
+        var alarm = BasicAlarmClock(4,12,42)
+        assertEquals(alarm.ring,4)
+        assertEquals(alarm.hour,12)
+        assertEquals(alarm.min,42)
+        assertEquals(alarm.isEnabled,false)
+        assertEquals(alarm.isRinging,false)
+    }
+
+    @ParameterizedTest
+    @MethodSource("ring_base")
+    fun Testparam(liste : Array<Int>){
+        assertThrows<AlarmClockException>{ BasicAlarmClock(liste[0],liste[1],liste[2]) }
+
+    }
+
+    companion object {
+        //nécessaire en kotlin pour utiliser des méthodes static (répandues en Java)
+        @JvmStatic
+        fun ring_base(): Stream<Arguments?>? {
+            return Stream.of(
+                Arguments.of(arrayOf(-2, 3, 10)),
+                Arguments.of(arrayOf(15, 3, 10)),
+                Arguments.of(arrayOf(4, -3, 10)),
+                Arguments.of(arrayOf(4, 25, 10)),
+                Arguments.of(arrayOf(4, 12, -5)),
+                Arguments.of(arrayOf(4, 12, 62)),
+
+                )
+        }
+    }
+
+
+
+
+}
\ No newline at end of file
diff --git a/2A/S4/Quali_dev/TD1 clock/.idea/workspace.xml b/2A/S4/Quali_dev/TD1 clock/.idea/workspace.xml
new file mode 100644
index 0000000000000000000000000000000000000000..20d076048ec735a275db3978ab0eb1892e40d27c
--- /dev/null
+++ b/2A/S4/Quali_dev/TD1 clock/.idea/workspace.xml	
@@ -0,0 +1,81 @@
+<?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="e28143db-5fb0-4c1f-9223-69550a14c797" 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="ComposerSettings">
+    <execution />
+  </component>
+  <component name="FileTemplateManagerImpl">
+    <option name="RECENT_TEMPLATES">
+      <list>
+        <option value="JUnit5 Test Class" />
+      </list>
+    </option>
+  </component>
+  <component name="Git.Settings">
+    <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$/../../../.." />
+  </component>
+  <component name="ProjectId" id="2bV08cPN6F6CCZW4b3H4kYRsv73" />
+  <component name="ProjectViewState">
+    <option name="hideEmptyMiddlePackages" value="true" />
+    <option name="showLibraryContents" value="true" />
+  </component>
+  <component name="PropertiesComponent"><![CDATA[{
+  "keyToString": {
+    "Downloaded.Files.Path.Enabled": "false",
+    "Repository.Attach.Annotations": "false",
+    "Repository.Attach.JavaDocs": "false",
+    "Repository.Attach.Sources": "false",
+    "RunOnceActivity.OpenProjectViewOnStart": "true",
+    "RunOnceActivity.ShowReadmeOnStart": "true",
+    "WebServerToolWindowFactoryState": "false",
+    "com.intellij.testIntegration.createTest.CreateTestDialog.defaultLibrary": "JUnit5",
+    "com.intellij.testIntegration.createTest.CreateTestDialog.defaultLibrarySuperClass.JUnit5": "",
+    "git-widget-placeholder": "master",
+    "jdk.selected.JAVA_MODULE": "17",
+    "last_opened_file_path": "/var/home/E224359T/reseau/Perso/Téléchargements/Gitlab/travail/2A/S4/Quali_dev/TD1 Clock",
+    "node.js.detected.package.eslint": "true",
+    "node.js.detected.package.tslint": "true",
+    "node.js.selected.package.eslint": "(autodetect)",
+    "node.js.selected.package.tslint": "(autodetect)",
+    "project.structure.last.edited": "Project",
+    "project.structure.proportion": "0.0",
+    "project.structure.side.proportion": "0.0",
+    "vue.rearranger.settings.migration": "true"
+  }
+}]]></component>
+  <component name="RecentsManager">
+    <key name="CreateTestDialog.Recents.Supers">
+      <recent name="" />
+    </key>
+    <key name="MoveFile.RECENT_KEYS">
+      <recent name="$PROJECT_DIR$/src/test/kotlin" />
+    </key>
+    <key name="CreateTestDialog.RecentsKey">
+      <recent name="fr.nantes.univ.clock" />
+    </key>
+  </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="e28143db-5fb0-4c1f-9223-69550a14c797" name="Changes" comment="" />
+      <created>1706284782738</created>
+      <option name="number" value="Default" />
+      <option name="presentableId" value="Default" />
+      <updated>1706284782738</updated>
+      <workItem from="1706284786240" duration="703000" />
+    </task>
+    <servers />
+  </component>
+  <component name="TypeScriptGeneratedFilesManager">
+    <option name="version" value="3" />
+  </component>
+</project>
\ No newline at end of file