trackler 2.2.1.50 → 2.2.1.51

Sign up to get free protection for your applications and to get access to all the features.
Files changed (106) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/tracks/c/README.md +10 -0
  4. data/tracks/c/exercises/raindrops/src/example.c +16 -18
  5. data/tracks/c/exercises/raindrops/src/example.h +1 -1
  6. data/tracks/c/exercises/raindrops/test/test_raindrops.c +25 -54
  7. data/tracks/clojure/config.json +256 -382
  8. data/tracks/clojure/config/maintainers.json +19 -19
  9. data/tracks/coq/docs/SNIPPET.txt +12 -0
  10. data/tracks/csharp/config.json +677 -678
  11. data/tracks/csharp/config/maintainers.json +27 -27
  12. data/tracks/csharp/docs/GENERATORS.md +2 -0
  13. data/tracks/csharp/exercises/bowling/BowlingTest.cs +163 -87
  14. data/tracks/csharp/exercises/bowling/Example.cs +47 -8
  15. data/tracks/csharp/generators/Exercises/Bowling.cs +116 -0
  16. data/tracks/elisp/config.json +84 -126
  17. data/tracks/elisp/config/maintainers.json +7 -7
  18. data/tracks/elixir/config.json +397 -513
  19. data/tracks/elixir/config/maintainers.json +15 -15
  20. data/tracks/erlang/.gitmodules +3 -0
  21. data/tracks/erlang/.travis.yml +1 -0
  22. data/tracks/erlang/exercises/hello-world/test/hello_world_tests.erl +1 -1
  23. data/tracks/erlang/testgen/.gitignore +19 -0
  24. data/tracks/erlang/testgen/LICENSE +21 -0
  25. data/tracks/erlang/testgen/README.md +14 -0
  26. data/tracks/erlang/testgen/include/tgen.hrl +6 -0
  27. data/tracks/erlang/testgen/rebar.config +15 -0
  28. data/tracks/erlang/testgen/src/testgen.app.src +15 -0
  29. data/tracks/erlang/testgen/src/testgen.erl +41 -0
  30. data/tracks/erlang/testgen/src/tg_file_tools.erl +14 -0
  31. data/tracks/erlang/testgen/src/tg_git_tools.erl +20 -0
  32. data/tracks/erlang/testgen/src/tgen.erl +126 -0
  33. data/tracks/erlang/testgen/src/tgen_hello-world.erl +35 -0
  34. data/tracks/fsharp/config.json +643 -643
  35. data/tracks/fsharp/config/maintainers.json +15 -15
  36. data/tracks/groovy/config.json +97 -101
  37. data/tracks/groovy/config/maintainers.json +7 -7
  38. data/tracks/haxe/docs/INSTALLATION.md +2 -0
  39. data/tracks/haxe/docs/SNIPPET.txt +7 -0
  40. data/tracks/haxe/docs/TESTS.md +24 -0
  41. data/tracks/idris/config.json +35 -37
  42. data/tracks/idris/config/maintainers.json +7 -7
  43. data/tracks/java/config.json +122 -122
  44. data/tracks/javascript/exercises/palindrome-products/README.md +6 -6
  45. data/tracks/kotlin/config.json +264 -383
  46. data/tracks/kotlin/config/maintainers.json +15 -15
  47. data/tracks/lfe/config.json +126 -188
  48. data/tracks/lfe/config/maintainers.json +7 -7
  49. data/tracks/lua/exercises/etl/README.md +1 -1
  50. data/tracks/lua/exercises/ocr-numbers/README.md +1 -1
  51. data/tracks/lua/exercises/pascals-triangle/README.md +1 -1
  52. data/tracks/lua/exercises/pov/README.md +1 -1
  53. data/tracks/lua/exercises/react/react_spec.lua +1 -1
  54. data/tracks/lua/exercises/rna-transcription/README.md +1 -1
  55. data/tracks/objective-c/config.json +8 -8
  56. data/tracks/objective-c/config/maintainers.json +15 -15
  57. data/tracks/perl6/docs/EXERCISE_README_INSERT.md +9 -5
  58. data/tracks/perl6/exercises/accumulate/README.md +9 -5
  59. data/tracks/perl6/exercises/all-your-base/README.md +9 -5
  60. data/tracks/perl6/exercises/allergies/README.md +9 -5
  61. data/tracks/perl6/exercises/anagram/README.md +9 -5
  62. data/tracks/perl6/exercises/atbash-cipher/README.md +9 -5
  63. data/tracks/perl6/exercises/binary/README.md +9 -5
  64. data/tracks/perl6/exercises/bob/README.md +9 -5
  65. data/tracks/perl6/exercises/clock/README.md +9 -5
  66. data/tracks/perl6/exercises/flatten-array/README.md +9 -5
  67. data/tracks/perl6/exercises/grade-school/README.md +9 -5
  68. data/tracks/perl6/exercises/grains/README.md +9 -5
  69. data/tracks/perl6/exercises/hello-world/README.md +9 -5
  70. data/tracks/perl6/exercises/leap/README.md +9 -5
  71. data/tracks/perl6/exercises/linked-list/README.md +9 -5
  72. data/tracks/perl6/exercises/luhn/README.md +9 -5
  73. data/tracks/perl6/exercises/phone-number/README.md +9 -5
  74. data/tracks/perl6/exercises/raindrops/README.md +9 -5
  75. data/tracks/perl6/exercises/rna-transcription/README.md +10 -6
  76. data/tracks/perl6/exercises/robot-name/README.md +9 -5
  77. data/tracks/perl6/exercises/scrabble-score/README.md +9 -5
  78. data/tracks/perl6/exercises/space-age/README.md +10 -7
  79. data/tracks/perl6/exercises/trinary/README.md +9 -5
  80. data/tracks/perl6/exercises/word-count/README.md +9 -5
  81. data/tracks/perl6/exercises/wordy/README.md +9 -5
  82. data/tracks/r/config.json +136 -138
  83. data/tracks/r/config/maintainers.json +15 -15
  84. data/tracks/racket/config.json +105 -151
  85. data/tracks/racket/config/maintainers.json +15 -15
  86. data/tracks/rust/.travis.yml +1 -0
  87. data/tracks/rust/_test/count-ignores.sh +16 -0
  88. data/tracks/rust/exercises/all-your-base/tests/all-your-base.rs +36 -36
  89. data/tracks/rust/exercises/alphametics/tests/alphametics.rs +2 -2
  90. data/tracks/rust/exercises/bowling/tests/bowling.rs +14 -14
  91. data/tracks/rust/exercises/circular-buffer/tests/circular-buffer.rs +16 -16
  92. data/tracks/rust/exercises/hamming/tests/hamming.rs +5 -5
  93. data/tracks/rust/exercises/largest-series-product/tests/largest-series-product.rs +12 -12
  94. data/tracks/rust/exercises/nucleotide-count/tests/nucleotide-count.rs +4 -4
  95. data/tracks/rust/exercises/ocr-numbers/tests/ocr-numbers.rs +15 -15
  96. data/tracks/rust/exercises/pascals-triangle/tests/pascals-triangle.rs +1 -1
  97. data/tracks/rust/exercises/protein-translation/tests/proteins.rs +6 -6
  98. data/tracks/rust/exercises/react/tests/react.rs +11 -11
  99. data/tracks/rust/exercises/variable-length-quantity/tests/variable-length-quantity.rs +13 -15
  100. data/tracks/rust/exercises/wordy/tests/wordy.rs +14 -14
  101. data/tracks/swift/config.json +447 -449
  102. data/tracks/swift/config/maintainers.json +15 -15
  103. data/tracks/typescript/config.json +294 -295
  104. data/tracks/typescript/config/maintainers.json +11 -11
  105. data/tracks/vbnet/docs/SNIPPET.txt +5 -0
  106. metadata +21 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 285cce57fb4909cbdee24c58fec5b08c9e5bc97d
