dev
dart 1,688 lines 20.6 KB
Raw
1 import 'package:cw_core/utils/print_verbose.dart';
2
3 const prefixLength = 3;
4
5 String swapEndianBytes(String original) {
6 if (original.length != 8) {
7 return '';
8 }
9
10 return original[6] +
11 original[7] +
12 original[4] +
13 original[5] +
14 original[2] +
15 original[3] +
16 original[0] +
17 original[1];
18 }
19
20 List<String> tructWords(List<String> wordSet) {
21 final start = 0;
22 final end = prefixLength;
23
24 return wordSet.map((word) => word.substring(start, end)).toList();
25 }
26
27 String mnemonicDecode(String seed) {
28 final n = englistWordSet.length;
29 var out = '';
30 var wlist = seed.split(' ');
31 wlist.removeLast();
32
33 for (var i = 0; i < wlist.length; i += 3) {
34 final w1 = tructWords(englistWordSet).indexOf(wlist[i].substring(0, prefixLength));
35 final w2 = tructWords(englistWordSet).indexOf(wlist[i + 1].substring(0, prefixLength));
36 final w3 = tructWords(englistWordSet).indexOf(wlist[i + 2].substring(0, prefixLength));
37
38 if (w1 == -1 || w2 == -1 || w3 == -1) {
39 printV("invalid word in mnemonic");
40 return '';
41 }
42
43 final x = w1 + n * (((n - w1) + w2) % n) + n * n * (((n - w2) + w3) % n);
44
45 if (x % n != w1) {
46 printV("Something went wrong when decoding your private key, please try again");
47 return '';
48 }
49
50 final _res = '0000000' + x.toRadixString(16);
51 final start = _res.length - 8;
52 final end = _res.length;
53 final res = _res.substring(start, end);
54
55 out += swapEndianBytes(res);
56 }
57
58 return out;
59 }
60
61 final englistWordSet = [
62 "abbey",
63 "abducts",
64 "ability",
65 "ablaze",
66 "abnormal",
67 "abort",
68 "abrasive",
69 "absorb",
70 "abyss",
71 "academy",
72 "aces",
73 "aching",
74 "acidic",
75 "acoustic",
76 "acquire",
77 "across",
78 "actress",
79 "acumen",
80 "adapt",
81 "addicted",
82 "adept",
83 "adhesive",
84 "adjust",
85 "adopt",
86 "adrenalin",
87 "adult",
88 "adventure",
89 "aerial",
90 "afar",
91 "affair",
92 "afield",
93 "afloat",
94 "afoot",
95 "afraid",
96 "after",
97 "against",
98 "agenda",
99 "aggravate",
100 "agile",
101 "aglow",
102 "agnostic",
103 "agony",
104 "agreed",
105 "ahead",
106 "aided",
107 "ailments",
108 "aimless",
109 "airport",
110 "aisle",
111 "ajar",
112 "akin",
113 "alarms",
114 "album",
115 "alchemy",
116 "alerts",
117 "algebra",
118 "alkaline",
119 "alley",
120 "almost",
121 "aloof",
122 "alpine",
123 "already",
124 "also",
125 "altitude",
126 "alumni",
127 "always",
128 "amaze",
129 "ambush",
130 "amended",
131 "amidst",
132 "ammo",
133 "amnesty",
134 "among",
135 "amply",
136 "amused",
137 "anchor",
138 "android",
139 "anecdote",
140 "angled",
141 "ankle",
142 "annoyed",
143 "answers",
144 "antics",
145 "anvil",
146 "anxiety",
147 "anybody",
148 "apart",
149 "apex",
150 "aphid",
151 "aplomb",
152 "apology",
153 "apply",
154 "apricot",
155 "aptitude",
156 "aquarium",
157 "arbitrary",
158 "archer",
159 "ardent",
160 "arena",
161 "argue",
162 "arises",
163 "army",
164 "around",
165 "arrow",
166 "arsenic",
167 "artistic",
168 "ascend",
169 "ashtray",
170 "aside",
171 "asked",
172 "asleep",
173 "aspire",
174 "assorted",
175 "asylum",
176 "athlete",
177 "atlas",
178 "atom",
179 "atrium",
180 "attire",
181 "auburn",
182 "auctions",
183 "audio",
184 "august",
185 "aunt",
186 "austere",
187 "autumn",
188 "avatar",
189 "avidly",
190 "avoid",
191 "awakened",
192 "awesome",
193 "awful",
194 "awkward",
195 "awning",
196 "awoken",
197 "axes",
198 "axis",
199 "axle",
200 "aztec",
201 "azure",
202 "baby",
203 "bacon",
204 "badge",
205 "baffles",
206 "bagpipe",
207 "bailed",
208 "bakery",
209 "balding",
210 "bamboo",
211 "banjo",
212 "baptism",
213 "basin",
214 "batch",
215 "bawled",
216 "bays",
217 "because",
218 "beer",
219 "befit",
220 "begun",
221 "behind",
222 "being",
223 "below",
224 "bemused",
225 "benches",
226 "berries",
227 "bested",
228 "betting",
229 "bevel",
230 "beware",
231 "beyond",
232 "bias",
233 "bicycle",
234 "bids",
235 "bifocals",
236 "biggest",
237 "bikini",
238 "bimonthly",
239 "binocular",
240 "biology",
241 "biplane",
242 "birth",
243 "biscuit",
244 "bite",
245 "biweekly",
246 "blender",
247 "blip",
248 "bluntly",
249 "boat",
250 "bobsled",
251 "bodies",
252 "bogeys",
253 "boil",
254 "boldly",
255 "bomb",
256 "border",
257 "boss",
258 "both",
259 "bounced",
260 "bovine",
261 "bowling",
262 "boxes",
263 "boyfriend",
264 "broken",
265 "brunt",
266 "bubble",
267 "buckets",
268 "budget",
269 "buffet",
270 "bugs",
271 "building",
272 "bulb",
273 "bumper",
274 "bunch",
275 "business",
276 "butter",
277 "buying",
278 "buzzer",
279 "bygones",
280 "byline",
281 "bypass",
282 "cabin",
283 "cactus",
284 "cadets",
285 "cafe",
286 "cage",
287 "cajun",
288 "cake",
289 "calamity",
290 "camp",
291 "candy",
292 "casket",
293 "catch",
294 "cause",
295 "cavernous",
296 "cease",
297 "cedar",
298 "ceiling",
299 "cell",
300 "cement",
301 "cent",
302 "certain",
303 "chlorine",
304 "chrome",
305 "cider",
306 "cigar",
307 "cinema",
308 "circle",
309 "cistern",
310 "citadel",
311 "civilian",
312 "claim",
313 "click",
314 "clue",
315 "coal",
316 "cobra",
317 "cocoa",
318 "code",
319 "coexist",
320 "coffee",
321 "cogs",
322 "cohesive",
323 "coils",
324 "colony",
325 "comb",
326 "cool",
327 "copy",
328 "corrode",
329 "costume",
330 "cottage",
331 "cousin",
332 "cowl",
333 "criminal",
334 "cube",
335 "cucumber",
336 "cuddled",
337 "cuffs",
338 "cuisine",
339 "cunning",
340 "cupcake",
341 "custom",
342 "cycling",
343 "cylinder",
344 "cynical",
345 "dabbing",
346 "dads",
347 "daft",
348 "dagger",
349 "daily",
350 "damp",
351 "dangerous",
352 "dapper",
353 "darted",
354 "dash",
355 "dating",
356 "dauntless",
357 "dawn",
358 "daytime",
359 "dazed",
360 "debut",
361 "decay",
362 "dedicated",
363 "deepest",
364 "deftly",
365 "degrees",
366 "dehydrate",
367 "deity",
368 "dejected",
369 "delayed",
370 "demonstrate",
371 "dented",
372 "deodorant",
373 "depth",
374 "desk",
375 "devoid",
376 "dewdrop",
377 "dexterity",
378 "dialect",
379 "dice",
380 "diet",
381 "different",
382 "digit",
383 "dilute",
384 "dime",
385 "dinner",
386 "diode",
387 "diplomat",
388 "directed",
389 "distance",
390 "ditch",
391 "divers",
392 "dizzy",
393 "doctor",
394 "dodge",
395 "does",
396 "dogs",
397 "doing",
398 "dolphin",
399 "domestic",
400 "donuts",
401 "doorway",
402 "dormant",
403 "dosage",
404 "dotted",
405 "double",
406 "dove",
407 "down",
408 "dozen",
409 "dreams",
410 "drinks",
411 "drowning",
412 "drunk",
413 "drying",
414 "dual",
415 "dubbed",
416 "duckling",
417 "dude",
418 "duets",
419 "duke",
420 "dullness",
421 "dummy",
422 "dunes",
423 "duplex",
424 "duration",
425 "dusted",
426 "duties",
427 "dwarf",
428 "dwelt",
429 "dwindling",
430 "dying",
431 "dynamite",
432 "dyslexic",
433 "each",
434 "eagle",
435 "earth",
436 "easy",
437 "eating",
438 "eavesdrop",
439 "eccentric",
440 "echo",
441 "eclipse",
442 "economics",
443 "ecstatic",
444 "eden",
445 "edgy",
446 "edited",
447 "educated",
448 "eels",
449 "efficient",
450 "eggs",
451 "egotistic",
452 "eight",
453 "either",
454 "eject",
455 "elapse",
456 "elbow",
457 "eldest",
458 "eleven",
459 "elite",
460 "elope",
461 "else",
462 "eluded",
463 "emails",
464 "ember",
465 "emerge",
466 "emit",
467 "emotion",
468 "empty",
469 "emulate",
470 "energy",
471 "enforce",
472 "enhanced",
473 "enigma",
474 "enjoy",
475 "enlist",
476 "enmity",
477 "enough",
478 "enraged",
479 "ensign",
480 "entrance",
481 "envy",
482 "epoxy",
483 "equip",
484 "erase",
485 "erected",
486 "erosion",
487 "error",
488 "eskimos",
489 "espionage",
490 "essential",
491 "estate",
492 "etched",
493 "eternal",
494 "ethics",
495 "etiquette",
496 "evaluate",
497 "evenings",
498 "evicted",
499 "evolved",
500 "examine",
501 "excess",
502 "exhale",
503 "exit",
504 "exotic",
505 "exquisite",
506 "extra",
507 "exult",
508 "fabrics",
509 "factual",
510 "fading",
511 "fainted",
512 "faked",
513 "fall",
514 "family",
515 "fancy",
516 "farming",
517 "fatal",
518 "faulty",
519 "fawns",
520 "faxed",
521 "fazed",
522 "feast",
523 "february",
524 "federal",
525 "feel",
526 "feline",
527 "females",
528 "fences",
529 "ferry",
530 "festival",
531 "fetches",
532 "fever",
533 "fewest",
534 "fiat",
535 "fibula",
536 "fictional",
537 "fidget",
538 "fierce",
539 "fifteen",
540 "fight",
541 "films",
542 "firm",
543 "fishing",
544 "fitting",
545 "five",
546 "fixate",
547 "fizzle",
548 "fleet",
549 "flippant",
550 "flying",
551 "foamy",
552 "focus",
553 "foes",
554 "foggy",
555 "foiled",
556 "folding",
557 "fonts",
558 "foolish",
559 "fossil",
560 "fountain",
561 "fowls",
562 "foxes",
563 "foyer",
564 "framed",
565 "friendly",
566 "frown",
567 "fruit",
568 "frying",
569 "fudge",
570 "fuel",
571 "fugitive",
572 "fully",
573 "fuming",
574 "fungal",
575 "furnished",
576 "fuselage",
577 "future",
578 "fuzzy",
579 "gables",
580 "gadget",
581 "gags",
582 "gained",
583 "galaxy",
584 "gambit",
585 "gang",
586 "gasp",
587 "gather",
588 "gauze",
589 "gave",
590 "gawk",
591 "gaze",
592 "gearbox",
593 "gecko",
594 "geek",
595 "gels",
596 "gemstone",
597 "general",
598 "geometry",
599 "germs",
600 "gesture",
601 "getting",
602 "geyser",
603 "ghetto",
604 "ghost",
605 "giant",
606 "giddy",
607 "gifts",
608 "gigantic",
609 "gills",
610 "gimmick",
611 "ginger",
612 "girth",
613 "giving",
614 "glass",
615 "gleeful",
616 "glide",
617 "gnaw",
618 "gnome",
619 "goat",
620 "goblet",
621 "godfather",
622 "goes",
623 "goggles",
624 "going",
625 "goldfish",
626 "gone",
627 "goodbye",
628 "gopher",
629 "gorilla",
630 "gossip",
631 "gotten",
632 "gourmet",
633 "governing",
634 "gown",
635 "greater",
636 "grunt",
637 "guarded",
638 "guest",
639 "guide",
640 "gulp",
641 "gumball",
642 "guru",
643 "gusts",
644 "gutter",
645 "guys",
646 "gymnast",
647 "gypsy",
648 "gyrate",
649 "habitat",
650 "hacksaw",
651 "haggled",
652 "hairy",
653 "hamburger",
654 "happens",
655 "hashing",
656 "hatchet",
657 "haunted",
658 "having",
659 "hawk",
660 "haystack",
661 "hazard",
662 "hectare",
663 "hedgehog",
664 "heels",
665 "hefty",
666 "height",
667 "hemlock",
668 "hence",
669 "heron",
670 "hesitate",
671 "hexagon",
672 "hickory",
673 "hiding",
674 "highway",
675 "hijack",
676 "hiker",
677 "hills",
678 "himself",
679 "hinder",
680 "hippo",
681 "hire",
682 "history",
683 "hitched",
684 "hive",
685 "hoax",
686 "hobby",
687 "hockey",
688 "hoisting",
689 "hold",
690 "honked",
691 "hookup",
692 "hope",
693 "hornet",
694 "hospital",
695 "hotel",
696 "hounded",
697 "hover",
698 "howls",
699 "hubcaps",
700 "huddle",
701 "huge",
702 "hull",
703 "humid",
704 "hunter",
705 "hurried",
706 "husband",
707 "huts",
708 "hybrid",
709 "hydrogen",
710 "hyper",
711 "iceberg",
712 "icing",
713 "icon",
714 "identity",
715 "idiom",
716 "idled",
717 "idols",
718 "igloo",
719 "ignore",
720 "iguana",
721 "illness",
722 "imagine",
723 "imbalance",
724 "imitate",
725 "impel",
726 "inactive",
727 "inbound",
728 "incur",
729 "industrial",
730 "inexact",
731 "inflamed",
732 "ingested",
733 "initiate",
734 "injury",
735 "inkling",
736 "inline",
737 "inmate",
738 "innocent",
739 "inorganic",
740 "input",
741 "inquest",
742 "inroads",
743 "insult",
744 "intended",
745 "inundate",
746 "invoke",
747 "inwardly",
748 "ionic",
749 "irate",
750 "iris",
751 "irony",
752 "irritate",
753 "island",
754 "isolated",
755 "issued",
756 "italics",
757 "itches",
758 "items",
759 "itinerary",
760 "itself",
761 "ivory",
762 "jabbed",
763 "jackets",
764 "jaded",
765 "jagged",
766 "jailed",
767 "jamming",
768 "january",
769 "jargon",
770 "jaunt",
771 "javelin",
772 "jaws",
773 "jazz",
774 "jeans",
775 "jeers",
776 "jellyfish",
777 "jeopardy",
778 "jerseys",
779 "jester",
780 "jetting",
781 "jewels",
782 "jigsaw",
783 "jingle",
784 "jittery",
785 "jive",
786 "jobs",
787 "jockey",
788 "jogger",
789 "joining",
790 "joking",
791 "jolted",
792 "jostle",
793 "journal",
794 "joyous",
795 "jubilee",
796 "judge",
797 "juggled",
798 "juicy",
799 "jukebox",
800 "july",
801 "jump",
802 "junk",
803 "jury",
804 "justice",
805 "juvenile",
806 "kangaroo",
807 "karate",
808 "keep",
809 "kennel",
810 "kept",
811 "kernels",
812 "kettle",
813 "keyboard",
814 "kickoff",
815 "kidneys",
816 "king",
817 "kiosk",
818 "kisses",
819 "kitchens",
820 "kiwi",
821 "knapsack",
822 "knee",
823 "knife",
824 "knowledge",
825 "knuckle",
826 "koala",
827 "laboratory",
828 "ladder",
829 "lagoon",
830 "lair",
831 "lakes",
832 "lamb",
833 "language",
834 "laptop",
835 "large",
836 "last",
837 "later",
838 "launching",
839 "lava",
840 "lawsuit",
841 "layout",
842 "lazy",
843 "lectures",
844 "ledge",
845 "leech",
846 "left",
847 "legion",
848 "leisure",
849 "lemon",
850 "lending",
851 "leopard",
852 "lesson",
853 "lettuce",
854 "lexicon",
855 "liar",
856 "library",
857 "licks",
858 "lids",
859 "lied",
860 "lifestyle",
861 "light",
862 "likewise",
863 "lilac",
864 "limits",
865 "linen",
866 "lion",
867 "lipstick",
868 "liquid",
869 "listen",
870 "lively",
871 "loaded",
872 "lobster",
873 "locker",
874 "lodge",
875 "lofty",
876 "logic",
877 "loincloth",
878 "long",
879 "looking",
880 "lopped",
881 "lordship",
882 "losing",
883 "lottery",
884 "loudly",
885 "love",
886 "lower",
887 "loyal",
888 "lucky",
889 "luggage",
890 "lukewarm",
891 "lullaby",
892 "lumber",
893 "lunar",
894 "lurk",
895 "lush",
896 "luxury",
897 "lymph",
898 "lynx",
899 "lyrics",
900 "macro",
901 "madness",
902 "magically",
903 "mailed",
904 "major",
905 "makeup",
906 "malady",
907 "mammal",
908 "maps",
909 "masterful",
910 "match",
911 "maul",
912 "maverick",
913 "maximum",
914 "mayor",
915 "maze",
916 "meant",
917 "mechanic",
918 "medicate",
919 "meeting",
920 "megabyte",
921 "melting",
922 "memoir",
923 "menu",
924 "merger",
925 "mesh",
926 "metro",
927 "mews",
928 "mice",
929 "midst",
930 "mighty",
931 "mime",
932 "mirror",
933 "misery",
934 "mittens",
935 "mixture",
936 "moat",
937 "mobile",
938 "mocked",
939 "mohawk",
940 "moisture",
941 "molten",
942 "moment",
943 "money",
944 "moon",
945 "mops",
946 "morsel",
947 "mostly",
948 "motherly",
949 "mouth",
950 "movement",
951 "mowing",
952 "much",
953 "muddy",
954 "muffin",
955 "mugged",
956 "mullet",
957 "mumble",
958 "mundane",
959 "muppet",
960 "mural",
961 "musical",
962 "muzzle",
963 "myriad",
964 "mystery",
965 "myth",
966 "nabbing",
967 "nagged",
968 "nail",
969 "names",
970 "nanny",
971 "napkin",
972 "narrate",
973 "nasty",
974 "natural",
975 "nautical",
976 "navy",
977 "nearby",
978 "necklace",
979 "needed",
980 "negative",
981 "neither",
982 "neon",
983 "nephew",
984 "nerves",
985 "nestle",
986 "network",
987 "neutral",
988 "never",
989 "newt",
990 "nexus",
991 "nibs",
992 "niche",
993 "niece",
994 "nifty",
995 "nightly",
996 "nimbly",
997 "nineteen",
998 "nirvana",
999 "nitrogen",
1000 "nobody",
1001 "nocturnal",
1002 "nodes",
1003 "noises",
1004 "nomad",
1005 "noodles",
1006 "northern",
1007 "nostril",
1008 "noted",
1009 "nouns",
1010 "novelty",
1011 "nowhere",
1012 "nozzle",
1013 "nuance",
1014 "nucleus",
1015 "nudged",
1016 "nugget",
1017 "nuisance",
1018 "null",
1019 "number",
1020 "nuns",
1021 "nurse",
1022 "nutshell",
1023 "nylon",
1024 "oaks",
1025 "oars",
1026 "oasis",
1027 "oatmeal",
1028 "obedient",
1029 "object",
1030 "obliged",
1031 "obnoxious",
1032 "observant",
1033 "obtains",
1034 "obvious",
1035 "occur",
1036 "ocean",
1037 "october",
1038 "odds",
1039 "odometer",
1040 "offend",
1041 "often",
1042 "oilfield",
1043 "ointment",
1044 "okay",
1045 "older",
1046 "olive",
1047 "olympics",
1048 "omega",
1049 "omission",
1050 "omnibus",
1051 "onboard",
1052 "oncoming",
1053 "oneself",
1054 "ongoing",
1055 "onion",
1056 "online",
1057 "onslaught",
1058 "onto",
1059 "onward",
1060 "oozed",
1061 "opacity",
1062 "opened",
1063 "opposite",
1064 "optical",
1065 "opus",
1066 "orange",
1067 "orbit",
1068 "orchid",
1069 "orders",
1070 "organs",
1071 "origin",
1072 "ornament",
1073 "orphans",
1074 "oscar",
1075 "ostrich",
1076 "otherwise",
1077 "otter",
1078 "ouch",
1079 "ought",
1080 "ounce",
1081 "ourselves",
1082 "oust",
1083 "outbreak",
1084 "oval",
1085 "oven",
1086 "owed",
1087 "owls",
1088 "owner",
1089 "oxidant",
1090 "oxygen",
1091 "oyster",
1092 "ozone",
1093 "pact",
1094 "paddles",
1095 "pager",
1096 "pairing",
1097 "palace",
1098 "pamphlet",
1099 "pancakes",
1100 "paper",
1101 "paradise",
1102 "pastry",
1103 "patio",
1104 "pause",
1105 "pavements",
1106 "pawnshop",
1107 "payment",
1108 "peaches",
1109 "pebbles",
1110 "peculiar",
1111 "pedantic",
1112 "peeled",
1113 "pegs",
1114 "pelican",
1115 "pencil",
1116 "people",
1117 "pepper",
1118 "perfect",
1119 "pests",
1120 "petals",
1121 "phase",
1122 "pheasants",
1123 "phone",
1124 "phrases",
1125 "physics",
1126 "piano",
1127 "picked",
1128 "pierce",
1129 "pigment",
1130 "piloted",
1131 "pimple",
1132 "pinched",
1133 "pioneer",
1134 "pipeline",
1135 "pirate",
1136 "pistons",
1137 "pitched",
1138 "pivot",
1139 "pixels",
1140 "pizza",
1141 "playful",
1142 "pledge",
1143 "pliers",
1144 "plotting",
1145 "plus",
1146 "plywood",
1147 "poaching",
1148 "pockets",
1149 "podcast",
1150 "poetry",
1151 "point",
1152 "poker",
1153 "polar",
1154 "ponies",
1155 "pool",
1156 "popular",
1157 "portents",
1158 "possible",
1159 "potato",
1160 "pouch",
1161 "poverty",
1162 "powder",
1163 "pram",
1164 "present",
1165 "pride",
1166 "problems",
1167 "pruned",
1168 "prying",
1169 "psychic",
1170 "public",
1171 "puck",
1172 "puddle",
1173 "puffin",
1174 "pulp",
1175 "pumpkins",
1176 "punch",
1177 "puppy",
1178 "purged",
1179 "push",
1180 "putty",
1181 "puzzled",
1182 "pylons",
1183 "pyramid",
1184 "python",
1185 "queen",
1186 "quick",
1187 "quote",
1188 "rabbits",
1189 "racetrack",
1190 "radar",
1191 "rafts",
1192 "rage",
1193 "railway",
1194 "raking",
1195 "rally",
1196 "ramped",
1197 "randomly",
1198 "rapid",
1199 "rarest",
1200 "rash",
1201 "rated",
1202 "ravine",
1203 "rays",
1204 "razor",
1205 "react",
1206 "rebel",
1207 "recipe",
1208 "reduce",
1209 "reef",
1210 "refer",
1211 "regular",
1212 "reheat",
1213 "reinvest",
1214 "rejoices",
1215 "rekindle",
1216 "relic",
1217 "remedy",
1218 "renting",
1219 "reorder",
1220 "repent",
1221 "request",
1222 "reruns",
1223 "rest",
1224 "return",
1225 "reunion",
1226 "revamp",
1227 "rewind",
1228 "rhino",
1229 "rhythm",
1230 "ribbon",
1231 "richly",
1232 "ridges",
1233 "rift",
1234 "rigid",
1235 "rims",
1236 "ringing",
1237 "riots",
1238 "ripped",
1239 "rising",
1240 "ritual",
1241 "river",
1242 "roared",
1243 "robot",
1244 "rockets",
1245 "rodent",
1246 "rogue",
1247 "roles",
1248 "romance",
1249 "roomy",
1250 "roped",
1251 "roster",
1252 "rotate",
1253 "rounded",
1254 "rover",
1255 "rowboat",
1256 "royal",
1257 "ruby",
1258 "rudely",
1259 "ruffled",
1260 "rugged",
1261 "ruined",
1262 "ruling",
1263 "rumble",
1264 "runway",
1265 "rural",
1266 "rustled",
1267 "ruthless",
1268 "sabotage",
1269 "sack",
1270 "sadness",
1271 "safety",
1272 "saga",
1273 "sailor",
1274 "sake",
1275 "salads",
1276 "sample",
1277 "sanity",
1278 "sapling",
1279 "sarcasm",
1280 "sash",
1281 "satin",
1282 "saucepan",
1283 "saved",
1284 "sawmill",
1285 "saxophone",
1286 "sayings",
1287 "scamper",
1288 "scenic",
1289 "school",
1290 "science",
1291 "scoop",
1292 "scrub",
1293 "scuba",
1294 "seasons",
1295 "second",
1296 "sedan",
1297 "seeded",
1298 "segments",
1299 "seismic",
1300 "selfish",
1301 "semifinal",
1302 "sensible",
1303 "september",
1304 "sequence",
1305 "serving",
1306 "session",
1307 "setup",
1308 "seventh",
1309 "sewage",
1310 "shackles",
1311 "shelter",
1312 "shipped",
1313 "shocking",
1314 "shrugged",
1315 "shuffled",
1316 "shyness",
1317 "siblings",
1318 "sickness",
1319 "sidekick",
1320 "sieve",
1321 "sifting",
1322 "sighting",
1323 "silk",
1324 "simplest",
1325 "sincerely",
1326 "sipped",
1327 "siren",
1328 "situated",
1329 "sixteen",
1330 "sizes",
1331 "skater",
1332 "skew",
1333 "skirting",
1334 "skulls",
1335 "skydive",
1336 "slackens",
1337 "sleepless",
1338 "slid",
1339 "slower",
1340 "slug",
1341 "smash",
1342 "smelting",
1343 "smidgen",
1344 "smog",
1345 "smuggled",
1346 "snake",
1347 "sneeze",
1348 "sniff",
1349 "snout",
1350 "snug",
1351 "soapy",
1352 "sober",
1353 "soccer",
1354 "soda",
1355 "software",
1356 "soggy",
1357 "soil",
1358 "solved",
1359 "somewhere",
1360 "sonic",
1361 "soothe",
1362 "soprano",
1363 "sorry",
1364 "southern",
1365 "sovereign",
1366 "sowed",
1367 "soya",
1368 "space",
1369 "speedy",
1370 "sphere",
1371 "spiders",
1372 "splendid",
1373 "spout",
1374 "sprig",
1375 "spud",
1376 "spying",
1377 "square",
1378 "stacking",
1379 "stellar",
1380 "stick",
1381 "stockpile",
1382 "strained",
1383 "stunning",
1384 "stylishly",
1385 "subtly",
1386 "succeed",
1387 "suddenly",
1388 "suede",
1389 "suffice",
1390 "sugar",
1391 "suitcase",
1392 "sulking",
1393 "summon",
1394 "sunken",
1395 "superior",
1396 "surfer",
1397 "sushi",
1398 "suture",
1399 "swagger",
1400 "swept",
1401 "swiftly",
1402 "sword",
1403 "swung",
1404 "syllabus",
1405 "symptoms",
1406 "syndrome",
1407 "syringe",
1408 "system",
1409 "taboo",
1410 "tacit",
1411 "tadpoles",
1412 "tagged",
1413 "tail",
1414 "taken",
1415 "talent",
1416 "tamper",
1417 "tanks",
1418 "tapestry",
1419 "tarnished",
1420 "tasked",
1421 "tattoo",
1422 "taunts",
1423 "tavern",
1424 "tawny",
1425 "taxi",
1426 "teardrop",
1427 "technical",
1428 "tedious",
1429 "teeming",
1430 "tell",
1431 "template",
1432 "tender",
1433 "tepid",
1434 "tequila",
1435 "terminal",
1436 "testing",
1437 "tether",
1438 "textbook",
1439 "thaw",
1440 "theatrics",
1441 "thirsty",
1442 "thorn",
1443 "threaten",
1444 "thumbs",
1445 "thwart",
1446 "ticket",
1447 "tidy",
1448 "tiers",
1449 "tiger",
1450 "tilt",
1451 "timber",
1452 "tinted",
1453 "tipsy",
1454 "tirade",
1455 "tissue",
1456 "titans",
1457 "toaster",
1458 "tobacco",
1459 "today",
1460 "toenail",
1461 "toffee",
1462 "together",
1463 "toilet",
1464 "token",
1465 "tolerant",
1466 "tomorrow",
1467 "tonic",
1468 "toolbox",
1469 "topic",
1470 "torch",
1471 "tossed",
1472 "total",
1473 "touchy",
1474 "towel",
1475 "toxic",
1476 "toyed",
1477 "trash",
1478 "trendy",
1479 "tribal",
1480 "trolling",
1481 "truth",
1482 "trying",
1483 "tsunami",
1484 "tubes",
1485 "tucks",
1486 "tudor",
1487 "tuesday",
1488 "tufts",
1489 "tugs",
1490 "tuition",
1491 "tulips",
1492 "tumbling",
1493 "tunnel",
1494 "turnip",
1495 "tusks",
1496 "tutor",
1497 "tuxedo",
1498 "twang",
1499 "tweezers",
1500 "twice",
1501 "twofold",
1502 "tycoon",
1503 "typist",
1504 "tyrant",
1505 "ugly",
1506 "ulcers",
1507 "ultimate",
1508 "umbrella",
1509 "umpire",
1510 "unafraid",
1511 "unbending",
1512 "uncle",
1513 "under",
1514 "uneven",
1515 "unfit",
1516 "ungainly",
1517 "unhappy",
1518 "union",
1519 "unjustly",
1520 "unknown",
1521 "unlikely",
1522 "unmask",
1523 "unnoticed",
1524 "unopened",
1525 "unplugs",
1526 "unquoted",
1527 "unrest",
1528 "unsafe",
1529 "until",
1530 "unusual",
1531 "unveil",
1532 "unwind",
1533 "unzip",
1534 "upbeat",
1535 "upcoming",
1536 "update",
1537 "upgrade",
1538 "uphill",
1539 "upkeep",
1540 "upload",
1541 "upon",
1542 "upper",
1543 "upright",
1544 "upstairs",
1545 "uptight",
1546 "upwards",
1547 "urban",
1548 "urchins",
1549 "urgent",
1550 "usage",
1551 "useful",
1552 "usher",
1553 "using",
1554 "usual",
1555 "utensils",
1556 "utility",
1557 "utmost",
1558 "utopia",
1559 "uttered",
1560 "vacation",
1561 "vague",
1562 "vain",
1563 "value",
1564 "vampire",
1565 "vane",
1566 "vapidly",
1567 "vary",
1568 "vastness",
1569 "vats",
1570 "vaults",
1571 "vector",
1572 "veered",
1573 "vegan",
1574 "vehicle",
1575 "vein",
1576 "velvet",
1577 "venomous",
1578 "verification",
1579 "vessel",
1580 "veteran",
1581 "vexed",
1582 "vials",
1583 "vibrate",
1584 "victim",
1585 "video",
1586 "viewpoint",
1587 "vigilant",
1588 "viking",
1589 "village",
1590 "vinegar",
1591 "violin",
1592 "vipers",
1593 "virtual",
1594 "visited",
1595 "vitals",
1596 "vivid",
1597 "vixen",
1598 "vocal",
1599 "vogue",
1600 "voice",
1601 "volcano",
1602 "vortex",
1603 "voted",
1604 "voucher",
1605 "vowels",
1606 "voyage",
1607 "vulture",
1608 "wade",
1609 "waffle",
1610 "wagtail",
1611 "waist",
1612 "waking",
1613 "wallets",
1614 "wanted",
1615 "warped",
1616 "washing",
1617 "water",
1618 "waveform",
1619 "waxing",
1620 "wayside",
1621 "weavers",
1622 "website",
1623 "wedge",
1624 "weekday",
1625 "weird",
1626 "welders",
1627 "went",
1628 "wept",
1629 "were",
1630 "western",
1631 "wetsuit",
1632 "whale",
1633 "when",
1634 "whipped",
1635 "whole",
1636 "wickets",
1637 "width",
1638 "wield",
1639 "wife",
1640 "wiggle",
1641 "wildly",
1642 "winter",
1643 "wipeout",
1644 "wiring",
1645 "wise",
1646 "withdrawn",
1647 "wives",
1648 "wizard",
1649 "wobbly",
1650 "woes",
1651 "woken",
1652 "wolf",
1653 "womanly",
1654 "wonders",
1655 "woozy",
1656 "worry",
1657 "wounded",
1658 "woven",
1659 "wrap",
1660 "wrist",
1661 "wrong",
1662 "yacht",
1663 "yahoo",
1664 "yanks",
1665 "yard",
1666 "yawning",
1667 "yearbook",
1668 "yellow",
1669 "yesterday",
1670 "yeti",
1671 "yields",
1672 "yodel",
1673 "yoga",
1674 "younger",
1675 "yoyo",
1676 "zapped",
1677 "zeal",
1678 "zebra",
1679 "zero",
1680 "zesty",
1681 "zigzags",
1682 "zinger",
1683 "zippers",
1684 "zodiac",
1685 "zombie",
1686 "zones",
1687 "zoom"
1688 ];