* [NonGNU ELPA] New package: dw.el
@ 2021-03-30 21:13 D
2021-03-31 6:38 ` Jean Louis
2021-04-01 21:29 ` Stefan Monnier
0 siblings, 2 replies; 16+ messages in thread
From: D @ 2021-03-30 21:13 UTC (permalink / raw)
To: emacs-devel
[-- Attachment #1: Type: text/plain, Size: 1308 bytes --]
Hello,
I would like to submit this package for inclusion in NonGNU ELPA.
A short description of the package (attached) is provided below.
The git repository can be found here [1].
This package implements Arnold G. Reinhold's diceware method [2] for Emacs.
The following short description of the diceware method is taken from
the official website:
> Diceware is a method for picking passphrases that uses ordinary dice
> to select words at random from a special list called the Diceware Word
> List. Each word in the list is preceded by a five digit number. All
> the digits are between one and six, allowing you to use the outcomes
> of five dice rolls to select a word from the list.
So in essence, the diceware method serves as a straightforward way to
generate (easy to remember) passphrases using a word list and one or
more dice. My package merely automates away the tedious lookup
process, serving as a convenience. Word lists (as well as physical
dice) need to be provided by the user. How to obtain such word lists
is explained in the commentary section of the package (download links
are provided, together with a short instruction for where the package
expects the files to be).
[1] https://github.com/integral-dw/dw-passphrase-generator
[2] http://world.std.com/~reinhold/diceware.html
[-- Attachment #2: dw.el --]
[-- Type: text/x-emacs-lisp, Size: 36537 bytes --]
;;; dw.el --- Diceware passphrase generation commands -*- lexical-binding: t; -*-
;; Copyright (C) 2017-2020 D. Williams
;; Author: D. Williams <d.williams@posteo.net>
;; Maintainer: D. Williams <d.williams@posteo.net>
;; Keywords: convenience, games
;; Version: 1.0.2
;; Homepage: https://github.com/integral-dw/dw-passphrase-generator
;; Package-Requires: ((emacs "25.1"))
;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with this program. If not, see <https://www.gnu.org/licenses/>.
;;; Commentary:
;; This package implements Arnold G. Reinhold's diceware method for
;; Emacs. For more information regarding diceware, see
;; http://world.std.com/~reinhold/diceware.html
;; Diceware (C) 1995-2020 Arnold G. Reinhold
;; IMPORTANT: Please read the below section to know how to use this
;; package, as it requires additional files *NOT* included in the base
;; install. Apart from the listed requirements, this package requires (ideally)
;; one or more casino-grade dice for true random number generation.
;; Basic setup:
;;
;; This package requires a so called wordlist to function as intended.
;; This file serves as the pool of random words from which your secure
;; passphrase is generated. Put a wordlist for passphrase generation
;; into the directory specified by ‘dw-directory’. It will be
;; automatically generated the first time this package is loaded. If
;; you don't already have a wordlist, you can find two common, English
;; wordlists below:
;; https://www.eff.org/files/2016/07/18/eff_large_wordlist.txt
;; http://world.std.com/%7Ereinhold/diceware.wordlist.asc
;; The former generates passphrases with long, common words while the
;; latter favors short words and letter combinations, which may be
;; harder to remember but quicker to type. You can find wordlists
;; for many other languages here:
;; http://world.std.com/~reinhold/diceware.html#Diceware%20in%20Other%20Languages|outline
;; Basic usage:
;;
;; 1) Choose a buffer to write your passphrase in (temporarily).
;; 2) Roll your dice, reading them in some consistent way (e.g. left to
;; right) every time, and typing them neatly separated in groups of
;; five. You can separate them using any character matched by
;; ‘dw-separator-regexp’ (whitespace by default). For example, if you
;; rolled ⚄⚂⚀⚅⚅, type "53166". You will need five times as many die
;; rolls as you want words in your passphrase (six being a decent
;; amount for normal passphrases).
;; 3) Mark the region where you wrote down your sequence of rolls and
;; use the command ‘dw-passgen-region’. You may need to choose a
;; wordlist depending on your setup. See the documentation for
;; ‘dw-named-wordlists’ below for how to skip this step and set up
;; a default wordlist.
;; This package provides the following interactive commands:
;;
;; * dw-passgen-region
;;
;; The all-in-one interactive passphrase generation command, and
;; most likely everything you'll ever need from this package. Just
;; mark the region containing your written down die rolls and run
;; the command.
;; * dw-set-wordlist
;;
;; Manually set a wordlist without invoking ‘dw-passgen-region’,
;; and regardless of whether a wordlist has been set for the
;; current buffer before.
;; Final notes:
;; The package itself is not at all required to create diceware
;; passphrases, but automates the table lookup bit of it.
;;; Code:
(require 'seq)
(require 'wid-edit)
(eval-when-compile
(require 'cl-lib))
(defgroup dw nil
"Generate diceware passphrases."
:group 'convenience)
;;; Package-specific errors
;; The specifics and conventions are only relevant if you are
;; interested in writing code depending on this package. In that
;; case, see the README for a complete documentation of errors and
;; their conventions.
;; Input Errors
(define-error 'dw-bad-roll
"Invalid die roll"
'user-error)
(define-error 'dw-incomplete-roll
"Not enough die rolls for a complete word"
'dw-bad-roll)
(define-error 'dw-too-short-passphrase
"Too few words for a secure passphrase"
'dw-bad-roll)
;; File Errors
(define-error 'dw-bad-wordlist
"Broken wordlist")
;; Misc RNG Errors
(define-error 'dw-incomplete-int
"Not enough die rolls for the given integer range"
'dw-bad-roll)
(define-error 'dw-overflow
"Too many consecutive die rolls, not implemented")
\f
;;; Package-specific warnings
(defun dw--warn-short-words ()
"Report a warning for passphrases with too many short words."
(delay-warning '(dw too-many-short-words)
(concat "The generated passphrase has many short words. "
"Consider discarding it.")))
(defun dw--warn-bad-random-characters ()
"Report a warning for incomplete character lookup strings.
This warning is triggered if an entry in ‘dw-random-characters’
unexpectedly cannot assign a die roll to a character, which is
only allowed for entries with a non-nil LAX value."
(delay-warning '(dw bad-dw-random-characters)
(concat "There were unused rolls. "
"‘dw-random-characters’ is probably misconfigured.")))
\f
;;; Constants
(defconst dw--dice-number 5
"Number of die rolls needed for one word in a passphrase.")
(defconst dw--conversion-limit 10
"Length of the largest string that allows direct integer conversion.
This constant also governs the maximum number of dice usable to
generate a random integer with ‘dw-generate-ranint’.")
(defconst dw--wordlist-length (expt 6 dw--dice-number)
"Number of entries needed for a valid wordlist.")
\f
;;; User-facing variables
;; Core API
;;;###autoload
(put 'dw-salt 'risky-local-variable t)
(defcustom dw-salt nil
"Unique, personal string to append to passphrases.
Salt is a string of non-secret data to append to your
passphrases. It serves to prevent dictionary attacks, and makes
it harder for potential attackers to brute force multiple keys at
once.
While it is not a good idea to use the same passphrase for
everything, it is best to use the same salt or everything, as it
frees precious mental real estate. You can use a phone number, a
random string of characters, or anything else for this purpose,
as long as it is sufficiently unique.
It is also a great way to fulfill those pesky demands of some
services to have a special character, a number and an uppercase
character in it without adding mental overhead.
If non-nil, interactive commands should ask whether they should
append the salt, depending on the value of ‘dw-use-salt’.
Appended salt is separated from the remaining passphrase the same
way individual words are, using ‘dw-passphrase-separator’."
:type '(choice :format "Personal salt: %[Value Menu%] %v"
(const :tag "none" nil)
(string :tag "custom string"
:format "%v"))
:risky t
:group 'dw)
(defcustom dw-use-salt t
"Non-nil means to (conditionally) append ‘dw-salt’ to generated passphrases.
If set to the symbol ‘prompt’, interactive commands will prompt
the user whether they should append salt. Any other non-nil
value is equivalent to t, meaning salt is appended automatically.
Appended salt is separated from the remaining passphrase the same
way individual words are, using ‘dw-passphrase-separator’.
This variable has no effect if ‘dw-salt’ is nil."
:type '(choice :format "Append salt interactively: %[Value Menu%] %v"
(const :tag "always" t)
(const :tag "ask every time" 'prompt)
(const :tag "never" nil))
:group 'dw)
(defcustom dw-separator-regexp "\\s-"
"Regular expression to match a single separator character.
Essentially, this regexp defines which characters (apart from the
numerals 1 to 6) are valid to appear in die roll strings.
Allowing separators serves as a convenience for the user to be
able to keep long sequences of die rolls readable on input."
:type 'regexp
:group 'dw)
(defcustom dw-minimum-word-count 5
"Minimum length of a good passphrase (measured in words rolled).
Generating any passphrase shorter than this value will signal an
error by default.
It is generally a bad idea to set this value any lower than 5, as
permitting any shorter passphrase renders diceware passphrase
generation pointless. It may however be reasonable to set it to
6, the commonly recommended minimum passphrase length."
:type '(choice
:format "Minimum security level: %[Value Menu%] %v"
(const :format "%t (%v words)"
:tag "lax" 5)
(const :format "%t (%v words)"
:tag "moderate" 6)
(const :format "%t (%v words)"
:tag "high" 7)
(const :format "%t (%v words)"
:tag "too high to justify using this package" 8)
(const :format "%t (%v words)"
:tag "random essay generator" 9))
:group 'dw)
;; Extended passphrase generation
;;;###autoload
(put 'dw-random-characters 'risky-local-variable t)
(defcustom dw-random-characters
'((special-characters "945678^~!#$%=&*()-}+[]\\{>:;\"'<3?/012")
(numerals "0123456789" . t)
(alphanumeric-uppercase "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")
(alphanumeric-lowercase "abcdefghijklmnopqrstuvwxyz0123456789"))
"Alist of strings to randomly choose characters from.
Each element should be a dotted list of the form
\(NAME STRING . LAX)
where NAME (a symbol) is a descriptive name for the STRING’s
contents. ‘dw-ranstring-region’ will prompt for these
names (with completion). Choosing the symbol ‘default’ as a name
causes the particular string to always be the default value when
prompted.
LAX, if non-nil, does not enforce the length of STRING to be a
power of 6. As a consequence, some rolls will fail to produce a
result.
Remark: The number of die rolls needed to generate a single
character increases logarithmically with the number of
characters: Less than 7 characters require 1 die per roll, less
than 36 two, etc. Some character numbers may produce a high
failure rate (in particular values slightly above 6^n/2), which
can double the (average) number of dice per successfully generated
character."
:type '(alist
:key-type (symbol :format "Name: %v" :value default)
:value-type
(cons :validate dw--validate-ran-chars
(string :format "Available characters: %v")
(choice :format "Match die rolls: %[Toggle%] %v"
(const :tag "lax" t)
(const :tag "strict" nil))))
:risky t
:group 'dw)
(defun dw--validate-ran-chars (cons-widget)
"Signal an error if string in CONS-WIDGET is unsafe to use."
(or (dw--validate-ran-string-length cons-widget)
(dw--validate-ran-string-uniq cons-widget)))
(defun dw--validate-ran-string-length (cons-widget)
"Check that the car of CONS-WIDGET is a 6^N long string.
If the cdr (LAX) is non-nil, return nil instead.
Note for the technically inclined: In principle it may as well be
okay for non-lax (\"strict\") strings to *divide* a power of 6
instead of actually *being* a power of 6. However, the number of
die rolls needed per character only increases on average for all
reasonable number ranges."
(let* ((current-cons (widget-value cons-widget))
(str-length (length (car current-cons)))
(lax (cdr current-cons)))
(cond
(lax nil)
((/= str-length (expt 6 (dw-required-dice str-length)))
(widget-put cons-widget
:error "Non-lax strings must be a power of 6 long")
cons-widget))))
(defun dw--validate-ran-string-uniq (cons-widget)
"Check that the string in the car of CONS-WIDGET has no repeating chars."
(let* ((current-cons (widget-value cons-widget))
(ran-string (car current-cons))
(minimized-string (concat (seq-uniq ran-string))))
(unless (string= ran-string minimized-string)
(setf (car current-cons) minimized-string)
(widget-put cons-widget
:error "Characters must be unique in string")
(widget-value-set cons-widget current-cons)
(widget-setup)
cons-widget)))
;; Interactive use
;;;###autoload
(put 'dw-directory 'risky-local-variable t)
(defcustom dw-directory (locate-user-emacs-file "diceware")
"Default directory for diceware wordlists for interactive functions.
If this directory is not present, it is automatically generated."
:type 'directory
:risky t
:set (lambda (symbol value)
(condition-case nil
(make-directory value)
(file-already-exists))
(set-default symbol value))
:group 'dw)
(defcustom dw-named-wordlists nil
"Alist of personal wordlists for interactive use.
Each element is a dotted list of the form
\(NAME FILE . CODING)
where NAME is the wordlist’s name used interactively (a symbol),
FILE is a string containing the actual filename of the wordlist
and CODING is the encoding of the file, nil being equivalent to
`utf-8'.
NAME is what interactive commands will prompt for to access a
particular wordlist.
If a wordlist has the special name ‘default’, interactive
commands will use it by default instead of prompting. Similarly,
if the alist has only one entry, that wordlist is treated as the
default wordlist, regardless of the name.
FILE, if relative, is relative to ‘dw-directory’."
:type '(alist
:key-type (symbol :format "Wordlist name: %v" :value default)
:value-type
(cons (string :format "Wordlist file: %v")
(choice
:format "Coding: %[Value Menu%] %v"
(const :tag "Default (‘utf-8’)" nil)
(coding-system
:tag "Other coding system")))) ;; TODO: validate string argument
:group 'dw)
(defcustom dw-passphrase-separator "\s"
"String inserted between words in interactively generated passphrases.
It is generally not recommended to drop separators (using the
empty string), but possible. Either way, it is best to decide
for one way to do it and stick to that."
:type '(string :value "\s")
:group 'dw)
(defcustom dw-capitalize-words nil
"Non-nil means capitalize words in interactively generated passphrases."
:type '(boolean)
:group 'dw)
\f
;;; Internal variables
(defvar dw-current-wordlist nil
"Current internalized wordlist for interactive use.
This variable is used by ‘dw-passgen-region’ to access and store
the most recently used wordlist.
Do not set this variable directly; it is automatically
initialized by ‘dw-passgen-region’. If you want to initialize or
manipulate it from within an interactive command, use
‘dw-set-wordlist’. If you want to set a default wordlist, see
‘dw-named-wordlists’.
If interactive commands require a wordlist, they should use the
value of this variable. If they use a different wordlist
generated by ‘dw-build-alist’, they should set this variable")
\f
;;; Internal predicates
(defun dw--valid-rolls-p (string)
"Return t if STRING is a nonempty sequence of digits from 1 to 6."
(and (stringp string)
(not (seq-empty-p string))
(not (dw--invalid-chars-list string))))
\f
;;; Internal string processing
(defun dw--strip-separators (string)
"Remove separator chars from STRING.
Which chars constitute as such is governed by
‘dw-separator-regexp’."
(replace-regexp-in-string
dw-separator-regexp "" string))
(defun dw--invalid-chars-list (string)
"Return a list of invalid die rolls in STRING.
The resulting list contains all characters that are not digits
from 1 to 6."
(seq-difference string "123456"))
(defun dw--internalize-rolls (string)
"Convert a STRING of die rolls to a base-6 int."
(string-to-number
(replace-regexp-in-string "6" "0" string) 6))
;; Sadly, ‘number-to-string’ has no optional BASE argument.
(defun dw--format-die-rolls (int)
"Convert internally used INT to corresponding string of die rolls."
(when (>= int 0)
(let (digits)
(dotimes (_ dw--dice-number)
(push (% int 6) digits)
(setq int (/ int 6)))
(replace-regexp-in-string "0" "6"
(mapconcat #'number-to-string digits "")))))
(defun dw--parse-string (user-string &optional noerror)
"Parse a USER-STRING of die rolls.
USER-STRING is stripped of junk chars specified by
‘dw-separator-regexp’ and then converted into a list of keys for an
internalized diceware wordlist (an alist).
If the optional second argument NOERROR is non-nil, then return
nil for invalid strings instead of signaling an error."
(let* ((string (dw--strip-separators user-string))
(total-rolls (length string))
error-data)
(cond
((not (dw--valid-rolls-p string))
(setq error-data
(if (seq-empty-p string)
`(dw-incomplete-roll 0 ,dw--dice-number)
`(dw-bad-roll
,(char-to-string
(car (dw--invalid-chars-list string)))))))
((/= (% total-rolls dw--dice-number) 0)
(setq error-data
`(dw-incomplete-roll
,total-rolls
,(* dw--dice-number
(ceiling total-rolls dw--dice-number))))))
(cond ((and error-data noerror) nil)
(error-data
(signal (car error-data) (cdr error-data)))
(t (mapcar #'dw--internalize-rolls
(seq-partition string dw--dice-number))))))
\f
;;; Internal wordlist parsing
;; This function is taken from rejeep’s f.el.
(defun dw--read (path &optional coding)
"Read text file located at PATH, using CODING.
Return the decoded text as multibyte string.
CODING defaults to ‘utf-8’."
(decode-coding-string
(with-temp-buffer
(set-buffer-multibyte nil)
(setq buffer-file-coding-system 'binary)
(insert-file-contents-literally path)
(buffer-substring-no-properties (point-min) (point-max)))
(or coding 'utf-8)))
(defun dw--read-wordlist (path &optional coding)
"Internalize plain text wordlist at PATH using CODING.
Return the resulting intermediate list for further processing.
CODING defaults to ‘utf-8’.
Each non-empty line of the file should be of the form
ROLL WORD
where ROLL is a sequence of five digits from 1 to 6, representing
one of the 6^5 (7776) possible die rolls. WORD should be a
sequence of (non-whitespace) characters to be used in the
passphrase for that particular ROLL.
Each element of the returned list is a list of strings
corresponding to one (non-empty) line in the file. Each line is
in return segmented at every space and horizontal tab.
This function is not supposed to be used by itself. In order to
access a diceware wordlist from a file, see `dw-build-alist'."
(let ((dice-table (dw--read path coding)))
(mapcar (lambda (x) (split-string x "[ \t]+" t "[ \t]+"))
(split-string dice-table "[\f\r\n\v]+" t))))
(defun dw--parse-list (read-list)
"Parse raw construct READ-LIST, forming a proper diceware alist.
READ-LIST is sanitized before conversion, so that junk entries
are ignored.
This function is not supposed to be used by itself. In order to
access a diceware wordlist from a file, see `dw-build-alist'."
(mapcar (lambda (x)
(cons (dw--internalize-rolls (elt x 0))
(elt x 1)))
(seq-filter
(lambda (x) (and (dw--valid-rolls-p (car x))
(= (length (car x)) dw--dice-number)))
read-list)))
\f
;;; Checkers
(defun dw--check-passlist (passlist &optional noerror)
"Check PASSLIST for issues and return it.
If the optional second argument NOERROR is non-nil, then return
nil instead of raising an error for an unusable PASSLIST."
(let ((word-count (length passlist))
(pass-length (length (apply #'concat passlist)))
error-data)
(cond
((< word-count dw-minimum-word-count)
(setq error-data
`(dw-too-short-passphrase ,word-count ,dw-minimum-word-count)))
;; Taking the estimate from the website (that trying to
;; brute-force the wordlist should be more efficient than the
;; easier to come up with method of trying every passphrase up to
;; the actual length L of the passphrase) yields the following
;; estimate (for N words in a phrase and an alphabet of size A):
;;
;; 6^(5N) ≤ 1 + A^1 + A^2 + ... + A^(L-1) = (A^L - 1)/(A - 1)
;;
;; Which (approximately) simplifies to
;;
;; L ≥ 5N/log6(A) + 1.
;;
;; Assuming A=27 (latin alphabet + SPC), you get the below. This
;; is slightly more strict for 8 words than the homepage's
;; recommendation, but I can reason this one more confidently.
((< pass-length (round (1+ (* word-count 2.72))))
(dw--warn-short-words)))
(cond ((and error-data noerror)
nil)
(error-data
(signal (car error-data) (cdr error-data)))
(t
passlist))))
(defun dw--check-wordlist (alist &optional noerror)
"Check internalized wordlist ALIST for issues and return it.
If the optional second argument NOERROR is non-nil, then return
nil instead of raising an error for an unusable ALIST."
(let ((wordlist-length (length alist))
(required-keys (number-sequence 0 (1- dw--wordlist-length)))
(key-list (mapcar #'car alist))
missing-keys
error-data)
(cond
((< wordlist-length dw--wordlist-length)
(setq error-data `(dw-bad-wordlist
(< ,wordlist-length ,dw--wordlist-length))))
((> wordlist-length dw--wordlist-length)
(setq error-data `(dw-bad-wordlist
(> ,wordlist-length ,dw--wordlist-length))))
((not (equal key-list required-keys))
(setq missing-keys
(seq-filter #'identity
(cl-mapcar (lambda (x y) (and (/= x y) x))
required-keys
key-list)))
(setq error-data `(dw-bad-wordlist
,(dw--format-die-rolls (car missing-keys))))))
(cond ((and error-data noerror)
nil)
(error-data
(signal (car error-data) (cdr error-data)))
(t
alist))))
\f
;;; Basic public API
(defun dw-build-alist (path &optional default-dir coding noerror)
"Read a plain text wordlist at PATH and convert to an internalized alist.
Each non-empty line of the file should be of the form
ROLL WORD
where ROLL is a sequence of five digits from 1 to 6, representing
one of the 6^5 (7776) possible die rolls. WORD should be a
sequence of (non-whitespace) characters to be used in the
passphrase for that particular ROLL. It must be separated from
ROLL by at least one space or tab character. Both may be
preceded/followed by an arbitrary amount of whitespace.
Empty lines (as well as lines with invalid contents) are treated
as junk and ignored.
DEFAULT-DIR, if non-nil, is the directory to start with if PATH
is relative. It defaults to the current buffer’s value of
‘default-directory’.
CODING, if non-nil, is the coding system used for the wordlist.
It defaults to ‘utf-8’.
If the optional fourth argument NOERROR is non-nil, then return
nil instead of raising an error in case of the wordlist being
either invalid or incomplete."
(let ((dice-file (expand-file-name path default-dir)))
(dw--check-wordlist
(sort (dw--parse-list
(dw--read-wordlist dice-file coding))
(lambda (x y) (< (car x) (car y))))
noerror)))
(defun dw-generate-passlist (string alist &optional noerror)
"Generate a list of words from a STRING of die rolls.
ALIST should be an internalized wordlist generated by
‘dw-build-alist’. The result is a list of words forming the
actual passphrase.
If the optional third argument NOERROR is non-nil, then return
nil instead of raising an error in case of STRING being either
invalid or incomplete."
(dw--check-passlist
(mapcar (lambda (x) (cdr (assq x alist)))
(dw--parse-string string noerror))
noerror))
(defun dw-generate-passphrase (string alist &optional separator strfun)
"Convert a STRING of die rolls to a complete passphrase.
STRING should be a sequence of die rolls meant for passphrase
generation. ALIST should be an internalized wordlist as
generated by ‘dw-build-alist’.
Words in the passphrase will be separated by the optional
argument SEPARATOR, if non-nil. SEPARATOR should be a string.
Its default value is \"\\s\".
If the optional fourth argument STRFUN is non-nil, apply STRFUN
to all words in the passphrase. It may be any kind of string
function of one variable."
(let ((passlist (dw-generate-passlist string alist))
(separator (or separator "\s"))
(wordfun (or strfun #'identity)))
(mapconcat wordfun passlist separator)))
\f
;;; Additional public functions
(defun dw-required-dice (n)
"Minimum number of dice to randomly choose between N possible outcomes."
(ceiling (log n 6)))
(defun dw-generate-ranint (string maxint &optional noerror)
"Convert STRING of die rolls to a random int from 0 to MAXINT.
STRING is expected to be a sequence of die rolls.
MAXINT is not included in the random number range.
If STRING does not produce a valid value, return nil.
STRING must contain at least log6(MAXINT) die rolls, rounded up.
It may contain more, however (up to a machine-dependent limit).
Unless MAXINT is a number of the form 2^a * 3^b , there is no way
to map all outcomes N dice can produce evenly and exhaustively at
the same time. Hence, on occasion random number generation will
fail, producing nil as an outcome. Since the failure chance can
reach up to 50%, it is recommended to choose an appropriate
MAXINT.
If the optional third argument NOERROR is non-nil, then return
nil instead of raising an error in case of STRING."
(let* ((string (dw--strip-separators string))
(dice-num (length string))
(min-dice (dw-required-dice maxint))
random-int
error-data)
(cond ((< dice-num min-dice)
(setq error-data
`(dw-incomplete-int ,dice-num ,min-dice)))
((not (dw--valid-rolls-p string))
(setq error-data
`(dw-bad-roll
,(char-to-string (car (dw--invalid-chars-list string))))))
;; Does the entire dice string fit into a fixnum int?
((< dice-num dw--conversion-limit)
(setq random-int (dw--internalize-rolls string))
(if (< random-int (% (expt 6 dice-num) maxint))
(setq random-int nil)
(setq random-int (% random-int maxint))))
;; With bignums in Emacs 27.1, I could in principle rely on
;; arbitrary integer arithmetic. However, using bignums
;; for this is immensely wasteful, especially since this can
;; easily be done with fixnums using simple modulo
;; arithmetic. However, it's a feature not worth needlessly
;; implementing, especially since this package has a history
;; of accumulating needless complexity. I'll support it
;; once someone opens an issue.
(t
(setq error-data
`(dw-overflow ,dice-num ,dw--conversion-limit))))
(when (and error-data (not noerror))
(signal (car error-data) (cdr error-data)))
random-int))
\f
;;; Private functions for misc. interactive commands
(defvar dw--wordlist-history nil
"Minibuffer history for previously used wordlists.")
(defun dw--prompt-wordlist ()
"Read a named wordlist in the minibuffer, with completion.
Returns the name of the wordlist as a string."
(let* ((names (mapcar #'car dw-named-wordlists))
(default-list (if (memq 'default names)
"default"
(or (car dw--wordlist-history)
(symbol-name (car names)))))
symbol-string)
(setq symbol-string
(completing-read
;; REVIEW: should it be "(default symbol-name)" or
;; "(default ‘symbol-name’)"?
(format "Wordlist (default ‘%s’): " default-list)
names nil t nil 'dw--wordlist-history default-list))
(add-to-history 'dw--wordlist-history symbol-string)
(intern symbol-string)))
(defun dw--prompt-wordlist-file ()
"Read a wordlist filename, with completion.
Return a mockup entry of ‘dw-named-wordlists’ for internal
processing."
(let ((file-name
(read-file-name "Read wordlist file: " dw-directory dw-directory t)))
(unless (file-regular-p file-name)
(signal 'dw-bad-wordlist
(list 'file-regular-p file-name)))
(list 'ad-hoc file-name)))
(defun dw--generate-charlist (dice-string possible-chars)
"Convert DICE-STRING into a random sequence of POSSIBLE-CHARS.
Return a cons of the form
\(STRING . RNG-FAILURES)
where STRING is the converted random char sequence, and
RNG-FAILURES is the number of failed character generations."
(let* ((char-num (length possible-chars))
(rng-failures 0)
rand-pos
rand-chars)
;; Convert die rolls to characters.
(dolist (roll (seq-partition dice-string (dw-required-dice char-num)))
(setq rand-pos
(condition-case error
(dw-generate-ranint roll char-num)
;; Inform the user if the number of rolls does not match the
;; expected format.
(dw-incomplete-int
(message "%s (%i/%i)."
"Region is missing die rolls for one additional character"
(elt error 1) (elt error 2))
;; This edge case is not the RNG's fault
t)))
(cond
((integerp rand-pos)
(push (elt possible-chars rand-pos) rand-chars))
((not rand-pos)
(setq rng-failures (1+ rng-failures)))))
(cons (concat (nreverse rand-chars))
rng-failures)))
(defun dw--append-salt-maybe (passphrase)
"Conditionally append ‘dw-salt’ to PASSPHRASE.
Whether this happens automatically or requires user input is
governed by ‘dw-use-salt’, which see."
(if dw-salt
(cl-case dw-use-salt
(prompt
(if (y-or-n-p "Append salt? ")
(concat passphrase dw-passphrase-separator dw-salt)
passphrase))
((nil)
passphrase)
(t
(concat passphrase dw-passphrase-separator dw-salt)))
passphrase))
(defvar dw--random-character-history nil
"Minibuffer history for previously used generation strings.")
(defun dw--prompt-random-chatacters ()
"Read an entry from ‘dw-random-characters’, with completion.
Return a cons cell of the form (STRING . LAX), see ‘dw-random-characters’."
(let* ((names (mapcar #'car dw-random-characters))
(default-string (if (memq 'default names)
"default"
(or (car dw--random-character-history)
(symbol-name (car names)))))
symbol-string)
(setq symbol-string
(completing-read
(format "Random string of (default %s): "
default-string)
names nil t nil 'dw--random-character-history default-string))
(add-to-history 'dw--random-character-history symbol-string)
(cdr
(assq (intern symbol-string)
dw-random-characters))))
\f
;;; Interactive commands
;;;###autoload
(defun dw-set-wordlist (&optional use-default)
"Set a (named) wordlist for interactive passphrase generation.
This function always returns nil.
Named wordlists are specified by ‘dw-named-wordlists’. If
‘dw-named-wordlists’ is nil, prompt for a file to use, with
‘dw-directory’ as the default directory.
If the prefix argument USE-DEFAULT is non-nil, use the default
wordlist, if available. Otherwise, prompt the user for which
wordlist to use.
This function specifically manipulates the active wordlist stored
in ‘dw-current-wordlist’ accessible to ‘dw-passgen-region’. If
you want to convert a wordlist file into the internal format, use
‘dw-build-alist’ instead."
(interactive "P")
(let (wordlist-entry file coding)
(setq wordlist-entry
(cond ((null dw-named-wordlists)
(dw--prompt-wordlist-file))
((= (length dw-named-wordlists) 1)
(car dw-named-wordlists))
((and use-default
(assq 'default dw-named-wordlists)))
(t
(assq
(dw--prompt-wordlist)
dw-named-wordlists)))
file (cadr wordlist-entry)
coding (cddr wordlist-entry)
dw-current-wordlist (dw-build-alist file dw-directory coding)))
nil)
;;;###autoload
(defun dw-passgen-region (start end &optional choose-wordlist)
"Replace sequence of die rolls in region with corresponding passphrase.
Without prefix argument, use the last wordlist used in the same
session. If no wordlist has been set, use the default wordlist,
if available. If no default wordlist is available, either prompt
for a named wordlist specified by ‘dw-named-wordlists’ or fall
back to prompting for a file. With prefix argument, ignore the
presence of a default wordlist.
For additional protection, you can append salt to your passphrase
using ‘dw-salt’. Salt serves as an additional countermeasure
against the common case of attackers trying to crack multiple
passphrases at once.
Noninteractively, the optional second argument CHOOSE-WORDLIST
serves the same purpose as the prefix argument.
If called from Lisp, the arguments START and END must specify the
region to use for passphrase generation."
(interactive "*r\nP")
(when (= start end)
(user-error "Cannot generate passphrase: empty region"))
(let* ((strfun (when dw-capitalize-words #'capitalize))
(dice-string (buffer-substring-no-properties start end))
(use-default (not choose-wordlist))
passphrase)
(unless (and dw-current-wordlist use-default)
(dw-set-wordlist use-default))
(setq passphrase
(dw-generate-passphrase dice-string
dw-current-wordlist
dw-passphrase-separator
strfun))
(setq passphrase
(dw--append-salt-maybe passphrase))
(delete-region start end)
(insert passphrase)
passphrase))
;;;###autoload
(defun dw-ranstring-region (start end)
"Replace sequence of die rolls in region with a random character sequence.
This command uses ‘dw-random-characters’ as a resource for sets
of characters to generate a random string from. You can use this
function to generate a personal salt from die rolls. See
‘dw-salt’ for more on salt.
If called from Lisp, the arguments START and END must specify the
region to use for passphrase generation."
(interactive "*r")
(when (= start end)
(user-error "Cannot generate random string: empty region"))
(when (null dw-random-characters)
(user-error "Cannot generate random string: ‘dw-random-characters’ is nil"))
(pcase-let* ((dice-string (dw--strip-separators
(buffer-substring-no-properties start end)))
(`(,possible-chars . ,lax) (dw--prompt-random-chatacters))
(`(,rand-string . ,rng-failures)
(dw--generate-charlist dice-string possible-chars)))
;; Notify the user of RNG fails
(cond ((and (/= rng-failures 0) lax)
(message "%i roll(s) failed to generate a random character."
rng-failures))
((/= rng-failures 0)
(dw--warn-bad-random-characters)))
(delete-region start end)
(insert rand-string)
rand-string))
(provide 'dw)
;;; dw.el ends here
;; LocalWords: wordlists wordlist utf alist https http
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [NonGNU ELPA] New package: dw.el
2021-03-30 21:13 [NonGNU ELPA] New package: dw.el D
@ 2021-03-31 6:38 ` Jean Louis
2021-03-31 11:28 ` D
2021-04-01 21:29 ` Stefan Monnier
1 sibling, 1 reply; 16+ messages in thread
From: Jean Louis @ 2021-03-31 6:38 UTC (permalink / raw)
To: D; +Cc: emacs-devel
* D <d.williams@posteo.net> [2021-03-31 00:14]:
> Hello,
>
> I would like to submit this package for inclusion in NonGNU ELPA.
> A short description of the package (attached) is provided below.
> The git repository can be found here [1].
Thank you.
I have tried using /usr/share/dict/wordsa as word list.
Then I have entered this below in the buffer and marked it, then run
M-x dw-passgen-region
31232 63522 54152 52516 52521
then I get this error:
dw--check-wordlist: Broken wordlist: (< 0 7776)
--
Jean
Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [NonGNU ELPA] New package: dw.el
2021-03-31 6:38 ` Jean Louis
@ 2021-03-31 11:28 ` D
2021-03-31 11:42 ` Jean Louis
0 siblings, 1 reply; 16+ messages in thread
From: D @ 2021-03-31 11:28 UTC (permalink / raw)
To: bugs; +Cc: emacs-devel
[-- Attachment #1: Type: text/plain, Size: 884 bytes --]
Hello,
word lists need to adhere to a certain format. Each line must begin
with the die roll the word corresponds to, such as
11111 abacus
11112 abdomen
11113 abdominal
11114 abide
....
I attached an example file (this one tends to favor long, unique words
and no special chars).
Kind regards,
D.
On 31/03/2021 08:38, Jean Louis wrote:
> * D <d.williams@posteo.net> [2021-03-31 00:14]:
>> Hello,
>>
>> I would like to submit this package for inclusion in NonGNU ELPA.
>> A short description of the package (attached) is provided below.
>> The git repository can be found here [1].
>
> Thank you.
>
> I have tried using /usr/share/dict/wordsa as word list.
>
> Then I have entered this below in the buffer and marked it, then run
> M-x dw-passgen-region
>
> 31232 63522 54152 52516 52521
>
> then I get this error:
>
> dw--check-wordlist: Broken wordlist: (< 0 7776)
>
>
[-- Attachment #2: eff_large_wordlist.txt --]
[-- Type: text/plain, Size: 108800 bytes --]
11111 abacus
11112 abdomen
11113 abdominal
11114 abide
11115 abiding
11116 ability
11121 ablaze
11122 able
11123 abnormal
11124 abrasion
11125 abrasive
11126 abreast
11131 abridge
11132 abroad
11133 abruptly
11134 absence
11135 absentee
11136 absently
11141 absinthe
11142 absolute
11143 absolve
11144 abstain
11145 abstract
11146 absurd
11151 accent
11152 acclaim
11153 acclimate
11154 accompany
11155 account
11156 accuracy
11161 accurate
11162 accustom
11163 acetone
11164 achiness
11165 aching
11166 acid
11211 acorn
11212 acquaint
11213 acquire
11214 acre
11215 acrobat
11216 acronym
11221 acting
11222 action
11223 activate
11224 activator
11225 active
11226 activism
11231 activist
11232 activity
11233 actress
11234 acts
11235 acutely
11236 acuteness
11241 aeration
11242 aerobics
11243 aerosol
11244 aerospace
11245 afar
11246 affair
11251 affected
11252 affecting
11253 affection
11254 affidavit
11255 affiliate
11256 affirm
11261 affix
11262 afflicted
11263 affluent
11264 afford
11265 affront
11266 aflame
11311 afloat
11312 aflutter
11313 afoot
11314 afraid
11315 afterglow
11316 afterlife
11321 aftermath
11322 aftermost
11323 afternoon
11324 aged
11325 ageless
11326 agency
11331 agenda
11332 agent
11333 aggregate
11334 aghast
11335 agile
11336 agility
11341 aging
11342 agnostic
11343 agonize
11344 agonizing
11345 agony
11346 agreeable
11351 agreeably
11352 agreed
11353 agreeing
11354 agreement
11355 aground
11356 ahead
11361 ahoy
11362 aide
11363 aids
11364 aim
11365 ajar
11366 alabaster
11411 alarm
11412 albatross
11413 album
11414 alfalfa
11415 algebra
11416 algorithm
11421 alias
11422 alibi
11423 alienable
11424 alienate
11425 aliens
11426 alike
11431 alive
11432 alkaline
11433 alkalize
11434 almanac
11435 almighty
11436 almost
11441 aloe
11442 aloft
11443 aloha
11444 alone
11445 alongside
11446 aloof
11451 alphabet
11452 alright
11453 although
11454 altitude
11455 alto
11456 aluminum
11461 alumni
11462 always
11463 amaretto
11464 amaze
11465 amazingly
11466 amber
11511 ambiance
11512 ambiguity
11513 ambiguous
11514 ambition
11515 ambitious
11516 ambulance
11521 ambush
11522 amendable
11523 amendment
11524 amends
11525 amenity
11526 amiable
11531 amicably
11532 amid
11533 amigo
11534 amino
11535 amiss
11536 ammonia
11541 ammonium
11542 amnesty
11543 amniotic
11544 among
11545 amount
11546 amperage
11551 ample
11552 amplifier
11553 amplify
11554 amply
11555 amuck
11556 amulet
11561 amusable
11562 amused
11563 amusement
11564 amuser
11565 amusing
11566 anaconda
11611 anaerobic
11612 anagram
11613 anatomist
11614 anatomy
11615 anchor
11616 anchovy
11621 ancient
11622 android
11623 anemia
11624 anemic
11625 aneurism
11626 anew
11631 angelfish
11632 angelic
11633 anger
11634 angled
11635 angler
11636 angles
11641 angling
11642 angrily
11643 angriness
11644 anguished
11645 angular
11646 animal
11651 animate
11652 animating
11653 animation
11654 animator
11655 anime
11656 animosity
11661 ankle
11662 annex
11663 annotate
11664 announcer
11665 annoying
11666 annually
12111 annuity
12112 anointer
12113 another
12114 answering
12115 antacid
12116 antarctic
12121 anteater
12122 antelope
12123 antennae
12124 anthem
12125 anthill
12126 anthology
12131 antibody
12132 antics
12133 antidote
12134 antihero
12135 antiquely
12136 antiques
12141 antiquity
12142 antirust
12143 antitoxic
12144 antitrust
12145 antiviral
12146 antivirus
12151 antler
12152 antonym
12153 antsy
12154 anvil
12155 anybody
12156 anyhow
12161 anymore
12162 anyone
12163 anyplace
12164 anything
12165 anytime
12166 anyway
12211 anywhere
12212 aorta
12213 apache
12214 apostle
12215 appealing
12216 appear
12221 appease
12222 appeasing
12223 appendage
12224 appendix
12225 appetite
12226 appetizer
12231 applaud
12232 applause
12233 apple
12234 appliance
12235 applicant
12236 applied
12241 apply
12242 appointee
12243 appraisal
12244 appraiser
12245 apprehend
12246 approach
12251 approval
12252 approve
12253 apricot
12254 april
12255 apron
12256 aptitude
12261 aptly
12262 aqua
12263 aqueduct
12264 arbitrary
12265 arbitrate
12266 ardently
12311 area
12312 arena
12313 arguable
12314 arguably
12315 argue
12316 arise
12321 armadillo
12322 armband
12323 armchair
12324 armed
12325 armful
12326 armhole
12331 arming
12332 armless
12333 armoire
12334 armored
12335 armory
12336 armrest
12341 army
12342 aroma
12343 arose
12344 around
12345 arousal
12346 arrange
12351 array
12352 arrest
12353 arrival
12354 arrive
12355 arrogance
12356 arrogant
12361 arson
12362 art
12363 ascend
12364 ascension
12365 ascent
12366 ascertain
12411 ashamed
12412 ashen
12413 ashes
12414 ashy
12415 aside
12416 askew
12421 asleep
12422 asparagus
12423 aspect
12424 aspirate
12425 aspire
12426 aspirin
12431 astonish
12432 astound
12433 astride
12434 astrology
12435 astronaut
12436 astronomy
12441 astute
12442 atlantic
12443 atlas
12444 atom
12445 atonable
12446 atop
12451 atrium
12452 atrocious
12453 atrophy
12454 attach
12455 attain
12456 attempt
12461 attendant
12462 attendee
12463 attention
12464 attentive
12465 attest
12466 attic
12511 attire
12512 attitude
12513 attractor
12514 attribute
12515 atypical
12516 auction
12521 audacious
12522 audacity
12523 audible
12524 audibly
12525 audience
12526 audio
12531 audition
12532 augmented
12533 august
12534 authentic
12535 author
12536 autism
12541 autistic
12542 autograph
12543 automaker
12544 automated
12545 automatic
12546 autopilot
12551 available
12552 avalanche
12553 avatar
12554 avenge
12555 avenging
12556 avenue
12561 average
12562 aversion
12563 avert
12564 aviation
12565 aviator
12566 avid
12611 avoid
12612 await
12613 awaken
12614 award
12615 aware
12616 awhile
12621 awkward
12622 awning
12623 awoke
12624 awry
12625 axis
12626 babble
12631 babbling
12632 babied
12633 baboon
12634 backache
12635 backboard
12636 backboned
12641 backdrop
12642 backed
12643 backer
12644 backfield
12645 backfire
12646 backhand
12651 backing
12652 backlands
12653 backlash
12654 backless
12655 backlight
12656 backlit
12661 backlog
12662 backpack
12663 backpedal
12664 backrest
12665 backroom
12666 backshift
13111 backside
13112 backslid
13113 backspace
13114 backspin
13115 backstab
13116 backstage
13121 backtalk
13122 backtrack
13123 backup
13124 backward
13125 backwash
13126 backwater
13131 backyard
13132 bacon
13133 bacteria
13134 bacterium
13135 badass
13136 badge
13141 badland
13142 badly
13143 badness
13144 baffle
13145 baffling
13146 bagel
13151 bagful
13152 baggage
13153 bagged
13154 baggie
13155 bagginess
13156 bagging
13161 baggy
13162 bagpipe
13163 baguette
13164 baked
13165 bakery
13166 bakeshop
13211 baking
13212 balance
13213 balancing
13214 balcony
13215 balmy
13216 balsamic
13221 bamboo
13222 banana
13223 banish
13224 banister
13225 banjo
13226 bankable
13231 bankbook
13232 banked
13233 banker
13234 banking
13235 banknote
13236 bankroll
13241 banner
13242 bannister
13243 banshee
13244 banter
13245 barbecue
13246 barbed
13251 barbell
13252 barber
13253 barcode
13254 barge
13255 bargraph
13256 barista
13261 baritone
13262 barley
13263 barmaid
13264 barman
13265 barn
13266 barometer
13311 barrack
13312 barracuda
13313 barrel
13314 barrette
13315 barricade
13316 barrier
13321 barstool
13322 bartender
13323 barterer
13324 bash
13325 basically
13326 basics
13331 basil
13332 basin
13333 basis
13334 basket
13335 batboy
13336 batch
13341 bath
13342 baton
13343 bats
13344 battalion
13345 battered
13346 battering
13351 battery
13352 batting
13353 battle
13354 bauble
13355 bazooka
13356 blabber
13361 bladder
13362 blade
13363 blah
13364 blame
13365 blaming
13366 blanching
13411 blandness
13412 blank
13413 blaspheme
13414 blasphemy
13415 blast
13416 blatancy
13421 blatantly
13422 blazer
13423 blazing
13424 bleach
13425 bleak
13426 bleep
13431 blemish
13432 blend
13433 bless
13434 blighted
13435 blimp
13436 bling
13441 blinked
13442 blinker
13443 blinking
13444 blinks
13445 blip
13446 blissful
13451 blitz
13452 blizzard
13453 bloated
13454 bloating
13455 blob
13456 blog
13461 bloomers
13462 blooming
13463 blooper
13464 blot
13465 blouse
13466 blubber
13511 bluff
13512 bluish
13513 blunderer
13514 blunt
13515 blurb
13516 blurred
13521 blurry
13522 blurt
13523 blush
13524 blustery
13525 boaster
13526 boastful
13531 boasting
13532 boat
13533 bobbed
13534 bobbing
13535 bobble
13536 bobcat
13541 bobsled
13542 bobtail
13543 bodacious
13544 body
13545 bogged
13546 boggle
13551 bogus
13552 boil
13553 bok
13554 bolster
13555 bolt
13556 bonanza
13561 bonded
13562 bonding
13563 bondless
13564 boned
13565 bonehead
13566 boneless
13611 bonelike
13612 boney
13613 bonfire
13614 bonnet
13615 bonsai
13616 bonus
13621 bony
13622 boogeyman
13623 boogieman
13624 book
13625 boondocks
13626 booted
13631 booth
13632 bootie
13633 booting
13634 bootlace
13635 bootleg
13636 boots
13641 boozy
13642 borax
13643 boring
13644 borough
13645 borrower
13646 borrowing
13651 boss
13652 botanical
13653 botanist
13654 botany
13655 botch
13656 both
13661 bottle
13662 bottling
13663 bottom
13664 bounce
13665 bouncing
13666 bouncy
14111 bounding
14112 boundless
14113 bountiful
14114 bovine
14115 boxcar
14116 boxer
14121 boxing
14122 boxlike
14123 boxy
14124 breach
14125 breath
14126 breeches
14131 breeching
14132 breeder
14133 breeding
14134 breeze
14135 breezy
14136 brethren
14141 brewery
14142 brewing
14143 briar
14144 bribe
14145 brick
14146 bride
14151 bridged
14152 brigade
14153 bright
14154 brilliant
14155 brim
14156 bring
14161 brink
14162 brisket
14163 briskly
14164 briskness
14165 bristle
14166 brittle
14211 broadband
14212 broadcast
14213 broaden
14214 broadly
14215 broadness
14216 broadside
14221 broadways
14222 broiler
14223 broiling
14224 broken
14225 broker
14226 bronchial
14231 bronco
14232 bronze
14233 bronzing
14234 brook
14235 broom
14236 brought
14241 browbeat
14242 brownnose
14243 browse
14244 browsing
14245 bruising
14246 brunch
14251 brunette
14252 brunt
14253 brush
14254 brussels
14255 brute
14256 brutishly
14261 bubble
14262 bubbling
14263 bubbly
14264 buccaneer
14265 bucked
14266 bucket
14311 buckle
14312 buckshot
14313 buckskin
14314 bucktooth
14315 buckwheat
14316 buddhism
14321 buddhist
14322 budding
14323 buddy
14324 budget
14325 buffalo
14326 buffed
14331 buffer
14332 buffing
14333 buffoon
14334 buggy
14335 bulb
14336 bulge
14341 bulginess
14342 bulgur
14343 bulk
14344 bulldog
14345 bulldozer
14346 bullfight
14351 bullfrog
14352 bullhorn
14353 bullion
14354 bullish
14355 bullpen
14356 bullring
14361 bullseye
14362 bullwhip
14363 bully
14364 bunch
14365 bundle
14366 bungee
14411 bunion
14412 bunkbed
14413 bunkhouse
14414 bunkmate
14415 bunny
14416 bunt
14421 busboy
14422 bush
14423 busily
14424 busload
14425 bust
14426 busybody
14431 buzz
14432 cabana
14433 cabbage
14434 cabbie
14435 cabdriver
14436 cable
14441 caboose
14442 cache
14443 cackle
14444 cacti
14445 cactus
14446 caddie
14451 caddy
14452 cadet
14453 cadillac
14454 cadmium
14455 cage
14456 cahoots
14461 cake
14462 calamari
14463 calamity
14464 calcium
14465 calculate
14466 calculus
14511 caliber
14512 calibrate
14513 calm
14514 caloric
14515 calorie
14516 calzone
14521 camcorder
14522 cameo
14523 camera
14524 camisole
14525 camper
14526 campfire
14531 camping
14532 campsite
14533 campus
14534 canal
14535 canary
14536 cancel
14541 candied
14542 candle
14543 candy
14544 cane
14545 canine
14546 canister
14551 cannabis
14552 canned
14553 canning
14554 cannon
14555 cannot
14556 canola
14561 canon
14562 canopener
14563 canopy
14564 canteen
14565 canyon
14566 capable
14611 capably
14612 capacity
14613 cape
14614 capillary
14615 capital
14616 capitol
14621 capped
14622 capricorn
14623 capsize
14624 capsule
14625 caption
14626 captivate
14631 captive
14632 captivity
14633 capture
14634 caramel
14635 carat
14636 caravan
14641 carbon
14642 cardboard
14643 carded
14644 cardiac
14645 cardigan
14646 cardinal
14651 cardstock
14652 carefully
14653 caregiver
14654 careless
14655 caress
14656 caretaker
14661 cargo
14662 caring
14663 carless
14664 carload
14665 carmaker
14666 carnage
15111 carnation
15112 carnival
15113 carnivore
15114 carol
15115 carpenter
15116 carpentry
15121 carpool
15122 carport
15123 carried
15124 carrot
15125 carrousel
15126 carry
15131 cartel
15132 cartload
15133 carton
15134 cartoon
15135 cartridge
15136 cartwheel
15141 carve
15142 carving
15143 carwash
15144 cascade
15145 case
15146 cash
15151 casing
15152 casino
15153 casket
15154 cassette
15155 casually
15156 casualty
15161 catacomb
15162 catalog
15163 catalyst
15164 catalyze
15165 catapult
15166 cataract
15211 catatonic
15212 catcall
15213 catchable
15214 catcher
15215 catching
15216 catchy
15221 caterer
15222 catering
15223 catfight
15224 catfish
15225 cathedral
15226 cathouse
15231 catlike
15232 catnap
15233 catnip
15234 catsup
15235 cattail
15236 cattishly
15241 cattle
15242 catty
15243 catwalk
15244 caucasian
15245 caucus
15246 causal
15251 causation
15252 cause
15253 causing
15254 cauterize
15255 caution
15256 cautious
15261 cavalier
15262 cavalry
15263 caviar
15264 cavity
15265 cedar
15266 celery
15311 celestial
15312 celibacy
15313 celibate
15314 celtic
15315 cement
15316 census
15321 ceramics
15322 ceremony
15323 certainly
15324 certainty
15325 certified
15326 certify
15331 cesarean
15332 cesspool
15333 chafe
15334 chaffing
15335 chain
15336 chair
15341 chalice
15342 challenge
15343 chamber
15344 chamomile
15345 champion
15346 chance
15351 change
15352 channel
15353 chant
15354 chaos
15355 chaperone
15356 chaplain
15361 chapped
15362 chaps
15363 chapter
15364 character
15365 charbroil
15366 charcoal
15411 charger
15412 charging
15413 chariot
15414 charity
15415 charm
15416 charred
15421 charter
15422 charting
15423 chase
15424 chasing
15425 chaste
15426 chastise
15431 chastity
15432 chatroom
15433 chatter
15434 chatting
15435 chatty
15436 cheating
15441 cheddar
15442 cheek
15443 cheer
15444 cheese
15445 cheesy
15446 chef
15451 chemicals
15452 chemist
15453 chemo
15454 cherisher
15455 cherub
15456 chess
15461 chest
15462 chevron
15463 chevy
15464 chewable
15465 chewer
15466 chewing
15511 chewy
15512 chief
15513 chihuahua
15514 childcare
15515 childhood
15516 childish
15521 childless
15522 childlike
15523 chili
15524 chill
15525 chimp
15526 chip
15531 chirping
15532 chirpy
15533 chitchat
15534 chivalry
15535 chive
15536 chloride
15541 chlorine
15542 choice
15543 chokehold
15544 choking
15545 chomp
15546 chooser
15551 choosing
15552 choosy
15553 chop
15554 chosen
15555 chowder
15556 chowtime
15561 chrome
15562 chubby
15563 chuck
15564 chug
15565 chummy
15566 chump
15611 chunk
15612 churn
15613 chute
15614 cider
15615 cilantro
15616 cinch
15621 cinema
15622 cinnamon
15623 circle
15624 circling
15625 circular
15626 circulate
15631 circus
15632 citable
15633 citadel
15634 citation
15635 citizen
15636 citric
15641 citrus
15642 city
15643 civic
15644 civil
15645 clad
15646 claim
15651 clambake
15652 clammy
15653 clamor
15654 clamp
15655 clamshell
15656 clang
15661 clanking
15662 clapped
15663 clapper
15664 clapping
15665 clarify
15666 clarinet
16111 clarity
16112 clash
16113 clasp
16114 class
16115 clatter
16116 clause
16121 clavicle
16122 claw
16123 clay
16124 clean
16125 clear
16126 cleat
16131 cleaver
16132 cleft
16133 clench
16134 clergyman
16135 clerical
16136 clerk
16141 clever
16142 clicker
16143 client
16144 climate
16145 climatic
16146 cling
16151 clinic
16152 clinking
16153 clip
16154 clique
16155 cloak
16156 clobber
16161 clock
16162 clone
16163 cloning
16164 closable
16165 closure
16166 clothes
16211 clothing
16212 cloud
16213 clover
16214 clubbed
16215 clubbing
16216 clubhouse
16221 clump
16222 clumsily
16223 clumsy
16224 clunky
16225 clustered
16226 clutch
16231 clutter
16232 coach
16233 coagulant
16234 coastal
16235 coaster
16236 coasting
16241 coastland
16242 coastline
16243 coat
16244 coauthor
16245 cobalt
16246 cobbler
16251 cobweb
16252 cocoa
16253 coconut
16254 cod
16255 coeditor
16256 coerce
16261 coexist
16262 coffee
16263 cofounder
16264 cognition
16265 cognitive
16266 cogwheel
16311 coherence
16312 coherent
16313 cohesive
16314 coil
16315 coke
16316 cola
16321 cold
16322 coleslaw
16323 coliseum
16324 collage
16325 collapse
16326 collar
16331 collected
16332 collector
16333 collide
16334 collie
16335 collision
16336 colonial
16341 colonist
16342 colonize
16343 colony
16344 colossal
16345 colt
16346 coma
16351 come
16352 comfort
16353 comfy
16354 comic
16355 coming
16356 comma
16361 commence
16362 commend
16363 comment
16364 commerce
16365 commode
16366 commodity
16411 commodore
16412 common
16413 commotion
16414 commute
16415 commuting
16416 compacted
16421 compacter
16422 compactly
16423 compactor
16424 companion
16425 company
16426 compare
16431 compel
16432 compile
16433 comply
16434 component
16435 composed
16436 composer
16441 composite
16442 compost
16443 composure
16444 compound
16445 compress
16446 comprised
16451 computer
16452 computing
16453 comrade
16454 concave
16455 conceal
16456 conceded
16461 concept
16462 concerned
16463 concert
16464 conch
16465 concierge
16466 concise
16511 conclude
16512 concrete
16513 concur
16514 condense
16515 condiment
16516 condition
16521 condone
16522 conducive
16523 conductor
16524 conduit
16525 cone
16526 confess
16531 confetti
16532 confidant
16533 confident
16534 confider
16535 confiding
16536 configure
16541 confined
16542 confining
16543 confirm
16544 conflict
16545 conform
16546 confound
16551 confront
16552 confused
16553 confusing
16554 confusion
16555 congenial
16556 congested
16561 congrats
16562 congress
16563 conical
16564 conjoined
16565 conjure
16566 conjuror
16611 connected
16612 connector
16613 consensus
16614 consent
16615 console
16616 consoling
16621 consonant
16622 constable
16623 constant
16624 constrain
16625 constrict
16626 construct
16631 consult
16632 consumer
16633 consuming
16634 contact
16635 container
16636 contempt
16641 contend
16642 contented
16643 contently
16644 contents
16645 contest
16646 context
16651 contort
16652 contour
16653 contrite
16654 control
16655 contusion
16656 convene
16661 convent
16662 copartner
16663 cope
16664 copied
16665 copier
16666 copilot
21111 coping
21112 copious
21113 copper
21114 copy
21115 coral
21116 cork
21121 cornball
21122 cornbread
21123 corncob
21124 cornea
21125 corned
21126 corner
21131 cornfield
21132 cornflake
21133 cornhusk
21134 cornmeal
21135 cornstalk
21136 corny
21141 coronary
21142 coroner
21143 corporal
21144 corporate
21145 corral
21146 correct
21151 corridor
21152 corrode
21153 corroding
21154 corrosive
21155 corsage
21156 corset
21161 cortex
21162 cosigner
21163 cosmetics
21164 cosmic
21165 cosmos
21166 cosponsor
21211 cost
21212 cottage
21213 cotton
21214 couch
21215 cough
21216 could
21221 countable
21222 countdown
21223 counting
21224 countless
21225 country
21226 county
21231 courier
21232 covenant
21233 cover
21234 coveted
21235 coveting
21236 coyness
21241 cozily
21242 coziness
21243 cozy
21244 crabbing
21245 crabgrass
21246 crablike
21251 crabmeat
21252 cradle
21253 cradling
21254 crafter
21255 craftily
21256 craftsman
21261 craftwork
21262 crafty
21263 cramp
21264 cranberry
21265 crane
21266 cranial
21311 cranium
21312 crank
21313 crate
21314 crave
21315 craving
21316 crawfish
21321 crawlers
21322 crawling
21323 crayfish
21324 crayon
21325 crazed
21326 crazily
21331 craziness
21332 crazy
21333 creamed
21334 creamer
21335 creamlike
21336 crease
21341 creasing
21342 creatable
21343 create
21344 creation
21345 creative
21346 creature
21351 credible
21352 credibly
21353 credit
21354 creed
21355 creme
21356 creole
21361 crepe
21362 crept
21363 crescent
21364 crested
21365 cresting
21366 crestless
21411 crevice
21412 crewless
21413 crewman
21414 crewmate
21415 crib
21416 cricket
21421 cried
21422 crier
21423 crimp
21424 crimson
21425 cringe
21426 cringing
21431 crinkle
21432 crinkly
21433 crisped
21434 crisping
21435 crisply
21436 crispness
21441 crispy
21442 criteria
21443 critter
21444 croak
21445 crock
21446 crook
21451 croon
21452 crop
21453 cross
21454 crouch
21455 crouton
21456 crowbar
21461 crowd
21462 crown
21463 crucial
21464 crudely
21465 crudeness
21466 cruelly
21511 cruelness
21512 cruelty
21513 crumb
21514 crummiest
21515 crummy
21516 crumpet
21521 crumpled
21522 cruncher
21523 crunching
21524 crunchy
21525 crusader
21526 crushable
21531 crushed
21532 crusher
21533 crushing
21534 crust
21535 crux
21536 crying
21541 cryptic
21542 crystal
21543 cubbyhole
21544 cube
21545 cubical
21546 cubicle
21551 cucumber
21552 cuddle
21553 cuddly
21554 cufflink
21555 culinary
21556 culminate
21561 culpable
21562 culprit
21563 cultivate
21564 cultural
21565 culture
21566 cupbearer
21611 cupcake
21612 cupid
21613 cupped
21614 cupping
21615 curable
21616 curator
21621 curdle
21622 cure
21623 curfew
21624 curing
21625 curled
21626 curler
21631 curliness
21632 curling
21633 curly
21634 curry
21635 curse
21636 cursive
21641 cursor
21642 curtain
21643 curtly
21644 curtsy
21645 curvature
21646 curve
21651 curvy
21652 cushy
21653 cusp
21654 cussed
21655 custard
21656 custodian
21661 custody
21662 customary
21663 customer
21664 customize
21665 customs
21666 cut
22111 cycle
22112 cyclic
22113 cycling
22114 cyclist
22115 cylinder
22116 cymbal
22121 cytoplasm
22122 cytoplast
22123 dab
22124 dad
22125 daffodil
22126 dagger
22131 daily
22132 daintily
22133 dainty
22134 dairy
22135 daisy
22136 dallying
22141 dance
22142 dancing
22143 dandelion
22144 dander
22145 dandruff
22146 dandy
22151 danger
22152 dangle
22153 dangling
22154 daredevil
22155 dares
22156 daringly
22161 darkened
22162 darkening
22163 darkish
22164 darkness
22165 darkroom
22166 darling
22211 darn
22212 dart
22213 darwinism
22214 dash
22215 dastardly
22216 data
22221 datebook
22222 dating
22223 daughter
22224 daunting
22225 dawdler
22226 dawn
22231 daybed
22232 daybreak
22233 daycare
22234 daydream
22235 daylight
22236 daylong
22241 dayroom
22242 daytime
22243 dazzler
22244 dazzling
22245 deacon
22246 deafening
22251 deafness
22252 dealer
22253 dealing
22254 dealmaker
22255 dealt
22256 dean
22261 debatable
22262 debate
22263 debating
22264 debit
22265 debrief
22266 debtless
22311 debtor
22312 debug
22313 debunk
22314 decade
22315 decaf
22316 decal
22321 decathlon
22322 decay
22323 deceased
22324 deceit
22325 deceiver
22326 deceiving
22331 december
22332 decency
22333 decent
22334 deception
22335 deceptive
22336 decibel
22341 decidable
22342 decimal
22343 decimeter
22344 decipher
22345 deck
22346 declared
22351 decline
22352 decode
22353 decompose
22354 decorated
22355 decorator
22356 decoy
22361 decrease
22362 decree
22363 dedicate
22364 dedicator
22365 deduce
22366 deduct
22411 deed
22412 deem
22413 deepen
22414 deeply
22415 deepness
22416 deface
22421 defacing
22422 defame
22423 default
22424 defeat
22425 defection
22426 defective
22431 defendant
22432 defender
22433 defense
22434 defensive
22435 deferral
22436 deferred
22441 defiance
22442 defiant
22443 defile
22444 defiling
22445 define
22446 definite
22451 deflate
22452 deflation
22453 deflator
22454 deflected
22455 deflector
22456 defog
22461 deforest
22462 defraud
22463 defrost
22464 deftly
22465 defuse
22466 defy
22511 degraded
22512 degrading
22513 degrease
22514 degree
22515 dehydrate
22516 deity
22521 dejected
22522 delay
22523 delegate
22524 delegator
22525 delete
22526 deletion
22531 delicacy
22532 delicate
22533 delicious
22534 delighted
22535 delirious
22536 delirium
22541 deliverer
22542 delivery
22543 delouse
22544 delta
22545 deluge
22546 delusion
22551 deluxe
22552 demanding
22553 demeaning
22554 demeanor
22555 demise
22556 democracy
22561 democrat
22562 demote
22563 demotion
22564 demystify
22565 denatured
22566 deniable
22611 denial
22612 denim
22613 denote
22614 dense
22615 density
22616 dental
22621 dentist
22622 denture
22623 deny
22624 deodorant
22625 deodorize
22626 departed
22631 departure
22632 depict
22633 deplete
22634 depletion
22635 deplored
22636 deploy
22641 deport
22642 depose
22643 depraved
22644 depravity
22645 deprecate
22646 depress
22651 deprive
22652 depth
22653 deputize
22654 deputy
22655 derail
22656 deranged
22661 derby
22662 derived
22663 desecrate
22664 deserve
22665 deserving
22666 designate
23111 designed
23112 designer
23113 designing
23114 deskbound
23115 desktop
23116 deskwork
23121 desolate
23122 despair
23123 despise
23124 despite
23125 destiny
23126 destitute
23131 destruct
23132 detached
23133 detail
23134 detection
23135 detective
23136 detector
23141 detention
23142 detergent
23143 detest
23144 detonate
23145 detonator
23146 detoxify
23151 detract
23152 deuce
23153 devalue
23154 deviancy
23155 deviant
23156 deviate
23161 deviation
23162 deviator
23163 device
23164 devious
23165 devotedly
23166 devotee
23211 devotion
23212 devourer
23213 devouring
23214 devoutly
23215 dexterity
23216 dexterous
23221 diabetes
23222 diabetic
23223 diabolic
23224 diagnoses
23225 diagnosis
23226 diagram
23231 dial
23232 diameter
23233 diaper
23234 diaphragm
23235 diary
23236 dice
23241 dicing
23242 dictate
23243 dictation
23244 dictator
23245 difficult
23246 diffused
23251 diffuser
23252 diffusion
23253 diffusive
23254 dig
23255 dilation
23256 diligence
23261 diligent
23262 dill
23263 dilute
23264 dime
23265 diminish
23266 dimly
23311 dimmed
23312 dimmer
23313 dimness
23314 dimple
23315 diner
23316 dingbat
23321 dinghy
23322 dinginess
23323 dingo
23324 dingy
23325 dining
23326 dinner
23331 diocese
23332 dioxide
23333 diploma
23334 dipped
23335 dipper
23336 dipping
23341 directed
23342 direction
23343 directive
23344 directly
23345 directory
23346 direness
23351 dirtiness
23352 disabled
23353 disagree
23354 disallow
23355 disarm
23356 disarray
23361 disaster
23362 disband
23363 disbelief
23364 disburse
23365 discard
23366 discern
23411 discharge
23412 disclose
23413 discolor
23414 discount
23415 discourse
23416 discover
23421 discuss
23422 disdain
23423 disengage
23424 disfigure
23425 disgrace
23426 dish
23431 disinfect
23432 disjoin
23433 disk
23434 dislike
23435 disliking
23436 dislocate
23441 dislodge
23442 disloyal
23443 dismantle
23444 dismay
23445 dismiss
23446 dismount
23451 disobey
23452 disorder
23453 disown
23454 disparate
23455 disparity
23456 dispatch
23461 dispense
23462 dispersal
23463 dispersed
23464 disperser
23465 displace
23466 display
23511 displease
23512 disposal
23513 dispose
23514 disprove
23515 dispute
23516 disregard
23521 disrupt
23522 dissuade
23523 distance
23524 distant
23525 distaste
23526 distill
23531 distinct
23532 distort
23533 distract
23534 distress
23535 district
23536 distrust
23541 ditch
23542 ditto
23543 ditzy
23544 dividable
23545 divided
23546 dividend
23551 dividers
23552 dividing
23553 divinely
23554 diving
23555 divinity
23556 divisible
23561 divisibly
23562 division
23563 divisive
23564 divorcee
23565 dizziness
23566 dizzy
23611 doable
23612 docile
23613 dock
23614 doctrine
23615 document
23616 dodge
23621 dodgy
23622 doily
23623 doing
23624 dole
23625 dollar
23626 dollhouse
23631 dollop
23632 dolly
23633 dolphin
23634 domain
23635 domelike
23636 domestic
23641 dominion
23642 dominoes
23643 donated
23644 donation
23645 donator
23646 donor
23651 donut
23652 doodle
23653 doorbell
23654 doorframe
23655 doorknob
23656 doorman
23661 doormat
23662 doornail
23663 doorpost
23664 doorstep
23665 doorstop
23666 doorway
24111 doozy
24112 dork
24113 dormitory
24114 dorsal
24115 dosage
24116 dose
24121 dotted
24122 doubling
24123 douche
24124 dove
24125 down
24126 dowry
24131 doze
24132 drab
24133 dragging
24134 dragonfly
24135 dragonish
24136 dragster
24141 drainable
24142 drainage
24143 drained
24144 drainer
24145 drainpipe
24146 dramatic
24151 dramatize
24152 drank
24153 drapery
24154 drastic
24155 draw
24156 dreaded
24161 dreadful
24162 dreadlock
24163 dreamboat
24164 dreamily
24165 dreamland
24166 dreamless
24211 dreamlike
24212 dreamt
24213 dreamy
24214 drearily
24215 dreary
24216 drench
24221 dress
24222 drew
24223 dribble
24224 dried
24225 drier
24226 drift
24231 driller
24232 drilling
24233 drinkable
24234 drinking
24235 dripping
24236 drippy
24241 drivable
24242 driven
24243 driver
24244 driveway
24245 driving
24246 drizzle
24251 drizzly
24252 drone
24253 drool
24254 droop
24255 drop-down
24256 dropbox
24261 dropkick
24262 droplet
24263 dropout
24264 dropper
24265 drove
24266 drown
24311 drowsily
24312 drudge
24313 drum
24314 dry
24315 dubbed
24316 dubiously
24321 duchess
24322 duckbill
24323 ducking
24324 duckling
24325 ducktail
24326 ducky
24331 duct
24332 dude
24333 duffel
24334 dugout
24335 duh
24336 duke
24341 duller
24342 dullness
24343 duly
24344 dumping
24345 dumpling
24346 dumpster
24351 duo
24352 dupe
24353 duplex
24354 duplicate
24355 duplicity
24356 durable
24361 durably
24362 duration
24363 duress
24364 during
24365 dusk
24366 dust
24411 dutiful
24412 duty
24413 duvet
24414 dwarf
24415 dweeb
24416 dwelled
24421 dweller
24422 dwelling
24423 dwindle
24424 dwindling
24425 dynamic
24426 dynamite
24431 dynasty
24432 dyslexia
24433 dyslexic
24434 each
24435 eagle
24436 earache
24441 eardrum
24442 earflap
24443 earful
24444 earlobe
24445 early
24446 earmark
24451 earmuff
24452 earphone
24453 earpiece
24454 earplugs
24455 earring
24456 earshot
24461 earthen
24462 earthlike
24463 earthling
24464 earthly
24465 earthworm
24466 earthy
24511 earwig
24512 easeful
24513 easel
24514 easiest
24515 easily
24516 easiness
24521 easing
24522 eastbound
24523 eastcoast
24524 easter
24525 eastward
24526 eatable
24531 eaten
24532 eatery
24533 eating
24534 eats
24535 ebay
24536 ebony
24541 ebook
24542 ecard
24543 eccentric
24544 echo
24545 eclair
24546 eclipse
24551 ecologist
24552 ecology
24553 economic
24554 economist
24555 economy
24556 ecosphere
24561 ecosystem
24562 edge
24563 edginess
24564 edging
24565 edgy
24566 edition
24611 editor
24612 educated
24613 education
24614 educator
24615 eel
24616 effective
24621 effects
24622 efficient
24623 effort
24624 eggbeater
24625 egging
24626 eggnog
24631 eggplant
24632 eggshell
24633 egomaniac
24634 egotism
24635 egotistic
24636 either
24641 eject
24642 elaborate
24643 elastic
24644 elated
24645 elbow
24646 eldercare
24651 elderly
24652 eldest
24653 electable
24654 election
24655 elective
24656 elephant
24661 elevate
24662 elevating
24663 elevation
24664 elevator
24665 eleven
24666 elf
25111 eligible
25112 eligibly
25113 eliminate
25114 elite
25115 elitism
25116 elixir
25121 elk
25122 ellipse
25123 elliptic
25124 elm
25125 elongated
25126 elope
25131 eloquence
25132 eloquent
25133 elsewhere
25134 elude
25135 elusive
25136 elves
25141 email
25142 embargo
25143 embark
25144 embassy
25145 embattled
25146 embellish
25151 ember
25152 embezzle
25153 emblaze
25154 emblem
25155 embody
25156 embolism
25161 emboss
25162 embroider
25163 emcee
25164 emerald
25165 emergency
25166 emission
25211 emit
25212 emote
25213 emoticon
25214 emotion
25215 empathic
25216 empathy
25221 emperor
25222 emphases
25223 emphasis
25224 emphasize
25225 emphatic
25226 empirical
25231 employed
25232 employee
25233 employer
25234 emporium
25235 empower
25236 emptier
25241 emptiness
25242 empty
25243 emu
25244 enable
25245 enactment
25246 enamel
25251 enchanted
25252 enchilada
25253 encircle
25254 enclose
25255 enclosure
25256 encode
25261 encore
25262 encounter
25263 encourage
25264 encroach
25265 encrust
25266 encrypt
25311 endanger
25312 endeared
25313 endearing
25314 ended
25315 ending
25316 endless
25321 endnote
25322 endocrine
25323 endorphin
25324 endorse
25325 endowment
25326 endpoint
25331 endurable
25332 endurance
25333 enduring
25334 energetic
25335 energize
25336 energy
25341 enforced
25342 enforcer
25343 engaged
25344 engaging
25345 engine
25346 engorge
25351 engraved
25352 engraver
25353 engraving
25354 engross
25355 engulf
25356 enhance
25361 enigmatic
25362 enjoyable
25363 enjoyably
25364 enjoyer
25365 enjoying
25366 enjoyment
25411 enlarged
25412 enlarging
25413 enlighten
25414 enlisted
25415 enquirer
25416 enrage
25421 enrich
25422 enroll
25423 enslave
25424 ensnare
25425 ensure
25426 entail
25431 entangled
25432 entering
25433 entertain
25434 enticing
25435 entire
25436 entitle
25441 entity
25442 entomb
25443 entourage
25444 entrap
25445 entree
25446 entrench
25451 entrust
25452 entryway
25453 entwine
25454 enunciate
25455 envelope
25456 enviable
25461 enviably
25462 envious
25463 envision
25464 envoy
25465 envy
25466 enzyme
25511 epic
25512 epidemic
25513 epidermal
25514 epidermis
25515 epidural
25516 epilepsy
25521 epileptic
25522 epilogue
25523 epiphany
25524 episode
25525 equal
25526 equate
25531 equation
25532 equator
25533 equinox
25534 equipment
25535 equity
25536 equivocal
25541 eradicate
25542 erasable
25543 erased
25544 eraser
25545 erasure
25546 ergonomic
25551 errand
25552 errant
25553 erratic
25554 error
25555 erupt
25556 escalate
25561 escalator
25562 escapable
25563 escapade
25564 escapist
25565 escargot
25566 eskimo
25611 esophagus
25612 espionage
25613 espresso
25614 esquire
25615 essay
25616 essence
25621 essential
25622 establish
25623 estate
25624 esteemed
25625 estimate
25626 estimator
25631 estranged
25632 estrogen
25633 etching
25634 eternal
25635 eternity
25636 ethanol
25641 ether
25642 ethically
25643 ethics
25644 euphemism
25645 evacuate
25646 evacuee
25651 evade
25652 evaluate
25653 evaluator
25654 evaporate
25655 evasion
25656 evasive
25661 even
25662 everglade
25663 evergreen
25664 everybody
25665 everyday
25666 everyone
26111 evict
26112 evidence
26113 evident
26114 evil
26115 evoke
26116 evolution
26121 evolve
26122 exact
26123 exalted
26124 example
26125 excavate
26126 excavator
26131 exceeding
26132 exception
26133 excess
26134 exchange
26135 excitable
26136 exciting
26141 exclaim
26142 exclude
26143 excluding
26144 exclusion
26145 exclusive
26146 excretion
26151 excretory
26152 excursion
26153 excusable
26154 excusably
26155 excuse
26156 exemplary
26161 exemplify
26162 exemption
26163 exerciser
26164 exert
26165 exes
26166 exfoliate
26211 exhale
26212 exhaust
26213 exhume
26214 exile
26215 existing
26216 exit
26221 exodus
26222 exonerate
26223 exorcism
26224 exorcist
26225 expand
26226 expanse
26231 expansion
26232 expansive
26233 expectant
26234 expedited
26235 expediter
26236 expel
26241 expend
26242 expenses
26243 expensive
26244 expert
26245 expire
26246 expiring
26251 explain
26252 expletive
26253 explicit
26254 explode
26255 exploit
26256 explore
26261 exploring
26262 exponent
26263 exporter
26264 exposable
26265 expose
26266 exposure
26311 express
26312 expulsion
26313 exquisite
26314 extended
26315 extending
26316 extent
26321 extenuate
26322 exterior
26323 external
26324 extinct
26325 extortion
26326 extradite
26331 extras
26332 extrovert
26333 extrude
26334 extruding
26335 exuberant
26336 fable
26341 fabric
26342 fabulous
26343 facebook
26344 facecloth
26345 facedown
26346 faceless
26351 facelift
26352 faceplate
26353 faceted
26354 facial
26355 facility
26356 facing
26361 facsimile
26362 faction
26363 factoid
26364 factor
26365 factsheet
26366 factual
26411 faculty
26412 fade
26413 fading
26414 failing
26415 falcon
26416 fall
26421 false
26422 falsify
26423 fame
26424 familiar
26425 family
26426 famine
26431 famished
26432 fanatic
26433 fancied
26434 fanciness
26435 fancy
26436 fanfare
26441 fang
26442 fanning
26443 fantasize
26444 fantastic
26445 fantasy
26446 fascism
26451 fastball
26452 faster
26453 fasting
26454 fastness
26455 faucet
26456 favorable
26461 favorably
26462 favored
26463 favoring
26464 favorite
26465 fax
26466 feast
26511 federal
26512 fedora
26513 feeble
26514 feed
26515 feel
26516 feisty
26521 feline
26522 felt-tip
26523 feminine
26524 feminism
26525 feminist
26526 feminize
26531 femur
26532 fence
26533 fencing
26534 fender
26535 ferment
26536 fernlike
26541 ferocious
26542 ferocity
26543 ferret
26544 ferris
26545 ferry
26546 fervor
26551 fester
26552 festival
26553 festive
26554 festivity
26555 fetal
26556 fetch
26561 fever
26562 fiber
26563 fiction
26564 fiddle
26565 fiddling
26566 fidelity
26611 fidgeting
26612 fidgety
26613 fifteen
26614 fifth
26615 fiftieth
26616 fifty
26621 figment
26622 figure
26623 figurine
26624 filing
26625 filled
26626 filler
26631 filling
26632 film
26633 filter
26634 filth
26635 filtrate
26636 finale
26641 finalist
26642 finalize
26643 finally
26644 finance
26645 financial
26646 finch
26651 fineness
26652 finer
26653 finicky
26654 finished
26655 finisher
26656 finishing
26661 finite
26662 finless
26663 finlike
26664 fiscally
26665 fit
26666 five
31111 flaccid
31112 flagman
31113 flagpole
31114 flagship
31115 flagstick
31116 flagstone
31121 flail
31122 flakily
31123 flaky
31124 flame
31125 flammable
31126 flanked
31131 flanking
31132 flannels
31133 flap
31134 flaring
31135 flashback
31136 flashbulb
31141 flashcard
31142 flashily
31143 flashing
31144 flashy
31145 flask
31146 flatbed
31151 flatfoot
31152 flatly
31153 flatness
31154 flatten
31155 flattered
31156 flatterer
31161 flattery
31162 flattop
31163 flatware
31164 flatworm
31165 flavored
31166 flavorful
31211 flavoring
31212 flaxseed
31213 fled
31214 fleshed
31215 fleshy
31216 flick
31221 flier
31222 flight
31223 flinch
31224 fling
31225 flint
31226 flip
31231 flirt
31232 float
31233 flock
31234 flogging
31235 flop
31236 floral
31241 florist
31242 floss
31243 flounder
31244 flyable
31245 flyaway
31246 flyer
31251 flying
31252 flyover
31253 flypaper
31254 foam
31255 foe
31256 fog
31261 foil
31262 folic
31263 folk
31264 follicle
31265 follow
31266 fondling
31311 fondly
31312 fondness
31313 fondue
31314 font
31315 food
31316 fool
31321 footage
31322 football
31323 footbath
31324 footboard
31325 footer
31326 footgear
31331 foothill
31332 foothold
31333 footing
31334 footless
31335 footman
31336 footnote
31341 footpad
31342 footpath
31343 footprint
31344 footrest
31345 footsie
31346 footsore
31351 footwear
31352 footwork
31353 fossil
31354 foster
31355 founder
31356 founding
31361 fountain
31362 fox
31363 foyer
31364 fraction
31365 fracture
31366 fragile
31411 fragility
31412 fragment
31413 fragrance
31414 fragrant
31415 frail
31416 frame
31421 framing
31422 frantic
31423 fraternal
31424 frayed
31425 fraying
31426 frays
31431 freckled
31432 freckles
31433 freebase
31434 freebee
31435 freebie
31436 freedom
31441 freefall
31442 freehand
31443 freeing
31444 freeload
31445 freely
31446 freemason
31451 freeness
31452 freestyle
31453 freeware
31454 freeway
31455 freewill
31456 freezable
31461 freezing
31462 freight
31463 french
31464 frenzied
31465 frenzy
31466 frequency
31511 frequent
31512 fresh
31513 fretful
31514 fretted
31515 friction
31516 friday
31521 fridge
31522 fried
31523 friend
31524 frighten
31525 frightful
31526 frigidity
31531 frigidly
31532 frill
31533 fringe
31534 frisbee
31535 frisk
31536 fritter
31541 frivolous
31542 frolic
31543 from
31544 front
31545 frostbite
31546 frosted
31551 frostily
31552 frosting
31553 frostlike
31554 frosty
31555 froth
31556 frown
31561 frozen
31562 fructose
31563 frugality
31564 frugally
31565 fruit
31566 frustrate
31611 frying
31612 gab
31613 gaffe
31614 gag
31615 gainfully
31616 gaining
31621 gains
31622 gala
31623 gallantly
31624 galleria
31625 gallery
31626 galley
31631 gallon
31632 gallows
31633 gallstone
31634 galore
31635 galvanize
31636 gambling
31641 game
31642 gaming
31643 gamma
31644 gander
31645 gangly
31646 gangrene
31651 gangway
31652 gap
31653 garage
31654 garbage
31655 garden
31656 gargle
31661 garland
31662 garlic
31663 garment
31664 garnet
31665 garnish
31666 garter
32111 gas
32112 gatherer
32113 gathering
32114 gating
32115 gauging
32116 gauntlet
32121 gauze
32122 gave
32123 gawk
32124 gazing
32125 gear
32126 gecko
32131 geek
32132 geiger
32133 gem
32134 gender
32135 generic
32136 generous
32141 genetics
32142 genre
32143 gentile
32144 gentleman
32145 gently
32146 gents
32151 geography
32152 geologic
32153 geologist
32154 geology
32155 geometric
32156 geometry
32161 geranium
32162 gerbil
32163 geriatric
32164 germicide
32165 germinate
32166 germless
32211 germproof
32212 gestate
32213 gestation
32214 gesture
32215 getaway
32216 getting
32221 getup
32222 giant
32223 gibberish
32224 giblet
32225 giddily
32226 giddiness
32231 giddy
32232 gift
32233 gigabyte
32234 gigahertz
32235 gigantic
32236 giggle
32241 giggling
32242 giggly
32243 gigolo
32244 gilled
32245 gills
32246 gimmick
32251 girdle
32252 giveaway
32253 given
32254 giver
32255 giving
32256 gizmo
32261 gizzard
32262 glacial
32263 glacier
32264 glade
32265 gladiator
32266 gladly
32311 glamorous
32312 glamour
32313 glance
32314 glancing
32315 glandular
32316 glare
32321 glaring
32322 glass
32323 glaucoma
32324 glazing
32325 gleaming
32326 gleeful
32331 glider
32332 gliding
32333 glimmer
32334 glimpse
32335 glisten
32336 glitch
32341 glitter
32342 glitzy
32343 gloater
32344 gloating
32345 gloomily
32346 gloomy
32351 glorified
32352 glorifier
32353 glorify
32354 glorious
32355 glory
32356 gloss
32361 glove
32362 glowing
32363 glowworm
32364 glucose
32365 glue
32366 gluten
32411 glutinous
32412 glutton
32413 gnarly
32414 gnat
32415 goal
32416 goatskin
32421 goes
32422 goggles
32423 going
32424 goldfish
32425 goldmine
32426 goldsmith
32431 golf
32432 goliath
32433 gonad
32434 gondola
32435 gone
32436 gong
32441 good
32442 gooey
32443 goofball
32444 goofiness
32445 goofy
32446 google
32451 goon
32452 gopher
32453 gore
32454 gorged
32455 gorgeous
32456 gory
32461 gosling
32462 gossip
32463 gothic
32464 gotten
32465 gout
32466 gown
32511 grab
32512 graceful
32513 graceless
32514 gracious
32515 gradation
32516 graded
32521 grader
32522 gradient
32523 grading
32524 gradually
32525 graduate
32526 graffiti
32531 grafted
32532 grafting
32533 grain
32534 granddad
32535 grandkid
32536 grandly
32541 grandma
32542 grandpa
32543 grandson
32544 granite
32545 granny
32546 granola
32551 grant
32552 granular
32553 grape
32554 graph
32555 grapple
32556 grappling
32561 grasp
32562 grass
32563 gratified
32564 gratify
32565 grating
32566 gratitude
32611 gratuity
32612 gravel
32613 graveness
32614 graves
32615 graveyard
32616 gravitate
32621 gravity
32622 gravy
32623 gray
32624 grazing
32625 greasily
32626 greedily
32631 greedless
32632 greedy
32633 green
32634 greeter
32635 greeting
32636 grew
32641 greyhound
32642 grid
32643 grief
32644 grievance
32645 grieving
32646 grievous
32651 grill
32652 grimace
32653 grimacing
32654 grime
32655 griminess
32656 grimy
32661 grinch
32662 grinning
32663 grip
32664 gristle
32665 grit
32666 groggily
33111 groggy
33112 groin
33113 groom
33114 groove
33115 grooving
33116 groovy
33121 grope
33122 ground
33123 grouped
33124 grout
33125 grove
33126 grower
33131 growing
33132 growl
33133 grub
33134 grudge
33135 grudging
33136 grueling
33141 gruffly
33142 grumble
33143 grumbling
33144 grumbly
33145 grumpily
33146 grunge
33151 grunt
33152 guacamole
33153 guidable
33154 guidance
33155 guide
33156 guiding
33161 guileless
33162 guise
33163 gulf
33164 gullible
33165 gully
33166 gulp
33211 gumball
33212 gumdrop
33213 gumminess
33214 gumming
33215 gummy
33216 gurgle
33221 gurgling
33222 guru
33223 gush
33224 gusto
33225 gusty
33226 gutless
33231 guts
33232 gutter
33233 guy
33234 guzzler
33235 gyration
33236 habitable
33241 habitant
33242 habitat
33243 habitual
33244 hacked
33245 hacker
33246 hacking
33251 hacksaw
33252 had
33253 haggler
33254 haiku
33255 half
33256 halogen
33261 halt
33262 halved
33263 halves
33264 hamburger
33265 hamlet
33266 hammock
33311 hamper
33312 hamster
33313 hamstring
33314 handbag
33315 handball
33316 handbook
33321 handbrake
33322 handcart
33323 handclap
33324 handclasp
33325 handcraft
33326 handcuff
33331 handed
33332 handful
33333 handgrip
33334 handgun
33335 handheld
33336 handiness
33341 handiwork
33342 handlebar
33343 handled
33344 handler
33345 handling
33346 handmade
33351 handoff
33352 handpick
33353 handprint
33354 handrail
33355 handsaw
33356 handset
33361 handsfree
33362 handshake
33363 handstand
33364 handwash
33365 handwork
33366 handwoven
33411 handwrite
33412 handyman
33413 hangnail
33414 hangout
33415 hangover
33416 hangup
33421 hankering
33422 hankie
33423 hanky
33424 haphazard
33425 happening
33426 happier
33431 happiest
33432 happily
33433 happiness
33434 happy
33435 harbor
33436 hardcopy
33441 hardcore
33442 hardcover
33443 harddisk
33444 hardened
33445 hardener
33446 hardening
33451 hardhat
33452 hardhead
33453 hardiness
33454 hardly
33455 hardness
33456 hardship
33461 hardware
33462 hardwired
33463 hardwood
33464 hardy
33465 harmful
33466 harmless
33511 harmonica
33512 harmonics
33513 harmonize
33514 harmony
33515 harness
33516 harpist
33521 harsh
33522 harvest
33523 hash
33524 hassle
33525 haste
33526 hastily
33531 hastiness
33532 hasty
33533 hatbox
33534 hatchback
33535 hatchery
33536 hatchet
33541 hatching
33542 hatchling
33543 hate
33544 hatless
33545 hatred
33546 haunt
33551 haven
33552 hazard
33553 hazelnut
33554 hazily
33555 haziness
33556 hazing
33561 hazy
33562 headache
33563 headband
33564 headboard
33565 headcount
33566 headdress
33611 headed
33612 header
33613 headfirst
33614 headgear
33615 heading
33616 headlamp
33621 headless
33622 headlock
33623 headphone
33624 headpiece
33625 headrest
33626 headroom
33631 headscarf
33632 headset
33633 headsman
33634 headstand
33635 headstone
33636 headway
33641 headwear
33642 heap
33643 heat
33644 heave
33645 heavily
33646 heaviness
33651 heaving
33652 hedge
33653 hedging
33654 heftiness
33655 hefty
33656 helium
33661 helmet
33662 helper
33663 helpful
33664 helping
33665 helpless
33666 helpline
34111 hemlock
34112 hemstitch
34113 hence
34114 henchman
34115 henna
34116 herald
34121 herbal
34122 herbicide
34123 herbs
34124 heritage
34125 hermit
34126 heroics
34131 heroism
34132 herring
34133 herself
34134 hertz
34135 hesitancy
34136 hesitant
34141 hesitate
34142 hexagon
34143 hexagram
34144 hubcap
34145 huddle
34146 huddling
34151 huff
34152 hug
34153 hula
34154 hulk
34155 hull
34156 human
34161 humble
34162 humbling
34163 humbly
34164 humid
34165 humiliate
34166 humility
34211 humming
34212 hummus
34213 humongous
34214 humorist
34215 humorless
34216 humorous
34221 humpback
34222 humped
34223 humvee
34224 hunchback
34225 hundredth
34226 hunger
34231 hungrily
34232 hungry
34233 hunk
34234 hunter
34235 hunting
34236 huntress
34241 huntsman
34242 hurdle
34243 hurled
34244 hurler
34245 hurling
34246 hurray
34251 hurricane
34252 hurried
34253 hurry
34254 hurt
34255 husband
34256 hush
34261 husked
34262 huskiness
34263 hut
34264 hybrid
34265 hydrant
34266 hydrated
34311 hydration
34312 hydrogen
34313 hydroxide
34314 hyperlink
34315 hypertext
34316 hyphen
34321 hypnoses
34322 hypnosis
34323 hypnotic
34324 hypnotism
34325 hypnotist
34326 hypnotize
34331 hypocrisy
34332 hypocrite
34333 ibuprofen
34334 ice
34335 iciness
34336 icing
34341 icky
34342 icon
34343 icy
34344 idealism
34345 idealist
34346 idealize
34351 ideally
34352 idealness
34353 identical
34354 identify
34355 identity
34356 ideology
34361 idiocy
34362 idiom
34363 idly
34364 igloo
34365 ignition
34366 ignore
34411 iguana
34412 illicitly
34413 illusion
34414 illusive
34415 image
34416 imaginary
34421 imagines
34422 imaging
34423 imbecile
34424 imitate
34425 imitation
34426 immature
34431 immerse
34432 immersion
34433 imminent
34434 immobile
34435 immodest
34436 immorally
34441 immortal
34442 immovable
34443 immovably
34444 immunity
34445 immunize
34446 impaired
34451 impale
34452 impart
34453 impatient
34454 impeach
34455 impeding
34456 impending
34461 imperfect
34462 imperial
34463 impish
34464 implant
34465 implement
34466 implicate
34511 implicit
34512 implode
34513 implosion
34514 implosive
34515 imply
34516 impolite
34521 important
34522 importer
34523 impose
34524 imposing
34525 impotence
34526 impotency
34531 impotent
34532 impound
34533 imprecise
34534 imprint
34535 imprison
34536 impromptu
34541 improper
34542 improve
34543 improving
34544 improvise
34545 imprudent
34546 impulse
34551 impulsive
34552 impure
34553 impurity
34554 iodine
34555 iodize
34556 ion
34561 ipad
34562 iphone
34563 ipod
34564 irate
34565 irk
34566 iron
34611 irregular
34612 irrigate
34613 irritable
34614 irritably
34615 irritant
34616 irritate
34621 islamic
34622 islamist
34623 isolated
34624 isolating
34625 isolation
34626 isotope
34631 issue
34632 issuing
34633 italicize
34634 italics
34635 item
34636 itinerary
34641 itunes
34642 ivory
34643 ivy
34644 jab
34645 jackal
34646 jacket
34651 jackknife
34652 jackpot
34653 jailbird
34654 jailbreak
34655 jailer
34656 jailhouse
34661 jalapeno
34662 jam
34663 janitor
34664 january
34665 jargon
34666 jarring
35111 jasmine
35112 jaundice
35113 jaunt
35114 java
35115 jawed
35116 jawless
35121 jawline
35122 jaws
35123 jaybird
35124 jaywalker
35125 jazz
35126 jeep
35131 jeeringly
35132 jellied
35133 jelly
35134 jersey
35135 jester
35136 jet
35141 jiffy
35142 jigsaw
35143 jimmy
35144 jingle
35145 jingling
35146 jinx
35151 jitters
35152 jittery
35153 job
35154 jockey
35155 jockstrap
35156 jogger
35161 jogging
35162 john
35163 joining
35164 jokester
35165 jokingly
35166 jolliness
35211 jolly
35212 jolt
35213 jot
35214 jovial
35215 joyfully
35216 joylessly
35221 joyous
35222 joyride
35223 joystick
35224 jubilance
35225 jubilant
35226 judge
35231 judgingly
35232 judicial
35233 judiciary
35234 judo
35235 juggle
35236 juggling
35241 jugular
35242 juice
35243 juiciness
35244 juicy
35245 jujitsu
35246 jukebox
35251 july
35252 jumble
35253 jumbo
35254 jump
35255 junction
35256 juncture
35261 june
35262 junior
35263 juniper
35264 junkie
35265 junkman
35266 junkyard
35311 jurist
35312 juror
35313 jury
35314 justice
35315 justifier
35316 justify
35321 justly
35322 justness
35323 juvenile
35324 kabob
35325 kangaroo
35326 karaoke
35331 karate
35332 karma
35333 kebab
35334 keenly
35335 keenness
35336 keep
35341 keg
35342 kelp
35343 kennel
35344 kept
35345 kerchief
35346 kerosene
35351 kettle
35352 kick
35353 kiln
35354 kilobyte
35355 kilogram
35356 kilometer
35361 kilowatt
35362 kilt
35363 kimono
35364 kindle
35365 kindling
35366 kindly
35411 kindness
35412 kindred
35413 kinetic
35414 kinfolk
35415 king
35416 kinship
35421 kinsman
35422 kinswoman
35423 kissable
35424 kisser
35425 kissing
35426 kitchen
35431 kite
35432 kitten
35433 kitty
35434 kiwi
35435 kleenex
35436 knapsack
35441 knee
35442 knelt
35443 knickers
35444 knoll
35445 koala
35446 kooky
35451 kosher
35452 krypton
35453 kudos
35454 kung
35455 labored
35456 laborer
35461 laboring
35462 laborious
35463 labrador
35464 ladder
35465 ladies
35466 ladle
35511 ladybug
35512 ladylike
35513 lagged
35514 lagging
35515 lagoon
35516 lair
35521 lake
35522 lance
35523 landed
35524 landfall
35525 landfill
35526 landing
35531 landlady
35532 landless
35533 landline
35534 landlord
35535 landmark
35536 landmass
35541 landmine
35542 landowner
35543 landscape
35544 landside
35545 landslide
35546 language
35551 lankiness
35552 lanky
35553 lantern
35554 lapdog
35555 lapel
35556 lapped
35561 lapping
35562 laptop
35563 lard
35564 large
35565 lark
35566 lash
35611 lasso
35612 last
35613 latch
35614 late
35615 lather
35616 latitude
35621 latrine
35622 latter
35623 latticed
35624 launch
35625 launder
35626 laundry
35631 laurel
35632 lavender
35633 lavish
35634 laxative
35635 lazily
35636 laziness
35641 lazy
35642 lecturer
35643 left
35644 legacy
35645 legal
35646 legend
35651 legged
35652 leggings
35653 legible
35654 legibly
35655 legislate
35656 lego
35661 legroom
35662 legume
35663 legwarmer
35664 legwork
35665 lemon
35666 lend
36111 length
36112 lens
36113 lent
36114 leotard
36115 lesser
36116 letdown
36121 lethargic
36122 lethargy
36123 letter
36124 lettuce
36125 level
36126 leverage
36131 levers
36132 levitate
36133 levitator
36134 liability
36135 liable
36136 liberty
36141 librarian
36142 library
36143 licking
36144 licorice
36145 lid
36146 life
36151 lifter
36152 lifting
36153 liftoff
36154 ligament
36155 likely
36156 likeness
36161 likewise
36162 liking
36163 lilac
36164 lilly
36165 lily
36166 limb
36211 limeade
36212 limelight
36213 limes
36214 limit
36215 limping
36216 limpness
36221 line
36222 lingo
36223 linguini
36224 linguist
36225 lining
36226 linked
36231 linoleum
36232 linseed
36233 lint
36234 lion
36235 lip
36236 liquefy
36241 liqueur
36242 liquid
36243 lisp
36244 list
36245 litigate
36246 litigator
36251 litmus
36252 litter
36253 little
36254 livable
36255 lived
36256 lively
36261 liver
36262 livestock
36263 lividly
36264 living
36265 lizard
36266 lubricant
36311 lubricate
36312 lucid
36313 luckily
36314 luckiness
36315 luckless
36316 lucrative
36321 ludicrous
36322 lugged
36323 lukewarm
36324 lullaby
36325 lumber
36326 luminance
36331 luminous
36332 lumpiness
36333 lumping
36334 lumpish
36335 lunacy
36336 lunar
36341 lunchbox
36342 luncheon
36343 lunchroom
36344 lunchtime
36345 lung
36346 lurch
36351 lure
36352 luridness
36353 lurk
36354 lushly
36355 lushness
36356 luster
36361 lustfully
36362 lustily
36363 lustiness
36364 lustrous
36365 lusty
36366 luxurious
36411 luxury
36412 lying
36413 lyrically
36414 lyricism
36415 lyricist
36416 lyrics
36421 macarena
36422 macaroni
36423 macaw
36424 mace
36425 machine
36426 machinist
36431 magazine
36432 magenta
36433 maggot
36434 magical
36435 magician
36436 magma
36441 magnesium
36442 magnetic
36443 magnetism
36444 magnetize
36445 magnifier
36446 magnify
36451 magnitude
36452 magnolia
36453 mahogany
36454 maimed
36455 majestic
36456 majesty
36461 majorette
36462 majority
36463 makeover
36464 maker
36465 makeshift
36466 making
36511 malformed
36512 malt
36513 mama
36514 mammal
36515 mammary
36516 mammogram
36521 manager
36522 managing
36523 manatee
36524 mandarin
36525 mandate
36526 mandatory
36531 mandolin
36532 manger
36533 mangle
36534 mango
36535 mangy
36536 manhandle
36541 manhole
36542 manhood
36543 manhunt
36544 manicotti
36545 manicure
36546 manifesto
36551 manila
36552 mankind
36553 manlike
36554 manliness
36555 manly
36556 manmade
36561 manned
36562 mannish
36563 manor
36564 manpower
36565 mantis
36566 mantra
36611 manual
36612 many
36613 map
36614 marathon
36615 marauding
36616 marbled
36621 marbles
36622 marbling
36623 march
36624 mardi
36625 margarine
36626 margarita
36631 margin
36632 marigold
36633 marina
36634 marine
36635 marital
36636 maritime
36641 marlin
36642 marmalade
36643 maroon
36644 married
36645 marrow
36646 marry
36651 marshland
36652 marshy
36653 marsupial
36654 marvelous
36655 marxism
36656 mascot
36661 masculine
36662 mashed
36663 mashing
36664 massager
36665 masses
36666 massive
41111 mastiff
41112 matador
41113 matchbook
41114 matchbox
41115 matcher
41116 matching
41121 matchless
41122 material
41123 maternal
41124 maternity
41125 math
41126 mating
41131 matriarch
41132 matrimony
41133 matrix
41134 matron
41135 matted
41136 matter
41141 maturely
41142 maturing
41143 maturity
41144 mauve
41145 maverick
41146 maximize
41151 maximum
41152 maybe
41153 mayday
41154 mayflower
41155 moaner
41156 moaning
41161 mobile
41162 mobility
41163 mobilize
41164 mobster
41165 mocha
41166 mocker
41211 mockup
41212 modified
41213 modify
41214 modular
41215 modulator
41216 module
41221 moisten
41222 moistness
41223 moisture
41224 molar
41225 molasses
41226 mold
41231 molecular
41232 molecule
41233 molehill
41234 mollusk
41235 mom
41236 monastery
41241 monday
41242 monetary
41243 monetize
41244 moneybags
41245 moneyless
41246 moneywise
41251 mongoose
41252 mongrel
41253 monitor
41254 monkhood
41255 monogamy
41256 monogram
41261 monologue
41262 monopoly
41263 monorail
41264 monotone
41265 monotype
41266 monoxide
41311 monsieur
41312 monsoon
41313 monstrous
41314 monthly
41315 monument
41316 moocher
41321 moodiness
41322 moody
41323 mooing
41324 moonbeam
41325 mooned
41326 moonlight
41331 moonlike
41332 moonlit
41333 moonrise
41334 moonscape
41335 moonshine
41336 moonstone
41341 moonwalk
41342 mop
41343 morale
41344 morality
41345 morally
41346 morbidity
41351 morbidly
41352 morphine
41353 morphing
41354 morse
41355 mortality
41356 mortally
41361 mortician
41362 mortified
41363 mortify
41364 mortuary
41365 mosaic
41366 mossy
41411 most
41412 mothball
41413 mothproof
41414 motion
41415 motivate
41416 motivator
41421 motive
41422 motocross
41423 motor
41424 motto
41425 mountable
41426 mountain
41431 mounted
41432 mounting
41433 mourner
41434 mournful
41435 mouse
41436 mousiness
41441 moustache
41442 mousy
41443 mouth
41444 movable
41445 move
41446 movie
41451 moving
41452 mower
41453 mowing
41454 much
41455 muck
41456 mud
41461 mug
41462 mulberry
41463 mulch
41464 mule
41465 mulled
41466 mullets
41511 multiple
41512 multiply
41513 multitask
41514 multitude
41515 mumble
41516 mumbling
41521 mumbo
41522 mummified
41523 mummify
41524 mummy
41525 mumps
41526 munchkin
41531 mundane
41532 municipal
41533 muppet
41534 mural
41535 murkiness
41536 murky
41541 murmuring
41542 muscular
41543 museum
41544 mushily
41545 mushiness
41546 mushroom
41551 mushy
41552 music
41553 musket
41554 muskiness
41555 musky
41556 mustang
41561 mustard
41562 muster
41563 mustiness
41564 musty
41565 mutable
41566 mutate
41611 mutation
41612 mute
41613 mutilated
41614 mutilator
41615 mutiny
41616 mutt
41621 mutual
41622 muzzle
41623 myself
41624 myspace
41625 mystified
41626 mystify
41631 myth
41632 nacho
41633 nag
41634 nail
41635 name
41636 naming
41641 nanny
41642 nanometer
41643 nape
41644 napkin
41645 napped
41646 napping
41651 nappy
41652 narrow
41653 nastily
41654 nastiness
41655 national
41656 native
41661 nativity
41662 natural
41663 nature
41664 naturist
41665 nautical
41666 navigate
42111 navigator
42112 navy
42113 nearby
42114 nearest
42115 nearly
42116 nearness
42121 neatly
42122 neatness
42123 nebula
42124 nebulizer
42125 nectar
42126 negate
42131 negation
42132 negative
42133 neglector
42134 negligee
42135 negligent
42136 negotiate
42141 nemeses
42142 nemesis
42143 neon
42144 nephew
42145 nerd
42146 nervous
42151 nervy
42152 nest
42153 net
42154 neurology
42155 neuron
42156 neurosis
42161 neurotic
42162 neuter
42163 neutron
42164 never
42165 next
42166 nibble
42211 nickname
42212 nicotine
42213 niece
42214 nifty
42215 nimble
42216 nimbly
42221 nineteen
42222 ninetieth
42223 ninja
42224 nintendo
42225 ninth
42226 nuclear
42231 nuclei
42232 nucleus
42233 nugget
42234 nullify
42235 number
42236 numbing
42241 numbly
42242 numbness
42243 numeral
42244 numerate
42245 numerator
42246 numeric
42251 numerous
42252 nuptials
42253 nursery
42254 nursing
42255 nurture
42256 nutcase
42261 nutlike
42262 nutmeg
42263 nutrient
42264 nutshell
42265 nuttiness
42266 nutty
42311 nuzzle
42312 nylon
42313 oaf
42314 oak
42315 oasis
42316 oat
42321 obedience
42322 obedient
42323 obituary
42324 object
42325 obligate
42326 obliged
42331 oblivion
42332 oblivious
42333 oblong
42334 obnoxious
42335 oboe
42336 obscure
42341 obscurity
42342 observant
42343 observer
42344 observing
42345 obsessed
42346 obsession
42351 obsessive
42352 obsolete
42353 obstacle
42354 obstinate
42355 obstruct
42356 obtain
42361 obtrusive
42362 obtuse
42363 obvious
42364 occultist
42365 occupancy
42366 occupant
42411 occupier
42412 occupy
42413 ocean
42414 ocelot
42415 octagon
42416 octane
42421 october
42422 octopus
42423 ogle
42424 oil
42425 oink
42426 ointment
42431 okay
42432 old
42433 olive
42434 olympics
42435 omega
42436 omen
42441 ominous
42442 omission
42443 omit
42444 omnivore
42445 onboard
42446 oncoming
42451 ongoing
42452 onion
42453 online
42454 onlooker
42455 only
42456 onscreen
42461 onset
42462 onshore
42463 onslaught
42464 onstage
42465 onto
42466 onward
42511 onyx
42512 oops
42513 ooze
42514 oozy
42515 opacity
42516 opal
42521 open
42522 operable
42523 operate
42524 operating
42525 operation
42526 operative
42531 operator
42532 opium
42533 opossum
42534 opponent
42535 oppose
42536 opposing
42541 opposite
42542 oppressed
42543 oppressor
42544 opt
42545 opulently
42546 osmosis
42551 other
42552 otter
42553 ouch
42554 ought
42555 ounce
42556 outage
42561 outback
42562 outbid
42563 outboard
42564 outbound
42565 outbreak
42566 outburst
42611 outcast
42612 outclass
42613 outcome
42614 outdated
42615 outdoors
42616 outer
42621 outfield
42622 outfit
42623 outflank
42624 outgoing
42625 outgrow
42626 outhouse
42631 outing
42632 outlast
42633 outlet
42634 outline
42635 outlook
42636 outlying
42641 outmatch
42642 outmost
42643 outnumber
42644 outplayed
42645 outpost
42646 outpour
42651 output
42652 outrage
42653 outrank
42654 outreach
42655 outright
42656 outscore
42661 outsell
42662 outshine
42663 outshoot
42664 outsider
42665 outskirts
42666 outsmart
43111 outsource
43112 outspoken
43113 outtakes
43114 outthink
43115 outward
43116 outweigh
43121 outwit
43122 oval
43123 ovary
43124 oven
43125 overact
43126 overall
43131 overarch
43132 overbid
43133 overbill
43134 overbite
43135 overblown
43136 overboard
43141 overbook
43142 overbuilt
43143 overcast
43144 overcoat
43145 overcome
43146 overcook
43151 overcrowd
43152 overdraft
43153 overdrawn
43154 overdress
43155 overdrive
43156 overdue
43161 overeager
43162 overeater
43163 overexert
43164 overfed
43165 overfeed
43166 overfill
43211 overflow
43212 overfull
43213 overgrown
43214 overhand
43215 overhang
43216 overhaul
43221 overhead
43222 overhear
43223 overheat
43224 overhung
43225 overjoyed
43226 overkill
43231 overlabor
43232 overlaid
43233 overlap
43234 overlay
43235 overload
43236 overlook
43241 overlord
43242 overlying
43243 overnight
43244 overpass
43245 overpay
43246 overplant
43251 overplay
43252 overpower
43253 overprice
43254 overrate
43255 overreach
43256 overreact
43261 override
43262 overripe
43263 overrule
43264 overrun
43265 overshoot
43266 overshot
43311 oversight
43312 oversized
43313 oversleep
43314 oversold
43315 overspend
43316 overstate
43321 overstay
43322 overstep
43323 overstock
43324 overstuff
43325 oversweet
43326 overtake
43331 overthrow
43332 overtime
43333 overtly
43334 overtone
43335 overture
43336 overturn
43341 overuse
43342 overvalue
43343 overview
43344 overwrite
43345 owl
43346 oxford
43351 oxidant
43352 oxidation
43353 oxidize
43354 oxidizing
43355 oxygen
43356 oxymoron
43361 oyster
43362 ozone
43363 paced
43364 pacemaker
43365 pacific
43366 pacifier
43411 pacifism
43412 pacifist
43413 pacify
43414 padded
43415 padding
43416 paddle
43421 paddling
43422 padlock
43423 pagan
43424 pager
43425 paging
43426 pajamas
43431 palace
43432 palatable
43433 palm
43434 palpable
43435 palpitate
43436 paltry
43441 pampered
43442 pamperer
43443 pampers
43444 pamphlet
43445 panama
43446 pancake
43451 pancreas
43452 panda
43453 pandemic
43454 pang
43455 panhandle
43456 panic
43461 panning
43462 panorama
43463 panoramic
43464 panther
43465 pantomime
43466 pantry
43511 pants
43512 pantyhose
43513 paparazzi
43514 papaya
43515 paper
43516 paprika
43521 papyrus
43522 parabola
43523 parachute
43524 parade
43525 paradox
43526 paragraph
43531 parakeet
43532 paralegal
43533 paralyses
43534 paralysis
43535 paralyze
43536 paramedic
43541 parameter
43542 paramount
43543 parasail
43544 parasite
43545 parasitic
43546 parcel
43551 parched
43552 parchment
43553 pardon
43554 parish
43555 parka
43556 parking
43561 parkway
43562 parlor
43563 parmesan
43564 parole
43565 parrot
43566 parsley
43611 parsnip
43612 partake
43613 parted
43614 parting
43615 partition
43616 partly
43621 partner
43622 partridge
43623 party
43624 passable
43625 passably
43626 passage
43631 passcode
43632 passenger
43633 passerby
43634 passing
43635 passion
43636 passive
43641 passivism
43642 passover
43643 passport
43644 password
43645 pasta
43646 pasted
43651 pastel
43652 pastime
43653 pastor
43654 pastrami
43655 pasture
43656 pasty
43661 patchwork
43662 patchy
43663 paternal
43664 paternity
43665 path
43666 patience
44111 patient
44112 patio
44113 patriarch
44114 patriot
44115 patrol
44116 patronage
44121 patronize
44122 pauper
44123 pavement
44124 paver
44125 pavestone
44126 pavilion
44131 paving
44132 pawing
44133 payable
44134 payback
44135 paycheck
44136 payday
44141 payee
44142 payer
44143 paying
44144 payment
44145 payphone
44146 payroll
44151 pebble
44152 pebbly
44153 pecan
44154 pectin
44155 peculiar
44156 peddling
44161 pediatric
44162 pedicure
44163 pedigree
44164 pedometer
44165 pegboard
44166 pelican
44211 pellet
44212 pelt
44213 pelvis
44214 penalize
44215 penalty
44216 pencil
44221 pendant
44222 pending
44223 penholder
44224 penknife
44225 pennant
44226 penniless
44231 penny
44232 penpal
44233 pension
44234 pentagon
44235 pentagram
44236 pep
44241 perceive
44242 percent
44243 perch
44244 percolate
44245 perennial
44246 perfected
44251 perfectly
44252 perfume
44253 periscope
44254 perish
44255 perjurer
44256 perjury
44261 perkiness
44262 perky
44263 perm
44264 peroxide
44265 perpetual
44266 perplexed
44311 persecute
44312 persevere
44313 persuaded
44314 persuader
44315 pesky
44316 peso
44321 pessimism
44322 pessimist
44323 pester
44324 pesticide
44325 petal
44326 petite
44331 petition
44332 petri
44333 petroleum
44334 petted
44335 petticoat
44336 pettiness
44341 petty
44342 petunia
44343 phantom
44344 phobia
44345 phoenix
44346 phonebook
44351 phoney
44352 phonics
44353 phoniness
44354 phony
44355 phosphate
44356 photo
44361 phrase
44362 phrasing
44363 placard
44364 placate
44365 placidly
44366 plank
44411 planner
44412 plant
44413 plasma
44414 plaster
44415 plastic
44416 plated
44421 platform
44422 plating
44423 platinum
44424 platonic
44425 platter
44426 platypus
44431 plausible
44432 plausibly
44433 playable
44434 playback
44435 player
44436 playful
44441 playgroup
44442 playhouse
44443 playing
44444 playlist
44445 playmaker
44446 playmate
44451 playoff
44452 playpen
44453 playroom
44454 playset
44455 plaything
44456 playtime
44461 plaza
44462 pleading
44463 pleat
44464 pledge
44465 plentiful
44466 plenty
44511 plethora
44512 plexiglas
44513 pliable
44514 plod
44515 plop
44516 plot
44521 plow
44522 ploy
44523 pluck
44524 plug
44525 plunder
44526 plunging
44531 plural
44532 plus
44533 plutonium
44534 plywood
44535 poach
44536 pod
44541 poem
44542 poet
44543 pogo
44544 pointed
44545 pointer
44546 pointing
44551 pointless
44552 pointy
44553 poise
44554 poison
44555 poker
44556 poking
44561 polar
44562 police
44563 policy
44564 polio
44565 polish
44566 politely
44611 polka
44612 polo
44613 polyester
44614 polygon
44615 polygraph
44616 polymer
44621 poncho
44622 pond
44623 pony
44624 popcorn
44625 pope
44626 poplar
44631 popper
44632 poppy
44633 popsicle
44634 populace
44635 popular
44636 populate
44641 porcupine
44642 pork
44643 porous
44644 porridge
44645 portable
44646 portal
44651 portfolio
44652 porthole
44653 portion
44654 portly
44655 portside
44656 poser
44661 posh
44662 posing
44663 possible
44664 possibly
44665 possum
44666 postage
45111 postal
45112 postbox
45113 postcard
45114 posted
45115 poster
45116 posting
45121 postnasal
45122 posture
45123 postwar
45124 pouch
45125 pounce
45126 pouncing
45131 pound
45132 pouring
45133 pout
45134 powdered
45135 powdering
45136 powdery
45141 power
45142 powwow
45143 pox
45144 praising
45145 prance
45146 prancing
45151 pranker
45152 prankish
45153 prankster
45154 prayer
45155 praying
45156 preacher
45161 preaching
45162 preachy
45163 preamble
45164 precinct
45165 precise
45166 precision
45211 precook
45212 precut
45213 predator
45214 predefine
45215 predict
45216 preface
45221 prefix
45222 preflight
45223 preformed
45224 pregame
45225 pregnancy
45226 pregnant
45231 preheated
45232 prelaunch
45233 prelaw
45234 prelude
45235 premiere
45236 premises
45241 premium
45242 prenatal
45243 preoccupy
45244 preorder
45245 prepaid
45246 prepay
45251 preplan
45252 preppy
45253 preschool
45254 prescribe
45255 preseason
45256 preset
45261 preshow
45262 president
45263 presoak
45264 press
45265 presume
45266 presuming
45311 preteen
45312 pretended
45313 pretender
45314 pretense
45315 pretext
45316 pretty
45321 pretzel
45322 prevail
45323 prevalent
45324 prevent
45325 preview
45326 previous
45331 prewar
45332 prewashed
45333 prideful
45334 pried
45335 primal
45336 primarily
45341 primary
45342 primate
45343 primer
45344 primp
45345 princess
45346 print
45351 prior
45352 prism
45353 prison
45354 prissy
45355 pristine
45356 privacy
45361 private
45362 privatize
45363 prize
45364 proactive
45365 probable
45366 probably
45411 probation
45412 probe
45413 probing
45414 probiotic
45415 problem
45416 procedure
45421 process
45422 proclaim
45423 procreate
45424 procurer
45425 prodigal
45426 prodigy
45431 produce
45432 product
45433 profane
45434 profanity
45435 professed
45436 professor
45441 profile
45442 profound
45443 profusely
45444 progeny
45445 prognosis
45446 program
45451 progress
45452 projector
45453 prologue
45454 prolonged
45455 promenade
45456 prominent
45461 promoter
45462 promotion
45463 prompter
45464 promptly
45465 prone
45466 prong
45511 pronounce
45512 pronto
45513 proofing
45514 proofread
45515 proofs
45516 propeller
45521 properly
45522 property
45523 proponent
45524 proposal
45525 propose
45526 props
45531 prorate
45532 protector
45533 protegee
45534 proton
45535 prototype
45536 protozoan
45541 protract
45542 protrude
45543 proud
45544 provable
45545 proved
45546 proven
45551 provided
45552 provider
45553 providing
45554 province
45555 proving
45556 provoke
45561 provoking
45562 provolone
45563 prowess
45564 prowler
45565 prowling
45566 proximity
45611 proxy
45612 prozac
45613 prude
45614 prudishly
45615 prune
45616 pruning
45621 pry
45622 psychic
45623 public
45624 publisher
45625 pucker
45626 pueblo
45631 pug
45632 pull
45633 pulmonary
45634 pulp
45635 pulsate
45636 pulse
45641 pulverize
45642 puma
45643 pumice
45644 pummel
45645 punch
45646 punctual
45651 punctuate
45652 punctured
45653 pungent
45654 punisher
45655 punk
45656 pupil
45661 puppet
45662 puppy
45663 purchase
45664 pureblood
45665 purebred
45666 purely
46111 pureness
46112 purgatory
46113 purge
46114 purging
46115 purifier
46116 purify
46121 purist
46122 puritan
46123 purity
46124 purple
46125 purplish
46126 purposely
46131 purr
46132 purse
46133 pursuable
46134 pursuant
46135 pursuit
46136 purveyor
46141 pushcart
46142 pushchair
46143 pusher
46144 pushiness
46145 pushing
46146 pushover
46151 pushpin
46152 pushup
46153 pushy
46154 putdown
46155 putt
46156 puzzle
46161 puzzling
46162 pyramid
46163 pyromania
46164 python
46165 quack
46166 quadrant
46211 quail
46212 quaintly
46213 quake
46214 quaking
46215 qualified
46216 qualifier
46221 qualify
46222 quality
46223 qualm
46224 quantum
46225 quarrel
46226 quarry
46231 quartered
46232 quarterly
46233 quarters
46234 quartet
46235 quench
46236 query
46241 quicken
46242 quickly
46243 quickness
46244 quicksand
46245 quickstep
46246 quiet
46251 quill
46252 quilt
46253 quintet
46254 quintuple
46255 quirk
46256 quit
46261 quiver
46262 quizzical
46263 quotable
46264 quotation
46265 quote
46266 rabid
46311 race
46312 racing
46313 racism
46314 rack
46315 racoon
46316 radar
46321 radial
46322 radiance
46323 radiantly
46324 radiated
46325 radiation
46326 radiator
46331 radio
46332 radish
46333 raffle
46334 raft
46335 rage
46336 ragged
46341 raging
46342 ragweed
46343 raider
46344 railcar
46345 railing
46346 railroad
46351 railway
46352 raisin
46353 rake
46354 raking
46355 rally
46356 ramble
46361 rambling
46362 ramp
46363 ramrod
46364 ranch
46365 rancidity
46366 random
46411 ranged
46412 ranger
46413 ranging
46414 ranked
46415 ranking
46416 ransack
46421 ranting
46422 rants
46423 rare
46424 rarity
46425 rascal
46426 rash
46431 rasping
46432 ravage
46433 raven
46434 ravine
46435 raving
46436 ravioli
46441 ravishing
46442 reabsorb
46443 reach
46444 reacquire
46445 reaction
46446 reactive
46451 reactor
46452 reaffirm
46453 ream
46454 reanalyze
46455 reappear
46456 reapply
46461 reappoint
46462 reapprove
46463 rearrange
46464 rearview
46465 reason
46466 reassign
46511 reassure
46512 reattach
46513 reawake
46514 rebalance
46515 rebate
46516 rebel
46521 rebirth
46522 reboot
46523 reborn
46524 rebound
46525 rebuff
46526 rebuild
46531 rebuilt
46532 reburial
46533 rebuttal
46534 recall
46535 recant
46536 recapture
46541 recast
46542 recede
46543 recent
46544 recess
46545 recharger
46546 recipient
46551 recital
46552 recite
46553 reckless
46554 reclaim
46555 recliner
46556 reclining
46561 recluse
46562 reclusive
46563 recognize
46564 recoil
46565 recollect
46566 recolor
46611 reconcile
46612 reconfirm
46613 reconvene
46614 recopy
46615 record
46616 recount
46621 recoup
46622 recovery
46623 recreate
46624 rectal
46625 rectangle
46626 rectified
46631 rectify
46632 recycled
46633 recycler
46634 recycling
46635 reemerge
46636 reenact
46641 reenter
46642 reentry
46643 reexamine
46644 referable
46645 referee
46646 reference
46651 refill
46652 refinance
46653 refined
46654 refinery
46655 refining
46656 refinish
46661 reflected
46662 reflector
46663 reflex
46664 reflux
46665 refocus
46666 refold
51111 reforest
51112 reformat
51113 reformed
51114 reformer
51115 reformist
51116 refract
51121 refrain
51122 refreeze
51123 refresh
51124 refried
51125 refueling
51126 refund
51131 refurbish
51132 refurnish
51133 refusal
51134 refuse
51135 refusing
51136 refutable
51141 refute
51142 regain
51143 regalia
51144 regally
51145 reggae
51146 regime
51151 region
51152 register
51153 registrar
51154 registry
51155 regress
51156 regretful
51161 regroup
51162 regular
51163 regulate
51164 regulator
51165 rehab
51166 reheat
51211 rehire
51212 rehydrate
51213 reimburse
51214 reissue
51215 reiterate
51216 rejoice
51221 rejoicing
51222 rejoin
51223 rekindle
51224 relapse
51225 relapsing
51226 relatable
51231 related
51232 relation
51233 relative
51234 relax
51235 relay
51236 relearn
51241 release
51242 relenting
51243 reliable
51244 reliably
51245 reliance
51246 reliant
51251 relic
51252 relieve
51253 relieving
51254 relight
51255 relish
51256 relive
51261 reload
51262 relocate
51263 relock
51264 reluctant
51265 rely
51266 remake
51311 remark
51312 remarry
51313 rematch
51314 remedial
51315 remedy
51316 remember
51321 reminder
51322 remindful
51323 remission
51324 remix
51325 remnant
51326 remodeler
51331 remold
51332 remorse
51333 remote
51334 removable
51335 removal
51336 removed
51341 remover
51342 removing
51343 rename
51344 renderer
51345 rendering
51346 rendition
51351 renegade
51352 renewable
51353 renewably
51354 renewal
51355 renewed
51356 renounce
51361 renovate
51362 renovator
51363 rentable
51364 rental
51365 rented
51366 renter
51411 reoccupy
51412 reoccur
51413 reopen
51414 reorder
51415 repackage
51416 repacking
51421 repaint
51422 repair
51423 repave
51424 repaying
51425 repayment
51426 repeal
51431 repeated
51432 repeater
51433 repent
51434 rephrase
51435 replace
51436 replay
51441 replica
51442 reply
51443 reporter
51444 repose
51445 repossess
51446 repost
51451 repressed
51452 reprimand
51453 reprint
51454 reprise
51455 reproach
51456 reprocess
51461 reproduce
51462 reprogram
51463 reps
51464 reptile
51465 reptilian
51466 repugnant
51511 repulsion
51512 repulsive
51513 repurpose
51514 reputable
51515 reputably
51516 request
51521 require
51522 requisite
51523 reroute
51524 rerun
51525 resale
51526 resample
51531 rescuer
51532 reseal
51533 research
51534 reselect
51535 reseller
51536 resemble
51541 resend
51542 resent
51543 reset
51544 reshape
51545 reshoot
51546 reshuffle
51551 residence
51552 residency
51553 resident
51554 residual
51555 residue
51556 resigned
51561 resilient
51562 resistant
51563 resisting
51564 resize
51565 resolute
51566 resolved
51611 resonant
51612 resonate
51613 resort
51614 resource
51615 respect
51616 resubmit
51621 result
51622 resume
51623 resupply
51624 resurface
51625 resurrect
51626 retail
51631 retainer
51632 retaining
51633 retake
51634 retaliate
51635 retention
51636 rethink
51641 retinal
51642 retired
51643 retiree
51644 retiring
51645 retold
51646 retool
51651 retorted
51652 retouch
51653 retrace
51654 retract
51655 retrain
51656 retread
51661 retreat
51662 retrial
51663 retrieval
51664 retriever
51665 retry
51666 return
52111 retying
52112 retype
52113 reunion
52114 reunite
52115 reusable
52116 reuse
52121 reveal
52122 reveler
52123 revenge
52124 revenue
52125 reverb
52126 revered
52131 reverence
52132 reverend
52133 reversal
52134 reverse
52135 reversing
52136 reversion
52141 revert
52142 revisable
52143 revise
52144 revision
52145 revisit
52146 revivable
52151 revival
52152 reviver
52153 reviving
52154 revocable
52155 revoke
52156 revolt
52161 revolver
52162 revolving
52163 reward
52164 rewash
52165 rewind
52166 rewire
52211 reword
52212 rework
52213 rewrap
52214 rewrite
52215 rhyme
52216 ribbon
52221 ribcage
52222 rice
52223 riches
52224 richly
52225 richness
52226 rickety
52231 ricotta
52232 riddance
52233 ridden
52234 ride
52235 riding
52236 rifling
52241 rift
52242 rigging
52243 rigid
52244 rigor
52245 rimless
52246 rimmed
52251 rind
52252 rink
52253 rinse
52254 rinsing
52255 riot
52256 ripcord
52261 ripeness
52262 ripening
52263 ripping
52264 ripple
52265 rippling
52266 riptide
52311 rise
52312 rising
52313 risk
52314 risotto
52315 ritalin
52316 ritzy
52321 rival
52322 riverbank
52323 riverbed
52324 riverboat
52325 riverside
52326 riveter
52331 riveting
52332 roamer
52333 roaming
52334 roast
52335 robbing
52336 robe
52341 robin
52342 robotics
52343 robust
52344 rockband
52345 rocker
52346 rocket
52351 rockfish
52352 rockiness
52353 rocking
52354 rocklike
52355 rockslide
52356 rockstar
52361 rocky
52362 rogue
52363 roman
52364 romp
52365 rope
52366 roping
52411 roster
52412 rosy
52413 rotten
52414 rotting
52415 rotunda
52416 roulette
52421 rounding
52422 roundish
52423 roundness
52424 roundup
52425 roundworm
52426 routine
52431 routing
52432 rover
52433 roving
52434 royal
52435 rubbed
52436 rubber
52441 rubbing
52442 rubble
52443 rubdown
52444 ruby
52445 ruckus
52446 rudder
52451 rug
52452 ruined
52453 rule
52454 rumble
52455 rumbling
52456 rummage
52461 rumor
52462 runaround
52463 rundown
52464 runner
52465 running
52466 runny
52511 runt
52512 runway
52513 rupture
52514 rural
52515 ruse
52516 rush
52521 rust
52522 rut
52523 sabbath
52524 sabotage
52525 sacrament
52526 sacred
52531 sacrifice
52532 sadden
52533 saddlebag
52534 saddled
52535 saddling
52536 sadly
52541 sadness
52542 safari
52543 safeguard
52544 safehouse
52545 safely
52546 safeness
52551 saffron
52552 saga
52553 sage
52554 sagging
52555 saggy
52556 said
52561 saint
52562 sake
52563 salad
52564 salami
52565 salaried
52566 salary
52611 saline
52612 salon
52613 saloon
52614 salsa
52615 salt
52616 salutary
52621 salute
52622 salvage
52623 salvaging
52624 salvation
52625 same
52626 sample
52631 sampling
52632 sanction
52633 sanctity
52634 sanctuary
52635 sandal
52636 sandbag
52641 sandbank
52642 sandbar
52643 sandblast
52644 sandbox
52645 sanded
52646 sandfish
52651 sanding
52652 sandlot
52653 sandpaper
52654 sandpit
52655 sandstone
52656 sandstorm
52661 sandworm
52662 sandy
52663 sanitary
52664 sanitizer
52665 sank
52666 santa
53111 sapling
53112 sappiness
53113 sappy
53114 sarcasm
53115 sarcastic
53116 sardine
53121 sash
53122 sasquatch
53123 sassy
53124 satchel
53125 satiable
53126 satin
53131 satirical
53132 satisfied
53133 satisfy
53134 saturate
53135 saturday
53136 sauciness
53141 saucy
53142 sauna
53143 savage
53144 savanna
53145 saved
53146 savings
53151 savior
53152 savor
53153 saxophone
53154 say
53155 scabbed
53156 scabby
53161 scalded
53162 scalding
53163 scale
53164 scaling
53165 scallion
53166 scallop
53211 scalping
53212 scam
53213 scandal
53214 scanner
53215 scanning
53216 scant
53221 scapegoat
53222 scarce
53223 scarcity
53224 scarecrow
53225 scared
53226 scarf
53231 scarily
53232 scariness
53233 scarring
53234 scary
53235 scavenger
53236 scenic
53241 schedule
53242 schematic
53243 scheme
53244 scheming
53245 schilling
53246 schnapps
53251 scholar
53252 science
53253 scientist
53254 scion
53255 scoff
53256 scolding
53261 scone
53262 scoop
53263 scooter
53264 scope
53265 scorch
53266 scorebook
53311 scorecard
53312 scored
53313 scoreless
53314 scorer
53315 scoring
53316 scorn
53321 scorpion
53322 scotch
53323 scoundrel
53324 scoured
53325 scouring
53326 scouting
53331 scouts
53332 scowling
53333 scrabble
53334 scraggly
53335 scrambled
53336 scrambler
53341 scrap
53342 scratch
53343 scrawny
53344 screen
53345 scribble
53346 scribe
53351 scribing
53352 scrimmage
53353 script
53354 scroll
53355 scrooge
53356 scrounger
53361 scrubbed
53362 scrubber
53363 scruffy
53364 scrunch
53365 scrutiny
53366 scuba
53411 scuff
53412 sculptor
53413 sculpture
53414 scurvy
53415 scuttle
53416 secluded
53421 secluding
53422 seclusion
53423 second
53424 secrecy
53425 secret
53426 sectional
53431 sector
53432 secular
53433 securely
53434 security
53435 sedan
53436 sedate
53441 sedation
53442 sedative
53443 sediment
53444 seduce
53445 seducing
53446 segment
53451 seismic
53452 seizing
53453 seldom
53454 selected
53455 selection
53456 selective
53461 selector
53462 self
53463 seltzer
53464 semantic
53465 semester
53466 semicolon
53511 semifinal
53512 seminar
53513 semisoft
53514 semisweet
53515 senate
53516 senator
53521 send
53522 senior
53523 senorita
53524 sensation
53525 sensitive
53526 sensitize
53531 sensually
53532 sensuous
53533 sepia
53534 september
53535 septic
53536 septum
53541 sequel
53542 sequence
53543 sequester
53544 series
53545 sermon
53546 serotonin
53551 serpent
53552 serrated
53553 serve
53554 service
53555 serving
53556 sesame
53561 sessions
53562 setback
53563 setting
53564 settle
53565 settling
53566 setup
53611 sevenfold
53612 seventeen
53613 seventh
53614 seventy
53615 severity
53616 shabby
53621 shack
53622 shaded
53623 shadily
53624 shadiness
53625 shading
53626 shadow
53631 shady
53632 shaft
53633 shakable
53634 shakily
53635 shakiness
53636 shaking
53641 shaky
53642 shale
53643 shallot
53644 shallow
53645 shame
53646 shampoo
53651 shamrock
53652 shank
53653 shanty
53654 shape
53655 shaping
53656 share
53661 sharpener
53662 sharper
53663 sharpie
53664 sharply
53665 sharpness
53666 shawl
54111 sheath
54112 shed
54113 sheep
54114 sheet
54115 shelf
54116 shell
54121 shelter
54122 shelve
54123 shelving
54124 sherry
54125 shield
54126 shifter
54131 shifting
54132 shiftless
54133 shifty
54134 shimmer
54135 shimmy
54136 shindig
54141 shine
54142 shingle
54143 shininess
54144 shining
54145 shiny
54146 ship
54151 shirt
54152 shivering
54153 shock
54154 shone
54155 shoplift
54156 shopper
54161 shopping
54162 shoptalk
54163 shore
54164 shortage
54165 shortcake
54166 shortcut
54211 shorten
54212 shorter
54213 shorthand
54214 shortlist
54215 shortly
54216 shortness
54221 shorts
54222 shortwave
54223 shorty
54224 shout
54225 shove
54226 showbiz
54231 showcase
54232 showdown
54233 shower
54234 showgirl
54235 showing
54236 showman
54241 shown
54242 showoff
54243 showpiece
54244 showplace
54245 showroom
54246 showy
54251 shrank
54252 shrapnel
54253 shredder
54254 shredding
54255 shrewdly
54256 shriek
54261 shrill
54262 shrimp
54263 shrine
54264 shrink
54265 shrivel
54266 shrouded
54311 shrubbery
54312 shrubs
54313 shrug
54314 shrunk
54315 shucking
54316 shudder
54321 shuffle
54322 shuffling
54323 shun
54324 shush
54325 shut
54326 shy
54331 siamese
54332 siberian
54333 sibling
54334 siding
54335 sierra
54336 siesta
54341 sift
54342 sighing
54343 silenced
54344 silencer
54345 silent
54346 silica
54351 silicon
54352 silk
54353 silliness
54354 silly
54355 silo
54356 silt
54361 silver
54362 similarly
54363 simile
54364 simmering
54365 simple
54366 simplify
54411 simply
54412 sincere
54413 sincerity
54414 singer
54415 singing
54416 single
54421 singular
54422 sinister
54423 sinless
54424 sinner
54425 sinuous
54426 sip
54431 siren
54432 sister
54433 sitcom
54434 sitter
54435 sitting
54436 situated
54441 situation
54442 sixfold
54443 sixteen
54444 sixth
54445 sixties
54446 sixtieth
54451 sixtyfold
54452 sizable
54453 sizably
54454 size
54455 sizing
54456 sizzle
54461 sizzling
54462 skater
54463 skating
54464 skedaddle
54465 skeletal
54466 skeleton
54511 skeptic
54512 sketch
54513 skewed
54514 skewer
54515 skid
54516 skied
54521 skier
54522 skies
54523 skiing
54524 skilled
54525 skillet
54526 skillful
54531 skimmed
54532 skimmer
54533 skimming
54534 skimpily
54535 skincare
54536 skinhead
54541 skinless
54542 skinning
54543 skinny
54544 skintight
54545 skipper
54546 skipping
54551 skirmish
54552 skirt
54553 skittle
54554 skydiver
54555 skylight
54556 skyline
54561 skype
54562 skyrocket
54563 skyward
54564 slab
54565 slacked
54566 slacker
54611 slacking
54612 slackness
54613 slacks
54614 slain
54615 slam
54616 slander
54621 slang
54622 slapping
54623 slapstick
54624 slashed
54625 slashing
54626 slate
54631 slather
54632 slaw
54633 sled
54634 sleek
54635 sleep
54636 sleet
54641 sleeve
54642 slept
54643 sliceable
54644 sliced
54645 slicer
54646 slicing
54651 slick
54652 slider
54653 slideshow
54654 sliding
54655 slighted
54656 slighting
54661 slightly
54662 slimness
54663 slimy
54664 slinging
54665 slingshot
54666 slinky
55111 slip
55112 slit
55113 sliver
55114 slobbery
55115 slogan
55116 sloped
55121 sloping
55122 sloppily
55123 sloppy
55124 slot
55125 slouching
55126 slouchy
55131 sludge
55132 slug
55133 slum
55134 slurp
55135 slush
55136 sly
55141 small
55142 smartly
55143 smartness
55144 smasher
55145 smashing
55146 smashup
55151 smell
55152 smelting
55153 smile
55154 smilingly
55155 smirk
55156 smite
55161 smith
55162 smitten
55163 smock
55164 smog
55165 smoked
55166 smokeless
55211 smokiness
55212 smoking
55213 smoky
55214 smolder
55215 smooth
55216 smother
55221 smudge
55222 smudgy
55223 smuggler
55224 smuggling
55225 smugly
55226 smugness
55231 snack
55232 snagged
55233 snaking
55234 snap
55235 snare
55236 snarl
55241 snazzy
55242 sneak
55243 sneer
55244 sneeze
55245 sneezing
55246 snide
55251 sniff
55252 snippet
55253 snipping
55254 snitch
55255 snooper
55256 snooze
55261 snore
55262 snoring
55263 snorkel
55264 snort
55265 snout
55266 snowbird
55311 snowboard
55312 snowbound
55313 snowcap
55314 snowdrift
55315 snowdrop
55316 snowfall
55321 snowfield
55322 snowflake
55323 snowiness
55324 snowless
55325 snowman
55326 snowplow
55331 snowshoe
55332 snowstorm
55333 snowsuit
55334 snowy
55335 snub
55336 snuff
55341 snuggle
55342 snugly
55343 snugness
55344 speak
55345 spearfish
55346 spearhead
55351 spearman
55352 spearmint
55353 species
55354 specimen
55355 specked
55356 speckled
55361 specks
55362 spectacle
55363 spectator
55364 spectrum
55365 speculate
55366 speech
55411 speed
55412 spellbind
55413 speller
55414 spelling
55415 spendable
55416 spender
55421 spending
55422 spent
55423 spew
55424 sphere
55425 spherical
55426 sphinx
55431 spider
55432 spied
55433 spiffy
55434 spill
55435 spilt
55436 spinach
55441 spinal
55442 spindle
55443 spinner
55444 spinning
55445 spinout
55446 spinster
55451 spiny
55452 spiral
55453 spirited
55454 spiritism
55455 spirits
55456 spiritual
55461 splashed
55462 splashing
55463 splashy
55464 splatter
55465 spleen
55466 splendid
55511 splendor
55512 splice
55513 splicing
55514 splinter
55515 splotchy
55516 splurge
55521 spoilage
55522 spoiled
55523 spoiler
55524 spoiling
55525 spoils
55526 spoken
55531 spokesman
55532 sponge
55533 spongy
55534 sponsor
55535 spoof
55536 spookily
55541 spooky
55542 spool
55543 spoon
55544 spore
55545 sporting
55546 sports
55551 sporty
55552 spotless
55553 spotlight
55554 spotted
55555 spotter
55556 spotting
55561 spotty
55562 spousal
55563 spouse
55564 spout
55565 sprain
55566 sprang
55611 sprawl
55612 spray
55613 spree
55614 sprig
55615 spring
55616 sprinkled
55621 sprinkler
55622 sprint
55623 sprite
55624 sprout
55625 spruce
55626 sprung
55631 spry
55632 spud
55633 spur
55634 sputter
55635 spyglass
55636 squabble
55641 squad
55642 squall
55643 squander
55644 squash
55645 squatted
55646 squatter
55651 squatting
55652 squeak
55653 squealer
55654 squealing
55655 squeamish
55656 squeegee
55661 squeeze
55662 squeezing
55663 squid
55664 squiggle
55665 squiggly
55666 squint
56111 squire
56112 squirt
56113 squishier
56114 squishy
56115 stability
56116 stabilize
56121 stable
56122 stack
56123 stadium
56124 staff
56125 stage
56126 staging
56131 stagnant
56132 stagnate
56133 stainable
56134 stained
56135 staining
56136 stainless
56141 stalemate
56142 staleness
56143 stalling
56144 stallion
56145 stamina
56146 stammer
56151 stamp
56152 stand
56153 stank
56154 staple
56155 stapling
56156 starboard
56161 starch
56162 stardom
56163 stardust
56164 starfish
56165 stargazer
56166 staring
56211 stark
56212 starless
56213 starlet
56214 starlight
56215 starlit
56216 starring
56221 starry
56222 starship
56223 starter
56224 starting
56225 startle
56226 startling
56231 startup
56232 starved
56233 starving
56234 stash
56235 state
56236 static
56241 statistic
56242 statue
56243 stature
56244 status
56245 statute
56246 statutory
56251 staunch
56252 stays
56253 steadfast
56254 steadier
56255 steadily
56256 steadying
56261 steam
56262 steed
56263 steep
56264 steerable
56265 steering
56266 steersman
56311 stegosaur
56312 stellar
56313 stem
56314 stench
56315 stencil
56316 step
56321 stereo
56322 sterile
56323 sterility
56324 sterilize
56325 sterling
56326 sternness
56331 sternum
56332 stew
56333 stick
56334 stiffen
56335 stiffly
56336 stiffness
56341 stifle
56342 stifling
56343 stillness
56344 stilt
56345 stimulant
56346 stimulate
56351 stimuli
56352 stimulus
56353 stinger
56354 stingily
56355 stinging
56356 stingray
56361 stingy
56362 stinking
56363 stinky
56364 stipend
56365 stipulate
56366 stir
56411 stitch
56412 stock
56413 stoic
56414 stoke
56415 stole
56416 stomp
56421 stonewall
56422 stoneware
56423 stonework
56424 stoning
56425 stony
56426 stood
56431 stooge
56432 stool
56433 stoop
56434 stoplight
56435 stoppable
56436 stoppage
56441 stopped
56442 stopper
56443 stopping
56444 stopwatch
56445 storable
56446 storage
56451 storeroom
56452 storewide
56453 storm
56454 stout
56455 stove
56456 stowaway
56461 stowing
56462 straddle
56463 straggler
56464 strained
56465 strainer
56466 straining
56511 strangely
56512 stranger
56513 strangle
56514 strategic
56515 strategy
56516 stratus
56521 straw
56522 stray
56523 streak
56524 stream
56525 street
56526 strength
56531 strenuous
56532 strep
56533 stress
56534 stretch
56535 strewn
56536 stricken
56541 strict
56542 stride
56543 strife
56544 strike
56545 striking
56546 strive
56551 striving
56552 strobe
56553 strode
56554 stroller
56555 strongbox
56556 strongly
56561 strongman
56562 struck
56563 structure
56564 strudel
56565 struggle
56566 strum
56611 strung
56612 strut
56613 stubbed
56614 stubble
56615 stubbly
56616 stubborn
56621 stucco
56622 stuck
56623 student
56624 studied
56625 studio
56626 study
56631 stuffed
56632 stuffing
56633 stuffy
56634 stumble
56635 stumbling
56636 stump
56641 stung
56642 stunned
56643 stunner
56644 stunning
56645 stunt
56646 stupor
56651 sturdily
56652 sturdy
56653 styling
56654 stylishly
56655 stylist
56656 stylized
56661 stylus
56662 suave
56663 subarctic
56664 subatomic
56665 subdivide
56666 subdued
61111 subduing
61112 subfloor
61113 subgroup
61114 subheader
61115 subject
61116 sublease
61121 sublet
61122 sublevel
61123 sublime
61124 submarine
61125 submerge
61126 submersed
61131 submitter
61132 subpanel
61133 subpar
61134 subplot
61135 subprime
61136 subscribe
61141 subscript
61142 subsector
61143 subside
61144 subsiding
61145 subsidize
61146 subsidy
61151 subsoil
61152 subsonic
61153 substance
61154 subsystem
61155 subtext
61156 subtitle
61161 subtly
61162 subtotal
61163 subtract
61164 subtype
61165 suburb
61166 subway
61211 subwoofer
61212 subzero
61213 succulent
61214 such
61215 suction
61216 sudden
61221 sudoku
61222 suds
61223 sufferer
61224 suffering
61225 suffice
61226 suffix
61231 suffocate
61232 suffrage
61233 sugar
61234 suggest
61235 suing
61236 suitable
61241 suitably
61242 suitcase
61243 suitor
61244 sulfate
61245 sulfide
61246 sulfite
61251 sulfur
61252 sulk
61253 sullen
61254 sulphate
61255 sulphuric
61256 sultry
61261 superbowl
61262 superglue
61263 superhero
61264 superior
61265 superjet
61266 superman
61311 supermom
61312 supernova
61313 supervise
61314 supper
61315 supplier
61316 supply
61321 support
61322 supremacy
61323 supreme
61324 surcharge
61325 surely
61326 sureness
61331 surface
61332 surfacing
61333 surfboard
61334 surfer
61335 surgery
61336 surgical
61341 surging
61342 surname
61343 surpass
61344 surplus
61345 surprise
61346 surreal
61351 surrender
61352 surrogate
61353 surround
61354 survey
61355 survival
61356 survive
61361 surviving
61362 survivor
61363 sushi
61364 suspect
61365 suspend
61366 suspense
61411 sustained
61412 sustainer
61413 swab
61414 swaddling
61415 swagger
61416 swampland
61421 swan
61422 swapping
61423 swarm
61424 sway
61425 swear
61426 sweat
61431 sweep
61432 swell
61433 swept
61434 swerve
61435 swifter
61436 swiftly
61441 swiftness
61442 swimmable
61443 swimmer
61444 swimming
61445 swimsuit
61446 swimwear
61451 swinger
61452 swinging
61453 swipe
61454 swirl
61455 switch
61456 swivel
61461 swizzle
61462 swooned
61463 swoop
61464 swoosh
61465 swore
61466 sworn
61511 swung
61512 sycamore
61513 sympathy
61514 symphonic
61515 symphony
61516 symptom
61521 synapse
61522 syndrome
61523 synergy
61524 synopses
61525 synopsis
61526 synthesis
61531 synthetic
61532 syrup
61533 system
61534 t-shirt
61535 tabasco
61536 tabby
61541 tableful
61542 tables
61543 tablet
61544 tableware
61545 tabloid
61546 tackiness
61551 tacking
61552 tackle
61553 tackling
61554 tacky
61555 taco
61556 tactful
61561 tactical
61562 tactics
61563 tactile
61564 tactless
61565 tadpole
61566 taekwondo
61611 tag
61612 tainted
61613 take
61614 taking
61615 talcum
61616 talisman
61621 tall
61622 talon
61623 tamale
61624 tameness
61625 tamer
61626 tamper
61631 tank
61632 tanned
61633 tannery
61634 tanning
61635 tantrum
61636 tapeless
61641 tapered
61642 tapering
61643 tapestry
61644 tapioca
61645 tapping
61646 taps
61651 tarantula
61652 target
61653 tarmac
61654 tarnish
61655 tarot
61656 tartar
61661 tartly
61662 tartness
61663 task
61664 tassel
61665 taste
61666 tastiness
62111 tasting
62112 tasty
62113 tattered
62114 tattle
62115 tattling
62116 tattoo
62121 taunt
62122 tavern
62123 thank
62124 that
62125 thaw
62126 theater
62131 theatrics
62132 thee
62133 theft
62134 theme
62135 theology
62136 theorize
62141 thermal
62142 thermos
62143 thesaurus
62144 these
62145 thesis
62146 thespian
62151 thicken
62152 thicket
62153 thickness
62154 thieving
62155 thievish
62156 thigh
62161 thimble
62162 thing
62163 think
62164 thinly
62165 thinner
62166 thinness
62211 thinning
62212 thirstily
62213 thirsting
62214 thirsty
62215 thirteen
62216 thirty
62221 thong
62222 thorn
62223 those
62224 thousand
62225 thrash
62226 thread
62231 threaten
62232 threefold
62233 thrift
62234 thrill
62235 thrive
62236 thriving
62241 throat
62242 throbbing
62243 throng
62244 throttle
62245 throwaway
62246 throwback
62251 thrower
62252 throwing
62253 thud
62254 thumb
62255 thumping
62256 thursday
62261 thus
62262 thwarting
62263 thyself
62264 tiara
62265 tibia
62266 tidal
62311 tidbit
62312 tidiness
62313 tidings
62314 tidy
62315 tiger
62316 tighten
62321 tightly
62322 tightness
62323 tightrope
62324 tightwad
62325 tigress
62326 tile
62331 tiling
62332 till
62333 tilt
62334 timid
62335 timing
62336 timothy
62341 tinderbox
62342 tinfoil
62343 tingle
62344 tingling
62345 tingly
62346 tinker
62351 tinkling
62352 tinsel
62353 tinsmith
62354 tint
62355 tinwork
62356 tiny
62361 tipoff
62362 tipped
62363 tipper
62364 tipping
62365 tiptoeing
62366 tiptop
62411 tiring
62412 tissue
62413 trace
62414 tracing
62415 track
62416 traction
62421 tractor
62422 trade
62423 trading
62424 tradition
62425 traffic
62426 tragedy
62431 trailing
62432 trailside
62433 train
62434 traitor
62435 trance
62436 tranquil
62441 transfer
62442 transform
62443 translate
62444 transpire
62445 transport
62446 transpose
62451 trapdoor
62452 trapeze
62453 trapezoid
62454 trapped
62455 trapper
62456 trapping
62461 traps
62462 trash
62463 travel
62464 traverse
62465 travesty
62466 tray
62511 treachery
62512 treading
62513 treadmill
62514 treason
62515 treat
62516 treble
62521 tree
62522 trekker
62523 tremble
62524 trembling
62525 tremor
62526 trench
62531 trend
62532 trespass
62533 triage
62534 trial
62535 triangle
62536 tribesman
62541 tribunal
62542 tribune
62543 tributary
62544 tribute
62545 triceps
62546 trickery
62551 trickily
62552 tricking
62553 trickle
62554 trickster
62555 tricky
62556 tricolor
62561 tricycle
62562 trident
62563 tried
62564 trifle
62565 trifocals
62566 trillion
62611 trilogy
62612 trimester
62613 trimmer
62614 trimming
62615 trimness
62616 trinity
62621 trio
62622 tripod
62623 tripping
62624 triumph
62625 trivial
62626 trodden
62631 trolling
62632 trombone
62633 trophy
62634 tropical
62635 tropics
62636 trouble
62641 troubling
62642 trough
62643 trousers
62644 trout
62645 trowel
62646 truce
62651 truck
62652 truffle
62653 trump
62654 trunks
62655 trustable
62656 trustee
62661 trustful
62662 trusting
62663 trustless
62664 truth
62665 try
62666 tubby
63111 tubeless
63112 tubular
63113 tucking
63114 tuesday
63115 tug
63116 tuition
63121 tulip
63122 tumble
63123 tumbling
63124 tummy
63125 turban
63126 turbine
63131 turbofan
63132 turbojet
63133 turbulent
63134 turf
63135 turkey
63136 turmoil
63141 turret
63142 turtle
63143 tusk
63144 tutor
63145 tutu
63146 tux
63151 tweak
63152 tweed
63153 tweet
63154 tweezers
63155 twelve
63156 twentieth
63161 twenty
63162 twerp
63163 twice
63164 twiddle
63165 twiddling
63166 twig
63211 twilight
63212 twine
63213 twins
63214 twirl
63215 twistable
63216 twisted
63221 twister
63222 twisting
63223 twisty
63224 twitch
63225 twitter
63226 tycoon
63231 tying
63232 tyke
63233 udder
63234 ultimate
63235 ultimatum
63236 ultra
63241 umbilical
63242 umbrella
63243 umpire
63244 unabashed
63245 unable
63246 unadorned
63251 unadvised
63252 unafraid
63253 unaired
63254 unaligned
63255 unaltered
63256 unarmored
63261 unashamed
63262 unaudited
63263 unawake
63264 unaware
63265 unbaked
63266 unbalance
63311 unbeaten
63312 unbend
63313 unbent
63314 unbiased
63315 unbitten
63316 unblended
63321 unblessed
63322 unblock
63323 unbolted
63324 unbounded
63325 unboxed
63326 unbraided
63331 unbridle
63332 unbroken
63333 unbuckled
63334 unbundle
63335 unburned
63336 unbutton
63341 uncanny
63342 uncapped
63343 uncaring
63344 uncertain
63345 unchain
63346 unchanged
63351 uncharted
63352 uncheck
63353 uncivil
63354 unclad
63355 unclaimed
63356 unclamped
63361 unclasp
63362 uncle
63363 unclip
63364 uncloak
63365 unclog
63366 unclothed
63411 uncoated
63412 uncoiled
63413 uncolored
63414 uncombed
63415 uncommon
63416 uncooked
63421 uncork
63422 uncorrupt
63423 uncounted
63424 uncouple
63425 uncouth
63426 uncover
63431 uncross
63432 uncrown
63433 uncrushed
63434 uncured
63435 uncurious
63436 uncurled
63441 uncut
63442 undamaged
63443 undated
63444 undaunted
63445 undead
63446 undecided
63451 undefined
63452 underage
63453 underarm
63454 undercoat
63455 undercook
63456 undercut
63461 underdog
63462 underdone
63463 underfed
63464 underfeed
63465 underfoot
63466 undergo
63511 undergrad
63512 underhand
63513 underline
63514 underling
63515 undermine
63516 undermost
63521 underpaid
63522 underpass
63523 underpay
63524 underrate
63525 undertake
63526 undertone
63531 undertook
63532 undertow
63533 underuse
63534 underwear
63535 underwent
63536 underwire
63541 undesired
63542 undiluted
63543 undivided
63544 undocked
63545 undoing
63546 undone
63551 undrafted
63552 undress
63553 undrilled
63554 undusted
63555 undying
63556 unearned
63561 unearth
63562 unease
63563 uneasily
63564 uneasy
63565 uneatable
63566 uneaten
63611 unedited
63612 unelected
63613 unending
63614 unengaged
63615 unenvied
63616 unequal
63621 unethical
63622 uneven
63623 unexpired
63624 unexposed
63625 unfailing
63626 unfair
63631 unfasten
63632 unfazed
63633 unfeeling
63634 unfiled
63635 unfilled
63636 unfitted
63641 unfitting
63642 unfixable
63643 unfixed
63644 unflawed
63645 unfocused
63646 unfold
63651 unfounded
63652 unframed
63653 unfreeze
63654 unfrosted
63655 unfrozen
63656 unfunded
63661 unglazed
63662 ungloved
63663 unglue
63664 ungodly
63665 ungraded
63666 ungreased
64111 unguarded
64112 unguided
64113 unhappily
64114 unhappy
64115 unharmed
64116 unhealthy
64121 unheard
64122 unhearing
64123 unheated
64124 unhelpful
64125 unhidden
64126 unhinge
64131 unhitched
64132 unholy
64133 unhook
64134 unicorn
64135 unicycle
64136 unified
64141 unifier
64142 uniformed
64143 uniformly
64144 unify
64145 unimpeded
64146 uninjured
64151 uninstall
64152 uninsured
64153 uninvited
64154 union
64155 uniquely
64156 unisexual
64161 unison
64162 unissued
64163 unit
64164 universal
64165 universe
64166 unjustly
64211 unkempt
64212 unkind
64213 unknotted
64214 unknowing
64215 unknown
64216 unlaced
64221 unlatch
64222 unlawful
64223 unleaded
64224 unlearned
64225 unleash
64226 unless
64231 unleveled
64232 unlighted
64233 unlikable
64234 unlimited
64235 unlined
64236 unlinked
64241 unlisted
64242 unlit
64243 unlivable
64244 unloaded
64245 unloader
64246 unlocked
64251 unlocking
64252 unlovable
64253 unloved
64254 unlovely
64255 unloving
64256 unluckily
64261 unlucky
64262 unmade
64263 unmanaged
64264 unmanned
64265 unmapped
64266 unmarked
64311 unmasked
64312 unmasking
64313 unmatched
64314 unmindful
64315 unmixable
64316 unmixed
64321 unmolded
64322 unmoral
64323 unmovable
64324 unmoved
64325 unmoving
64326 unnamable
64331 unnamed
64332 unnatural
64333 unneeded
64334 unnerve
64335 unnerving
64336 unnoticed
64341 unopened
64342 unopposed
64343 unpack
64344 unpadded
64345 unpaid
64346 unpainted
64351 unpaired
64352 unpaved
64353 unpeeled
64354 unpicked
64355 unpiloted
64356 unpinned
64361 unplanned
64362 unplanted
64363 unpleased
64364 unpledged
64365 unplowed
64366 unplug
64411 unpopular
64412 unproven
64413 unquote
64414 unranked
64415 unrated
64416 unraveled
64421 unreached
64422 unread
64423 unreal
64424 unreeling
64425 unrefined
64426 unrelated
64431 unrented
64432 unrest
64433 unretired
64434 unrevised
64435 unrigged
64436 unripe
64441 unrivaled
64442 unroasted
64443 unrobed
64444 unroll
64445 unruffled
64446 unruly
64451 unrushed
64452 unsaddle
64453 unsafe
64454 unsaid
64455 unsalted
64456 unsaved
64461 unsavory
64462 unscathed
64463 unscented
64464 unscrew
64465 unsealed
64466 unseated
64511 unsecured
64512 unseeing
64513 unseemly
64514 unseen
64515 unselect
64516 unselfish
64521 unsent
64522 unsettled
64523 unshackle
64524 unshaken
64525 unshaved
64526 unshaven
64531 unsheathe
64532 unshipped
64533 unsightly
64534 unsigned
64535 unskilled
64536 unsliced
64541 unsmooth
64542 unsnap
64543 unsocial
64544 unsoiled
64545 unsold
64546 unsolved
64551 unsorted
64552 unspoiled
64553 unspoken
64554 unstable
64555 unstaffed
64556 unstamped
64561 unsteady
64562 unsterile
64563 unstirred
64564 unstitch
64565 unstopped
64566 unstuck
64611 unstuffed
64612 unstylish
64613 unsubtle
64614 unsubtly
64615 unsuited
64616 unsure
64621 unsworn
64622 untagged
64623 untainted
64624 untaken
64625 untamed
64626 untangled
64631 untapped
64632 untaxed
64633 unthawed
64634 unthread
64635 untidy
64636 untie
64641 until
64642 untimed
64643 untimely
64644 untitled
64645 untoasted
64646 untold
64651 untouched
64652 untracked
64653 untrained
64654 untreated
64655 untried
64656 untrimmed
64661 untrue
64662 untruth
64663 unturned
64664 untwist
64665 untying
64666 unusable
65111 unused
65112 unusual
65113 unvalued
65114 unvaried
65115 unvarying
65116 unveiled
65121 unveiling
65122 unvented
65123 unviable
65124 unvisited
65125 unvocal
65126 unwanted
65131 unwarlike
65132 unwary
65133 unwashed
65134 unwatched
65135 unweave
65136 unwed
65141 unwelcome
65142 unwell
65143 unwieldy
65144 unwilling
65145 unwind
65146 unwired
65151 unwitting
65152 unwomanly
65153 unworldly
65154 unworn
65155 unworried
65156 unworthy
65161 unwound
65162 unwoven
65163 unwrapped
65164 unwritten
65165 unzip
65166 upbeat
65211 upchuck
65212 upcoming
65213 upcountry
65214 update
65215 upfront
65216 upgrade
65221 upheaval
65222 upheld
65223 uphill
65224 uphold
65225 uplifted
65226 uplifting
65231 upload
65232 upon
65233 upper
65234 upright
65235 uprising
65236 upriver
65241 uproar
65242 uproot
65243 upscale
65244 upside
65245 upstage
65246 upstairs
65251 upstart
65252 upstate
65253 upstream
65254 upstroke
65255 upswing
65256 uptake
65261 uptight
65262 uptown
65263 upturned
65264 upward
65265 upwind
65266 uranium
65311 urban
65312 urchin
65313 urethane
65314 urgency
65315 urgent
65316 urging
65321 urologist
65322 urology
65323 usable
65324 usage
65325 useable
65326 used
65331 uselessly
65332 user
65333 usher
65334 usual
65335 utensil
65336 utility
65341 utilize
65342 utmost
65343 utopia
65344 utter
65345 vacancy
65346 vacant
65351 vacate
65352 vacation
65353 vagabond
65354 vagrancy
65355 vagrantly
65356 vaguely
65361 vagueness
65362 valiant
65363 valid
65364 valium
65365 valley
65366 valuables
65411 value
65412 vanilla
65413 vanish
65414 vanity
65415 vanquish
65416 vantage
65421 vaporizer
65422 variable
65423 variably
65424 varied
65425 variety
65426 various
65431 varmint
65432 varnish
65433 varsity
65434 varying
65435 vascular
65436 vaseline
65441 vastly
65442 vastness
65443 veal
65444 vegan
65445 veggie
65446 vehicular
65451 velcro
65452 velocity
65453 velvet
65454 vendetta
65455 vending
65456 vendor
65461 veneering
65462 vengeful
65463 venomous
65464 ventricle
65465 venture
65466 venue
65511 venus
65512 verbalize
65513 verbally
65514 verbose
65515 verdict
65516 verify
65521 verse
65522 version
65523 versus
65524 vertebrae
65525 vertical
65526 vertigo
65531 very
65532 vessel
65533 vest
65534 veteran
65535 veto
65536 vexingly
65541 viability
65542 viable
65543 vibes
65544 vice
65545 vicinity
65546 victory
65551 video
65552 viewable
65553 viewer
65554 viewing
65555 viewless
65556 viewpoint
65561 vigorous
65562 village
65563 villain
65564 vindicate
65565 vineyard
65566 vintage
65611 violate
65612 violation
65613 violator
65614 violet
65615 violin
65616 viper
65621 viral
65622 virtual
65623 virtuous
65624 virus
65625 visa
65626 viscosity
65631 viscous
65632 viselike
65633 visible
65634 visibly
65635 vision
65636 visiting
65641 visitor
65642 visor
65643 vista
65644 vitality
65645 vitalize
65646 vitally
65651 vitamins
65652 vivacious
65653 vividly
65654 vividness
65655 vixen
65656 vocalist
65661 vocalize
65662 vocally
65663 vocation
65664 voice
65665 voicing
65666 void
66111 volatile
66112 volley
66113 voltage
66114 volumes
66115 voter
66116 voting
66121 voucher
66122 vowed
66123 vowel
66124 voyage
66125 wackiness
66126 wad
66131 wafer
66132 waffle
66133 waged
66134 wager
66135 wages
66136 waggle
66141 wagon
66142 wake
66143 waking
66144 walk
66145 walmart
66146 walnut
66151 walrus
66152 waltz
66153 wand
66154 wannabe
66155 wanted
66156 wanting
66161 wasabi
66162 washable
66163 washbasin
66164 washboard
66165 washbowl
66166 washcloth
66211 washday
66212 washed
66213 washer
66214 washhouse
66215 washing
66216 washout
66221 washroom
66222 washstand
66223 washtub
66224 wasp
66225 wasting
66226 watch
66231 water
66232 waviness
66233 waving
66234 wavy
66235 whacking
66236 whacky
66241 wham
66242 wharf
66243 wheat
66244 whenever
66245 whiff
66246 whimsical
66251 whinny
66252 whiny
66253 whisking
66254 whoever
66255 whole
66256 whomever
66261 whoopee
66262 whooping
66263 whoops
66264 why
66265 wick
66266 widely
66311 widen
66312 widget
66313 widow
66314 width
66315 wieldable
66316 wielder
66321 wife
66322 wifi
66323 wikipedia
66324 wildcard
66325 wildcat
66326 wilder
66331 wildfire
66332 wildfowl
66333 wildland
66334 wildlife
66335 wildly
66336 wildness
66341 willed
66342 willfully
66343 willing
66344 willow
66345 willpower
66346 wilt
66351 wimp
66352 wince
66353 wincing
66354 wind
66355 wing
66356 winking
66361 winner
66362 winnings
66363 winter
66364 wipe
66365 wired
66366 wireless
66411 wiring
66412 wiry
66413 wisdom
66414 wise
66415 wish
66416 wisplike
66421 wispy
66422 wistful
66423 wizard
66424 wobble
66425 wobbling
66426 wobbly
66431 wok
66432 wolf
66433 wolverine
66434 womanhood
66435 womankind
66436 womanless
66441 womanlike
66442 womanly
66443 womb
66444 woof
66445 wooing
66446 wool
66451 woozy
66452 word
66453 work
66454 worried
66455 worrier
66456 worrisome
66461 worry
66462 worsening
66463 worshiper
66464 worst
66465 wound
66466 woven
66511 wow
66512 wrangle
66513 wrath
66514 wreath
66515 wreckage
66516 wrecker
66521 wrecking
66522 wrench
66523 wriggle
66524 wriggly
66525 wrinkle
66526 wrinkly
66531 wrist
66532 writing
66533 written
66534 wrongdoer
66535 wronged
66536 wrongful
66541 wrongly
66542 wrongness
66543 wrought
66544 xbox
66545 xerox
66546 yahoo
66551 yam
66552 yanking
66553 yapping
66554 yard
66555 yarn
66556 yeah
66561 yearbook
66562 yearling
66563 yearly
66564 yearning
66565 yeast
66566 yelling
66611 yelp
66612 yen
66613 yesterday
66614 yiddish
66615 yield
66616 yin
66621 yippee
66622 yo-yo
66623 yodel
66624 yoga
66625 yogurt
66626 yonder
66631 yoyo
66632 yummy
66633 zap
66634 zealous
66635 zebra
66636 zen
66641 zeppelin
66642 zero
66643 zestfully
66644 zesty
66645 zigzagged
66646 zipfile
66651 zipping
66652 zippy
66653 zips
66654 zit
66655 zodiac
66656 zombie
66661 zone
66662 zoning
66663 zookeeper
66664 zoologist
66665 zoology
66666 zoom
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [NonGNU ELPA] New package: dw.el
2021-03-31 11:28 ` D
@ 2021-03-31 11:42 ` Jean Louis
2021-03-31 16:24 ` D
0 siblings, 1 reply; 16+ messages in thread
From: Jean Louis @ 2021-03-31 11:42 UTC (permalink / raw)
To: D; +Cc: bugs, emacs-devel
* D <d.williams@posteo.net> [2021-03-31 14:29]:
> Hello,
>
> word lists need to adhere to a certain format. Each line must begin
> with the die roll the word corresponds to, such as
> 11111 abacus
> 11112 abdomen
> 11113 abdominal
> 11114 abide
User is supposed to have the list, that does not seem practical. It
means package is not self contained and user has to download something
from somewhere.
Why don't you generate those numbers on the fly by taking random lines
from a supplied word list?
--
Jean
Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [NonGNU ELPA] New package: dw.el
2021-03-31 11:42 ` Jean Louis
@ 2021-03-31 16:24 ` D
2021-03-31 19:43 ` Jean Louis
0 siblings, 1 reply; 16+ messages in thread
From: D @ 2021-03-31 16:24 UTC (permalink / raw)
To: bugs; +Cc: emacs-devel
> User is supposed to have the list, that does not seem practical. It
> means package is not self contained and user has to download something
> from somewhere.
You need a diceware world list for the diceware method, yes. That's
why I added the appropriate links to the package description.
> Why don't you generate those numbers on the fly by taking random lines
> from a supplied word list?
That is of course possible, in principle. On the other hand it's
generally not a good idea to use a dictionary list for this. The
reasons for that are twofold: one only the first 6^5 words are
used. Using more would require using more than 5 dice per word. In a
dictionary file like words, this would essentially guarantee that all
words start with [Aa]. On top of that, dictionary files contain
incredibly many variations of the same word with minor spelling and
casing differences, which of course also negatively affects entropy.
Hence it's good to stick to word lists deliberately generated for
diceware passphrase generation.
I could mitigate this problem by providing a word list the default
value. This would not even require an extra file as the word list is
internalized as an association list. That way people who want to try
out diceware for the first time don't have to bother with external
resources and people who just want to try it out get a plug & play
experience.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [NonGNU ELPA] New package: dw.el
2021-03-31 16:24 ` D
@ 2021-03-31 19:43 ` Jean Louis
2021-03-31 23:42 ` D
0 siblings, 1 reply; 16+ messages in thread
From: Jean Louis @ 2021-03-31 19:43 UTC (permalink / raw)
To: D; +Cc: emacs-devel
* D <d.williams@posteo.net> [2021-03-31 19:25]:
> I could mitigate this problem by providing a word list the default
> value. This would not even require an extra file as the word list is
> internalized as an association list. That way people who want to try
> out diceware for the first time don't have to bother with external
> resources and people who just want to try it out get a plug & play
> experience.
I would say, why not, you could just provide a list inside of a
package, just as in good old days.
--
Jean
Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns
Sign an open letter in support of Richard M. Stallman
https://rms-support-letter.github.io/
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [NonGNU ELPA] New package: dw.el
2021-03-31 19:43 ` Jean Louis
@ 2021-03-31 23:42 ` D
2021-04-01 9:17 ` Jean Louis
0 siblings, 1 reply; 16+ messages in thread
From: D @ 2021-03-31 23:42 UTC (permalink / raw)
To: Jean Louis; +Cc: emacs-devel
[-- Attachment #1: Type: text/plain, Size: 780 bytes --]
I added a builtin wordlist. Adding
(with-eval-after-load 'dw
(setq-default dw-current-wordlist dw-eff-large))
to your init makes the package self-contained without the need of
downloading an external file.
On 31/03/2021 21:43, Jean Louis wrote:
> * D <d.williams@posteo.net> [2021-03-31 19:25]:
>> I could mitigate this problem by providing a word list the default
>> value. This would not even require an extra file as the word list is
>> internalized as an association list. That way people who want to try
>> out diceware for the first time don't have to bother with external
>> resources and people who just want to try it out get a plug & play
>> experience.
>
> I would say, why not, you could just provide a list inside of a
> package, just as in good old days.
>
[-- Attachment #2: dw.el --]
[-- Type: text/x-emacs-lisp, Size: 194499 bytes --]
;;; dw.el --- Diceware passphrase generation commands -*- lexical-binding: t; -*-
;; Copyright (C) 2017-2020 D. Williams
;; Author: D. Williams <d.williams@posteo.net>
;; Maintainer: D. Williams <d.williams@posteo.net>
;; Keywords: convenience, games
;; Version: 1.1.0
;; Homepage: https://github.com/integral-dw/dw-passphrase-generator
;; Package-Requires: ((emacs "25.1"))
;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with this program. If not, see <https://www.gnu.org/licenses/>.
;;; Commentary:
;; This package implements Arnold G. Reinhold's diceware method for
;; Emacs. For more information regarding diceware, see
;; http://world.std.com/~reinhold/diceware.html
;; Diceware (C) 1995-2020 Arnold G. Reinhold
;; IMPORTANT: Please read the below section to know how to use this
;; package, as it requires additional files *NOT* included in the base
;; install. Apart from the listed requirements, this package requires (ideally)
;; one or more casino-grade dice for true random number generation.
;; Basic setup:
;;
;; This package requires a so called wordlist to function as intended.
;; This file serves as the pool of random words from which your secure
;; passphrase is generated. Put a wordlist for passphrase generation
;; into the directory specified by ‘dw-directory’. It will be
;; automatically generated the first time this package is loaded. If
;; you don't already have a wordlist, you can find two common, English
;; wordlists below:
;; https://www.eff.org/files/2016/07/18/eff_large_wordlist.txt
;; http://world.std.com/%7Ereinhold/diceware.wordlist.asc
;; The above wordlist from the EFF is also provided as a
;; pre-internalized form in ‘dw-eff-large’. If you prefer to try out
;; the package *without* having to download a separate file, just add
;; the following to your init:
;; (with-eval-after-load 'dw
;; (setq-default dw-current-wordlist dw-eff-large))
;; The former generates passphrases with long, common words while the
;; latter favors short words and letter combinations, which may be
;; harder to remember but quicker to type. You can find wordlists
;; for many other languages here:
;; http://world.std.com/~reinhold/diceware.html#Diceware%20in%20Other%20Languages|outline
;; Basic usage:
;;
;; 1) Choose a buffer to write your passphrase in (temporarily).
;; 2) Roll your dice, reading them in some consistent way (e.g. left to
;; right) every time, and typing them neatly separated in groups of
;; five. You can separate them using any character matched by
;; ‘dw-separator-regexp’ (whitespace by default). For example, if you
;; rolled ⚄⚂⚀⚅⚅, type "53166". You will need five times as many die
;; rolls as you want words in your passphrase (six being a decent
;; amount for normal passphrases).
;; 3) Mark the region where you wrote down your sequence of rolls and
;; use the command ‘dw-passgen-region’. You may need to choose a
;; wordlist depending on your setup. See the documentation for
;; ‘dw-named-wordlists’ below for how to skip this step and set up
;; a default wordlist.
;; This package provides the following interactive commands:
;;
;; * dw-passgen-region
;;
;; The all-in-one interactive passphrase generation command, and
;; most likely everything you'll ever need from this package. Just
;; mark the region containing your written down die rolls and run
;; the command.
;; * dw-set-wordlist
;;
;; Manually set a wordlist without invoking ‘dw-passgen-region’,
;; and regardless of whether a wordlist has been set for the
;; current buffer before.
;; Final notes:
;; The package itself is not at all required to create diceware
;; passphrases, but automates the table lookup bit of it.
;;; Code:
(require 'seq)
(require 'wid-edit)
(eval-when-compile
(require 'cl-lib))
(defgroup dw nil
"Generate diceware passphrases."
:group 'convenience)
;;; Package-specific errors
;; The specifics and conventions are only relevant if you are
;; interested in writing code depending on this package. In that
;; case, see the README for a complete documentation of errors and
;; their conventions.
;; Input Errors
(define-error 'dw-bad-roll
"Invalid die roll"
'user-error)
(define-error 'dw-incomplete-roll
"Not enough die rolls for a complete word"
'dw-bad-roll)
(define-error 'dw-too-short-passphrase
"Too few words for a secure passphrase"
'dw-bad-roll)
;; File Errors
(define-error 'dw-bad-wordlist
"Broken wordlist")
;; Misc RNG Errors
(define-error 'dw-incomplete-int
"Not enough die rolls for the given integer range"
'dw-bad-roll)
(define-error 'dw-overflow
"Too many consecutive die rolls, not implemented")
\f
;;; Package-specific warnings
(defun dw--warn-short-words ()
"Report a warning for passphrases with too many short words."
(delay-warning '(dw too-many-short-words)
(concat "The generated passphrase has many short words. "
"Consider discarding it.")))
(defun dw--warn-bad-random-characters ()
"Report a warning for incomplete character lookup strings.
This warning is triggered if an entry in ‘dw-random-characters’
unexpectedly cannot assign a die roll to a character, which is
only allowed for entries with a non-nil LAX value."
(delay-warning '(dw bad-dw-random-characters)
(concat "There were unused rolls. "
"‘dw-random-characters’ is probably misconfigured.")))
\f
;;; Constants
(defconst dw--dice-number 5
"Number of die rolls needed for one word in a passphrase.")
(defconst dw--conversion-limit 10
"Length of the largest string that allows direct integer conversion.
This constant also governs the maximum number of dice usable to
generate a random integer with ‘dw-generate-ranint’.")
(defconst dw--wordlist-length (expt 6 dw--dice-number)
"Number of entries needed for a valid wordlist.")
\f
;;; User-facing variables
;; Core API
;;;###autoload
(put 'dw-salt 'risky-local-variable t)
(defcustom dw-salt nil
"Unique, personal string to append to passphrases.
Salt is a string of non-secret data to append to your
passphrases. It serves to prevent dictionary attacks, and makes
it harder for potential attackers to brute force multiple keys at
once.
While it is not a good idea to use the same passphrase for
everything, it is best to use the same salt or everything, as it
frees precious mental real estate. You can use a phone number, a
random string of characters, or anything else for this purpose,
as long as it is sufficiently unique.
It is also a great way to fulfill those pesky demands of some
services to have a special character, a number and an uppercase
character in it without adding mental overhead.
If non-nil, interactive commands should ask whether they should
append the salt, depending on the value of ‘dw-use-salt’.
Appended salt is separated from the remaining passphrase the same
way individual words are, using ‘dw-passphrase-separator’."
:type '(choice :format "Personal salt: %[Value Menu%] %v"
(const :tag "none" nil)
(string :tag "custom string"
:format "%v"))
:risky t
:group 'dw)
(defcustom dw-use-salt t
"Non-nil means to (conditionally) append ‘dw-salt’ to generated passphrases.
If set to the symbol ‘prompt’, interactive commands will prompt
the user whether they should append salt. Any other non-nil
value is equivalent to t, meaning salt is appended automatically.
Appended salt is separated from the remaining passphrase the same
way individual words are, using ‘dw-passphrase-separator’.
This variable has no effect if ‘dw-salt’ is nil."
:type '(choice :format "Append salt interactively: %[Value Menu%] %v"
(const :tag "always" t)
(const :tag "ask every time" 'prompt)
(const :tag "never" nil))
:group 'dw)
(defcustom dw-separator-regexp "\\s-"
"Regular expression to match a single separator character.
Essentially, this regexp defines which characters (apart from the
numerals 1 to 6) are valid to appear in die roll strings.
Allowing separators serves as a convenience for the user to be
able to keep long sequences of die rolls readable on input."
:type 'regexp
:group 'dw)
(defcustom dw-minimum-word-count 5
"Minimum length of a good passphrase (measured in words rolled).
Generating any passphrase shorter than this value will signal an
error by default.
It is generally a bad idea to set this value any lower than 5, as
permitting any shorter passphrase renders diceware passphrase
generation pointless. It may however be reasonable to set it to
6, the commonly recommended minimum passphrase length."
:type '(choice
:format "Minimum security level: %[Value Menu%] %v"
(const :format "%t (%v words)"
:tag "lax" 5)
(const :format "%t (%v words)"
:tag "moderate" 6)
(const :format "%t (%v words)"
:tag "high" 7)
(const :format "%t (%v words)"
:tag "too high to justify using this package" 8)
(const :format "%t (%v words)"
:tag "random essay generator" 9))
:group 'dw)
;; Extended passphrase generation
;;;###autoload
(put 'dw-random-characters 'risky-local-variable t)
(defcustom dw-random-characters
'((special-characters "945678^~!#$%=&*()-}+[]\\{>:;\"'<3?/012")
(numerals "0123456789" . t)
(alphanumeric-uppercase "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")
(alphanumeric-lowercase "abcdefghijklmnopqrstuvwxyz0123456789"))
"Alist of strings to randomly choose characters from.
Each element should be a dotted list of the form
\(NAME STRING . LAX)
where NAME (a symbol) is a descriptive name for the STRING’s
contents. ‘dw-ranstring-region’ will prompt for these
names (with completion). Choosing the symbol ‘default’ as a name
causes the particular string to always be the default value when
prompted.
LAX, if non-nil, does not enforce the length of STRING to be a
power of 6. As a consequence, some rolls will fail to produce a
result.
Remark: The number of die rolls needed to generate a single
character increases logarithmically with the number of
characters: Less than 7 characters require 1 die per roll, less
than 36 two, etc. Some character numbers may produce a high
failure rate (in particular values slightly above 6^n/2), which
can double the (average) number of dice per successfully generated
character."
:type '(alist
:key-type (symbol :format "Name: %v" :value default)
:value-type
(cons :validate dw--validate-ran-chars
(string :format "Available characters: %v")
(choice :format "Match die rolls: %[Toggle%] %v"
(const :tag "lax" t)
(const :tag "strict" nil))))
:risky t
:group 'dw)
(defun dw--validate-ran-chars (cons-widget)
"Signal an error if string in CONS-WIDGET is unsafe to use."
(or (dw--validate-ran-string-length cons-widget)
(dw--validate-ran-string-uniq cons-widget)))
(defun dw--validate-ran-string-length (cons-widget)
"Check that the car of CONS-WIDGET is a 6^N long string.
If the cdr (LAX) is non-nil, return nil instead.
Note for the technically inclined: In principle it may as well be
okay for non-lax (\"strict\") strings to *divide* a power of 6
instead of actually *being* a power of 6. However, the number of
die rolls needed per character only increases on average for all
reasonable number ranges."
(let* ((current-cons (widget-value cons-widget))
(str-length (length (car current-cons)))
(lax (cdr current-cons)))
(cond
(lax nil)
((/= str-length (expt 6 (dw-required-dice str-length)))
(widget-put cons-widget
:error "Non-lax strings must be a power of 6 long")
cons-widget))))
(defun dw--validate-ran-string-uniq (cons-widget)
"Check that the string in the car of CONS-WIDGET has no repeating chars."
(let* ((current-cons (widget-value cons-widget))
(ran-string (car current-cons))
(minimized-string (concat (seq-uniq ran-string))))
(unless (string= ran-string minimized-string)
(setf (car current-cons) minimized-string)
(widget-put cons-widget
:error "Characters must be unique in string")
(widget-value-set cons-widget current-cons)
(widget-setup)
cons-widget)))
;; Interactive use
;;;###autoload
(put 'dw-directory 'risky-local-variable t)
(defcustom dw-directory (locate-user-emacs-file "diceware")
"Default directory for diceware wordlists for interactive functions.
If this directory is not present, it is automatically generated."
:type 'directory
:risky t
:set (lambda (symbol value)
(condition-case nil
(make-directory value)
(file-already-exists))
(set-default symbol value))
:group 'dw)
(defcustom dw-named-wordlists nil
"Alist of personal wordlists for interactive use.
Each element is a dotted list of the form
\(NAME FILE . CODING)
where NAME is the wordlist’s name used interactively (a symbol),
FILE is a string containing the actual filename of the wordlist
and CODING is the encoding of the file, nil being equivalent to
`utf-8'.
NAME is what interactive commands will prompt for to access a
particular wordlist.
If a wordlist has the special name ‘default’, interactive
commands will use it by default instead of prompting. Similarly,
if the alist has only one entry, that wordlist is treated as the
default wordlist, regardless of the name.
FILE, if relative, is relative to ‘dw-directory’."
:type '(alist
:key-type (symbol :format "Wordlist name: %v" :value default)
:value-type
(cons (string :format "Wordlist file: %v")
(choice
:format "Coding: %[Value Menu%] %v"
(const :tag "Default (‘utf-8’)" nil)
(coding-system
:tag "Other coding system")))) ;; TODO: validate string argument
:group 'dw)
(defcustom dw-passphrase-separator "\s"
"String inserted between words in interactively generated passphrases.
It is generally not recommended to drop separators (using the
empty string), but possible. Either way, it is best to decide
for one way to do it and stick to that."
:type '(string :value "\s")
:group 'dw)
(defcustom dw-capitalize-words nil
"Non-nil means capitalize words in interactively generated passphrases."
:type '(boolean)
:group 'dw)
\f
;;; Internal variables
(defvar dw-current-wordlist nil
"Current internalized wordlist for interactive use.
This variable is used by ‘dw-passgen-region’ to access and store
the most recently used wordlist.
It is usually unnecessary to set this variable directly; it is
automatically initialized by ‘dw-passgen-region’. If you want to
initialize or manipulate it from within an interactive command,
use ‘dw-set-wordlist’. If you want to set a default wordlist to
be read from a file, see ‘dw-named-wordlists’. Consequently,
setting this variable is only necessary if you want to set it to
some previously computed alist (as returned by ‘dw-build-alist’).
If interactive commands require a wordlist, they should use the
value of this variable. If they use a different wordlist
generated by ‘dw-build-alist’, they should set this variable.")
\f
;;; Internal predicates
(defun dw--valid-rolls-p (string)
"Return t if STRING is a nonempty sequence of digits from 1 to 6."
(and (stringp string)
(not (seq-empty-p string))
(not (dw--invalid-chars-list string))))
\f
;;; Internal string processing
(defun dw--strip-separators (string)
"Remove separator chars from STRING.
Which chars constitute as such is governed by
‘dw-separator-regexp’."
(replace-regexp-in-string
dw-separator-regexp "" string))
(defun dw--invalid-chars-list (string)
"Return a list of invalid die rolls in STRING.
The resulting list contains all characters that are not digits
from 1 to 6."
(seq-difference string "123456"))
(defun dw--internalize-rolls (string)
"Convert a STRING of die rolls to a base-6 int."
(string-to-number
(replace-regexp-in-string "6" "0" string) 6))
;; Sadly, ‘number-to-string’ has no optional BASE argument.
(defun dw--format-die-rolls (int)
"Convert internally used INT to corresponding string of die rolls."
(when (>= int 0)
(let (digits)
(dotimes (_ dw--dice-number)
(push (% int 6) digits)
(setq int (/ int 6)))
(replace-regexp-in-string "0" "6"
(mapconcat #'number-to-string digits "")))))
(defun dw--parse-string (user-string &optional noerror)
"Parse a USER-STRING of die rolls.
USER-STRING is stripped of junk chars specified by
‘dw-separator-regexp’ and then converted into a list of keys for an
internalized diceware wordlist (an alist).
If the optional second argument NOERROR is non-nil, then return
nil for invalid strings instead of signaling an error."
(let* ((string (dw--strip-separators user-string))
(total-rolls (length string))
error-data)
(cond
((not (dw--valid-rolls-p string))
(setq error-data
(if (seq-empty-p string)
`(dw-incomplete-roll 0 ,dw--dice-number)
`(dw-bad-roll
,(char-to-string
(car (dw--invalid-chars-list string)))))))
((/= (% total-rolls dw--dice-number) 0)
(setq error-data
`(dw-incomplete-roll
,total-rolls
,(* dw--dice-number
(ceiling total-rolls dw--dice-number))))))
(cond ((and error-data noerror) nil)
(error-data
(signal (car error-data) (cdr error-data)))
(t (mapcar #'dw--internalize-rolls
(seq-partition string dw--dice-number))))))
\f
;;; Internal wordlist parsing
;; This function is taken from rejeep’s f.el.
(defun dw--read (path &optional coding)
"Read text file located at PATH, using CODING.
Return the decoded text as multibyte string.
CODING defaults to ‘utf-8’."
(decode-coding-string
(with-temp-buffer
(set-buffer-multibyte nil)
(setq buffer-file-coding-system 'binary)
(insert-file-contents-literally path)
(buffer-substring-no-properties (point-min) (point-max)))
(or coding 'utf-8)))
(defun dw--read-wordlist (path &optional coding)
"Internalize plain text wordlist at PATH using CODING.
Return the resulting intermediate list for further processing.
CODING defaults to ‘utf-8’.
Each non-empty line of the file should be of the form
ROLL WORD
where ROLL is a sequence of five digits from 1 to 6, representing
one of the 6^5 (7776) possible die rolls. WORD should be a
sequence of (non-whitespace) characters to be used in the
passphrase for that particular ROLL.
Each element of the returned list is a list of strings
corresponding to one (non-empty) line in the file. Each line is
in return segmented at every space and horizontal tab.
This function is not supposed to be used by itself. In order to
access a diceware wordlist from a file, see `dw-build-alist'."
(let ((dice-table (dw--read path coding)))
(mapcar (lambda (x) (split-string x "[ \t]+" t "[ \t]+"))
(split-string dice-table "[\f\r\n\v]+" t))))
(defun dw--parse-list (read-list)
"Parse raw construct READ-LIST, forming a proper diceware alist.
READ-LIST is sanitized before conversion, so that junk entries
are ignored.
This function is not supposed to be used by itself. In order to
access a diceware wordlist from a file, see `dw-build-alist'."
(mapcar (lambda (x)
(cons (dw--internalize-rolls (elt x 0))
(elt x 1)))
(seq-filter
(lambda (x) (and (dw--valid-rolls-p (car x))
(= (length (car x)) dw--dice-number)))
read-list)))
\f
;;; Checkers
(defun dw--check-passlist (passlist &optional noerror)
"Check PASSLIST for issues and return it.
If the optional second argument NOERROR is non-nil, then return
nil instead of raising an error for an unusable PASSLIST."
(let ((word-count (length passlist))
(pass-length (length (apply #'concat passlist)))
error-data)
(cond
((< word-count dw-minimum-word-count)
(setq error-data
`(dw-too-short-passphrase ,word-count ,dw-minimum-word-count)))
;; Taking the estimate from the website (that trying to
;; brute-force the wordlist should be more efficient than the
;; easier to come up with method of trying every passphrase up to
;; the actual length L of the passphrase) yields the following
;; estimate (for N words in a phrase and an alphabet of size A):
;;
;; 6^(5N) ≤ 1 + A^1 + A^2 + ... + A^(L-1) = (A^L - 1)/(A - 1)
;;
;; Which (approximately) simplifies to
;;
;; L ≥ 5N/log6(A) + 1.
;;
;; Assuming A=27 (latin alphabet + SPC), you get the below. This
;; is slightly more strict for 8 words than the homepage's
;; recommendation, but I can reason this one more confidently.
((< pass-length (round (1+ (* word-count 2.72))))
(dw--warn-short-words)))
(cond ((and error-data noerror)
nil)
(error-data
(signal (car error-data) (cdr error-data)))
(t
passlist))))
(defun dw--check-wordlist (alist &optional noerror)
"Check internalized wordlist ALIST for issues and return it.
If the optional second argument NOERROR is non-nil, then return
nil instead of raising an error for an unusable ALIST."
(let ((wordlist-length (length alist))
(required-keys (number-sequence 0 (1- dw--wordlist-length)))
(key-list (mapcar #'car alist))
missing-keys
error-data)
(cond
((< wordlist-length dw--wordlist-length)
(setq error-data `(dw-bad-wordlist
(< ,wordlist-length ,dw--wordlist-length))))
((> wordlist-length dw--wordlist-length)
(setq error-data `(dw-bad-wordlist
(> ,wordlist-length ,dw--wordlist-length))))
((not (equal key-list required-keys))
(setq missing-keys
(seq-filter #'identity
(cl-mapcar (lambda (x y) (and (/= x y) x))
required-keys
key-list)))
(setq error-data `(dw-bad-wordlist
,(dw--format-die-rolls (car missing-keys))))))
(cond ((and error-data noerror)
nil)
(error-data
(signal (car error-data) (cdr error-data)))
(t
alist))))
\f
;;; Basic public API
(defun dw-build-alist (path &optional default-dir coding noerror)
"Read a plain text wordlist at PATH and convert to an internalized alist.
Each non-empty line of the file should be of the form
ROLL WORD
where ROLL is a sequence of five digits from 1 to 6, representing
one of the 6^5 (7776) possible die rolls. WORD should be a
sequence of (non-whitespace) characters to be used in the
passphrase for that particular ROLL. It must be separated from
ROLL by at least one space or tab character. Both may be
preceded/followed by an arbitrary amount of whitespace.
Empty lines (as well as lines with invalid contents) are treated
as junk and ignored.
DEFAULT-DIR, if non-nil, is the directory to start with if PATH
is relative. It defaults to the current buffer’s value of
‘default-directory’.
CODING, if non-nil, is the coding system used for the wordlist.
It defaults to ‘utf-8’.
If the optional fourth argument NOERROR is non-nil, then return
nil instead of raising an error in case of the wordlist being
either invalid or incomplete."
(let ((dice-file (expand-file-name path default-dir)))
(dw--check-wordlist
(sort (dw--parse-list
(dw--read-wordlist dice-file coding))
(lambda (x y) (< (car x) (car y))))
noerror)))
(defun dw-generate-passlist (string alist &optional noerror)
"Generate a list of words from a STRING of die rolls.
ALIST should be an internalized wordlist generated by
‘dw-build-alist’. The result is a list of words forming the
actual passphrase.
If the optional third argument NOERROR is non-nil, then return
nil instead of raising an error in case of STRING being either
invalid or incomplete."
(dw--check-passlist
(mapcar (lambda (x) (cdr (assq x alist)))
(dw--parse-string string noerror))
noerror))
(defun dw-generate-passphrase (string alist &optional separator strfun)
"Convert a STRING of die rolls to a complete passphrase.
STRING should be a sequence of die rolls meant for passphrase
generation. ALIST should be an internalized wordlist as
generated by ‘dw-build-alist’.
Words in the passphrase will be separated by the optional
argument SEPARATOR, if non-nil. SEPARATOR should be a string.
Its default value is \"\\s\".
If the optional fourth argument STRFUN is non-nil, apply STRFUN
to all words in the passphrase. It may be any kind of string
function of one variable."
(let ((passlist (dw-generate-passlist string alist))
(separator (or separator "\s"))
(wordfun (or strfun #'identity)))
(mapconcat wordfun passlist separator)))
\f
;;; Additional public functions
(defun dw-required-dice (n)
"Minimum number of dice to randomly choose between N possible outcomes."
(ceiling (log n 6)))
(defun dw-generate-ranint (string maxint &optional noerror)
"Convert STRING of die rolls to a random int from 0 to MAXINT.
STRING is expected to be a sequence of die rolls.
MAXINT is not included in the random number range.
If STRING does not produce a valid value, return nil.
STRING must contain at least log6(MAXINT) die rolls, rounded up.
It may contain more, however (up to a machine-dependent limit).
Unless MAXINT is a number of the form 2^a * 3^b , there is no way
to map all outcomes N dice can produce evenly and exhaustively at
the same time. Hence, on occasion random number generation will
fail, producing nil as an outcome. Since the failure chance can
reach up to 50%, it is recommended to choose an appropriate
MAXINT.
If the optional third argument NOERROR is non-nil, then return
nil instead of raising an error in case of STRING."
(let* ((string (dw--strip-separators string))
(dice-num (length string))
(min-dice (dw-required-dice maxint))
random-int
error-data)
(cond ((< dice-num min-dice)
(setq error-data
`(dw-incomplete-int ,dice-num ,min-dice)))
((not (dw--valid-rolls-p string))
(setq error-data
`(dw-bad-roll
,(char-to-string (car (dw--invalid-chars-list string))))))
;; Does the entire dice string fit into a fixnum int?
((< dice-num dw--conversion-limit)
(setq random-int (dw--internalize-rolls string))
(if (< random-int (% (expt 6 dice-num) maxint))
(setq random-int nil)
(setq random-int (% random-int maxint))))
;; With bignums in Emacs 27.1, I could in principle rely on
;; arbitrary integer arithmetic. However, using bignums
;; for this is immensely wasteful, especially since this can
;; easily be done with fixnums using simple modulo
;; arithmetic. However, it's a feature not worth needlessly
;; implementing, especially since this package has a history
;; of accumulating needless complexity. I'll support it
;; once someone opens an issue.
(t
(setq error-data
`(dw-overflow ,dice-num ,dw--conversion-limit))))
(when (and error-data (not noerror))
(signal (car error-data) (cdr error-data)))
random-int))
\f
;;; Private functions for misc. interactive commands
(defvar dw--wordlist-history nil
"Minibuffer history for previously used wordlists.")
(defun dw--prompt-wordlist ()
"Read a named wordlist in the minibuffer, with completion.
Returns the name of the wordlist as a string."
(let* ((names (mapcar #'car dw-named-wordlists))
(default-list (if (memq 'default names)
"default"
(or (car dw--wordlist-history)
(symbol-name (car names)))))
symbol-string)
(setq symbol-string
(completing-read
;; REVIEW: should it be "(default symbol-name)" or
;; "(default ‘symbol-name’)"?
(format "Wordlist (default ‘%s’): " default-list)
names nil t nil 'dw--wordlist-history default-list))
(add-to-history 'dw--wordlist-history symbol-string)
(intern symbol-string)))
(defun dw--prompt-wordlist-file ()
"Read a wordlist filename, with completion.
Return a mockup entry of ‘dw-named-wordlists’ for internal
processing."
(let ((file-name
(read-file-name "Read wordlist file: " dw-directory dw-directory t)))
(unless (file-regular-p file-name)
(signal 'dw-bad-wordlist
(list 'file-regular-p file-name)))
(list 'ad-hoc file-name)))
(defun dw--generate-charlist (dice-string possible-chars)
"Convert DICE-STRING into a random sequence of POSSIBLE-CHARS.
Return a cons of the form
\(STRING . RNG-FAILURES)
where STRING is the converted random char sequence, and
RNG-FAILURES is the number of failed character generations."
(let* ((char-num (length possible-chars))
(rng-failures 0)
rand-pos
rand-chars)
;; Convert die rolls to characters.
(dolist (roll (seq-partition dice-string (dw-required-dice char-num)))
(setq rand-pos
(condition-case error
(dw-generate-ranint roll char-num)
;; Inform the user if the number of rolls does not match the
;; expected format.
(dw-incomplete-int
(message "%s (%i/%i)."
"Region is missing die rolls for one additional character"
(elt error 1) (elt error 2))
;; This edge case is not the RNG's fault
t)))
(cond
((integerp rand-pos)
(push (elt possible-chars rand-pos) rand-chars))
((not rand-pos)
(setq rng-failures (1+ rng-failures)))))
(cons (concat (nreverse rand-chars))
rng-failures)))
(defun dw--append-salt-maybe (passphrase)
"Conditionally append ‘dw-salt’ to PASSPHRASE.
Whether this happens automatically or requires user input is
governed by ‘dw-use-salt’, which see."
(if dw-salt
(cl-case dw-use-salt
(prompt
(if (y-or-n-p "Append salt? ")
(concat passphrase dw-passphrase-separator dw-salt)
passphrase))
((nil)
passphrase)
(t
(concat passphrase dw-passphrase-separator dw-salt)))
passphrase))
(defvar dw--random-character-history nil
"Minibuffer history for previously used generation strings.")
(defun dw--prompt-random-chatacters ()
"Read an entry from ‘dw-random-characters’, with completion.
Return a cons cell of the form (STRING . LAX), see ‘dw-random-characters’."
(let* ((names (mapcar #'car dw-random-characters))
(default-string (if (memq 'default names)
"default"
(or (car dw--random-character-history)
(symbol-name (car names)))))
symbol-string)
(setq symbol-string
(completing-read
(format "Random string of (default %s): "
default-string)
names nil t nil 'dw--random-character-history default-string))
(add-to-history 'dw--random-character-history symbol-string)
(cdr
(assq (intern symbol-string)
dw-random-characters))))
\f
;;; Interactive commands
;;;###autoload
(defun dw-set-wordlist (&optional use-default)
"Set a (named) wordlist for interactive passphrase generation.
This function always returns nil.
Named wordlists are specified by ‘dw-named-wordlists’. If
‘dw-named-wordlists’ is nil, prompt for a file to use, with
‘dw-directory’ as the default directory.
If the prefix argument USE-DEFAULT is non-nil, use the default
wordlist, if available. Otherwise, prompt the user for which
wordlist to use.
This function specifically manipulates the active wordlist stored
in ‘dw-current-wordlist’ accessible to ‘dw-passgen-region’. If
you want to convert a wordlist file into the internal format, use
‘dw-build-alist’ instead."
(interactive "P")
(let (wordlist-entry file coding)
(setq wordlist-entry
(cond ((null dw-named-wordlists)
(dw--prompt-wordlist-file))
((= (length dw-named-wordlists) 1)
(car dw-named-wordlists))
((and use-default
(assq 'default dw-named-wordlists)))
(t
(assq
(dw--prompt-wordlist)
dw-named-wordlists)))
file (cadr wordlist-entry)
coding (cddr wordlist-entry)
dw-current-wordlist (dw-build-alist file dw-directory coding)))
nil)
;;;###autoload
(defun dw-passgen-region (start end &optional choose-wordlist)
"Replace sequence of die rolls in region with corresponding passphrase.
Without prefix argument, use the last wordlist used in the same
session. If no wordlist has been set, use the default wordlist,
if available. If no default wordlist is available, either prompt
for a named wordlist specified by ‘dw-named-wordlists’ or fall
back to prompting for a file. With prefix argument, ignore the
presence of a default wordlist.
For additional protection, you can append salt to your passphrase
using ‘dw-salt’. Salt serves as an additional countermeasure
against the common case of attackers trying to crack multiple
passphrases at once.
Noninteractively, the optional second argument CHOOSE-WORDLIST
serves the same purpose as the prefix argument.
If called from Lisp, the arguments START and END must specify the
region to use for passphrase generation."
(interactive "*r\nP")
(when (= start end)
(user-error "Cannot generate passphrase: empty region"))
(let* ((strfun (when dw-capitalize-words #'capitalize))
(dice-string (buffer-substring-no-properties start end))
(use-default (not choose-wordlist))
passphrase)
(unless (and dw-current-wordlist use-default)
(dw-set-wordlist use-default))
(setq passphrase
(dw-generate-passphrase dice-string
dw-current-wordlist
dw-passphrase-separator
strfun))
(setq passphrase
(dw--append-salt-maybe passphrase))
(delete-region start end)
(insert passphrase)
passphrase))
;;;###autoload
(defun dw-ranstring-region (start end)
"Replace sequence of die rolls in region with a random character sequence.
This command uses ‘dw-random-characters’ as a resource for sets
of characters to generate a random string from. You can use this
function to generate a personal salt from die rolls. See
‘dw-salt’ for more on salt.
If called from Lisp, the arguments START and END must specify the
region to use for passphrase generation."
(interactive "*r")
(when (= start end)
(user-error "Cannot generate random string: empty region"))
(when (null dw-random-characters)
(user-error "Cannot generate random string: ‘dw-random-characters’ is nil"))
(pcase-let* ((dice-string (dw--strip-separators
(buffer-substring-no-properties start end)))
(`(,possible-chars . ,lax) (dw--prompt-random-chatacters))
(`(,rand-string . ,rng-failures)
(dw--generate-charlist dice-string possible-chars)))
;; Notify the user of RNG fails
(cond ((and (/= rng-failures 0) lax)
(message "%i roll(s) failed to generate a random character."
rng-failures))
((/= rng-failures 0)
(dw--warn-bad-random-characters)))
(delete-region start end)
(insert rand-string)
rand-string))
\f
;;; Default Wordlist
;; Provide an already internalized wordlist so people can try out the
;; package without having to download file(s) from external sources.
;; This is the "large" wordlist provided by the EFF (see link).
;; https://www.eff.org/files/2016/07/18/eff_large_wordlist.txt
(defconst dw-eff-large
;; "Z" comes first because 6 is treated as 0 (base 6).
'((0 . "zoom") (1 . "zone") (2 . "zoning") (3 . "zookeeper")
(4 . "zoologist") (5 . "zoology") (6 . "yin") (7 . "yelp")
(8 . "yen") (9 . "yesterday") (10 . "yiddish") (11 . "yield")
(12 . "yonder") (13 . "yippee") (14 . "yo-yo") (15 . "yodel")
(16 . "yoga") (17 . "yogurt") (18 . "zen") (19 . "yoyo")
(20 . "yummy") (21 . "zap") (22 . "zealous") (23 . "zebra")
(24 . "zipfile") (25 . "zeppelin") (26 . "zero")
(27 . "zestfully") (28 . "zesty") (29 . "zigzagged")
(30 . "zombie") (31 . "zipping") (32 . "zippy") (33 . "zips")
(34 . "zit") (35 . "zodiac") (36 . "washcloth") (37 . "wasabi")
(38 . "washable") (39 . "washbasin") (40 . "washboard")
(41 . "washbowl") (42 . "voting") (43 . "volatile")
(44 . "volley") (45 . "voltage") (46 . "volumes")
(47 . "voter") (48 . "wad") (49 . "voucher") (50 . "vowed")
(51 . "vowel") (52 . "voyage") (53 . "wackiness")
(54 . "waggle") (55 . "wafer") (56 . "waffle") (57 . "waged")
(58 . "wager") (59 . "wages") (60 . "walnut") (61 . "wagon")
(62 . "wake") (63 . "waking") (64 . "walk") (65 . "walmart")
(66 . "wanting") (67 . "walrus") (68 . "waltz") (69 . "wand")
(70 . "wannabe") (71 . "wanted") (72 . "widely")
(73 . "whoopee") (74 . "whooping") (75 . "whoops") (76 . "why")
(77 . "wick") (78 . "washout") (79 . "washday") (80 . "washed")
(81 . "washer") (82 . "washhouse") (83 . "washing")
(84 . "watch") (85 . "washroom") (86 . "washstand")
(87 . "washtub") (88 . "wasp") (89 . "wasting") (90 . "whacky")
(91 . "water") (92 . "waviness") (93 . "waving") (94 . "wavy")
(95 . "whacking") (96 . "whimsical") (97 . "wham")
(98 . "wharf") (99 . "wheat") (100 . "whenever")
(101 . "whiff") (102 . "whomever") (103 . "whinny")
(104 . "whiny") (105 . "whisking") (106 . "whoever")
(107 . "whole") (108 . "wireless") (109 . "winner")
(110 . "winnings") (111 . "winter") (112 . "wipe")
(113 . "wired") (114 . "wielder") (115 . "widen")
(116 . "widget") (117 . "widow") (118 . "width")
(119 . "wieldable") (120 . "wilder") (121 . "wife")
(122 . "wifi") (123 . "wikipedia") (124 . "wildcard")
(125 . "wildcat") (126 . "wildness") (127 . "wildfire")
(128 . "wildfowl") (129 . "wildland") (130 . "wildlife")
(131 . "wildly") (132 . "wilt") (133 . "willed")
(134 . "willfully") (135 . "willing") (136 . "willow")
(137 . "willpower") (138 . "winking") (139 . "wimp")
(140 . "wince") (141 . "wincing") (142 . "wind") (143 . "wing")
(144 . "woven") (145 . "worry") (146 . "worsening")
(147 . "worshiper") (148 . "worst") (149 . "wound")
(150 . "wisplike") (151 . "wiring") (152 . "wiry")
(153 . "wisdom") (154 . "wise") (155 . "wish") (156 . "wobbly")
(157 . "wispy") (158 . "wistful") (159 . "wizard")
(160 . "wobble") (161 . "wobbling") (162 . "womanless")
(163 . "wok") (164 . "wolf") (165 . "wolverine")
(166 . "womanhood") (167 . "womankind") (168 . "wool")
(169 . "womanlike") (170 . "womanly") (171 . "womb")
(172 . "woof") (173 . "wooing") (174 . "worrisome")
(175 . "woozy") (176 . "word") (177 . "work") (178 . "worried")
(179 . "worrier") (180 . "yelling") (181 . "yearbook")
(182 . "yearling") (183 . "yearly") (184 . "yearning")
(185 . "yeast") (186 . "wrecker") (187 . "wow")
(188 . "wrangle") (189 . "wrath") (190 . "wreath")
(191 . "wreckage") (192 . "wrinkly") (193 . "wrecking")
(194 . "wrench") (195 . "wriggle") (196 . "wriggly")
(197 . "wrinkle") (198 . "wrongful") (199 . "wrist")
(200 . "writing") (201 . "written") (202 . "wrongdoer")
(203 . "wronged") (204 . "yahoo") (205 . "wrongly")
(206 . "wrongness") (207 . "wrought") (208 . "xbox")
(209 . "xerox") (210 . "yeah") (211 . "yam") (212 . "yanking")
(213 . "yapping") (214 . "yard") (215 . "yarn")
(216 . "tastiness") (217 . "tartly") (218 . "tartness")
(219 . "task") (220 . "tassel") (221 . "taste")
(222 . "talisman") (223 . "tag") (224 . "tainted")
(225 . "take") (226 . "taking") (227 . "talcum")
(228 . "tamper") (229 . "tall") (230 . "talon")
(231 . "tamale") (232 . "tameness") (233 . "tamer")
(234 . "tapeless") (235 . "tank") (236 . "tanned")
(237 . "tannery") (238 . "tanning") (239 . "tantrum")
(240 . "taps") (241 . "tapered") (242 . "tapering")
(243 . "tapestry") (244 . "tapioca") (245 . "tapping")
(246 . "tartar") (247 . "tarantula") (248 . "target")
(249 . "tarmac") (250 . "tarnish") (251 . "tarot")
(252 . "subway") (253 . "subtly") (254 . "subtotal")
(255 . "subtract") (256 . "subtype") (257 . "suburb")
(258 . "sublease") (259 . "subduing") (260 . "subfloor")
(261 . "subgroup") (262 . "subheader") (263 . "subject")
(264 . "submersed") (265 . "sublet") (266 . "sublevel")
(267 . "sublime") (268 . "submarine") (269 . "submerge")
(270 . "subscribe") (271 . "submitter") (272 . "subpanel")
(273 . "subpar") (274 . "subplot") (275 . "subprime")
(276 . "subsidy") (277 . "subscript") (278 . "subsector")
(279 . "subside") (280 . "subsiding") (281 . "subsidize")
(282 . "subtitle") (283 . "subsoil") (284 . "subsonic")
(285 . "substance") (286 . "subsystem") (287 . "subtext")
(288 . "superman") (289 . "superbowl") (290 . "superglue")
(291 . "superhero") (292 . "superior") (293 . "superjet")
(294 . "sudden") (295 . "subwoofer") (296 . "subzero")
(297 . "succulent") (298 . "such") (299 . "suction")
(300 . "suffix") (301 . "sudoku") (302 . "suds")
(303 . "sufferer") (304 . "suffering") (305 . "suffice")
(306 . "suitable") (307 . "suffocate") (308 . "suffrage")
(309 . "sugar") (310 . "suggest") (311 . "suing")
(312 . "sulfite") (313 . "suitably") (314 . "suitcase")
(315 . "suitor") (316 . "sulfate") (317 . "sulfide")
(318 . "sultry") (319 . "sulfur") (320 . "sulk")
(321 . "sullen") (322 . "sulphate") (323 . "sulphuric")
(324 . "suspense") (325 . "surviving") (326 . "survivor")
(327 . "sushi") (328 . "suspect") (329 . "suspend")
(330 . "supply") (331 . "supermom") (332 . "supernova")
(333 . "supervise") (334 . "supper") (335 . "supplier")
(336 . "sureness") (337 . "support") (338 . "supremacy")
(339 . "supreme") (340 . "surcharge") (341 . "surely")
(342 . "surgical") (343 . "surface") (344 . "surfacing")
(345 . "surfboard") (346 . "surfer") (347 . "surgery")
(348 . "surreal") (349 . "surging") (350 . "surname")
(351 . "surpass") (352 . "surplus") (353 . "surprise")
(354 . "survive") (355 . "surrender") (356 . "surrogate")
(357 . "surround") (358 . "survey") (359 . "survival")
(360 . "sworn") (361 . "swizzle") (362 . "swooned")
(363 . "swoop") (364 . "swoosh") (365 . "swore")
(366 . "swampland") (367 . "sustained") (368 . "sustainer")
(369 . "swab") (370 . "swaddling") (371 . "swagger")
(372 . "sweat") (373 . "swan") (374 . "swapping")
(375 . "swarm") (376 . "sway") (377 . "swear")
(378 . "swiftly") (379 . "sweep") (380 . "swell")
(381 . "swept") (382 . "swerve") (383 . "swifter")
(384 . "swimwear") (385 . "swiftness") (386 . "swimmable")
(387 . "swimmer") (388 . "swimming") (389 . "swimsuit")
(390 . "swivel") (391 . "swinger") (392 . "swinging")
(393 . "swipe") (394 . "swirl") (395 . "switch")
(396 . "taekwondo") (397 . "tactical") (398 . "tactics")
(399 . "tactile") (400 . "tactless") (401 . "tadpole")
(402 . "symptom") (403 . "swung") (404 . "sycamore")
(405 . "sympathy") (406 . "symphonic") (407 . "symphony")
(408 . "synthesis") (409 . "synapse") (410 . "syndrome")
(411 . "synergy") (412 . "synopses") (413 . "synopsis")
(414 . "tabby") (415 . "synthetic") (416 . "syrup")
(417 . "system") (418 . "t-shirt") (419 . "tabasco")
(420 . "tackiness") (421 . "tableful") (422 . "tables")
(423 . "tablet") (424 . "tableware") (425 . "tabloid")
(426 . "tactful") (427 . "tacking") (428 . "tackle")
(429 . "tackling") (430 . "tacky") (431 . "taco")
(432 . "tubby") (433 . "trustful") (434 . "trusting")
(435 . "trustless") (436 . "truth") (437 . "try")
(438 . "trinity") (439 . "trilogy") (440 . "trimester")
(441 . "trimmer") (442 . "trimming") (443 . "trimness")
(444 . "trodden") (445 . "trio") (446 . "tripod")
(447 . "tripping") (448 . "triumph") (449 . "trivial")
(450 . "trouble") (451 . "trolling") (452 . "trombone")
(453 . "trophy") (454 . "tropical") (455 . "tropics")
(456 . "truce") (457 . "troubling") (458 . "trough")
(459 . "trousers") (460 . "trout") (461 . "trowel")
(462 . "trustee") (463 . "truck") (464 . "truffle")
(465 . "trump") (466 . "trunks") (467 . "trustable")
(468 . "thinness") (469 . "thimble") (470 . "thing")
(471 . "think") (472 . "thinly") (473 . "thinner")
(474 . "tattoo") (475 . "tasting") (476 . "tasty")
(477 . "tattered") (478 . "tattle") (479 . "tattling")
(480 . "theater") (481 . "taunt") (482 . "tavern")
(483 . "thank") (484 . "that") (485 . "thaw")
(486 . "theorize") (487 . "theatrics") (488 . "thee")
(489 . "theft") (490 . "theme") (491 . "theology")
(492 . "thespian") (493 . "thermal") (494 . "thermos")
(495 . "thesaurus") (496 . "these") (497 . "thesis")
(498 . "thigh") (499 . "thicken") (500 . "thicket")
(501 . "thickness") (502 . "thieving") (503 . "thievish")
(504 . "tidal") (505 . "thus") (506 . "thwarting")
(507 . "thyself") (508 . "tiara") (509 . "tibia")
(510 . "thirty") (511 . "thinning") (512 . "thirstily")
(513 . "thirsting") (514 . "thirsty") (515 . "thirteen")
(516 . "thread") (517 . "thong") (518 . "thorn")
(519 . "those") (520 . "thousand") (521 . "thrash")
(522 . "thriving") (523 . "threaten") (524 . "threefold")
(525 . "thrift") (526 . "thrill") (527 . "thrive")
(528 . "throwback") (529 . "throat") (530 . "throbbing")
(531 . "throng") (532 . "throttle") (533 . "throwaway")
(534 . "thursday") (535 . "thrower") (536 . "throwing")
(537 . "thud") (538 . "thumb") (539 . "thumping")
(540 . "tiptop") (541 . "tipoff") (542 . "tipped")
(543 . "tipper") (544 . "tipping") (545 . "tiptoeing")
(546 . "tighten") (547 . "tidbit") (548 . "tidiness")
(549 . "tidings") (550 . "tidy") (551 . "tiger") (552 . "tile")
(553 . "tightly") (554 . "tightness") (555 . "tightrope")
(556 . "tightwad") (557 . "tigress") (558 . "timothy")
(559 . "tiling") (560 . "till") (561 . "tilt") (562 . "timid")
(563 . "timing") (564 . "tinker") (565 . "tinderbox")
(566 . "tinfoil") (567 . "tingle") (568 . "tingling")
(569 . "tingly") (570 . "tiny") (571 . "tinkling")
(572 . "tinsel") (573 . "tinsmith") (574 . "tint")
(575 . "tinwork") (576 . "tray") (577 . "traps")
(578 . "trash") (579 . "travel") (580 . "traverse")
(581 . "travesty") (582 . "traction") (583 . "tiring")
(584 . "tissue") (585 . "trace") (586 . "tracing")
(587 . "track") (588 . "tragedy") (589 . "tractor")
(590 . "trade") (591 . "trading") (592 . "tradition")
(593 . "traffic") (594 . "tranquil") (595 . "trailing")
(596 . "trailside") (597 . "train") (598 . "traitor")
(599 . "trance") (600 . "transpose") (601 . "transfer")
(602 . "transform") (603 . "translate") (604 . "transpire")
(605 . "transport") (606 . "trapping") (607 . "trapdoor")
(608 . "trapeze") (609 . "trapezoid") (610 . "trapped")
(611 . "trapper") (612 . "trillion") (613 . "tricycle")
(614 . "trident") (615 . "tried") (616 . "trifle")
(617 . "trifocals") (618 . "treble") (619 . "treachery")
(620 . "treading") (621 . "treadmill") (622 . "treason")
(623 . "treat") (624 . "trench") (625 . "tree")
(626 . "trekker") (627 . "tremble") (628 . "trembling")
(629 . "tremor") (630 . "tribesman") (631 . "trend")
(632 . "trespass") (633 . "triage") (634 . "trial")
(635 . "triangle") (636 . "trickery") (637 . "tribunal")
(638 . "tribune") (639 . "tributary") (640 . "tribute")
(641 . "triceps") (642 . "tricolor") (643 . "trickily")
(644 . "tricking") (645 . "trickle") (646 . "trickster")
(647 . "tricky") (648 . "ungreased") (649 . "unglazed")
(650 . "ungloved") (651 . "unglue") (652 . "ungodly")
(653 . "ungraded") (654 . "unequal") (655 . "unedited")
(656 . "unelected") (657 . "unending") (658 . "unengaged")
(659 . "unenvied") (660 . "unfair") (661 . "unethical")
(662 . "uneven") (663 . "unexpired") (664 . "unexposed")
(665 . "unfailing") (666 . "unfitted") (667 . "unfasten")
(668 . "unfazed") (669 . "unfeeling") (670 . "unfiled")
(671 . "unfilled") (672 . "unfold") (673 . "unfitting")
(674 . "unfixable") (675 . "unfixed") (676 . "unflawed")
(677 . "unfocused") (678 . "unfunded") (679 . "unfounded")
(680 . "unframed") (681 . "unfreeze") (682 . "unfrosted")
(683 . "unfrozen") (684 . "twig") (685 . "twenty")
(686 . "twerp") (687 . "twice") (688 . "twiddle")
(689 . "twiddling") (690 . "tuition") (691 . "tubeless")
(692 . "tubular") (693 . "tucking") (694 . "tuesday")
(695 . "tug") (696 . "turbine") (697 . "tulip")
(698 . "tumble") (699 . "tumbling") (700 . "tummy")
(701 . "turban") (702 . "turmoil") (703 . "turbofan")
(704 . "turbojet") (705 . "turbulent") (706 . "turf")
(707 . "turkey") (708 . "tux") (709 . "turret")
(710 . "turtle") (711 . "tusk") (712 . "tutor") (713 . "tutu")
(714 . "twentieth") (715 . "tweak") (716 . "tweed")
(717 . "tweet") (718 . "tweezers") (719 . "twelve")
(720 . "unbalance") (721 . "unashamed") (722 . "unaudited")
(723 . "unawake") (724 . "unaware") (725 . "unbaked")
(726 . "twisted") (727 . "twilight") (728 . "twine")
(729 . "twins") (730 . "twirl") (731 . "twistable")
(732 . "tycoon") (733 . "twister") (734 . "twisting")
(735 . "twisty") (736 . "twitch") (737 . "twitter")
(738 . "ultra") (739 . "tying") (740 . "tyke") (741 . "udder")
(742 . "ultimate") (743 . "ultimatum") (744 . "unadorned")
(745 . "umbilical") (746 . "umbrella") (747 . "umpire")
(748 . "unabashed") (749 . "unable") (750 . "unarmored")
(751 . "unadvised") (752 . "unafraid") (753 . "unaired")
(754 . "unaligned") (755 . "unaltered") (756 . "unclothed")
(757 . "unclasp") (758 . "uncle") (759 . "unclip")
(760 . "uncloak") (761 . "unclog") (762 . "unblended")
(763 . "unbeaten") (764 . "unbend") (765 . "unbent")
(766 . "unbiased") (767 . "unbitten") (768 . "unbraided")
(769 . "unblessed") (770 . "unblock") (771 . "unbolted")
(772 . "unbounded") (773 . "unboxed") (774 . "unbutton")
(775 . "unbridle") (776 . "unbroken") (777 . "unbuckled")
(778 . "unbundle") (779 . "unburned") (780 . "unchanged")
(781 . "uncanny") (782 . "uncapped") (783 . "uncaring")
(784 . "uncertain") (785 . "unchain") (786 . "unclamped")
(787 . "uncharted") (788 . "uncheck") (789 . "uncivil")
(790 . "unclad") (791 . "unclaimed") (792 . "undergo")
(793 . "underdog") (794 . "underdone") (795 . "underfed")
(796 . "underfeed") (797 . "underfoot") (798 . "uncooked")
(799 . "uncoated") (800 . "uncoiled") (801 . "uncolored")
(802 . "uncombed") (803 . "uncommon") (804 . "uncover")
(805 . "uncork") (806 . "uncorrupt") (807 . "uncounted")
(808 . "uncouple") (809 . "uncouth") (810 . "uncurled")
(811 . "uncross") (812 . "uncrown") (813 . "uncrushed")
(814 . "uncured") (815 . "uncurious") (816 . "undecided")
(817 . "uncut") (818 . "undamaged") (819 . "undated")
(820 . "undaunted") (821 . "undead") (822 . "undercut")
(823 . "undefined") (824 . "underage") (825 . "underarm")
(826 . "undercoat") (827 . "undercook") (828 . "uneaten")
(829 . "unearth") (830 . "unease") (831 . "uneasily")
(832 . "uneasy") (833 . "uneatable") (834 . "undermost")
(835 . "undergrad") (836 . "underhand") (837 . "underline")
(838 . "underling") (839 . "undermine") (840 . "undertone")
(841 . "underpaid") (842 . "underpass") (843 . "underpay")
(844 . "underrate") (845 . "undertake") (846 . "underwire")
(847 . "undertook") (848 . "undertow") (849 . "underuse")
(850 . "underwear") (851 . "underwent") (852 . "undone")
(853 . "undesired") (854 . "undiluted") (855 . "undivided")
(856 . "undocked") (857 . "undoing") (858 . "unearned")
(859 . "undrafted") (860 . "undress") (861 . "undrilled")
(862 . "undusted") (863 . "undying") (864 . "unusable")
(865 . "untrue") (866 . "untruth") (867 . "unturned")
(868 . "untwist") (869 . "untying") (870 . "unsure")
(871 . "unstuffed") (872 . "unstylish") (873 . "unsubtle")
(874 . "unsubtly") (875 . "unsuited") (876 . "untangled")
(877 . "unsworn") (878 . "untagged") (879 . "untainted")
(880 . "untaken") (881 . "untamed") (882 . "untie")
(883 . "untapped") (884 . "untaxed") (885 . "unthawed")
(886 . "unthread") (887 . "untidy") (888 . "untold")
(889 . "until") (890 . "untimed") (891 . "untimely")
(892 . "untitled") (893 . "untoasted") (894 . "untrimmed")
(895 . "untouched") (896 . "untracked") (897 . "untrained")
(898 . "untreated") (899 . "untried") (900 . "unjustly")
(901 . "unison") (902 . "unissued") (903 . "unit")
(904 . "universal") (905 . "universe") (906 . "unhealthy")
(907 . "unguarded") (908 . "unguided") (909 . "unhappily")
(910 . "unhappy") (911 . "unharmed") (912 . "unhinge")
(913 . "unheard") (914 . "unhearing") (915 . "unheated")
(916 . "unhelpful") (917 . "unhidden") (918 . "unified")
(919 . "unhitched") (920 . "unholy") (921 . "unhook")
(922 . "unicorn") (923 . "unicycle") (924 . "uninjured")
(925 . "unifier") (926 . "uniformed") (927 . "uniformly")
(928 . "unify") (929 . "unimpeded") (930 . "unisexual")
(931 . "uninstall") (932 . "uninsured") (933 . "uninvited")
(934 . "union") (935 . "uniquely") (936 . "unmarked")
(937 . "unlucky") (938 . "unmade") (939 . "unmanaged")
(940 . "unmanned") (941 . "unmapped") (942 . "unlaced")
(943 . "unkempt") (944 . "unkind") (945 . "unknotted")
(946 . "unknowing") (947 . "unknown") (948 . "unless")
(949 . "unlatch") (950 . "unlawful") (951 . "unleaded")
(952 . "unlearned") (953 . "unleash") (954 . "unlinked")
(955 . "unleveled") (956 . "unlighted") (957 . "unlikable")
(958 . "unlimited") (959 . "unlined") (960 . "unlocked")
(961 . "unlisted") (962 . "unlit") (963 . "unlivable")
(964 . "unloaded") (965 . "unloader") (966 . "unluckily")
(967 . "unlocking") (968 . "unlovable") (969 . "unloved")
(970 . "unlovely") (971 . "unloving") (972 . "unplug")
(973 . "unplanned") (974 . "unplanted") (975 . "unpleased")
(976 . "unpledged") (977 . "unplowed") (978 . "unmixed")
(979 . "unmasked") (980 . "unmasking") (981 . "unmatched")
(982 . "unmindful") (983 . "unmixable") (984 . "unnamable")
(985 . "unmolded") (986 . "unmoral") (987 . "unmovable")
(988 . "unmoved") (989 . "unmoving") (990 . "unnoticed")
(991 . "unnamed") (992 . "unnatural") (993 . "unneeded")
(994 . "unnerve") (995 . "unnerving") (996 . "unpainted")
(997 . "unopened") (998 . "unopposed") (999 . "unpack")
(1000 . "unpadded") (1001 . "unpaid") (1002 . "unpinned")
(1003 . "unpaired") (1004 . "unpaved") (1005 . "unpeeled")
(1006 . "unpicked") (1007 . "unpiloted") (1008 . "unseated")
(1009 . "unsavory") (1010 . "unscathed") (1011 . "unscented")
(1012 . "unscrew") (1013 . "unsealed") (1014 . "unraveled")
(1015 . "unpopular") (1016 . "unproven") (1017 . "unquote")
(1018 . "unranked") (1019 . "unrated") (1020 . "unrelated")
(1021 . "unreached") (1022 . "unread") (1023 . "unreal")
(1024 . "unreeling") (1025 . "unrefined") (1026 . "unripe")
(1027 . "unrented") (1028 . "unrest") (1029 . "unretired")
(1030 . "unrevised") (1031 . "unrigged") (1032 . "unruly")
(1033 . "unrivaled") (1034 . "unroasted") (1035 . "unrobed")
(1036 . "unroll") (1037 . "unruffled") (1038 . "unsaved")
(1039 . "unrushed") (1040 . "unsaddle") (1041 . "unsafe")
(1042 . "unsaid") (1043 . "unsalted") (1044 . "unstuck")
(1045 . "unsteady") (1046 . "unsterile") (1047 . "unstirred")
(1048 . "unstitch") (1049 . "unstopped") (1050 . "unselfish")
(1051 . "unsecured") (1052 . "unseeing") (1053 . "unseemly")
(1054 . "unseen") (1055 . "unselect") (1056 . "unshaven")
(1057 . "unsent") (1058 . "unsettled") (1059 . "unshackle")
(1060 . "unshaken") (1061 . "unshaved") (1062 . "unsliced")
(1063 . "unsheathe") (1064 . "unshipped") (1065 . "unsightly")
(1066 . "unsigned") (1067 . "unskilled") (1068 . "unsolved")
(1069 . "unsmooth") (1070 . "unsnap") (1071 . "unsocial")
(1072 . "unsoiled") (1073 . "unsold") (1074 . "unstamped")
(1075 . "unsorted") (1076 . "unspoiled") (1077 . "unspoken")
(1078 . "unstable") (1079 . "unstaffed") (1080 . "void")
(1081 . "vocalize") (1082 . "vocally") (1083 . "vocation")
(1084 . "voice") (1085 . "voicing") (1086 . "viper")
(1087 . "violate") (1088 . "violation") (1089 . "violator")
(1090 . "violet") (1091 . "violin") (1092 . "viscosity")
(1093 . "viral") (1094 . "virtual") (1095 . "virtuous")
(1096 . "virus") (1097 . "visa") (1098 . "visiting")
(1099 . "viscous") (1100 . "viselike") (1101 . "visible")
(1102 . "visibly") (1103 . "vision") (1104 . "vitally")
(1105 . "visitor") (1106 . "visor") (1107 . "vista")
(1108 . "vitality") (1109 . "vitalize") (1110 . "vocalist")
(1111 . "vitamins") (1112 . "vivacious") (1113 . "vividly")
(1114 . "vividness") (1115 . "vixen") (1116 . "upbeat")
(1117 . "unwound") (1118 . "unwoven") (1119 . "unwrapped")
(1120 . "unwritten") (1121 . "unzip") (1122 . "unveiled")
(1123 . "unused") (1124 . "unusual") (1125 . "unvalued")
(1126 . "unvaried") (1127 . "unvarying") (1128 . "unwanted")
(1129 . "unveiling") (1130 . "unvented") (1131 . "unviable")
(1132 . "unvisited") (1133 . "unvocal") (1134 . "unwed")
(1135 . "unwarlike") (1136 . "unwary") (1137 . "unwashed")
(1138 . "unwatched") (1139 . "unweave") (1140 . "unwired")
(1141 . "unwelcome") (1142 . "unwell") (1143 . "unwieldy")
(1144 . "unwilling") (1145 . "unwind") (1146 . "unworthy")
(1147 . "unwitting") (1148 . "unwomanly") (1149 . "unworldly")
(1150 . "unworn") (1151 . "unworried") (1152 . "uranium")
(1153 . "uptight") (1154 . "uptown") (1155 . "upturned")
(1156 . "upward") (1157 . "upwind") (1158 . "upgrade")
(1159 . "upchuck") (1160 . "upcoming") (1161 . "upcountry")
(1162 . "update") (1163 . "upfront") (1164 . "uplifting")
(1165 . "upheaval") (1166 . "upheld") (1167 . "uphill")
(1168 . "uphold") (1169 . "uplifted") (1170 . "upriver")
(1171 . "upload") (1172 . "upon") (1173 . "upper")
(1174 . "upright") (1175 . "uprising") (1176 . "upstairs")
(1177 . "uproar") (1178 . "uproot") (1179 . "upscale")
(1180 . "upside") (1181 . "upstage") (1182 . "uptake")
(1183 . "upstart") (1184 . "upstate") (1185 . "upstream")
(1186 . "upstroke") (1187 . "upswing") (1188 . "valuables")
(1189 . "vagueness") (1190 . "valiant") (1191 . "valid")
(1192 . "valium") (1193 . "valley") (1194 . "urging")
(1195 . "urban") (1196 . "urchin") (1197 . "urethane")
(1198 . "urgency") (1199 . "urgent") (1200 . "used")
(1201 . "urologist") (1202 . "urology") (1203 . "usable")
(1204 . "usage") (1205 . "useable") (1206 . "utility")
(1207 . "uselessly") (1208 . "user") (1209 . "usher")
(1210 . "usual") (1211 . "utensil") (1212 . "vacant")
(1213 . "utilize") (1214 . "utmost") (1215 . "utopia")
(1216 . "utter") (1217 . "vacancy") (1218 . "vaguely")
(1219 . "vacate") (1220 . "vacation") (1221 . "vagabond")
(1222 . "vagrancy") (1223 . "vagrantly") (1224 . "venue")
(1225 . "veneering") (1226 . "vengeful") (1227 . "venomous")
(1228 . "ventricle") (1229 . "venture") (1230 . "vantage")
(1231 . "value") (1232 . "vanilla") (1233 . "vanish")
(1234 . "vanity") (1235 . "vanquish") (1236 . "various")
(1237 . "vaporizer") (1238 . "variable") (1239 . "variably")
(1240 . "varied") (1241 . "variety") (1242 . "vaseline")
(1243 . "varmint") (1244 . "varnish") (1245 . "varsity")
(1246 . "varying") (1247 . "vascular") (1248 . "vehicular")
(1249 . "vastly") (1250 . "vastness") (1251 . "veal")
(1252 . "vegan") (1253 . "veggie") (1254 . "vendor")
(1255 . "velcro") (1256 . "velocity") (1257 . "velvet")
(1258 . "vendetta") (1259 . "vending") (1260 . "vintage")
(1261 . "vigorous") (1262 . "village") (1263 . "villain")
(1264 . "vindicate") (1265 . "vineyard") (1266 . "verify")
(1267 . "venus") (1268 . "verbalize") (1269 . "verbally")
(1270 . "verbose") (1271 . "verdict") (1272 . "vertigo")
(1273 . "verse") (1274 . "version") (1275 . "versus")
(1276 . "vertebrae") (1277 . "vertical") (1278 . "vexingly")
(1279 . "very") (1280 . "vessel") (1281 . "vest")
(1282 . "veteran") (1283 . "veto") (1284 . "victory")
(1285 . "viability") (1286 . "viable") (1287 . "vibes")
(1288 . "vice") (1289 . "vicinity") (1290 . "viewpoint")
(1291 . "video") (1292 . "viewable") (1293 . "viewer")
(1294 . "viewing") (1295 . "viewless") (1296 . "copilot")
(1297 . "convent") (1298 . "copartner") (1299 . "cope")
(1300 . "copied") (1301 . "copier") (1302 . "consoling")
(1303 . "connected") (1304 . "connector") (1305 . "consensus")
(1306 . "consent") (1307 . "console") (1308 . "construct")
(1309 . "consonant") (1310 . "constable") (1311 . "constant")
(1312 . "constrain") (1313 . "constrict") (1314 . "contempt")
(1315 . "consult") (1316 . "consumer") (1317 . "consuming")
(1318 . "contact") (1319 . "container") (1320 . "context")
(1321 . "contend") (1322 . "contented") (1323 . "contently")
(1324 . "contents") (1325 . "contest") (1326 . "convene")
(1327 . "contort") (1328 . "contour") (1329 . "contrite")
(1330 . "control") (1331 . "contusion") (1332 . "clothes")
(1333 . "clock") (1334 . "clone") (1335 . "cloning")
(1336 . "closable") (1337 . "closure") (1338 . "clause")
(1339 . "clarity") (1340 . "clash") (1341 . "clasp")
(1342 . "class") (1343 . "clatter") (1344 . "cleat")
(1345 . "clavicle") (1346 . "claw") (1347 . "clay")
(1348 . "clean") (1349 . "clear") (1350 . "clerk")
(1351 . "cleaver") (1352 . "cleft") (1353 . "clench")
(1354 . "clergyman") (1355 . "clerical") (1356 . "cling")
(1357 . "clever") (1358 . "clicker") (1359 . "client")
(1360 . "climate") (1361 . "climatic") (1362 . "clobber")
(1363 . "clinic") (1364 . "clinking") (1365 . "clip")
(1366 . "clique") (1367 . "cloak") (1368 . "cogwheel")
(1369 . "coexist") (1370 . "coffee") (1371 . "cofounder")
(1372 . "cognition") (1373 . "cognitive") (1374 . "clubhouse")
(1375 . "clothing") (1376 . "cloud") (1377 . "clover")
(1378 . "clubbed") (1379 . "clubbing") (1380 . "clutch")
(1381 . "clump") (1382 . "clumsily") (1383 . "clumsy")
(1384 . "clunky") (1385 . "clustered") (1386 . "coasting")
(1387 . "clutter") (1388 . "coach") (1389 . "coagulant")
(1390 . "coastal") (1391 . "coaster") (1392 . "cobbler")
(1393 . "coastland") (1394 . "coastline") (1395 . "coat")
(1396 . "coauthor") (1397 . "cobalt") (1398 . "coerce")
(1399 . "cobweb") (1400 . "cocoa") (1401 . "coconut")
(1402 . "cod") (1403 . "coeditor") (1404 . "commodity")
(1405 . "commence") (1406 . "commend") (1407 . "comment")
(1408 . "commerce") (1409 . "commode") (1410 . "cola")
(1411 . "coherence") (1412 . "coherent") (1413 . "cohesive")
(1414 . "coil") (1415 . "coke") (1416 . "collar")
(1417 . "cold") (1418 . "coleslaw") (1419 . "coliseum")
(1420 . "collage") (1421 . "collapse") (1422 . "colonial")
(1423 . "collected") (1424 . "collector") (1425 . "collide")
(1426 . "collie") (1427 . "collision") (1428 . "coma")
(1429 . "colonist") (1430 . "colonize") (1431 . "colony")
(1432 . "colossal") (1433 . "colt") (1434 . "comma")
(1435 . "come") (1436 . "comfort") (1437 . "comfy")
(1438 . "comic") (1439 . "coming") (1440 . "concise")
(1441 . "concept") (1442 . "concerned") (1443 . "concert")
(1444 . "conch") (1445 . "concierge") (1446 . "compacted")
(1447 . "commodore") (1448 . "common") (1449 . "commotion")
(1450 . "commute") (1451 . "commuting") (1452 . "compare")
(1453 . "compacter") (1454 . "compactly") (1455 . "compactor")
(1456 . "companion") (1457 . "company") (1458 . "composer")
(1459 . "compel") (1460 . "compile") (1461 . "comply")
(1462 . "component") (1463 . "composed") (1464 . "comprised")
(1465 . "composite") (1466 . "compost") (1467 . "composure")
(1468 . "compound") (1469 . "compress") (1470 . "conceded")
(1471 . "computer") (1472 . "computing") (1473 . "comrade")
(1474 . "concave") (1475 . "conceal") (1476 . "conjuror")
(1477 . "congrats") (1478 . "congress") (1479 . "conical")
(1480 . "conjoined") (1481 . "conjure") (1482 . "condition")
(1483 . "conclude") (1484 . "concrete") (1485 . "concur")
(1486 . "condense") (1487 . "condiment") (1488 . "confess")
(1489 . "condone") (1490 . "conducive") (1491 . "conductor")
(1492 . "conduit") (1493 . "cone") (1494 . "configure")
(1495 . "confetti") (1496 . "confidant") (1497 . "confident")
(1498 . "confider") (1499 . "confiding") (1500 . "confound")
(1501 . "confined") (1502 . "confining") (1503 . "confirm")
(1504 . "conflict") (1505 . "conform") (1506 . "congested")
(1507 . "confront") (1508 . "confused") (1509 . "confusing")
(1510 . "confusion") (1511 . "congenial") (1512 . "annually")
(1513 . "ankle") (1514 . "annex") (1515 . "annotate")
(1516 . "announcer") (1517 . "annoying") (1518 . "anchovy")
(1519 . "anaerobic") (1520 . "anagram") (1521 . "anatomist")
(1522 . "anatomy") (1523 . "anchor") (1524 . "anew")
(1525 . "ancient") (1526 . "android") (1527 . "anemia")
(1528 . "anemic") (1529 . "aneurism") (1530 . "angles")
(1531 . "angelfish") (1532 . "angelic") (1533 . "anger")
(1534 . "angled") (1535 . "angler") (1536 . "animal")
(1537 . "angling") (1538 . "angrily") (1539 . "angriness")
(1540 . "anguished") (1541 . "angular") (1542 . "animosity")
(1543 . "animate") (1544 . "animating") (1545 . "animation")
(1546 . "animator") (1547 . "anime") (1548 . "acid")
(1549 . "accurate") (1550 . "accustom") (1551 . "acetone")
(1552 . "achiness") (1553 . "aching") (1554 . "ability")
(1555 . "abacus") (1556 . "abdomen") (1557 . "abdominal")
(1558 . "abide") (1559 . "abiding") (1560 . "abreast")
(1561 . "ablaze") (1562 . "able") (1563 . "abnormal")
(1564 . "abrasion") (1565 . "abrasive") (1566 . "absently")
(1567 . "abridge") (1568 . "abroad") (1569 . "abruptly")
(1570 . "absence") (1571 . "absentee") (1572 . "absurd")
(1573 . "absinthe") (1574 . "absolute") (1575 . "absolve")
(1576 . "abstain") (1577 . "abstract") (1578 . "accuracy")
(1579 . "accent") (1580 . "acclaim") (1581 . "acclimate")
(1582 . "accompany") (1583 . "account") (1584 . "aflame")
(1585 . "affix") (1586 . "afflicted") (1587 . "affluent")
(1588 . "afford") (1589 . "affront") (1590 . "acronym")
(1591 . "acorn") (1592 . "acquaint") (1593 . "acquire")
(1594 . "acre") (1595 . "acrobat") (1596 . "activism")
(1597 . "acting") (1598 . "action") (1599 . "activate")
(1600 . "activator") (1601 . "active") (1602 . "acuteness")
(1603 . "activist") (1604 . "activity") (1605 . "actress")
(1606 . "acts") (1607 . "acutely") (1608 . "affair")
(1609 . "aeration") (1610 . "aerobics") (1611 . "aerosol")
(1612 . "aerospace") (1613 . "afar") (1614 . "affirm")
(1615 . "affected") (1616 . "affecting") (1617 . "affection")
(1618 . "affidavit") (1619 . "affiliate") (1620 . "alabaster")
(1621 . "ahoy") (1622 . "aide") (1623 . "aids") (1624 . "aim")
(1625 . "ajar") (1626 . "afterlife") (1627 . "afloat")
(1628 . "aflutter") (1629 . "afoot") (1630 . "afraid")
(1631 . "afterglow") (1632 . "agency") (1633 . "aftermath")
(1634 . "aftermost") (1635 . "afternoon") (1636 . "aged")
(1637 . "ageless") (1638 . "agility") (1639 . "agenda")
(1640 . "agent") (1641 . "aggregate") (1642 . "aghast")
(1643 . "agile") (1644 . "agreeable") (1645 . "aging")
(1646 . "agnostic") (1647 . "agonize") (1648 . "agonizing")
(1649 . "agony") (1650 . "ahead") (1651 . "agreeably")
(1652 . "agreed") (1653 . "agreeing") (1654 . "agreement")
(1655 . "aground") (1656 . "amber") (1657 . "alumni")
(1658 . "always") (1659 . "amaretto") (1660 . "amaze")
(1661 . "amazingly") (1662 . "algorithm") (1663 . "alarm")
(1664 . "albatross") (1665 . "album") (1666 . "alfalfa")
(1667 . "algebra") (1668 . "alike") (1669 . "alias")
(1670 . "alibi") (1671 . "alienable") (1672 . "alienate")
(1673 . "aliens") (1674 . "almost") (1675 . "alive")
(1676 . "alkaline") (1677 . "alkalize") (1678 . "almanac")
(1679 . "almighty") (1680 . "aloof") (1681 . "aloe")
(1682 . "aloft") (1683 . "aloha") (1684 . "alone")
(1685 . "alongside") (1686 . "aluminum") (1687 . "alphabet")
(1688 . "alright") (1689 . "although") (1690 . "altitude")
(1691 . "alto") (1692 . "anaconda") (1693 . "amusable")
(1694 . "amused") (1695 . "amusement") (1696 . "amuser")
(1697 . "amusing") (1698 . "ambulance") (1699 . "ambiance")
(1700 . "ambiguity") (1701 . "ambiguous") (1702 . "ambition")
(1703 . "ambitious") (1704 . "amiable") (1705 . "ambush")
(1706 . "amendable") (1707 . "amendment") (1708 . "amends")
(1709 . "amenity") (1710 . "ammonia") (1711 . "amicably")
(1712 . "amid") (1713 . "amigo") (1714 . "amino")
(1715 . "amiss") (1716 . "amperage") (1717 . "ammonium")
(1718 . "amnesty") (1719 . "amniotic") (1720 . "among")
(1721 . "amount") (1722 . "amulet") (1723 . "ample")
(1724 . "amplifier") (1725 . "amplify") (1726 . "amply")
(1727 . "amuck") (1728 . "backshift") (1729 . "backlog")
(1730 . "backpack") (1731 . "backpedal") (1732 . "backrest")
(1733 . "backroom") (1734 . "awhile") (1735 . "avoid")
(1736 . "await") (1737 . "awaken") (1738 . "award")
(1739 . "aware") (1740 . "babble") (1741 . "awkward")
(1742 . "awning") (1743 . "awoke") (1744 . "awry")
(1745 . "axis") (1746 . "backboned") (1747 . "babbling")
(1748 . "babied") (1749 . "baboon") (1750 . "backache")
(1751 . "backboard") (1752 . "backhand") (1753 . "backdrop")
(1754 . "backed") (1755 . "backer") (1756 . "backfield")
(1757 . "backfire") (1758 . "backlit") (1759 . "backing")
(1760 . "backlands") (1761 . "backlash") (1762 . "backless")
(1763 . "backlight") (1764 . "anyway") (1765 . "anymore")
(1766 . "anyone") (1767 . "anyplace") (1768 . "anything")
(1769 . "anytime") (1770 . "antarctic") (1771 . "annuity")
(1772 . "anointer") (1773 . "another") (1774 . "answering")
(1775 . "antacid") (1776 . "anthology") (1777 . "anteater")
(1778 . "antelope") (1779 . "antennae") (1780 . "anthem")
(1781 . "anthill") (1782 . "antiques") (1783 . "antibody")
(1784 . "antics") (1785 . "antidote") (1786 . "antihero")
(1787 . "antiquely") (1788 . "antivirus") (1789 . "antiquity")
(1790 . "antirust") (1791 . "antitoxic") (1792 . "antitrust")
(1793 . "antiviral") (1794 . "anyhow") (1795 . "antler")
(1796 . "antonym") (1797 . "antsy") (1798 . "anvil")
(1799 . "anybody") (1800 . "ardently") (1801 . "aptly")
(1802 . "aqua") (1803 . "aqueduct") (1804 . "arbitrary")
(1805 . "arbitrate") (1806 . "appear") (1807 . "anywhere")
(1808 . "aorta") (1809 . "apache") (1810 . "apostle")
(1811 . "appealing") (1812 . "appetizer") (1813 . "appease")
(1814 . "appeasing") (1815 . "appendage") (1816 . "appendix")
(1817 . "appetite") (1818 . "applied") (1819 . "applaud")
(1820 . "applause") (1821 . "apple") (1822 . "appliance")
(1823 . "applicant") (1824 . "approach") (1825 . "apply")
(1826 . "appointee") (1827 . "appraisal") (1828 . "appraiser")
(1829 . "apprehend") (1830 . "aptitude") (1831 . "approval")
(1832 . "approve") (1833 . "apricot") (1834 . "april")
(1835 . "apron") (1836 . "ascertain") (1837 . "arson")
(1838 . "art") (1839 . "ascend") (1840 . "ascension")
(1841 . "ascent") (1842 . "arise") (1843 . "area")
(1844 . "arena") (1845 . "arguable") (1846 . "arguably")
(1847 . "argue") (1848 . "armhole") (1849 . "armadillo")
(1850 . "armband") (1851 . "armchair") (1852 . "armed")
(1853 . "armful") (1854 . "armrest") (1855 . "arming")
(1856 . "armless") (1857 . "armoire") (1858 . "armored")
(1859 . "armory") (1860 . "arrange") (1861 . "army")
(1862 . "aroma") (1863 . "arose") (1864 . "around")
(1865 . "arousal") (1866 . "arrogant") (1867 . "array")
(1868 . "arrest") (1869 . "arrival") (1870 . "arrive")
(1871 . "arrogance") (1872 . "attic") (1873 . "attendant")
(1874 . "attendee") (1875 . "attention") (1876 . "attentive")
(1877 . "attest") (1878 . "askew") (1879 . "ashamed")
(1880 . "ashen") (1881 . "ashes") (1882 . "ashy")
(1883 . "aside") (1884 . "aspirin") (1885 . "asleep")
(1886 . "asparagus") (1887 . "aspect") (1888 . "aspirate")
(1889 . "aspire") (1890 . "astronomy") (1891 . "astonish")
(1892 . "astound") (1893 . "astride") (1894 . "astrology")
(1895 . "astronaut") (1896 . "atop") (1897 . "astute")
(1898 . "atlantic") (1899 . "atlas") (1900 . "atom")
(1901 . "atonable") (1902 . "attempt") (1903 . "atrium")
(1904 . "atrocious") (1905 . "atrophy") (1906 . "attach")
(1907 . "attain") (1908 . "avid") (1909 . "average")
(1910 . "aversion") (1911 . "avert") (1912 . "aviation")
(1913 . "aviator") (1914 . "auction") (1915 . "attire")
(1916 . "attitude") (1917 . "attractor") (1918 . "attribute")
(1919 . "atypical") (1920 . "audio") (1921 . "audacious")
(1922 . "audacity") (1923 . "audible") (1924 . "audibly")
(1925 . "audience") (1926 . "autism") (1927 . "audition")
(1928 . "augmented") (1929 . "august") (1930 . "authentic")
(1931 . "author") (1932 . "autopilot") (1933 . "autistic")
(1934 . "autograph") (1935 . "automaker") (1936 . "automated")
(1937 . "automatic") (1938 . "avenue") (1939 . "available")
(1940 . "avalanche") (1941 . "avatar") (1942 . "avenge")
(1943 . "avenging") (1944 . "bouncy") (1945 . "bottle")
(1946 . "bottling") (1947 . "bottom") (1948 . "bounce")
(1949 . "bouncing") (1950 . "bonus") (1951 . "bonelike")
(1952 . "boney") (1953 . "bonfire") (1954 . "bonnet")
(1955 . "bonsai") (1956 . "booted") (1957 . "bony")
(1958 . "boogeyman") (1959 . "boogieman") (1960 . "book")
(1961 . "boondocks") (1962 . "boots") (1963 . "booth")
(1964 . "bootie") (1965 . "booting") (1966 . "bootlace")
(1967 . "bootleg") (1968 . "borrowing") (1969 . "boozy")
(1970 . "borax") (1971 . "boring") (1972 . "borough")
(1973 . "borrower") (1974 . "both") (1975 . "boss")
(1976 . "botanical") (1977 . "botanist") (1978 . "botany")
(1979 . "botch") (1980 . "bakeshop") (1981 . "baggy")
(1982 . "bagpipe") (1983 . "baguette") (1984 . "baked")
(1985 . "bakery") (1986 . "backstage") (1987 . "backside")
(1988 . "backslid") (1989 . "backspace") (1990 . "backspin")
(1991 . "backstab") (1992 . "backwater") (1993 . "backtalk")
(1994 . "backtrack") (1995 . "backup") (1996 . "backward")
(1997 . "backwash") (1998 . "badge") (1999 . "backyard")
(2000 . "bacon") (2001 . "bacteria") (2002 . "bacterium")
(2003 . "badass") (2004 . "bagel") (2005 . "badland")
(2006 . "badly") (2007 . "badness") (2008 . "baffle")
(2009 . "baffling") (2010 . "bagging") (2011 . "bagful")
(2012 . "baggage") (2013 . "bagged") (2014 . "baggie")
(2015 . "bagginess") (2016 . "barometer") (2017 . "baritone")
(2018 . "barley") (2019 . "barmaid") (2020 . "barman")
(2021 . "barn") (2022 . "balsamic") (2023 . "baking")
(2024 . "balance") (2025 . "balancing") (2026 . "balcony")
(2027 . "balmy") (2028 . "bankable") (2029 . "bamboo")
(2030 . "banana") (2031 . "banish") (2032 . "banister")
(2033 . "banjo") (2034 . "bankroll") (2035 . "bankbook")
(2036 . "banked") (2037 . "banker") (2038 . "banking")
(2039 . "banknote") (2040 . "barbed") (2041 . "banner")
(2042 . "bannister") (2043 . "banshee") (2044 . "banter")
(2045 . "barbecue") (2046 . "barista") (2047 . "barbell")
(2048 . "barber") (2049 . "barcode") (2050 . "barge")
(2051 . "bargraph") (2052 . "blanching") (2053 . "bladder")
(2054 . "blade") (2055 . "blah") (2056 . "blame")
(2057 . "blaming") (2058 . "barrier") (2059 . "barrack")
(2060 . "barracuda") (2061 . "barrel") (2062 . "barrette")
(2063 . "barricade") (2064 . "basics") (2065 . "barstool")
(2066 . "bartender") (2067 . "barterer") (2068 . "bash")
(2069 . "basically") (2070 . "batch") (2071 . "basil")
(2072 . "basin") (2073 . "basis") (2074 . "basket")
(2075 . "batboy") (2076 . "battering") (2077 . "bath")
(2078 . "baton") (2079 . "bats") (2080 . "battalion")
(2081 . "battered") (2082 . "blabber") (2083 . "battery")
(2084 . "batting") (2085 . "battle") (2086 . "bauble")
(2087 . "bazooka") (2088 . "blubber") (2089 . "bloomers")
(2090 . "blooming") (2091 . "blooper") (2092 . "blot")
(2093 . "blouse") (2094 . "blatancy") (2095 . "blandness")
(2096 . "blank") (2097 . "blaspheme") (2098 . "blasphemy")
(2099 . "blast") (2100 . "bleep") (2101 . "blatantly")
(2102 . "blazer") (2103 . "blazing") (2104 . "bleach")
(2105 . "bleak") (2106 . "bling") (2107 . "blemish")
(2108 . "blend") (2109 . "bless") (2110 . "blighted")
(2111 . "blimp") (2112 . "blissful") (2113 . "blinked")
(2114 . "blinker") (2115 . "blinking") (2116 . "blinks")
(2117 . "blip") (2118 . "blog") (2119 . "blitz")
(2120 . "blizzard") (2121 . "bloated") (2122 . "bloating")
(2123 . "blob") (2124 . "boneless") (2125 . "bonded")
(2126 . "bonding") (2127 . "bondless") (2128 . "boned")
(2129 . "bonehead") (2130 . "blurred") (2131 . "bluff")
(2132 . "bluish") (2133 . "blunderer") (2134 . "blunt")
(2135 . "blurb") (2136 . "boastful") (2137 . "blurry")
(2138 . "blurt") (2139 . "blush") (2140 . "blustery")
(2141 . "boaster") (2142 . "bobcat") (2143 . "boasting")
(2144 . "boat") (2145 . "bobbed") (2146 . "bobbing")
(2147 . "bobble") (2148 . "boggle") (2149 . "bobsled")
(2150 . "bobtail") (2151 . "bodacious") (2152 . "body")
(2153 . "bogged") (2154 . "bonanza") (2155 . "bogus")
(2156 . "boil") (2157 . "bok") (2158 . "bolster")
(2159 . "bolt") (2160 . "carnage") (2161 . "cargo")
(2162 . "caring") (2163 . "carless") (2164 . "carload")
(2165 . "carmaker") (2166 . "capitol") (2167 . "capably")
(2168 . "capacity") (2169 . "cape") (2170 . "capillary")
(2171 . "capital") (2172 . "captivate") (2173 . "capped")
(2174 . "capricorn") (2175 . "capsize") (2176 . "capsule")
(2177 . "caption") (2178 . "caravan") (2179 . "captive")
(2180 . "captivity") (2181 . "capture") (2182 . "caramel")
(2183 . "carat") (2184 . "cardinal") (2185 . "carbon")
(2186 . "cardboard") (2187 . "carded") (2188 . "cardiac")
(2189 . "cardigan") (2190 . "caretaker") (2191 . "cardstock")
(2192 . "carefully") (2193 . "caregiver") (2194 . "careless")
(2195 . "caress") (2196 . "brittle") (2197 . "brink")
(2198 . "brisket") (2199 . "briskly") (2200 . "briskness")
(2201 . "bristle") (2202 . "boxer") (2203 . "bounding")
(2204 . "boundless") (2205 . "bountiful") (2206 . "bovine")
(2207 . "boxcar") (2208 . "breeches") (2209 . "boxing")
(2210 . "boxlike") (2211 . "boxy") (2212 . "breach")
(2213 . "breath") (2214 . "brethren") (2215 . "breeching")
(2216 . "breeder") (2217 . "breeding") (2218 . "breeze")
(2219 . "breezy") (2220 . "bride") (2221 . "brewery")
(2222 . "brewing") (2223 . "briar") (2224 . "bribe")
(2225 . "brick") (2226 . "bring") (2227 . "bridged")
(2228 . "brigade") (2229 . "bright") (2230 . "brilliant")
(2231 . "brim") (2232 . "bucket") (2233 . "bubble")
(2234 . "bubbling") (2235 . "bubbly") (2236 . "buccaneer")
(2237 . "bucked") (2238 . "broadside") (2239 . "broadband")
(2240 . "broadcast") (2241 . "broaden") (2242 . "broadly")
(2243 . "broadness") (2244 . "bronchial") (2245 . "broadways")
(2246 . "broiler") (2247 . "broiling") (2248 . "broken")
(2249 . "broker") (2250 . "brought") (2251 . "bronco")
(2252 . "bronze") (2253 . "bronzing") (2254 . "brook")
(2255 . "broom") (2256 . "brunch") (2257 . "browbeat")
(2258 . "brownnose") (2259 . "browse") (2260 . "browsing")
(2261 . "bruising") (2262 . "brutishly") (2263 . "brunette")
(2264 . "brunt") (2265 . "brush") (2266 . "brussels")
(2267 . "brute") (2268 . "bungee") (2269 . "bullseye")
(2270 . "bullwhip") (2271 . "bully") (2272 . "bunch")
(2273 . "bundle") (2274 . "buddhism") (2275 . "buckle")
(2276 . "buckshot") (2277 . "buckskin") (2278 . "bucktooth")
(2279 . "buckwheat") (2280 . "buffed") (2281 . "buddhist")
(2282 . "budding") (2283 . "buddy") (2284 . "budget")
(2285 . "buffalo") (2286 . "bulge") (2287 . "buffer")
(2288 . "buffing") (2289 . "buffoon") (2290 . "buggy")
(2291 . "bulb") (2292 . "bullfight") (2293 . "bulginess")
(2294 . "bulgur") (2295 . "bulk") (2296 . "bulldog")
(2297 . "bulldozer") (2298 . "bullring") (2299 . "bullfrog")
(2300 . "bullhorn") (2301 . "bullion") (2302 . "bullish")
(2303 . "bullpen") (2304 . "calculus") (2305 . "cake")
(2306 . "calamari") (2307 . "calamity") (2308 . "calcium")
(2309 . "calculate") (2310 . "bunt") (2311 . "bunion")
(2312 . "bunkbed") (2313 . "bunkhouse") (2314 . "bunkmate")
(2315 . "bunny") (2316 . "busybody") (2317 . "busboy")
(2318 . "bush") (2319 . "busily") (2320 . "busload")
(2321 . "bust") (2322 . "cable") (2323 . "buzz")
(2324 . "cabana") (2325 . "cabbage") (2326 . "cabbie")
(2327 . "cabdriver") (2328 . "caddie") (2329 . "caboose")
(2330 . "cache") (2331 . "cackle") (2332 . "cacti")
(2333 . "cactus") (2334 . "cahoots") (2335 . "caddy")
(2336 . "cadet") (2337 . "cadillac") (2338 . "cadmium")
(2339 . "cage") (2340 . "capable") (2341 . "canon")
(2342 . "canopener") (2343 . "canopy") (2344 . "canteen")
(2345 . "canyon") (2346 . "calzone") (2347 . "caliber")
(2348 . "calibrate") (2349 . "calm") (2350 . "caloric")
(2351 . "calorie") (2352 . "campfire") (2353 . "camcorder")
(2354 . "cameo") (2355 . "camera") (2356 . "camisole")
(2357 . "camper") (2358 . "cancel") (2359 . "camping")
(2360 . "campsite") (2361 . "campus") (2362 . "canal")
(2363 . "canary") (2364 . "canister") (2365 . "candied")
(2366 . "candle") (2367 . "candy") (2368 . "cane")
(2369 . "canine") (2370 . "canola") (2371 . "cannabis")
(2372 . "canned") (2373 . "canning") (2374 . "cannon")
(2375 . "cannot") (2376 . "clarinet") (2377 . "clanking")
(2378 . "clapped") (2379 . "clapper") (2380 . "clapping")
(2381 . "clarify") (2382 . "cinch") (2383 . "chunk")
(2384 . "churn") (2385 . "chute") (2386 . "cider")
(2387 . "cilantro") (2388 . "circulate") (2389 . "cinema")
(2390 . "cinnamon") (2391 . "circle") (2392 . "circling")
(2393 . "circular") (2394 . "citric") (2395 . "circus")
(2396 . "citable") (2397 . "citadel") (2398 . "citation")
(2399 . "citizen") (2400 . "claim") (2401 . "citrus")
(2402 . "city") (2403 . "civic") (2404 . "civil")
(2405 . "clad") (2406 . "clang") (2407 . "clambake")
(2408 . "clammy") (2409 . "clamor") (2410 . "clamp")
(2411 . "clamshell") (2412 . "cataract") (2413 . "catacomb")
(2414 . "catalog") (2415 . "catalyst") (2416 . "catalyze")
(2417 . "catapult") (2418 . "carpentry") (2419 . "carnation")
(2420 . "carnival") (2421 . "carnivore") (2422 . "carol")
(2423 . "carpenter") (2424 . "carry") (2425 . "carpool")
(2426 . "carport") (2427 . "carried") (2428 . "carrot")
(2429 . "carrousel") (2430 . "cartwheel") (2431 . "cartel")
(2432 . "cartload") (2433 . "carton") (2434 . "cartoon")
(2435 . "cartridge") (2436 . "cash") (2437 . "carve")
(2438 . "carving") (2439 . "carwash") (2440 . "cascade")
(2441 . "case") (2442 . "casualty") (2443 . "casing")
(2444 . "casino") (2445 . "casket") (2446 . "cassette")
(2447 . "casually") (2448 . "celery") (2449 . "cavalier")
(2450 . "cavalry") (2451 . "caviar") (2452 . "cavity")
(2453 . "cedar") (2454 . "catchy") (2455 . "catatonic")
(2456 . "catcall") (2457 . "catchable") (2458 . "catcher")
(2459 . "catching") (2460 . "cathouse") (2461 . "caterer")
(2462 . "catering") (2463 . "catfight") (2464 . "catfish")
(2465 . "cathedral") (2466 . "cattishly") (2467 . "catlike")
(2468 . "catnap") (2469 . "catnip") (2470 . "catsup")
(2471 . "cattail") (2472 . "causal") (2473 . "cattle")
(2474 . "catty") (2475 . "catwalk") (2476 . "caucasian")
(2477 . "caucus") (2478 . "cautious") (2479 . "causation")
(2480 . "cause") (2481 . "causing") (2482 . "cauterize")
(2483 . "caution") (2484 . "charcoal") (2485 . "chapped")
(2486 . "chaps") (2487 . "chapter") (2488 . "character")
(2489 . "charbroil") (2490 . "census") (2491 . "celestial")
(2492 . "celibacy") (2493 . "celibate") (2494 . "celtic")
(2495 . "cement") (2496 . "certify") (2497 . "ceramics")
(2498 . "ceremony") (2499 . "certainly") (2500 . "certainty")
(2501 . "certified") (2502 . "chair") (2503 . "cesarean")
(2504 . "cesspool") (2505 . "chafe") (2506 . "chaffing")
(2507 . "chain") (2508 . "chance") (2509 . "chalice")
(2510 . "challenge") (2511 . "chamber") (2512 . "chamomile")
(2513 . "champion") (2514 . "chaplain") (2515 . "change")
(2516 . "channel") (2517 . "chant") (2518 . "chaos")
(2519 . "chaperone") (2520 . "chewing") (2521 . "chest")
(2522 . "chevron") (2523 . "chevy") (2524 . "chewable")
(2525 . "chewer") (2526 . "charred") (2527 . "charger")
(2528 . "charging") (2529 . "chariot") (2530 . "charity")
(2531 . "charm") (2532 . "chastise") (2533 . "charter")
(2534 . "charting") (2535 . "chase") (2536 . "chasing")
(2537 . "chaste") (2538 . "cheating") (2539 . "chastity")
(2540 . "chatroom") (2541 . "chatter") (2542 . "chatting")
(2543 . "chatty") (2544 . "chef") (2545 . "cheddar")
(2546 . "cheek") (2547 . "cheer") (2548 . "cheese")
(2549 . "cheesy") (2550 . "chess") (2551 . "chemicals")
(2552 . "chemist") (2553 . "chemo") (2554 . "cherisher")
(2555 . "cherub") (2556 . "chump") (2557 . "chrome")
(2558 . "chubby") (2559 . "chuck") (2560 . "chug")
(2561 . "chummy") (2562 . "childish") (2563 . "chewy")
(2564 . "chief") (2565 . "chihuahua") (2566 . "childcare")
(2567 . "childhood") (2568 . "chip") (2569 . "childless")
(2570 . "childlike") (2571 . "chili") (2572 . "chill")
(2573 . "chimp") (2574 . "chloride") (2575 . "chirping")
(2576 . "chirpy") (2577 . "chitchat") (2578 . "chivalry")
(2579 . "chive") (2580 . "chooser") (2581 . "chlorine")
(2582 . "choice") (2583 . "chokehold") (2584 . "choking")
(2585 . "chomp") (2586 . "chowtime") (2587 . "choosing")
(2588 . "choosy") (2589 . "chop") (2590 . "chosen")
(2591 . "chowder") (2592 . "five") (2593 . "finite")
(2594 . "finless") (2595 . "finlike") (2596 . "fiscally")
(2597 . "fit") (2598 . "fifty") (2599 . "fidgeting")
(2600 . "fidgety") (2601 . "fifteen") (2602 . "fifth")
(2603 . "fiftieth") (2604 . "filler") (2605 . "figment")
(2606 . "figure") (2607 . "figurine") (2608 . "filing")
(2609 . "filled") (2610 . "finale") (2611 . "filling")
(2612 . "film") (2613 . "filter") (2614 . "filth")
(2615 . "filtrate") (2616 . "finch") (2617 . "finalist")
(2618 . "finalize") (2619 . "finally") (2620 . "finance")
(2621 . "financial") (2622 . "finishing") (2623 . "fineness")
(2624 . "finer") (2625 . "finicky") (2626 . "finished")
(2627 . "finisher") (2628 . "exfoliate") (2629 . "exemplify")
(2630 . "exemption") (2631 . "exerciser") (2632 . "exert")
(2633 . "exes") (2634 . "evolution") (2635 . "evict")
(2636 . "evidence") (2637 . "evident") (2638 . "evil")
(2639 . "evoke") (2640 . "excavator") (2641 . "evolve")
(2642 . "exact") (2643 . "exalted") (2644 . "example")
(2645 . "excavate") (2646 . "exciting") (2647 . "exceeding")
(2648 . "exception") (2649 . "excess") (2650 . "exchange")
(2651 . "excitable") (2652 . "excretion") (2653 . "exclaim")
(2654 . "exclude") (2655 . "excluding") (2656 . "exclusion")
(2657 . "exclusive") (2658 . "exemplary") (2659 . "excretory")
(2660 . "excursion") (2661 . "excusable") (2662 . "excusably")
(2663 . "excuse") (2664 . "exposure") (2665 . "exploring")
(2666 . "exponent") (2667 . "exporter") (2668 . "exposable")
(2669 . "expose") (2670 . "exit") (2671 . "exhale")
(2672 . "exhaust") (2673 . "exhume") (2674 . "exile")
(2675 . "existing") (2676 . "expanse") (2677 . "exodus")
(2678 . "exonerate") (2679 . "exorcism") (2680 . "exorcist")
(2681 . "expand") (2682 . "expel") (2683 . "expansion")
(2684 . "expansive") (2685 . "expectant") (2686 . "expedited")
(2687 . "expediter") (2688 . "expiring") (2689 . "expend")
(2690 . "expenses") (2691 . "expensive") (2692 . "expert")
(2693 . "expire") (2694 . "explore") (2695 . "explain")
(2696 . "expletive") (2697 . "explicit") (2698 . "explode")
(2699 . "exploit") (2700 . "factual") (2701 . "facsimile")
(2702 . "faction") (2703 . "factoid") (2704 . "factor")
(2705 . "factsheet") (2706 . "extent") (2707 . "express")
(2708 . "expulsion") (2709 . "exquisite") (2710 . "extended")
(2711 . "extending") (2712 . "extradite") (2713 . "extenuate")
(2714 . "exterior") (2715 . "external") (2716 . "extinct")
(2717 . "extortion") (2718 . "fable") (2719 . "extras")
(2720 . "extrovert") (2721 . "extrude") (2722 . "extruding")
(2723 . "exuberant") (2724 . "faceless") (2725 . "fabric")
(2726 . "fabulous") (2727 . "facebook") (2728 . "facecloth")
(2729 . "facedown") (2730 . "facing") (2731 . "facelift")
(2732 . "faceplate") (2733 . "faceted") (2734 . "facial")
(2735 . "facility") (2736 . "feast") (2737 . "favorably")
(2738 . "favored") (2739 . "favoring") (2740 . "favorite")
(2741 . "fax") (2742 . "fall") (2743 . "faculty")
(2744 . "fade") (2745 . "fading") (2746 . "failing")
(2747 . "falcon") (2748 . "famine") (2749 . "false")
(2750 . "falsify") (2751 . "fame") (2752 . "familiar")
(2753 . "family") (2754 . "fanfare") (2755 . "famished")
(2756 . "fanatic") (2757 . "fancied") (2758 . "fanciness")
(2759 . "fancy") (2760 . "fascism") (2761 . "fang")
(2762 . "fanning") (2763 . "fantasize") (2764 . "fantastic")
(2765 . "fantasy") (2766 . "favorable") (2767 . "fastball")
(2768 . "faster") (2769 . "fasting") (2770 . "fastness")
(2771 . "faucet") (2772 . "fidelity") (2773 . "fever")
(2774 . "fiber") (2775 . "fiction") (2776 . "fiddle")
(2777 . "fiddling") (2778 . "feisty") (2779 . "federal")
(2780 . "fedora") (2781 . "feeble") (2782 . "feed")
(2783 . "feel") (2784 . "feminize") (2785 . "feline")
(2786 . "felt-tip") (2787 . "feminine") (2788 . "feminism")
(2789 . "feminist") (2790 . "fernlike") (2791 . "femur")
(2792 . "fence") (2793 . "fencing") (2794 . "fender")
(2795 . "ferment") (2796 . "fervor") (2797 . "ferocious")
(2798 . "ferocity") (2799 . "ferret") (2800 . "ferris")
(2801 . "ferry") (2802 . "fetch") (2803 . "fester")
(2804 . "festival") (2805 . "festive") (2806 . "festivity")
(2807 . "fetal") (2808 . "cut") (2809 . "custody")
(2810 . "customary") (2811 . "customer") (2812 . "customize")
(2813 . "customs") (2814 . "curator") (2815 . "cupcake")
(2816 . "cupid") (2817 . "cupped") (2818 . "cupping")
(2819 . "curable") (2820 . "curler") (2821 . "curdle")
(2822 . "cure") (2823 . "curfew") (2824 . "curing")
(2825 . "curled") (2826 . "cursive") (2827 . "curliness")
(2828 . "curling") (2829 . "curly") (2830 . "curry")
(2831 . "curse") (2832 . "curve") (2833 . "cursor")
(2834 . "curtain") (2835 . "curtly") (2836 . "curtsy")
(2837 . "curvature") (2838 . "custodian") (2839 . "curvy")
(2840 . "cushy") (2841 . "cusp") (2842 . "cussed")
(2843 . "custard") (2844 . "cosponsor") (2845 . "cortex")
(2846 . "cosigner") (2847 . "cosmetics") (2848 . "cosmic")
(2849 . "cosmos") (2850 . "cork") (2851 . "coping")
(2852 . "copious") (2853 . "copper") (2854 . "copy")
(2855 . "coral") (2856 . "corner") (2857 . "cornball")
(2858 . "cornbread") (2859 . "corncob") (2860 . "cornea")
(2861 . "corned") (2862 . "corny") (2863 . "cornfield")
(2864 . "cornflake") (2865 . "cornhusk") (2866 . "cornmeal")
(2867 . "cornstalk") (2868 . "correct") (2869 . "coronary")
(2870 . "coroner") (2871 . "corporal") (2872 . "corporate")
(2873 . "corral") (2874 . "corset") (2875 . "corridor")
(2876 . "corrode") (2877 . "corroding") (2878 . "corrosive")
(2879 . "corsage") (2880 . "cranial") (2881 . "craftwork")
(2882 . "crafty") (2883 . "cramp") (2884 . "cranberry")
(2885 . "crane") (2886 . "could") (2887 . "cost")
(2888 . "cottage") (2889 . "cotton") (2890 . "couch")
(2891 . "cough") (2892 . "county") (2893 . "countable")
(2894 . "countdown") (2895 . "counting") (2896 . "countless")
(2897 . "country") (2898 . "coyness") (2899 . "courier")
(2900 . "covenant") (2901 . "cover") (2902 . "coveted")
(2903 . "coveting") (2904 . "crablike") (2905 . "cozily")
(2906 . "coziness") (2907 . "cozy") (2908 . "crabbing")
(2909 . "crabgrass") (2910 . "craftsman") (2911 . "crabmeat")
(2912 . "cradle") (2913 . "cradling") (2914 . "crafter")
(2915 . "craftily") (2916 . "crestless") (2917 . "crepe")
(2918 . "crept") (2919 . "crescent") (2920 . "crested")
(2921 . "cresting") (2922 . "crawfish") (2923 . "cranium")
(2924 . "crank") (2925 . "crate") (2926 . "crave")
(2927 . "craving") (2928 . "crazily") (2929 . "crawlers")
(2930 . "crawling") (2931 . "crayfish") (2932 . "crayon")
(2933 . "crazed") (2934 . "crease") (2935 . "craziness")
(2936 . "crazy") (2937 . "creamed") (2938 . "creamer")
(2939 . "creamlike") (2940 . "creature") (2941 . "creasing")
(2942 . "creatable") (2943 . "create") (2944 . "creation")
(2945 . "creative") (2946 . "creole") (2947 . "credible")
(2948 . "credibly") (2949 . "credit") (2950 . "creed")
(2951 . "creme") (2952 . "cruelly") (2953 . "crowd")
(2954 . "crown") (2955 . "crucial") (2956 . "crudely")
(2957 . "crudeness") (2958 . "cricket") (2959 . "crevice")
(2960 . "crewless") (2961 . "crewman") (2962 . "crewmate")
(2963 . "crib") (2964 . "cringing") (2965 . "cried")
(2966 . "crier") (2967 . "crimp") (2968 . "crimson")
(2969 . "cringe") (2970 . "crispness") (2971 . "crinkle")
(2972 . "crinkly") (2973 . "crisped") (2974 . "crisping")
(2975 . "crisply") (2976 . "crook") (2977 . "crispy")
(2978 . "criteria") (2979 . "critter") (2980 . "croak")
(2981 . "crock") (2982 . "crowbar") (2983 . "croon")
(2984 . "crop") (2985 . "cross") (2986 . "crouch")
(2987 . "crouton") (2988 . "cupbearer") (2989 . "culpable")
(2990 . "culprit") (2991 . "cultivate") (2992 . "cultural")
(2993 . "culture") (2994 . "crumpet") (2995 . "cruelness")
(2996 . "cruelty") (2997 . "crumb") (2998 . "crummiest")
(2999 . "crummy") (3000 . "crushable") (3001 . "crumpled")
(3002 . "cruncher") (3003 . "crunching") (3004 . "crunchy")
(3005 . "crusader") (3006 . "crying") (3007 . "crushed")
(3008 . "crusher") (3009 . "crushing") (3010 . "crust")
(3011 . "crux") (3012 . "cubicle") (3013 . "cryptic")
(3014 . "crystal") (3015 . "cubbyhole") (3016 . "cube")
(3017 . "cubical") (3018 . "culminate") (3019 . "cucumber")
(3020 . "cuddle") (3021 . "cuddly") (3022 . "cufflink")
(3023 . "culinary") (3024 . "designate") (3025 . "derby")
(3026 . "derived") (3027 . "desecrate") (3028 . "deserve")
(3029 . "deserving") (3030 . "dental") (3031 . "denial")
(3032 . "denim") (3033 . "denote") (3034 . "dense")
(3035 . "density") (3036 . "departed") (3037 . "dentist")
(3038 . "denture") (3039 . "deny") (3040 . "deodorant")
(3041 . "deodorize") (3042 . "deploy") (3043 . "departure")
(3044 . "depict") (3045 . "deplete") (3046 . "depletion")
(3047 . "deplored") (3048 . "depress") (3049 . "deport")
(3050 . "depose") (3051 . "depraved") (3052 . "depravity")
(3053 . "deprecate") (3054 . "deranged") (3055 . "deprive")
(3056 . "depth") (3057 . "deputize") (3058 . "deputy")
(3059 . "derail") (3060 . "darling") (3061 . "darkened")
(3062 . "darkening") (3063 . "darkish") (3064 . "darkness")
(3065 . "darkroom") (3066 . "cymbal") (3067 . "cycle")
(3068 . "cyclic") (3069 . "cycling") (3070 . "cyclist")
(3071 . "cylinder") (3072 . "dagger") (3073 . "cytoplasm")
(3074 . "cytoplast") (3075 . "dab") (3076 . "dad")
(3077 . "daffodil") (3078 . "dallying") (3079 . "daily")
(3080 . "daintily") (3081 . "dainty") (3082 . "dairy")
(3083 . "daisy") (3084 . "dandy") (3085 . "dance")
(3086 . "dancing") (3087 . "dandelion") (3088 . "dander")
(3089 . "dandruff") (3090 . "daringly") (3091 . "danger")
(3092 . "dangle") (3093 . "dangling") (3094 . "daredevil")
(3095 . "dares") (3096 . "debtless") (3097 . "debatable")
(3098 . "debate") (3099 . "debating") (3100 . "debit")
(3101 . "debrief") (3102 . "data") (3103 . "darn")
(3104 . "dart") (3105 . "darwinism") (3106 . "dash")
(3107 . "dastardly") (3108 . "dawn") (3109 . "datebook")
(3110 . "dating") (3111 . "daughter") (3112 . "daunting")
(3113 . "dawdler") (3114 . "daylong") (3115 . "daybed")
(3116 . "daybreak") (3117 . "daycare") (3118 . "daydream")
(3119 . "daylight") (3120 . "deafening") (3121 . "dayroom")
(3122 . "daytime") (3123 . "dazzler") (3124 . "dazzling")
(3125 . "deacon") (3126 . "dean") (3127 . "deafness")
(3128 . "dealer") (3129 . "dealing") (3130 . "dealmaker")
(3131 . "dealt") (3132 . "deduct") (3133 . "decrease")
(3134 . "decree") (3135 . "dedicate") (3136 . "dedicator")
(3137 . "deduce") (3138 . "decal") (3139 . "debtor")
(3140 . "debug") (3141 . "debunk") (3142 . "decade")
(3143 . "decaf") (3144 . "deceiving") (3145 . "decathlon")
(3146 . "decay") (3147 . "deceased") (3148 . "deceit")
(3149 . "deceiver") (3150 . "decibel") (3151 . "december")
(3152 . "decency") (3153 . "decent") (3154 . "deception")
(3155 . "deceptive") (3156 . "declared") (3157 . "decidable")
(3158 . "decimal") (3159 . "decimeter") (3160 . "decipher")
(3161 . "deck") (3162 . "decoy") (3163 . "decline")
(3164 . "decode") (3165 . "decompose") (3166 . "decorated")
(3167 . "decorator") (3168 . "defy") (3169 . "deforest")
(3170 . "defraud") (3171 . "defrost") (3172 . "deftly")
(3173 . "defuse") (3174 . "deface") (3175 . "deed")
(3176 . "deem") (3177 . "deepen") (3178 . "deeply")
(3179 . "deepness") (3180 . "defective") (3181 . "defacing")
(3182 . "defame") (3183 . "default") (3184 . "defeat")
(3185 . "defection") (3186 . "deferred") (3187 . "defendant")
(3188 . "defender") (3189 . "defense") (3190 . "defensive")
(3191 . "deferral") (3192 . "definite") (3193 . "defiance")
(3194 . "defiant") (3195 . "defile") (3196 . "defiling")
(3197 . "define") (3198 . "defog") (3199 . "deflate")
(3200 . "deflation") (3201 . "deflator") (3202 . "deflected")
(3203 . "deflector") (3204 . "deniable") (3205 . "democrat")
(3206 . "demote") (3207 . "demotion") (3208 . "demystify")
(3209 . "denatured") (3210 . "deity") (3211 . "degraded")
(3212 . "degrading") (3213 . "degrease") (3214 . "degree")
(3215 . "dehydrate") (3216 . "deletion") (3217 . "dejected")
(3218 . "delay") (3219 . "delegate") (3220 . "delegator")
(3221 . "delete") (3222 . "delirium") (3223 . "delicacy")
(3224 . "delicate") (3225 . "delicious") (3226 . "delighted")
(3227 . "delirious") (3228 . "delusion") (3229 . "deliverer")
(3230 . "delivery") (3231 . "delouse") (3232 . "delta")
(3233 . "deluge") (3234 . "democracy") (3235 . "deluxe")
(3236 . "demanding") (3237 . "demeaning") (3238 . "demeanor")
(3239 . "demise") (3240 . "doorway") (3241 . "doormat")
(3242 . "doornail") (3243 . "doorpost") (3244 . "doorstep")
(3245 . "doorstop") (3246 . "dodge") (3247 . "doable")
(3248 . "docile") (3249 . "dock") (3250 . "doctrine")
(3251 . "document") (3252 . "dollhouse") (3253 . "dodgy")
(3254 . "doily") (3255 . "doing") (3256 . "dole")
(3257 . "dollar") (3258 . "domestic") (3259 . "dollop")
(3260 . "dolly") (3261 . "dolphin") (3262 . "domain")
(3263 . "domelike") (3264 . "donor") (3265 . "dominion")
(3266 . "dominoes") (3267 . "donated") (3268 . "donation")
(3269 . "donator") (3270 . "doorman") (3271 . "donut")
(3272 . "doodle") (3273 . "doorbell") (3274 . "doorframe")
(3275 . "doorknob") (3276 . "devotee") (3277 . "deviation")
(3278 . "deviator") (3279 . "device") (3280 . "devious")
(3281 . "devotedly") (3282 . "deskwork") (3283 . "designed")
(3284 . "designer") (3285 . "designing") (3286 . "deskbound")
(3287 . "desktop") (3288 . "destitute") (3289 . "desolate")
(3290 . "despair") (3291 . "despise") (3292 . "despite")
(3293 . "destiny") (3294 . "detector") (3295 . "destruct")
(3296 . "detached") (3297 . "detail") (3298 . "detection")
(3299 . "detective") (3300 . "detoxify") (3301 . "detention")
(3302 . "detergent") (3303 . "detest") (3304 . "detonate")
(3305 . "detonator") (3306 . "deviate") (3307 . "detract")
(3308 . "deuce") (3309 . "devalue") (3310 . "deviancy")
(3311 . "deviant") (3312 . "dimly") (3313 . "diligent")
(3314 . "dill") (3315 . "dilute") (3316 . "dime")
(3317 . "diminish") (3318 . "dexterous") (3319 . "devotion")
(3320 . "devourer") (3321 . "devouring") (3322 . "devoutly")
(3323 . "dexterity") (3324 . "diagram") (3325 . "diabetes")
(3326 . "diabetic") (3327 . "diabolic") (3328 . "diagnoses")
(3329 . "diagnosis") (3330 . "dice") (3331 . "dial")
(3332 . "diameter") (3333 . "diaper") (3334 . "diaphragm")
(3335 . "diary") (3336 . "diffused") (3337 . "dicing")
(3338 . "dictate") (3339 . "dictation") (3340 . "dictator")
(3341 . "difficult") (3342 . "diligence") (3343 . "diffuser")
(3344 . "diffusion") (3345 . "diffusive") (3346 . "dig")
(3347 . "dilation") (3348 . "discern") (3349 . "disaster")
(3350 . "disband") (3351 . "disbelief") (3352 . "disburse")
(3353 . "discard") (3354 . "dingbat") (3355 . "dimmed")
(3356 . "dimmer") (3357 . "dimness") (3358 . "dimple")
(3359 . "diner") (3360 . "dinner") (3361 . "dinghy")
(3362 . "dinginess") (3363 . "dingo") (3364 . "dingy")
(3365 . "dining") (3366 . "dipping") (3367 . "diocese")
(3368 . "dioxide") (3369 . "diploma") (3370 . "dipped")
(3371 . "dipper") (3372 . "direness") (3373 . "directed")
(3374 . "direction") (3375 . "directive") (3376 . "directly")
(3377 . "directory") (3378 . "disarray") (3379 . "dirtiness")
(3380 . "disabled") (3381 . "disagree") (3382 . "disallow")
(3383 . "disarm") (3384 . "display") (3385 . "dispense")
(3386 . "dispersal") (3387 . "dispersed") (3388 . "disperser")
(3389 . "displace") (3390 . "discover") (3391 . "discharge")
(3392 . "disclose") (3393 . "discolor") (3394 . "discount")
(3395 . "discourse") (3396 . "dish") (3397 . "discuss")
(3398 . "disdain") (3399 . "disengage") (3400 . "disfigure")
(3401 . "disgrace") (3402 . "dislocate") (3403 . "disinfect")
(3404 . "disjoin") (3405 . "disk") (3406 . "dislike")
(3407 . "disliking") (3408 . "dismount") (3409 . "dislodge")
(3410 . "disloyal") (3411 . "dismantle") (3412 . "dismay")
(3413 . "dismiss") (3414 . "dispatch") (3415 . "disobey")
(3416 . "disorder") (3417 . "disown") (3418 . "disparate")
(3419 . "disparity") (3420 . "dizzy") (3421 . "divisibly")
(3422 . "division") (3423 . "divisive") (3424 . "divorcee")
(3425 . "dizziness") (3426 . "disregard") (3427 . "displease")
(3428 . "disposal") (3429 . "dispose") (3430 . "disprove")
(3431 . "dispute") (3432 . "distill") (3433 . "disrupt")
(3434 . "dissuade") (3435 . "distance") (3436 . "distant")
(3437 . "distaste") (3438 . "distrust") (3439 . "distinct")
(3440 . "distort") (3441 . "distract") (3442 . "distress")
(3443 . "district") (3444 . "dividend") (3445 . "ditch")
(3446 . "ditto") (3447 . "ditzy") (3448 . "dividable")
(3449 . "divided") (3450 . "divisible") (3451 . "dividers")
(3452 . "dividing") (3453 . "divinely") (3454 . "diving")
(3455 . "divinity") (3456 . "elf") (3457 . "elevate")
(3458 . "elevating") (3459 . "elevation") (3460 . "elevator")
(3461 . "eleven") (3462 . "effective") (3463 . "editor")
(3464 . "educated") (3465 . "education") (3466 . "educator")
(3467 . "eel") (3468 . "eggnog") (3469 . "effects")
(3470 . "efficient") (3471 . "effort") (3472 . "eggbeater")
(3473 . "egging") (3474 . "either") (3475 . "eggplant")
(3476 . "eggshell") (3477 . "egomaniac") (3478 . "egotism")
(3479 . "egotistic") (3480 . "eldercare") (3481 . "eject")
(3482 . "elaborate") (3483 . "elastic") (3484 . "elated")
(3485 . "elbow") (3486 . "elephant") (3487 . "elderly")
(3488 . "eldest") (3489 . "electable") (3490 . "election")
(3491 . "elective") (3492 . "dreamless") (3493 . "dreadful")
(3494 . "dreadlock") (3495 . "dreamboat") (3496 . "dreamily")
(3497 . "dreamland") (3498 . "dose") (3499 . "doozy")
(3500 . "dork") (3501 . "dormitory") (3502 . "dorsal")
(3503 . "dosage") (3504 . "dowry") (3505 . "dotted")
(3506 . "doubling") (3507 . "douche") (3508 . "dove")
(3509 . "down") (3510 . "dragster") (3511 . "doze")
(3512 . "drab") (3513 . "dragging") (3514 . "dragonfly")
(3515 . "dragonish") (3516 . "dramatic") (3517 . "drainable")
(3518 . "drainage") (3519 . "drained") (3520 . "drainer")
(3521 . "drainpipe") (3522 . "dreaded") (3523 . "dramatize")
(3524 . "drank") (3525 . "drapery") (3526 . "drastic")
(3527 . "draw") (3528 . "drown") (3529 . "dropkick")
(3530 . "droplet") (3531 . "dropout") (3532 . "dropper")
(3533 . "drove") (3534 . "drench") (3535 . "dreamlike")
(3536 . "dreamt") (3537 . "dreamy") (3538 . "drearily")
(3539 . "dreary") (3540 . "drift") (3541 . "dress")
(3542 . "drew") (3543 . "dribble") (3544 . "dried")
(3545 . "drier") (3546 . "drippy") (3547 . "driller")
(3548 . "drilling") (3549 . "drinkable") (3550 . "drinking")
(3551 . "dripping") (3552 . "drizzle") (3553 . "drivable")
(3554 . "driven") (3555 . "driver") (3556 . "driveway")
(3557 . "driving") (3558 . "dropbox") (3559 . "drizzly")
(3560 . "drone") (3561 . "drool") (3562 . "droop")
(3563 . "drop-down") (3564 . "dust") (3565 . "durably")
(3566 . "duration") (3567 . "duress") (3568 . "during")
(3569 . "dusk") (3570 . "dubiously") (3571 . "drowsily")
(3572 . "drudge") (3573 . "drum") (3574 . "dry")
(3575 . "dubbed") (3576 . "ducky") (3577 . "duchess")
(3578 . "duckbill") (3579 . "ducking") (3580 . "duckling")
(3581 . "ducktail") (3582 . "duke") (3583 . "duct")
(3584 . "dude") (3585 . "duffel") (3586 . "dugout")
(3587 . "duh") (3588 . "dumpster") (3589 . "duller")
(3590 . "dullness") (3591 . "duly") (3592 . "dumping")
(3593 . "dumpling") (3594 . "durable") (3595 . "duo")
(3596 . "dupe") (3597 . "duplex") (3598 . "duplicate")
(3599 . "duplicity") (3600 . "earthy") (3601 . "earthen")
(3602 . "earthlike") (3603 . "earthling") (3604 . "earthly")
(3605 . "earthworm") (3606 . "dwelled") (3607 . "dutiful")
(3608 . "duty") (3609 . "duvet") (3610 . "dwarf")
(3611 . "dweeb") (3612 . "dynamite") (3613 . "dweller")
(3614 . "dwelling") (3615 . "dwindle") (3616 . "dwindling")
(3617 . "dynamic") (3618 . "earache") (3619 . "dynasty")
(3620 . "dyslexia") (3621 . "dyslexic") (3622 . "each")
(3623 . "eagle") (3624 . "earmark") (3625 . "eardrum")
(3626 . "earflap") (3627 . "earful") (3628 . "earlobe")
(3629 . "early") (3630 . "earshot") (3631 . "earmuff")
(3632 . "earphone") (3633 . "earpiece") (3634 . "earplugs")
(3635 . "earring") (3636 . "edition") (3637 . "ecosystem")
(3638 . "edge") (3639 . "edginess") (3640 . "edging")
(3641 . "edgy") (3642 . "easiness") (3643 . "earwig")
(3644 . "easeful") (3645 . "easel") (3646 . "easiest")
(3647 . "easily") (3648 . "eatable") (3649 . "easing")
(3650 . "eastbound") (3651 . "eastcoast") (3652 . "easter")
(3653 . "eastward") (3654 . "ebony") (3655 . "eaten")
(3656 . "eatery") (3657 . "eating") (3658 . "eats")
(3659 . "ebay") (3660 . "eclipse") (3661 . "ebook")
(3662 . "ecard") (3663 . "eccentric") (3664 . "echo")
(3665 . "eclair") (3666 . "ecosphere") (3667 . "ecologist")
(3668 . "ecology") (3669 . "economic") (3670 . "economist")
(3671 . "economy") (3672 . "everyone") (3673 . "even")
(3674 . "everglade") (3675 . "evergreen") (3676 . "everybody")
(3677 . "everyday") (3678 . "essence") (3679 . "esophagus")
(3680 . "espionage") (3681 . "espresso") (3682 . "esquire")
(3683 . "essay") (3684 . "estimator") (3685 . "essential")
(3686 . "establish") (3687 . "estate") (3688 . "esteemed")
(3689 . "estimate") (3690 . "ethanol") (3691 . "estranged")
(3692 . "estrogen") (3693 . "etching") (3694 . "eternal")
(3695 . "eternity") (3696 . "evacuee") (3697 . "ether")
(3698 . "ethically") (3699 . "ethics") (3700 . "euphemism")
(3701 . "evacuate") (3702 . "evasive") (3703 . "evade")
(3704 . "evaluate") (3705 . "evaluator") (3706 . "evaporate")
(3707 . "evasion") (3708 . "emission") (3709 . "emboss")
(3710 . "embroider") (3711 . "emcee") (3712 . "emerald")
(3713 . "emergency") (3714 . "elixir") (3715 . "eligible")
(3716 . "eligibly") (3717 . "eliminate") (3718 . "elite")
(3719 . "elitism") (3720 . "elope") (3721 . "elk")
(3722 . "ellipse") (3723 . "elliptic") (3724 . "elm")
(3725 . "elongated") (3726 . "elves") (3727 . "eloquence")
(3728 . "eloquent") (3729 . "elsewhere") (3730 . "elude")
(3731 . "elusive") (3732 . "embellish") (3733 . "email")
(3734 . "embargo") (3735 . "embark") (3736 . "embassy")
(3737 . "embattled") (3738 . "embolism") (3739 . "ember")
(3740 . "embezzle") (3741 . "emblaze") (3742 . "emblem")
(3743 . "embody") (3744 . "encrypt") (3745 . "encore")
(3746 . "encounter") (3747 . "encourage") (3748 . "encroach")
(3749 . "encrust") (3750 . "empathy") (3751 . "emit")
(3752 . "emote") (3753 . "emoticon") (3754 . "emotion")
(3755 . "empathic") (3756 . "empirical") (3757 . "emperor")
(3758 . "emphases") (3759 . "emphasis") (3760 . "emphasize")
(3761 . "emphatic") (3762 . "emptier") (3763 . "employed")
(3764 . "employee") (3765 . "employer") (3766 . "emporium")
(3767 . "empower") (3768 . "enamel") (3769 . "emptiness")
(3770 . "empty") (3771 . "emu") (3772 . "enable")
(3773 . "enactment") (3774 . "encode") (3775 . "enchanted")
(3776 . "enchilada") (3777 . "encircle") (3778 . "enclose")
(3779 . "enclosure") (3780 . "enjoyment") (3781 . "enigmatic")
(3782 . "enjoyable") (3783 . "enjoyably") (3784 . "enjoyer")
(3785 . "enjoying") (3786 . "endless") (3787 . "endanger")
(3788 . "endeared") (3789 . "endearing") (3790 . "ended")
(3791 . "ending") (3792 . "endpoint") (3793 . "endnote")
(3794 . "endocrine") (3795 . "endorphin") (3796 . "endorse")
(3797 . "endowment") (3798 . "energy") (3799 . "endurable")
(3800 . "endurance") (3801 . "enduring") (3802 . "energetic")
(3803 . "energize") (3804 . "engorge") (3805 . "enforced")
(3806 . "enforcer") (3807 . "engaged") (3808 . "engaging")
(3809 . "engine") (3810 . "enhance") (3811 . "engraved")
(3812 . "engraver") (3813 . "engraving") (3814 . "engross")
(3815 . "engulf") (3816 . "enzyme") (3817 . "enviably")
(3818 . "envious") (3819 . "envision") (3820 . "envoy")
(3821 . "envy") (3822 . "enrage") (3823 . "enlarged")
(3824 . "enlarging") (3825 . "enlighten") (3826 . "enlisted")
(3827 . "enquirer") (3828 . "entail") (3829 . "enrich")
(3830 . "enroll") (3831 . "enslave") (3832 . "ensnare")
(3833 . "ensure") (3834 . "entitle") (3835 . "entangled")
(3836 . "entering") (3837 . "entertain") (3838 . "enticing")
(3839 . "entire") (3840 . "entrench") (3841 . "entity")
(3842 . "entomb") (3843 . "entourage") (3844 . "entrap")
(3845 . "entree") (3846 . "enviable") (3847 . "entrust")
(3848 . "entryway") (3849 . "entwine") (3850 . "enunciate")
(3851 . "envelope") (3852 . "eskimo") (3853 . "escalator")
(3854 . "escapable") (3855 . "escapade") (3856 . "escapist")
(3857 . "escargot") (3858 . "epilepsy") (3859 . "epic")
(3860 . "epidemic") (3861 . "epidermal") (3862 . "epidermis")
(3863 . "epidural") (3864 . "equate") (3865 . "epileptic")
(3866 . "epilogue") (3867 . "epiphany") (3868 . "episode")
(3869 . "equal") (3870 . "equivocal") (3871 . "equation")
(3872 . "equator") (3873 . "equinox") (3874 . "equipment")
(3875 . "equity") (3876 . "ergonomic") (3877 . "eradicate")
(3878 . "erasable") (3879 . "erased") (3880 . "eraser")
(3881 . "erasure") (3882 . "escalate") (3883 . "errand")
(3884 . "errant") (3885 . "erratic") (3886 . "error")
(3887 . "erupt") (3888 . "massive") (3889 . "masculine")
(3890 . "mashed") (3891 . "mashing") (3892 . "massager")
(3893 . "masses") (3894 . "marbled") (3895 . "manual")
(3896 . "many") (3897 . "map") (3898 . "marathon")
(3899 . "marauding") (3900 . "margarita") (3901 . "marbles")
(3902 . "marbling") (3903 . "march") (3904 . "mardi")
(3905 . "margarine") (3906 . "maritime") (3907 . "margin")
(3908 . "marigold") (3909 . "marina") (3910 . "marine")
(3911 . "marital") (3912 . "marry") (3913 . "marlin")
(3914 . "marmalade") (3915 . "maroon") (3916 . "married")
(3917 . "marrow") (3918 . "mascot") (3919 . "marshland")
(3920 . "marshy") (3921 . "marsupial") (3922 . "marvelous")
(3923 . "marxism") (3924 . "limb") (3925 . "likewise")
(3926 . "liking") (3927 . "lilac") (3928 . "lilly")
(3929 . "lily") (3930 . "letdown") (3931 . "length")
(3932 . "lens") (3933 . "lent") (3934 . "leotard")
(3935 . "lesser") (3936 . "leverage") (3937 . "lethargic")
(3938 . "lethargy") (3939 . "letter") (3940 . "lettuce")
(3941 . "level") (3942 . "liberty") (3943 . "levers")
(3944 . "levitate") (3945 . "levitator") (3946 . "liability")
(3947 . "liable") (3948 . "life") (3949 . "librarian")
(3950 . "library") (3951 . "licking") (3952 . "licorice")
(3953 . "lid") (3954 . "likeness") (3955 . "lifter")
(3956 . "lifting") (3957 . "liftoff") (3958 . "ligament")
(3959 . "likely") (3960 . "lubricant") (3961 . "liver")
(3962 . "livestock") (3963 . "lividly") (3964 . "living")
(3965 . "lizard") (3966 . "limpness") (3967 . "limeade")
(3968 . "limelight") (3969 . "limes") (3970 . "limit")
(3971 . "limping") (3972 . "linked") (3973 . "line")
(3974 . "lingo") (3975 . "linguini") (3976 . "linguist")
(3977 . "lining") (3978 . "liquefy") (3979 . "linoleum")
(3980 . "linseed") (3981 . "lint") (3982 . "lion")
(3983 . "lip") (3984 . "litigator") (3985 . "liqueur")
(3986 . "liquid") (3987 . "lisp") (3988 . "list")
(3989 . "litigate") (3990 . "lively") (3991 . "litmus")
(3992 . "litter") (3993 . "little") (3994 . "livable")
(3995 . "lived") (3996 . "luxurious") (3997 . "lustfully")
(3998 . "lustily") (3999 . "lustiness") (4000 . "lustrous")
(4001 . "lusty") (4002 . "lucrative") (4003 . "lubricate")
(4004 . "lucid") (4005 . "luckily") (4006 . "luckiness")
(4007 . "luckless") (4008 . "luminance") (4009 . "ludicrous")
(4010 . "lugged") (4011 . "lukewarm") (4012 . "lullaby")
(4013 . "lumber") (4014 . "lunar") (4015 . "luminous")
(4016 . "lumpiness") (4017 . "lumping") (4018 . "lumpish")
(4019 . "lunacy") (4020 . "lurch") (4021 . "lunchbox")
(4022 . "luncheon") (4023 . "lunchroom") (4024 . "lunchtime")
(4025 . "lung") (4026 . "luster") (4027 . "lure")
(4028 . "luridness") (4029 . "lurk") (4030 . "lushly")
(4031 . "lushness") (4032 . "making") (4033 . "majorette")
(4034 . "majority") (4035 . "makeover") (4036 . "maker")
(4037 . "makeshift") (4038 . "lyrics") (4039 . "luxury")
(4040 . "lying") (4041 . "lyrically") (4042 . "lyricism")
(4043 . "lyricist") (4044 . "machinist") (4045 . "macarena")
(4046 . "macaroni") (4047 . "macaw") (4048 . "mace")
(4049 . "machine") (4050 . "magma") (4051 . "magazine")
(4052 . "magenta") (4053 . "maggot") (4054 . "magical")
(4055 . "magician") (4056 . "magnify") (4057 . "magnesium")
(4058 . "magnetic") (4059 . "magnetism") (4060 . "magnetize")
(4061 . "magnifier") (4062 . "majesty") (4063 . "magnitude")
(4064 . "magnolia") (4065 . "mahogany") (4066 . "maimed")
(4067 . "majestic") (4068 . "mantra") (4069 . "manned")
(4070 . "mannish") (4071 . "manor") (4072 . "manpower")
(4073 . "mantis") (4074 . "mammogram") (4075 . "malformed")
(4076 . "malt") (4077 . "mama") (4078 . "mammal")
(4079 . "mammary") (4080 . "mandatory") (4081 . "manager")
(4082 . "managing") (4083 . "manatee") (4084 . "mandarin")
(4085 . "mandate") (4086 . "manhandle") (4087 . "mandolin")
(4088 . "manger") (4089 . "mangle") (4090 . "mango")
(4091 . "mangy") (4092 . "manifesto") (4093 . "manhole")
(4094 . "manhood") (4095 . "manhunt") (4096 . "manicotti")
(4097 . "manicure") (4098 . "manmade") (4099 . "manila")
(4100 . "mankind") (4101 . "manlike") (4102 . "manliness")
(4103 . "manly") (4104 . "garter") (4105 . "garland")
(4106 . "garlic") (4107 . "garment") (4108 . "garnet")
(4109 . "garnish") (4110 . "gaining") (4111 . "frying")
(4112 . "gab") (4113 . "gaffe") (4114 . "gag")
(4115 . "gainfully") (4116 . "galley") (4117 . "gains")
(4118 . "gala") (4119 . "gallantly") (4120 . "galleria")
(4121 . "gallery") (4122 . "gambling") (4123 . "gallon")
(4124 . "gallows") (4125 . "gallstone") (4126 . "galore")
(4127 . "galvanize") (4128 . "gangrene") (4129 . "game")
(4130 . "gaming") (4131 . "gamma") (4132 . "gander")
(4133 . "gangly") (4134 . "gargle") (4135 . "gangway")
(4136 . "gap") (4137 . "garage") (4138 . "garbage")
(4139 . "garden") (4140 . "flavorful") (4141 . "flattery")
(4142 . "flattop") (4143 . "flatware") (4144 . "flatworm")
(4145 . "flavored") (4146 . "flagstone") (4147 . "flaccid")
(4148 . "flagman") (4149 . "flagpole") (4150 . "flagship")
(4151 . "flagstick") (4152 . "flanked") (4153 . "flail")
(4154 . "flakily") (4155 . "flaky") (4156 . "flame")
(4157 . "flammable") (4158 . "flashbulb") (4159 . "flanking")
(4160 . "flannels") (4161 . "flap") (4162 . "flaring")
(4163 . "flashback") (4164 . "flatbed") (4165 . "flashcard")
(4166 . "flashily") (4167 . "flashing") (4168 . "flashy")
(4169 . "flask") (4170 . "flatterer") (4171 . "flatfoot")
(4172 . "flatly") (4173 . "flatness") (4174 . "flatten")
(4175 . "flattered") (4176 . "fondling") (4177 . "foil")
(4178 . "folic") (4179 . "folk") (4180 . "follicle")
(4181 . "follow") (4182 . "flick") (4183 . "flavoring")
(4184 . "flaxseed") (4185 . "fled") (4186 . "fleshed")
(4187 . "fleshy") (4188 . "flip") (4189 . "flier")
(4190 . "flight") (4191 . "flinch") (4192 . "fling")
(4193 . "flint") (4194 . "floral") (4195 . "flirt")
(4196 . "float") (4197 . "flock") (4198 . "flogging")
(4199 . "flop") (4200 . "flyer") (4201 . "florist")
(4202 . "floss") (4203 . "flounder") (4204 . "flyable")
(4205 . "flyaway") (4206 . "fog") (4207 . "flying")
(4208 . "flyover") (4209 . "flypaper") (4210 . "foam")
(4211 . "foe") (4212 . "fragile") (4213 . "fountain")
(4214 . "fox") (4215 . "foyer") (4216 . "fraction")
(4217 . "fracture") (4218 . "fool") (4219 . "fondly")
(4220 . "fondness") (4221 . "fondue") (4222 . "font")
(4223 . "food") (4224 . "footgear") (4225 . "footage")
(4226 . "football") (4227 . "footbath") (4228 . "footboard")
(4229 . "footer") (4230 . "footnote") (4231 . "foothill")
(4232 . "foothold") (4233 . "footing") (4234 . "footless")
(4235 . "footman") (4236 . "footsore") (4237 . "footpad")
(4238 . "footpath") (4239 . "footprint") (4240 . "footrest")
(4241 . "footsie") (4242 . "founding") (4243 . "footwear")
(4244 . "footwork") (4245 . "fossil") (4246 . "foster")
(4247 . "founder") (4248 . "frequency") (4249 . "freezing")
(4250 . "freight") (4251 . "french") (4252 . "frenzied")
(4253 . "frenzy") (4254 . "frame") (4255 . "fragility")
(4256 . "fragment") (4257 . "fragrance") (4258 . "fragrant")
(4259 . "frail") (4260 . "frays") (4261 . "framing")
(4262 . "frantic") (4263 . "fraternal") (4264 . "frayed")
(4265 . "fraying") (4266 . "freedom") (4267 . "freckled")
(4268 . "freckles") (4269 . "freebase") (4270 . "freebee")
(4271 . "freebie") (4272 . "freemason") (4273 . "freefall")
(4274 . "freehand") (4275 . "freeing") (4276 . "freeload")
(4277 . "freely") (4278 . "freezable") (4279 . "freeness")
(4280 . "freestyle") (4281 . "freeware") (4282 . "freeway")
(4283 . "freewill") (4284 . "frustrate") (4285 . "frozen")
(4286 . "fructose") (4287 . "frugality") (4288 . "frugally")
(4289 . "fruit") (4290 . "friday") (4291 . "frequent")
(4292 . "fresh") (4293 . "fretful") (4294 . "fretted")
(4295 . "friction") (4296 . "frigidity") (4297 . "fridge")
(4298 . "fried") (4299 . "friend") (4300 . "frighten")
(4301 . "frightful") (4302 . "fritter") (4303 . "frigidly")
(4304 . "frill") (4305 . "fringe") (4306 . "frisbee")
(4307 . "frisk") (4308 . "frosted") (4309 . "frivolous")
(4310 . "frolic") (4311 . "from") (4312 . "front")
(4313 . "frostbite") (4314 . "frown") (4315 . "frostily")
(4316 . "frosting") (4317 . "frostlike") (4318 . "frosty")
(4319 . "froth") (4320 . "groggily") (4321 . "grinch")
(4322 . "grinning") (4323 . "grip") (4324 . "gristle")
(4325 . "grit") (4326 . "gravitate") (4327 . "gratuity")
(4328 . "gravel") (4329 . "graveness") (4330 . "graves")
(4331 . "graveyard") (4332 . "greedily") (4333 . "gravity")
(4334 . "gravy") (4335 . "gray") (4336 . "grazing")
(4337 . "greasily") (4338 . "grew") (4339 . "greedless")
(4340 . "greedy") (4341 . "green") (4342 . "greeter")
(4343 . "greeting") (4344 . "grievous") (4345 . "greyhound")
(4346 . "grid") (4347 . "grief") (4348 . "grievance")
(4349 . "grieving") (4350 . "grimy") (4351 . "grill")
(4352 . "grimace") (4353 . "grimacing") (4354 . "grime")
(4355 . "griminess") (4356 . "germless") (4357 . "geranium")
(4358 . "gerbil") (4359 . "geriatric") (4360 . "germicide")
(4361 . "germinate") (4362 . "gauntlet") (4363 . "gas")
(4364 . "gatherer") (4365 . "gathering") (4366 . "gating")
(4367 . "gauging") (4368 . "gecko") (4369 . "gauze")
(4370 . "gave") (4371 . "gawk") (4372 . "gazing")
(4373 . "gear") (4374 . "generous") (4375 . "geek")
(4376 . "geiger") (4377 . "gem") (4378 . "gender")
(4379 . "generic") (4380 . "gents") (4381 . "genetics")
(4382 . "genre") (4383 . "gentile") (4384 . "gentleman")
(4385 . "gently") (4386 . "geometry") (4387 . "geography")
(4388 . "geologic") (4389 . "geologist") (4390 . "geology")
(4391 . "geometric") (4392 . "gladly") (4393 . "gizzard")
(4394 . "glacial") (4395 . "glacier") (4396 . "glade")
(4397 . "gladiator") (4398 . "getting") (4399 . "germproof")
(4400 . "gestate") (4401 . "gestation") (4402 . "gesture")
(4403 . "getaway") (4404 . "giddiness") (4405 . "getup")
(4406 . "giant") (4407 . "gibberish") (4408 . "giblet")
(4409 . "giddily") (4410 . "giggle") (4411 . "giddy")
(4412 . "gift") (4413 . "gigabyte") (4414 . "gigahertz")
(4415 . "gigantic") (4416 . "gimmick") (4417 . "giggling")
(4418 . "giggly") (4419 . "gigolo") (4420 . "gilled")
(4421 . "gills") (4422 . "gizmo") (4423 . "girdle")
(4424 . "giveaway") (4425 . "given") (4426 . "giver")
(4427 . "giving") (4428 . "gluten") (4429 . "glove")
(4430 . "glowing") (4431 . "glowworm") (4432 . "glucose")
(4433 . "glue") (4434 . "glare") (4435 . "glamorous")
(4436 . "glamour") (4437 . "glance") (4438 . "glancing")
(4439 . "glandular") (4440 . "gleeful") (4441 . "glaring")
(4442 . "glass") (4443 . "glaucoma") (4444 . "glazing")
(4445 . "gleaming") (4446 . "glitch") (4447 . "glider")
(4448 . "gliding") (4449 . "glimmer") (4450 . "glimpse")
(4451 . "glisten") (4452 . "gloomy") (4453 . "glitter")
(4454 . "glitzy") (4455 . "gloater") (4456 . "gloating")
(4457 . "gloomily") (4458 . "gloss") (4459 . "glorified")
(4460 . "glorifier") (4461 . "glorify") (4462 . "glorious")
(4463 . "glory") (4464 . "gown") (4465 . "gosling")
(4466 . "gossip") (4467 . "gothic") (4468 . "gotten")
(4469 . "gout") (4470 . "goatskin") (4471 . "glutinous")
(4472 . "glutton") (4473 . "gnarly") (4474 . "gnat")
(4475 . "goal") (4476 . "goldsmith") (4477 . "goes")
(4478 . "goggles") (4479 . "going") (4480 . "goldfish")
(4481 . "goldmine") (4482 . "gong") (4483 . "golf")
(4484 . "goliath") (4485 . "gonad") (4486 . "gondola")
(4487 . "gone") (4488 . "google") (4489 . "good")
(4490 . "gooey") (4491 . "goofball") (4492 . "goofiness")
(4493 . "goofy") (4494 . "gory") (4495 . "goon")
(4496 . "gopher") (4497 . "gore") (4498 . "gorged")
(4499 . "gorgeous") (4500 . "gratitude") (4501 . "grasp")
(4502 . "grass") (4503 . "gratified") (4504 . "gratify")
(4505 . "grating") (4506 . "graded") (4507 . "grab")
(4508 . "graceful") (4509 . "graceless") (4510 . "gracious")
(4511 . "gradation") (4512 . "graffiti") (4513 . "grader")
(4514 . "gradient") (4515 . "grading") (4516 . "gradually")
(4517 . "graduate") (4518 . "grandly") (4519 . "grafted")
(4520 . "grafting") (4521 . "grain") (4522 . "granddad")
(4523 . "grandkid") (4524 . "granola") (4525 . "grandma")
(4526 . "grandpa") (4527 . "grandson") (4528 . "granite")
(4529 . "granny") (4530 . "grappling") (4531 . "grant")
(4532 . "granular") (4533 . "grape") (4534 . "graph")
(4535 . "grapple") (4536 . "helpline") (4537 . "helmet")
(4538 . "helper") (4539 . "helpful") (4540 . "helping")
(4541 . "helpless") (4542 . "headlamp") (4543 . "headed")
(4544 . "header") (4545 . "headfirst") (4546 . "headgear")
(4547 . "heading") (4548 . "headroom") (4549 . "headless")
(4550 . "headlock") (4551 . "headphone") (4552 . "headpiece")
(4553 . "headrest") (4554 . "headway") (4555 . "headscarf")
(4556 . "headset") (4557 . "headsman") (4558 . "headstand")
(4559 . "headstone") (4560 . "heaviness") (4561 . "headwear")
(4562 . "heap") (4563 . "heat") (4564 . "heave")
(4565 . "heavily") (4566 . "helium") (4567 . "heaving")
(4568 . "hedge") (4569 . "hedging") (4570 . "heftiness")
(4571 . "hefty") (4572 . "gulp") (4573 . "guileless")
(4574 . "guise") (4575 . "gulf") (4576 . "gullible")
(4577 . "gully") (4578 . "groovy") (4579 . "groggy")
(4580 . "groin") (4581 . "groom") (4582 . "groove")
(4583 . "grooving") (4584 . "grower") (4585 . "grope")
(4586 . "ground") (4587 . "grouped") (4588 . "grout")
(4589 . "grove") (4590 . "grueling") (4591 . "growing")
(4592 . "growl") (4593 . "grub") (4594 . "grudge")
(4595 . "grudging") (4596 . "grunge") (4597 . "gruffly")
(4598 . "grumble") (4599 . "grumbling") (4600 . "grumbly")
(4601 . "grumpily") (4602 . "guiding") (4603 . "grunt")
(4604 . "guacamole") (4605 . "guidable") (4606 . "guidance")
(4607 . "guide") (4608 . "hammock") (4609 . "halt")
(4610 . "halved") (4611 . "halves") (4612 . "hamburger")
(4613 . "hamlet") (4614 . "gurgle") (4615 . "gumball")
(4616 . "gumdrop") (4617 . "gumminess") (4618 . "gumming")
(4619 . "gummy") (4620 . "gutless") (4621 . "gurgling")
(4622 . "guru") (4623 . "gush") (4624 . "gusto")
(4625 . "gusty") (4626 . "habitable") (4627 . "guts")
(4628 . "gutter") (4629 . "guy") (4630 . "guzzler")
(4631 . "gyration") (4632 . "hacking") (4633 . "habitant")
(4634 . "habitat") (4635 . "habitual") (4636 . "hacked")
(4637 . "hacker") (4638 . "halogen") (4639 . "hacksaw")
(4640 . "had") (4641 . "haggler") (4642 . "haiku")
(4643 . "half") (4644 . "handwoven") (4645 . "handsfree")
(4646 . "handshake") (4647 . "handstand") (4648 . "handwash")
(4649 . "handwork") (4650 . "handbook") (4651 . "hamper")
(4652 . "hamster") (4653 . "hamstring") (4654 . "handbag")
(4655 . "handball") (4656 . "handcuff") (4657 . "handbrake")
(4658 . "handcart") (4659 . "handclap") (4660 . "handclasp")
(4661 . "handcraft") (4662 . "handiness") (4663 . "handed")
(4664 . "handful") (4665 . "handgrip") (4666 . "handgun")
(4667 . "handheld") (4668 . "handmade") (4669 . "handiwork")
(4670 . "handlebar") (4671 . "handled") (4672 . "handler")
(4673 . "handling") (4674 . "handset") (4675 . "handoff")
(4676 . "handpick") (4677 . "handprint") (4678 . "handrail")
(4679 . "handsaw") (4680 . "harmless") (4681 . "hardware")
(4682 . "hardwired") (4683 . "hardwood") (4684 . "hardy")
(4685 . "harmful") (4686 . "hangup") (4687 . "handwrite")
(4688 . "handyman") (4689 . "hangnail") (4690 . "hangout")
(4691 . "hangover") (4692 . "happier") (4693 . "hankering")
(4694 . "hankie") (4695 . "hanky") (4696 . "haphazard")
(4697 . "happening") (4698 . "hardcopy") (4699 . "happiest")
(4700 . "happily") (4701 . "happiness") (4702 . "happy")
(4703 . "harbor") (4704 . "hardening") (4705 . "hardcore")
(4706 . "hardcover") (4707 . "harddisk") (4708 . "hardened")
(4709 . "hardener") (4710 . "hardship") (4711 . "hardhat")
(4712 . "hardhead") (4713 . "hardiness") (4714 . "hardly")
(4715 . "hardness") (4716 . "headdress") (4717 . "hazy")
(4718 . "headache") (4719 . "headband") (4720 . "headboard")
(4721 . "headcount") (4722 . "harpist") (4723 . "harmonica")
(4724 . "harmonics") (4725 . "harmonize") (4726 . "harmony")
(4727 . "harness") (4728 . "hastily") (4729 . "harsh")
(4730 . "harvest") (4731 . "hash") (4732 . "hassle")
(4733 . "haste") (4734 . "hatchet") (4735 . "hastiness")
(4736 . "hasty") (4737 . "hatbox") (4738 . "hatchback")
(4739 . "hatchery") (4740 . "haunt") (4741 . "hatching")
(4742 . "hatchling") (4743 . "hate") (4744 . "hatless")
(4745 . "hatred") (4746 . "hazing") (4747 . "haven")
(4748 . "hazard") (4749 . "hazelnut") (4750 . "hazily")
(4751 . "haziness") (4752 . "jarring") (4753 . "jalapeno")
(4754 . "jam") (4755 . "janitor") (4756 . "january")
(4757 . "jargon") (4758 . "irritate") (4759 . "irregular")
(4760 . "irrigate") (4761 . "irritable") (4762 . "irritably")
(4763 . "irritant") (4764 . "isotope") (4765 . "islamic")
(4766 . "islamist") (4767 . "isolated") (4768 . "isolating")
(4769 . "isolation") (4770 . "itinerary") (4771 . "issue")
(4772 . "issuing") (4773 . "italicize") (4774 . "italics")
(4775 . "item") (4776 . "jacket") (4777 . "itunes")
(4778 . "ivory") (4779 . "ivy") (4780 . "jab")
(4781 . "jackal") (4782 . "jailhouse") (4783 . "jackknife")
(4784 . "jackpot") (4785 . "jailbird") (4786 . "jailbreak")
(4787 . "jailer") (4788 . "humility") (4789 . "humble")
(4790 . "humbling") (4791 . "humbly") (4792 . "humid")
(4793 . "humiliate") (4794 . "herald") (4795 . "hemlock")
(4796 . "hemstitch") (4797 . "hence") (4798 . "henchman")
(4799 . "henna") (4800 . "heroics") (4801 . "herbal")
(4802 . "herbicide") (4803 . "herbs") (4804 . "heritage")
(4805 . "hermit") (4806 . "hesitant") (4807 . "heroism")
(4808 . "herring") (4809 . "herself") (4810 . "hertz")
(4811 . "hesitancy") (4812 . "huddling") (4813 . "hesitate")
(4814 . "hexagon") (4815 . "hexagram") (4816 . "hubcap")
(4817 . "huddle") (4818 . "human") (4819 . "huff")
(4820 . "hug") (4821 . "hula") (4822 . "hulk") (4823 . "hull")
(4824 . "hydrated") (4825 . "husked") (4826 . "huskiness")
(4827 . "hut") (4828 . "hybrid") (4829 . "hydrant")
(4830 . "humorous") (4831 . "humming") (4832 . "hummus")
(4833 . "humongous") (4834 . "humorist") (4835 . "humorless")
(4836 . "hunger") (4837 . "humpback") (4838 . "humped")
(4839 . "humvee") (4840 . "hunchback") (4841 . "hundredth")
(4842 . "huntress") (4843 . "hungrily") (4844 . "hungry")
(4845 . "hunk") (4846 . "hunter") (4847 . "hunting")
(4848 . "hurray") (4849 . "huntsman") (4850 . "hurdle")
(4851 . "hurled") (4852 . "hurler") (4853 . "hurling")
(4854 . "hush") (4855 . "hurricane") (4856 . "hurried")
(4857 . "hurry") (4858 . "hurt") (4859 . "husband")
(4860 . "ignore") (4861 . "idiocy") (4862 . "idiom")
(4863 . "idly") (4864 . "igloo") (4865 . "ignition")
(4866 . "hyphen") (4867 . "hydration") (4868 . "hydrogen")
(4869 . "hydroxide") (4870 . "hyperlink") (4871 . "hypertext")
(4872 . "hypnotize") (4873 . "hypnoses") (4874 . "hypnosis")
(4875 . "hypnotic") (4876 . "hypnotism") (4877 . "hypnotist")
(4878 . "icing") (4879 . "hypocrisy") (4880 . "hypocrite")
(4881 . "ibuprofen") (4882 . "ice") (4883 . "iciness")
(4884 . "idealize") (4885 . "icky") (4886 . "icon")
(4887 . "icy") (4888 . "idealism") (4889 . "idealist")
(4890 . "ideology") (4891 . "ideally") (4892 . "idealness")
(4893 . "identical") (4894 . "identify") (4895 . "identity")
(4896 . "implicate") (4897 . "imperfect") (4898 . "imperial")
(4899 . "impish") (4900 . "implant") (4901 . "implement")
(4902 . "imaginary") (4903 . "iguana") (4904 . "illicitly")
(4905 . "illusion") (4906 . "illusive") (4907 . "image")
(4908 . "immature") (4909 . "imagines") (4910 . "imaging")
(4911 . "imbecile") (4912 . "imitate") (4913 . "imitation")
(4914 . "immorally") (4915 . "immerse") (4916 . "immersion")
(4917 . "imminent") (4918 . "immobile") (4919 . "immodest")
(4920 . "impaired") (4921 . "immortal") (4922 . "immovable")
(4923 . "immovably") (4924 . "immunity") (4925 . "immunize")
(4926 . "impending") (4927 . "impale") (4928 . "impart")
(4929 . "impatient") (4930 . "impeach") (4931 . "impeding")
(4932 . "iron") (4933 . "ipad") (4934 . "iphone")
(4935 . "ipod") (4936 . "irate") (4937 . "irk")
(4938 . "impolite") (4939 . "implicit") (4940 . "implode")
(4941 . "implosion") (4942 . "implosive") (4943 . "imply")
(4944 . "impotency") (4945 . "important") (4946 . "importer")
(4947 . "impose") (4948 . "imposing") (4949 . "impotence")
(4950 . "impromptu") (4951 . "impotent") (4952 . "impound")
(4953 . "imprecise") (4954 . "imprint") (4955 . "imprison")
(4956 . "impulse") (4957 . "improper") (4958 . "improve")
(4959 . "improving") (4960 . "improvise") (4961 . "imprudent")
(4962 . "ion") (4963 . "impulsive") (4964 . "impure")
(4965 . "impurity") (4966 . "iodine") (4967 . "iodize")
(4968 . "lend") (4969 . "legroom") (4970 . "legume")
(4971 . "legwarmer") (4972 . "legwork") (4973 . "lemon")
(4974 . "latitude") (4975 . "lasso") (4976 . "last")
(4977 . "latch") (4978 . "late") (4979 . "lather")
(4980 . "laundry") (4981 . "latrine") (4982 . "latter")
(4983 . "latticed") (4984 . "launch") (4985 . "launder")
(4986 . "laziness") (4987 . "laurel") (4988 . "lavender")
(4989 . "lavish") (4990 . "laxative") (4991 . "lazily")
(4992 . "legend") (4993 . "lazy") (4994 . "lecturer")
(4995 . "left") (4996 . "legacy") (4997 . "legal")
(4998 . "lego") (4999 . "legged") (5000 . "leggings")
(5001 . "legible") (5002 . "legibly") (5003 . "legislate")
(5004 . "jolliness") (5005 . "jogging") (5006 . "john")
(5007 . "joining") (5008 . "jokester") (5009 . "jokingly")
(5010 . "jawless") (5011 . "jasmine") (5012 . "jaundice")
(5013 . "jaunt") (5014 . "java") (5015 . "jawed")
(5016 . "jeep") (5017 . "jawline") (5018 . "jaws")
(5019 . "jaybird") (5020 . "jaywalker") (5021 . "jazz")
(5022 . "jet") (5023 . "jeeringly") (5024 . "jellied")
(5025 . "jelly") (5026 . "jersey") (5027 . "jester")
(5028 . "jinx") (5029 . "jiffy") (5030 . "jigsaw")
(5031 . "jimmy") (5032 . "jingle") (5033 . "jingling")
(5034 . "jogger") (5035 . "jitters") (5036 . "jittery")
(5037 . "job") (5038 . "jockey") (5039 . "jockstrap")
(5040 . "junkyard") (5041 . "june") (5042 . "junior")
(5043 . "juniper") (5044 . "junkie") (5045 . "junkman")
(5046 . "joylessly") (5047 . "jolly") (5048 . "jolt")
(5049 . "jot") (5050 . "jovial") (5051 . "joyfully")
(5052 . "judge") (5053 . "joyous") (5054 . "joyride")
(5055 . "joystick") (5056 . "jubilance") (5057 . "jubilant")
(5058 . "juggling") (5059 . "judgingly") (5060 . "judicial")
(5061 . "judiciary") (5062 . "judo") (5063 . "juggle")
(5064 . "jukebox") (5065 . "jugular") (5066 . "juice")
(5067 . "juiciness") (5068 . "juicy") (5069 . "jujitsu")
(5070 . "juncture") (5071 . "july") (5072 . "jumble")
(5073 . "jumbo") (5074 . "jump") (5075 . "junction")
(5076 . "kindly") (5077 . "kilowatt") (5078 . "kilt")
(5079 . "kimono") (5080 . "kindle") (5081 . "kindling")
(5082 . "justify") (5083 . "jurist") (5084 . "juror")
(5085 . "jury") (5086 . "justice") (5087 . "justifier")
(5088 . "karaoke") (5089 . "justly") (5090 . "justness")
(5091 . "juvenile") (5092 . "kabob") (5093 . "kangaroo")
(5094 . "keep") (5095 . "karate") (5096 . "karma")
(5097 . "kebab") (5098 . "keenly") (5099 . "keenness")
(5100 . "kerosene") (5101 . "keg") (5102 . "kelp")
(5103 . "kennel") (5104 . "kept") (5105 . "kerchief")
(5106 . "kilometer") (5107 . "kettle") (5108 . "kick")
(5109 . "kiln") (5110 . "kilobyte") (5111 . "kilogram")
(5112 . "ladle") (5113 . "laboring") (5114 . "laborious")
(5115 . "labrador") (5116 . "ladder") (5117 . "ladies")
(5118 . "kinship") (5119 . "kindness") (5120 . "kindred")
(5121 . "kinetic") (5122 . "kinfolk") (5123 . "king")
(5124 . "kitchen") (5125 . "kinsman") (5126 . "kinswoman")
(5127 . "kissable") (5128 . "kisser") (5129 . "kissing")
(5130 . "knapsack") (5131 . "kite") (5132 . "kitten")
(5133 . "kitty") (5134 . "kiwi") (5135 . "kleenex")
(5136 . "kooky") (5137 . "knee") (5138 . "knelt")
(5139 . "knickers") (5140 . "knoll") (5141 . "koala")
(5142 . "laborer") (5143 . "kosher") (5144 . "krypton")
(5145 . "kudos") (5146 . "kung") (5147 . "labored")
(5148 . "lash") (5149 . "lapping") (5150 . "laptop")
(5151 . "lard") (5152 . "large") (5153 . "lark")
(5154 . "lair") (5155 . "ladybug") (5156 . "ladylike")
(5157 . "lagged") (5158 . "lagging") (5159 . "lagoon")
(5160 . "landing") (5161 . "lake") (5162 . "lance")
(5163 . "landed") (5164 . "landfall") (5165 . "landfill")
(5166 . "landmass") (5167 . "landlady") (5168 . "landless")
(5169 . "landline") (5170 . "landlord") (5171 . "landmark")
(5172 . "language") (5173 . "landmine") (5174 . "landowner")
(5175 . "landscape") (5176 . "landside") (5177 . "landslide")
(5178 . "lapped") (5179 . "lankiness") (5180 . "lanky")
(5181 . "lantern") (5182 . "lapdog") (5183 . "lapel")
(5184 . "refold") (5185 . "reflected") (5186 . "reflector")
(5187 . "reflex") (5188 . "reflux") (5189 . "refocus")
(5190 . "recount") (5191 . "reconcile") (5192 . "reconfirm")
(5193 . "reconvene") (5194 . "recopy") (5195 . "record")
(5196 . "rectified") (5197 . "recoup") (5198 . "recovery")
(5199 . "recreate") (5200 . "rectal") (5201 . "rectangle")
(5202 . "reenact") (5203 . "rectify") (5204 . "recycled")
(5205 . "recycler") (5206 . "recycling") (5207 . "reemerge")
(5208 . "reference") (5209 . "reenter") (5210 . "reentry")
(5211 . "reexamine") (5212 . "referable") (5213 . "referee")
(5214 . "refinish") (5215 . "refill") (5216 . "refinance")
(5217 . "refined") (5218 . "refinery") (5219 . "refining")
(5220 . "quadrant") (5221 . "puzzling") (5222 . "pyramid")
(5223 . "pyromania") (5224 . "python") (5225 . "quack")
(5226 . "purify") (5227 . "pureness") (5228 . "purgatory")
(5229 . "purge") (5230 . "purging") (5231 . "purifier")
(5232 . "purposely") (5233 . "purist") (5234 . "puritan")
(5235 . "purity") (5236 . "purple") (5237 . "purplish")
(5238 . "purveyor") (5239 . "purr") (5240 . "purse")
(5241 . "pursuable") (5242 . "pursuant") (5243 . "pursuit")
(5244 . "pushover") (5245 . "pushcart") (5246 . "pushchair")
(5247 . "pusher") (5248 . "pushiness") (5249 . "pushing")
(5250 . "puzzle") (5251 . "pushpin") (5252 . "pushup")
(5253 . "pushy") (5254 . "putdown") (5255 . "putt")
(5256 . "rabid") (5257 . "quiver") (5258 . "quizzical")
(5259 . "quotable") (5260 . "quotation") (5261 . "quote")
(5262 . "qualifier") (5263 . "quail") (5264 . "quaintly")
(5265 . "quake") (5266 . "quaking") (5267 . "qualified")
(5268 . "quarry") (5269 . "qualify") (5270 . "quality")
(5271 . "qualm") (5272 . "quantum") (5273 . "quarrel")
(5274 . "query") (5275 . "quartered") (5276 . "quarterly")
(5277 . "quarters") (5278 . "quartet") (5279 . "quench")
(5280 . "quiet") (5281 . "quicken") (5282 . "quickly")
(5283 . "quickness") (5284 . "quicksand") (5285 . "quickstep")
(5286 . "quit") (5287 . "quill") (5288 . "quilt")
(5289 . "quintet") (5290 . "quintuple") (5291 . "quirk")
(5292 . "random") (5293 . "rambling") (5294 . "ramp")
(5295 . "ramrod") (5296 . "ranch") (5297 . "rancidity")
(5298 . "radar") (5299 . "race") (5300 . "racing")
(5301 . "racism") (5302 . "rack") (5303 . "racoon")
(5304 . "radiator") (5305 . "radial") (5306 . "radiance")
(5307 . "radiantly") (5308 . "radiated") (5309 . "radiation")
(5310 . "ragged") (5311 . "radio") (5312 . "radish")
(5313 . "raffle") (5314 . "raft") (5315 . "rage")
(5316 . "railroad") (5317 . "raging") (5318 . "ragweed")
(5319 . "raider") (5320 . "railcar") (5321 . "railing")
(5322 . "ramble") (5323 . "railway") (5324 . "raisin")
(5325 . "rake") (5326 . "raking") (5327 . "rally")
(5328 . "reassign") (5329 . "reappoint") (5330 . "reapprove")
(5331 . "rearrange") (5332 . "rearview") (5333 . "reason")
(5334 . "ransack") (5335 . "ranged") (5336 . "ranger")
(5337 . "ranging") (5338 . "ranked") (5339 . "ranking")
(5340 . "rash") (5341 . "ranting") (5342 . "rants")
(5343 . "rare") (5344 . "rarity") (5345 . "rascal")
(5346 . "ravioli") (5347 . "rasping") (5348 . "ravage")
(5349 . "raven") (5350 . "ravine") (5351 . "raving")
(5352 . "reactive") (5353 . "ravishing") (5354 . "reabsorb")
(5355 . "reach") (5356 . "reacquire") (5357 . "reaction")
(5358 . "reapply") (5359 . "reactor") (5360 . "reaffirm")
(5361 . "ream") (5362 . "reanalyze") (5363 . "reappear")
(5364 . "recolor") (5365 . "recluse") (5366 . "reclusive")
(5367 . "recognize") (5368 . "recoil") (5369 . "recollect")
(5370 . "rebel") (5371 . "reassure") (5372 . "reattach")
(5373 . "reawake") (5374 . "rebalance") (5375 . "rebate")
(5376 . "rebuild") (5377 . "rebirth") (5378 . "reboot")
(5379 . "reborn") (5380 . "rebound") (5381 . "rebuff")
(5382 . "recapture") (5383 . "rebuilt") (5384 . "reburial")
(5385 . "rebuttal") (5386 . "recall") (5387 . "recant")
(5388 . "recipient") (5389 . "recast") (5390 . "recede")
(5391 . "recent") (5392 . "recess") (5393 . "recharger")
(5394 . "reclining") (5395 . "recital") (5396 . "recite")
(5397 . "reckless") (5398 . "reclaim") (5399 . "recliner")
(5400 . "navigate") (5401 . "nativity") (5402 . "natural")
(5403 . "nature") (5404 . "naturist") (5405 . "nautical")
(5406 . "mutt") (5407 . "mutation") (5408 . "mute")
(5409 . "mutilated") (5410 . "mutilator") (5411 . "mutiny")
(5412 . "mystify") (5413 . "mutual") (5414 . "muzzle")
(5415 . "myself") (5416 . "myspace") (5417 . "mystified")
(5418 . "naming") (5419 . "myth") (5420 . "nacho")
(5421 . "nag") (5422 . "nail") (5423 . "name")
(5424 . "napping") (5425 . "nanny") (5426 . "nanometer")
(5427 . "nape") (5428 . "napkin") (5429 . "napped")
(5430 . "native") (5431 . "nappy") (5432 . "narrow")
(5433 . "nastily") (5434 . "nastiness") (5435 . "national")
(5436 . "mocker") (5437 . "mobile") (5438 . "mobility")
(5439 . "mobilize") (5440 . "mobster") (5441 . "mocha")
(5442 . "matching") (5443 . "mastiff") (5444 . "matador")
(5445 . "matchbook") (5446 . "matchbox") (5447 . "matcher")
(5448 . "mating") (5449 . "matchless") (5450 . "material")
(5451 . "maternal") (5452 . "maternity") (5453 . "math")
(5454 . "matter") (5455 . "matriarch") (5456 . "matrimony")
(5457 . "matrix") (5458 . "matron") (5459 . "matted")
(5460 . "maximize") (5461 . "maturely") (5462 . "maturing")
(5463 . "maturity") (5464 . "mauve") (5465 . "maverick")
(5466 . "moaning") (5467 . "maximum") (5468 . "maybe")
(5469 . "mayday") (5470 . "mayflower") (5471 . "moaner")
(5472 . "monoxide") (5473 . "monologue") (5474 . "monopoly")
(5475 . "monorail") (5476 . "monotone") (5477 . "monotype")
(5478 . "module") (5479 . "mockup") (5480 . "modified")
(5481 . "modify") (5482 . "modular") (5483 . "modulator")
(5484 . "mold") (5485 . "moisten") (5486 . "moistness")
(5487 . "moisture") (5488 . "molar") (5489 . "molasses")
(5490 . "monastery") (5491 . "molecular") (5492 . "molecule")
(5493 . "molehill") (5494 . "mollusk") (5495 . "mom")
(5496 . "moneywise") (5497 . "monday") (5498 . "monetary")
(5499 . "monetize") (5500 . "moneybags") (5501 . "moneyless")
(5502 . "monogram") (5503 . "mongoose") (5504 . "mongrel")
(5505 . "monitor") (5506 . "monkhood") (5507 . "monogamy")
(5508 . "mossy") (5509 . "mortician") (5510 . "mortified")
(5511 . "mortify") (5512 . "mortuary") (5513 . "mosaic")
(5514 . "moocher") (5515 . "monsieur") (5516 . "monsoon")
(5517 . "monstrous") (5518 . "monthly") (5519 . "monument")
(5520 . "moonlight") (5521 . "moodiness") (5522 . "moody")
(5523 . "mooing") (5524 . "moonbeam") (5525 . "mooned")
(5526 . "moonstone") (5527 . "moonlike") (5528 . "moonlit")
(5529 . "moonrise") (5530 . "moonscape") (5531 . "moonshine")
(5532 . "morbidity") (5533 . "moonwalk") (5534 . "mop")
(5535 . "morale") (5536 . "morality") (5537 . "morally")
(5538 . "mortally") (5539 . "morbidly") (5540 . "morphine")
(5541 . "morphing") (5542 . "morse") (5543 . "mortality")
(5544 . "mullets") (5545 . "mug") (5546 . "mulberry")
(5547 . "mulch") (5548 . "mule") (5549 . "mulled")
(5550 . "motivator") (5551 . "most") (5552 . "mothball")
(5553 . "mothproof") (5554 . "motion") (5555 . "motivate")
(5556 . "mountain") (5557 . "motive") (5558 . "motocross")
(5559 . "motor") (5560 . "motto") (5561 . "mountable")
(5562 . "mousiness") (5563 . "mounted") (5564 . "mounting")
(5565 . "mourner") (5566 . "mournful") (5567 . "mouse")
(5568 . "movie") (5569 . "moustache") (5570 . "mousy")
(5571 . "mouth") (5572 . "movable") (5573 . "move")
(5574 . "mud") (5575 . "moving") (5576 . "mower")
(5577 . "mowing") (5578 . "much") (5579 . "muck")
(5580 . "mutate") (5581 . "mustard") (5582 . "muster")
(5583 . "mustiness") (5584 . "musty") (5585 . "mutable")
(5586 . "mumbling") (5587 . "multiple") (5588 . "multiply")
(5589 . "multitask") (5590 . "multitude") (5591 . "mumble")
(5592 . "munchkin") (5593 . "mumbo") (5594 . "mummified")
(5595 . "mummify") (5596 . "mummy") (5597 . "mumps")
(5598 . "murky") (5599 . "mundane") (5600 . "municipal")
(5601 . "muppet") (5602 . "mural") (5603 . "murkiness")
(5604 . "mushroom") (5605 . "murmuring") (5606 . "muscular")
(5607 . "museum") (5608 . "mushily") (5609 . "mushiness")
(5610 . "mustang") (5611 . "mushy") (5612 . "music")
(5613 . "musket") (5614 . "muskiness") (5615 . "musky")
(5616 . "outsmart") (5617 . "outsell") (5618 . "outshine")
(5619 . "outshoot") (5620 . "outsider") (5621 . "outskirts")
(5622 . "outer") (5623 . "outcast") (5624 . "outclass")
(5625 . "outcome") (5626 . "outdated") (5627 . "outdoors")
(5628 . "outhouse") (5629 . "outfield") (5630 . "outfit")
(5631 . "outflank") (5632 . "outgoing") (5633 . "outgrow")
(5634 . "outlying") (5635 . "outing") (5636 . "outlast")
(5637 . "outlet") (5638 . "outline") (5639 . "outlook")
(5640 . "outpour") (5641 . "outmatch") (5642 . "outmost")
(5643 . "outnumber") (5644 . "outplayed") (5645 . "outpost")
(5646 . "outscore") (5647 . "output") (5648 . "outrage")
(5649 . "outrank") (5650 . "outreach") (5651 . "outright")
(5652 . "nibble") (5653 . "neurotic") (5654 . "neuter")
(5655 . "neutron") (5656 . "never") (5657 . "next")
(5658 . "nearness") (5659 . "navigator") (5660 . "navy")
(5661 . "nearby") (5662 . "nearest") (5663 . "nearly")
(5664 . "negate") (5665 . "neatly") (5666 . "neatness")
(5667 . "nebula") (5668 . "nebulizer") (5669 . "nectar")
(5670 . "negotiate") (5671 . "negation") (5672 . "negative")
(5673 . "neglector") (5674 . "negligee") (5675 . "negligent")
(5676 . "nervous") (5677 . "nemeses") (5678 . "nemesis")
(5679 . "neon") (5680 . "nephew") (5681 . "nerd")
(5682 . "neurosis") (5683 . "nervy") (5684 . "nest")
(5685 . "net") (5686 . "neurology") (5687 . "neuron")
(5688 . "nutty") (5689 . "nutlike") (5690 . "nutmeg")
(5691 . "nutrient") (5692 . "nutshell") (5693 . "nuttiness")
(5694 . "nimbly") (5695 . "nickname") (5696 . "nicotine")
(5697 . "niece") (5698 . "nifty") (5699 . "nimble")
(5700 . "nuclear") (5701 . "nineteen") (5702 . "ninetieth")
(5703 . "ninja") (5704 . "nintendo") (5705 . "ninth")
(5706 . "numbing") (5707 . "nuclei") (5708 . "nucleus")
(5709 . "nugget") (5710 . "nullify") (5711 . "number")
(5712 . "numeric") (5713 . "numbly") (5714 . "numbness")
(5715 . "numeral") (5716 . "numerate") (5717 . "numerator")
(5718 . "nutcase") (5719 . "numerous") (5720 . "nuptials")
(5721 . "nursery") (5722 . "nursing") (5723 . "nurture")
(5724 . "occupant") (5725 . "obtrusive") (5726 . "obtuse")
(5727 . "obvious") (5728 . "occultist") (5729 . "occupancy")
(5730 . "oat") (5731 . "nuzzle") (5732 . "nylon")
(5733 . "oaf") (5734 . "oak") (5735 . "oasis")
(5736 . "obliged") (5737 . "obedience") (5738 . "obedient")
(5739 . "obituary") (5740 . "object") (5741 . "obligate")
(5742 . "obscure") (5743 . "oblivion") (5744 . "oblivious")
(5745 . "oblong") (5746 . "obnoxious") (5747 . "oboe")
(5748 . "obsession") (5749 . "obscurity") (5750 . "observant")
(5751 . "observer") (5752 . "observing") (5753 . "obsessed")
(5754 . "obtain") (5755 . "obsessive") (5756 . "obsolete")
(5757 . "obstacle") (5758 . "obstinate") (5759 . "obstruct")
(5760 . "onward") (5761 . "onset") (5762 . "onshore")
(5763 . "onslaught") (5764 . "onstage") (5765 . "onto")
(5766 . "octane") (5767 . "occupier") (5768 . "occupy")
(5769 . "ocean") (5770 . "ocelot") (5771 . "octagon")
(5772 . "ointment") (5773 . "october") (5774 . "octopus")
(5775 . "ogle") (5776 . "oil") (5777 . "oink") (5778 . "omen")
(5779 . "okay") (5780 . "old") (5781 . "olive")
(5782 . "olympics") (5783 . "omega") (5784 . "oncoming")
(5785 . "ominous") (5786 . "omission") (5787 . "omit")
(5788 . "omnivore") (5789 . "onboard") (5790 . "onscreen")
(5791 . "ongoing") (5792 . "onion") (5793 . "online")
(5794 . "onlooker") (5795 . "only") (5796 . "outburst")
(5797 . "outback") (5798 . "outbid") (5799 . "outboard")
(5800 . "outbound") (5801 . "outbreak") (5802 . "opal")
(5803 . "onyx") (5804 . "oops") (5805 . "ooze") (5806 . "oozy")
(5807 . "opacity") (5808 . "operative") (5809 . "open")
(5810 . "operable") (5811 . "operate") (5812 . "operating")
(5813 . "operation") (5814 . "opposing") (5815 . "operator")
(5816 . "opium") (5817 . "opossum") (5818 . "opponent")
(5819 . "oppose") (5820 . "osmosis") (5821 . "opposite")
(5822 . "oppressed") (5823 . "oppressor") (5824 . "opt")
(5825 . "opulently") (5826 . "outage") (5827 . "other")
(5828 . "otter") (5829 . "ouch") (5830 . "ought")
(5831 . "ounce") (5832 . "patience") (5833 . "patchwork")
(5834 . "patchy") (5835 . "paternal") (5836 . "paternity")
(5837 . "path") (5838 . "partly") (5839 . "parsnip")
(5840 . "partake") (5841 . "parted") (5842 . "parting")
(5843 . "partition") (5844 . "passage") (5845 . "partner")
(5846 . "partridge") (5847 . "party") (5848 . "passable")
(5849 . "passably") (5850 . "passive") (5851 . "passcode")
(5852 . "passenger") (5853 . "passerby") (5854 . "passing")
(5855 . "passion") (5856 . "pasted") (5857 . "passivism")
(5858 . "passover") (5859 . "passport") (5860 . "password")
(5861 . "pasta") (5862 . "pasty") (5863 . "pastel")
(5864 . "pastime") (5865 . "pastor") (5866 . "pastrami")
(5867 . "pasture") (5868 . "overfill") (5869 . "overeager")
(5870 . "overeater") (5871 . "overexert") (5872 . "overfed")
(5873 . "overfeed") (5874 . "outweigh") (5875 . "outsource")
(5876 . "outspoken") (5877 . "outtakes") (5878 . "outthink")
(5879 . "outward") (5880 . "overall") (5881 . "outwit")
(5882 . "oval") (5883 . "ovary") (5884 . "oven")
(5885 . "overact") (5886 . "overboard") (5887 . "overarch")
(5888 . "overbid") (5889 . "overbill") (5890 . "overbite")
(5891 . "overblown") (5892 . "overcook") (5893 . "overbook")
(5894 . "overbuilt") (5895 . "overcast") (5896 . "overcoat")
(5897 . "overcome") (5898 . "overdue") (5899 . "overcrowd")
(5900 . "overdraft") (5901 . "overdrawn") (5902 . "overdress")
(5903 . "overdrive") (5904 . "overshot") (5905 . "override")
(5906 . "overripe") (5907 . "overrule") (5908 . "overrun")
(5909 . "overshoot") (5910 . "overhaul") (5911 . "overflow")
(5912 . "overfull") (5913 . "overgrown") (5914 . "overhand")
(5915 . "overhang") (5916 . "overkill") (5917 . "overhead")
(5918 . "overhear") (5919 . "overheat") (5920 . "overhung")
(5921 . "overjoyed") (5922 . "overlook") (5923 . "overlabor")
(5924 . "overlaid") (5925 . "overlap") (5926 . "overlay")
(5927 . "overload") (5928 . "overplant") (5929 . "overlord")
(5930 . "overlying") (5931 . "overnight") (5932 . "overpass")
(5933 . "overpay") (5934 . "overreact") (5935 . "overplay")
(5936 . "overpower") (5937 . "overprice") (5938 . "overrate")
(5939 . "overreach") (5940 . "pacifier") (5941 . "oyster")
(5942 . "ozone") (5943 . "paced") (5944 . "pacemaker")
(5945 . "pacific") (5946 . "overstate") (5947 . "oversight")
(5948 . "oversized") (5949 . "oversleep") (5950 . "oversold")
(5951 . "overspend") (5952 . "overtake") (5953 . "overstay")
(5954 . "overstep") (5955 . "overstock") (5956 . "overstuff")
(5957 . "oversweet") (5958 . "overturn") (5959 . "overthrow")
(5960 . "overtime") (5961 . "overtly") (5962 . "overtone")
(5963 . "overture") (5964 . "oxford") (5965 . "overuse")
(5966 . "overvalue") (5967 . "overview") (5968 . "overwrite")
(5969 . "owl") (5970 . "oxymoron") (5971 . "oxidant")
(5972 . "oxidation") (5973 . "oxidize") (5974 . "oxidizing")
(5975 . "oxygen") (5976 . "pantry") (5977 . "panning")
(5978 . "panorama") (5979 . "panoramic") (5980 . "panther")
(5981 . "pantomime") (5982 . "paddle") (5983 . "pacifism")
(5984 . "pacifist") (5985 . "pacify") (5986 . "padded")
(5987 . "padding") (5988 . "pajamas") (5989 . "paddling")
(5990 . "padlock") (5991 . "pagan") (5992 . "pager")
(5993 . "paging") (5994 . "paltry") (5995 . "palace")
(5996 . "palatable") (5997 . "palm") (5998 . "palpable")
(5999 . "palpitate") (6000 . "pancake") (6001 . "pampered")
(6002 . "pamperer") (6003 . "pampers") (6004 . "pamphlet")
(6005 . "panama") (6006 . "panic") (6007 . "pancreas")
(6008 . "panda") (6009 . "pandemic") (6010 . "pang")
(6011 . "panhandle") (6012 . "parsley") (6013 . "parkway")
(6014 . "parlor") (6015 . "parmesan") (6016 . "parole")
(6017 . "parrot") (6018 . "paprika") (6019 . "pants")
(6020 . "pantyhose") (6021 . "paparazzi") (6022 . "papaya")
(6023 . "paper") (6024 . "paragraph") (6025 . "papyrus")
(6026 . "parabola") (6027 . "parachute") (6028 . "parade")
(6029 . "paradox") (6030 . "paramedic") (6031 . "parakeet")
(6032 . "paralegal") (6033 . "paralyses") (6034 . "paralysis")
(6035 . "paralyze") (6036 . "parcel") (6037 . "parameter")
(6038 . "paramount") (6039 . "parasail") (6040 . "parasite")
(6041 . "parasitic") (6042 . "parking") (6043 . "parched")
(6044 . "parchment") (6045 . "pardon") (6046 . "parish")
(6047 . "parka") (6048 . "postage") (6049 . "posh")
(6050 . "posing") (6051 . "possible") (6052 . "possibly")
(6053 . "possum") (6054 . "polymer") (6055 . "polka")
(6056 . "polo") (6057 . "polyester") (6058 . "polygon")
(6059 . "polygraph") (6060 . "poplar") (6061 . "poncho")
(6062 . "pond") (6063 . "pony") (6064 . "popcorn")
(6065 . "pope") (6066 . "populate") (6067 . "popper")
(6068 . "poppy") (6069 . "popsicle") (6070 . "populace")
(6071 . "popular") (6072 . "portal") (6073 . "porcupine")
(6074 . "pork") (6075 . "porous") (6076 . "porridge")
(6077 . "portable") (6078 . "poser") (6079 . "portfolio")
(6080 . "porthole") (6081 . "portion") (6082 . "portly")
(6083 . "portside") (6084 . "pelican") (6085 . "pediatric")
(6086 . "pedicure") (6087 . "pedigree") (6088 . "pedometer")
(6089 . "pegboard") (6090 . "patronage") (6091 . "patient")
(6092 . "patio") (6093 . "patriarch") (6094 . "patriot")
(6095 . "patrol") (6096 . "pavilion") (6097 . "patronize")
(6098 . "pauper") (6099 . "pavement") (6100 . "paver")
(6101 . "pavestone") (6102 . "payday") (6103 . "paving")
(6104 . "pawing") (6105 . "payable") (6106 . "payback")
(6107 . "paycheck") (6108 . "payroll") (6109 . "payee")
(6110 . "payer") (6111 . "paying") (6112 . "payment")
(6113 . "payphone") (6114 . "peddling") (6115 . "pebble")
(6116 . "pebbly") (6117 . "pecan") (6118 . "pectin")
(6119 . "peculiar") (6120 . "perplexed") (6121 . "perkiness")
(6122 . "perky") (6123 . "perm") (6124 . "peroxide")
(6125 . "perpetual") (6126 . "pencil") (6127 . "pellet")
(6128 . "pelt") (6129 . "pelvis") (6130 . "penalize")
(6131 . "penalty") (6132 . "penniless") (6133 . "pendant")
(6134 . "pending") (6135 . "penholder") (6136 . "penknife")
(6137 . "pennant") (6138 . "pep") (6139 . "penny")
(6140 . "penpal") (6141 . "pension") (6142 . "pentagon")
(6143 . "pentagram") (6144 . "perfected") (6145 . "perceive")
(6146 . "percent") (6147 . "perch") (6148 . "percolate")
(6149 . "perennial") (6150 . "perjury") (6151 . "perfectly")
(6152 . "perfume") (6153 . "periscope") (6154 . "perish")
(6155 . "perjurer") (6156 . "plank") (6157 . "phrase")
(6158 . "phrasing") (6159 . "placard") (6160 . "placate")
(6161 . "placidly") (6162 . "peso") (6163 . "persecute")
(6164 . "persevere") (6165 . "persuaded") (6166 . "persuader")
(6167 . "pesky") (6168 . "petite") (6169 . "pessimism")
(6170 . "pessimist") (6171 . "pester") (6172 . "pesticide")
(6173 . "petal") (6174 . "pettiness") (6175 . "petition")
(6176 . "petri") (6177 . "petroleum") (6178 . "petted")
(6179 . "petticoat") (6180 . "phonebook") (6181 . "petty")
(6182 . "petunia") (6183 . "phantom") (6184 . "phobia")
(6185 . "phoenix") (6186 . "photo") (6187 . "phoney")
(6188 . "phonics") (6189 . "phoniness") (6190 . "phony")
(6191 . "phosphate") (6192 . "plenty") (6193 . "plaza")
(6194 . "pleading") (6195 . "pleat") (6196 . "pledge")
(6197 . "plentiful") (6198 . "plated") (6199 . "planner")
(6200 . "plant") (6201 . "plasma") (6202 . "plaster")
(6203 . "plastic") (6204 . "platypus") (6205 . "platform")
(6206 . "plating") (6207 . "platinum") (6208 . "platonic")
(6209 . "platter") (6210 . "playful") (6211 . "plausible")
(6212 . "plausibly") (6213 . "playable") (6214 . "playback")
(6215 . "player") (6216 . "playmate") (6217 . "playgroup")
(6218 . "playhouse") (6219 . "playing") (6220 . "playlist")
(6221 . "playmaker") (6222 . "playtime") (6223 . "playoff")
(6224 . "playpen") (6225 . "playroom") (6226 . "playset")
(6227 . "plaything") (6228 . "politely") (6229 . "polar")
(6230 . "police") (6231 . "policy") (6232 . "polio")
(6233 . "polish") (6234 . "plot") (6235 . "plethora")
(6236 . "plexiglas") (6237 . "pliable") (6238 . "plod")
(6239 . "plop") (6240 . "plunging") (6241 . "plow")
(6242 . "ploy") (6243 . "pluck") (6244 . "plug")
(6245 . "plunder") (6246 . "pod") (6247 . "plural")
(6248 . "plus") (6249 . "plutonium") (6250 . "plywood")
(6251 . "poach") (6252 . "pointing") (6253 . "poem")
(6254 . "poet") (6255 . "pogo") (6256 . "pointed")
(6257 . "pointer") (6258 . "poking") (6259 . "pointless")
(6260 . "pointy") (6261 . "poise") (6262 . "poison")
(6263 . "poker") (6264 . "purely") (6265 . "puppet")
(6266 . "puppy") (6267 . "purchase") (6268 . "pureblood")
(6269 . "purebred") (6270 . "pruning") (6271 . "proxy")
(6272 . "prozac") (6273 . "prude") (6274 . "prudishly")
(6275 . "prune") (6276 . "pueblo") (6277 . "pry")
(6278 . "psychic") (6279 . "public") (6280 . "publisher")
(6281 . "pucker") (6282 . "pulse") (6283 . "pug")
(6284 . "pull") (6285 . "pulmonary") (6286 . "pulp")
(6287 . "pulsate") (6288 . "punctual") (6289 . "pulverize")
(6290 . "puma") (6291 . "pumice") (6292 . "pummel")
(6293 . "punch") (6294 . "pupil") (6295 . "punctuate")
(6296 . "punctured") (6297 . "pungent") (6298 . "punisher")
(6299 . "punk") (6300 . "precision") (6301 . "preaching")
(6302 . "preachy") (6303 . "preamble") (6304 . "precinct")
(6305 . "precise") (6306 . "posting") (6307 . "postal")
(6308 . "postbox") (6309 . "postcard") (6310 . "posted")
(6311 . "poster") (6312 . "pouncing") (6313 . "postnasal")
(6314 . "posture") (6315 . "postwar") (6316 . "pouch")
(6317 . "pounce") (6318 . "powdery") (6319 . "pound")
(6320 . "pouring") (6321 . "pout") (6322 . "powdered")
(6323 . "powdering") (6324 . "prancing") (6325 . "power")
(6326 . "powwow") (6327 . "pox") (6328 . "praising")
(6329 . "prance") (6330 . "preacher") (6331 . "pranker")
(6332 . "prankish") (6333 . "prankster") (6334 . "prayer")
(6335 . "praying") (6336 . "presuming") (6337 . "preshow")
(6338 . "president") (6339 . "presoak") (6340 . "press")
(6341 . "presume") (6342 . "preface") (6343 . "precook")
(6344 . "precut") (6345 . "predator") (6346 . "predefine")
(6347 . "predict") (6348 . "pregnant") (6349 . "prefix")
(6350 . "preflight") (6351 . "preformed") (6352 . "pregame")
(6353 . "pregnancy") (6354 . "premises") (6355 . "preheated")
(6356 . "prelaunch") (6357 . "prelaw") (6358 . "prelude")
(6359 . "premiere") (6360 . "prepay") (6361 . "premium")
(6362 . "prenatal") (6363 . "preoccupy") (6364 . "preorder")
(6365 . "prepaid") (6366 . "preset") (6367 . "preplan")
(6368 . "preppy") (6369 . "preschool") (6370 . "prescribe")
(6371 . "preseason") (6372 . "probably") (6373 . "private")
(6374 . "privatize") (6375 . "prize") (6376 . "proactive")
(6377 . "probable") (6378 . "pretty") (6379 . "preteen")
(6380 . "pretended") (6381 . "pretender") (6382 . "pretense")
(6383 . "pretext") (6384 . "previous") (6385 . "pretzel")
(6386 . "prevail") (6387 . "prevalent") (6388 . "prevent")
(6389 . "preview") (6390 . "primarily") (6391 . "prewar")
(6392 . "prewashed") (6393 . "prideful") (6394 . "pried")
(6395 . "primal") (6396 . "print") (6397 . "primary")
(6398 . "primate") (6399 . "primer") (6400 . "primp")
(6401 . "princess") (6402 . "privacy") (6403 . "prior")
(6404 . "prism") (6405 . "prison") (6406 . "prissy")
(6407 . "pristine") (6408 . "prong") (6409 . "promoter")
(6410 . "promotion") (6411 . "prompter") (6412 . "promptly")
(6413 . "prone") (6414 . "procedure") (6415 . "probation")
(6416 . "probe") (6417 . "probing") (6418 . "probiotic")
(6419 . "problem") (6420 . "prodigy") (6421 . "process")
(6422 . "proclaim") (6423 . "procreate") (6424 . "procurer")
(6425 . "prodigal") (6426 . "professor") (6427 . "produce")
(6428 . "product") (6429 . "profane") (6430 . "profanity")
(6431 . "professed") (6432 . "program") (6433 . "profile")
(6434 . "profound") (6435 . "profusely") (6436 . "progeny")
(6437 . "prognosis") (6438 . "prominent") (6439 . "progress")
(6440 . "projector") (6441 . "prologue") (6442 . "prolonged")
(6443 . "promenade") (6444 . "proximity") (6445 . "provoking")
(6446 . "provolone") (6447 . "prowess") (6448 . "prowler")
(6449 . "prowling") (6450 . "propeller") (6451 . "pronounce")
(6452 . "pronto") (6453 . "proofing") (6454 . "proofread")
(6455 . "proofs") (6456 . "props") (6457 . "properly")
(6458 . "property") (6459 . "proponent") (6460 . "proposal")
(6461 . "propose") (6462 . "protozoan") (6463 . "prorate")
(6464 . "protector") (6465 . "protegee") (6466 . "proton")
(6467 . "prototype") (6468 . "proven") (6469 . "protract")
(6470 . "protrude") (6471 . "proud") (6472 . "provable")
(6473 . "proved") (6474 . "provoke") (6475 . "provided")
(6476 . "provider") (6477 . "providing") (6478 . "province")
(6479 . "proving") (6480 . "subdued") (6481 . "stylus")
(6482 . "suave") (6483 . "subarctic") (6484 . "subatomic")
(6485 . "subdivide") (6486 . "stubborn") (6487 . "strung")
(6488 . "strut") (6489 . "stubbed") (6490 . "stubble")
(6491 . "stubbly") (6492 . "study") (6493 . "stucco")
(6494 . "stuck") (6495 . "student") (6496 . "studied")
(6497 . "studio") (6498 . "stump") (6499 . "stuffed")
(6500 . "stuffing") (6501 . "stuffy") (6502 . "stumble")
(6503 . "stumbling") (6504 . "stupor") (6505 . "stung")
(6506 . "stunned") (6507 . "stunner") (6508 . "stunning")
(6509 . "stunt") (6510 . "stylized") (6511 . "sturdily")
(6512 . "sturdy") (6513 . "styling") (6514 . "stylishly")
(6515 . "stylist") (6516 . "staring") (6517 . "starch")
(6518 . "stardom") (6519 . "stardust") (6520 . "starfish")
(6521 . "stargazer") (6522 . "stabilize") (6523 . "squire")
(6524 . "squirt") (6525 . "squishier") (6526 . "squishy")
(6527 . "stability") (6528 . "staging") (6529 . "stable")
(6530 . "stack") (6531 . "stadium") (6532 . "staff")
(6533 . "stage") (6534 . "stainless") (6535 . "stagnant")
(6536 . "stagnate") (6537 . "stainable") (6538 . "stained")
(6539 . "staining") (6540 . "stammer") (6541 . "stalemate")
(6542 . "staleness") (6543 . "stalling") (6544 . "stallion")
(6545 . "stamina") (6546 . "starboard") (6547 . "stamp")
(6548 . "stand") (6549 . "stank") (6550 . "staple")
(6551 . "stapling") (6552 . "steersman") (6553 . "steam")
(6554 . "steed") (6555 . "steep") (6556 . "steerable")
(6557 . "steering") (6558 . "starring") (6559 . "stark")
(6560 . "starless") (6561 . "starlet") (6562 . "starlight")
(6563 . "starlit") (6564 . "startling") (6565 . "starry")
(6566 . "starship") (6567 . "starter") (6568 . "starting")
(6569 . "startle") (6570 . "static") (6571 . "startup")
(6572 . "starved") (6573 . "starving") (6574 . "stash")
(6575 . "state") (6576 . "statutory") (6577 . "statistic")
(6578 . "statue") (6579 . "stature") (6580 . "status")
(6581 . "statute") (6582 . "steadying") (6583 . "staunch")
(6584 . "stays") (6585 . "steadfast") (6586 . "steadier")
(6587 . "steadily") (6588 . "stir") (6589 . "stingy")
(6590 . "stinking") (6591 . "stinky") (6592 . "stipend")
(6593 . "stipulate") (6594 . "step") (6595 . "stegosaur")
(6596 . "stellar") (6597 . "stem") (6598 . "stench")
(6599 . "stencil") (6600 . "sternness") (6601 . "stereo")
(6602 . "sterile") (6603 . "sterility") (6604 . "sterilize")
(6605 . "sterling") (6606 . "stiffness") (6607 . "sternum")
(6608 . "stew") (6609 . "stick") (6610 . "stiffen")
(6611 . "stiffly") (6612 . "stimulate") (6613 . "stifle")
(6614 . "stifling") (6615 . "stillness") (6616 . "stilt")
(6617 . "stimulant") (6618 . "stingray") (6619 . "stimuli")
(6620 . "stimulus") (6621 . "stinger") (6622 . "stingily")
(6623 . "stinging") (6624 . "straining") (6625 . "stowing")
(6626 . "straddle") (6627 . "straggler") (6628 . "strained")
(6629 . "strainer") (6630 . "stomp") (6631 . "stitch")
(6632 . "stock") (6633 . "stoic") (6634 . "stoke")
(6635 . "stole") (6636 . "stood") (6637 . "stonewall")
(6638 . "stoneware") (6639 . "stonework") (6640 . "stoning")
(6641 . "stony") (6642 . "stoppage") (6643 . "stooge")
(6644 . "stool") (6645 . "stoop") (6646 . "stoplight")
(6647 . "stoppable") (6648 . "storage") (6649 . "stopped")
(6650 . "stopper") (6651 . "stopping") (6652 . "stopwatch")
(6653 . "storable") (6654 . "stowaway") (6655 . "storeroom")
(6656 . "storewide") (6657 . "storm") (6658 . "stout")
(6659 . "stove") (6660 . "strum") (6661 . "strongman")
(6662 . "struck") (6663 . "structure") (6664 . "strudel")
(6665 . "struggle") (6666 . "stratus") (6667 . "strangely")
(6668 . "stranger") (6669 . "strangle") (6670 . "strategic")
(6671 . "strategy") (6672 . "strength") (6673 . "straw")
(6674 . "stray") (6675 . "streak") (6676 . "stream")
(6677 . "street") (6678 . "stricken") (6679 . "strenuous")
(6680 . "strep") (6681 . "stress") (6682 . "stretch")
(6683 . "strewn") (6684 . "strive") (6685 . "strict")
(6686 . "stride") (6687 . "strife") (6688 . "strike")
(6689 . "striking") (6690 . "strongly") (6691 . "striving")
(6692 . "strobe") (6693 . "strode") (6694 . "stroller")
(6695 . "strongbox") (6696 . "return") (6697 . "retreat")
(6698 . "retrial") (6699 . "retrieval") (6700 . "retriever")
(6701 . "retry") (6702 . "resubmit") (6703 . "resonant")
(6704 . "resonate") (6705 . "resort") (6706 . "resource")
(6707 . "respect") (6708 . "retail") (6709 . "result")
(6710 . "resume") (6711 . "resupply") (6712 . "resurface")
(6713 . "resurrect") (6714 . "rethink") (6715 . "retainer")
(6716 . "retaining") (6717 . "retake") (6718 . "retaliate")
(6719 . "retention") (6720 . "retool") (6721 . "retinal")
(6722 . "retired") (6723 . "retiree") (6724 . "retiring")
(6725 . "retold") (6726 . "retread") (6727 . "retorted")
(6728 . "retouch") (6729 . "retrace") (6730 . "retract")
(6731 . "retrain") (6732 . "reheat") (6733 . "regroup")
(6734 . "regular") (6735 . "regulate") (6736 . "regulator")
(6737 . "rehab") (6738 . "refract") (6739 . "reforest")
(6740 . "reformat") (6741 . "reformed") (6742 . "reformer")
(6743 . "reformist") (6744 . "refund") (6745 . "refrain")
(6746 . "refreeze") (6747 . "refresh") (6748 . "refried")
(6749 . "refueling") (6750 . "refutable") (6751 . "refurbish")
(6752 . "refurnish") (6753 . "refusal") (6754 . "refuse")
(6755 . "refusing") (6756 . "regime") (6757 . "refute")
(6758 . "regain") (6759 . "regalia") (6760 . "regally")
(6761 . "reggae") (6762 . "regretful") (6763 . "region")
(6764 . "register") (6765 . "registrar") (6766 . "registry")
(6767 . "regress") (6768 . "remake") (6769 . "reload")
(6770 . "relocate") (6771 . "relock") (6772 . "reluctant")
(6773 . "rely") (6774 . "rejoice") (6775 . "rehire")
(6776 . "rehydrate") (6777 . "reimburse") (6778 . "reissue")
(6779 . "reiterate") (6780 . "relatable") (6781 . "rejoicing")
(6782 . "rejoin") (6783 . "rekindle") (6784 . "relapse")
(6785 . "relapsing") (6786 . "relearn") (6787 . "related")
(6788 . "relation") (6789 . "relative") (6790 . "relax")
(6791 . "relay") (6792 . "reliant") (6793 . "release")
(6794 . "relenting") (6795 . "reliable") (6796 . "reliably")
(6797 . "reliance") (6798 . "relive") (6799 . "relic")
(6800 . "relieve") (6801 . "relieving") (6802 . "relight")
(6803 . "relish") (6804 . "renter") (6805 . "renovate")
(6806 . "renovator") (6807 . "rentable") (6808 . "rental")
(6809 . "rented") (6810 . "remember") (6811 . "remark")
(6812 . "remarry") (6813 . "rematch") (6814 . "remedial")
(6815 . "remedy") (6816 . "remodeler") (6817 . "reminder")
(6818 . "remindful") (6819 . "remission") (6820 . "remix")
(6821 . "remnant") (6822 . "removed") (6823 . "remold")
(6824 . "remorse") (6825 . "remote") (6826 . "removable")
(6827 . "removal") (6828 . "rendition") (6829 . "remover")
(6830 . "removing") (6831 . "rename") (6832 . "renderer")
(6833 . "rendering") (6834 . "renounce") (6835 . "renegade")
(6836 . "renewable") (6837 . "renewably") (6838 . "renewal")
(6839 . "renewed") (6840 . "repugnant") (6841 . "reproduce")
(6842 . "reprogram") (6843 . "reps") (6844 . "reptile")
(6845 . "reptilian") (6846 . "repacking") (6847 . "reoccupy")
(6848 . "reoccur") (6849 . "reopen") (6850 . "reorder")
(6851 . "repackage") (6852 . "repeal") (6853 . "repaint")
(6854 . "repair") (6855 . "repave") (6856 . "repaying")
(6857 . "repayment") (6858 . "replay") (6859 . "repeated")
(6860 . "repeater") (6861 . "repent") (6862 . "rephrase")
(6863 . "replace") (6864 . "repost") (6865 . "replica")
(6866 . "reply") (6867 . "reporter") (6868 . "repose")
(6869 . "repossess") (6870 . "reprocess") (6871 . "repressed")
(6872 . "reprimand") (6873 . "reprint") (6874 . "reprise")
(6875 . "reproach") (6876 . "resolved") (6877 . "resilient")
(6878 . "resistant") (6879 . "resisting") (6880 . "resize")
(6881 . "resolute") (6882 . "request") (6883 . "repulsion")
(6884 . "repulsive") (6885 . "repurpose") (6886 . "reputable")
(6887 . "reputably") (6888 . "resample") (6889 . "require")
(6890 . "requisite") (6891 . "reroute") (6892 . "rerun")
(6893 . "resale") (6894 . "resemble") (6895 . "rescuer")
(6896 . "reseal") (6897 . "research") (6898 . "reselect")
(6899 . "reseller") (6900 . "reshuffle") (6901 . "resend")
(6902 . "resent") (6903 . "reset") (6904 . "reshape")
(6905 . "reshoot") (6906 . "resigned") (6907 . "residence")
(6908 . "residency") (6909 . "resident") (6910 . "residual")
(6911 . "residue") (6912 . "santa") (6913 . "sandworm")
(6914 . "sandy") (6915 . "sanitary") (6916 . "sanitizer")
(6917 . "sank") (6918 . "salutary") (6919 . "saline")
(6920 . "salon") (6921 . "saloon") (6922 . "salsa")
(6923 . "salt") (6924 . "sample") (6925 . "salute")
(6926 . "salvage") (6927 . "salvaging") (6928 . "salvation")
(6929 . "same") (6930 . "sandbag") (6931 . "sampling")
(6932 . "sanction") (6933 . "sanctity") (6934 . "sanctuary")
(6935 . "sandal") (6936 . "sandfish") (6937 . "sandbank")
(6938 . "sandbar") (6939 . "sandblast") (6940 . "sandbox")
(6941 . "sanded") (6942 . "sandstorm") (6943 . "sanding")
(6944 . "sandlot") (6945 . "sandpaper") (6946 . "sandpit")
(6947 . "sandstone") (6948 . "rewire") (6949 . "revolver")
(6950 . "revolving") (6951 . "reward") (6952 . "rewash")
(6953 . "rewind") (6954 . "reuse") (6955 . "retying")
(6956 . "retype") (6957 . "reunion") (6958 . "reunite")
(6959 . "reusable") (6960 . "revered") (6961 . "reveal")
(6962 . "reveler") (6963 . "revenge") (6964 . "revenue")
(6965 . "reverb") (6966 . "reversion") (6967 . "reverence")
(6968 . "reverend") (6969 . "reversal") (6970 . "reverse")
(6971 . "reversing") (6972 . "revivable") (6973 . "revert")
(6974 . "revisable") (6975 . "revise") (6976 . "revision")
(6977 . "revisit") (6978 . "revolt") (6979 . "revival")
(6980 . "reviver") (6981 . "reviving") (6982 . "revocable")
(6983 . "revoke") (6984 . "riptide") (6985 . "ripeness")
(6986 . "ripening") (6987 . "ripping") (6988 . "ripple")
(6989 . "rippling") (6990 . "ribbon") (6991 . "reword")
(6992 . "rework") (6993 . "rewrap") (6994 . "rewrite")
(6995 . "rhyme") (6996 . "rickety") (6997 . "ribcage")
(6998 . "rice") (6999 . "riches") (7000 . "richly")
(7001 . "richness") (7002 . "rifling") (7003 . "ricotta")
(7004 . "riddance") (7005 . "ridden") (7006 . "ride")
(7007 . "riding") (7008 . "rimmed") (7009 . "rift")
(7010 . "rigging") (7011 . "rigid") (7012 . "rigor")
(7013 . "rimless") (7014 . "ripcord") (7015 . "rind")
(7016 . "rink") (7017 . "rinse") (7018 . "rinsing")
(7019 . "riot") (7020 . "roping") (7021 . "rocky")
(7022 . "rogue") (7023 . "roman") (7024 . "romp")
(7025 . "rope") (7026 . "ritzy") (7027 . "rise")
(7028 . "rising") (7029 . "risk") (7030 . "risotto")
(7031 . "ritalin") (7032 . "riveter") (7033 . "rival")
(7034 . "riverbank") (7035 . "riverbed") (7036 . "riverboat")
(7037 . "riverside") (7038 . "robe") (7039 . "riveting")
(7040 . "roamer") (7041 . "roaming") (7042 . "roast")
(7043 . "robbing") (7044 . "rocket") (7045 . "robin")
(7046 . "robotics") (7047 . "robust") (7048 . "rockband")
(7049 . "rocker") (7050 . "rockstar") (7051 . "rockfish")
(7052 . "rockiness") (7053 . "rocking") (7054 . "rocklike")
(7055 . "rockslide") (7056 . "runny") (7057 . "rumor")
(7058 . "runaround") (7059 . "rundown") (7060 . "runner")
(7061 . "running") (7062 . "roulette") (7063 . "roster")
(7064 . "rosy") (7065 . "rotten") (7066 . "rotting")
(7067 . "rotunda") (7068 . "routine") (7069 . "rounding")
(7070 . "roundish") (7071 . "roundness") (7072 . "roundup")
(7073 . "roundworm") (7074 . "rubber") (7075 . "routing")
(7076 . "rover") (7077 . "roving") (7078 . "royal")
(7079 . "rubbed") (7080 . "rudder") (7081 . "rubbing")
(7082 . "rubble") (7083 . "rubdown") (7084 . "ruby")
(7085 . "ruckus") (7086 . "rummage") (7087 . "rug")
(7088 . "ruined") (7089 . "rule") (7090 . "rumble")
(7091 . "rumbling") (7092 . "salary") (7093 . "saint")
(7094 . "sake") (7095 . "salad") (7096 . "salami")
(7097 . "salaried") (7098 . "rush") (7099 . "runt")
(7100 . "runway") (7101 . "rupture") (7102 . "rural")
(7103 . "ruse") (7104 . "sacred") (7105 . "rust")
(7106 . "rut") (7107 . "sabbath") (7108 . "sabotage")
(7109 . "sacrament") (7110 . "sadly") (7111 . "sacrifice")
(7112 . "sadden") (7113 . "saddlebag") (7114 . "saddled")
(7115 . "saddling") (7116 . "safeness") (7117 . "sadness")
(7118 . "safari") (7119 . "safeguard") (7120 . "safehouse")
(7121 . "safely") (7122 . "said") (7123 . "saffron")
(7124 . "saga") (7125 . "sage") (7126 . "sagging")
(7127 . "saggy") (7128 . "shawl") (7129 . "sharpener")
(7130 . "sharper") (7131 . "sharpie") (7132 . "sharply")
(7133 . "sharpness") (7134 . "shabby") (7135 . "sevenfold")
(7136 . "seventeen") (7137 . "seventh") (7138 . "seventy")
(7139 . "severity") (7140 . "shadow") (7141 . "shack")
(7142 . "shaded") (7143 . "shadily") (7144 . "shadiness")
(7145 . "shading") (7146 . "shaking") (7147 . "shady")
(7148 . "shaft") (7149 . "shakable") (7150 . "shakily")
(7151 . "shakiness") (7152 . "shampoo") (7153 . "shaky")
(7154 . "shale") (7155 . "shallot") (7156 . "shallow")
(7157 . "shame") (7158 . "share") (7159 . "shamrock")
(7160 . "shank") (7161 . "shanty") (7162 . "shape")
(7163 . "shaping") (7164 . "scallop") (7165 . "scalded")
(7166 . "scalding") (7167 . "scale") (7168 . "scaling")
(7169 . "scallion") (7170 . "sardine") (7171 . "sapling")
(7172 . "sappiness") (7173 . "sappy") (7174 . "sarcasm")
(7175 . "sarcastic") (7176 . "satin") (7177 . "sash")
(7178 . "sasquatch") (7179 . "sassy") (7180 . "satchel")
(7181 . "satiable") (7182 . "sauciness") (7183 . "satirical")
(7184 . "satisfied") (7185 . "satisfy") (7186 . "saturate")
(7187 . "saturday") (7188 . "savings") (7189 . "saucy")
(7190 . "sauna") (7191 . "savage") (7192 . "savanna")
(7193 . "saved") (7194 . "scabby") (7195 . "savior")
(7196 . "savor") (7197 . "saxophone") (7198 . "say")
(7199 . "scabbed") (7200 . "scorebook") (7201 . "scone")
(7202 . "scoop") (7203 . "scooter") (7204 . "scope")
(7205 . "scorch") (7206 . "scant") (7207 . "scalping")
(7208 . "scam") (7209 . "scandal") (7210 . "scanner")
(7211 . "scanning") (7212 . "scarf") (7213 . "scapegoat")
(7214 . "scarce") (7215 . "scarcity") (7216 . "scarecrow")
(7217 . "scared") (7218 . "scenic") (7219 . "scarily")
(7220 . "scariness") (7221 . "scarring") (7222 . "scary")
(7223 . "scavenger") (7224 . "schnapps") (7225 . "schedule")
(7226 . "schematic") (7227 . "scheme") (7228 . "scheming")
(7229 . "schilling") (7230 . "scolding") (7231 . "scholar")
(7232 . "science") (7233 . "scientist") (7234 . "scion")
(7235 . "scoff") (7236 . "scuba") (7237 . "scrubbed")
(7238 . "scrubber") (7239 . "scruffy") (7240 . "scrunch")
(7241 . "scrutiny") (7242 . "scorn") (7243 . "scorecard")
(7244 . "scored") (7245 . "scoreless") (7246 . "scorer")
(7247 . "scoring") (7248 . "scouting") (7249 . "scorpion")
(7250 . "scotch") (7251 . "scoundrel") (7252 . "scoured")
(7253 . "scouring") (7254 . "scrambler") (7255 . "scouts")
(7256 . "scowling") (7257 . "scrabble") (7258 . "scraggly")
(7259 . "scrambled") (7260 . "scribe") (7261 . "scrap")
(7262 . "scratch") (7263 . "scrawny") (7264 . "screen")
(7265 . "scribble") (7266 . "scrounger") (7267 . "scribing")
(7268 . "scrimmage") (7269 . "script") (7270 . "scroll")
(7271 . "scrooge") (7272 . "semicolon") (7273 . "selector")
(7274 . "self") (7275 . "seltzer") (7276 . "semantic")
(7277 . "semester") (7278 . "secluded") (7279 . "scuff")
(7280 . "sculptor") (7281 . "sculpture") (7282 . "scurvy")
(7283 . "scuttle") (7284 . "sectional") (7285 . "secluding")
(7286 . "seclusion") (7287 . "second") (7288 . "secrecy")
(7289 . "secret") (7290 . "sedate") (7291 . "sector")
(7292 . "secular") (7293 . "securely") (7294 . "security")
(7295 . "sedan") (7296 . "segment") (7297 . "sedation")
(7298 . "sedative") (7299 . "sediment") (7300 . "seduce")
(7301 . "seducing") (7302 . "selective") (7303 . "seismic")
(7304 . "seizing") (7305 . "seldom") (7306 . "selected")
(7307 . "selection") (7308 . "setup") (7309 . "sessions")
(7310 . "setback") (7311 . "setting") (7312 . "settle")
(7313 . "settling") (7314 . "senator") (7315 . "semifinal")
(7316 . "seminar") (7317 . "semisoft") (7318 . "semisweet")
(7319 . "senate") (7320 . "sensitize") (7321 . "send")
(7322 . "senior") (7323 . "senorita") (7324 . "sensation")
(7325 . "sensitive") (7326 . "septum") (7327 . "sensually")
(7328 . "sensuous") (7329 . "sepia") (7330 . "september")
(7331 . "septic") (7332 . "serotonin") (7333 . "sequel")
(7334 . "sequence") (7335 . "sequester") (7336 . "series")
(7337 . "sermon") (7338 . "sesame") (7339 . "serpent")
(7340 . "serrated") (7341 . "serve") (7342 . "service")
(7343 . "serving") (7344 . "slinky") (7345 . "slightly")
(7346 . "slimness") (7347 . "slimy") (7348 . "slinging")
(7349 . "slingshot") (7350 . "slander") (7351 . "slacking")
(7352 . "slackness") (7353 . "slacks") (7354 . "slain")
(7355 . "slam") (7356 . "slate") (7357 . "slang")
(7358 . "slapping") (7359 . "slapstick") (7360 . "slashed")
(7361 . "slashing") (7362 . "sleet") (7363 . "slather")
(7364 . "slaw") (7365 . "sled") (7366 . "sleek")
(7367 . "sleep") (7368 . "slicing") (7369 . "sleeve")
(7370 . "slept") (7371 . "sliceable") (7372 . "sliced")
(7373 . "slicer") (7374 . "slighting") (7375 . "slick")
(7376 . "slider") (7377 . "slideshow") (7378 . "sliding")
(7379 . "slighted") (7380 . "shortcut") (7381 . "shopping")
(7382 . "shoptalk") (7383 . "shore") (7384 . "shortage")
(7385 . "shortcake") (7386 . "shell") (7387 . "sheath")
(7388 . "shed") (7389 . "sheep") (7390 . "sheet")
(7391 . "shelf") (7392 . "shifter") (7393 . "shelter")
(7394 . "shelve") (7395 . "shelving") (7396 . "sherry")
(7397 . "shield") (7398 . "shindig") (7399 . "shifting")
(7400 . "shiftless") (7401 . "shifty") (7402 . "shimmer")
(7403 . "shimmy") (7404 . "ship") (7405 . "shine")
(7406 . "shingle") (7407 . "shininess") (7408 . "shining")
(7409 . "shiny") (7410 . "shopper") (7411 . "shirt")
(7412 . "shivering") (7413 . "shock") (7414 . "shone")
(7415 . "shoplift") (7416 . "shrouded") (7417 . "shrill")
(7418 . "shrimp") (7419 . "shrine") (7420 . "shrink")
(7421 . "shrivel") (7422 . "shortness") (7423 . "shorten")
(7424 . "shorter") (7425 . "shorthand") (7426 . "shortlist")
(7427 . "shortly") (7428 . "showbiz") (7429 . "shorts")
(7430 . "shortwave") (7431 . "shorty") (7432 . "shout")
(7433 . "shove") (7434 . "showman") (7435 . "showcase")
(7436 . "showdown") (7437 . "shower") (7438 . "showgirl")
(7439 . "showing") (7440 . "showy") (7441 . "shown")
(7442 . "showoff") (7443 . "showpiece") (7444 . "showplace")
(7445 . "showroom") (7446 . "shriek") (7447 . "shrank")
(7448 . "shrapnel") (7449 . "shredder") (7450 . "shredding")
(7451 . "shrewdly") (7452 . "simplify") (7453 . "silver")
(7454 . "similarly") (7455 . "simile") (7456 . "simmering")
(7457 . "simple") (7458 . "shudder") (7459 . "shrubbery")
(7460 . "shrubs") (7461 . "shrug") (7462 . "shrunk")
(7463 . "shucking") (7464 . "shy") (7465 . "shuffle")
(7466 . "shuffling") (7467 . "shun") (7468 . "shush")
(7469 . "shut") (7470 . "siesta") (7471 . "siamese")
(7472 . "siberian") (7473 . "sibling") (7474 . "siding")
(7475 . "sierra") (7476 . "silica") (7477 . "sift")
(7478 . "sighing") (7479 . "silenced") (7480 . "silencer")
(7481 . "silent") (7482 . "silt") (7483 . "silicon")
(7484 . "silk") (7485 . "silliness") (7486 . "silly")
(7487 . "silo") (7488 . "skeleton") (7489 . "sizzling")
(7490 . "skater") (7491 . "skating") (7492 . "skedaddle")
(7493 . "skeletal") (7494 . "single") (7495 . "simply")
(7496 . "sincere") (7497 . "sincerity") (7498 . "singer")
(7499 . "singing") (7500 . "sip") (7501 . "singular")
(7502 . "sinister") (7503 . "sinless") (7504 . "sinner")
(7505 . "sinuous") (7506 . "situated") (7507 . "siren")
(7508 . "sister") (7509 . "sitcom") (7510 . "sitter")
(7511 . "sitting") (7512 . "sixtieth") (7513 . "situation")
(7514 . "sixfold") (7515 . "sixteen") (7516 . "sixth")
(7517 . "sixties") (7518 . "sizzle") (7519 . "sixtyfold")
(7520 . "sizable") (7521 . "sizably") (7522 . "size")
(7523 . "sizing") (7524 . "slacker") (7525 . "skype")
(7526 . "skyrocket") (7527 . "skyward") (7528 . "slab")
(7529 . "slacked") (7530 . "skied") (7531 . "skeptic")
(7532 . "sketch") (7533 . "skewed") (7534 . "skewer")
(7535 . "skid") (7536 . "skillful") (7537 . "skier")
(7538 . "skies") (7539 . "skiing") (7540 . "skilled")
(7541 . "skillet") (7542 . "skinhead") (7543 . "skimmed")
(7544 . "skimmer") (7545 . "skimming") (7546 . "skimpily")
(7547 . "skincare") (7548 . "skipping") (7549 . "skinless")
(7550 . "skinning") (7551 . "skinny") (7552 . "skintight")
(7553 . "skipper") (7554 . "skyline") (7555 . "skirmish")
(7556 . "skirt") (7557 . "skittle") (7558 . "skydiver")
(7559 . "skylight") (7560 . "squint") (7561 . "squeeze")
(7562 . "squeezing") (7563 . "squid") (7564 . "squiggle")
(7565 . "squiggly") (7566 . "sprinkled") (7567 . "sprawl")
(7568 . "spray") (7569 . "spree") (7570 . "sprig")
(7571 . "spring") (7572 . "sprung") (7573 . "sprinkler")
(7574 . "sprint") (7575 . "sprite") (7576 . "sprout")
(7577 . "spruce") (7578 . "squabble") (7579 . "spry")
(7580 . "spud") (7581 . "spur") (7582 . "sputter")
(7583 . "spyglass") (7584 . "squatter") (7585 . "squad")
(7586 . "squall") (7587 . "squander") (7588 . "squash")
(7589 . "squatted") (7590 . "squeegee") (7591 . "squatting")
(7592 . "squeak") (7593 . "squealer") (7594 . "squealing")
(7595 . "squeamish") (7596 . "smokeless") (7597 . "smith")
(7598 . "smitten") (7599 . "smock") (7600 . "smog")
(7601 . "smoked") (7602 . "sloped") (7603 . "slip")
(7604 . "slit") (7605 . "sliver") (7606 . "slobbery")
(7607 . "slogan") (7608 . "slouchy") (7609 . "sloping")
(7610 . "sloppily") (7611 . "sloppy") (7612 . "slot")
(7613 . "slouching") (7614 . "sly") (7615 . "sludge")
(7616 . "slug") (7617 . "slum") (7618 . "slurp")
(7619 . "slush") (7620 . "smashup") (7621 . "small")
(7622 . "smartly") (7623 . "smartness") (7624 . "smasher")
(7625 . "smashing") (7626 . "smite") (7627 . "smell")
(7628 . "smelting") (7629 . "smile") (7630 . "smilingly")
(7631 . "smirk") (7632 . "snowbird") (7633 . "snore")
(7634 . "snoring") (7635 . "snorkel") (7636 . "snort")
(7637 . "snout") (7638 . "smother") (7639 . "smokiness")
(7640 . "smoking") (7641 . "smoky") (7642 . "smolder")
(7643 . "smooth") (7644 . "smugness") (7645 . "smudge")
(7646 . "smudgy") (7647 . "smuggler") (7648 . "smuggling")
(7649 . "smugly") (7650 . "snarl") (7651 . "snack")
(7652 . "snagged") (7653 . "snaking") (7654 . "snap")
(7655 . "snare") (7656 . "snide") (7657 . "snazzy")
(7658 . "sneak") (7659 . "sneer") (7660 . "sneeze")
(7661 . "sneezing") (7662 . "snooze") (7663 . "sniff")
(7664 . "snippet") (7665 . "snipping") (7666 . "snitch")
(7667 . "snooper") (7668 . "speech") (7669 . "specks")
(7670 . "spectacle") (7671 . "spectator") (7672 . "spectrum")
(7673 . "speculate") (7674 . "snowfall") (7675 . "snowboard")
(7676 . "snowbound") (7677 . "snowcap") (7678 . "snowdrift")
(7679 . "snowdrop") (7680 . "snowplow") (7681 . "snowfield")
(7682 . "snowflake") (7683 . "snowiness") (7684 . "snowless")
(7685 . "snowman") (7686 . "snuff") (7687 . "snowshoe")
(7688 . "snowstorm") (7689 . "snowsuit") (7690 . "snowy")
(7691 . "snub") (7692 . "spearhead") (7693 . "snuggle")
(7694 . "snugly") (7695 . "snugness") (7696 . "speak")
(7697 . "spearfish") (7698 . "speckled") (7699 . "spearman")
(7700 . "spearmint") (7701 . "species") (7702 . "specimen")
(7703 . "specked") (7704 . "splendid") (7705 . "splashed")
(7706 . "splashing") (7707 . "splashy") (7708 . "splatter")
(7709 . "spleen") (7710 . "spender") (7711 . "speed")
(7712 . "spellbind") (7713 . "speller") (7714 . "spelling")
(7715 . "spendable") (7716 . "sphinx") (7717 . "spending")
(7718 . "spent") (7719 . "spew") (7720 . "sphere")
(7721 . "spherical") (7722 . "spinach") (7723 . "spider")
(7724 . "spied") (7725 . "spiffy") (7726 . "spill")
(7727 . "spilt") (7728 . "spinster") (7729 . "spinal")
(7730 . "spindle") (7731 . "spinner") (7732 . "spinning")
(7733 . "spinout") (7734 . "spiritual") (7735 . "spiny")
(7736 . "spiral") (7737 . "spirited") (7738 . "spiritism")
(7739 . "spirits") (7740 . "sprang") (7741 . "spotty")
(7742 . "spousal") (7743 . "spouse") (7744 . "spout")
(7745 . "sprain") (7746 . "splurge") (7747 . "splendor")
(7748 . "splice") (7749 . "splicing") (7750 . "splinter")
(7751 . "splotchy") (7752 . "spoken") (7753 . "spoilage")
(7754 . "spoiled") (7755 . "spoiler") (7756 . "spoiling")
(7757 . "spoils") (7758 . "spookily") (7759 . "spokesman")
(7760 . "sponge") (7761 . "spongy") (7762 . "sponsor")
(7763 . "spoof") (7764 . "sports") (7765 . "spooky")
(7766 . "spool") (7767 . "spoon") (7768 . "spore")
(7769 . "sporting") (7770 . "spotting") (7771 . "sporty")
(7772 . "spotless") (7773 . "spotlight") (7774 . "spotted")
(7775 . "spotter"))
"Internalized version of the \"large\" EFF wordlist.
The original file can be found under the following link:
https://www.eff.org/files/2016/07/18/eff_large_wordlist.txt")
(provide 'dw)
;;; dw.el ends here
;; LocalWords: wordlists wordlist utf alist https http
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [NonGNU ELPA] New package: dw.el
2021-03-31 23:42 ` D
@ 2021-04-01 9:17 ` Jean Louis
2021-04-01 16:49 ` D
0 siblings, 1 reply; 16+ messages in thread
From: Jean Louis @ 2021-04-01 9:17 UTC (permalink / raw)
To: D; +Cc: emacs-devel
* D <d.williams@posteo.net> [2021-04-01 02:43]:
> I added a builtin wordlist. Adding
> (with-eval-after-load 'dw
> (setq-default dw-current-wordlist dw-eff-large))
Thank you, it works well. It seem to be self-contained. Now I get from
the first line the second one:
;; 13531 51252 16261 16621 16621
;; boasting relieve coexist consonant consonant
--
Jean
Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns
Sign an open letter in support of Richard M. Stallman
https://rms-support-letter.github.io/
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [NonGNU ELPA] New package: dw.el
2021-04-01 9:17 ` Jean Louis
@ 2021-04-01 16:49 ` D
2021-04-01 16:51 ` Jean Louis
0 siblings, 1 reply; 16+ messages in thread
From: D @ 2021-04-01 16:49 UTC (permalink / raw)
To: Jean Louis; +Cc: emacs-devel
On 01/04/2021 11:17, Jean Louis wrote:
> * D <d.williams@posteo.net> [2021-04-01 02:43]:
>> I added a builtin wordlist. Adding
>> (with-eval-after-load 'dw
>> (setq-default dw-current-wordlist dw-eff-large))
>
> Thank you, it works well. It seem to be self-contained. Now I get from
> the first line the second one:
>
> ;; 13531 51252 16261 16621 16621
> ;; boasting relieve coexist consonant consonant
Perfect!
On a side note, I would love to maintain the package myself (should it
be accepted). Is there anything I need to know, or will the server just
fetch every (tagged?) version on master? I may have overlooked the
explanation in the README.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [NonGNU ELPA] New package: dw.el
2021-04-01 16:49 ` D
@ 2021-04-01 16:51 ` Jean Louis
0 siblings, 0 replies; 16+ messages in thread
From: Jean Louis @ 2021-04-01 16:51 UTC (permalink / raw)
To: D; +Cc: emacs-devel
* D <d.williams@posteo.net> [2021-04-01 19:49]:
> On 01/04/2021 11:17, Jean Louis wrote:
> > * D <d.williams@posteo.net> [2021-04-01 02:43]:
> >> I added a builtin wordlist. Adding
> >> (with-eval-after-load 'dw
> >> (setq-default dw-current-wordlist dw-eff-large))
> >
> > Thank you, it works well. It seem to be self-contained. Now I get from
> > the first line the second one:
> >
> > ;; 13531 51252 16261 16621 16621
> > ;; boasting relieve coexist consonant consonant
>
> Perfect!
>
> On a side note, I would love to maintain the package myself (should it
> be accepted). Is there anything I need to know, or will the server just
> fetch every (tagged?) version on master? I may have overlooked the
> explanation in the README.
I am your tester, but not authorized person to accept package into
Non-GNU ELPA, that decision is upon Emacs developers. I think nobody
responded yet, but they will do.
--
Jean
Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns
Sign an open letter in support of Richard M. Stallman
https://rms-support-letter.github.io/
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [NonGNU ELPA] New package: dw.el
2021-03-30 21:13 [NonGNU ELPA] New package: dw.el D
2021-03-31 6:38 ` Jean Louis
@ 2021-04-01 21:29 ` Stefan Monnier
2021-04-01 22:40 ` D
1 sibling, 1 reply; 16+ messages in thread
From: Stefan Monnier @ 2021-04-01 21:29 UTC (permalink / raw)
To: D; +Cc: emacs-devel
> I would like to submit this package for inclusion in NonGNU ELPA.
I don't think this matches the intent of NonGNU ELPA.
I'd be happy to accept such a packages into GNU ELPA, on the other hand.
If that's OK with you, then please fill the form below and send it as
instructed to the FSF so they can send you the relevant paperwork to sign.
Stefan
Please email the following information to assign@gnu.org, and we
will send you the assignment form for your past and future changes.
Please use your full legal name (in ASCII characters) as the subject
line of the message.
----------------------------------------------------------------------
REQUEST: SEND FORM FOR PAST AND FUTURE CHANGES
[What is the name of the program or package you're contributing to?]
Emacs
[Did you copy any files or text written by someone else in these changes?
Even if that material is free software, we need to know about it.]
[Do you have an employer who might have a basis to claim to own
your changes? Do you attend a school which might make such a claim?]
[For the copyright registration, what country are you a citizen of?]
[What year were you born?]
[Please write your email address here.]
[Please write your postal address here.]
[Which files have you changed so far, and which new files have you written
so far?]
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [NonGNU ELPA] New package: dw.el
2021-04-01 21:29 ` Stefan Monnier
@ 2021-04-01 22:40 ` D
2021-04-01 23:15 ` Stefan Monnier
0 siblings, 1 reply; 16+ messages in thread
From: D @ 2021-04-01 22:40 UTC (permalink / raw)
To: Stefan Monnier; +Cc: emacs-devel
> I don't think this matches the intent of NonGNU ELPA.
> I'd be happy to accept such a packages into GNU ELPA, on the other hand.
What is the intent of NonGNU ELPA, in that case? While I was aware that
it was created for large, mature packages where it would be nigh
impossible (or at the very least impractical) to obtain a copyright
assignment from all contributors (e.g. magit), I was not aware of there
being particular requirements related to NonGNU ELPA.
P.S.: Pardon for sending the same mail twice, I forgot to put the ML in
the CC.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [NonGNU ELPA] New package: dw.el
2021-04-01 22:40 ` D
@ 2021-04-01 23:15 ` Stefan Monnier
2021-04-02 17:45 ` D
0 siblings, 1 reply; 16+ messages in thread
From: Stefan Monnier @ 2021-04-01 23:15 UTC (permalink / raw)
To: D; +Cc: emacs-devel
>> I don't think this matches the intent of NonGNU ELPA.
>> I'd be happy to accept such a packages into GNU ELPA, on the other hand.
> What is the intent of NonGNU ELPA, in that case? While I was aware that
> it was created for large, mature packages where it would be nigh
> impossible (or at the very least impractical) to obtain a copyright
> assignment from all contributors (e.g. magit),
Indeed, that's the idea (tho, the packages don't have to be large).
If a package can be added to GNU ELPA instead of NonGNU ELPA, then it is
very much preferable.
Stefan
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [NonGNU ELPA] New package: dw.el
2021-04-01 23:15 ` Stefan Monnier
@ 2021-04-02 17:45 ` D
2021-04-02 18:14 ` Stefan Monnier
0 siblings, 1 reply; 16+ messages in thread
From: D @ 2021-04-02 17:45 UTC (permalink / raw)
To: Stefan Monnier; +Cc: emacs-devel
> Indeed, that's the idea (tho, the packages don't have to be large).
>
> If a package can be added to GNU ELPA instead of NonGNU ELPA, then it is
> very much preferable.
I've been thinking about this for a bit, and was wondering about two
things regarding nongnu ELPA in this case (This is more off-topic/more
general, so I'm not sure if I should take this particular train of
thought to emacs-tangents/change the subject line). On the one hand, if
that's the intent, wouldn't it be best to have that intent reflected in
nongnu ELPA's README in some way? Because while I was vaguely aware of
this because I knew of the ML thread, to an outside observer NonGNU may
come off as a built-in package archive more conceptually adjacent to
MELPA. On the other hand, while nongnu primarily seeks out (we could say
high-profile) packages that can't be added to ELPA (yet), doesn't have
the existence of nongnu immense potential as it lowers the perceived
barrier of entry for package developers? If tapped, it could greatly
incentivize the "primary targets" (network effect).
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [NonGNU ELPA] New package: dw.el
2021-04-02 17:45 ` D
@ 2021-04-02 18:14 ` Stefan Monnier
2021-04-02 19:27 ` D
0 siblings, 1 reply; 16+ messages in thread
From: Stefan Monnier @ 2021-04-02 18:14 UTC (permalink / raw)
To: D; +Cc: emacs-devel
> the existence of nongnu immense potential as it lowers the perceived
> barrier of entry for package developers? If tapped, it could greatly
> incentivize the "primary targets" (network effect).
I think that would encourage people not to sign copyright paperwork.
Stefan
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [NonGNU ELPA] New package: dw.el
2021-04-02 18:14 ` Stefan Monnier
@ 2021-04-02 19:27 ` D
0 siblings, 0 replies; 16+ messages in thread
From: D @ 2021-04-02 19:27 UTC (permalink / raw)
To: Stefan Monnier; +Cc: emacs-devel
> I think that would encourage people not to sign copyright paperwork.
I would argue that anyone swayed by the presence of an alternative not
involving paperwork currently uses MELPA instead. I don't think the
risk of that would be increased by any number of additional alternatives
in that case. If I am not mistaken this would only leave the projects
made by people that (for whatever reason) do not wish to sign copyright
paperwork as a potential gain.
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2021-04-02 19:27 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-03-30 21:13 [NonGNU ELPA] New package: dw.el D
2021-03-31 6:38 ` Jean Louis
2021-03-31 11:28 ` D
2021-03-31 11:42 ` Jean Louis
2021-03-31 16:24 ` D
2021-03-31 19:43 ` Jean Louis
2021-03-31 23:42 ` D
2021-04-01 9:17 ` Jean Louis
2021-04-01 16:49 ` D
2021-04-01 16:51 ` Jean Louis
2021-04-01 21:29 ` Stefan Monnier
2021-04-01 22:40 ` D
2021-04-01 23:15 ` Stefan Monnier
2021-04-02 17:45 ` D
2021-04-02 18:14 ` Stefan Monnier
2021-04-02 19:27 ` D
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.