4
- data.tar.gz: bdccff307e03fe678cc131690d77d3377a50d1bd
3
+ metadata.gz: 35de96c4a4f0db40f012783c937595383b5bbad3
4
+ data.tar.gz: 2f81a8e534f46a08afa33a223cb119d6c82636a5
5
5
  SHA512:
6
- metadata.gz: c9585df79288c5f961127a49a4d02ebec3b7b2996662b4f0758ae9dc192fa1fb9c427e1781c660a75ab4a5ea32498f64eb9bbc2d1037458fcd26d9446ac3c4fd
7
- data.tar.gz: e0ad10f90bcc849b5434c183a495557906a75e5d6b5163ec1ed21e5c78350e8605fc511d9c905a0f81ae3adf2931e014810903bdb24768d7b00d5f5b49856ce9
6
+ metadata.gz: cd00323b3a0cf0762566ec4724808157f1840137c150d00dc18d07656163dbcc08a563163e85c55b9eb6db325e32d74237908f5dc15ed04fe7814f6bd901916c
7
+ data.tar.gz: 16599ba449114a7c11af9622e7cff12f42fcd32f2f56a5635757dff089198ec0f6938dd3f036fdebf67d34aff402d937486010e40c1498f4a1a41b081b37df32
@@ -1,3 +1,3 @@
1
1
  module Trackler
2
- VERSION = "2.2.1.50"
2
+ VERSION = "2.2.1.51"
3
3
  end
@@ -2,6 +2,16 @@
2
2
 
3
3
  Exercism problems in C
4
4
 
