trackler 2.0.6.14 → 2.0.6.15
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/trackler/version.rb +1 -1
- data/tracks/ceylon/.travis.yml +1 -0
- data/tracks/ceylon/bin/compile-all-stubs +16 -0
- data/tracks/ceylon/config.json +11 -0
- data/tracks/ceylon/exercises/react/example/Reactor.ceylon +96 -0
- data/tracks/ceylon/exercises/react/example/module.ceylon +4 -0
- data/tracks/ceylon/exercises/react/source/react/Reactor.ceylon +29 -0
- data/tracks/ceylon/exercises/react/source/react/ReactorTest.ceylon +195 -0
- data/tracks/ceylon/exercises/react/source/react/module.ceylon +3 -0
- data/tracks/csharp/config.json +9 -0
- data/tracks/csharp/exercises/pov/Example.cs +17 -17
- data/tracks/csharp/exercises/zipper/Example.cs +137 -0
- data/tracks/csharp/exercises/zipper/ZipperTest.cs +83 -0
- data/tracks/go/config.json +9 -0
- data/tracks/go/exercises/transpose/cases_test.go +247 -0
- data/tracks/go/exercises/transpose/example.go +25 -0
- data/tracks/go/exercises/transpose/example_gen.go +54 -0
- data/tracks/go/exercises/transpose/transpose_test.go +39 -0
- data/tracks/go/exercises/triangle/triangle.go +1 -1
- data/tracks/haskell/.travis.yml +2 -2
- data/tracks/haskell/common/stack.yaml +1 -1
- data/tracks/haskell/exercises/accumulate/stack.yaml +1 -1
- data/tracks/haskell/exercises/all-your-base/stack.yaml +1 -1
- data/tracks/haskell/exercises/allergies/stack.yaml +1 -1
- data/tracks/haskell/exercises/alphametics/stack.yaml +1 -1
- data/tracks/haskell/exercises/anagram/stack.yaml +1 -1
- data/tracks/haskell/exercises/atbash-cipher/stack.yaml +1 -1
- data/tracks/haskell/exercises/bank-account/stack.yaml +1 -1
- data/tracks/haskell/exercises/beer-song/stack.yaml +1 -1
- data/tracks/haskell/exercises/binary-search-tree/stack.yaml +1 -1
- data/tracks/haskell/exercises/binary/stack.yaml +1 -1
- data/tracks/haskell/exercises/bob/stack.yaml +1 -1
- data/tracks/haskell/exercises/bowling/stack.yaml +1 -1
- data/tracks/haskell/exercises/change/stack.yaml +1 -1
- data/tracks/haskell/exercises/clock/stack.yaml +1 -1
- data/tracks/haskell/exercises/connect/stack.yaml +1 -1
- data/tracks/haskell/exercises/crypto-square/stack.yaml +1 -1
- data/tracks/haskell/exercises/custom-set/stack.yaml +1 -1
- data/tracks/haskell/exercises/difference-of-squares/stack.yaml +1 -1
- data/tracks/haskell/exercises/dominoes/stack.yaml +1 -1
- data/tracks/haskell/exercises/etl/stack.yaml +1 -1
- data/tracks/haskell/exercises/food-chain/stack.yaml +1 -1
- data/tracks/haskell/exercises/forth/stack.yaml +1 -1
- data/tracks/haskell/exercises/gigasecond/stack.yaml +1 -1
- data/tracks/haskell/exercises/go-counting/stack.yaml +1 -1
- data/tracks/haskell/exercises/grade-school/stack.yaml +1 -1
- data/tracks/haskell/exercises/grains/stack.yaml +1 -1
- data/tracks/haskell/exercises/hamming/stack.yaml +1 -1
- data/tracks/haskell/exercises/hexadecimal/stack.yaml +1 -1
- data/tracks/haskell/exercises/house/stack.yaml +1 -1
- data/tracks/haskell/exercises/kindergarten-garden/stack.yaml +1 -1
- data/tracks/haskell/exercises/largest-series-product/stack.yaml +1 -1
- data/tracks/haskell/exercises/leap/stack.yaml +1 -1
- data/tracks/haskell/exercises/lens-person/stack.yaml +1 -1
- data/tracks/haskell/exercises/linked-list/stack.yaml +1 -1
- data/tracks/haskell/exercises/list-ops/stack.yaml +1 -1
- data/tracks/haskell/exercises/luhn/stack.yaml +1 -1
- data/tracks/haskell/exercises/matrix/stack.yaml +1 -1
- data/tracks/haskell/exercises/meetup/stack.yaml +1 -1
- data/tracks/haskell/exercises/minesweeper/stack.yaml +1 -1
- data/tracks/haskell/exercises/nth-prime/stack.yaml +1 -1
- data/tracks/haskell/exercises/nucleotide-count/stack.yaml +1 -1
- data/tracks/haskell/exercises/ocr-numbers/stack.yaml +1 -1
- data/tracks/haskell/exercises/octal/stack.yaml +1 -1
- data/tracks/haskell/exercises/palindrome-products/stack.yaml +1 -1
- data/tracks/haskell/exercises/parallel-letter-frequency/stack.yaml +1 -1
- data/tracks/haskell/exercises/pascals-triangle/stack.yaml +1 -1
- data/tracks/haskell/exercises/phone-number/stack.yaml +1 -1
- data/tracks/haskell/exercises/pig-latin/stack.yaml +1 -1
- data/tracks/haskell/exercises/pov/stack.yaml +1 -1
- data/tracks/haskell/exercises/prime-factors/stack.yaml +1 -1
- data/tracks/haskell/exercises/pythagorean-triplet/stack.yaml +1 -1
- data/tracks/haskell/exercises/queen-attack/stack.yaml +1 -1
- data/tracks/haskell/exercises/raindrops/stack.yaml +1 -1
- data/tracks/haskell/exercises/rna-transcription/stack.yaml +1 -1
- data/tracks/haskell/exercises/robot-name/stack.yaml +1 -1
- data/tracks/haskell/exercises/robot-simulator/stack.yaml +1 -1
- data/tracks/haskell/exercises/roman-numerals/stack.yaml +1 -1
- data/tracks/haskell/exercises/run-length-encoding/stack.yaml +1 -1
- data/tracks/haskell/exercises/saddle-points/stack.yaml +1 -1
- data/tracks/haskell/exercises/say/stack.yaml +1 -1
- data/tracks/haskell/exercises/scrabble-score/stack.yaml +1 -1
- data/tracks/haskell/exercises/secret-handshake/stack.yaml +1 -1
- data/tracks/haskell/exercises/series/stack.yaml +1 -1
- data/tracks/haskell/exercises/sgf-parsing/stack.yaml +1 -1
- data/tracks/haskell/exercises/sieve/stack.yaml +1 -1
- data/tracks/haskell/exercises/simple-cipher/stack.yaml +1 -1
- data/tracks/haskell/exercises/simple-linked-list/stack.yaml +1 -1
- data/tracks/haskell/exercises/space-age/stack.yaml +1 -1
- data/tracks/haskell/exercises/strain/stack.yaml +1 -1
- data/tracks/haskell/exercises/sublist/stack.yaml +1 -1
- data/tracks/haskell/exercises/sum-of-multiples/stack.yaml +1 -1
- data/tracks/haskell/exercises/triangle/stack.yaml +1 -1
- data/tracks/haskell/exercises/trinary/stack.yaml +1 -1
- data/tracks/haskell/exercises/word-count/stack.yaml +1 -1
- data/tracks/haskell/exercises/wordy/stack.yaml +1 -1
- data/tracks/haskell/exercises/zebra-puzzle/stack.yaml +1 -1
- data/tracks/haskell/exercises/zipper/stack.yaml +1 -1
- data/tracks/lua/exercises/list-ops/list-ops_spec.lua +1 -1
- data/tracks/objective-c/config.json +9 -0
- data/tracks/objective-c/exercises/beer-song/BeerSongExample.h +7 -0
- data/tracks/objective-c/exercises/beer-song/BeerSongExample.m +56 -0
- data/tracks/objective-c/exercises/beer-song/BeerSongTest.m +51 -0
- data/tracks/objective-c/xcodeProject/ObjectiveC.xcodeproj/project.pbxproj +23 -1
- data/tracks/objective-c/xcodeProject/ObjectiveC.xcodeproj/xcshareddata/xcschemes/OCLint.xcscheme +1 -1
- data/tracks/objective-c/xcodeProject/ObjectiveC.xcodeproj/xcshareddata/xcschemes/xobjectivecTest.xcscheme +1 -1
- data/tracks/perl6/config.json +5 -0
- data/tracks/perl6/exercises/grade-school/Example.pm +17 -0
- data/tracks/perl6/exercises/grade-school/grade-school.t +32 -0
- data/tracks/scala/config.json +6 -0
- data/tracks/scala/exercises/rna-transcription/build.sbt +2 -2
- data/tracks/scala/exercises/sublist/build.sbt +2 -2
- data/tracks/scala/exercises/sublist/src/test/scala/SublistTest.scala +1 -1
- metadata +19 -2
@@ -0,0 +1,137 @@
|
|
1
|
+
using System;
|
2
|
+
using System.Collections.Generic;
|
3
|
+
using System.Linq;
|
4
|
+
|
5
|
+
public class BinTree<T> : IEquatable<BinTree<T>>
|
6
|
+
{
|
7
|
+
public BinTree(T value, BinTree<T> left, BinTree<T> right)
|
8
|
+
{
|
9
|
+
Value = value;
|
10
|
+
Left = left;
|
11
|
+
Right = right;
|
12
|
+
}
|
13
|
+
|
14
|
+
public BinTree(BinTree<T> tree) : this(tree.Value, tree.Left, tree.Right)
|
15
|
+
{
|
16
|
+
}
|
17
|
+
|
18
|
+
public T Value { get; }
|
19
|
+
public BinTree<T> Left { get; }
|
20
|
+
public BinTree<T> Right { get; }
|
21
|
+
|
22
|
+
public bool Equals(BinTree<T> other)
|
23
|
+
{
|
24
|
+
if (other == null || !Equals(Value, other.Value))
|
25
|
+
return false;
|
26
|
+
|
27
|
+
if (!ReferenceEquals(Left, other.Left) && (!Left?.Equals(other.Left) ?? false))
|
28
|
+
return false;
|
29
|
+
|
30
|
+
if (!ReferenceEquals(Right, other.Right) && (!Right?.Equals(other.Right) ?? false))
|
31
|
+
return false;
|
32
|
+
|
33
|
+
return true;
|
34
|
+
}
|
35
|
+
}
|
36
|
+
|
37
|
+
public abstract class BinTreeCrumb<T>
|
38
|
+
{
|
39
|
+
public BinTreeCrumb(T value, BinTree<T> tree)
|
40
|
+
{
|
41
|
+
Value = value;
|
42
|
+
Tree = tree;
|
43
|
+
}
|
44
|
+
|
45
|
+
public T Value { get; }
|
46
|
+
public BinTree<T> Tree { get; }
|
47
|
+
}
|
48
|
+
|
49
|
+
public class BinTreeLeftCrumb<T> : BinTreeCrumb<T>
|
50
|
+
{
|
51
|
+
public BinTreeLeftCrumb(T value, BinTree<T> tree) : base(value, tree)
|
52
|
+
{
|
53
|
+
}
|
54
|
+
}
|
55
|
+
|
56
|
+
public class BinTreeRightCrumb<T> : BinTreeCrumb<T>
|
57
|
+
{
|
58
|
+
public BinTreeRightCrumb(T value, BinTree<T> tree) : base(value, tree)
|
59
|
+
{
|
60
|
+
}
|
61
|
+
}
|
62
|
+
|
63
|
+
public class Zipper<T>
|
64
|
+
{
|
65
|
+
private readonly T value;
|
66
|
+
private readonly BinTree<T> left;
|
67
|
+
private readonly BinTree<T> right;
|
68
|
+
private readonly List<BinTreeCrumb<T>> crumbs;
|
69
|
+
|
70
|
+
public Zipper(T value, BinTree<T> left, BinTree<T> right, List<BinTreeCrumb<T>> crumbs)
|
71
|
+
{
|
72
|
+
this.value = value;
|
73
|
+
this.left = left;
|
74
|
+
this.right = right;
|
75
|
+
this.crumbs = crumbs;
|
76
|
+
}
|
77
|
+
|
78
|
+
public T Value => value;
|
79
|
+
|
80
|
+
public Zipper<T> SetValue(T newValue) => new Zipper<T>(newValue, left, right, crumbs);
|
81
|
+
|
82
|
+
public Zipper<T> SetLeft(BinTree<T> binTree) => new Zipper<T>(value, binTree, right, crumbs);
|
83
|
+
|
84
|
+
public Zipper<T> SetRight(BinTree<T> binTree) => new Zipper<T>(value, left, binTree, crumbs);
|
85
|
+
|
86
|
+
public Zipper<T> Left()
|
87
|
+
{
|
88
|
+
if (left == null)
|
89
|
+
return null;
|
90
|
+
|
91
|
+
var newCrumbs = new[] { new BinTreeLeftCrumb<T>(value, right) }.Concat(crumbs).ToList();
|
92
|
+
return new Zipper<T>(left.Value, left.Left, left.Right, newCrumbs);
|
93
|
+
}
|
94
|
+
|
95
|
+
public Zipper<T> Right()
|
96
|
+
{
|
97
|
+
if (right == null)
|
98
|
+
return null;
|
99
|
+
|
100
|
+
var newCrumbs = new[] { new BinTreeRightCrumb<T>(value, left) }.Concat(crumbs).ToList();
|
101
|
+
return new Zipper<T>(right.Value, right.Left, right.Right, newCrumbs);
|
102
|
+
}
|
103
|
+
|
104
|
+
public Zipper<T> Up()
|
105
|
+
{
|
106
|
+
if (crumbs.Count == 0)
|
107
|
+
return null;
|
108
|
+
|
109
|
+
var firstCrumb = crumbs[0];
|
110
|
+
var remainingCrumbs = crumbs.Skip(1).ToList();
|
111
|
+
|
112
|
+
if (firstCrumb is BinTreeLeftCrumb<T>)
|
113
|
+
return new Zipper<T>(firstCrumb.Value, new BinTree<T>(value, left, right), firstCrumb.Tree, remainingCrumbs);
|
114
|
+
|
115
|
+
if (firstCrumb is BinTreeRightCrumb<T>)
|
116
|
+
return new Zipper<T>(firstCrumb.Value, firstCrumb.Tree, new BinTree<T>(value, left, right), remainingCrumbs);
|
117
|
+
|
118
|
+
return null;
|
119
|
+
}
|
120
|
+
|
121
|
+
public BinTree<T> ToTree()
|
122
|
+
{
|
123
|
+
var tree = new BinTree<T>(value, left, right);
|
124
|
+
|
125
|
+
foreach (var crumb in crumbs)
|
126
|
+
{
|
127
|
+
if (crumb is BinTreeLeftCrumb<T>)
|
128
|
+
tree = new BinTree<T>(crumb.Value, new BinTree<T>(tree), crumb.Tree);
|
129
|
+
if (crumb is BinTreeRightCrumb<T>)
|
130
|
+
tree = new BinTree<T>(crumb.Value, crumb.Tree, new BinTree<T>(tree));
|
131
|
+
}
|
132
|
+
|
133
|
+
return tree;
|
134
|
+
}
|
135
|
+
|
136
|
+
public static Zipper<T> FromTree(BinTree<T> tree) => new Zipper<T>(tree.Value, tree.Left, tree.Right, new List<BinTreeCrumb<T>>());
|
137
|
+
}
|
@@ -0,0 +1,83 @@
|
|
1
|
+
using NUnit.Framework;
|
2
|
+
|
3
|
+
public class ZipperTest
|
4
|
+
{
|
5
|
+
private static BinTree<int> bt(int v, BinTree<int> l, BinTree<int> r) => new BinTree<int>(v, l, r);
|
6
|
+
private static BinTree<int> leaf(int v) => bt(v, null, null);
|
7
|
+
|
8
|
+
private static readonly BinTree<int> empty = null;
|
9
|
+
private static readonly BinTree<int> t1 = new BinTree<int>(1, bt(2, empty, leaf(3)), leaf(4));
|
10
|
+
private static readonly BinTree<int> t2 = new BinTree<int>(1, bt(5, empty, leaf(3)), leaf(4));
|
11
|
+
private static readonly BinTree<int> t3 = new BinTree<int>(1, bt(2, leaf(5), leaf(3)), leaf(4));
|
12
|
+
private static readonly BinTree<int> t4 = new BinTree<int>(1, leaf(2), leaf(4));
|
13
|
+
|
14
|
+
[Test]
|
15
|
+
public void Data_is_retained()
|
16
|
+
{
|
17
|
+
var zipper = Zipper<int>.FromTree(t1);
|
18
|
+
var tree = zipper.ToTree();
|
19
|
+
Assert.That(tree, Is.EqualTo(t1));
|
20
|
+
}
|
21
|
+
|
22
|
+
[Ignore("Remove to run test")]
|
23
|
+
[Test]
|
24
|
+
public void Left_right_and_value()
|
25
|
+
{
|
26
|
+
var zipper = Zipper<int>.FromTree(t1);
|
27
|
+
Assert.That(zipper.Left().Right().Value, Is.EqualTo(3));
|
28
|
+
}
|
29
|
+
|
30
|
+
[Ignore("Remove to run test")]
|
31
|
+
[Test]
|
32
|
+
public void Dead_end()
|
33
|
+
{
|
34
|
+
var zipper = Zipper<int>.FromTree(t1);
|
35
|
+
Assert.That(zipper.Left().Left(), Is.Null);
|
36
|
+
}
|
37
|
+
|
38
|
+
[Ignore("Remove to run test")]
|
39
|
+
[Test]
|
40
|
+
public void Tree_from_deep_focus()
|
41
|
+
{
|
42
|
+
var zipper = Zipper<int>.FromTree(t1);
|
43
|
+
Assert.That(zipper.Left().Right().ToTree(), Is.EqualTo(t1));
|
44
|
+
}
|
45
|
+
|
46
|
+
[Ignore("Remove to run test")]
|
47
|
+
[Test]
|
48
|
+
public void Set_value()
|
49
|
+
{
|
50
|
+
var zipper = Zipper<int>.FromTree(t1);
|
51
|
+
var updatedZipper = zipper.Left().SetValue(5);
|
52
|
+
var tree = updatedZipper.ToTree();
|
53
|
+
Assert.That(tree, Is.EqualTo(t2));
|
54
|
+
}
|
55
|
+
|
56
|
+
[Ignore("Remove to run test")]
|
57
|
+
[Test]
|
58
|
+
public void Set_left_with_value()
|
59
|
+
{
|
60
|
+
var zipper = Zipper<int>.FromTree(t1);
|
61
|
+
var updatedZipper = zipper.Left().SetLeft(new BinTree<int>(5, null, null));
|
62
|
+
var tree = updatedZipper.ToTree();
|
63
|
+
Assert.That(tree, Is.EqualTo(t3));
|
64
|
+
}
|
65
|
+
|
66
|
+
[Ignore("Remove to run test")]
|
67
|
+
[Test]
|
68
|
+
public void Set_right_to_null()
|
69
|
+
{
|
70
|
+
var zipper = Zipper<int>.FromTree(t1);
|
71
|
+
var updatedZipper = zipper.Left().SetRight(null);
|
72
|
+
var tree = updatedZipper.ToTree();
|
73
|
+
Assert.That(tree, Is.EqualTo(t4));
|
74
|
+
}
|
75
|
+
|
76
|
+
[Ignore("Remove to run test")]
|
77
|
+
[Test]
|
78
|
+
public void Different_paths_to_same_zipper()
|
79
|
+
{
|
80
|
+
var zipper = Zipper<int>.FromTree(t1);
|
81
|
+
Assert.That(zipper.Left().Up().Right().ToTree(), Is.EqualTo(zipper.Right().ToTree()));
|
82
|
+
}
|
83
|
+
}
|
data/tracks/go/config.json
CHANGED
@@ -302,6 +302,15 @@
|
|
302
302
|
"slug": "prime-factors",
|
303
303
|
"topics": []
|
304
304
|
},
|
305
|
+
{
|
306
|
+
"difficulty": 5,
|
307
|
+
"slug": "transpose",
|
308
|
+
"topics": [
|
309
|
+
"Control-flow (loops)",
|
310
|
+
"Strings",
|
311
|
+
"Transforming"
|
312
|
+
]
|
313
|
+
},
|
305
314
|
{
|
306
315
|
"difficulty": 1,
|
307
316
|
"slug": "nth-prime",
|
@@ -0,0 +1,247 @@
|
|
1
|
+
package transpose
|
2
|
+
|
3
|
+
// Source: exercism/x-common
|
4
|
+
// Commit: cda8f98 Create new exercises structure
|
5
|
+
|
6
|
+
var testCases = []struct {
|
7
|
+
description string
|
8
|
+
input []string
|
9
|
+
expected []string
|
10
|
+
}{
|
11
|
+
{
|
12
|
+
"empty string",
|
13
|
+
[]string{},
|
14
|
+
[]string{},
|
15
|
+
},
|
16
|
+
{
|
17
|
+
"two characters in a row",
|
18
|
+
[]string{
|
19
|
+
"A1",
|
20
|
+
},
|
21
|
+
[]string{
|
22
|
+
"A",
|
23
|
+
"1",
|
24
|
+
},
|
25
|
+
},
|
26
|
+
{
|
27
|
+
"two characters in a column",
|
28
|
+
[]string{
|
29
|
+
"A",
|
30
|
+
"1",
|
31
|
+
},
|
32
|
+
[]string{
|
33
|
+
"A1",
|
34
|
+
},
|
35
|
+
},
|
36
|
+
{
|
37
|
+
"simple",
|
38
|
+
[]string{
|
39
|
+
"ABC",
|
40
|
+
"123",
|
41
|
+
},
|
42
|
+
[]string{
|
43
|
+
"A1",
|
44
|
+
"B2",
|
45
|
+
"C3",
|
46
|
+
},
|
47
|
+
},
|
48
|
+
{
|
49
|
+
"single line",
|
50
|
+
[]string{
|
51
|
+
"Single line.",
|
52
|
+
},
|
53
|
+
[]string{
|
54
|
+
"S",
|
55
|
+
"i",
|
56
|
+
"n",
|
57
|
+
"g",
|
58
|
+
"l",
|
59
|
+
"e",
|
60
|
+
" ",
|
61
|
+
"l",
|
62
|
+
"i",
|
63
|
+
"n",
|
64
|
+
"e",
|
65
|
+
".",
|
66
|
+
},
|
67
|
+
},
|
68
|
+
{
|
69
|
+
"first line longer than second line",
|
70
|
+
[]string{
|
71
|
+
"The fourth line.",
|
72
|
+
"The fifth line.",
|
73
|
+
},
|
74
|
+
[]string{
|
75
|
+
"TT",
|
76
|
+
"hh",
|
77
|
+
"ee",
|
78
|
+
" ",
|
79
|
+
"ff",
|
80
|
+
"oi",
|
81
|
+
"uf",
|
82
|
+
"rt",
|
83
|
+
"th",
|
84
|
+
"h ",
|
85
|
+
" l",
|
86
|
+
"li",
|
87
|
+
"in",
|
88
|
+
"ne",
|
89
|
+
"e.",
|
90
|
+
".",
|
91
|
+
},
|
92
|
+
},
|
93
|
+
{
|
94
|
+
"second line longer than first line",
|
95
|
+
[]string{
|
96
|
+
"The first line.",
|
97
|
+
"The second line.",
|
98
|
+
},
|
99
|
+
[]string{
|
100
|
+
"TT",
|
101
|
+
"hh",
|
102
|
+
"ee",
|
103
|
+
" ",
|
104
|
+
"fs",
|
105
|
+
"ie",
|
106
|
+
"rc",
|
107
|
+
"so",
|
108
|
+
"tn",
|
109
|
+
" d",
|
110
|
+
"l ",
|
111
|
+
"il",
|
112
|
+
"ni",
|
113
|
+
"en",
|
114
|
+
".e",
|
115
|
+
" .",
|
116
|
+
},
|
117
|
+
},
|
118
|
+
{
|
119
|
+
"square",
|
120
|
+
[]string{
|
121
|
+
"HEART",
|
122
|
+
"EMBER",
|
123
|
+
"ABUSE",
|
124
|
+
"RESIN",
|
125
|
+
"TREND",
|
126
|
+
},
|
127
|
+
[]string{
|
128
|
+
"HEART",
|
129
|
+
"EMBER",
|
130
|
+
"ABUSE",
|
131
|
+
"RESIN",
|
132
|
+
"TREND",
|
133
|
+
},
|
134
|
+
},
|
135
|
+
{
|
136
|
+
"rectangle",
|
137
|
+
[]string{
|
138
|
+
"FRACTURE",
|
139
|
+
"OUTLINED",
|
140
|
+
"BLOOMING",
|
141
|
+
"SEPTETTE",
|
142
|
+
},
|
143
|
+
[]string{
|
144
|
+
"FOBS",
|
145
|
+
"RULE",
|
146
|
+
"ATOP",
|
147
|
+
"CLOT",
|
148
|
+
"TIME",
|
149
|
+
"UNIT",
|
150
|
+
"RENT",
|
151
|
+
"EDGE",
|
152
|
+
},
|
153
|
+
},
|
154
|
+
{
|
155
|
+
"triangle",
|
156
|
+
[]string{
|
157
|
+
"T",
|
158
|
+
"EE",
|
159
|
+
"AAA",
|
160
|
+
"SSSS",
|
161
|
+
"EEEEE",
|
162
|
+
"RRRRRR",
|
163
|
+
},
|
164
|
+
[]string{
|
165
|
+
"TEASER",
|
166
|
+
" EASER",
|
167
|
+
" ASER",
|
168
|
+
" SER",
|
169
|
+
" ER",
|
170
|
+
" R",
|
171
|
+
},
|
172
|
+
},
|
173
|
+
{
|
174
|
+
"many lines",
|
175
|
+
[]string{
|
176
|
+
"Chor. Two households, both alike in dignity,",
|
177
|
+
"In fair Verona, where we lay our scene,",
|
178
|
+
"From ancient grudge break to new mutiny,",
|
179
|
+
"Where civil blood makes civil hands unclean.",
|
180
|
+
"From forth the fatal loins of these two foes",
|
181
|
+
"A pair of star-cross'd lovers take their life;",
|
182
|
+
"Whose misadventur'd piteous overthrows",
|
183
|
+
"Doth with their death bury their parents' strife.",
|
184
|
+
"The fearful passage of their death-mark'd love,",
|
185
|
+
"And the continuance of their parents' rage,",
|
186
|
+
"Which, but their children's end, naught could remove,",
|
187
|
+
"Is now the two hours' traffic of our stage;",
|
188
|
+
"The which if you with patient ears attend,",
|
189
|
+
"What here shall miss, our toil shall strive to mend.",
|
190
|
+
},
|
191
|
+
[]string{
|
192
|
+
"CIFWFAWDTAWITW",
|
193
|
+
"hnrhr hohnhshh",
|
194
|
+
"o oeopotedi ea",
|
195
|
+
"rfmrmash cn t",
|
196
|
+
".a e ie fthow ",
|
197
|
+
" ia fr weh,whh",
|
198
|
+
"Trnco miae ie",
|
199
|
+
"w ciroitr btcr",
|
200
|
+
"oVivtfshfcuhhe",
|
201
|
+
" eeih a uote ",
|
202
|
+
"hrnl sdtln is",
|
203
|
+
"oot ttvh tttfh",
|
204
|
+
"un bhaeepihw a",
|
205
|
+
"saglernianeoyl",
|
206
|
+
"e,ro -trsui ol",
|
207
|
+
"h uofcu sarhu ",
|
208
|
+
"owddarrdan o m",
|
209
|
+
"lhg to'egccuwi",
|
210
|
+
"deemasdaeehris",
|
211
|
+
"sr als t ists",
|
212
|
+
",ebk 'phool'h,",
|
213
|
+
" reldi ffd ",
|
214
|
+
"bweso tb rtpo",
|
215
|
+
"oea ileutterau",
|
216
|
+
"t kcnoorhhnatr",
|
217
|
+
"hl isvuyee'fi ",
|
218
|
+
" atv es iisfet",
|
219
|
+
"ayoior trr ino",
|
220
|
+
"l lfsoh ecti",
|
221
|
+
"ion vedpn l",
|
222
|
+
"kuehtteieadoe ",
|
223
|
+
"erwaharrar,fas",
|
224
|
+
" nekt te rh",
|
225
|
+
"ismdsehphnnosa",
|
226
|
+
"ncuse ra-tau l",
|
227
|
+
" et tormsural",
|
228
|
+
"dniuthwea'g t ",
|
229
|
+
"iennwesnr hsts",
|
230
|
+
"g,ycoi tkrttet",
|
231
|
+
"n ,l r s'a anr",
|
232
|
+
"i ef 'dgcgdi",
|
233
|
+
"t aol eoe,v",
|
234
|
+
"y nei sl,u; e",
|
235
|
+
", .sf to l ",
|
236
|
+
" e rv d t",
|
237
|
+
" ; ie o",
|
238
|
+
" f, r ",
|
239
|
+
" e e m",
|
240
|
+
" . m e",
|
241
|
+
" o n",
|
242
|
+
" v d",
|
243
|
+
" e .",
|
244
|
+
" ,",
|
245
|
+
},
|
246
|
+
},
|
247
|
+
}
|