diff --git a/course-settings.js b/course-settings.js
index 85a8f966..87d240ab 100644
--- a/course-settings.js
+++ b/course-settings.js
@@ -1,25 +1,25 @@
const courseSettings = {
language: "en",
- name: "Python Programming MOOC 2024",
- siteUrl: "https://programming-24.mooc.fi",
- githubUrl: "https://github.com/rage/programming-24",
+ name: "Python Programming MOOC 2025",
+ siteUrl: "https://programming-25.mooc.fi",
+ githubUrl: "https://github.com/rage/programming-25",
subtitle: "Python Programming MOOC",
- slug: "programming-24",
+ slug: "programming-25",
organizationName: "MOOC",
- tmcCourse: "programming-24",
- quizzesId: "0a8162e8-133a-4fa8-b619-4125cb92c6e0",
+ tmcCourse: "programming-25",
+ quizzesId: "e0625f9b-626a-4941-afda-6c6e1b577045",
tmcOrganization: "mooc",
bannerPath: "banner.svg",
showExerciseDescriptionWhenNotLoggedIn: true,
courseVariants: [
- {
- tmcOrganization: "hbc",
- tmcCourse: "python-TVT24Eng"
- },
- {
- tmcOrganization: "insviladegracia",
- tmcCourse: "python-viladegracia-2024"
- },
+ // {
+ // tmcOrganization: "hbc",
+ // tmcCourse: "python-TVT24Eng"
+ // },
+ // {
+ // tmcOrganization: "insviladegracia",
+ // tmcCourse: "python-viladegracia-2024"
+ // },
// {
// tmcOrganization: "hbc",
// tmcCourse: "python-TVT21A",
diff --git a/data/part-1/3-more-about-variables.md b/data/part-1/3-more-about-variables.md
index ab35c81e..4ef13a86 100644
--- a/data/part-1/3-more-about-variables.md
+++ b/data/part-1/3-more-about-variables.md
@@ -16,7 +16,7 @@ After this section
Please fill in this questionnaire before getting started with this section. You will get one exercise point for answering.
-
+
diff --git a/data/part-1/5-conditional-statements.md b/data/part-1/5-conditional-statements.md
index bf321462..f5355efa 100644
--- a/data/part-1/5-conditional-statements.md
+++ b/data/part-1/5-conditional-statements.md
@@ -529,4 +529,4 @@ A quiz to review the contents of this section:
Please respond to a quick questionnaire on this week's materials. The questionnaire is worth one exercise point.
-
+
diff --git a/data/part-10/4-application-development.md b/data/part-10/4-application-development.md
index d718a846..b466f645 100644
--- a/data/part-10/4-application-development.md
+++ b/data/part-10/4-application-development.md
@@ -839,5 +839,5 @@ The technique outlined above is called _dependency injection_. As the name impli
Please respond to a quick questionnaire on this part of the course.
-
+
diff --git a/data/part-11/4-more-recursion-examples.md b/data/part-11/4-more-recursion-examples.md
index a762defe..e9ba8b14 100644
--- a/data/part-11/4-more-recursion-examples.md
+++ b/data/part-11/4-more-recursion-examples.md
@@ -491,5 +491,5 @@ erroneous input
Please respond to a quick questionnaire on this part of the course.
-
+
diff --git a/data/part-12/4-regular-expressions.md b/data/part-12/4-regular-expressions.md
index dc42284b..8f68e325 100644
--- a/data/part-12/4-regular-expressions.md
+++ b/data/part-12/4-regular-expressions.md
@@ -492,4 +492,4 @@ command: **0**
Please respond to a quick questionnaire on this part of the course.
-
+
diff --git a/data/part-13/4-more-pygame-techniques.md b/data/part-13/4-more-pygame-techniques.md
index dfce3e50..5361b22e 100644
--- a/data/part-13/4-more-pygame-techniques.md
+++ b/data/part-13/4-more-pygame-techniques.md
@@ -105,6 +105,6 @@ The exercise template contains the image `rock.png` for the asteroid.
Please respond to a quick questionnaire on this part of the course.
-
+
diff --git a/data/part-14/4-your-own-game.md b/data/part-14/4-your-own-game.md
index da8bd76a..7086f7ee 100644
--- a/data/part-14/4-your-own-game.md
+++ b/data/part-14/4-your-own-game.md
@@ -71,15 +71,15 @@ You should assess the game based on the following criteria:
A good review usually points out both good features and some suggestions for improvements.
-
+
## Questionnaires to finish off
First, please respond to a quick questionnaire on this part of the course.
-
+
Please also respond to the course feedback questionnaire. The questionnaire results help us improve the course.
-
+
diff --git a/data/part-2/4-simple-loops.md b/data/part-2/4-simple-loops.md
index fb57fae7..71dc7c97 100644
--- a/data/part-2/4-simple-loops.md
+++ b/data/part-2/4-simple-loops.md
@@ -609,4 +609,4 @@ A quiz to review the contents of this section:
Please respond to a quick questionnaire on this week's materials.
-
+
diff --git a/data/part-3/4-defining-functions.md b/data/part-3/4-defining-functions.md
index 6254ce3a..6085bf3a 100644
--- a/data/part-3/4-defining-functions.md
+++ b/data/part-3/4-defining-functions.md
@@ -478,4 +478,4 @@ A quiz to review the contents of this section:
Please respond to a quick questionnaire on this week's materials.
-
+
diff --git a/data/part-4/6-strings-and-lists.md b/data/part-4/6-strings-and-lists.md
index a8d11285..1da749a2 100644
--- a/data/part-4/6-strings-and-lists.md
+++ b/data/part-4/6-strings-and-lists.md
@@ -593,4 +593,4 @@ A quiz to review the contents of this section:
Please respond to a quick questionnaire on this week's materials.
-
+
diff --git a/data/part-5/4-tuple.md b/data/part-5/4-tuple.md
index 45b4f60a..f1932fb0 100644
--- a/data/part-5/4-tuple.md
+++ b/data/part-5/4-tuple.md
@@ -411,4 +411,4 @@ A quiz to review the contents of this section:
Please respond to a quick questionnaire on this week's materials.
-
+
diff --git a/data/part-6/4-scope-of-variables.md b/data/part-6/4-scope-of-variables.md
index 55eca489..abc1a147 100644
--- a/data/part-6/4-scope-of-variables.md
+++ b/data/part-6/4-scope-of-variables.md
@@ -267,4 +267,4 @@ A quiz to review the contents of this section:
Please respond to a quick questionnaire on this week's materials.
-
+
diff --git a/data/part-7/5-creating-modules.md b/data/part-7/5-creating-modules.md
index fcc75424..324fb52a 100644
--- a/data/part-7/5-creating-modules.md
+++ b/data/part-7/5-creating-modules.md
@@ -228,4 +228,4 @@ This is a test lets see how it goes11
Please respond to a quick questionnaire on this week's materials.
-
+
diff --git a/data/part-7/6-more-features.md b/data/part-7/6-more-features.md
index 776888e7..9622acd3 100644
--- a/data/part-7/6-more-features.md
+++ b/data/part-7/6-more-features.md
@@ -284,5 +284,5 @@ print(result)
Please respond to the course feedback questionnaire. The questionnaire results help us improve the course.
-
+
diff --git a/data/part-8/5-more-examples-of-classes.md b/data/part-8/5-more-examples-of-classes.md
index 2b45a9bc..0034b672 100644
--- a/data/part-8/5-more-examples-of-classes.md
+++ b/data/part-8/5-more-examples-of-classes.md
@@ -554,5 +554,5 @@ The code above and the automatic tests for this exercise assume your class conta
Please respond to a quick questionnaire on this week's materials.
-
+
diff --git a/data/part-9/6-more-examples-with-classes.md b/data/part-9/6-more-examples-with-classes.md
index 88ec32e7..892d1216 100644
--- a/data/part-9/6-more-examples-with-classes.md
+++ b/data/part-9/6-more-examples-with-classes.md
@@ -534,5 +534,5 @@ Brick (4 kg)
Please respond to a quick questionnaire on this week's materials.
-
+
diff --git a/updates b/updates
index 3cd5ee38..a2ae6693 100644
--- a/updates
+++ b/updates
@@ -1,50 +1,50 @@
-9d17d1bc-4920-5d47-8f21-0dfaf6983147 25acd630-8857-5eb3-9271-ff44ceda207f
-3f780cc8-618c-5000-928c-43ac92b3894a 28af7349-2997-5bb7-bc45-a9defb93914e
-c25c0ade-9d90-5b02-b16c-68acc7088efb 3e13f8c0-e551-5dac-a6d1-099100041379
-153910ce-a441-551e-808b-5f7a2783dc84 3f00ce6f-673e-5dbc-86bb-5349de8a63f4
-4d01c004-e35e-5605-ac64-6893a29ce46f 2ec5a3f6-e91e-5edc-b5ba-70103e6326e3
-59d75511-ad3c-5036-a5a2-599ce57d6917 ebd29ccf-2cc8-5e8b-b252-50257ef91a4e
-2ac5a818-fe98-5ac2-b784-be27b37b177c 5e6f304b-38bd-506a-8039-ac8b5ba4cfea
-638cbf62-d8b3-5a87-81d1-77a1f8621803 3cac4275-a140-53ef-a254-d620bffb1765
-1fe83ac8-5de6-5558-8e7e-05eacf7428b7 f539e847-5db1-5982-aeeb-eff505eee909
-702a3761-ebf9-596c-83ce-c92e3ca30bda 921d30a3-69c3-5d71-89f4-643458d34aab
-201f662d-d2c6-5566-b84f-1b569d530a63 6b2f7d24-e73f-52c1-9193-cd1c294e8382
-f109dfbf-b450-51df-a93d-f6ce4da339fb 2efcf6b6-4662-5dee-b149-e4112c634f6e
-9603792b-8799-595d-8e17-53754c87a843 6670c45b-12b1-5bc6-a4ad-c3727b860171
-adaa3b06-6c29-52f3-bb7f-e6123c41bb7f 89ceda63-8816-5e61-b8dd-6064a4d677f4
-592c3f77-67d8-50f9-ad4b-8444c8858dac a0bc43ac-4437-5be4-aa6d-e4693e1ba85e
-66d61dae-0cf2-50ab-94a5-d2f430c3e805 08c88e6c-7d92-5c53-8ab8-f97f57ee9d0a
-afee6e87-11b6-5821-ac96-891dab507666 0798fa65-31ce-55e3-82c8-e80c07c893a9
-012d8fc6-09fe-5144-953b-964bf7f70d3d 362f5763-bc02-561b-9a84-f5c080ead537
-292162e5-273f-54e2-853d-b4793788d5bc 916f5073-c7f8-533e-a517-a06a9b618e19
-4e1d38c0-ff41-5493-97e7-f90a3687d173 5d149ffa-c168-508d-abcb-efa859029f15
-0d1330dc-362a-50c2-b8f2-d6668025a57e 9b21fd07-4ca3-53bc-858e-66e853b298ed
-2be744e8-d724-5dcc-b69e-c7f7902859e0 49d403eb-f8d0-520c-80cf-8d6df020e3b4
-53d1f9ea-c787-5eb4-b082-38a64f2ea560 53946cd0-5da0-50d3-88d3-c23df8826440
-497e2feb-1190-5149-a200-efaf34acf6cf 6b62ac2c-851d-56d3-b311-2729c1b7302d
-982b7cf7-7516-5aaf-b0de-086ecae06232 a3c927c3-c4aa-5388-a948-5ed7d68ae6d2
-bd2eb637-786b-5385-8108-ce31a7091661 85cd3b0c-7dc4-5fd8-b0fb-981350371c21
-75507abb-0962-53d8-b2cc-5603de63d77d 1fc857cc-5a68-5be3-9ce2-a9ba022557f5
-4e7550f0-71eb-5af6-83c3-be00be206f18 8c827e94-5117-571d-a8aa-ceb0340cb25e
-80ebb2cd-5bd4-50b1-9079-3843357e81d2 f8101f60-019a-5af3-a890-4ddcb37302dd
-df26a1d6-7ebe-59e7-ae8c-660426226fff 407b137d-016a-5065-a340-3a2c951cb227
-79623fea-1574-5eed-ae5d-6043bfacaef4 b0841a1c-6abf-52bf-8a09-7d01216788d5
-2708cb5e-cd13-5e78-b352-1c1ca6cc2cb6 75544f21-3ccc-5ce0-9f52-2f63106351fd
-b02684bc-78ba-55fb-9f3f-26057bbd80c4 f753a0a0-1985-58a1-85d2-5426f2996586
-3847e0b3-f921-546d-9cea-14bdb10adbde c4d025fa-aeae-5eaa-bce2-f0246c9e64b7
-8529af06-c528-5044-93e4-23f05a1cd8ce e1f692af-e830-58cf-b4cf-18a2fc76e434
-3cbb136c-266a-5c12-9e9c-dd2aa1c5191e 2515322a-c067-5343-9d5e-a897ffb89b2c
-c508efcb-4628-5f1d-87d1-db91dca171af 65ee1264-957f-5547-b5a7-be4b3bd2be7e
-9af98a66-2863-5c6f-be17-a1f1d92a2cb4 7af6b87c-c7ce-50fe-acb6-bcb48a15f16b
-8bb54f0a-5009-5a69-a936-3c9eebc33645 6a606b63-c674-5231-9e79-55d7372e582a
-056dc81e-31f7-52a5-8557-61bb6fc0c427 de061758-95fc-5a58-9c40-eb68a5629972
-8add719a-efe5-5198-b76c-679fa430c229 d8865dda-83f4-5d1b-b186-c2e6b90e0336
-6b11bbd5-f5f1-5ee9-afdb-012e52ee7ab0 dc0405b3-392a-5811-9138-709848a26667
-7ac28d6b-e62a-57ed-ad90-c58e01d8fff4 ad48f7b4-dbf9-5aa3-a68e-a7c114a03ac7
-2cbb7cde-cddf-5720-bb72-e638ef0b7dac 1346f801-2677-50d3-a0d4-a3cfd6e09ccf
-d2e3d2ab-dda9-50b8-89e9-7bd96cc03aea 80016b6a-28f8-5f64-a551-63b06f7f63a6
-61f7ef38-a42d-54dc-a0f7-81db019c7693 9662ad5e-7c21-52be-b107-44a017a27144
-12ea2eab-abac-5419-93b6-85f100272687 4bde6518-37a3-58ab-9a7d-9c986abf84fa
-9606c6c1-70f4-5236-bd3e-7208b56e7b9e bcfae104-8cad-5fcd-ac64-d65ae689ac5f
-8435be7f-180e-5d13-b693-306ddaeb45cd d7de8698-17f0-5e9e-9f7e-ce808001a050
-1d1c07e8-4832-58f2-b8ac-357ed2d130c8 5f930565-c71e-50cc-89f2-eb410d7b8a9d
+25acd630-8857-5eb3-9271-ff44ceda207f 5df4a245-bde4-5211-bcce-224e0e14d991
+28af7349-2997-5bb7-bc45-a9defb93914e 34daa09c-da82-53df-be28-02a22704bf7e
+c4d025fa-aeae-5eaa-bce2-f0246c9e64b7 483d5609-6819-5c77-86b1-bc8ce20a2e18
+e1f692af-e830-58cf-b4cf-18a2fc76e434 f56ab364-0556-5d73-90d1-12c47de1fe75
+3e13f8c0-e551-5dac-a6d1-099100041379 7320271b-24b5-59ee-a47b-c67b6feb5a79
+6b2f7d24-e73f-52c1-9193-cd1c294e8382 4d24e593-caf3-5ece-a0bf-ece4f8a4970d
+3f00ce6f-673e-5dbc-86bb-5349de8a63f4 6ec15e8f-94d1-5e1d-867c-f40c2c12da7e
+2ec5a3f6-e91e-5edc-b5ba-70103e6326e3 cded98f3-cbfb-58ba-9c19-8a500c8bc71c
+2efcf6b6-4662-5dee-b149-e4112c634f6e 9f628d85-f666-5b60-a6be-c1eb0f975875
+ebd29ccf-2cc8-5e8b-b252-50257ef91a4e f46c629c-1679-504f-959d-a5939b998191
+5e6f304b-38bd-506a-8039-ac8b5ba4cfea a0090d88-ecc4-52bf-9180-5c9d070e17d3
+3cac4275-a140-53ef-a254-d620bffb1765 322efa7f-07d3-5b7e-9b22-039751ea3cd3
+f539e847-5db1-5982-aeeb-eff505eee909 d3a07712-dff8-5692-a486-cf603887fcce
+a0bc43ac-4437-5be4-aa6d-e4693e1ba85e da52bbba-b0d1-52d2-a3bc-3cd532e5e1c3
+08c88e6c-7d92-5c53-8ab8-f97f57ee9d0a 13530200-d6f1-5b5d-9acd-2d8c00affdf9
+0798fa65-31ce-55e3-82c8-e80c07c893a9 46cb78fd-81ed-5020-8e46-b165c6652f62
+362f5763-bc02-561b-9a84-f5c080ead537 e88b7810-a61d-5f6a-831f-23cd074b6286
+916f5073-c7f8-533e-a517-a06a9b618e19 44d8812c-b0cd-544c-9e82-9bcfea517211
+5d149ffa-c168-508d-abcb-efa859029f15 cc2c3de6-ec72-523a-9562-22c22099cfb6
+9b21fd07-4ca3-53bc-858e-66e853b298ed 4a255e61-44a9-5cd7-92b4-c3721cbdb3fa
+49d403eb-f8d0-520c-80cf-8d6df020e3b4 781a7387-5c11-5584-807d-c31bf91e364c
+53946cd0-5da0-50d3-88d3-c23df8826440 a57140a3-7ac7-530c-aed7-dc626cb5121f
+6b62ac2c-851d-56d3-b311-2729c1b7302d 1ea776af-f269-5927-b907-dfde62a70890
+a3c927c3-c4aa-5388-a948-5ed7d68ae6d2 af95e22e-0b4d-548f-a2dd-f555ec51525e
+921d30a3-69c3-5d71-89f4-643458d34aab bb093ba3-4519-5c76-89a4-d40d23e01b33
+85cd3b0c-7dc4-5fd8-b0fb-981350371c21 d5a7e961-7fae-5aa2-bf3b-e894f4fa9f51
+1fc857cc-5a68-5be3-9ce2-a9ba022557f5 a2c756a7-583c-51c6-b5b0-4f134ea85858
+8c827e94-5117-571d-a8aa-ceb0340cb25e 9bea5e1c-ad1b-5f32-90df-433b68568e63
+407b137d-016a-5065-a340-3a2c951cb227 5d1ee8b8-1b94-5f8a-bcad-7faf9ea47fd3
+f8101f60-019a-5af3-a890-4ddcb37302dd 0f7d9181-512a-56cd-b7df-c2e79386c996
+b0841a1c-6abf-52bf-8a09-7d01216788d5 3a85f00d-9308-562d-ae64-cbb512effc05
+75544f21-3ccc-5ce0-9f52-2f63106351fd 8a5547b8-8d68-5ac2-b501-68ecd4fefe4b
+f753a0a0-1985-58a1-85d2-5426f2996586 b106e0ae-e6a7-56b6-b409-a9dec8a1c3a0
+2515322a-c067-5343-9d5e-a897ffb89b2c d62984be-5496-56b5-a725-ea811a8ba38b
+65ee1264-957f-5547-b5a7-be4b3bd2be7e 5fa782a4-59cc-5e75-9f77-e3a2b35a81e2
+7af6b87c-c7ce-50fe-acb6-bcb48a15f16b 7d931659-2dd3-5557-bd3b-a409dd1ebfa2
+6a606b63-c674-5231-9e79-55d7372e582a 1e16612c-1004-5cf5-9525-6669104f50ec
+de061758-95fc-5a58-9c40-eb68a5629972 ce7a3228-ba6b-599b-8134-cd64fe015a96
+d8865dda-83f4-5d1b-b186-c2e6b90e0336 f191a4ab-73b8-5c08-af6c-b19d75a8f8fc
+dc0405b3-392a-5811-9138-709848a26667 d7a18858-4537-58d6-a494-027528c0332b
+ad48f7b4-dbf9-5aa3-a68e-a7c114a03ac7 452f20b4-0d6d-5774-a859-ac9d91594f3a
+1346f801-2677-50d3-a0d4-a3cfd6e09ccf 5ab8aa39-8d52-5fb7-ac91-253bba93c84b
+80016b6a-28f8-5f64-a551-63b06f7f63a6 59f2a9b1-9713-5fcf-bbaf-285b4fbf008a
+9662ad5e-7c21-52be-b107-44a017a27144 979b7162-29ef-5fd8-816b-cf1ff80eff23
+4bde6518-37a3-58ab-9a7d-9c986abf84fa 61251f23-b2cd-54ef-9a7b-9211513e0f64
+bcfae104-8cad-5fcd-ac64-d65ae689ac5f 9ee2113a-a265-5bd2-9609-1f9c2298fe02
+5f930565-c71e-50cc-89f2-eb410d7b8a9d 514abebe-f5ca-54dc-bb62-feb9311f3e08
+d7de8698-17f0-5e9e-9f7e-ce808001a050 877ecfd7-0b05-516b-8aaa-61e7b40948de
+6670c45b-12b1-5bc6-a4ad-c3727b860171 0daf36ec-b9c6-5fe2-9019-fe58d483c409
+89ceda63-8816-5e61-b8dd-6064a4d677f4 9895a7bd-a158-54ab-ae61-e71e7c2b1e34
diff --git a/updates.2024 b/updates.2024
new file mode 100644
index 00000000..3cd5ee38
--- /dev/null
+++ b/updates.2024
@@ -0,0 +1,50 @@
+9d17d1bc-4920-5d47-8f21-0dfaf6983147 25acd630-8857-5eb3-9271-ff44ceda207f
+3f780cc8-618c-5000-928c-43ac92b3894a 28af7349-2997-5bb7-bc45-a9defb93914e
+c25c0ade-9d90-5b02-b16c-68acc7088efb 3e13f8c0-e551-5dac-a6d1-099100041379
+153910ce-a441-551e-808b-5f7a2783dc84 3f00ce6f-673e-5dbc-86bb-5349de8a63f4
+4d01c004-e35e-5605-ac64-6893a29ce46f 2ec5a3f6-e91e-5edc-b5ba-70103e6326e3
+59d75511-ad3c-5036-a5a2-599ce57d6917 ebd29ccf-2cc8-5e8b-b252-50257ef91a4e
+2ac5a818-fe98-5ac2-b784-be27b37b177c 5e6f304b-38bd-506a-8039-ac8b5ba4cfea
+638cbf62-d8b3-5a87-81d1-77a1f8621803 3cac4275-a140-53ef-a254-d620bffb1765
+1fe83ac8-5de6-5558-8e7e-05eacf7428b7 f539e847-5db1-5982-aeeb-eff505eee909
+702a3761-ebf9-596c-83ce-c92e3ca30bda 921d30a3-69c3-5d71-89f4-643458d34aab
+201f662d-d2c6-5566-b84f-1b569d530a63 6b2f7d24-e73f-52c1-9193-cd1c294e8382
+f109dfbf-b450-51df-a93d-f6ce4da339fb 2efcf6b6-4662-5dee-b149-e4112c634f6e
+9603792b-8799-595d-8e17-53754c87a843 6670c45b-12b1-5bc6-a4ad-c3727b860171
+adaa3b06-6c29-52f3-bb7f-e6123c41bb7f 89ceda63-8816-5e61-b8dd-6064a4d677f4
+592c3f77-67d8-50f9-ad4b-8444c8858dac a0bc43ac-4437-5be4-aa6d-e4693e1ba85e
+66d61dae-0cf2-50ab-94a5-d2f430c3e805 08c88e6c-7d92-5c53-8ab8-f97f57ee9d0a
+afee6e87-11b6-5821-ac96-891dab507666 0798fa65-31ce-55e3-82c8-e80c07c893a9
+012d8fc6-09fe-5144-953b-964bf7f70d3d 362f5763-bc02-561b-9a84-f5c080ead537
+292162e5-273f-54e2-853d-b4793788d5bc 916f5073-c7f8-533e-a517-a06a9b618e19
+4e1d38c0-ff41-5493-97e7-f90a3687d173 5d149ffa-c168-508d-abcb-efa859029f15
+0d1330dc-362a-50c2-b8f2-d6668025a57e 9b21fd07-4ca3-53bc-858e-66e853b298ed
+2be744e8-d724-5dcc-b69e-c7f7902859e0 49d403eb-f8d0-520c-80cf-8d6df020e3b4
+53d1f9ea-c787-5eb4-b082-38a64f2ea560 53946cd0-5da0-50d3-88d3-c23df8826440
+497e2feb-1190-5149-a200-efaf34acf6cf 6b62ac2c-851d-56d3-b311-2729c1b7302d
+982b7cf7-7516-5aaf-b0de-086ecae06232 a3c927c3-c4aa-5388-a948-5ed7d68ae6d2
+bd2eb637-786b-5385-8108-ce31a7091661 85cd3b0c-7dc4-5fd8-b0fb-981350371c21
+75507abb-0962-53d8-b2cc-5603de63d77d 1fc857cc-5a68-5be3-9ce2-a9ba022557f5
+4e7550f0-71eb-5af6-83c3-be00be206f18 8c827e94-5117-571d-a8aa-ceb0340cb25e
+80ebb2cd-5bd4-50b1-9079-3843357e81d2 f8101f60-019a-5af3-a890-4ddcb37302dd
+df26a1d6-7ebe-59e7-ae8c-660426226fff 407b137d-016a-5065-a340-3a2c951cb227
+79623fea-1574-5eed-ae5d-6043bfacaef4 b0841a1c-6abf-52bf-8a09-7d01216788d5
+2708cb5e-cd13-5e78-b352-1c1ca6cc2cb6 75544f21-3ccc-5ce0-9f52-2f63106351fd
+b02684bc-78ba-55fb-9f3f-26057bbd80c4 f753a0a0-1985-58a1-85d2-5426f2996586
+3847e0b3-f921-546d-9cea-14bdb10adbde c4d025fa-aeae-5eaa-bce2-f0246c9e64b7
+8529af06-c528-5044-93e4-23f05a1cd8ce e1f692af-e830-58cf-b4cf-18a2fc76e434
+3cbb136c-266a-5c12-9e9c-dd2aa1c5191e 2515322a-c067-5343-9d5e-a897ffb89b2c
+c508efcb-4628-5f1d-87d1-db91dca171af 65ee1264-957f-5547-b5a7-be4b3bd2be7e
+9af98a66-2863-5c6f-be17-a1f1d92a2cb4 7af6b87c-c7ce-50fe-acb6-bcb48a15f16b
+8bb54f0a-5009-5a69-a936-3c9eebc33645 6a606b63-c674-5231-9e79-55d7372e582a
+056dc81e-31f7-52a5-8557-61bb6fc0c427 de061758-95fc-5a58-9c40-eb68a5629972
+8add719a-efe5-5198-b76c-679fa430c229 d8865dda-83f4-5d1b-b186-c2e6b90e0336
+6b11bbd5-f5f1-5ee9-afdb-012e52ee7ab0 dc0405b3-392a-5811-9138-709848a26667
+7ac28d6b-e62a-57ed-ad90-c58e01d8fff4 ad48f7b4-dbf9-5aa3-a68e-a7c114a03ac7
+2cbb7cde-cddf-5720-bb72-e638ef0b7dac 1346f801-2677-50d3-a0d4-a3cfd6e09ccf
+d2e3d2ab-dda9-50b8-89e9-7bd96cc03aea 80016b6a-28f8-5f64-a551-63b06f7f63a6
+61f7ef38-a42d-54dc-a0f7-81db019c7693 9662ad5e-7c21-52be-b107-44a017a27144
+12ea2eab-abac-5419-93b6-85f100272687 4bde6518-37a3-58ab-9a7d-9c986abf84fa
+9606c6c1-70f4-5236-bd3e-7208b56e7b9e bcfae104-8cad-5fcd-ac64-d65ae689ac5f
+8435be7f-180e-5d13-b693-306ddaeb45cd d7de8698-17f0-5e9e-9f7e-ce808001a050
+1d1c07e8-4832-58f2-b8ac-357ed2d130c8 5f930565-c71e-50cc-89f2-eb410d7b8a9d