5
+ ## Hacktoberfest
6
+
7
+ If you would like to contribute to this repository as part of [hacktoberfest](https://github.com/blog/2452-get-started-with-hacktoberfest), please read the rest of this (short) readme, then jump in!
8
+
9
+ This C language track of exercism is nearly ready to graduate from "upcoming" to "available".
10
+ To that aim the repository has several issues marked with labels such as 'help wanted', 'good first patch' or 'hacktoberfest'.
11
+ Issues marked with these labels are a good place to start contributing - you are welcome to contribute to any of these, any other issue, or even submit your own issues or pull requests.
12
+
13
+ To get an idea of the general status in relation to the launch of the track, check out [issue #8](https://github.com/exercism/c/issues/8)
14
+
5
15
  ## Contributing Guide
6
16
 
7
17
  Please see the [Exercism contributing guide](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md) for general contribution tips.
@@ -1,25 +1,23 @@
1
1
  #include "raindrops.h"
2
2
  #include "stdio.h"
3
3
  #include "string.h"
4
+ #include <stdlib.h>
4
5
 
5
- #define PLING_FACTOR 3
6
- #define PLANG_FACTOR 5
7
- #define PLONG_FACTOR 7
8
-
9
- char *convert(char *buffer, int buffer_length, int drops)
6
+ char *convert(char result[], int drops)
10
7
  {
11
- memset(buffer, '\0', sizeof(char) * buffer_length);
12
- if ((drops % PLING_FACTOR != 0) &&
13
- (drops % PLANG_FACTOR != 0) && (drops % PLONG_FACTOR != 0)) {
14
- snprintf(buffer, buffer_length, "%d", drops);
15
- } else {
16
- snprintf
17
- (buffer,
18
- buffer_length,
19
- "%s%s%s",
20
- drops % PLING_FACTOR == 0 ? "Pling" : "",
21
- drops % PLANG_FACTOR == 0 ? "Plang" : "",
22
- drops % PLONG_FACTOR == 0 ? "Plong" : "");
8
+ if (drops % 3 == 0) {
9
+ strcat(result, "Pling");
10
+ }
11
+ if (drops % 5 == 0) {
12
+ strcat(result, "Plang");
13
+ }
14
+ if (drops % 7 == 0) {
15
+ strcat(result, "Plong");
16
+ }
17
+ if (strlen(result) == 0) {
18
+ char drops_string[12] = "";
19
+ sprintf(drops_string, "%d", drops);
20
+ strcat(result, drops_string);
23
21
  }
24
- return buffer;
22
+ return result;
25
23
  }
@@ -1,6 +1,6 @@
1
1
  #ifndef RAINDROPS_H
2
2
  #define RAINDROPS_H
3
3
 
4
- char *convert(char *buffer, int buffer_length, int drops);
4
+ char *convert(char result[], int drops);
5
5
 
6
6
  #endif
@@ -1,7 +1,8 @@
1
1
  #include "vendor/unity.h"
2
2
  #include "../src/raindrops.h"
3
+ #include <stdlib.h>
3
4
 
4
- #define BUFFER_LENGTH 100
5
+ #define BUFFER_LENGTH 16
5
6
 
6
7
  void setUp(void)
7
8
  {
@@ -11,134 +12,106 @@ void tearDown(void)
11
12
  {
12
13
  }
13
14
 
15
+ void convert_drops(int drops, char *expected)
16
+ {
17
+ char result[BUFFER_LENGTH] = { 0 };
18
+ convert(result, drops);
19
+ TEST_ASSERT_EQUAL_STRING(expected, result);
20
+ }
21
+
14
22
  void test_one_yields_itself(void)
15
23
  {
16
- char buffer[BUFFER_LENGTH];
17
- TEST_ASSERT_EQUAL_STRING("1", convert(buffer, sizeof(buffer), 1));
24
+ convert_drops(1, "1");
18
25
  }
19
26
 
20
27
  void test_three_yields_pling(void)
21
28
  {
22
29
  TEST_IGNORE(); // delete this line to run test
23
- char buffer[BUFFER_LENGTH];
24
- TEST_ASSERT_EQUAL_STRING("Pling", convert(buffer, sizeof(buffer), 3));
30
+ convert_drops(3, "Pling");
25
31
  }
26
32
 
27
33
  void test_five_yields_plang(void)
28
34
  {
29
35
  TEST_IGNORE();
30
- char buffer[BUFFER_LENGTH];
31
- TEST_ASSERT_EQUAL_STRING("Plang", convert(buffer, sizeof(buffer), 5));
36
+ convert_drops(5, "Plang");
32
37
  }
33
38
 
34
39
  void test_seven_yields_plong(void)
35
40
  {
36
41
  TEST_IGNORE();
37
- char buffer[BUFFER_LENGTH];
38
- TEST_ASSERT_EQUAL_STRING("Plong", convert(buffer, sizeof(buffer), 7));
42
+ convert_drops(7, "Plong");
39
43
  }
40
44
 
41
45
  void test_six_yields_pling(void)
42
46
  {
43
47
  TEST_IGNORE();
44
- char buffer[BUFFER_LENGTH];
45
- TEST_ASSERT_EQUAL_STRING("Pling", convert(buffer, sizeof(buffer), 6));
48
+ convert_drops(6, "Pling");
46
49
  }
47
50
 
48
51
  void test_nine_yields_pling(void)
49
52
  {
50
53
  TEST_IGNORE();
51
- char buffer[BUFFER_LENGTH];
52
- TEST_ASSERT_EQUAL_STRING("Pling", convert(buffer, sizeof(buffer), 9));
54
+ convert_drops(9, "Pling");
53
55
  }
54
56
 
55
57
  void test_ten_yields_plang(void)
56
58
  {
57
59
  TEST_IGNORE();
58
- char buffer[BUFFER_LENGTH];
59
- TEST_ASSERT_EQUAL_STRING("Plang", convert(buffer, sizeof(buffer), 10));
60
+ convert_drops(10, "Plang");
60
61
  }
61
62
 
62
63
  void test_fourteen_yields_plong(void)
63
64
  {
64
65
  TEST_IGNORE();
65
- char buffer[BUFFER_LENGTH];
66
- TEST_ASSERT_EQUAL_STRING("Plong", convert(buffer, sizeof(buffer), 14));
66
+ convert_drops(14, "Plong");
67
67
  }
68
68
 
69
69
  void test_fifteen_yields_plingplang(void)
70
70
  {
71
71
  TEST_IGNORE();
72
- char buffer[BUFFER_LENGTH];
73
- TEST_ASSERT_EQUAL_STRING("PlingPlang", convert(buffer, sizeof(buffer), 15));
72
+ convert_drops(15, "PlingPlang");
74
73
  }
75
74
 
76
75
  void test_twenty_one_yields_plingplong(void)
77
76
  {
78
77
  TEST_IGNORE();
79
- char buffer[BUFFER_LENGTH];
80
- TEST_ASSERT_EQUAL_STRING("PlingPlong", convert(buffer, sizeof(buffer), 21));
78
+ convert_drops(21, "PlingPlong");
81
79
  }
82
80
 
83
81
  void test_twenty_five_yields_plang(void)
84
82
  {
85
83
  TEST_IGNORE();
86
- char buffer[BUFFER_LENGTH];
87
- TEST_ASSERT_EQUAL_STRING("Plang", convert(buffer, sizeof(buffer), 25));
84
+ convert_drops(25, "Plang");
88
85
  }
89
86
 
90
87
  void test_thirty_five_yields_plangplong(void)
91
88
  {
92
89
  TEST_IGNORE();
93
- char buffer[BUFFER_LENGTH];
94
- TEST_ASSERT_EQUAL_STRING("PlangPlong", convert(buffer, sizeof(buffer), 35));
90
+ convert_drops(35, "PlangPlong");
95
91
  }
96
92
 
97
93
  void test_forty_nine_yields_plong(void)
98
94
  {
99
95
  TEST_IGNORE();
100
- char buffer[BUFFER_LENGTH];
101
- TEST_ASSERT_EQUAL_STRING("Plong", convert(buffer, sizeof(buffer), 49));
96
+ convert_drops(49, "Plong");
102
97
  }
103
98
 
104
99
  void test_fifty_two_yields_itself(void)
105
100
  {
106
101
  TEST_IGNORE();
107
- char buffer[BUFFER_LENGTH];
108
- TEST_ASSERT_EQUAL_STRING("52", convert(buffer, sizeof(buffer), 52));
102
+ convert_drops(52, "52");
109
103
  }
110
104
 
111
105
  void test_one_hundred_five_yields_plingplangplong(void)
112
106
  {
113
107
  TEST_IGNORE();
114
- char buffer[BUFFER_LENGTH];
115
- TEST_ASSERT_EQUAL_STRING("PlingPlangPlong",
116
- convert(buffer, sizeof(buffer), 105));
108
+ convert_drops(105, "PlingPlangPlong");
117
109
  }
118
110
 
119
111
  void test_big_prime_yields_itself(void)
120
112
  {
121
113
  TEST_IGNORE();
122
- char buffer[BUFFER_LENGTH];
123
- TEST_ASSERT_EQUAL_STRING("12121", convert(buffer, sizeof(buffer), 12121));
124
- }
125
-
126
- void test_no_buffer_overflow_for_plingplangplong(void)
127
- {
128
- TEST_IGNORE();
129
- char buffer[BUFFER_LENGTH];
130
- buffer[8] = '?';
131
- convert(buffer, 8, 105);
132
- TEST_ASSERT_EQUAL('?', buffer[8]);
133
- }
134
-
135
- void test_no_buffer_overflow_for_number(void)
136
- {
137
- TEST_IGNORE();
138
- char buffer[BUFFER_LENGTH];
139
- buffer[5] = '?';
140
- convert(buffer, 5, 10007);
141
- TEST_ASSERT_EQUAL('?', buffer[5]);
114
+ convert_drops(12121, "12121");
142
115
  }
143
116
 
144
117
  int main(void)
@@ -161,8 +134,6 @@ int main(void)
161
134
  RUN_TEST(test_fifty_two_yields_itself);
162
135
  RUN_TEST(test_one_hundred_five_yields_plingplangplong);
163
136
  RUN_TEST(test_big_prime_yields_itself);
164
- RUN_TEST(test_no_buffer_overflow_for_plingplangplong);
165
- RUN_TEST(test_no_buffer_overflow_for_number);
166
137
 
167
138
  UnityEnd();
168
139
  return 0;
@@ -1,639 +1,513 @@
1
1
  {
2
- "language": "Clojure",
3
2
  "active": true,
4
- "foregone": [
5
-
6
- ],
7
3
  "exercises": [
8
4
  {
9
- "uuid": "1378910d-9bec-4217-bd40-07a8967fa3ad",
10
- "slug": "hello-world",
11
5
  "core": false,
12
- "unlocked_by": null,
13
6
  "difficulty": 1,
14
- "topics": [
15
-
16
- ]
7
+ "slug": "hello-world",
8
+ "topics": null,
9
+ "unlocked_by": null,
10
+ "uuid": "1378910d-9bec-4217-bd40-07a8967fa3ad"
17
11
  },
18
12
  {
19
- "uuid": "d3bcad28-db03-4f6c-a85d-9f2d01331e88",
20
- "slug": "bob",
21
13
  "core": false,
22
- "unlocked_by": null,
23
14
  "difficulty": 1,
24
- "topics": [
25
-
26
- ]
15
+ "slug": "bob",
16
+ "topics": null,
17
+ "unlocked_by": null,
18
+ "uuid": "d3bcad28-db03-4f6c-a85d-9f2d01331e88"
27
19
  },
28
20
  {
29
- "uuid": "c2100dff-4d18-4fcb-9035-6c57eddd6d37",
30
- "slug": "rna-transcription",
31
21
  "core": false,
32
- "unlocked_by": null,
33
22
  "difficulty": 1,
34
- "topics": [
35
-
36
- ]
23
+ "slug": "rna-transcription",
24
+ "topics": null,
25
+ "unlocked_by": null,
26
+ "uuid": "c2100dff-4d18-4fcb-9035-6c57eddd6d37"
37
27
  },
38
28
  {
39
- "uuid": "3ab74232-11f5-4efd-82ac-e7c4129c7ff4",
40
- "slug": "word-count",
41
29
  "core": false,
42
- "unlocked_by": null,
43
30
  "difficulty": 1,
44
- "topics": [
45
-
46
- ]
31
+ "slug": "word-count",
32
+ "topics": null,
33
+ "unlocked_by": null,
34
+ "uuid": "3ab74232-11f5-4efd-82ac-e7c4129c7ff4"
47
35
  },
48
36
  {
49
- "uuid": "04ac2bd0-504c-4faa-912e-d2111b46123c",
50
- "slug": "anagram",
51
37
  "core": false,
52
- "unlocked_by": null,
53
38
  "difficulty": 1,
54
- "topics": [
55
-
56
- ]
39
+ "slug": "anagram",
40
+ "topics": null,
41
+ "unlocked_by": null,
42
+ "uuid": "04ac2bd0-504c-4faa-912e-d2111b46123c"
57
43
  },
58
44
  {
59
- "uuid": "c14ef548-c5f6-43a9-84e2-c7238705fc8e",
60
- "slug": "beer-song",
61
45
  "core": false,
62
- "unlocked_by": null,
63
46
  "difficulty": 1,
64
- "topics": [
65
-
66
- ]
47
+ "slug": "beer-song",
48
+ "topics": null,
49
+ "unlocked_by": null,
50
+ "uuid": "c14ef548-c5f6-43a9-84e2-c7238705fc8e"
67
51
  },
68
52
  {
69
- "uuid": "c14ef548-c5f6-43a9-84e2-c7248705fc8e",
70
- "slug": "collatz-conjecture",
71
53
  "core": false,
72
- "unlocked_by": null,
73
54
  "difficulty": 1,
74
- "topics": [
75
-
76
- ]
55
+ "slug": "collatz-conjecture",
56
+ "topics": null,
57
+ "unlocked_by": null,
58
+ "uuid": "c14ef548-c5f6-43a9-84e2-c7248705fc8e"
77
59
  },
78
60
  {
79
- "uuid": "c34af548-c5f6-43a9-84e2-c4166605fc8e",
80
- "slug": "series",
81
61
  "core": false,
82
- "unlocked_by": null,
83
62
  "difficulty": 1,
84
- "topics": [
85
-
86
- ]
63
+ "slug": "series",
64
+ "topics": null,
65
+ "unlocked_by": null,
66
+ "uuid": "c34af548-c5f6-43a9-84e2-c4166605fc8e"
87
67
  },
88
68
  {
89
- "uuid": "66d97ae9-36ac-47c6-8b9f-e77ce498fc70",
90
- "slug": "nucleotide-count",
91
69
  "core": false,
92
- "unlocked_by": null,
93
70
  "difficulty": 1,
94
- "topics": [
95
-
96
- ]
71
+ "slug": "nucleotide-count",
72
+ "topics": null,
73
+ "unlocked_by": null,
74
+ "uuid": "66d97ae9-36ac-47c6-8b9f-e77ce498fc70"
97
75
  },
98
76
  {
99
- "uuid": "60004bf0-e551-4bfc-bda9-49c5611811c4",
100
- "slug": "hamming",
101
77
  "core": false,
102
- "unlocked_by": null,
103
78
  "difficulty": 1,
104
- "topics": [
105
-
106
- ]
79
+ "slug": "hamming",
80
+ "topics": null,
81
+ "unlocked_by": null,
82
+ "uuid": "60004bf0-e551-4bfc-bda9-49c5611811c4"
107
83
  },
108
84
  {
109
- "uuid": "84ce66e5-6091-4078-9921-c0b8ccabc86f",
110
- "slug": "phone-number",
111
85
  "core": false,
112
- "unlocked_by": null,
113
86
  "difficulty": 1,
114
- "topics": [
115
-
116
- ]
87
+ "slug": "phone-number",
88
+ "topics": null,
89
+ "unlocked_by": null,
90
+ "uuid": "84ce66e5-6091-4078-9921-c0b8ccabc86f"
117
91
  },
118
92
  {
119
- "uuid": "8e722baf-bbf9-445f-9adb-b21db88b5132",
120
- "slug": "clock",
121
93
  "core": false,
122
- "unlocked_by": null,
123
94
  "difficulty": 1,
124
- "topics": [
125
-
126
- ]
95
+ "slug": "clock",
96
+ "topics": null,
97
+ "unlocked_by": null,
98
+ "uuid": "8e722baf-bbf9-445f-9adb-b21db88b5132"
127
99
  },
128
100
  {
129
- "uuid": "f4cf3676-4399-4d1c-b21f-8e735c7af8cc",
130
- "slug": "grade-school",
131
101
  "core": false,
132
- "unlocked_by": null,
133
102
  "difficulty": 1,
134
- "topics": [
135
-
136
- ]
103
+ "slug": "grade-school",
104
+ "topics": null,
105
+ "unlocked_by": null,
106
+ "uuid": "f4cf3676-4399-4d1c-b21f-8e735c7af8cc"
137
107
  },
138
108
  {
139
- "uuid": "3ce7ad7d-61ef-4a71-b87a-8c1b45c758b6",
140
- "slug": "robot-name",
141
109
  "core": false,
142
- "unlocked_by": null,
143
110
  "difficulty": 1,
144
- "topics": [
145
-
146
- ]
111
+ "slug": "robot-name",
112
+ "topics": null,
113
+ "unlocked_by": null,
114
+ "uuid": "3ce7ad7d-61ef-4a71-b87a-8c1b45c758b6"
147
115
  },
148
116
  {
149
- "uuid": "0cde8a62-412a-45cc-b16e-4b31057cab74",
150
- "slug": "leap",
151
117
  "core": false,
152
- "unlocked_by": null,
153
118
  "difficulty": 1,
154
- "topics": [
155
-
156
- ]
119
+ "slug": "leap",
120
+ "topics": null,
121
+ "unlocked_by": null,
122
+ "uuid": "0cde8a62-412a-45cc-b16e-4b31057cab74"
157
123
  },
158
124
  {
159
- "uuid": "c51658c1-7cdb-4a45-8d4d-2a370b655362",
160
- "slug": "etl",
161
125
  "core": false,
162
- "unlocked_by": null,
163
126
  "difficulty": 1,
164
- "topics": [
165
-
166
- ]
127
+ "slug": "etl",
128
+ "topics": null,
129
+ "unlocked_by": null,
130
+ "uuid": "c51658c1-7cdb-4a45-8d4d-2a370b655362"
167
131
  },
168
132
  {
169
- "uuid": "11450b65-628d-4890-a668-7031de985f5c",
170
- "slug": "flatten-array",
171
133
  "core": false,
172
- "unlocked_by": null,
173
134
  "difficulty": 1,
174
- "topics": [
175
-
176
- ]
135
+ "slug": "flatten-array",
136
+ "topics": null,
137
+ "unlocked_by": null,
138
+ "uuid": "11450b65-628d-4890-a668-7031de985f5c"
177
139
  },
178
140
  {
179
- "uuid": "dabe93c3-038c-4c6f-8a2e-f50acf130b8f",
180
- "slug": "sublist",
181
141
  "core": false,
182
- "unlocked_by": null,
183
142
  "difficulty": 1,
184
- "topics": [
185
-
186
- ]
143
+ "slug": "sublist",
144
+ "topics": null,
145
+ "unlocked_by": null,
146
+ "uuid": "dabe93c3-038c-4c6f-8a2e-f50acf130b8f"
187
147
  },
188
148
  {
189
- "uuid": "36f47cc4-0c5e-4edc-b109-c9e007b7b1f8",
190
- "slug": "binary-search",
191
149
  "core": false,
192
- "unlocked_by": null,
193
150
  "difficulty": 1,
194
- "topics": [
195
-
196
- ]
151
+ "slug": "binary-search",
152
+ "topics": null,
153
+ "unlocked_by": null,
154
+ "uuid": "36f47cc4-0c5e-4edc-b109-c9e007b7b1f8"
197
155
  },
198
156
  {
199
- "uuid": "097edd69-91b5-4a71-b197-a9c14b61c4ce",
200
- "slug": "perfect-numbers",
201
157
  "core": false,
202
- "unlocked_by": null,
203
158
  "difficulty": 1,
204
- "topics": [
205
-
206
- ]
159
+ "slug": "perfect-numbers",
160
+ "topics": null,
161
+ "unlocked_by": null,
162
+ "uuid": "097edd69-91b5-4a71-b197-a9c14b61c4ce"
207
163
  },
208
164
  {
209
- "uuid": "1657cd1a-f3d8-475f-824f-31ba4d8e229a",
210
- "slug": "meetup",
211
165
  "core": false,
212
- "unlocked_by": null,
213
166
  "difficulty": 1,
214
- "topics": [
215
-
216
- ]
167
+ "slug": "meetup",
168
+ "topics": null,
169
+ "unlocked_by": null,
170
+ "uuid": "1657cd1a-f3d8-475f-824f-31ba4d8e229a"
217
171
  },
218
172
  {
219
- "uuid": "735e991b-f736-4ca2-80db-f94e20aa2319",
220
- "slug": "space-age",
221
173
  "core": false,
222
- "unlocked_by": null,
223
174
  "difficulty": 1,
224
- "topics": [
225
-
226
- ]
175
+ "slug": "space-age",
176
+ "topics": null,
177
+ "unlocked_by": null,
178
+ "uuid": "735e991b-f736-4ca2-80db-f94e20aa2319"
227
179
  },
228
180
  {
229
- "uuid": "27b44b76-5e4f-4711-bce0-869e372636dd",
230
- "slug": "grains",
231
181
  "core": false,
232
- "unlocked_by": null,
233
182
  "difficulty": 1,
234
- "topics": [
235
-
236
- ]
183
+ "slug": "grains",
184
+ "topics": null,
185
+ "unlocked_by": null,
186
+ "uuid": "27b44b76-5e4f-4711-bce0-869e372636dd"
237
187
  },
238
188
  {
239
- "uuid": "23498ff3-310e-41b0-b15e-52fec2f2bfcb",
240
- "slug": "gigasecond",
241
189
  "core": false,
242
- "unlocked_by": null,
243
190
  "difficulty": 1,
244
- "topics": [
245
-
246
- ]
191
+ "slug": "gigasecond",
192
+ "topics": null,
193
+ "unlocked_by": null,
194
+ "uuid": "23498ff3-310e-41b0-b15e-52fec2f2bfcb"
247
195
  },
248
196
  {
249
- "uuid": "74f7eacd-d3de-4467-85b2-8590ba1f28ce",
250
- "slug": "triangle",
251
197
  "core": false,
252
- "unlocked_by": null,
253
198
  "difficulty": 1,
254
- "topics": [
255
-
256
- ]
199
+ "slug": "triangle",
200
+ "topics": null,
201
+ "unlocked_by": null,
202
+ "uuid": "74f7eacd-d3de-4467-85b2-8590ba1f28ce"
257
203
  },
258
204
  {
259
- "uuid": "01afac67-ff81-432e-b2a0-63f4540f2eb5",
260
- "slug": "scrabble-score",
261
205
  "core": false,
262
- "unlocked_by": null,
263
206
  "difficulty": 1,
264
- "topics": [
265
-
266
- ]
207
+ "slug": "scrabble-score",
208
+ "topics": null,
209
+ "unlocked_by": null,
210
+ "uuid": "01afac67-ff81-432e-b2a0-63f4540f2eb5"
267
211
  },
268
212
  {
269
- "uuid": "04d0369f-b0e5-4c00-a0f7-1b86eefba484",
270
- "slug": "roman-numerals",
271
213
  "core": false,
272
- "unlocked_by": null,
273
214
  "difficulty": 1,
274
- "topics": [
275
-
276
- ]
215
+ "slug": "roman-numerals",
216
+ "topics": null,
217
+ "unlocked_by": null,
218
+ "uuid": "04d0369f-b0e5-4c00-a0f7-1b86eefba484"
277
219
  },
278
220
  {
279
- "uuid": "4c59731d-165a-43e1-9917-16131dadbbac",
280
- "slug": "binary",
281
221
  "core": false,
282
- "unlocked_by": null,
283
222
  "difficulty": 1,
284
- "topics": [
285
-
286
- ]
223
+ "slug": "binary",
224
+ "topics": null,
225
+ "unlocked_by": null,
226
+ "uuid": "4c59731d-165a-43e1-9917-16131dadbbac"
287
227
  },
288
228
  {
289
- "uuid": "d32f41d4-e1b1-4daf-8ddc-a2ab9ee07c98",
290
- "slug": "trinary",
291
229
  "core": false,
292
- "unlocked_by": null,
293
230
  "difficulty": 1,
294
- "topics": [
295
-
296
- ]
231
+ "slug": "trinary",
232
+ "topics": null,
233
+ "unlocked_by": null,
234
+ "uuid": "d32f41d4-e1b1-4daf-8ddc-a2ab9ee07c98"
297
235
  },
298
236
  {
299
- "uuid": "d42g42d7-21b1-4daf-8ddc-a2ab9ee07c98",
300
- "slug": "spiral-matrix",
301
237
  "core": false,
302
- "unlocked_by": null,
303
238
  "difficulty": 1,
239
+ "slug": "spiral-matrix",
304
240
  "topics": [
305
241
  "recursivity"
306
- ]
242
+ ],
243
+ "unlocked_by": null,
244
+ "uuid": "d42g42d7-21b1-4daf-8ddc-a2ab9ee07c98"
307
245
  },
308
246
  {
309
- "uuid": "068a0997-d333-48cb-a82a-c5082e85115d",
310
- "slug": "prime-factors",
311
247
  "core": false,
312
- "unlocked_by": null,
313
248
  "difficulty": 1,
314
- "topics": [
315
-
316
- ]
249
+ "slug": "prime-factors",
250
+ "topics": null,
251
+ "unlocked_by": null,
252
+ "uuid": "068a0997-d333-48cb-a82a-c5082e85115d"
317
253
  },
318
254
  {
319
- "uuid": "c1113f92-df4d-4d04-865f-20b8b2c56205",
320
- "slug": "raindrops",
321
255
  "core": false,
322
- "unlocked_by": null,
323
256
  "difficulty": 1,
324
- "topics": [
325
-
326
- ]
257
+ "slug": "raindrops",
258
+ "topics": null,
259
+ "unlocked_by": null,
260
+ "uuid": "c1113f92-df4d-4d04-865f-20b8b2c56205"
327
261
  },
328
262
  {
329
- "uuid": "810803c7-4480-4e11-b848-d56477ba9d08",
330
- "slug": "allergies",
331
263
  "core": false,
332
- "unlocked_by": null,
333
264
  "difficulty": 1,
334
- "topics": [
335
-
336
- ]
265
+ "slug": "allergies",
266
+ "topics": null,
267
+ "unlocked_by": null,
268
+ "uuid": "810803c7-4480-4e11-b848-d56477ba9d08"
337
269
  },
338
270
  {
339
- "uuid": "db1a86fb-2f04-4afe-9e45-00b539c86b63",
340
- "slug": "octal",
341
271
  "core": false,
342
- "unlocked_by": null,
343
272
  "difficulty": 1,
344
- "topics": [
345
-
346
- ]
273
+ "slug": "octal",
274
+ "topics": null,
275
+ "unlocked_by": null,
276
+ "uuid": "db1a86fb-2f04-4afe-9e45-00b539c86b63"
347
277
  },
348
278
  {
349
- "uuid": "ad08dcef-14f7-406d-b3a5-4b5aad37ebf1",
350
- "slug": "strain",
351
279
  "core": false,
352
- "unlocked_by": null,
353
280
  "difficulty": 1,
354
- "topics": [
355
-
356
- ]
281
+ "slug": "strain",
282
+ "topics": null,
283
+ "unlocked_by": null,
284
+ "uuid": "ad08dcef-14f7-406d-b3a5-4b5aad37ebf1"
357
285
  },
358
286
  {
359
- "uuid": "47266422-622e-4e20-b597-e85ab7bd3046",
360
- "slug": "atbash-cipher",
361
287
  "core": false,
362
- "unlocked_by": null,
363
288
  "difficulty": 1,
364
- "topics": [
365
-
366
- ]
289
+ "slug": "atbash-cipher",
290
+ "topics": null,
291
+ "unlocked_by": null,
292
+ "uuid": "47266422-622e-4e20-b597-e85ab7bd3046"
367
293
  },
368
294
  {
369
- "uuid": "e6848f52-a6b5-4669-9b50-beedfd3ebe2f",
370
- "slug": "bank-account",
371
295
  "core": false,
372
- "unlocked_by": null,
373
296
  "difficulty": 1,
374
- "topics": [
375
-
376
- ]
297
+ "slug": "bank-account",
298
+ "topics": null,
299
+ "unlocked_by": null,
300
+ "uuid": "e6848f52-a6b5-4669-9b50-beedfd3ebe2f"
377
301
  },
378
302
  {
379
- "uuid": "8b90d4c5-0d53-4664-afba-c4ed1c865e77",
380
- "slug": "crypto-square",
381
303
  "core": false,
382
- "unlocked_by": null,
383
304
  "difficulty": 1,
384
- "topics": [
385
-
386
- ]
305
+ "slug": "crypto-square",
306
+ "topics": null,
307
+ "unlocked_by": null,
308
+ "uuid": "8b90d4c5-0d53-4664-afba-c4ed1c865e77"
387
309
  },
388
310
  {
389
- "uuid": "9c8c4689-4990-4266-a02e-2dcb9fa32402",
390
- "slug": "pascals-triangle",
391
311
  "core": false,
392
- "unlocked_by": null,
393
312
  "difficulty": 1,
394
- "topics": [
395
-
396
- ]
313
+ "slug": "pascals-triangle",
314
+ "topics": null,
315
+ "unlocked_by": null,
316
+ "uuid": "9c8c4689-4990-4266-a02e-2dcb9fa32402"
397
317
  },
398
318
  {
399
- "uuid": "a7e1d0a1-feb5-4a55-93c7-e7f81a39238c",
400
- "slug": "sum-of-multiples",
401
319
  "core": false,
402
- "unlocked_by": null,
403
320
  "difficulty": 1,
404
- "topics": [
405
-
406
- ]
321
+ "slug": "sum-of-multiples",
322
+ "topics": null,
323
+ "unlocked_by": null,
324
+ "uuid": "a7e1d0a1-feb5-4a55-93c7-e7f81a39238c"
407
325
  },
408
326
  {
409
- "uuid": "910adfb9-be3e-45ef-af4c-facba7825cfd",
410
- "slug": "sieve",
411
327
  "core": false,
412
- "unlocked_by": null,
413
328
  "difficulty": 1,
414
- "topics": [
415
-
416
- ]
329
+ "slug": "sieve",
330
+ "topics": null,
331
+ "unlocked_by": null,
332
+ "uuid": "910adfb9-be3e-45ef-af4c-facba7825cfd"
417
333
  },
418
334
  {
419
- "uuid": "5f62a862-f65e-4af0-a15d-5aa1fdb4f970",
420
- "slug": "luhn",
421
335
  "core": false,
422
- "unlocked_by": null,
423
336
  "difficulty": 1,
424
- "topics": [
425
-
426
- ]
337
+ "slug": "luhn",
338
+ "topics": null,
339
+ "unlocked_by": null,
340
+ "uuid": "5f62a862-f65e-4af0-a15d-5aa1fdb4f970"
427
341
  },
428
342
  {
429
- "uuid": "5288c0fb-a90d-4f71-b525-e9a7b687aaf2",
430
- "slug": "kindergarten-garden",
431
343
  "core": false,
432
- "unlocked_by": null,
433
344
  "difficulty": 1,
434
- "topics": [
435
-
436
- ]
345
+ "slug": "kindergarten-garden",
346
+ "topics": null,
347
+ "unlocked_by": null,
348
+ "uuid": "5288c0fb-a90d-4f71-b525-e9a7b687aaf2"
437
349
  },
438
350
  {
439
- "uuid": "e4f94fe1-7258-4e55-94c8-756a8080f898",
440
- "slug": "robot-simulator",
441
351
  "core": false,
442
- "unlocked_by": null,
443
352
  "difficulty": 1,
444
- "topics": [
445
-
446
- ]
353
+ "slug": "robot-simulator",
354
+ "topics": null,
355
+ "unlocked_by": null,
356
+ "uuid": "e4f94fe1-7258-4e55-94c8-756a8080f898"
447
357
  },
448
358
  {
449
- "uuid": "0bc807ef-60b8-49d9-9428-0060bc5517a9",
450
- "slug": "queen-attack",
451
359
  "core": false,
452
- "unlocked_by": null,
453
360
  "difficulty": 1,
454
- "topics": [
455
-
456
- ]
361
+ "slug": "queen-attack",
362
+ "topics": null,
363
+ "unlocked_by": null,
364
+ "uuid": "0bc807ef-60b8-49d9-9428-0060bc5517a9"
457
365
  },
458
366
  {
459
- "uuid": "73cdbbd8-04a6-42ba-aeea-1f1c8d53af70",
460
- "slug": "accumulate",
461
367
  "core": false,
462
- "unlocked_by": null,
463
368
  "difficulty": 1,
464
- "topics": [
465
-
466
- ]
369
+ "slug": "accumulate",
370
+ "topics": null,
371
+ "unlocked_by": null,
372
+ "uuid": "73cdbbd8-04a6-42ba-aeea-1f1c8d53af70"
467
373
  },
468
374
  {
469
- "uuid": "62f3cbcb-2503-472f-9544-50e05e368949",
470
- "slug": "binary-search-tree",
471
375
  "core": false,
472
- "unlocked_by": null,
473
376
  "difficulty": 1,
474
- "topics": [
475
-
476
- ]
377
+ "slug": "binary-search-tree",
378
+ "topics": null,
379
+ "unlocked_by": null,
380
+ "uuid": "62f3cbcb-2503-472f-9544-50e05e368949"
477
381
  },
478
382
  {
479
- "uuid": "254199d8-8add-470f-a8fc-8ec9ffc54dd1",
480
- "slug": "difference-of-squares",
481
383
  "core": false,
482
- "unlocked_by": null,
483
384
  "difficulty": 1,
484
- "topics": [
485
-
486
- ]
385
+ "slug": "difference-of-squares",
386
+ "topics": null,
387
+ "unlocked_by": null,
388
+ "uuid": "254199d8-8add-470f-a8fc-8ec9ffc54dd1"
487
389
  },
488
390
  {
489
- "uuid": "8ede90b5-d1ad-41c3-8474-2ffaea39e7e4",
490
- "slug": "hexadecimal",
491
391
  "core": false,
492
- "unlocked_by": null,
493
392
  "difficulty": 1,
494
- "topics": [
495
-
496
- ]
393
+ "slug": "hexadecimal",
394
+ "topics": null,
395
+ "unlocked_by": null,
396
+ "uuid": "8ede90b5-d1ad-41c3-8474-2ffaea39e7e4"
497
397
  },
498
398
  {
499
- "uuid": "b55eefa5-dce6-46fb-8c0e-4c476cc871ce",
500
- "slug": "all-your-base",
501
399
  "core": false,
502
- "unlocked_by": null,
503
400
  "difficulty": 1,
504
- "topics": [
505
-
506
- ]
401
+ "slug": "all-your-base",
402
+ "topics": null,
403
+ "unlocked_by": null,
404
+ "uuid": "b55eefa5-dce6-46fb-8c0e-4c476cc871ce"
507
405
  },
508
406
  {
509
- "uuid": "eec9ea9a-fa32-4ea2-831e-0caccbca208b",
510
- "slug": "largest-series-product",
511
407
  "core": false,
512
- "unlocked_by": null,
513
408
  "difficulty": 1,
514
- "topics": [
515
-
516
- ]
409
+ "slug": "largest-series-product",
410
+ "topics": null,
411
+ "unlocked_by": null,
412
+ "uuid": "eec9ea9a-fa32-4ea2-831e-0caccbca208b"
517
413
  },
518
414
  {
519
- "uuid": "ee9b837b-ea2f-4c77-9a3d-3d0007b9ae88",
520
- "slug": "pov",
521
415
  "core": false,
522
- "unlocked_by": null,
523
416
  "difficulty": 1,
524
- "topics": [
525
-
526
- ]
417
+ "slug": "pov",
418
+ "topics": null,
419
+ "unlocked_by": null,
420
+ "uuid": "ee9b837b-ea2f-4c77-9a3d-3d0007b9ae88"
527
421
  },
528
422
  {
529
- "uuid": "c8ebc25b-17b9-44a9-8cbe-df2c2eb6e2d6",
530
- "slug": "bracket-push",
531
423
  "core": false,
532
- "unlocked_by": null,
533
424
  "difficulty": 1,
534
- "topics": [
535
-
536
- ]
425
+ "slug": "bracket-push",
426
+ "topics": null,
427
+ "unlocked_by": null,
428
+ "uuid": "c8ebc25b-17b9-44a9-8cbe-df2c2eb6e2d6"
537
429
  },
538
430
  {
539
- "uuid": "2d35d9b3-5cff-4e68-a861-1461b32e22ba",
540
- "slug": "minesweeper",
541
431
  "core": false,
542
- "unlocked_by": null,
543
432
  "difficulty": 1,
544
- "topics": [
545
-
546
- ]
433
+ "slug": "minesweeper",
434
+ "topics": null,
435
+ "unlocked_by": null,
436
+ "uuid": "2d35d9b3-5cff-4e68-a861-1461b32e22ba"
547
437
  },
548
438
  {
549
- "uuid": "6fd886e5-94b0-4938-9f48-f4c6850027a0",
550
- "slug": "change",
551
439
  "core": false,
552
- "unlocked_by": null,
553
440
  "difficulty": 1,
554
- "topics": [
555
-
556
- ]
441
+ "slug": "change",
442
+ "topics": null,
443
+ "unlocked_by": null,
444
+ "uuid": "6fd886e5-94b0-4938-9f48-f4c6850027a0"
557
445
  },
558
446
  {
559
- "uuid": "398f65f2-2324-4b08-945d-a9fbd62d1a41",
560
- "slug": "pangram",
561
447
  "core": false,
562
- "unlocked_by": null,
563
448
  "difficulty": 1,
564
- "topics": [
565
-
566
- ]
449
+ "slug": "pangram",
450
+ "topics": null,
451
+ "unlocked_by": null,
452
+ "uuid": "398f65f2-2324-4b08-945d-a9fbd62d1a41"
567
453
  },
568
454
  {
569
- "uuid": "4a2033a7-5579-49ac-94d7-8693cee45381",
570
- "slug": "wordy",
571
455
  "core": false,
572
- "unlocked_by": null,
573
456
  "difficulty": 1,
574
- "topics": [
575
-
576
- ]
457
+ "slug": "wordy",
458
+ "topics": null,
459
+ "unlocked_by": null,
460
+ "uuid": "4a2033a7-5579-49ac-94d7-8693cee45381"
577
461
  },
578
462
  {
579
- "uuid": "1fc5c2e9-2851-4735-8fde-612a8c054a5a",
580
- "slug": "isogram",
581
463
  "core": false,
582
- "unlocked_by": null,
583
464
  "difficulty": 1,
584
- "topics": [
585
-
586
- ]
465
+ "slug": "isogram",
466
+ "topics": null,
467
+ "unlocked_by": null,
468
+ "uuid": "1fc5c2e9-2851-4735-8fde-612a8c054a5a"
587
469
  },
588
470
  {
589
- "uuid": "e14a4261-c84f-417e-841e-29ff6f1f533d",
590
- "slug": "acronym",
591
471
  "core": false,
592
- "unlocked_by": null,
593
472
  "difficulty": 1,
594
- "topics": [
595
-
596
- ]
473
+ "slug": "acronym",
474
+ "topics": null,
475
+ "unlocked_by": null,
476
+ "uuid": "e14a4261-c84f-417e-841e-29ff6f1f533d"
597
477
  },
598
478
  {
599
- "uuid": "d380de85-4d35-4342-9b88-7402deea2869",
600
- "slug": "nth-prime",
601
479
  "core": false,
602
- "unlocked_by": null,
603
480
  "difficulty": 1,
604
- "topics": [
605
-
606
- ]
481
+ "slug": "nth-prime",
482
+ "topics": null,
483
+ "unlocked_by": null,
484
+ "uuid": "d380de85-4d35-4342-9b88-7402deea2869"
607
485
  },
608
486
  {
609
- "uuid": "6768b55e-bab3-4e55-ac71-ddda0bd16298",
610
- "slug": "pig-latin",
611
487
  "core": false,
612
- "unlocked_by": null,
613
488
  "difficulty": 1,
614
- "topics": [
615
-
616
- ]
489
+ "slug": "pig-latin",
490
+ "topics": null,
491
+ "unlocked_by": null,
492
+ "uuid": "6768b55e-bab3-4e55-ac71-ddda0bd16298"
617
493
  },
618
494
  {
619
- "uuid": "2cc37c2a-7e6c-49ba-8b30-2ff8c9d818c2",
620
- "slug": "secret-handshake",
621
495
  "core": false,
622
- "unlocked_by": null,
623
496
  "difficulty": 1,
624
- "topics": [
625
-
626
- ]
497
+ "slug": "secret-handshake",
498
+ "topics": null,
499
+ "unlocked_by": null,
500
+ "uuid": "2cc37c2a-7e6c-49ba-8b30-2ff8c9d818c2"
627
501
  },
628
502
  {
629
- "uuid": "622823dc-ee47-42a0-acc6-190de4541625",
630
- "slug": "rotational-cipher",
631
503
  "core": false,
632
- "unlocked_by": null,
633
504
  "difficulty": 1,
634
- "topics": [
635
-
636
- ]
505
+ "slug": "rotational-cipher",
506
+ "topics": null,
507
+ "unlocked_by": null,
508
+ "uuid": "622823dc-ee47-42a0-acc6-190de4541625"
637
509
  }
638
- ]
639
- }
510
+ ],
511
+ "foregone": [],
512
+ "language": "Clojure"
513
+ }