diff --git a/.drone.yml b/.drone.yml
index 2d6c8fa..261aa18 100644
--- a/.drone.yml
+++ b/.drone.yml
@@ -13,12 +13,9 @@ pipeline:
image: vikunja/golang-build:latest
pull: true
group: build
- environment:
- TAGS: bindata sqlite
commands:
- make lint
- make fmt-check
- # - make got-swag # Commented out until we figured out how to get this working on drone
- make ineffassign-check
- make misspell-check
- make build
diff --git a/go.mod b/go.mod
index ef915e8..5ff7a76 100644
--- a/go.mod
+++ b/go.mod
@@ -1 +1,10 @@
module git.kolaente.de/sofaraum/client
+
+require (
+ github.com/client9/misspell v0.3.4
+ github.com/fzipp/gocyclo v0.0.0-20150627053110-6acd4345c835
+ github.com/gordonklaus/ineffassign v0.0.0-20180909121442-1003c8bd00dc
+ github.com/karalabe/xgo v0.0.0-20181007145344-72da7d1d3970
+ golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3
+ golang.org/x/tools v0.0.0-20181128225727-c5b00d9557fd // indirect
+)
diff --git a/go.sum b/go.sum
new file mode 100644
index 0000000..5af1918
--- /dev/null
+++ b/go.sum
@@ -0,0 +1,12 @@
+github.com/client9/misspell v0.3.4 h1:ta993UF76GwbvJcIo3Y68y/M3WxlpEHPWIGDkJYwzJI=
+github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
+github.com/fzipp/gocyclo v0.0.0-20150627053110-6acd4345c835 h1:roDmqJ4Qes7hrDOsWsMCce0vQHz3xiMPjJ9m4c2eeNs=
+github.com/fzipp/gocyclo v0.0.0-20150627053110-6acd4345c835/go.mod h1:BjL/N0+C+j9uNX+1xcNuM9vdSIcXCZrQZUYbXOFbgN8=
+github.com/gordonklaus/ineffassign v0.0.0-20180909121442-1003c8bd00dc h1:cJlkeAx1QYgO5N80aF5xRGstVsRQwgLR7uA2FnP1ZjY=
+github.com/gordonklaus/ineffassign v0.0.0-20180909121442-1003c8bd00dc/go.mod h1:cuNKsD1zp2v6XfE/orVX2QE1LC+i254ceGcVeDT3pTU=
+github.com/karalabe/xgo v0.0.0-20181007145344-72da7d1d3970 h1:0+1ZURVRim6FxA/jhWhJklsgoWc69q1sxlIu2Ztnhy0=
+github.com/karalabe/xgo v0.0.0-20181007145344-72da7d1d3970/go.mod h1:iYGcTYIPUvEWhFo6aKUuLchs+AV4ssYdyuBbQJZGcBk=
+golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3 h1:x/bBzNauLQAlE3fLku/xy92Y8QwKX5HZymrMz2IiKFc=
+golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
+golang.org/x/tools v0.0.0-20181128225727-c5b00d9557fd h1:iGtqU5YFAjHfcmM6XLsTOpIm8HrEmDpt+XiZaxrJhyE=
+golang.org/x/tools v0.0.0-20181128225727-c5b00d9557fd/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
diff --git a/tools.go b/tools.go
new file mode 100644
index 0000000..881b225
--- /dev/null
+++ b/tools.go
@@ -0,0 +1,47 @@
+// Sofaraum client is the client software which collects statistics about
+// wifi devices nearby and then sends them to the Sofaraum Server.
+// Copyright (c) 2018.
+//
+// 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 .
+
+// Sofaraum client is the client software which collects statistics about
+// wifi devices nearby and then sends them to the Sofaraum Server.
+// Copyright (c) 2018.
+//
+// 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 .
+
+// +build tools
+
+package tools
+
+// This file is needed for go mod to recognize the tools we use.
+
+import (
+ _ "github.com/client9/misspell/cmd/misspell"
+ _ "github.com/fzipp/gocyclo"
+ _ "github.com/gordonklaus/ineffassign"
+ _ "github.com/karalabe/xgo"
+ _ "golang.org/x/lint/golint"
+)
diff --git a/vendor/github.com/client9/misspell/.gitignore b/vendor/github.com/client9/misspell/.gitignore
new file mode 100644
index 0000000..b1b707e
--- /dev/null
+++ b/vendor/github.com/client9/misspell/.gitignore
@@ -0,0 +1,34 @@
+dist/
+bin/
+vendor/
+
+# editor turds
+*~
+*.gz
+*.bz2
+*.csv
+
+# Compiled Object files, Static and Dynamic libs (Shared Objects)
+*.o
+*.a
+*.so
+
+# Folders
+_obj
+_test
+
+# Architecture specific extensions/prefixes
+*.[568vq]
+[568vq].out
+
+*.cgo1.go
+*.cgo2.c
+_cgo_defun.c
+_cgo_gotypes.go
+_cgo_export.*
+
+_testmain.go
+
+*.exe
+*.test
+*.prof
diff --git a/vendor/github.com/client9/misspell/.travis.yml b/vendor/github.com/client9/misspell/.travis.yml
new file mode 100644
index 0000000..e63e6c2
--- /dev/null
+++ b/vendor/github.com/client9/misspell/.travis.yml
@@ -0,0 +1,20 @@
+sudo: required
+dist: trusty
+group: edge
+language: go
+go:
+ - "1.10"
+git:
+ depth: 1
+
+script:
+ - ./scripts/travis.sh
+
+# calls goreleaser when a new tag is pushed
+deploy:
+- provider: script
+ skip_cleanup: true
+ script: curl -sL http://git.io/goreleaser | bash
+ on:
+ tags: true
+ condition: $TRAVIS_OS_NAME = linux
diff --git a/vendor/github.com/client9/misspell/Dockerfile b/vendor/github.com/client9/misspell/Dockerfile
new file mode 100644
index 0000000..b8ea37b
--- /dev/null
+++ b/vendor/github.com/client9/misspell/Dockerfile
@@ -0,0 +1,37 @@
+FROM golang:1.10.0-alpine
+
+# cache buster
+RUN echo 4
+
+# git is needed for "go get" below
+RUN apk add --no-cache git make
+
+# these are my standard testing / linting tools
+RUN /bin/true \
+ && go get -u github.com/golang/dep/cmd/dep \
+ && go get -u github.com/alecthomas/gometalinter \
+ && gometalinter --install \
+ && rm -rf /go/src /go/pkg
+#
+# * SCOWL word list
+#
+# Downloads
+# http://wordlist.aspell.net/dicts/
+# --> http://app.aspell.net/create
+#
+
+# use en_US large size
+# use regular size for others
+ENV SOURCE_US_BIG http://app.aspell.net/create?max_size=70&spelling=US&max_variant=2&diacritic=both&special=hacker&special=roman-numerals&download=wordlist&encoding=utf-8&format=inline
+
+# should be able tell difference between English variations using this
+ENV SOURCE_US http://app.aspell.net/create?max_size=60&spelling=US&max_variant=1&diacritic=both&download=wordlist&encoding=utf-8&format=inline
+ENV SOURCE_GB_ISE http://app.aspell.net/create?max_size=60&spelling=GBs&max_variant=2&diacritic=both&download=wordlist&encoding=utf-8&format=inline
+ENV SOURCE_GB_IZE http://app.aspell.net/create?max_size=60&spelling=GBz&max_variant=2&diacritic=both&download=wordlist&encoding=utf-8&format=inline
+ENV SOURCE_CA http://app.aspell.net/create?max_size=60&spelling=CA&max_variant=2&diacritic=both&download=wordlist&encoding=utf-8&format=inline
+
+RUN /bin/true \
+ && mkdir /scowl-wl \
+ && wget -O /scowl-wl/words-US-60.txt ${SOURCE_US} \
+ && wget -O /scowl-wl/words-GB-ise-60.txt ${SOURCE_GB_ISE}
+
diff --git a/vendor/github.com/client9/misspell/Gopkg.lock b/vendor/github.com/client9/misspell/Gopkg.lock
new file mode 100644
index 0000000..90ed451
--- /dev/null
+++ b/vendor/github.com/client9/misspell/Gopkg.lock
@@ -0,0 +1,24 @@
+# This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'.
+
+
+[[projects]]
+ name = "github.com/gobwas/glob"
+ packages = [
+ ".",
+ "compiler",
+ "match",
+ "syntax",
+ "syntax/ast",
+ "syntax/lexer",
+ "util/runes",
+ "util/strings"
+ ]
+ revision = "5ccd90ef52e1e632236f7326478d4faa74f99438"
+ version = "v0.2.3"
+
+[solve-meta]
+ analyzer-name = "dep"
+ analyzer-version = 1
+ inputs-digest = "087ea4c49358ea8258ad9edfe514cd5ce9975c889c258e5ec7b5d2b720aae113"
+ solver-name = "gps-cdcl"
+ solver-version = 1
diff --git a/vendor/github.com/client9/misspell/Gopkg.toml b/vendor/github.com/client9/misspell/Gopkg.toml
new file mode 100644
index 0000000..e9b8e6a
--- /dev/null
+++ b/vendor/github.com/client9/misspell/Gopkg.toml
@@ -0,0 +1,34 @@
+# Gopkg.toml example
+#
+# Refer to https://golang.github.io/dep/docs/Gopkg.toml.html
+# for detailed Gopkg.toml documentation.
+#
+# required = ["github.com/user/thing/cmd/thing"]
+# ignored = ["github.com/user/project/pkgX", "bitbucket.org/user/project/pkgA/pkgY"]
+#
+# [[constraint]]
+# name = "github.com/user/project"
+# version = "1.0.0"
+#
+# [[constraint]]
+# name = "github.com/user/project2"
+# branch = "dev"
+# source = "github.com/myfork/project2"
+#
+# [[override]]
+# name = "github.com/x/y"
+# version = "2.4.0"
+#
+# [prune]
+# non-go = false
+# go-tests = true
+# unused-packages = true
+
+
+[[constraint]]
+ name = "github.com/gobwas/glob"
+ version = "0.2.3"
+
+[prune]
+ go-tests = true
+ unused-packages = true
diff --git a/vendor/github.com/client9/misspell/LICENSE b/vendor/github.com/client9/misspell/LICENSE
new file mode 100644
index 0000000..423e1f9
--- /dev/null
+++ b/vendor/github.com/client9/misspell/LICENSE
@@ -0,0 +1,22 @@
+The MIT License (MIT)
+
+Copyright (c) 2015-2017 Nick Galbreath
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
diff --git a/vendor/github.com/client9/misspell/Makefile b/vendor/github.com/client9/misspell/Makefile
new file mode 100644
index 0000000..862ab77
--- /dev/null
+++ b/vendor/github.com/client9/misspell/Makefile
@@ -0,0 +1,74 @@
+CONTAINER=nickg/misspell
+
+install: ## install misspell into GOPATH/bin
+ go install ./cmd/misspell
+
+build: hooks ## build and lint misspell
+ ./scripts/build.sh
+
+test: ## run all tests
+ go test .
+
+# real publishing is done only by travis
+publish: ## test goreleaser
+ ./scripts/goreleaser-dryrun.sh
+
+# the grep in line 2 is to remove misspellings in the spelling dictionary
+# that trigger false positives!!
+falsepositives: /scowl-wl
+ cat /scowl-wl/words-US-60.txt | \
+ grep -i -v -E "payed|Tyre|Euclidian|nonoccurence|dependancy|reenforced|accidently|surprize|dependance|idealogy|binominal|causalities|conquerer|withing|casette|analyse|analogue|dialogue|paralyse|catalogue|archaeolog|clarinettist|catalyses|cancell|chisell|ageing|cataloguing" | \
+ misspell -debug -error
+ cat /scowl-wl/words-GB-ise-60.txt | \
+ grep -v -E "payed|nonoccurence|withing" | \
+ misspell -locale=UK -debug -error
+# cat /scowl-wl/words-GB-ize-60.txt | \
+# grep -v -E "withing" | \
+# misspell -debug -error
+# cat /scowl-wl/words-CA-60.txt | \
+# grep -v -E "withing" | \
+# misspell -debug -error
+
+bench: ## run benchmarks
+ go test -bench '.*'
+
+clean: ## clean up time
+ rm -rf dist/ bin/
+ go clean ./...
+ git gc --aggressive
+
+ci: ## run test like travis-ci does, requires docker
+ docker run --rm \
+ -v $(PWD):/go/src/github.com/client9/misspell \
+ -w /go/src/github.com/client9/misspell \
+ ${CONTAINER} \
+ make build falsepositives
+
+docker-build: ## build a docker test image
+ docker build -t ${CONTAINER} .
+
+docker-pull: ## pull latest test image
+ docker pull ${CONTAINER}
+
+docker-console: ## log into the test image
+ docker run --rm -it \
+ -v $(PWD):/go/src/github.com/client9/misspell \
+ -w /go/src/github.com/client9/misspell \
+ ${CONTAINER} sh
+
+.git/hooks/pre-commit: scripts/pre-commit.sh
+ cp -f scripts/pre-commit.sh .git/hooks/pre-commit
+.git/hooks/commit-msg: scripts/commit-msg.sh
+ cp -f scripts/commit-msg.sh .git/hooks/commit-msg
+hooks: .git/hooks/pre-commit .git/hooks/commit-msg ## install git precommit hooks
+
+.PHONY: help ci console docker-build bench
+
+# https://www.client9.com/self-documenting-makefiles/
+help:
+ @awk -F ':|##' '/^[^\t].+?:.*?##/ {\
+ printf "\033[36m%-30s\033[0m %s\n", $$1, $$NF \
+ }' $(MAKEFILE_LIST)
+.DEFAULT_GOAL=help
+.PHONY=help
+
diff --git a/vendor/github.com/client9/misspell/README.md b/vendor/github.com/client9/misspell/README.md
new file mode 100644
index 0000000..5b68af0
--- /dev/null
+++ b/vendor/github.com/client9/misspell/README.md
@@ -0,0 +1,424 @@
+[![Build Status](https://travis-ci.org/client9/misspell.svg?branch=master)](https://travis-ci.org/client9/misspell) [![Go Report Card](https://goreportcard.com/badge/github.com/client9/misspell)](https://goreportcard.com/report/github.com/client9/misspell) [![GoDoc](https://godoc.org/github.com/client9/misspell?status.svg)](https://godoc.org/github.com/client9/misspell) [![Coverage](http://gocover.io/_badge/github.com/client9/misspell)](http://gocover.io/github.com/client9/misspell) [![license](https://img.shields.io/badge/license-MIT-blue.svg?style=flat)](https://raw.githubusercontent.com/client9/misspell/master/LICENSE)
+
+Correct commonly misspelled English words... quickly.
+
+### Install
+
+
+If you just want a binary and to start using `misspell`:
+
+```
+curl -L -o ./install-misspell.sh https://git.io/misspell
+sh ./install-misspell.sh
+```
+
+
+Both will install as `./bin/misspell`. You can adjust the download location using the `-b` flag. File a ticket if you want another platform supported.
+
+
+If you use [Go](https://golang.org/), the best way to run `misspell` is by using [gometalinter](#gometalinter). Otherwise, install `misspell` the old-fashioned way:
+
+```
+go get -u github.com/client9/misspell/cmd/misspell
+```
+
+and misspell will be in your `GOPATH`
+
+
+Also if you like to live dangerously, one could do
+
+```bash
+curl -L https://git.io/misspell | bash
+```
+
+### Usage
+
+
+```bash
+$ misspell all.html your.txt important.md files.go
+your.txt:42:10 found "langauge" a misspelling of "language"
+
+# ^ file, line, column
+```
+
+```
+$ misspell -help
+Usage of misspell:
+ -debug
+ Debug matching, very slow
+ -error
+ Exit with 2 if misspelling found
+ -f string
+ 'csv', 'sqlite3' or custom Golang template for output
+ -i string
+ ignore the following corrections, comma separated
+ -j int
+ Number of workers, 0 = number of CPUs
+ -legal
+ Show legal information and exit
+ -locale string
+ Correct spellings using locale perferances for US or UK. Default is to use a neutral variety of English. Setting locale to US will correct the British spelling of 'colour' to 'color'
+ -o string
+ output file or [stderr|stdout|] (default "stdout")
+ -q Do not emit misspelling output
+ -source string
+ Source mode: auto=guess, go=golang source, text=plain or markdown-like text (default "auto")
+ -w Overwrite file with corrections (default is just to display)
+```
+
+## FAQ
+
+* [Automatic Corrections](#correct)
+* [Converting UK spellings to US](#locale)
+* [Using pipes and stdin](#stdin)
+* [Golang special support](#golang)
+* [gometalinter support](#gometalinter)
+* [CSV Output](#csv)
+* [Using SQLite3](#sqlite)
+* [Changing output format](#output)
+* [Checking a folder recursively](#recursive)
+* [Performance](#performance)
+* [Known Issues](#issues)
+* [Debugging](#debug)
+* [False Negatives and missing words](#missing)
+* [Origin of Word Lists](#words)
+* [Software License](#license)
+* [Problem statement](#problem)
+* [Other spelling correctors](#others)
+* [Other ideas](#otherideas)
+
+
+### How can I make the corrections automatically?
+
+Just add the `-w` flag!
+
+```
+$ misspell -w all.html your.txt important.md files.go
+your.txt:9:21:corrected "langauge" to "language"
+
+# ^ File is rewritten only if a misspelling is found
+```
+
+
+### How do I convert British spellings to American (or vice-versa)?
+
+Add the `-locale US` flag!
+
+```bash
+$ misspell -locale US important.txt
+important.txt:10:20 found "colour" a misspelling of "color"
+```
+
+Add the `-locale UK` flag!
+
+```bash
+$ echo "My favorite color is blue" | misspell -locale UK
+stdin:1:3:found "favorite color" a misspelling of "favourite colour"
+```
+
+Help is appreciated as I'm neither British nor an
+expert in the English language.
+
+
+### How do you check an entire folder recursively?
+
+Just list a directory you'd like to check
+
+```bash
+misspell .
+misspell aDirectory anotherDirectory aFile
+```
+
+You can also run misspell recursively using the following shell tricks:
+
+```bash
+misspell directory/**/*
+```
+
+or
+
+```bash
+find . -type f | xargs misspell
+```
+
+You can select a type of file as well. The following examples selects all `.txt` files that are *not* in the `vendor` directory:
+
+```bash
+find . -type f -name '*.txt' | grep -v vendor/ | xargs misspell -error
+```
+
+
+### Can I use pipes or `stdin` for input?
+
+Yes!
+
+Print messages to `stderr` only:
+
+```bash
+$ echo "zeebra" | misspell
+stdin:1:0:found "zeebra" a misspelling of "zebra"
+```
+
+Print messages to `stderr`, and corrected text to `stdout`:
+
+```bash
+$ echo "zeebra" | misspell -w
+stdin:1:0:corrected "zeebra" to "zebra"
+zebra
+```
+
+Only print the corrected text to `stdout`:
+
+```bash
+$ echo "zeebra" | misspell -w -q
+zebra
+```
+
+
+### Are there special rules for golang source files?
+
+Yes! If the file ends in `.go`, then misspell will only check spelling in
+comments.
+
+If you want to force a file to be checked as a golang source, use `-source=go`
+on the command line. Conversely, you can check a golang source as if it were
+pure text by using `-source=text`. You might want to do this since many
+variable names have misspellings in them!
+
+### Can I check only-comments in other other programming languages?
+
+I'm told the using `-source=go` works well for ruby, javascript, java, c and
+c++.
+
+It doesn't work well for python and bash.
+
+
+### Does this work with gometalinter?
+
+[gometalinter](https://github.com/alecthomas/gometalinter) runs
+multiple golang linters. Starting on [2016-06-12](https://github.com/alecthomas/gometalinter/pull/134)
+gometalinter supports `misspell` natively but it is disabled by default.
+
+```bash
+# update your copy of gometalinter
+go get -u github.com/alecthomas/gometalinter
+
+# install updates and misspell
+gometalinter --install --update
+```
+
+To use, just enable `misspell`
+
+```
+gometalinter --enable misspell ./...
+```
+
+Note that gometalinter only checks golang files, and uses the default options
+of `misspell`
+
+You may wish to run this on your plaintext (.txt) and/or markdown files too.
+
+
+
+### How Can I Get CSV Output?
+
+Using `-f csv`, the output is standard comma-seprated values with headers in the first row.
+
+```
+misspell -f csv *
+file,line,column,typo,corrected
+"README.md",9,22,langauge,language
+"README.md",47,25,langauge,language
+```
+
+
+### How can I export to SQLite3?
+
+Using `-f sqlite`, the output is a [sqlite3](https://www.sqlite.org/index.html) dump-file.
+
+```bash
+$ misspell -f sqlite * > /tmp/misspell.sql
+$ cat /tmp/misspell.sql
+
+PRAGMA foreign_keys=OFF;
+BEGIN TRANSACTION;
+CREATE TABLE misspell(
+ "file" TEXT,
+ "line" INTEGER,i
+ "column" INTEGER,i
+ "typo" TEXT,
+ "corrected" TEXT
+);
+INSERT INTO misspell VALUES("install.txt",202,31,"immediatly","immediately");
+# etc...
+COMMIT;
+```
+
+```bash
+$ sqlite3 -init /tmp/misspell.sql :memory: 'select count(*) from misspell'
+1
+```
+
+With some tricks you can directly pipe output to sqlite3 by using `-init /dev/stdin`:
+
+```
+misspell -f sqlite * | sqlite3 -init /dev/stdin -column -cmd '.width 60 15' ':memory' \
+ 'select substr(file,35),typo,count(*) as count from misspell group by file, typo order by count desc;'
+```
+
+
+### How can I ignore rules?
+
+Using the `-i "comma,separated,rules"` flag you can specify corrections to ignore.
+
+For example, if you were to run `misspell -w -error -source=text` against document that contains the string `Guy Finkelshteyn Braswell`, misspell would change the text to `Guy Finkelstheyn Bras well`. You can then
+determine the rules to ignore by reverting the change and running the with the `-debug` flag. You can then see
+that the corrections were `htey -> they` and `aswell -> as well`. To ignore these two rules, you add `-i "htey,aswell"` to
+your command. With debug mode on, you can see it print the corrections, but it will no longer make them.
+
+
+### How can I change the output format?
+
+Using the `-f template` flag you can pass in a
+[golang text template](https://golang.org/pkg/text/template/) to format the output.
+
+One can use `printf "%q" VALUE` to safely quote a value.
+
+The default template is compatible with [gometalinter](https://github.com/alecthomas/gometalinter)
+```
+{{ .Filename }}:{{ .Line }}:{{ .Column }}:corrected {{ printf "%q" .Original }} to "{{ printf "%q" .Corrected }}"
+```
+
+To just print probable misspellings:
+
+```
+-f '{{ .Original }}'
+```
+
+
+### What problem does this solve?
+
+This corrects commonly misspelled English words in computer source
+code, and other text-based formats (`.txt`, `.md`, etc).
+
+It is designed to run quickly so it can be
+used as a [pre-commit hook](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks)
+with minimal burden on the developer.
+
+It does not work with binary formats (e.g. Word, etc).
+
+It is not a complete spell-checking program nor a grammar checker.
+
+
+### What are other misspelling correctors and what's wrong with them?
+
+Some other misspelling correctors:
+
+* https://github.com/vlajos/misspell_fixer
+* https://github.com/lyda/misspell-check
+* https://github.com/lucasdemarchi/codespell
+
+They all work but had problems that prevented me from using them at scale:
+
+* slow, all of the above check one misspelling at a time (i.e. linear) using regexps
+* not MIT/Apache2 licensed (or equivalent)
+* have dependencies that don't work for me (python3, bash, linux sed, etc)
+* don't understand American vs. British English and sometimes makes unwelcome "corrections"
+
+That said, they might be perfect for you and many have more features
+than this project!
+
+
+### How fast is it?
+
+Misspell is easily 100x to 1000x faster than other spelling correctors. You
+should be able to check and correct 1000 files in under 250ms.
+
+This uses the mighty power of golang's
+[strings.Replacer](https://golang.org/pkg/strings/#Replacer) which is
+a implementation or variation of the
+[Aho–Corasick algorithm](https://en.wikipedia.org/wiki/Aho–Corasick_algorithm).
+This makes multiple substring matches *simultaneously*.
+
+In addition this uses multiple CPU cores to work on multiple files.
+
+
+### What problems does it have?
+
+Unlike the other projects, this doesn't know what a "word" is. There may be
+more false positives and false negatives due to this. On the other hand, it
+sometimes catches things others don't.
+
+Either way, please file bugs and we'll fix them!
+
+Since it operates in parallel to make corrections, it can be non-obvious to
+determine exactly what word was corrected.
+
+
+### It's making mistakes. How can I debug?
+
+Run using `-debug` flag on the file you want. It should then print what word
+it is trying to correct. Then [file a
+bug](https://github.com/client9/misspell/issues) describing the problem.
+Thanks!
+
+
+### Why is it making mistakes or missing items in golang files?
+
+The matching function is *case-sensitive*, so variable names that are multiple
+worlds either in all-upper or all-lower case sometimes can cause false
+positives. For instance a variable named `bodyreader` could trigger a false
+positive since `yrea` is in the middle that could be corrected to `year`.
+Other problems happen if the variable name uses a English contraction that
+should use an apostrophe. The best way of fixing this is to use the
+[Effective Go naming
+conventions](https://golang.org/doc/effective_go.html#mixed-caps) and use
+[camelCase](https://en.wikipedia.org/wiki/CamelCase) for variable names. You
+can check your code using [golint](https://github.com/golang/lint)
+
+
+### What license is this?
+
+The main code is [MIT](https://github.com/client9/misspell/blob/master/LICENSE).
+
+Misspell also makes uses of the Golang standard library and contains a modified version of Golang's [strings.Replacer](https://golang.org/pkg/strings/#Replacer)
+which are covered under a [BSD License](https://github.com/golang/go/blob/master/LICENSE). Type `misspell -legal` for more details or see [legal.go](https://github.com/client9/misspell/blob/master/legal.go)
+
+
+### Where do the word lists come from?
+
+It started with a word list from
+[Wikipedia](https://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/For_machines).
+Unfortunately, this list had to be highly edited as many of the words are
+obsolete or based from mistakes on mechanical typewriters (I'm guessing).
+
+Additional words were added based on actually mistakes seen in
+the wild (meaning self-generated).
+
+Variations of UK and US spellings are based on many sources including:
+
+* http://www.tysto.com/uk-us-spelling-list.html (with heavy editing, many are incorrect)
+* http://www.oxforddictionaries.com/us/words/american-and-british-spelling-american (excellent site but incomplete)
+* Diffing US and UK [scowl dictionaries](http://wordlist.aspell.net)
+
+American English is more accepting of spelling variations than is British
+English, so "what is American or not" is subject to opinion. Corrections and help welcome.
+
+
+### What are some other enhancements that could be done?
+
+Here's some ideas for enhancements:
+
+*Capitalization of proper nouns* could be done (e.g. weekday and month names, country names, language names)
+
+*Opinionated US spellings* US English has a number of words with alternate
+spellings. Think [adviser vs.
+advisor](http://grammarist.com/spelling/adviser-advisor/). While "advisor" is not wrong, the opinionated US
+locale would correct "advisor" to "adviser".
+
+*Versioning* Some type of versioning is needed so reporting mistakes and errors is easier.
+
+*Feedback* Mistakes would be sent to some server for agregation and feedback review.
+
+*Contractions and Apostrophes* This would optionally correct "isnt" to
+"isn't", etc.
diff --git a/vendor/github.com/client9/misspell/RELEASE-HOWTO.md b/vendor/github.com/client9/misspell/RELEASE-HOWTO.md
new file mode 100644
index 0000000..55b52d9
--- /dev/null
+++ b/vendor/github.com/client9/misspell/RELEASE-HOWTO.md
@@ -0,0 +1,38 @@
+# Release HOWTO
+
+since I forget.
+
+
+1. Review existing tags and pick new release number
+
+ ```sh
+ git tag
+ ```
+
+2. Tag locally
+
+ ```sh
+ git tag -a v0.1.0 -m "First release"
+ ```
+
+ If things get screwed up, delete the tag with
+
+ ```sh
+ git tag -d v0.1.0
+ ```
+
+3. Test goreleaser
+
+ TODO: how to install goreleaser
+
+ ```sh
+ ./scripts/goreleaser-dryrun.sh
+ ```
+
+4. Push
+
+ ```bash
+ git push origin v0.1.0
+ ```
+
+5. Verify release and edit notes. See https://github.com/client9/misspell/releases
diff --git a/vendor/github.com/client9/misspell/ascii.go b/vendor/github.com/client9/misspell/ascii.go
new file mode 100644
index 0000000..1430718
--- /dev/null
+++ b/vendor/github.com/client9/misspell/ascii.go
@@ -0,0 +1,62 @@
+package misspell
+
+// ByteToUpper converts an ascii byte to upper cases
+// Uses a branchless algorithm
+func ByteToUpper(x byte) byte {
+ b := byte(0x80) | x
+ c := b - byte(0x61)
+ d := ^(b - byte(0x7b))
+ e := (c & d) & (^x & 0x7f)
+ return x - (e >> 2)
+}
+
+// ByteToLower converts an ascii byte to lower case
+// uses a branchless algorithm
+func ByteToLower(eax byte) byte {
+ ebx := eax&byte(0x7f) + byte(0x25)
+ ebx = ebx&byte(0x7f) + byte(0x1a)
+ ebx = ((ebx & ^eax) >> 2) & byte(0x20)
+ return eax + ebx
+}
+
+// ByteEqualFold does ascii compare, case insensitive
+func ByteEqualFold(a, b byte) bool {
+ return a == b || ByteToLower(a) == ByteToLower(b)
+}
+
+// StringEqualFold ASCII case-insensitive comparison
+// golang toUpper/toLower for both bytes and strings
+// appears to be Unicode based which is super slow
+// based from https://codereview.appspot.com/5180044/patch/14007/21002
+func StringEqualFold(s1, s2 string) bool {
+ if len(s1) != len(s2) {
+ return false
+ }
+ for i := 0; i < len(s1); i++ {
+ c1 := s1[i]
+ c2 := s2[i]
+ // c1 & c2
+ if c1 != c2 {
+ c1 |= 'a' - 'A'
+ c2 |= 'a' - 'A'
+ if c1 != c2 || c1 < 'a' || c1 > 'z' {
+ return false
+ }
+ }
+ }
+ return true
+}
+
+// StringHasPrefixFold is similar to strings.HasPrefix but comparison
+// is done ignoring ASCII case.
+// /
+func StringHasPrefixFold(s1, s2 string) bool {
+ // prefix is bigger than input --> false
+ if len(s1) < len(s2) {
+ return false
+ }
+ if len(s1) == len(s2) {
+ return StringEqualFold(s1, s2)
+ }
+ return StringEqualFold(s1[:len(s2)], s2)
+}
diff --git a/vendor/github.com/client9/misspell/case.go b/vendor/github.com/client9/misspell/case.go
new file mode 100644
index 0000000..2ea3850
--- /dev/null
+++ b/vendor/github.com/client9/misspell/case.go
@@ -0,0 +1,59 @@
+package misspell
+
+import (
+ "strings"
+)
+
+// WordCase is an enum of various word casing styles
+type WordCase int
+
+// Various WordCase types.. likely to be not correct
+const (
+ CaseUnknown WordCase = iota
+ CaseLower
+ CaseUpper
+ CaseTitle
+)
+
+// CaseStyle returns what case style a word is in
+func CaseStyle(word string) WordCase {
+ upperCount := 0
+ lowerCount := 0
+
+ // this iterates over RUNES not BYTES
+ for i := 0; i < len(word); i++ {
+ ch := word[i]
+ switch {
+ case ch >= 'a' && ch <= 'z':
+ lowerCount++
+ case ch >= 'A' && ch <= 'Z':
+ upperCount++
+ }
+ }
+
+ switch {
+ case upperCount != 0 && lowerCount == 0:
+ return CaseUpper
+ case upperCount == 0 && lowerCount != 0:
+ return CaseLower
+ case upperCount == 1 && lowerCount > 0 && word[0] >= 'A' && word[0] <= 'Z':
+ return CaseTitle
+ }
+ return CaseUnknown
+}
+
+// CaseVariations returns
+// If AllUpper or First-Letter-Only is upcased: add the all upper case version
+// If AllLower, add the original, the title and upcase forms
+// If Mixed, return the original, and the all upcase form
+//
+func CaseVariations(word string, style WordCase) []string {
+ switch style {
+ case CaseLower:
+ return []string{word, strings.ToUpper(word[0:1]) + word[1:], strings.ToUpper(word)}
+ case CaseUpper:
+ return []string{strings.ToUpper(word)}
+ default:
+ return []string{word, strings.ToUpper(word)}
+ }
+}
diff --git a/vendor/github.com/client9/misspell/cmd/misspell/main.go b/vendor/github.com/client9/misspell/cmd/misspell/main.go
new file mode 100644
index 0000000..174d79d
--- /dev/null
+++ b/vendor/github.com/client9/misspell/cmd/misspell/main.go
@@ -0,0 +1,326 @@
+// The misspell command corrects commonly misspelled English words in source files.
+package main
+
+import (
+ "bytes"
+ "flag"
+ "fmt"
+ "io"
+ "io/ioutil"
+ "log"
+ "os"
+ "path/filepath"
+ "runtime"
+ "strings"
+ "text/template"
+ "time"
+
+ "github.com/client9/misspell"
+)
+
+var (
+ defaultWrite *template.Template
+ defaultRead *template.Template
+
+ stdout *log.Logger
+ debug *log.Logger
+
+ version = "dev"
+)
+
+const (
+ // Note for gometalinter it must be "File:Line:Column: Msg"
+ // note space beteen ": Msg"
+ defaultWriteTmpl = `{{ .Filename }}:{{ .Line }}:{{ .Column }}: corrected "{{ .Original }}" to "{{ .Corrected }}"`
+ defaultReadTmpl = `{{ .Filename }}:{{ .Line }}:{{ .Column }}: "{{ .Original }}" is a misspelling of "{{ .Corrected }}"`
+ csvTmpl = `{{ printf "%q" .Filename }},{{ .Line }},{{ .Column }},{{ .Original }},{{ .Corrected }}`
+ csvHeader = `file,line,column,typo,corrected`
+ sqliteTmpl = `INSERT INTO misspell VALUES({{ printf "%q" .Filename }},{{ .Line }},{{ .Column }},{{ printf "%q" .Original }},{{ printf "%q" .Corrected }});`
+ sqliteHeader = `PRAGMA foreign_keys=OFF;
+BEGIN TRANSACTION;
+CREATE TABLE misspell(
+ "file" TEXT, "line" INTEGER, "column" INTEGER, "typo" TEXT, "corrected" TEXT
+);`
+ sqliteFooter = "COMMIT;"
+)
+
+func worker(writeit bool, r *misspell.Replacer, mode string, files <-chan string, results chan<- int) {
+ count := 0
+ for filename := range files {
+ orig, err := misspell.ReadTextFile(filename)
+ if err != nil {
+ log.Println(err)
+ continue
+ }
+ if len(orig) == 0 {
+ continue
+ }
+
+ debug.Printf("Processing %s", filename)
+
+ var updated string
+ var changes []misspell.Diff
+
+ if mode == "go" {
+ updated, changes = r.ReplaceGo(orig)
+ } else {
+ updated, changes = r.Replace(orig)
+ }
+
+ if len(changes) == 0 {
+ continue
+ }
+ count += len(changes)
+ for _, diff := range changes {
+ // add in filename
+ diff.Filename = filename
+
+ // output can be done by doing multiple goroutines
+ // and can clobber os.Stdout.
+ //
+ // the log package can be used simultaneously from multiple goroutines
+ var output bytes.Buffer
+ if writeit {
+ defaultWrite.Execute(&output, diff)
+ } else {
+ defaultRead.Execute(&output, diff)
+ }
+
+ // goroutine-safe print to os.Stdout
+ stdout.Println(output.String())
+ }
+
+ if writeit {
+ ioutil.WriteFile(filename, []byte(updated), 0)
+ }
+ }
+ results <- count
+}
+
+func main() {
+ t := time.Now()
+ var (
+ workers = flag.Int("j", 0, "Number of workers, 0 = number of CPUs")
+ writeit = flag.Bool("w", false, "Overwrite file with corrections (default is just to display)")
+ quietFlag = flag.Bool("q", false, "Do not emit misspelling output")
+ outFlag = flag.String("o", "stdout", "output file or [stderr|stdout|]")
+ format = flag.String("f", "", "'csv', 'sqlite3' or custom Golang template for output")
+ ignores = flag.String("i", "", "ignore the following corrections, comma separated")
+ locale = flag.String("locale", "", "Correct spellings using locale perferances for US or UK. Default is to use a neutral variety of English. Setting locale to US will correct the British spelling of 'colour' to 'color'")
+ mode = flag.String("source", "auto", "Source mode: auto=guess, go=golang source, text=plain or markdown-like text")
+ debugFlag = flag.Bool("debug", false, "Debug matching, very slow")
+ exitError = flag.Bool("error", false, "Exit with 2 if misspelling found")
+ showVersion = flag.Bool("v", false, "Show version and exit")
+
+ showLegal = flag.Bool("legal", false, "Show legal information and exit")
+ )
+ flag.Parse()
+
+ if *showVersion {
+ fmt.Println(version)
+ return
+ }
+ if *showLegal {
+ fmt.Println(misspell.Legal)
+ return
+ }
+ if *debugFlag {
+ debug = log.New(os.Stderr, "DEBUG ", 0)
+ } else {
+ debug = log.New(ioutil.Discard, "", 0)
+ }
+
+ r := misspell.Replacer{
+ Replacements: misspell.DictMain,
+ Debug: *debugFlag,
+ }
+ //
+ // Figure out regional variations
+ //
+ switch strings.ToUpper(*locale) {
+ case "":
+ // nothing
+ case "US":
+ r.AddRuleList(misspell.DictAmerican)
+ case "UK", "GB":
+ r.AddRuleList(misspell.DictBritish)
+ case "NZ", "AU", "CA":
+ log.Fatalf("Help wanted. https://github.com/client9/misspell/issues/6")
+ default:
+ log.Fatalf("Unknown locale: %q", *locale)
+ }
+
+ //
+ // Stuff to ignore
+ //
+ if len(*ignores) > 0 {
+ r.RemoveRule(strings.Split(*ignores, ","))
+ }
+
+ //
+ // Source input mode
+ //
+ switch *mode {
+ case "auto":
+ case "go":
+ case "text":
+ default:
+ log.Fatalf("Mode must be one of auto=guess, go=golang source, text=plain or markdown-like text")
+ }
+
+ //
+ // Custom output
+ //
+ switch {
+ case *format == "csv":
+ tmpl := template.Must(template.New("csv").Parse(csvTmpl))
+ defaultWrite = tmpl
+ defaultRead = tmpl
+ stdout.Println(csvHeader)
+ case *format == "sqlite" || *format == "sqlite3":
+ tmpl := template.Must(template.New("sqlite3").Parse(sqliteTmpl))
+ defaultWrite = tmpl
+ defaultRead = tmpl
+ stdout.Println(sqliteHeader)
+ case len(*format) > 0:
+ t, err := template.New("custom").Parse(*format)
+ if err != nil {
+ log.Fatalf("Unable to compile log format: %s", err)
+ }
+ defaultWrite = t
+ defaultRead = t
+ default: // format == ""
+ defaultWrite = template.Must(template.New("defaultWrite").Parse(defaultWriteTmpl))
+ defaultRead = template.Must(template.New("defaultRead").Parse(defaultReadTmpl))
+ }
+
+ // we cant't just write to os.Stdout directly since we have multiple goroutine
+ // all writing at the same time causing broken output. Log is routine safe.
+ // we see it so it doesn't use a prefix or include a time stamp.
+ switch {
+ case *quietFlag || *outFlag == "/dev/null":
+ stdout = log.New(ioutil.Discard, "", 0)
+ case *outFlag == "/dev/stderr" || *outFlag == "stderr":
+ stdout = log.New(os.Stderr, "", 0)
+ case *outFlag == "/dev/stdout" || *outFlag == "stdout":
+ stdout = log.New(os.Stdout, "", 0)
+ case *outFlag == "" || *outFlag == "-":
+ stdout = log.New(os.Stdout, "", 0)
+ default:
+ fo, err := os.Create(*outFlag)
+ if err != nil {
+ log.Fatalf("unable to create outfile %q: %s", *outFlag, err)
+ }
+ defer fo.Close()
+ stdout = log.New(fo, "", 0)
+ }
+
+ //
+ // Number of Workers / CPU to use
+ //
+ if *workers < 0 {
+ log.Fatalf("-j must >= 0")
+ }
+ if *workers == 0 {
+ *workers = runtime.NumCPU()
+ }
+ if *debugFlag {
+ *workers = 1
+ }
+
+ //
+ // Done with Flags.
+ // Compile the Replacer and process files
+ //
+ r.Compile()
+
+ args := flag.Args()
+ debug.Printf("initialization complete in %v", time.Since(t))
+
+ // stdin/stdout
+ if len(args) == 0 {
+ // if we are working with pipes/stdin/stdout
+ // there is no concurrency, so we can directly
+ // send data to the writers
+ var fileout io.Writer
+ var errout io.Writer
+ switch *writeit {
+ case true:
+ // if we ARE writing the corrected stream
+ // the corrected stream goes to stdout
+ // and the misspelling errors goes to stderr
+ // so we can do something like this:
+ // curl something | misspell -w | gzip > afile.gz
+ fileout = os.Stdout
+ errout = os.Stderr
+ case false:
+ // if we are not writing out the corrected stream
+ // then work just like files. Misspelling errors
+ // are sent to stdout
+ fileout = ioutil.Discard
+ errout = os.Stdout
+ }
+ count := 0
+ next := func(diff misspell.Diff) {
+ count++
+
+ // don't even evaluate the output templates
+ if *quietFlag {
+ return
+ }
+ diff.Filename = "stdin"
+ if *writeit {
+ defaultWrite.Execute(errout, diff)
+ } else {
+ defaultRead.Execute(errout, diff)
+ }
+ errout.Write([]byte{'\n'})
+
+ }
+ err := r.ReplaceReader(os.Stdin, fileout, next)
+ if err != nil {
+ os.Exit(1)
+ }
+ switch *format {
+ case "sqlite", "sqlite3":
+ fileout.Write([]byte(sqliteFooter))
+ }
+ if count != 0 && *exitError {
+ // error
+ os.Exit(2)
+ }
+ return
+ }
+
+ c := make(chan string, 64)
+ results := make(chan int, *workers)
+
+ for i := 0; i < *workers; i++ {
+ go worker(*writeit, &r, *mode, c, results)
+ }
+
+ for _, filename := range args {
+ filepath.Walk(filename, func(path string, info os.FileInfo, err error) error {
+ if err == nil && !info.IsDir() {
+ c <- path
+ }
+ return nil
+ })
+ }
+ close(c)
+
+ count := 0
+ for i := 0; i < *workers; i++ {
+ changed := <-results
+ count += changed
+ }
+
+ switch *format {
+ case "sqlite", "sqlite3":
+ stdout.Println(sqliteFooter)
+ }
+
+ if count != 0 && *exitError {
+ os.Exit(2)
+ }
+}
diff --git a/vendor/github.com/client9/misspell/goreleaser.yml b/vendor/github.com/client9/misspell/goreleaser.yml
new file mode 100644
index 0000000..560cb38
--- /dev/null
+++ b/vendor/github.com/client9/misspell/goreleaser.yml
@@ -0,0 +1,38 @@
+# goreleaser.yml
+# https://github.com/goreleaser/goreleaser
+
+project_name: misspell
+
+builds:
+ -
+ main: cmd/misspell/main.go
+ binary: misspell
+ ldflags: -s -w -X main.version={{.Version}}
+ goos:
+ - darwin
+ - linux
+ - windows
+ goarch:
+ - amd64
+ env:
+ - CGO_ENABLED=0
+ ignore:
+ - goos: darwin
+ goarch: 386
+ - goos: windows
+ goarch: 386
+
+archive:
+ name_template: "{{ .Binary }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}"
+ replacements:
+ amd64: 64bit
+ 386: 32bit
+ darwin: mac
+ files:
+ - none*
+
+checksum:
+ name_template: "{{ .ProjectName }}_{{ .Version }}_checksums.txt"
+
+snapshot:
+ name_template: "SNAPSHOT-{{.Commit}}"
diff --git a/vendor/github.com/client9/misspell/install-misspell.sh b/vendor/github.com/client9/misspell/install-misspell.sh
new file mode 100644
index 0000000..8e0ff5d
--- /dev/null
+++ b/vendor/github.com/client9/misspell/install-misspell.sh
@@ -0,0 +1,318 @@
+#!/bin/sh
+set -e
+# Code generated by godownloader. DO NOT EDIT.
+#
+
+usage() {
+ this=$1
+ cat </dev/null
+}
+uname_os() {
+ os=$(uname -s | tr '[:upper:]' '[:lower:]')
+ echo "$os"
+}
+uname_arch() {
+ arch=$(uname -m)
+ case $arch in
+ x86_64) arch="amd64" ;;
+ x86) arch="386" ;;
+ i686) arch="386" ;;
+ i386) arch="386" ;;
+ aarch64) arch="arm64" ;;
+ armv5*) arch="arm5" ;;
+ armv6*) arch="arm6" ;;
+ armv7*) arch="arm7" ;;
+ esac
+ echo ${arch}
+}
+uname_os_check() {
+ os=$(uname_os)
+ case "$os" in
+ darwin) return 0 ;;
+ dragonfly) return 0 ;;
+ freebsd) return 0 ;;
+ linux) return 0 ;;
+ android) return 0 ;;
+ nacl) return 0 ;;
+ netbsd) return 0 ;;
+ openbsd) return 0 ;;
+ plan9) return 0 ;;
+ solaris) return 0 ;;
+ windows) return 0 ;;
+ esac
+ echo "$0: uname_os_check: internal error '$(uname -s)' got converted to '$os' which is not a GOOS value. Please file bug at https://github.com/client9/shlib"
+ return 1
+}
+uname_arch_check() {
+ arch=$(uname_arch)
+ case "$arch" in
+ 386) return 0 ;;
+ amd64) return 0 ;;
+ arm64) return 0 ;;
+ armv5) return 0 ;;
+ armv6) return 0 ;;
+ armv7) return 0 ;;
+ ppc64) return 0 ;;
+ ppc64le) return 0 ;;
+ mips) return 0 ;;
+ mipsle) return 0 ;;
+ mips64) return 0 ;;
+ mips64le) return 0 ;;
+ s390x) return 0 ;;
+ amd64p32) return 0 ;;
+ esac
+ echo "$0: uname_arch_check: internal error '$(uname -m)' got converted to '$arch' which is not a GOARCH value. Please file bug report at https://github.com/client9/shlib"
+ return 1
+}
+untar() {
+ tarball=$1
+ case "${tarball}" in
+ *.tar.gz | *.tgz) tar -xzf "${tarball}" ;;
+ *.tar) tar -xf "${tarball}" ;;
+ *.zip) unzip "${tarball}" ;;
+ *)
+ echo "Unknown archive format for ${tarball}"
+ return 1
+ ;;
+ esac
+}
+mktmpdir() {
+ test -z "$TMPDIR" && TMPDIR="$(mktemp -d)"
+ mkdir -p "${TMPDIR}"
+ echo "${TMPDIR}"
+}
+http_download() {
+ local_file=$1
+ source_url=$2
+ header=$3
+ headerflag=''
+ destflag=''
+ if is_command curl; then
+ cmd='curl --fail -sSL'
+ destflag='-o'
+ headerflag='-H'
+ elif is_command wget; then
+ cmd='wget -q'
+ destflag='-O'
+ headerflag='--header'
+ else
+ echo "http_download: unable to find wget or curl"
+ return 1
+ fi
+ if [ -z "$header" ]; then
+ $cmd $destflag "$local_file" "$source_url"
+ else
+ $cmd $headerflag "$header" $destflag "$local_file" "$source_url"
+ fi
+}
+github_api() {
+ local_file=$1
+ source_url=$2
+ header=""
+ case "$source_url" in
+ https://api.github.com*)
+ test -z "$GITHUB_TOKEN" || header="Authorization: token $GITHUB_TOKEN"
+ ;;
+ esac
+ http_download "$local_file" "$source_url" "$header"
+}
+github_last_release() {
+ owner_repo=$1
+ giturl="https://api.github.com/repos/${owner_repo}/releases/latest"
+ html=$(github_api - "$giturl")
+ version=$(echo "$html" | grep -m 1 "\"tag_name\":" | cut -f4 -d'"')
+ test -z "$version" && return 1
+ echo "$version"
+}
+hash_sha256() {
+ TARGET=${1:-/dev/stdin}
+ if is_command gsha256sum; then
+ hash=$(gsha256sum "$TARGET") || return 1
+ echo "$hash" | cut -d ' ' -f 1
+ elif is_command sha256sum; then
+ hash=$(sha256sum "$TARGET") || return 1
+ echo "$hash" | cut -d ' ' -f 1
+ elif is_command shasum; then
+ hash=$(shasum -a 256 "$TARGET" 2>/dev/null) || return 1
+ echo "$hash" | cut -d ' ' -f 1
+ elif is_command openssl; then
+ hash=$(openssl -dst openssl dgst -sha256 "$TARGET") || return 1
+ echo "$hash" | cut -d ' ' -f a
+ else
+ echo "hash_sha256: unable to find command to compute sha-256 hash"
+ return 1
+ fi
+}
+hash_sha256_verify() {
+ TARGET=$1
+ checksums=$2
+ if [ -z "$checksums" ]; then
+ echo "hash_sha256_verify: checksum file not specified in arg2"
+ return 1
+ fi
+ BASENAME=${TARGET##*/}
+ want=$(grep "${BASENAME}" "${checksums}" 2>/dev/null | tr '\t' ' ' | cut -d ' ' -f 1)
+ if [ -z "$want" ]; then
+ echo "hash_sha256_verify: unable to find checksum for '${TARGET}' in '${checksums}'"
+ return 1
+ fi
+ got=$(hash_sha256 "$TARGET")
+ if [ "$want" != "$got" ]; then
+ echo "hash_sha256_verify: checksum for '$TARGET' did not verify ${want} vs $got"
+ return 1
+ fi
+}
+cat /dev/null < 50000 {
+ fin, err := os.Open(filename)
+ if err != nil {
+ return "", fmt.Errorf("Unable to open large file %q: %s", filename, err)
+ }
+ defer fin.Close()
+ buf := make([]byte, 512)
+ _, err = io.ReadFull(fin, buf)
+ if err != nil {
+ return "", fmt.Errorf("Unable to read 512 bytes from %q: %s", filename, err)
+ }
+ if !isTextFile(buf) {
+ return "", nil
+ }
+
+ // set so we don't double check this file
+ isText = true
+ }
+
+ // read in whole file
+ raw, err := ioutil.ReadFile(filename)
+ if err != nil {
+ return "", fmt.Errorf("Unable to read all %q: %s", filename, err)
+ }
+
+ if !isText && !isTextFile(raw) {
+ return "", nil
+ }
+ return string(raw), nil
+}
diff --git a/vendor/github.com/client9/misspell/notwords.go b/vendor/github.com/client9/misspell/notwords.go
new file mode 100644
index 0000000..06d0d5a
--- /dev/null
+++ b/vendor/github.com/client9/misspell/notwords.go
@@ -0,0 +1,85 @@
+package misspell
+
+import (
+ "bytes"
+ "regexp"
+ "strings"
+)
+
+var (
+ reEmail = regexp.MustCompile(`[a-zA-Z0-9_.%+-]+@[a-zA-Z0-9-.]+\.[a-zA-Z]{2,6}[^a-zA-Z]`)
+ reHost = regexp.MustCompile(`[a-zA-Z0-9-.]+\.[a-zA-Z]+`)
+ reBackslash = regexp.MustCompile(`\\[a-z]`)
+)
+
+// RemovePath attempts to strip away embedded file system paths, e.g.
+// /foo/bar or /static/myimg.png
+//
+// TODO: windows style
+//
+func RemovePath(s string) string {
+ out := bytes.Buffer{}
+ var idx int
+ for len(s) > 0 {
+ if idx = strings.IndexByte(s, '/'); idx == -1 {
+ out.WriteString(s)
+ break
+ }
+
+ if idx > 0 {
+ idx--
+ }
+
+ var chclass string
+ switch s[idx] {
+ case '/', ' ', '\n', '\t', '\r':
+ chclass = " \n\r\t"
+ case '[':
+ chclass = "]\n"
+ case '(':
+ chclass = ")\n"
+ default:
+ out.WriteString(s[:idx+2])
+ s = s[idx+2:]
+ continue
+ }
+
+ endx := strings.IndexAny(s[idx+1:], chclass)
+ if endx != -1 {
+ out.WriteString(s[:idx+1])
+ out.Write(bytes.Repeat([]byte{' '}, endx))
+ s = s[idx+endx+1:]
+ } else {
+ out.WriteString(s)
+ break
+ }
+ }
+ return out.String()
+}
+
+// replaceWithBlanks returns a string with the same number of spaces as the input
+func replaceWithBlanks(s string) string {
+ return strings.Repeat(" ", len(s))
+}
+
+// RemoveEmail remove email-like strings, e.g. "nickg+junk@xfoobar.com", "nickg@xyz.abc123.biz"
+func RemoveEmail(s string) string {
+ return reEmail.ReplaceAllStringFunc(s, replaceWithBlanks)
+}
+
+// RemoveHost removes host-like strings "foobar.com" "abc123.fo1231.biz"
+func RemoveHost(s string) string {
+ return reHost.ReplaceAllStringFunc(s, replaceWithBlanks)
+}
+
+// RemoveBackslashEscapes removes characters that are preceeded by a backslash
+// commonly found in printf format stringd "\nto"
+func removeBackslashEscapes(s string) string {
+ return reBackslash.ReplaceAllStringFunc(s, replaceWithBlanks)
+}
+
+// RemoveNotWords blanks out all the not words
+func RemoveNotWords(s string) string {
+ // do most selective/specific first
+ return removeBackslashEscapes(RemoveHost(RemoveEmail(RemovePath(StripURL(s)))))
+}
diff --git a/vendor/github.com/client9/misspell/replace.go b/vendor/github.com/client9/misspell/replace.go
new file mode 100644
index 0000000..a99bbcc
--- /dev/null
+++ b/vendor/github.com/client9/misspell/replace.go
@@ -0,0 +1,246 @@
+package misspell
+
+import (
+ "bufio"
+ "bytes"
+ "io"
+ "regexp"
+ "strings"
+ "text/scanner"
+)
+
+func max(x, y int) int {
+ if x > y {
+ return x
+ }
+ return y
+}
+
+func inArray(haystack []string, needle string) bool {
+ for _, word := range haystack {
+ if needle == word {
+ return true
+ }
+ }
+ return false
+}
+
+var wordRegexp = regexp.MustCompile(`[a-zA-Z0-9']+`)
+
+// Diff is datastructure showing what changed in a single line
+type Diff struct {
+ Filename string
+ FullLine string
+ Line int
+ Column int
+ Original string
+ Corrected string
+}
+
+// Replacer is the main struct for spelling correction
+type Replacer struct {
+ Replacements []string
+ Debug bool
+ engine *StringReplacer
+ corrected map[string]string
+}
+
+// New creates a new default Replacer using the main rule list
+func New() *Replacer {
+ r := Replacer{
+ Replacements: DictMain,
+ }
+ r.Compile()
+ return &r
+}
+
+// RemoveRule deletes existings rules.
+// TODO: make inplace to save memory
+func (r *Replacer) RemoveRule(ignore []string) {
+ newwords := make([]string, 0, len(r.Replacements))
+ for i := 0; i < len(r.Replacements); i += 2 {
+ if inArray(ignore, r.Replacements[i]) {
+ continue
+ }
+ newwords = append(newwords, r.Replacements[i:i+2]...)
+ }
+ r.engine = nil
+ r.Replacements = newwords
+}
+
+// AddRuleList appends new rules.
+// Input is in the same form as Strings.Replacer: [ old1, new1, old2, new2, ....]
+// Note: does not check for duplictes
+func (r *Replacer) AddRuleList(additions []string) {
+ r.engine = nil
+ r.Replacements = append(r.Replacements, additions...)
+}
+
+// Compile compiles the rules. Required before using the Replace functions
+func (r *Replacer) Compile() {
+
+ r.corrected = make(map[string]string, len(r.Replacements)/2)
+ for i := 0; i < len(r.Replacements); i += 2 {
+ r.corrected[r.Replacements[i]] = r.Replacements[i+1]
+ }
+ r.engine = NewStringReplacer(r.Replacements...)
+}
+
+/*
+line1 and line2 are different
+extract words from each line1
+
+replace word -> newword
+if word == new-word
+ continue
+if new-word in list of replacements
+ continue
+new word not original, and not in list of replacements
+ some substring got mixed up. UNdo
+*/
+func (r *Replacer) recheckLine(s string, lineNum int, buf io.Writer, next func(Diff)) {
+ first := 0
+ redacted := RemoveNotWords(s)
+
+ idx := wordRegexp.FindAllStringIndex(redacted, -1)
+ for _, ab := range idx {
+ word := s[ab[0]:ab[1]]
+ newword := r.engine.Replace(word)
+ if newword == word {
+ // no replacement done
+ continue
+ }
+
+ // ignore camelCase words
+ // https://github.com/client9/misspell/issues/113
+ if CaseStyle(word) == CaseUnknown {
+ continue
+ }
+
+ if StringEqualFold(r.corrected[strings.ToLower(word)], newword) {
+ // word got corrected into something we know
+ io.WriteString(buf, s[first:ab[0]])
+ io.WriteString(buf, newword)
+ first = ab[1]
+ next(Diff{
+ FullLine: s,
+ Line: lineNum,
+ Original: word,
+ Corrected: newword,
+ Column: ab[0],
+ })
+ continue
+ }
+ // Word got corrected into something unknown. Ignore it
+ }
+ io.WriteString(buf, s[first:])
+}
+
+// ReplaceGo is a specialized routine for correcting Golang source
+// files. Currently only checks comments, not identifiers for
+// spelling.
+func (r *Replacer) ReplaceGo(input string) (string, []Diff) {
+ var s scanner.Scanner
+ s.Init(strings.NewReader(input))
+ s.Mode = scanner.ScanIdents | scanner.ScanFloats | scanner.ScanChars | scanner.ScanStrings | scanner.ScanRawStrings | scanner.ScanComments
+ lastPos := 0
+ output := ""
+Loop:
+ for {
+ switch s.Scan() {
+ case scanner.Comment:
+ origComment := s.TokenText()
+ newComment := r.engine.Replace(origComment)
+
+ if origComment != newComment {
+ // s.Pos().Offset is the end of the current token
+ // subtract len(origComment) to get the start of the token
+ offset := s.Pos().Offset
+ output = output + input[lastPos:offset-len(origComment)] + newComment
+ lastPos = offset
+ }
+ case scanner.EOF:
+ break Loop
+ }
+ }
+
+ if lastPos == 0 {
+ // no changes, no copies
+ return input, nil
+ }
+ if lastPos < len(input) {
+ output = output + input[lastPos:]
+ }
+ diffs := make([]Diff, 0, 8)
+ buf := bytes.NewBuffer(make([]byte, 0, max(len(input), len(output))+100))
+ // faster that making a bytes.Buffer and bufio.ReadString
+ outlines := strings.SplitAfter(output, "\n")
+ inlines := strings.SplitAfter(input, "\n")
+ for i := 0; i < len(inlines); i++ {
+ if inlines[i] == outlines[i] {
+ buf.WriteString(outlines[i])
+ continue
+ }
+ r.recheckLine(inlines[i], i+1, buf, func(d Diff) {
+ diffs = append(diffs, d)
+ })
+ }
+
+ return buf.String(), diffs
+
+}
+
+// Replace is corrects misspellings in input, returning corrected version
+// along with a list of diffs.
+func (r *Replacer) Replace(input string) (string, []Diff) {
+ output := r.engine.Replace(input)
+ if input == output {
+ return input, nil
+ }
+ diffs := make([]Diff, 0, 8)
+ buf := bytes.NewBuffer(make([]byte, 0, max(len(input), len(output))+100))
+ // faster that making a bytes.Buffer and bufio.ReadString
+ outlines := strings.SplitAfter(output, "\n")
+ inlines := strings.SplitAfter(input, "\n")
+ for i := 0; i < len(inlines); i++ {
+ if inlines[i] == outlines[i] {
+ buf.WriteString(outlines[i])
+ continue
+ }
+ r.recheckLine(inlines[i], i+1, buf, func(d Diff) {
+ diffs = append(diffs, d)
+ })
+ }
+
+ return buf.String(), diffs
+}
+
+// ReplaceReader applies spelling corrections to a reader stream. Diffs are
+// emitted through a callback.
+func (r *Replacer) ReplaceReader(raw io.Reader, w io.Writer, next func(Diff)) error {
+ var (
+ err error
+ line string
+ lineNum int
+ )
+ reader := bufio.NewReader(raw)
+ for err == nil {
+ lineNum++
+ line, err = reader.ReadString('\n')
+
+ // if it's EOF, then line has the last line
+ // don't like the check of err here and
+ // in for loop
+ if err != nil && err != io.EOF {
+ return err
+ }
+ // easily 5x faster than regexp+map
+ if line == r.engine.Replace(line) {
+ io.WriteString(w, line)
+ continue
+ }
+ // but it can be inaccurate, so we need to double check
+ r.recheckLine(line, lineNum, w, next)
+ }
+ return nil
+}
diff --git a/vendor/github.com/client9/misspell/stringreplacer.go b/vendor/github.com/client9/misspell/stringreplacer.go
new file mode 100644
index 0000000..3151ece
--- /dev/null
+++ b/vendor/github.com/client9/misspell/stringreplacer.go
@@ -0,0 +1,336 @@
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package misspell
+
+import (
+ "io"
+ // "log"
+ "strings"
+)
+
+// StringReplacer replaces a list of strings with replacements.
+// It is safe for concurrent use by multiple goroutines.
+type StringReplacer struct {
+ r replacer
+}
+
+// replacer is the interface that a replacement algorithm needs to implement.
+type replacer interface {
+ Replace(s string) string
+ WriteString(w io.Writer, s string) (n int, err error)
+}
+
+// NewStringReplacer returns a new Replacer from a list of old, new string pairs.
+// Replacements are performed in order, without overlapping matches.
+func NewStringReplacer(oldnew ...string) *StringReplacer {
+ if len(oldnew)%2 == 1 {
+ panic("strings.NewReplacer: odd argument count")
+ }
+
+ return &StringReplacer{r: makeGenericReplacer(oldnew)}
+}
+
+// Replace returns a copy of s with all replacements performed.
+func (r *StringReplacer) Replace(s string) string {
+ return r.r.Replace(s)
+}
+
+// WriteString writes s to w with all replacements performed.
+func (r *StringReplacer) WriteString(w io.Writer, s string) (n int, err error) {
+ return r.r.WriteString(w, s)
+}
+
+// trieNode is a node in a lookup trie for prioritized key/value pairs. Keys
+// and values may be empty. For example, the trie containing keys "ax", "ay",
+// "bcbc", "x" and "xy" could have eight nodes:
+//
+// n0 -
+// n1 a-
+// n2 .x+
+// n3 .y+
+// n4 b-
+// n5 .cbc+
+// n6 x+
+// n7 .y+
+//
+// n0 is the root node, and its children are n1, n4 and n6; n1's children are
+// n2 and n3; n4's child is n5; n6's child is n7. Nodes n0, n1 and n4 (marked
+// with a trailing "-") are partial keys, and nodes n2, n3, n5, n6 and n7
+// (marked with a trailing "+") are complete keys.
+type trieNode struct {
+ // value is the value of the trie node's key/value pair. It is empty if
+ // this node is not a complete key.
+ value string
+ // priority is the priority (higher is more important) of the trie node's
+ // key/value pair; keys are not necessarily matched shortest- or longest-
+ // first. Priority is positive if this node is a complete key, and zero
+ // otherwise. In the example above, positive/zero priorities are marked
+ // with a trailing "+" or "-".
+ priority int
+
+ // A trie node may have zero, one or more child nodes:
+ // * if the remaining fields are zero, there are no children.
+ // * if prefix and next are non-zero, there is one child in next.
+ // * if table is non-zero, it defines all the children.
+ //
+ // Prefixes are preferred over tables when there is one child, but the
+ // root node always uses a table for lookup efficiency.
+
+ // prefix is the difference in keys between this trie node and the next.
+ // In the example above, node n4 has prefix "cbc" and n4's next node is n5.
+ // Node n5 has no children and so has zero prefix, next and table fields.
+ prefix string
+ next *trieNode
+
+ // table is a lookup table indexed by the next byte in the key, after
+ // remapping that byte through genericReplacer.mapping to create a dense
+ // index. In the example above, the keys only use 'a', 'b', 'c', 'x' and
+ // 'y', which remap to 0, 1, 2, 3 and 4. All other bytes remap to 5, and
+ // genericReplacer.tableSize will be 5. Node n0's table will be
+ // []*trieNode{ 0:n1, 1:n4, 3:n6 }, where the 0, 1 and 3 are the remapped
+ // 'a', 'b' and 'x'.
+ table []*trieNode
+}
+
+func (t *trieNode) add(key, val string, priority int, r *genericReplacer) {
+ if key == "" {
+ if t.priority == 0 {
+ t.value = val
+ t.priority = priority
+ }
+ return
+ }
+
+ if t.prefix != "" {
+ // Need to split the prefix among multiple nodes.
+ var n int // length of the longest common prefix
+ for ; n < len(t.prefix) && n < len(key); n++ {
+ if t.prefix[n] != key[n] {
+ break
+ }
+ }
+ if n == len(t.prefix) {
+ t.next.add(key[n:], val, priority, r)
+ } else if n == 0 {
+ // First byte differs, start a new lookup table here. Looking up
+ // what is currently t.prefix[0] will lead to prefixNode, and
+ // looking up key[0] will lead to keyNode.
+ var prefixNode *trieNode
+ if len(t.prefix) == 1 {
+ prefixNode = t.next
+ } else {
+ prefixNode = &trieNode{
+ prefix: t.prefix[1:],
+ next: t.next,
+ }
+ }
+ keyNode := new(trieNode)
+ t.table = make([]*trieNode, r.tableSize)
+ t.table[r.mapping[t.prefix[0]]] = prefixNode
+ t.table[r.mapping[key[0]]] = keyNode
+ t.prefix = ""
+ t.next = nil
+ keyNode.add(key[1:], val, priority, r)
+ } else {
+ // Insert new node after the common section of the prefix.
+ next := &trieNode{
+ prefix: t.prefix[n:],
+ next: t.next,
+ }
+ t.prefix = t.prefix[:n]
+ t.next = next
+ next.add(key[n:], val, priority, r)
+ }
+ } else if t.table != nil {
+ // Insert into existing table.
+ m := r.mapping[key[0]]
+ if t.table[m] == nil {
+ t.table[m] = new(trieNode)
+ }
+ t.table[m].add(key[1:], val, priority, r)
+ } else {
+ t.prefix = key
+ t.next = new(trieNode)
+ t.next.add("", val, priority, r)
+ }
+}
+
+func (r *genericReplacer) lookup(s string, ignoreRoot bool) (val string, keylen int, found bool) {
+ // Iterate down the trie to the end, and grab the value and keylen with
+ // the highest priority.
+ bestPriority := 0
+ node := &r.root
+ n := 0
+ for node != nil {
+ if node.priority > bestPriority && !(ignoreRoot && node == &r.root) {
+ bestPriority = node.priority
+ val = node.value
+ keylen = n
+ found = true
+ }
+
+ if s == "" {
+ break
+ }
+ if node.table != nil {
+ index := r.mapping[ByteToLower(s[0])]
+ if int(index) == r.tableSize {
+ break
+ }
+ node = node.table[index]
+ s = s[1:]
+ n++
+ } else if node.prefix != "" && StringHasPrefixFold(s, node.prefix) {
+ n += len(node.prefix)
+ s = s[len(node.prefix):]
+ node = node.next
+ } else {
+ break
+ }
+ }
+ return
+}
+
+// genericReplacer is the fully generic algorithm.
+// It's used as a fallback when nothing faster can be used.
+type genericReplacer struct {
+ root trieNode
+ // tableSize is the size of a trie node's lookup table. It is the number
+ // of unique key bytes.
+ tableSize int
+ // mapping maps from key bytes to a dense index for trieNode.table.
+ mapping [256]byte
+}
+
+func makeGenericReplacer(oldnew []string) *genericReplacer {
+ r := new(genericReplacer)
+ // Find each byte used, then assign them each an index.
+ for i := 0; i < len(oldnew); i += 2 {
+ key := strings.ToLower(oldnew[i])
+ for j := 0; j < len(key); j++ {
+ r.mapping[key[j]] = 1
+ }
+ }
+
+ for _, b := range r.mapping {
+ r.tableSize += int(b)
+ }
+
+ var index byte
+ for i, b := range r.mapping {
+ if b == 0 {
+ r.mapping[i] = byte(r.tableSize)
+ } else {
+ r.mapping[i] = index
+ index++
+ }
+ }
+ // Ensure root node uses a lookup table (for performance).
+ r.root.table = make([]*trieNode, r.tableSize)
+
+ for i := 0; i < len(oldnew); i += 2 {
+ r.root.add(strings.ToLower(oldnew[i]), oldnew[i+1], len(oldnew)-i, r)
+ }
+ return r
+}
+
+type appendSliceWriter []byte
+
+// Write writes to the buffer to satisfy io.Writer.
+func (w *appendSliceWriter) Write(p []byte) (int, error) {
+ *w = append(*w, p...)
+ return len(p), nil
+}
+
+// WriteString writes to the buffer without string->[]byte->string allocations.
+func (w *appendSliceWriter) WriteString(s string) (int, error) {
+ *w = append(*w, s...)
+ return len(s), nil
+}
+
+type stringWriterIface interface {
+ WriteString(string) (int, error)
+}
+
+type stringWriter struct {
+ w io.Writer
+}
+
+func (w stringWriter) WriteString(s string) (int, error) {
+ return w.w.Write([]byte(s))
+}
+
+func getStringWriter(w io.Writer) stringWriterIface {
+ sw, ok := w.(stringWriterIface)
+ if !ok {
+ sw = stringWriter{w}
+ }
+ return sw
+}
+
+func (r *genericReplacer) Replace(s string) string {
+ buf := make(appendSliceWriter, 0, len(s))
+ r.WriteString(&buf, s)
+ return string(buf)
+}
+
+func (r *genericReplacer) WriteString(w io.Writer, s string) (n int, err error) {
+ sw := getStringWriter(w)
+ var last, wn int
+ var prevMatchEmpty bool
+ for i := 0; i <= len(s); {
+ // Fast path: s[i] is not a prefix of any pattern.
+ if i != len(s) && r.root.priority == 0 {
+ index := int(r.mapping[ByteToLower(s[i])])
+ if index == r.tableSize || r.root.table[index] == nil {
+ i++
+ continue
+ }
+ }
+
+ // Ignore the empty match iff the previous loop found the empty match.
+ val, keylen, match := r.lookup(s[i:], prevMatchEmpty)
+ prevMatchEmpty = match && keylen == 0
+ if match {
+ orig := s[i : i+keylen]
+ switch CaseStyle(orig) {
+ case CaseUnknown:
+ // pretend we didn't match
+ // i++
+ // continue
+ case CaseUpper:
+ val = strings.ToUpper(val)
+ case CaseLower:
+ val = strings.ToLower(val)
+ case CaseTitle:
+ if len(val) < 2 {
+ val = strings.ToUpper(val)
+ } else {
+ val = strings.ToUpper(val[:1]) + strings.ToLower(val[1:])
+ }
+ }
+ wn, err = sw.WriteString(s[last:i])
+ n += wn
+ if err != nil {
+ return
+ }
+ //log.Printf("%d: Going to correct %q with %q", i, s[i:i+keylen], val)
+ wn, err = sw.WriteString(val)
+ n += wn
+ if err != nil {
+ return
+ }
+ i += keylen
+ last = i
+ continue
+ }
+ i++
+ }
+ if last != len(s) {
+ wn, err = sw.WriteString(s[last:])
+ n += wn
+ }
+ return
+}
diff --git a/vendor/github.com/client9/misspell/stringreplacer_test.gox b/vendor/github.com/client9/misspell/stringreplacer_test.gox
new file mode 100644
index 0000000..70da997
--- /dev/null
+++ b/vendor/github.com/client9/misspell/stringreplacer_test.gox
@@ -0,0 +1,421 @@
+// Copyright 2009 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package misspell_test
+
+import (
+ "bytes"
+ "fmt"
+ "strings"
+ "testing"
+
+ . "github.com/client9/misspell"
+)
+
+var htmlEscaper = NewStringReplacer(
+ "&", "&",
+ "<", "<",
+ ">", ">",
+ `"`, """,
+ "'", "'",
+)
+
+var htmlUnescaper = NewStringReplacer(
+ "&", "&",
+ "<", "<",
+ ">", ">",
+ """, `"`,
+ "'", "'",
+)
+
+// The http package's old HTML escaping function.
+func oldHTMLEscape(s string) string {
+ s = strings.Replace(s, "&", "&", -1)
+ s = strings.Replace(s, "<", "<", -1)
+ s = strings.Replace(s, ">", ">", -1)
+ s = strings.Replace(s, `"`, """, -1)
+ s = strings.Replace(s, "'", "'", -1)
+ return s
+}
+
+var capitalLetters = NewStringReplacer("a", "A", "b", "B")
+
+// TestReplacer tests the replacer implementations.
+func TestReplacer(t *testing.T) {
+ type testCase struct {
+ r *StringReplacer
+ in, out string
+ }
+ var testCases []testCase
+
+ // str converts 0xff to "\xff". This isn't just string(b) since that converts to UTF-8.
+ str := func(b byte) string {
+ return string([]byte{b})
+ }
+ var s []string
+
+ // inc maps "\x00"->"\x01", ..., "a"->"b", "b"->"c", ..., "\xff"->"\x00".
+ for i := 0; i < 256; i++ {
+ s = append(s, str(byte(i)), str(byte(i+1)))
+ }
+ inc := NewStringReplacer(s...)
+
+ // Test cases with 1-byte old strings, 1-byte new strings.
+ testCases = append(testCases,
+ testCase{capitalLetters, "brad", "BrAd"},
+ testCase{capitalLetters, strings.Repeat("a", (32<<10)+123), strings.Repeat("A", (32<<10)+123)},
+ testCase{capitalLetters, "", ""},
+
+ testCase{inc, "brad", "csbe"},
+ testCase{inc, "\x00\xff", "\x01\x00"},
+ testCase{inc, "", ""},
+
+ testCase{NewStringReplacer("a", "1", "a", "2"), "brad", "br1d"},
+ )
+
+ // repeat maps "a"->"a", "b"->"bb", "c"->"ccc", ...
+ s = nil
+ for i := 0; i < 256; i++ {
+ n := i + 1 - 'a'
+ if n < 1 {
+ n = 1
+ }
+ s = append(s, str(byte(i)), strings.Repeat(str(byte(i)), n))
+ }
+ repeat := NewStringReplacer(s...)
+
+ // Test cases with 1-byte old strings, variable length new strings.
+ testCases = append(testCases,
+ testCase{htmlEscaper, "No changes", "No changes"},
+ testCase{htmlEscaper, "I <3 escaping & stuff", "I <3 escaping & stuff"},
+ testCase{htmlEscaper, "&&&", "&&&"},
+ testCase{htmlEscaper, "", ""},
+
+ testCase{repeat, "brad", "bbrrrrrrrrrrrrrrrrrradddd"},
+ testCase{repeat, "abba", "abbbba"},
+ testCase{repeat, "", ""},
+
+ testCase{NewStringReplacer("a", "11", "a", "22"), "brad", "br11d"},
+ )
+
+ // The remaining test cases have variable length old strings.
+
+ testCases = append(testCases,
+ testCase{htmlUnescaper, "&", "&"},
+ testCase{htmlUnescaper, "<b>HTML's neat</b>", "HTML's neat"},
+ testCase{htmlUnescaper, "", ""},
+
+ testCase{NewStringReplacer("a", "1", "a", "2", "xxx", "xxx"), "brad", "br1d"},
+
+ testCase{NewStringReplacer("a", "1", "aa", "2", "aaa", "3"), "aaaa", "1111"},
+
+ testCase{NewStringReplacer("aaa", "3", "aa", "2", "a", "1"), "aaaa", "31"},
+ )
+
+ // gen1 has multiple old strings of variable length. There is no
+ // overall non-empty common prefix, but some pairwise common prefixes.
+ gen1 := NewStringReplacer(
+ "aaa", "3[aaa]",
+ "aa", "2[aa]",
+ "a", "1[a]",
+ "i", "i",
+ "longerst", "most long",
+ "longer", "medium",
+ "long", "short",
+ "xx", "xx",
+ "x", "X",
+ "X", "Y",
+ "Y", "Z",
+ )
+ testCases = append(testCases,
+ testCase{gen1, "fooaaabar", "foo3[aaa]b1[a]r"},
+ testCase{gen1, "long, longerst, longer", "short, most long, medium"},
+ testCase{gen1, "xxxxx", "xxxxX"},
+ testCase{gen1, "XiX", "YiY"},
+ testCase{gen1, "", ""},
+ )
+
+ // gen2 has multiple old strings with no pairwise common prefix.
+ gen2 := NewStringReplacer(
+ "roses", "red",
+ "violets", "blue",
+ "sugar", "sweet",
+ )
+ testCases = append(testCases,
+ testCase{gen2, "roses are red, violets are blue...", "red are red, blue are blue..."},
+ testCase{gen2, "", ""},
+ )
+
+ // gen3 has multiple old strings with an overall common prefix.
+ gen3 := NewStringReplacer(
+ "abracadabra", "poof",
+ "abracadabrakazam", "splat",
+ "abraham", "lincoln",
+ "abrasion", "scrape",
+ "abraham", "isaac",
+ )
+ testCases = append(testCases,
+ testCase{gen3, "abracadabrakazam abraham", "poofkazam lincoln"},
+ testCase{gen3, "abrasion abracad", "scrape abracad"},
+ testCase{gen3, "abba abram abrasive", "abba abram abrasive"},
+ testCase{gen3, "", ""},
+ )
+
+ // foo{1,2,3,4} have multiple old strings with an overall common prefix
+ // and 1- or 2- byte extensions from the common prefix.
+ foo1 := NewStringReplacer(
+ "foo1", "A",
+ "foo2", "B",
+ "foo3", "C",
+ )
+ foo2 := NewStringReplacer(
+ "foo1", "A",
+ "foo2", "B",
+ "foo31", "C",
+ "foo32", "D",
+ )
+ foo3 := NewStringReplacer(
+ "foo11", "A",
+ "foo12", "B",
+ "foo31", "C",
+ "foo32", "D",
+ )
+ foo4 := NewStringReplacer(
+ "foo12", "B",
+ "foo32", "D",
+ )
+ testCases = append(testCases,
+ testCase{foo1, "fofoofoo12foo32oo", "fofooA2C2oo"},
+ testCase{foo1, "", ""},
+
+ testCase{foo2, "fofoofoo12foo32oo", "fofooA2Doo"},
+ testCase{foo2, "", ""},
+
+ testCase{foo3, "fofoofoo12foo32oo", "fofooBDoo"},
+ testCase{foo3, "", ""},
+
+ testCase{foo4, "fofoofoo12foo32oo", "fofooBDoo"},
+ testCase{foo4, "", ""},
+ )
+
+ // genAll maps "\x00\x01\x02...\xfe\xff" to "[all]", amongst other things.
+ allBytes := make([]byte, 256)
+ for i := range allBytes {
+ allBytes[i] = byte(i)
+ }
+ allString := string(allBytes)
+ genAll := NewStringReplacer(
+ allString, "[all]",
+ "\xff", "[ff]",
+ "\x00", "[00]",
+ )
+ testCases = append(testCases,
+ testCase{genAll, allString, "[all]"},
+ testCase{genAll, "a\xff" + allString + "\x00", "a[ff][all][00]"},
+ testCase{genAll, "", ""},
+ )
+
+ // Test cases with empty old strings.
+
+ blankToX1 := NewStringReplacer("", "X")
+ blankToX2 := NewStringReplacer("", "X", "", "")
+ blankHighPriority := NewStringReplacer("", "X", "o", "O")
+ blankLowPriority := NewStringReplacer("o", "O", "", "X")
+ blankNoOp1 := NewStringReplacer("", "")
+ blankNoOp2 := NewStringReplacer("", "", "", "A")
+ blankFoo := NewStringReplacer("", "X", "foobar", "R", "foobaz", "Z")
+ testCases = append(testCases,
+ testCase{blankToX1, "foo", "XfXoXoX"},
+ testCase{blankToX1, "", "X"},
+
+ testCase{blankToX2, "foo", "XfXoXoX"},
+ testCase{blankToX2, "", "X"},
+
+ testCase{blankHighPriority, "oo", "XOXOX"},
+ testCase{blankHighPriority, "ii", "XiXiX"},
+ testCase{blankHighPriority, "oiio", "XOXiXiXOX"},
+ testCase{blankHighPriority, "iooi", "XiXOXOXiX"},
+ testCase{blankHighPriority, "", "X"},
+
+ testCase{blankLowPriority, "oo", "OOX"},
+ testCase{blankLowPriority, "ii", "XiXiX"},
+ testCase{blankLowPriority, "oiio", "OXiXiOX"},
+ testCase{blankLowPriority, "iooi", "XiOOXiX"},
+ testCase{blankLowPriority, "", "X"},
+
+ testCase{blankNoOp1, "foo", "foo"},
+ testCase{blankNoOp1, "", ""},
+
+ testCase{blankNoOp2, "foo", "foo"},
+ testCase{blankNoOp2, "", ""},
+
+ testCase{blankFoo, "foobarfoobaz", "XRXZX"},
+ testCase{blankFoo, "foobar-foobaz", "XRX-XZX"},
+ testCase{blankFoo, "", "X"},
+ )
+
+ // single string replacer
+
+ abcMatcher := NewStringReplacer("abc", "[match]")
+
+ testCases = append(testCases,
+ testCase{abcMatcher, "", ""},
+ testCase{abcMatcher, "ab", "ab"},
+ testCase{abcMatcher, "abc", "[match]"},
+ testCase{abcMatcher, "abcd", "[match]d"},
+ testCase{abcMatcher, "cabcabcdabca", "c[match][match]d[match]a"},
+ )
+
+ // Issue 6659 cases (more single string replacer)
+
+ noHello := NewStringReplacer("Hello", "")
+ testCases = append(testCases,
+ testCase{noHello, "Hello", ""},
+ testCase{noHello, "Hellox", "x"},
+ testCase{noHello, "xHello", "x"},
+ testCase{noHello, "xHellox", "xx"},
+ )
+
+ // No-arg test cases.
+
+ nop := NewStringReplacer()
+ testCases = append(testCases,
+ testCase{nop, "abc", "abc"},
+ testCase{nop, "", ""},
+ )
+
+ // Run the test cases.
+
+ for i, tc := range testCases {
+ if s := tc.r.Replace(tc.in); s != tc.out {
+ t.Errorf("%d. strings.Replace(%q) = %q, want %q", i, tc.in, s, tc.out)
+ }
+ var buf bytes.Buffer
+ n, err := tc.r.WriteString(&buf, tc.in)
+ if err != nil {
+ t.Errorf("%d. WriteString: %v", i, err)
+ continue
+ }
+ got := buf.String()
+ if got != tc.out {
+ t.Errorf("%d. WriteString(%q) wrote %q, want %q", i, tc.in, got, tc.out)
+ continue
+ }
+ if n != len(tc.out) {
+ t.Errorf("%d. WriteString(%q) wrote correct string but reported %d bytes; want %d (%q)",
+ i, tc.in, n, len(tc.out), tc.out)
+ }
+ }
+}
+
+type errWriter struct{}
+
+func (errWriter) Write(p []byte) (n int, err error) {
+ return 0, fmt.Errorf("unwritable")
+}
+
+func BenchmarkGenericNoMatch(b *testing.B) {
+ str := strings.Repeat("A", 100) + strings.Repeat("B", 100)
+ generic := NewStringReplacer("a", "A", "b", "B", "12", "123") // varying lengths forces generic
+ for i := 0; i < b.N; i++ {
+ generic.Replace(str)
+ }
+}
+
+func BenchmarkGenericMatch1(b *testing.B) {
+ str := strings.Repeat("a", 100) + strings.Repeat("b", 100)
+ generic := NewStringReplacer("a", "A", "b", "B", "12", "123")
+ for i := 0; i < b.N; i++ {
+ generic.Replace(str)
+ }
+}
+
+func BenchmarkGenericMatch2(b *testing.B) {
+ str := strings.Repeat("It's <b>HTML</b>!", 100)
+ for i := 0; i < b.N; i++ {
+ htmlUnescaper.Replace(str)
+ }
+}
+
+func benchmarkSingleString(b *testing.B, pattern, text string) {
+ r := NewStringReplacer(pattern, "[match]")
+ b.SetBytes(int64(len(text)))
+ b.ResetTimer()
+ for i := 0; i < b.N; i++ {
+ r.Replace(text)
+ }
+}
+
+func BenchmarkSingleMaxSkipping(b *testing.B) {
+ benchmarkSingleString(b, strings.Repeat("b", 25), strings.Repeat("a", 10000))
+}
+
+func BenchmarkSingleLongSuffixFail(b *testing.B) {
+ benchmarkSingleString(b, "b"+strings.Repeat("a", 500), strings.Repeat("a", 1002))
+}
+
+func BenchmarkSingleMatch(b *testing.B) {
+ benchmarkSingleString(b, "abcdef", strings.Repeat("abcdefghijklmno", 1000))
+}
+
+func BenchmarkByteByteNoMatch(b *testing.B) {
+ str := strings.Repeat("A", 100) + strings.Repeat("B", 100)
+ for i := 0; i < b.N; i++ {
+ capitalLetters.Replace(str)
+ }
+}
+
+func BenchmarkByteByteMatch(b *testing.B) {
+ str := strings.Repeat("a", 100) + strings.Repeat("b", 100)
+ for i := 0; i < b.N; i++ {
+ capitalLetters.Replace(str)
+ }
+}
+
+func BenchmarkByteStringMatch(b *testing.B) {
+ str := "<" + strings.Repeat("a", 99) + strings.Repeat("b", 99) + ">"
+ for i := 0; i < b.N; i++ {
+ htmlEscaper.Replace(str)
+ }
+}
+
+func BenchmarkHTMLEscapeNew(b *testing.B) {
+ str := "I <3 to escape HTML & other text too."
+ for i := 0; i < b.N; i++ {
+ htmlEscaper.Replace(str)
+ }
+}
+
+func BenchmarkHTMLEscapeOld(b *testing.B) {
+ str := "I <3 to escape HTML & other text too."
+ for i := 0; i < b.N; i++ {
+ oldHTMLEscape(str)
+ }
+}
+
+func BenchmarkByteStringReplacerWriteString(b *testing.B) {
+ str := strings.Repeat("I <3 to escape HTML & other text too.", 100)
+ buf := new(bytes.Buffer)
+ for i := 0; i < b.N; i++ {
+ htmlEscaper.WriteString(buf, str)
+ buf.Reset()
+ }
+}
+
+func BenchmarkByteReplacerWriteString(b *testing.B) {
+ str := strings.Repeat("abcdefghijklmnopqrstuvwxyz", 100)
+ buf := new(bytes.Buffer)
+ for i := 0; i < b.N; i++ {
+ capitalLetters.WriteString(buf, str)
+ buf.Reset()
+ }
+}
+
+// BenchmarkByteByteReplaces compares byteByteImpl against multiple Replaces.
+func BenchmarkByteByteReplaces(b *testing.B) {
+ str := strings.Repeat("a", 100) + strings.Repeat("b", 100)
+ for i := 0; i < b.N; i++ {
+ strings.Replace(strings.Replace(str, "a", "A", -1), "b", "B", -1)
+ }
+}
diff --git a/vendor/github.com/client9/misspell/url.go b/vendor/github.com/client9/misspell/url.go
new file mode 100644
index 0000000..1a259f5
--- /dev/null
+++ b/vendor/github.com/client9/misspell/url.go
@@ -0,0 +1,17 @@
+package misspell
+
+import (
+ "regexp"
+)
+
+// Regexp for URL https://mathiasbynens.be/demo/url-regex
+//
+// original @imme_emosol (54 chars) has trouble with dashes in hostname
+// @(https?|ftp)://(-\.)?([^\s/?\.#-]+\.?)+(/[^\s]*)?$@iS
+var reURL = regexp.MustCompile(`(?i)(https?|ftp)://(-\.)?([^\s/?\.#]+\.?)+(/[^\s]*)?`)
+
+// StripURL attemps to replace URLs with blank spaces, e.g.
+// "xxx http://foo.com/ yyy -> "xxx yyyy"
+func StripURL(s string) string {
+ return reURL.ReplaceAllStringFunc(s, replaceWithBlanks)
+}
diff --git a/vendor/github.com/client9/misspell/words.go b/vendor/github.com/client9/misspell/words.go
new file mode 100644
index 0000000..c92dd19
--- /dev/null
+++ b/vendor/github.com/client9/misspell/words.go
@@ -0,0 +1,31158 @@
+package misspell
+
+// Code generated automatically. DO NOT EDIT.
+
+// DictMain is the main rule set, not including locale-specific spellings
+var DictMain = []string{
+ "differentiatiations", "differentiations",
+ "disproportionaltely", "disproportionately",
+ "oversimplificiation", "oversimplification",
+ "transcendentational", "transcendental",
+ "anthromorphization", "anthropomorphization",
+ "disporportionately", "disproportionately",
+ "dispraportionately", "disproportionately",
+ "disproportianately", "disproportionately",
+ "disproportionatley", "disproportionately",
+ "disproprotionately", "disproportionately",
+ "fundamentalistisch", "fundamentalists",
+ "fundamentalistiska", "fundamentalists",
+ "fundamentalistiske", "fundamentalists",
+ "fundamentalistiskt", "fundamentalists",
+ "histocompatability", "histocompatibility",
+ "microtransacations", "microtransactions",
+ "microtransacciones", "microtransactions",
+ "microtransactional", "microtransactions",
+ "microtransactioned", "microtransactions",
+ "misunderstandingly", "misunderstandings",
+ "oversemplification", "oversimplification",
+ "oversimplifacation", "oversimplification",
+ "oversimplificaiton", "oversimplification",
+ "oversimplificating", "oversimplification",
+ "oversimplyfication", "oversimplification",
+ "cardiovasculaires", "cardiovascular",
+ "certificationkits", "certifications",
+ "counterporductive", "counterproductive",
+ "coutnerproductive", "counterproductive",
+ "disporportionatly", "disproportionately",
+ "disproportiantely", "disproportionately",
+ "disproportionatly", "disproportionately",
+ "disproportionnate", "disproportionate",
+ "disrepresentation", "misrepresentation",
+ "fundamentalistisk", "fundamentalists",
+ "incompatabilities", "incompatibilities",
+ "inconsequentional", "inconsequential",
+ "indistinguishible", "indistinguishable",
+ "indistingusihable", "indistinguishable",
+ "indistinquishable", "indistinguishable",
+ "indistuingishable", "indistinguishable",
+ "instatutionalized", "institutionalized",
+ "institucionalized", "institutionalized",
+ "institutionilized", "institutionalized",
+ "instutitionalized", "institutionalized",
+ "instututionalized", "institutionalized",
+ "interchangeablely", "interchangeably",
+ "interchangeablity", "interchangeably",
+ "intercontinential", "intercontinental",
+ "micortransactions", "microtransactions",
+ "microstansactions", "microtransactions",
+ "microtramsactions", "microtransactions",
+ "microtranasctions", "microtransactions",
+ "microtransacitons", "microtransactions",
+ "microtransacrions", "microtransactions",
+ "microtransactioms", "microtransactions",
+ "microtransactiosn", "microtransactions",
+ "microtranscations", "microtransactions",
+ "microtrasnactions", "microtransactions",
+ "mircotransactions", "microtransactions",
+ "misinterpretating", "misinterpreting",
+ "misrepresantation", "misrepresentation",
+ "misrepresentaiton", "misrepresentation",
+ "misrepresentating", "misrepresenting",
+ "misunderstantings", "misunderstandings",
+ "mocrotransactions", "microtransactions",
+ "oversimplifaction", "oversimplification",
+ "oversimplificaton", "oversimplification",
+ "oversimplifiction", "oversimplification",
+ "responsibillities", "responsibilities",
+ "unconstitutionnal", "unconstitutional",
+ "accomplishements", "accomplishments",
+ "admininistrative", "administrative",
+ "antidepresssants", "antidepressants",
+ "architechturally", "architecturally",
+ "cardiovasculaire", "cardiovascular",
+ "charactarization", "characterization",
+ "characterazation", "characterization",
+ "characterisitics", "characteristics",
+ "characteristsics", "characteristic",
+ "characterizarion", "characterization",
+ "charecterization", "characterization",
+ "charicterization", "characterization",
+ "circumstantional", "circumstantial",
+ "conversationable", "conversational",
+ "counterprodutive", "counterproductive",
+ "demonstrationens", "demonstrations",
+ "deterministische", "deterministic",
+ "differenciations", "differentiation",
+ "differentiantion", "differentiation",
+ "differentiatiors", "differentiation",
+ "differentitation", "differentiation",
+ "disperportionate", "disproportionate",
+ "disporportionate", "disproportionate",
+ "dispraportionate", "disproportionate",
+ "disproportianate", "disproportionate",
+ "disproportionaly", "disproportionately",
+ "disproprotionate", "disproportionate",
+ "electromagnectic", "electromagnetic",
+ "enviornmentalist", "environmentalist",
+ "environmentality", "environmentally",
+ "extraordinairily", "extraordinarily",
+ "extraordinarilly", "extraordinary",
+ "extraterrestials", "extraterrestrials",
+ "fundamentalismos", "fundamentalists",
+ "fundamentalismus", "fundamentalists",
+ "fundamentalistas", "fundamentalists",
+ "fundamentalisten", "fundamentalists",
+ "fundamentalister", "fundamentalists",
+ "imcomprehensible", "incomprehensible",
+ "immunosupressant", "immunosuppressant",
+ "imperfectionists", "imperfections",
+ "implementaciones", "implementations",
+ "implementationen", "implementations",
+ "implementationer", "implementations",
+ "inappropriatelly", "inappropriately",
+ "incompatablities", "incompatibilities",
+ "incompatiblities", "incompatibilities",
+ "incomprehencible", "incomprehensible",
+ "incomprehendible", "incomprehensible",
+ "incomprehenisble", "incomprehensible",
+ "incomprehensable", "incomprehensible",
+ "incomprehinsible", "incomprehensible",
+ "incomprihensible", "incomprehensible",
+ "inconprehensible", "incomprehensible",
+ "inconsistentcies", "inconsistencies",
+ "inconstitutional", "unconstitutional",
+ "incrompehensible", "incomprehensible",
+ "indistinguisable", "indistinguishable",
+ "institutionlized", "institutionalized",
+ "intellectualiser", "intellectuals",
+ "intellectualisme", "intellectuals",
+ "interchangeabley", "interchangeably",
+ "internationnally", "internationally",
+ "interpretaciones", "interpretations",
+ "interpretationen", "interpretations",
+ "manoeuverability", "maneuverability",
+ "massachusettians", "massachusetts",
+ "microtransacions", "microtransactions",
+ "microtransacting", "microtransactions",
+ "microtransactios", "microtransactions",
+ "microtransactons", "microtransactions",
+ "microtransations", "microtransactions",
+ "microtranscation", "microtransactions",
+ "mircotransaction", "microtransactions",
+ "miscommunciation", "miscommunication",
+ "miscommunicaiton", "miscommunication",
+ "miscomunnication", "miscommunication",
+ "miscummunication", "miscommunication",
+ "misinterpretated", "misinterpreted",
+ "misinterpretions", "misinterpreting",
+ "misinterpretting", "misinterpreting",
+ "misproportionate", "disproportionate",
+ "misrepresenation", "misrepresentation",
+ "misrepresentaion", "misrepresentation",
+ "misrepresentated", "misrepresented",
+ "misrepresentatie", "misrepresentation",
+ "misrepresentativ", "misrepresentation",
+ "misubderstanding", "misunderstandings",
+ "misudnerstanding", "misunderstandings",
+ "misundarstanding", "misunderstandings",
+ "misunderatanding", "misunderstandings",
+ "misunderdtanding", "misunderstandings",
+ "misundersatnding", "misunderstandings",
+ "misundersranding", "misunderstandings",
+ "misunderstadings", "misunderstandings",
+ "misunderstadning", "misunderstandings",
+ "misunderstamding", "misunderstandings",
+ "misunderstandigs", "misunderstandings",
+ "misunderstandimg", "misunderstandings",
+ "misunderstandind", "misunderstandings",
+ "misunderstanging", "misunderstandings",
+ "misunderstanidng", "misunderstandings",
+ "misunderstanings", "misunderstandings",
+ "misunderstansing", "misunderstandings",
+ "misunderstanting", "misunderstandings",
+ "misunderstending", "misunderstandings",
+ "misunderstnading", "misunderstandings",
+ "misunderstsnding", "misunderstandings",
+ "misunderstunding", "misunderstandings",
+ "misundertsanding", "misunderstandings",
+ "misundrestanding", "misunderstandings",
+ "misunterstanding", "misunderstandings",
+ "nationalistische", "nationalistic",
+ "nationalististic", "nationalistic",
+ "neconstitutional", "unconstitutional",
+ "notwhithstanding", "notwithstanding",
+ "objectificiation", "objectification",
+ "organisationnels", "organisations",
+ "perpendiculaires", "perpendicular",
+ "phillosophically", "philosophically",
+ "preinitalization", "preinitialization",
+ "prescriptionists", "prescriptions",
+ "procrastinarting", "procrastinating",
+ "procrastinationg", "procrastinating",
+ "procrastinazione", "procrastination",
+ "professionalisim", "professionalism",
+ "professionalisme", "professionals",
+ "professionallism", "professionalism",
+ "professionnalism", "professionalism",
+ "programattically", "programmatically",
+ "proportionallity", "proportionally",
+ "reaponsibilities", "responsibilities",
+ "reinitalizations", "reinitializations",
+ "representaciones", "representations",
+ "representationen", "representations",
+ "representationer", "representations",
+ "repsonsibilities", "responsibilities",
+ "responcibilities", "responsibilities",
+ "responisbilities", "responsibilities",
+ "responsabilities", "responsibilities",
+ "responsebilities", "responsibilities",
+ "straightforeward", "straightforward",
+ "surrepetitiously", "surreptitiously",
+ "technologicially", "technologically",
+ "unconditionnally", "unconditionally",
+ "unconfortability", "discomfort",
+ "unconstititional", "unconstitutional",
+ "uncontrollablely", "uncontrollably",
+ "underestimateing", "underestimating",
+ "understandablely", "understandably",
+ "unintentionnally", "unintentionally",
+ "unsubstantianted", "unsubstantiated",
+ "unsubstantiative", "unsubstantiated",
+ "acclimitization", "acclimatization",
+ "accomplishemnts", "accomplishments",
+ "accountabillity", "accountability",
+ "acknolwedgement", "acknowledgement",
+ "acknoweldgement", "acknowledgement",
+ "acknowldegement", "acknowledgement",
+ "acknowlegdement", "acknowledgement",
+ "administratieve", "administrative",
+ "administratiors", "administrators",
+ "administrativne", "administrative",
+ "aforementionned", "aforementioned",
+ "anitdepressants", "antidepressants",
+ "antidepressents", "antidepressants",
+ "archetecturally", "architecturally",
+ "associationthis", "associations",
+ "authobiographic", "autobiographic",
+ "awknowledgement", "acknowledgement",
+ "bureaucratische", "bureaucratic",
+ "cardiovascualar", "cardiovascular",
+ "carnagie-mellon", "carnegie-mellon",
+ "carnigie-mellon", "carnegie-mellon",
+ "celebrationists", "celebrations",
+ "charactaristics", "characteristics",
+ "characterisitcs", "characteristics",
+ "characterisitic", "characteristic",
+ "characterizaton", "characterization",
+ "charactersistic", "characteristic",
+ "charactersitics", "characteristics",
+ "charactoristics", "characteristics",
+ "charecteristics", "characteristics",
+ "comfrontational", "confrontational",
+ "commuinications", "communications",
+ "compatabilities", "compatibilities",
+ "complimentarity", "complimentary",
+ "compositionwise", "compositions",
+ "confidenciality", "confidential",
+ "confidentuality", "confidential",
+ "confrentational", "confrontational",
+ "confrontacional", "confrontational",
+ "conglaturations", "congratulations",
+ "congradulations", "congratulations",
+ "congragulations", "congratulations",
+ "congratualtions", "congratulations",
+ "congraturations", "congratulations",
+ "consequentually", "consequently",
+ "constitutionnal", "constitutional",
+ "deinitalization", "deinitialization",
+ "denominationals", "denominations",
+ "destinationhash", "destinations",
+ "deterministisch", "deterministic",
+ "developmentwise", "developments",
+ "differantiation", "differentiation",
+ "differenciation", "differentiation",
+ "differientation", "differentiation",
+ "discriminatoire", "discriminate",
+ "discriminatorie", "discriminate",
+ "disproportiante", "disproportionate",
+ "disproportinate", "disproportionate",
+ "elecrtomagnetic", "electromagnetic",
+ "electormagnetic", "electromagnetic",
+ "electromagentic", "electromagnetic",
+ "electromagnatic", "electromagnetic",
+ "electromangetic", "electromagnetic",
+ "electromegnetic", "electromagnetic",
+ "electronagnetic", "electromagnetic",
+ "enivronmentally", "environmentally",
+ "entrepreneurers", "entrepreneurs",
+ "enviornmentally", "environmentally",
+ "enviromentalist", "environmentalist",
+ "environemntally", "environmentally",
+ "envrionmentally", "environmentally",
+ "evolutionarilly", "evolutionary",
+ "experementation", "experimentation",
+ "experimantation", "experimentation",
+ "experimentacion", "experimentation",
+ "experimentating", "experimentation",
+ "experimenterade", "experimented",
+ "experimintation", "experimentation",
+ "expirementation", "experimentation",
+ "extraodrinarily", "extraordinarily",
+ "extraordinairly", "extraordinarily",
+ "extraordinarely", "extraordinarily",
+ "extraordinaryly", "extraordinarily",
+ "extraterrestial", "extraterrestrial",
+ "extroardinarily", "extraordinarily",
+ "fondamentalists", "fundamentalists",
+ "fundamendalists", "fundamentalists",
+ "fundamentalisme", "fundamentals",
+ "fundamentalismo", "fundamentals",
+ "fundamentalista", "fundamentals",
+ "fundamentalisti", "fundamentals",
+ "fundamnetalists", "fundamentalists",
+ "fundemantalists", "fundamentalists",
+ "fundimentalists", "fundamentalists",
+ "fundumentalists", "fundamentalists",
+ "gongratulations", "congratulations",
+ "grammaticallity", "grammatically",
+ "gundamentalists", "fundamentalists",
+ "idiosynchracies", "idiosyncrasies",
+ "implementaitons", "implementations",
+ "implimentations", "implementations",
+ "inapporpriately", "inappropriately",
+ "inappropraitely", "inappropriately",
+ "inappropriatley", "inappropriately",
+ "incompatability", "incompatibility",
+ "incompetentence", "incompetence",
+ "incomprehensibe", "incomprehensible",
+ "incomprehesible", "incomprehensible",
+ "inconcequential", "inconsequential",
+ "inconcistencies", "inconsistencies",
+ "inconditionally", "unconditionally",
+ "inconsecuential", "inconsequential",
+ "inconsequantial", "inconsequential",
+ "inconsequencial", "inconsequential",
+ "inconsequentual", "inconsequential",
+ "inconsiquential", "inconsequential",
+ "inconsistancies", "inconsistencies",
+ "inconsistencias", "inconsistencies",
+ "inconsistensies", "inconsistencies",
+ "inconsistenties", "inconsistencies",
+ "independentisme", "independents",
+ "independentiste", "independents",
+ "independentness", "independents",
+ "inexperiencable", "inexperience",
+ "inplementations", "implementations",
+ "instantaneoulsy", "instantaneous",
+ "institutionella", "institutional",
+ "institutionnels", "institutions",
+ "instutionalized", "institutionalized",
+ "insubstantiated", "unsubstantiated",
+ "interchangabley", "interchangeably",
+ "interchangebale", "interchangeable",
+ "intercontinetal", "intercontinental",
+ "interpertations", "interpretations",
+ "interpratations", "interpretations",
+ "interpritations", "interpretations",
+ "intersectionals", "intersections",
+ "intrepretations", "interpretations",
+ "investigationes", "investigations",
+ "journalistische", "journalistic",
+ "libertarianisim", "libertarianism",
+ "libertarianisme", "libertarians",
+ "libertarianismo", "libertarians",
+ "libertarianists", "libertarians",
+ "libertariansism", "libertarianism",
+ "manisfestations", "manifestations",
+ "manouverability", "maneuverability",
+ "manufacturerers", "manufacturers",
+ "marshmallowiest", "marshmallows",
+ "marshmallowness", "marshmallows",
+ "microtransacton", "microtransactions",
+ "mininterpreting", "misinterpreting",
+ "miscommuniation", "miscommunication",
+ "miscommunicatie", "miscommunication",
+ "miscommuniction", "miscommunication",
+ "misinterperting", "misinterpreting",
+ "misinterprating", "misinterpreting",
+ "misinterprented", "misinterpret",
+ "misinterprested", "misinterpret",
+ "misinterpretion", "misinterpreting",
+ "misinterpretted", "misinterpreted",
+ "misinterpriting", "misinterpreting",
+ "misintrepreting", "misinterpreting",
+ "misrepresention", "misrepresenting",
+ "misunderstading", "misunderstanding",
+ "misunderstandig", "misunderstandings",
+ "misunderstandng", "misunderstandings",
+ "misunderstaning", "misunderstanding",
+ "multicultralism", "multiculturalism",
+ "multinationella", "multinational",
+ "nationalistisch", "nationalists",
+ "nationalistisen", "nationalists",
+ "nationalistiska", "nationalists",
+ "nationalistiske", "nationalists",
+ "nationalistiskt", "nationalists",
+ "nationalistista", "nationalists",
+ "objectificaiton", "objectification",
+ "objectivication", "objectification",
+ "organisationens", "organisations",
+ "organisationers", "organisations",
+ "overestimateing", "overestimating",
+ "paychologically", "psychologically",
+ "performancetest", "performances",
+ "performancewise", "performances",
+ "perpendiculaire", "perpendicular",
+ "pharamceuticals", "pharmaceutical",
+ "pharmacueticals", "pharmaceutical",
+ "philoshopically", "philosophically",
+ "philosohpically", "philosophically",
+ "philosophycally", "philosophically",
+ "phsycologically", "psychologically",
+ "phychologically", "psychologically",
+ "phylosophically", "philosophically",
+ "physcologically", "psychologically",
+ "precrastination", "procrastination",
+ "prefessionalism", "professionalism",
+ "premonasterians", "premonstratensians",
+ "procastrinating", "procrastinating",
+ "procastrination", "procrastination",
+ "procrascinating", "procrastinating",
+ "procrastenating", "procrastinating",
+ "procrastiantion", "procrastination",
+ "procrastibating", "procrastinating",
+ "procrastibation", "procrastination",
+ "procrastonating", "procrastinating",
+ "procrestinating", "procrastinating",
+ "procrestination", "procrastination",
+ "professionalsim", "professionalism",
+ "prograstination", "procrastination",
+ "progressionists", "progressions",
+ "progressionwise", "progressions",
+ "prokrastination", "procrastination",
+ "proportionallly", "proportionally",
+ "proscratination", "procrastination",
+ "pscyhologically", "psychologically",
+ "pshycologically", "psychologically",
+ "psichologically", "psychologically",
+ "psychedelicious", "psychedelics",
+ "psychedelicness", "psychedelics",
+ "psycholigically", "psychologically",
+ "psychopathische", "psychopathic",
+ "pyschologically", "psychologically",
+ "racionalization", "rationalization",
+ "rationalizaiton", "rationalization",
+ "rationalizating", "rationalization",
+ "reccomendations", "recommendations",
+ "recommandations", "recommendations",
+ "recommondations", "recommendations",
+ "reinitalization", "reinitialization",
+ "repersentations", "representations",
+ "represantations", "representations",
+ "represantatives", "representatives",
+ "representatieve", "representative",
+ "representativas", "representatives",
+ "representetives", "representatives",
+ "representitives", "representatives",
+ "responibilities", "responsibilities",
+ "responsibilites", "responsibilities",
+ "responsibilitys", "responsibilities",
+ "responsibillity", "responsibility",
+ "responsibilties", "responsibilities",
+ "responsiblities", "responsibilities",
+ "ridiculoussness", "ridiculousness",
+ "saskatchewinian", "saskatchewan",
+ "satisfactorally", "satisfactory",
+ "satisfactorilly", "satisfactory",
+ "schizophreniiic", "schizophrenic",
+ "sensationalisim", "sensationalism",
+ "spreadsheeticus", "spreadsheets",
+ "starightforward", "straightforward",
+ "straigthforward", "straightforward",
+ "striaghtforward", "straightforward",
+ "sustainabillity", "sustainability",
+ "technoligically", "technologically",
+ "troubelshooting", "troubleshooting",
+ "troublehsooting", "troubleshooting",
+ "troubleshotting", "troubleshooting",
+ "trustworthyness", "trustworthiness",
+ "ubsubstantiated", "unsubstantiated",
+ "unappropriately", "inappropriately",
+ "uncomfortablely", "uncomfortably",
+ "uncomfortablity", "uncomfortably",
+ "unconditionable", "unconditional",
+ "unconstituional", "unconstitutional",
+ "uncontitutional", "unconstitutional",
+ "uncontrollabley", "uncontrollably",
+ "uncontrollablly", "uncontrollably",
+ "unconventionnal", "unconventional",
+ "underastimating", "underestimating",
+ "underestemating", "underestimating",
+ "understandabley", "understandably",
+ "unintensionally", "unintentionally",
+ "unprofessionnal", "unprofessional",
+ "unresponsivness", "unresponsive",
+ "unsibstantiated", "unsubstantiated",
+ "unsubstanciated", "unsubstantiated",
+ "unsubstansiated", "unsubstantiated",
+ "unsusbtantiated", "unsubstantiated",
+ "untranslateable", "untranslatable",
+ "vulernabilities", "vulnerabilities",
+ "vulnarabilities", "vulnerabilities",
+ "vulnurabilities", "vulnerabilities",
+ "vunlerabilities", "vulnerabilities",
+ "vurnerabilities", "vulnerabilities",
+ "accomplishemnt", "accomplishment",
+ "accomplishents", "accomplishes",
+ "acconplishment", "accomplishment",
+ "acknowledgeing", "acknowledging",
+ "acknowledgemnt", "acknowledgement",
+ "acomplishments", "accomplishments",
+ "administartion", "administration",
+ "administartors", "administrators",
+ "administraters", "administrators",
+ "administratief", "administrative",
+ "administratiei", "administrative",
+ "administratior", "administrator",
+ "administrativo", "administration",
+ "adminsitration", "administration",
+ "adminsitrative", "administrative",
+ "adminsitrators", "administrators",
+ "affectionatley", "affectionate",
+ "aforememtioned", "aforementioned",
+ "aforementioend", "aforementioned",
+ "alternativelly", "alternatively",
+ "amministrative", "administrative",
+ "anitdepressant", "antidepressants",
+ "approproximate", "approximate",
+ "approximatelly", "approximately",
+ "archeaologists", "archeologists",
+ "architechtures", "architectures",
+ "architectureal", "architectural",
+ "architecturial", "architectural",
+ "assassintation", "assassination",
+ "authenitcation", "authentication",
+ "authenticaiton", "authentication",
+ "authobiography", "autobiography",
+ "breakthroughts", "breakthroughs",
+ "bureaucratisch", "bureaucratic",
+ "calssification", "classification",
+ "capatilization", "capitalization",
+ "capitalizacion", "capitalization",
+ "capitalizaiton", "capitalization",
+ "capitalizating", "capitalization",
+ "capitilazation", "capitalization",
+ "capitolization", "capitalization",
+ "captialization", "capitalization",
+ "cardiocascular", "cardiovascular",
+ "cardiovascualr", "cardiovascular",
+ "cardiovasuclar", "cardiovascular",
+ "caridovascular", "cardiovascular",
+ "cessationalism", "sensationalism",
+ "cessationalist", "sensationalist",
+ "charactaristic", "characteristic",
+ "characterisics", "characteristics",
+ "characterisitc", "characteristics",
+ "characteristcs", "characteristics",
+ "characteritics", "characteristic",
+ "charactersitic", "characteristics",
+ "charasteristic", "characteristics",
+ "charecteristic", "characteristic",
+ "cheeseburguers", "cheeseburgers",
+ "cinematagraphy", "cinematography",
+ "cinematagrophy", "cinematography",
+ "cinematograhpy", "cinematography",
+ "cinematogrophy", "cinematography",
+ "cinematogrpahy", "cinematography",
+ "cinemetography", "cinematography",
+ "cinimatography", "cinematography",
+ "circumstansial", "circumstantial",
+ "circumstantual", "circumstantial",
+ "circumstential", "circumstantial",
+ "circunstantial", "circumstantial",
+ "classificaiton", "classification",
+ "coincedentally", "coincidentally",
+ "coinsidentally", "coincidentally",
+ "commemmorating", "commemorating",
+ "communciations", "communications",
+ "compatablities", "compatibilities",
+ "compatibillity", "compatibility",
+ "compatiblities", "compatibilities",
+ "competitioners", "competitions",
+ "comphrehensive", "comprehensive",
+ "computationnal", "computational",
+ "conciderations", "considerations",
+ "condescenscion", "condescension",
+ "condradictions", "contradictions",
+ "configuartions", "configurations",
+ "confugurations", "configurations",
+ "conglaturation", "congratulations",
+ "congratulatons", "congratulations",
+ "conicidentally", "coincidentally",
+ "conifgurations", "configurations",
+ "conscioussness", "consciousness",
+ "consentrations", "concentrations",
+ "consiciousness", "consciousness",
+ "considerablely", "considerably",
+ "considerstions", "considerations",
+ "constititional", "constitutional",
+ "constitucional", "constitutional",
+ "contamporaries", "contemporaries",
+ "contemporaneus", "contemporaneous",
+ "contraceptivos", "contraceptives",
+ "contradicitons", "contradictions",
+ "contradictiong", "contradicting",
+ "contriceptives", "contraceptives",
+ "controceptives", "contraceptives",
+ "controdictions", "contradictions",
+ "conversacional", "conversational",
+ "converstaional", "conversational",
+ "correpsondence", "correspondence",
+ "correspondants", "correspondents",
+ "correspondense", "correspondence",
+ "correspondente", "correspondence",
+ "corrispondants", "correspondents",
+ "corrispondence", "correspondence",
+ "corrospondence", "correspondence",
+ "costumizations", "customization",
+ "councidentally", "coincidentally",
+ "crystalisation", "crystallisation",
+ "curcumstantial", "circumstantial",
+ "demenstrations", "demonstrations",
+ "deminstrations", "demonstrations",
+ "demonstartions", "demonstrations",
+ "demonstrativno", "demonstrations",
+ "demonstrativos", "demonstrations",
+ "demosntrations", "demonstrations",
+ "desintegration", "disintegration",
+ "deterioriating", "deteriorating",
+ "determinisitic", "deterministic",
+ "differentiaton", "differentiation",
+ "disatisfaction", "dissatisfaction",
+ "discrimanatory", "discriminatory",
+ "discriminacion", "discrimination",
+ "discriminitory", "discriminatory",
+ "disillusionned", "disillusioned",
+ "diskrimination", "discrimination",
+ "disproportiate", "disproportionate",
+ "distingiushing", "distinguishing",
+ "distingquished", "distinguished",
+ "distingusihing", "distinguishing",
+ "distinquishing", "distinguishing",
+ "distuingishing", "distinguishing",
+ "dysfunctionnal", "dysfunctional",
+ "eldistribution", "redistribution",
+ "electromagnetc", "electromagnetic",
+ "electromagntic", "electromagnetic",
+ "endoctrination", "indoctrination",
+ "enthusiastisch", "enthusiastic",
+ "entrepreneuers", "entrepreneurs",
+ "entrepreneures", "entrepreneurs",
+ "enviormentally", "environmentally",
+ "enviromentally", "environmentally",
+ "environmentals", "environments",
+ "environmentaly", "environmentally",
+ "experimentaion", "experimentation",
+ "experimentella", "experimental",
+ "extraordinairy", "extraordinary",
+ "extraordinarly", "extraordinary",
+ "extrordinarily", "extraordinarily",
+ "fondamentalist", "fundamentalist",
+ "foreshadowning", "foreshadowing",
+ "functionallity", "functionality",
+ "fundamendalist", "fundamentalist",
+ "fundamentalits", "fundamentalists",
+ "fundamnetalist", "fundamentalist",
+ "fundemantalist", "fundamentalist",
+ "fundimentalist", "fundamentalist",
+ "fundumentalist", "fundamentalist",
+ "generalizacion", "generalization",
+ "generalizating", "generalization",
+ "generelization", "generalization",
+ "geographacilly", "geographically",
+ "geographycally", "geographically",
+ "geogrpahically", "geographically",
+ "geopraphically", "geographically",
+ "goegraphically", "geographically",
+ "grandchilderen", "grandchildren",
+ "gravitationnal", "gravitational",
+ "groubdbreaking", "groundbreaking",
+ "groudnbreaking", "groundbreaking",
+ "hallcuinations", "hallucination",
+ "hallicunations", "hallucinations",
+ "hallucenations", "hallucinations",
+ "halluciantions", "hallucinations",
+ "hallucinaitons", "hallucination",
+ "hallunications", "hallucinations",
+ "hallusinations", "hallucinations",
+ "halluzinations", "hallucinations",
+ "hellucinations", "hallucinations",
+ "heterosexuella", "heterosexual",
+ "hipothetically", "hypothetically",
+ "homosexuallity", "homosexuality",
+ "hullucinations", "hallucinations",
+ "hyopthetically", "hypothetically",
+ "hypathetically", "hypothetically",
+ "hypethetically", "hypothetically",
+ "hypotehtically", "hypothetically",
+ "hypotethically", "hypothetically",
+ "identificacion", "identification",
+ "identificaiton", "identification",
+ "identificativo", "identification",
+ "identifikation", "identification",
+ "imlpementation", "implementations",
+ "impelmentation", "implementations",
+ "impersonationg", "impersonating",
+ "implementacion", "implementation",
+ "implementaiton", "implementation",
+ "implementating", "implementation",
+ "implementatino", "implementations",
+ "implemetnation", "implementations",
+ "implimentation", "implementation",
+ "impossibillity", "impossibility",
+ "inadvertantely", "inadvertently",
+ "inappropriatly", "inappropriately",
+ "inapproprietly", "inappropriately",
+ "incompatablity", "incompatibility",
+ "incompatiblity", "incompatibility",
+ "inconsequental", "inconsequential",
+ "inconsistentcy", "inconsistency",
+ "incontrollably", "uncontrollably",
+ "inconventional", "unconventional",
+ "inconvienenced", "inconvenience",
+ "indestrictible", "indestructible",
+ "indestructuble", "indestructible",
+ "indetification", "identification",
+ "indistructible", "indestructible",
+ "individuallity", "individuality",
+ "indocrtination", "indoctrination",
+ "indoctrication", "indoctrination",
+ "indoktrination", "indoctrination",
+ "industiralized", "industrialized",
+ "industrailized", "industrialized",
+ "industrualized", "industrialized",
+ "industructible", "indestructible",
+ "inexplicablely", "inexplicably",
+ "infrastracture", "infrastructure",
+ "infrastructuur", "infrastructure",
+ "infrastrucutre", "infrastructure",
+ "infrastrukture", "infrastructure",
+ "infrastrutture", "infrastructure",
+ "infrasturcture", "infrastructure",
+ "initalisations", "initialisations",
+ "initalizations", "initializations",
+ "inplementation", "implementation",
+ "inspirationnal", "inspirational",
+ "instinctivelly", "instinctively",
+ "institutionale", "institutionalized",
+ "institutionals", "institutions",
+ "institutionnal", "institutional",
+ "intellectualis", "intellectuals",
+ "intellectualls", "intellectuals",
+ "intellecutally", "intellectually",
+ "intercepticons", "interceptions",
+ "interchangable", "interchangeable",
+ "interchangably", "interchangeably",
+ "interchangeble", "interchangeable",
+ "interchangebly", "interchangeably",
+ "interlectually", "intellectually",
+ "internationaal", "international",
+ "internationaly", "internationally",
+ "internationnal", "international",
+ "interpersonnal", "interpersonal",
+ "interpertation", "interpretation",
+ "interpratation", "interpretation",
+ "interpretacion", "interpretation",
+ "interpretaiton", "interpretations",
+ "interpretating", "interpretation",
+ "interpritation", "interpretation",
+ "interstellaire", "interstellar",
+ "intillectually", "intellectually",
+ "intrepretation", "interpretation",
+ "invesitgations", "investigations",
+ "investiagtions", "investigations",
+ "investigatiors", "investigations",
+ "investigativos", "investigations",
+ "investigstions", "investigations",
+ "irrationallity", "irrationally",
+ "irresponsibile", "irresponsible",
+ "journalistisch", "journalistic",
+ "justificativos", "justifications",
+ "koncentrations", "concentrations",
+ "liberatrianism", "libertarianism",
+ "libertarainism", "libertarianism",
+ "libertariansim", "libertarianism",
+ "libertarinaism", "libertarianism",
+ "libertaryanism", "libertarianism",
+ "libertatianism", "libertarianism",
+ "liberterianism", "libertarianism",
+ "libretarianism", "libertarianism",
+ "manufactureers", "manufactures",
+ "manufactureras", "manufactures",
+ "manufacturered", "manufactured",
+ "manufactureres", "manufacturers",
+ "manufactureros", "manufactures",
+ "massachusettes", "massachusetts",
+ "massachussetts", "massachusetts",
+ "mataphorically", "metaphorically",
+ "mathameticians", "mathematicians",
+ "mathemagically", "mathematically",
+ "mathematitians", "mathematicians",
+ "mathemetically", "mathematically",
+ "mathemeticians", "mathematicians",
+ "mathimatically", "mathematically",
+ "mediterainnean", "mediterranean",
+ "mediterrannean", "mediterranean",
+ "metaphotically", "metaphorically",
+ "metephorically", "metaphorically",
+ "methaporically", "metaphorically",
+ "metiphorically", "metaphorically",
+ "metophorically", "metaphorically",
+ "metropolitaine", "metropolitan",
+ "misconseptions", "misconceptions",
+ "misinterperted", "misinterpreted",
+ "misintrepreted", "misinterpreted",
+ "mulitnationals", "multinational",
+ "mulitplication", "multiplication",
+ "multiplicacion", "multiplication",
+ "multiplicaiton", "multiplication",
+ "multiplicativo", "multiplication",
+ "multiplikation", "multiplication",
+ "mutlinationals", "multinational",
+ "mutliplication", "multiplication",
+ "nationalisitic", "nationalistic",
+ "nationalistics", "nationalists",
+ "nationalisties", "nationalists",
+ "nationalistisk", "nationalists",
+ "neighbourhoood", "neighbourhood",
+ "nieghbourhoods", "neighbourhood",
+ "northereastern", "northeastern",
+ "objectificaton", "objectification",
+ "opthalmologist", "ophthalmologist",
+ "organizacional", "organizational",
+ "organizaitonal", "organizational",
+ "organziational", "organizational",
+ "orginazational", "organizational",
+ "overestemating", "overestimating",
+ "overextimating", "overestimating",
+ "overhwelmingly", "overwhelmingly",
+ "overhwlemingly", "overwhelmingly",
+ "overpolulation", "overpopulation",
+ "overpopluation", "overpopulation",
+ "oversetimating", "overestimating",
+ "overshadowered", "overshadowed",
+ "overwhemlingly", "overwhelmingly",
+ "overwhlemingly", "overwhelmingly",
+ "paliamentarian", "parliamentarian",
+ "parliamentiary", "parliamentary",
+ "performancepcs", "performances",
+ "personalitites", "personalities",
+ "pharamceutical", "pharmaceutical",
+ "pharmaceudical", "pharmaceutical",
+ "pharmacuetical", "pharmaceutical",
+ "pharmaseutical", "pharmaceutical",
+ "pharmeceutical", "pharmaceutical",
+ "philosophicaly", "philosophically",
+ "phramaceutical", "pharmaceutical",
+ "playthroughers", "playthroughs",
+ "porportionally", "proportionally",
+ "practitionners", "practitioners",
+ "predeterminded", "predetermined",
+ "predominantely", "predominantly",
+ "predominantley", "predominantly",
+ "preinitalizing", "preinitializing",
+ "prerequisities", "prerequisite",
+ "procrastinatin", "procrastination",
+ "procrastinaton", "procrastination",
+ "professionials", "professionalism",
+ "professionnals", "professionals",
+ "profitabillity", "profitability",
+ "progressivelly", "progressively",
+ "progressivisme", "progressives",
+ "pronounciation", "pronunciation",
+ "proportianally", "proportionally",
+ "proportionalty", "proportionally",
+ "proportionella", "proportionally",
+ "proprotionally", "proportionally",
+ "protruberances", "protuberances",
+ "pseudononymous", "pseudonymous",
+ "psychologicaly", "psychologically",
+ "qaulifications", "qualification",
+ "qualifiactions", "qualification",
+ "qualificaitons", "qualifications",
+ "quarterbackers", "quarterbacks",
+ "rationalizaton", "rationalization",
+ "reaponsibility", "responsibility",
+ "recommandation", "recommendation",
+ "recommedations", "recommendations",
+ "recommondation", "recommendation",
+ "reconnaissence", "reconnaissance",
+ "reconstruccion", "reconstruction",
+ "reconsturction", "reconstruction",
+ "redistirbution", "redistribution",
+ "redistribucion", "redistribution",
+ "redistributivo", "redistribution",
+ "redistrubition", "redistribution",
+ "refridgeration", "refrigeration",
+ "rehabilitacion", "rehabilitation",
+ "rehabilitaiton", "rehabilitation",
+ "reinforcemnets", "reinforcements",
+ "rekommendation", "recommendation",
+ "rektifications", "certifications",
+ "reniforcements", "reinforcements",
+ "repersentation", "representation",
+ "represantation", "representation",
+ "represantative", "representative",
+ "representacion", "representation",
+ "representaiton", "representations",
+ "representatief", "representative",
+ "representating", "representation",
+ "representativo", "representation",
+ "representetive", "representative",
+ "representitive", "representative",
+ "representstion", "representations",
+ "representstive", "representatives",
+ "represetnation", "representations",
+ "represnetation", "representations",
+ "reprezentative", "representative",
+ "repsonsibility", "responsibility",
+ "resistribution", "redistribution",
+ "responcibility", "responsibility",
+ "responisbility", "responsibility",
+ "responnsibilty", "responsibility",
+ "responsability", "responsibility",
+ "responsibilies", "responsibilities",
+ "responsibities", "responsibilities",
+ "restaraunteurs", "restaurateurs",
+ "retroactivelly", "retroactively",
+ "revolutionairy", "revolutionary",
+ "revolutionnary", "revolutionary",
+ "ridicilousness", "ridiculousness",
+ "ridicoulusness", "ridiculousness",
+ "rienforcements", "reinforcements",
+ "righteoussness", "righteousness",
+ "satisfactoraly", "satisfactory",
+ "satisfactority", "satisfactorily",
+ "sceintifically", "scientifically",
+ "schizophrentic", "schizophrenic",
+ "screenwrighter", "screenwriter",
+ "sensacionalism", "sensationalism",
+ "sensacionalist", "sensationalist",
+ "sensasionalism", "sensationalism",
+ "sensasionalist", "sensationalist",
+ "sensationality", "sensationalist",
+ "sensationalizm", "sensationalism",
+ "sensationalsim", "sensationalism",
+ "sensationilism", "sensationalism",
+ "sensationilist", "sensationalist",
+ "sensationslism", "sensationalism",
+ "sensetionalism", "sensationalism",
+ "sensibilisiert", "sensibilities",
+ "sentationalism", "sensationalism",
+ "sentationalist", "sensationalist",
+ "senzationalism", "sensationalism",
+ "senzationalist", "sensationalist",
+ "sepcifications", "specification",
+ "simaltaneously", "simultaneously",
+ "simeltaneously", "simultaneously",
+ "similtaneously", "simultaneously",
+ "simlutaneously", "simultaneously",
+ "simplificacion", "simplification",
+ "simplificaiton", "simplification",
+ "simplificating", "simplification",
+ "simulatenously", "simultaneously",
+ "simulatneously", "simultaneously",
+ "simultaenously", "simultaneously",
+ "simultainously", "simultaneously",
+ "simultaneoulsy", "simultaneously",
+ "simultaniously", "simultaneously",
+ "simulteanously", "simultaneously",
+ "sistematically", "systematically",
+ "slaugterhouses", "slaughterhouses",
+ "specailization", "specialization",
+ "specialication", "specialization",
+ "specializaiton", "specialization",
+ "specificaitons", "specification",
+ "speciliazation", "specialization",
+ "spectacularely", "spectacularly",
+ "spectacularily", "spectacularly",
+ "spesifications", "specifications",
+ "spezialisation", "specialization",
+ "sportsmansship", "sportsmanship",
+ "spreadsheeters", "spreadsheets",
+ "straightforwad", "straightforward",
+ "subconcsiously", "subconsciously",
+ "subconsicously", "subconsciously",
+ "subsconciously", "subconsciously",
+ "sunconsciously", "subconsciously",
+ "superintendant", "superintendent",
+ "suppliementing", "supplementing",
+ "surrepetitious", "surreptitious",
+ "survivabililty", "survivability",
+ "survivabillity", "survivability",
+ "sustainabiltiy", "sustainability",
+ "syncronization", "synchronization",
+ "systemetically", "systematically",
+ "systimatically", "systematically",
+ "technologicaly", "technologically",
+ "thermodinamics", "thermodynamics",
+ "thermodyanmics", "thermodynamics",
+ "thermodymamics", "thermodynamics",
+ "thermodymanics", "thermodynamics",
+ "thermodynamcis", "thermodynamics",
+ "thermodynanics", "thermodynamics",
+ "thermodynmaics", "thermodynamics",
+ "thernodynamics", "thermodynamics",
+ "theromdynamics", "thermodynamics",
+ "transformacion", "transformation",
+ "transfromation", "transformation",
+ "transitionable", "transitional",
+ "transitionning", "transitioning",
+ "transofrmation", "transformation",
+ "trasnformation", "transformation",
+ "trasnportation", "transportation",
+ "unbelievablely", "unbelievably",
+ "unchallengable", "unchallengeable",
+ "uncomfortabley", "uncomfortably",
+ "uncomfortablly", "uncomfortably",
+ "unconciousness", "unconsciousness",
+ "unconditionaly", "unconditionally",
+ "unconditionnal", "unconditional",
+ "unconsciouslly", "unconsciously",
+ "uncontrallable", "uncontrollable",
+ "uncontrallably", "uncontrollably",
+ "uncontrolablly", "uncontrollably",
+ "unconvectional", "unconventional",
+ "unconvencional", "unconventional",
+ "unconvensional", "unconventional",
+ "unconventianal", "unconventional",
+ "underastimated", "underestimated",
+ "underestamated", "underestimated",
+ "underestemated", "underestimated",
+ "underestimeted", "underestimated",
+ "undersetimated", "underestimated",
+ "understandebly", "understandably",
+ "understandible", "understandable",
+ "understandibly", "understandably",
+ "undestructible", "indestructible",
+ "unforetunately", "unfortunately",
+ "unfortunatelly", "unfortunately",
+ "unfourtunately", "unfortunately",
+ "uninitalizable", "uninitializable",
+ "unintelligient", "unintelligent",
+ "unintentionaly", "unintentionally",
+ "unintentionnal", "unintentional",
+ "unmanouverable", "unmaneuverable",
+ "unneccessarily", "unnecessarily",
+ "unnecessarilly", "unnecessarily",
+ "unprecendented", "unprecedented",
+ "unprofessionel", "unprofessional",
+ "unreasonablely", "unreasonably",
+ "unsubstantiaed", "unsubstantiated",
+ "unsurprizingly", "unsurprisingly",
+ "vizualisations", "visualization",
+ "vulnerabilites", "vulnerabilities",
+ "vulnerabillity", "vulnerability",
+ "vulnerablility", "vulnerability",
+ "wholeheartadly", "wholeheartedly",
+ "wholeheartidly", "wholeheartedly",
+ "abbrievations", "abbreviation",
+ "accelleration", "acceleration",
+ "accomadations", "accommodations",
+ "accommadating", "accommodating",
+ "accommadation", "accommodation",
+ "accommidation", "accommodation",
+ "accomodations", "accommodations",
+ "accomondating", "accommodating",
+ "accomondation", "accommodation",
+ "accomplishent", "accomplishment",
+ "accountabilty", "accountability",
+ "accredidation", "accreditation",
+ "acknolwedging", "acknowledging",
+ "acknowlegding", "acknowledging",
+ "acomplishment", "accomplishment",
+ "acquaintaince", "acquaintance",
+ "acquaintences", "acquaintances",
+ "acquaintinces", "acquaintances",
+ "acquanitances", "acquaintance",
+ "acquantainces", "acquaintances",
+ "acquantiances", "acquaintances",
+ "acquiantances", "acquaintances",
+ "acquiantences", "acquaintances",
+ "adminastrator", "administrator",
+ "administartor", "administrator",
+ "administraion", "administration",
+ "administraron", "administrator",
+ "administrater", "administrator",
+ "administratio", "administrator",
+ "administraton", "administration",
+ "adminsitrator", "administrator",
+ "adminstration", "administration",
+ "adminstrative", "administrative",
+ "admissability", "admissibility",
+ "adnimistrator", "administrators",
+ "adverticement", "advertisement",
+ "advertisiment", "advertisement",
+ "advertisments", "advertisements",
+ "advirtisement", "advertisement",
+ "aestethically", "aesthetically",
+ "aesthatically", "aesthetically",
+ "aesthitically", "aesthetically",
+ "affectionnate", "affectionate",
+ "aforementiond", "aforementioned",
+ "agriculturual", "agricultural",
+ "agrumentative", "argumentative",
+ "alterantively", "alternatively",
+ "alternativets", "alternatives",
+ "alternativley", "alternatively",
+ "alternitavely", "alternatively",
+ "alternitively", "alternatively",
+ "aninteresting", "uninteresting",
+ "annoucnements", "announcements",
+ "antagonisitic", "antagonistic",
+ "anthropolgist", "anthropologist",
+ "apporpriately", "appropriately",
+ "apporpriation", "appropriation",
+ "apporximately", "approximately",
+ "appreciateing", "appreciating",
+ "appreciateive", "appreciative",
+ "appreciationg", "appreciating",
+ "appropirately", "appropriately",
+ "appropiration", "appropriation",
+ "appropraitely", "appropriately",
+ "appropreation", "appropriation",
+ "appropriatley", "appropriately",
+ "appropropiate", "appropriate",
+ "approrpiation", "appropriation",
+ "approxamately", "approximately",
+ "approxiamtely", "approximately",
+ "approximatley", "approximately",
+ "approximitely", "approximately",
+ "aqcuaintances", "acquaintances",
+ "aqquaintances", "acquaintances",
+ "archaelogical", "archaeological",
+ "archaelogists", "archaeologists",
+ "archeaologist", "archeologist",
+ "archetectural", "architectural",
+ "architechture", "architecture",
+ "architechural", "architectural",
+ "architectrual", "architectural",
+ "architecutral", "architectural",
+ "argumentitive", "argumentative",
+ "arugmentative", "argumentative",
+ "asethetically", "aesthetically",
+ "assasinations", "assassinations",
+ "audomoderator", "automoderator",
+ "australianess", "australians",
+ "authenticaion", "authentication",
+ "authenticaton", "authentication",
+ "autherization", "authorization",
+ "authoratitive", "authoritative",
+ "authoritatian", "authoritarian",
+ "authoritation", "authorization",
+ "authorititive", "authoritative",
+ "authoritorian", "authoritarian",
+ "authorotative", "authoritative",
+ "authroization", "authorization",
+ "automoderador", "automoderator",
+ "automoderater", "automoderator",
+ "automodorator", "automoderator",
+ "automoterator", "automoderator",
+ "autoritharian", "authoritarian",
+ "availabillity", "availability",
+ "awknowledging", "acknowledging",
+ "billingualism", "bilingualism",
+ "billionairres", "billionaire",
+ "borderlanders", "borderlands",
+ "breadtfeeding", "breastfeeding",
+ "breastfeading", "breastfeeding",
+ "breatsfeeding", "breastfeeding",
+ "broadacasting", "broadcasting",
+ "bureaucractic", "bureaucratic",
+ "bureaucratics", "bureaucrats",
+ "bureaucratius", "bureaucrats",
+ "californiaman", "californian",
+ "calrification", "clarification",
+ "capitalizaton", "capitalization",
+ "carbohdyrates", "carbohydrates",
+ "carbohidrates", "carbohydrates",
+ "carbohyrdates", "carbohydrates",
+ "carboyhdrates", "carbohydrates",
+ "carthographer", "cartographer",
+ "catagorically", "categorically",
+ "catastrophies", "catastrophe",
+ "catastrophize", "catastrophe",
+ "catigorically", "categorically",
+ "catterpillars", "caterpillars",
+ "celebrationis", "celebrations",
+ "ceritfication", "certifications",
+ "certificaiton", "certification",
+ "championchips", "championship",
+ "championshiop", "championships",
+ "championsship", "championships",
+ "chanpionships", "championships",
+ "charactarized", "characterized",
+ "characterisic", "characteristic",
+ "characteristc", "characteristics",
+ "characterists", "characteristics",
+ "charicterized", "characterized",
+ "charismatisch", "charismatic",
+ "checkpointusa", "checkpoints",
+ "cheeseburgare", "cheeseburger",
+ "cheeseburgler", "cheeseburger",
+ "cheeseburguer", "cheeseburger",
+ "cheezeburgers", "cheeseburgers",
+ "chornological", "chronological",
+ "chronoligical", "chronological",
+ "chronologicly", "chronological",
+ "cinematograhy", "cinematography",
+ "cinematograpy", "cinematography",
+ "circomference", "circumference",
+ "circumcission", "circumcision",
+ "circumferance", "circumference",
+ "circumsicions", "circumcision",
+ "circumstanial", "circumstantial",
+ "circumstantal", "circumstantial",
+ "circumstnaces", "circumstance",
+ "circunference", "circumference",
+ "circunstances", "circumstances",
+ "cirucmference", "circumference",
+ "cirucmstances", "circumstances",
+ "civilications", "civilizations",
+ "civilizaitons", "civilizations",
+ "clarificaiton", "clarification",
+ "clasification", "clarification",
+ "clerification", "clarification",
+ "coincidentaly", "coincidentally",
+ "coincidential", "coincidental",
+ "colaborations", "collaborations",
+ "collabaration", "collaboration",
+ "collaberation", "collaboration",
+ "collaberative", "collaborative",
+ "collaboratore", "collaborate",
+ "collectioners", "collections",
+ "collectivelly", "collectively",
+ "collobaration", "collaboration",
+ "combatibility", "compatibility",
+ "comeptitively", "competitively",
+ "comfortablely", "comfortably",
+ "comfortablity", "comfortably",
+ "comfrontation", "confrontation",
+ "commemerative", "commemorative",
+ "commericially", "commercially",
+ "commerorative", "commemorative",
+ "comminication", "communication",
+ "comminucation", "communications",
+ "commissionees", "commissions",
+ "commissionned", "commissioned",
+ "commissionner", "commissioner",
+ "commmemorated", "commemorated",
+ "commuications", "communications",
+ "commuincation", "communications",
+ "communciation", "communication",
+ "communiaction", "communications",
+ "communicaiton", "communication",
+ "communicatoin", "communications",
+ "communicatons", "communications",
+ "compadibility", "compatibility",
+ "comparativley", "comparatively",
+ "comparetively", "comparatively",
+ "comparitavely", "comparatively",
+ "comparitively", "comparatively",
+ "compatability", "compatibility",
+ "compatibiltiy", "compatibility",
+ "compeditively", "competitively",
+ "compensantion", "compensation",
+ "compensationg", "compensating",
+ "comperatively", "comparatively",
+ "comperhension", "comprehension",
+ "competatively", "competitively",
+ "competitavely", "competitively",
+ "competitevely", "competitively",
+ "competitivley", "competitively",
+ "competiveness", "competitiveness",
+ "compilcations", "complication",
+ "compitability", "compatibility",
+ "complciations", "complication",
+ "complecations", "complications",
+ "compliactions", "complication",
+ "complicaitons", "complication",
+ "complilations", "complications",
+ "complimentery", "complimentary",
+ "complimentoni", "complimenting",
+ "complimentory", "complimentary",
+ "comprehention", "comprehension",
+ "computacional", "computational",
+ "comtamination", "contamination",
+ "comtemplating", "contemplating",
+ "concatination", "contamination",
+ "conceivablely", "conceivably",
+ "concencration", "concentration",
+ "concenrtation", "concentrations",
+ "concentartion", "concentrations",
+ "concentracion", "concentration",
+ "concentraited", "concentrated",
+ "concentraiton", "concentrations",
+ "concentratons", "concentrations",
+ "concervatives", "conservatives",
+ "concideration", "consideration",
+ "concioussness", "consciousness",
+ "concnetration", "concentrations",
+ "concsiousness", "consciousness",
+ "condascending", "condescending",
+ "condescencion", "condescension",
+ "condescendion", "condescension",
+ "condescensing", "condescension",
+ "condiscending", "condescending",
+ "conditionning", "conditioning",
+ "condradicting", "contradicting",
+ "condradiction", "contradiction",
+ "condradictory", "contradictory",
+ "conecntration", "concentrations",
+ "conenctration", "concentrations",
+ "confidentally", "confidentially",
+ "configruation", "configurations",
+ "configuartion", "configuration",
+ "configuracion", "configuration",
+ "configuraiton", "configuration",
+ "configuratoin", "configurations",
+ "configureable", "configurable",
+ "confrentation", "confrontation",
+ "confrontacion", "confrontation",
+ "confrontating", "confrontation",
+ "confrontativo", "confrontation",
+ "congratualted", "congratulate",
+ "conifguration", "configurations",
+ "conisderation", "considerations",
+ "connecticunts", "connecticut",
+ "connectivitiy", "connectivity",
+ "conpassionate", "compassionate",
+ "conplications", "complications",
+ "conplimentary", "complimentary",
+ "conplimenting", "complimenting",
+ "conprehension", "comprehension",
+ "consdieration", "considerations",
+ "consenquently", "consequently",
+ "consentrating", "concentrating",
+ "consentration", "concentration",
+ "consequencies", "consequence",
+ "consequentely", "consequently",
+ "consequeseces", "consequences",
+ "conservatisim", "conservatism",
+ "conservativsm", "conservatism",
+ "conservitives", "conservatives",
+ "consicousness", "consciousness",
+ "considerabely", "considerable",
+ "considerabile", "considerable",
+ "considerabley", "considerably",
+ "considerablly", "considerably",
+ "consideracion", "consideration",
+ "consideratoin", "considerations",
+ "considerstion", "considerations",
+ "considertaion", "considerations",
+ "consituencies", "constituencies",
+ "consitutional", "constitutional",
+ "constallation", "constellation",
+ "constarnation", "consternation",
+ "constillation", "constellation",
+ "constituintes", "constituents",
+ "constituional", "constitutional",
+ "constitutents", "constitutes",
+ "constitutinal", "constitutional",
+ "constructicon", "construction",
+ "constructieve", "constructive",
+ "constructiong", "constructing",
+ "consttruction", "construction",
+ "contaminacion", "contamination",
+ "contaminanted", "contaminated",
+ "contanimation", "contamination",
+ "contenplating", "contemplating",
+ "contimplating", "contemplating",
+ "contraceptivo", "contraception",
+ "contradiccion", "contradiction",
+ "contradicitng", "contradicting",
+ "contradiciton", "contradiction",
+ "contradictary", "contradictory",
+ "contradictons", "contradicts",
+ "contraticting", "contradicting",
+ "contravercial", "controversial",
+ "contraversial", "controversial",
+ "contreception", "contraception",
+ "contreversial", "controversial",
+ "contributeurs", "contributes",
+ "contributiors", "contributors",
+ "contriception", "contraception",
+ "contridictory", "contradictory",
+ "contritutions", "contributions",
+ "contriversial", "controversial",
+ "controception", "contraception",
+ "controdicting", "contradicting",
+ "controdiction", "contradiction",
+ "controvercial", "controversial",
+ "controverisal", "controversial",
+ "controversary", "controversy",
+ "controversity", "controversy",
+ "controvertial", "controversial",
+ "contstruction", "construction",
+ "conventionnal", "conventional",
+ "converastions", "conservation",
+ "conversationa", "conservation",
+ "conversationg", "conservation",
+ "conversationy", "conservation",
+ "conversatiosn", "conservation",
+ "conversatives", "conservatives",
+ "converstaions", "conversations",
+ "convorsations", "conversations",
+ "cooresponding", "corresponding",
+ "coorperations", "corporations",
+ "correctionals", "corrections",
+ "correpsonding", "corresponding",
+ "correspondant", "correspondent",
+ "correspondece", "correspondence",
+ "corresponders", "corresponds",
+ "corresponsing", "corresponding",
+ "corrispondant", "correspondent",
+ "corrisponding", "corresponding",
+ "corrosponding", "corresponding",
+ "costomization", "customization",
+ "costumization", "customization",
+ "counterfeight", "counterfeit",
+ "creationistas", "creationists",
+ "cricumference", "circumference",
+ "cringeworthey", "cringeworthy",
+ "cringeworthly", "cringeworthy",
+ "crytopgraphic", "cryptographic",
+ "curcumference", "circumference",
+ "curcumstances", "circumstances",
+ "custumization", "customization",
+ "cuztomization", "customization",
+ "decentraliced", "decentralized",
+ "decentrilized", "decentralized",
+ "decomissioned", "decommissioned",
+ "decompositing", "decomposing",
+ "definitivelly", "definitively",
+ "deinitalizing", "deinitializing",
+ "demenstration", "demonstration",
+ "democraticaly", "democratically",
+ "democraticlly", "democratically",
+ "demoninations", "denominations",
+ "demonstarting", "demonstrating",
+ "demonstartion", "demonstration",
+ "demonstraiton", "demonstrations",
+ "demonstratbly", "demonstrably",
+ "demonstraties", "demonstrate",
+ "demonstrativo", "demonstration",
+ "demosntrating", "demonstrating",
+ "demosntration", "demonstrations",
+ "denomenations", "denominations",
+ "denomonations", "denominations",
+ "deomnstration", "demonstrations",
+ "dermatalogist", "dermatologist",
+ "dermatolagist", "dermatologist",
+ "dermatoligist", "dermatologist",
+ "dermatologyst", "dermatologist",
+ "dermetologist", "dermatologist",
+ "dermitologist", "dermatologist",
+ "derpatologist", "dermatologist",
+ "desentralized", "decentralized",
+ "desillusioned", "disillusioned",
+ "desintegrated", "disintegrated",
+ "desinterested", "disinterested",
+ "determenation", "determination",
+ "determinacion", "determination",
+ "determinining", "determining",
+ "determinisitc", "deterministic",
+ "determinsitic", "deterministic",
+ "detmatologist", "dermatologist",
+ "developmently", "developmental",
+ "dezentralized", "decentralized",
+ "differantiate", "differentiate",
+ "differenciate", "differentiate",
+ "differintiate", "differentiate",
+ "diffirentiate", "differentiate",
+ "disadvandages", "disadvantaged",
+ "disadvantadge", "disadvantaged",
+ "disadvanteged", "disadvantaged",
+ "disadvanteges", "disadvantages",
+ "disadvatanges", "disadvantages",
+ "disadventaged", "disadvantaged",
+ "disadventages", "disadvantages",
+ "disallusioned", "disillusioned",
+ "disappearence", "disappearance",
+ "disappearnace", "disappearance",
+ "disappearring", "disappearing",
+ "disatvantaged", "disadvantaged",
+ "disatvantages", "disadvantages",
+ "disciplinairy", "disciplinary",
+ "disciplinerad", "disciplined",
+ "discipliniary", "disciplinary",
+ "disconnecters", "disconnects",
+ "discontinuted", "discontinued",
+ "discrimianted", "discriminated",
+ "discriminante", "discriminate",
+ "discriminatie", "discriminate",
+ "discriminatin", "discrimination",
+ "disillisioned", "disillusioned",
+ "disillutioned", "disillusioned",
+ "disingenuious", "disingenuous",
+ "disollusioned", "disillusioned",
+ "disrecpectful", "disrespectful",
+ "disrecpecting", "disrespecting",
+ "disrepsectful", "disrespectful",
+ "disrepsecting", "disrespecting",
+ "disresepctful", "disrespectful",
+ "disresepcting", "disrespecting",
+ "disrespection", "disrespecting",
+ "disrespekting", "disrespecting",
+ "disrispectful", "disrespectful",
+ "disrispecting", "disrespecting",
+ "dissagreement", "disagreement",
+ "dissapearance", "disappearance",
+ "dissapointted", "dissapointed",
+ "dissappointed", "disappointed",
+ "dissobediance", "disobedience",
+ "dissobedience", "disobedience",
+ "distingishing", "distinguishing",
+ "distinguising", "distinguishing",
+ "distinquished", "distinguished",
+ "distirbutions", "distributions",
+ "distiungished", "distinguished",
+ "distribustion", "distributions",
+ "distributiors", "distributors",
+ "distributivos", "distributions",
+ "distrobutions", "distributions",
+ "distrubitions", "distributions",
+ "distuingished", "distinguished",
+ "documantaries", "documentaries",
+ "documenatries", "documentaries",
+ "documentacion", "documentation",
+ "documentaires", "documentaries",
+ "documentaiton", "documentation",
+ "documentarios", "documentaries",
+ "documentaties", "documentaries",
+ "documentating", "documentation",
+ "documenteries", "documentaries",
+ "documentories", "documentaries",
+ "drammatically", "grammatically",
+ "dsyfunctional", "dysfunctional",
+ "dumbfoundeads", "dumbfounded",
+ "dusfunctional", "dysfunctional",
+ "dustification", "justification",
+ "dysfonctional", "dysfunctional",
+ "dysfucntional", "dysfunctional",
+ "dysfuncitonal", "dysfunctional",
+ "dysfunktional", "dysfunctional",
+ "easthetically", "aesthetically",
+ "effectiviness", "effectiveness",
+ "effictiveness", "effectiveness",
+ "effortlessely", "effortlessly",
+ "effortlessley", "effortlessly",
+ "embarrasement", "embarrassment",
+ "embarrasments", "embarrassment",
+ "embarressment", "embarrassment",
+ "emberrassment", "embarrassment",
+ "encarceration", "incarceration",
+ "encorporating", "incorporating",
+ "encyclopeadia", "encyclopedia",
+ "encyclopeadic", "encyclopedia",
+ "encyclopeedia", "encyclopedia",
+ "encycolpedias", "encyclopedia",
+ "endoctrinated", "indoctrinated",
+ "enlightenting", "enlightening",
+ "enlightnement", "enlightenment",
+ "enligthenment", "enlightenment",
+ "enteratinment", "entertainment",
+ "enterpreneurs", "entrepreneurs",
+ "enterprenuers", "entrepreneurs",
+ "enterpreuners", "entrepreneurs",
+ "entertianment", "entertainment",
+ "enthusiasists", "enthusiasts",
+ "enthusiastics", "enthusiasts",
+ "entrepraneurs", "entrepreneurs",
+ "entreprenaurs", "entrepreneurs",
+ "entrepreneuer", "entrepreneurs",
+ "entreprenours", "entrepreneurs",
+ "entreprenuers", "entrepreneurs",
+ "entreprenures", "entrepreneurs",
+ "entrepreuners", "entrepreneurs",
+ "entretainment", "entertainment",
+ "enviornmental", "environmental",
+ "environemntal", "environmental",
+ "environmently", "environmental",
+ "envolutionary", "evolutionary",
+ "envrionmental", "environmental",
+ "estabilshment", "establishments",
+ "establishemnt", "establishments",
+ "establishmnet", "establishments",
+ "establsihment", "establishments",
+ "estbalishment", "establishments",
+ "ethnocentricm", "ethnocentrism",
+ "evolutionairy", "evolutionary",
+ "evolutionarly", "evolutionary",
+ "evolutionnary", "evolutionary",
+ "exaggeratting", "exaggerating",
+ "excpetionally", "exceptionally",
+ "executioneers", "executioner",
+ "existentiella", "existential",
+ "expectionally", "exceptionally",
+ "experementing", "experimenting",
+ "experienceing", "experiencing",
+ "experimentais", "experiments",
+ "experimention", "experimenting",
+ "experimentors", "experiments",
+ "expirementing", "experimenting",
+ "expodentially", "exponentially",
+ "exponantially", "exponentially",
+ "exponencially", "exponentially",
+ "exponentiella", "exponential",
+ "extraodrinary", "extraordinary",
+ "extraordianry", "extraordinary",
+ "extraordinair", "extraordinary",
+ "extraordinaly", "extraordinary",
+ "extraoridnary", "extraordinary",
+ "extremeophile", "extremophile",
+ "extroardinary", "extraordinary",
+ "familiarizate", "familiarize",
+ "fantasitcally", "fantastically",
+ "fantasmically", "fantastically",
+ "fantistically", "fantastically",
+ "faptastically", "fantastically",
+ "figurativeley", "figuratively",
+ "figurativelly", "figuratively",
+ "frankenstiens", "frankenstein",
+ "frankenstined", "frankenstein",
+ "frankenstiner", "frankenstein",
+ "frankenstines", "frankenstein",
+ "friendzoneado", "friendzoned",
+ "fucntionality", "functionality",
+ "funcitonality", "functionality",
+ "functionailty", "functionality",
+ "fundamentalis", "fundamentals",
+ "fundamnetally", "fundamentally",
+ "fundementally", "fundamentally",
+ "fundimentally", "fundamentally",
+ "gamifications", "ramifications",
+ "generalizaing", "generalizing",
+ "generalizaton", "generalization",
+ "generationals", "generations",
+ "generationens", "generations",
+ "generationers", "generations",
+ "generationnal", "generational",
+ "geographicaly", "geographically",
+ "geographicial", "geographical",
+ "geometricians", "geometers",
+ "goreshadowing", "foreshadowing",
+ "governmential", "governmental",
+ "gradification", "gratification",
+ "grammarically", "grammatically",
+ "grandchildern", "grandchildren",
+ "gratificacion", "gratification",
+ "gratificaiton", "gratification",
+ "grativational", "gravitational",
+ "gravitacional", "gravitational",
+ "gravitaitonal", "gravitational",
+ "hallcuination", "hallucination",
+ "hallicunation", "hallucination",
+ "hallucenation", "hallucination",
+ "halluciantion", "hallucinations",
+ "hallukination", "hallucination",
+ "hallunication", "hallucination",
+ "hallusination", "hallucination",
+ "halluzination", "hallucination",
+ "heiroglyphics", "hieroglyphics",
+ "hellucination", "hallucination",
+ "highlightning", "highlighting",
+ "homesexuality", "homosexuality",
+ "homosexualtiy", "homosexuality",
+ "homosexulaity", "homosexuality",
+ "horizontallly", "horizontally",
+ "hullucination", "hallucination",
+ "hypocriticial", "hypocritical",
+ "hypotheticaly", "hypothetically",
+ "hystericallly", "hysterically",
+ "identificaton", "identification",
+ "ideoligically", "ideologically",
+ "ideosyncratic", "idiosyncratic",
+ "idiologically", "ideologically",
+ "illistrations", "illustrations",
+ "illustartions", "illustrations",
+ "imperfactions", "imperfections",
+ "impersinating", "impersonating",
+ "implementaion", "implementation",
+ "implementatin", "implementations",
+ "implimenation", "implementation",
+ "imprefections", "imperfections",
+ "impresonating", "impersonating",
+ "inaccessibile", "inaccessible",
+ "inadventently", "inadvertently",
+ "inadverdently", "inadvertently",
+ "inadvertantly", "inadvertently",
+ "inadvertendly", "inadvertently",
+ "inapporpriate", "inappropriate",
+ "inappropirate", "inappropriate",
+ "inappropraite", "inappropriate",
+ "inaproppriate", "inappropriate",
+ "incarcaration", "incarceration",
+ "incarciration", "incarceration",
+ "incarseration", "incarceration",
+ "incerceration", "incarceration",
+ "incidentially", "incidentally",
+ "incomfortable", "uncomfortable",
+ "incomfortably", "uncomfortably",
+ "incompatabile", "incompatible",
+ "incompatiable", "incompatible",
+ "incompatibile", "incompatible",
+ "inconciderate", "inconsiderate",
+ "inconcistency", "inconsistency",
+ "inconditional", "unconditional",
+ "inconsciously", "unconsciously",
+ "inconsiderant", "inconsiderate",
+ "inconsistance", "inconsistency",
+ "inconsistancy", "inconsistency",
+ "inconsistenly", "inconsistency",
+ "inconsistensy", "inconsistency",
+ "inconsistenty", "inconsistency",
+ "inconveinence", "inconvenience",
+ "inconveniance", "inconvenience",
+ "inconveniente", "inconvenience",
+ "inconvienence", "inconvenience",
+ "incoroporated", "incorporated",
+ "incorparating", "incorporating",
+ "incorperating", "incorporating",
+ "incorperation", "incorporation",
+ "incorruptable", "incorruptible",
+ "incramentally", "incrementally",
+ "incrementarla", "incremental",
+ "incrementarlo", "incremental",
+ "indavertently", "inadvertently",
+ "indefinitelly", "indefinitely",
+ "independantes", "independents",
+ "independantly", "independently",
+ "independendet", "independent",
+ "independendly", "independently",
+ "indepentently", "independently",
+ "indespensable", "indispensable",
+ "indespensible", "indispensable",
+ "indestructble", "indestructible",
+ "indestructibe", "indestructible",
+ "indictrinated", "indoctrinated",
+ "indipendently", "independently",
+ "indispensible", "indispensable",
+ "indivuduality", "individuality",
+ "indocrtinated", "indoctrinated",
+ "indocternated", "indoctrinated",
+ "indoctornated", "indoctrinated",
+ "indoctrinatie", "indoctrinated",
+ "indoctrinatin", "indoctrination",
+ "indoctronated", "indoctrinated",
+ "industrialied", "industrialized",
+ "industrialzed", "industrialized",
+ "inexeprienced", "inexperience",
+ "inexpeirenced", "inexperience",
+ "inexpereinced", "inexperienced",
+ "inexperianced", "inexperienced",
+ "inexperiecned", "inexperience",
+ "inexperineced", "inexperience",
+ "inexpierenced", "inexperienced",
+ "inexplicabley", "inexplicably",
+ "inexplicablly", "inexplicably",
+ "infilitration", "infiltration",
+ "infrastructre", "infrastructure",
+ "infrastrucure", "infrastructure",
+ "inintelligent", "unintelligent",
+ "ininteresting", "uninteresting",
+ "initalisation", "initialisation",
+ "initalization", "initialization",
+ "inperfections", "imperfections",
+ "inpersonating", "impersonating",
+ "inpossibility", "impossibility",
+ "inpredictable", "unpredictable",
+ "inresponsible", "irresponsible",
+ "insectiverous", "insectivorous",
+ "insecuritites", "insecurities",
+ "insiginficant", "insignificant",
+ "insiginifcant", "insignificant",
+ "insignificent", "insignificant",
+ "insignificunt", "insignificant",
+ "insignifigant", "insignificant",
+ "insiprational", "inspirational",
+ "insperational", "inspirational",
+ "inspiritional", "inspirational",
+ "inspriational", "inspirational",
+ "instantaenous", "instantaneous",
+ "instantanious", "instantaneous",
+ "instanteneous", "instantaneous",
+ "instantenious", "instantaneous",
+ "instincitvely", "instinctively",
+ "instinctivley", "instinctively",
+ "instititional", "institutional",
+ "institutionel", "institutional",
+ "insturmentals", "instrumental",
+ "instutitional", "institutional",
+ "insustainable", "unsustainable",
+ "intelelctuals", "intellectuals",
+ "intellectualy", "intellectually",
+ "intellectuels", "intellectuals",
+ "intellecutals", "intellectuals",
+ "intellegently", "intelligently",
+ "intelluctuals", "intellectuals",
+ "intepretation", "interpretation",
+ "intereactions", "intersections",
+ "interesctions", "intersections",
+ "interlectuals", "intellectuals",
+ "intermittient", "intermittent",
+ "intermittment", "intermittent",
+ "internacional", "international",
+ "interpersonel", "interpersonal",
+ "interpresonal", "interpersonal",
+ "interpretaion", "interpretation",
+ "interpretarea", "interpreter",
+ "interpretarem", "interpreter",
+ "interpretares", "interpreter",
+ "interpretarse", "interpreter",
+ "interpretarte", "interpreter",
+ "interpretatin", "interpretations",
+ "interpreteert", "interpreter",
+ "interragation", "interrogation",
+ "interregation", "interrogation",
+ "interrigation", "interrogation",
+ "interrogacion", "interrogation",
+ "interrogativo", "interrogation",
+ "intertainment", "entertainment",
+ "intillectuals", "intellectuals",
+ "intraspection", "introspection",
+ "intrensically", "intrinsically",
+ "intriniscally", "intrinsically",
+ "intrinsecally", "intrinsically",
+ "intrisincally", "intrinsically",
+ "intristically", "intrinsically",
+ "introductiory", "introductory",
+ "introspeccion", "introspection",
+ "introspectivo", "introspection",
+ "introspektion", "introspection",
+ "invertibrates", "invertebrates",
+ "invesitgation", "investigation",
+ "invesitgative", "investigative",
+ "invesitgators", "investigators",
+ "investagators", "investigators",
+ "investegating", "investigating",
+ "investegators", "investigators",
+ "investiagtion", "investigation",
+ "investiagtive", "investigative",
+ "investigacion", "investigation",
+ "investigaiton", "investigations",
+ "investigaters", "investigators",
+ "investigativo", "investigation",
+ "investigatons", "investigations",
+ "investigsting", "investigating",
+ "investigstion", "investigations",
+ "investogators", "investigators",
+ "invisibillity", "invisibility",
+ "involuntarely", "involuntary",
+ "involuntarity", "involuntary",
+ "invulnerabile", "invulnerable",
+ "irrationallly", "irrationally",
+ "irresponcible", "irresponsible",
+ "irresponisble", "irresponsible",
+ "irresponsable", "irresponsible",
+ "irresponsbile", "irresponsible",
+ "irreversiable", "irreversible",
+ "irreversibelt", "irreversible",
+ "irreversibile", "irreversible",
+ "irrisponsible", "irresponsible",
+ "jacksonvillle", "jacksonville",
+ "journalisitic", "journalistic",
+ "journalistens", "journalists",
+ "journalisters", "journalists",
+ "journalistisk", "journalists",
+ "jsutification", "justifications",
+ "jurisdicitons", "jurisdictions",
+ "jurisidctions", "jurisdictions",
+ "juristictions", "jurisdictions",
+ "jursidictions", "jurisdictions",
+ "jusitfication", "justifications",
+ "justifiaction", "justifications",
+ "justificacion", "justification",
+ "justificaiton", "justification",
+ "justificativo", "justification",
+ "justificatons", "justifications",
+ "justificstion", "justifications",
+ "justiifcation", "justifications",
+ "karbohydrates", "carbohydrates",
+ "knoweldgeable", "knowledgeable",
+ "knowledegable", "knowledgeable",
+ "knowledgebale", "knowledgable",
+ "knowlegdeable", "knowledgeable",
+ "kollaboration", "collaboration",
+ "koncentration", "concentration",
+ "konfiguration", "configuration",
+ "konfrontation", "confrontation",
+ "konservatives", "conservatives",
+ "konstellation", "constellation",
+ "kontamination", "contamination",
+ "legitimatelly", "legitimately",
+ "libertariaism", "libertarianism",
+ "libertariansm", "libertarianism",
+ "libitarianisn", "libertarianism",
+ "lighthearthed", "lighthearted",
+ "mainfestation", "manifestation",
+ "manafacturers", "manufacturers",
+ "manafacturing", "manufacturing",
+ "manafestation", "manifestation",
+ "manefestation", "manifestation",
+ "manfuacturers", "manufactures",
+ "manifacturers", "manufacturers",
+ "manifacturing", "manufacturing",
+ "manifastation", "manifestation",
+ "manifestacion", "manifestation",
+ "manifestating", "manifestation",
+ "manifistation", "manifestation",
+ "manipulationg", "manipulating",
+ "manufacterers", "manufacturers",
+ "manufactering", "manufacturing",
+ "manufacterurs", "manufactures",
+ "manufactorers", "manufacturers",
+ "manufactoring", "manufacturing",
+ "manufactuered", "manufactured",
+ "manufactuerer", "manufacturer",
+ "manufactueres", "manufactures",
+ "manufacturedd", "manufactured",
+ "manufactureds", "manufactures",
+ "manufacturerd", "manufactured",
+ "manufacturier", "manufacturer",
+ "manufacturors", "manufacturers",
+ "manufactuters", "manufactures",
+ "manufacutrers", "manufactures",
+ "manufcaturers", "manufactures",
+ "marshmalllows", "marshmallows",
+ "massachsuetts", "massachusetts",
+ "massachucetts", "massachusetts",
+ "massachuestts", "massachusetts",
+ "massachusents", "massachusetts",
+ "massachusites", "massachusetts",
+ "massachussets", "massachusetts",
+ "massechusetts", "massachusetts",
+ "masturbateing", "masturbating",
+ "materialisimo", "materialism",
+ "mathamatician", "mathematician",
+ "mathametician", "mathematician",
+ "mathematicals", "mathematics",
+ "mathematicaly", "mathematically",
+ "mathematicans", "mathematics",
+ "mathematicion", "mathematician",
+ "mathematitian", "mathematician",
+ "mathemetician", "mathematician",
+ "mathmatically", "mathematically",
+ "mathmaticians", "mathematicians",
+ "mechanicallly", "mechanically",
+ "medeterranean", "mediterranean",
+ "meditarrenean", "mediterranean",
+ "meditereanean", "mediterranean",
+ "membranaphone", "membranophone",
+ "metamorphysis", "metamorphosis",
+ "metaphoricaly", "metaphorically",
+ "metaphoricial", "metaphorical",
+ "metaphysicals", "metaphysics",
+ "metaphysicans", "metaphysics",
+ "methamatician", "mathematician",
+ "methematician", "mathematician",
+ "metropolitain", "metropolitan",
+ "metropolitcan", "metropolitan",
+ "metropolitian", "metropolitan",
+ "millionairres", "millionaire",
+ "minneapolites", "minneapolis",
+ "misanderstood", "misunderstood",
+ "miscellanious", "miscellaneous",
+ "misconcpetion", "misconceptions",
+ "misconecption", "misconceptions",
+ "misinterperet", "misinterpret",
+ "misinterprate", "misinterpret",
+ "misinterprent", "misinterpret",
+ "misinterprted", "misinterpret",
+ "misogynisitic", "misogynistic",
+ "misrepreseted", "misrepresented",
+ "misunterstood", "misunderstood",
+ "modificaitons", "modifications",
+ "motivationals", "motivations",
+ "motivationnal", "motivational",
+ "mulitnational", "multinational",
+ "multimational", "multinational",
+ "multiplicaton", "multiplication",
+ "muncipalities", "municipalities",
+ "munnicipality", "municipality",
+ "mutlinational", "multinational",
+ "nacionalistic", "nationalistic",
+ "narcissisitic", "narcissistic",
+ "narcississtic", "narcissistic",
+ "natioanlistic", "nationalistic",
+ "nationalisitc", "nationalistic",
+ "nationalistes", "nationalists",
+ "nationalsitic", "nationalistic",
+ "neigbhourhood", "neighbourhood",
+ "neighboorhoud", "neighbourhood",
+ "neighborehood", "neighbourhood",
+ "neighborhoood", "neighborhoods",
+ "neighbourbood", "neighbourhood",
+ "neighbourgood", "neighbourhood",
+ "neighbourhoud", "neighbourhood",
+ "neighourhoods", "neighborhoods",
+ "nieghborhoods", "neighborhoods",
+ "nieghbourhood", "neighbourhood",
+ "noncombatents", "noncombatants",
+ "noninitalized", "noninitialized",
+ "northwestener", "northwestern",
+ "notificaitons", "notifications",
+ "occassionally", "occasionally",
+ "operationable", "operational",
+ "oppertunities", "opportunities",
+ "opprotunities", "opportunities",
+ "oppurtunities", "opportunities",
+ "opthamologist", "ophthalmologist",
+ "organistaions", "organisations",
+ "organizatinal", "organizational",
+ "organizativos", "organizations",
+ "organsiations", "organisations",
+ "organziations", "organizations",
+ "orginasations", "organisations",
+ "orginazations", "organizations",
+ "overpopulaton", "overpopulation",
+ "overreactiong", "overreacting",
+ "overshaddowed", "overshadowed",
+ "overwheliming", "overwhelming",
+ "overwhelmigly", "overwhelmingly",
+ "overwhelmingy", "overwhelmingly",
+ "overwhelminly", "overwhelmingly",
+ "palestininans", "palestinians",
+ "paraphraseing", "paraphrasing",
+ "paraphrashing", "paraphrasing",
+ "parilamentary", "parliamentary",
+ "parlaimentary", "parliamentary",
+ "parliamantary", "parliamentary",
+ "parliamentery", "parliamentary",
+ "parliamnetary", "parliamentary",
+ "parliementary", "parliamentary",
+ "particiaption", "participation",
+ "participacion", "participation",
+ "participantes", "participants",
+ "participativo", "participation",
+ "particularely", "particularly",
+ "particularily", "particularly",
+ "particularlly", "particularly",
+ "partizipation", "participation",
+ "passionatelly", "passionately",
+ "paychiatrists", "psychiatrists",
+ "paychologists", "psychologists",
+ "pennsylvainia", "pennsylvania",
+ "pennsylvanica", "pennsylvania",
+ "pennsylvannia", "pennsylvania",
+ "perdominantly", "predominantly",
+ "perpandicular", "perpendicular",
+ "perpendicualr", "perpendicular",
+ "perpenticular", "perpendicular",
+ "perpetuationg", "perpetuating",
+ "perpindicular", "perpendicular",
+ "personalitits", "personalities",
+ "pessimistisch", "pessimistic",
+ "pharmaceutial", "pharmaceutical",
+ "philisophical", "philosophical",
+ "philosiphical", "philosophical",
+ "philosohpical", "philosophical",
+ "philosophycal", "philosophically",
+ "philospohical", "philosophical",
+ "phisiological", "physiological",
+ "photagraphers", "photographers",
+ "photographics", "photographs",
+ "photographied", "photographed",
+ "photographier", "photographer",
+ "photograpphed", "photographed",
+ "photogrophers", "photographers",
+ "photogrpahers", "photographers",
+ "photoshoppade", "photoshopped",
+ "photoshoppped", "photoshopped",
+ "phsyiological", "physiological",
+ "phychiatrists", "psychiatrists",
+ "phychological", "psychological",
+ "phychologists", "psychologists",
+ "phylosophical", "philosophical",
+ "physciatrists", "psychiatrists",
+ "physcological", "psychological",
+ "physcologists", "psychologists",
+ "physioligical", "physiological",
+ "planeswlakers", "planeswalker",
+ "plansewalkers", "planeswalker",
+ "playthroughts", "playthroughs",
+ "polysaccaride", "polysaccharide",
+ "practicallity", "practically",
+ "practicioners", "practitioners",
+ "practisioners", "practitioners",
+ "practitioneer", "practitioners",
+ "practitionner", "practitioner",
+ "pratictioners", "practitioners",
+ "preconceieved", "preconceived",
+ "predecessores", "predecessors",
+ "predetermiend", "predetermined",
+ "predetirmined", "predetermined",
+ "preditermined", "predetermined",
+ "predomenantly", "predominantly",
+ "predominently", "predominantly",
+ "pregressively", "progressively",
+ "preinitalized", "preinitialized",
+ "preinitalizes", "preinitializes",
+ "preliferation", "proliferation",
+ "prependicular", "perpendicular",
+ "preposterious", "preposterous",
+ "prerequisties", "prerequisite",
+ "prerequistite", "prerequisite",
+ "prescribtions", "prescriptions",
+ "presumptuious", "presumptuous",
+ "pretedermined", "predetermined",
+ "problematisch", "problematic",
+ "proclaimation", "proclamation",
+ "prodominantly", "predominantly",
+ "professionnal", "professional",
+ "profitiablity", "profitability",
+ "profitibality", "profitability",
+ "progressivily", "progressively",
+ "progressivley", "progressively",
+ "prononciation", "pronunciation",
+ "pronouciation", "pronunciation",
+ "pronunciacion", "pronunciation",
+ "pronunciating", "pronunciation",
+ "pronuncuation", "pronunciation",
+ "pronunication", "pronunciation",
+ "pronuntiation", "pronunciation",
+ "propabilities", "probabilities",
+ "proportionaly", "proportionally",
+ "proportionnal", "proportional",
+ "proseletyzing", "proselytizing",
+ "protagonistas", "protagonists",
+ "protagonistes", "protagonists",
+ "protestantisk", "protestants",
+ "protruberance", "protuberance",
+ "provocativley", "provocative",
+ "pscyhiatrists", "psychiatrists",
+ "pscyhological", "psychological",
+ "pscyhologists", "psychologists",
+ "pshycological", "psychological",
+ "pshycologists", "psychologists",
+ "psichological", "psychological",
+ "psychaitrists", "psychiatrists",
+ "psychedellics", "psychedelics",
+ "psychiatrisch", "psychiatric",
+ "psycholigical", "psychological",
+ "psycholigists", "psychologists",
+ "psychologycal", "psychologically",
+ "psychologysts", "psychologists",
+ "psychyatrists", "psychiatrists",
+ "psysiological", "physiological",
+ "purpendicular", "perpendicular",
+ "pyschiatrists", "psychiatrists",
+ "pyschological", "psychological",
+ "pyschologists", "psychologists",
+ "qaulification", "qualification",
+ "qualifiaction", "qualification",
+ "qualificaiton", "qualifications",
+ "qualificatons", "qualifications",
+ "qualifikation", "qualification",
+ "questionalble", "questionable",
+ "quinessential", "quintessential",
+ "ramificaitons", "ramifications",
+ "realisitcally", "realistically",
+ "realtionships", "relationships",
+ "reccommending", "recommending",
+ "receptionnist", "receptionist",
+ "receptionsist", "receptionist",
+ "reconaissance", "reconnaissance",
+ "reconcilation", "reconciliation",
+ "reconnaisance", "reconnaissance",
+ "reconstrucion", "reconstruction",
+ "recreationnal", "recreational",
+ "rectangulaire", "rectangular",
+ "redistribuito", "redistribution",
+ "redistributin", "redistribution",
+ "reencarnation", "reincarnation",
+ "refridgerator", "refrigerator",
+ "rehabilitaion", "rehabilitation",
+ "rehabilitatin", "rehabilitation",
+ "rehabilitaton", "rehabilitation",
+ "reincarantion", "reincarnation",
+ "reincatnation", "reincarnation",
+ "reinforcemens", "reinforcements",
+ "reinforcemnts", "reinforcements",
+ "reinitalising", "reinitialising",
+ "reinitalizing", "reinitializing",
+ "reinkarnation", "reincarnation",
+ "reinstallling", "reinstalling",
+ "reintarnation", "reincarnation",
+ "relationshits", "relationships",
+ "relationsship", "relationships",
+ "relatiopnship", "relationship",
+ "relentlessely", "relentlessly",
+ "relentlessley", "relentlessly",
+ "relinqushment", "relinquishment",
+ "remifications", "ramifications",
+ "reprehenisble", "reprehensible",
+ "reprehensable", "reprehensible",
+ "reprehinsible", "reprehensible",
+ "represenation", "representation",
+ "represensible", "reprehensible",
+ "representaion", "representation",
+ "representatie", "representatives",
+ "representatin", "representations",
+ "representerad", "represented",
+ "representitve", "representative",
+ "representives", "representatives",
+ "repricussions", "repercussions",
+ "reprihensible", "reprehensible",
+ "resolutionary", "revolutionary",
+ "respectivelly", "respectively",
+ "responsibiliy", "responsibility",
+ "responsibilty", "responsibility",
+ "responsiblity", "responsibility",
+ "respositories", "repositories",
+ "resssurecting", "resurrecting",
+ "ressurrection", "resurrection",
+ "restaraunteur", "restaurateur",
+ "retoractively", "retroactively",
+ "retroactivily", "retroactively",
+ "retroactivley", "retroactively",
+ "retrocatively", "retroactively",
+ "revelutionary", "revolutionary",
+ "revolutionair", "revolutionary",
+ "revolutionens", "revolutions",
+ "revolutioners", "revolutions",
+ "revoultionary", "revolutionary",
+ "ridiculouness", "ridiculousness",
+ "rienforcement", "reinforcements",
+ "righetousness", "righteousness",
+ "rightiousness", "righteousness",
+ "rigtheousness", "righteousness",
+ "rollarcoaster", "rollercoaster",
+ "rollercaoster", "rollercoaster",
+ "rollercoaters", "rollercoaster",
+ "rollercoatser", "rollercoaster",
+ "rollerocaster", "rollercoaster",
+ "rollertoaster", "rollercoaster",
+ "rollorcoaster", "rollercoaster",
+ "sacrastically", "sarcastically",
+ "sarcasitcally", "sarcastically",
+ "satisfactorly", "satisfactory",
+ "scandianvians", "scandinavian",
+ "scateboarding", "skateboarding",
+ "schisophrenic", "schizophrenic",
+ "schiziphrenic", "schizophrenic",
+ "schizophernia", "schizophrenia",
+ "schizophernic", "schizophrenic",
+ "schizophrania", "schizophrenia",
+ "schizoprhenia", "schizophrenia",
+ "schizoprhenic", "schizophrenic",
+ "schozophrenia", "schizophrenia",
+ "schozophrenic", "schizophrenic",
+ "schyzophrenia", "schizophrenia",
+ "schyzophrenic", "schizophrenic",
+ "schziophrenia", "schizophrenia",
+ "schziophrenic", "schizophrenic",
+ "scientificaly", "scientifically",
+ "scientificlly", "scientifically",
+ "segementation", "segmentation",
+ "sensationable", "sensational",
+ "sensationails", "sensationalism",
+ "sensationaism", "sensationalism",
+ "sensationalim", "sensationalism",
+ "sensationella", "sensational",
+ "shcizophrenic", "schizophrenic",
+ "significanlty", "significantly",
+ "significently", "significantly",
+ "signifigantly", "significantly",
+ "simultaneosly", "simultaneously",
+ "simultaneuous", "simultaneous",
+ "simultanously", "simultaneously",
+ "singificantly", "significantly",
+ "skatebaording", "skateboarding",
+ "skateborading", "skateboarding",
+ "socioecenomic", "socioeconomic",
+ "socioecomonic", "socioeconomic",
+ "socioeconimic", "socioeconomic",
+ "sohpisticated", "sophisticated",
+ "sophisitcated", "sophisticated",
+ "sophistacated", "sophisticated",
+ "sophistocated", "sophisticated",
+ "sophosticated", "sophisticated",
+ "spacification", "specification",
+ "specializaton", "specialization",
+ "specificaiton", "specifications",
+ "specificatons", "specifications",
+ "specifikation", "specification",
+ "spectaculaire", "spectacular",
+ "spectaculalry", "spectacularly",
+ "spectatularly", "spectacularly",
+ "spesification", "specification",
+ "spirituallity", "spiritually",
+ "sponatenously", "spontaneously",
+ "spontaenously", "spontaneously",
+ "spontainously", "spontaneously",
+ "spontaneoulsy", "spontaneously",
+ "spontaneuosly", "spontaneously",
+ "spontaniously", "spontaneously",
+ "spontanuously", "spontaneously",
+ "sponteanously", "spontaneously",
+ "sponteneously", "spontaneously",
+ "sporstmanship", "sportsmanship",
+ "sportmansship", "sportsmanship",
+ "sportsmamship", "sportsmanship",
+ "sportsmenship", "sportsmanship",
+ "sprotsmanship", "sportsmanship",
+ "stakeboarding", "skateboarding",
+ "startegically", "strategically",
+ "statisitcally", "statistically",
+ "statistacally", "statistically",
+ "stereotipical", "stereotypical",
+ "stereotpyical", "stereotypical",
+ "stereotypcial", "stereotypical",
+ "stereotypeing", "stereotyping",
+ "stereotypying", "stereotyping",
+ "steriotypical", "stereotypical",
+ "steroetypical", "stereotypical",
+ "steryotypical", "stereotypical",
+ "storytellling", "storytelling",
+ "stragegically", "strategically",
+ "stragetically", "strategically",
+ "straightenend", "straightened",
+ "straitforward", "straightforward",
+ "stratagically", "strategically",
+ "stratigically", "strategically",
+ "strawberrries", "strawberries",
+ "stregnthening", "strengthening",
+ "strenghtening", "strengthening",
+ "strengthining", "strengthening",
+ "stretegically", "strategically",
+ "subcatagories", "subcategories",
+ "subconsciosly", "subconsciously",
+ "subconsciouly", "subconsciously",
+ "subconsiously", "subconsciously",
+ "subjectivelly", "subjectively",
+ "subscribtions", "subscriptions",
+ "substancially", "substantially",
+ "substanitally", "substantially",
+ "substansially", "substantially",
+ "substantiable", "substantial",
+ "substantually", "substantially",
+ "substitutents", "substitutes",
+ "successfullly", "successfully",
+ "supermarkedet", "supermarket",
+ "supermarkerts", "supermarkets",
+ "superpowereds", "superpowers",
+ "supersticious", "superstitious",
+ "superstisious", "superstitious",
+ "superstitiosi", "superstitious",
+ "superstitiuos", "superstitious",
+ "superstituous", "superstitious",
+ "suphisticated", "sophisticated",
+ "supscriptions", "subscriptions",
+ "surreptiously", "surreptitiously",
+ "survavibility", "survivability",
+ "survibability", "survivability",
+ "survivabiltiy", "survivability",
+ "survivalibity", "survivability",
+ "survivavility", "survivability",
+ "survivebility", "survivability",
+ "susbtantially", "substantially",
+ "sustainabilty", "sustainability",
+ "synchornously", "synchronously",
+ "systematicaly", "systematically",
+ "systematiclly", "systematically",
+ "techmological", "technological",
+ "technicallity", "technically",
+ "technoligical", "technological",
+ "technologicly", "technological",
+ "techonlogical", "technological",
+ "telaportation", "teleportation",
+ "teleportating", "teleportation",
+ "teleprotation", "teleportation",
+ "teliportation", "teleportation",
+ "teloportation", "teleportation",
+ "territoriella", "territorial",
+ "theoratically", "theoretically",
+ "theoritically", "theoretically",
+ "therapeutisch", "therapeutic",
+ "thereotically", "theoretically",
+ "thermodynaics", "thermodynamics",
+ "thermodynamcs", "thermodynamics",
+ "theroetically", "theoretically",
+ "thoeretically", "theoretically",
+ "tranistioning", "transitioning",
+ "transcendance", "transcendence",
+ "transcribtion", "transcription",
+ "transcripcion", "transcription",
+ "transferrring", "transferring",
+ "transformarea", "transformer",
+ "transformarem", "transformer",
+ "transformarse", "transformers",
+ "transformaton", "transformation",
+ "transformered", "transformed",
+ "transgengered", "transgendered",
+ "transisioning", "transitioning",
+ "transitionals", "transitions",
+ "transitionnal", "transitional",
+ "transitionned", "transitioned",
+ "transkription", "transcription",
+ "translyvanian", "transylvania",
+ "transmisisons", "transmissions",
+ "transmissable", "transmissible",
+ "transmisssion", "transmissions",
+ "transparantie", "transparent",
+ "transparentcy", "transparency",
+ "transplantees", "transplants",
+ "transporation", "transportation",
+ "transportaion", "transportation",
+ "transportarme", "transporter",
+ "transportarse", "transporter",
+ "transportarte", "transporter",
+ "transporteurs", "transporter",
+ "transsexuella", "transsexual",
+ "transylvannia", "transylvania",
+ "trasngendered", "transgendered",
+ "troubleshooot", "troubleshoot",
+ "udnerestimate", "underestimated",
+ "umcomfortable", "uncomfortable",
+ "umcomfortably", "uncomfortably",
+ "umpredictable", "unpredictable",
+ "unappropriate", "inappropriate",
+ "unbelievabley", "unbelievably",
+ "unbelievablly", "unbelievably",
+ "uncertaintity", "uncertainty",
+ "uncomfertable", "uncomfortable",
+ "uncomfertably", "uncomfortably",
+ "uncomfortabel", "uncomfortably",
+ "uncomforyable", "uncomfortably",
+ "uncomfrotable", "uncomfortable",
+ "uncomfrotably", "uncomfortably",
+ "uncomftorable", "uncomfortable",
+ "uncomftorably", "uncomfortably",
+ "unconcsiously", "unconsciously",
+ "unconfortable", "uncomfortable",
+ "unconfortably", "uncomfortably",
+ "unconscioulsy", "unconsciously",
+ "unconsicously", "unconsciously",
+ "unconsiderate", "inconsiderate",
+ "uncontrollabe", "uncontrollable",
+ "uncontrollaby", "uncontrollably",
+ "unconventinal", "unconventional",
+ "uncounciously", "unconsciously",
+ "uncousciously", "unconsciously",
+ "underastimate", "underestimate",
+ "underesitmate", "underestimated",
+ "underestamate", "underestimate",
+ "underestemate", "underestimate",
+ "underestiamte", "underestimated",
+ "undergratuate", "undergraduate",
+ "underhwelming", "underwhelming",
+ "underhwleming", "underwhelming",
+ "underminining", "undermining",
+ "underpowererd", "underpowered",
+ "undersetimate", "underestimate",
+ "understandble", "understandable",
+ "understandbly", "understandably",
+ "underwealming", "underwhelming",
+ "underwhemling", "underwhelming",
+ "underwhleming", "underwhelming",
+ "undoctrinated", "indoctrinated",
+ "unexpectadely", "unexpectedly",
+ "unfomfortable", "uncomfortable",
+ "unforgiveable", "unforgivable",
+ "unfortuantely", "unfortunately",
+ "unfortunantly", "unfortunately",
+ "unfortunatley", "unfortunately",
+ "unfortuneatly", "unfortunately",
+ "unfortunetely", "unfortunately",
+ "unilaterallly", "unilaterally",
+ "uninstallling", "uninstalling",
+ "unintellegent", "unintelligent",
+ "unintelligant", "unintelligent",
+ "unintensional", "unintentional",
+ "uninteristing", "uninteresting",
+ "universitites", "universities",
+ "unnecassarily", "unnecessarily",
+ "unneccesarily", "unnecessarily",
+ "unnecessairly", "unnecessarily",
+ "unnecessarely", "unnecessarily",
+ "unnecessarity", "unnecessarily",
+ "unnecesserily", "unnecessarily",
+ "unnecissarily", "unnecessarily",
+ "unnessecarily", "unnecessarily",
+ "unoperational", "nonoperational",
+ "unprecendeted", "unprecedented",
+ "unprecidented", "unprecedented",
+ "unpredecented", "unprecedented",
+ "unpredicatble", "unpredictable",
+ "unpredictible", "unpredictable",
+ "unpresedented", "unprecedented",
+ "unpridictable", "unpredictable",
+ "unprofessinal", "unprofessional",
+ "unrealistisch", "unrealistic",
+ "unreasonabley", "unreasonably",
+ "unreasonablly", "unreasonably",
+ "unrestrictred", "unrestricted",
+ "unsistainable", "unsustainable",
+ "unsubscribade", "unsubscribed",
+ "unsubscribbed", "unsubscribe",
+ "unsuccesfully", "unsuccessfully",
+ "unsuccessfull", "unsuccessful",
+ "unsucessfully", "unsuccessfully",
+ "unsuprisingly", "unsurprisingly",
+ "unsuprizingly", "unsurprisingly",
+ "unsustainible", "unsustainable",
+ "unsustianable", "unsustainable",
+ "vertification", "certification",
+ "villification", "vilification",
+ "virualization", "visualization",
+ "visualizacion", "visualization",
+ "visualizaiton", "visualization",
+ "visualizating", "visualization",
+ "vitualization", "visualization",
+ "vizualization", "visualization",
+ "volounteering", "volunteering",
+ "vulberability", "vulnerability",
+ "vulernability", "vulnerability",
+ "vulnarability", "vulnerability",
+ "vulnerabiltiy", "vulnerability",
+ "vulnurability", "vulnerability",
+ "vunlerability", "vulnerability",
+ "vurnerability", "vulnerability",
+ "weightlfiting", "weightlifting",
+ "weightlifitng", "weightlifting",
+ "weightligting", "weightlifting",
+ "weigthlifting", "weightlifting",
+ "wholeheartdly", "wholeheartedly",
+ "wholeheartedy", "wholeheartedly",
+ "wholeheartely", "wholeheartedly",
+ "wieghtlifting", "weightlifting",
+ "abberivation", "abbreviation",
+ "abberviation", "abbreviation",
+ "abbreivation", "abbreviation",
+ "abbreveation", "abbreviation",
+ "abbrievation", "abbreviation",
+ "abortificant", "abortifacient",
+ "abrreviation", "abbreviation",
+ "academcially", "academically",
+ "accedentally", "accidentally",
+ "accelarating", "accelerating",
+ "accelaration", "acceleration",
+ "acceleartion", "acceleration",
+ "acceleraptor", "accelerator",
+ "accelorating", "accelerating",
+ "accessibilty", "accessibility",
+ "accidentlaly", "accidently",
+ "accomadating", "accommodating",
+ "accomadation", "accommodation",
+ "accomodating", "accommodating",
+ "accomodation", "accommodation",
+ "accrediation", "accreditation",
+ "acculumation", "accumulation",
+ "accumalation", "accumulation",
+ "accumilation", "accumulation",
+ "acedemically", "academically",
+ "acheivements", "achievements",
+ "acknolwedged", "acknowledged",
+ "acknolwedges", "acknowledges",
+ "acknoweldged", "acknowledged",
+ "acknoweldges", "acknowledges",
+ "acknowiedged", "acknowledged",
+ "acknowladges", "acknowledges",
+ "acknowldeged", "acknowledged",
+ "acknowledget", "acknowledgement",
+ "acknowleding", "acknowledging",
+ "acknowlegded", "acknowledged",
+ "acknowlegdes", "acknowledges",
+ "ackumulation", "accumulation",
+ "acquaintaces", "acquaintances",
+ "acquaintence", "acquaintance",
+ "acquantaince", "acquaintance",
+ "acquantiance", "acquaintances",
+ "acquiantance", "acquaintances",
+ "acquiantence", "acquaintance",
+ "adknowledged", "acknowledged",
+ "adknowledges", "acknowledges",
+ "administored", "administer",
+ "adminsitered", "administered",
+ "adminstrator", "administrator",
+ "advantagious", "advantageous",
+ "advantegeous", "advantageous",
+ "adventageous", "advantageous",
+ "adventureous", "adventures",
+ "adventureres", "adventures",
+ "adventurious", "adventurous",
+ "adventuruous", "adventurous",
+ "advertisiers", "advertisers",
+ "advertisment", "advertisement",
+ "advertisters", "advertisers",
+ "advertisting", "advertising",
+ "aestheticaly", "aesthetically",
+ "aestheticlly", "aesthetically",
+ "afficianados", "aficionados",
+ "afficionados", "aficionados",
+ "afghanisthan", "afghanistan",
+ "afterhtought", "afterthought",
+ "afterthougth", "afterthought",
+ "aggressivley", "aggressively",
+ "agircultural", "agricultural",
+ "agknowledged", "acknowledged",
+ "agnosticisim", "agnosticism",
+ "agracultural", "agricultural",
+ "agriculteral", "agricultural",
+ "agriculteurs", "agriculture",
+ "agricultrual", "agricultural",
+ "agriculutral", "agricultural",
+ "agrigultural", "agricultural",
+ "agrocultural", "agricultural",
+ "allegiancies", "allegiance",
+ "alterantives", "alternatives",
+ "alternatevly", "alternately",
+ "alternatiely", "alternately",
+ "alternatieve", "alternative",
+ "alternativly", "alternatively",
+ "alternativos", "alternatives",
+ "alternatvely", "alternately",
+ "alternitives", "alternatives",
+ "altruistisch", "altruistic",
+ "amendmenters", "amendments",
+ "amohetamines", "amphetamines",
+ "ampehtamines", "amphetamines",
+ "ampethamines", "amphetamines",
+ "amphatamines", "amphetamines",
+ "amphedamines", "amphetamines",
+ "amphetamenes", "amphetamines",
+ "amphetemines", "amphetamines",
+ "amphetimines", "amphetamines",
+ "amphetmaines", "amphetamines",
+ "anecdotallly", "anecdotally",
+ "annhiliation", "annihilation",
+ "annihalition", "annihilation",
+ "annihilatron", "annihilation",
+ "annihliation", "annihilation",
+ "annilihation", "annihilation",
+ "anniversairy", "anniversary",
+ "anniversarry", "anniversary",
+ "anniversiary", "anniversary",
+ "annoucenment", "announcements",
+ "annoucnement", "announcement",
+ "announcemnet", "announcements",
+ "announcemnts", "announcements",
+ "anphetamines", "amphetamines",
+ "ansalisation", "nasalisation",
+ "ansalization", "nasalization",
+ "antaganistic", "antagonistic",
+ "antagonisitc", "antagonistic",
+ "antagonostic", "antagonist",
+ "antibioticos", "antibiotics",
+ "anticiaption", "anticipation",
+ "anticipacion", "anticipation",
+ "antisipation", "anticipation",
+ "antogonistic", "antagonistic",
+ "antrhopology", "anthropology",
+ "antrophology", "anthropology",
+ "apllications", "applications",
+ "apocalypitic", "apocalyptic",
+ "apologistics", "apologists",
+ "apologizeing", "apologizing",
+ "apostrophied", "apostrophe",
+ "apostrophies", "apostrophe",
+ "apperciation", "appreciation",
+ "applicaitons", "applications",
+ "appoitnments", "appointments",
+ "apporachable", "approachable",
+ "appraochable", "approachable",
+ "appreceating", "appreciating",
+ "appreciaters", "appreciates",
+ "appreciatied", "appreciative",
+ "appreicating", "appreciating",
+ "appreication", "appreciation",
+ "appretiation", "appreciation",
+ "appropriatin", "appropriation",
+ "appropriatly", "appropriately",
+ "appropriaton", "appropriation",
+ "approprietly", "appropriately",
+ "approstraphe", "apostrophe",
+ "approxiately", "approximately",
+ "approximatly", "approximately",
+ "approximetly", "approximately",
+ "aproximately", "approximately",
+ "aqcuaintance", "acquaintance",
+ "aqquaintance", "acquaintance",
+ "arbitrariliy", "arbitrarily",
+ "arbitrarilly", "arbitrarily",
+ "archetecture", "architecture",
+ "architechure", "architecture",
+ "architectual", "architectural",
+ "architectuur", "architecture",
+ "architecutre", "architecture",
+ "architexture", "architecture",
+ "arcitechture", "architecture",
+ "areodynamics", "aerodynamics",
+ "argicultural", "agricultural",
+ "argumentatie", "argumentative",
+ "arithmetisch", "arithmetic",
+ "armageddomon", "armageddon",
+ "arrengements", "arrangements",
+ "articifially", "artificially",
+ "artificailly", "artificially",
+ "artificiella", "artificial",
+ "artificually", "artificially",
+ "artifiically", "artificially",
+ "assasination", "assassination",
+ "assassinatin", "assassination",
+ "assissinated", "assassinated",
+ "associationg", "associating",
+ "assoications", "associations",
+ "assosiations", "associations",
+ "assosication", "assassination",
+ "assotiations", "associations",
+ "assymetrical", "asymmetrical",
+ "asthetically", "aesthetically",
+ "astranomical", "astronomical",
+ "astromonical", "astronomical",
+ "astronautlis", "astronauts",
+ "astronimical", "astronomical",
+ "astronomicly", "astronomical",
+ "athleticisim", "athleticism",
+ "atmosphereic", "atmospheric",
+ "audiobookmrs", "audiobooks",
+ "auhtenticate", "authenticate",
+ "australianas", "australians",
+ "australianos", "australians",
+ "authentisity", "authenticity",
+ "authorithies", "authorities",
+ "authoritiers", "authorities",
+ "authorizaton", "authorization",
+ "authrorities", "authorities",
+ "autochtonous", "autochthonous",
+ "autocorrrect", "autocorrect",
+ "automobilies", "automobile",
+ "automodertor", "automoderator",
+ "automonomous", "autonomous",
+ "auxilliaries", "auxiliaries",
+ "avaliability", "availability",
+ "avialability", "availability",
+ "awknowledged", "acknowledged",
+ "awknowledges", "acknowledges",
+ "awkwardsness", "awkwardness",
+ "babysittting", "babysitting",
+ "beaurocratic", "bureaucratic",
+ "beautifullly", "beautifully",
+ "belligerante", "belligerent",
+ "beuraucratic", "bureaucratic",
+ "billionairre", "billionaire",
+ "billionaries", "billionaires",
+ "billioniares", "billionaires",
+ "bioligically", "biologically",
+ "birmingharam", "birmingham",
+ "bittersweeet", "bittersweet",
+ "blamethrower", "flamethrower",
+ "blueberrries", "blueberries",
+ "blueprintcss", "blueprints",
+ "boardcasting", "broadcasting",
+ "bobybuilding", "bodybuilding",
+ "bodybuidling", "bodybuilding",
+ "bodybuilidng", "bodybuilding",
+ "bodybuliding", "bodybuilding",
+ "bodydbuilder", "bodybuilder",
+ "bombardement", "bombardment",
+ "boradcasting", "broadcasting",
+ "botivational", "motivational",
+ "brainwahsing", "brainwashing",
+ "brakethrough", "breakthrough",
+ "braodcasting", "broadcasting",
+ "brazilianese", "brazilians",
+ "brazilianess", "brazilians",
+ "breakthorugh", "breakthrough",
+ "breaktrhough", "breakthrough",
+ "breastfeedig", "breastfeeding",
+ "breastfeeing", "breastfeeding",
+ "breasttaking", "breathtaking",
+ "brianwashing", "brainwashing",
+ "broadcastors", "broadcasts",
+ "brotherhoood", "brotherhood",
+ "buearucratic", "bureaucratic",
+ "bueraucratic", "bureaucratic",
+ "bulletprooof", "bulletproof",
+ "bureaocratic", "bureaucratic",
+ "bureaucracie", "bureaucratic",
+ "bureaucracts", "bureaucrats",
+ "bureaucrates", "bureaucrats",
+ "bureuacratic", "bureaucratic",
+ "businessemen", "businessmen",
+ "cababilities", "capabilities",
+ "caclulations", "calculations",
+ "calcluations", "calculation",
+ "calcualtions", "calculations",
+ "calculationg", "calculating",
+ "calculatoare", "calculator",
+ "californains", "californian",
+ "californican", "californian",
+ "californinan", "californian",
+ "caluclations", "calculations",
+ "camouflagued", "camouflage",
+ "canceltation", "cancellation",
+ "cannibalisim", "cannibalism",
+ "canniballism", "cannibalism",
+ "cannotations", "connotations",
+ "capitalistes", "capitalists",
+ "caracterized", "characterized",
+ "carbohydrats", "carbohydrates",
+ "carbohyrdate", "carbohydrates",
+ "caricaturale", "caricature",
+ "caricaturile", "caricature",
+ "caricaturise", "caricature",
+ "caricaturize", "caricature",
+ "catastraphic", "catastrophic",
+ "catastrohpic", "catastrophic",
+ "catastrophie", "catastrophe",
+ "categoricaly", "categorically",
+ "categoriezed", "categorized",
+ "catergorized", "categorized",
+ "caterpillers", "caterpillars",
+ "catestrophic", "catastrophic",
+ "catholicisim", "catholicism",
+ "catholocisim", "catholicism",
+ "catistrophic", "catastrophic",
+ "catostraphic", "catastrophic",
+ "catostrophic", "catastrophic",
+ "catterpilars", "caterpillars",
+ "catterpillar", "caterpillar",
+ "celebratings", "celebrations",
+ "celebritites", "celebrities",
+ "celibrations", "celebrations",
+ "cententenial", "centennial",
+ "cercumstance", "circumstance",
+ "cerification", "verification",
+ "certificiate", "certificate",
+ "challengeing", "challenging",
+ "chamiponship", "championships",
+ "champinoship", "championships",
+ "championchip", "championship",
+ "championsihp", "championships",
+ "championsips", "championships",
+ "champiosnhip", "championships",
+ "champoinship", "championship",
+ "chanpionship", "championship",
+ "charactarize", "characterize",
+ "charaterized", "characterized",
+ "charismastic", "charismatic",
+ "cheerlearder", "cheerleader",
+ "cheerleeders", "cheerleaders",
+ "cheeseberger", "cheeseburger",
+ "cheeseborger", "cheeseburger",
+ "cheesebruger", "cheeseburgers",
+ "cheeseburges", "cheeseburgers",
+ "cheeseburgie", "cheeseburger",
+ "cheezeburger", "cheeseburger",
+ "chirstianity", "christianity",
+ "chocolateers", "chocolates",
+ "chrisitanity", "christianity",
+ "christainity", "christianity",
+ "christiantiy", "christianity",
+ "christinaity", "christianity",
+ "chromosomers", "chromosomes",
+ "chronologial", "chronological",
+ "chrsitianity", "christianity",
+ "cilivization", "civilizations",
+ "circulatiing", "circulating",
+ "circulationg", "circulating",
+ "circumcisied", "circumcised",
+ "circumcition", "circumcision",
+ "circumsicion", "circumcision",
+ "circumsision", "circumcision",
+ "circumsition", "circumcision",
+ "circumsizion", "circumcision",
+ "circumstanes", "circumstance",
+ "circumstanta", "circumstantial",
+ "circumstante", "circumstance",
+ "circuncision", "circumcision",
+ "circunstance", "circumstance",
+ "civiliaztion", "civilizations",
+ "civilizacion", "civilization",
+ "civilizaiton", "civilization",
+ "civilizatoin", "civilizations",
+ "civilizatons", "civilizations",
+ "civilziation", "civilizations",
+ "civizilation", "civilizations",
+ "claculations", "calculations",
+ "classificato", "classification",
+ "cockroachers", "cockroaches",
+ "coefficienct", "coefficient",
+ "coencidental", "coincidental",
+ "coincedental", "coincidental",
+ "coincidencal", "coincidental",
+ "coincidentia", "coincidental",
+ "coindidental", "coincidental",
+ "coinsidental", "coincidental",
+ "cointerpoint", "counterpoint",
+ "collaberator", "collaborate",
+ "collaboratie", "collaborate",
+ "collaboratin", "collaboration",
+ "collectivily", "collectively",
+ "collectivley", "collectively",
+ "colonialisim", "colonialism",
+ "colonizacion", "colonization",
+ "colonizators", "colonizers",
+ "colonozation", "colonization",
+ "combanations", "combinations",
+ "combonations", "combinations",
+ "comdemnation", "condemnation",
+ "comemmorates", "commemorates",
+ "comemoretion", "commemoration",
+ "comeptitions", "competitions",
+ "comfirmation", "confirmation",
+ "comfortabley", "comfortably",
+ "comfortablly", "comfortably",
+ "comissioning", "commissioning",
+ "commandemnts", "commandment",
+ "commandmants", "commandments",
+ "commandmends", "commandments",
+ "commemmorate", "commemorate",
+ "commendments", "commandments",
+ "commenteries", "commenters",
+ "commenwealth", "commonwealth",
+ "commerciales", "commercials",
+ "commerically", "commercially",
+ "comminicated", "communicated",
+ "commishioned", "commissioned",
+ "commishioner", "commissioner",
+ "commisioning", "commissioning",
+ "commissionar", "commissioner",
+ "commissionor", "commissioner",
+ "committments", "commitments",
+ "commoditites", "commodities",
+ "commomwealth", "commonwealth",
+ "commonhealth", "commonwealth",
+ "commonweatlh", "commonwealth",
+ "commonwelath", "commonwealth",
+ "communciated", "communicated",
+ "communiation", "communication",
+ "communicatie", "communicate",
+ "communicatin", "communications",
+ "communicaton", "communication",
+ "communitites", "communities",
+ "compansating", "compensating",
+ "compansation", "compensation",
+ "comparativly", "comparatively",
+ "comparisions", "comparisons",
+ "comparission", "comparisons",
+ "comparissons", "comparisons",
+ "compatablity", "compatibility",
+ "compatibiliy", "compatibility",
+ "compatibilty", "compatibility",
+ "compatiblity", "compatibility",
+ "compensacion", "compensation",
+ "compensative", "compensate",
+ "compesitions", "compositions",
+ "competetions", "competitions",
+ "competitevly", "competitively",
+ "competitiion", "competition",
+ "competitiors", "competitors",
+ "competitivly", "competitively",
+ "competitivos", "competitions",
+ "compinsating", "compensating",
+ "compinsation", "compensation",
+ "complainging", "complaining",
+ "completetion", "completion",
+ "compliations", "compilation",
+ "complicacion", "complication",
+ "complicatied", "complicate",
+ "complicaties", "complicate",
+ "complicatred", "complicate",
+ "complicatted", "complicate",
+ "complilation", "complication",
+ "complimation", "complication",
+ "complimenary", "complimentary",
+ "complimentje", "complimented",
+ "complimentry", "complimentary",
+ "complination", "complication",
+ "complitation", "complication",
+ "composistion", "compositions",
+ "compramising", "compromising",
+ "compremising", "compromising",
+ "compresssion", "compression",
+ "compromissen", "compromise",
+ "compromisses", "compromises",
+ "compromizing", "compromising",
+ "compromosing", "compromising",
+ "comptability", "compatibility",
+ "compulsivley", "compulsive",
+ "compulsorary", "compulsory",
+ "computarized", "computerized",
+ "comrpomising", "compromising",
+ "comtaminated", "contaminated",
+ "comtemporary", "contemporary",
+ "conbinations", "combinations",
+ "concatinated", "contaminated",
+ "conceivabley", "conceivably",
+ "concellation", "cancellation",
+ "concentraded", "concentrated",
+ "concentraing", "concentrating",
+ "concentraion", "concentration",
+ "concentrarte", "concentrate",
+ "concentratie", "concentrate",
+ "concentratin", "concentration",
+ "concequences", "consequences",
+ "concequently", "consequently",
+ "concersation", "conservation",
+ "concervation", "conservation",
+ "concervatism", "conservatism",
+ "concervative", "conservative",
+ "conciderable", "considerable",
+ "conciderably", "considerably",
+ "conciousness", "consciousness",
+ "conclusiones", "conclusions",
+ "conclusivley", "conclusive",
+ "condamnation", "condemnation",
+ "condemantion", "condemnation",
+ "condenmation", "condemnation",
+ "condescening", "condescending",
+ "condescenion", "condescension",
+ "conditionnal", "conditional",
+ "conditionned", "conditioned",
+ "conditionner", "conditioner",
+ "condmenation", "condemnation",
+ "condolencies", "condolences",
+ "condolensces", "condolences",
+ "condomnation", "condemnation",
+ "condradicted", "contradicted",
+ "conenctivity", "connectivity",
+ "confedential", "confidential",
+ "confederancy", "confederacy",
+ "confederatie", "confederate",
+ "confermation", "confirmation",
+ "confersation", "conservation",
+ "confessionis", "confessions",
+ "confidencial", "confidential",
+ "confidentail", "confidential",
+ "confidentaly", "confidently",
+ "confidentely", "confidently",
+ "confidentiel", "confidential",
+ "configuratin", "configurations",
+ "configuraton", "configuration",
+ "confirmacion", "confirmation",
+ "confrimation", "confirmation",
+ "confrontaion", "confrontation",
+ "congegration", "congregation",
+ "congergation", "congregation",
+ "congradulate", "congratulate",
+ "congragation", "congregation",
+ "congragulate", "congratulate",
+ "congratualte", "congratulate",
+ "congregacion", "congregation",
+ "congresional", "congressional",
+ "congresssman", "congressman",
+ "congresssmen", "congressmen",
+ "congretation", "congregation",
+ "congrigation", "congregation",
+ "conicidental", "coincidental",
+ "connatations", "connotations",
+ "connecticuit", "connecticut",
+ "connectivety", "connectivity",
+ "connetations", "connotations",
+ "connitations", "connotations",
+ "connonations", "connotations",
+ "conolization", "colonization",
+ "conpensating", "compensating",
+ "conpensation", "compensation",
+ "conpetitions", "competitions",
+ "conplimented", "complimented",
+ "conpromising", "compromising",
+ "consciouness", "consciousness",
+ "consciouslly", "consciously",
+ "consectutive", "consecutive",
+ "consecuences", "consequences",
+ "consecuentes", "consequences",
+ "consecuently", "consequently",
+ "consensuarlo", "consensual",
+ "consentrated", "concentrated",
+ "consentrates", "concentrates",
+ "conseqeunces", "consequence",
+ "consequenses", "consequences",
+ "consequental", "consequently",
+ "consequneces", "consequence",
+ "conservacion", "conservation",
+ "conservaties", "conservatives",
+ "conservativo", "conservation",
+ "conservativs", "conservatism",
+ "conservitave", "conservatives",
+ "conservitism", "conservatism",
+ "conservitive", "conservative",
+ "considerarle", "considerable",
+ "considerarte", "considerate",
+ "consideraste", "considerate",
+ "consideratie", "considerate",
+ "consideratin", "considerations",
+ "consideribly", "considerably",
+ "consilidated", "consolidated",
+ "consipracies", "conspiracies",
+ "consiquently", "consequently",
+ "consistantly", "consistently",
+ "consistencey", "consistency",
+ "consistentcy", "consistently",
+ "consitutents", "constituents",
+ "consoldiated", "consolidated",
+ "consolitated", "consolidate",
+ "consolodated", "consolidated",
+ "consoltation", "consultation",
+ "conspericies", "conspiracies",
+ "conspiracize", "conspiracies",
+ "conspiriator", "conspirator",
+ "conspiricies", "conspiracies",
+ "conspriacies", "conspiracies",
+ "consqeuences", "consequence",
+ "constinually", "continually",
+ "constitition", "constitution",
+ "constituante", "constituents",
+ "constituants", "constituents",
+ "constituates", "constitutes",
+ "constitucion", "constitution",
+ "constituient", "constitute",
+ "constituinte", "constituents",
+ "constitutiei", "constitute",
+ "constitutues", "constitute",
+ "constiutents", "constituents",
+ "constracting", "constructing",
+ "constraction", "construction",
+ "constrainsts", "constraints",
+ "construccion", "construction",
+ "construciton", "construction",
+ "constructeds", "constructs",
+ "constructief", "constructive",
+ "constructies", "constructs",
+ "constructifs", "constructs",
+ "constructiin", "constructing",
+ "constructivo", "construction",
+ "consturction", "construction",
+ "consultating", "consultation",
+ "consumerisim", "consumerism",
+ "contaiminate", "contaminate",
+ "contaminatie", "contaminated",
+ "contaminaton", "contamination",
+ "contaminents", "containment",
+ "contamporary", "contemporary",
+ "contanimated", "contaminated",
+ "contaniments", "containment",
+ "contemperary", "contemporary",
+ "contemporany", "contemporary",
+ "continentais", "continents",
+ "continential", "continental",
+ "contineously", "continuously",
+ "continiously", "continuously",
+ "continuacion", "continuation",
+ "continuating", "continuation",
+ "continuativo", "continuation",
+ "continuining", "continuing",
+ "contirbution", "contribution",
+ "contirbutors", "contributors",
+ "contiunation", "continuation",
+ "contrabution", "contribution",
+ "contraceptie", "contraceptives",
+ "contradicing", "contradicting",
+ "contradicion", "contradiction",
+ "contradicory", "contradictory",
+ "contradictie", "contradicted",
+ "contradictin", "contradiction",
+ "contradicton", "contradiction",
+ "contraticted", "contradicted",
+ "contribucion", "contribution",
+ "contribuitor", "contributor",
+ "contributers", "contributors",
+ "contributivo", "contribution",
+ "contributons", "contributors",
+ "contrictions", "contractions",
+ "contridicted", "contradicted",
+ "controlleras", "controllers",
+ "controlllers", "controllers",
+ "controverial", "controversial",
+ "controveries", "controversies",
+ "controversal", "controversial",
+ "controversey", "controversy",
+ "contructions", "contractions",
+ "conveinently", "conveniently",
+ "convencional", "conventional",
+ "conveniantly", "conveniently",
+ "converastion", "conversations",
+ "converdation", "conservation",
+ "conversacion", "conversation",
+ "conversaiton", "conversations",
+ "conversatino", "conservation",
+ "conversatism", "conservatism",
+ "conversatoin", "conversations",
+ "conversiones", "conversions",
+ "converstaion", "conversation",
+ "convertables", "convertibles",
+ "convertiable", "convertible",
+ "convertibile", "convertible",
+ "convervation", "conservation",
+ "convervatism", "conservatism",
+ "converzation", "conservation",
+ "convesration", "conservation",
+ "convienently", "conveniently",
+ "convorsation", "conversation",
+ "convseration", "conservation",
+ "coordenation", "coordination",
+ "coordiantion", "coordination",
+ "coordinacion", "coordination",
+ "coordinaters", "coordinates",
+ "coordinatior", "coordinator",
+ "coordinatore", "coordinate",
+ "coordonation", "coordination",
+ "cooridnation", "coordination",
+ "coorperation", "cooperation",
+ "coprorations", "corporations",
+ "corinthianos", "corinthians",
+ "corinthinans", "corinthians",
+ "corparations", "corporations",
+ "corperations", "corporations",
+ "corporativos", "corporations",
+ "corproations", "corporations",
+ "corrdination", "coordination",
+ "correponding", "corresponding",
+ "correposding", "corresponding",
+ "correspondes", "corresponds",
+ "correspondig", "corresponding",
+ "corresponing", "corresponding",
+ "corrisponded", "corresponded",
+ "costomizable", "customizable",
+ "costumizable", "customizable",
+ "councidental", "coincidental",
+ "counsellling", "counselling",
+ "counterfiets", "counterfeit",
+ "counterfited", "counterfeit",
+ "counterracts", "counterparts",
+ "countertraps", "counterparts",
+ "countrywides", "countryside",
+ "coutnerparts", "counterparts",
+ "coutnerpoint", "counterpoint",
+ "covnersation", "conservation",
+ "crankenstein", "frankenstein",
+ "creationisim", "creationism",
+ "creationnism", "creationism",
+ "creationnist", "creationist",
+ "creationsism", "creationism",
+ "creationsist", "creationist",
+ "creationsits", "creationists",
+ "credibillity", "credibility",
+ "crigneworthy", "cringeworthy",
+ "cringewhorty", "cringeworthy",
+ "cringeworhty", "cringeworthy",
+ "cringewrothy", "cringeworthy",
+ "cringyworthy", "cringeworthy",
+ "criticallity", "critically",
+ "criticiszing", "criticising",
+ "croporations", "corporations",
+ "crucifiction", "crucifixion",
+ "cuestionable", "questionable",
+ "culiminating", "culminating",
+ "cumulatative", "cumulative",
+ "cuntaminated", "contaminated",
+ "curcumcision", "circumcision",
+ "curcumstance", "circumstance",
+ "custamizable", "customizable",
+ "custimizable", "customizable",
+ "customizaton", "customization",
+ "customizeble", "customizable",
+ "customizible", "customizable",
+ "custumizable", "customizable",
+ "cuztomizable", "customizable",
+ "dabilitating", "debilitating",
+ "dangerousely", "dangerously",
+ "decensitized", "desensitized",
+ "deceptionist", "receptionist",
+ "declareation", "declaration",
+ "decomposeion", "decomposition",
+ "decomposited", "decomposed",
+ "decscription", "description",
+ "deffensively", "defensively",
+ "deficiancies", "deficiencies",
+ "deficiencias", "deficiencies",
+ "deficiensies", "deficiencies",
+ "definatively", "definitively",
+ "defininitely", "definitively",
+ "definitavely", "definitively",
+ "definitevely", "definitively",
+ "definitifely", "definitively",
+ "definitinely", "definitively",
+ "definititely", "definitively",
+ "definitivley", "definitively",
+ "deinitalized", "deinitialized",
+ "deinitalizes", "deinitializes",
+ "delibaretely", "deliberately",
+ "deliberatley", "deliberately",
+ "delibirately", "deliberately",
+ "delibitating", "debilitating",
+ "deliverately", "deliberately",
+ "delusionally", "delusively",
+ "demesticated", "domesticated",
+ "democracries", "democracies",
+ "democraphics", "demographics",
+ "democratisch", "democratic",
+ "demograhpics", "demographics",
+ "demogrpahics", "demographics",
+ "demonination", "denominations",
+ "demonstarted", "demonstrated",
+ "demonstartes", "demonstrates",
+ "demonstrabil", "demonstrably",
+ "demonstraion", "demonstration",
+ "demonstraits", "demonstrates",
+ "demonstrants", "demonstrates",
+ "demonstratie", "demonstrate",
+ "demonstratin", "demonstration",
+ "demonstrerat", "demonstrate",
+ "demosntrably", "demonstrably",
+ "demosntrated", "demonstrated",
+ "demosntrates", "demonstrates",
+ "demostration", "demonstration",
+ "denomenation", "denomination",
+ "denominacion", "denomination",
+ "denominatior", "denominator",
+ "denominatons", "denominations",
+ "denomonation", "denomination",
+ "deomgraphics", "demographics",
+ "depencencies", "dependencies",
+ "dependancies", "dependencies",
+ "dependencias", "dependencies",
+ "dependenices", "dependencies",
+ "dependensies", "dependencies",
+ "deperecation", "deprecation",
+ "deplacements", "replacements",
+ "deregualtion", "deregulation",
+ "deregulaiton", "deregulation",
+ "derugulation", "deregulation",
+ "describtions", "descriptions",
+ "descriminant", "discriminant",
+ "descriptivos", "descriptions",
+ "desctiptions", "descriptions",
+ "desctruction", "destruction",
+ "desencitized", "desensitized",
+ "desensatized", "desensitized",
+ "desensitived", "desensitized",
+ "desentisized", "desensitized",
+ "desentitized", "desensitized",
+ "desentizised", "desensitized",
+ "desginations", "destinations",
+ "desgustingly", "disgustingly",
+ "desitnations", "destinations",
+ "despectively", "respectively",
+ "despensaries", "dispensaries",
+ "desperatedly", "desperately",
+ "desperatelly", "desperately",
+ "desqualified", "disqualified",
+ "desregarding", "disregarding",
+ "dessertation", "dissertation",
+ "destiantions", "destinations",
+ "destinctions", "destinations",
+ "destractions", "distractions",
+ "destributors", "distributors",
+ "determinanti", "determination",
+ "determinaton", "determination",
+ "determinging", "determining",
+ "determinisic", "deterministic",
+ "determinisim", "determinism",
+ "deterministc", "deterministic",
+ "determinitic", "deterministic",
+ "detrimential", "detrimental",
+ "developement", "development",
+ "developmenet", "developments",
+ "develpoments", "developments",
+ "devolopement", "development",
+ "devolopments", "developments",
+ "diasspointed", "dissapointed",
+ "dicitonaries", "dictionaries",
+ "dictadorship", "dictatorship",
+ "dictarorship", "dictatorship",
+ "dictatorshop", "dictatorship",
+ "dictionaires", "dictionaries",
+ "didsapointed", "dissapointed",
+ "differencial", "differential",
+ "differencies", "differences",
+ "differentate", "differentiate",
+ "differnetial", "differential",
+ "difficulites", "difficulties",
+ "difficutlies", "difficulties",
+ "diffuculties", "difficulties",
+ "dimensionals", "dimensions",
+ "dimensionnal", "dimensional",
+ "dimensionsal", "dimensional",
+ "diplomatisch", "diplomatic",
+ "directionnal", "directional",
+ "disaapointed", "dissapointed",
+ "disadvandage", "disadvantaged",
+ "disadvantged", "disadvantaged",
+ "disadvantges", "disadvantages",
+ "disadvatange", "disadvantage",
+ "disadventage", "disadvantage",
+ "disagremeent", "disagreements",
+ "disapointing", "disappointing",
+ "disappearnce", "disappearance",
+ "disappearred", "disappeared",
+ "disapperaing", "disappearing",
+ "disaspointed", "dissapointed",
+ "disastisfied", "dissatisfied",
+ "disatissfied", "dissatisfied",
+ "disatvantage", "disadvantage",
+ "discertation", "dissertation",
+ "disciniplary", "disciplinary",
+ "disciplanary", "disciplinary",
+ "disciplenary", "disciplinary",
+ "disciplinare", "discipline",
+ "disciplinera", "disciplinary",
+ "disciplinery", "disciplinary",
+ "disclipinary", "disciplinary",
+ "disconencted", "disconnected",
+ "disconnectes", "disconnects",
+ "disconnectme", "disconnected",
+ "disconnectus", "disconnects",
+ "discontiuned", "discontinued",
+ "discountined", "discontinued",
+ "discreditied", "discredited",
+ "discreditted", "discredited",
+ "discriminare", "discriminate",
+ "discriminted", "discriminated",
+ "disctinction", "distinction",
+ "disctinctive", "distinctive",
+ "disctintions", "distinctions",
+ "discualified", "disqualified",
+ "discustingly", "disgustingly",
+ "disemination", "dissemination",
+ "disenchanged", "disenchanted",
+ "disengenuous", "disingenuous",
+ "disenginuous", "disingenuous",
+ "disensitized", "desensitized",
+ "disgareement", "disagreements",
+ "disgruntaled", "disgruntled",
+ "disgrunteled", "disgruntled",
+ "disguntingly", "disgustingly",
+ "disingeneous", "disingenuous",
+ "disingenious", "disingenuous",
+ "disinteresed", "disinterested",
+ "disintereted", "disinterested",
+ "dismantleing", "dismantling",
+ "disobediance", "disobedience",
+ "disobeidence", "disobedience",
+ "dispalcement", "displacement",
+ "dispapointed", "dissapointed",
+ "dispencaries", "dispensaries",
+ "dispensaires", "dispensaries",
+ "dispensarios", "dispensaries",
+ "dispensiries", "dispensaries",
+ "dispensories", "dispensaries",
+ "disqaulified", "disqualified",
+ "disqualifyed", "disqualified",
+ "disqustingly", "disgustingly",
+ "disrecpected", "disrespected",
+ "disrepsected", "disrespected",
+ "disresepcted", "disrespected",
+ "disrespecful", "disrespectful",
+ "disrespecing", "disrespecting",
+ "disrespectul", "disrespectful",
+ "disrespekted", "disrespected",
+ "disrtibution", "distributions",
+ "dissapearing", "disappearing",
+ "dissapionted", "dissapointed",
+ "dissapoimted", "dissapointed",
+ "dissapoitned", "dissapointed",
+ "dissaponited", "dissapointed",
+ "dissapoonted", "dissapointed",
+ "dissapounted", "dissapointed",
+ "dissappinted", "dissapointed",
+ "dissapponted", "dissapointed",
+ "dissastified", "dissatisfied",
+ "dissatisifed", "dissatisfied",
+ "dissatsified", "dissatisfied",
+ "dissepointed", "dissapointed",
+ "dissipointed", "dissapointed",
+ "dissobediant", "disobedient",
+ "dissobedient", "disobedient",
+ "dissopointed", "dissapointed",
+ "disspaointed", "dissapointed",
+ "dissppointed", "dissapointed",
+ "dissspointed", "dissapointed",
+ "distinations", "distinctions",
+ "distincitons", "distinctions",
+ "distingished", "distinguished",
+ "distingishes", "distinguishes",
+ "distinguised", "distinguished",
+ "distirbuting", "distributing",
+ "distirbution", "distribution",
+ "distrabution", "distribution",
+ "distribitors", "distributors",
+ "distribtuion", "distributions",
+ "distribucion", "distribution",
+ "distribuited", "distributed",
+ "distribuiton", "distributions",
+ "distribuitor", "distributor",
+ "distribusion", "distributions",
+ "distributino", "distributions",
+ "distributior", "distributor",
+ "distributons", "distributors",
+ "distributore", "distribute",
+ "distriubtion", "distributions",
+ "distrobution", "distribution",
+ "distrubances", "disturbance",
+ "distrubiting", "distributing",
+ "distrubition", "distribution",
+ "distrubitors", "distributors",
+ "distrubution", "distribution",
+ "distrubutors", "distributors",
+ "distructions", "distractions",
+ "distustingly", "disgustingly",
+ "ditactorship", "dictatorship",
+ "documenation", "documentation",
+ "documentaion", "documentation",
+ "documentaire", "documentaries",
+ "documentarse", "documentaries",
+ "documentarsi", "documentaries",
+ "domesitcated", "domesticated",
+ "domisticated", "domesticated",
+ "donesticated", "domesticated",
+ "donwloadable", "downloadable",
+ "dossapointed", "dissapointed",
+ "downlaodable", "downloadable",
+ "downloadbale", "downloadable",
+ "downloadeble", "downloadable",
+ "drankenstein", "frankenstein",
+ "dublications", "publications",
+ "dusgustingly", "disgustingly",
+ "dynamicallly", "dynamically",
+ "dyregulation", "deregulation",
+ "earthquackes", "earthquakes",
+ "earthquakers", "earthquakes",
+ "econimically", "economically",
+ "economisesti", "economists",
+ "educationnal", "educational",
+ "effectionate", "affectionate",
+ "effectivelly", "effectively",
+ "effectivenss", "effectiveness",
+ "efficienctly", "efficiency",
+ "effordlessly", "effortlessly",
+ "ejacualtions", "ejaculation",
+ "electorlytes", "electrolytes",
+ "electricrain", "electrician",
+ "electrictian", "electrician",
+ "electrobytes", "electrolytes",
+ "electrocytes", "electrolytes",
+ "electrolites", "electrolytes",
+ "electroltyes", "electrolytes",
+ "electronicas", "electronics",
+ "electronicos", "electronics",
+ "electroyltes", "electrolytes",
+ "elektrolytes", "electrolytes",
+ "eloctrolytes", "electrolytes",
+ "embarassment", "embarrassment",
+ "embarasssing", "embarassing",
+ "embarrasment", "embarrassment",
+ "embarressing", "embarrassing",
+ "embarrissing", "embarrassing",
+ "emberrassing", "embarrassing",
+ "emphetamines", "amphetamines",
+ "emprisonment", "imprisonment",
+ "encarcerated", "incarcerated",
+ "enceclopedia", "encyclopedia",
+ "enchancement", "enhancement",
+ "enchancments", "enchantments",
+ "enchantmants", "enchantments",
+ "enchentments", "enchantments",
+ "enciclopedia", "encyclopedia",
+ "enclycopedia", "encyclopedia",
+ "encorporated", "incorporated",
+ "encourageing", "encouraging",
+ "encyclapedia", "encyclopedia",
+ "encyclepedia", "encyclopedia",
+ "encyclopadia", "encyclopedia",
+ "encyclopeida", "encyclopedia",
+ "encyclopidia", "encyclopedia",
+ "encycolpedia", "encyclopedia",
+ "encyklopedia", "encyclopedia",
+ "encylcopedia", "encyclopedia",
+ "encyplopedia", "encyclopedia",
+ "endoresments", "endorsement",
+ "enemployment", "unemployment",
+ "enfringement", "infringement",
+ "enlightended", "enlightened",
+ "enlightenend", "enlightened",
+ "enlightented", "enlightened",
+ "enlightining", "enlightening",
+ "enligthening", "enlightening",
+ "entaglements", "entanglements",
+ "entartaining", "entertaining",
+ "enterpreneur", "entrepreneurs",
+ "enterprenuer", "entrepreneur",
+ "entertainted", "entertained",
+ "enthusiaists", "enthusiasts",
+ "enthusuastic", "enthusiastic",
+ "entoxication", "intoxication",
+ "entrepeneurs", "entrepreneurs",
+ "entreperneur", "entrepreneurs",
+ "entreprenaur", "entrepreneur",
+ "entrepreners", "entrepreneurs",
+ "entrepreneus", "entrepreneurs",
+ "entreprenour", "entrepreneur",
+ "entreprenure", "entrepreneurs",
+ "entreprenurs", "entrepreneurs",
+ "entrepreuner", "entrepreneurs",
+ "entretaining", "entertaining",
+ "enviormental", "environmental",
+ "enviornments", "environments",
+ "enviromental", "environmental",
+ "environemnts", "environments",
+ "environmentl", "environmentally",
+ "environmetal", "environmental",
+ "envrionments", "environments",
+ "establishmet", "establishments",
+ "evelutionary", "evolutionary",
+ "exagerrating", "exaggerating",
+ "exaggarating", "exaggerating",
+ "exaggaration", "exaggeration",
+ "exaggeratted", "exaggerated",
+ "exaggurating", "exaggerating",
+ "exagguration", "exaggeration",
+ "exceptionaly", "exceptionally",
+ "exceptionnal", "exceptional",
+ "exclusiveity", "exclusivity",
+ "exclusivelly", "exclusively",
+ "exclusivitiy", "exclusivity",
+ "excorciating", "excruciating",
+ "excrusiating", "excruciating",
+ "excurciating", "excruciating",
+ "exectuioners", "executioner",
+ "executioneer", "executioner",
+ "executionees", "executions",
+ "executioness", "executions",
+ "executionier", "executioner",
+ "executionner", "executioner",
+ "exeggerating", "exaggerating",
+ "exeggeration", "exaggeration",
+ "expeditonary", "expeditionary",
+ "expendatures", "expenditures",
+ "expendetures", "expenditures",
+ "expentitures", "expenditures",
+ "experamental", "experimental",
+ "expereincing", "experiencing",
+ "experemental", "experimental",
+ "experiancing", "experiencing",
+ "experiemntal", "experimental",
+ "experiemnted", "experimented",
+ "experimantal", "experimental",
+ "experimentan", "experimentation",
+ "experimentes", "experiments",
+ "experimentle", "experimented",
+ "experimentos", "experiments",
+ "experimentul", "experimental",
+ "expidentures", "expenditures",
+ "expierencing", "experiencing",
+ "expiremental", "experimental",
+ "expiremented", "experimented",
+ "explaination", "explanation",
+ "explenations", "explanations",
+ "expliotation", "exploitation",
+ "exploitaiton", "exploitation",
+ "exploitating", "exploitation",
+ "exploititive", "exploitative",
+ "explortation", "exploitation",
+ "explotiation", "exploitation",
+ "explotiative", "exploitative",
+ "expolitation", "exploitation",
+ "expolitative", "exploitative",
+ "exponentialy", "exponentially",
+ "expropiation", "expropriation",
+ "extensivelly", "extensively",
+ "extradiction", "extradition",
+ "extraordiary", "extraordinary",
+ "extraordinay", "extraordinary",
+ "extrapolerat", "extrapolate",
+ "extrapoloate", "extrapolate",
+ "extremistisk", "extremists",
+ "extrordinary", "extraordinary",
+ "extruciating", "excruciating",
+ "facilitatile", "facilitate",
+ "fahrenheight", "fahrenheit",
+ "falmethrower", "flamethrower",
+ "familiarlize", "familiarize",
+ "fanslaughter", "manslaughter",
+ "fantasticaly", "fantastically",
+ "fantasticlly", "fantastically",
+ "fashionalble", "fashionable",
+ "fermantation", "fermentation",
+ "fermentacion", "fermentation",
+ "fermentaiton", "fermentation",
+ "fermentating", "fermentation",
+ "fermintation", "fermentation",
+ "fictionaries", "dictionaries",
+ "figuartively", "figuratively",
+ "figuratevely", "figuratively",
+ "figurativley", "figuratively",
+ "figuretively", "figuratively",
+ "figuritively", "figuratively",
+ "fingerpoints", "fingerprints",
+ "firefigthers", "firefighters",
+ "flamethorwer", "flamethrower",
+ "flametrhower", "flamethrower",
+ "flanethrower", "flamethrower",
+ "flexibillity", "flexibility",
+ "flourishment", "flourishing",
+ "fluctiations", "fluctuations",
+ "flucutations", "fluctuations",
+ "fluxtuations", "fluctuations",
+ "forgivenness", "forgiveness",
+ "fortunatelly", "fortunately",
+ "framethrower", "flamethrower",
+ "frankenstain", "frankenstein",
+ "frankensteen", "frankenstein",
+ "frankenstine", "frankenstein",
+ "frankinstein", "frankenstein",
+ "frementation", "fermentation",
+ "friendzonded", "friendzoned",
+ "friendzonned", "friendzoned",
+ "friendzowned", "friendzoned",
+ "fringeworthy", "cringeworthy",
+ "fronkenstein", "frankenstein",
+ "fruitsations", "frustrations",
+ "frustrastion", "frustrations",
+ "fucntionally", "functionally",
+ "funcitonally", "functionally",
+ "functionable", "functional",
+ "functionaliy", "functionally",
+ "functionalty", "functionality",
+ "functionlity", "functionality",
+ "functionning", "functioning",
+ "fundamentais", "fundamentals",
+ "fundamentalt", "fundamentalist",
+ "fundamentaly", "fundamentally",
+ "fundemantals", "fundamentals",
+ "fundementals", "fundamentals",
+ "fundimentals", "fundamentals",
+ "furstrations", "frustrations",
+ "futuristisch", "futuristic",
+ "fwankenstein", "frankenstein",
+ "geneological", "genealogical",
+ "generacional", "generational",
+ "generalizare", "generalize",
+ "generalizate", "generalize",
+ "generelizing", "generalizing",
+ "geograhpical", "geographical",
+ "geographicly", "geographical",
+ "geographisch", "geographic",
+ "geogrpahical", "geographical",
+ "goegraphical", "geographical",
+ "governemntal", "governmental",
+ "governmently", "governmental",
+ "grammaticaal", "grammatical",
+ "grammaticaly", "grammatically",
+ "grandchilden", "grandchildren",
+ "grandchilder", "grandchildren",
+ "grandchilren", "grandchildren",
+ "grassrooters", "grassroots",
+ "gringeworthy", "cringeworthy",
+ "guantanameow", "guantanamo",
+ "guantanamero", "guantanamo",
+ "hallucinatin", "hallucinations",
+ "hallucinaton", "hallucination",
+ "handwritting", "handwriting",
+ "harrassments", "harassments",
+ "headqaurters", "headquarters",
+ "headquatered", "headquartered",
+ "healthercare", "healthcare",
+ "heavywieghts", "heavyweight",
+ "helicopteros", "helicopters",
+ "hererosexual", "heterosexual",
+ "heretosexual", "heterosexual",
+ "heteresexual", "heterosexual",
+ "hetreosexual", "heterosexual",
+ "highligthing", "highlighting",
+ "hipocritical", "hypocritical",
+ "hipothetical", "hypothetical",
+ "histarically", "historically",
+ "histerically", "historically",
+ "historicians", "historians",
+ "homogeneized", "homogenized",
+ "homogenenous", "homogeneous",
+ "homosexuales", "homosexuals",
+ "homosexualiy", "homosexuality",
+ "homosexualls", "homosexuals",
+ "homosexualty", "homosexuality",
+ "homosexuella", "homosexual",
+ "hopsitalized", "hospitalized",
+ "horisontally", "horizontally",
+ "horizantally", "horizontally",
+ "horiztonally", "horizontally",
+ "horozontally", "horizontally",
+ "hospitallity", "hospitality",
+ "hospitilized", "hospitalized",
+ "hospitolized", "hospitalized",
+ "hosptialized", "hospitalized",
+ "humanitarien", "humanitarian",
+ "humanitarion", "humanitarian",
+ "humanitatian", "humanitarian",
+ "humaniterian", "humanitarian",
+ "humantiarian", "humanitarian",
+ "huminatarian", "humanitarian",
+ "hurricanefps", "hurricanes",
+ "hyopthetical", "hypothetical",
+ "hypathetical", "hypothetical",
+ "hypertrophey", "hypertrophy",
+ "hypethetical", "hypothetical",
+ "hypocrticial", "hypocritical",
+ "hypocrytical", "hypocritical",
+ "hypotehtical", "hypothetical",
+ "hypotethical", "hypothetical",
+ "hypotherical", "hypothetical",
+ "hypotheticly", "hypothetical",
+ "hystarically", "hysterically",
+ "hystorically", "hysterically",
+ "idealistisch", "idealistic",
+ "identificato", "identification",
+ "identifierad", "identified",
+ "identifieras", "identifies",
+ "identifyable", "identifiable",
+ "ideologicaly", "ideologically",
+ "idiosyncracy", "idiosyncrasy",
+ "illegetimate", "illegitimate",
+ "illegitamate", "illegitimate",
+ "illegitamite", "illegitimate",
+ "illegitemate", "illegitimate",
+ "illegitimite", "illegitimate",
+ "illigetimate", "illegitimate",
+ "illigitemate", "illegitimate",
+ "illistration", "illustration",
+ "illsutration", "illustrations",
+ "illustartion", "illustration",
+ "illustraitor", "illustrator",
+ "illustraties", "illustrate",
+ "illustratior", "illustrator",
+ "imcompatible", "incompatible",
+ "imcompetence", "incompetence",
+ "imexperience", "inexperience",
+ "immediatelly", "immediately",
+ "immortallity", "immortality",
+ "imperialfist", "imperialist",
+ "imperialisim", "imperialism",
+ "imperialstic", "imperialist",
+ "implamenting", "implementing",
+ "implausibile", "implausible",
+ "implecations", "implications",
+ "implementase", "implements",
+ "implementasi", "implements",
+ "implementato", "implementation",
+ "implentation", "implementation",
+ "implimenting", "implementing",
+ "imporvements", "improvements",
+ "impossibilty", "impossibility",
+ "impossiblely", "impossibly",
+ "impossiblity", "impossibly",
+ "impovershied", "impoverished",
+ "impoversihed", "impoverished",
+ "imprefection", "imperfections",
+ "improsonment", "imprisonment",
+ "improviserad", "improvised",
+ "imrpovements", "improvements",
+ "imtimidating", "intimidating",
+ "imtimidation", "intimidation",
+ "inaccesibles", "inaccessible",
+ "inaccessable", "inaccessible",
+ "inaccessbile", "inaccessible",
+ "inaccurasies", "inaccuracies",
+ "inaccuraties", "inaccuracies",
+ "inaccuricies", "inaccuracies",
+ "inacuraccies", "inaccuracies",
+ "inadvertenly", "inadvertently",
+ "inappropiate", "inappropriate",
+ "inapproprate", "inappropriate",
+ "inappropriae", "inappropriately",
+ "inappropriet", "inappropriately",
+ "inattractive", "unattractive",
+ "inbelievable", "unbelievable",
+ "incarcelated", "incarcerated",
+ "incarcirated", "incarcerated",
+ "incarserated", "incarcerated",
+ "incedentally", "incidentally",
+ "incentiveise", "incentives",
+ "incestigator", "investigator",
+ "incomaptible", "incompatible",
+ "incomparible", "incompatible",
+ "incompatable", "incompatible",
+ "incompatibil", "incompatible",
+ "incompetance", "incompetence",
+ "incompetente", "incompetence",
+ "incompitable", "incompatible",
+ "incomptetent", "incompetent",
+ "inconcistent", "inconsistent",
+ "inconsistant", "inconsistent",
+ "inconsistecy", "inconsistency",
+ "inconsisteny", "inconsistency",
+ "inconveinent", "inconvenient",
+ "inconveniant", "inconvenient",
+ "inconveniece", "inconvenience",
+ "inconvenince", "inconvenience",
+ "inconvienent", "inconvenient",
+ "incorparated", "incorporated",
+ "incorperated", "incorporated",
+ "incorportaed", "incorporated",
+ "incorportate", "incorporate",
+ "incrediblely", "incredibly",
+ "incrementers", "increments",
+ "incremential", "incremental",
+ "indefinately", "indefinitely",
+ "indefineable", "undefinable",
+ "indefinetely", "indefinitely",
+ "indefinitive", "indefinite",
+ "indefinitley", "indefinitely",
+ "indefintiely", "indefinitely",
+ "indepedantly", "independently",
+ "indepencence", "independence",
+ "independance", "independence",
+ "independante", "independents",
+ "independenet", "independents",
+ "independenly", "independently",
+ "independense", "independents",
+ "independente", "independence",
+ "independetly", "independently",
+ "indepentents", "independents",
+ "indetifiable", "identifiable",
+ "indianaoplis", "indianapolis",
+ "indianopolis", "indianapolis",
+ "indicentally", "incidentally",
+ "indifferance", "indifference",
+ "indifferente", "indifference",
+ "indiffernece", "indifference",
+ "indimidating", "intimidating",
+ "indimidation", "intimidation",
+ "indipendence", "independence",
+ "indisputible", "indisputable",
+ "indisputibly", "indisputably",
+ "individuales", "individuals",
+ "individualty", "individuality",
+ "individuella", "individual",
+ "indiviudally", "individually",
+ "indivudually", "individually",
+ "indpendently", "independently",
+ "indroduction", "introduction",
+ "indroductory", "introductory",
+ "industriella", "industrial",
+ "industrijske", "industries",
+ "inefficienct", "inefficient",
+ "inefficienty", "inefficiently",
+ "inevitablely", "inevitably",
+ "inevitablity", "inevitably",
+ "inevititably", "inevitably",
+ "inexblicably", "inexplicably",
+ "inexpectedly", "unexpectedly",
+ "inexpereince", "inexperience",
+ "inexperiance", "inexperience",
+ "inexperieced", "inexperienced",
+ "inexperiened", "inexperienced",
+ "inexperiente", "inexperience",
+ "inexpierence", "inexperienced",
+ "inexplicabil", "inexplicably",
+ "inexplicibly", "inexplicably",
+ "infalability", "infallibility",
+ "infilitrated", "infiltrated",
+ "infiltraitor", "infiltrator",
+ "infiltratior", "infiltrator",
+ "infiltratred", "infiltrate",
+ "influenceing", "influencing",
+ "infogrpahics", "infographic",
+ "inforgivable", "unforgivable",
+ "infrantryman", "infantryman",
+ "infridgement", "infringement",
+ "infrignement", "infringement",
+ "ingestigator", "investigator",
+ "ingredientes", "ingredients",
+ "ingreediants", "ingredients",
+ "ininterested", "uninterested",
+ "initalizable", "initializable",
+ "inkompatible", "incompatible",
+ "inkompetence", "incompetence",
+ "inkonsistent", "inconsistent",
+ "inlightening", "enlightening",
+ "innersection", "intersection",
+ "innerstellar", "interstellar",
+ "inpenetrable", "impenetrable",
+ "inplementing", "implementing",
+ "inplications", "implications",
+ "inpoverished", "impoverished",
+ "inprisonment", "imprisonment",
+ "inproductive", "unproductive",
+ "inprovements", "improvements",
+ "inresponsive", "unresponsive",
+ "insentivised", "insensitive",
+ "insentivises", "insensitive",
+ "insignifiant", "insignificant",
+ "insignificat", "insignificant",
+ "insinuationg", "insinuating",
+ "instabillity", "instability",
+ "instalaltion", "installations",
+ "installatons", "installations",
+ "installatron", "installation",
+ "instantaneos", "instantaneous",
+ "instantaneus", "instantaneous",
+ "instantanous", "instantaneous",
+ "instinctivly", "instinctively",
+ "institutuion", "institution",
+ "instramental", "instrumental",
+ "instrcutions", "instruction",
+ "instrucitons", "instruction",
+ "instructiosn", "instruction",
+ "instructores", "instructors",
+ "instrumentos", "instruments",
+ "instrumentul", "instrumental",
+ "insturmental", "instrumental",
+ "instutitions", "institutions",
+ "insuccessful", "unsuccessful",
+ "insufficiant", "insufficient",
+ "insuffucient", "insufficient",
+ "insuspecting", "unsuspecting",
+ "intaxication", "intoxication",
+ "intelelctual", "intellectuals",
+ "intellectals", "intellectuals",
+ "intellectaul", "intellectuals",
+ "intellectuel", "intellectual",
+ "intellecutal", "intellectual",
+ "intelligance", "intelligence",
+ "intelligenly", "intelligently",
+ "intelligente", "intelligence",
+ "intelligenty", "intelligently",
+ "intelligient", "intelligent",
+ "intenational", "international",
+ "intentionnal", "intentional",
+ "intepretator", "interpretor",
+ "interatellar", "interstellar",
+ "interational", "international",
+ "intercection", "interception",
+ "intercepcion", "interception",
+ "interceptons", "interceptions",
+ "intereaction", "intersection",
+ "interections", "interactions",
+ "interersting", "interpreting",
+ "interesction", "intersection",
+ "interestigly", "interestingly",
+ "interestinly", "interestingly",
+ "interferance", "interference",
+ "interfereing", "interfering",
+ "interferisce", "interferes",
+ "interferisse", "interferes",
+ "interferring", "interfering",
+ "intergration", "integration",
+ "interlectual", "intellectual",
+ "intermediare", "intermediate",
+ "intermediete", "intermediate",
+ "intermettent", "intermittent",
+ "intermideate", "intermediate",
+ "intermidiate", "intermediate",
+ "internatinal", "international",
+ "internationl", "international",
+ "internations", "interactions",
+ "internediate", "intermediate",
+ "internelized", "internalized",
+ "internilized", "internalized",
+ "interperters", "interpreter",
+ "interperting", "interpreting",
+ "interprating", "interpreting",
+ "interpretare", "interpreter",
+ "interpretato", "interpretation",
+ "interpreteer", "interpreter",
+ "interpretier", "interpreter",
+ "interpretion", "interpreting",
+ "interpretter", "interpreter",
+ "interpriting", "interpreting",
+ "interraccial", "interracial",
+ "interractial", "interracial",
+ "interrogatin", "interrogation",
+ "interrumping", "interrupting",
+ "interrupteds", "interrupts",
+ "interruptors", "interrupts",
+ "interseccion", "intersection",
+ "interseciton", "intersections",
+ "interseption", "interception",
+ "intersetllar", "interstellar",
+ "interstallar", "interstellar",
+ "interstaller", "interstellar",
+ "intersteller", "interstellar",
+ "interstellor", "interstellar",
+ "intertaining", "entertaining",
+ "intertwinded", "intertwined",
+ "intertwinned", "intertwined",
+ "interveiwing", "interviewing",
+ "intervencion", "intervention",
+ "interveneing", "intervening",
+ "intervension", "intervention",
+ "interviening", "interviewing",
+ "intidimation", "intimidation",
+ "intillectual", "intellectual",
+ "intimidacion", "intimidation",
+ "intimidative", "intimidate",
+ "intimitading", "intimidating",
+ "intimitating", "intimidating",
+ "intimitation", "intimidation",
+ "intorduction", "introduction",
+ "intorductory", "introductory",
+ "intoxicacion", "intoxication",
+ "intoxination", "intoxication",
+ "intrepreting", "interpreting",
+ "intrinsicaly", "intrinsically",
+ "introdiction", "introduction",
+ "introduccion", "introduction",
+ "introduceras", "introduces",
+ "introduceres", "introduces",
+ "introduciton", "introduction",
+ "introductary", "introductory",
+ "introducting", "introduction",
+ "introductury", "introductory",
+ "introduktion", "introduction",
+ "introspectin", "introspection",
+ "intruduction", "introduction",
+ "intruductory", "introductory",
+ "intsrumental", "instrumental",
+ "intuitivelly", "intuitively",
+ "inturrupting", "interrupting",
+ "invervention", "intervention",
+ "investagated", "investigated",
+ "investagator", "investigator",
+ "investegated", "investigated",
+ "investegator", "investigator",
+ "investigaron", "investigator",
+ "investigater", "investigator",
+ "investigatie", "investigative",
+ "investigatin", "investigation",
+ "investigatio", "investigator",
+ "investigaton", "investigation",
+ "investingate", "investigate",
+ "investogator", "investigator",
+ "invicibility", "invisibility",
+ "invididually", "individually",
+ "invisibiltiy", "invisibility",
+ "invisilibity", "invisibility",
+ "invisivility", "invisibility",
+ "invlunerable", "invulnerable",
+ "involnerable", "invulnerable",
+ "involuntairy", "involuntary",
+ "involuntarly", "involuntary",
+ "invonvenient", "inconvenient",
+ "invulenrable", "invulnerable",
+ "invulernable", "invulnerable",
+ "invulnarable", "invulnerable",
+ "invulnerbale", "invulnerable",
+ "invulnurable", "invulnerable",
+ "invulverable", "invulnerable",
+ "invunlerable", "invulnerable",
+ "invurnerable", "invulnerable",
+ "irrationably", "irrationally",
+ "irrationatly", "irrationally",
+ "irrationella", "irrational",
+ "irreplacable", "irreplaceable",
+ "irresistable", "irresistible",
+ "irresistably", "irresistibly",
+ "irrespecitve", "irrespective",
+ "irresponsble", "irresponsible",
+ "irresponsibe", "irresponsible",
+ "irreverisble", "irreversible",
+ "irreversebly", "irreversible",
+ "irreversibel", "irreversible",
+ "irrevirsible", "irreversible",
+ "irrispective", "irrespective",
+ "irriversible", "irreversible",
+ "isdefinitely", "indefinitely",
+ "isntallation", "installation",
+ "isntrumental", "instrumental",
+ "jackonsville", "jacksonville",
+ "jounralistic", "journalistic",
+ "jouranlistic", "journalistic",
+ "journalisitc", "journalistic",
+ "journalistes", "journalists",
+ "judgementals", "judgements",
+ "juggernaunts", "juggernaut",
+ "juridisction", "jurisdictions",
+ "jurisdiccion", "jurisdiction",
+ "jurisdiciton", "jurisdiction",
+ "jurisdiktion", "jurisdiction",
+ "jurisfiction", "jurisdiction",
+ "jurisidction", "jurisdiction",
+ "juristiction", "jurisdiction",
+ "jursidiction", "jurisdiction",
+ "jusridiction", "jurisdiction",
+ "justificatin", "justifications",
+ "katastrophic", "catastrophic",
+ "kidnergarten", "kindergarten",
+ "kindergarden", "kindergarten",
+ "kingergarten", "kindergarten",
+ "kintergarten", "kindergarten",
+ "knolwedgable", "knowledgable",
+ "knoweldgable", "knowledgable",
+ "knowladgable", "knowledgable",
+ "knowldegable", "knowledgable",
+ "knowldgeable", "knowledgable",
+ "knowleagable", "knowledgable",
+ "knowledagble", "knowledgable",
+ "knowledeable", "knowledgable",
+ "knowledgabel", "knowledgable",
+ "knowledgeble", "knowledgeable",
+ "knowledgebly", "knowledgable",
+ "knowledgible", "knowledgable",
+ "knowlegdable", "knowledgable",
+ "knowlegeable", "knowledgeable",
+ "knwoledgable", "knowledgable",
+ "kolonization", "colonization",
+ "kombinations", "combinations",
+ "kommissioner", "commissioner",
+ "kompensation", "compensation",
+ "konfidential", "confidential",
+ "konfirmation", "confirmation",
+ "kongregation", "congregation",
+ "konservatism", "conservatism",
+ "konservative", "conservative",
+ "konsultation", "consultation",
+ "konversation", "conversation",
+ "koordination", "coordination",
+ "krankenstein", "frankenstein",
+ "leaglization", "legalization",
+ "legalizacion", "legalization",
+ "legalizaiton", "legalization",
+ "legendariske", "legendaries",
+ "legimitately", "legitimately",
+ "legislatiors", "legislators",
+ "legistration", "registration",
+ "legitamately", "legitimately",
+ "legitamitely", "legitimately",
+ "legitemately", "legitimately",
+ "legitimatley", "legitimately",
+ "legitimitely", "legitimately",
+ "liberatrians", "libertarians",
+ "libertarains", "libertarians",
+ "libertariens", "libertarians",
+ "libertaryans", "libertarians",
+ "libertatians", "libertarians",
+ "liberterians", "libertarians",
+ "libretarians", "libertarians",
+ "lighthearded", "lighthearted",
+ "linguisticas", "linguistics",
+ "linguisticos", "linguistics",
+ "linguistisch", "linguistics",
+ "litllefinger", "littlefinger",
+ "littelfinger", "littlefinger",
+ "litterfinger", "littlefinger",
+ "littiefinger", "littlefinger",
+ "littlefigner", "littlefinger",
+ "littlefinder", "littlefinger",
+ "littlepinger", "littlefinger",
+ "lnowledgable", "knowledgable",
+ "longitudonal", "longitudinal",
+ "madturbating", "masturbating",
+ "madturbation", "masturbation",
+ "magnificient", "magnificent",
+ "maintainance", "maintenance",
+ "maintainence", "maintenance",
+ "maintenaince", "maintenance",
+ "malfucntions", "malfunction",
+ "manafactured", "manufactured",
+ "manafacturer", "manufacturer",
+ "manafactures", "manufactures",
+ "manifactured", "manufactured",
+ "manifacturer", "manufacturer",
+ "manifactures", "manufactures",
+ "manifestaion", "manifestation",
+ "manifestanti", "manifestation",
+ "manipluating", "manipulating",
+ "manipluation", "manipulation",
+ "manipualting", "manipulating",
+ "manipualtion", "manipulation",
+ "manipualtive", "manipulative",
+ "manipulacion", "manipulation",
+ "manipulitive", "manipulative",
+ "maniuplating", "manipulating",
+ "maniuplation", "manipulation",
+ "maniuplative", "manipulative",
+ "manouverable", "maneuverable",
+ "mansalughter", "manslaughter",
+ "manslaugther", "manslaughter",
+ "mansluaghter", "manslaughter",
+ "manufactered", "manufactured",
+ "manufacterer", "manufacturer",
+ "manufacteres", "manufactures",
+ "manufacteurs", "manufactures",
+ "manufactored", "manufactured",
+ "manufactorer", "manufacturer",
+ "manufactores", "manufactures",
+ "manufactuers", "manufacturers",
+ "manufactuing", "manufacturing",
+ "manufacturas", "manufactures",
+ "manufacturor", "manufacturer",
+ "manufactuter", "manufacture",
+ "manufacuters", "manufactures",
+ "manufacutred", "manufacture",
+ "manufacutres", "manufactures",
+ "manufaturing", "manufacturing",
+ "manupilating", "manipulating",
+ "manupulating", "manipulating",
+ "manupulation", "manipulation",
+ "manupulative", "manipulative",
+ "marchmallows", "marshmallows",
+ "marganilized", "marginalized",
+ "margenalized", "marginalized",
+ "marginilized", "marginalized",
+ "marhsmallows", "marshmallows",
+ "marshamllows", "marshmallows",
+ "marshmallons", "marshmallows",
+ "masoginistic", "misogynistic",
+ "masogynistic", "misogynistic",
+ "massachusets", "massachusetts",
+ "massachustts", "massachusetts",
+ "masterbation", "masturbation",
+ "masterpeices", "masterpiece",
+ "mastrubating", "masturbating",
+ "mastrubation", "masturbation",
+ "mastubration", "masturbation",
+ "masturabting", "masturbating",
+ "masturabtion", "masturbation",
+ "masturbacion", "masturbation",
+ "masturbaited", "masturbated",
+ "masturbathon", "masturbation",
+ "masturbsting", "masturbating",
+ "masturdating", "masturbating",
+ "mastutbation", "masturbation",
+ "mataphorical", "metaphorical",
+ "mataphysical", "metaphysical",
+ "matchmakeing", "matchmaking",
+ "mathemathics", "mathematics",
+ "mathematican", "mathematician",
+ "mathematicas", "mathematics",
+ "mathematicks", "mathematics",
+ "mathematicly", "mathematical",
+ "mathematisch", "mathematics",
+ "mathemetical", "mathematical",
+ "matheticians", "mathematicians",
+ "mathimatical", "mathematical",
+ "mathmatician", "mathematician",
+ "mecahnically", "mechanically",
+ "mechancially", "mechanically",
+ "meditaciones", "medications",
+ "mediteranean", "mediterranean",
+ "mediterraean", "mediterranean",
+ "mediterranen", "mediterranean",
+ "memerization", "memorization",
+ "memorizacion", "memorization",
+ "memorozation", "memorization",
+ "metalurgical", "metallurgical",
+ "metaphisical", "metaphysical",
+ "metaphoricly", "metaphorical",
+ "metaphsyical", "metaphysical",
+ "metaphyiscal", "metaphysical",
+ "metaphyscial", "metaphysical",
+ "metaphysisch", "metaphysics",
+ "metephorical", "metaphorical",
+ "metephysical", "metaphysical",
+ "meterologist", "meteorologist",
+ "meterosexual", "heterosexual",
+ "methaporical", "metaphorical",
+ "methematical", "mathematical",
+ "metiphorical", "metaphorical",
+ "metophorical", "metaphorical",
+ "metorpolitan", "metropolitan",
+ "metrololitan", "metropolitan",
+ "metropilitan", "metropolitan",
+ "metroploitan", "metropolitan",
+ "metropolians", "metropolis",
+ "metropoliten", "metropolitan",
+ "metropolitin", "metropolitan",
+ "metropoliton", "metropolitan",
+ "microcentres", "microcenter",
+ "microphonies", "microphones",
+ "microscophic", "microscopic",
+ "microscopice", "microscope",
+ "microscoptic", "microscopic",
+ "midfieldiers", "midfielders",
+ "millenialism", "millennialism",
+ "millionairre", "millionaire",
+ "millionaries", "millionaires",
+ "millioniares", "millionaires",
+ "minimalisitc", "minimalist",
+ "minimalisity", "minimalist",
+ "mininterpret", "misinterpret",
+ "minipulating", "manipulating",
+ "minipulation", "manipulation",
+ "minipulative", "manipulative",
+ "miracilously", "miraculously",
+ "miracurously", "miraculous",
+ "miscarraiges", "miscarriage",
+ "miscelaneous", "miscellaneous",
+ "miscellanous", "miscellaneous",
+ "mischievious", "mischievous",
+ "misdameanors", "misdemeanors",
+ "misdeamenors", "misdemeanor",
+ "misfourtunes", "misfortunes",
+ "misgoynistic", "misogynistic",
+ "misinterpert", "misinterpret",
+ "misinterpred", "misinterpreted",
+ "misinterprit", "misinterpreting",
+ "misinterpted", "misinterpret",
+ "misintrepret", "misinterpret",
+ "misisonaries", "missionaries",
+ "misoganistic", "misogynistic",
+ "misogenistic", "misogynistic",
+ "misoginystic", "misogynistic",
+ "misognyistic", "misogynistic",
+ "misogonistic", "misogynistic",
+ "misogynisitc", "misogynistic",
+ "misogynsitic", "misogynistic",
+ "misogynystic", "misogynistic",
+ "missionaires", "missionaries",
+ "mississipppi", "mississippi",
+ "misspellling", "misspelling",
+ "misteriously", "mysteriously",
+ "misundersood", "misunderstood",
+ "misunderstod", "misunderstood",
+ "misygonistic", "misogynistic",
+ "modificacion", "modification",
+ "modificaiton", "modification",
+ "modificatons", "modifications",
+ "modifikation", "modification",
+ "modivational", "motivational",
+ "moisterizing", "moisturizing",
+ "moistorizing", "moisturizing",
+ "moisutrizing", "moisturizing",
+ "momentarilly", "momentarily",
+ "monolithisch", "monolithic",
+ "mositurizing", "moisturizing",
+ "motherbaords", "motherboards",
+ "motherborads", "motherboards",
+ "motivacional", "motivational",
+ "motovational", "motivational",
+ "mousturizing", "moisturizing",
+ "muktitasking", "multitasking",
+ "mulittasking", "multitasking",
+ "multinatinal", "multinational",
+ "multitaksing", "multitasking",
+ "munipulative", "manipulative",
+ "mutlitasking", "multitasking",
+ "mysoganistic", "misogynistic",
+ "mysogenistic", "misogynistic",
+ "mysogonistic", "misogynistic",
+ "mysterioulsy", "mysteriously",
+ "nacionalists", "nationalists",
+ "narcisisstic", "narcissistic",
+ "narcissictic", "narcissistic",
+ "narcissisism", "narcissism",
+ "narcissisist", "narcissist",
+ "narcissisitc", "narcissist",
+ "narcississts", "narcissist",
+ "narssicistic", "narcissistic",
+ "natioanlists", "nationalists",
+ "nationalisic", "nationalistic",
+ "nationalisim", "nationalism",
+ "nationalistc", "nationalistic",
+ "nationalites", "nationalist",
+ "nationalitic", "nationalistic",
+ "nationalitys", "nationalist",
+ "nationallity", "nationally",
+ "nationalsits", "nationalists",
+ "nationalties", "nationalist",
+ "nazionalists", "nationalists",
+ "neccessarily", "necessarily",
+ "neccessities", "necessities",
+ "necessarilly", "necessarily",
+ "necessitites", "necessities",
+ "neckbearders", "neckbeards",
+ "neckbeardese", "neckbeards",
+ "neckbeardest", "neckbeards",
+ "neckbeardies", "neckbeards",
+ "neckbeardius", "neckbeards",
+ "negociations", "negotiations",
+ "negoitations", "negotiations",
+ "negotiatians", "negotiations",
+ "negotiatiing", "negotiating",
+ "negotiationg", "negotiating",
+ "negotiatiors", "negotiations",
+ "neigbhorhood", "neighborhoods",
+ "neigbourhood", "neighbourhood",
+ "neighboorhod", "neighbourhood",
+ "neighborhing", "neighboring",
+ "neighborhods", "neighborhoods",
+ "neighbourghs", "neighbours",
+ "neighbourhod", "neighbourhood",
+ "neighbourood", "neighbourhood",
+ "neighbrohood", "neighborhoods",
+ "neighourhood", "neighborhood",
+ "neoroscience", "neuroscience",
+ "neruological", "neurological",
+ "neruoscience", "neuroscience",
+ "netropolitan", "metropolitan",
+ "neuorscience", "neuroscience",
+ "neuralogical", "neurological",
+ "neuroligical", "neurological",
+ "neurosceince", "neuroscience",
+ "neuroscienze", "neuroscience",
+ "neurosicence", "neuroscience",
+ "neverhteless", "nevertheless",
+ "nieghborhood", "neighborhood",
+ "norhtwestern", "northwestern",
+ "nothingsness", "nothingness",
+ "noticeablely", "noticeably",
+ "notificacion", "notification",
+ "notificaiton", "notification",
+ "notificatons", "notifications",
+ "nuerological", "neurological",
+ "nueroscience", "neuroscience",
+ "nutritionnal", "nutritional",
+ "obersvations", "observations",
+ "objectivelly", "objectively",
+ "objectiviser", "objectives",
+ "objectivitiy", "objectivity",
+ "obversations", "observations",
+ "ocassionally", "occasionally",
+ "occaisonally", "occasionally",
+ "occasioanlly", "occasionally",
+ "occassionaly", "occasionally",
+ "occationally", "occasionally",
+ "occurrencies", "occurrences",
+ "offensivelly", "offensively",
+ "ogranisation", "organisation",
+ "omniverously", "omnivorously",
+ "operationnal", "operational",
+ "opportuniste", "opportunities",
+ "opportunites", "opportunities",
+ "oppositition", "opposition",
+ "opthalmology", "ophthalmology",
+ "optimistisch", "optimistic",
+ "optimizacion", "optimization",
+ "optimizating", "optimization",
+ "optimziation", "optimization",
+ "optmizations", "optimizations",
+ "oragnisation", "organisation",
+ "orchastrated", "orchestrated",
+ "orchestarted", "orchestrated",
+ "orchestraded", "orchestrated",
+ "orchistrated", "orchestrated",
+ "orgainsation", "organisation",
+ "orgainzation", "organizations",
+ "organisaiton", "organisation",
+ "organisatons", "organisations",
+ "organistaion", "organisation",
+ "organizacion", "organization",
+ "organizaiton", "organization",
+ "organizativo", "organization",
+ "organizatons", "organizations",
+ "organsiation", "organisation",
+ "organziation", "organization",
+ "orginasation", "organisation",
+ "orginazation", "organization",
+ "orgnaisation", "organisations",
+ "originallity", "originality",
+ "outraegously", "outrageously",
+ "outrageoulsy", "outrageously",
+ "outragesouly", "outrageously",
+ "outrageuosly", "outrageously",
+ "outragiously", "outrageously",
+ "outsourceing", "outsourcing",
+ "overbearring", "overbearing",
+ "overblocking", "overclocking",
+ "overclcoking", "overclocking",
+ "overclicking", "overclocking",
+ "overcloaking", "overclocking",
+ "overclockign", "overclocking",
+ "overclokcing", "overclocking",
+ "overhearting", "overreacting",
+ "overheathing", "overheating",
+ "overhtinking", "overthinking",
+ "overhwelming", "overwhelming",
+ "overlappping", "overlapping",
+ "overlcocking", "overclocking",
+ "overreaktion", "overreaction",
+ "overwealming", "overwhelming",
+ "overwhelemed", "overwhelmed",
+ "overwhemling", "overwhelming",
+ "overwhleming", "overwhelming",
+ "owerpowering", "overpowering",
+ "painkilllers", "painkillers",
+ "palastinians", "palestinians",
+ "palesitnians", "palestinians",
+ "palestenians", "palestinians",
+ "palestinains", "palestinians",
+ "palestiniens", "palestinians",
+ "palestininan", "palestinian",
+ "palestininas", "palestinians",
+ "palistinians", "palestinians",
+ "palythroughs", "playthroughs",
+ "parapharsing", "paraphrasing",
+ "paraphenalia", "paraphernalia",
+ "paraphrashed", "paraphrase",
+ "paraphrazing", "paraphrasing",
+ "paraprashing", "paraphrasing",
+ "paraprhasing", "paraphrasing",
+ "parenthesees", "parentheses",
+ "parenthesies", "parenthesis",
+ "parliamentry", "parliamentary",
+ "partecipants", "participants",
+ "partecipated", "participated",
+ "parternships", "partnership",
+ "particapated", "participated",
+ "particiapnts", "participant",
+ "particiapted", "participated",
+ "participante", "participate",
+ "participaste", "participants",
+ "participatie", "participated",
+ "participatin", "participation",
+ "participatns", "participant",
+ "participaton", "participant",
+ "participents", "participants",
+ "particualrly", "particularly",
+ "particulalry", "particularly",
+ "particullary", "particularly",
+ "passionatley", "passionately",
+ "pathalogical", "pathological",
+ "pathelogical", "pathological",
+ "patholigical", "pathological",
+ "paychedelics", "psychedelics",
+ "paychiatrist", "psychiatrist",
+ "paychologist", "psychologist",
+ "paychopathic", "psychopathic",
+ "penetratiing", "penetrating",
+ "penisylvania", "pennsylvania",
+ "pennsilvania", "pennsylvania",
+ "pennslyvania", "pennsylvania",
+ "pennsylvaina", "pennsylvania",
+ "pennsyvlania", "pennsylvania",
+ "pennyslvania", "pennsylvania",
+ "penssylvania", "pennsylvania",
+ "pentsylvania", "pennsylvania",
+ "percentagens", "percentages",
+ "perferential", "preferential",
+ "performantes", "performances",
+ "performences", "performances",
+ "perfromances", "performances",
+ "peridoically", "periodically",
+ "peripathetic", "peripatetic",
+ "periphereals", "peripherals",
+ "peripherials", "peripherals",
+ "permanantely", "permanently",
+ "permanentely", "permanently",
+ "permissiable", "permissible",
+ "peroidically", "periodically",
+ "perpatrators", "perpetrators",
+ "perpatuating", "perpetuating",
+ "perpertators", "perpetrators",
+ "perpertrated", "perpetrated",
+ "perpetraitor", "perpetrator",
+ "perpetraters", "perpetrators",
+ "perpetuaters", "perpetuates",
+ "perpitrators", "perpetrators",
+ "perposefully", "purposefully",
+ "perposterous", "preposterous",
+ "perpretators", "perpetrators",
+ "perpsectives", "perspectives",
+ "perputrators", "perpetrators",
+ "perputuating", "perpetuating",
+ "persepctives", "perspectives",
+ "perservation", "preservation",
+ "perseverence", "perseverance",
+ "personalites", "personalities",
+ "personallity", "personally",
+ "personilized", "personalized",
+ "perspecitves", "perspectives",
+ "perspectivas", "perspectives",
+ "persumptuous", "presumptuous",
+ "perticularly", "particularly",
+ "pertubations", "perturbations",
+ "pessimisitic", "pessimistic",
+ "pessimisstic", "pessimistic",
+ "phenomenonal", "phenomenal",
+ "phenomenonly", "phenomenally",
+ "phenomonenon", "phenomenon",
+ "phialdelphia", "philadelphia",
+ "philadalphia", "philadelphia",
+ "philadelhpia", "philadelphia",
+ "philadeplhia", "philadelphia",
+ "philadlephia", "philadelphia",
+ "philedalphia", "philadelphia",
+ "philedelphia", "philadelphia",
+ "philidalphia", "philadelphia",
+ "philippinnes", "philippines",
+ "philippinoes", "philippines",
+ "philisophers", "philosophers",
+ "philisophies", "philosophies",
+ "phillippines", "philippines",
+ "philosiphers", "philosophers",
+ "philosiphies", "philosophies",
+ "philosohpers", "philosopher",
+ "philosohpies", "philosophies",
+ "philosophiae", "philosophies",
+ "philosophics", "philosophies",
+ "philosophios", "philosophies",
+ "philospohers", "philosophers",
+ "philospohies", "philosophies",
+ "photagrapher", "photographer",
+ "photochopped", "photoshopped",
+ "photograhper", "photographer",
+ "photograpers", "photographers",
+ "photographes", "photographs",
+ "photographyi", "photographic",
+ "photogropher", "photographer",
+ "photogrpahed", "photographed",
+ "photogrpaher", "photographer",
+ "photoshipped", "photoshopped",
+ "photoshooped", "photoshopped",
+ "photoshoppad", "photoshopped",
+ "phychedelics", "psychedelics",
+ "phychiatrist", "psychiatrist",
+ "phychologist", "psychologist",
+ "phychopathic", "psychopathic",
+ "physcedelics", "psychedelics",
+ "physciatrist", "psychiatrist",
+ "physcologist", "psychologist",
+ "physcopathic", "psychopathic",
+ "physicallity", "physically",
+ "physiologial", "physiological",
+ "pilgrimmages", "pilgrimages",
+ "pitchforkers", "pitchforks",
+ "pkaythroughs", "playthroughs",
+ "plabeswalker", "planeswalker",
+ "plaestinians", "palestinians",
+ "planeswaller", "planeswalker",
+ "planeswlaker", "planeswalker",
+ "planetwalker", "planeswalker",
+ "plansewalker", "planeswalker",
+ "plauthroughs", "playthroughs",
+ "playhtroughs", "playthroughs",
+ "playtgroughs", "playthroughs",
+ "playthorughs", "playthroughs",
+ "playthourghs", "playthroughs",
+ "playthrougth", "playthroughs",
+ "playthrouhgs", "playthroughs",
+ "playthtoughs", "playthroughs",
+ "playtrhoughs", "playthroughs",
+ "populationes", "populations",
+ "pornograpghy", "pornography",
+ "porportional", "proportional",
+ "portabillity", "portability",
+ "portagonists", "protagonists",
+ "positionning", "positioning",
+ "positivitely", "positivity",
+ "possessivize", "possessive",
+ "possibillity", "possibility",
+ "possiblility", "possibility",
+ "possiblities", "possibilities",
+ "powerfisting", "powerlifting",
+ "powerlfiting", "powerlifting",
+ "powerlifitng", "powerlifting",
+ "powerlisting", "powerlifting",
+ "powetlifting", "powerlifting",
+ "powrrlifting", "powerlifting",
+ "practicioner", "practitioner",
+ "practisioner", "practitioner",
+ "pratictioner", "practitioners",
+ "precedessors", "predecessors",
+ "preconveived", "preconceived",
+ "predacessors", "predecessors",
+ "predeccesors", "predecessor",
+ "predecesores", "predecessor",
+ "predescesors", "predecessors",
+ "predessecors", "predecessors",
+ "predetermind", "predetermined",
+ "predicessors", "predecessors",
+ "predocessors", "predecessors",
+ "predomiantly", "predominately",
+ "predominanty", "predominantly",
+ "predominatly", "predominantly",
+ "preferantial", "preferential",
+ "preferentail", "preferential",
+ "preformances", "performances",
+ "preinitalize", "preinitialize",
+ "preliminarly", "preliminary",
+ "prematurelly", "prematurely",
+ "premillenial", "premillennial",
+ "preocupation", "preoccupation",
+ "preperations", "preparations",
+ "prepetrators", "perpetrators",
+ "prepetuating", "perpetuating",
+ "prepostorous", "preposterous",
+ "preposturous", "preposterous",
+ "prerequisets", "prerequisite",
+ "prescirption", "prescriptions",
+ "prescribtion", "prescription",
+ "prescripcion", "prescription",
+ "prescriptons", "prescriptions",
+ "prescritpion", "prescriptions",
+ "presedential", "presidential",
+ "presentacion", "presentation",
+ "presentaiton", "presentations",
+ "preservacion", "preservation",
+ "preservating", "preservation",
+ "preservativo", "preservation",
+ "presidencial", "presidential",
+ "presidenital", "presidential",
+ "presidentail", "presidential",
+ "presnetation", "presentations",
+ "presonalized", "personalized",
+ "prespectives", "perspectives",
+ "presrciption", "prescriptions",
+ "presumpteous", "presumptuous",
+ "presumputous", "presumptuous",
+ "prevantative", "preventative",
+ "preventation", "presentation",
+ "preventetive", "preventative",
+ "preventitive", "preventative",
+ "prezidential", "presidential",
+ "principlaity", "principality",
+ "probabiliste", "probabilities",
+ "probabilites", "probabilities",
+ "probabillity", "probability",
+ "probablistic", "probabilistic",
+ "proclomation", "proclamation",
+ "proconceived", "preconceived",
+ "profesisonal", "professionals",
+ "professiinal", "professionalism",
+ "professioanl", "professionals",
+ "professiomal", "professionalism",
+ "professionel", "professional",
+ "professionsl", "professionalism",
+ "professoinal", "professionals",
+ "professonial", "professionals",
+ "proffesional", "professional",
+ "proficientcy", "proficiency",
+ "profissional", "professional",
+ "profitabiliy", "profitability",
+ "profitabilty", "profitability",
+ "profressions", "progressions",
+ "progatonists", "protagonists",
+ "programmeurs", "programmer",
+ "progressieve", "progressive",
+ "progressioin", "progressions",
+ "progressiong", "progressing",
+ "progressisme", "progresses",
+ "progressiste", "progresses",
+ "progressivas", "progressives",
+ "progressivey", "progressively",
+ "progressivly", "progressively",
+ "progressivsm", "progressives",
+ "progresssing", "progressing",
+ "progresssion", "progressions",
+ "progresssive", "progressives",
+ "prohibitting", "prohibiting",
+ "projecticles", "projectiles",
+ "proletariaat", "proletariat",
+ "proletariant", "proletariat",
+ "proletaricat", "proletariat",
+ "prominantely", "prominently",
+ "promiscuious", "promiscuous",
+ "promisculous", "promiscuous",
+ "promotionnal", "promotional",
+ "pronounceing", "pronouncing",
+ "pronunciaton", "pronunciation",
+ "propertional", "proportional",
+ "propesterous", "preposterous",
+ "proportianal", "proportional",
+ "proportionel", "proportional",
+ "proposterous", "preposterous",
+ "proprotional", "proportional",
+ "prostetution", "prostitution",
+ "prostitition", "prostitution",
+ "prostitucion", "prostitution",
+ "prostituiton", "prostitution",
+ "prostitutiei", "prostitute",
+ "protaganists", "protagonists",
+ "protaginists", "protagonists",
+ "protagnoists", "protagonists",
+ "protestantes", "protestants",
+ "protoganists", "protagonists",
+ "prouncements", "pronouncements",
+ "pruposefully", "purposefully",
+ "pscyhologist", "psychologist",
+ "pscyhopathic", "psychopathic",
+ "pshyciatrist", "psychiatrist",
+ "pshycologist", "psychologist",
+ "pshycopathic", "psychopathic",
+ "psichologist", "psychologist",
+ "psychaitrist", "psychiatrist",
+ "psychedellic", "psychedelic",
+ "psychedilics", "psychedelics",
+ "psychemedics", "psychedelics",
+ "psychiatirst", "psychiatrists",
+ "psychiatrics", "psychiatrist",
+ "psychiatrict", "psychiatrist",
+ "psychiatrits", "psychiatrists",
+ "psychistrist", "psychiatrist",
+ "psychodelics", "psychedelics",
+ "psycholigist", "psychologist",
+ "psychologial", "psychological",
+ "psychologits", "psychologists",
+ "psychologyst", "psychologist",
+ "psychopathes", "psychopaths",
+ "psychyatrist", "psychiatrist",
+ "puplications", "publications",
+ "puritannical", "puritanical",
+ "purpetrators", "perpetrators",
+ "purpetuating", "perpetuating",
+ "purpusefully", "purposefully",
+ "pyschedelics", "psychedelics",
+ "pyschiatrist", "psychiatrist",
+ "pyschologist", "psychologist",
+ "pyschopathic", "psychopathic",
+ "qualificaton", "qualification",
+ "qualifierais", "qualifiers",
+ "qualtitative", "quantitative",
+ "quantatitive", "quantitative",
+ "quantititive", "quantitative",
+ "quarterblack", "quarterback",
+ "quesitonable", "questionable",
+ "questionalbe", "questionable",
+ "questionning", "questioning",
+ "questionsign", "questioning",
+ "radioactieve", "radioactive",
+ "rationallity", "rationally",
+ "reactionairy", "reactionary",
+ "reactionnary", "reactionary",
+ "realisticaly", "realistically",
+ "realisticlly", "realistically",
+ "reasonablely", "reasonably",
+ "recallection", "recollection",
+ "reccomending", "recommending",
+ "reccommended", "recommended",
+ "recepcionist", "receptionist",
+ "receptionest", "receptionist",
+ "recgonizable", "recognizable",
+ "reciporcated", "reciprocate",
+ "reciprociate", "reciprocate",
+ "reciprocrate", "reciprocate",
+ "recognizible", "recognizable",
+ "recolleciton", "recollection",
+ "recommanding", "recommending",
+ "recommendeds", "recommends",
+ "recommendors", "recommends",
+ "recommeneded", "recommended",
+ "recommenting", "recommending",
+ "recongizable", "recognizable",
+ "recontructed", "reconstructed",
+ "recpetionist", "receptionist",
+ "recreacional", "recreational",
+ "recriational", "recreational",
+ "referenceing", "referencing",
+ "refirgerator", "refrigerator",
+ "refriderator", "refrigerator",
+ "refrigarator", "refrigerator",
+ "refrigerador", "refrigerator",
+ "refrigerater", "refrigerator",
+ "refrigirator", "refrigerator",
+ "regenaration", "regeneration",
+ "regeneracion", "regeneration",
+ "regestration", "registration",
+ "registartion", "registration",
+ "registrating", "registration",
+ "regrigerator", "refrigerator",
+ "regulatorias", "regulators",
+ "regulatories", "regulators",
+ "regulatorios", "regulators",
+ "reicarnation", "reincarnation",
+ "reinforcemnt", "reinforcement",
+ "reinitalised", "reinitialised",
+ "reinitalises", "reinitialises",
+ "reinitalized", "reinitialized",
+ "reinitalizes", "reinitializes",
+ "reinstallled", "reinstalled",
+ "reisntalling", "reinstalling",
+ "relaitonship", "relationships",
+ "relatinoship", "relationships",
+ "reliabillity", "reliability",
+ "reluctanctly", "reluctantly",
+ "remarkablely", "remarkably",
+ "rememberance", "remembrance",
+ "reminiscient", "reminiscent",
+ "renaissaince", "renaissance",
+ "renegeration", "regeneration",
+ "reorganision", "reorganisation",
+ "repalcements", "replacements",
+ "repersenting", "representing",
+ "reporduction", "reproduction",
+ "reporductive", "reproductive",
+ "reprecussion", "repercussions",
+ "representate", "representative",
+ "represention", "representing",
+ "representive", "representative",
+ "reproducable", "reproducible",
+ "reproduccion", "reproduction",
+ "reproduciton", "reproduction",
+ "reproducting", "reproduction",
+ "reproductivo", "reproduction",
+ "reproduktion", "reproduction",
+ "repsectfully", "respectfully",
+ "repsectively", "respectively",
+ "republicanas", "republicans",
+ "republicanos", "republicans",
+ "republicants", "republicans",
+ "republicians", "republicans",
+ "requerimento", "requirement",
+ "requeriments", "requirements",
+ "requierments", "requirements",
+ "requriements", "requirements",
+ "resembelance", "resemblance",
+ "reseptionist", "receptionist",
+ "reserrection", "resurrection",
+ "resintalling", "reinstalling",
+ "resistancies", "resistances",
+ "resistencias", "resistances",
+ "respecitvely", "respectively",
+ "respectabile", "respectable",
+ "respectivily", "respectively",
+ "respectivley", "respectively",
+ "respectuflly", "respectfully",
+ "respiratiory", "respiratory",
+ "responsabile", "responsible",
+ "responsaveis", "responsive",
+ "responsbilty", "responsibly",
+ "responsibile", "responsible",
+ "responsibily", "responsibility",
+ "responsibley", "responsibly",
+ "responsibliy", "responsibly",
+ "responsiblty", "responsibly",
+ "ressemblance", "resemblance",
+ "ressemblence", "resemblance",
+ "ressurection", "resurrection",
+ "restaurantes", "restaurants",
+ "restauration", "restoration",
+ "restauraunts", "restaurants",
+ "restirctions", "restrictions",
+ "restrainting", "restraining",
+ "restrcitions", "restriction",
+ "restricitons", "restrictions",
+ "resurreccion", "resurrection",
+ "resurrektion", "resurrection",
+ "retalitation", "retaliation",
+ "retributioon", "retribution",
+ "retroactivly", "retroactively",
+ "revolutionay", "revolutionary",
+ "revolutionos", "revolutions",
+ "rezurrection", "resurrection",
+ "rictatorship", "dictatorship",
+ "ridicilously", "ridiculously",
+ "ridicoulusly", "ridiculously",
+ "righteouness", "righteousness",
+ "rockerfeller", "rockefeller",
+ "rollercoaser", "rollercoaster",
+ "rollercoater", "rollercoaster",
+ "romanitcally", "romantically",
+ "roundabounts", "roundabout",
+ "rudimentatry", "rudimentary",
+ "rysurrection", "resurrection",
+ "sacksonville", "jacksonville",
+ "sacreligious", "sacrilegious",
+ "sacrificeing", "sacrificing",
+ "saksatchewan", "saskatchewan",
+ "salughtering", "slaughtering",
+ "sanctionning", "sanctioning",
+ "sarcasticaly", "sarcastically",
+ "sarcasticlly", "sarcastically",
+ "sascatchewan", "saskatchewan",
+ "saskatcehwan", "saskatchewan",
+ "saskatchawan", "saskatchewan",
+ "saskatechwan", "saskatchewan",
+ "sasketchawan", "saskatchewan",
+ "sasketchewan", "saskatchewan",
+ "sasktachewan", "saskatchewan",
+ "satasfaction", "satisfaction",
+ "satasfactory", "satisfactory",
+ "satisfaccion", "satisfaction",
+ "satisfacting", "satisfaction",
+ "satisfcation", "satisfaction",
+ "satisfiction", "satisfaction",
+ "satistactory", "satisfactory",
+ "satsifaction", "satisfaction",
+ "satsifactory", "satisfactory",
+ "scandanivian", "scandinavian",
+ "scandenavian", "scandinavian",
+ "scandianvian", "scandinavian",
+ "scandinacian", "scandinavian",
+ "scandinaivan", "scandinavia",
+ "scandinavica", "scandinavian",
+ "scandinavien", "scandinavian",
+ "scandinavion", "scandinavian",
+ "scandivanian", "scandinavian",
+ "scandonavian", "scandinavian",
+ "schizophrena", "schizophrenia",
+ "scholarhsips", "scholarships",
+ "scholerships", "scholarships",
+ "scholorships", "scholarships",
+ "scnadinavian", "scandinavian",
+ "screenshoots", "screenshot",
+ "sensationail", "sensational",
+ "sensationnal", "sensational",
+ "sensibilites", "sensibilities",
+ "sensitivitiy", "sensitivity",
+ "sentimentals", "sentiments",
+ "sertificates", "certificates",
+ "serveillance", "surveillance",
+ "seskatchewan", "saskatchewan",
+ "shakesperean", "shakespeare",
+ "shamelessely", "shamelessly",
+ "shamelessley", "shamelessly",
+ "shampionship", "championship",
+ "shardholders", "shareholders",
+ "shenanigains", "shenanigans",
+ "shenanigangs", "shenanigans",
+ "shenaniganns", "shenanigans",
+ "shenanighans", "shenanigans",
+ "shopkeeepers", "shopkeepers",
+ "showboarding", "snowboarding",
+ "siginificant", "significant",
+ "significanly", "significantly",
+ "significante", "significance",
+ "significanty", "significantly",
+ "significatly", "significantly",
+ "signleplayer", "singleplayer",
+ "simaltaneous", "simultaneous",
+ "simeltaneous", "simultaneous",
+ "similaraties", "similarities",
+ "similiarites", "similarities",
+ "similiarties", "similarities",
+ "similiraties", "similarities",
+ "similtaneous", "simultaneous",
+ "simliarities", "similarities",
+ "simlutaneous", "simultaneous",
+ "simpathizers", "sympathizers",
+ "simplistisch", "simplistic",
+ "simulatenous", "simultaneous",
+ "simulatneous", "simultaneous",
+ "simultaenous", "simultaneous",
+ "simultaneuos", "simultaneous",
+ "simultanious", "simultaneous",
+ "simulteneous", "simultaneous",
+ "singelplayer", "singleplayer",
+ "singlepalyer", "singleplayer",
+ "sinlgeplayer", "singleplayer",
+ "situationals", "situations",
+ "situationnal", "situational",
+ "skandinavian", "scandinavian",
+ "skateboaring", "skateboarding",
+ "skrawberries", "strawberries",
+ "slaugthering", "slaughtering",
+ "sloughtering", "slaughtering",
+ "sluaghtering", "slaughtering",
+ "snowballling", "snowballing",
+ "snowbaording", "snowboarding",
+ "socialistisk", "socialists",
+ "socialogical", "sociological",
+ "socioeconimc", "socioeconomic",
+ "socioeconmic", "socioeconomic",
+ "socioligical", "sociological",
+ "sociopolical", "sociological",
+ "somethingest", "somethings",
+ "sophisticaed", "sophisticated",
+ "sophisticted", "sophisticated",
+ "southamption", "southampton",
+ "southernerns", "southerners",
+ "sovereighnty", "sovereignty",
+ "sovereignety", "sovereignty",
+ "sovereignity", "sovereignty",
+ "specialistes", "specialists",
+ "specializare", "specialize",
+ "specializate", "specialize",
+ "specializeds", "specializes",
+ "specializied", "specialize",
+ "speciallized", "specialised",
+ "specifcation", "specification",
+ "spectacuarly", "spectacular",
+ "spectaculair", "spectacular",
+ "spectaculary", "spectacularly",
+ "spectacullar", "spectacularly",
+ "specualtions", "speculation",
+ "spermatozoan", "spermatozoon",
+ "spesifically", "specifically",
+ "spirituallly", "spiritually",
+ "spirtiuality", "spirituality",
+ "spirutuality", "spirituality",
+ "spontaneosly", "spontaneously",
+ "spontaneouly", "spontaneously",
+ "spreadhseets", "spreadsheets",
+ "spreadsheats", "spreadsheets",
+ "spreadsheeds", "spreadsheets",
+ "spreadsheeet", "spreadsheets",
+ "standartized", "standardized",
+ "standerdized", "standardized",
+ "stardardized", "standardized",
+ "starightened", "straightened",
+ "starwberries", "strawberries",
+ "statisticaly", "statistically",
+ "stereotpying", "stereotyping",
+ "stereotypers", "stereotypes",
+ "stereotypian", "stereotyping",
+ "steriotyping", "stereotyping",
+ "steroetyping", "stereotyping",
+ "steryotyping", "stereotyping",
+ "straigntened", "straightened",
+ "straigthened", "straightened",
+ "strategicaly", "strategically",
+ "strategiclly", "strategically",
+ "strawburries", "strawberries",
+ "streemlining", "streamlining",
+ "streightened", "straightened",
+ "strenghening", "strengthening",
+ "strenghtened", "strengthened",
+ "strengtheing", "strengthening",
+ "stroytelling", "storytelling",
+ "subconcsious", "subconscious",
+ "subconsicous", "subconscious",
+ "subcouncious", "subconscious",
+ "subcsription", "subscriptions",
+ "subesquently", "subsequently",
+ "subjectivety", "subjectively",
+ "subjectivily", "subjectively",
+ "subjectivley", "subjectively",
+ "subjudgation", "subjugation",
+ "subredditors", "subreddits",
+ "subscirption", "subscriptions",
+ "subsconcious", "subconscious",
+ "subscribbers", "subscribers",
+ "subscribbing", "subscribing",
+ "subscribirse", "subscriber",
+ "subscribtion", "subscription",
+ "subscriptons", "subscriptions",
+ "subscritpion", "subscriptions",
+ "subscrpition", "subscriptions",
+ "subsiquently", "subsequently",
+ "subsrciption", "subscriptions",
+ "subsricption", "subscriptions",
+ "substantialy", "substantially",
+ "substantitve", "substantive",
+ "substitition", "substitution",
+ "substituters", "substitutes",
+ "substitutivo", "substitution",
+ "substitutues", "substitutes",
+ "substracting", "subtracting",
+ "substraction", "subtraction",
+ "subterranian", "subterranean",
+ "succsessfull", "successful",
+ "sunconscious", "subconscious",
+ "supermarkeds", "supermarkets",
+ "supermarkers", "supermarkets",
+ "supermarkert", "supermarkets",
+ "supermarkten", "supermarket",
+ "supermarktes", "supermarkets",
+ "supernarkets", "supermarkets",
+ "supernatrual", "supernatural",
+ "supersticion", "superstition",
+ "superstision", "superstition",
+ "superstitios", "superstitious",
+ "superstitous", "superstitious",
+ "supervisiors", "supervisors",
+ "supervisoras", "supervisors",
+ "supervisores", "supervisors",
+ "supllemental", "supplemental",
+ "supplamental", "supplemental",
+ "supplamented", "supplemented",
+ "supplimental", "supplemental",
+ "suppresssion", "suppression",
+ "supscription", "subscription",
+ "supsiciously", "suspiciously",
+ "surprizingly", "surprisingly",
+ "surrenderred", "surrendered",
+ "surrundering", "surrendering",
+ "survaillance", "surveillance",
+ "survaillence", "surveillance",
+ "survallience", "surveillance",
+ "surveillence", "surveillance",
+ "survelliance", "surveillance",
+ "surviellance", "surveillance",
+ "survivabiity", "survivability",
+ "survivabiliy", "survivability",
+ "survivabilty", "survivability",
+ "susceptiable", "susceptible",
+ "susceptibile", "susceptible",
+ "suspeciously", "suspiciously",
+ "suspicioulsy", "suspiciously",
+ "suspiciuosly", "suspiciously",
+ "suspisiously", "suspiciously",
+ "sustainabily", "sustainability",
+ "symapthizers", "sympathizers",
+ "symetrically", "symmetrically",
+ "symmetricaly", "symmetrically",
+ "sympathethic", "sympathetic",
+ "sympathsizer", "sympathizers",
+ "sympathyzers", "sympathizers",
+ "sympethizers", "sympathizers",
+ "symphatizers", "sympathizers",
+ "sympithizers", "sympathizers",
+ "syncronously", "synchronously",
+ "sysmatically", "systematically",
+ "systematisch", "systematic",
+ "tablespooons", "tablespoon",
+ "tacticallity", "tactically",
+ "tangencially", "tangentially",
+ "tangenitally", "tangentially",
+ "tangientally", "tangentially",
+ "teamfighters", "teamfights",
+ "teansylvania", "transylvania",
+ "techanically", "mechanically",
+ "techincality", "technicality",
+ "technologial", "technological",
+ "telelevision", "television",
+ "teleportaion", "teleportation",
+ "teleportaton", "teleportation",
+ "temepratures", "temperatures",
+ "temparatures", "temperatures",
+ "temperaturas", "temperatures",
+ "temporarilly", "temporarily",
+ "tempreatures", "temperatures",
+ "tempuratures", "temperatures",
+ "tengentially", "tangentially",
+ "termendously", "tremendously",
+ "territorrial", "territorial",
+ "territorries", "territories",
+ "testasterone", "testosterone",
+ "testestorone", "testosterone",
+ "thanskgiving", "thanksgiving",
+ "theologicial", "theological",
+ "theoreticaly", "theoretically",
+ "thermomenter", "thermometer",
+ "thermomether", "thermometer",
+ "thumbnailers", "thumbnails",
+ "thunderboldt", "thunderbolt",
+ "tindergarten", "kindergarten",
+ "torubleshoot", "troubleshoot",
+ "totalitarion", "totalitarian",
+ "totalitatian", "totalitarian",
+ "touchscreeen", "touchscreen",
+ "traditionaly", "traditionally",
+ "traditionnal", "traditional",
+ "tradtionally", "traditionally",
+ "tramendously", "tremendously",
+ "tramsformers", "transformers",
+ "tramsforming", "transforming",
+ "tranditional", "transitional",
+ "tranistional", "transitional",
+ "tranistioned", "transitioned",
+ "tranlsations", "translations",
+ "tranmsission", "transmissions",
+ "transaltions", "translations",
+ "transaprency", "transparency",
+ "transational", "transitional",
+ "transcations", "transactions",
+ "transcendant", "transcendent",
+ "transcripton", "transcription",
+ "transcriptus", "transcripts",
+ "transesxuals", "transsexuals",
+ "transfarmers", "transformers",
+ "transfarring", "transferring",
+ "transferrred", "transferred",
+ "transformare", "transformers",
+ "transformase", "transforms",
+ "transformees", "transforms",
+ "transforners", "transformers",
+ "transfromers", "transformers",
+ "transfroming", "transforming",
+ "transgenderd", "transgendered",
+ "transgendred", "transgendered",
+ "transgenered", "transgender",
+ "transicional", "transitional",
+ "transilvania", "transylvania",
+ "transimssion", "transmissions",
+ "transisioned", "transitioned",
+ "translastion", "translations",
+ "translateing", "translating",
+ "translationg", "translating",
+ "translucient", "translucent",
+ "translyvania", "transylvania",
+ "transmisions", "transmission",
+ "transmisison", "transmission",
+ "transmissons", "transmissions",
+ "transmitirte", "transmitter",
+ "transmittted", "transmitted",
+ "transmorfers", "transformer",
+ "transofrmers", "transformers",
+ "transofrming", "transforming",
+ "transparancy", "transparency",
+ "transparenty", "transparency",
+ "transparrent", "transparent",
+ "transperancy", "transparency",
+ "transperency", "transparency",
+ "transplantes", "transplants",
+ "transporteur", "transporter",
+ "transportion", "transporting",
+ "transpotting", "transporting",
+ "transsmision", "transmissions",
+ "transylmania", "transylvania",
+ "transylvanai", "transylvania",
+ "trasnferring", "transferring",
+ "trasnformers", "transformers",
+ "trasnforming", "transforming",
+ "trasnmission", "transmissions",
+ "trasnparency", "transparency",
+ "trasnporting", "transporting",
+ "trememdously", "tremendously",
+ "tremendoulsy", "tremendously",
+ "tremondously", "tremendously",
+ "troubelshoot", "troubleshoot",
+ "troublehsoot", "troubleshoot",
+ "trumendously", "tremendously",
+ "trustworthly", "trustworthy",
+ "ubsubscribed", "unsubscribed",
+ "udnerpowered", "underpowered",
+ "umbelievable", "unbelievable",
+ "umemployment", "unemployment",
+ "unaccaptable", "unacceptable",
+ "unacceptible", "unacceptable",
+ "unaccpetable", "unacceptable",
+ "unacompanied", "unaccompanied",
+ "unappealling", "unappealing",
+ "unattractice", "unattractive",
+ "unautherized", "unauthorized",
+ "unauthroized", "unauthorized",
+ "unbeleivable", "unbelievable",
+ "unbeleivably", "unbelievably",
+ "unbeliavable", "unbelievable",
+ "unbeliavably", "unbelievably",
+ "unbeliebable", "unbelievable",
+ "unbelieveble", "unbelievable",
+ "unbelievibly", "unbelievably",
+ "unbeliveable", "unbelievable",
+ "unbeliveably", "unbelievably",
+ "unbelizeable", "unbelievable",
+ "unbolievable", "unbelievable",
+ "uncertainity", "uncertainty",
+ "uncertaintly", "uncertainty",
+ "uncompatible", "incompatible",
+ "unconditinal", "unconditional",
+ "unconsciosly", "unconsciously",
+ "unconsciouly", "unconsciously",
+ "unconsistent", "inconsistent",
+ "unconvenient", "inconvenient",
+ "unconvential", "unconventional",
+ "undecideable", "undecidable",
+ "undefinitely", "indefinitely",
+ "undeniablely", "undeniably",
+ "undergradate", "undergraduate",
+ "undergradute", "undergraduate",
+ "underminding", "undermining",
+ "undermineing", "undermining",
+ "undermineras", "undermines",
+ "undermineres", "undermines",
+ "underminging", "undermining",
+ "underminning", "undermining",
+ "undertakeing", "undertaking",
+ "underwhelimg", "underwhelming",
+ "underwheling", "underwhelming",
+ "undesireable", "undesirable",
+ "undoubtedbly", "undoubtedly",
+ "unemployemnt", "unemployment",
+ "unemplyoment", "unemployment",
+ "unempolyment", "unemployment",
+ "unenployment", "unemployment",
+ "unequalities", "inequalities",
+ "unexpectadly", "unexpectedly",
+ "unexpectetly", "unexpectedly",
+ "unexpectidly", "unexpectedly",
+ "unexperience", "inexperience",
+ "unexpextedly", "unexpectedly",
+ "unexplicably", "inexplicably",
+ "unforgetable", "unforgettable",
+ "unforgiveble", "unforgivable",
+ "unforgivible", "unforgivable",
+ "unfortunatly", "unfortunately",
+ "unfortunetly", "unfortunately",
+ "unilatreally", "unilaterally",
+ "uniliterally", "unilaterally",
+ "unimpresssed", "unimpressed",
+ "uninitalised", "uninitialised",
+ "uninitalized", "uninitialized",
+ "uninstallimg", "uninstalling",
+ "uninstallled", "uninstalled",
+ "unintentinal", "unintentional",
+ "uninteresing", "uninteresting",
+ "uninterneted", "uninterested",
+ "uninterruped", "uninterrupted",
+ "uninterupted", "uninterrupted",
+ "unisntalling", "uninstalling",
+ "unitesstates", "unitedstates",
+ "univerisites", "universities",
+ "univeristies", "universities",
+ "universitets", "universities",
+ "unliaterally", "unilaterally",
+ "unneccessary", "unnecessary",
+ "unnecesarily", "unnecessarily",
+ "unnecessairy", "unnecessarily",
+ "unnecessarly", "unnecessarily",
+ "unnistalling", "uninstalling",
+ "unpredictabe", "unpredictable",
+ "unpreductive", "unproductive",
+ "unproduktive", "unproductive",
+ "unrealisitic", "unrealistic",
+ "unreaponsive", "unresponsive",
+ "unreasonalby", "unreasonably",
+ "unrepsonsive", "unresponsive",
+ "unresponcive", "unresponsive",
+ "unresponisve", "unresponsive",
+ "unresponsibe", "unresponsive",
+ "unrestircted", "unrestricted",
+ "unrestrcited", "unrestricted",
+ "unristricted", "unrestricted",
+ "unseccessful", "unsuccessful",
+ "unsespecting", "unsuspecting",
+ "unsibscribed", "unsubscribed",
+ "unsoliciated", "unsolicited",
+ "unsolicitied", "unsolicited",
+ "unsubscirbed", "unsubscribed",
+ "unsubscrible", "unsubscribed",
+ "unsubscrided", "unsubscribed",
+ "unsubscriped", "unsubscribed",
+ "unsubscrubed", "unsubscribed",
+ "unsubsrcibed", "unsubscribed",
+ "unsucessfull", "unsuccessful",
+ "unsunscribed", "unsubscribed",
+ "unsurprizing", "unsurprising",
+ "unsusbcribed", "unsubscribed",
+ "unsustainble", "unsustainable",
+ "unvelievable", "unbelievable",
+ "unvelievably", "unbelievably",
+ "unviersities", "universities",
+ "unvulnerable", "invulnerable",
+ "varification", "verification",
+ "vegetarianas", "vegetarians",
+ "vegetarianos", "vegetarians",
+ "verficiation", "verification",
+ "verificacion", "verification",
+ "verificaiton", "verification",
+ "verifikation", "verification",
+ "vernaculaire", "vernacular",
+ "versatillity", "versatility",
+ "verticallity", "vertically",
+ "videogamemes", "videogames",
+ "visualizaton", "visualization",
+ "vocabularily", "vocabulary",
+ "vocabularity", "vocabulary",
+ "volonteering", "volunteering",
+ "volounteered", "volunteered",
+ "voluntarilly", "voluntarily",
+ "volunterring", "volunteering",
+ "vulnerabilty", "vulnerability",
+ "weightlifing", "weightlifting",
+ "withdrawalls", "withdrawals",
+ "withdrawling", "withdrawing",
+ "withdrawning", "withdrawing",
+ "wonderfullly", "wonderfully",
+ "worshippping", "worshipping",
+ "xenophobical", "xenophobia",
+ "abandenment", "abandonment",
+ "abandomnent", "abandonment",
+ "abandonding", "abandoning",
+ "abandonnent", "abandonment",
+ "abandonning", "abandoning",
+ "abbreviatin", "abbreviation",
+ "abbreviaton", "abbreviation",
+ "abdominable", "abdominal",
+ "abomanation", "abomination",
+ "abominacion", "abomination",
+ "abomonation", "abomination",
+ "abonimation", "abomination",
+ "aboriginial", "aboriginal",
+ "aborigional", "aboriginal",
+ "abreviation", "abbreviation",
+ "abritrarily", "arbitrarily",
+ "abritration", "arbitration",
+ "absolutelly", "absolutely",
+ "absolutelys", "absolutes",
+ "absolutisme", "absolutes",
+ "absolutiste", "absolutes",
+ "abstraccion", "abstraction",
+ "abstraktion", "abstraction",
+ "abstruction", "abstraction",
+ "abundancies", "abundances",
+ "academicaly", "academically",
+ "academicese", "academics",
+ "accelarated", "accelerated",
+ "accelarator", "accelerator",
+ "accelerater", "accelerator",
+ "acceleratie", "accelerate",
+ "acceleratio", "accelerator",
+ "acceleraton", "acceleration",
+ "accelorated", "accelerated",
+ "accelorator", "accelerator",
+ "acceptabelt", "acceptable",
+ "accesseries", "accessories",
+ "accessibile", "accessible",
+ "accessibily", "accessibility",
+ "accessoires", "accessories",
+ "accidantely", "accidently",
+ "accidentaly", "accidentally",
+ "accidentely", "accidently",
+ "accidential", "accidental",
+ "accidentily", "accidently",
+ "accidentlay", "accidently",
+ "accidentley", "accidently",
+ "accidentlly", "accidently",
+ "accomadated", "accommodated",
+ "accomadates", "accommodates",
+ "accommadate", "accommodate",
+ "accommidate", "accommodate",
+ "accomodated", "accommodated",
+ "accomodates", "accommodates",
+ "accomondate", "accommodate",
+ "accompained", "accompanied",
+ "accompanyed", "accompanied",
+ "accompianed", "accompanied",
+ "accompinied", "accompanied",
+ "accomplises", "accomplishes",
+ "accomplishs", "accomplishes",
+ "accomponied", "accompanied",
+ "accountatns", "accountants",
+ "accountents", "accountants",
+ "accquainted", "acquainted",
+ "accrediated", "accredited",
+ "accreditied", "accredited",
+ "accreditted", "accredited",
+ "acculumated", "accumulated",
+ "accumalated", "accumulated",
+ "accumelated", "accumulated",
+ "accumilated", "accumulated",
+ "accumulatin", "accumulation",
+ "accumulaton", "accumulation",
+ "accuratelly", "accurately",
+ "accustommed", "accustomed",
+ "acheivement", "achievement",
+ "acheivments", "achievements",
+ "achievemint", "achievement",
+ "achievemnts", "achievements",
+ "achievments", "achievements",
+ "achivements", "achievements",
+ "acknolwedge", "acknowledge",
+ "acknoweldge", "acknowledge",
+ "acknowleded", "acknowledged",
+ "acknowlegde", "acknowledge",
+ "acknowleged", "acknowledge",
+ "acknowleges", "acknowledges",
+ "acknwoledge", "acknowledges",
+ "acomplished", "accomplished",
+ "acopalyptic", "apocalyptic",
+ "acquaintace", "acquaintance",
+ "acquisation", "acquisition",
+ "activateing", "activating",
+ "activationg", "activating",
+ "activistion", "activision",
+ "additinally", "additionally",
+ "additionaly", "additionally",
+ "additonally", "additionally",
+ "adequatedly", "adequately",
+ "adjectiveus", "adjectives",
+ "administerd", "administered",
+ "administrar", "administrator",
+ "administren", "administer",
+ "administrer", "administer",
+ "administres", "administer",
+ "administrez", "administer",
+ "adminstered", "administered",
+ "adminstrate", "administrate",
+ "admittadely", "admittedly",
+ "adolencence", "adolescence",
+ "adolescance", "adolescence",
+ "adolescense", "adolescence",
+ "advantadges", "advantages",
+ "advantageos", "advantageous",
+ "advantageus", "advantageous",
+ "advantagous", "advantageous",
+ "adventerous", "adventures",
+ "adventourus", "adventurous",
+ "adversiting", "advertising",
+ "advertisors", "advertisers",
+ "advertisted", "advertised",
+ "aesthethics", "aesthetics",
+ "afficionado", "aficionado",
+ "affiliction", "affiliation",
+ "affirmitave", "affirmative",
+ "affirmitive", "affirmative",
+ "affixiation", "affiliation",
+ "affrimative", "affirmative",
+ "afgahnistan", "afghanistan",
+ "afganhistan", "afghanistan",
+ "afghanastan", "afghanistan",
+ "afghansitan", "afghanistan",
+ "afhganistan", "afghanistan",
+ "afternarket", "aftermarket",
+ "afterthougt", "afterthought",
+ "aggaravates", "aggravates",
+ "aggragating", "aggravating",
+ "aggregatore", "aggregate",
+ "aggressivly", "aggressively",
+ "aggresssion", "aggression",
+ "aggrovating", "aggravating",
+ "agnostacism", "agnosticism",
+ "agnostisicm", "agnosticism",
+ "agnostisism", "agnosticism",
+ "agnostocism", "agnosticism",
+ "agnsoticism", "agnosticism",
+ "agonsticism", "agnosticism",
+ "agressively", "aggressively",
+ "agressivley", "agressive",
+ "agressivnes", "agressive",
+ "agricolture", "agriculture",
+ "agriculteur", "agriculture",
+ "agricultral", "agricultural",
+ "agricultual", "agricultural",
+ "agricutlure", "agriculture",
+ "ahtleticism", "athleticism",
+ "alcoholicas", "alcoholics",
+ "alcoholicos", "alcoholics",
+ "alcoholisim", "alcoholism",
+ "algorithems", "algorithm",
+ "algorithims", "algorithm",
+ "algorithmes", "algorithms",
+ "algorithmns", "algorithms",
+ "algorithmus", "algorithms",
+ "algorithyms", "algorithm",
+ "algorythims", "algorithms",
+ "alientating", "alienating",
+ "alleigances", "allegiance",
+ "alltogether", "altogether",
+ "alterantive", "alternative",
+ "alternatley", "alternately",
+ "alternitive", "alternative",
+ "altheticism", "athleticism",
+ "altnerately", "alternately",
+ "altruisitic", "altruistic",
+ "altruistric", "altruistic",
+ "amalgomated", "amalgamated",
+ "ambulancier", "ambulance",
+ "amerliorate", "ameliorate",
+ "ammendments", "amendments",
+ "ampehtamine", "amphetamine",
+ "ampethamine", "amphetamine",
+ "amphetamies", "amphetamines",
+ "amphetamins", "amphetamines",
+ "amphetemine", "amphetamine",
+ "amphetimine", "amphetamine",
+ "amphetmaine", "amphetamines",
+ "analyticals", "analytics",
+ "anarchistes", "anarchists",
+ "ancedotally", "anecdotally",
+ "androgenous", "androgynous",
+ "anecdatally", "anecdotally",
+ "anecdotelly", "anecdotally",
+ "anecodtally", "anecdotally",
+ "anectodally", "anecdotally",
+ "anectotally", "anecdotally",
+ "anedoctally", "anecdotally",
+ "angosticism", "agnosticism",
+ "anihilation", "annihilation",
+ "anitbiotics", "antibiotics",
+ "annihalated", "annihilated",
+ "annihilaton", "annihilation",
+ "annihilited", "annihilated",
+ "annihliated", "annihilated",
+ "annilihated", "annihilated",
+ "anniversery", "anniversary",
+ "annonymouse", "anonymous",
+ "announceing", "announcing",
+ "announcemet", "announcements",
+ "announcemnt", "announcement",
+ "announcents", "announces",
+ "annoymously", "anonymously",
+ "anonamously", "anonymously",
+ "anonimously", "anonymously",
+ "anonmyously", "anonymously",
+ "anonomously", "anonymously",
+ "anonymousny", "anonymously",
+ "anouncement", "announcement",
+ "antagonisic", "antagonistic",
+ "antagonistc", "antagonistic",
+ "antagonstic", "antagonist",
+ "anthropolgy", "anthropology",
+ "anthropoloy", "anthropology",
+ "antibiodics", "antibiotics",
+ "antibioitcs", "antibiotic",
+ "antibioitic", "antibiotic",
+ "antibitoics", "antibiotics",
+ "antiboitics", "antibiotics",
+ "anticapated", "anticipated",
+ "anticiapted", "anticipated",
+ "anticipatin", "anticipation",
+ "antiobitics", "antibiotic",
+ "antiquaited", "antiquated",
+ "antisipated", "anticipated",
+ "apacolyptic", "apocalyptic",
+ "apocaliptic", "apocalyptic",
+ "apocalpytic", "apocalyptic",
+ "apocalytpic", "apocalyptic",
+ "apolagizing", "apologizing",
+ "apolegetics", "apologetics",
+ "apologistas", "apologists",
+ "apologistes", "apologists",
+ "apostrophie", "apostrophe",
+ "apparantely", "apparently",
+ "appareances", "appearances",
+ "apparentely", "apparently",
+ "appartments", "apartments",
+ "appeareance", "appearance",
+ "appearences", "appearances",
+ "apperciated", "appreciated",
+ "apperciates", "appreciates",
+ "appereances", "appearances",
+ "applicabile", "applicable",
+ "applicaiton", "application",
+ "applicatins", "applicants",
+ "applicatons", "applications",
+ "appoitnment", "appointments",
+ "apporaching", "approaching",
+ "apporpriate", "appropriate",
+ "apporximate", "approximate",
+ "appraoching", "approaching",
+ "apprearance", "appearance",
+ "apprecaited", "appreciated",
+ "apprecaites", "appreciates",
+ "appreciaite", "appreciative",
+ "appreciatie", "appreciative",
+ "appreciatin", "appreciation",
+ "appreciaton", "appreciation",
+ "appreciatve", "appreciative",
+ "appreicated", "appreciated",
+ "appreicates", "appreciates",
+ "apprentince", "apprentice",
+ "appriciated", "appreciated",
+ "appriciates", "appreciates",
+ "apprieciate", "appreciate",
+ "appropirate", "appropriate",
+ "appropraite", "appropriate",
+ "appropriato", "appropriation",
+ "approxamate", "approximate",
+ "approxiamte", "approximate",
+ "approxmiate", "approximate",
+ "aprehensive", "apprehensive",
+ "apsirations", "aspirations",
+ "aqcuisition", "acquisition",
+ "aquaintance", "acquaintance",
+ "aquiantance", "acquaintance",
+ "arbitrairly", "arbitrarily",
+ "arbitralily", "arbitrarily",
+ "arbitrarely", "arbitrarily",
+ "arbitrarion", "arbitration",
+ "arbitratily", "arbitrarily",
+ "arbritarily", "arbitrarily",
+ "arbritation", "arbitration",
+ "arcaheology", "archaeology",
+ "archaoelogy", "archeology",
+ "archeaology", "archaeology",
+ "archimedian", "archimedean",
+ "architechts", "architect",
+ "architectes", "architects",
+ "architecure", "architecture",
+ "argiculture", "agriculture",
+ "argumentate", "argumentative",
+ "aribtrarily", "arbitrarily",
+ "aribtration", "arbitration",
+ "arithmentic", "arithmetic",
+ "arithmethic", "arithmetic",
+ "arithmetric", "arithmetic",
+ "armagedddon", "armageddon",
+ "armageddeon", "armageddon",
+ "arrangments", "arrangements",
+ "arrengement", "arrangement",
+ "articluated", "articulated",
+ "articualted", "articulated",
+ "artifically", "artificially",
+ "artificialy", "artificially",
+ "aspergerers", "aspergers",
+ "asphyxation", "asphyxiation",
+ "aspriations", "aspirations",
+ "assasinated", "assassinated",
+ "assasinates", "assassinates",
+ "assassiante", "assassinate",
+ "assassinare", "assassinate",
+ "assassinatd", "assassinated",
+ "assassinato", "assassination",
+ "assassinats", "assassins",
+ "assassinted", "assassinated",
+ "assembleing", "assembling",
+ "assemblying", "assembling",
+ "assertation", "assertion",
+ "assignemnts", "assignments",
+ "assimialted", "assimilate",
+ "assimilatie", "assimilate",
+ "assimilerat", "assimilate",
+ "assimiliate", "assimilate",
+ "assimliated", "assimilate",
+ "assingments", "assignments",
+ "assistantes", "assistants",
+ "assocaition", "associations",
+ "associaiton", "associations",
+ "associaties", "associates",
+ "associatons", "associations",
+ "assoication", "association",
+ "assosiating", "associating",
+ "assosiation", "association",
+ "assoziation", "association",
+ "assumptious", "assumptions",
+ "astonashing", "astonishing",
+ "astonoshing", "astonishing",
+ "astronaught", "astronaut",
+ "astronaunts", "astronaut",
+ "astronautas", "astronauts",
+ "astronautes", "astronauts",
+ "asychronous", "asynchronous",
+ "asyncronous", "asynchronous",
+ "atatchments", "attachments",
+ "atheistisch", "atheistic",
+ "athelticism", "athleticism",
+ "athletecism", "athleticism",
+ "athleticsim", "athleticism",
+ "athletisicm", "athleticism",
+ "athletisism", "athleticism",
+ "atmopsheric", "atmospheric",
+ "atmoshperic", "atmospheric",
+ "atmosoheric", "atmospheric",
+ "atomspheric", "atmospheric",
+ "atrocitites", "atrocities",
+ "attachemnts", "attachments",
+ "attackerasu", "attackers",
+ "attackerats", "attackers",
+ "attactments", "attachments",
+ "attributred", "attributed",
+ "attributted", "attribute",
+ "attrocities", "atrocities",
+ "audiobookas", "audiobooks",
+ "audioboooks", "audiobook",
+ "auotcorrect", "autocorrect",
+ "austrailans", "australians",
+ "austrailian", "australian",
+ "australiaan", "australians",
+ "australiams", "australians",
+ "australiens", "australians",
+ "australlian", "australian",
+ "authenticiy", "authenticity",
+ "authenticor", "authenticator",
+ "authenticty", "authenticity",
+ "authorative", "authoritative",
+ "authoritate", "authoritative",
+ "authoroties", "authorities",
+ "autoatttack", "autoattack",
+ "autocoreect", "autocorrect",
+ "autocorrekt", "autocorrect",
+ "autocorrent", "autocorrect",
+ "autocorrext", "autocorrect",
+ "autoctonous", "autochthonous",
+ "autokorrect", "autocorrect",
+ "automaticly", "automatically",
+ "automatonic", "automation",
+ "automoblies", "automobile",
+ "auxillaries", "auxiliaries",
+ "availabiliy", "availability",
+ "availabilty", "availability",
+ "availablity", "availability",
+ "awesoneness", "awesomeness",
+ "babysittter", "babysitter",
+ "backbacking", "backpacking",
+ "backgorunds", "backgrounds",
+ "backhacking", "backpacking",
+ "backjacking", "backpacking",
+ "backtacking", "backpacking",
+ "bangaldeshi", "bangladesh",
+ "bangladesch", "bangladesh",
+ "barceloneta", "barcelona",
+ "bargainning", "bargaining",
+ "battelfield", "battlefield",
+ "battelfront", "battlefront",
+ "battelships", "battleship",
+ "battlefeild", "battlefield",
+ "battlefiend", "battlefield",
+ "battlefiled", "battlefield",
+ "battlefornt", "battlefront",
+ "battlehsips", "battleship",
+ "beastiality", "bestiality",
+ "beaurocracy", "bureaucracy",
+ "beautyfully", "beautifully",
+ "behaviorial", "behavioral",
+ "belittleing", "belittling",
+ "belittlling", "belittling",
+ "belligerant", "belligerent",
+ "belligirent", "belligerent",
+ "bellweather", "bellwether",
+ "benefitical", "beneficial",
+ "bestiallity", "bestiality",
+ "beuatifully", "beautifully",
+ "beuraucracy", "bureaucracy",
+ "beuraucrats", "bureaucrats",
+ "billegerent", "belligerent",
+ "billionairs", "billionaires",
+ "billionarie", "billionaire",
+ "billioniare", "billionaire",
+ "biologicaly", "biologically",
+ "birthdayers", "birthdays",
+ "birthdaymas", "birthdays",
+ "bittersweat", "bittersweet",
+ "bitterwseet", "bittersweet",
+ "blackberrry", "blackberry",
+ "blacksmitch", "blacksmith",
+ "bloodboorne", "bloodborne",
+ "bluebarries", "blueberries",
+ "blueburries", "blueberries",
+ "blueprients", "blueprints",
+ "bodybuildig", "bodybuilding",
+ "bodybuildng", "bodybuilding",
+ "bodybuiling", "bodybuilding",
+ "bombardeada", "bombarded",
+ "bombardeado", "bombarded",
+ "bombarderad", "bombarded",
+ "bordelrands", "borderlands",
+ "bordlerands", "borderlands",
+ "bortherhood", "brotherhood",
+ "bourgeousie", "bourgeois",
+ "boycottting", "boycotting",
+ "bracelettes", "bracelets",
+ "brainwahsed", "brainwashed",
+ "brainwasing", "brainwashing",
+ "braziliians", "brazilians",
+ "breakthough", "breakthrough",
+ "breakthrouh", "breakthrough",
+ "breathtakng", "breathtaking",
+ "brianwashed", "brainwashed",
+ "brillaintly", "brilliantly",
+ "broadcasing", "broadcasting",
+ "broadcastes", "broadcasts",
+ "broderlands", "borderlands",
+ "brotherwood", "brotherhood",
+ "buddhistisk", "buddhists",
+ "buearucrats", "bureaucrats",
+ "bueraucracy", "bureaucracy",
+ "bueraucrats", "bureaucrats",
+ "buisnessman", "businessman",
+ "buisnessmen", "businessmen",
+ "bullerproof", "bulletproof",
+ "bulletbroof", "bulletproof",
+ "bulletproff", "bulletproof",
+ "bulletprrof", "bulletproof",
+ "bullitproof", "bulletproof",
+ "bureacuracy", "bureaucracy",
+ "bureaocracy", "bureaucracy",
+ "bureaocrats", "bureaucrats",
+ "bureaucraps", "bureaucrats",
+ "bureaucrash", "bureaucrats",
+ "bureaucrasy", "bureaucrats",
+ "bureaucrazy", "bureaucracy",
+ "bureuacracy", "bureaucracy",
+ "bureuacrats", "bureaucrats",
+ "burueacrats", "bureaucrats",
+ "businessnes", "businessmen",
+ "busniessmen", "businessmen",
+ "butterfiles", "butterflies",
+ "butterfleye", "butterfly",
+ "butterflyes", "butterflies",
+ "butterfries", "butterflies",
+ "butterlfies", "butterflies",
+ "caclulating", "calculating",
+ "caclulation", "calculation",
+ "caclulators", "calculators",
+ "cailbration", "calibration",
+ "calbiration", "calibration",
+ "calcualting", "calculating",
+ "calcualtion", "calculations",
+ "calcualtors", "calculators",
+ "calculaters", "calculators",
+ "calculatios", "calculators",
+ "calculatons", "calculations",
+ "calibartion", "calibration",
+ "calibraiton", "calibration",
+ "califorinan", "californian",
+ "californain", "californian",
+ "californica", "california",
+ "californien", "californian",
+ "californiia", "californian",
+ "californina", "californian",
+ "californnia", "californian",
+ "califronian", "californian",
+ "caluclating", "calculating",
+ "caluclation", "calculation",
+ "caluclators", "calculators",
+ "caluculated", "calculated",
+ "caluiflower", "cauliflower",
+ "camouflague", "camouflage",
+ "camouflauge", "camouflage",
+ "campagining", "campaigning",
+ "campainging", "campaigning",
+ "canadianese", "canadians",
+ "cannabilism", "cannibalism",
+ "cannabolism", "cannibalism",
+ "canniablism", "cannibalism",
+ "cannibalizm", "cannibalism",
+ "cannibaljim", "cannibalism",
+ "cannibalsim", "cannibalism",
+ "cannibilism", "cannibalism",
+ "cannobalism", "cannibalism",
+ "cannotation", "connotation",
+ "capabilites", "capabilities",
+ "capabilitiy", "capability",
+ "capabillity", "capability",
+ "capacitaron", "capacitor",
+ "capacitores", "capacitors",
+ "capatilists", "capitalists",
+ "capatilized", "capitalized",
+ "caperbility", "capability",
+ "capitalisim", "capitalism",
+ "capitilists", "capitalists",
+ "capitilized", "capitalized",
+ "capitolists", "capitalists",
+ "capitolized", "capitalized",
+ "captialists", "capitalists",
+ "captialized", "capitalized",
+ "cariactures", "caricature",
+ "carniverous", "carnivorous",
+ "castatrophe", "catastrophe",
+ "catagorized", "categorized",
+ "catapillars", "caterpillars",
+ "catapillers", "caterpillars",
+ "catasthrope", "catastrophe",
+ "catastraphe", "catastrophe",
+ "catastrohpe", "catastrophe",
+ "catastropic", "catastrophic",
+ "categroized", "categorized",
+ "catepillars", "caterpillars",
+ "catergorize", "categorize",
+ "caterogized", "categorized",
+ "caterpilars", "caterpillars",
+ "caterpiller", "caterpillar",
+ "catholacism", "catholicism",
+ "catholicsim", "catholicism",
+ "catholisicm", "catholicism",
+ "catholisism", "catholicism",
+ "catholizism", "catholicism",
+ "catholocism", "catholicism",
+ "catogerized", "categorized",
+ "catterpilar", "caterpillar",
+ "cauilflower", "cauliflower",
+ "caulfilower", "cauliflower",
+ "celebartion", "celebrations",
+ "celebirties", "celebrities",
+ "celebracion", "celebration",
+ "celebrasion", "celebrations",
+ "celebratons", "celebrations",
+ "centipeddle", "centipede",
+ "cerimonious", "ceremonious",
+ "certaintity", "certainty",
+ "certificaat", "certificate",
+ "certificare", "certificate",
+ "certificato", "certification",
+ "certificats", "certificates",
+ "challanging", "challenging",
+ "challeneged", "challenged",
+ "challeneger", "challenger",
+ "challeneges", "challenges",
+ "chameleooon", "chameleon",
+ "championshp", "championship",
+ "championsip", "championship",
+ "chancellour", "chancellor",
+ "charachters", "characters",
+ "charasmatic", "charismatic",
+ "charimastic", "charismatic",
+ "charsimatic", "charismatic",
+ "cheerleadra", "cheerleader",
+ "cheerleards", "cheerleaders",
+ "cheerleeder", "cheerleader",
+ "cheesebuger", "cheeseburger",
+ "cheeseburgs", "cheeseburgers",
+ "chihuahuita", "chihuahua",
+ "childrenmrs", "childrens",
+ "chloesterol", "cholesterol",
+ "cholesteral", "cholesterol",
+ "cholestoral", "cholesterol",
+ "cholestorol", "cholesterol",
+ "cholosterol", "cholesterol",
+ "chormosomes", "chromosomes",
+ "christianty", "christianity",
+ "chromasomes", "chromosomes",
+ "chromesomes", "chromosomes",
+ "chromisomes", "chromosomes",
+ "chromosones", "chromosomes",
+ "chromossome", "chromosomes",
+ "chromozomes", "chromosomes",
+ "chronicales", "chronicles",
+ "chronichles", "chronicles",
+ "cicrulating", "circulating",
+ "cincinnasti", "cincinnati",
+ "cincinnatti", "cincinnati",
+ "cincinnnati", "cincinnati",
+ "circimcised", "circumcised",
+ "circluating", "circulating",
+ "circualtion", "circulation",
+ "circulacion", "circulation",
+ "circumcison", "circumcision",
+ "circumsiced", "circumcised",
+ "circumsised", "circumcised",
+ "circumstace", "circumstance",
+ "circumvrent", "circumvent",
+ "circuncised", "circumcised",
+ "cirticising", "criticising",
+ "ciruclating", "circulating",
+ "ciruclation", "circulation",
+ "citicenship", "citizenship",
+ "citisenship", "citizenship",
+ "citizinship", "citizenship",
+ "civilizatin", "civilizations",
+ "civilizaton", "civilization",
+ "claculators", "calculators",
+ "classifides", "classified",
+ "cleanilness", "cleanliness",
+ "cleanleness", "cleanliness",
+ "cleanlyness", "cleanliness",
+ "cleansiness", "cleanliness",
+ "cliffbanger", "cliffhanger",
+ "cliffhander", "cliffhanger",
+ "cliffhangar", "cliffhanger",
+ "clifthanger", "cliffhanger",
+ "cockaroches", "cockroaches",
+ "cockraoches", "cockroaches",
+ "cockroackes", "cockroaches",
+ "cocktailers", "cocktails",
+ "coefficeint", "coefficient",
+ "coefficiant", "coefficient",
+ "coincedince", "coincidence",
+ "coincidance", "coincidence",
+ "coincidense", "coincidence",
+ "coincidente", "coincidence",
+ "coincidince", "coincidence",
+ "coinsidence", "coincidence",
+ "collabarate", "collaborate",
+ "collaberate", "collaborate",
+ "collaborant", "collaborate",
+ "collaborare", "collaborate",
+ "collaborato", "collaboration",
+ "collapseing", "collapsing",
+ "collaterial", "collateral",
+ "collectieve", "collective",
+ "collectivly", "collectively",
+ "collectivos", "collections",
+ "collobarate", "collaborate",
+ "colloborate", "collaborate",
+ "colonializm", "colonialism",
+ "colonialsim", "colonialism",
+ "colonianism", "colonialism",
+ "colonizaton", "colonization",
+ "comaprisons", "comparisons",
+ "combiantion", "combinations",
+ "combinacion", "combination",
+ "combinaison", "combinations",
+ "combinaiton", "combinations",
+ "combinatino", "combinations",
+ "combinatins", "combinations",
+ "combinatios", "combinations",
+ "combinining", "combining",
+ "combonation", "combination",
+ "comediantes", "comedians",
+ "comeptition", "competition",
+ "comeptitive", "competitive",
+ "comeptitors", "competitors",
+ "comfertable", "comfortable",
+ "comfertably", "comfortably",
+ "comfortabel", "comfortably",
+ "comfortabil", "comfortably",
+ "comfrotable", "comfortable",
+ "comftorable", "comfortable",
+ "comftorably", "comfortably",
+ "comisioning", "commissioning",
+ "comissioned", "commissioned",
+ "comissioner", "commissioner",
+ "commandered", "commanded",
+ "commandmant", "commandment",
+ "commantator", "commentator",
+ "commendment", "commandment",
+ "commentarea", "commenter",
+ "commentaren", "commenter",
+ "commentater", "commentator",
+ "commenteers", "commenter",
+ "commentries", "commenters",
+ "commercialy", "commercially",
+ "commericals", "commercials",
+ "commericial", "commercial",
+ "comminicate", "communicate",
+ "comminucate", "communicate",
+ "commisioned", "commissioned",
+ "commisioner", "commissioner",
+ "commisssion", "commissions",
+ "committment", "commitment",
+ "commodoties", "commodities",
+ "commomplace", "commonplace",
+ "commonspace", "commonplace",
+ "commonweath", "commonwealth",
+ "commonwelth", "commonwealth",
+ "commuincate", "communicated",
+ "communciate", "communicate",
+ "communicted", "communicated",
+ "communistas", "communists",
+ "communistes", "communists",
+ "compability", "compatibility",
+ "compalation", "compilation",
+ "compansated", "compensated",
+ "comparabile", "comparable",
+ "comparasion", "comparison",
+ "comparasons", "comparisons",
+ "comparement", "compartment",
+ "comparetive", "comparative",
+ "comparision", "comparison",
+ "comparisson", "comparisons",
+ "comparitave", "comparative",
+ "comparitive", "comparative",
+ "comparsions", "comparisons",
+ "compassione", "compassionate",
+ "compasssion", "compassion",
+ "compatabile", "compatible",
+ "compatative", "comparative",
+ "compatiable", "compatible",
+ "compatibile", "compatible",
+ "compatibily", "compatibility",
+ "compeditive", "competitive",
+ "compeditors", "competitors",
+ "compeitions", "competitions",
+ "compeittion", "competitions",
+ "compelation", "compilation",
+ "compensante", "compensate",
+ "compensatie", "compensate",
+ "compensatin", "compensation",
+ "compenstate", "compensate",
+ "comperative", "comparative",
+ "compesition", "composition",
+ "competation", "computation",
+ "competative", "competitive",
+ "competators", "competitors",
+ "competetion", "competition",
+ "competetors", "competitors",
+ "competiters", "competitors",
+ "competiting", "competition",
+ "competitior", "competitor",
+ "competitivo", "competition",
+ "competitoin", "competitions",
+ "competitons", "competitors",
+ "competution", "computation",
+ "compilacion", "compilation",
+ "compilcated", "complicate",
+ "compination", "compilation",
+ "compinsated", "compensated",
+ "compitation", "computation",
+ "compitetion", "competitions",
+ "complacient", "complacent",
+ "complciated", "complicate",
+ "compleation", "compilation",
+ "complecated", "complicated",
+ "completaste", "completes",
+ "completeing", "completing",
+ "completeion", "completion",
+ "completelly", "completely",
+ "completelyl", "completely",
+ "completelys", "completes",
+ "completenes", "completes",
+ "complexitiy", "complexity",
+ "compliacted", "complicate",
+ "compliation", "compilation",
+ "complicarte", "complicate",
+ "complicatie", "complicit",
+ "complicatii", "complicit",
+ "complicatin", "complicit",
+ "complictaed", "complicate",
+ "complimente", "complement",
+ "complimenty", "complimentary",
+ "complusions", "compulsion",
+ "compolation", "compilation",
+ "componenets", "components",
+ "componentes", "components",
+ "composicion", "composition",
+ "composiiton", "compositions",
+ "composision", "compositions",
+ "compositied", "composite",
+ "composities", "composite",
+ "compositoin", "compositions",
+ "compositons", "compositions",
+ "compositore", "composite",
+ "compostiion", "compositions",
+ "compotition", "composition",
+ "compramised", "compromised",
+ "compramises", "compromises",
+ "compremised", "compromised",
+ "compremises", "compromises",
+ "comprension", "compression",
+ "compresores", "compressor",
+ "compresssed", "compressed",
+ "compresssor", "compressor",
+ "comprimised", "compromised",
+ "comprimises", "compromises",
+ "compromessi", "compromises",
+ "compromisng", "compromising",
+ "compromisse", "compromises",
+ "compromisso", "compromises",
+ "compromized", "compromised",
+ "compulstion", "compulsion",
+ "compunation", "computation",
+ "computacion", "computation",
+ "computating", "computation",
+ "computition", "computation",
+ "conceivibly", "conceivably",
+ "concencrate", "concentrate",
+ "concentrace", "concentrate",
+ "concentrade", "concentrated",
+ "concentrait", "concentrate",
+ "concentrant", "concentrate",
+ "concentrare", "concentrate",
+ "concentrato", "concentration",
+ "concertmate", "concentrate",
+ "conceviable", "conceivable",
+ "conceviably", "conceivably",
+ "concidering", "considering",
+ "conciveable", "conceivable",
+ "conciveably", "conceivably",
+ "conclsuions", "concussions",
+ "concludendo", "concluded",
+ "conclussion", "conclusions",
+ "conclussive", "conclusive",
+ "conclutions", "conclusions",
+ "concsiously", "consciously",
+ "conculsions", "conclusions",
+ "concusssion", "concussions",
+ "condeferacy", "confederacy",
+ "condicional", "conditional",
+ "condidtions", "conditions",
+ "conditionar", "conditioner",
+ "conditionel", "conditional",
+ "condolances", "condolences",
+ "condolenses", "condolences",
+ "condolonces", "condolences",
+ "conductiong", "conducting",
+ "condulences", "condolences",
+ "conenctions", "connections",
+ "conescutive", "consecutive",
+ "confedaracy", "confederacy",
+ "confedarate", "confederate",
+ "confederecy", "confederacy",
+ "conferances", "conferences",
+ "conferedate", "confederate",
+ "confererate", "confederate",
+ "confescated", "confiscated",
+ "confesssion", "confessions",
+ "confidantly", "confidently",
+ "configurare", "configure",
+ "configurate", "configure",
+ "configurato", "configuration",
+ "confilcting", "conflicting",
+ "confisgated", "confiscated",
+ "conflciting", "conflicting",
+ "confortable", "comfortable",
+ "confrontato", "confrontation",
+ "confussions", "confessions",
+ "congrassman", "congressman",
+ "congratuate", "congratulate",
+ "conicidence", "coincidence",
+ "conjonction", "conjunction",
+ "conjucntion", "conjunction",
+ "conjuncting", "conjunction",
+ "conlcusions", "conclusions",
+ "connatation", "connotation",
+ "connecitcut", "connecticut",
+ "connecticon", "connection",
+ "connectiong", "connecting",
+ "connectivty", "connectivity",
+ "connetation", "connotation",
+ "connonation", "connotation",
+ "connotacion", "connotation",
+ "conontation", "connotation",
+ "conotations", "connotations",
+ "conquerring", "conquering",
+ "consdidered", "considered",
+ "consectuive", "consecutive",
+ "consecuence", "consequence",
+ "conseguence", "consequence",
+ "conselation", "consolation",
+ "consentrate", "concentrate",
+ "consequenes", "consequence",
+ "consequense", "consequences",
+ "consequente", "consequence",
+ "consequenty", "consequently",
+ "consequtive", "consecutive",
+ "conservanti", "conservation",
+ "conservatie", "conservatives",
+ "conservaton", "conservation",
+ "consficated", "confiscated",
+ "considerabe", "considerate",
+ "considerais", "considers",
+ "considerant", "considerate",
+ "considerato", "consideration",
+ "considerble", "considerable",
+ "considerbly", "considerably",
+ "considereis", "considers",
+ "consilation", "consolation",
+ "consilidate", "consolidate",
+ "consistance", "consistency",
+ "consistenly", "consistently",
+ "consistensy", "consistency",
+ "consistenty", "consistently",
+ "consitution", "constitution",
+ "conslutants", "consultant",
+ "consolacion", "consolation",
+ "consoldiate", "consolidate",
+ "consolidare", "consolidate",
+ "consolodate", "consolidate",
+ "consomation", "consolation",
+ "conspiraces", "conspiracies",
+ "conspiracys", "conspiracies",
+ "conspirancy", "conspiracy",
+ "constantins", "constants",
+ "constantivs", "constants",
+ "constarints", "constraint",
+ "constituant", "constituent",
+ "constituion", "constitution",
+ "constituite", "constitute",
+ "constitutie", "constitutes",
+ "constrating", "constraint",
+ "constriants", "constraints",
+ "construcing", "constructing",
+ "construcion", "construction",
+ "construcive", "constructive",
+ "constructie", "constructive",
+ "constructos", "constructs",
+ "constructur", "constructor",
+ "constructus", "constructs",
+ "constuction", "construction",
+ "consturcted", "constructed",
+ "consuelling", "counselling",
+ "consulation", "consolation",
+ "consultaion", "consultation",
+ "consultanti", "consultation",
+ "consumation", "consumption",
+ "consumbales", "consumables",
+ "consumersim", "consumerism",
+ "consumibles", "consumables",
+ "contagiosum", "contagious",
+ "containered", "contained",
+ "containmemt", "containment",
+ "containters", "containers",
+ "containting", "containing",
+ "contaminato", "contamination",
+ "contaminent", "containment",
+ "contaminted", "contaminated",
+ "contancting", "contracting",
+ "contanimate", "contaminated",
+ "contemplare", "contemplate",
+ "contempoary", "contemporary",
+ "contemporay", "contemporary",
+ "contencious", "contentious",
+ "contenental", "continental",
+ "contengency", "contingency",
+ "contenintal", "continental",
+ "contenplate", "contemplate",
+ "contensious", "contentious",
+ "contentants", "contestants",
+ "contentuous", "contentious",
+ "contestaste", "contestants",
+ "contestents", "contestants",
+ "contianment", "containment",
+ "contientous", "contentious",
+ "contimplate", "contemplate",
+ "continenets", "continents",
+ "continentes", "continents",
+ "continentul", "continental",
+ "contingancy", "contingency",
+ "contingient", "contingent",
+ "contingincy", "contingency",
+ "continously", "continuously",
+ "continuarla", "continual",
+ "continuarlo", "continual",
+ "continuasse", "continues",
+ "continueing", "continuing",
+ "continuemos", "continues",
+ "continueous", "continuous",
+ "continuious", "continuous",
+ "continuning", "continuing",
+ "continunity", "continuity",
+ "continuosly", "continuously",
+ "continuting", "continuing",
+ "continutity", "continuity",
+ "continuuing", "continuing",
+ "continuuity", "continuity",
+ "contirbuted", "contributed",
+ "contiunally", "continually",
+ "contraccion", "contraction",
+ "contraddice", "contradicted",
+ "contradices", "contradicts",
+ "contradtion", "contraction",
+ "contraversy", "controversy",
+ "contreversy", "controversy",
+ "contribuent", "contribute",
+ "contribuito", "contribution",
+ "contributer", "contributor",
+ "contributie", "contribute",
+ "contributin", "contribution",
+ "contributos", "contributors",
+ "contribuyes", "contributes",
+ "contricting", "contracting",
+ "contriction", "contraction",
+ "contridicts", "contradicts",
+ "contriversy", "controversy",
+ "controleurs", "controllers",
+ "controllore", "controllers",
+ "controvercy", "controversy",
+ "controversa", "controversial",
+ "contrubutes", "contributes",
+ "contructing", "contracting",
+ "contruction", "construction",
+ "contructors", "contractors",
+ "conveinence", "convenience",
+ "conveneince", "convenience",
+ "conveniance", "convenience",
+ "conveniente", "convenience",
+ "convenietly", "conveniently",
+ "conventinal", "conventional",
+ "converitble", "convertible",
+ "conversaion", "conversion",
+ "conversatin", "conversations",
+ "converseley", "conversely",
+ "converstion", "conversion",
+ "convertirea", "converter",
+ "convertirle", "convertible",
+ "convertirme", "converter",
+ "convertirte", "converter",
+ "convicitons", "convictions",
+ "convienence", "convenience",
+ "convienient", "convenient",
+ "convinceing", "convincing",
+ "convincente", "convenient",
+ "convincersi", "convinces",
+ "convirtible", "convertible",
+ "cooperacion", "cooperation",
+ "cooperativo", "cooperation",
+ "cooporation", "cooperation",
+ "cooporative", "cooperative",
+ "coordenated", "coordinated",
+ "coordenates", "coordinates",
+ "coordianted", "coordinated",
+ "coordiantes", "coordinates",
+ "coordiantor", "coordinator",
+ "coordinador", "coordinator",
+ "coordinants", "coordinates",
+ "coordinater", "coordinator",
+ "coordinaton", "coordination",
+ "coordonated", "coordinated",
+ "coordonates", "coordinates",
+ "coordonator", "coordinator",
+ "cooridnated", "coordinated",
+ "cooridnates", "coordinates",
+ "cooridnator", "coordinator",
+ "copenhaagen", "copenhagen",
+ "copenhaegen", "copenhagen",
+ "copenhaguen", "copenhagen",
+ "copenhangen", "copenhagen",
+ "copmetitors", "competitors",
+ "coproration", "corporation",
+ "copyrigthed", "copyrighted",
+ "corinthains", "corinthians",
+ "corintheans", "corinthians",
+ "corinthiens", "corinthians",
+ "corinthinas", "corinthians",
+ "cornithians", "corinthians",
+ "corparation", "corporation",
+ "corperation", "corporation",
+ "corporacion", "corporation",
+ "corporativo", "corporation",
+ "corralation", "correlation",
+ "correctings", "corrections",
+ "correctivos", "corrections",
+ "correktions", "corrections",
+ "correktness", "correctness",
+ "correlacion", "correlation",
+ "correlaties", "correlates",
+ "corrilation", "correlation",
+ "corrisponds", "corresponds",
+ "corrolation", "correlation",
+ "corrosponds", "corresponds",
+ "costitution", "constitution",
+ "councellors", "councillors",
+ "counrtyside", "countryside",
+ "counsilling", "counselling",
+ "countercoat", "counteract",
+ "counteredit", "counterfeit",
+ "counterfact", "counteract",
+ "counterfait", "counterfeit",
+ "counterfest", "counterfeit",
+ "counterfiet", "counterfeit",
+ "counterpaly", "counterplay",
+ "counterpary", "counterplay",
+ "counterpath", "counterpart",
+ "counterpats", "counterparts",
+ "counterpont", "counterpoint",
+ "counterract", "counterpart",
+ "counterside", "countryside",
+ "countertrap", "counterpart",
+ "countriside", "countryside",
+ "countrycide", "countryside",
+ "countrywise", "countryside",
+ "courthourse", "courthouse",
+ "coutnerfeit", "counterfeit",
+ "coutnerpart", "counterpart",
+ "coutnerplay", "counterplay",
+ "creacionism", "creationism",
+ "creationkit", "creationist",
+ "creationsim", "creationism",
+ "creationsit", "creationist",
+ "creationsts", "creationists",
+ "creativelly", "creatively",
+ "credencials", "credentials",
+ "credentails", "credentials",
+ "credentaisl", "credentials",
+ "credientals", "credentials",
+ "credintials", "credentials",
+ "cricitising", "criticising",
+ "criculating", "circulating",
+ "cringeworhy", "cringeworthy",
+ "cringeworty", "cringeworthy",
+ "cringewothy", "cringeworthy",
+ "criticicing", "criticising",
+ "criticisied", "criticise",
+ "criticisims", "criticisms",
+ "criticisize", "criticise",
+ "criticiszed", "criticise",
+ "critisicing", "criticizing",
+ "critisising", "criticising",
+ "critizicing", "criticizing",
+ "critizising", "criticizing",
+ "critizizing", "criticizing",
+ "crockodiles", "crocodiles",
+ "crocodiller", "crocodile",
+ "crocodilule", "crocodile",
+ "croporation", "corporation",
+ "crossfiters", "crossfire",
+ "cultivative", "cultivate",
+ "curricullum", "curriculum",
+ "customizabe", "customizable",
+ "customizble", "customizable",
+ "dangeroulsy", "dangerously",
+ "dardenelles", "dardanelles",
+ "deadlifters", "deadlifts",
+ "dealershits", "dealerships",
+ "deceptivley", "deceptive",
+ "declaracion", "declaration",
+ "decleration", "declaration",
+ "declinining", "declining",
+ "decloration", "declaration",
+ "decoartions", "decoration",
+ "decomposits", "decomposes",
+ "decoratieve", "decorative",
+ "decorativos", "decorations",
+ "decotations", "decorations",
+ "decsendants", "descendants",
+ "deductiable", "deductible",
+ "defenderlas", "defenders",
+ "defenderlos", "defenders",
+ "defendernos", "defenders",
+ "defenesless", "defenseless",
+ "defenisvely", "defensively",
+ "defensivley", "defensively",
+ "deficiencey", "deficiency",
+ "deficienies", "deficiencies",
+ "deficientcy", "deficiency",
+ "definantley", "definately",
+ "definatedly", "definately",
+ "definateley", "definately",
+ "definatelly", "definately",
+ "definatelty", "definately",
+ "definatetly", "definately",
+ "definations", "definitions",
+ "definatlely", "definately",
+ "definetally", "definately",
+ "definetlely", "definetly",
+ "definitaley", "definately",
+ "definitelly", "definitely",
+ "definitevly", "definitively",
+ "definitiely", "definitively",
+ "definitieve", "definitive",
+ "definitiley", "definitively",
+ "definitivly", "definitively",
+ "definitivno", "definition",
+ "definitivos", "definitions",
+ "definitlely", "definitly",
+ "definitlety", "definitly",
+ "deflecticon", "deflection",
+ "degenererat", "degenerate",
+ "degradacion", "degradation",
+ "degradating", "degradation",
+ "degragation", "degradation",
+ "degridation", "degradation",
+ "dehyrdation", "dehydration",
+ "deinitalize", "deinitialize",
+ "delaerships", "dealerships",
+ "delapidated", "dilapidated",
+ "delcaration", "declaration",
+ "delearships", "dealerships",
+ "delevopment", "development",
+ "deliberante", "deliberate",
+ "deliberatly", "deliberately",
+ "deliberetly", "deliberately",
+ "delightlful", "delightful",
+ "deliverying", "delivering",
+ "delusionnal", "delusional",
+ "deminsional", "dimensional",
+ "democarcies", "democracies",
+ "democracize", "democracies",
+ "democractic", "democratic",
+ "democraphic", "demographic",
+ "democrasies", "democracies",
+ "democrazies", "democracies",
+ "democrocies", "democracies",
+ "demograhpic", "demographic",
+ "demographis", "demographics",
+ "demograpics", "demographics",
+ "demogrpahic", "demographic",
+ "demoninator", "denominator",
+ "demonstarte", "demonstrate",
+ "demonstates", "demonstrates",
+ "demonstraby", "demonstrably",
+ "demonstrant", "demonstrate",
+ "demonstrats", "demonstrates",
+ "demosntrate", "demonstrate",
+ "denegrating", "denigrating",
+ "denomenator", "denominator",
+ "denominador", "denominator",
+ "denominaron", "denominator",
+ "denominater", "denominator",
+ "denominaton", "denomination",
+ "denomitator", "denominator",
+ "denomonator", "denominator",
+ "denonimator", "denominator",
+ "deocrations", "decorations",
+ "deomcracies", "democracies",
+ "deparmental", "departmental",
+ "depedencies", "dependencies",
+ "dependancey", "dependency",
+ "dependencey", "dependency",
+ "dependencie", "dependence",
+ "dependenies", "dependencies",
+ "deplorabile", "deplorable",
+ "depressieve", "depressive",
+ "depresssion", "depression",
+ "deprevation", "deprivation",
+ "deprication", "deprivation",
+ "deprivating", "deprivation",
+ "deprivition", "deprivation",
+ "deprovation", "deprivation",
+ "depserately", "desperately",
+ "depseration", "desperation",
+ "deregulatin", "deregulation",
+ "derivativos", "derivatives",
+ "derivitaves", "derivatives",
+ "derivitives", "derivatives",
+ "derpivation", "deprivation",
+ "derviatives", "derivatives",
+ "descandants", "descendants",
+ "descendands", "descendants",
+ "descendends", "descended",
+ "descendenta", "descendants",
+ "descentants", "descendants",
+ "descirption", "descriptions",
+ "descprition", "descriptions",
+ "describiste", "describes",
+ "describtion", "description",
+ "descripcion", "description",
+ "descripiton", "descriptions",
+ "descripters", "descriptors",
+ "descriptoin", "descriptions",
+ "descriptons", "descriptions",
+ "descritpion", "descriptions",
+ "descrpition", "descriptions",
+ "desensitied", "desensitized",
+ "desensitzed", "desensitized",
+ "desentisize", "desensitized",
+ "desgination", "designation",
+ "designacion", "designation",
+ "designstion", "designation",
+ "desinations", "destinations",
+ "desingation", "designation",
+ "desitnation", "destination",
+ "desoriented", "disoriented",
+ "desparately", "desperately",
+ "desparation", "desperation",
+ "desperating", "desperation",
+ "desperatley", "desperately",
+ "despirately", "desperately",
+ "despiration", "desperation",
+ "destablized", "destabilized",
+ "destiantion", "destinations",
+ "destinaiton", "destinations",
+ "destinatons", "destinations",
+ "destinction", "destination",
+ "destraction", "destruction",
+ "destruccion", "destruction",
+ "destruciton", "destruction",
+ "destructivo", "destruction",
+ "destruktion", "destruction",
+ "destruktive", "destructive",
+ "deteoriated", "deteriorated",
+ "determanism", "determinism",
+ "determening", "determining",
+ "determenism", "determinism",
+ "determinare", "determine",
+ "determinato", "determination",
+ "determinded", "determine",
+ "determinsim", "determinism",
+ "detramental", "detrimental",
+ "detremental", "detrimental",
+ "detrimentul", "detrimental",
+ "detuschland", "deutschland",
+ "deustchland", "deutschland",
+ "deutchsland", "deutschland",
+ "deutcshland", "deutschland",
+ "deutschalnd", "deutschland",
+ "deutshcland", "deutschland",
+ "develepmont", "developments",
+ "develompent", "developments",
+ "developemnt", "developments",
+ "developmant", "developmental",
+ "developmetn", "developments",
+ "developmnet", "developments",
+ "developpers", "developers",
+ "develpoment", "developments",
+ "deveolpment", "developments",
+ "deveploment", "developments",
+ "devestating", "devastating",
+ "devistating", "devastating",
+ "deyhdration", "dehydration",
+ "diagnositcs", "diagnostic",
+ "diagnositic", "diagnostic",
+ "diagonstics", "diagnostic",
+ "dictatorhip", "dictatorship",
+ "dictionaire", "dictionaries",
+ "dictionairy", "dictionary",
+ "dictionarys", "dictionaries",
+ "dictionnary", "dictionary",
+ "differances", "differences",
+ "differantly", "differently",
+ "differental", "differential",
+ "differentes", "differences",
+ "differneces", "differences",
+ "differnetly", "differently",
+ "difficulity", "difficulty",
+ "difficultes", "difficulties",
+ "dificulties", "difficulties",
+ "dimensiones", "dimensions",
+ "dimentional", "dimensional",
+ "dimesnional", "dimensional",
+ "diminisheds", "diminishes",
+ "diminsihing", "diminishing",
+ "diminuitive", "diminutive",
+ "diminushing", "diminishing",
+ "dinosaurios", "dinosaurs",
+ "direccional", "directional",
+ "direcitonal", "directional",
+ "directorguy", "directory",
+ "directorios", "directors",
+ "direktional", "directional",
+ "disadvantge", "disadvantage",
+ "disagreemet", "disagreements",
+ "disagreemtn", "disagreements",
+ "disapperead", "disappeared",
+ "disapporval", "disapproval",
+ "disapprovel", "disapproval",
+ "disasterous", "disastrous",
+ "disastreous", "disastrous",
+ "disastrious", "disastrous",
+ "disastruous", "disastrous",
+ "disatisfied", "dissatisfied",
+ "disciplened", "disciplined",
+ "disciplinas", "disciplines",
+ "disciplince", "disciplines",
+ "disclipined", "disciplined",
+ "disclipines", "disciplines",
+ "discogrophy", "discography",
+ "discogrpahy", "discography",
+ "disconencts", "disconnects",
+ "disconneted", "disconnected",
+ "disconnnect", "disconnect",
+ "discontined", "discontinued",
+ "discontiued", "discontinued",
+ "discrapency", "discrepancy",
+ "discretited", "discredited",
+ "discrimante", "discriminate",
+ "discrimiate", "discriminate",
+ "discussiong", "discussing",
+ "discusssion", "discussions",
+ "disgraseful", "disgraceful",
+ "disgrateful", "disgraceful",
+ "disgrunteld", "disgruntled",
+ "disgustigly", "disgustingly",
+ "disgustingy", "disgustingly",
+ "disgustinly", "disgustingly",
+ "disicplined", "disciplined",
+ "disicplines", "disciplines",
+ "disingenuos", "disingenuous",
+ "dismanlting", "dismantling",
+ "dismantaled", "dismantled",
+ "dismanteled", "dismantled",
+ "disobediant", "disobedient",
+ "disocgraphy", "discography",
+ "disparingly", "disparagingly",
+ "dispensaire", "dispensaries",
+ "dispensarie", "dispenser",
+ "dispensiary", "dispensary",
+ "displacemnt", "displacement",
+ "disposicion", "disposition",
+ "disputandem", "disputandum",
+ "disqualifed", "disqualified",
+ "disregaring", "disregarding",
+ "dissapeared", "disappeared",
+ "dissapoined", "dissapointed",
+ "dissapointd", "dissapointed",
+ "dissapoited", "dissapointed",
+ "dissappears", "disappears",
+ "dissatisfed", "dissatisfied",
+ "disscusions", "discussions",
+ "dissertaion", "dissertation",
+ "dissipatore", "dissipate",
+ "distatesful", "distasteful",
+ "distatseful", "distasteful",
+ "disterbance", "disturbance",
+ "disticntion", "distinctions",
+ "distinciton", "distinction",
+ "distincitve", "distinctive",
+ "distinctily", "distinctly",
+ "distingiush", "distinguish",
+ "distinguise", "distinguished",
+ "distinktion", "distinction",
+ "distinquish", "distinguish",
+ "distirbance", "disturbance",
+ "distirbuted", "distribute",
+ "distirbutor", "distributor",
+ "distraccion", "distraction",
+ "distractons", "distracts",
+ "distraktion", "distraction",
+ "distribitor", "distributor",
+ "distribuent", "distribute",
+ "distribuite", "distribute",
+ "distribuito", "distribution",
+ "distributie", "distributed",
+ "distributin", "distribution",
+ "distributio", "distributor",
+ "distrobuted", "distributed",
+ "distrubance", "disturbance",
+ "distrubited", "distributed",
+ "distrubitor", "distributor",
+ "distrubuted", "distributed",
+ "distrubutor", "distributor",
+ "distructive", "destructive",
+ "distuingish", "distinguish",
+ "distunguish", "distinguish",
+ "disturbante", "disturbance",
+ "disturbence", "disturbance",
+ "disucssions", "discussions",
+ "divisionals", "divisions",
+ "doccumented", "documented",
+ "documantary", "documentary",
+ "documenatry", "documentary",
+ "documentare", "documentaries",
+ "documentato", "documentation",
+ "documentery", "documentary",
+ "documentory", "documentary",
+ "domesticted", "domesticated",
+ "dominateurs", "dominates",
+ "dominationg", "dominating",
+ "donwloading", "downloading",
+ "doublellift", "doublelift",
+ "downlaoding", "downloading",
+ "downloadbel", "downloadable",
+ "downloadbig", "downloading",
+ "downloadble", "downloadable",
+ "downvoteers", "downvoters",
+ "downvoteing", "downvoting",
+ "downvoteres", "downvoters",
+ "downvoteros", "downvoters",
+ "downvoteurs", "downvoters",
+ "downvotters", "downvoters",
+ "downvotting", "downvoting",
+ "dramaticaly", "dramatically",
+ "dramaticlly", "dramatically",
+ "drasitcally", "drastically",
+ "dsyfunction", "dysfunction",
+ "duetschland", "deutschland",
+ "durabillity", "durability",
+ "dyanmically", "dynamically",
+ "dymanically", "dynamically",
+ "dysfonction", "dysfunction",
+ "dysfucntion", "dysfunction",
+ "dysfunciton", "dysfunction",
+ "dysfunktion", "dysfunction",
+ "earhtquakes", "earthquakes",
+ "earthqaukes", "earthquakes",
+ "earthquacks", "earthquakes",
+ "economicaly", "economically",
+ "economiclly", "economically",
+ "economisiti", "economist",
+ "economistes", "economists",
+ "educacional", "educational",
+ "effeciently", "efficiently",
+ "effecitvely", "effectively",
+ "effectivley", "effectively",
+ "efficeintly", "efficiently",
+ "efficiantly", "efficiently",
+ "efficientcy", "efficiently",
+ "effortlesly", "effortlessly",
+ "effortlessy", "effortlessly",
+ "egaletarian", "egalitarian",
+ "egalitatian", "egalitarian",
+ "egaliterian", "egalitarian",
+ "egostitical", "egotistical",
+ "egotastical", "egotistical",
+ "egotestical", "egotistical",
+ "egotisitcal", "egotistical",
+ "egotisticle", "egotistical",
+ "egotystical", "egotistical",
+ "ehtnicities", "ethnicities",
+ "ejacluation", "ejaculation",
+ "ejacualtion", "ejaculation",
+ "electoratul", "electoral",
+ "electornics", "electronics",
+ "electricain", "electrician",
+ "electricial", "electrical",
+ "electricien", "electrician",
+ "electricion", "electrician",
+ "electricman", "electrician",
+ "electrisity", "electricity",
+ "electritian", "electrician",
+ "electrocity", "electricity",
+ "electrolyes", "electrolytes",
+ "electrolyts", "electrolytes",
+ "electroncis", "electrons",
+ "electroylte", "electrolytes",
+ "elementrary", "elementary",
+ "eleminating", "eliminating",
+ "elimanation", "elimination",
+ "eliminacion", "elimination",
+ "elimintates", "eliminates",
+ "ellipitcals", "elliptical",
+ "eloquentely", "eloquently",
+ "emabrassing", "embarassing",
+ "embaraasing", "embarassing",
+ "embarasaing", "embarassing",
+ "embarassign", "embarassing",
+ "embarassimg", "embarassing",
+ "embarassing", "embarrassing",
+ "embarissing", "embarassing",
+ "embarrasing", "embarrassing",
+ "embarressed", "embarrassed",
+ "embarrssing", "embarassing",
+ "emergancies", "emergencies",
+ "emergencias", "emergencies",
+ "emergenices", "emergencies",
+ "emmediately", "immediately",
+ "emmisarries", "emissaries",
+ "emotionella", "emotionally",
+ "empahsizing", "emphasizing",
+ "empathethic", "empathetic",
+ "emphacizing", "emphasizing",
+ "emphatising", "emphasizing",
+ "emphatizing", "emphasizing",
+ "emphazising", "emphasizing",
+ "emphesizing", "emphasizing",
+ "empiracally", "empirically",
+ "empirialism", "imperialism",
+ "empirialist", "imperialist",
+ "enchamtment", "enchantment",
+ "enchancment", "enchantment",
+ "enchanement", "enchantment",
+ "enchanthing", "enchanting",
+ "enchantmant", "enchantment",
+ "enchantmens", "enchantments",
+ "enchantmets", "enchantments",
+ "encomapsses", "encompasses",
+ "encompasess", "encompasses",
+ "encompesses", "encompasses",
+ "encounteres", "encounters",
+ "encoutnered", "encountered",
+ "encryptiion", "encryption",
+ "encyclopdia", "encyclopedia",
+ "encylopedia", "encyclopedia",
+ "endagnering", "endangering",
+ "endandering", "endangering",
+ "endorcement", "endorsement",
+ "endoresment", "endorsement",
+ "engagaments", "engagements",
+ "engeneering", "engineering",
+ "enginerring", "engineering",
+ "enginnering", "engineering",
+ "enlargments", "enlargements",
+ "enligthened", "enlightened",
+ "enourmously", "enormously",
+ "enterpirses", "enterprises",
+ "enterprices", "enterprises",
+ "enterprishe", "enterprises",
+ "entertainig", "entertaining",
+ "entertwined", "entertained",
+ "enthicities", "ethnicities",
+ "enthisiasts", "enthusiasts",
+ "enthuasists", "enthusiasts",
+ "enthuisasts", "enthusiasts",
+ "enthusaists", "enthusiasts",
+ "enthusiants", "enthusiast",
+ "enthusiasic", "enthusiastic",
+ "enthusiasim", "enthusiasm",
+ "enthusiasum", "enthusiasm",
+ "enthusiatic", "enthusiastic",
+ "enthusiests", "enthusiasts",
+ "enthusigasm", "enthusiasm",
+ "enthusisast", "enthusiasts",
+ "entrepeneur", "entrepreneur",
+ "entreperure", "entrepreneur",
+ "entrepeuner", "entrepreneur",
+ "entreprener", "entrepreneurs",
+ "entreprenur", "entrepreneur",
+ "entretained", "entertained",
+ "envinroment", "environments",
+ "enviorments", "environments",
+ "enviornment", "environment",
+ "envirnoment", "environment",
+ "enviroments", "environments",
+ "enviromnent", "environments",
+ "environemnt", "environment",
+ "environmnet", "environments",
+ "envrionment", "environment",
+ "equilavents", "equivalents",
+ "equilbirium", "equilibrium",
+ "equilevants", "equivalents",
+ "equilibirum", "equilibrium",
+ "equilibriam", "equilibrium",
+ "equilibruim", "equilibrium",
+ "equivalance", "equivalence",
+ "equivalants", "equivalents",
+ "equivalenet", "equivalents",
+ "equivallent", "equivalent",
+ "equivelance", "equivalence",
+ "equivelants", "equivalents",
+ "equivelents", "equivalents",
+ "equivilants", "equivalents",
+ "equivilence", "equivalence",
+ "equivilents", "equivalents",
+ "equivlalent", "equivalent",
+ "equivlanets", "equivalents",
+ "equivolence", "equivalence",
+ "equivolents", "equivalents",
+ "essencially", "essentially",
+ "essentailly", "essentially",
+ "essentialls", "essentials",
+ "essentually", "essentially",
+ "establising", "establishing",
+ "ethicallity", "ethically",
+ "ethincities", "ethnicities",
+ "ethniticies", "ethnicities",
+ "europeaners", "europeans",
+ "europeaness", "europeans",
+ "evaluatiing", "evaluating",
+ "evaluationg", "evaluating",
+ "evangalical", "evangelical",
+ "evangelikal", "evangelical",
+ "evengalical", "evangelical",
+ "evenhtually", "eventually",
+ "everyonehas", "everyones",
+ "everyonelse", "everyones",
+ "evidentally", "evidently",
+ "exacarbated", "exacerbated",
+ "exacberated", "exacerbated",
+ "exagerating", "exaggerating",
+ "exagerrated", "exaggerated",
+ "exagerrates", "exaggerates",
+ "exaggarated", "exaggerated",
+ "exaggareted", "exaggerate",
+ "exaggeratin", "exaggeration",
+ "exaggerrate", "exaggerate",
+ "exaggurated", "exaggerated",
+ "exarcebated", "exacerbated",
+ "excalmation", "exclamation",
+ "excepcional", "exceptional",
+ "exceptionel", "exceptional",
+ "excessivley", "excessively",
+ "exceutioner", "executioner",
+ "exchanching", "exchanging",
+ "exclamacion", "exclamation",
+ "exclamating", "exclamation",
+ "exclamativo", "exclamation",
+ "exclemation", "exclamation",
+ "exclimation", "exclamation",
+ "exclucivity", "exclusivity",
+ "exclusivety", "exclusivity",
+ "exclusivily", "exclusivity",
+ "exclusivley", "exclusively",
+ "excpetional", "exceptional",
+ "exculsively", "exclusively",
+ "exculsivity", "exclusivity",
+ "execitioner", "executioner",
+ "execptional", "exceptional",
+ "exectuables", "executable",
+ "exectuioner", "executioner",
+ "executionar", "executioner",
+ "executionor", "executioner",
+ "exerciseing", "exercising",
+ "exeuctioner", "executioner",
+ "existantial", "existential",
+ "existencial", "existential",
+ "existensial", "existential",
+ "existentiel", "existential",
+ "exlcamation", "exclamation",
+ "exlcusively", "exclusively",
+ "exlcusivity", "exclusivity",
+ "exoskelaton", "exoskeleton",
+ "expansiones", "expansions",
+ "expectantcy", "expectancy",
+ "expectating", "expectation",
+ "expectional", "exceptional",
+ "expendature", "expenditure",
+ "expendeture", "expenditure",
+ "expentiture", "expenditure",
+ "expereinced", "experienced",
+ "expereinces", "experiences",
+ "experements", "experiments",
+ "experianced", "experienced",
+ "experiances", "experiences",
+ "experiemnts", "experiments",
+ "experiening", "experiencing",
+ "experimetal", "experimental",
+ "experimeted", "experimented",
+ "experssions", "expressions",
+ "expiditions", "expeditions",
+ "expierenced", "experienced",
+ "expierences", "experiences",
+ "expirements", "experiments",
+ "explainging", "explaining",
+ "explaintory", "explanatory",
+ "explanaiton", "explanations",
+ "explanetary", "explanatory",
+ "explanetory", "explanatory",
+ "explanitary", "explanatory",
+ "explanotory", "explanatory",
+ "explenation", "explanation",
+ "explenatory", "explanatory",
+ "explicitely", "explicitly",
+ "explicitily", "explicitly",
+ "explination", "explanation",
+ "explinatory", "explanatory",
+ "exploitaion", "exploitation",
+ "exploitatie", "exploitative",
+ "explonation", "exploration",
+ "exploracion", "exploration",
+ "explorating", "exploration",
+ "explorerers", "explorers",
+ "explosiones", "explosions",
+ "explotacion", "exploration",
+ "expodential", "exponential",
+ "exponantial", "exponential",
+ "exponencial", "exponential",
+ "exponentiel", "exponential",
+ "expresscoin", "expression",
+ "expressivos", "expressions",
+ "expresssive", "expressive",
+ "expressview", "expressive",
+ "exprimental", "experimental",
+ "expropiated", "expropriated",
+ "extensiones", "extensions",
+ "extensivley", "extensively",
+ "extragavant", "extravagant",
+ "extrapalate", "extrapolate",
+ "extraploate", "extrapolate",
+ "extrapolant", "extrapolate",
+ "extrapolare", "extrapolate",
+ "extrapolite", "extrapolate",
+ "extrapulate", "extrapolate",
+ "extravagent", "extravagant",
+ "extravagina", "extravagant",
+ "extravegant", "extravagant",
+ "extravigant", "extravagant",
+ "extravogant", "extravagant",
+ "extremistas", "extremists",
+ "extremistes", "extremists",
+ "extropolate", "extrapolate",
+ "fabircation", "fabrication",
+ "fabricacion", "fabrication",
+ "fabrikation", "fabrication",
+ "facilitarte", "facilitate",
+ "facilitiate", "facilitate",
+ "facillitate", "facilitate",
+ "facisnation", "fascination",
+ "facsination", "fascination",
+ "factuallity", "factually",
+ "familairity", "familiarity",
+ "familairize", "familiarize",
+ "familiaries", "familiarize",
+ "familierize", "familiarize",
+ "fanatsizing", "fantasizing",
+ "fanficitons", "fanfiction",
+ "fantacising", "fantasizing",
+ "fantacizing", "fantasizing",
+ "fantasazing", "fantasizing",
+ "fantasiaing", "fantasizing",
+ "fantasyzing", "fantasizing",
+ "fantazising", "fantasizing",
+ "fascinacion", "fascination",
+ "fascinatinf", "fascination",
+ "fascisation", "fascination",
+ "fascization", "fascination",
+ "fashionalbe", "fashionable",
+ "fashoinable", "fashionable",
+ "fatalitites", "fatalities",
+ "favoritisme", "favorites",
+ "favoutrable", "favourable",
+ "felxibility", "flexibility",
+ "feministers", "feminists",
+ "feministisk", "feminists",
+ "fermentaion", "fermentation",
+ "fermenterad", "fermented",
+ "fertilizier", "fertilizer",
+ "fertizilers", "fertilizer",
+ "festivalens", "festivals",
+ "fignernails", "fingernails",
+ "fignerprint", "fingerprint",
+ "figurativly", "figuratively",
+ "finanically", "financially",
+ "finantially", "financially",
+ "fingerpints", "fingertips",
+ "fingerpoint", "fingerprint",
+ "fingertrips", "fingertips",
+ "firefighers", "firefighters",
+ "firefigther", "firefighters",
+ "firendzoned", "friendzoned",
+ "firghtening", "frightening",
+ "flatterende", "flattered",
+ "flawlessely", "flawlessly",
+ "flawlessley", "flawlessly",
+ "flexibiltiy", "flexibility",
+ "flourescent", "fluorescent",
+ "fluctuaties", "fluctuate",
+ "fluctuative", "fluctuate",
+ "flutteryshy", "fluttershy",
+ "forcefullly", "forcefully",
+ "foreseaable", "foreseeable",
+ "foresseable", "foreseeable",
+ "forgettting", "forgetting",
+ "forgiviness", "forgiveness",
+ "formallized", "formalized",
+ "formattting", "formatting",
+ "formidabble", "formidable",
+ "formidabelt", "formidable",
+ "formidabile", "formidable",
+ "fortitudine", "fortitude",
+ "fortuantely", "fortunately",
+ "fortunantly", "fortunately",
+ "fortunatley", "fortunately",
+ "fortunetely", "fortunately",
+ "franchieses", "franchises",
+ "frankensite", "frankenstein",
+ "frankensten", "frankenstein",
+ "fransiscans", "franciscans",
+ "freindships", "friendships",
+ "freindzoned", "friendzoned",
+ "frequenices", "frequencies",
+ "frequensies", "frequencies",
+ "frequenties", "frequencies",
+ "frequentily", "frequently",
+ "frequenzies", "frequencies",
+ "friendboned", "friendzoned",
+ "friendlines", "friendlies",
+ "friendzonie", "friendzoned",
+ "frientships", "friendships",
+ "frientzoned", "friendzoned",
+ "frightenend", "frightened",
+ "frightining", "frightening",
+ "frigthening", "frightening",
+ "frinedzoned", "friendzoned",
+ "frontlinies", "frontline",
+ "frontlinjen", "frontline",
+ "frustartion", "frustrations",
+ "frustracion", "frustration",
+ "frustraited", "frustrated",
+ "frustrantes", "frustrates",
+ "frustrasion", "frustrations",
+ "frustrasted", "frustrates",
+ "frustraties", "frustrates",
+ "fucntioning", "functioning",
+ "fulfillling", "fulfilling",
+ "fulfullment", "fulfillment",
+ "fullfilment", "fulfillment",
+ "fullscreeen", "fullscreen",
+ "funcitoning", "functioning",
+ "functionaly", "functionally",
+ "functionnal", "functional",
+ "fundamentas", "fundamentals",
+ "fundamently", "fundamental",
+ "fundametals", "fundamentals",
+ "fundamnetal", "fundamentals",
+ "fundemantal", "fundamental",
+ "fundemental", "fundamental",
+ "fundimental", "fundamental",
+ "furhtermore", "furthermore",
+ "furstration", "frustration",
+ "furthremore", "furthermore",
+ "furthurmore", "furthermore",
+ "futurisitic", "futuristic",
+ "gangsterest", "gangsters",
+ "gangsterous", "gangsters",
+ "gauntlettes", "gauntlets",
+ "geneologies", "genealogies",
+ "generalizng", "generalizing",
+ "generatting", "generating",
+ "genitaliban", "genitalia",
+ "gentlemanne", "gentlemen",
+ "girlfirends", "girlfriends",
+ "girlfreinds", "girlfriends",
+ "girlfrients", "girlfriends",
+ "glorifierad", "glorified",
+ "glorifindel", "glorified",
+ "goosebumbps", "goosebumps",
+ "govenrments", "governments",
+ "govermental", "governmental",
+ "governemnts", "governments",
+ "governmanet", "governmental",
+ "governmeant", "governmental",
+ "govormental", "governmental",
+ "gracefullly", "gracefully",
+ "grahpically", "graphically",
+ "grammarical", "grammatical",
+ "grammaticly", "grammatical",
+ "grammitical", "grammatical",
+ "graphcially", "graphically",
+ "grassrooots", "grassroots",
+ "gratuitious", "gratuitous",
+ "gratuituous", "gratuitous",
+ "gravitatiei", "gravitate",
+ "grilfriends", "girlfriends",
+ "grpahically", "graphically",
+ "guaranteeds", "guarantees",
+ "guerrillera", "guerrilla",
+ "gunslingner", "gunslinger",
+ "hamburgaren", "hamburger",
+ "hamburgeres", "hamburgers",
+ "hamburglers", "hamburgers",
+ "hamburguers", "hamburgers",
+ "handlebards", "handlebars",
+ "handrwiting", "handwriting",
+ "handycapped", "handicapped",
+ "hanidcapped", "handicapped",
+ "harassement", "harassment",
+ "harrasments", "harassments",
+ "harrassment", "harassment",
+ "harvestgain", "harvesting",
+ "headquartes", "headquarters",
+ "headquaters", "headquarters",
+ "hearhtstone", "hearthstone",
+ "heartborken", "heartbroken",
+ "heartbraker", "heartbreak",
+ "heartbrakes", "heartbreak",
+ "heartsthone", "hearthstone",
+ "heaviweight", "heavyweight",
+ "heavyweigth", "heavyweight",
+ "heavywieght", "heavyweight",
+ "helicoptors", "helicopters",
+ "helicotpers", "helicopters",
+ "helicpoters", "helicopters",
+ "helictopers", "helicopters",
+ "helikopters", "helicopters",
+ "hemipsheres", "hemisphere",
+ "hemishperes", "hemisphere",
+ "herathstone", "hearthstone",
+ "heterosexal", "heterosexual",
+ "hexidecimal", "hexadecimal",
+ "hierachical", "hierarchical",
+ "hierarcical", "hierarchical",
+ "highlighing", "highlighting",
+ "highschoool", "highschool",
+ "hipopotamus", "hippopotamus",
+ "historicaly", "historically",
+ "historicans", "historians",
+ "historietas", "histories",
+ "historinhas", "historians",
+ "homecomeing", "homecoming",
+ "homecomming", "homecoming",
+ "homelesness", "homelessness",
+ "homelessess", "homelessness",
+ "homeowneris", "homeowners",
+ "homoegenous", "homogeneous",
+ "homogeneize", "homogenize",
+ "homogenious", "homogeneous",
+ "homogenuous", "homogeneous",
+ "homophoboes", "homophobe",
+ "homosexuais", "homosexuals",
+ "homosexuels", "homosexuals",
+ "hopelessely", "hopelessly",
+ "hopelessley", "hopelessly",
+ "hopsitality", "hospitality",
+ "horizonatal", "horizontal",
+ "horizontaal", "horizontal",
+ "horizontaly", "horizontally",
+ "horrendeous", "horrendous",
+ "horrendious", "horrendous",
+ "horrenduous", "horrendous",
+ "hospitalzed", "hospitalized",
+ "hospotality", "hospitality",
+ "househoulds", "households",
+ "humanitarna", "humanitarian",
+ "humanitites", "humanities",
+ "humilitaing", "humiliating",
+ "humilitaion", "humiliation",
+ "humillating", "humiliating",
+ "humillation", "humiliation",
+ "hurricaines", "hurricanes",
+ "hurricances", "hurricanes",
+ "hurricanger", "hurricane",
+ "hyperbollic", "hyperbolic",
+ "hyperbrophy", "hypertrophy",
+ "hyperthropy", "hypertrophy",
+ "hypertorphy", "hypertrophy",
+ "hypertrohpy", "hypertrophy",
+ "hypocritcal", "hypocritical",
+ "hypocritial", "hypocritical",
+ "hypocrities", "hypocrite",
+ "hypothesees", "hypotheses",
+ "hypothesies", "hypothesis",
+ "hystericaly", "hysterically",
+ "hystericlly", "hysterically",
+ "iconclastic", "iconoclastic",
+ "idealisitic", "idealistic",
+ "identifible", "identifiable",
+ "identitites", "identities",
+ "identitties", "identities",
+ "ideologiers", "ideologies",
+ "ideologisen", "ideologies",
+ "ideologiset", "ideologies",
+ "ideologiske", "ideologies",
+ "illegallity", "illegally",
+ "illegitamte", "illegitimate",
+ "illegitmate", "illegitimate",
+ "illsutrator", "illustrator",
+ "illuminanti", "illuminati",
+ "illuminarti", "illuminati",
+ "illuminatti", "illuminati",
+ "illuminauti", "illuminati",
+ "illuminiati", "illuminati",
+ "illuminista", "illuminati",
+ "illumintati", "illuminati",
+ "illustarted", "illustrated",
+ "illustartor", "illustrator",
+ "illustraded", "illustrated",
+ "illustraion", "illustration",
+ "illustrater", "illustrator",
+ "illustratie", "illustrate",
+ "illustratin", "illustrations",
+ "illustraton", "illustration",
+ "imaganative", "imaginative",
+ "imaganitive", "imaginative",
+ "imaginacion", "imagination",
+ "imaginatiei", "imaginative",
+ "imaginating", "imagination",
+ "imaginativo", "imagination",
+ "imaginitave", "imaginative",
+ "imbalanaced", "imbalanced",
+ "imbalanaces", "imbalances",
+ "imbalancers", "imbalances",
+ "immatureity", "immaturity",
+ "immedeately", "immediately",
+ "immediantly", "immediately",
+ "immediatley", "immediately",
+ "immedietely", "immediately",
+ "immideately", "immediately",
+ "immidiately", "immediately",
+ "immigraiton", "immigration",
+ "immigrantes", "immigrants",
+ "immoratlity", "immortality",
+ "immortailty", "immortality",
+ "immortalisy", "immortals",
+ "impeccabile", "impeccable",
+ "imperailist", "imperialist",
+ "imperealist", "imperialist",
+ "imperialims", "imperialism",
+ "imperialsim", "imperialism",
+ "imperiarist", "imperialist",
+ "imperically", "empirically",
+ "imperislist", "imperialist",
+ "implausable", "implausible",
+ "implausbile", "implausible",
+ "implementas", "implements",
+ "implementes", "implements",
+ "implementig", "implementing",
+ "implementos", "implements",
+ "implicacion", "implication",
+ "implicatons", "implications",
+ "implicitely", "implicitly",
+ "implicitily", "implicitly",
+ "implikation", "implication",
+ "implimented", "implemented",
+ "importantce", "importance",
+ "importently", "importantly",
+ "imporvement", "improvement",
+ "impossibile", "impossible",
+ "impossibily", "impossibly",
+ "impossibley", "impossibly",
+ "impossiblly", "impossibly",
+ "impoverised", "impoverished",
+ "impracticle", "impractical",
+ "impressario", "impresario",
+ "impresssion", "impressions",
+ "imprisonent", "imprisonment",
+ "imprisonned", "imprisoned",
+ "improbabile", "improbable",
+ "improtantly", "importantly",
+ "improvemnts", "improvements",
+ "improvished", "improvised",
+ "improvision", "improvisation",
+ "improvments", "improvements",
+ "impulsivley", "impulsive",
+ "imrpovement", "improvement",
+ "inaccessble", "inaccessible",
+ "inaccuraces", "inaccuracies",
+ "inaccurrate", "inaccurate",
+ "inadvertant", "inadvertent",
+ "inaguration", "inauguration",
+ "inahbitants", "inhabitants",
+ "incarantion", "incarnation",
+ "incarcerato", "incarceration",
+ "incarnacion", "incarnation",
+ "incentivare", "incentive",
+ "incentivate", "incentive",
+ "incentivice", "incentive",
+ "incentivies", "incentives",
+ "incidencies", "incidence",
+ "incidentaly", "incidentally",
+ "incidential", "incidental",
+ "inclanation", "inclination",
+ "inclenation", "inclination",
+ "inclinacion", "inclination",
+ "inclinaison", "inclination",
+ "incognition", "incognito",
+ "incoherrent", "incoherent",
+ "incompatble", "incompatible",
+ "incompatent", "incompetent",
+ "incompetant", "incompetent",
+ "incompitent", "incompetent",
+ "incompotent", "incompetent",
+ "incomptable", "incompatible",
+ "inconsisent", "inconsistent",
+ "inconveniet", "inconvenient",
+ "incoroprate", "incorporate",
+ "incorparate", "incorporate",
+ "incorperate", "incorporate",
+ "incorporare", "incorporate",
+ "incorported", "incorporated",
+ "incorprates", "incorporates",
+ "incorproate", "incorporated",
+ "incramental", "incremental",
+ "increadible", "incredible",
+ "incrediable", "incredible",
+ "incrediably", "incredibly",
+ "incredibile", "incredible",
+ "incredibily", "incredibly",
+ "incredibley", "incredibly",
+ "incrememnts", "increments",
+ "incremenets", "increments",
+ "incrementas", "increments",
+ "incremently", "incremental",
+ "incrementos", "increments",
+ "incrimental", "incremental",
+ "inctroduced", "introduced",
+ "indefinetly", "indefinitely",
+ "indefininte", "indefinite",
+ "indefinitly", "indefinitely",
+ "indepdenent", "independents",
+ "indepedence", "independence",
+ "indepednent", "independents",
+ "independant", "independent",
+ "independece", "independence",
+ "independens", "independents",
+ "independetn", "independents",
+ "independets", "independents",
+ "independnet", "independents",
+ "indepentend", "independents",
+ "indepentent", "independent",
+ "indianapols", "indianapolis",
+ "indicateurs", "indicates",
+ "indicatiors", "indicators",
+ "indictement", "indictment",
+ "indifferant", "indifferent",
+ "indiffernce", "indifference",
+ "indigeneous", "indigenous",
+ "indigenious", "indigenous",
+ "indigenuous", "indigenous",
+ "indigineous", "indigenous",
+ "indipendent", "independent",
+ "indirectely", "indirectly",
+ "individiual", "individual",
+ "individuais", "individuals",
+ "individualy", "individually",
+ "individuati", "individuality",
+ "individuels", "individuals",
+ "indivuduals", "individuals",
+ "industriels", "industries",
+ "ineffecitve", "ineffective",
+ "ineffektive", "ineffective",
+ "inefficeint", "inefficient",
+ "inefficiant", "inefficient",
+ "ineffictive", "ineffective",
+ "ineffizient", "inefficient",
+ "inequallity", "inequality",
+ "inevitabile", "inevitable",
+ "inevitabily", "inevitably",
+ "inevitabley", "inevitably",
+ "inevitablly", "inevitably",
+ "inexpencive", "inexpensive",
+ "inexpenisve", "inexpensive",
+ "inexperiece", "inexperience",
+ "inexperince", "inexperience",
+ "inexplicaby", "inexplicably",
+ "infallibale", "infallible",
+ "infallibile", "infallible",
+ "infectation", "infestation",
+ "inferioirty", "inferiority",
+ "infestating", "infestation",
+ "infilitrate", "infiltrate",
+ "infiltartor", "infiltrator",
+ "infiltraron", "infiltrator",
+ "infiltrarte", "infiltrate",
+ "infiltrater", "infiltrator",
+ "infiltratie", "infiltrate",
+ "infiltrerat", "infiltrate",
+ "infinitelly", "infinitely",
+ "infintrator", "infiltrator",
+ "inflamation", "inflammation",
+ "inflatabale", "inflatable",
+ "inflitrator", "infiltrator",
+ "influancing", "influencing",
+ "influencial", "influential",
+ "influencian", "influencing",
+ "influenting", "influencing",
+ "influentual", "influential",
+ "influincing", "influencing",
+ "infograhpic", "infographic",
+ "infograpgic", "infographic",
+ "infogrpahic", "infographic",
+ "informacion", "information",
+ "informatice", "informative",
+ "informatief", "informative",
+ "informatiei", "informative",
+ "informatike", "informative",
+ "informativo", "information",
+ "informitive", "informative",
+ "infrigement", "infringement",
+ "infringeing", "infringing",
+ "infromation", "information",
+ "infromative", "informative",
+ "infulential", "influential",
+ "ingerdients", "ingredients",
+ "ingrediants", "ingredients",
+ "ingreidents", "ingredient",
+ "ingriedents", "ingredient",
+ "inhabitents", "inhabitants",
+ "inheirtance", "inheritance",
+ "inheratance", "inheritance",
+ "inheretance", "inheritance",
+ "inheritence", "inheritance",
+ "inhertiance", "inheritance",
+ "initaitives", "initiatives",
+ "initalisers", "initialisers",
+ "initalising", "initialising",
+ "initalizers", "initializers",
+ "initalizing", "initializing",
+ "initiaitive", "initiative",
+ "inititiaves", "initiatives",
+ "innocenters", "innocents",
+ "innocentius", "innocents",
+ "innoculated", "inoculated",
+ "inpsiration", "inspiration",
+ "inquisicion", "inquisition",
+ "inquisistor", "inquisitor",
+ "inquisiting", "inquisition",
+ "inquisitior", "inquisitor",
+ "inquisitivo", "inquisition",
+ "inquizition", "inquisition",
+ "insecurites", "insecurities",
+ "insensative", "insensitive",
+ "insensetive", "insensitive",
+ "insentitive", "insensitive",
+ "insepctions", "inspections",
+ "inseperable", "inseparable",
+ "insipration", "inspiration",
+ "insitutions", "institutions",
+ "insparation", "inspiration",
+ "inspecticon", "inspection",
+ "inspectoras", "inspectors",
+ "insperation", "inspiration",
+ "inspiracion", "inspiration",
+ "inspirating", "inspiration",
+ "inspriation", "inspiration",
+ "instalation", "installation",
+ "instalement", "installment",
+ "installatin", "installations",
+ "installeert", "installer",
+ "installemnt", "installment",
+ "installling", "installing",
+ "installmant", "installment",
+ "instanciate", "instantiate",
+ "instantaneu", "instantaneous",
+ "institucion", "institution",
+ "institutiei", "institute",
+ "instituttet", "institute",
+ "instraments", "instruments",
+ "instruccion", "instruction",
+ "instruciton", "instruction",
+ "instructers", "instructors",
+ "instructior", "instructor",
+ "instructios", "instructors",
+ "instructivo", "instruction",
+ "instructons", "instructors",
+ "instruktion", "instruction",
+ "instrumenal", "instrumental",
+ "instrumetal", "instrumental",
+ "insturction", "instruction",
+ "insturctors", "instructors",
+ "insturments", "instruments",
+ "instutition", "institution",
+ "instutution", "institution",
+ "insufficent", "insufficient",
+ "insuinating", "insinuating",
+ "insuniating", "insinuating",
+ "insurgencey", "insurgency",
+ "intangiable", "intangible",
+ "intangibile", "intangible",
+ "inteferring", "interfering",
+ "integracion", "integration",
+ "integratron", "integration",
+ "integrering", "interfering",
+ "intelectual", "intellectual",
+ "inteligence", "intelligence",
+ "intellectul", "intellectuals",
+ "intellectus", "intellectuals",
+ "intellecual", "intellectual",
+ "intellegent", "intelligent",
+ "intelligant", "intelligent",
+ "intencional", "intentional",
+ "intentionly", "intentional",
+ "interaccion", "interaction",
+ "interactice", "interactive",
+ "interacties", "interacts",
+ "interactifs", "interacts",
+ "interactins", "interacts",
+ "interactios", "interacts",
+ "interactivo", "interaction",
+ "interactons", "interacts",
+ "interaktion", "interaction",
+ "interaktive", "interactive",
+ "interasting", "interacting",
+ "intercation", "integration",
+ "interceptin", "interception",
+ "intercoarse", "intercourse",
+ "intercource", "intercourse",
+ "interecting", "interacting",
+ "interection", "interaction",
+ "interelated", "interrelated",
+ "interersted", "interpreted",
+ "interesring", "interfering",
+ "interessted", "interested",
+ "interferece", "interference",
+ "interferens", "interferes",
+ "interferire", "interfere",
+ "interfernce", "interference",
+ "interferred", "interfere",
+ "interferres", "interferes",
+ "intergation", "integration",
+ "intergrated", "integrated",
+ "intermedate", "intermediate",
+ "intermedite", "intermediate",
+ "intermitent", "intermittent",
+ "internation", "international",
+ "interneters", "internets",
+ "internetese", "internets",
+ "internetest", "internets",
+ "interneting", "interesting",
+ "internetors", "internets",
+ "internettes", "internets",
+ "interperted", "interpreted",
+ "interperter", "interpreter",
+ "interprered", "interpreter",
+ "interpretor", "interpreter",
+ "interratial", "interracial",
+ "interresing", "interfering",
+ "interrogato", "interrogation",
+ "interrputed", "interrupted",
+ "interruping", "interrupting",
+ "interruptes", "interrupts",
+ "interruptis", "interrupts",
+ "intersecton", "intersection",
+ "interstelar", "interstellar",
+ "intertained", "intertwined",
+ "intertvined", "intertwined",
+ "intertwyned", "intertwined",
+ "intervalles", "intervals",
+ "intervation", "integration",
+ "interveiwed", "interviewed",
+ "interveiwer", "interviewer",
+ "intervenion", "intervening",
+ "intervenire", "intervene",
+ "interventie", "intervene",
+ "intervewing", "intervening",
+ "interviened", "interviewed",
+ "interviewes", "interviews",
+ "interviewie", "interviewer",
+ "intervining", "intervening",
+ "interwebers", "interwebs",
+ "interwiever", "interviewer",
+ "intestinces", "intestines",
+ "inticracies", "intricacies",
+ "intimadated", "intimidated",
+ "intimidades", "intimidated",
+ "intimidante", "intimidate",
+ "intimidatie", "intimidated",
+ "intimidatin", "intimidation",
+ "intimidaton", "intimidation",
+ "intimidiate", "intimidate",
+ "intiminated", "intimidated",
+ "intimitaded", "intimidated",
+ "intimitated", "intimidated",
+ "intiutively", "intuitively",
+ "intoleranse", "intolerance",
+ "intolerante", "intolerance",
+ "intolerence", "intolerance",
+ "intolernace", "intolerance",
+ "intolorance", "intolerance",
+ "intolorence", "intolerance",
+ "intorducing", "introducing",
+ "intorverted", "introverted",
+ "intoxicatin", "intoxication",
+ "intoxicaton", "intoxication",
+ "intoxinated", "intoxicated",
+ "intoxocated", "intoxicated",
+ "intracacies", "intricacies",
+ "intracicies", "intricacies",
+ "intraverted", "introverted",
+ "intrecacies", "intricacies",
+ "intrepreted", "interpreted",
+ "intrepreter", "interpreter",
+ "intrerupted", "interrupted",
+ "intricasies", "intricacies",
+ "intricicies", "intricacies",
+ "intrigueing", "intriguing",
+ "intrinsisch", "intrinsic",
+ "introducion", "introduction",
+ "introducted", "introduced",
+ "introductie", "introduce",
+ "introvertie", "introverted",
+ "introvertis", "introverts",
+ "intruducing", "introducing",
+ "intrumental", "instrumental",
+ "intuatively", "intuitively",
+ "intuitevely", "intuitively",
+ "intuitivley", "intuitively",
+ "intuituvely", "intuitively",
+ "inutitively", "intuitively",
+ "invaldiates", "invalidates",
+ "invalidades", "invalidates",
+ "invalidante", "invalidate",
+ "invariabley", "invariably",
+ "invariablly", "invariably",
+ "inventiones", "inventions",
+ "invesitgate", "investigate",
+ "investagate", "investigate",
+ "investiagte", "investigate",
+ "investigare", "investigate",
+ "invincibile", "invincible",
+ "invincinble", "invincible",
+ "invisibiity", "invisibility",
+ "invisibiliy", "invisibility",
+ "involantary", "involuntary",
+ "involentary", "involuntary",
+ "involintary", "involuntary",
+ "involontary", "involuntary",
+ "involunatry", "involuntary",
+ "invulnerabe", "invulnerable",
+ "invulnerble", "invulnerable",
+ "iresistable", "irresistible",
+ "iresistably", "irresistibly",
+ "iresistible", "irresistible",
+ "iresistibly", "irresistibly",
+ "irrationaly", "irrationally",
+ "irrationnal", "irrational",
+ "islamisists", "islamists",
+ "islamisters", "islamists",
+ "islamistisk", "islamists",
+ "isntruments", "instruments",
+ "jacksonvile", "jacksonville",
+ "jailbroaken", "jailbroken",
+ "jailbrocken", "jailbroken",
+ "jounralists", "journalists",
+ "jouranlists", "journalists",
+ "journalisim", "journalism",
+ "journalistc", "journalistic",
+ "journolists", "journalists",
+ "judegmental", "judgemental",
+ "judgamental", "judgemental",
+ "judgementle", "judgemental",
+ "judgementsl", "judgemental",
+ "judgenental", "judgemental",
+ "jugdemental", "judgemental",
+ "juggernaugt", "juggernaut",
+ "juggernault", "juggernaut",
+ "juggernaunt", "juggernaut",
+ "justifyable", "justifiable",
+ "kidnappning", "kidnapping",
+ "kidnappping", "kidnapping",
+ "kilometeres", "kilometers",
+ "kindergaten", "kindergarten",
+ "knowledgabe", "knowledgable",
+ "knowledgble", "knowledgable",
+ "kryptoninte", "kryptonite",
+ "lacklusture", "lackluster",
+ "laughablely", "laughably",
+ "legalizaing", "legalizing",
+ "legalizaton", "legalization",
+ "legalizeing", "legalizing",
+ "legenadries", "legendaries",
+ "legendaires", "legendaries",
+ "legendarios", "legendaries",
+ "legendarisk", "legendaries",
+ "legendaryes", "legendaries",
+ "legenderies", "legendaries",
+ "legilsation", "legislation",
+ "legislacion", "legislation",
+ "legislativo", "legislation",
+ "legistation", "legislation",
+ "legistative", "legislative",
+ "legistators", "legislators",
+ "legitematly", "legitimately",
+ "legitimancy", "legitimacy",
+ "legitimatcy", "legitimacy",
+ "legitimatly", "legitimately",
+ "legitimetly", "legitimately",
+ "legnedaries", "legendaries",
+ "lengedaries", "legendaries",
+ "liberalisim", "liberalism",
+ "liberatrian", "libertarians",
+ "libertairan", "libertarians",
+ "libertarain", "libertarian",
+ "libertarias", "libertarians",
+ "libertarien", "libertarian",
+ "libertaryan", "libertarian",
+ "libertatian", "libertarian",
+ "liberterian", "libertarian",
+ "libguistics", "linguistics",
+ "libretarian", "libertarian",
+ "lieutennant", "lieutenant",
+ "lieutentant", "lieutenant",
+ "lightenning", "lightening",
+ "lightenting", "lightening",
+ "lightheared", "lighthearted",
+ "lightheated", "lighthearted",
+ "lightweigth", "lightweight",
+ "lightwieght", "lightweight",
+ "lightwright", "lightweight",
+ "ligthweight", "lightweight",
+ "limitaitons", "limitation",
+ "linguisitcs", "linguistics",
+ "linguisitic", "linguistic",
+ "lingusitics", "linguistics",
+ "lithuaninan", "lithuania",
+ "littlefiger", "littlefinger",
+ "littlefiner", "littlefinger",
+ "lockscreeen", "lockscreen",
+ "longevitity", "longevity",
+ "lotharingen", "lothringen",
+ "louisvillle", "louisville",
+ "maginficent", "magnificent",
+ "magneficent", "magnificent",
+ "magnicifent", "magnificent",
+ "magnifacent", "magnificent",
+ "magnifecent", "magnificent",
+ "magnificant", "magnificent",
+ "magnitudine", "magnitude",
+ "maintainted", "maintained",
+ "maintanance", "maintenance",
+ "maintanence", "maintenance",
+ "maintenence", "maintenance",
+ "maintianing", "maintaining",
+ "maintinaing", "maintaining",
+ "maintinance", "maintenance",
+ "maintinence", "maintenance",
+ "malfonction", "malfunction",
+ "malfucntion", "malfunction",
+ "malfunciton", "malfunction",
+ "malfuncting", "malfunction",
+ "malfunktion", "malfunction",
+ "malpractise", "malpractice",
+ "malpractive", "malpractice",
+ "maneouvring", "manoeuvring",
+ "manifestado", "manifesto",
+ "manifestano", "manifesto",
+ "manifestato", "manifesto",
+ "manifestion", "manifesto",
+ "manifestior", "manifesto",
+ "manifestons", "manifests",
+ "manifestors", "manifests",
+ "manipluated", "manipulated",
+ "manipualted", "manipulated",
+ "manipulatie", "manipulative",
+ "manipulatin", "manipulation",
+ "manipulaton", "manipulation",
+ "maniuplated", "manipulated",
+ "mannerisims", "mannerisms",
+ "manslaugher", "manslaughter",
+ "manslaugter", "manslaughter",
+ "manufacters", "manufactures",
+ "manufacteur", "manufactures",
+ "manufactued", "manufactured",
+ "manufactuer", "manufacture",
+ "manufacturs", "manufactures",
+ "manufacuter", "manufacture",
+ "manufacutre", "manufactures",
+ "manufatured", "manufactured",
+ "manupilated", "manipulated",
+ "marganilize", "marginalized",
+ "marhsmallow", "marshmallow",
+ "marijuannas", "marijuana",
+ "markerplace", "marketplace",
+ "marketpalce", "marketplace",
+ "marshamllow", "marshmallow",
+ "marshmalows", "marshmallows",
+ "masculanity", "masculinity",
+ "masculenity", "masculinity",
+ "masrhmallow", "marshmallow",
+ "mastermined", "mastermind",
+ "masterpeace", "masterpiece",
+ "masterpeice", "masterpiece",
+ "mastrubated", "masturbated",
+ "mastrubates", "masturbate",
+ "masturabted", "masturbated",
+ "masturbaing", "masturbating",
+ "masturbarte", "masturbate",
+ "masturbathe", "masturbated",
+ "masturbatie", "masturbated",
+ "masturbatin", "masturbation",
+ "masturbaton", "masturbation",
+ "masturbsted", "masturbated",
+ "masturpiece", "masterpiece",
+ "masuclinity", "masculinity",
+ "matchamking", "matchmaking",
+ "materalists", "materialist",
+ "materialsim", "materialism",
+ "mathamatics", "mathematics",
+ "mathcmaking", "matchmaking",
+ "mathemagics", "mathematics",
+ "mathemetics", "mathematics",
+ "mathimatics", "mathematics",
+ "matieralism", "materialism",
+ "maybelleine", "maybelline",
+ "maybelliene", "maybelline",
+ "maybellinne", "maybelline",
+ "maybellline", "maybelline",
+ "mdifielders", "midfielders",
+ "meatballers", "meatballs",
+ "mecernaries", "mercenaries",
+ "mechanicaly", "mechanically",
+ "mechanichal", "mechanical",
+ "mechaniclly", "mechanically",
+ "mechanicsms", "mechanisms",
+ "mechanisims", "mechanism",
+ "mechanismus", "mechanisms",
+ "medicaitons", "medications",
+ "medicineras", "medicines",
+ "meditatiing", "meditating",
+ "meditationg", "meditating",
+ "mentionning", "mentioning",
+ "mercanaries", "mercenaries",
+ "mercaneries", "mercenaries",
+ "mercenaires", "mercenaries",
+ "mercenarias", "mercenaries",
+ "mercenarios", "mercenaries",
+ "merceneries", "mercenaries",
+ "merchandice", "merchandise",
+ "merchandies", "merchandise",
+ "merchanidse", "merchandise",
+ "merchanters", "merchants",
+ "merchendise", "merchandise",
+ "merchindise", "merchandise",
+ "mercinaries", "mercenaries",
+ "mercineries", "mercenaries",
+ "metabolisim", "metabolism",
+ "metabolitic", "metabolic",
+ "metaphisics", "metaphysics",
+ "metaphorial", "metaphorical",
+ "metaphorics", "metaphors",
+ "metaphsyics", "metaphysics",
+ "metaphyiscs", "metaphysics",
+ "methodoligy", "methodology",
+ "metholodogy", "methodology",
+ "metropolian", "metropolitan",
+ "metropolies", "metropolis",
+ "metropollis", "metropolis",
+ "metropolois", "metropolis",
+ "micorcenter", "microcenter",
+ "micorphones", "microphones",
+ "microcender", "microcenter",
+ "microcentre", "microcenter",
+ "microcentro", "microcenter",
+ "microhpones", "microphones",
+ "microscrope", "microscope",
+ "microwavees", "microwaves",
+ "microwavers", "microwaves",
+ "midfeilders", "midfielders",
+ "midfiedlers", "midfielders",
+ "midfileders", "midfielders",
+ "midifelders", "midfielders",
+ "millienaire", "millionaire",
+ "millionairs", "millionaires",
+ "millionarie", "millionaire",
+ "millioniare", "millionaire",
+ "mindlessely", "mindlessly",
+ "mindlessley", "mindlessly",
+ "minimalstic", "minimalist",
+ "ministerens", "ministers",
+ "ministerios", "ministers",
+ "minneaoplis", "minneapolis",
+ "minneaplois", "minneapolis",
+ "minniapolis", "minneapolis",
+ "miraculaous", "miraculous",
+ "miraculosly", "miraculously",
+ "miraculousy", "miraculously",
+ "mircocenter", "microcenter",
+ "mircophones", "microphones",
+ "mircoscopic", "microscopic",
+ "miscairrage", "miscarriage",
+ "miscarraige", "miscarriage",
+ "miscarridge", "miscarriage",
+ "miscarriege", "miscarriage",
+ "mischeivous", "mischievous",
+ "mischevious", "mischievous",
+ "misdameanor", "misdemeanor",
+ "misdeamenor", "misdemeanor",
+ "misdemeaner", "misdemeanor",
+ "misdemenaor", "misdemeanor",
+ "misdemenors", "misdemeanors",
+ "misdimeanor", "misdemeanor",
+ "misdomeanor", "misdemeanor",
+ "miserablely", "miserably",
+ "misfortunte", "misfortune",
+ "misimformed", "misinformed",
+ "misinterept", "misinterpret",
+ "misinterpet", "misinterpret",
+ "misoginysts", "misogynist",
+ "misognyists", "misogynist",
+ "misogyinsts", "misogynist",
+ "misogynisic", "misogynistic",
+ "misogynistc", "misogynistic",
+ "misogynstic", "misogynist",
+ "missionaire", "missionaries",
+ "missionairy", "missionary",
+ "missionares", "missionaries",
+ "missionaris", "missionaries",
+ "missionarry", "missionary",
+ "missionnary", "missionary",
+ "mississipis", "mississippi",
+ "misspeeling", "misspelling",
+ "misspellled", "misspelled",
+ "mistakengly", "mistakenly",
+ "mistakently", "mistakenly",
+ "moderatedly", "moderately",
+ "moderateurs", "moderates",
+ "moderatorin", "moderation",
+ "modificaton", "modification",
+ "moisterizer", "moisturizer",
+ "moistruizer", "moisturizer",
+ "moisturizng", "moisturizing",
+ "moisturizor", "moisturizer",
+ "moistutizer", "moisturizer",
+ "moisutrizer", "moisturizer",
+ "moleculaire", "molecular",
+ "molestating", "molestation",
+ "moleststion", "molestation",
+ "momemtarily", "momentarily",
+ "momentairly", "momentarily",
+ "momentaraly", "momentarily",
+ "momentarely", "momentarily",
+ "momenterily", "momentarily",
+ "monestaries", "monasteries",
+ "monitoreada", "monitored",
+ "monitoreado", "monitored",
+ "monogameous", "monogamous",
+ "monolitihic", "monolithic",
+ "monopollies", "monopolies",
+ "monstorsity", "monstrosity",
+ "monstrasity", "monstrosity",
+ "monstrisity", "monstrosity",
+ "monstrocity", "monstrosity",
+ "monstrosoty", "monstrosity",
+ "monstrostiy", "monstrosity",
+ "monumentaal", "monumental",
+ "monumentais", "monuments",
+ "monumentals", "monuments",
+ "monumentous", "monuments",
+ "mositurizer", "moisturizer",
+ "mosntrosity", "monstrosity",
+ "motehrboard", "motherboard",
+ "mothebroard", "motherboards",
+ "motherbaord", "motherboard",
+ "motherboads", "motherboards",
+ "motherboars", "motherboards",
+ "motherborad", "motherboard",
+ "motherbords", "motherboards",
+ "motherobard", "motherboards",
+ "mothreboard", "motherboards",
+ "motivatinal", "motivational",
+ "motorcicles", "motorcycles",
+ "motorcylces", "motorcycles",
+ "mouthpeices", "mouthpiece",
+ "mulitplayer", "multiplayer",
+ "mulitplying", "multiplying",
+ "multipalyer", "multiplayer",
+ "multiplater", "multiplayer",
+ "multiplebgs", "multiples",
+ "multipleies", "multiples",
+ "multitaskng", "multitasking",
+ "multitudine", "multitude",
+ "multiverese", "multiverse",
+ "multyplayer", "multiplayer",
+ "multyplying", "multiplying",
+ "muncipality", "municipality",
+ "murdererous", "murderers",
+ "musicallity", "musically",
+ "mutliplayer", "multiplayer",
+ "mutliplying", "multiplying",
+ "mysterieuse", "mysteries",
+ "mysteriosly", "mysteriously",
+ "mysteriouly", "mysteriously",
+ "mysteriousy", "mysteriously",
+ "napoleonian", "napoleonic",
+ "narcisissim", "narcissism",
+ "narcisissts", "narcissist",
+ "narcisscism", "narcissism",
+ "narcisscist", "narcissist",
+ "narcissisim", "narcissism",
+ "narcississm", "narcissism",
+ "narcississt", "narcissist",
+ "narcissistc", "narcissistic",
+ "narcissitic", "narcissistic",
+ "narcisssism", "narcissism",
+ "narcisssist", "narcissist",
+ "narcissstic", "narcissist",
+ "natioanlist", "nationalist",
+ "nationailty", "nationality",
+ "nationalesl", "nationals",
+ "nationalisn", "nationals",
+ "nationalite", "nationalist",
+ "nationalits", "nationalist",
+ "nationalizm", "nationalism",
+ "nationalsim", "nationalism",
+ "neccesarily", "necessarily",
+ "necessairly", "necessarily",
+ "necessaties", "necessities",
+ "necesseraly", "necessarily",
+ "necesserily", "necessarily",
+ "necessiates", "necessities",
+ "necessitive", "necessities",
+ "neckbeardos", "neckbeards",
+ "neckbeardus", "neckbeards",
+ "necormancer", "necromancer",
+ "necromamcer", "necromancer",
+ "necromanser", "necromancer",
+ "necromencer", "necromancer",
+ "needlessley", "needlessly",
+ "negativeity", "negativity",
+ "negativelly", "negatively",
+ "negativitiy", "negativity",
+ "negiotating", "negotiating",
+ "negligiable", "negligible",
+ "negociating", "negotiating",
+ "negociation", "negotiation",
+ "negoitating", "negotiating",
+ "negoitation", "negotiation",
+ "negotiatied", "negotiate",
+ "negotiative", "negotiate",
+ "negotiatons", "negotiations",
+ "neigborhood", "neighborhood",
+ "neigbouring", "neighbouring",
+ "neighborhod", "neighborhood",
+ "neighbourgs", "neighbours",
+ "neighouring", "neighboring",
+ "nercomancer", "necromancer",
+ "nessasarily", "necessarily",
+ "neurologial", "neurological",
+ "neurosciene", "neuroscience",
+ "neutrallity", "neutrality",
+ "neverthelss", "nevertheless",
+ "neverthless", "nevertheless",
+ "newspapaers", "newspapers",
+ "newspappers", "newspapers",
+ "nieghboring", "neighboring",
+ "nightmarket", "nightmare",
+ "nonsencical", "nonsensical",
+ "nonsenscial", "nonsensical",
+ "nonsensicle", "nonsensical",
+ "normallized", "normalized",
+ "northwesten", "northwestern",
+ "nostalgisch", "nostalgic",
+ "noteworthly", "noteworthy",
+ "noticeabley", "noticeably",
+ "notificaton", "notification",
+ "notoriuosly", "notoriously",
+ "numericable", "numerical",
+ "nurtitional", "nutritional",
+ "nutricional", "nutritional",
+ "nutrutional", "nutritional",
+ "obamination", "abomination",
+ "obersvation", "observation",
+ "obilterated", "obliterated",
+ "objectivety", "objectivity",
+ "objectivify", "objectivity",
+ "objectivily", "objectivity",
+ "objectivley", "objectively",
+ "obliberated", "obliterated",
+ "obliderated", "obliterated",
+ "obligerated", "obliterated",
+ "oblitarated", "obliterated",
+ "obliteraded", "obliterated",
+ "obliterared", "obliterated",
+ "oblitirated", "obliterated",
+ "oblitorated", "obliterated",
+ "obliverated", "obliterated",
+ "observacion", "observation",
+ "observaiton", "observant",
+ "observasion", "observations",
+ "observating", "observation",
+ "observerats", "observers",
+ "obsessivley", "obsessive",
+ "obstruccion", "obstruction",
+ "obstruktion", "obstruction",
+ "obsturction", "obstruction",
+ "obversation", "observation",
+ "ocasionally", "occasionally",
+ "ocassionaly", "occasionally",
+ "occasionals", "occasions",
+ "occasionaly", "occasionally",
+ "occasionnal", "occasional",
+ "occassional", "occasional",
+ "occassioned", "occasioned",
+ "occurrances", "occurrences",
+ "offensivley", "offensively",
+ "offesnively", "offensively",
+ "officiallly", "officially",
+ "olbiterated", "obliterated",
+ "omniscienct", "omniscient",
+ "operacional", "operational",
+ "operasional", "operational",
+ "operationel", "operational",
+ "oppresssing", "oppressing",
+ "oppresssion", "oppression",
+ "opprotunity", "opportunity",
+ "optimisitic", "optimistic",
+ "optimizaton", "optimization",
+ "orchestraed", "orchestrated",
+ "orchestrial", "orchestra",
+ "oreintation", "orientation",
+ "organisaton", "organisation",
+ "organiserad", "organised",
+ "organistion", "organisation",
+ "organizarea", "organizer",
+ "organizarem", "organizer",
+ "organizarme", "organizer",
+ "organizarte", "organizer",
+ "organiztion", "organization",
+ "oridinarily", "ordinarily",
+ "orientacion", "orientation",
+ "originially", "originally",
+ "originnally", "originally",
+ "origniality", "originality",
+ "ostensiably", "ostensibly",
+ "ostensibily", "ostensibly",
+ "outclasssed", "outclassed",
+ "outnunbered", "outnumbered",
+ "outperfroms", "outperform",
+ "outpreforms", "outperform",
+ "outrageosly", "outrageously",
+ "outrageouly", "outrageously",
+ "outragerous", "outrageous",
+ "outskirters", "outskirts",
+ "outsorucing", "outsourcing",
+ "outsourcade", "outsourced",
+ "outsoursing", "outsourcing",
+ "overbraking", "overbearing",
+ "overcapping", "overlapping",
+ "overcharing", "overarching",
+ "overclcoked", "overclocked",
+ "overclicked", "overclocked",
+ "overcloaked", "overclocked",
+ "overclocing", "overclocking",
+ "overclockig", "overclocking",
+ "overclocled", "overclocked",
+ "overcomeing", "overcoming",
+ "overcomming", "overcoming",
+ "overeaching", "overarching",
+ "overfapping", "overlapping",
+ "overheading", "overheating",
+ "overhooking", "overlooking",
+ "overhwelmed", "overwhelmed",
+ "overkapping", "overlapping",
+ "overklocked", "overclocked",
+ "overlapsing", "overlapping",
+ "overlcocked", "overclocked",
+ "overlcoking", "overlooking",
+ "overlooming", "overlooking",
+ "overloooked", "overlooked",
+ "overlordess", "overlords",
+ "overmapping", "overlapping",
+ "overpooling", "overlooking",
+ "overpovered", "overpowered",
+ "overpoweing", "overpowering",
+ "overreacing", "overreacting",
+ "overreactin", "overreaction",
+ "overreacton", "overreaction",
+ "overshaddow", "overshadowed",
+ "overshadowd", "overshadowed",
+ "overtapping", "overlapping",
+ "overthining", "overthinking",
+ "overthinkig", "overthinking",
+ "overvlocked", "overclocked",
+ "overwealmed", "overwhelmed",
+ "overwelming", "overwhelming",
+ "overwhelemd", "overwhelmed",
+ "overwhelimg", "overwhelm",
+ "overwheling", "overwhelming",
+ "overwhemled", "overwhelmed",
+ "overwhlemed", "overwhelmed",
+ "overwritted", "overwrite",
+ "pakistanais", "pakistani",
+ "pakistanezi", "pakistani",
+ "palceholder", "placeholder",
+ "palesitnian", "palestinians",
+ "palestenian", "palestinian",
+ "palestinain", "palestinians",
+ "palestinans", "palestinians",
+ "palestinier", "palestine",
+ "palistinian", "palestinian",
+ "palythrough", "playthrough",
+ "papanicalou", "papanicolaou",
+ "parachutage", "parachute",
+ "paragraphes", "paragraphs",
+ "paramedicks", "paramedics",
+ "paramedicos", "paramedics",
+ "parameteres", "parameters",
+ "paranthesis", "parenthesis",
+ "parapharsed", "paraphrase",
+ "paraprhased", "paraphrase",
+ "parasitisme", "parasites",
+ "parenthasis", "parenthesis",
+ "parenthesys", "parentheses",
+ "parenthises", "parenthesis",
+ "parenthisis", "parenthesis",
+ "parliamenty", "parliamentary",
+ "parntership", "partnership",
+ "parrallelly", "parallelly",
+ "partecipant", "participant",
+ "partecipate", "participate",
+ "parternship", "partnership",
+ "partiarchal", "patriarchal",
+ "particapate", "participate",
+ "particiapte", "participate",
+ "participait", "participant",
+ "participans", "participants",
+ "participare", "participate",
+ "participatd", "participant",
+ "participati", "participant",
+ "participats", "participant",
+ "participent", "participant",
+ "particpiate", "participated",
+ "particually", "particularly",
+ "particulaly", "particularly",
+ "particulary", "particularly",
+ "partnetship", "partnership",
+ "partonizing", "patronizing",
+ "passionatly", "passionately",
+ "passionetly", "passionately",
+ "passionnate", "passionate",
+ "passporters", "passports",
+ "pathologial", "pathological",
+ "patriarchia", "patriarchal",
+ "patriarcial", "patriarchal",
+ "patriarical", "patriarchal",
+ "patriotisch", "patriotic",
+ "patriotisim", "patriotism",
+ "patriottism", "patriotism",
+ "patronozing", "patronizing",
+ "peacefullly", "peacefully",
+ "pedestirans", "pedestrians",
+ "pedestrains", "pedestrians",
+ "pedophilies", "pedophile",
+ "pedophilles", "pedophile",
+ "penetracion", "penetration",
+ "penetrading", "penetrating",
+ "penetrarion", "penetration",
+ "penninsular", "peninsular",
+ "pennsylvnia", "pennsylvania",
+ "pepperocini", "pepperoni",
+ "percantages", "percentages",
+ "percautions", "precautions",
+ "percentille", "percentile",
+ "percpetions", "perceptions",
+ "percusssion", "percussion",
+ "perdicament", "predicament",
+ "perdictable", "predictable",
+ "perdictions", "predictions",
+ "perephirals", "peripherals",
+ "pereptually", "perpetually",
+ "perferences", "preferences",
+ "perfomrance", "performances",
+ "perforamnce", "performances",
+ "performaces", "performances",
+ "performacne", "performances",
+ "performanes", "performances",
+ "performanse", "performances",
+ "performence", "performance",
+ "performnace", "performances",
+ "perfromance", "performance",
+ "perhiperals", "peripherals",
+ "perihperals", "peripherals",
+ "periodicaly", "periodically",
+ "periperhals", "peripherals",
+ "periphereal", "peripheral",
+ "peripherial", "peripheral",
+ "periphirals", "peripherals",
+ "periphreals", "peripherals",
+ "periphrials", "peripherals",
+ "perjorative", "pejorative",
+ "perliminary", "preliminary",
+ "permamently", "permanently",
+ "permanantly", "permanently",
+ "permaturely", "prematurely",
+ "permenantly", "permanently",
+ "permenently", "permanently",
+ "perminantly", "permanently",
+ "perminently", "permanently",
+ "permisisons", "permissions",
+ "permissable", "permissible",
+ "permisssion", "permissions",
+ "pernamently", "permanently",
+ "perosnality", "personality",
+ "perparation", "preparation",
+ "perpatrated", "perpetrated",
+ "perpatrator", "perpetrator",
+ "perpatuated", "perpetuated",
+ "perpatuates", "perpetuates",
+ "perpertated", "perpetuated",
+ "perpertator", "perpetrators",
+ "perpetraded", "perpetrated",
+ "perpetrador", "perpetrator",
+ "perpetraron", "perpetrator",
+ "perpetrater", "perpetrator",
+ "perpetuaded", "perpetuated",
+ "perpetutate", "perpetuate",
+ "perpetuties", "perpetuates",
+ "perpitrated", "perpetrated",
+ "perpitrator", "perpetrator",
+ "perpretated", "perpetrated",
+ "perpretator", "perpetrators",
+ "perpsective", "perspective",
+ "perputrator", "perpetrator",
+ "perputually", "perpetually",
+ "perputuated", "perpetuated",
+ "perputuates", "perpetuates",
+ "perrogative", "prerogative",
+ "persceptive", "perspectives",
+ "persectuion", "persecution",
+ "persecucion", "persecution",
+ "persecusion", "persecution",
+ "persecutted", "persecuted",
+ "persepctive", "perspective",
+ "persicution", "persecution",
+ "persistance", "persistence",
+ "persistante", "persistent",
+ "persistense", "persistence",
+ "persistente", "persistence",
+ "personhoood", "personhood",
+ "perspecitve", "perspective",
+ "perspectief", "perspective",
+ "perspektive", "perspective",
+ "persuassion", "persuasion",
+ "persuassive", "persuasive",
+ "persucution", "persecution",
+ "persumption", "presumption",
+ "pertubation", "perturbation",
+ "pessimestic", "pessimistic",
+ "pharamcists", "pharmacist",
+ "phenomenona", "phenomena",
+ "philadelpha", "philadelphia",
+ "philadelpia", "philadelphia",
+ "philiphines", "philippines",
+ "philippenes", "philippines",
+ "philippenis", "philippines",
+ "philippides", "philippines",
+ "philippinas", "philippines",
+ "philippinos", "philippines",
+ "philisopher", "philosopher",
+ "phillipines", "philippines",
+ "philosipher", "philosopher",
+ "philosopers", "philosophers",
+ "philosophae", "philosopher",
+ "philosophia", "philosophical",
+ "philosopies", "philosophies",
+ "philosphies", "philosophies",
+ "philospoher", "philosopher",
+ "photograhed", "photographed",
+ "photograher", "photographer",
+ "photograhic", "photographic",
+ "photograhpy", "photography",
+ "photograped", "photographed",
+ "photograper", "photographer",
+ "photograpgh", "photographs",
+ "photograpic", "photographic",
+ "photogrpahs", "photographs",
+ "photogrpahy", "photography",
+ "physcedelic", "psychedelic",
+ "physciatric", "psychiatric",
+ "physcopaths", "psychopaths",
+ "piankillers", "painkillers",
+ "pilgrimmage", "pilgrimage",
+ "pitchforcks", "pitchforks",
+ "pitchforkes", "pitchforks",
+ "plaestinian", "palestinian",
+ "plagiariasm", "plagiarism",
+ "planeswaker", "planeswalker",
+ "planeswaler", "planeswalker",
+ "planeswalkr", "planeswalker",
+ "platfromers", "platformer",
+ "playhtrough", "playthrough",
+ "playthorugh", "playthrough",
+ "playthourgh", "playthrough",
+ "playthroguh", "playthroughs",
+ "playthrougs", "playthroughs",
+ "playthrouhg", "playthroughs",
+ "playthtough", "playthrough",
+ "playtrhough", "playthrough",
+ "ploretariat", "proletariat",
+ "policitally", "politically",
+ "policitians", "politicians",
+ "politicains", "politicians",
+ "politicanti", "politician",
+ "politiciens", "politicians",
+ "politiicans", "politician",
+ "polititians", "politicians",
+ "polyphonyic", "polyphonic",
+ "pomegranite", "pomegranate",
+ "popluations", "populations",
+ "poportional", "proportional",
+ "popoulation", "population",
+ "porjectiles", "projectiles",
+ "porletariat", "proletariat",
+ "pornagraphy", "pornography",
+ "pornograghy", "pornography",
+ "pornograhpy", "pornography",
+ "pornograpgy", "pornography",
+ "pornogrophy", "pornography",
+ "pornogrpahy", "pornography",
+ "porportions", "proportions",
+ "portestants", "protestants",
+ "portuguease", "portuguese",
+ "portuguesse", "portuguese",
+ "positionial", "positional",
+ "positionnal", "positional",
+ "positionned", "positioned",
+ "positiveity", "positivity",
+ "positiviely", "positively",
+ "positivisme", "positives",
+ "positivisty", "positivity",
+ "positivitey", "positivity",
+ "positivitiy", "positivity",
+ "possesseurs", "possesses",
+ "possesssion", "possessions",
+ "possestions", "possessions",
+ "possiblilty", "possibility",
+ "potencially", "potentially",
+ "potentailly", "potentially",
+ "powerhourse", "powerhouse",
+ "powerlifing", "powerlifting",
+ "powerliftng", "powerlifting",
+ "pracitcally", "practically",
+ "practicarlo", "practical",
+ "practioners", "practitioners",
+ "practitions", "practitioners",
+ "pragmatisch", "pragmatic",
+ "precausions", "precautions",
+ "precedessor", "predecessor",
+ "precendence", "precedence",
+ "precentages", "percentages",
+ "preconceved", "preconceived",
+ "preconcieve", "preconceived",
+ "precuations", "precautions",
+ "predacessor", "predecessor",
+ "predecesser", "predecessor",
+ "predections", "predictions",
+ "predescesor", "predecessors",
+ "predesessor", "predecessors",
+ "predesposed", "predisposed",
+ "predessecor", "predecessor",
+ "predicatble", "predictable",
+ "predicement", "predicament",
+ "predicessor", "predecessor",
+ "prediciment", "predicament",
+ "predicitons", "predictions",
+ "predictible", "predictable",
+ "predictious", "predictions",
+ "predictment", "predicament",
+ "predisposte", "predisposed",
+ "predocessor", "predecessor",
+ "preferabbly", "preferably",
+ "preferabely", "preferable",
+ "preferabley", "preferably",
+ "preferablly", "preferably",
+ "preferances", "preferences",
+ "preferenser", "preferences",
+ "preferental", "preferential",
+ "preferentes", "preferences",
+ "preferrably", "preferably",
+ "preferrring", "preferring",
+ "preformance", "performance",
+ "pregnanices", "pregnancies",
+ "pregnencies", "pregnancies",
+ "pregorative", "prerogative",
+ "preipherals", "peripherals",
+ "prejudicies", "prejudice",
+ "preleminary", "preliminary",
+ "prelimanary", "preliminary",
+ "prelimenary", "preliminary",
+ "premanently", "permanently",
+ "prematuraly", "prematurely",
+ "prematurily", "prematurely",
+ "prematurley", "prematurely",
+ "premilinary", "preliminary",
+ "premissible", "permissible",
+ "premissions", "permissions",
+ "preorderded", "preordered",
+ "preorderers", "preorders",
+ "preparacion", "preparation",
+ "preperation", "preparation",
+ "prepetrated", "perpetrated",
+ "prepetrator", "perpetrator",
+ "prepetually", "perpetually",
+ "prepetuated", "perpetuated",
+ "prepetuates", "perpetuates",
+ "preporation", "preparation",
+ "preposterus", "preposterous",
+ "prerequesit", "prerequisite",
+ "prerequiste", "prerequisite",
+ "prerequites", "prerequisite",
+ "prerogitive", "prerogative",
+ "prerogotive", "prerogative",
+ "prescripton", "prescription",
+ "presecution", "persecution",
+ "presedintia", "presidential",
+ "presentaion", "presentation",
+ "presentatin", "presentations",
+ "preservaton", "preservation",
+ "preservered", "preserved",
+ "presidencey", "presidency",
+ "presidental", "presidential",
+ "presidentcy", "presidency",
+ "presistence", "persistence",
+ "presitgious", "prestigious",
+ "presitigous", "prestigious",
+ "presomption", "presumption",
+ "prespective", "perspective",
+ "pressureing", "pressuring",
+ "prestegious", "prestigious",
+ "prestigeous", "prestigious",
+ "prestigieus", "prestigious",
+ "prestigiosa", "prestigious",
+ "prestigiose", "prestigious",
+ "prestigiosi", "prestigious",
+ "prestigioso", "prestigious",
+ "prestiguous", "prestigious",
+ "presumabely", "presumably",
+ "presumabley", "presumably",
+ "presumptous", "presumptuous",
+ "presumptuos", "presumptuous",
+ "pretencious", "pretentious",
+ "pretendendo", "pretended",
+ "pretensious", "pretentious",
+ "pretentieus", "pretentious",
+ "prevailaing", "prevailing",
+ "prevailling", "prevailing",
+ "preventitve", "preventative",
+ "preventivno", "prevention",
+ "primatively", "primitively",
+ "princessses", "princesses",
+ "principales", "principles",
+ "principalis", "principals",
+ "principielt", "principle",
+ "privatizied", "privatized",
+ "priveledges", "privileges",
+ "privelleges", "privileges",
+ "privilegeds", "privileges",
+ "privilegied", "privileged",
+ "privilegien", "privilege",
+ "privilegier", "privilege",
+ "privilegies", "privilege",
+ "proactivley", "proactive",
+ "probabilaty", "probability",
+ "probabilite", "probabilities",
+ "probalibity", "probability",
+ "probelmatic", "problematic",
+ "problamatic", "problematic",
+ "problimatic", "problematic",
+ "problomatic", "problematic",
+ "proccedings", "proceedings",
+ "proccessing", "processing",
+ "proceddings", "proceedings",
+ "procedureal", "procedural",
+ "procedurial", "procedural",
+ "procedurile", "procedure",
+ "processesor", "processors",
+ "processeurs", "processes",
+ "processsors", "processors",
+ "procrastion", "procreation",
+ "procriation", "procreation",
+ "prodcutions", "productions",
+ "prodictions", "productions",
+ "producerats", "producers",
+ "producitons", "productions",
+ "productioin", "productions",
+ "productivos", "productions",
+ "productivty", "productivity",
+ "produktions", "productions",
+ "professinal", "professional",
+ "professionl", "professionals",
+ "professoras", "professors",
+ "professores", "professors",
+ "professorin", "profession",
+ "professsion", "professions",
+ "proficiancy", "proficiency",
+ "proficienct", "proficient",
+ "proficienty", "proficiency",
+ "proficinecy", "proficiency",
+ "profitabile", "profitable",
+ "progerssion", "progressions",
+ "progerssive", "progressives",
+ "programable", "programmable",
+ "programmare", "programmer",
+ "programmars", "programmers",
+ "programmate", "programme",
+ "programmets", "programmers",
+ "programmeur", "programmer",
+ "programmier", "programmer",
+ "programmmed", "programme",
+ "programmmer", "programme",
+ "progresison", "progressions",
+ "progressers", "progresses",
+ "progressief", "progressive",
+ "progressino", "progressions",
+ "progressivo", "progression",
+ "progressoin", "progressions",
+ "progressvie", "progressives",
+ "prohabition", "prohibition",
+ "prohibation", "prohibition",
+ "prohibicion", "prohibition",
+ "prohibiteds", "prohibits",
+ "prohibitied", "prohibited",
+ "prohibitifs", "prohibits",
+ "prohibitivo", "prohibition",
+ "prohibitons", "prohibits",
+ "prohibitted", "prohibited",
+ "projecticle", "projectile",
+ "projectives", "projectiles",
+ "projectlies", "projectiles",
+ "prolateriat", "proletariat",
+ "proletariet", "proletariat",
+ "proletariot", "proletariat",
+ "proletaryat", "proletariat",
+ "proleteriat", "proletariat",
+ "prolitariat", "proletariat",
+ "prologomena", "prolegomena",
+ "promenantly", "prominently",
+ "promenently", "prominently",
+ "prometheius", "prometheus",
+ "prometheous", "prometheus",
+ "promethesus", "prometheus",
+ "prometheyus", "prometheus",
+ "promimently", "prominently",
+ "prominantly", "prominently",
+ "prominately", "prominently",
+ "promiscious", "promiscuous",
+ "promocional", "promotional",
+ "promsicuous", "promiscuous",
+ "pronography", "pornography",
+ "pronoucning", "pronouncing",
+ "pronounched", "pronounced",
+ "pronunciato", "pronunciation",
+ "propaganada", "propaganda",
+ "properitary", "proprietary",
+ "propertiary", "proprietary",
+ "propertions", "proportions",
+ "prophechies", "prophecies",
+ "propiertary", "proprietary",
+ "propogation", "propagation",
+ "proponenets", "proponents",
+ "proponentes", "proponents",
+ "proporition", "proposition",
+ "proportians", "proportions",
+ "proportinal", "proportional",
+ "proposicion", "proposition",
+ "propositivo", "proposition",
+ "propostions", "proportions",
+ "propreitary", "proprietary",
+ "propriatary", "proprietary",
+ "propriatery", "proprietary",
+ "propriatory", "proprietary",
+ "proprietery", "proprietary",
+ "proprietory", "proprietary",
+ "propriotary", "proprietary",
+ "proprotions", "proportions",
+ "propsective", "prospective",
+ "propulstion", "propulsion",
+ "prosectuion", "prosecution",
+ "prosectuors", "prosecutors",
+ "prosecuters", "prosecutors",
+ "prosicution", "prosecution",
+ "prosocution", "prosecution",
+ "prosperious", "prosperous",
+ "prospertity", "prosperity",
+ "prospettive", "prospective",
+ "prostethics", "prosthetic",
+ "prosthethic", "prosthetic",
+ "prostitites", "prostitutes",
+ "prostitiute", "prostitute",
+ "prostituate", "prostitute",
+ "prostitudes", "prostitutes",
+ "prostituees", "prostitutes",
+ "prostituion", "prostitution",
+ "prostitures", "prostitutes",
+ "prostitutas", "prostitutes",
+ "prostitutie", "prostitute",
+ "prostitutin", "prostitution",
+ "prostitutke", "prostitutes",
+ "prostituton", "prostitution",
+ "prostitutos", "prostitutes",
+ "protability", "portability",
+ "protaganist", "protagonist",
+ "protaginist", "protagonist",
+ "protagnoist", "protagonist",
+ "protagoinst", "protagonists",
+ "protagonits", "protagonists",
+ "protagonsit", "protagonists",
+ "protectings", "protections",
+ "protectoras", "protectors",
+ "protectores", "protectors",
+ "protectrons", "protections",
+ "protelariat", "proletariat",
+ "protestents", "protestants",
+ "protistants", "protestants",
+ "protoganist", "protagonist",
+ "protogonist", "protagonist",
+ "protostants", "protestants",
+ "protototype", "prototype",
+ "provacative", "provocative",
+ "provacotive", "provocative",
+ "provicative", "provocative",
+ "providencie", "providence",
+ "provinciaal", "provincial",
+ "provinicial", "provincial",
+ "provisiones", "provisions",
+ "provoactive", "provocative",
+ "provocatief", "provocative",
+ "provocitive", "provocative",
+ "provocotive", "provocative",
+ "provokative", "provocative",
+ "pscyhedelic", "psychedelic",
+ "pscyhiatric", "psychiatric",
+ "pscyhopaths", "psychopaths",
+ "pshyciatric", "psychiatric",
+ "pshycopaths", "psychopaths",
+ "psychaitric", "psychiatric",
+ "psychedilic", "psychedelic",
+ "psychedleic", "psychedelics",
+ "psychiatist", "psychiatrist",
+ "psychidelic", "psychedelic",
+ "psychodelic", "psychedelic",
+ "psychopants", "psychopaths",
+ "psychopatch", "psychopath",
+ "psychopatic", "psychopathic",
+ "psychotisch", "psychotic",
+ "psychriatic", "psychiatric",
+ "publikation", "publication",
+ "punctiation", "punctuation",
+ "puncutation", "punctuation",
+ "punshiments", "punishments",
+ "punsihments", "punishments",
+ "purchaseing", "purchasing",
+ "purchashing", "purchasing",
+ "purposefuly", "purposefully",
+ "pyschedelic", "psychedelic",
+ "pyschiatric", "psychiatric",
+ "pyschopaths", "psychopaths",
+ "qaurterback", "quarterback",
+ "qualificato", "qualification",
+ "qualifieres", "qualifiers",
+ "quantitaive", "quantitative",
+ "quantitatve", "quantitative",
+ "quantitites", "quantities",
+ "quantitties", "quantities",
+ "quarantaine", "quarantine",
+ "quarantenni", "quarantine",
+ "quartercask", "quarterbacks",
+ "quesitoning", "questioning",
+ "questionned", "questioned",
+ "questonable", "questionable",
+ "radiaoctive", "radioactive",
+ "radioactice", "radioactive",
+ "radioactief", "radioactive",
+ "radioaktive", "radioactive",
+ "radiocative", "radioactive",
+ "raidoactive", "radioactive",
+ "reaccurring", "recurring",
+ "reactionair", "reactionary",
+ "realibility", "reliability",
+ "realistisch", "realistic",
+ "reaserchers", "researchers",
+ "reaserching", "researching",
+ "reasonabley", "reasonably",
+ "reasonablly", "reasonably",
+ "reassureing", "reassuring",
+ "reassurring", "reassuring",
+ "rebuildling", "rebuilding",
+ "rebuplicans", "republicans",
+ "reccomended", "recommended",
+ "receptionst", "receptionist",
+ "recgonition", "recognition",
+ "recgonizing", "recognizing",
+ "rechargable", "rechargeable",
+ "recipientes", "recipients",
+ "reciporcate", "reciprocate",
+ "recipricate", "reciprocate",
+ "reciprocant", "reciprocate",
+ "reciprocite", "reciprocate",
+ "recivership", "receivership",
+ "reclutantly", "reluctantly",
+ "recognicing", "recognizing",
+ "recognision", "recognition",
+ "recomending", "recommending",
+ "recommandes", "recommends",
+ "recommendes", "recommends",
+ "recommented", "recommended",
+ "reconcilled", "reconcile",
+ "recongition", "recognition",
+ "recongizing", "recognizing",
+ "reconsidder", "reconsider",
+ "recrational", "recreational",
+ "recrutiment", "recruitment",
+ "rectangluar", "rectangular",
+ "rectangualr", "rectangular",
+ "rectengular", "rectangular",
+ "recuritment", "recruitment",
+ "redundantcy", "redundancy",
+ "reevalulate", "reevaluate",
+ "reevalutate", "reevaluate",
+ "reevaulated", "reevaluate",
+ "refelctions", "reflections",
+ "referancing", "referencing",
+ "refereneced", "referenced",
+ "refereneces", "references",
+ "referincing", "referencing",
+ "referrences", "references",
+ "reflectivos", "reflections",
+ "refreshener", "refresher",
+ "refrubished", "refurbished",
+ "refubrished", "refurbished",
+ "refurbushed", "refurbished",
+ "regeneratin", "regeneration",
+ "regeneraton", "regeneration",
+ "registerdns", "registers",
+ "registeries", "registers",
+ "registerred", "registered",
+ "registraion", "registration",
+ "regocnition", "recognition",
+ "regresssion", "regression",
+ "regresssive", "regressive",
+ "regualtions", "regulations",
+ "regulationg", "regulating",
+ "regulatiors", "regulators",
+ "reinassance", "renaissance",
+ "reinforcemt", "reinforcement",
+ "reinfornced", "reinforced",
+ "reinitalise", "reinitialise",
+ "reinitalize", "reinitialize",
+ "reinstaling", "reinstalling",
+ "reinstallng", "reinstalling",
+ "reisntalled", "reinstalled",
+ "relaibility", "reliability",
+ "relatiation", "retaliation",
+ "relationshp", "relationships",
+ "relativiser", "relatives",
+ "relativisme", "relatives",
+ "relativitiy", "relativity",
+ "relativitly", "relativity",
+ "relcutantly", "reluctantly",
+ "relentlesly", "relentlessly",
+ "relentlessy", "relentlessly",
+ "relevations", "revelations",
+ "relfections", "reflections",
+ "religeously", "religiously",
+ "religionens", "religions",
+ "religioners", "religions",
+ "relpacement", "replacement",
+ "reluctently", "reluctantly",
+ "remarkabley", "remarkably",
+ "remarkablly", "remarkably",
+ "remasterred", "remastered",
+ "remembrence", "remembrance",
+ "reminescent", "reminiscent",
+ "reminicient", "reminiscent",
+ "reminiscant", "reminiscent",
+ "reminiscint", "reminiscent",
+ "reminscient", "reminiscent",
+ "reminsicent", "reminiscent",
+ "renaiisance", "renaissance",
+ "renaiscance", "renaissance",
+ "renaissanse", "renaissance",
+ "renaissence", "renaissance",
+ "renassaince", "renaissance",
+ "renassiance", "renaissance",
+ "reniassance", "renaissance",
+ "rennovating", "renovating",
+ "rennovation", "renovation",
+ "repalcement", "replacement",
+ "repbulicans", "republicans",
+ "repeateadly", "repeatedly",
+ "repectively", "respectively",
+ "repersented", "represented",
+ "replacemnet", "replacements",
+ "replacemnts", "replacements",
+ "repleacable", "replaceable",
+ "repositiory", "repository",
+ "representas", "represents",
+ "representes", "represents",
+ "represssion", "repression",
+ "reproducion", "reproduction",
+ "reproducive", "reproductive",
+ "repsectable", "respectable",
+ "repsonsible", "responsible",
+ "repsonsibly", "responsibly",
+ "republcians", "republicans",
+ "republician", "republican",
+ "republicons", "republicans",
+ "repuglicans", "republicans",
+ "requeriment", "requirement",
+ "requierment", "requirements",
+ "resemblence", "resemblance",
+ "resemblense", "resembles",
+ "reserachers", "researchers",
+ "reseraching", "researching",
+ "resgination", "resignation",
+ "residencial", "residential",
+ "residentail", "residential",
+ "residentual", "residential",
+ "resignacion", "resignation",
+ "resignating", "resignation",
+ "resignement", "resignment",
+ "resignition", "resignation",
+ "resintalled", "reinstalled",
+ "resistansen", "resistances",
+ "resistanses", "resistances",
+ "resistences", "resistances",
+ "resistnaces", "resistances",
+ "resoltuions", "resolutions",
+ "resotration", "restoration",
+ "resoultions", "resolutions",
+ "respecatble", "respectable",
+ "respectabil", "respectable",
+ "respectfuly", "respectfully",
+ "respectible", "respectable",
+ "respectivly", "respectively",
+ "respectuful", "respectful",
+ "respektable", "respectable",
+ "resperatory", "respiratory",
+ "resperitory", "respiratory",
+ "respiritory", "respiratory",
+ "respitatory", "respiratory",
+ "responcible", "responsible",
+ "responcibly", "responsibly",
+ "respondendo", "responded",
+ "responisble", "responsible",
+ "responisbly", "responsibly",
+ "responsable", "responsible",
+ "responsably", "responsibly",
+ "responsbile", "responsible",
+ "responsbily", "responsibly",
+ "responsibel", "responsibly",
+ "responsibil", "responsibly",
+ "responsivle", "responsive",
+ "resporatory", "respiratory",
+ "respository", "repository",
+ "respriatory", "respiratory",
+ "ressembling", "resembling",
+ "ressurected", "resurrected",
+ "restaraunts", "restaurants",
+ "restaruants", "restaurants",
+ "restauraunt", "restaurant",
+ "restaurents", "restaurants",
+ "resteraunts", "restaurants",
+ "restirction", "restriction",
+ "restorarion", "restoration",
+ "restorating", "restoration",
+ "restrainted", "restrained",
+ "restrective", "restrictive",
+ "restriccion", "restriction",
+ "restricitng", "restricting",
+ "restriciton", "restrictions",
+ "restricitve", "restrictive",
+ "restricteds", "restricts",
+ "restricters", "restricts",
+ "restrictied", "restrictive",
+ "restrictifs", "restricts",
+ "restrictins", "restricts",
+ "restrictios", "restricts",
+ "restrictivo", "restriction",
+ "restrictons", "restricts",
+ "restriktion", "restriction",
+ "restriktive", "restrictive",
+ "restrittive", "restrictive",
+ "restructing", "restricting",
+ "restruction", "restriction",
+ "restuarants", "restaurants",
+ "resturaunts", "restaurants",
+ "resurecting", "resurrecting",
+ "resurrecion", "resurrection",
+ "retailation", "retaliation",
+ "retalitated", "retaliated",
+ "retardathon", "retardation",
+ "retardating", "retardation",
+ "retardatron", "retardation",
+ "retartation", "retardation",
+ "retirbution", "retribution",
+ "retrebution", "retribution",
+ "retribucion", "retribution",
+ "retribuiton", "retribution",
+ "retributivo", "retribution",
+ "retribvtion", "retribution",
+ "retrobution", "retribution",
+ "retrubution", "retribution",
+ "revealtions", "revelations",
+ "revelaitons", "revelations",
+ "revolations", "revolutions",
+ "revoultions", "revolutions",
+ "ridiculious", "ridiculous",
+ "ridiculosly", "ridiculously",
+ "ridiculouly", "ridiculously",
+ "ridiculousy", "ridiculously",
+ "rightfullly", "rightfully",
+ "rolepalying", "roleplaying",
+ "romanticaly", "romantically",
+ "roundabaout", "roundabout",
+ "roundabount", "roundabout",
+ "rudimentery", "rudimentary",
+ "rudimentory", "rudimentary",
+ "ruidmentary", "rudimentary",
+ "sacrifacing", "sacrificing",
+ "sacrificare", "sacrifice",
+ "sacrificied", "sacrifice",
+ "sacrificies", "sacrifice",
+ "sacrifieced", "sacrificed",
+ "sacrifising", "sacrificing",
+ "sacrifizing", "sacrificing",
+ "salughtered", "slaughtered",
+ "sanctionned", "sanctioned",
+ "sarcastisch", "sarcastic",
+ "saskatchewn", "saskatchewan",
+ "saskatchwan", "saskatchewan",
+ "satisfacion", "satisfaction",
+ "satisfacory", "satisfactory",
+ "scandanavia", "scandinavia",
+ "scandanivia", "scandinavian",
+ "scandenavia", "scandinavia",
+ "scandianvia", "scandinavian",
+ "scandimania", "scandinavia",
+ "scandinaiva", "scandinavian",
+ "scandinavan", "scandinavian",
+ "scandivania", "scandinavian",
+ "scandonavia", "scandinavia",
+ "scarificing", "sacrificing",
+ "scheduleing", "scheduling",
+ "schedulling", "scheduling",
+ "schoalrship", "scholarships",
+ "scholarhips", "scholarship",
+ "scholarstic", "scholastic",
+ "scholership", "scholarship",
+ "scholorship", "scholarship",
+ "scientiests", "scientists",
+ "scnadinavia", "scandinavia",
+ "scrambleing", "scrambling",
+ "screenshoot", "screenshot",
+ "seamlessley", "seamlessly",
+ "sedentarity", "sedentary",
+ "seflishness", "selfishness",
+ "segergation", "segregation",
+ "segragation", "segregation",
+ "segregacion", "segregation",
+ "segretation", "segregation",
+ "segrigation", "segregation",
+ "selectivley", "selectively",
+ "selfeshness", "selfishness",
+ "senitmental", "sentimental",
+ "sensacional", "sensational",
+ "sensasional", "sensational",
+ "sensationel", "sensational",
+ "sensetional", "sensational",
+ "sensitivety", "sensitivity",
+ "sentamental", "sentimental",
+ "sentemental", "sentimental",
+ "sentenceing", "sentencing",
+ "sentimentos", "sentiments",
+ "sentimentul", "sentimental",
+ "separatedly", "separately",
+ "separatelly", "separately",
+ "separatisme", "separates",
+ "separatiste", "separates",
+ "sepculating", "speculating",
+ "serivceable", "serviceable",
+ "serviciable", "serviceable",
+ "settelement", "settlement",
+ "settelments", "settlements",
+ "settlemetns", "settlements",
+ "sexualizied", "sexualized",
+ "shakeapeare", "shakespeare",
+ "shakepseare", "shakespeare",
+ "shakesphere", "shakespeare",
+ "shanenigans", "shenanigans",
+ "shareholdes", "shareholders",
+ "sharpeneing", "sharpening",
+ "sharpenning", "sharpening",
+ "shatterling", "shattering",
+ "shatterring", "shattering",
+ "sheakspeare", "shakespeare",
+ "shenadigans", "shenanigans",
+ "shenanagans", "shenanigans",
+ "shenanagins", "shenanigans",
+ "shenanegans", "shenanigans",
+ "shenanegins", "shenanigans",
+ "shenangians", "shenanigans",
+ "shenanigens", "shenanigans",
+ "shenanigins", "shenanigans",
+ "shenenigans", "shenanigans",
+ "sheninigans", "shenanigans",
+ "shennaigans", "shenanigans",
+ "shortenning", "shortening",
+ "shortenting", "shortening",
+ "signficiant", "significant",
+ "signifantly", "significantly",
+ "significane", "significance",
+ "significato", "significant",
+ "signifigant", "significant",
+ "signifikant", "significant",
+ "signitories", "signatories",
+ "signularity", "singularity",
+ "similarites", "similarities",
+ "similarlity", "similarity",
+ "similiarity", "similarity",
+ "simluations", "simulations",
+ "simplefying", "simplifying",
+ "simplicitly", "simplicity",
+ "simplifiing", "simplifying",
+ "simplisitic", "simplistic",
+ "simplyifing", "simplifying",
+ "simualtions", "simulations",
+ "simulatious", "simulations",
+ "simultaneos", "simultaneous",
+ "simultaneus", "simultaneous",
+ "simultanous", "simultaneous",
+ "singluarity", "singularity",
+ "singualrity", "singularity",
+ "singulairty", "singularity",
+ "singularily", "singularity",
+ "sitautional", "situational",
+ "situacional", "situational",
+ "situationly", "situational",
+ "siutational", "situational",
+ "skatebaords", "skateboard",
+ "skateboader", "skateboard",
+ "skepticisim", "skepticism",
+ "skillshoots", "skillshots",
+ "skillshosts", "skillshots",
+ "slaugthered", "slaughtered",
+ "slefishness", "selfishness",
+ "sluaghtered", "slaughtered",
+ "smarthpones", "smartphones",
+ "snowboaring", "snowboarding",
+ "snowbolling", "snowballing",
+ "snowfalling", "snowballing",
+ "socailizing", "socializing",
+ "socialicing", "socializing",
+ "socialistes", "socialists",
+ "socialistos", "socialists",
+ "socializare", "socialize",
+ "sociapathic", "sociopathic",
+ "sociologial", "sociological",
+ "sociopathes", "sociopaths",
+ "sociopathis", "sociopaths",
+ "sociophatic", "sociopathic",
+ "solidariety", "solidarity",
+ "somethingis", "somethings",
+ "sorrounding", "surrounding",
+ "soundtrakcs", "soundtracks",
+ "southamtpon", "southampton",
+ "southanpton", "southampton",
+ "southapmton", "southampton",
+ "southernese", "southerners",
+ "southerness", "southerners",
+ "southernest", "southerners",
+ "southernors", "southerners",
+ "southmapton", "southampton",
+ "southtampon", "southampton",
+ "soveregnity", "sovereignty",
+ "sovereighty", "sovereignty",
+ "sovereingty", "sovereignty",
+ "sovereinity", "sovereignty",
+ "soveriegnty", "sovereignty",
+ "soveriengty", "sovereignty",
+ "soverignity", "sovereignty",
+ "specailists", "specialists",
+ "specailized", "specialized",
+ "specailizes", "specializes",
+ "specatcular", "spectacular",
+ "specialiced", "specialized",
+ "specialices", "specializes",
+ "specialites", "specializes",
+ "speciallist", "specialist",
+ "speciallity", "specially",
+ "speciallize", "specialize",
+ "specialzied", "specialized",
+ "specifcally", "specifically",
+ "specificaly", "specifically",
+ "specificato", "specification",
+ "specificies", "specifics",
+ "specifiying", "specifying",
+ "specilaized", "specialize",
+ "speciliazed", "specialize",
+ "spectatores", "spectators",
+ "spectatular", "spectacular",
+ "spectauclar", "spectacular",
+ "spectaulars", "spectaculars",
+ "spectecular", "spectacular",
+ "specualting", "speculating",
+ "specualtion", "speculation",
+ "specualtive", "speculative",
+ "specularite", "speculative",
+ "speculaties", "speculative",
+ "spiritualiy", "spiritually",
+ "spiritualty", "spirituality",
+ "spirituella", "spiritually",
+ "spirtiually", "spiritually",
+ "spirutually", "spiritually",
+ "spitirually", "spiritually",
+ "sponatenous", "spontaneous",
+ "sponatneous", "spontaneous",
+ "sponsership", "sponsorship",
+ "sponsorhips", "sponsorship",
+ "sponsorhsip", "sponsorship",
+ "sponsorshop", "sponsorship",
+ "spontaenous", "spontaneous",
+ "spontainous", "spontaneous",
+ "spontaneuos", "spontaneous",
+ "spontanious", "spontaneous",
+ "sponteanous", "spontaneous",
+ "sponteneous", "spontaneous",
+ "spreadhseet", "spreadsheet",
+ "spreadsheat", "spreadsheet",
+ "spreadshets", "spreadsheets",
+ "spreedsheet", "spreadsheet",
+ "springfeild", "springfield",
+ "springfiled", "springfield",
+ "sprinklered", "sprinkled",
+ "squirrelies", "squirrels",
+ "squirrelius", "squirrels",
+ "stabilizare", "stabilize",
+ "stabilizied", "stabilize",
+ "stabilizier", "stabilize",
+ "stabilizies", "stabilize",
+ "staggerring", "staggering",
+ "staggerwing", "staggering",
+ "stationairy", "stationary",
+ "stationerad", "stationed",
+ "stationnary", "stationary",
+ "statisitcal", "statistical",
+ "statisticly", "statistical",
+ "statistisch", "statistics",
+ "statsitical", "statistical",
+ "stereotpyes", "stereotypes",
+ "stereotying", "stereotyping",
+ "steriotypes", "stereotypes",
+ "steroetypes", "stereotypes",
+ "steryotypes", "stereotypes",
+ "stimluating", "stimulating",
+ "stimualting", "stimulating",
+ "stimualtion", "stimulation",
+ "stimulantes", "stimulants",
+ "stockpilled", "stockpile",
+ "stormfrount", "stormfront",
+ "storyteling", "storytelling",
+ "straightden", "straightened",
+ "straightend", "straightened",
+ "straightmen", "straighten",
+ "straightned", "straightened",
+ "straightner", "straighten",
+ "strangeshit", "strangest",
+ "strategisch", "strategic",
+ "strategiske", "strategies",
+ "strawberies", "strawberries",
+ "strawberrry", "strawberry",
+ "strawbrerry", "strawberry",
+ "strenghened", "strengthened",
+ "strenghtend", "strengthen",
+ "strenghtens", "strengthen",
+ "strengtened", "strengthened",
+ "structurels", "structures",
+ "strugglebus", "struggles",
+ "struggleing", "struggling",
+ "stubborness", "stubbornness",
+ "stutterring", "stuttering",
+ "subcatagory", "subcategory",
+ "subconscius", "subconscious",
+ "subconscous", "subconscious",
+ "subisdizing", "subsidizing",
+ "subjectivly", "subjectively",
+ "submergered", "submerged",
+ "submisisons", "submissions",
+ "subredddits", "subreddits",
+ "subscirbers", "subscribers",
+ "subscribbed", "subscribe",
+ "subscribber", "subscriber",
+ "subscriping", "subscribing",
+ "subscriptin", "subscriptions",
+ "subscripton", "subscription",
+ "subsequenty", "subsequently",
+ "subsidiezed", "subsidized",
+ "subsidizied", "subsidized",
+ "subsidizies", "subsidize",
+ "subsiziding", "subsidizing",
+ "subsquently", "subsequently",
+ "subsrcibers", "subscribers",
+ "substancial", "substantial",
+ "substansial", "substantial",
+ "substansive", "substantive",
+ "substantied", "substantive",
+ "substanties", "substantive",
+ "substential", "substantial",
+ "substitiute", "substitute",
+ "substituded", "substituted",
+ "substitudes", "substitutes",
+ "substituion", "substitution",
+ "substitures", "substitutes",
+ "substitutie", "substitutes",
+ "substitutos", "substitutes",
+ "substitutue", "substitutes",
+ "substracted", "subtracted",
+ "suburburban", "suburban",
+ "succesfully", "successfully",
+ "successeurs", "successes",
+ "successfull", "successful",
+ "successfuly", "successfully",
+ "successsion", "succession",
+ "successully", "successfully",
+ "succsesfull", "successfully",
+ "sucessfully", "successfully",
+ "sucseptible", "susceptible",
+ "sufficently", "sufficiently",
+ "suggestieve", "suggestive",
+ "sumbissions", "submissions",
+ "sunglassses", "sunglasses",
+ "superceeded", "superseded",
+ "superficiel", "superficial",
+ "superfulous", "superfluous",
+ "superhereos", "superhero",
+ "superifical", "superficial",
+ "superiorest", "superiors",
+ "supermacist", "supremacist",
+ "supermakert", "supermarkets",
+ "supermakret", "supermarkets",
+ "supermakter", "supermarkets",
+ "supermarkts", "supermarkets",
+ "supermaster", "supermarkets",
+ "supernatual", "supernatural",
+ "supersition", "supervision",
+ "superstiton", "superstition",
+ "supervisers", "supervisors",
+ "supervisior", "supervisor",
+ "suplimented", "supplemented",
+ "supplaments", "supplements",
+ "supplemetal", "supplemental",
+ "supporteurs", "supporters",
+ "supposedely", "supposedly",
+ "supposidely", "supposedly",
+ "supposingly", "supposedly",
+ "suppresions", "suppression",
+ "suppresssor", "suppressor",
+ "supramacist", "supremacist",
+ "supremacits", "supremacist",
+ "supremasist", "supremacist",
+ "supremicist", "supremacist",
+ "suprimacist", "supremacist",
+ "suprisingly", "surprisingly",
+ "suprizingly", "surprisingly",
+ "suroundings", "surroundings",
+ "surpemacist", "supremacist",
+ "surprisinly", "surprisingly",
+ "surreptious", "surreptitious",
+ "surroundign", "surroundings",
+ "surroundigs", "surrounds",
+ "surroundins", "surrounds",
+ "surroundngs", "surrounds",
+ "surveilence", "surveillance",
+ "survivabily", "survivability",
+ "susbtantial", "substantial",
+ "susbtantive", "substantive",
+ "suscepitble", "susceptible",
+ "susceptable", "susceptible",
+ "suscpetible", "susceptible",
+ "susecptible", "susceptible",
+ "suspectible", "susceptible",
+ "suspiciosly", "suspiciously",
+ "suspiciouly", "suspiciously",
+ "suspiciouns", "suspicion",
+ "suspicision", "suspicions",
+ "suspicisons", "suspicions",
+ "sustainible", "sustainable",
+ "switerzland", "switzerland",
+ "switserland", "switzerland",
+ "switzlerand", "switzerland",
+ "swizterland", "switzerland",
+ "swtizerland", "switzerland",
+ "symapthetic", "sympathetic",
+ "symmertical", "symmetrical",
+ "sympathatic", "sympathetic",
+ "sympathiers", "sympathizers",
+ "sympathsize", "sympathize",
+ "sympethetic", "sympathetic",
+ "symphatetic", "sympathetic",
+ "symphatized", "sympathize",
+ "symphatizer", "sympathizers",
+ "symphatizes", "sympathize",
+ "sympothetic", "sympathetic",
+ "synthesasia", "synthesis",
+ "synthesesia", "synthesis",
+ "sypmathetic", "sympathetic",
+ "tabelspoons", "tablespoons",
+ "tablepsoons", "tablespoons",
+ "tablespooon", "tablespoon",
+ "tablesppons", "tablespoons",
+ "tailgateing", "tailgating",
+ "tailgatting", "tailgating",
+ "tangentialy", "tangentially",
+ "techincally", "technically",
+ "techincians", "technicians",
+ "techiniques", "techniques",
+ "techncially", "technically",
+ "technicalty", "technicality",
+ "technichian", "technician",
+ "technicials", "technicians",
+ "techniciens", "technicians",
+ "technitians", "technicians",
+ "technnology", "technology",
+ "technologia", "technological",
+ "techticians", "technicians",
+ "teleportato", "teleportation",
+ "teleportion", "teleporting",
+ "teleproting", "teleporting",
+ "temeprature", "temperature",
+ "temparament", "temperament",
+ "temparature", "temperature",
+ "temparement", "temperament",
+ "tempearture", "temperatures",
+ "temperamant", "temperament",
+ "temperarily", "temporarily",
+ "temperatues", "temperatures",
+ "temperaturs", "temperatures",
+ "temperatuur", "temperature",
+ "temperement", "temperament",
+ "tempermeant", "temperament",
+ "tempertaure", "temperature",
+ "temporairly", "temporarily",
+ "temporaraly", "temporarily",
+ "temporarity", "temporarily",
+ "tempreature", "temperature",
+ "temproarily", "temporarily",
+ "tempurature", "temperature",
+ "tepmorarily", "temporarily",
+ "termanology", "terminology",
+ "terminacion", "termination",
+ "terminaison", "termination",
+ "terminalogy", "terminology",
+ "terminatior", "terminator",
+ "terminatorn", "termination",
+ "terminilogy", "terminology",
+ "terminoligy", "terminology",
+ "terratorial", "territorial",
+ "terratories", "territories",
+ "terretorial", "territorial",
+ "terretories", "territories",
+ "terrirorial", "territorial",
+ "terrirories", "territories",
+ "terriroties", "territories",
+ "terristrial", "territorial",
+ "territoires", "territories",
+ "territorist", "terrorist",
+ "territority", "territory",
+ "terroristas", "terrorists",
+ "terroristes", "terrorists",
+ "terrorities", "territories",
+ "terrotorial", "territorial",
+ "terrotories", "territories",
+ "testiclular", "testicular",
+ "thankfullly", "thankfully",
+ "thanksgivng", "thanksgiving",
+ "theoligical", "theological",
+ "theoratical", "theoretical",
+ "theoreticly", "theoretical",
+ "theoritical", "theoretical",
+ "therapautic", "therapeutic",
+ "therapeudic", "therapeutic",
+ "therapeutuc", "therapeutic",
+ "therapuetic", "therapeutic",
+ "theraupetic", "therapeutic",
+ "thereaputic", "therapeutic",
+ "thereotical", "theoretical",
+ "therepeutic", "therapeutic",
+ "thermometor", "thermometer",
+ "thermometre", "thermometer",
+ "thermomiter", "thermometer",
+ "thermomoter", "thermometer",
+ "thermoneter", "thermometer",
+ "thermostaat", "thermostat",
+ "theroetical", "theoretical",
+ "thoeretical", "theoretical",
+ "threataning", "threatening",
+ "threatended", "threatened",
+ "threatining", "threatening",
+ "throttleing", "throttling",
+ "throughoput", "throughput",
+ "throughtout", "throughout",
+ "throughtput", "throughput",
+ "thudnerbolt", "thunderbolt",
+ "thunberbolt", "thunderbolt",
+ "thunderblot", "thunderbolt",
+ "thunderboat", "thunderbolt",
+ "thunderbots", "thunderbolt",
+ "thunderbowl", "thunderbolt",
+ "thunderjolt", "thunderbolt",
+ "thundervolt", "thunderbolt",
+ "tightenting", "tightening",
+ "tocuhscreen", "touchscreen",
+ "torrentking", "torrenting",
+ "torrentting", "torrenting",
+ "torublesome", "troublesome",
+ "torunaments", "tournaments",
+ "totalitaran", "totalitarian",
+ "totalitarni", "totalitarian",
+ "touranments", "tournaments",
+ "tournamnets", "tournaments",
+ "tournemants", "tournaments",
+ "tournements", "tournaments",
+ "tournmanets", "tournaments",
+ "tradicional", "traditional",
+ "tradionally", "traditionally",
+ "tradisional", "traditional",
+ "traditionel", "traditional",
+ "traditition", "tradition",
+ "tragicallly", "tragically",
+ "tramautized", "traumatized",
+ "tramuatized", "traumatized",
+ "trancendent", "transcendent",
+ "trancending", "transcending",
+ "tranclucent", "translucent",
+ "trandgender", "transgender",
+ "tranditions", "transitions",
+ "tranistions", "transitions",
+ "tranlastion", "translations",
+ "tranlsating", "translating",
+ "tranlsation", "translation",
+ "tranluscent", "translucent",
+ "trannsexual", "transsexual",
+ "tranpshobic", "transphobic",
+ "transaccion", "transaction",
+ "transaciton", "transactions",
+ "transalting", "translating",
+ "transaltion", "translation",
+ "transations", "transitions",
+ "transcluent", "translucent",
+ "transcripto", "transcription",
+ "transctions", "transitions",
+ "transculent", "translucent",
+ "transending", "transcending",
+ "transfender", "transgender",
+ "transferers", "transfers",
+ "transfering", "transferring",
+ "transfersom", "transforms",
+ "transfomers", "transforms",
+ "transformas", "transforms",
+ "transformes", "transformers",
+ "transformis", "transforms",
+ "transformus", "transforms",
+ "transforums", "transforms",
+ "transfromed", "transformed",
+ "transfromer", "transformers",
+ "transgemder", "transgender",
+ "transgended", "transgendered",
+ "transgenger", "transgender",
+ "transgenres", "transgender",
+ "transhpobic", "transphobic",
+ "transisions", "transitions",
+ "transisitor", "transistor",
+ "transistion", "transition",
+ "transistior", "transistor",
+ "transitiond", "transitioned",
+ "transitiong", "transitioning",
+ "translatron", "translation",
+ "translusent", "translucent",
+ "transmatter", "transmitter",
+ "transmision", "transmission",
+ "transmissin", "transmissions",
+ "transmisson", "transmission",
+ "transmittor", "transmitter",
+ "transmorged", "transformed",
+ "transmutter", "transmitter",
+ "transofrmed", "transformed",
+ "transohobic", "transphobic",
+ "transparant", "transparent",
+ "transparecy", "transparency",
+ "transpareny", "transparency",
+ "transperant", "transparent",
+ "transperent", "transparent",
+ "transphonic", "transphobic",
+ "transphopic", "transphobic",
+ "transplanet", "transplant",
+ "transporder", "transporter",
+ "transporing", "transporting",
+ "transportar", "transporter",
+ "transportng", "transporting",
+ "transportor", "transporter",
+ "transseuxal", "transsexual",
+ "transsexaul", "transsexual",
+ "transsexuel", "transsexual",
+ "transulcent", "translucent",
+ "transylvnia", "transylvania",
+ "tranzformer", "transformer",
+ "tranzitions", "transitions",
+ "tranzporter", "transporter",
+ "trasncripts", "transcripts",
+ "trasnferred", "transferred",
+ "trasnformed", "transformed",
+ "trasnformer", "transformer",
+ "trasngender", "transgender",
+ "trasnmitted", "transmitted",
+ "trasnmitter", "transmitter",
+ "trasnparent", "transparent",
+ "trasnphobic", "transphobic",
+ "trasnported", "transported",
+ "trasnporter", "transporter",
+ "traumatisch", "traumatic",
+ "traumetized", "traumatized",
+ "traumitized", "traumatized",
+ "travellerhd", "travelled",
+ "travellodge", "travelled",
+ "tremendeous", "tremendous",
+ "tremendious", "tremendous",
+ "tremenduous", "tremendous",
+ "trespessing", "trespassing",
+ "tresspasing", "trespassing",
+ "triggereing", "triggering",
+ "triggerring", "triggering",
+ "troubelsome", "troublesome",
+ "truamatized", "traumatized",
+ "trushworthy", "trustworthy",
+ "trustowrthy", "trustworthy",
+ "trustwhorty", "trustworthy",
+ "trustworhty", "trustworthy",
+ "truthfullly", "truthfully",
+ "tupperwears", "tupperware",
+ "turstworthy", "trustworthy",
+ "ubiquitious", "ubiquitous",
+ "ubiquituous", "ubiquitous",
+ "ukraininans", "ukrainians",
+ "ultimatelly", "ultimately",
+ "unanimoulsy", "unanimous",
+ "unappeasing", "unappealing",
+ "unappeeling", "unappealing",
+ "unathorised", "unauthorised",
+ "unattendend", "unattended",
+ "unatteneded", "unattended",
+ "unattracive", "unattractive",
+ "unauthoried", "unauthorized",
+ "unavailible", "unavailable",
+ "unavaliable", "unavailable",
+ "unaviodable", "unavoidable",
+ "unbalanaced", "unbalanced",
+ "unbraikable", "unbreakable",
+ "unbrakeable", "unbreakable",
+ "unbreakabie", "unbreakable",
+ "unbreakabke", "unbreakable",
+ "unbreakbale", "unbreakable",
+ "unbreakeble", "unbreakable",
+ "unbrearable", "unbreakable",
+ "uncensorred", "uncensored",
+ "uncertaincy", "uncertainty",
+ "uncertanity", "uncertainty",
+ "uncertianty", "uncertainty",
+ "unchangable", "unchangeable",
+ "uncompetive", "uncompetitive",
+ "unconcsious", "unconscious",
+ "unconsicous", "unconscious",
+ "uncouncious", "unconscious",
+ "undeniabely", "undeniably",
+ "undeniabley", "undeniably",
+ "undeniablly", "undeniably",
+ "undenialbly", "undeniably",
+ "underestime", "underestimate",
+ "undergating", "undertaking",
+ "undergorund", "underground",
+ "underheight", "underweight",
+ "undermiming", "undermining",
+ "undermindes", "undermines",
+ "undernearth", "underneath",
+ "underneight", "underweight",
+ "underpining", "undermining",
+ "underpowerd", "underpowered",
+ "underpowred", "underpowered",
+ "underratted", "underrated",
+ "understannd", "understands",
+ "understsand", "understands",
+ "undertacker", "undertaker",
+ "underwarter", "underwater",
+ "underwieght", "underweight",
+ "underwright", "underweight",
+ "undesireble", "undesirable",
+ "undesriable", "undesirable",
+ "undetecable", "undetectable",
+ "undiserable", "undesirable",
+ "undoubedtly", "undoubtedly",
+ "undoubetdly", "undoubtedly",
+ "undoubtadly", "undoubtedly",
+ "undoubtebly", "undoubtedly",
+ "undoubtetly", "undoubtedly",
+ "undreground", "underground",
+ "unemployeed", "unemployed",
+ "unemployent", "unemployment",
+ "unemploymed", "unemployed",
+ "unexpectdly", "unexpectedly",
+ "unexpectely", "unexpectedly",
+ "unfamilliar", "unfamiliar",
+ "unfortuante", "unfortunate",
+ "ungreatfull", "ungrateful",
+ "unilateraly", "unilaterally",
+ "unilaterlly", "unilaterally",
+ "unimportent", "unimportant",
+ "uninspiried", "uninspired",
+ "uninstaling", "uninstalling",
+ "uninstallng", "uninstalling",
+ "uninteresed", "uninterested",
+ "uniquesness", "uniqueness",
+ "unisntalled", "uninstalled",
+ "universella", "universally",
+ "universites", "universities",
+ "univesities", "universities",
+ "unjustifyed", "unjustified",
+ "unknowinlgy", "unknowingly",
+ "unkowningly", "unknowingly",
+ "unnecassary", "unnecessary",
+ "unneccesary", "unnecessary",
+ "unnecessery", "unnecessary",
+ "unnecissary", "unnecessary",
+ "unnessecary", "unnecessary",
+ "unnistalled", "uninstalled",
+ "unoriginial", "unoriginal",
+ "unorigional", "unoriginal",
+ "unoticeable", "unnoticeable",
+ "unpleaseant", "unpleasant",
+ "unportected", "unprotected",
+ "unprepaired", "unprepared",
+ "unpreparred", "unprepared",
+ "unproducive", "unproductive",
+ "unprotexted", "unprotected",
+ "unqaulified", "unqualified",
+ "unrealisitc", "unrealistic",
+ "unrealsitic", "unrealistic",
+ "unreasonbly", "unreasonably",
+ "unregluated", "unregulated",
+ "unregualted", "unregulated",
+ "unregulared", "unregulated",
+ "unrepentent", "unrepentant",
+ "unresponive", "unresponsive",
+ "unrestriced", "unrestricted",
+ "unsettleing", "unsettling",
+ "unsintalled", "uninstalled",
+ "unsolicated", "unsolicited",
+ "unsoliticed", "unsolicited",
+ "unsolocited", "unsolicited",
+ "unsubscirbe", "unsubscribe",
+ "unsubscrbed", "unsubscribed",
+ "unsubscried", "unsubscribed",
+ "unsubscripe", "unsubscribe",
+ "unsubscrive", "unsubscribe",
+ "unsubscrube", "unsubscribe",
+ "unsubsrcibe", "unsubscribe",
+ "unsuccesful", "unsuccessful",
+ "unsuccessul", "unsuccessful",
+ "unsucesfuly", "unsuccessfully",
+ "unsucessful", "unsuccessful",
+ "unsunscribe", "unsubscribe",
+ "unsuprising", "unsurprising",
+ "unsuprizing", "unsurprising",
+ "unsurprized", "unsurprised",
+ "unsusbcribe", "unsubscribe",
+ "unviersally", "universally",
+ "unwarrented", "unwarranted",
+ "utiliatrian", "utilitarian",
+ "utilitatian", "utilitarian",
+ "utiliterian", "utilitarian",
+ "utilizacion", "utilization",
+ "utilizaiton", "utilization",
+ "utilizating", "utilization",
+ "utiltiarian", "utilitarian",
+ "vacciantion", "vaccination",
+ "vaccinaties", "vaccinate",
+ "vegaterians", "vegetarians",
+ "vegetariens", "vegetarians",
+ "vegetatians", "vegetarians",
+ "vegeterians", "vegetarians",
+ "vehementely", "vehemently",
+ "venezuelean", "venezuela",
+ "venezuelian", "venezuela",
+ "ventalation", "ventilation",
+ "ventelation", "ventilation",
+ "ventialtion", "ventilation",
+ "ventilacion", "ventilation",
+ "verastility", "versatility",
+ "verfication", "verification",
+ "versatality", "versatility",
+ "versitality", "versatility",
+ "versitilaty", "versatility",
+ "victorieuse", "victories",
+ "victoriuous", "victorious",
+ "vietnameese", "vietnamese",
+ "vietnamesse", "vietnamese",
+ "vietnamiese", "vietnamese",
+ "vietnamnese", "vietnamese",
+ "vigilanties", "vigilante",
+ "visibillity", "visibility",
+ "vocabularly", "vocabulary",
+ "volatillity", "volatility",
+ "volonteered", "volunteered",
+ "volounteers", "volunteers",
+ "volunatrily", "voluntarily",
+ "voluntairly", "voluntarily",
+ "volunteeers", "volunteers",
+ "volunteraly", "voluntarily",
+ "voluntereed", "volunteered",
+ "volunterily", "voluntarily",
+ "vulnerabile", "vulnerable",
+ "wallpapaers", "wallpapers",
+ "wallpappers", "wallpapers",
+ "washingtion", "washington",
+ "watermeleon", "watermelon",
+ "waterprooof", "waterproof",
+ "wavelegnths", "wavelength",
+ "wavelenghth", "wavelength",
+ "wavelenghts", "wavelength",
+ "weaknessses", "weaknesses",
+ "wellingston", "wellington",
+ "wellingtion", "wellington",
+ "westernerns", "westerners",
+ "westmisnter", "westminster",
+ "westmnister", "westminster",
+ "westmonster", "westminster",
+ "whisperered", "whispered",
+ "whitholding", "withholding",
+ "wikileakers", "wikileaks",
+ "willingless", "willingness",
+ "wincheseter", "winchester",
+ "windsheilds", "windshield",
+ "withdrawels", "withdrawals",
+ "withdrawles", "withdrawals",
+ "withhelding", "withholding",
+ "withrdawing", "withdrawing",
+ "witnesssing", "witnessing",
+ "woodowrking", "woodworking",
+ "woodworkign", "woodworking",
+ "worhsipping", "worshipping",
+ "workstaiton", "workstation",
+ "workststion", "workstation",
+ "worshopping", "worshipping",
+ "xenophoblic", "xenophobic",
+ "abandining", "abandoning",
+ "abandonned", "abandoned",
+ "abbreviato", "abbreviation",
+ "abnoramlly", "abnormally",
+ "abnormalty", "abnormally",
+ "abnornally", "abnormally",
+ "abominaton", "abomination",
+ "abondoning", "abandoning",
+ "aborginial", "aboriginal",
+ "aboriganal", "aboriginal",
+ "aborigenal", "aboriginal",
+ "aborignial", "aboriginal",
+ "aborigonal", "aboriginal",
+ "aboroginal", "aboriginal",
+ "aboslutely", "absolutely",
+ "abosrption", "absorption",
+ "abreviated", "abbreviated",
+ "absintence", "abstinence",
+ "absitnence", "abstinence",
+ "absolument", "absolute",
+ "absolutley", "absolutely",
+ "absoprtion", "absorption",
+ "absorbsion", "absorption",
+ "absorbtion", "absorption",
+ "absorpsion", "absorption",
+ "absoultely", "absolutely",
+ "abstanence", "abstinence",
+ "abstenance", "abstinence",
+ "abstenince", "abstinence",
+ "abstinense", "abstinence",
+ "abstinince", "abstinence",
+ "absurditiy", "absurdity",
+ "abundacies", "abundances",
+ "academicas", "academics",
+ "academicos", "academics",
+ "academicus", "academics",
+ "accdiently", "accidently",
+ "accelarate", "accelerate",
+ "accelerade", "accelerated",
+ "accelerare", "accelerate",
+ "accelerato", "acceleration",
+ "acceleread", "accelerated",
+ "accelertor", "accelerator",
+ "accelorate", "accelerate",
+ "acceptabel", "acceptable",
+ "acceptabil", "acceptable",
+ "acceptence", "acceptance",
+ "accepterad", "accepted",
+ "acceptible", "acceptable",
+ "accerelate", "accelerated",
+ "accesories", "accessories",
+ "accessable", "accessible",
+ "accessbile", "accessible",
+ "accessoire", "accessories",
+ "accessoirs", "accessories",
+ "accicently", "accidently",
+ "accidantly", "accidently",
+ "accidebtly", "accidently",
+ "accidenlty", "accidently",
+ "accidentes", "accidents",
+ "accidentky", "accidently",
+ "accidently", "accidentally",
+ "accidnetly", "accidently",
+ "accomadate", "accommodate",
+ "accomodate", "accommodate",
+ "accompined", "accompanied",
+ "accomplise", "accomplishes",
+ "accompliss", "accomplishes",
+ "accostumed", "accustomed",
+ "accountent", "accountant",
+ "accpetable", "acceptable",
+ "accpetance", "acceptance",
+ "accuastion", "accusation",
+ "acculumate", "accumulate",
+ "accumalate", "accumulate",
+ "accumelate", "accumulate",
+ "accumilate", "accumulate",
+ "accumulare", "accumulate",
+ "accumulato", "accumulation",
+ "accumulted", "accumulated",
+ "accuratley", "accurately",
+ "accusating", "accusation",
+ "accusition", "accusation",
+ "accustumed", "accustomed",
+ "acheivable", "achievable",
+ "acheivment", "achievement",
+ "acheviable", "achievable",
+ "achiavable", "achievable",
+ "achieveble", "achievable",
+ "achievemnt", "achievement",
+ "achievemts", "achieves",
+ "achievents", "achieves",
+ "achievment", "achievement",
+ "achilleous", "achilles",
+ "achiveable", "achievable",
+ "achivement", "achievement",
+ "acitvating", "activating",
+ "acitvision", "activision",
+ "acknowldge", "acknowledge",
+ "acknowlede", "acknowledge",
+ "acknowlege", "acknowledge",
+ "acommodate", "accommodate",
+ "acopalypse", "apocalypse",
+ "acordingly", "accordingly",
+ "acqauinted", "acquainted",
+ "acquanited", "acquainted",
+ "acquianted", "acquainted",
+ "acquinated", "acquainted",
+ "acquisiton", "acquisition",
+ "acticating", "activating",
+ "actication", "activation",
+ "activacion", "activation",
+ "activaters", "activates",
+ "activiates", "activist",
+ "activiites", "activist",
+ "activisiom", "activism",
+ "activisits", "activist",
+ "activistas", "activists",
+ "activistes", "activists",
+ "activiting", "activating",
+ "activizion", "activision",
+ "acustommed", "accustomed",
+ "adaptacion", "adaptation",
+ "adaptating", "adaptation",
+ "adaquetely", "adequately",
+ "addicitons", "addictions",
+ "addionally", "additionally",
+ "additivies", "additive",
+ "additivley", "additive",
+ "addittions", "addictions",
+ "addmission", "admission",
+ "addresable", "addressable",
+ "addressess", "addresses",
+ "adequatley", "adequately",
+ "adequetely", "adequately",
+ "adequitely", "adequately",
+ "adernaline", "adrenaline",
+ "adjectivos", "adjectives",
+ "adjustible", "adjustable",
+ "admendment", "amendment",
+ "administed", "administered",
+ "administor", "administer",
+ "administre", "administer",
+ "administro", "administer",
+ "adminsiter", "administer",
+ "admissable", "admissible",
+ "admittadly", "admittedly",
+ "admittetly", "admittedly",
+ "admittidly", "admittedly",
+ "adolencent", "adolescent",
+ "adolescant", "adolescent",
+ "adolescene", "adolescence",
+ "adoloscent", "adolescent",
+ "adolsecent", "adolescent",
+ "adpatation", "adaptation",
+ "adreanline", "adrenaline",
+ "adrelanine", "adrenaline",
+ "adreneline", "adrenaline",
+ "adreniline", "adrenaline",
+ "adressable", "addressable",
+ "advanteges", "advantages",
+ "advatanges", "advantages",
+ "adventrous", "adventurous",
+ "adventrues", "adventures",
+ "adventuers", "adventures",
+ "adventuous", "adventurous",
+ "adventuros", "adventurous",
+ "adventurus", "adventurous",
+ "adverticed", "advertised",
+ "aestethics", "aesthetics",
+ "aesthatics", "aesthetics",
+ "aesthestic", "aesthetics",
+ "affiliaton", "affiliation",
+ "affilliate", "affiliate",
+ "affirmitve", "affirmative",
+ "afflcition", "affliction",
+ "afflection", "affliction",
+ "affliation", "affliction",
+ "affliciton", "affliction",
+ "afforadble", "affordable",
+ "affordible", "affordable",
+ "affortable", "affordable",
+ "africaners", "africans",
+ "africaness", "africans",
+ "aftermaket", "aftermarket",
+ "afternooon", "afternoon",
+ "aggravanti", "aggravating",
+ "aggraveted", "aggravated",
+ "aggreement", "agreement",
+ "aggregious", "egregious",
+ "aggresions", "aggression",
+ "aggressivo", "aggression",
+ "aggrovated", "aggravated",
+ "agnosticim", "agnosticism",
+ "agnosticsm", "agnosticism",
+ "agnostisch", "agnostic",
+ "agnostiscm", "agnosticism",
+ "agnostisim", "agnosticism",
+ "agreeement", "agreement",
+ "agricultre", "agriculture",
+ "agricultue", "agriculture",
+ "agriculure", "agriculture",
+ "agricuture", "agriculture",
+ "ailenating", "alienating",
+ "ajdectives", "adjectives",
+ "alchoholic", "alcoholic",
+ "alchoolism", "alcoholism",
+ "alcohalics", "alcoholics",
+ "alcohalism", "alcoholism",
+ "alcoholsim", "alcoholism",
+ "aleinating", "alienating",
+ "algorhitms", "algorithms",
+ "algorithem", "algorithm",
+ "algorithim", "algorithm",
+ "algorithsm", "algorithms",
+ "algorithum", "algorithm",
+ "algorithym", "algorithm",
+ "algoritmes", "algorithms",
+ "algoritmos", "algorithms",
+ "algorthims", "algorithms",
+ "algortihms", "algorithms",
+ "algorythms", "algorithms",
+ "alievating", "alienating",
+ "alledgedly", "allegedly",
+ "allegeance", "allegiance",
+ "allegedely", "allegedly",
+ "allegedley", "allegedly",
+ "allegience", "allegiance",
+ "alleigance", "allegiance",
+ "allergisch", "allergic",
+ "alliegance", "allegiance",
+ "alligeance", "allegiance",
+ "alocholics", "alcoholics",
+ "alocholism", "alcoholism",
+ "alogrithms", "algorithms",
+ "alphabeast", "alphabet",
+ "alteracion", "alteration",
+ "alterarion", "alteration",
+ "alterating", "alteration",
+ "alternador", "alternator",
+ "alternater", "alternator",
+ "alternatie", "alternatives",
+ "alternatly", "alternately",
+ "alternatve", "alternate",
+ "alternetly", "alternately",
+ "altogehter", "altogether",
+ "altogheter", "altogether",
+ "altriustic", "altruistic",
+ "altruisitc", "altruistic",
+ "altrusitic", "altruistic",
+ "alturistic", "altruistic",
+ "aluminimum", "aluminum",
+ "amargeddon", "armageddon",
+ "amateurest", "amateurs",
+ "ambassabor", "ambassador",
+ "ambassader", "ambassador",
+ "ambassator", "ambassador",
+ "ambassedor", "ambassador",
+ "ambassidor", "ambassador",
+ "ambassodor", "ambassador",
+ "ambiguitiy", "ambiguity",
+ "amendmants", "amendments",
+ "amendmends", "amendments",
+ "americains", "americas",
+ "americanas", "americans",
+ "americanis", "americas",
+ "americanss", "americas",
+ "americants", "americas",
+ "americanus", "americans",
+ "americares", "americas",
+ "ammendment", "amendment",
+ "amrageddon", "armageddon",
+ "analitical", "analytical",
+ "analitycal", "analytical",
+ "analogeous", "analogous",
+ "analyitcal", "analytical",
+ "analyseles", "analyses",
+ "analyseras", "analyses",
+ "analyseres", "analyses",
+ "analysised", "analyses",
+ "analysises", "analyses",
+ "analysisto", "analysts",
+ "analystics", "analysts",
+ "anarchisim", "anarchism",
+ "anarchistm", "anarchism",
+ "anarchiszm", "anarchism",
+ "anarchsits", "anarchists",
+ "anayltical", "analytical",
+ "ancilliary", "ancillary",
+ "androiders", "androids",
+ "androidtvs", "androids",
+ "anecdotale", "anecdote",
+ "anecdotice", "anecdote",
+ "anestheisa", "anesthesia",
+ "anesthetia", "anesthesia",
+ "anesthisia", "anesthesia",
+ "anitbiotic", "antibiotic",
+ "anitquated", "antiquated",
+ "anitsocial", "antisocial",
+ "aniversary", "anniversary",
+ "annilihate", "annihilated",
+ "anniverary", "anniversary",
+ "anniversay", "anniversary",
+ "anniversry", "anniversary",
+ "annointing", "anointing",
+ "annonceurs", "announcers",
+ "annoucners", "announcers",
+ "annoucning", "announcing",
+ "announched", "announce",
+ "annyoingly", "annoyingly",
+ "anonymosly", "anonymously",
+ "anonymousy", "anonymously",
+ "antaganist", "antagonist",
+ "antagnoist", "antagonist",
+ "antarcitca", "antarctica",
+ "antarctida", "antarctica",
+ "anthropoly", "anthropology",
+ "antibiodic", "antibiotic",
+ "antibiotcs", "antibiotics",
+ "antibitoic", "antibiotic",
+ "antiboitic", "antibiotics",
+ "anticapate", "anticipate",
+ "anticiapte", "anticipate",
+ "anticipare", "anticipate",
+ "anticipato", "anticipation",
+ "anticuated", "antiquated",
+ "antiquited", "antiquated",
+ "antiqvated", "antiquated",
+ "antisipate", "anticipate",
+ "antisocail", "antisocial",
+ "antisosial", "antisocial",
+ "antoganist", "antagonist",
+ "antractica", "antarctica",
+ "apacolypse", "apocalypse",
+ "apartheied", "apartheid",
+ "aplication", "application",
+ "apocalipse", "apocalypse",
+ "apocalpyse", "apocalypse",
+ "apocalypes", "apocalypse",
+ "apocalypic", "apocalyptic",
+ "apocalyspe", "apocalypse",
+ "apocalytic", "apocalyptic",
+ "apocaplyse", "apocalypse",
+ "apocolapse", "apocalypse",
+ "apolagetic", "apologetic",
+ "apolagized", "apologized",
+ "apolegetic", "apologetic",
+ "apoligetic", "apologetic",
+ "apoligists", "apologists",
+ "apoligized", "apologized",
+ "apologisms", "apologists",
+ "apologiste", "apologise",
+ "apologitic", "apologetic",
+ "apostraphe", "apostrophe",
+ "apostrephe", "apostrophe",
+ "apostrohpe", "apostrophe",
+ "apostropes", "apostrophe",
+ "apparantly", "apparently",
+ "appareance", "appearance",
+ "apparenlty", "apparently",
+ "appartment", "apartment",
+ "appealling", "appealing",
+ "appearence", "appearance",
+ "appearnace", "appearances",
+ "apperances", "appearances",
+ "apperantly", "apparently",
+ "apperciate", "appreciate",
+ "appereance", "appearance",
+ "appetities", "appetite",
+ "appetitite", "appetite",
+ "appication", "application",
+ "applainces", "appliances",
+ "applicaple", "applicable",
+ "applicates", "applicants",
+ "applicaton", "application",
+ "applicible", "applicable",
+ "appliences", "appliances",
+ "appointmet", "appointments",
+ "appologies", "apologies",
+ "apporached", "approached",
+ "apporaches", "approaches",
+ "appraoched", "approached",
+ "appraoches", "approaches",
+ "apprecaite", "appreciate",
+ "appreciato", "appreciation",
+ "appreciste", "appreciates",
+ "apprecitae", "appreciates",
+ "apprecited", "appreciated",
+ "apprectice", "apprentice",
+ "appreicate", "appreciate",
+ "apprendice", "apprentice",
+ "apprentace", "apprentice",
+ "apprentise", "apprentice",
+ "appretiate", "appreciate",
+ "appretince", "apprentice",
+ "appriceate", "appreciates",
+ "appriciate", "appreciate",
+ "appriecate", "appreciates",
+ "approacing", "approaching",
+ "appropiate", "appropriate",
+ "approprate", "appropriate",
+ "apropriate", "appropriate",
+ "aproximate", "approximate",
+ "apsotrophe", "apostrophe",
+ "aptitudine", "aptitude",
+ "aqcuainted", "acquainted",
+ "aquisition", "acquisition",
+ "aramgeddon", "armageddon",
+ "arangement", "arrangement",
+ "arbitarily", "arbitrarily",
+ "arbitraily", "arbitrarily",
+ "arbitraion", "arbitration",
+ "arbitrairy", "arbitrarily",
+ "arbitrarly", "arbitrary",
+ "arbitraton", "arbitration",
+ "arcehtypes", "archetypes",
+ "archaelogy", "archaeology",
+ "archaeolgy", "archaeology",
+ "archaology", "archeology",
+ "archatypes", "archetypes",
+ "archetects", "architects",
+ "archetipes", "archetypes",
+ "archetpyes", "archetypes",
+ "archetypus", "archetypes",
+ "archeytpes", "archetypes",
+ "archictect", "architect",
+ "architechs", "architects",
+ "architecht", "architect",
+ "architecte", "architecture",
+ "architexts", "architects",
+ "architypes", "archetypes",
+ "archtiects", "architects",
+ "archytypes", "archetypes",
+ "argentinia", "argentina",
+ "arguements", "arguments",
+ "argumentas", "arguments",
+ "argumentos", "arguments",
+ "arithemtic", "arithmetic",
+ "arithmitic", "arithmetic",
+ "aritmethic", "arithmetic",
+ "armagaddon", "armageddon",
+ "armageddan", "armageddon",
+ "armagedden", "armageddon",
+ "armageddin", "armageddon",
+ "armagedeon", "armageddon",
+ "armageedon", "armageddon",
+ "armagideon", "armageddon",
+ "armegaddon", "armageddon",
+ "arrangerad", "arranged",
+ "arrangment", "arrangement",
+ "arthimetic", "arithmetic",
+ "articifial", "artificial",
+ "articluate", "articulate",
+ "articualte", "articulate",
+ "articulted", "articulated",
+ "artifactos", "artifacts",
+ "artificiel", "artificial",
+ "artihmetic", "arithmetic",
+ "artillerly", "artillery",
+ "asbestoast", "asbestos",
+ "asethetics", "aesthetics",
+ "asisstants", "assistants",
+ "aspiratons", "aspirations",
+ "assasinate", "assassinate",
+ "assassians", "assassin",
+ "assassinas", "assassins",
+ "assassines", "assassins",
+ "assassinos", "assassins",
+ "assemblare", "assemble",
+ "assempling", "assembling",
+ "assersions", "assertions",
+ "assesement", "assessment",
+ "assestment", "assessment",
+ "assignemnt", "assignment",
+ "assimalate", "assimilate",
+ "assimilant", "assimilate",
+ "assimilare", "assimilate",
+ "assimliate", "assimilate",
+ "assimulate", "assimilate",
+ "assingment", "assignment",
+ "assistanat", "assistants",
+ "assistanse", "assistants",
+ "assistante", "assistance",
+ "assistence", "assistance",
+ "assistendo", "assisted",
+ "assistents", "assistants",
+ "assmebling", "assembling",
+ "assocaited", "associated",
+ "assocaites", "associates",
+ "assocation", "association",
+ "associatie", "associated",
+ "associatin", "associations",
+ "associaton", "association",
+ "associsted", "associates",
+ "assoicated", "associated",
+ "assoicates", "associates",
+ "assosiated", "associated",
+ "assosiates", "associates",
+ "asssassans", "assassins",
+ "assupmtion", "assumptions",
+ "assymetric", "asymmetric",
+ "asteroides", "asteroids",
+ "asthetical", "aesthetical",
+ "astonising", "astonishing",
+ "astornauts", "astronauts",
+ "astranauts", "astronauts",
+ "astronatus", "astronauts",
+ "astronaunt", "astronaut",
+ "astronomia", "astronomical",
+ "astronouts", "astronauts",
+ "astronuats", "astronauts",
+ "asutralian", "australian",
+ "atatchment", "attachment",
+ "athleticos", "athletics",
+ "athleticsm", "athleticism",
+ "athletiscm", "athleticism",
+ "athletisim", "athleticism",
+ "atmopshere", "atmosphere",
+ "atmoshpere", "atmosphere",
+ "atomsphere", "atmosphere",
+ "atriculate", "articulate",
+ "atrocoties", "atrocities",
+ "atrosities", "atrocities",
+ "attachemnt", "attachment",
+ "attackeras", "attackers",
+ "attactment", "attachment",
+ "attemtping", "attempting",
+ "attendence", "attendance",
+ "attendents", "attendants",
+ "attirbutes", "attributes",
+ "attmepting", "attempting",
+ "attracters", "attracts",
+ "attractice", "attractive",
+ "attracties", "attracts",
+ "attractifs", "attracts",
+ "attraktion", "attraction",
+ "attraktive", "attractive",
+ "attribuito", "attribution",
+ "attritubes", "attributes",
+ "auctioners", "auctions",
+ "audioboook", "audiobook",
+ "audioboost", "audiobooks",
+ "auidobooks", "audiobooks",
+ "auotattack", "autoattack",
+ "austrailan", "australian",
+ "austrailia", "australia",
+ "australain", "australians",
+ "australien", "australian",
+ "australina", "australians",
+ "austrlaian", "australians",
+ "authenticy", "authenticity",
+ "autherized", "authorized",
+ "authoritay", "authority",
+ "authorites", "authorities",
+ "authorithy", "authority",
+ "authroized", "authorized",
+ "autistisch", "autistic",
+ "autoattaks", "autoattack",
+ "autocorect", "autocorrect",
+ "autocorrct", "autocorrect",
+ "autocorret", "autocorrect",
+ "autograpgh", "autograph",
+ "automatice", "automate",
+ "automatico", "automation",
+ "automatied", "automate",
+ "automatiek", "automate",
+ "automatron", "automation",
+ "automatted", "automate",
+ "automibile", "automobile",
+ "automitive", "automotive",
+ "automoblie", "automobile",
+ "automomous", "autonomous",
+ "automonous", "autonomous",
+ "automotice", "automotive",
+ "automotion", "automation",
+ "automotize", "automotive",
+ "automotove", "automotive",
+ "autonamous", "autonomous",
+ "autonation", "automation",
+ "autonimous", "autonomous",
+ "autonomity", "autonomy",
+ "autononous", "autonomous",
+ "auttoatack", "autoattack",
+ "auxilliary", "auxiliary",
+ "availabale", "available",
+ "availaible", "available",
+ "availiable", "available",
+ "averageadi", "averaged",
+ "averageifs", "averages",
+ "awesomeley", "awesomely",
+ "awesomelly", "awesomely",
+ "awesomenss", "awesomeness",
+ "awkwardess", "awkwardness",
+ "babysister", "babysitter",
+ "babysiting", "babysitting",
+ "babysittng", "babysitting",
+ "bachelores", "bachelors",
+ "backgorund", "background",
+ "backgroudn", "backgrounds",
+ "backgrouds", "backgrounds",
+ "backgrouns", "backgrounds",
+ "backgruond", "backgrounds",
+ "backpacing", "backpacking",
+ "backpackng", "backpacking",
+ "backrgound", "backgrounds",
+ "backrounds", "backgrounds",
+ "baksetball", "basketball",
+ "balanceada", "balanced",
+ "balanceado", "balanced",
+ "balckberry", "blackberry",
+ "balckhawks", "blackhawks",
+ "balcksmith", "blacksmith",
+ "bandwagoon", "bandwagon",
+ "bangaldesh", "bangladesh",
+ "bangladash", "bangladesh",
+ "bangledash", "bangladesh",
+ "bangledesh", "bangladesh",
+ "banglidesh", "bangladesh",
+ "bankrupcty", "bankruptcy",
+ "bankruptsy", "bankruptcy",
+ "bankrutpcy", "bankruptcy",
+ "barabrians", "barbarians",
+ "barbariens", "barbarians",
+ "barbarions", "barbarians",
+ "barbarisch", "barbaric",
+ "barberians", "barbarians",
+ "bargianing", "bargaining",
+ "bartendars", "bartenders",
+ "basektball", "basketball",
+ "baskteball", "basketball",
+ "bastardous", "bastards",
+ "battelship", "battleship",
+ "battelstar", "battlestar",
+ "battlearts", "battlestar",
+ "battlechip", "battleship",
+ "battlefied", "battlefield",
+ "battlefont", "battlefront",
+ "battlehips", "battleship",
+ "battlesaur", "battlestar",
+ "battlescar", "battlestar",
+ "battleshop", "battleship",
+ "battlestsr", "battlestar",
+ "beahviours", "behaviours",
+ "beautifuly", "beautifully",
+ "beautilful", "beautifully",
+ "beautyfull", "beautiful",
+ "becnhmarks", "benchmarks",
+ "beethoveen", "beethoven",
+ "begginings", "beginnings",
+ "begininngs", "beginnings",
+ "beginninng", "beginnings",
+ "behaivours", "behaviours",
+ "behaviorly", "behavioral",
+ "behavoiral", "behavioral",
+ "behavoiurs", "behaviours",
+ "behavorial", "behavioral",
+ "behavoural", "behavioral",
+ "behvaiours", "behaviours",
+ "beleagured", "beleaguered",
+ "beleivable", "believable",
+ "beliavable", "believable",
+ "beliebable", "believable",
+ "believeble", "believable",
+ "beliveable", "believable",
+ "benchamrks", "benchmarks",
+ "benchmakrs", "benchmarks",
+ "benckmarks", "benchmarks",
+ "benefecial", "beneficial",
+ "beneficary", "beneficiary",
+ "beneficiul", "beneficial",
+ "benefitial", "beneficial",
+ "beneifical", "beneficial",
+ "benelovent", "benevolent",
+ "benevalent", "benevolent",
+ "benevelant", "benevolent",
+ "benevelent", "benevolent",
+ "benevelont", "benevolent",
+ "benevloent", "benevolent",
+ "benevolant", "benevolent",
+ "benificial", "beneficial",
+ "benovelent", "benevolent",
+ "bernouilli", "bernoulli",
+ "besitality", "bestiality",
+ "bestaility", "bestiality",
+ "besteality", "bestiality",
+ "betrayeado", "betrayed",
+ "bilateraly", "bilaterally",
+ "billborads", "billboards",
+ "bioligical", "biological",
+ "biologiset", "biologist",
+ "biologiskt", "biologist",
+ "birghtness", "brightness",
+ "birmignham", "birmingham",
+ "birmimgham", "birmingham",
+ "bisexuella", "bisexual",
+ "bitterseet", "bittersweet",
+ "bitterswet", "bittersweet",
+ "blackahwks", "blackhawks",
+ "blackbarry", "blackberry",
+ "blackbeary", "blackberry",
+ "blackbeery", "blackberry",
+ "blackcawks", "blackhawks",
+ "blackhakws", "blackhawks",
+ "blackhwaks", "blackhawks",
+ "blackmsith", "blacksmith",
+ "blackshits", "blacksmith",
+ "blasphemey", "blasphemy",
+ "blitzkreig", "blitzkrieg",
+ "blochchain", "blockchain",
+ "blockcahin", "blockchain",
+ "blockchian", "blockchain",
+ "bloodboner", "bloodborne",
+ "bloodbonre", "bloodborne",
+ "bloodborbe", "bloodborne",
+ "bloodbrone", "bloodborne",
+ "bloodporne", "bloodborne",
+ "bloorborne", "bloodborne",
+ "blueberies", "blueberries",
+ "blueberris", "blueberries",
+ "blueberrry", "blueberry",
+ "bluebrints", "blueprints",
+ "boardcasts", "broadcasts",
+ "bodyheight", "bodyweight",
+ "bodyweigth", "bodyweight",
+ "bodywieght", "bodyweight",
+ "bombarment", "bombardment",
+ "bookmakred", "bookmarked",
+ "bootlaoder", "bootloader",
+ "bootleader", "bootloader",
+ "boradcasts", "broadcasts",
+ "borderlads", "borderlands",
+ "borderlans", "borderlands",
+ "bottelneck", "bottleneck",
+ "bottlebeck", "bottleneck",
+ "boundaires", "boundaries",
+ "bounderies", "boundaries",
+ "bourgeoius", "bourgeois",
+ "boycutting", "boycotting",
+ "boyfirends", "boyfriends",
+ "boyfreinds", "boyfriends",
+ "boyfrients", "boyfriends",
+ "braceletes", "bracelets",
+ "braceletts", "bracelets",
+ "brainwased", "brainwashed",
+ "brakedowns", "breakdowns",
+ "braodcasts", "broadcasts",
+ "brasillian", "brazilian",
+ "bratenders", "bartenders",
+ "brazilains", "brazilians",
+ "brazileans", "brazilians",
+ "braziliaan", "brazilians",
+ "brazilions", "brazilians",
+ "brazillans", "brazilians",
+ "brightoner", "brighten",
+ "brigthness", "brightness",
+ "brillaince", "brilliance",
+ "brilliante", "brilliance",
+ "brillianty", "brilliantly",
+ "brimestone", "brimstone",
+ "brimingham", "birmingham",
+ "broacasted", "broadcast",
+ "brotherhod", "brotherhood",
+ "brotherood", "brotherhood",
+ "brusselers", "brussels",
+ "brutallity", "brutally",
+ "buisnesses", "businesses",
+ "bulgariska", "bulgaria",
+ "bulletpoof", "bulletproof",
+ "bulletprof", "bulletproof",
+ "bureaucats", "bureaucrats",
+ "businesman", "businessman",
+ "businesmen", "businessmen",
+ "businessen", "businessmen",
+ "butterfies", "butterflies",
+ "cabinettas", "cabinets",
+ "caclulated", "calculated",
+ "caclulator", "calculator",
+ "cahracters", "characters",
+ "calcluator", "calculators",
+ "calcualted", "calculated",
+ "calcualtor", "calculator",
+ "calculador", "calculator",
+ "calcularon", "calculator",
+ "calculater", "calculator",
+ "calculatin", "calculations",
+ "calibratin", "calibration",
+ "calibraton", "calibration",
+ "califnoria", "californian",
+ "califonria", "californian",
+ "califorian", "californian",
+ "califorina", "california",
+ "californai", "californian",
+ "califronia", "california",
+ "caligraphy", "calligraphy",
+ "caliofrnia", "californian",
+ "calrifying", "clarifying",
+ "calssified", "classified",
+ "caluclated", "calculated",
+ "caluclator", "calculator",
+ "caluculate", "calculate",
+ "cambodican", "cambodia",
+ "camofluage", "camouflage",
+ "camoufalge", "camouflage",
+ "camouglage", "camouflage",
+ "campaiging", "campaigning",
+ "campaignes", "campaigns",
+ "cancellato", "cancellation",
+ "candidatas", "candidates",
+ "candidatxs", "candidates",
+ "candidiate", "candidate",
+ "canditates", "candidates",
+ "cannibalsm", "cannibalism",
+ "cannisters", "canisters",
+ "cannonical", "canonical",
+ "capabality", "capability",
+ "capabiltiy", "capability",
+ "capacators", "capacitors",
+ "capaciters", "capacitors",
+ "capactiors", "capacitors",
+ "capasitors", "capacitors",
+ "capatilism", "capitalism",
+ "capatilist", "capitalist",
+ "capatilize", "capitalize",
+ "capialized", "capitalized",
+ "capicators", "capacitors",
+ "capitalisn", "capitals",
+ "capitalits", "capitalists",
+ "capitalsim", "capitalism",
+ "capitalsit", "capitalists",
+ "capitarist", "capitalist",
+ "capitilism", "capitalism",
+ "capitilist", "capitalist",
+ "capitilize", "capitalize",
+ "capitlaism", "capitalism",
+ "capitlaist", "capitalist",
+ "capitlaize", "capitalized",
+ "capitolism", "capitalism",
+ "capitolist", "capitalist",
+ "capitolize", "capitalize",
+ "captainers", "captains",
+ "captialism", "capitalism",
+ "captialist", "capitalist",
+ "captialize", "capitalize",
+ "captivitiy", "captivity",
+ "caraciture", "caricature",
+ "carciature", "caricature",
+ "cardinales", "cardinals",
+ "cardinalis", "cardinals",
+ "carefullly", "carefully",
+ "cariacture", "caricature",
+ "caricatore", "caricature",
+ "cariciture", "caricature",
+ "caricuture", "caricature",
+ "carismatic", "charismatic",
+ "carribbean", "caribbean",
+ "cartdridge", "cartridge",
+ "cartdriges", "cartridges",
+ "carthagian", "carthaginian",
+ "cartilidge", "cartilage",
+ "cartirdges", "cartridges",
+ "cartrdiges", "cartridges",
+ "cartriages", "cartridges",
+ "cartrigdes", "cartridges",
+ "casaulties", "casualties",
+ "cassowarry", "cassowary",
+ "casualites", "casualties",
+ "casualries", "casualties",
+ "casulaties", "casualties",
+ "cataclysim", "cataclysm",
+ "cataclysym", "cataclysm",
+ "catagories", "categories",
+ "catapillar", "caterpillar",
+ "catapiller", "caterpillar",
+ "catastrope", "catastrophe",
+ "catastrphe", "catastrophe",
+ "categorice", "categorize",
+ "categoried", "categorized",
+ "categoriei", "categorize",
+ "cateogrize", "categorized",
+ "catepillar", "caterpillar",
+ "caterpilar", "caterpillar",
+ "catholicsm", "catholicism",
+ "catholicus", "catholics",
+ "catholisim", "catholicism",
+ "cativating", "activating",
+ "cattleship", "battleship",
+ "causalties", "casualties",
+ "cautionsly", "cautiously",
+ "celebratin", "celebration",
+ "celebrites", "celebrities",
+ "celebritiy", "celebrity",
+ "cellpading", "cellpadding",
+ "cellulaire", "cellular",
+ "cemetaries", "cemeteries",
+ "censorhsip", "censorship",
+ "censurship", "censorship",
+ "centipedle", "centipede",
+ "ceremonias", "ceremonies",
+ "ceremoniis", "ceremonies",
+ "ceremonije", "ceremonies",
+ "cerimonial", "ceremonial",
+ "cerimonies", "ceremonies",
+ "certainity", "certainty",
+ "certainlyt", "certainty",
+ "chairtable", "charitable",
+ "chalenging", "challenging",
+ "challanged", "challenged",
+ "challanges", "challenges",
+ "challegner", "challenger",
+ "challender", "challenger",
+ "challengue", "challenger",
+ "challengur", "challenger",
+ "challening", "challenging",
+ "challneger", "challenger",
+ "chanceller", "chancellor",
+ "chancillor", "chancellor",
+ "chansellor", "chancellor",
+ "charachter", "character",
+ "charactere", "characterize",
+ "characterz", "characterize",
+ "charactors", "characters",
+ "charakters", "characters",
+ "charatable", "charitable",
+ "charecters", "characters",
+ "charistics", "characteristics",
+ "charitible", "charitable",
+ "chartiable", "charitable",
+ "chechpoint", "checkpoint",
+ "checkpiont", "checkpoint",
+ "checkpoins", "checkpoints",
+ "checkponts", "checkpoints",
+ "cheesecase", "cheesecake",
+ "cheesecave", "cheesecake",
+ "cheeseface", "cheesecake",
+ "cheezecake", "cheesecake",
+ "chemcially", "chemically",
+ "chidlbirth", "childbirth",
+ "chihuahuha", "chihuahua",
+ "childbrith", "childbirth",
+ "childrends", "childrens",
+ "childrenis", "childrens",
+ "childrents", "childrens",
+ "chirstians", "christians",
+ "chocalates", "chocolates",
+ "chocloates", "chocolates",
+ "chocoaltes", "chocolates",
+ "chocolatie", "chocolates",
+ "chocolatos", "chocolates",
+ "chocolatte", "chocolates",
+ "chocolotes", "chocolates",
+ "cholestrol", "cholesterol",
+ "chormosome", "chromosome",
+ "chornicles", "chronicles",
+ "chrisitans", "christians",
+ "christains", "christians",
+ "christiaan", "christian",
+ "christimas", "christians",
+ "christinas", "christians",
+ "christines", "christians",
+ "christmans", "christians",
+ "chromasome", "chromosome",
+ "chromesome", "chromosome",
+ "chromisome", "chromosome",
+ "chromosmes", "chromosomes",
+ "chromosoms", "chromosomes",
+ "chromosone", "chromosome",
+ "chromosoom", "chromosome",
+ "chromozome", "chromosome",
+ "chronciles", "chronicles",
+ "chronicals", "chronicles",
+ "chronicels", "chronicles",
+ "chronocles", "chronicles",
+ "chronosome", "chromosome",
+ "chrsitians", "christians",
+ "cigarattes", "cigarettes",
+ "cigerattes", "cigarettes",
+ "cincinatti", "cincinnati",
+ "cinncinati", "cincinnati",
+ "circulaire", "circular",
+ "circulaton", "circulation",
+ "circumsice", "circumcised",
+ "circumsied", "circumcised",
+ "circumwent", "circumvent",
+ "circunvent", "circumvent",
+ "cirruculum", "curriculum",
+ "claculator", "calculator",
+ "clairfying", "clarifying",
+ "clasically", "classically",
+ "classicals", "classics",
+ "classrooom", "classroom",
+ "cleanliess", "cleanliness",
+ "cleareance", "clearance",
+ "cleverleys", "cleverly",
+ "cliffhager", "cliffhanger",
+ "climateers", "climates",
+ "climatiser", "climates",
+ "clincially", "clinically",
+ "clitoridis", "clitoris",
+ "clitorious", "clitoris",
+ "co-incided", "coincided",
+ "cockroachs", "cockroaches",
+ "cockroahes", "cockroaches",
+ "coefficent", "coefficient",
+ "cognatious", "contagious",
+ "cognitivie", "cognitive",
+ "coincidnce", "coincide",
+ "colelctive", "collective",
+ "colelctors", "collectors",
+ "collapsers", "collapses",
+ "collaquial", "colloquial",
+ "collasping", "collapsing",
+ "collataral", "collateral",
+ "collaterol", "collateral",
+ "collatoral", "collateral",
+ "collcetion", "collections",
+ "colleauges", "colleagues",
+ "colleciton", "collection",
+ "collectems", "collects",
+ "collectief", "collective",
+ "collecties", "collects",
+ "collectifs", "collects",
+ "collectivo", "collection",
+ "collectoin", "collections",
+ "collectons", "collections",
+ "collectros", "collects",
+ "collegaues", "colleagues",
+ "collequial", "colloquial",
+ "colleteral", "collateral",
+ "colliquial", "colloquial",
+ "collission", "collisions",
+ "collitions", "collisions",
+ "colloqiual", "colloquial",
+ "colloquail", "colloquial",
+ "colloqueal", "colloquial",
+ "collpasing", "collapsing",
+ "colonialsm", "colonialism",
+ "colorblend", "colorblind",
+ "coloublind", "colorblind",
+ "columbidae", "columbia",
+ "comapnions", "companions",
+ "comaprable", "comparable",
+ "comaprison", "comparison",
+ "comaptible", "compatible",
+ "combatabts", "combatants",
+ "combatents", "combatants",
+ "combinatin", "combinations",
+ "combinaton", "combination",
+ "comediants", "comedians",
+ "comepndium", "compendium",
+ "comferting", "comforting",
+ "comforming", "comforting",
+ "comfortbly", "comfortably",
+ "comisioned", "commissioned",
+ "comisioner", "commissioner",
+ "comissions", "commissions",
+ "commandbox", "commando",
+ "commandent", "commandment",
+ "commandeur", "commanders",
+ "commandore", "commanders",
+ "commandpod", "commando",
+ "commanists", "communists",
+ "commemters", "commenters",
+ "commencera", "commerce",
+ "commenciez", "commence",
+ "commentaar", "commentary",
+ "commentare", "commenter",
+ "commentars", "commenters",
+ "commentart", "commentator",
+ "commentery", "commentary",
+ "commentsry", "commenters",
+ "commercail", "commercials",
+ "commercent", "commence",
+ "commerical", "commercial",
+ "comminists", "communists",
+ "commisison", "commissions",
+ "commissons", "commissions",
+ "commiteted", "commited",
+ "commodites", "commodities",
+ "commtiment", "commitments",
+ "communicae", "communicated",
+ "communisim", "communism",
+ "communiste", "communities",
+ "communites", "communities",
+ "communters", "commenters",
+ "compadible", "compatible",
+ "compagnons", "companions",
+ "compainons", "companions",
+ "compairson", "comparison",
+ "compalined", "complained",
+ "compandium", "compendium",
+ "companians", "companions",
+ "companines", "companions",
+ "compansate", "compensate",
+ "comparabil", "comparable",
+ "comparason", "comparison",
+ "comparaste", "compares",
+ "comparatie", "comparative",
+ "compareble", "comparable",
+ "comparemos", "compares",
+ "comparions", "comparison",
+ "compariosn", "comparisons",
+ "comparisen", "compares",
+ "comparitve", "comparative",
+ "comparsion", "comparison",
+ "compartent", "compartment",
+ "compartmet", "compartment",
+ "compatibel", "compatible",
+ "compatibil", "compatible",
+ "compeating", "completing",
+ "compeditor", "competitor",
+ "compednium", "compendium",
+ "compeeting", "completing",
+ "compeltely", "completely",
+ "compelting", "completing",
+ "compeltion", "completion",
+ "compemdium", "compendium",
+ "compenduim", "compendium",
+ "compenents", "components",
+ "compenidum", "compendium",
+ "compensare", "compensate",
+ "comperable", "comparable",
+ "comperhend", "comprehend",
+ "compession", "compassion",
+ "competance", "competence",
+ "competator", "competitor",
+ "competenet", "competence",
+ "competense", "competence",
+ "competenze", "competence",
+ "competeted", "competed",
+ "competetor", "competitor",
+ "competidor", "competitor",
+ "competiors", "competitors",
+ "competitie", "competitive",
+ "competitin", "competitions",
+ "competitio", "competitor",
+ "competiton", "competition",
+ "competitve", "competitive",
+ "compilance", "compliance",
+ "compilaton", "compilation",
+ "compinsate", "compensate",
+ "compitable", "compatible",
+ "compitance", "compliance",
+ "complacant", "complacent",
+ "complaince", "compliance",
+ "complaines", "complaints",
+ "complainig", "complaining",
+ "complainte", "complained",
+ "complation", "completion",
+ "compleatly", "completely",
+ "complecate", "complicate",
+ "completeds", "completes",
+ "completent", "complement",
+ "completily", "complexity",
+ "completito", "completion",
+ "completley", "completely",
+ "complexers", "complexes",
+ "complexety", "complexity",
+ "complianed", "compliance",
+ "compliants", "complaints",
+ "complicaed", "complicate",
+ "complicare", "complicate",
+ "complicati", "complicit",
+ "complicato", "complication",
+ "complicite", "complicate",
+ "complicted", "complicated",
+ "complience", "compliance",
+ "complimate", "complicate",
+ "complition", "completion",
+ "complusion", "compulsion",
+ "complusive", "compulsive",
+ "complusory", "compulsory",
+ "compolsive", "compulsive",
+ "compolsory", "compulsory",
+ "compolsury", "compulsory",
+ "componants", "components",
+ "componenet", "components",
+ "componsate", "compensate",
+ "comporable", "comparable",
+ "compositae", "composite",
+ "compositie", "composite",
+ "compositon", "composition",
+ "compraison", "comparisons",
+ "compramise", "compromise",
+ "comprassem", "compress",
+ "comprehand", "comprehend",
+ "compresion", "compression",
+ "compresors", "compressor",
+ "compresser", "compressor",
+ "compressio", "compressor",
+ "compresson", "compression",
+ "comprihend", "comprehend",
+ "comprimise", "compromise",
+ "compromiss", "compromises",
+ "compromize", "compromise",
+ "compromsie", "compromises",
+ "comprossor", "compressor",
+ "compteting", "completing",
+ "comptetion", "completion",
+ "compulisve", "compulsive",
+ "compulosry", "compulsory",
+ "compulsary", "compulsory",
+ "compulsery", "compulsory",
+ "compulsing", "compulsion",
+ "compulsivo", "compulsion",
+ "compulsury", "compulsory",
+ "compuslion", "compulsion",
+ "compuslive", "compulsive",
+ "compuslory", "compulsory",
+ "compustion", "compulsion",
+ "computanti", "computation",
+ "conatiners", "containers",
+ "concedendo", "conceded",
+ "concedered", "conceded",
+ "conceitual", "conceptual",
+ "concentate", "concentrate",
+ "concenting", "connecting",
+ "conceptial", "conceptual",
+ "conceptuel", "conceptual",
+ "concersion", "concession",
+ "concesions", "concession",
+ "concidered", "considered",
+ "conciously", "consciously",
+ "concission", "concession",
+ "conclsuion", "concussion",
+ "conclusies", "conclusive",
+ "conclution", "conclusion",
+ "concorrent", "concurrent",
+ "concsience", "conscience",
+ "conculsion", "conclusion",
+ "conculsive", "conclusive",
+ "concurment", "concurrent",
+ "concurrant", "concurrent",
+ "concurrect", "concurrent",
+ "concusions", "concussion",
+ "concusison", "concussions",
+ "condamning", "condemning",
+ "condemming", "condemning",
+ "condencing", "condemning",
+ "condenming", "condemning",
+ "condensend", "condensed",
+ "condidtion", "condition",
+ "conditinal", "conditional",
+ "conditiner", "conditioner",
+ "conditiond", "conditioned",
+ "conditiong", "conditioning",
+ "condmening", "condemning",
+ "conduiting", "conducting",
+ "conencting", "connecting",
+ "conenction", "connection",
+ "conenctors", "connectors",
+ "conesencus", "consensus",
+ "confedarcy", "confederacy",
+ "confedence", "conference",
+ "confedercy", "confederacy",
+ "conferance", "conference",
+ "conferenze", "conference",
+ "conferming", "confirming",
+ "confernece", "conferences",
+ "confessino", "confessions",
+ "confidance", "confidence",
+ "confidenly", "confidently",
+ "confidense", "confidence",
+ "confidenty", "confidently",
+ "conflcting", "conflating",
+ "conflicing", "conflicting",
+ "conflictos", "conflicts",
+ "confliting", "conflating",
+ "confriming", "confirming",
+ "confussion", "confession",
+ "congratule", "congratulate",
+ "congresman", "congressman",
+ "congresmen", "congressmen",
+ "congressen", "congressmen",
+ "conjecutre", "conjecture",
+ "conjuction", "conjunction",
+ "conjuncion", "conjunction",
+ "conlcusion", "conclusion",
+ "conncetion", "connections",
+ "conneciton", "connection",
+ "connecties", "connects",
+ "connectins", "connects",
+ "connectivy", "connectivity",
+ "connectpro", "connector",
+ "conneticut", "connecticut",
+ "connotaion", "connotation",
+ "conpsiracy", "conspiracy",
+ "conqeuring", "conquering",
+ "conqouring", "conquering",
+ "conquerers", "conquerors",
+ "conquoring", "conquering",
+ "consciense", "conscience",
+ "consciouly", "consciously",
+ "consdiered", "considered",
+ "consending", "consenting",
+ "consensuel", "consensual",
+ "consenusal", "consensual",
+ "consequece", "consequence",
+ "consequnce", "consequence",
+ "conservare", "conserve",
+ "conservato", "conservation",
+ "conservice", "conserve",
+ "conservies", "conserve",
+ "conservite", "conserve",
+ "consicence", "conscience",
+ "consideras", "considers",
+ "consideret", "considerate",
+ "consipracy", "conspiracy",
+ "consistant", "consistent",
+ "consistens", "consists",
+ "consisteny", "consistency",
+ "consitency", "consistency",
+ "consituted", "constituted",
+ "conslutant", "consultant",
+ "consluting", "consulting",
+ "consolidad", "consolidated",
+ "consonents", "consonants",
+ "consorcium", "consortium",
+ "conspirace", "conspiracies",
+ "conspiricy", "conspiracy",
+ "conspriacy", "conspiracy",
+ "constaints", "constraints",
+ "constatnly", "constantly",
+ "constently", "constantly",
+ "constitude", "constitute",
+ "constitued", "constitute",
+ "constituem", "constitute",
+ "constituer", "constitute",
+ "constitues", "constitutes",
+ "constituie", "constitute",
+ "constituit", "constitute",
+ "constitutn", "constituents",
+ "constituye", "constitute",
+ "constnatly", "constantly",
+ "constracts", "constructs",
+ "constraits", "constraints",
+ "constransi", "constraints",
+ "constrants", "constraints",
+ "construced", "constructed",
+ "constructo", "construction",
+ "construint", "constraint",
+ "construits", "constructs",
+ "construted", "constructed",
+ "consueling", "consulting",
+ "consultata", "consultant",
+ "consultate", "consultant",
+ "consultati", "consultant",
+ "consultato", "consultation",
+ "consultent", "consultant",
+ "consumated", "consummated",
+ "consumbale", "consumables",
+ "consuments", "consumes",
+ "consumirem", "consumerism",
+ "consumires", "consumerism",
+ "consumirse", "consumerism",
+ "consumiste", "consumes",
+ "consumpion", "consumption",
+ "contaction", "contacting",
+ "contageous", "contagious",
+ "contagiosa", "contagious",
+ "contagioso", "contagious",
+ "contaigous", "contagious",
+ "containors", "containers",
+ "contaminen", "containment",
+ "contanting", "contacting",
+ "contection", "contention",
+ "contectual", "contextual",
+ "conteiners", "contenders",
+ "contempate", "contemplate",
+ "contemplat", "contempt",
+ "contempory", "contemporary",
+ "contenants", "continents",
+ "contencion", "contention",
+ "contendors", "contenders",
+ "contenents", "continents",
+ "conteneurs", "contenders",
+ "contengent", "contingent",
+ "contension", "contention",
+ "contentino", "contention",
+ "contentios", "contentious",
+ "contentous", "contentious",
+ "contestais", "contests",
+ "contestans", "contests",
+ "contestase", "contests",
+ "contestion", "contention",
+ "contestors", "contests",
+ "contextful", "contextual",
+ "contextuel", "contextual",
+ "contextura", "contextual",
+ "contianers", "containers",
+ "contianing", "containing",
+ "contibuted", "contributed",
+ "contibutes", "contributes",
+ "contigents", "continents",
+ "contigious", "contagious",
+ "contignent", "contingent",
+ "continants", "continents",
+ "continenal", "continental",
+ "continenet", "continents",
+ "contineous", "continuous",
+ "continetal", "continental",
+ "contingecy", "contingency",
+ "contingeny", "contingency",
+ "continient", "contingent",
+ "continious", "continuous",
+ "continiuty", "continuity",
+ "contintent", "contingent",
+ "continualy", "continually",
+ "continuare", "continue",
+ "continuati", "continuity",
+ "continuato", "continuation",
+ "continuent", "contingent",
+ "continuety", "continuity",
+ "continunes", "continents",
+ "continuons", "continuous",
+ "continutiy", "continuity",
+ "continuuum", "continuum",
+ "contitnent", "contingent",
+ "contiuning", "containing",
+ "contiunity", "continuity",
+ "contorller", "controllers",
+ "contracing", "contracting",
+ "contractar", "contractor",
+ "contracter", "contractor",
+ "contractin", "contraction",
+ "contractos", "contracts",
+ "contradice", "contradicted",
+ "contradics", "contradicts",
+ "contredict", "contradict",
+ "contribued", "contributed",
+ "contribuem", "contribute",
+ "contribuer", "contribute",
+ "contribues", "contributes",
+ "contribuie", "contribute",
+ "contribuit", "contribute",
+ "contributo", "contribution",
+ "contributs", "contributes",
+ "contribuye", "contribute",
+ "contricted", "contracted",
+ "contridict", "contradict",
+ "contriubte", "contributes",
+ "controlelr", "controllers",
+ "controlers", "controls",
+ "controling", "controlling",
+ "controlles", "controls",
+ "controvery", "controversy",
+ "controvesy", "controversy",
+ "contrubite", "contributes",
+ "contrubute", "contribute",
+ "contuining", "continuing",
+ "contuinity", "continuity",
+ "convaluted", "convoluted",
+ "convcition", "convictions",
+ "conveinent", "convenient",
+ "conveluted", "convoluted",
+ "convencion", "convention",
+ "conveniant", "convenient",
+ "conveniece", "convenience",
+ "convenince", "convenience",
+ "convential", "conventional",
+ "converesly", "conversely",
+ "convergens", "converse",
+ "converison", "conversions",
+ "converning", "converting",
+ "conversare", "converse",
+ "conversino", "conversions",
+ "conversley", "conversely",
+ "conversoin", "conversions",
+ "conversons", "conversions",
+ "convertion", "conversion",
+ "convertire", "converter",
+ "converying", "converting",
+ "conveyered", "conveyed",
+ "conviccion", "conviction",
+ "conviciton", "conviction",
+ "convienent", "convenient",
+ "conviluted", "convoluted",
+ "convincted", "convince",
+ "convinsing", "convincing",
+ "convinving", "convincing",
+ "convoluded", "convoluted",
+ "convoulted", "convoluted",
+ "convulated", "convoluted",
+ "convuluted", "convoluted",
+ "cooperatve", "cooperative",
+ "coordenate", "coordinate",
+ "coordiante", "coordinate",
+ "coordinare", "coordinate",
+ "coordinato", "coordination",
+ "coordinats", "coordinates",
+ "coordonate", "coordinate",
+ "cooridnate", "coordinate",
+ "copehnagen", "copenhagen",
+ "copenaghen", "copenhagen",
+ "copenahgen", "copenhagen",
+ "copengagen", "copenhagen",
+ "copengahen", "copenhagen",
+ "copenhagan", "copenhagen",
+ "copenhague", "copenhagen",
+ "copenhagun", "copenhagen",
+ "copenhaven", "copenhagen",
+ "copenhegan", "copenhagen",
+ "copyrighed", "copyrighted",
+ "copyrigted", "copyrighted",
+ "corinthans", "corinthians",
+ "corinthias", "corinthians",
+ "corinthins", "corinthians",
+ "cornmitted", "committed",
+ "corporatie", "corporate",
+ "corralated", "correlated",
+ "corralates", "correlates",
+ "correccion", "correction",
+ "correciton", "corrections",
+ "correcters", "correctors",
+ "correctess", "correctness",
+ "correctivo", "correction",
+ "correctons", "corrections",
+ "corregated", "correlated",
+ "correkting", "correcting",
+ "correlatas", "correlates",
+ "correlatie", "correlated",
+ "correlatos", "correlates",
+ "correspend", "correspond",
+ "corrilated", "correlated",
+ "corrilates", "correlates",
+ "corrispond", "correspond",
+ "corrolated", "correlated",
+ "corrolates", "correlates",
+ "corrospond", "correspond",
+ "corrpution", "corruption",
+ "corrulates", "correlates",
+ "corrupcion", "corruption",
+ "cosmeticas", "cosmetics",
+ "cosmeticos", "cosmetics",
+ "costumized", "customized",
+ "counceling", "counseling",
+ "councellor", "councillor",
+ "councelors", "counselors",
+ "councilers", "councils",
+ "counselers", "counselors",
+ "counsellng", "counselling",
+ "counsilers", "counselors",
+ "counsiling", "counseling",
+ "counsilors", "counselors",
+ "counsolers", "counselors",
+ "counsoling", "counseling",
+ "countepart", "counteract",
+ "counteratk", "counteract",
+ "counterbat", "counteract",
+ "countercat", "counteract",
+ "countercut", "counteract",
+ "counteries", "counters",
+ "countoring", "countering",
+ "countryies", "countryside",
+ "countrying", "countering",
+ "courcework", "coursework",
+ "coursefork", "coursework",
+ "courthosue", "courthouse",
+ "courtrooom", "courtroom",
+ "cousnelors", "counselors",
+ "coutneract", "counteract",
+ "coutnering", "countering",
+ "covenental", "covenant",
+ "cranberrry", "cranberry",
+ "creationis", "creations",
+ "creationsm", "creationism",
+ "creationst", "creationist",
+ "creativily", "creatively",
+ "creativley", "creatively",
+ "credibilty", "credibility",
+ "creeperest", "creepers",
+ "crimanally", "criminally",
+ "criminalty", "criminally",
+ "criminalul", "criminally",
+ "criticable", "critical",
+ "criticarlo", "critical",
+ "criticiing", "criticising",
+ "criticisim", "criticism",
+ "criticisme", "criticise",
+ "criticisng", "criticising",
+ "criticists", "critics",
+ "criticisze", "criticise",
+ "criticizms", "criticisms",
+ "criticizng", "criticizing",
+ "critisiced", "criticized",
+ "critisicms", "criticisms",
+ "critisicsm", "criticisms",
+ "critisiscm", "criticisms",
+ "critisisms", "criticisms",
+ "critisizes", "criticises",
+ "critisizms", "criticisms",
+ "critiziced", "criticized",
+ "critizised", "criticized",
+ "critizisms", "criticisms",
+ "critizized", "criticized",
+ "crocodille", "crocodile",
+ "crossfiter", "crossfire",
+ "crutchetts", "crutches",
+ "crystalens", "crystals",
+ "crystalisk", "crystals",
+ "crystallis", "crystals",
+ "cuatiously", "cautiously",
+ "culterally", "culturally",
+ "cultrually", "culturally",
+ "culumative", "cumulative",
+ "culutrally", "culturally",
+ "cumbersone", "cumbersome",
+ "cumbursome", "cumbersome",
+ "cumpolsory", "compulsory",
+ "cumulitive", "cumulative",
+ "currancies", "currencies",
+ "currenctly", "currency",
+ "currenices", "currencies",
+ "currentfps", "currents",
+ "currentlys", "currents",
+ "currentpos", "currents",
+ "currentusa", "currents",
+ "curriculem", "curriculum",
+ "curriculim", "curriculum",
+ "curriences", "currencies",
+ "curroption", "corruption",
+ "custimized", "customized",
+ "customzied", "customized",
+ "custumized", "customized",
+ "cutscences", "cutscene",
+ "cutscenses", "cutscene",
+ "dangerouly", "dangerously",
+ "dealerhsip", "dealerships",
+ "deathamtch", "deathmatch",
+ "deathmacth", "deathmatch",
+ "debateable", "debatable",
+ "decembeard", "december",
+ "decendants", "descendants",
+ "decendents", "descendants",
+ "decideable", "decidable",
+ "deciptions", "depictions",
+ "decisiones", "decisions",
+ "declarasen", "declares",
+ "declaraste", "declares",
+ "declaremos", "declares",
+ "decomposit", "decompose",
+ "decoracion", "decoration",
+ "decorativo", "decoration",
+ "decoritive", "decorative",
+ "decroative", "decorative",
+ "decsending", "descending",
+ "dedicacion", "dedication",
+ "dedikation", "dedication",
+ "deducatble", "deductible",
+ "deducitble", "deductible",
+ "defacation", "defamation",
+ "defamating", "defamation",
+ "defanitely", "definately",
+ "defelction", "deflection",
+ "defendeers", "defender",
+ "defendents", "defendants",
+ "defenderes", "defenders",
+ "defenesman", "defenseman",
+ "defenselss", "defenseless",
+ "defensivly", "defensively",
+ "defianetly", "definately",
+ "defiantely", "definately",
+ "defiantley", "definately",
+ "defibately", "definately",
+ "deficately", "definately",
+ "deficiancy", "deficiency",
+ "deficience", "deficiencies",
+ "deficienct", "deficient",
+ "deficienty", "deficiency",
+ "defiintely", "definately",
+ "definaetly", "definately",
+ "definaitly", "definately",
+ "definaltey", "definately",
+ "definataly", "definately",
+ "definateky", "definately",
+ "definately", "definitely",
+ "definatily", "definately",
+ "defination", "definition",
+ "definative", "definitive",
+ "definatlly", "definately",
+ "definatrly", "definately",
+ "definayely", "definately",
+ "defineatly", "definately",
+ "definetaly", "definately",
+ "definetely", "definitely",
+ "definetily", "definately",
+ "definetlly", "definetly",
+ "definettly", "definately",
+ "definicion", "definition",
+ "definietly", "definitely",
+ "definining", "defining",
+ "definitaly", "definately",
+ "definiteyl", "definitly",
+ "definitivo", "definition",
+ "definitley", "definitely",
+ "definitlly", "definitly",
+ "definitlry", "definitly",
+ "definitlty", "definitly",
+ "definjtely", "definately",
+ "definltely", "definately",
+ "definotely", "definately",
+ "definstely", "definately",
+ "defintaley", "definately",
+ "defintiely", "definitely",
+ "defintiion", "definitions",
+ "definutely", "definately",
+ "deflaction", "deflection",
+ "defleciton", "deflection",
+ "deflektion", "deflection",
+ "defniately", "definately",
+ "degenarate", "degenerate",
+ "degenerare", "degenerate",
+ "degenerite", "degenerate",
+ "degoratory", "derogatory",
+ "degraderad", "degraded",
+ "dehydraded", "dehydrated",
+ "dehyrdated", "dehydrated",
+ "deifnately", "definately",
+ "deisgnated", "designated",
+ "delaership", "dealership",
+ "delearship", "dealership",
+ "delegaties", "delegate",
+ "delegative", "delegate",
+ "delfection", "deflection",
+ "delibarate", "deliberate",
+ "deliberant", "deliberate",
+ "delibirate", "deliberate",
+ "deligthful", "delightful",
+ "deliverate", "deliberate",
+ "deliverees", "deliveries",
+ "deliviered", "delivered",
+ "deliviring", "delivering",
+ "delporable", "deplorable",
+ "delpoyment", "deployment",
+ "delutional", "delusional",
+ "dementieva", "dementia",
+ "deminsions", "dimensions",
+ "democracis", "democracies",
+ "democracts", "democrat",
+ "democratas", "democrats",
+ "democrates", "democrats",
+ "demograhic", "demographic",
+ "demographs", "demographics",
+ "demograpic", "demographic",
+ "demolation", "demolition",
+ "demolicion", "demolition",
+ "demolision", "demolition",
+ "demolitian", "demolition",
+ "demoliting", "demolition",
+ "demoloshed", "demolished",
+ "demolution", "demolition",
+ "demonished", "demolished",
+ "demonstate", "demonstrate",
+ "demonstras", "demonstrates",
+ "demorcracy", "democracy",
+ "denegerate", "degenerate",
+ "denominato", "denomination",
+ "denomintor", "denominator",
+ "deocrative", "decorative",
+ "deomcratic", "democratic",
+ "deparments", "departments",
+ "departmens", "departments",
+ "departmnet", "departments",
+ "depcitions", "depictions",
+ "depdending", "depending",
+ "depencency", "dependency",
+ "dependance", "dependence",
+ "dependancy", "dependency",
+ "dependandt", "dependant",
+ "dependends", "depended",
+ "dependened", "depended",
+ "dependenta", "dependant",
+ "dependente", "dependence",
+ "depicitons", "depictions",
+ "deplorabel", "deplorable",
+ "deplorabil", "deplorable",
+ "deplorible", "deplorable",
+ "deplyoment", "deployment",
+ "depolyment", "deployment",
+ "depositers", "deposits",
+ "depressief", "depressive",
+ "depressies", "depressive",
+ "deprivaton", "deprivation",
+ "deragotory", "derogatory",
+ "derivaties", "derivatives",
+ "deriviated", "derived",
+ "derivitave", "derivative",
+ "derivitive", "derivative",
+ "derogatary", "derogatory",
+ "derogatery", "derogatory",
+ "derogetory", "derogatory",
+ "derogitory", "derogatory",
+ "derogotary", "derogatory",
+ "derogotory", "derogatory",
+ "derviative", "derivative",
+ "descendats", "descendants",
+ "descendend", "descended",
+ "descenting", "descending",
+ "descerning", "descending",
+ "descipable", "despicable",
+ "descisions", "decisions",
+ "descriibes", "describes",
+ "descripton", "description",
+ "desginated", "designated",
+ "desigining", "designing",
+ "desireable", "desirable",
+ "desktopbsd", "desktops",
+ "despciable", "despicable",
+ "desperatly", "desperately",
+ "desperetly", "desperately",
+ "despicaple", "despicable",
+ "despicible", "despicable",
+ "dessicated", "desiccated",
+ "destinatin", "destinations",
+ "destinaton", "destination",
+ "destoryers", "destroyers",
+ "destorying", "destroying",
+ "destroyeds", "destroyers",
+ "destroyeer", "destroyers",
+ "destrucion", "destruction",
+ "destrucive", "destructive",
+ "destryoing", "destroying",
+ "detectarlo", "detector",
+ "detectaron", "detector",
+ "detectoare", "detector",
+ "determinas", "determines",
+ "determinig", "determining",
+ "determinsm", "determinism",
+ "deutschand", "deutschland",
+ "devastaded", "devastated",
+ "devastaing", "devastating",
+ "devastanti", "devastating",
+ "devasteted", "devastated",
+ "develepors", "developers",
+ "develoeprs", "developers",
+ "developmet", "developments",
+ "developors", "develops",
+ "developped", "developed",
+ "developres", "develops",
+ "develpment", "development",
+ "devestated", "devastated",
+ "devolvendo", "devolved",
+ "deyhdrated", "dehydrated",
+ "diagnosied", "diagnose",
+ "diagnosies", "diagnosis",
+ "diagnositc", "diagnostic",
+ "diagnossed", "diagnose",
+ "diagnosted", "diagnose",
+ "diagnotics", "diagnostic",
+ "diagonstic", "diagnostic",
+ "dichotomoy", "dichotomy",
+ "dicitonary", "dictionary",
+ "diconnects", "disconnects",
+ "dicovering", "discovering",
+ "dictateurs", "dictates",
+ "dictionare", "dictionaries",
+ "differance", "difference",
+ "differenly", "differently",
+ "differense", "differences",
+ "differente", "difference",
+ "differentl", "differential",
+ "differenty", "differently",
+ "differnece", "difference",
+ "difficulte", "difficulties",
+ "difficults", "difficulties",
+ "difficutly", "difficulty",
+ "diffuculty", "difficulty",
+ "diganostic", "diagnostic",
+ "dimensinal", "dimensional",
+ "dimentions", "dimensions",
+ "dimesnions", "dimensions",
+ "dimineshes", "diminishes",
+ "diminising", "diminishing",
+ "dimunitive", "diminutive",
+ "dinosaures", "dinosaurs",
+ "dinosaurus", "dinosaurs",
+ "dipections", "depictions",
+ "diplimatic", "diplomatic",
+ "diplomacia", "diplomatic",
+ "diplomancy", "diplomacy",
+ "dipolmatic", "diplomatic",
+ "directinla", "directional",
+ "directionl", "directional",
+ "directivos", "directions",
+ "directores", "directors",
+ "directorys", "directors",
+ "directsong", "directions",
+ "disaapoint", "disappoint",
+ "disagreeed", "disagreed",
+ "disapeared", "disappeared",
+ "disappeard", "disappeared",
+ "disappered", "disappeared",
+ "disappiont", "disappoint",
+ "disaproval", "disapproval",
+ "disastorus", "disastrous",
+ "disastrosa", "disastrous",
+ "disastrose", "disastrous",
+ "disastrosi", "disastrous",
+ "disastroso", "disastrous",
+ "disaterous", "disastrous",
+ "discalimer", "disclaimer",
+ "discapline", "discipline",
+ "discepline", "discipline",
+ "disception", "discretion",
+ "discharded", "discharged",
+ "disciplers", "disciples",
+ "disciplies", "disciplines",
+ "disciplins", "disciplines",
+ "disciprine", "discipline",
+ "disclamier", "disclaimer",
+ "discliamer", "disclaimer",
+ "disclipine", "discipline",
+ "disclousre", "disclosure",
+ "disclsoure", "disclosure",
+ "discograhy", "discography",
+ "discograpy", "discography",
+ "discolsure", "disclosure",
+ "disconenct", "disconnect",
+ "disconncet", "disconnects",
+ "disconnets", "disconnects",
+ "discontued", "discounted",
+ "discoruage", "discourages",
+ "discources", "discourse",
+ "discourgae", "discourages",
+ "discourges", "discourages",
+ "discoveres", "discovers",
+ "discoveryd", "discovered",
+ "discoverys", "discovers",
+ "discrecion", "discretion",
+ "discreddit", "discredited",
+ "discrepany", "discrepancy",
+ "discresion", "discretion",
+ "discreting", "discretion",
+ "discribing", "describing",
+ "discrimine", "discriminate",
+ "discrouage", "discourages",
+ "discrption", "discretion",
+ "discusison", "discussions",
+ "discusting", "discussing",
+ "disgracful", "disgraceful",
+ "disgrunted", "disgruntled",
+ "disgruntld", "disgruntled",
+ "disguisted", "disguise",
+ "disgustiny", "disgustingly",
+ "disgustosa", "disgusts",
+ "disgustose", "disgusts",
+ "disgustosi", "disgusts",
+ "disgustoso", "disgusts",
+ "dishcarged", "discharged",
+ "dishinored", "dishonored",
+ "disicpline", "discipline",
+ "disiplined", "disciplined",
+ "dislcaimer", "disclaimer",
+ "dismanteld", "dismantled",
+ "dismanting", "dismantling",
+ "dismentled", "dismantled",
+ "dispecable", "despicable",
+ "dispencary", "dispensary",
+ "dispencers", "dispenser",
+ "dispencing", "dispensing",
+ "dispensare", "dispenser",
+ "dispensory", "dispensary",
+ "dispesnary", "dispensary",
+ "dispicable", "despicable",
+ "displayfps", "displays",
+ "dispositon", "disposition",
+ "dispostion", "disposition",
+ "disputerad", "disputed",
+ "disrecpect", "disrespect",
+ "disrection", "discretion",
+ "disrepsect", "disrespect",
+ "disresepct", "disrespect",
+ "disrespekt", "disrespect",
+ "disription", "disruption",
+ "disrispect", "disrespect",
+ "disrputing", "disrupting",
+ "disruptivo", "disruption",
+ "disruptron", "disruption",
+ "dissapears", "disappears",
+ "dissappear", "disappear",
+ "disscusion", "discussion",
+ "dissmisive", "dismissive",
+ "dissodance", "dissonance",
+ "dissonante", "dissonance",
+ "dissonence", "dissonance",
+ "distastful", "distasteful",
+ "disticntly", "distinctly",
+ "distiction", "distinction",
+ "distincion", "distinction",
+ "distincive", "distinctive",
+ "distinclty", "distinctly",
+ "distinctie", "distinctive",
+ "distinctin", "distinctions",
+ "distingish", "distinguish",
+ "distingush", "distinguish",
+ "distintcly", "distinctly",
+ "distoriton", "distortion",
+ "distorsion", "distortion",
+ "distortian", "distortion",
+ "distortron", "distortion",
+ "distractes", "distracts",
+ "distractia", "district",
+ "distractin", "district",
+ "distractiv", "district",
+ "distration", "distortion",
+ "distribuem", "distribute",
+ "distribuer", "distribute",
+ "distribuie", "distribute",
+ "distribuit", "distribute",
+ "distributs", "distributors",
+ "distribuye", "distribute",
+ "distrotion", "distortion",
+ "distrubing", "disturbing",
+ "distrubtes", "distrust",
+ "distrubute", "distribute",
+ "distubring", "disturbing",
+ "disturbace", "disturbance",
+ "disturping", "disrupting",
+ "disucssing", "discussing",
+ "disucssion", "discussion",
+ "disurption", "disruption",
+ "ditributed", "distributed",
+ "diversifiy", "diversify",
+ "dividendes", "dividends",
+ "dividendos", "dividends",
+ "divideneds", "dividend",
+ "divinition", "divination",
+ "divinitory", "divinity",
+ "divisiones", "divisions",
+ "dobulelift", "doublelift",
+ "doccuments", "documents",
+ "documentry", "documentary",
+ "dogmatisch", "dogmatic",
+ "dolphinese", "dolphins",
+ "domianting", "dominating",
+ "domimation", "domination",
+ "dominacion", "domination",
+ "dominaters", "dominates",
+ "donwgraded", "downgraded",
+ "donwloaded", "downloaded",
+ "donwvoters", "downvoters",
+ "donwvoting", "downvoting",
+ "doomsdaily", "doomsday",
+ "doubellift", "doublelift",
+ "doubleiift", "doublelift",
+ "doubleleft", "doublelift",
+ "doublelfit", "doublelift",
+ "doublerift", "doublelift",
+ "doulbelift", "doublelift",
+ "downgarded", "downgraded",
+ "downgrated", "downgrade",
+ "downlaoded", "downloaded",
+ "downloadas", "downloads",
+ "downloades", "downloads",
+ "downovting", "downvoting",
+ "downroaded", "downgraded",
+ "downsiders", "downsides",
+ "downstaris", "downstairs",
+ "downstiars", "downstairs",
+ "downtokers", "downvoters",
+ "downtoking", "downvoting",
+ "downtraded", "downgraded",
+ "downviting", "downvoting",
+ "downvotear", "downvoters",
+ "downvoteas", "downvoters",
+ "downvoteds", "downvoters",
+ "downvotees", "downvoters",
+ "downvotesd", "downvoters",
+ "downvotess", "downvoters",
+ "downvotest", "downvoters",
+ "downvoteur", "downvoters",
+ "downvoties", "downvoters",
+ "downvotres", "downvoters",
+ "downvotted", "downvote",
+ "downvottes", "downvoters",
+ "downwoters", "downvoters",
+ "downwoting", "downvoting",
+ "drasticaly", "drastically",
+ "drasticlly", "drastically",
+ "draughtman", "draughtsman",
+ "dumbbellls", "dumbbells",
+ "dumbfouded", "dumbfounded",
+ "dumbfouned", "dumbfounded",
+ "dungeoness", "dungeons",
+ "dupilcates", "duplicates",
+ "duplicants", "duplicates",
+ "duplicatas", "duplicates",
+ "duplicitas", "duplicates",
+ "duplifaces", "duplicates",
+ "durabiltiy", "durability",
+ "dyamically", "dynamically",
+ "dynamicaly", "dynamically",
+ "dynamicdns", "dynamics",
+ "dynamiclly", "dynamically",
+ "dynamicpsf", "dynamics",
+ "dynamitage", "dynamite",
+ "dysfuncion", "dysfunction",
+ "earhtbound", "earthbound",
+ "earthqauke", "earthquake",
+ "earthquack", "earthquake",
+ "earthquaks", "earthquakes",
+ "earthquate", "earthquake",
+ "earthqukes", "earthquakes",
+ "easthetics", "aesthetics",
+ "ecoligical", "ecological",
+ "ecomonical", "economical",
+ "econimical", "economical",
+ "econimists", "economists",
+ "economicas", "economics",
+ "economicos", "economics",
+ "economicus", "economics",
+ "economisch", "economic",
+ "economisit", "economists",
+ "effeciency", "efficiency",
+ "effectivly", "effectively",
+ "efficeincy", "efficiency",
+ "efficently", "efficiently",
+ "efficiancy", "efficiency",
+ "efficienct", "efficient",
+ "efficienty", "efficiently",
+ "egotistcal", "egotistical",
+ "ehtnically", "ethnically",
+ "ejaculaion", "ejaculation",
+ "ejaculatie", "ejaculate",
+ "ejaculatin", "ejaculation",
+ "ejaculaton", "ejaculation",
+ "ejaculatte", "ejaculate",
+ "electircal", "electrical",
+ "electivite", "elective",
+ "electoraat", "electorate",
+ "electorale", "electorate",
+ "electorite", "electorate",
+ "electornic", "electronic",
+ "electrican", "electrician",
+ "electriciy", "electricity",
+ "electricty", "electricity",
+ "electrinic", "electrician",
+ "electroate", "electorate",
+ "electrodan", "electron",
+ "electroinc", "electron",
+ "electrolye", "electrolytes",
+ "electroman", "electron",
+ "electroncs", "electrons",
+ "electrones", "electrons",
+ "electronik", "election",
+ "electronis", "electronics",
+ "electronix", "election",
+ "elemantary", "elementary",
+ "elementery", "elementary",
+ "elementray", "elementary",
+ "eleminated", "eliminated",
+ "elephantes", "elephants",
+ "elephantis", "elephants",
+ "elephantos", "elephants",
+ "elephantus", "elephants",
+ "eletricity", "electricity",
+ "elimanates", "eliminates",
+ "elimenates", "eliminates",
+ "elimentary", "elementary",
+ "elimimates", "eliminates",
+ "eliminaste", "eliminates",
+ "eliminatin", "elimination",
+ "eliminaton", "elimination",
+ "eliminster", "eliminates",
+ "ellipitcal", "elliptical",
+ "ellipsical", "elliptical",
+ "ellipticle", "elliptical",
+ "ellitpical", "elliptical",
+ "ellpitical", "elliptical",
+ "eloquantly", "eloquently",
+ "eloquintly", "eloquently",
+ "emapthetic", "empathetic",
+ "embarassed", "embarrassed",
+ "embarassig", "embarassing",
+ "embarrased", "embarrassed",
+ "embarrases", "embarrassed",
+ "embezelled", "embezzled",
+ "emblamatic", "emblematic",
+ "embodyment", "embodiment",
+ "emergenies", "emergencies",
+ "emmigrated", "emigrated",
+ "emminently", "eminently",
+ "emmisaries", "emissaries",
+ "emobdiment", "embodiment",
+ "emotionaly", "emotionally",
+ "empahsized", "emphasized",
+ "empahsizes", "emphasizes",
+ "empathatic", "empathetic",
+ "emphacized", "emphasized",
+ "emphatetic", "empathetic",
+ "emphatised", "emphasized",
+ "emphatized", "emphasized",
+ "emphatizes", "emphasizes",
+ "emphazised", "emphasized",
+ "emphazises", "emphasizes",
+ "emphesized", "emphasized",
+ "emphesizes", "emphasizes",
+ "emphisized", "emphasized",
+ "emphisizes", "emphasizes",
+ "empiricaly", "empirically",
+ "employeers", "employees",
+ "employeurs", "employer",
+ "emprisoned", "imprisoned",
+ "encahnting", "enchanting",
+ "enchancing", "enchanting",
+ "enchanging", "enchanting",
+ "enchantent", "enchantment",
+ "enchantmet", "enchantments",
+ "encompases", "encompasses",
+ "encounterd", "encountered",
+ "encountred", "encountered",
+ "encouraing", "encouraging",
+ "encoutners", "encounters",
+ "encription", "encryption",
+ "encrpytion", "encryption",
+ "encyrption", "encryption",
+ "endlessley", "endlessly",
+ "endolithes", "endoliths",
+ "enforceing", "enforcing",
+ "engagemnet", "engagements",
+ "engagemnts", "engagements",
+ "engieneers", "engineers",
+ "enginereed", "engineered",
+ "enivitable", "inevitable",
+ "enlargment", "enlargement",
+ "enlighment", "enlighten",
+ "enlightend", "enlightened",
+ "enlightned", "enlightened",
+ "enrolement", "enrollment",
+ "enrollemnt", "enrollment",
+ "enterpirse", "enterprise",
+ "enterprice", "enterprise",
+ "enterpries", "enterprises",
+ "enterprize", "enterprise",
+ "enterprsie", "enterprises",
+ "enterrpise", "enterprises",
+ "entertaing", "entertaining",
+ "enthically", "ethnically",
+ "enthisiast", "enthusiast",
+ "enthuiasts", "enthusiast",
+ "enthuisast", "enthusiasts",
+ "enthusiams", "enthusiasm",
+ "enthusiant", "enthusiast",
+ "enthusiats", "enthusiast",
+ "enthusiest", "enthusiast",
+ "enthusists", "enthusiasts",
+ "envelopped", "envelope",
+ "enveloppen", "envelope",
+ "enveloppes", "envelope",
+ "enviorment", "environment",
+ "enviroment", "environment",
+ "environmet", "environments",
+ "equiavlent", "equivalents",
+ "equilavent", "equivalent",
+ "equilibium", "equilibrium",
+ "equilibrim", "equilibrium",
+ "equilibrum", "equilibrium",
+ "equippment", "equipment",
+ "equitorial", "equatorial",
+ "equivalant", "equivalent",
+ "equivalnce", "equivalence",
+ "equivalnet", "equivalents",
+ "equivelant", "equivalent",
+ "equivelent", "equivalent",
+ "equivilant", "equivalent",
+ "equivilent", "equivalent",
+ "equivlaent", "equivalents",
+ "equivolent", "equivalent",
+ "eratically", "erratically",
+ "escalative", "escalate",
+ "escavation", "escalation",
+ "esitmation", "estimation",
+ "esoterisch", "esoteric",
+ "especailly", "especially",
+ "espeically", "especially",
+ "espressino", "espresso",
+ "espression", "espresso",
+ "essencials", "essentials",
+ "essensials", "essentials",
+ "essentails", "essentials",
+ "essentialy", "essentially",
+ "essentiels", "essentials",
+ "essentuals", "essentials",
+ "estabishes", "establishes",
+ "estimacion", "estimation",
+ "estimativo", "estimation",
+ "estination", "estimation",
+ "ethicallly", "ethically",
+ "ethincally", "ethnically",
+ "ethnicites", "ethnicities",
+ "ethnicitiy", "ethnicity",
+ "euphorical", "euphoria",
+ "euphorisch", "euphoric",
+ "euthanaisa", "euthanasia",
+ "euthanazia", "euthanasia",
+ "euthanesia", "euthanasia",
+ "evaluacion", "evaluation",
+ "evalutaion", "evaluation",
+ "evaulating", "evaluating",
+ "evaulation", "evaluation",
+ "eventaully", "eventually",
+ "eventially", "eventually",
+ "everyoneis", "everyones",
+ "exacberate", "exacerbated",
+ "exagerated", "exaggerated",
+ "exagerates", "exaggerates",
+ "exagerrate", "exaggerate",
+ "exaggarate", "exaggerate",
+ "exaggurate", "exaggerate",
+ "exahusting", "exhausting",
+ "exahustion", "exhaustion",
+ "examinated", "examined",
+ "examinerad", "examined",
+ "exapansion", "expansion",
+ "exapnsions", "expansions",
+ "exauhsting", "exhausting",
+ "exauhstion", "exhaustion",
+ "excecuting", "executing",
+ "excecution", "execution",
+ "exceedigly", "exceedingly",
+ "exceedinly", "exceedingly",
+ "excellance", "excellence",
+ "excellenet", "excellence",
+ "excellenze", "excellence",
+ "excerising", "exercising",
+ "excessivly", "excessively",
+ "exchangees", "exchanges",
+ "excitiment", "excitement",
+ "exclsuives", "exclusives",
+ "exclusivas", "exclusives",
+ "exclusivly", "exclusively",
+ "exclusivos", "exclusives",
+ "exclusivty", "exclusivity",
+ "exclussive", "exclusives",
+ "exclusvies", "exclusives",
+ "excpetions", "exceptions",
+ "exculsives", "exclusives",
+ "exculsivly", "exclusively",
+ "execptions", "exceptions",
+ "exectuable", "executable",
+ "exectuions", "executions",
+ "exectuives", "executives",
+ "execusions", "executions",
+ "executabil", "executable",
+ "executible", "executable",
+ "executiner", "executioner",
+ "executings", "executions",
+ "executivas", "executives",
+ "exeedingly", "exceedingly",
+ "exepmtions", "exemptions",
+ "exeptional", "exceptional",
+ "exercicing", "exercising",
+ "exercizing", "exercising",
+ "exersicing", "exercising",
+ "exersising", "exercising",
+ "exersizing", "exercising",
+ "exerternal", "external",
+ "exeuctions", "executions",
+ "exhasuting", "exhausting",
+ "exhasution", "exhaustion",
+ "exhaustivo", "exhaustion",
+ "exhibicion", "exhibition",
+ "exhibitons", "exhibits",
+ "exhuasting", "exhausting",
+ "exhuastion", "exhaustion",
+ "exibitions", "exhibitions",
+ "exictement", "excitement",
+ "exipration", "expiration",
+ "existantes", "existent",
+ "existenial", "existential",
+ "existental", "existential",
+ "exlcusives", "exclusives",
+ "exorbatant", "exorbitant",
+ "exorbatent", "exorbitant",
+ "exorbidant", "exorbitant",
+ "exorbirant", "exorbitant",
+ "exorbitent", "exorbitant",
+ "expalining", "explaining",
+ "expanisons", "expansions",
+ "expansivos", "expansions",
+ "expanssion", "expansions",
+ "expantions", "expansions",
+ "expecially", "especially",
+ "expectaion", "expectation",
+ "expectansy", "expectancy",
+ "expectency", "expectancy",
+ "expections", "exceptions",
+ "expedetion", "expedition",
+ "expedicion", "expedition",
+ "expeditivo", "expedition",
+ "expeiments", "experiments",
+ "expemtions", "exemptions",
+ "expendeble", "expendable",
+ "expendible", "expendable",
+ "expensable", "expendable",
+ "expentancy", "expectancy",
+ "expereince", "experience",
+ "experement", "experiment",
+ "experiance", "experience",
+ "experieced", "experienced",
+ "experieces", "experiences",
+ "experiemnt", "experiment",
+ "experiened", "experienced",
+ "experiense", "experiences",
+ "expermient", "experiments",
+ "experssion", "expression",
+ "expextancy", "expectancy",
+ "expidetion", "expedition",
+ "expierence", "experience",
+ "expination", "expiration",
+ "expirement", "experiment",
+ "explanatin", "explanations",
+ "explicatia", "explicit",
+ "explicatie", "explicit",
+ "explicatif", "explicit",
+ "explicatii", "explicit",
+ "explicetly", "explicitly",
+ "explicilty", "explicitly",
+ "explioting", "exploiting",
+ "exploiding", "exploiting",
+ "exploition", "exploiting",
+ "explorarea", "explorer",
+ "exploreres", "explorers",
+ "explosivas", "explosives",
+ "explossion", "explosions",
+ "explossive", "explosives",
+ "explosvies", "explosives",
+ "explotions", "explosions",
+ "explusions", "explosions",
+ "expodition", "exposition",
+ "expoliting", "exploiting",
+ "expolsions", "explosions",
+ "expolsives", "explosives",
+ "exponental", "exponential",
+ "exposicion", "exposition",
+ "expositivo", "exposition",
+ "expotition", "exposition",
+ "exprensive", "expressive",
+ "expresions", "expression",
+ "expresison", "expressions",
+ "expressens", "expresses",
+ "expressief", "expressive",
+ "expressley", "expressly",
+ "expriation", "expiration",
+ "extensivly", "extensively",
+ "extentions", "extensions",
+ "exterioara", "exterior",
+ "exterioare", "exterior",
+ "extermally", "externally",
+ "extermists", "extremists",
+ "extraccion", "extraction",
+ "extractivo", "extraction",
+ "extractnow", "extraction",
+ "extradtion", "extraction",
+ "extremaste", "extremes",
+ "extremeley", "extremely",
+ "extremelly", "extremely",
+ "extrememly", "extremely",
+ "extremests", "extremists",
+ "extremised", "extremes",
+ "extremisim", "extremism",
+ "extremisme", "extremes",
+ "extremiste", "extremes",
+ "extrenally", "externally",
+ "extrimists", "extremists",
+ "eyeballers", "eyeballs",
+ "fabriacted", "fabricated",
+ "fabricatie", "fabricated",
+ "faciliated", "facilitated",
+ "facilitait", "facilitate",
+ "facilitant", "facilitate",
+ "facilitare", "facilitate",
+ "facisnated", "fascinated",
+ "facitilies", "facilities",
+ "facsinated", "fascinated",
+ "fahernheit", "fahrenheit",
+ "fahrenhiet", "fahrenheit",
+ "fallatious", "fallacious",
+ "fallicious", "fallacious",
+ "falshbacks", "flashbacks",
+ "familiarty", "familiarity",
+ "familiarze", "familiarize",
+ "fanaticals", "fanatics",
+ "fanfaction", "fanfiction",
+ "fanfcition", "fanfiction",
+ "fanficiton", "fanfiction",
+ "fanserivce", "fanservice",
+ "fanservise", "fanservice",
+ "fanservive", "fanservice",
+ "fantasiose", "fantasies",
+ "farehnheit", "fahrenheit",
+ "farhenheit", "fahrenheit",
+ "fascianted", "fascinated",
+ "fascinatie", "fascinated",
+ "fascinatin", "fascination",
+ "fascistisk", "fascists",
+ "fatalaties", "fatalities",
+ "favoruites", "favourites",
+ "favourates", "favourites",
+ "favouritsm", "favourites",
+ "favourties", "favourites",
+ "federacion", "federation",
+ "federativo", "federation",
+ "fellowhsip", "fellowship",
+ "fellowshop", "fellowship",
+ "feminimity", "femininity",
+ "feministas", "feminists",
+ "feminitity", "femininity",
+ "fermentato", "fermentation",
+ "fertalizer", "fertilizer",
+ "fertelizer", "fertilizer",
+ "fertilizar", "fertilizer",
+ "fertilzier", "fertilizer",
+ "fertiziler", "fertilizer",
+ "festivales", "festivals",
+ "fetishiste", "fetishes",
+ "ficticious", "fictitious",
+ "filessytem", "filesystem",
+ "filesytems", "filesystem",
+ "filmamkers", "filmmakers",
+ "filmmakare", "filmmakers",
+ "finallizes", "finalizes",
+ "financialy", "financially",
+ "fingernals", "fingernails",
+ "fingerpies", "fingertips",
+ "fingerpint", "fingerprint",
+ "fingertaps", "fingertips",
+ "fingertits", "fingertips",
+ "fingertops", "fingertips",
+ "fireballls", "fireballs",
+ "firefigher", "firefighter",
+ "firefigter", "firefighter",
+ "firendlies", "friendlies",
+ "firghtened", "frightened",
+ "fisionable", "fissionable",
+ "flashligth", "flashlight",
+ "flaskbacks", "flashbacks",
+ "flawleslly", "flawlessly",
+ "flexibiliy", "flexibility",
+ "flexibilty", "flexibility",
+ "flimmakers", "filmmakers",
+ "fluctuatie", "fluctuate",
+ "fluctuatin", "fluctuations",
+ "flutterhsy", "fluttershy",
+ "fluttersky", "fluttershy",
+ "flutterspy", "fluttershy",
+ "forcifully", "forcefully",
+ "forecfully", "forcefully",
+ "foreginers", "foreigners",
+ "foregorund", "foreground",
+ "foreignese", "foreigners",
+ "foreigness", "foreigners",
+ "foreignors", "foreigners",
+ "foreingers", "foreigners",
+ "forensisch", "forensic",
+ "foreseeble", "foreseeable",
+ "forgeiners", "foreigners",
+ "forgieners", "foreigners",
+ "forgivance", "forgiven",
+ "forgivenss", "forgiveness",
+ "forgotting", "forgetting",
+ "foriegners", "foreigners",
+ "formadible", "formidable",
+ "formalhaut", "fomalhaut",
+ "formallity", "formally",
+ "formallize", "formalize",
+ "formatiing", "formatting",
+ "formatings", "formations",
+ "formativos", "formations",
+ "formidabel", "formidable",
+ "formidabil", "formidable",
+ "formidible", "formidable",
+ "forminable", "formidable",
+ "formitable", "formidable",
+ "formuladas", "formulas",
+ "formulados", "formulas",
+ "forseeable", "foreseeable",
+ "fortelling", "foretelling",
+ "fortunatly", "fortunately",
+ "fortunetly", "fortunately",
+ "foundaiton", "foundations",
+ "foundaries", "foundries",
+ "foundatoin", "foundations",
+ "fractalers", "fractals",
+ "fractalius", "fractals",
+ "fractalpus", "fractals",
+ "fracturare", "fracture",
+ "fragmanted", "fragment",
+ "francaises", "franchises",
+ "franchices", "franchises",
+ "franchines", "franchises",
+ "franchizes", "franchises",
+ "franchsies", "franchises",
+ "fransiscan", "franciscan",
+ "franticaly", "frantically",
+ "franticlly", "frantically",
+ "fraternaty", "fraternity",
+ "fraternety", "fraternity",
+ "fraterntiy", "fraternity",
+ "fraturnity", "fraternity",
+ "fraudalent", "fraudulent",
+ "fraudelant", "fraudulent",
+ "fraudelent", "fraudulent",
+ "fraudolent", "fraudulent",
+ "fraudulant", "fraudulent",
+ "freedomers", "freedoms",
+ "freedomest", "freedoms",
+ "freindlies", "friendlies",
+ "freindship", "friendship",
+ "frequencey", "frequency",
+ "friednship", "friendships",
+ "friednzone", "friendzoned",
+ "friendhsip", "friendship",
+ "friendsies", "friendlies",
+ "friendzies", "friendlies",
+ "friendzond", "friendzoned",
+ "frientship", "friendship",
+ "frigthened", "frightened",
+ "fromatting", "formatting",
+ "fromidable", "formidable",
+ "frontlinie", "frontline",
+ "fruadulent", "fraudulent",
+ "frustraded", "frustrated",
+ "frustradet", "frustrates",
+ "frustraits", "frustrates",
+ "frustrants", "frustrates",
+ "frustratin", "frustration",
+ "frustrsted", "frustrates",
+ "fucntional", "functional",
+ "fulfulling", "fulfilling",
+ "fullfiling", "fulfilling",
+ "fullfilled", "fulfilled",
+ "fullscrean", "fullscreen",
+ "fulttershy", "fluttershy",
+ "funcitonal", "functional",
+ "fundametal", "fundamental",
+ "furstrated", "frustrated",
+ "furstrates", "frustrates",
+ "furutistic", "futuristic",
+ "futhermore", "furthermore",
+ "futurestic", "futuristic",
+ "futurisitc", "futuristic",
+ "futurustic", "futuristic",
+ "galvinized", "galvanized",
+ "garuanteed", "guaranteed",
+ "garuantees", "guarantees",
+ "gauntanamo", "guantanamo",
+ "gauntlents", "gauntlet",
+ "gauranteed", "guaranteed",
+ "gaurantees", "guarantees",
+ "gaurenteed", "guaranteed",
+ "gaurentees", "guarantees",
+ "generalice", "generalize",
+ "generalife", "generalize",
+ "generalnie", "generalize",
+ "generaters", "generates",
+ "generaties", "generate",
+ "generatios", "generators",
+ "generatons", "generators",
+ "generatore", "generate",
+ "generelize", "generalize",
+ "generocity", "generosity",
+ "generoisty", "generosity",
+ "generostiy", "generosity",
+ "geneticaly", "genetically",
+ "geneticlly", "genetically",
+ "genitalias", "genitals",
+ "genuinelly", "genuinely",
+ "geographia", "geographical",
+ "geogrpahic", "geographic",
+ "germanisch", "germanic",
+ "gigantisch", "gigantic",
+ "gimmickers", "gimmicks",
+ "girlfirend", "girlfriend",
+ "girlfreind", "girlfriend",
+ "girlfriens", "girlfriends",
+ "girlfrinds", "girlfriends",
+ "girlfrined", "girlfriends",
+ "goalkeaper", "goalkeeper",
+ "goalkeeprs", "goalkeeper",
+ "goalkepeer", "goalkeeper",
+ "goegraphic", "geographic",
+ "golakeeper", "goalkeeper",
+ "goldburger", "goldberg",
+ "goosebumbs", "goosebumps",
+ "goosegumps", "goosebumps",
+ "goosepumps", "goosebumps",
+ "gothenberg", "gothenburg",
+ "govenrment", "government",
+ "govermenet", "goverment",
+ "govermnent", "governments",
+ "governemnt", "government",
+ "governened", "governed",
+ "governered", "governed",
+ "governmant", "governmental",
+ "governmetn", "governments",
+ "governmnet", "government",
+ "govnerment", "government",
+ "govornment", "government",
+ "gradiating", "graduating",
+ "gradiation", "graduation",
+ "graduacion", "graduation",
+ "grapefriut", "grapefruit",
+ "grapefrukt", "grapefruit",
+ "graphicaly", "graphically",
+ "graphiclly", "graphically",
+ "gratituous", "gratuitous",
+ "gratiutous", "gratuitous",
+ "gratuidous", "gratuitous",
+ "gratuituos", "gratuitous",
+ "gratutious", "gratuitous",
+ "graudating", "graduating",
+ "graudation", "graduation",
+ "gravitatie", "gravitate",
+ "greatfully", "gratefully",
+ "greenhosue", "greenhouse",
+ "greviances", "grievances",
+ "grievences", "grievances",
+ "grilfriend", "girlfriend",
+ "guaduloupe", "guadalupe",
+ "guanatanmo", "guantanamo",
+ "guantamamo", "guantanamo",
+ "guantamano", "guantanamo",
+ "guantanano", "guantanamo",
+ "guantanemo", "guantanamo",
+ "guantanoma", "guantanamo",
+ "guantanomo", "guantanamo",
+ "guantonamo", "guantanamo",
+ "guarantess", "guarantees",
+ "guardiands", "guardians",
+ "guardianes", "guardians",
+ "guardianis", "guardians",
+ "guarenteed", "guaranteed",
+ "guarentees", "guarantees",
+ "guarnateed", "guaranteed",
+ "guarnatees", "guarantees",
+ "guarunteed", "guaranteed",
+ "guaruntees", "guarantees",
+ "guatamalan", "guatemalan",
+ "gunatanamo", "guantanamo",
+ "gunlsinger", "gunslinger",
+ "gunsiinger", "gunslinger",
+ "gunslanger", "gunslinger",
+ "gunsligner", "gunslinger",
+ "gunstinger", "gunslinger",
+ "gymanstics", "gymnastics",
+ "gymnasitcs", "gymnastics",
+ "gynmastics", "gymnastics",
+ "haemorrage", "haemorrhage",
+ "halloweeen", "halloween",
+ "hambergers", "hamburgers",
+ "hamburgare", "hamburger",
+ "hamburgesa", "hamburgers",
+ "hamburgles", "hamburgers",
+ "hamburgurs", "hamburgers",
+ "handcuffes", "handcuffs",
+ "handelbars", "handlebars",
+ "handicaped", "handicapped",
+ "handwritng", "handwriting",
+ "harasments", "harassments",
+ "hardlinked", "hardline",
+ "harmoniacs", "harmonic",
+ "harmonisch", "harmonic",
+ "harrasment", "harassment",
+ "harrassing", "harassing",
+ "harvasting", "harvesting",
+ "haversting", "harvesting",
+ "headhpones", "headphones",
+ "headphoens", "headphones",
+ "headquarer", "headquarter",
+ "headquater", "headquarter",
+ "headshoots", "headshot",
+ "healtchare", "healthcare",
+ "healtheast", "healthiest",
+ "healthyest", "healthiest",
+ "heapdhones", "headphones",
+ "heartbeart", "heartbeat",
+ "heartbeast", "heartbeat",
+ "heartborne", "heartbroken",
+ "heartbrake", "heartbreak",
+ "hearthsone", "hearthstone",
+ "heatlhcare", "healthcare",
+ "heavyweght", "heavyweight",
+ "heavyweigt", "heavyweight",
+ "hedgehodge", "hedgehog",
+ "heidelburg", "heidelberg",
+ "heigthened", "heightened",
+ "heistation", "hesitation",
+ "helathcare", "healthcare",
+ "helicopers", "helicopters",
+ "helicoptor", "helicopter",
+ "helicotper", "helicopters",
+ "helicpoter", "helicopter",
+ "helictoper", "helicopters",
+ "helikopter", "helicopter",
+ "hemingwary", "hemingway",
+ "hemingwavy", "hemingway",
+ "hemipshere", "hemisphere",
+ "hemishpere", "hemisphere",
+ "hemmorhage", "hemorrhage",
+ "hempishere", "hemisphere",
+ "herculeans", "hercules",
+ "herculeasy", "hercules",
+ "herculeees", "hercules",
+ "hesitstion", "hesitation",
+ "hestiation", "hesitation",
+ "hieghtened", "heightened",
+ "hierachies", "hierarchies",
+ "hieroglphs", "hieroglyphs",
+ "highalnder", "highlander",
+ "highlighed", "highlighted",
+ "highligted", "highlighted",
+ "highloader", "highlander",
+ "highpander", "highlander",
+ "highscholl", "highschool",
+ "highshcool", "highschool",
+ "hillarious", "hilarious",
+ "hinderance", "hindrance",
+ "hinderence", "hindrance",
+ "hipsterest", "hipsters",
+ "hispanicos", "hispanics",
+ "hispanicus", "hispanics",
+ "histarical", "historical",
+ "histerical", "historical",
+ "historiaan", "historians",
+ "historicas", "historians",
+ "historicly", "historical",
+ "historiens", "histories",
+ "historisch", "historic",
+ "hoemopathy", "homeopathy",
+ "hollywoood", "hollywood",
+ "homecuming", "homecoming",
+ "homeoapthy", "homeopathy",
+ "homeonwers", "homeowners",
+ "homeopahty", "homeopathy",
+ "homeophaty", "homeopathy",
+ "homeopothy", "homeopathy",
+ "homeothapy", "homeopathy",
+ "homepoathy", "homeopathy",
+ "homewoners", "homeowners",
+ "homoepathy", "homeopathy",
+ "homogeneos", "homogeneous",
+ "homogeneus", "homogeneous",
+ "homophibia", "homophobia",
+ "homophibic", "homophobic",
+ "homophobie", "homophobe",
+ "homophonia", "homophobia",
+ "homophopia", "homophobia",
+ "homophopic", "homophobic",
+ "homosexaul", "homosexual",
+ "homosexuel", "homosexual",
+ "honeymooon", "honeymoon",
+ "hopefullly", "hopefully",
+ "hopeleslly", "hopelessly",
+ "horisontal", "horizontal",
+ "horizantal", "horizontal",
+ "horizontes", "horizons",
+ "horiztonal", "horizontal",
+ "horrendeus", "horrendous",
+ "horriblely", "horribly",
+ "hospitales", "hospitals",
+ "hospitalty", "hospitality",
+ "hospitible", "hospitable",
+ "hsitorians", "historians",
+ "humanaties", "humanities",
+ "humanitary", "humanity",
+ "humiliatin", "humiliation",
+ "humiliaton", "humiliation",
+ "humilitied", "humiliated",
+ "humillated", "humiliated",
+ "hurricance", "hurricane",
+ "hurriganes", "hurricanes",
+ "hurrikanes", "hurricanes",
+ "hurrycanes", "hurricanes",
+ "hydropilic", "hydrophilic",
+ "hydropobic", "hydrophobic",
+ "hyperbolie", "hyperbole",
+ "hyperlobic", "hyperbolic",
+ "hyperlogic", "hyperbolic",
+ "hypertrohy", "hypertrophy",
+ "hypertropy", "hypertrophy",
+ "hyphotesis", "hypothesis",
+ "hypocrates", "hypocrites",
+ "hypocriscy", "hypocrisy",
+ "hypocrises", "hypocrites",
+ "hypocritus", "hypocrites",
+ "hypocrties", "hypocrites",
+ "hypocrytes", "hypocrites",
+ "hypokrites", "hypocrites",
+ "hypothecis", "hypothesis",
+ "hypotheiss", "hypotheses",
+ "hypothesus", "hypotheses",
+ "hypothises", "hypotheses",
+ "hypothisis", "hypothesis",
+ "hypothosis", "hypothesis",
+ "hyprocites", "hypocrites",
+ "hystarical", "hysterical",
+ "hystericly", "hysterical",
+ "hysteriska", "hysteria",
+ "ibuprofein", "ibuprofen",
+ "ibuprofine", "ibuprofen",
+ "icelandinc", "icelandic",
+ "idealisitc", "idealistic",
+ "idealogies", "ideologies",
+ "identicial", "identical",
+ "identifyed", "identified",
+ "identitets", "identities",
+ "ideolagies", "ideologies",
+ "ideoligies", "ideologies",
+ "ideologias", "ideologies",
+ "ideologice", "ideologies",
+ "ideologije", "ideologies",
+ "ideologins", "ideologies",
+ "ideologisk", "ideologies",
+ "ideolouges", "ideologies",
+ "illegalest", "illegals",
+ "illegallly", "illegally",
+ "illegimacy", "illegitimacy",
+ "illegitime", "illegitimate",
+ "illegitimt", "illegitimate",
+ "illimunati", "illuminati",
+ "illinoians", "illinois",
+ "illistrate", "illiterate",
+ "illitarate", "illiterate",
+ "illitirate", "illiterate",
+ "illumanati", "illuminati",
+ "illumaniti", "illuminati",
+ "illumianti", "illuminati",
+ "illumimati", "illuminati",
+ "illuminaci", "illuminati",
+ "illuminadi", "illuminati",
+ "illuminami", "illuminati",
+ "illuminazi", "illuminati",
+ "illuminite", "illuminati",
+ "illuminiti", "illuminati",
+ "illuminoti", "illuminati",
+ "illuminuti", "illuminati",
+ "illumniati", "illuminati",
+ "illumunati", "illuminati",
+ "illuninati", "illuminati",
+ "illusiones", "illusions",
+ "illustrant", "illustrate",
+ "illustrare", "illustrate",
+ "illustrato", "illustration",
+ "imablanced", "imbalanced",
+ "imablances", "imbalances",
+ "imaginatie", "imaginative",
+ "imaginaton", "imagination",
+ "imaginitve", "imaginative",
+ "imbalenced", "imbalanced",
+ "imbalences", "imbalances",
+ "imcomplete", "incomplete",
+ "imediately", "immediately",
+ "imigration", "emigration",
+ "immaturaty", "immaturity",
+ "immaturety", "immaturity",
+ "immedeatly", "immediately",
+ "immediatly", "immediately",
+ "immedietly", "immediately",
+ "immenseley", "immensely",
+ "immidately", "immediately",
+ "immigranti", "immigration",
+ "immigrents", "immigrants",
+ "immitating", "imitating",
+ "immobilien", "immobile",
+ "immobilier", "immobile",
+ "immobilzed", "immobile",
+ "immobilzer", "immobile",
+ "immobilzes", "immobile",
+ "immortales", "immortals",
+ "immortalis", "immortals",
+ "immortaliy", "immortality",
+ "immortalls", "immortals",
+ "immortalty", "immortality",
+ "impartirla", "impartial",
+ "impecabbly", "impeccably",
+ "impeccible", "impeccable",
+ "impeckable", "impeccable",
+ "impelments", "implements",
+ "imperetive", "imperative",
+ "imperialsm", "imperialism",
+ "imperialst", "imperialist",
+ "imperitave", "imperative",
+ "imperitive", "imperative",
+ "implaments", "implements",
+ "implantase", "implants",
+ "implausble", "implausible",
+ "implausibe", "implausible",
+ "implemenet", "implements",
+ "implicatia", "implicit",
+ "implicatie", "implicit",
+ "implicatii", "implicit",
+ "implicetly", "implicitly",
+ "impliciete", "implicit",
+ "implicilty", "implicitly",
+ "impliments", "implements",
+ "imporbable", "improbable",
+ "importanly", "importantly",
+ "importanty", "importantly",
+ "importence", "importance",
+ "importerad", "imported",
+ "imporvised", "improvised",
+ "impossable", "impossible",
+ "impossbily", "impossibly",
+ "impossibal", "impossibly",
+ "impossibel", "impossibly",
+ "impossibry", "impossibly",
+ "impossibul", "impossibly",
+ "impractial", "impractical",
+ "impreative", "imperative",
+ "impresison", "impressions",
+ "impressoin", "impressions",
+ "impressons", "impressions",
+ "improbabil", "improbable",
+ "improbible", "improbable",
+ "impropable", "improbable",
+ "improsined", "imprisoned",
+ "improsoned", "imprisoned",
+ "improvemnt", "improvement",
+ "improvents", "improves",
+ "improvized", "improvised",
+ "imprsioned", "imprisoned",
+ "impulsemos", "impulses",
+ "imrpovised", "improvised",
+ "inablility", "inability",
+ "inaccruate", "inaccurate",
+ "inadaquate", "inadequate",
+ "inadaquete", "inadequate",
+ "inadecuate", "inadequate",
+ "inadeguate", "inadequate",
+ "inadeqaute", "inadequate",
+ "inadequete", "inadequate",
+ "inadequite", "inadequate",
+ "inadiquate", "inadequate",
+ "inagurated", "inaugurated",
+ "inbalanced", "imbalanced",
+ "inbetweeen", "inbetween",
+ "incarnaton", "incarnation",
+ "incentivos", "incentives",
+ "inchoerent", "incoherent",
+ "incidentes", "incidents",
+ "incidently", "incidentally",
+ "incidentul", "incidental",
+ "inclreased", "increased",
+ "incognitio", "incognito",
+ "incoherant", "incoherent",
+ "incohorent", "incoherent",
+ "incorectly", "incorrectly",
+ "incorrecly", "incorrectly",
+ "incorrecty", "incorrectly",
+ "incorretly", "incorrectly",
+ "incraments", "increments",
+ "incredable", "incredible",
+ "incredably", "incredibly",
+ "incremetal", "incremental",
+ "incriments", "increments",
+ "inctroduce", "introduce",
+ "indefenite", "indefinite",
+ "indefinate", "indefinite",
+ "indefinete", "indefinite",
+ "indefinity", "indefinitely",
+ "indeginous", "indigenous",
+ "indentical", "identical",
+ "independet", "independent",
+ "indepenent", "independent",
+ "inderictly", "indirectly",
+ "indicaters", "indicates",
+ "indicativo", "indication",
+ "indicatore", "indicate",
+ "indicitave", "indicative",
+ "indicitive", "indicative",
+ "indiffernt", "indifferent",
+ "indigenius", "indigenous",
+ "indiginous", "indigenous",
+ "indigneous", "indigenous",
+ "indikation", "indication",
+ "indireclty", "indirectly",
+ "indirektly", "indirectly",
+ "individuel", "individual",
+ "indiviudal", "individuals",
+ "indivudual", "individual",
+ "indoensian", "indonesian",
+ "indonasian", "indonesian",
+ "indoneisan", "indonesian",
+ "indonesean", "indonesian",
+ "indonesien", "indonesian",
+ "indonesion", "indonesian",
+ "indonisian", "indonesian",
+ "indonistan", "indonesian",
+ "indpendent", "independent",
+ "industiral", "industrial",
+ "industires", "industries",
+ "industrail", "industrial",
+ "industrees", "industries",
+ "industrias", "industries",
+ "industriel", "industrial",
+ "industrija", "industrial",
+ "industrije", "industries",
+ "indviduals", "individuals",
+ "inefficent", "inefficient",
+ "ineqaulity", "inequality",
+ "inequailty", "inequality",
+ "inevatible", "inevitable",
+ "inevetable", "inevitable",
+ "inevetably", "inevitably",
+ "inevetible", "inevitable",
+ "inevidable", "inevitable",
+ "inevidably", "inevitably",
+ "inevitible", "inevitable",
+ "inevitibly", "inevitably",
+ "inevtiable", "inevitable",
+ "inevtiably", "inevitably",
+ "infallable", "infallible",
+ "infaltable", "inflatable",
+ "infeccious", "infectious",
+ "infecteous", "infectious",
+ "infectuous", "infectious",
+ "infedility", "infidelity",
+ "infektious", "infectious",
+ "inferioara", "inferior",
+ "inferioare", "inferior",
+ "inferiorty", "inferiority",
+ "inferrence", "inference",
+ "infestaion", "infestation",
+ "infestaton", "infestation",
+ "infestions", "infections",
+ "infideltiy", "infidelity",
+ "infidility", "infidelity",
+ "infiltrade", "infiltrate",
+ "infiltrait", "infiltrate",
+ "infiltrare", "infiltrate",
+ "infiltrase", "infiltrate",
+ "infinately", "infinitely",
+ "infinetely", "infinitely",
+ "infiniment", "infinite",
+ "infinitley", "infinitely",
+ "infintiely", "infinitely",
+ "inflamable", "inflatable",
+ "inflateble", "inflatable",
+ "inflatible", "inflatable",
+ "infleunced", "influenced",
+ "inflitrate", "infiltrate",
+ "influanced", "influenced",
+ "influances", "influences",
+ "influencie", "influences",
+ "influening", "influencing",
+ "influensed", "influences",
+ "influenser", "influences",
+ "influenses", "influences",
+ "influental", "influential",
+ "influented", "influenced",
+ "influentes", "influences",
+ "influneced", "influenced",
+ "infograhic", "infographic",
+ "infograpic", "infographic",
+ "infomation", "information",
+ "informable", "informal",
+ "informarla", "informal",
+ "informarle", "informal",
+ "informarlo", "informal",
+ "informatie", "informative",
+ "informella", "informal",
+ "informerad", "informed",
+ "informtion", "information",
+ "infridging", "infringing",
+ "infrigning", "infringing",
+ "infulenced", "influenced",
+ "infulences", "influences",
+ "ingenuitiy", "ingenuity",
+ "ingrediant", "ingredient",
+ "ingrediens", "ingredients",
+ "ingrediets", "ingredient",
+ "inhabitans", "inhabitants",
+ "inhabitats", "inhabitants",
+ "inherantly", "inherently",
+ "inherintly", "inherently",
+ "inheritage", "heritage",
+ "inhernetly", "inherently",
+ "inifnitely", "infinitely",
+ "initaition", "initiation",
+ "initalised", "initialised",
+ "initaliser", "initialiser",
+ "initalises", "initialises",
+ "initalisms", "initialisms",
+ "initalized", "initialized",
+ "initalizer", "initializer",
+ "initalizes", "initializes",
+ "initalling", "initialling",
+ "initalness", "initialness",
+ "initiaitve", "initiatives",
+ "initiaties", "initiatives",
+ "initiativs", "initiatives",
+ "initiatves", "initiatives",
+ "initiavite", "initiatives",
+ "inititaive", "initiatives",
+ "inititiave", "initiatives",
+ "initmately", "intimately",
+ "initmidate", "intimidate",
+ "inituition", "initiation",
+ "injustaces", "injustices",
+ "injusticas", "injustices",
+ "inmigrants", "immigrants",
+ "innoavtion", "innovations",
+ "innocentes", "innocents",
+ "innotation", "innovation",
+ "innovacion", "innovation",
+ "innovaiton", "innovations",
+ "innovatief", "innovate",
+ "innovaties", "innovate",
+ "innovativo", "innovation",
+ "innvoation", "innovation",
+ "inofficial", "unofficial",
+ "inpsection", "inspection",
+ "inquisator", "inquisitor",
+ "inquisidor", "inquisitor",
+ "inquisiter", "inquisitor",
+ "inquisitio", "inquisitor",
+ "inquisitir", "inquisitor",
+ "inquisiton", "inquisition",
+ "inquistior", "inquisitor",
+ "inquizitor", "inquisitor",
+ "inqusitior", "inquisitor",
+ "insensitve", "insensitive",
+ "insepction", "inspection",
+ "insistance", "insistence",
+ "insistente", "insistence",
+ "insistenze", "insistence",
+ "insistince", "insistence",
+ "insitution", "institution",
+ "inspeccion", "inspection",
+ "inspeciton", "inspections",
+ "inspectons", "inspections",
+ "inspectres", "inspectors",
+ "inspektion", "inspection",
+ "inspektors", "inspectors",
+ "inspiraste", "inspires",
+ "inspiraton", "inspiration",
+ "inspirerad", "inspired",
+ "inspireras", "inspires",
+ "insrugency", "insurgency",
+ "instabiliy", "instability",
+ "instabilty", "instability",
+ "installeer", "installer",
+ "installent", "installment",
+ "installesd", "installs",
+ "installion", "installing",
+ "instatance", "instance",
+ "instelling", "installing",
+ "instituded", "instituted",
+ "instituion", "institution",
+ "institutie", "institute",
+ "institutue", "instituted",
+ "instrament", "instrument",
+ "instrcutor", "instructors",
+ "instrucion", "instruction",
+ "instructer", "instructor",
+ "instructie", "instructed",
+ "instruktor", "instructor",
+ "instuction", "instruction",
+ "instuments", "instruments",
+ "insturcted", "instructed",
+ "insturctor", "instructor",
+ "insturment", "instrument",
+ "instutions", "intuitions",
+ "instututed", "instituted",
+ "insurgance", "insurgency",
+ "insurgancy", "insurgency",
+ "intangable", "intangible",
+ "intangeble", "intangible",
+ "intangibil", "intangible",
+ "intanjible", "intangible",
+ "integraded", "integrated",
+ "integrarla", "integral",
+ "integrarlo", "integral",
+ "integratie", "integrated",
+ "integreres", "interferes",
+ "integreted", "integrated",
+ "inteligent", "intelligent",
+ "intenseley", "intensely",
+ "intensitiy", "intensity",
+ "intentinal", "intentional",
+ "intentines", "intestines",
+ "interacive", "interactive",
+ "interactes", "interacts",
+ "interactie", "interactive",
+ "interactue", "interacted",
+ "interasted", "interacted",
+ "interbread", "interbreed",
+ "intercepto", "interception",
+ "intercorse", "intercourse",
+ "intercouse", "intercourse",
+ "intereacts", "interfaces",
+ "interected", "interacted",
+ "interefers", "interferes",
+ "interesant", "interest",
+ "interesing", "interesting",
+ "interestes", "interests",
+ "interfacce", "interfaces",
+ "interfears", "interferes",
+ "interfeers", "interferes",
+ "interferce", "interferes",
+ "interferre", "interfere",
+ "intergated", "integrated",
+ "interioara", "interior",
+ "interioare", "interior",
+ "intermedie", "intermediate",
+ "internetbs", "internets",
+ "internetes", "internets",
+ "internetis", "internets",
+ "internetts", "internets",
+ "internetus", "internets",
+ "interprate", "interpret",
+ "interrugum", "interregnum",
+ "interruped", "interrupted",
+ "interstela", "interstellar",
+ "intervalls", "intervals",
+ "intervalos", "intervals",
+ "interveign", "intervening",
+ "interveing", "intervening",
+ "interveiws", "interviews",
+ "intervento", "intervention",
+ "intervenue", "intervene",
+ "interveres", "interferes",
+ "intervieni", "interviewing",
+ "intervieuw", "interviews",
+ "interviewd", "interviewed",
+ "interviewr", "interviewer",
+ "intervines", "intervenes",
+ "interviwed", "interviewed",
+ "interviwer", "interviewer",
+ "interwebbs", "interwebs",
+ "intestents", "intestines",
+ "intestinas", "intestines",
+ "intestinos", "intestines",
+ "intestions", "intestines",
+ "intidimate", "intimidate",
+ "intimadate", "intimidate",
+ "intimatley", "intimately",
+ "intimiated", "intimidate",
+ "intimidade", "intimidated",
+ "intimidant", "intimidate",
+ "intimidare", "intimidate",
+ "intimitade", "intimidated",
+ "intimitaly", "intimately",
+ "intimitate", "intimidate",
+ "intimitely", "intimately",
+ "intolarant", "intolerant",
+ "intolerace", "intolerance",
+ "intolerate", "intolerant",
+ "intolerent", "intolerant",
+ "intolorant", "intolerant",
+ "intolorent", "intolerant",
+ "intorduced", "introduced",
+ "intorduces", "introduces",
+ "intorverts", "introverts",
+ "intoxicted", "intoxicated",
+ "intraverts", "introverts",
+ "intreguing", "intriguing",
+ "intricaces", "intricacies",
+ "intriguied", "intrigue",
+ "intrigured", "intrigue",
+ "intrinseci", "intrinsic",
+ "intrinsinc", "intrinsic",
+ "intriquing", "intriguing",
+ "intriuging", "intriguing",
+ "introdecks", "introduces",
+ "introdused", "introduces",
+ "introvents", "introverts",
+ "introvered", "introverted",
+ "introversa", "introverts",
+ "introverse", "introverts",
+ "introversi", "introverts",
+ "introverso", "introverts",
+ "introversy", "introverts",
+ "introveted", "introverted",
+ "intruduced", "introduced",
+ "intruduces", "introduces",
+ "intruiging", "intriguing",
+ "intruments", "instruments",
+ "intuitevly", "intuitively",
+ "intuitivly", "intuitively",
+ "intuitivno", "intuition",
+ "intutively", "intuitively",
+ "inumerable", "enumerable",
+ "inusrgency", "insurgency",
+ "invaderats", "invaders",
+ "invaildate", "invalidates",
+ "invairably", "invariably",
+ "invaldiate", "invalidates",
+ "invalidade", "invalidate",
+ "invalidare", "invalidate",
+ "invalubale", "invaluable",
+ "invalueble", "invaluable",
+ "invaraibly", "invariably",
+ "invariabil", "invariably",
+ "invaribaly", "invariably",
+ "invaulable", "invaluable",
+ "inveitable", "inevitable",
+ "inveitably", "inevitably",
+ "invensions", "inventions",
+ "inventario", "inventor",
+ "inventarlo", "inventor",
+ "inventaron", "inventor",
+ "inventings", "inventions",
+ "inventivos", "inventions",
+ "invertendo", "inverted",
+ "inverterad", "inverted",
+ "invertions", "inventions",
+ "investemnt", "investments",
+ "investiage", "investigate",
+ "investions", "inventions",
+ "investirat", "investigator",
+ "investmens", "investments",
+ "invicinble", "invincible",
+ "invididual", "individual",
+ "invincable", "invincible",
+ "invinceble", "invincible",
+ "invinicble", "invincible",
+ "invinsible", "invincible",
+ "invinvible", "invincible",
+ "invisibily", "invisibility",
+ "invitacion", "invitation",
+ "invitating", "invitation",
+ "involunary", "involuntary",
+ "involvment", "involvement",
+ "ironcially", "ironically",
+ "irracional", "irrational",
+ "irrationel", "irrational",
+ "irrelavant", "irrelevant",
+ "irrelavent", "irrelevant",
+ "irrelevent", "irrelevant",
+ "irrelivant", "irrelevant",
+ "irrelivent", "irrelevant",
+ "irrevelant", "irrelevant",
+ "irreverant", "irrelevant",
+ "irridation", "irritation",
+ "irriration", "irritation",
+ "irritacion", "irritation",
+ "irritaties", "irritate",
+ "islamisist", "islamist",
+ "islamistas", "islamists",
+ "isntalling", "installing",
+ "isntructed", "instructed",
+ "isntrument", "instrument",
+ "israeliens", "israelis",
+ "israelitas", "israelis",
+ "italianess", "italians",
+ "itnroduced", "introduced",
+ "jailborken", "jailbroken",
+ "jalibroken", "jailbroken",
+ "jamaicains", "jamaican",
+ "jamaicaman", "jamaican",
+ "jerusaleum", "jerusalem",
+ "jounralism", "journalism",
+ "jounralist", "journalist",
+ "jouranlism", "journalism",
+ "jouranlist", "journalist",
+ "journalims", "journals",
+ "journalits", "journals",
+ "journalizm", "journalism",
+ "journalsim", "journalism",
+ "journolist", "journalist",
+ "judegments", "judgements",
+ "judgemenal", "judgemental",
+ "judgemetal", "judgemental",
+ "jugdements", "judgements",
+ "juggarnaut", "juggernaut",
+ "juggeranut", "juggernaut",
+ "juggernath", "juggernaut",
+ "juggernout", "juggernaut",
+ "juggernuat", "juggernaut",
+ "juggetnaut", "juggernaut",
+ "jugglenaut", "juggernaut",
+ "juggurnaut", "juggernaut",
+ "justifible", "justifiable",
+ "juvenilles", "juvenile",
+ "kickstarer", "kickstarter",
+ "kickstartr", "kickstarter",
+ "kickstater", "kickstarter",
+ "kidnapning", "kidnapping",
+ "kidnappade", "kidnapped",
+ "killingest", "killings",
+ "kilometros", "kilometers",
+ "kilomiters", "kilometers",
+ "kilomoters", "kilometers",
+ "kilomteres", "kilometers",
+ "kindapping", "kidnapping",
+ "kingdomers", "kingdoms",
+ "krpytonite", "kryptonite",
+ "krypotnite", "kryptonite",
+ "krypronite", "kryptonite",
+ "kryptinite", "kryptonite",
+ "kryptolite", "kryptonite",
+ "kryptonyte", "kryptonite",
+ "krypyonite", "kryptonite",
+ "krytponite", "kryptonite",
+ "kyrptonite", "kryptonite",
+ "labarotory", "laboratory",
+ "laboratroy", "laboratory",
+ "laborerers", "laborers",
+ "laboritory", "laboratory",
+ "laborotory", "laboratory",
+ "lackbuster", "lackluster",
+ "lacklaster", "lackluster",
+ "landacapes", "landscapes",
+ "landingers", "landings",
+ "landshapes", "landscapes",
+ "landspaces", "landscapes",
+ "lannasters", "lannisters",
+ "lannesters", "lannisters",
+ "lannistars", "lannisters",
+ "lannsiters", "lannisters",
+ "lateration", "alteration",
+ "latitudine", "latitude",
+ "laughabley", "laughably",
+ "laughablly", "laughably",
+ "launchered", "launched",
+ "leaglizing", "legalizing",
+ "lectureres", "lectures",
+ "legalazing", "legalizing",
+ "legalizare", "legalize",
+ "legalizate", "legalize",
+ "legendaies", "legendaries",
+ "legendaris", "legendaries",
+ "legimitacy", "legitimacy",
+ "legimitate", "legitimate",
+ "legislatie", "legislative",
+ "legitamacy", "legitimacy",
+ "legitamate", "legitimate",
+ "legitamicy", "legitimacy",
+ "legitamite", "legitimate",
+ "legitemacy", "legitimacy",
+ "legitemate", "legitimate",
+ "legitimaly", "legitimacy",
+ "legitimicy", "legitimacy",
+ "legitimite", "legitimate",
+ "leiutenant", "lieutenant",
+ "lesbianese", "lesbians",
+ "lesbianest", "lesbians",
+ "leuitenant", "lieutenant",
+ "levetating", "levitating",
+ "liberacion", "liberation",
+ "liberalest", "liberate",
+ "liberalizm", "liberalism",
+ "liberalnim", "liberalism",
+ "liberalsim", "liberalism",
+ "liberarion", "liberation",
+ "liberaties", "liberate",
+ "liberatore", "liberate",
+ "libertania", "libertarians",
+ "libguistic", "linguistic",
+ "lietuenant", "lieutenant",
+ "lieutanant", "lieutenant",
+ "lieutanent", "lieutenant",
+ "lieutenent", "lieutenant",
+ "lifestiles", "lifestyles",
+ "lifestlyes", "lifestyles",
+ "lifesystem", "filesystem",
+ "lifesytles", "lifestyles",
+ "lifetimers", "lifetimes",
+ "lifetsyles", "lifestyles",
+ "lighhtning", "lightening",
+ "lightergas", "lighters",
+ "lighthning", "lightening",
+ "lighthorse", "lighthouse",
+ "lighthosue", "lighthouse",
+ "lighthours", "lighthouse",
+ "lightining", "lighting",
+ "lightneing", "lightening",
+ "lightnting", "lightening",
+ "lightrooom", "lightroom",
+ "lightweigt", "lightweight",
+ "ligitation", "litigation",
+ "ligthening", "lightening",
+ "ligthhouse", "lighthouse",
+ "likelyhood", "likelihood",
+ "limination", "limitation",
+ "limitacion", "limitation",
+ "limitaiton", "limitation",
+ "limitating", "limitation",
+ "limitativo", "limitation",
+ "linguisics", "linguistics",
+ "linguisitc", "linguistics",
+ "linguistcs", "linguistics",
+ "linguistis", "linguistics",
+ "linguitics", "linguistic",
+ "lingusitic", "linguistics",
+ "lingvistic", "linguistic",
+ "liousville", "louisville",
+ "listeneres", "listeners",
+ "literallly", "literally",
+ "literarely", "literary",
+ "literarlly", "literary",
+ "literatire", "literate",
+ "literative", "literate",
+ "literatute", "literate",
+ "lithuanina", "lithuania",
+ "litterally", "literally",
+ "liuetenant", "lieutenant",
+ "liveatream", "livestream",
+ "livelehood", "livelihood",
+ "liverpoool", "liverpool",
+ "livescream", "livestream",
+ "livestreem", "livestream",
+ "livestrems", "livestream",
+ "livilehood", "livelihood",
+ "livliehood", "livelihood",
+ "lobbyistes", "lobbyists",
+ "lockacreen", "lockscreen",
+ "logictical", "logistical",
+ "logisitcal", "logistical",
+ "logisticas", "logistics",
+ "logisticly", "logistical",
+ "loiusville", "louisville",
+ "lollipoopy", "lollipop",
+ "lonelyness", "loneliness",
+ "longevitiy", "longevity",
+ "lonileness", "loneliness",
+ "lonlieness", "loneliness",
+ "louieville", "louisville",
+ "louisiania", "louisiana",
+ "louisianna", "louisiana",
+ "louisivlle", "louisville",
+ "louisviile", "louisville",
+ "lousiville", "louisville",
+ "luietenant", "lieutenant",
+ "mabyelline", "maybelline",
+ "magnifient", "magnificent",
+ "mainpulate", "manipulate",
+ "mainstreem", "mainstream",
+ "maintaince", "maintained",
+ "maintaines", "maintains",
+ "maintainig", "maintaining",
+ "maintenace", "maintenance",
+ "maintianed", "maintained",
+ "maintioned", "mentioned",
+ "malfuncion", "malfunction",
+ "malpractce", "malpractice",
+ "managebale", "manageable",
+ "maneagable", "manageable",
+ "maneouvred", "manoeuvred",
+ "maneouvres", "manoeuvres",
+ "maneuveres", "maneuvers",
+ "maneuveurs", "maneuver",
+ "manifestas", "manifests",
+ "manifestes", "manifests",
+ "manifestus", "manifests",
+ "manipluate", "manipulate",
+ "manipualte", "manipulate",
+ "manipulant", "manipulate",
+ "manipulare", "manipulate",
+ "manipulted", "manipulated",
+ "maniuplate", "manipulate",
+ "mannarisms", "mannerisms",
+ "mannersims", "mannerisms",
+ "mannorisms", "mannerisms",
+ "manufacter", "manufacture",
+ "manufacure", "manufacture",
+ "manufature", "manufacture",
+ "maraudeurs", "marauder",
+ "margaritte", "margaret",
+ "margianlly", "marginally",
+ "marginaali", "marginal",
+ "marginable", "marginal",
+ "marignally", "marginally",
+ "marijuanna", "marijuana",
+ "marketting", "marketing",
+ "marshmalow", "marshmallow",
+ "masculinty", "masculinity",
+ "massacrare", "massacre",
+ "massivelly", "massively",
+ "masteriers", "masteries",
+ "masternind", "mastermind",
+ "masterpice", "masterpiece",
+ "mastrubate", "masturbate",
+ "mastubrate", "masturbated",
+ "masturabte", "masturbate",
+ "masturbait", "masturbate",
+ "masturbare", "masturbate",
+ "masturbeta", "masturbated",
+ "masturdate", "masturbate",
+ "materiales", "materials",
+ "materialsm", "materialism",
+ "maximazing", "maximizing",
+ "maximixing", "maximizing",
+ "mayballine", "maybelline",
+ "maybellene", "maybelline",
+ "maybellibe", "maybelline",
+ "maybilline", "maybelline",
+ "mccarthyst", "mccarthyist",
+ "mdifielder", "midfielder",
+ "meagthread", "megathread",
+ "meaningess", "meanings",
+ "meaningles", "meanings",
+ "meatballls", "meatballs",
+ "mecahnical", "mechanical",
+ "mecahnisms", "mechanisms",
+ "mechancial", "mechanical",
+ "mechandise", "merchandise",
+ "mechanichs", "mechanics",
+ "mechanicle", "mechanical",
+ "mechanicly", "mechanical",
+ "mechanicus", "mechanics",
+ "mechanincs", "mechanic",
+ "mechanisim", "mechanism",
+ "mechansims", "mechanisms",
+ "mechinical", "mechanical",
+ "mechinisms", "mechanisms",
+ "mediaction", "medications",
+ "medicacion", "medication",
+ "medicaiton", "medication",
+ "medicalert", "medicare",
+ "medicallly", "medically",
+ "medicatons", "medications",
+ "medicinens", "medicines",
+ "medicinske", "medicine",
+ "medicority", "mediocrity",
+ "medidating", "meditating",
+ "mediocirty", "mediocrity",
+ "mediocraty", "mediocrity",
+ "mediocrety", "mediocrity",
+ "mediocricy", "mediocrity",
+ "mediocrily", "mediocrity",
+ "mediocrisy", "mediocrity",
+ "meditacion", "medications",
+ "meditaiton", "meditation",
+ "melatonian", "melatonin",
+ "melatonion", "melatonin",
+ "mellinnium", "millennium",
+ "melodieuse", "melodies",
+ "membrances", "membrane",
+ "mentallity", "mentally",
+ "mentionnes", "mentions",
+ "mercenaire", "mercenaries",
+ "mercenares", "mercenaries",
+ "mercentile", "mercantile",
+ "merchanise", "merchandise",
+ "merchantos", "merchants",
+ "messagease", "messages",
+ "messagepad", "messaged",
+ "messenging", "messaging",
+ "metabalism", "metabolism",
+ "metabilism", "metabolism",
+ "metabloism", "metabolism",
+ "metablosim", "metabolism",
+ "metabolics", "metabolism",
+ "metabolizm", "metabolism",
+ "metabolsim", "metabolism",
+ "metalurgic", "metallurgic",
+ "metaphoras", "metaphors",
+ "metaphores", "metaphors",
+ "metaphyics", "metaphysics",
+ "meterology", "meteorology",
+ "methaphors", "metaphors",
+ "methodolgy", "methodology",
+ "methodoloy", "methodology",
+ "metrapolis", "metropolis",
+ "metrolopis", "metropolis",
+ "metropilis", "metropolis",
+ "metroplois", "metropolis",
+ "metropolin", "metropolitan",
+ "metropolos", "metropolis",
+ "metropolys", "metropolis",
+ "mexicanese", "mexicans",
+ "mexicaness", "mexicans",
+ "michelline", "michelle",
+ "micorwaves", "microwaves",
+ "microhpone", "microphone",
+ "microscoop", "microscope",
+ "microvaves", "microwaves",
+ "microvaxes", "microwaves",
+ "micrpohone", "microphones",
+ "midfeilder", "midfielder",
+ "midfiedler", "midfielder",
+ "midfieldes", "midfielders",
+ "midfielers", "midfielders",
+ "midfileder", "midfielder",
+ "midifelder", "midfielder",
+ "midnlessly", "mindlessly",
+ "migitation", "mitigation",
+ "migrainers", "migraines",
+ "miletsones", "milestones",
+ "milisecond", "millisecond",
+ "militiades", "militias",
+ "militiants", "militias",
+ "millinnium", "millennium",
+ "miminalist", "minimalist",
+ "minamilist", "minimalist",
+ "mindleslly", "mindlessly",
+ "minimazing", "minimizing",
+ "minimilast", "minimalist",
+ "minimilist", "minimalist",
+ "mininalist", "minimalist",
+ "ministeres", "ministers",
+ "ministerns", "ministers",
+ "minneaplis", "minneapolis",
+ "minneapols", "minneapolis",
+ "minnesotta", "minnesota",
+ "minoritets", "minorities",
+ "minoroties", "minorities",
+ "miracalous", "miraculous",
+ "miracluous", "miraculous",
+ "miracoulus", "miraculous",
+ "mircophone", "microphone",
+ "mircoscope", "microscope",
+ "mircowaves", "microwaves",
+ "misandrony", "misandry",
+ "miscarrage", "miscarriage",
+ "miscarrige", "miscarriage",
+ "misdemenor", "misdemeanor",
+ "miserabley", "miserably",
+ "miserablly", "miserably",
+ "misforture", "misfortune",
+ "misgoynist", "misogynist",
+ "misinfomed", "misinformed",
+ "misinterpt", "misinterpret",
+ "misisonary", "missionary",
+ "misoganist", "misogynist",
+ "misogenist", "misogynist",
+ "misoginist", "misogynist",
+ "misoginyst", "misogynist",
+ "misognyist", "misogynist",
+ "misogonist", "misogynist",
+ "misogonyst", "misogynist",
+ "misogyinst", "misogynist",
+ "misogynyst", "misogynist",
+ "misoygnist", "misogynist",
+ "mispelling", "misspelling",
+ "missionare", "missionaries",
+ "missionera", "missionary",
+ "missisippi", "mississippi",
+ "mississipi", "mississippi",
+ "mississppi", "mississippi",
+ "misspeling", "misspelling",
+ "misspellng", "misspelling",
+ "mistakedly", "mistakenly",
+ "mistakinly", "mistakenly",
+ "mistankely", "mistakenly",
+ "misterious", "mysterious",
+ "misteryous", "mysterious",
+ "mistreaded", "mistreated",
+ "misygonist", "misogynist",
+ "mitigaiton", "mitigation",
+ "moderacion", "moderation",
+ "moderaters", "moderates",
+ "moderatley", "moderately",
+ "moderatore", "moderate",
+ "moderatorn", "moderation",
+ "modificato", "modification",
+ "modifieras", "modifiers",
+ "modifieres", "modifiers",
+ "moisturier", "moisturizer",
+ "moleculair", "molecular",
+ "molestaion", "molestation",
+ "molestarle", "molester",
+ "molestarme", "molester",
+ "molestarse", "molester",
+ "molestarte", "molester",
+ "molestered", "molested",
+ "momentarly", "momentarily",
+ "monagomous", "monogamous",
+ "monetizare", "monetize",
+ "monitering", "monitoring",
+ "monogymous", "monogamous",
+ "monolistic", "monolithic",
+ "monolitich", "monolithic",
+ "monolopies", "monopolies",
+ "monolothic", "monolithic",
+ "monolythic", "monolithic",
+ "monopilies", "monopolies",
+ "monoploies", "monopolies",
+ "monopolets", "monopolies",
+ "monopolice", "monopolies",
+ "monopolios", "monopolies",
+ "monothilic", "monolithic",
+ "monsterous", "monsters",
+ "montioring", "monitoring",
+ "monumentos", "monuments",
+ "monumentul", "monumental",
+ "monumentus", "monuments",
+ "mormonisim", "mormonism",
+ "morphinate", "morphine",
+ "morrisette", "morissette",
+ "morrisound", "morrison",
+ "mosquitero", "mosquito",
+ "mosquiters", "mosquitoes",
+ "motherbard", "motherboard",
+ "motherboad", "motherboard",
+ "motherbord", "motherboard",
+ "motivaiton", "motivations",
+ "motiviated", "motivated",
+ "motorcicle", "motorcycle",
+ "motorcylce", "motorcycle",
+ "motorcyles", "motorcycles",
+ "motorollas", "motorola",
+ "mouthpeace", "mouthpiece",
+ "mouthpeice", "mouthpiece",
+ "movespeeed", "movespeed",
+ "mozzaralla", "mozzarella",
+ "mozzeralla", "mozzarella",
+ "mozzorella", "mozzarella",
+ "mulitation", "mutilation",
+ "mulitplied", "multiplied",
+ "mulitplier", "multiplier",
+ "mulitverse", "multiverse",
+ "multilpier", "multiplier",
+ "multiplaer", "multiplier",
+ "multiplaye", "multiply",
+ "multiplayr", "multiply",
+ "multiplays", "multiply",
+ "multipleye", "multiply",
+ "multipling", "multiplying",
+ "multiplyed", "multiplied",
+ "multiplyer", "multiple",
+ "multiplyng", "multiplying",
+ "murderered", "murdered",
+ "murdereres", "murderers",
+ "muscicians", "musicians",
+ "musculaire", "muscular",
+ "mushroooms", "mushroom",
+ "mutialtion", "mutilation",
+ "mutiliated", "mutilated",
+ "mutliation", "mutilation",
+ "mutliplied", "multiplied",
+ "mutliplier", "multiplier",
+ "mutliverse", "multiverse",
+ "mysogynist", "misogynist",
+ "mysterieus", "mysteries",
+ "nagivating", "navigating",
+ "nagivation", "navigation",
+ "narcassism", "narcissism",
+ "narcassist", "narcissist",
+ "narcessist", "narcissist",
+ "narciscism", "narcissism",
+ "narciscist", "narcissist",
+ "narcisissm", "narcissism",
+ "narcisisst", "narcissist",
+ "narcisists", "narcissist",
+ "narcissicm", "narcissism",
+ "narcissict", "narcissist",
+ "narcissitc", "narcissist",
+ "narcissits", "narcissist",
+ "narcoticos", "narcotics",
+ "narrativas", "narratives",
+ "narrativos", "narratives",
+ "narritives", "narratives",
+ "nashvillle", "nashville",
+ "nationales", "nationals",
+ "nationalis", "nationals",
+ "nationalit", "nationalist",
+ "nationaliy", "nationality",
+ "nationalty", "nationality",
+ "nationella", "national",
+ "naturually", "naturally",
+ "naviagting", "navigating",
+ "naviagtion", "navigation",
+ "navigatore", "navigate",
+ "neccessary", "necessary",
+ "necesarily", "necessarily",
+ "necessairy", "necessarily",
+ "necessarly", "necessary",
+ "necessarry", "necessary",
+ "necessiate", "necessitate",
+ "necessites", "necessities",
+ "neckbeared", "neckbeard",
+ "neckboards", "neckbeards",
+ "neckbreads", "neckbeards",
+ "neckneards", "neckbeards",
+ "necromacer", "necromancer",
+ "necromaner", "necromancer",
+ "needleslly", "needlessly",
+ "negativaty", "negativity",
+ "negativley", "negatively",
+ "negelcting", "neglecting",
+ "negilgence", "negligence",
+ "negiotated", "negotiated",
+ "neglacting", "neglecting",
+ "neglagence", "negligence",
+ "neglegance", "negligence",
+ "neglegible", "negligible",
+ "neglegting", "neglecting",
+ "neglibible", "negligible",
+ "neglicence", "negligence",
+ "neglicible", "negligible",
+ "neglicting", "neglecting",
+ "negligable", "negligible",
+ "negligance", "negligence",
+ "negligeble", "negligible",
+ "negligente", "negligence",
+ "negociated", "negotiated",
+ "negogiated", "negotiated",
+ "negoitated", "negotiated",
+ "negotaited", "negotiated",
+ "negotation", "negotiation",
+ "negotiaion", "negotiation",
+ "negotiatie", "negotiated",
+ "negotiatin", "negotiations",
+ "negotiaton", "negotiation",
+ "neigbhours", "neighbours",
+ "neighbhors", "neighbours",
+ "neighbords", "neighbours",
+ "neighbores", "neighbours",
+ "netowrking", "networking",
+ "netruality", "neutrality",
+ "neturality", "neutrality",
+ "netwroking", "networking",
+ "neurologia", "neurological",
+ "neutrailty", "neutrality",
+ "newletters", "newsletters",
+ "newlsetter", "newsletter",
+ "newsettler", "newsletter",
+ "newslatter", "newsletter",
+ "nieghbours", "neighbours",
+ "nightmates", "nightmares",
+ "nightmears", "nightmares",
+ "nightmeres", "nightmares",
+ "nigthmares", "nightmares",
+ "nipticking", "nitpicking",
+ "nitpciking", "nitpicking",
+ "nominacion", "nomination",
+ "nominatino", "nominations",
+ "nominativo", "nomination",
+ "nominatons", "nominations",
+ "nonsencial", "nonsensical",
+ "nontheless", "nonetheless",
+ "northerend", "northern",
+ "nostalgica", "nostalgia",
+ "nostalgija", "nostalgia",
+ "noteworhty", "noteworthy",
+ "nothingess", "nothingness",
+ "noticabely", "noticeably",
+ "noticabley", "noticeably",
+ "noticiably", "noticeably",
+ "notoriosly", "notoriously",
+ "novembeard", "november",
+ "nuetrality", "neutrality",
+ "nutricious", "nutritious",
+ "nutrientes", "nutrients",
+ "nutritents", "nutrients",
+ "nutritinal", "nutritional",
+ "nutritiuos", "nutritious",
+ "nutritivos", "nutritious",
+ "nutrituous", "nutritious",
+ "nutrutious", "nutritious",
+ "obatinable", "obtainable",
+ "obejctives", "objectives",
+ "obilgatory", "obligatory",
+ "objecitves", "objectives",
+ "objectivas", "objectives",
+ "objectivly", "objectively",
+ "objectivst", "objectives",
+ "objectivty", "objectivity",
+ "objektives", "objectives",
+ "obligitary", "obligatory",
+ "obligitory", "obligatory",
+ "observabil", "observable",
+ "observarse", "observers",
+ "observaton", "observation",
+ "observeras", "observers",
+ "observered", "observed",
+ "observeres", "observers",
+ "observible", "observable",
+ "obstancles", "obstacles",
+ "obstrucion", "obstruction",
+ "obstructin", "obstruction",
+ "obtainabie", "obtainable",
+ "obtaineble", "obtainable",
+ "obtainible", "obtainable",
+ "obtianable", "obtainable",
+ "ocasionaly", "occasionally",
+ "ocassional", "occasional",
+ "ocassioned", "occasioned",
+ "occaisonal", "occasional",
+ "occasionly", "occasional",
+ "occassions", "occasions",
+ "occational", "occasional",
+ "occulation", "occupation",
+ "occupaiton", "occupation",
+ "occurances", "occurrences",
+ "occurences", "occurrences",
+ "occurrance", "occurrence",
+ "octohedral", "octahedral",
+ "octohedron", "octahedron",
+ "offensivly", "offensively",
+ "offereings", "offerings",
+ "officailly", "officially",
+ "olbigatory", "obligatory",
+ "ominpotent", "omnipotent",
+ "ominscient", "omniscient",
+ "omnipetent", "omnipotent",
+ "omnipitent", "omnipotent",
+ "omnipotant", "omnipotent",
+ "omnisicent", "omniscient",
+ "omniverous", "omnivorous",
+ "omnsicient", "omniscient",
+ "onmipotent", "omnipotent",
+ "onmiscient", "omniscient",
+ "operatings", "operations",
+ "operativne", "operative",
+ "operativos", "operations",
+ "oportunity", "opportunity",
+ "opponenets", "opponent",
+ "oppononent", "opponent",
+ "oppressiun", "oppressing",
+ "optimisitc", "optimistic",
+ "optimizare", "optimize",
+ "optimizate", "optimize",
+ "optimizied", "optimize",
+ "organicaly", "organically",
+ "organiclly", "organically",
+ "organisate", "organise",
+ "organische", "organise",
+ "organisera", "organizers",
+ "organisere", "organizers",
+ "organisert", "organizers",
+ "organisier", "organise",
+ "organisims", "organism",
+ "organismed", "organise",
+ "organismen", "organise",
+ "organismer", "organise",
+ "organismes", "organisms",
+ "organismus", "organisms",
+ "organisten", "organise",
+ "organiszed", "organise",
+ "organizaed", "organize",
+ "organizare", "organizer",
+ "organizate", "organize",
+ "organizors", "organizers",
+ "organizuje", "organize",
+ "organziers", "organizers",
+ "orientaion", "orientation",
+ "orientarla", "oriental",
+ "orientarlo", "oriental",
+ "origianlly", "originally",
+ "originales", "originals",
+ "originalet", "originated",
+ "originalis", "originals",
+ "originalty", "originality",
+ "orignially", "originally",
+ "origniated", "originated",
+ "origonally", "originally",
+ "origonated", "originated",
+ "ostencibly", "ostensibly",
+ "ostenisbly", "ostensibly",
+ "ostensably", "ostensibly",
+ "ostentibly", "ostensibly",
+ "ostrasiced", "ostracized",
+ "ostrasized", "ostracized",
+ "ostraziced", "ostracized",
+ "ostrazised", "ostracized",
+ "ostrecized", "ostracized",
+ "ostricized", "ostracized",
+ "ostrocized", "ostracized",
+ "oustanding", "outstanding",
+ "outcalssed", "outclassed",
+ "outlcassed", "outclassed",
+ "outnumberd", "outnumbered",
+ "outnumbred", "outnumbered",
+ "outperfoms", "outperform",
+ "outperfrom", "outperform",
+ "outpreform", "outperform",
+ "outrageuos", "outrageous",
+ "outragious", "outrageous",
+ "outragoues", "outrageous",
+ "outreagous", "outrageous",
+ "outsourcad", "outsourced",
+ "outsouring", "outsourcing",
+ "outsoursed", "outsourced",
+ "outweighes", "outweighs",
+ "overarcing", "overarching",
+ "overclockd", "overclocked",
+ "overcloked", "overclocked",
+ "overcoding", "overcoming",
+ "overheards", "overhead",
+ "overheared", "overhead",
+ "overhooked", "overlooked",
+ "overlanded", "overloaded",
+ "overlaoded", "overloaded",
+ "overlaping", "overlapping",
+ "overlauded", "overloaded",
+ "overloards", "overload",
+ "overlorded", "overloaded",
+ "overlordes", "overlords",
+ "overnurfed", "overturned",
+ "overpirced", "overpriced",
+ "overpowerd", "overpowered",
+ "overpowred", "overpowered",
+ "overprised", "overpriced",
+ "overtunned", "overturned",
+ "overtunred", "overturned",
+ "overturing", "overturn",
+ "overweigth", "overweight",
+ "overwhemed", "overwhelmed",
+ "overwieght", "overweight",
+ "overwritte", "overwrite",
+ "pahtfinder", "pathfinder",
+ "painfullly", "painfully",
+ "painkilers", "painkillers",
+ "pairlament", "parliament",
+ "pakistanti", "pakistani",
+ "paladinlst", "paladins",
+ "palcements", "placements",
+ "paleolitic", "paleolithic",
+ "palestinan", "palestinian",
+ "paltformer", "platformer",
+ "palyerbase", "playerbase",
+ "parachutte", "parachute",
+ "parademics", "paramedics",
+ "paradiggum", "paradigm",
+ "paragraghs", "paragraphs",
+ "paragrahps", "paragraphs",
+ "paragrapgh", "paragraphs",
+ "paragrpahs", "paragraphs",
+ "parahprase", "paraphrase",
+ "paralleles", "parallels",
+ "parallells", "parallels",
+ "paramadics", "paramedics",
+ "paramaters", "parameters",
+ "paramecias", "paramedics",
+ "parametics", "paramedics",
+ "parametros", "parameters",
+ "paramiters", "parameters",
+ "paramormal", "paranormal",
+ "paranoicas", "paranoia",
+ "paranomral", "paranormal",
+ "paranornal", "paranormal",
+ "parapharse", "paraphrase",
+ "paraphraze", "paraphrase",
+ "paraprhase", "paraphrase",
+ "parasitter", "parasite",
+ "parilament", "parliament",
+ "parituclar", "particular",
+ "parlaiment", "parliament",
+ "parliamant", "parliament",
+ "parliamone", "parliament",
+ "parliement", "parliament",
+ "parrallell", "parallel",
+ "parrallely", "parallelly",
+ "partiarchy", "patriarchy",
+ "participas", "participants",
+ "participat", "participants",
+ "participte", "participate",
+ "particualr", "particular",
+ "partiotism", "patriotism",
+ "passionais", "passions",
+ "passionale", "passionately",
+ "passionant", "passionate",
+ "passionite", "passionate",
+ "passivedns", "passives",
+ "passivelly", "passively",
+ "patenterad", "patented",
+ "pathfidner", "pathfinder",
+ "pathfindir", "pathfinder",
+ "pathifnder", "pathfinder",
+ "patientens", "patients",
+ "patrairchy", "patriarchy",
+ "patriachry", "patriarchy",
+ "patriarcal", "patriarchal",
+ "patriarhal", "patriarchal",
+ "patriatchy", "patriarchy",
+ "patriatism", "patriotism",
+ "patrionism", "patriotism",
+ "patriotics", "patriotism",
+ "patriotisk", "patriots",
+ "patroitism", "patriotism",
+ "patryarchy", "patriarchy",
+ "pedantisch", "pedantic",
+ "pedestiran", "pedestrian",
+ "pedestrain", "pedestrian",
+ "pedictions", "depictions",
+ "pedohpiles", "pedophiles",
+ "pedohpilia", "pedophilia",
+ "pedophilac", "pedophilia",
+ "pedophilea", "pedophilia",
+ "pedophilie", "pedophile",
+ "pedophilla", "pedophilia",
+ "pedophille", "pedophile",
+ "pedopholia", "pedophilia",
+ "penetraion", "penetration",
+ "penetratin", "penetration",
+ "penetraton", "penetration",
+ "penguinese", "penguins",
+ "penguiness", "penguins",
+ "peninsulla", "peninsula",
+ "penninsula", "peninsula",
+ "peodphiles", "pedophiles",
+ "peodphilia", "pedophilia",
+ "pepperment", "peppermint",
+ "pepperonni", "pepperoni",
+ "percantage", "percentage",
+ "percantile", "percentile",
+ "percaution", "precaution",
+ "percenatge", "percentages",
+ "percential", "percentile",
+ "percentige", "percentile",
+ "perceptoin", "perceptions",
+ "percession", "percussion",
+ "percetange", "percentages",
+ "percetnage", "percentages",
+ "percintile", "percentile",
+ "percission", "percussion",
+ "percpetion", "perceptions",
+ "percusions", "percussion",
+ "perdicting", "predicting",
+ "perdiction", "prediction",
+ "perdictive", "predictive",
+ "perenially", "perennially",
+ "perfeccion", "perfection",
+ "perfecxion", "perfection",
+ "perfektion", "perfection",
+ "perferable", "preferable",
+ "perferably", "preferably",
+ "perference", "preference",
+ "perferring", "preferring",
+ "perfexcion", "perfection",
+ "perfomance", "performance",
+ "performace", "performance",
+ "performane", "performances",
+ "performans", "performances",
+ "performens", "performers",
+ "performous", "performs",
+ "perfromers", "performers",
+ "perhiperal", "peripheral",
+ "peridinkle", "periwinkle",
+ "perihperal", "peripheral",
+ "periodisch", "periodic",
+ "periperhal", "peripheral",
+ "peripheals", "peripherals",
+ "peripheria", "peripheral",
+ "periphiral", "peripheral",
+ "periphreal", "peripheral",
+ "periphrial", "peripheral",
+ "peritinkle", "periwinkle",
+ "periwankle", "periwinkle",
+ "periwinkel", "periwinkle",
+ "periwinkie", "periwinkle",
+ "periwinlke", "periwinkle",
+ "permanenty", "permanently",
+ "permanetly", "permanently",
+ "permisions", "permission",
+ "permisison", "permissions",
+ "permissble", "permissible",
+ "permissibe", "permissible",
+ "permissons", "permissions",
+ "perogative", "prerogative",
+ "perordered", "preordered",
+ "perpatuate", "perpetuate",
+ "perpetualy", "perpetually",
+ "perpetuare", "perpetuate",
+ "persausion", "persuasion",
+ "persausive", "persuasive",
+ "persective", "respective",
+ "persectued", "persecuted",
+ "persecutie", "persecuted",
+ "persecutin", "persecution",
+ "perserving", "preserving",
+ "persicuted", "persecuted",
+ "persistant", "persistent",
+ "persistens", "persists",
+ "persoanlly", "personally",
+ "persocuted", "persecuted",
+ "personalie", "personalized",
+ "personalis", "personas",
+ "personarse", "personas",
+ "personatus", "personas",
+ "personnell", "personnel",
+ "perspecive", "perspective",
+ "perspectie", "perspectives",
+ "persuasian", "persuasion",
+ "persuasing", "persuasion",
+ "persuasivo", "persuasion",
+ "persuation", "persuasion",
+ "persucuted", "persecuted",
+ "persumably", "presumably",
+ "persussion", "persuasion",
+ "persvasive", "persuasive",
+ "perswasion", "persuasion",
+ "pertinante", "pertinent",
+ "pervailing", "prevailing",
+ "pervalence", "prevalence",
+ "pervention", "prevention",
+ "perversley", "perverse",
+ "pesitcides", "pesticides",
+ "pessimistc", "pessimistic",
+ "pessimitic", "pessimistic",
+ "pestacides", "pesticides",
+ "pestecides", "pesticides",
+ "pesticedes", "pesticides",
+ "pesticidas", "pesticides",
+ "pestisides", "pesticides",
+ "pestizides", "pesticides",
+ "pharamcist", "pharmacist",
+ "pharmacias", "pharmacist",
+ "pharmacyst", "pharmacist",
+ "pharmasist", "pharmacist",
+ "pharmicist", "pharmacist",
+ "phemonenon", "phenomenon",
+ "phenemenon", "phenomenon",
+ "phenemonal", "phenomenal",
+ "phenomanal", "phenomenal",
+ "phenomanon", "phenomenon",
+ "phenomemon", "phenomenon",
+ "phenomenen", "phenomenon",
+ "phenomenol", "phenomenal",
+ "phenomenom", "phenomenon",
+ "phenominon", "phenomenon",
+ "phenomonal", "phenomenal",
+ "phenomonen", "phenomenon",
+ "phenomonon", "phenomenon",
+ "phenonemal", "phenomenal",
+ "phenonemon", "phenomenon",
+ "phenonmena", "phenomena",
+ "philipines", "philippines",
+ "philippins", "philippines",
+ "philisophy", "philosophy",
+ "phillipine", "philippine",
+ "phillipses", "phillies",
+ "philosiphy", "philosophy",
+ "philosohpy", "philosophy",
+ "philosoper", "philosopher",
+ "philospher", "philosopher",
+ "philospohy", "philosophy",
+ "photogragh", "photograph",
+ "photograhs", "photographs",
+ "photograhy", "photography",
+ "photograps", "photographs",
+ "photograpy", "photography",
+ "photogrpah", "photographs",
+ "photoshopd", "photoshopped",
+ "photoshope", "photoshopped",
+ "phramacist", "pharmacist",
+ "phsyically", "physically",
+ "phsyicians", "physicians",
+ "phsyicists", "physicists",
+ "phsyiology", "physiology",
+ "phycisians", "physicians",
+ "phycisists", "physicists",
+ "phyiscally", "physically",
+ "phyisology", "physiology",
+ "physcially", "physically",
+ "physcology", "psychology",
+ "physcopath", "psychopath",
+ "physicials", "physicians",
+ "physiciens", "physicians",
+ "physioligy", "physiology",
+ "picthforks", "pitchforks",
+ "pinoneered", "pioneered",
+ "pitchferks", "pitchforks",
+ "pitchfolks", "pitchforks",
+ "pitchfords", "pitchforks",
+ "pitchworks", "pitchforks",
+ "pitckforks", "pitchforks",
+ "pittaburgh", "pittsburgh",
+ "pittsbrugh", "pittsburgh",
+ "placehoder", "placeholder",
+ "placeholdr", "placeholder",
+ "placeholer", "placeholder",
+ "placemenet", "placements",
+ "plagairism", "plagiarism",
+ "plagarisim", "plagiarism",
+ "plagiariam", "plagiarism",
+ "plagiarios", "plagiarism",
+ "plagiarius", "plagiarism",
+ "plagiarizm", "plagiarism",
+ "plagierism", "plagiarism",
+ "plaguarism", "plagiarism",
+ "plaigarism", "plagiarism",
+ "plasticosa", "plastics",
+ "platfarmer", "platformer",
+ "platformar", "platformer",
+ "platformie", "platformer",
+ "platfotmer", "platformer",
+ "platfromer", "platformer",
+ "platofrmer", "platformer",
+ "playaround", "playground",
+ "playersare", "playerbase",
+ "playgorund", "playground",
+ "playthrogh", "playthrough",
+ "playthrouh", "playthrough",
+ "playwrites", "playwrights",
+ "plethorian", "plethora",
+ "policitian", "politician",
+ "polinators", "pollinators",
+ "polishuset", "polishes",
+ "politessen", "politeness",
+ "politicain", "politician",
+ "politicaly", "politically",
+ "politicien", "politician",
+ "politicing", "politician",
+ "politicion", "politician",
+ "politickin", "politician",
+ "politiikan", "politician",
+ "politiness", "politeness",
+ "polititian", "politician",
+ "popualtion", "populations",
+ "populairty", "popularity",
+ "populaiton", "populations",
+ "popularaty", "popularity",
+ "popularest", "populate",
+ "popularily", "popularity",
+ "populaties", "populate",
+ "populatiry", "popularity",
+ "populative", "populate",
+ "populatoin", "populations",
+ "popultaion", "populations",
+ "pormetheus", "prometheus",
+ "pornograhy", "pornography",
+ "pornograpy", "pornography",
+ "pornogrphy", "pornography",
+ "porportion", "proportion",
+ "portabilty", "portability",
+ "portarying", "portraying",
+ "portoguese", "portuguese",
+ "portraiing", "portraying",
+ "portrating", "portraying",
+ "portrayels", "portrays",
+ "portugeuse", "portuguese",
+ "portuguise", "portuguese",
+ "posessions", "possessions",
+ "posicional", "positional",
+ "positevely", "positively",
+ "positioing", "positioning",
+ "positionly", "positional",
+ "positionne", "positioned",
+ "positivley", "positively",
+ "possesives", "possessive",
+ "possessers", "possesses",
+ "possessess", "possesses",
+ "possibiliy", "possibility",
+ "possibilty", "possibility",
+ "possissive", "possessive",
+ "posthomous", "posthumous",
+ "potentialy", "potentially",
+ "poulations", "populations",
+ "powerhorse", "powerhouse",
+ "powerhosue", "powerhouse",
+ "powerhours", "powerhouse",
+ "powerhsell", "powershell",
+ "powerprint", "powerpoint",
+ "powersehll", "powershell",
+ "ppublisher", "publisher",
+ "practially", "practically",
+ "practicaly", "practically",
+ "practicess", "practise",
+ "practiclly", "practically",
+ "practioner", "practitioner",
+ "precaucion", "precaution",
+ "precausion", "precaution",
+ "precautios", "precautions",
+ "precedance", "precedence",
+ "precedense", "precedence",
+ "preceeding", "preceding",
+ "precendece", "precedence",
+ "precentage", "percentage",
+ "precentile", "percentile",
+ "preciselly", "precisely",
+ "precuation", "precautions",
+ "precussion", "percussion",
+ "predecated", "predicated",
+ "predecence", "precedence",
+ "predecesor", "predecessor",
+ "predection", "prediction",
+ "predective", "predictive",
+ "prediccion", "prediction",
+ "prediceted", "predicated",
+ "predicited", "predicated",
+ "predicitng", "predicting",
+ "prediciton", "prediction",
+ "predicitve", "predictive",
+ "predickted", "predicated",
+ "predictave", "predictive",
+ "predictivo", "prediction",
+ "predictons", "predictions",
+ "predjuiced", "prejudiced",
+ "predjuices", "prejudices",
+ "preduction", "prediction",
+ "preductive", "predictive",
+ "predujiced", "prejudiced",
+ "predujices", "prejudices",
+ "prefarable", "preferable",
+ "prefarably", "preferably",
+ "prefection", "perfection",
+ "preferance", "preference",
+ "prefereble", "preferable",
+ "preferente", "preference",
+ "preferenze", "preference",
+ "preferible", "preferable",
+ "preferibly", "preferably",
+ "prefernece", "preferences",
+ "preformers", "performers",
+ "pregancies", "pregnancies",
+ "pregnanies", "pregnancies",
+ "preipheral", "peripheral",
+ "preisdents", "presidents",
+ "preisthood", "priesthood",
+ "prejeduced", "prejudiced",
+ "prejeduces", "prejudices",
+ "prejiduced", "prejudiced",
+ "prejiduces", "prejudices",
+ "prejucided", "prejudiced",
+ "prejucides", "prejudices",
+ "prejuduced", "prejudiced",
+ "prejuduces", "prejudices",
+ "prelimiary", "preliminary",
+ "prematurly", "prematurely",
+ "preminence", "preeminence",
+ "premission", "permission",
+ "preorderes", "preorders",
+ "prepartion", "preparation",
+ "prepetuate", "perpetuate",
+ "preposters", "preposterous",
+ "prescients", "presidents",
+ "prescirbed", "prescribed",
+ "prescriped", "prescribed",
+ "presearing", "preserving",
+ "presecuted", "persecuted",
+ "presedency", "presidency",
+ "presedents", "presidents",
+ "presenning", "presenting",
+ "presentase", "presents",
+ "presentato", "presentation",
+ "presention", "presenting",
+ "presentors", "presents",
+ "preservare", "preserve",
+ "preservato", "preservation",
+ "preserverd", "preserved",
+ "presidancy", "presidency",
+ "presidante", "presidents",
+ "presidenta", "presidential",
+ "presidenty", "presidency",
+ "presidunce", "presidency",
+ "presistent", "persistent",
+ "presonally", "personally",
+ "presonhood", "personhood",
+ "pressuming", "pressuring",
+ "prestigios", "prestigious",
+ "prestigous", "prestigious",
+ "presuambly", "presumably",
+ "presuasion", "persuasion",
+ "presuasive", "persuasive",
+ "presumebly", "presumably",
+ "presumendo", "presumed",
+ "presumibly", "presumably",
+ "presumpton", "presumption",
+ "pretaining", "pertaining",
+ "pretection", "protection",
+ "pretendias", "pretends",
+ "pretensive", "pretense",
+ "pretentios", "pretentious",
+ "pretentous", "pretentious",
+ "prevalecen", "prevalence",
+ "prevalente", "prevalence",
+ "prevencion", "prevention",
+ "preventivo", "prevention",
+ "preventors", "prevents",
+ "previaling", "prevailing",
+ "previosuly", "previously",
+ "previoulsy", "previously",
+ "prevolence", "prevalence",
+ "pricinpals", "principals",
+ "primarilly", "primarily",
+ "primatives", "primitives",
+ "princepals", "principals",
+ "princesess", "princesses",
+ "princibles", "principles",
+ "principaly", "principality",
+ "principels", "principals",
+ "principial", "principal",
+ "principias", "principals",
+ "principlas", "principals",
+ "prinicipal", "principal",
+ "prinicpals", "principals",
+ "prinicples", "principles",
+ "printerest", "printers",
+ "prioratize", "prioritize",
+ "prioretize", "prioritize",
+ "prioritice", "prioritize",
+ "prioritied", "prioritize",
+ "prioroties", "priorities",
+ "priorotize", "prioritize",
+ "priotities", "priorities",
+ "priotitize", "prioritize",
+ "privaleged", "privileged",
+ "privaleges", "privileges",
+ "privaticed", "privatized",
+ "privelaged", "privileged",
+ "privelages", "privileges",
+ "priveldges", "privileges",
+ "priveleged", "privileged",
+ "priveleges", "privileges",
+ "privelidge", "privileged",
+ "priveliged", "privileged",
+ "priveliges", "privileges",
+ "privetized", "privatized",
+ "privilaged", "privileged",
+ "privilages", "privileges",
+ "priviledge", "privilege",
+ "privilegde", "privileges",
+ "privilegie", "privilege",
+ "priviliged", "privileged",
+ "priviliges", "privileges",
+ "privitazed", "privatized",
+ "privitized", "privatized",
+ "probabiliy", "probability",
+ "probabilty", "probability",
+ "probablies", "probable",
+ "probablybe", "probable",
+ "problemita", "problematic",
+ "procalimed", "proclaimed",
+ "procceding", "proceeding",
+ "procedding", "proceeding",
+ "procederal", "procedural",
+ "procedings", "proceedings",
+ "procedrual", "procedural",
+ "proceededs", "proceeds",
+ "proceedure", "procedure",
+ "proceesing", "proceeding",
+ "processsor", "processors",
+ "proclamied", "proclaimed",
+ "proclaming", "proclaiming",
+ "procliamed", "proclaimed",
+ "procreatin", "procreation",
+ "procudures", "procedures",
+ "prodcution", "production",
+ "prodecural", "procedural",
+ "prodecures", "procedures",
+ "produccion", "production",
+ "produceras", "produces",
+ "produceres", "produces",
+ "producirse", "producers",
+ "produciton", "production",
+ "producting", "production",
+ "productino", "productions",
+ "productivo", "production",
+ "productivy", "productivity",
+ "productoin", "productions",
+ "produktion", "production",
+ "produktive", "productive",
+ "produtcion", "productions",
+ "profesions", "profession",
+ "professers", "professors",
+ "professorn", "profession",
+ "professsor", "professors",
+ "proffesion", "profession",
+ "proficeint", "proficient",
+ "proficiant", "proficient",
+ "proficieny", "proficiency",
+ "proficincy", "proficiency",
+ "profitabel", "profitable",
+ "profitabil", "profitable",
+ "profitible", "profitable",
+ "proftiable", "profitable",
+ "programmar", "programmer",
+ "programmme", "programme",
+ "progresing", "progressing",
+ "progresion", "progression",
+ "progresive", "progressive",
+ "progressie", "progressives",
+ "progressin", "progression",
+ "progresson", "progression",
+ "progressos", "progresses",
+ "progressus", "progresses",
+ "prohibirte", "prohibit",
+ "prohibites", "prohibits",
+ "prohibitng", "prohibiting",
+ "prohibiton", "prohibition",
+ "prohibitus", "prohibits",
+ "prohibitve", "prohibited",
+ "prohobited", "prohibited",
+ "prohpecies", "prophecies",
+ "projecitle", "projectiles",
+ "projectiel", "projectiles",
+ "projecties", "projectiles",
+ "projectils", "projectiles",
+ "projectles", "projectiles",
+ "projectlie", "projectiles",
+ "projectyle", "projectile",
+ "projektile", "projectile",
+ "projektion", "projection",
+ "prometheas", "prometheus",
+ "promethese", "prometheus",
+ "promethius", "prometheus",
+ "promethous", "prometheus",
+ "promethues", "prometheus",
+ "prominance", "prominence",
+ "prominenty", "prominently",
+ "prominetly", "prominently",
+ "promiscous", "promiscuous",
+ "promiscuos", "promiscuous",
+ "promoteurs", "promotes",
+ "promotheus", "prometheus",
+ "promotinal", "promotional",
+ "pronoucned", "pronounced",
+ "pronouning", "pronouncing",
+ "propechies", "prophecies",
+ "propencity", "propensity",
+ "propenents", "proponents",
+ "properites", "properties",
+ "propersity", "propensity",
+ "propertion", "proportion",
+ "propertius", "properties",
+ "prophacies", "prophecies",
+ "prophocies", "prophecies",
+ "propietary", "proprietary",
+ "proplusion", "propulsion",
+ "propoganda", "propaganda",
+ "propogates", "propagates",
+ "propolsion", "propulsion",
+ "proponants", "proponents",
+ "proponenet", "proponent",
+ "proporcion", "proportion",
+ "proporties", "properties",
+ "proporting", "proportion",
+ "propositon", "proposition",
+ "propotions", "proportions",
+ "proprietry", "proprietary",
+ "proprotion", "proportion",
+ "propserity", "prosperity",
+ "propserous", "prosperous",
+ "propulaios", "propulsion",
+ "propulsing", "propulsion",
+ "propultion", "propulsion",
+ "propuslion", "propulsion",
+ "prosectued", "prosecuted",
+ "prosectuor", "prosecutor",
+ "prosecuter", "prosecutor",
+ "prosecutie", "prosecuted",
+ "prosicuted", "prosecuted",
+ "prosicutor", "prosecutor",
+ "prosocuted", "prosecuted",
+ "prosparity", "prosperity",
+ "prospectos", "prospects",
+ "prosperety", "prosperity",
+ "prospertiy", "prosperity",
+ "prosphetic", "prosthetic",
+ "prosporous", "prosperous",
+ "prostehtic", "prosthetic",
+ "prosterity", "prosperity",
+ "prostethic", "prosthetic",
+ "prostitite", "prostitute",
+ "prostitude", "prostitute",
+ "prostituee", "prostitute",
+ "prostituer", "prostitute",
+ "prostitues", "prostitutes",
+ "prostiture", "prostitute",
+ "prostituto", "prostitution",
+ "prostituye", "prostitute",
+ "protaginst", "protagonist",
+ "protastant", "protestant",
+ "proteccion", "protection",
+ "proteciton", "protections",
+ "protectice", "protective",
+ "protectiei", "protective",
+ "protectoin", "protections",
+ "protectons", "protectors",
+ "protectron", "protection",
+ "protestans", "protests",
+ "protestare", "protesters",
+ "protestato", "protestant",
+ "protestent", "protestant",
+ "protestina", "protestant",
+ "prothsetic", "prosthetic",
+ "protistant", "protestant",
+ "protocoles", "protocols",
+ "protocolls", "protocols",
+ "protocolos", "protocols",
+ "protohypes", "prototypes",
+ "protostant", "protestant",
+ "prototipes", "prototypes",
+ "prototpyes", "prototypes",
+ "protraying", "portraying",
+ "protuguese", "portuguese",
+ "provencial", "provincial",
+ "proveribal", "proverbial",
+ "provervial", "proverbial",
+ "providance", "providence",
+ "providince", "providence",
+ "provinciae", "province",
+ "provincies", "province",
+ "provincija", "provincial",
+ "provinence", "providence",
+ "provinical", "provincial",
+ "provintial", "provincial",
+ "provinvial", "provincial",
+ "provisiosn", "provision",
+ "provisonal", "provisional",
+ "provocatie", "provocative",
+ "pscyhology", "psychology",
+ "pscyhopath", "psychopath",
+ "pshycology", "psychology",
+ "pshycopath", "psychopath",
+ "psychedlic", "psychedelic",
+ "psychiatic", "psychiatric",
+ "psycholoog", "psychology",
+ "psychopaat", "psychopath",
+ "psychopats", "psychopaths",
+ "ptichforks", "pitchforks",
+ "publicitan", "publication",
+ "publisheed", "published",
+ "publisherr", "publisher",
+ "publishher", "publisher",
+ "publissher", "publisher",
+ "publlisher", "publisher",
+ "punihsment", "punishments",
+ "punishemnt", "punishments",
+ "punishible", "punishable",
+ "punishmnet", "punishments",
+ "punissable", "punishable",
+ "punsihable", "punishable",
+ "purchacing", "purchasing",
+ "purpolsion", "propulsion",
+ "purposedly", "purposely",
+ "purposelly", "purposely",
+ "purpotedly", "purportedly",
+ "pususading", "persuading",
+ "pyschology", "psychology",
+ "pyschopath", "psychopath",
+ "qaulifiers", "qualifiers",
+ "quailfiers", "qualifiers",
+ "qualfiiers", "qualifiers",
+ "qualifieds", "qualifies",
+ "qualifiies", "qualifiers",
+ "qualifiing", "qualifying",
+ "qualifires", "qualifiers",
+ "qualifyers", "qualifiers",
+ "qualitying", "qualifying",
+ "quanitites", "quantities",
+ "quantaties", "quantities",
+ "quantitize", "quantities",
+ "quarantena", "quarantine",
+ "quarantene", "quarantine",
+ "quarantied", "quarantine",
+ "quarintine", "quarantine",
+ "quaruntine", "quarantine",
+ "quesitoned", "questioned",
+ "questional", "questionable",
+ "questionne", "questioned",
+ "rabinnical", "rabbinical",
+ "radiactive", "radioactive",
+ "radioacive", "radioactive",
+ "rainbowers", "rainbows",
+ "randmoness", "randomness",
+ "randomzied", "randomized",
+ "randonmess", "randomness",
+ "randumness", "randomness",
+ "raspberrry", "raspberry",
+ "rationalle", "rationale",
+ "readmition", "readmission",
+ "realitvely", "relatively",
+ "realtively", "relatively",
+ "realtivity", "relativity",
+ "reaserched", "researched",
+ "reasercher", "researcher",
+ "rebiulding", "rebuilding",
+ "reboudning", "rebounding",
+ "rebouncing", "rebounding",
+ "rebuidling", "rebuilding",
+ "rebuliding", "rebuilding",
+ "rebuplican", "republican",
+ "reccommend", "recommend",
+ "recepients", "recipients",
+ "receptoras", "receptors",
+ "receptores", "receptors",
+ "recgonised", "recognised",
+ "recgonized", "recognized",
+ "recgonizes", "recognizes",
+ "reciepents", "recipients",
+ "recipeints", "recipients",
+ "recipiants", "recipients",
+ "recocnised", "recognised",
+ "recoginsed", "recognised",
+ "recoginzed", "recognized",
+ "recognices", "recognizes",
+ "recogniton", "recognition",
+ "recognzied", "recognised",
+ "recomended", "recommended",
+ "recommande", "recommend",
+ "recommands", "recommends",
+ "recommeded", "recommended",
+ "recommened", "recommend",
+ "recommennd", "recommends",
+ "recomments", "recommends",
+ "recompence", "recompense",
+ "reconcider", "reconsider",
+ "reconcille", "reconcile",
+ "recongised", "recognised",
+ "recongized", "recognized",
+ "recongizes", "recognizes",
+ "reconisder", "reconsider",
+ "reconsiled", "reconsider",
+ "recordarle", "recorder",
+ "recordarme", "recorder",
+ "recordarse", "recorder",
+ "recordarte", "recorder",
+ "recreacion", "recreation",
+ "recreatief", "recreate",
+ "recreativo", "recreation",
+ "recrutiers", "recruiters",
+ "rectanglar", "rectangular",
+ "rectangual", "rectangular",
+ "rectanguar", "rectangular",
+ "recuriters", "recruiters",
+ "recurrance", "recurrence",
+ "recursivly", "recursively",
+ "redefinied", "redefine",
+ "redefinine", "redefine",
+ "redemtpion", "redemption",
+ "redepmtion", "redemption",
+ "redesiging", "redesign",
+ "rediculous", "ridiculous",
+ "redmeption", "redemption",
+ "redneckers", "rednecks",
+ "redneckese", "rednecks",
+ "redneckest", "rednecks",
+ "reduncancy", "redundancy",
+ "redundency", "redundancy",
+ "redundnacy", "redundancy",
+ "redunduncy", "redundancy",
+ "reenforced", "reinforced",
+ "reevaulate", "reevaluate",
+ "refedendum", "referendum",
+ "refelcting", "reflecting",
+ "refelction", "reflection",
+ "refelctive", "reflective",
+ "referances", "references",
+ "referandum", "referendum",
+ "referemces", "references",
+ "referemdum", "referendum",
+ "referendim", "referendum",
+ "referendom", "referendum",
+ "referenece", "reference",
+ "referening", "referencing",
+ "referenses", "referees",
+ "referentes", "references",
+ "referneces", "references",
+ "referrence", "reference",
+ "referundum", "referendum",
+ "refference", "reference",
+ "refleciton", "reflections",
+ "reflecters", "reflects",
+ "reflektion", "reflection",
+ "reflextion", "reflection",
+ "reformerad", "reformed",
+ "refrigerar", "refrigerator",
+ "refurbised", "refurbished",
+ "regenarate", "regenerate",
+ "registeres", "registers",
+ "registrato", "registration",
+ "regresives", "regressive",
+ "regressivo", "regression",
+ "regualting", "regulating",
+ "regualtion", "regulations",
+ "regualtors", "regulators",
+ "regulacion", "regulation",
+ "regulament", "regulate",
+ "regulaotrs", "regulators",
+ "regularily", "regularly",
+ "regularing", "regulating",
+ "regularlas", "regulars",
+ "regularlos", "regulars",
+ "regulaters", "regulators",
+ "regulatios", "regulators",
+ "regulatons", "regulations",
+ "rehtorical", "rhetorical",
+ "reinstaled", "reinstalled",
+ "reitrement", "retirement",
+ "relagation", "relaxation",
+ "relatation", "relaxation",
+ "relativety", "relativity",
+ "relativily", "relativity",
+ "relativley", "relatively",
+ "relavation", "relaxation",
+ "relaxating", "relaxation",
+ "relazation", "relaxation",
+ "releagtion", "relegation",
+ "relegetion", "relegation",
+ "relentness", "relentless",
+ "reletnless", "relentless",
+ "relevation", "revelation",
+ "relexation", "relegation",
+ "relfecting", "reflecting",
+ "relfection", "reflection",
+ "relfective", "reflective",
+ "reliabilty", "reliability",
+ "reliablely", "reliably",
+ "religiones", "religions",
+ "religiosly", "religiously",
+ "religiousy", "religiously",
+ "religously", "religiously",
+ "relitavely", "relatively",
+ "reluctanct", "reluctant",
+ "reluctanly", "reluctantly",
+ "reluctanty", "reluctantly",
+ "remarcably", "remarkably",
+ "remarkibly", "remarkably",
+ "rememberes", "remembers",
+ "remenicent", "reminiscent",
+ "reminisent", "reminiscent",
+ "reminscent", "reminiscent",
+ "remmebered", "remembered",
+ "renaissace", "renaissance",
+ "renderered", "rendered",
+ "renegerate", "regenerate",
+ "renewabels", "renewables",
+ "renewebles", "renewables",
+ "rennovated", "renovated",
+ "renweables", "renewables",
+ "repatition", "repetition",
+ "repblicans", "republicans",
+ "repbulican", "republican",
+ "repeadedly", "repeatedly",
+ "repeadetly", "repeatedly",
+ "repearable", "repeatable",
+ "repearedly", "repealed",
+ "repeatadly", "repeatedly",
+ "repeatedlt", "repealed",
+ "repeatetly", "repeatedly",
+ "repeatible", "repeatable",
+ "repeatidly", "repeatedly",
+ "repectable", "repeatable",
+ "repentable", "repeatable",
+ "repentence", "repentance",
+ "repersents", "represents",
+ "repetation", "repetition",
+ "repeteadly", "repeatedly",
+ "repetetion", "repetition",
+ "repeticion", "repetition",
+ "repetitivo", "repetition",
+ "replacated", "replicated",
+ "replaceble", "replaceable",
+ "replacemet", "replacements",
+ "replacemnt", "replacement",
+ "replacemtn", "replacements",
+ "replecated", "replicated",
+ "repoistory", "repository",
+ "reponsible", "responsible",
+ "reportadly", "reportedly",
+ "reporteros", "reporters",
+ "reportidly", "reportedly",
+ "repositary", "repository",
+ "reposotory", "repository",
+ "repostiory", "repository",
+ "representn", "representing",
+ "repressent", "represents",
+ "repressivo", "repression",
+ "repsectful", "respectful",
+ "repsecting", "respecting",
+ "repsective", "respective",
+ "repsonding", "responding",
+ "repsonsive", "responsive",
+ "reptuation", "reputation",
+ "repubicans", "republicans",
+ "republcian", "republican",
+ "republians", "republicans",
+ "republicon", "republican",
+ "repuglican", "republican",
+ "repulicans", "republicans",
+ "reputacion", "reputation",
+ "requirment", "requirement",
+ "requrement", "requirement",
+ "resemblace", "resemble",
+ "reserached", "researched",
+ "reseracher", "researchers",
+ "reserverad", "reserved",
+ "reservered", "reserved",
+ "residental", "residential",
+ "resistable", "resistible",
+ "resistanes", "resistances",
+ "resistanse", "resistances",
+ "resistence", "resistance",
+ "resistendo", "resisted",
+ "resistered", "resisted",
+ "resistnace", "resistances",
+ "resitsance", "resistances",
+ "resoltuion", "resolutions",
+ "resolucion", "resolution",
+ "resolutino", "resolutions",
+ "resolutoin", "resolutions",
+ "resolutons", "resolutions",
+ "resolvemos", "resolves",
+ "resolvendo", "resolved",
+ "resolveres", "resolves",
+ "resolverse", "resolves",
+ "resolviste", "resolves",
+ "resonabelt", "resonate",
+ "resoultion", "resolution",
+ "respecitve", "respective",
+ "respectifs", "respects",
+ "respection", "respecting",
+ "respectons", "respects",
+ "respectuos", "respects",
+ "respektive", "respective",
+ "respiratoy", "respiratory",
+ "responcive", "responsive",
+ "responisve", "responsive",
+ "responsibe", "responsive",
+ "responsiby", "responsibly",
+ "responsile", "responsive",
+ "responsing", "responding",
+ "ressembled", "resembled",
+ "restarants", "restaurants",
+ "restaraunt", "restaurant",
+ "restaruant", "restaurant",
+ "restatting", "restarting",
+ "restaurent", "restaurant",
+ "restauring", "restarting",
+ "resteraunt", "restaurant",
+ "restircted", "restricted",
+ "restorting", "restarting",
+ "restrainig", "restraining",
+ "restrcited", "restricted",
+ "restrcting", "restarting",
+ "restricing", "restricting",
+ "restricion", "restriction",
+ "restricive", "restrictive",
+ "restrictes", "restricts",
+ "restrictie", "restrictive",
+ "restricton", "restriction",
+ "restructed", "restricted",
+ "restuarant", "restaurant",
+ "resturants", "restaurants",
+ "resturaunt", "restaurant",
+ "retaliaton", "retaliation",
+ "rethorical", "rhetorical",
+ "retierment", "retirement",
+ "retribuito", "retribution",
+ "retrosepct", "retrospect",
+ "retrospekt", "retrospect",
+ "revaluated", "reevaluated",
+ "revealtion", "revelations",
+ "revelaiton", "revelations",
+ "revelatons", "revelations",
+ "revelution", "revelation",
+ "reversable", "reversible",
+ "reversably", "reversal",
+ "reviewtrue", "reviewer",
+ "revisiones", "revisions",
+ "revisionis", "revisions",
+ "revoltuion", "revolution",
+ "revoluiton", "revolutions",
+ "revolutoin", "revolutions",
+ "revoultion", "revolution",
+ "rewarching", "rewatching",
+ "rewatchibg", "rewatching",
+ "rewatchign", "rewatching",
+ "rewatchimg", "rewatching",
+ "rhapsodomy", "rhapsody",
+ "rhetorisch", "rhetoric",
+ "ridicilous", "ridiculous",
+ "ridicoulus", "ridiculous",
+ "ridiculise", "ridicule",
+ "ridiculize", "ridicule",
+ "ridiculled", "ridicule",
+ "ridiculose", "ridicule",
+ "ridiculued", "ridicule",
+ "rienforced", "reinforced",
+ "rigthfully", "rightfully",
+ "roleplaing", "roleplaying",
+ "romanmania", "romanian",
+ "roundaboot", "roundabout",
+ "rucuperate", "recuperate",
+ "rudimentry", "rudimentary",
+ "sacarmento", "sacramento",
+ "sacntioned", "sanctioned",
+ "sacraficed", "sacrificed",
+ "sacrafices", "sacrifices",
+ "sacramenno", "sacramento",
+ "sacreficed", "sacrificed",
+ "sacrefices", "sacrifices",
+ "sacremento", "sacramento",
+ "sacrifaced", "sacrificed",
+ "sacrifaces", "sacrifices",
+ "sacrifical", "sacrificial",
+ "sacrificas", "sacrifices",
+ "sacrificie", "sacrificed",
+ "sacrificng", "sacrificing",
+ "sacrifises", "sacrifices",
+ "sacrifized", "sacrificed",
+ "sacrifizes", "sacrifices",
+ "sacromento", "sacramento",
+ "sadistisch", "sadistic",
+ "sanctionne", "sanctioned",
+ "sandiwches", "sandwiches",
+ "sandviches", "sandwiches",
+ "sandwishes", "sandwiches",
+ "sanitazion", "sanitation",
+ "santiation", "sanitation",
+ "sastifying", "satisfying",
+ "satellitte", "satellites",
+ "satifsying", "satisfying",
+ "satrically", "satirically",
+ "satsifying", "satisfying",
+ "sattelites", "satellites",
+ "saturacion", "saturation",
+ "scandalosa", "scandals",
+ "scandalose", "scandals",
+ "scandalosi", "scandals",
+ "scandaloso", "scandals",
+ "scandaniva", "scandinavia",
+ "scandinava", "scandinavian",
+ "scandinvia", "scandinavia",
+ "scaramento", "sacramento",
+ "scarificed", "sacrificed",
+ "scarifices", "sacrifices",
+ "scarmbling", "scrambling",
+ "scartching", "scratching",
+ "sceintific", "scientific",
+ "sceintists", "scientists",
+ "scenarioes", "scenarios",
+ "scenarions", "scenarios",
+ "scenarious", "scenarios",
+ "scheudling", "scheduling",
+ "scholarhip", "scholarship",
+ "scholarley", "scholarly",
+ "sciencists", "scientists",
+ "scientests", "scientists",
+ "scirptures", "scriptures",
+ "scooterers", "scooters",
+ "scorebaord", "scoreboard",
+ "scoreborad", "scoreboard",
+ "scorebored", "scoreboard",
+ "scorpiomon", "scorpion",
+ "scracthing", "scratching",
+ "scramblies", "scramble",
+ "screenshat", "screenshot",
+ "screenshit", "screenshot",
+ "scriptores", "scriptures",
+ "scripturae", "scriptures",
+ "scriputres", "scriptures",
+ "scritpures", "scriptures",
+ "scrutinity", "scrutiny",
+ "seahawkers", "seahawks",
+ "sebastiaan", "sebastian",
+ "segegrated", "segregated",
+ "segragated", "segregated",
+ "segregaded", "segregated",
+ "segregatie", "segregated",
+ "segretated", "segregated",
+ "segrigated", "segregated",
+ "selectiose", "selections",
+ "selectivly", "selectively",
+ "selectivos", "selections",
+ "selfishess", "selfishness",
+ "senitments", "sentiments",
+ "sensitiviy", "sensitivity",
+ "sensitivty", "sensitivity",
+ "sentaments", "sentiments",
+ "sentancing", "sentencing",
+ "sentements", "sentiments",
+ "sentencian", "sentencing",
+ "sentensing", "sentencing",
+ "sentimenal", "sentimental",
+ "sentimetal", "sentimental",
+ "sentincing", "sentencing",
+ "sentinents", "sentiments",
+ "separacion", "separation",
+ "separaters", "separates",
+ "separatley", "separately",
+ "separatron", "separation",
+ "separetely", "separately",
+ "seperately", "separately",
+ "seperating", "separating",
+ "seperation", "separation",
+ "seperatism", "separatism",
+ "seperatist", "separatist",
+ "seperatley", "seperate",
+ "sepulchure", "sepulchre",
+ "serenitary", "serenity",
+ "serviceble", "serviceable",
+ "settelment", "settlement",
+ "settlemens", "settlements",
+ "settlemets", "settlements",
+ "settlemnts", "settlements",
+ "seuxalized", "sexualized",
+ "seventeeen", "seventeen",
+ "sexaulized", "sexualized",
+ "sexualixed", "sexualized",
+ "sexuallity", "sexually",
+ "sexualzied", "sexualized",
+ "sexulaized", "sexualized",
+ "shakespare", "shakespeare",
+ "shakespeer", "shakespeare",
+ "shakespere", "shakespeare",
+ "shamelesly", "shamelessly",
+ "shamelessy", "shamelessly",
+ "shaprening", "sharpening",
+ "shareholds", "shareholders",
+ "sharkening", "sharpening",
+ "sharpining", "sharpening",
+ "shartening", "sharpening",
+ "shatnering", "shattering",
+ "shattening", "shattering",
+ "shepharded", "shepherd",
+ "shilouette", "silhouette",
+ "shitlasses", "shitless",
+ "shortenend", "shortened",
+ "shortining", "shortening",
+ "sidelinien", "sideline",
+ "sidelinjen", "sideline",
+ "sidelinked", "sideline",
+ "sigantures", "signatures",
+ "sightstine", "sightstone",
+ "signficant", "significant",
+ "signifiant", "significant",
+ "significat", "significant",
+ "signitures", "signatures",
+ "sigthstone", "sightstone",
+ "sihlouette", "silhouette",
+ "silohuette", "silhouette",
+ "silouhette", "silhouette",
+ "similairty", "similarity",
+ "similarily", "similarly",
+ "similarlly", "similarly",
+ "similiarly", "similarly",
+ "similiarty", "similarity",
+ "simliarity", "similarity",
+ "simluation", "simulation",
+ "simplictic", "simplistic",
+ "simplifing", "simplifying",
+ "simplifyed", "simplified",
+ "simplifyng", "simplifying",
+ "simplisitc", "simplistic",
+ "simplisity", "simplicity",
+ "simplistes", "simplest",
+ "simplivity", "simplicity",
+ "simplyfied", "simplified",
+ "simualtion", "simulation",
+ "simulacion", "simulation",
+ "simulaiton", "simulations",
+ "simulaties", "simulate",
+ "simulative", "simulate",
+ "simulatons", "simulations",
+ "simulatore", "simulate",
+ "sincereley", "sincerely",
+ "sincerelly", "sincerely",
+ "singatures", "signatures",
+ "singulaire", "singular",
+ "singulariy", "singularity",
+ "singularty", "singularity",
+ "singulator", "singular",
+ "sitautions", "situations",
+ "situatinal", "situational",
+ "skatebaord", "skateboard",
+ "skateborad", "skateboard",
+ "skatebored", "skateboard",
+ "skatebrand", "skateboard",
+ "skeletones", "skeletons",
+ "skeptecism", "skepticism",
+ "skepticals", "skeptics",
+ "skepticles", "skeptics",
+ "skepticons", "skeptics",
+ "skeptisicm", "skepticism",
+ "skeptisism", "skepticism",
+ "sketchysex", "sketches",
+ "sketpicism", "skepticism",
+ "skillhosts", "skillshots",
+ "skillshits", "skillshots",
+ "skillshoot", "skillshots",
+ "skillslots", "skillshots",
+ "skillsofts", "skillshots",
+ "skillsshot", "skillshots",
+ "skirmiches", "skirmish",
+ "skpeticism", "skepticism",
+ "slaughterd", "slaughtered",
+ "slipperies", "slippers",
+ "smarpthone", "smartphones",
+ "smarthpone", "smartphone",
+ "snadwiches", "sandwiches",
+ "snowbaling", "snowballing",
+ "snowballes", "snowballs",
+ "snowballls", "snowballs",
+ "socailists", "socialists",
+ "socailized", "socialized",
+ "socialisim", "socialism",
+ "socializng", "socializing",
+ "socialsits", "socialists",
+ "sociapaths", "sociopaths",
+ "socilaists", "socialists",
+ "socilaized", "socialized",
+ "sociologia", "sociological",
+ "sociopatas", "sociopaths",
+ "sociopatch", "sociopaths",
+ "sociopatic", "sociopathic",
+ "socratease", "socrates",
+ "socreboard", "scoreboard",
+ "soemthings", "somethings",
+ "soldiarity", "solidarity",
+ "solidairty", "solidarity",
+ "soliditary", "solidarity",
+ "solitudine", "solitude",
+ "somehtings", "somethings",
+ "someonelse", "someones",
+ "somethibng", "somethin",
+ "somethigng", "somethin",
+ "somethigns", "somethings",
+ "somethihng", "somethin",
+ "somethiing", "somethin",
+ "somethijng", "somethin",
+ "somethikng", "somethin",
+ "somethimng", "somethin",
+ "somethinbg", "somethings",
+ "somethines", "somethings",
+ "somethinfg", "somethings",
+ "somethinhg", "somethings",
+ "somethinig", "somethings",
+ "somethinkg", "somethings",
+ "somethinks", "somethings",
+ "somethinmg", "somethings",
+ "somethinng", "somethings",
+ "somethintg", "somethings",
+ "somethiong", "somethin",
+ "somethiung", "somethin",
+ "sophicated", "sophisticated",
+ "sotrmfront", "stormfront",
+ "sotrylines", "storylines",
+ "soudntrack", "soundtrack",
+ "soundrtack", "soundtracks",
+ "soundtracs", "soundtracks",
+ "soundtrakc", "soundtracks",
+ "soundtrakk", "soundtrack",
+ "soundtraks", "soundtracks",
+ "southampon", "southampton",
+ "southamton", "southampton",
+ "southerers", "southerners",
+ "southernes", "southerners",
+ "southerton", "southern",
+ "souveniers", "souvenirs",
+ "sovereigny", "sovereignty",
+ "sovereinty", "sovereignty",
+ "soverignty", "sovereignty",
+ "spartaniis", "spartans",
+ "spartanops", "spartans",
+ "specailist", "specialist",
+ "specailize", "specializes",
+ "specialice", "specialize",
+ "specialied", "specialized",
+ "specialies", "specializes",
+ "specialits", "specials",
+ "speciallly", "specially",
+ "speciallty", "specially",
+ "specialops", "specials",
+ "specialsts", "specialists",
+ "specialtys", "specials",
+ "specialzed", "specialized",
+ "specialzes", "specializes",
+ "specifices", "specifics",
+ "specifiing", "specifying",
+ "specifiyng", "specifying",
+ "speciliast", "specialists",
+ "specimines", "specimen",
+ "spectarors", "spectators",
+ "spectaters", "spectators",
+ "spectracal", "spectral",
+ "spectraply", "spectral",
+ "spectrolab", "spectral",
+ "speculatie", "speculative",
+ "speculatin", "speculation",
+ "speecheasy", "speeches",
+ "speicalist", "specialist",
+ "spiritualy", "spiritually",
+ "sponsorees", "sponsors",
+ "sponsorhip", "sponsorship",
+ "sponsorise", "sponsors",
+ "spontaneos", "spontaneous",
+ "spontaneus", "spontaneous",
+ "spontanous", "spontaneous",
+ "spoonfulls", "spoonfuls",
+ "spreadshet", "spreadsheet",
+ "springfeld", "springfield",
+ "springfied", "springfield",
+ "spriritual", "spiritual",
+ "squirrells", "squirrels",
+ "squirrelus", "squirrels",
+ "stabelized", "stabilized",
+ "stabilzied", "stabilized",
+ "stablility", "stability",
+ "stablizied", "stabilized",
+ "staggaring", "staggering",
+ "stakeboard", "skateboard",
+ "starighten", "straighten",
+ "starnation", "starvation",
+ "startegies", "strategies",
+ "startupbus", "startups",
+ "starwberry", "strawberry",
+ "statememts", "statements",
+ "statictics", "statistics",
+ "stationair", "stationary",
+ "statisitcs", "statistics",
+ "statistcal", "statistical",
+ "statistisk", "statistics",
+ "stauration", "saturation",
+ "stealthboy", "stealthy",
+ "stealthely", "stealthy",
+ "stealthify", "stealthy",
+ "stealthray", "stealthy",
+ "steeleries", "steelers",
+ "stereotipe", "stereotype",
+ "stereotpye", "stereotypes",
+ "steriotype", "stereotype",
+ "steroetype", "stereotype",
+ "sterotypes", "stereotypes",
+ "steryotype", "stereotype",
+ "stimilants", "stimulants",
+ "stimilated", "stimulated",
+ "stimualted", "stimulated",
+ "stimulatie", "stimulated",
+ "stimulatin", "stimulation",
+ "stimulaton", "stimulation",
+ "stimulents", "stimulants",
+ "stomrfront", "stormfront",
+ "storelines", "storylines",
+ "stormfornt", "stormfront",
+ "stormfromt", "stormfront",
+ "stornfront", "stormfront",
+ "stornghold", "stronghold",
+ "stradegies", "strategies",
+ "strageties", "strategies",
+ "straighted", "straightened",
+ "straightie", "straighten",
+ "straightin", "straighten",
+ "straigthen", "straighten",
+ "stranglove", "strangle",
+ "strangreal", "strangle",
+ "stratagies", "strategies",
+ "strategems", "strategies",
+ "strategice", "strategies",
+ "strategisk", "strategies",
+ "stravation", "starvation",
+ "strawbarry", "strawberry",
+ "strawbeary", "strawberry",
+ "strawbeery", "strawberry",
+ "strawbrary", "strawberry",
+ "strawburry", "strawberry",
+ "streaching", "stretching",
+ "streamtrue", "streamer",
+ "strechting", "stretching",
+ "strecthing", "stretching",
+ "stregnthen", "strengthen",
+ "streichung", "stretching",
+ "strenghten", "strengthen",
+ "strengsten", "strengthen",
+ "strengthes", "strengths",
+ "strengthin", "strengthen",
+ "stressende", "stressed",
+ "striaghten", "straighten",
+ "stromfront", "stormfront",
+ "stronkhold", "stronghold",
+ "stroylines", "storylines",
+ "structered", "structured",
+ "structrual", "structural",
+ "structurel", "structural",
+ "strucutral", "structural",
+ "strucutred", "structured",
+ "strucutres", "structures",
+ "strugglign", "struggling",
+ "strwaberry", "strawberry",
+ "sttutering", "stuttering",
+ "stupidfree", "stupider",
+ "stupiditiy", "stupidity",
+ "sturctural", "structural",
+ "sturctures", "structures",
+ "sturggling", "struggling",
+ "subarmines", "submarines",
+ "subcultuur", "subculture",
+ "subesquent", "subsequent",
+ "subisdized", "subsidized",
+ "subjectief", "subjective",
+ "subjectifs", "subjects",
+ "subjectivy", "subjectively",
+ "subjektive", "subjective",
+ "submariens", "submarines",
+ "submarinas", "submarines",
+ "submergerd", "submerged",
+ "submerines", "submarines",
+ "submisison", "submissions",
+ "submissies", "submissive",
+ "submissons", "submissions",
+ "submittion", "submitting",
+ "subsadized", "subsidized",
+ "subscirbed", "subscribed",
+ "subscirber", "subscribers",
+ "subscribar", "subscriber",
+ "subscribir", "subscriber",
+ "subscrible", "subscriber",
+ "subscriped", "subscribed",
+ "subscrubed", "subscribed",
+ "subscryber", "subscriber",
+ "subsedized", "subsidized",
+ "subsequant", "subsequent",
+ "subsidezed", "subsidized",
+ "subsidiced", "subsidized",
+ "subsidizng", "subsidizing",
+ "subsiduary", "subsidiary",
+ "subsiquent", "subsequent",
+ "subsittute", "substitutes",
+ "subsizided", "subsidized",
+ "subsrcibed", "subscribed",
+ "substanial", "substantial",
+ "substansen", "substances",
+ "substanser", "substances",
+ "substanses", "substances",
+ "substantie", "substantive",
+ "substatial", "substantial",
+ "substences", "substances",
+ "substitite", "substitute",
+ "substittue", "substitutes",
+ "substitude", "substitute",
+ "substitued", "substitute",
+ "substituer", "substitute",
+ "substitues", "substitutes",
+ "substiture", "substitute",
+ "substituto", "substitution",
+ "substituts", "substitutes",
+ "substracts", "subtracts",
+ "substutite", "substitutes",
+ "subsudized", "subsidized",
+ "subtitltes", "subtitle",
+ "succceeded", "succeeded",
+ "succcesses", "successes",
+ "succesfuly", "successfully",
+ "succesions", "succession",
+ "successing", "succession",
+ "successivo", "succession",
+ "sucesfully", "successfully",
+ "sucessfull", "successful",
+ "sucessfuly", "successfully",
+ "sudnerland", "sunderland",
+ "sufferered", "suffered",
+ "sufferring", "suffering",
+ "sufficiant", "sufficient",
+ "suggestied", "suggestive",
+ "suggestief", "suggestive",
+ "suggestons", "suggests",
+ "sumbarines", "submarines",
+ "sumbissive", "submissive",
+ "sumbitting", "submitting",
+ "summerized", "summarized",
+ "summorized", "summarized",
+ "summurized", "summarized",
+ "sunderlona", "sunderland",
+ "sunderlund", "sunderland",
+ "sungalsses", "sunglasses",
+ "sunglesses", "sunglasses",
+ "sunglinger", "gunslinger",
+ "sunscreeen", "sunscreen",
+ "superfical", "superficial",
+ "superfluos", "superfluous",
+ "superioara", "superior",
+ "superioare", "superior",
+ "superioris", "superiors",
+ "superivsor", "supervisors",
+ "supermaket", "supermarket",
+ "supermarkt", "supermarket",
+ "superouman", "superhuman",
+ "superposer", "superpowers",
+ "superviors", "supervisors",
+ "superviosr", "supervisors",
+ "supervisar", "supervisor",
+ "superviser", "supervisor",
+ "supervisin", "supervision",
+ "supervison", "supervision",
+ "supervsior", "supervisors",
+ "supperssor", "suppressor",
+ "supplament", "supplement",
+ "supplemant", "supplemental",
+ "supplemets", "supplements",
+ "supportare", "supporters",
+ "supporteur", "supporter",
+ "supportied", "supported",
+ "supportors", "supporters",
+ "supposdely", "supposedly",
+ "supposebly", "supposedly",
+ "supposidly", "supposedly",
+ "suppresion", "suppression",
+ "suppresors", "suppressor",
+ "suppressin", "suppression",
+ "suppressio", "suppressor",
+ "suppresson", "suppression",
+ "suprassing", "surpassing",
+ "supressing", "suppressing",
+ "supression", "suppression",
+ "supsension", "suspension",
+ "supsicions", "suspicions",
+ "supsicious", "suspicious",
+ "surounding", "surrounding",
+ "surplanted", "supplanted",
+ "surpressed", "suppressed",
+ "surprizing", "surprising",
+ "surrenderd", "surrendered",
+ "surrouding", "surrounding",
+ "surroundes", "surrounds",
+ "surroundig", "surroundings",
+ "survivours", "survivor",
+ "suseptable", "susceptible",
+ "suseptible", "susceptible",
+ "suspecions", "suspicions",
+ "suspecious", "suspicious",
+ "suspencion", "suspension",
+ "suspendeds", "suspense",
+ "suspention", "suspension",
+ "suspicians", "suspicions",
+ "suspiciois", "suspicions",
+ "suspicioso", "suspicions",
+ "suspicioun", "suspicion",
+ "suspicison", "suspicions",
+ "suspiciuos", "suspicions",
+ "suspicsion", "suspicions",
+ "suspisions", "suspicions",
+ "suspisious", "suspicious",
+ "suspitions", "suspicions",
+ "sustainble", "sustainable",
+ "swaetshirt", "sweatshirt",
+ "swearengin", "swearing",
+ "swearshirt", "sweatshirt",
+ "sweathsirt", "sweatshirt",
+ "sweatshits", "sweatshirt",
+ "sweatshort", "sweatshirt",
+ "sweatshrit", "sweatshirt",
+ "sweerheart", "sweetheart",
+ "sweetshart", "sweetheart",
+ "switcheasy", "switches",
+ "switzerand", "switzerland",
+ "symapthize", "sympathize",
+ "symbolisch", "symbolic",
+ "symbolisim", "symbolism",
+ "symetrical", "symmetrical",
+ "sympatheic", "sympathetic",
+ "sympathiek", "sympathize",
+ "sympathien", "sympathize",
+ "sympathtic", "sympathetic",
+ "sympathyze", "sympathize",
+ "sympethize", "sympathize",
+ "symphatize", "sympathize",
+ "symphonity", "symphony",
+ "sympothize", "sympathize",
+ "syncronous", "synchronous",
+ "synomymous", "synonymous",
+ "synomynous", "synonymous",
+ "synonamous", "synonymous",
+ "synonimous", "synonymous",
+ "synonmyous", "synonymous",
+ "synonomous", "synonymous",
+ "synonumous", "synonymous",
+ "synonynous", "synonymous",
+ "sypmathize", "sympathize",
+ "systamatic", "systematic",
+ "systemetic", "systematic",
+ "systemisch", "systemic",
+ "systimatic", "systematic",
+ "tabelspoon", "tablespoon",
+ "tablespons", "tablespoons",
+ "tablesppon", "tablespoon",
+ "tacitcally", "tactically",
+ "taiwanesse", "taiwanese",
+ "taligating", "tailgating",
+ "tantrumers", "tantrums",
+ "targetting", "targeting",
+ "teamfigths", "teamfights",
+ "teamifghts", "teamfights",
+ "teamspeack", "teamspeak",
+ "techicians", "technicians",
+ "techincian", "technician",
+ "techinican", "technician",
+ "techinques", "techniques",
+ "technicain", "technician",
+ "technicaly", "technically",
+ "technicans", "technicians",
+ "technichan", "technician",
+ "technicien", "technician",
+ "technicion", "technician",
+ "technitian", "technician",
+ "technqiues", "techniques",
+ "techtician", "technician",
+ "tehnically", "ethnically",
+ "telegrapgh", "telegraph",
+ "teleporing", "teleporting",
+ "televesion", "television",
+ "televisivo", "television",
+ "temafights", "teamfights",
+ "temerature", "temperature",
+ "temperatue", "temperature",
+ "temperment", "temperament",
+ "temperture", "temperature",
+ "templarios", "templars",
+ "templarius", "templars",
+ "temporaily", "temporarily",
+ "temporarly", "temporary",
+ "temptating", "temptation",
+ "temptetion", "temptation",
+ "tendancies", "tendencies",
+ "tendencias", "tendencies",
+ "tendencije", "tendencies",
+ "tendensies", "tendencies",
+ "tendincies", "tendencies",
+ "tensionors", "tensions",
+ "tentacreul", "tentacle",
+ "termanator", "terminator",
+ "termendous", "tremendous",
+ "termiantor", "terminator",
+ "termigator", "terminator",
+ "terminales", "terminals",
+ "terminalis", "terminals",
+ "terminarla", "terminal",
+ "terminarlo", "terminal",
+ "terminaron", "terminator",
+ "terminater", "terminator",
+ "terminolgy", "terminology",
+ "terorrists", "terrorists",
+ "terrerists", "terrorists",
+ "terrestial", "terrestrial",
+ "terriblely", "terribly",
+ "terriories", "territories",
+ "territoral", "territorial",
+ "territores", "territories",
+ "territoris", "territories",
+ "territorry", "territory",
+ "terrorisim", "terrorism",
+ "terrorsits", "terrorists",
+ "terrurists", "terrorists",
+ "testiclees", "testicles",
+ "testiclies", "testicle",
+ "testimoney", "testimony",
+ "thankyooou", "thankyou",
+ "themselfes", "themselves",
+ "themsevles", "themselves",
+ "themsleves", "themselves",
+ "theocracry", "theocracy",
+ "theologial", "theological",
+ "therapetic", "therapeutic",
+ "therepists", "therapists",
+ "theripists", "therapists",
+ "thermastat", "thermostat",
+ "thermistat", "thermostat",
+ "thermomter", "thermometer",
+ "theromstat", "thermostat",
+ "thorttling", "throttling",
+ "thorughout", "throughout",
+ "thouroghly", "thoroughly",
+ "threadened", "threaded",
+ "threatenes", "threatens",
+ "threatning", "threatening",
+ "threshhold", "threshold",
+ "throthling", "throttling",
+ "throtlling", "throttling",
+ "throughiut", "throughput",
+ "thubmnails", "thumbnails",
+ "thumbmails", "thumbnails",
+ "thunderbot", "thunderbolt",
+ "thunderolt", "thunderbolt",
+ "tighetning", "tightening",
+ "tightining", "tightening",
+ "tigthening", "tightening",
+ "tjpanishad", "upanishad",
+ "toothbruch", "toothbrush",
+ "toothbruth", "toothbrush",
+ "toothbursh", "toothbrush",
+ "toothrbush", "toothbrush",
+ "toppingest", "toppings",
+ "torchilght", "torchlight",
+ "torchlgiht", "torchlight",
+ "torchligth", "torchlight",
+ "torhclight", "torchlight",
+ "torrentbig", "torrenting",
+ "torrenters", "torrents",
+ "torrentors", "torrents",
+ "tortillera", "tortilla",
+ "tortillias", "tortilla",
+ "tortillita", "tortilla",
+ "tortilllas", "tortilla",
+ "torunament", "tournament",
+ "totalitara", "totalitarian",
+ "touchsceen", "touchscreen",
+ "touchscren", "touchscreen",
+ "touranment", "tournaments",
+ "tourmanent", "tournaments",
+ "tournamets", "tournaments",
+ "tournamnet", "tournament",
+ "tournemant", "tournament",
+ "tournement", "tournament",
+ "toxicitity", "toxicity",
+ "trafficing", "trafficking",
+ "trainwreak", "trainwreck",
+ "traitorise", "traitors",
+ "tramboline", "trampoline",
+ "tramploine", "trampoline",
+ "trampolene", "trampoline",
+ "tranformed", "transformed",
+ "tranistion", "transition",
+ "tranlsated", "translated",
+ "transalted", "translated",
+ "transaltes", "translates",
+ "transaltor", "translator",
+ "transation", "transition",
+ "transciprt", "transcripts",
+ "transcirpt", "transcripts",
+ "transcrips", "transcripts",
+ "transcrito", "transcript",
+ "transcrits", "transcripts",
+ "transcrpit", "transcript",
+ "transfered", "transferred",
+ "transferer", "transferred",
+ "transferes", "transfers",
+ "transferrs", "transfers",
+ "transferts", "transfers",
+ "transfomed", "transformed",
+ "transfored", "transformed",
+ "transforme", "transfer",
+ "transfroms", "transforms",
+ "transgeder", "transgender",
+ "transgener", "transgender",
+ "transicion", "transition",
+ "transision", "transition",
+ "transister", "transistor",
+ "transitons", "transitions",
+ "transitors", "transistor",
+ "transkript", "transcript",
+ "translater", "translator",
+ "translatin", "translations",
+ "translatio", "translator",
+ "translpant", "transplants",
+ "transluent", "translucent",
+ "transmited", "transmitted",
+ "transmiter", "transmitter",
+ "transmitor", "transistor",
+ "transmorgs", "transforms",
+ "transpalnt", "transplants",
+ "transphoic", "transphobic",
+ "transplain", "transplant",
+ "transplate", "transplant",
+ "transplats", "transplants",
+ "transpoder", "transported",
+ "transportr", "transporter",
+ "transsexal", "transsexual",
+ "transtator", "translator",
+ "tranzistor", "transistor",
+ "trasncript", "transcript",
+ "trasnforms", "transforms",
+ "trasnlated", "translated",
+ "trasnlator", "translator",
+ "trasnplant", "transplant",
+ "traveleres", "travelers",
+ "travelodge", "traveled",
+ "traverlers", "traverse",
+ "traversare", "traverse",
+ "traversier", "traverse",
+ "treasurery", "treasury",
+ "trememdous", "tremendous",
+ "tremondous", "tremendous",
+ "trespasing", "trespassing",
+ "trianwreck", "trainwreck",
+ "trochlight", "torchlight",
+ "trustworhy", "trustworthy",
+ "trustworty", "trustworthy",
+ "trustwothy", "trustworthy",
+ "tryannical", "tyrannical",
+ "tunraround", "turnaround",
+ "tupparware", "tupperware",
+ "turnapound", "turnaround",
+ "turthfully", "truthfully",
+ "tutoriales", "tutorials",
+ "tyrantical", "tyrannical",
+ "ubiqituous", "ubiquitous",
+ "ubiquotous", "ubiquitous",
+ "ubiqutious", "ubiquitous",
+ "ukrainains", "ukrainians",
+ "ukraineans", "ukrainians",
+ "ukrainiens", "ukrainians",
+ "ukraininas", "ukrainians",
+ "ukrianians", "ukrainians",
+ "ulitmately", "ultimately",
+ "ulterioara", "ulterior",
+ "ulterioare", "ulterior",
+ "ultimative", "ultimate",
+ "ultimatley", "ultimately",
+ "ultimatuum", "ultimatum",
+ "unanwsered", "unanswered",
+ "unasnwered", "unanswered",
+ "unattanded", "unattended",
+ "unattented", "unattended",
+ "unavailabe", "unavailable",
+ "unavailble", "unavailable",
+ "unavoidble", "unavoidable",
+ "unawnsered", "unanswered",
+ "unbalenced", "unbalanced",
+ "unballance", "unbalance",
+ "unbalnaced", "unbalanced",
+ "unbareable", "unbearable",
+ "unbeakable", "unbeatable",
+ "unbeareble", "unbearable",
+ "unbeatbale", "unbeatable",
+ "unbeateble", "unbeatable",
+ "unbeerable", "unbearable",
+ "unbeetable", "unbeatable",
+ "unbeknowst", "unbeknownst",
+ "unbreakble", "unbreakable",
+ "uncencored", "uncensored",
+ "uncensered", "uncensored",
+ "uncersored", "uncensored",
+ "uncertainy", "uncertainty",
+ "uncertanty", "uncertainty",
+ "uncesnored", "uncensored",
+ "uncomitted", "uncommitted",
+ "uncommited", "uncommitted",
+ "unconcious", "unconscious",
+ "unconscous", "unconscious",
+ "undebiably", "undeniably",
+ "undeinable", "undeniable",
+ "undeinably", "undeniably",
+ "undenaible", "undeniable",
+ "undenaibly", "undeniably",
+ "undenyable", "undeniable",
+ "undenyably", "undeniably",
+ "underbaker", "undertaker",
+ "undercling", "underlying",
+ "underfaker", "undertaker",
+ "undergated", "underrated",
+ "undergrand", "undergrad",
+ "undergroud", "underground",
+ "undergrund", "underground",
+ "undermimes", "undermines",
+ "underminde", "undermines",
+ "underminig", "undermining",
+ "underneeth", "underneath",
+ "underneith", "underneath",
+ "undernieth", "underneath",
+ "underpowed", "underpowered",
+ "underraged", "underrated",
+ "underraker", "undertaker",
+ "underrater", "undertaker",
+ "undersatnd", "understands",
+ "understadn", "understands",
+ "understans", "understands",
+ "understnad", "understands",
+ "understoon", "understood",
+ "understsnd", "understands",
+ "undertoker", "undertaker",
+ "undertsand", "understands",
+ "undertunes", "undertones",
+ "underwager", "underwater",
+ "underwares", "underwater",
+ "underwolrd", "underworld",
+ "underwoord", "underworld",
+ "underwrold", "underworld",
+ "underyling", "underlying",
+ "undesrtand", "understands",
+ "undoubtedy", "undoubtedly",
+ "undoubtely", "undoubtedly",
+ "undoubtley", "undoubtedly",
+ "uneccesary", "unnecessary",
+ "unecessary", "unnecessary",
+ "unedcuated", "uneducated",
+ "unedicated", "uneducated",
+ "unempolyed", "unemployed",
+ "unexplaind", "unexplained",
+ "unexplaned", "unexplained",
+ "unfamilair", "unfamiliar",
+ "unfamilier", "unfamiliar",
+ "unfinsihed", "unfinished",
+ "unfirendly", "unfriendly",
+ "unfortuate", "unfortunate",
+ "unfreindly", "unfriendly",
+ "unfriednly", "unfriendly",
+ "unfriently", "unfriendly",
+ "ungrapeful", "ungrateful",
+ "ungreatful", "ungrateful",
+ "unhealthly", "unhealthy",
+ "unicornios", "unicorns",
+ "unifnished", "unfinished",
+ "unihabited", "uninhabited",
+ "unilatreal", "unilateral",
+ "unimporant", "unimportant",
+ "unimpresed", "unimpressed",
+ "unimpressd", "unimpressed",
+ "uninsipred", "uninspired",
+ "uninspried", "uninspired",
+ "uninstaled", "uninstalled",
+ "uniquiness", "uniqueness",
+ "univercity", "university",
+ "univeristy", "university",
+ "universale", "universe",
+ "universaly", "universally",
+ "universels", "universes",
+ "universets", "universes",
+ "universite", "universities",
+ "universtiy", "university",
+ "unjustifed", "unjustified",
+ "unknowingy", "unknowingly",
+ "unknowinly", "unknowingly",
+ "unnecesary", "unnecessary",
+ "unofficail", "unofficial",
+ "unoffocial", "unofficial",
+ "unorginial", "unoriginal",
+ "unorignial", "unoriginal",
+ "unorigonal", "unoriginal",
+ "unplacable", "unplayable",
+ "unplaybale", "unplayable",
+ "unplayeble", "unplayable",
+ "unpleasent", "unpleasant",
+ "unpopulair", "unpopular",
+ "unproteced", "unprotected",
+ "unqiueness", "uniqueness",
+ "unqualifed", "unqualified",
+ "unrealesed", "unreleased",
+ "unrealible", "unreliable",
+ "unrealistc", "unrealistic",
+ "unrealitic", "unrealistic",
+ "unreasonal", "unreasonably",
+ "unrelaible", "unreliable",
+ "unreleated", "unreleased",
+ "unrelyable", "unreliable",
+ "unrepetant", "unrepentant",
+ "unrepetent", "unrepentant",
+ "unresponse", "unresponsive",
+ "unsencored", "uncensored",
+ "unsetlling", "unsettling",
+ "unsolicted", "unsolicited",
+ "unsubscibe", "unsubscribe",
+ "unsubscrbe", "unsubscribe",
+ "unsucesful", "unsuccessful",
+ "unsuprised", "unsurprised",
+ "unsuprized", "unsurprised",
+ "unviersity", "university",
+ "unwrittern", "unwritten",
+ "urkainians", "ukrainians",
+ "utlimately", "ultimately",
+ "utlrasound", "ultrasound",
+ "vaccinatie", "vaccinated",
+ "vaccineras", "vaccines",
+ "valentians", "valentines",
+ "valentiens", "valentines",
+ "valentimes", "valentines",
+ "valentinas", "valentines",
+ "valentinos", "valentines",
+ "valentones", "valentines",
+ "validitity", "validity",
+ "valnetines", "valentines",
+ "vandalisim", "vandalism",
+ "vasectomey", "vasectomy",
+ "vegatarian", "vegetarian",
+ "vegaterian", "vegetarian",
+ "vegeratian", "vegetarians",
+ "vegetairan", "vegetarians",
+ "vegetarain", "vegetarians",
+ "vegetarien", "vegetarian",
+ "vegetarion", "vegetarian",
+ "vegetatian", "vegetarian",
+ "vegeterian", "vegetarian",
+ "vegitables", "vegetables",
+ "vehemantly", "vehemently",
+ "vehemontly", "vehemently",
+ "veitnamese", "vietnamese",
+ "veiwership", "viewership",
+ "veiwpoints", "viewpoints",
+ "venezuella", "venezuela",
+ "verificato", "verification",
+ "verifyable", "verifiable",
+ "veritcally", "vertically",
+ "veritiable", "verifiable",
+ "vernecular", "vernacular",
+ "vernicular", "vernacular",
+ "versatiliy", "versatility",
+ "versatille", "versatile",
+ "versatilty", "versatility",
+ "versitlity", "versatility",
+ "vewiership", "viewership",
+ "vibratoare", "vibrator",
+ "vicitmized", "victimized",
+ "vicotrious", "victorious",
+ "victemized", "victimized",
+ "victomized", "victimized",
+ "victorinos", "victorious",
+ "victorinus", "victorious",
+ "victoriosa", "victorious",
+ "victorioso", "victorious",
+ "victoriuos", "victorious",
+ "victumized", "victimized",
+ "videogaems", "videogames",
+ "videojames", "videogames",
+ "vidoegames", "videogames",
+ "vientamese", "vietnamese",
+ "vietmanese", "vietnamese",
+ "vietnamees", "vietnamese",
+ "vietnamise", "vietnamese",
+ "viewpionts", "viewpoints",
+ "vigilantie", "vigilante",
+ "vigoruosly", "vigorously",
+ "vigourosly", "vigorously",
+ "villageois", "villages",
+ "vindicitve", "vindictive",
+ "vindictave", "vindictive",
+ "visibiltiy", "visibility",
+ "vitenamese", "vietnamese",
+ "vocabluary", "vocabulary",
+ "volatiltiy", "volatility",
+ "volativity", "volatility",
+ "volitality", "volatility",
+ "volleyboll", "volleyball",
+ "vollyeball", "volleyball",
+ "volonteers", "volunteers",
+ "volounteer", "volunteer",
+ "voluntairy", "voluntarily",
+ "voluntarly", "voluntary",
+ "voluntears", "volunteers",
+ "volunteeer", "volunteers",
+ "volunteerd", "volunteered",
+ "voluntered", "volunteered",
+ "vulernable", "vulnerable",
+ "vulnarable", "vulnerable",
+ "vulnerabil", "vulnerable",
+ "vulnurable", "vulnerable",
+ "vunlerable", "vulnerable",
+ "warrandyte", "warranty",
+ "warrantles", "warranties",
+ "warrenties", "warranties",
+ "washignton", "washington",
+ "waterlemon", "watermelon",
+ "watermalon", "watermelon",
+ "waterproff", "waterproof",
+ "wavelegnth", "wavelength",
+ "wavelenghs", "wavelength",
+ "wavelenght", "wavelength",
+ "weakensses", "weaknesses",
+ "weaknesess", "weaknesses",
+ "weathliest", "wealthiest",
+ "wedensdays", "wednesdays",
+ "wednesdsay", "wednesdays",
+ "wednessday", "wednesdays",
+ "wednsedays", "wednesdays",
+ "weightened", "weighted",
+ "welathiest", "wealthiest",
+ "wellignton", "wellington",
+ "wellingotn", "wellington",
+ "wendesdays", "wednesdays",
+ "wereabouts", "whereabouts",
+ "westbroook", "westbrook",
+ "westernese", "westerners",
+ "westerness", "westerners",
+ "westminser", "westminster",
+ "westminter", "westminster",
+ "whatosever", "whatsoever",
+ "whatseover", "whatsoever",
+ "whipsering", "whispering",
+ "whsipering", "whispering",
+ "widepsread", "widespread",
+ "wikileakes", "wikileaks",
+ "wilderniss", "wilderness",
+ "wildreness", "wilderness",
+ "willfullly", "willfully",
+ "winchestor", "winchester",
+ "windhsield", "windshield",
+ "windsheild", "windshield",
+ "windshiled", "windshield",
+ "wisconsion", "wisconsin",
+ "wishpering", "whispering",
+ "withdrawan", "withdrawn",
+ "withdrawel", "withdrawal",
+ "withdrawin", "withdrawn",
+ "withholdng", "withholding",
+ "withrdawal", "withdrawals",
+ "witnissing", "witnessing",
+ "wonderfull", "wonderful",
+ "wonderfuly", "wonderfully",
+ "wonderwand", "wonderland",
+ "worhsiping", "worshiping",
+ "workingest", "workings",
+ "workstaion", "workstation",
+ "workstaton", "workstation",
+ "worshippig", "worshipping",
+ "worshoping", "worshiping",
+ "wrestlewar", "wrestler",
+ "xenohpobic", "xenophobic",
+ "xenophibia", "xenophobia",
+ "xenophibic", "xenophobic",
+ "xenophonic", "xenophobic",
+ "xenophopia", "xenophobia",
+ "xenophopic", "xenophobic",
+ "xeonphobia", "xenophobia",
+ "xeonphobic", "xenophobic",
+ "yourselfes", "yourselves",
+ "yoursleves", "yourselves",
+ "zimbabwaen", "zimbabwe",
+ "zionistisk", "zionists",
+ "abandonig", "abandoning",
+ "abandonne", "abandonment",
+ "abanonded", "abandoned",
+ "abdomnial", "abdominal",
+ "abdonimal", "abdominal",
+ "aberation", "aberration",
+ "abnormaly", "abnormally",
+ "abodminal", "abdominal",
+ "abondoned", "abandoned",
+ "aborigene", "aborigine",
+ "aboslutes", "absolutes",
+ "abosrbing", "absorbing",
+ "abreviate", "abbreviate",
+ "abritrary", "arbitrary",
+ "abruptley", "abruptly",
+ "absailing", "abseiling",
+ "absloutes", "absolutes",
+ "absolutey", "absolutely",
+ "absolutly", "absolutely",
+ "absoultes", "absolutes",
+ "abstracto", "abstraction",
+ "absurdley", "absurdly",
+ "absuridty", "absurdity",
+ "abusrdity", "absurdity",
+ "academica", "academia",
+ "accademic", "academic",
+ "accalimed", "acclaimed",
+ "accelerar", "accelerator",
+ "accending", "ascending",
+ "accension", "accession",
+ "accidenty", "accidently",
+ "acclamied", "acclaimed",
+ "accliamed", "acclaimed",
+ "accomdate", "accommodate",
+ "accordeon", "accordion",
+ "accordian", "accordion",
+ "accoridng", "according",
+ "accountas", "accountants",
+ "accountat", "accountants",
+ "accoustic", "acoustic",
+ "accroding", "according",
+ "accuraccy", "accuracy",
+ "acftually", "factually",
+ "acheiving", "achieving",
+ "achieveds", "achieves",
+ "achillees", "achilles",
+ "achilleos", "achilles",
+ "achilleus", "achilles",
+ "achiveing", "achieving",
+ "acitvates", "activates",
+ "aclhemist", "alchemist",
+ "acomplish", "accomplish",
+ "acquisito", "acquisition",
+ "acronymes", "acronyms",
+ "acronymns", "acronyms",
+ "acsending", "ascending",
+ "acsension", "ascension",
+ "activaste", "activates",
+ "activatin", "activation",
+ "activelly", "actively",
+ "activisim", "activism",
+ "activisit", "activist",
+ "activites", "activities",
+ "actresess", "actresses",
+ "acusation", "causation",
+ "acutality", "actuality",
+ "adavanced", "advanced",
+ "adbominal", "abdominal",
+ "additonal", "additional",
+ "addoptive", "adoptive",
+ "addresing", "addressing",
+ "addtional", "additional",
+ "adhearing", "adhering",
+ "adherance", "adherence",
+ "adjectivs", "adjectives",
+ "adjustabe", "adjustable",
+ "administr", "administer",
+ "admitedly", "admittedly",
+ "adolecent", "adolescent",
+ "adovcated", "advocated",
+ "adovcates", "advocates",
+ "adquiring", "acquiring",
+ "adresable", "addressable",
+ "adressing", "addressing",
+ "aduiobook", "audiobook",
+ "advatange", "advantage",
+ "adventurs", "adventures",
+ "adveristy", "adversity",
+ "advertisy", "adversity",
+ "advisorys", "advisors",
+ "aeorspace", "aerospace",
+ "aeropsace", "aerospace",
+ "aerosapce", "aerospace",
+ "aersopace", "aerospace",
+ "aestethic", "aesthetic",
+ "aethistic", "atheistic",
+ "affiliato", "affiliation",
+ "affinitiy", "affinity",
+ "affirmate", "affirmative",
+ "affliated", "affiliated",
+ "africanas", "africans",
+ "africanos", "africans",
+ "aggegrate", "aggregate",
+ "aggresive", "aggressive",
+ "agnosticm", "agnosticism",
+ "agregates", "aggregates",
+ "agreggate", "aggregate",
+ "agrentina", "argentina",
+ "agression", "aggression",
+ "agressive", "aggressive",
+ "agressvie", "agressive",
+ "agruement", "arguement",
+ "agruments", "arguments",
+ "agurement", "arguement",
+ "ailenated", "alienated",
+ "airbourne", "airborne",
+ "aircrafts", "aircraft",
+ "airplance", "airplane",
+ "airrcraft", "aircraft",
+ "aksreddit", "askreddit",
+ "alcehmist", "alchemist",
+ "alchemsit", "alchemist",
+ "alchimest", "alchemist",
+ "alchmeist", "alchemist",
+ "alchoolic", "alcoholic",
+ "alcoholis", "alcoholics",
+ "alechmist", "alchemist",
+ "alegience", "allegiance",
+ "aleinated", "alienated",
+ "algoriths", "algorithms",
+ "algoritms", "algorithms",
+ "algorthim", "algorithm",
+ "algortihm", "algorithm",
+ "alignemnt", "alignment",
+ "alimunium", "aluminium",
+ "alingment", "alignment",
+ "allainces", "alliances",
+ "alledgely", "allegedly",
+ "allegence", "allegiance",
+ "alleivate", "alleviate",
+ "allievate", "alleviate",
+ "alliviate", "alleviate",
+ "allopones", "allophones",
+ "allthough", "although",
+ "almightly", "almighty",
+ "alocholic", "alcoholic",
+ "alogrithm", "algorithm",
+ "alphabeat", "alphabet",
+ "alrightey", "alrighty",
+ "alrightly", "alrighty",
+ "alrightty", "alrighty",
+ "alrington", "arlington",
+ "alrorythm", "algorithm",
+ "alterante", "alternate",
+ "alternatr", "alternator",
+ "althetics", "athletics",
+ "althought", "although",
+ "altruisim", "altruism",
+ "amateures", "amateurs",
+ "ambluance", "ambulance",
+ "ambuigity", "ambiguity",
+ "amendmant", "amendment",
+ "amercians", "americans",
+ "americain", "american",
+ "americams", "americas",
+ "americaps", "americas",
+ "americats", "americas",
+ "amibguity", "ambiguity",
+ "aminosity", "animosity",
+ "amrstrong", "armstrong",
+ "amublance", "ambulance",
+ "amunition", "ammunition",
+ "anachrist", "anarchist",
+ "analagous", "analogous",
+ "analitycs", "analytics",
+ "analtyics", "analytics",
+ "analyitcs", "analytics",
+ "analyseas", "analyses",
+ "analysees", "analyses",
+ "analysens", "analyses",
+ "analysise", "analyses",
+ "analystes", "analysts",
+ "analzying", "analyzing",
+ "anarchsim", "anarchism",
+ "anayltics", "analytics",
+ "anaylzing", "analyzing",
+ "ancedotal", "anecdotal",
+ "ancedotes", "anecdotes",
+ "ancestory", "ancestry",
+ "androgeny", "androgyny",
+ "androides", "androids",
+ "androidos", "androids",
+ "anecdotle", "anecdote",
+ "anecodtal", "anecdotal",
+ "anecodtes", "anecdotes",
+ "anectodal", "anecdotal",
+ "anectodes", "anecdotes",
+ "anedoctal", "anecdotal",
+ "anedoctes", "anecdotes",
+ "animostiy", "animosity",
+ "anitvirus", "antivirus",
+ "anlaytics", "analytics",
+ "anniversy", "anniversary",
+ "annointed", "anointed",
+ "annoucnes", "announces",
+ "annoyingy", "annoyingly",
+ "annoymous", "anonymous",
+ "annoynace", "annoyance",
+ "annyoance", "annoyance",
+ "anomisity", "animosity",
+ "anomolies", "anomalies",
+ "anomolous", "anomalous",
+ "anomynity", "anonymity",
+ "anomynous", "anonymous",
+ "anonimity", "anonymity",
+ "anonmyous", "anonymous",
+ "anonymoys", "anonymously",
+ "anorexiac", "anorexic",
+ "anorexica", "anorexia",
+ "anrachist", "anarchist",
+ "ansestors", "ancestors",
+ "antarctia", "antarctica",
+ "antennaes", "antennas",
+ "antiviurs", "antivirus",
+ "antivrius", "antivirus",
+ "antivuris", "antivirus",
+ "anwsering", "answering",
+ "anynomity", "anonymity",
+ "anynomous", "anonymous",
+ "aparthide", "apartheid",
+ "aparthied", "apartheid",
+ "apartmens", "apartments",
+ "apocalype", "apocalypse",
+ "apostrope", "apostrophe",
+ "apparenty", "apparently",
+ "appearane", "appearances",
+ "appenines", "apennines",
+ "apperance", "appearance",
+ "appetitie", "appetite",
+ "applaudes", "applause",
+ "applicato", "application",
+ "appreciae", "appreciates",
+ "apprentie", "apprentice",
+ "approachs", "approaches",
+ "apratheid", "apartheid",
+ "apsaragus", "asparagus",
+ "apsergers", "aspergers",
+ "aquainted", "acquainted",
+ "arbirtary", "arbitrary",
+ "arbritary", "arbitrary",
+ "arcehtype", "archetype",
+ "archetect", "architect",
+ "archetpye", "archetype",
+ "archetyps", "archetypes",
+ "architecs", "architects",
+ "archtypes", "archetypes",
+ "aregument", "arguement",
+ "areospace", "aerospace",
+ "argessive", "agressive",
+ "argeument", "arguement",
+ "arguabley", "arguably",
+ "arguablly", "arguably",
+ "arguement", "argument",
+ "arguemnet", "arguement",
+ "arguemnts", "arguments",
+ "argumeent", "arguement",
+ "arhtritis", "arthritis",
+ "aribtrary", "arbitrary",
+ "ariplanes", "airplanes",
+ "aristolte", "aristotle",
+ "aristotel", "aristotle",
+ "aritfacts", "artifacts",
+ "arlignton", "arlington",
+ "arlingotn", "arlington",
+ "armistace", "armistice",
+ "armstorng", "armstrong",
+ "arpatheid", "apartheid",
+ "arthirtis", "arthritis",
+ "artifcats", "artifacts",
+ "artifical", "artificial",
+ "artillary", "artillery",
+ "arugement", "arguement",
+ "arugments", "arguments",
+ "asapragus", "asparagus",
+ "asbestoes", "asbestos",
+ "asborbing", "absorbing",
+ "asburdity", "absurdity",
+ "ascendend", "ascended",
+ "ascneding", "ascending",
+ "ascnesion", "ascension",
+ "asethetic", "aesthetic",
+ "asnwering", "answering",
+ "asociated", "associated",
+ "assasined", "assassinated",
+ "assassian", "assassin",
+ "assassine", "assassinate",
+ "assasssin", "assassins",
+ "assaultes", "assaults",
+ "assembeld", "assembled",
+ "assembley", "assembly",
+ "assemblie", "assemble",
+ "assisnate", "assassinate",
+ "assistans", "assistants",
+ "assistsnt", "assistants",
+ "assmebled", "assembled",
+ "associato", "association",
+ "assoicate", "associate",
+ "asssasins", "assassins",
+ "assualted", "assaulted",
+ "assulated", "assaulted",
+ "asteorids", "asteroids",
+ "astericks", "asterisk",
+ "asteriods", "asteroids",
+ "astroanut", "astronaut",
+ "astronuat", "astronaut",
+ "astrounat", "astronaut",
+ "asuterity", "austerity",
+ "atempting", "attempting",
+ "atheltics", "athletics",
+ "atheneans", "athenians",
+ "athesitic", "atheistic",
+ "athetlics", "athletics",
+ "athiestic", "atheistic",
+ "athleticm", "athleticism",
+ "atmosphir", "atmospheric",
+ "atributed", "attributed",
+ "atributes", "attributes",
+ "atrifacts", "artifacts",
+ "atrillery", "artillery",
+ "atrittion", "attrition",
+ "attachmet", "attachments",
+ "attaindre", "attainder",
+ "attemting", "attempting",
+ "attemtped", "attempted",
+ "attendent", "attendant",
+ "attension", "attention",
+ "attirbute", "attribute",
+ "attirtion", "attrition",
+ "attmepted", "attempted",
+ "attractes", "attracts",
+ "attractin", "attraction",
+ "attributo", "attribution",
+ "attributs", "attributes",
+ "attritube", "attribute",
+ "auctionrs", "auctions",
+ "auidobook", "audiobook",
+ "auromated", "automated",
+ "australin", "australians",
+ "authroity", "authority",
+ "autoattak", "autoattack",
+ "autogrpah", "autograph",
+ "autonomos", "autonomous",
+ "auxillary", "auxiliary",
+ "avaialble", "available",
+ "availible", "available",
+ "avalaible", "available",
+ "avaliable", "available",
+ "averageed", "averaged",
+ "avialable", "available",
+ "awakenend", "awakened",
+ "awesomley", "awesomely",
+ "awkawrdly", "awkwardly",
+ "awnsering", "answering",
+ "bacehlors", "bachelors",
+ "bachelour", "bachelor",
+ "bachleors", "bachelors",
+ "bacholers", "bachelors",
+ "backdooor", "backdoor",
+ "backfeild", "backfield",
+ "backfiled", "backfield",
+ "backgroud", "background",
+ "backpakcs", "backpacks",
+ "badnwagon", "bandwagon",
+ "badnwidth", "bandwidth",
+ "balckjack", "blackjack",
+ "balcklist", "blacklist",
+ "balitmore", "baltimore",
+ "ballisitc", "ballistic",
+ "ballsitic", "ballistic",
+ "balsphemy", "blasphemy",
+ "bandiwdth", "bandwidth",
+ "bandwdith", "bandwidth",
+ "bandwidht", "bandwidth",
+ "bandwitdh", "bandwidth",
+ "bankrupcy", "bankruptcy",
+ "bankrupty", "bankruptcy",
+ "banruptcy", "bankruptcy",
+ "baordwalk", "boardwalk",
+ "barabrian", "barbarian",
+ "barbarain", "barbarian",
+ "barbarina", "barbarian",
+ "barcelets", "bracelets",
+ "barcleona", "barcelona",
+ "bareclona", "barcelona",
+ "barrackus", "barracks",
+ "bascially", "basically",
+ "bastardes", "bastards",
+ "bastardos", "bastards",
+ "bastardus", "bastards",
+ "bathrooom", "bathroom",
+ "batlimore", "baltimore",
+ "battailon", "battalion",
+ "battlaion", "battalion",
+ "beahviour", "behaviour",
+ "beauitful", "beautiful",
+ "beautifyl", "beautifully",
+ "becnhmark", "benchmark",
+ "becomeing", "becoming",
+ "becomming", "becoming",
+ "beehtoven", "beethoven",
+ "begginers", "beginners",
+ "beggining", "beginning",
+ "begininng", "beginning",
+ "beginnins", "beginnings",
+ "behaivors", "behaviors",
+ "behaivour", "behaviour",
+ "behavoirs", "behaviors",
+ "behavoiur", "behaviour",
+ "behvaiour", "behaviour",
+ "beleiving", "believing",
+ "beliveing", "believing",
+ "belssings", "blessings",
+ "bemusemnt", "bemusement",
+ "benchamrk", "benchmark",
+ "benchmars", "benchmarks",
+ "benedicat", "benedict",
+ "benedickt", "benedict",
+ "benghazhi", "benghazi",
+ "benghazzi", "benghazi",
+ "bergamont", "bergamot",
+ "berkelely", "berkeley",
+ "bersekrer", "berserker",
+ "berskerer", "berserker",
+ "beseiging", "besieging",
+ "bestialiy", "bestiality",
+ "beuatiful", "beautiful",
+ "biginning", "beginning",
+ "bigrading", "brigading",
+ "billbaord", "billboard",
+ "billboars", "billboards",
+ "binominal", "binomial",
+ "birgading", "brigading",
+ "birghtest", "brightest",
+ "birhtdays", "birthdays",
+ "bitcoints", "bitcoins",
+ "blackbery", "blackberry",
+ "blackhaws", "blackhawks",
+ "blackshit", "blacksmith",
+ "blanketts", "blankets",
+ "blapshemy", "blasphemy",
+ "blashpemy", "blasphemy",
+ "blaspehmy", "blasphemy",
+ "blasphmey", "blasphemy",
+ "blatanlty", "blatantly",
+ "blatimore", "baltimore",
+ "bleuberry", "blueberry",
+ "bleutooth", "bluetooth",
+ "blisteres", "blisters",
+ "blizzcoin", "blizzcon",
+ "blockchan", "blockchain",
+ "blockeras", "blockers",
+ "bloodbore", "bloodborne",
+ "boardband", "broadband",
+ "boardcast", "broadcast",
+ "bodyweigt", "bodyweight",
+ "bookamrks", "bookmarks",
+ "bookmakrs", "bookmarks",
+ "bookmarkd", "bookmarked",
+ "boradband", "broadband",
+ "boradcast", "broadcast",
+ "boradwalk", "boardwalk",
+ "bouregois", "bourgeois",
+ "bourgeios", "bourgeois",
+ "bourgoeis", "bourgeois",
+ "boyfirend", "boyfriend",
+ "boyfreind", "boyfriend",
+ "boyfriens", "boyfriends",
+ "brabarian", "barbarian",
+ "bracelona", "barcelona",
+ "braodband", "broadband",
+ "braodcast", "broadcast",
+ "brazilias", "brazilians",
+ "breakdows", "breakdowns",
+ "breserker", "berserker",
+ "bretheren", "brethren",
+ "bridaging", "brigading",
+ "brightern", "brighten",
+ "brigthest", "brightest",
+ "brilliany", "brilliantly",
+ "brithdays", "birthdays",
+ "broadwalk", "boardwalk",
+ "bruiseres", "bruisers",
+ "brunettte", "brunette",
+ "brusseles", "brussels",
+ "brussells", "brussels",
+ "brutailty", "brutality",
+ "brutallly", "brutally",
+ "buddhisim", "buddhism",
+ "buddihsts", "buddhists",
+ "buddishts", "buddhists",
+ "buhddists", "buddhists",
+ "buidlings", "buildings",
+ "bulidings", "buildings",
+ "burgunday", "burgundy",
+ "burgundry", "burgundy",
+ "burritoes", "burritos",
+ "burtality", "brutality",
+ "busineses", "business",
+ "businessa", "businessman",
+ "businesse", "businessmen",
+ "businesss", "businesses",
+ "bussiness", "business",
+ "buthcered", "butchered",
+ "butterlfy", "butterfly",
+ "cacausian", "caucasian",
+ "caclulate", "calculate",
+ "cacuasian", "caucasian",
+ "caculater", "calculator",
+ "cafeteira", "cafeteria",
+ "cafetiera", "cafeteria",
+ "caffeinne", "caffeine",
+ "calcualte", "calculate",
+ "californa", "california",
+ "caluclate", "calculate",
+ "calulated", "calculated",
+ "calulater", "calculator",
+ "cambirdge", "cambridge",
+ "cambrdige", "cambridge",
+ "cambrigde", "cambridge",
+ "camoflage", "camouflage",
+ "campagins", "campaigns",
+ "campaings", "campaigns",
+ "campiagns", "campaigns",
+ "campusers", "campuses",
+ "camrbidge", "cambridge",
+ "canadains", "canadians",
+ "candadate", "candidate",
+ "candidats", "candidates",
+ "cannister", "canister",
+ "cannoical", "canonical",
+ "canoncial", "canonical",
+ "capactior", "capacitor",
+ "capicator", "capacitor",
+ "capitalis", "capitals",
+ "caprenter", "carpenter",
+ "capsulers", "capsules",
+ "capsulets", "capsules",
+ "carachter", "character",
+ "cardbaord", "cardboard",
+ "cardborad", "cardboard",
+ "cardianls", "cardinals",
+ "cardnials", "cardinals",
+ "caridnals", "cardinals",
+ "carmalite", "carmelite",
+ "carnberry", "cranberry",
+ "carolinia", "carolina",
+ "carpetner", "carpenter",
+ "carptener", "carpenter",
+ "carribean", "caribbean",
+ "cartdrige", "cartridge",
+ "cartilege", "cartilage",
+ "cartirdge", "cartridge",
+ "cartrdige", "cartridge",
+ "cartrigde", "cartridge",
+ "casaulity", "causality",
+ "cashieres", "cashiers",
+ "cassawory", "cassowary",
+ "cassettte", "cassette",
+ "casuation", "causation",
+ "cataclsym", "cataclysm",
+ "cataclyms", "cataclysm",
+ "catacylsm", "cataclysm",
+ "catacyslm", "cataclysm",
+ "catalcysm", "cataclysm",
+ "catalgoue", "catalogue",
+ "cathderal", "cathedral",
+ "catherdal", "cathedral",
+ "cathloics", "catholics",
+ "cathredal", "cathedral",
+ "caucaisan", "caucasian",
+ "caucasain", "caucasian",
+ "causacian", "caucasian",
+ "causailty", "causality",
+ "celebirty", "celebrity",
+ "celebrato", "celebration",
+ "celebrite", "celebrities",
+ "celesital", "celestial",
+ "celestail", "celestial",
+ "cementary", "cemetery",
+ "cemetarey", "cemetery",
+ "cenitpede", "centipede",
+ "centepide", "centipede",
+ "centipeed", "centipede",
+ "centruies", "centuries",
+ "centuties", "centuries",
+ "cerebrawl", "cerebral",
+ "certanity", "certainty",
+ "certianty", "certainty",
+ "cesspoool", "cesspool",
+ "chairmain", "chairman",
+ "challange", "challenge",
+ "challengr", "challenger",
+ "challengs", "challenges",
+ "chameloen", "chameleon",
+ "champagen", "champagne",
+ "champange", "champagne",
+ "chandlure", "chandler",
+ "changable", "changeable",
+ "charactor", "character",
+ "chatedral", "cathedral",
+ "chatolics", "catholics",
+ "checkmeat", "checkmate",
+ "checkpoit", "checkpoints",
+ "chekcmate", "checkmate",
+ "chemestry", "chemistry",
+ "chemicaly", "chemically",
+ "chemsitry", "chemistry",
+ "chernboyl", "chernobyl",
+ "chernobly", "chernobyl",
+ "chernoybl", "chernobyl",
+ "chernyobl", "chernobyl",
+ "cheronbyl", "chernobyl",
+ "chidlfree", "childfree",
+ "chidlrens", "childrens",
+ "chihauhua", "chihuahua",
+ "chihuahau", "chihuahua",
+ "childbird", "childbirth",
+ "childerns", "childrens",
+ "childisch", "childish",
+ "childresn", "childrens",
+ "chirstian", "christian",
+ "chirstmas", "christmas",
+ "chiuhahua", "chihuahua",
+ "chlidfree", "childfree",
+ "chlidrens", "childrens",
+ "chocloate", "chocolate",
+ "chocoalte", "chocolate",
+ "chocolats", "chocolates",
+ "chocolste", "chocolates",
+ "cholocate", "chocolate",
+ "chrenobyl", "chernobyl",
+ "chrisitan", "christian",
+ "christain", "christian",
+ "christams", "christmas",
+ "chrsitian", "christian",
+ "chrsitmas", "christmas",
+ "churchers", "churches",
+ "cigaretts", "cigarettes",
+ "cigeratte", "cigarette",
+ "cilivians", "civilians",
+ "cilpboard", "clipboard",
+ "cilynders", "cylinders",
+ "circuitos", "circuits",
+ "ciriculum", "curriculum",
+ "cirticise", "criticise",
+ "civilains", "civilians",
+ "civillian", "civilian",
+ "classicos", "classics",
+ "classicus", "classics",
+ "classifiy", "classify",
+ "cleanisng", "cleansing",
+ "cleasning", "cleansing",
+ "clikcbait", "clickbait",
+ "clinicaly", "clinically",
+ "clipbaord", "clipboard",
+ "clitories", "clitoris",
+ "clitorios", "clitoris",
+ "clitorius", "clitoris",
+ "clucthing", "clutching",
+ "clutchign", "clutching",
+ "cluthcing", "clutching",
+ "coca cola", "coca-cola",
+ "cockatils", "cocktails",
+ "cocktials", "cocktails",
+ "cognizent", "cognizant",
+ "colateral", "collateral",
+ "collabore", "collaborate",
+ "collasped", "collapsed",
+ "collaspes", "collapses",
+ "colleauge", "colleague",
+ "collectes", "collects",
+ "collectie", "collective",
+ "collecton", "collection",
+ "collectos", "collectors",
+ "collegaue", "colleague",
+ "collegues", "colleagues",
+ "collisson", "collisions",
+ "collonade", "colonnade",
+ "collonies", "colonies",
+ "collpased", "collapsed",
+ "collpases", "collapses",
+ "colombina", "colombia",
+ "columbina", "columbia",
+ "comapnies", "companies",
+ "combatans", "combatants",
+ "combinato", "combination",
+ "combusion", "combustion",
+ "comestics", "cosmetics",
+ "comisions", "commissions",
+ "comission", "commission",
+ "comitting", "committing",
+ "commandes", "commands",
+ "commentar", "commentator",
+ "commentes", "commenters",
+ "commercie", "commerce",
+ "commision", "commission",
+ "commiteed", "commited",
+ "commiting", "committing",
+ "commitmet", "commitments",
+ "commongly", "commonly",
+ "communiss", "communists",
+ "communite", "communities",
+ "communits", "communist",
+ "communsim", "communism",
+ "compaines", "companies",
+ "compalins", "complains",
+ "compalint", "compliant",
+ "comparisn", "comparisons",
+ "compeltes", "completes",
+ "competant", "competent",
+ "competend", "competed",
+ "competion", "competition",
+ "competive", "competitive",
+ "compilant", "compliant",
+ "compilare", "compiler",
+ "compilato", "compilation",
+ "compitent", "competent",
+ "complaind", "complained",
+ "complaing", "complaining",
+ "completen", "complement",
+ "completey", "completely",
+ "completin", "completion",
+ "complians", "complains",
+ "componant", "component",
+ "comprable", "comparable",
+ "compresas", "compress",
+ "compreses", "compress",
+ "compteurs", "computers",
+ "comptuers", "computers",
+ "computato", "computation",
+ "comradets", "comrades",
+ "comsetics", "cosmetics",
+ "conanical", "canonical",
+ "conatiner", "container",
+ "concelaed", "concealed",
+ "concelaer", "concealer",
+ "concelear", "concealer",
+ "concensus", "consensus",
+ "conceptos", "concepts",
+ "conceptul", "conceptual",
+ "concernig", "concerning",
+ "concertas", "concerts",
+ "concevied", "conceived",
+ "conciders", "considers",
+ "concieted", "conceited",
+ "concieved", "conceived",
+ "conclusie", "conclusive",
+ "concsious", "conscious",
+ "concurret", "concurrent",
+ "condamned", "condemned",
+ "condemend", "condemned",
+ "condemmed", "condemned",
+ "condemnig", "condemning",
+ "condenmed", "condemned",
+ "condesend", "condensed",
+ "condesned", "condensed",
+ "condmened", "condemned",
+ "conection", "connection",
+ "conenctor", "connector",
+ "conferene", "conferences",
+ "confessin", "confession",
+ "confideny", "confidently",
+ "confilcts", "conflicts",
+ "confimred", "confirmed",
+ "confirmas", "confirms",
+ "conflcits", "conflicts",
+ "confrimed", "confirmed",
+ "congitive", "cognitive",
+ "conlcuded", "concluded",
+ "connectes", "connects",
+ "connectit", "connecticut",
+ "connectos", "connectors",
+ "conquerer", "conqueror",
+ "consdider", "consider",
+ "consensul", "consensual",
+ "conserned", "concerned",
+ "consicous", "conscious",
+ "considerd", "considered",
+ "considert", "considerate",
+ "consisent", "consistent",
+ "consistes", "consists",
+ "consolato", "consolation",
+ "consolide", "consolidate",
+ "consonent", "consonant",
+ "constanly", "constantly",
+ "constanst", "constants",
+ "constanty", "constantly",
+ "constasnt", "constants",
+ "constitue", "constitutes",
+ "constrait", "constraints",
+ "construcs", "constructs",
+ "construde", "construed",
+ "construst", "constructs",
+ "constured", "construed",
+ "consulant", "consultant",
+ "consultat", "consultant",
+ "consumate", "consummate",
+ "contactes", "contacts",
+ "contactos", "contacts",
+ "contagios", "contagious",
+ "containes", "contains",
+ "containig", "containing",
+ "containts", "contains",
+ "contemple", "contemplate",
+ "contendor", "contender",
+ "contentas", "contents",
+ "contentes", "contents",
+ "contentos", "contents",
+ "contestas", "contests",
+ "contestat", "contestants",
+ "contestes", "contests",
+ "contextes", "contexts",
+ "contextos", "contexts",
+ "contianer", "container",
+ "contibute", "contribute",
+ "contigent", "contingent",
+ "continant", "continental",
+ "continens", "continents",
+ "continous", "continuous",
+ "continuos", "continuous",
+ "continute", "continue",
+ "contiunal", "continual",
+ "contracto", "contraction",
+ "contribue", "contribute",
+ "contribuo", "contributor",
+ "controlas", "controls",
+ "controled", "controlled",
+ "controles", "controls",
+ "controlls", "controls",
+ "convenant", "covenant",
+ "convencen", "convenience",
+ "conveniet", "convenient",
+ "conversie", "converse",
+ "conversin", "conversions",
+ "convertie", "convertible",
+ "convertis", "converts",
+ "cooldwons", "cooldowns",
+ "coordinar", "coordinator",
+ "copenhagn", "copenhagen",
+ "coprorate", "corporate",
+ "copywrite", "copyright",
+ "corcodile", "crocodile",
+ "corparate", "corporate",
+ "corproate", "corporate",
+ "correclty", "correctly",
+ "correctin", "correction",
+ "correlato", "correlation",
+ "corridoor", "corridor",
+ "corruptin", "corruption",
+ "corssfire", "crossfire",
+ "corsshair", "crosshair",
+ "corsspost", "crosspost",
+ "coruching", "crouching",
+ "cosemtics", "cosmetics",
+ "costumise", "costumes",
+ "counciles", "councils",
+ "councills", "councils",
+ "councilos", "councils",
+ "countains", "contains",
+ "counteres", "counters",
+ "countires", "countries",
+ "courching", "crouching",
+ "courtesey", "courtesy",
+ "courtesty", "courtesy",
+ "coururier", "courier",
+ "coutnered", "countered",
+ "crapenter", "carpenter",
+ "creativey", "creatively",
+ "creedence", "credence",
+ "crhistmas", "christmas",
+ "cricketts", "crickets",
+ "criminaly", "criminally",
+ "critereon", "criterion",
+ "criterias", "criteria",
+ "criticaly", "critically",
+ "criticies", "criticise",
+ "criticisn", "criticising",
+ "critisice", "criticise",
+ "critisicm", "criticism",
+ "critising", "criticising",
+ "critisism", "criticism",
+ "critisize", "criticise",
+ "critizing", "criticizing",
+ "crosshiar", "crosshair",
+ "crossifre", "crossfire",
+ "crticised", "criticised",
+ "crusdaers", "crusaders",
+ "crutchers", "crutches",
+ "crystalls", "crystals",
+ "crystalus", "crystals",
+ "crystalys", "crystals",
+ "cuacasian", "caucasian",
+ "cuasality", "causality",
+ "culitvate", "cultivate",
+ "culturaly", "culturally",
+ "culturels", "cultures",
+ "curiostiy", "curiosity",
+ "curisoity", "curiosity",
+ "currenlty", "currently",
+ "curriculm", "curriculum",
+ "cursaders", "crusaders",
+ "custcenes", "cutscenes",
+ "cutsceens", "cutscenes",
+ "cutscence", "cutscene",
+ "cutsences", "cutscenes",
+ "cyclinder", "cylinder",
+ "cyclistes", "cyclists",
+ "cylindres", "cylinders",
+ "cynicisim", "cynicism",
+ "dahsboard", "dashboard",
+ "dalmation", "dalmatian",
+ "dangeroys", "dangerously",
+ "dashbaord", "dashboard",
+ "daugthers", "daughters",
+ "davantage", "advantage",
+ "deadlfits", "deadlifts",
+ "deadpoool", "deadpool",
+ "dealershp", "dealerships",
+ "deathmath", "deathmatch",
+ "decalring", "declaring",
+ "decendant", "descendant",
+ "decendent", "descendant",
+ "decipting", "depicting",
+ "deciption", "depiction",
+ "decisivie", "decisive",
+ "declarase", "declares",
+ "declarees", "declares",
+ "decoratie", "decorative",
+ "decoratin", "decorations",
+ "decpetion", "deception",
+ "decpetive", "deceptive",
+ "decribing", "describing",
+ "decsended", "descended",
+ "deductibe", "deductible",
+ "defaintly", "defiantly",
+ "defaltion", "deflation",
+ "defanitly", "defiantly",
+ "defeintly", "definetly",
+ "defendent", "defendant",
+ "defensese", "defenseless",
+ "defianlty", "defiantly",
+ "deficeint", "deficient",
+ "deficieny", "deficiency",
+ "deficites", "deficits",
+ "definance", "defiance",
+ "definatey", "definately",
+ "definatly", "definitely",
+ "definetly", "definitely",
+ "definetyl", "definetly",
+ "definilty", "definitly",
+ "definitie", "definitive",
+ "definitin", "definitions",
+ "definitly", "definitely",
+ "definiton", "definition",
+ "definitve", "definite",
+ "definityl", "definitly",
+ "definltey", "definetly",
+ "defintaly", "defiantly",
+ "defintily", "definitly",
+ "defintion", "definition",
+ "defintley", "definetly",
+ "defitenly", "definetly",
+ "defitinly", "definitly",
+ "defitnaly", "defiantly",
+ "defitnely", "definetly",
+ "deflectin", "deflection",
+ "defnietly", "definetly",
+ "degeneret", "degenerate",
+ "degradato", "degradation",
+ "degradead", "degraded",
+ "degrassie", "degrasse",
+ "degrassse", "degrasse",
+ "deifnetly", "definetly",
+ "deifnitly", "definitly",
+ "deisgners", "designers",
+ "delagates", "delegates",
+ "delcaring", "declaring",
+ "delcining", "declining",
+ "delegatie", "delegate",
+ "delerious", "delirious",
+ "delfation", "deflation",
+ "deliveres", "delivers",
+ "deliverys", "delivers",
+ "delpoying", "deploying",
+ "demcorats", "democrats",
+ "deminsion", "dimension",
+ "democarcy", "democracy",
+ "democract", "democrat",
+ "demonstre", "demonstrate",
+ "denominar", "denominator",
+ "dentistas", "dentists",
+ "dentistes", "dentists",
+ "deomcrats", "democrats",
+ "deopsited", "deposited",
+ "deparment", "department",
+ "departmet", "departments",
+ "depciting", "depicting",
+ "depcition", "depiction",
+ "depection", "deception",
+ "depedency", "dependency",
+ "depicitng", "depicting",
+ "depiciton", "depiction",
+ "deplyoing", "deploying",
+ "depoisted", "deposited",
+ "depolying", "deploying",
+ "depositas", "deposits",
+ "deposites", "deposits",
+ "depositis", "deposits",
+ "depositos", "deposits",
+ "depostied", "deposited",
+ "depressie", "depressive",
+ "depressin", "depression",
+ "depserate", "desperate",
+ "depsoited", "deposited",
+ "descirbes", "describes",
+ "descision", "decision",
+ "desginers", "designers",
+ "desgining", "designing",
+ "desicions", "decisions",
+ "designade", "designated",
+ "designato", "designation",
+ "desingage", "disengage",
+ "desingers", "designers",
+ "desinging", "designing",
+ "desktopos", "desktops",
+ "desparate", "desperate",
+ "desperato", "desperation",
+ "despoited", "deposited",
+ "desriable", "desirable",
+ "dessigned", "designed",
+ "destinato", "destination",
+ "destoryed", "destroyed",
+ "destoryer", "destroyer",
+ "destroyes", "destroys",
+ "destructo", "destruction",
+ "destryoed", "destroyed",
+ "destryoer", "destroyer",
+ "desuction", "seduction",
+ "detailled", "detailed",
+ "detatched", "detached",
+ "detectivs", "detectives",
+ "deteriate", "deteriorate",
+ "determing", "determining",
+ "determins", "determines",
+ "developrs", "develops",
+ "diabetees", "diabetes",
+ "diablical", "diabolical",
+ "diagonaal", "diagonal",
+ "diagonsed", "diagnosed",
+ "diagonsis", "diagnosis",
+ "diagramas", "diagrams",
+ "diagramms", "diagrams",
+ "dialectes", "dialects",
+ "dialectos", "dialects",
+ "diarrheoa", "diarrhea",
+ "diasbling", "disabling",
+ "dichomoty", "dichotomy",
+ "dicovered", "discovered",
+ "dictaters", "dictates",
+ "dictionay", "dictionary",
+ "difenitly", "definitly",
+ "diferrent", "different",
+ "differene", "differences",
+ "differens", "differences",
+ "differeny", "differently",
+ "difficuly", "difficulty",
+ "diffucult", "difficult",
+ "dificulty", "difficulty",
+ "diganosed", "diagnosed",
+ "diganosis", "diagnosis",
+ "dimenions", "dimensions",
+ "dimention", "dimension",
+ "dimesnion", "dimension",
+ "diminishs", "diminishes",
+ "dinasours", "dinosaurs",
+ "dinosuars", "dinosaurs",
+ "dinsoaurs", "dinosaurs",
+ "dionsaurs", "dinosaurs",
+ "diphtongs", "diphthongs",
+ "dipthongs", "diphthongs",
+ "direcotry", "directory",
+ "directoty", "directory",
+ "directroy", "directory",
+ "disaprity", "disparity",
+ "disastros", "disastrous",
+ "disatrous", "disastrous",
+ "disbaling", "disabling",
+ "disbeleif", "disbelief",
+ "disbelife", "disbelief",
+ "disciplen", "disciplines",
+ "disclamer", "disclaimer",
+ "disclosue", "disclosure",
+ "disconnet", "disconnect",
+ "discosure", "discourse",
+ "discoverd", "discovered",
+ "discovere", "discoveries",
+ "discredid", "discredited",
+ "discribed", "described",
+ "discribes", "describes",
+ "discussin", "discussion",
+ "diserable", "desirable",
+ "disgarees", "disagrees",
+ "disgiused", "disguised",
+ "disgusied", "disguised",
+ "disgustes", "disgusts",
+ "disgustos", "disgusts",
+ "disgustus", "disgusts",
+ "dishonesy", "dishonesty",
+ "dishonord", "dishonored",
+ "disicples", "disciples",
+ "dismantel", "dismantle",
+ "dismisals", "dismissal",
+ "disnegage", "disengage",
+ "dispairty", "disparity",
+ "dispalyed", "displayed",
+ "dispartiy", "disparity",
+ "dispenced", "dispensed",
+ "dispeners", "dispenser",
+ "displayes", "displays",
+ "disruptin", "disruption",
+ "dissapear", "disappear",
+ "dissarray", "disarray",
+ "dissmisal", "dismissal",
+ "disspiate", "dissipate",
+ "distincte", "distinctive",
+ "distrcits", "districts",
+ "distribue", "distributed",
+ "distrubed", "disturbed",
+ "distrupts", "distrust",
+ "disturben", "disturbance",
+ "diverisfy", "diversify",
+ "diveristy", "diversity",
+ "diverstiy", "diversity",
+ "dividened", "dividend",
+ "divinitiy", "divinity",
+ "doccument", "document",
+ "docrtines", "doctrines",
+ "docuhebag", "douchebag",
+ "dogdammit", "goddammit",
+ "dogfather", "godfather",
+ "dolphines", "dolphins",
+ "domecracy", "democracy",
+ "domecrats", "democrats",
+ "domiantes", "dominates",
+ "dominatin", "domination",
+ "dominaton", "domination",
+ "dominiant", "dominant",
+ "donwgrade", "downgrade",
+ "donwloads", "downloads",
+ "donwsides", "downsides",
+ "donwvoted", "downvoted",
+ "donwvotes", "downvotes",
+ "doublelit", "doublelift",
+ "doucehbag", "douchebag",
+ "downgarde", "downgrade",
+ "downlaods", "downloads",
+ "downloaad", "download",
+ "downovted", "downvoted",
+ "dravadian", "dravidian",
+ "drummless", "drumless",
+ "dsyphoria", "dysphoria",
+ "dsytopian", "dystopian",
+ "duaghters", "daughters",
+ "duplicats", "duplicates",
+ "durabiliy", "durability",
+ "dynamicus", "dynamics",
+ "dypshoria", "dysphoria",
+ "dyshporia", "dysphoria",
+ "dysoptian", "dystopian",
+ "dysphoira", "dysphoria",
+ "dysphroia", "dysphoria",
+ "dyspohria", "dysphoria",
+ "dyspotian", "dystopian",
+ "dystopain", "dystopian",
+ "dystpoian", "dystopian",
+ "eachohter", "eachother",
+ "eachotehr", "eachother",
+ "eachtoher", "eachother",
+ "earpluggs", "earplugs",
+ "earthboud", "earthbound",
+ "eastwoood", "eastwood",
+ "eastwoord", "eastwood",
+ "ecclectic", "eclectic",
+ "ecomonics", "economics",
+ "edficient", "deficient",
+ "effecient", "efficient",
+ "efficeint", "efficient",
+ "efficency", "efficiency",
+ "efficieny", "efficiency",
+ "effulence", "effluence",
+ "egalitara", "egalitarian",
+ "egpytians", "egyptians",
+ "egyptains", "egyptians",
+ "egytpians", "egyptians",
+ "ehtically", "ethically",
+ "ehtnicity", "ethnicity",
+ "eighteeen", "eighteen",
+ "eitquette", "etiquette",
+ "ejacualte", "ejaculate",
+ "electivre", "elective",
+ "electorns", "electrons",
+ "electrial", "electrical",
+ "electricy", "electricity",
+ "electroal", "electoral",
+ "elementay", "elementary",
+ "elepahnts", "elephants",
+ "eliminase", "eliminates",
+ "eliminato", "elimination",
+ "ellignton", "ellington",
+ "ellingotn", "ellington",
+ "eloquenty", "eloquently",
+ "elsehwere", "elsewhere",
+ "emapthize", "empathize",
+ "embarress", "embarrassed",
+ "emmisarry", "emissary",
+ "emmisions", "emissions",
+ "emmitting", "emitting",
+ "empahsize", "emphasize",
+ "emperical", "empirical",
+ "emphaised", "emphasised",
+ "emphatize", "empathize",
+ "emphazise", "emphasize",
+ "emphysyma", "emphysema",
+ "empitness", "emptiness",
+ "employeer", "employer",
+ "employeur", "employer",
+ "empolyees", "employees",
+ "emtpiness", "emptiness",
+ "emualtion", "emulation",
+ "enahncing", "enhancing",
+ "enchantig", "enchanting",
+ "enclousre", "enclosure",
+ "enclsoure", "enclosure",
+ "encolsure", "enclosure",
+ "encompase", "encompass",
+ "encounted", "encountered",
+ "encrpyted", "encrypted",
+ "encrytped", "encrypted",
+ "encyrpted", "encrypted",
+ "endangerd", "endangered",
+ "enevlopes", "envelopes",
+ "enforcees", "enforces",
+ "engagemet", "engagements",
+ "engagment", "engagement",
+ "engieneer", "engineer",
+ "engineeer", "engineer",
+ "engineerd", "engineered",
+ "enhacning", "enhancing",
+ "enhanceds", "enhances",
+ "enligthen", "enlighten",
+ "enourmous", "enormous",
+ "ensconsed", "ensconced",
+ "enthicity", "ethnicity",
+ "enthusiam", "enthusiasm",
+ "enthusiat", "enthusiast",
+ "entirelly", "entirely",
+ "entitlied", "entitled",
+ "enveloppe", "envelope",
+ "epidsodes", "episodes",
+ "epilepsey", "epilepsy",
+ "epiphanny", "epiphany",
+ "episonage", "espionage",
+ "epscially", "specially",
+ "epsionage", "espionage",
+ "eqautions", "equations",
+ "equialent", "equivalent",
+ "equivalet", "equivalents",
+ "ermington", "remington",
+ "erroenous", "erroneous",
+ "escalatie", "escalate",
+ "escalatin", "escalation",
+ "esitmated", "estimated",
+ "esitmates", "estimates",
+ "eslewhere", "elsewhere",
+ "especialy", "especially",
+ "espianoge", "espionage",
+ "espinoage", "espionage",
+ "espoinage", "espionage",
+ "esponiage", "espionage",
+ "espressso", "espresso",
+ "essencial", "essential",
+ "essentail", "essential",
+ "essentias", "essentials",
+ "essentual", "essential",
+ "essesital", "essential",
+ "estiamted", "estimated",
+ "estiamtes", "estimates",
+ "estimatin", "estimation",
+ "ethcially", "ethically",
+ "ethincity", "ethnicity",
+ "ethnicaly", "ethnically",
+ "ethniticy", "ethnicity",
+ "etmyology", "etymology",
+ "euclidian", "euclidean",
+ "euorpeans", "europeans",
+ "euphoriac", "euphoric",
+ "euphorica", "euphoria",
+ "europenas", "europeans",
+ "europians", "europeans",
+ "eurpoeans", "europeans",
+ "evangelia", "evangelical",
+ "evelation", "elevation",
+ "evenlopes", "envelopes",
+ "eventally", "eventually",
+ "eventualy", "eventually",
+ "everthing", "everything",
+ "evertyime", "everytime",
+ "everwhere", "everywhere",
+ "everyoens", "everyones",
+ "everyteim", "everytime",
+ "everytiem", "everytime",
+ "everyting", "everything",
+ "eveyrones", "everyones",
+ "evreyones", "everyones",
+ "evreytime", "everytime",
+ "exagerate", "exaggerate",
+ "exahusted", "exhausted",
+ "exapnsive", "expansive",
+ "exauhsted", "exhausted",
+ "excahnges", "exchanges",
+ "excecuted", "executed",
+ "excecutes", "executes",
+ "excellant", "excellent",
+ "excercise", "exercise",
+ "excerised", "exercised",
+ "excerises", "exercises",
+ "exceuting", "executing",
+ "exchnages", "exchanges",
+ "exclsuive", "exclusive",
+ "excludeds", "excludes",
+ "exclusivs", "exclusives",
+ "exclusivy", "exclusivity",
+ "excpetion", "exception",
+ "exculding", "excluding",
+ "exculsion", "exclusion",
+ "exculsive", "exclusive",
+ "execising", "exercising",
+ "execption", "exception",
+ "exectuing", "executing",
+ "exectuion", "execution",
+ "exectuive", "executive",
+ "executabe", "executable",
+ "exepmtion", "exemption",
+ "exerbated", "exacerbated",
+ "exercices", "exercise",
+ "exerciese", "exercises",
+ "exercizes", "exercise",
+ "exersices", "exercises",
+ "exhasuted", "exhausted",
+ "exhaustin", "exhaustion",
+ "exhibites", "exhibits",
+ "exhibitin", "exhibition",
+ "exhibtion", "exhibition",
+ "exhuasted", "exhausted",
+ "exibition", "exhibition",
+ "existance", "existence",
+ "existenta", "existential",
+ "existince", "existence",
+ "existnace", "existance",
+ "exlcuding", "excluding",
+ "exlcusion", "exclusion",
+ "exlcusive", "exclusive",
+ "exlpoding", "exploding",
+ "exlporers", "explorers",
+ "exlposion", "explosion",
+ "exonorate", "exonerate",
+ "expalined", "explained",
+ "expanisve", "expansive",
+ "expatriot", "expatriate",
+ "expectany", "expectancy",
+ "expection", "exception",
+ "expemtion", "exemption",
+ "experimet", "experiments",
+ "explaines", "explains",
+ "explainig", "explaining",
+ "explaning", "explaining",
+ "expliciet", "explicit",
+ "explicity", "explicitly",
+ "explictly", "explicitly",
+ "explioted", "exploited",
+ "explodeds", "explodes",
+ "exploites", "exploits",
+ "explorare", "explorer",
+ "explotied", "exploited",
+ "expolding", "exploding",
+ "expolited", "exploited",
+ "expolsion", "explosion",
+ "expolsive", "explosive",
+ "expressie", "expressive",
+ "expressin", "expression",
+ "exsitance", "existance",
+ "extention", "extension",
+ "exteriour", "exterior",
+ "extermely", "extremely",
+ "extermism", "extremism",
+ "extermist", "extremist",
+ "externaly", "externally",
+ "extractin", "extraction",
+ "extrapole", "extrapolate",
+ "extreemly", "extremely",
+ "extremers", "extremes",
+ "extremley", "extremely",
+ "extrotion", "extortion",
+ "eyeballls", "eyeballs",
+ "eyebrowes", "eyebrows",
+ "eyebrowns", "eyebrows",
+ "eyesahdow", "eyeshadow",
+ "eyeshdaow", "eyeshadow",
+ "eygptians", "egyptians",
+ "eytmology", "etymology",
+ "faceboook", "facebook",
+ "faciliate", "facilitate",
+ "facilites", "facilities",
+ "facilitiy", "facility",
+ "facinated", "fascinated",
+ "facutally", "factually",
+ "familiair", "familiar",
+ "familiare", "familiarize",
+ "familiary", "familiarity",
+ "familliar", "familiar",
+ "fanaticas", "fanatics",
+ "fanaticos", "fanatics",
+ "fanaticus", "fanatics",
+ "fanatsies", "fantasies",
+ "fanatsize", "fantasize",
+ "fandation", "foundation",
+ "fanservie", "fanservice",
+ "fantazise", "fantasize",
+ "farenheit", "fahrenheit",
+ "fascistes", "fascists",
+ "fashoined", "fashioned",
+ "favorties", "favorites",
+ "favoruite", "favourite",
+ "favourits", "favourites",
+ "favourtie", "favourite",
+ "fedreally", "federally",
+ "feminisim", "feminism",
+ "feminsits", "feminists",
+ "femminist", "feminist",
+ "fesitvals", "festivals",
+ "fetishers", "fetishes",
+ "fightings", "fighting",
+ "filetimes", "lifetimes",
+ "filiament", "filament",
+ "filmmakes", "filmmakers",
+ "fingernal", "fingernails",
+ "flashligt", "flashlight",
+ "flavorade", "flavored",
+ "flavoures", "flavours",
+ "flavourus", "flavours",
+ "flawlessy", "flawlessly",
+ "flexibily", "flexibility",
+ "fluctaute", "fluctuate",
+ "flucutate", "fluctuate",
+ "fluttersy", "fluttershy",
+ "follwoing", "following",
+ "foootball", "football",
+ "forcefuly", "forcefully",
+ "forcibley", "forcibly",
+ "forciblly", "forcibly",
+ "forearmes", "forearms",
+ "foreginer", "foreigner",
+ "foregroud", "foreground",
+ "foreinger", "foreigner",
+ "forgeiner", "foreigner",
+ "forgiener", "foreigner",
+ "forgivens", "forgiveness",
+ "foriegner", "foreigner",
+ "forigener", "foreigner",
+ "formerlly", "formerly",
+ "formualte", "formulate",
+ "formulaes", "formulas",
+ "formulars", "formulas",
+ "forntline", "frontline",
+ "forntpage", "frontpage",
+ "fortuante", "fortunate",
+ "forumlate", "formulate",
+ "foundatin", "foundations",
+ "fourteeen", "fourteen",
+ "fractales", "fractals",
+ "fractalis", "fractals",
+ "fractalus", "fractals",
+ "fragement", "fragment",
+ "fragmenot", "fragment",
+ "franchies", "franchise",
+ "francsico", "francisco",
+ "franscico", "francisco",
+ "frecklers", "freckles",
+ "freedomes", "freedoms",
+ "freestlye", "freestyle",
+ "freesytle", "freestyle",
+ "fremented", "fermented",
+ "freqeuncy", "frequency",
+ "frequence", "frequencies",
+ "friendlis", "friendlies",
+ "frightend", "frightened",
+ "fromation", "formation",
+ "frontapge", "frontpage",
+ "frontilne", "frontline",
+ "frustrato", "frustration",
+ "frustrats", "frustrates",
+ "fucntions", "functions",
+ "fullscren", "fullscreen",
+ "funcitons", "functions",
+ "functiong", "functioning",
+ "functtion", "function",
+ "furiosuly", "furiously",
+ "furiuosly", "furiously",
+ "futuristc", "futuristic",
+ "gagnsters", "gangsters",
+ "galations", "galatians",
+ "galdiator", "gladiator",
+ "gallaxies", "galaxies",
+ "garanteed", "guaranteed",
+ "garantees", "guarantees",
+ "garuantee", "guarantee",
+ "gatherins", "gatherings",
+ "gauntelts", "gauntlets",
+ "gauntlent", "gauntlet",
+ "gaurantee", "guarantee",
+ "gaurentee", "guarantee",
+ "genatilia", "genitalia",
+ "geneology", "genealogy",
+ "generalbs", "generals",
+ "generalis", "generals",
+ "generaste", "generates",
+ "generatie", "generate",
+ "generatin", "generations",
+ "generatos", "generators",
+ "genitaila", "genitalia",
+ "genitales", "genitals",
+ "genitalis", "genitals",
+ "geniunely", "genuinely",
+ "gentailia", "genitalia",
+ "gentelmen", "gentlemen",
+ "gentialia", "genitalia",
+ "genuienly", "genuinely",
+ "genuinley", "genuinely",
+ "geogrpahy", "geography",
+ "germaniac", "germanic",
+ "geurrilla", "guerrilla",
+ "gimmickey", "gimmicky",
+ "gimmickly", "gimmicky",
+ "girlfried", "girlfriend",
+ "goalkeepr", "goalkeeper",
+ "godafther", "godfather",
+ "godspeeed", "godspeed",
+ "goegraphy", "geography",
+ "goldfisch", "goldfish",
+ "goosebums", "goosebumps",
+ "gorvement", "goverment",
+ "govemrent", "goverment",
+ "govenment", "government",
+ "goverance", "governance",
+ "goveremnt", "goverment",
+ "goverment", "government",
+ "govermetn", "goverment",
+ "govermnet", "goverment",
+ "governmet", "governments",
+ "govorment", "government",
+ "govrement", "goverment",
+ "gracefull", "graceful",
+ "gracefuly", "gracefully",
+ "graduaste", "graduates",
+ "graduatin", "graduation",
+ "grahpical", "graphical",
+ "grativate", "gravitate",
+ "graudally", "gradually",
+ "graudates", "graduates",
+ "greenalnd", "greenland",
+ "grenaders", "grenades",
+ "grpahical", "graphical",
+ "guadulupe", "guadalupe",
+ "guaranted", "guaranteed",
+ "guarantes", "guarantees",
+ "guardains", "guardians",
+ "guarentee", "guarantee",
+ "guaridans", "guardians",
+ "guatamala", "guatemala",
+ "guerrilas", "guerrillas",
+ "guradians", "guardians",
+ "guranteed", "guaranteed",
+ "gurantees", "guarantees",
+ "gutiarist", "guitarist",
+ "habsbourg", "habsburg",
+ "hairstlye", "hairstyle",
+ "hairsytle", "hairstyle",
+ "halarious", "hilarious",
+ "hambruger", "hamburger",
+ "hamburges", "hamburgers",
+ "hamphsire", "hampshire",
+ "hamsphire", "hampshire",
+ "handboook", "handbook",
+ "handedley", "handedly",
+ "handedlly", "handedly",
+ "handicape", "handicapped",
+ "hapmshire", "hampshire",
+ "happended", "happened",
+ "happenend", "happened",
+ "happenned", "happened",
+ "harasment", "harassment",
+ "hardenend", "hardened",
+ "hardwoord", "hardwood",
+ "haristyle", "hairstyle",
+ "harrasing", "harassing",
+ "harrassed", "harassed",
+ "harrasses", "harassed",
+ "hdinsight", "hindsight",
+ "headahces", "headaches",
+ "headhpone", "headphone",
+ "headshoot", "headshot",
+ "healither", "healthier",
+ "healtheir", "healthier",
+ "healthiet", "healthiest",
+ "healthire", "healthier",
+ "heapdhone", "headphone",
+ "hedgehoog", "hedgehog",
+ "hedgehorg", "hedgehog",
+ "heightend", "heightened",
+ "heirarchy", "hierarchy",
+ "herculase", "hercules",
+ "herculeas", "hercules",
+ "herculees", "hercules",
+ "herculeus", "hercules",
+ "heriarchy", "hierarchy",
+ "hesistant", "hesitant",
+ "hesistate", "hesitate",
+ "hesitatin", "hesitation",
+ "hieroglph", "hieroglyph",
+ "highschol", "highschool",
+ "hindisght", "hindsight",
+ "hindrence", "hindrance",
+ "hinduisim", "hinduism",
+ "hinduisum", "hinduism",
+ "hipsanics", "hispanics",
+ "hirearchy", "hierarchy",
+ "hirsohima", "hiroshima",
+ "hispancis", "hispanics",
+ "hitboxers", "hitboxes",
+ "hoepfully", "hopefully",
+ "holocasut", "holocaust",
+ "holocuast", "holocaust",
+ "homeonwer", "homeowner",
+ "homeopaty", "homeopathy",
+ "homewolrd", "homeworld",
+ "homewoner", "homeowner",
+ "homewrold", "homeworld",
+ "homogenes", "homogeneous",
+ "homosexul", "homosexuals",
+ "hopelessy", "hopelessly",
+ "hopsitals", "hospitals",
+ "horishima", "hiroshima",
+ "horizones", "horizons",
+ "horizonts", "horizons",
+ "horrendos", "horrendous",
+ "horribley", "horribly",
+ "horriblly", "horribly",
+ "horrifing", "horrifying",
+ "hositlity", "hostility",
+ "hospitaly", "hospitality",
+ "hosptials", "hospitals",
+ "hourgalss", "hourglass",
+ "hourlgass", "hourglass",
+ "househols", "households",
+ "humanitis", "humanities",
+ "humanoind", "humanoid",
+ "humiditiy", "humidity",
+ "hunagrian", "hungarian",
+ "hurriance", "hurricane",
+ "hurricans", "hurricanes",
+ "husbandos", "husbands",
+ "hydraluic", "hydraulic",
+ "hydropile", "hydrophile",
+ "hydropobe", "hydrophobe",
+ "hydrualic", "hydraulic",
+ "hyopcrite", "hypocrite",
+ "hypcorite", "hypocrite",
+ "hyperoble", "hyperbole",
+ "hypocracy", "hypocrisy",
+ "hypocrasy", "hypocrisy",
+ "hypocricy", "hypocrisy",
+ "hypocriet", "hypocrite",
+ "hypocrits", "hypocrites",
+ "hyporcite", "hypocrite",
+ "hypothess", "hypotheses",
+ "hyprocisy", "hypocrisy",
+ "hyprocite", "hypocrite",
+ "hyrdation", "hydration",
+ "hyrdaulic", "hydraulic",
+ "hysterica", "hysteria",
+ "hysteriia", "hysteria",
+ "iburpofen", "ibuprofen",
+ "icleandic", "icelandic",
+ "icongnito", "incognito",
+ "idealisim", "idealism",
+ "idealistc", "idealistic",
+ "identifiy", "identify",
+ "ideologis", "ideologies",
+ "ignornace", "ignorance",
+ "illegales", "illegals",
+ "illegalis", "illegals",
+ "illegalls", "illegals",
+ "illnesess", "illnesses",
+ "illsuions", "illusions",
+ "illuminai", "illuminati",
+ "imagenary", "imaginary",
+ "imaginery", "imaginary",
+ "imaptient", "impatient",
+ "imigrated", "emigrated",
+ "immensley", "immensely",
+ "immerisve", "immersive",
+ "immesnely", "immensely",
+ "immidiate", "immediate",
+ "immigrato", "immigration",
+ "immitated", "imitated",
+ "immitator", "imitator",
+ "immobilie", "immobile",
+ "immobille", "immobile",
+ "immobilze", "immobile",
+ "immortaly", "immortality",
+ "immserive", "immersive",
+ "impaitent", "impatient",
+ "imparital", "impartial",
+ "impedence", "impedance",
+ "implantes", "implants",
+ "implicati", "implicit",
+ "impliciet", "implicit",
+ "implicity", "implicitly",
+ "impliment", "implement",
+ "implusive", "impulsive",
+ "importamt", "important",
+ "importend", "imported",
+ "imporving", "improving",
+ "impossibe", "impossible",
+ "imprefect", "imperfect",
+ "impressin", "impressions",
+ "imprioned", "imprisoned",
+ "improbabe", "improbable",
+ "impulisve", "impulsive",
+ "impuslive", "impulsive",
+ "imrpoving", "improving",
+ "inadequet", "inadequate",
+ "inadquate", "inadequate",
+ "inaugures", "inaugurates",
+ "inbalance", "imbalance",
+ "inbeetwen", "inbetween",
+ "inbetween", "between",
+ "inbewteen", "inbetween",
+ "incarnato", "incarnation",
+ "incgonito", "incognito",
+ "inclinato", "inclination",
+ "includeds", "includes",
+ "incoginto", "incognito",
+ "incongito", "incognito",
+ "incorpore", "incorporate",
+ "incpetion", "inception",
+ "incredibe", "incredible",
+ "incrediby", "incredibly",
+ "inculding", "including",
+ "incunabla", "incunabula",
+ "indicaste", "indicates",
+ "indicatie", "indicative",
+ "indicence", "incidence",
+ "indicents", "incidents",
+ "indigenos", "indigenous",
+ "indirecty", "indirectly",
+ "indisious", "insidious",
+ "individul", "individual",
+ "individus", "individuals",
+ "indoensia", "indonesia",
+ "indoneisa", "indonesia",
+ "indutrial", "industrial",
+ "inersting", "inserting",
+ "inexpense", "inexpensive",
+ "infallibe", "infallible",
+ "inferioir", "inferior",
+ "inferiour", "inferior",
+ "infestato", "infestation",
+ "infiltrar", "infiltrator",
+ "infinitey", "infinity",
+ "infinitie", "infinite",
+ "infinitiy", "infinity",
+ "infinitly", "infinity",
+ "inflatabe", "inflatable",
+ "influense", "influences",
+ "influenta", "influential",
+ "informate", "informative",
+ "infraread", "infrared",
+ "ingeniuty", "ingenuity",
+ "ingeunity", "ingenuity",
+ "ingocnito", "incognito",
+ "ingorance", "ignorance",
+ "inguenity", "ingenuity",
+ "inhabitat", "inhabitants",
+ "inheirted", "inherited",
+ "inhertied", "inherited",
+ "initailly", "initially",
+ "initalese", "initialese",
+ "initaling", "initialing",
+ "initalise", "initialise",
+ "initalism", "initialism",
+ "initalize", "initialize",
+ "initalled", "initialled",
+ "initation", "initiation",
+ "initiales", "initials",
+ "initiatie", "initiatives",
+ "initiatin", "initiation",
+ "initiatve", "initiate",
+ "injustics", "injustices",
+ "inlcuding", "including",
+ "inmigrant", "immigrant",
+ "innoucous", "innocuous",
+ "innovatin", "innovations",
+ "innovatve", "innovate",
+ "inpection", "inception",
+ "inpending", "impending",
+ "inproving", "improving",
+ "inpsector", "inspector",
+ "inpsiring", "inspiring",
+ "inquisito", "inquisition",
+ "inquisitr", "inquisitor",
+ "inresting", "inserting",
+ "insanelly", "insanely",
+ "insepctor", "inspector",
+ "insidiuos", "insidious",
+ "insipring", "inspiring",
+ "insluated", "insulated",
+ "inspectin", "inspection",
+ "instabilt", "instability",
+ "installes", "installs",
+ "installus", "installs",
+ "instering", "inserting",
+ "insticnts", "instincts",
+ "institude", "instituted",
+ "instituto", "institution",
+ "insualted", "insulated",
+ "insurence", "insurance",
+ "insurgeny", "insurgency",
+ "integirty", "integrity",
+ "integraal", "integral",
+ "integrade", "integrated",
+ "integrato", "integration",
+ "intenisty", "intensity",
+ "intensley", "intensely",
+ "interacte", "interactive",
+ "interents", "internets",
+ "interesat", "interest",
+ "interesst", "interests",
+ "interewbs", "interwebs",
+ "interfase", "interfaces",
+ "interfeer", "interfere",
+ "interfers", "interferes",
+ "intergate", "integrate",
+ "intergity", "integrity",
+ "interiour", "interior",
+ "internest", "internets",
+ "interpert", "interpret",
+ "interprut", "interrupt",
+ "interrups", "interrupts",
+ "interstae", "interstate",
+ "interveen", "intervene",
+ "intervied", "interviewed",
+ "intervier", "interviewer",
+ "intervies", "interviews",
+ "intesnely", "intensely",
+ "intesnity", "intensity",
+ "intestins", "intestines",
+ "inticrate", "intricate",
+ "intimidad", "intimidated",
+ "intircate", "intricate",
+ "intiution", "intuition",
+ "intiutive", "intuitive",
+ "intorduce", "introduce",
+ "intorvert", "introvert",
+ "intracite", "intricate",
+ "intrduced", "introduced",
+ "intregity", "integrity",
+ "intrenets", "internets",
+ "intrepret", "interpret",
+ "intrerupt", "interrupt",
+ "intrewebs", "interwebs",
+ "intrinisc", "intrinsic",
+ "intrisinc", "intrinsic",
+ "intrisnic", "intrinsic",
+ "intriuged", "intrigued",
+ "introdued", "introduced",
+ "introduse", "introduces",
+ "introvers", "introverts",
+ "intruiged", "intrigued",
+ "intrument", "instrument",
+ "inutition", "intuition",
+ "inutitive", "intuitive",
+ "invaderas", "invaders",
+ "invalidas", "invalidates",
+ "inventios", "inventions",
+ "investige", "investigate",
+ "investmet", "investments",
+ "invincibe", "invincible",
+ "invloving", "involving",
+ "invovling", "involving",
+ "ipubrofen", "ibuprofen",
+ "iranianos", "iranians",
+ "irelevent", "irrelevant",
+ "ironicaly", "ironically",
+ "irritatie", "irritate",
+ "irritatin", "irritation",
+ "isalmists", "islamists",
+ "isalnders", "islanders",
+ "islamiskt", "islamist",
+ "islamsits", "islamists",
+ "islmaists", "islamists",
+ "isntaller", "installer",
+ "isntances", "instances",
+ "isntantly", "instantly",
+ "israelies", "israelis",
+ "israelits", "israelis",
+ "italianas", "italians",
+ "italianos", "italians",
+ "jailbrake", "jailbreak",
+ "jalibreak", "jailbreak",
+ "jamaicain", "jamaican",
+ "jersualem", "jerusalem",
+ "jeruselam", "jerusalem",
+ "jeruslaem", "jerusalem",
+ "journalis", "journals",
+ "judegment", "judgement",
+ "judgemant", "judgemental",
+ "judisuary", "judiciary",
+ "jugdement", "judgement",
+ "juggernat", "juggernaut",
+ "juvenille", "juvenile",
+ "keneysian", "keynesian",
+ "kentuckey", "kentucky",
+ "kenyesian", "keynesian",
+ "keybaords", "keyboards",
+ "keyensian", "keynesian",
+ "keyesnian", "keynesian",
+ "keynseian", "keynesian",
+ "keysenian", "keynesian",
+ "kilometes", "kilometers",
+ "kindapped", "kidnapped",
+ "kncokback", "knockback",
+ "knoweldge", "knowledge",
+ "knowlegde", "knowledge",
+ "konckback", "knockback",
+ "kryptonie", "kryptonite",
+ "labirynth", "labyrinth",
+ "laboratoy", "laboratory",
+ "laboreres", "laborers",
+ "labratory", "laboratory",
+ "labriynth", "labyrinth",
+ "labryinth", "labyrinth",
+ "labyrnith", "labyrinth",
+ "landscaps", "landscapes",
+ "landscspe", "landscapes",
+ "langauges", "languages",
+ "languague", "language",
+ "lanuchers", "launchers",
+ "lanugages", "languages",
+ "larington", "arlington",
+ "latitudie", "latitude",
+ "lattitude", "latitude",
+ "laucnhers", "launchers",
+ "laucnhing", "launching",
+ "launchign", "launching",
+ "laybrinth", "labyrinth",
+ "lebanesse", "lebanese",
+ "leceister", "leicester",
+ "leciester", "leicester",
+ "legitmate", "legitimate",
+ "legnedary", "legendary",
+ "lesbianas", "lesbians",
+ "lesbianus", "lesbians",
+ "letivicus", "leviticus",
+ "leutenant", "lieutenant",
+ "levaithan", "leviathan",
+ "levellign", "levelling",
+ "levetated", "levitated",
+ "levetates", "levitates",
+ "levicitus", "leviticus",
+ "levleling", "levelling",
+ "lfiesteal", "lifesteal",
+ "liberales", "liberals",
+ "liberalim", "liberalism",
+ "liberalis", "liberals",
+ "liberatin", "liberation",
+ "libraires", "libraries",
+ "liecester", "leicester",
+ "lieuenant", "lieutenant",
+ "lieutenat", "lieutenant",
+ "lifespawn", "lifespan",
+ "lifestlye", "lifestyle",
+ "lighnting", "lightning",
+ "lightnign", "lightning",
+ "ligthning", "lightning",
+ "ligthroom", "lightroom",
+ "lingerine", "lingerie",
+ "lispticks", "lipsticks",
+ "listenend", "listened",
+ "literarly", "literary",
+ "literarry", "literary",
+ "literatre", "literate",
+ "literatue", "literate",
+ "literture", "literature",
+ "lithaunia", "lithuania",
+ "lithuaina", "lithuania",
+ "lithuiana", "lithuania",
+ "lithunaia", "lithuania",
+ "litigatin", "litigation",
+ "lituhania", "lithuania",
+ "liveprool", "liverpool",
+ "livestrem", "livestream",
+ "lobbysits", "lobbyists",
+ "lockscren", "lockscreen",
+ "logisitcs", "logistics",
+ "logsitics", "logistics",
+ "loiusiana", "louisiana",
+ "lollipoop", "lollipop",
+ "louisvile", "louisville",
+ "luanchers", "launchers",
+ "luanching", "launching",
+ "lubicrant", "lubricant",
+ "lubircant", "lubricant",
+ "ludcrious", "ludicrous",
+ "ludricous", "ludicrous",
+ "lunaticos", "lunatics",
+ "lunaticus", "lunatics",
+ "macaronni", "macaroni",
+ "maestries", "masteries",
+ "magainzes", "magazines",
+ "magensium", "magnesium",
+ "magincian", "magician",
+ "magintude", "magnitude",
+ "magneisum", "magnesium",
+ "magnesuim", "magnesium",
+ "magnifine", "magnificent",
+ "mainfesto", "manifesto",
+ "mainfests", "manifests",
+ "mainstrem", "mainstream",
+ "maintaing", "maintaining",
+ "maintance", "maintenance",
+ "maintians", "maintains",
+ "mairjuana", "marijuana",
+ "malasyian", "malaysian",
+ "malayisan", "malaysian",
+ "malaysain", "malaysian",
+ "maletonin", "melatonin",
+ "maltesian", "maltese",
+ "malyasian", "malaysian",
+ "managable", "manageable",
+ "managment", "management",
+ "mandarian", "mandarin",
+ "mandarijn", "mandarin",
+ "mandarion", "mandarin",
+ "maneouvre", "manoeuvre",
+ "maneuveur", "maneuver",
+ "maneveurs", "maneuvers",
+ "manfiesto", "manifesto",
+ "manfiests", "manifests",
+ "mangesium", "magnesium",
+ "mangitude", "magnitude",
+ "manouvers", "maneuvers",
+ "mantained", "maintained",
+ "manuevers", "maneuvers",
+ "maraudeur", "marauder",
+ "marevlous", "marvelous",
+ "margarent", "margaret",
+ "margarite", "margaret",
+ "marginaal", "marginal",
+ "marginaly", "marginally",
+ "marijauna", "marijuana",
+ "marineras", "mariners",
+ "marineris", "mariners",
+ "marineros", "mariners",
+ "marjiuana", "marijuana",
+ "marjority", "majority",
+ "marmelade", "marmalade",
+ "marrtyred", "martyred",
+ "massagens", "massages",
+ "massivley", "massively",
+ "masteires", "masteries",
+ "mastereis", "masteries",
+ "masterise", "masteries",
+ "mastermid", "mastermind",
+ "mastieres", "masteries",
+ "masturbae", "masturbated",
+ "materiaal", "material",
+ "matierals", "materials",
+ "mattreses", "mattress",
+ "mayalsian", "malaysian",
+ "maylasian", "malaysian",
+ "mccarthey", "mccarthy",
+ "mecahnics", "mechanics",
+ "mecernary", "mercenary",
+ "mechancis", "mechanics",
+ "mechanims", "mechanism",
+ "mechaninc", "mechanic",
+ "mechansim", "mechanism",
+ "medicince", "medicine",
+ "mediciney", "mediciny",
+ "meditatie", "meditate",
+ "meditatin", "meditation",
+ "megathred", "megathread",
+ "melanotin", "melatonin",
+ "melborune", "melbourne",
+ "melbounre", "melbourne",
+ "membrance", "membrane",
+ "menstraul", "menstrual",
+ "menstural", "menstrual",
+ "mensutral", "menstrual",
+ "mentiones", "mentions",
+ "mercanery", "mercenary",
+ "merhcants", "merchants",
+ "messagers", "messages",
+ "messanger", "messenger",
+ "metabloic", "metabolic",
+ "metalurgy", "metallurgy",
+ "methaphor", "metaphor",
+ "methapors", "metaphors",
+ "methodoly", "methodology",
+ "metropols", "metropolis",
+ "mexicanas", "mexicans",
+ "mexicants", "mexicans",
+ "mexicanus", "mexicans",
+ "michellle", "michelle",
+ "micorwave", "microwave",
+ "micoscopy", "microscopy",
+ "microphen", "microphone",
+ "migrantes", "migrants",
+ "migrianes", "migraines",
+ "milawukee", "milwaukee",
+ "milennium", "millennium",
+ "milestons", "milestones",
+ "militians", "militias",
+ "millenial", "millennial",
+ "millenian", "millennia",
+ "millenium", "millennium",
+ "millionar", "millionaire",
+ "millitary", "military",
+ "miluwakee", "milwaukee",
+ "milwakuee", "milwaukee",
+ "milwuakee", "milwaukee",
+ "mindcarck", "mindcrack",
+ "mindlessy", "mindlessly",
+ "minerales", "minerals",
+ "minisclue", "miniscule",
+ "miniscuel", "miniscule",
+ "ministery", "ministry",
+ "minisucle", "miniscule",
+ "minitaure", "miniature",
+ "minituare", "miniature",
+ "minneosta", "minnesota",
+ "minnestoa", "minnesota",
+ "minsicule", "miniscule",
+ "minsiters", "ministers",
+ "minstries", "ministries",
+ "miraculos", "miraculous",
+ "mircowave", "microwave",
+ "mirrorred", "mirrored",
+ "miserabel", "miserable",
+ "mispelled", "misspelled",
+ "misreable", "miserable",
+ "misreably", "miserably",
+ "missisipi", "mississippi",
+ "missonary", "missionary",
+ "missourri", "missouri",
+ "misspelld", "misspelled",
+ "mobilitiy", "mobility",
+ "moderatey", "moderately",
+ "moderatin", "moderation",
+ "modifires", "modifiers",
+ "moelcules", "molecules",
+ "moleclues", "molecules",
+ "molestare", "molester",
+ "molestato", "molestation",
+ "molesterd", "molested",
+ "monestary", "monastery",
+ "monitores", "monitors",
+ "monolgoue", "monologue",
+ "monolight", "moonlight",
+ "monolouge", "monologue",
+ "monopolis", "monopolies",
+ "monopolly", "monopoly",
+ "monopoloy", "monopoly",
+ "monserrat", "montserrat",
+ "monstorus", "monstrous",
+ "monstruos", "monstrous",
+ "montanous", "mountainous",
+ "monumnets", "monuments",
+ "moratlity", "mortality",
+ "morbidley", "morbidly",
+ "morgatges", "mortgages",
+ "morgtages", "mortgages",
+ "morisette", "morissette",
+ "mormonsim", "mormonism",
+ "morroccan", "moroccan",
+ "mortailty", "mortality",
+ "mosquitto", "mosquito",
+ "motivatie", "motivate",
+ "motivatin", "motivations",
+ "motorcyce", "motorcycles",
+ "motorolja", "motorola",
+ "motoroloa", "motorola",
+ "moustahce", "moustache",
+ "movepseed", "movespeed",
+ "mozzarela", "mozzarella",
+ "mucisians", "musicians",
+ "mulitated", "mutilated",
+ "mulitples", "multiples",
+ "multipled", "multiplied",
+ "multplies", "multiples",
+ "murdererd", "murdered",
+ "muscially", "musically",
+ "muscician", "musician",
+ "musculair", "muscular",
+ "mushrooom", "mushroom",
+ "musicains", "musicians",
+ "mutatiohn", "mutation",
+ "mutialted", "mutilated",
+ "mutilatin", "mutilation",
+ "mutliated", "mutilated",
+ "mutliples", "multiples",
+ "mutlitude", "multitude",
+ "mysterise", "mysteries",
+ "mysterous", "mysterious",
+ "nacrotics", "narcotics",
+ "naferious", "nefarious",
+ "nahsville", "nashville",
+ "narcissim", "narcissism",
+ "narcissit", "narcissist",
+ "narcissts", "narcissist",
+ "narctoics", "narcotics",
+ "nasvhille", "nashville",
+ "nationaal", "national",
+ "nationaly", "nationally",
+ "nativelly", "natively",
+ "natrually", "naturally",
+ "navigatie", "navigate",
+ "navigatin", "navigation",
+ "neccesary", "necessary",
+ "necessite", "necessities",
+ "neckbears", "neckbeards",
+ "neckbread", "neckbeard",
+ "nedlessly", "endlessly",
+ "needlessy", "needlessly",
+ "negiotate", "negotiate",
+ "negociate", "negotiate",
+ "negoitate", "negotiate",
+ "neigbhour", "neighbour",
+ "neigbours", "neighbours",
+ "neighboor", "neighbor",
+ "nessecary", "necessary",
+ "newcaslte", "newcastle",
+ "newcastel", "newcastle",
+ "nieghbour", "neighbour",
+ "nightfa;;", "nightfall",
+ "nightlcub", "nightclub",
+ "nigthclub", "nightclub",
+ "nigthlife", "nightlife",
+ "nigthmare", "nightmare",
+ "nihilisim", "nihilism",
+ "ninteenth", "nineteenth",
+ "nominatie", "nominate",
+ "nominatin", "nomination",
+ "noninital", "noninitial",
+ "norhteast", "northeast",
+ "norhtwest", "northwest",
+ "normanday", "normandy",
+ "northeren", "northern",
+ "norwegain", "norwegian",
+ "norwiegan", "norwegian",
+ "nostaglia", "nostalgia",
+ "nostaglic", "nostalgic",
+ "nostaliga", "nostalgia",
+ "nostaligc", "nostalgic",
+ "nostlagia", "nostalgia",
+ "nostlagic", "nostalgic",
+ "nostriles", "nostrils",
+ "nostrills", "nostrils",
+ "notacible", "noticable",
+ "notciable", "noticable",
+ "noteboook", "notebook",
+ "noteriety", "notoriety",
+ "noteworty", "noteworthy",
+ "noticable", "noticeable",
+ "noticably", "noticeably",
+ "noticalbe", "noticable",
+ "noticeing", "noticing",
+ "noticible", "noticeable",
+ "notoroius", "notorious",
+ "novermber", "november",
+ "nullabour", "nullarbor",
+ "numberous", "numerous",
+ "numercial", "numerical",
+ "numerious", "numerous",
+ "nuremburg", "nuremberg",
+ "nurtients", "nutrients",
+ "nutirents", "nutrients",
+ "nutreints", "nutrients",
+ "nutritent", "nutrient",
+ "nutritian", "nutritional",
+ "nutritios", "nutritious",
+ "obediance", "obedience",
+ "obeidence", "obedience",
+ "obersvant", "observant",
+ "obersvers", "observers",
+ "obesssion", "obsession",
+ "obiedence", "obedience",
+ "obivously", "obviously",
+ "objectivs", "objectives",
+ "objectivy", "objectivity",
+ "obscruity", "obscurity",
+ "obscuirty", "obscurity",
+ "observare", "observer",
+ "observerd", "observed",
+ "obssesion", "obsession",
+ "obssesive", "obsessive",
+ "obssessed", "obsessed",
+ "obstruced", "obstructed",
+ "obsucrity", "obscurity",
+ "obtainabe", "obtainable",
+ "obviosuly", "obviously",
+ "obvioulsy", "obviously",
+ "obvisouly", "obviously",
+ "obvoiusly", "obviously",
+ "ocasional", "occasional",
+ "ocasioned", "occasioned",
+ "ocassions", "occasions",
+ "occaisons", "occasions",
+ "occassion", "occasion",
+ "occurance", "occurrence",
+ "occurence", "occurrence",
+ "octohedra", "octahedra",
+ "ocuntries", "countries",
+ "ocurrance", "occurrence",
+ "ocurrence", "occurrence",
+ "offcially", "officially",
+ "offically", "officially",
+ "officialy", "officially",
+ "offpsring", "offspring",
+ "offspirng", "offspring",
+ "offsrping", "offspring",
+ "ogliarchy", "oligarchy",
+ "oilgarchy", "oligarchy",
+ "oligrachy", "oligarchy",
+ "ommitting", "omitting",
+ "onlsaught", "onslaught",
+ "onsalught", "onslaught",
+ "onslaugth", "onslaught",
+ "onsluaght", "onslaught",
+ "onwership", "ownership",
+ "opiniones", "opinions",
+ "oposition", "opposition",
+ "opponenet", "opponent",
+ "opposiste", "opposites",
+ "opposties", "opposites",
+ "oppressin", "oppression",
+ "opression", "oppression",
+ "opressive", "oppressive",
+ "opthalmic", "ophthalmic",
+ "optimisim", "optimism",
+ "optimistc", "optimistic",
+ "optinally", "optimally",
+ "oragnered", "orangered",
+ "oragnised", "organised",
+ "oragnizer", "organizer",
+ "orcehstra", "orchestra",
+ "ordinarly", "ordinary",
+ "orgainsed", "organised",
+ "orgainzer", "organizer",
+ "organered", "orangered",
+ "organices", "organise",
+ "organisim", "organism",
+ "organiske", "organise",
+ "organiste", "organise",
+ "organites", "organise",
+ "organizms", "organism",
+ "organsied", "organised",
+ "organsims", "organisms",
+ "organzier", "organizer",
+ "orginally", "originally",
+ "orgnaised", "organised",
+ "orhcestra", "orchestra",
+ "orientato", "orientation",
+ "origanaly", "originally",
+ "originall", "original",
+ "originalt", "originality",
+ "originaly", "originally",
+ "origintea", "originate",
+ "origional", "original",
+ "orignally", "originally",
+ "orignials", "originals",
+ "oublisher", "publisher",
+ "oursleves", "ourselves",
+ "oustiders", "outsiders",
+ "oustpoken", "outspoken",
+ "outisders", "outsiders",
+ "outnumbed", "outnumbered",
+ "outpalyed", "outplayed",
+ "outperfom", "outperform",
+ "outpsoken", "outspoken",
+ "outrageos", "outrageous",
+ "outskirst", "outskirts",
+ "outskrits", "outskirts",
+ "outwieghs", "outweighs",
+ "overbaord", "overboard",
+ "overclcok", "overclock",
+ "overdirve", "overdrive",
+ "overhpyed", "overhyped",
+ "overhwelm", "overwhelm",
+ "overlcock", "overclock",
+ "overloard", "overload",
+ "overpaied", "overpaid",
+ "overpowed", "overpowered",
+ "overriden", "overridden",
+ "overwhlem", "overwhelm",
+ "overwirte", "overwrite",
+ "overwtach", "overwatch",
+ "overyhped", "overhyped",
+ "owernship", "ownership",
+ "pacificts", "pacifist",
+ "packageid", "packaged",
+ "pactivity", "captivity",
+ "painkills", "painkillers",
+ "paitently", "patiently",
+ "paitience", "patience",
+ "pakistain", "pakistani",
+ "pakistian", "pakistani",
+ "pakistnai", "pakistani",
+ "paksitani", "pakistani",
+ "paladines", "paladins",
+ "paladinos", "paladins",
+ "palestein", "palestine",
+ "palestina", "palestinian",
+ "palistian", "palestinian",
+ "paltforms", "platforms",
+ "palystyle", "playstyle",
+ "pancakers", "pancakes",
+ "pantomine", "pantomime",
+ "paradimes", "paradise",
+ "paragraps", "paragraphs",
+ "paragrpah", "paragraph",
+ "paralells", "parallels",
+ "paralelly", "parallelly",
+ "paralisys", "paralysis",
+ "parallely", "parallelly",
+ "paralzyed", "paralyzed",
+ "paramedis", "paramedics",
+ "paramters", "parameters",
+ "paranoica", "paranoia",
+ "paranoida", "paranoia",
+ "parasties", "parasites",
+ "paraylsis", "paralysis",
+ "paraylzed", "paralyzed",
+ "parellels", "parallels",
+ "paricular", "particular",
+ "parisitic", "parasitic",
+ "paritally", "partially",
+ "parliment", "parliament",
+ "parmesaen", "parmesan",
+ "parntered", "partnered",
+ "parrallel", "parallel",
+ "partchett", "pratchett",
+ "parterned", "partnered",
+ "participe", "participate",
+ "partiotic", "patriotic",
+ "partisain", "partisan",
+ "pasengers", "passengers",
+ "passagens", "passages",
+ "passagers", "passages",
+ "passerbys", "passersby",
+ "passiones", "passions",
+ "passivley", "passively",
+ "passowrds", "passwords",
+ "pateintly", "patiently",
+ "paticular", "particular",
+ "patinetly", "patiently",
+ "patriarca", "patriarchal",
+ "patriarcy", "patriarchy",
+ "patriotas", "patriots",
+ "patriotes", "patriots",
+ "patroitic", "patriotic",
+ "pattented", "patented",
+ "pavillion", "pavilion",
+ "pbulisher", "publisher",
+ "peacefuly", "peacefully",
+ "pedohpile", "pedophile",
+ "pedophila", "pedophilia",
+ "pedophils", "pedophiles",
+ "peircings", "piercings",
+ "penalites", "penalties",
+ "penatlies", "penalties",
+ "penduluum", "pendulum",
+ "penerator", "penetrator",
+ "penguines", "penguins",
+ "penguings", "penguins",
+ "penguinos", "penguins",
+ "peninsual", "peninsula",
+ "peninusla", "peninsula",
+ "penisnula", "peninsula",
+ "penisular", "peninsular",
+ "pennisula", "peninsula",
+ "pensinula", "peninsula",
+ "pentagoon", "pentagon",
+ "peodphile", "pedophile",
+ "pepperino", "pepperoni",
+ "peppermit", "peppermint",
+ "percepted", "perceived",
+ "percevied", "perceived",
+ "percieved", "perceived",
+ "percisely", "precisely",
+ "percision", "precision",
+ "percursor", "precursor",
+ "perdators", "predators",
+ "peremiter", "perimeter",
+ "perfeclty", "perfectly",
+ "perfomers", "performers",
+ "performas", "performs",
+ "perfromer", "performer",
+ "pericings", "piercings",
+ "perimetre", "perimeter",
+ "peristent", "persistent",
+ "periwinke", "periwinkle",
+ "permanant", "permanent",
+ "permature", "premature",
+ "permenant", "permanent",
+ "permieter", "perimeter",
+ "permissie", "permissible",
+ "permissin", "permissions",
+ "permisson", "permission",
+ "pernament", "permanent",
+ "perorders", "preorders",
+ "perpetrar", "perpetrator",
+ "perpetuae", "perpetuate",
+ "perpetuas", "perpetuates",
+ "persauded", "persuaded",
+ "perscribe", "prescribe",
+ "perserved", "preserved",
+ "persistes", "persists",
+ "personaes", "personas",
+ "personaly", "personally",
+ "personell", "personnel",
+ "personhod", "personhood",
+ "persuated", "persuade",
+ "pertended", "pretended",
+ "pertoleum", "petroleum",
+ "perusaded", "persuaded",
+ "pervertes", "perverse",
+ "pesticids", "pesticides",
+ "petroluem", "petroleum",
+ "phemonena", "phenomena",
+ "phenemona", "phenomena",
+ "phenonema", "phenomena",
+ "phillipse", "phillies",
+ "philosopy", "philosophy",
+ "philosphy", "philosophy",
+ "phonecian", "phoenecian",
+ "phonemena", "phenomena",
+ "phongraph", "phonograph",
+ "photograh", "photograph",
+ "phsyician", "physician",
+ "phsyicist", "physicist",
+ "phycisian", "physician",
+ "phycisist", "physicist",
+ "physicaly", "physically",
+ "physicits", "physicist",
+ "physisict", "physicist",
+ "piblisher", "publisher",
+ "picthfork", "pitchfork",
+ "pinetrest", "pinterest",
+ "placeheld", "placeholder",
+ "placemens", "placements",
+ "plaestine", "palestine",
+ "plagarism", "plagiarism",
+ "planatery", "planetary",
+ "planation", "plantation",
+ "planteary", "planetary",
+ "plasticas", "plastics",
+ "plasticos", "plastics",
+ "plasticus", "plastics",
+ "platfroms", "platforms",
+ "platofrms", "platforms",
+ "plausable", "plausible",
+ "plausbile", "plausible",
+ "plausibel", "plausible",
+ "playgroud", "playground",
+ "playright", "playwright",
+ "playstlye", "playstyle",
+ "playwrite", "playwright",
+ "plebicite", "plebiscite",
+ "plethoria", "plethora",
+ "ploarized", "polarized",
+ "pointeres", "pointers",
+ "polinator", "pollinator",
+ "polishees", "polishes",
+ "politelly", "politely",
+ "politican", "politician",
+ "politicas", "politics",
+ "politicin", "politician",
+ "politicus", "politics",
+ "polygammy", "polygamy",
+ "populatin", "populations",
+ "poralized", "polarized",
+ "porcelian", "porcelain",
+ "porcelina", "porcelain",
+ "poreclain", "porcelain",
+ "porftolio", "portfolio",
+ "porgramme", "programme",
+ "portfoilo", "portfolio",
+ "portoflio", "portfolio",
+ "portraing", "portraying",
+ "portrayes", "portrays",
+ "portrayls", "portrays",
+ "portriats", "portraits",
+ "portugese", "portuguese",
+ "portugues", "portuguese",
+ "posessing", "possessing",
+ "posession", "possession",
+ "positiond", "positioned",
+ "positiong", "positioning",
+ "positionl", "positional",
+ "positiviy", "positivity",
+ "possesess", "possesses",
+ "possesing", "possessing",
+ "possesion", "possession",
+ "possessin", "possessions",
+ "possibile", "possible",
+ "possibily", "possibility",
+ "possibley", "possibly",
+ "possiblly", "possibly",
+ "possition", "position",
+ "powderade", "powdered",
+ "powerfull", "powerful",
+ "pracitcal", "practical",
+ "practhett", "pratchett",
+ "practicly", "practically",
+ "practives", "practise",
+ "pragamtic", "pragmatic",
+ "preadtors", "predators",
+ "precedeed", "preceded",
+ "preceeded", "preceded",
+ "preceived", "perceived",
+ "preciesly", "precisely",
+ "precisley", "precisely",
+ "precurors", "precursor",
+ "precurosr", "precursor",
+ "precurser", "precursor",
+ "predatobr", "predator",
+ "predictie", "predictive",
+ "predictin", "prediction",
+ "predjuice", "prejudice",
+ "predujice", "prejudice",
+ "prefectly", "perfectly",
+ "preferens", "preferences",
+ "prefering", "preferring",
+ "preformer", "performer",
+ "pregnance", "pregnancies",
+ "preimeter", "perimeter",
+ "prejiduce", "prejudice",
+ "prejucide", "prejudice",
+ "premanent", "permanent",
+ "premeired", "premiered",
+ "preorderd", "preordered",
+ "preparato", "preparation",
+ "prepatory", "preparatory",
+ "presentas", "presents",
+ "presentes", "presents",
+ "presicely", "precisely",
+ "presicion", "precision",
+ "presideny", "presidency",
+ "prestigiu", "prestigious",
+ "prestigue", "prestige",
+ "presuaded", "persuaded",
+ "pretendas", "pretends",
+ "pretensje", "pretense",
+ "pretinent", "pertinent",
+ "prevelant", "prevalent",
+ "preventin", "prevention",
+ "previvous", "previous",
+ "priesthod", "priesthood",
+ "priestood", "priesthood",
+ "primaires", "primaries",
+ "primairly", "primarily",
+ "primarliy", "primarily",
+ "primative", "primitive",
+ "primordal", "primordial",
+ "princesas", "princess",
+ "princeses", "princess",
+ "princesss", "princesses",
+ "principas", "principals",
+ "principly", "principally",
+ "prinicple", "principle",
+ "prioritie", "prioritize",
+ "prioritse", "priorities",
+ "privalege", "privilege",
+ "privelege", "privilege",
+ "privelige", "privilege",
+ "privilage", "privilege",
+ "privilegs", "privileges",
+ "privledge", "privilege",
+ "probabily", "probability",
+ "probablly", "probably",
+ "problemas", "problems",
+ "procative", "proactive",
+ "procedger", "procedure",
+ "proceding", "proceeding",
+ "proceedes", "proceeds",
+ "procelain", "porcelain",
+ "procesess", "processes",
+ "processer", "processor",
+ "processos", "processors",
+ "proclamed", "proclaimed",
+ "procotols", "protocols",
+ "prodecure", "procedure",
+ "productie", "productive",
+ "productin", "productions",
+ "productos", "products",
+ "profesion", "profusion",
+ "professer", "professor",
+ "professin", "professions",
+ "proffesed", "professed",
+ "proffesor", "professor",
+ "progessed", "progressed",
+ "programas", "programs",
+ "programem", "programme",
+ "programes", "programs",
+ "programms", "programs",
+ "progresso", "progression",
+ "progresss", "progresses",
+ "projectie", "projectile",
+ "projectin", "projection",
+ "prominant", "prominent",
+ "promiscus", "promiscuous",
+ "promotted", "promoted",
+ "pronomial", "pronominal",
+ "pronouced", "pronounced",
+ "pronounds", "pronouns",
+ "pronounes", "pronouns",
+ "propagana", "propaganda",
+ "properies", "properties",
+ "propertly", "property",
+ "propeties", "properties",
+ "prophesie", "prophecies",
+ "prophetes", "prophets",
+ "propogate", "propagate",
+ "proposels", "proposes",
+ "proposito", "proposition",
+ "propperly", "properly",
+ "propsects", "prospects",
+ "prosperos", "prosperous",
+ "prostitue", "prostitute",
+ "protectes", "protects",
+ "protectie", "protective",
+ "protectos", "protectors",
+ "proteinas", "proteins",
+ "proteines", "proteins",
+ "protestas", "protests",
+ "protestat", "protestant",
+ "protestes", "protests",
+ "protestos", "protests",
+ "protfolio", "portfolio",
+ "protocool", "protocol",
+ "prototpye", "prototype",
+ "prototyps", "prototypes",
+ "protraits", "portraits",
+ "protrayal", "portrayal",
+ "protrayed", "portrayed",
+ "provicial", "provincial",
+ "provincie", "province",
+ "provisios", "provisions",
+ "pruchased", "purchased",
+ "pruchases", "purchases",
+ "prugatory", "purgatory",
+ "pruposely", "purposely",
+ "pscyhotic", "psychotic",
+ "pseudonyn", "pseudonym",
+ "pshycosis", "psychosis",
+ "pshycotic", "psychotic",
+ "psycology", "psychology",
+ "psycothic", "psychotic",
+ "ptichfork", "pitchfork",
+ "pubilsher", "publisher",
+ "publiaher", "publisher",
+ "publicaly", "publicly",
+ "publicani", "publication",
+ "publicher", "publisher",
+ "publiclly", "publicly",
+ "publihser", "publisher",
+ "publisehr", "publisher",
+ "publisger", "publisher",
+ "publishor", "publisher",
+ "publishre", "publisher",
+ "publsiher", "publisher",
+ "publusher", "publisher",
+ "puchasing", "purchasing",
+ "punishmet", "punishments",
+ "puplisher", "publisher",
+ "puragtory", "purgatory",
+ "purcahsed", "purchased",
+ "purcahses", "purchases",
+ "purhcased", "purchased",
+ "purposley", "purposely",
+ "pursuaded", "persuaded",
+ "pursuades", "persuades",
+ "pyramidas", "pyramids",
+ "pyramides", "pyramids",
+ "pyschosis", "psychosis",
+ "pyschotic", "psychotic",
+ "qaulifies", "qualifies",
+ "quantifiy", "quantify",
+ "quantitiy", "quantity",
+ "quantitty", "quantity",
+ "quartlery", "quarterly",
+ "queations", "equations",
+ "queenland", "queensland",
+ "questiond", "questioned",
+ "questiong", "questioning",
+ "questionn", "questioning",
+ "radicalis", "radicals",
+ "rapsberry", "raspberry",
+ "rasbperry", "raspberry",
+ "rationaly", "rationally",
+ "reactiony", "reactionary",
+ "realisitc", "realistic",
+ "realoding", "reloading",
+ "realsitic", "realistic",
+ "realtable", "relatable",
+ "realtions", "relations",
+ "realtives", "relatives",
+ "reamining", "remaining",
+ "reaplying", "replaying",
+ "reasearch", "research",
+ "reaveling", "revealing",
+ "rebellios", "rebellious",
+ "rebllions", "rebellions",
+ "recations", "creations",
+ "reccomend", "recommend",
+ "reccuring", "recurring",
+ "receeding", "receding",
+ "recepient", "recipient",
+ "recgonise", "recognise",
+ "recgonize", "recognize",
+ "recidents", "residents",
+ "recievers", "receivers",
+ "recieving", "receiving",
+ "recipiant", "recipient",
+ "reciproce", "reciprocate",
+ "reclutant", "reluctant",
+ "recoginse", "recognise",
+ "recoginze", "recognize",
+ "recomends", "recommends",
+ "recommens", "recommends",
+ "reconenct", "reconnect",
+ "recongise", "recognise",
+ "recongize", "recognize",
+ "reconicle", "reconcile",
+ "reconized", "recognized",
+ "recordare", "recorder",
+ "recoveres", "recovers",
+ "recoverys", "recovers",
+ "recpetive", "receptive",
+ "recpetors", "receptors",
+ "recquired", "required",
+ "recreatie", "recreate",
+ "recruitcs", "recruits",
+ "recruites", "recruits",
+ "recrusion", "recursion",
+ "recrutied", "recruited",
+ "recrutier", "recruiter",
+ "rectangel", "rectangle",
+ "rectanlge", "rectangle",
+ "recuiting", "recruiting",
+ "recurison", "recursion",
+ "recurited", "recruited",
+ "recuriter", "recruiter",
+ "recusrion", "recursion",
+ "redeemeed", "redeemed",
+ "redundany", "redundancy",
+ "redundent", "redundant",
+ "reedeming", "redeeming",
+ "refelcted", "reflected",
+ "refereces", "references",
+ "refereees", "referees",
+ "refereers", "referees",
+ "referemce", "reference",
+ "referencs", "references",
+ "referense", "references",
+ "referiang", "referring",
+ "referinng", "refering",
+ "refernces", "references",
+ "refernece", "reference",
+ "refershed", "refreshed",
+ "refersher", "refresher",
+ "reffering", "referring",
+ "reflectie", "reflective",
+ "refrehser", "refresher",
+ "refrences", "references",
+ "refromist", "reformist",
+ "regionaal", "regional",
+ "registerd", "registered",
+ "registery", "registry",
+ "regualrly", "regularly",
+ "regualtor", "regulator",
+ "regulaion", "regulation",
+ "regulalry", "regularly",
+ "regulares", "regulars",
+ "regularis", "regulars",
+ "regulatin", "regulations",
+ "regurally", "regularly",
+ "reigining", "reigning",
+ "reinstale", "reinstalled",
+ "reisntall", "reinstall",
+ "reknowned", "renowned",
+ "relaoding", "reloading",
+ "relatiate", "retaliate",
+ "relativiy", "relativity",
+ "relativly", "relatively",
+ "relativno", "relation",
+ "relavence", "relevance",
+ "relcutant", "reluctant",
+ "relevence", "relevance",
+ "relfected", "reflected",
+ "reliabily", "reliability",
+ "reliabley", "reliably",
+ "religeous", "religious",
+ "remasterd", "remastered",
+ "rememberd", "remembered",
+ "rememebrs", "remembers",
+ "remianing", "remaining",
+ "remignton", "remington",
+ "remingotn", "remington",
+ "remmebers", "remembers",
+ "remotelly", "remotely",
+ "rendevous", "rendezvous",
+ "rendezous", "rendezvous",
+ "renedered", "rende",
+ "renegated", "renegade",
+ "rennovate", "renovate",
+ "repalying", "replaying",
+ "repblican", "republican",
+ "repeatedy", "repeatedly",
+ "repective", "receptive",
+ "repeition", "repetition",
+ "repentent", "repentant",
+ "rephrasse", "rephrase",
+ "replusive", "repulsive",
+ "reportedy", "reportedly",
+ "represend", "represented",
+ "repressin", "repression",
+ "reprtoire", "repertoire",
+ "repsonded", "responded",
+ "reptition", "repetition",
+ "reptuable", "reputable",
+ "repubican", "republican",
+ "republian", "republican",
+ "repulican", "republican",
+ "repulisve", "repulsive",
+ "repuslive", "repulsive",
+ "resaurant", "restaurant",
+ "researchs", "researchers",
+ "resembels", "resembles",
+ "reserverd", "reserved",
+ "resintall", "reinstall",
+ "resistane", "resistances",
+ "resistans", "resistances",
+ "resistend", "resisted",
+ "resistent", "resistant",
+ "resmebles", "resembles",
+ "resolutin", "resolutions",
+ "resoruces", "resources",
+ "respectes", "respects",
+ "respectos", "respects",
+ "responces", "response",
+ "respondas", "responds",
+ "respondis", "responds",
+ "respondus", "responds",
+ "respoting", "reposting",
+ "ressemble", "resemble",
+ "ressurect", "resurrect",
+ "restarant", "restaurant",
+ "resticted", "restricted",
+ "restircts", "restricts",
+ "restorani", "restoration",
+ "restraind", "restrained",
+ "restraing", "restraining",
+ "restraunt", "restraint",
+ "restriant", "restraint",
+ "restricte", "restrictive",
+ "resturant", "restaurant",
+ "retailate", "retaliate",
+ "retalaite", "retaliate",
+ "retaliers", "retailers",
+ "reteriver", "retriever",
+ "retirever", "retriever",
+ "retrevier", "retriever",
+ "reuptable", "reputable",
+ "reveiwers", "reviewers",
+ "revelaing", "revealing",
+ "revelance", "relevance",
+ "revolutin", "revolutions",
+ "rewachted", "rewatched",
+ "rewatchig", "rewatching",
+ "rferences", "references",
+ "ridiculos", "ridiculous",
+ "ridiculue", "ridicule",
+ "ridiculus", "ridiculous",
+ "righetous", "righteous",
+ "rightfuly", "rightfully",
+ "rightoues", "righteous",
+ "rigourous", "rigorous",
+ "rigtheous", "righteous",
+ "rilvaries", "rivalries",
+ "rininging", "ringing",
+ "rivarlies", "rivalries",
+ "rivlaries", "rivalries",
+ "roaylties", "royalties",
+ "roboticus", "robotics",
+ "roganisms", "organisms",
+ "royalites", "royalties",
+ "roylaties", "royalties",
+ "ruleboook", "rulebook",
+ "sacarstic", "sarcastic",
+ "sacntuary", "sanctuary",
+ "sacrafice", "sacrifice",
+ "sacrastic", "sarcastic",
+ "sacrifise", "sacrifices",
+ "salughter", "slaughter",
+ "samckdown", "smackdown",
+ "sanctiond", "sanctioned",
+ "sancturay", "sanctuary",
+ "sancutary", "sanctuary",
+ "sandstrom", "sandstorm",
+ "sandwhich", "sandwich",
+ "sanhedrim", "sanhedrin",
+ "santcuary", "sanctuary",
+ "santioned", "sanctioned",
+ "sapphirre", "sapphire",
+ "sastified", "satisfied",
+ "sastifies", "satisfies",
+ "satelites", "satellites",
+ "saterdays", "saturdays",
+ "satisifed", "satisfied",
+ "satisifes", "satisfies",
+ "satrudays", "saturdays",
+ "satsified", "satisfied",
+ "satsifies", "satisfies",
+ "sattelite", "satellite",
+ "saxaphone", "saxophone",
+ "scaepgoat", "scapegoat",
+ "scaleable", "scalable",
+ "scandales", "scandals",
+ "scandalos", "scandals",
+ "scantuary", "sanctuary",
+ "scaricity", "scarcity",
+ "scarifice", "sacrifice",
+ "scarmbled", "scrambled",
+ "scartched", "scratched",
+ "scartches", "scratches",
+ "scavanged", "scavenged",
+ "sceintist", "scientist",
+ "scholalry", "scholarly",
+ "sciencers", "sciences",
+ "scientfic", "scientific",
+ "scientifc", "scientific",
+ "scientits", "scientist",
+ "sclupture", "sculpture",
+ "scnearios", "scenarios",
+ "scoreboad", "scoreboard",
+ "scottisch", "scottish",
+ "scracthed", "scratched",
+ "scracthes", "scratches",
+ "scrambeld", "scrambled",
+ "scrathces", "scratches",
+ "scrollade", "scrolled",
+ "scrutiney", "scrutiny",
+ "scrutinty", "scrutiny",
+ "sculpteur", "sculpture",
+ "sculputre", "sculpture",
+ "scultpure", "sculpture",
+ "scuplture", "sculpture",
+ "scuptures", "sculptures",
+ "seamlessy", "seamlessly",
+ "searchign", "searching",
+ "sebasitan", "sebastian",
+ "sebastain", "sebastian",
+ "sebsatian", "sebastian",
+ "secceeded", "seceded",
+ "secertary", "secretary",
+ "secratary", "secretary",
+ "secratery", "secretary",
+ "secretery", "secretary",
+ "secretley", "secretly",
+ "sednetary", "sedentary",
+ "seduciton", "seduction",
+ "semanitcs", "semantics",
+ "semestres", "semesters",
+ "semnatics", "semantics",
+ "semseters", "semesters",
+ "senatores", "senators",
+ "sendetary", "sedentary",
+ "sensitivy", "sensitivity",
+ "sentimant", "sentimental",
+ "sepcially", "specially",
+ "seperated", "separated",
+ "seperates", "separates",
+ "seperator", "separator",
+ "septmeber", "september",
+ "seraching", "searching",
+ "seriosuly", "seriously",
+ "serioulsy", "seriously",
+ "seriuosly", "seriously",
+ "servantes", "servants",
+ "settlment", "settlement",
+ "sexualizd", "sexualized",
+ "sexuallly", "sexually",
+ "shadasloo", "shadaloo",
+ "shaprness", "sharpness",
+ "sharpenss", "sharpness",
+ "shawhsank", "shawshank",
+ "sheilding", "shielding",
+ "shephered", "shepherd",
+ "shileding", "shielding",
+ "shitstrom", "shitstorm",
+ "shletered", "sheltered",
+ "shoudlers", "shoulders",
+ "shouldnot", "shouldnt",
+ "shperical", "spherical",
+ "shwashank", "shawshank",
+ "sidebaord", "sideboard",
+ "siganture", "signature",
+ "signapore", "singapore",
+ "signitory", "signatory",
+ "silhouete", "silhouette",
+ "similiair", "similiar",
+ "simliarly", "similarly",
+ "simluated", "simulated",
+ "simluator", "simulator",
+ "simplifiy", "simplify",
+ "simualted", "simulated",
+ "simualtor", "simulator",
+ "simulatie", "simulate",
+ "simulatin", "simulation",
+ "sinagpore", "singapore",
+ "sincerley", "sincerely",
+ "singature", "signature",
+ "singpaore", "singapore",
+ "singulair", "singular",
+ "singulary", "singularity",
+ "skateboad", "skateboard",
+ "skeletaal", "skeletal",
+ "skepitcal", "skeptical",
+ "skepticim", "skepticism",
+ "sketpical", "skeptical",
+ "slaughted", "slaughtered",
+ "slaugther", "slaughter",
+ "slipperly", "slippery",
+ "sluaghter", "slaughter",
+ "smackdwon", "smackdown",
+ "smealting", "smelting",
+ "smeesters", "semesters",
+ "snadstorm", "sandstorm",
+ "snippetts", "snippets",
+ "snowfalke", "snowflake",
+ "snowflaek", "snowflake",
+ "snowlfake", "snowflake",
+ "snwoballs", "snowballs",
+ "snythesis", "synthesis",
+ "snythetic", "synthetic",
+ "socailism", "socialism",
+ "socailist", "socialist",
+ "socailize", "socialize",
+ "soceities", "societies",
+ "socialini", "socializing",
+ "socialiss", "socialists",
+ "socialsim", "socialism",
+ "socieites", "societies",
+ "socilaism", "socialism",
+ "socilaist", "socialist",
+ "sociopati", "sociopathic",
+ "sociopats", "sociopaths",
+ "socratees", "socrates",
+ "socrateks", "socrates",
+ "soemthing", "something",
+ "sohpomore", "sophomore",
+ "soliliquy", "soliloquy",
+ "somehting", "something",
+ "someoneis", "someones",
+ "somethign", "something",
+ "somethins", "somethings",
+ "sopohmore", "sophomore",
+ "sotryline", "storyline",
+ "soundtrak", "soundtrack",
+ "sountrack", "soundtrack",
+ "sourthern", "southern",
+ "souvenier", "souvenir",
+ "soveregin", "sovereign",
+ "sovereing", "sovereign",
+ "soveriegn", "sovereign",
+ "spacegoat", "scapegoat",
+ "spagehtti", "spaghetti",
+ "spahgetti", "spaghetti",
+ "sparlking", "sparkling",
+ "spartants", "spartans",
+ "specailly", "specially",
+ "specailty", "specialty",
+ "specality", "specialty",
+ "speciales", "specials",
+ "specialis", "specials",
+ "speciatly", "specialty",
+ "specifing", "specifying",
+ "specimine", "specimen",
+ "spectrail", "spectral",
+ "specualte", "speculate",
+ "speechers", "speeches",
+ "spehrical", "spherical",
+ "speically", "specially",
+ "spetember", "september",
+ "sphagetti", "spaghetti",
+ "splatooon", "splatoon",
+ "sponosred", "sponsored",
+ "sponsered", "sponsored",
+ "sponsores", "sponsors",
+ "spontanes", "spontaneous",
+ "sponzored", "sponsored",
+ "sprakling", "sparkling",
+ "sprinkeld", "sprinkled",
+ "squadroon", "squadron",
+ "squirrles", "squirrels",
+ "squirrtle", "squirrel",
+ "squrriels", "squirrels",
+ "srirachia", "sriracha",
+ "srirachra", "sriracha",
+ "stabliize", "stabilize",
+ "stainlees", "stainless",
+ "startegic", "strategic",
+ "startlxde", "startled",
+ "statisitc", "statistic",
+ "staurdays", "saturdays",
+ "steadilly", "steadily",
+ "stealthly", "stealthy",
+ "stichting", "stitching",
+ "sticthing", "stitching",
+ "stimulans", "stimulants",
+ "stockplie", "stockpile",
+ "stornegst", "strongest",
+ "stragetic", "strategic",
+ "straightn", "straighten",
+ "strangets", "strangest",
+ "strategis", "strategies",
+ "strawbery", "strawberry",
+ "streamade", "streamed",
+ "streamare", "streamer",
+ "streamear", "streamer",
+ "strechted", "stretched",
+ "strechtes", "stretches",
+ "strecthed", "stretched",
+ "strecthes", "stretches",
+ "stregnths", "strengths",
+ "strenghen", "strengthen",
+ "strengthn", "strengthen",
+ "strentghs", "strengths",
+ "stressade", "stressed",
+ "stressers", "stresses",
+ "strictist", "strictest",
+ "stringnet", "stringent",
+ "stroyline", "storyline",
+ "structual", "structural",
+ "structurs", "structures",
+ "strucutre", "structure",
+ "struggeld", "struggled",
+ "struggels", "struggles",
+ "stryofoam", "styrofoam",
+ "stuctured", "structured",
+ "stuggling", "struggling",
+ "stupitidy", "stupidity",
+ "sturcture", "structure",
+ "sturggled", "struggled",
+ "sturggles", "struggles",
+ "styrofaom", "styrofoam",
+ "subarmine", "submarine",
+ "subculter", "subculture",
+ "submachne", "submachine",
+ "subpecies", "subspecies",
+ "subscirbe", "subscribe",
+ "subsidary", "subsidiary",
+ "subsizide", "subsidize",
+ "subsquent", "subsequent",
+ "subsrcibe", "subscribe",
+ "substanse", "substances",
+ "substanta", "substantial",
+ "substante", "substantive",
+ "substarte", "substrate",
+ "substitue", "substitute",
+ "substract", "subtract",
+ "subtances", "substances",
+ "subtiltes", "subtitles",
+ "subtitels", "subtitles",
+ "subtletly", "subtlety",
+ "subtlties", "subtitles",
+ "succedded", "succeeded",
+ "succeedes", "succeeds",
+ "succesful", "successful",
+ "succesion", "succession",
+ "succesive", "successive",
+ "suceeding", "succeeding",
+ "sucesfuly", "successfully",
+ "sucessful", "successful",
+ "sucession", "succession",
+ "sucessive", "successive",
+ "sufferage", "suffrage",
+ "sufferred", "suffered",
+ "sufficent", "sufficient",
+ "suggestes", "suggests",
+ "suggestie", "suggestive",
+ "sumbarine", "submarine",
+ "sumberged", "submerged",
+ "summenors", "summoners",
+ "summoenrs", "summoners",
+ "sunderlad", "sunderland",
+ "sunglases", "sunglasses",
+ "superfluu", "superfluous",
+ "superiour", "superior",
+ "superisor", "superiors",
+ "supermare", "supermarket",
+ "superviso", "supervision",
+ "suposedly", "supposedly",
+ "supportes", "supports",
+ "suppreses", "suppress",
+ "supressed", "suppressed",
+ "supresses", "suppresses",
+ "suprising", "surprising",
+ "suprizing", "surprising",
+ "supsicion", "suspicion",
+ "surounded", "surrounded",
+ "surprized", "surprised",
+ "surronded", "surrounded",
+ "surrouded", "surrounded",
+ "surrouned", "surround",
+ "survivers", "survivors",
+ "survivied", "survived",
+ "survivour", "survivor",
+ "susbcribe", "subscribe",
+ "susbtrate", "substrate",
+ "susncreen", "sunscreen",
+ "suspectes", "suspects",
+ "suspendes", "suspense",
+ "suspensie", "suspense",
+ "swastikka", "swastika",
+ "sweatshit", "sweatshirt",
+ "sweetheat", "sweetheart",
+ "switchign", "switching",
+ "swithcing", "switching",
+ "swtiching", "switching",
+ "sydnicate", "syndicate",
+ "sykwalker", "skywalker",
+ "sylablles", "syllables",
+ "syllabels", "syllables",
+ "symbolsim", "symbolism",
+ "symettric", "symmetric",
+ "symmetral", "symmetric",
+ "symmetria", "symmetrical",
+ "symoblism", "symbolism",
+ "sympathie", "sympathize",
+ "symphoney", "symphony",
+ "symptomes", "symptoms",
+ "symptomps", "symptoms",
+ "synagouge", "synagogue",
+ "syndacite", "syndicate",
+ "syndiacte", "syndicate",
+ "synidcate", "syndicate",
+ "synonymes", "synonyms",
+ "synonymis", "synonyms",
+ "synonymns", "synonyms",
+ "synonymos", "synonymous",
+ "synonymus", "synonyms",
+ "synopsies", "synopsis",
+ "syntehsis", "synthesis",
+ "syntehtic", "synthetic",
+ "syntethic", "synthetic",
+ "syphyllis", "syphilis",
+ "syracusae", "syracuse",
+ "sytrofoam", "styrofoam",
+ "tablespon", "tablespoon",
+ "tacticaly", "tactically",
+ "tanenhill", "tannehill",
+ "tannheill", "tannehill",
+ "targetted", "targeted",
+ "tawainese", "taiwanese",
+ "tawianese", "taiwanese",
+ "taxanomic", "taxonomic",
+ "teamfighs", "teamfights",
+ "teamfigth", "teamfight",
+ "teamifght", "teamfight",
+ "teampseak", "teamspeak",
+ "teaspooon", "teaspoon",
+ "techician", "technician",
+ "techinque", "technique",
+ "technolgy", "technology",
+ "teeangers", "teenagers",
+ "tehtering", "tethering",
+ "telegrpah", "telegraph",
+ "televsion", "television",
+ "temafight", "teamfight",
+ "tempaltes", "templates",
+ "temparate", "temperate",
+ "templaras", "templars",
+ "templares", "templars",
+ "temporali", "temporarily",
+ "tenacitiy", "tenacity",
+ "tensiones", "tensions",
+ "tentacels", "tentacles",
+ "tentacuel", "tentacle",
+ "tentalces", "tentacles",
+ "termianls", "terminals",
+ "terminato", "termination",
+ "terorrism", "terrorism",
+ "terorrist", "terrorist",
+ "terrabyte", "terabyte",
+ "terribley", "terribly",
+ "terriblly", "terribly",
+ "terriroty", "territory",
+ "terrorits", "terrorist",
+ "terrorsim", "terrorism",
+ "tesitcles", "testicles",
+ "tesitmony", "testimony",
+ "testicels", "testicles",
+ "testomony", "testimony",
+ "texturers", "textures",
+ "thankfuly", "thankfully",
+ "thankyoou", "thankyou",
+ "themselfs", "themselves",
+ "themselvs", "themselves",
+ "themslves", "themselves",
+ "theologia", "theological",
+ "therafter", "thereafter",
+ "therefoer", "therefor",
+ "therefour", "therefor",
+ "theroists", "theorists",
+ "thetering", "tethering",
+ "thirlling", "thrilling",
+ "thirteeen", "thirteen",
+ "thoecracy", "theocracy",
+ "thoerists", "theorists",
+ "thoroughy", "thoroughly",
+ "thoughout", "throughout",
+ "threatend", "threatened",
+ "throrough", "thorough",
+ "throughly", "thoroughly",
+ "througout", "throughout",
+ "thrusdays", "thursdays",
+ "thurdsays", "thursdays",
+ "thursdsay", "thursdays",
+ "thursters", "thrusters",
+ "tiawanese", "taiwanese",
+ "timestmap", "timestamp",
+ "tirangles", "triangles",
+ "tocuhdown", "touchdown",
+ "toghether", "together",
+ "tolerence", "tolerance",
+ "tommorrow", "tomorrow",
+ "torandoes", "tornadoes",
+ "torchligt", "torchlight",
+ "torelable", "tolerable",
+ "toritllas", "tortillas",
+ "tornaodes", "tornadoes",
+ "torpeados", "torpedoes",
+ "torrentas", "torrents",
+ "torrentes", "torrents",
+ "tortialls", "tortillas",
+ "tortillia", "tortilla",
+ "tortillla", "tortilla",
+ "tottehnam", "tottenham",
+ "tottenahm", "tottenham",
+ "tottneham", "tottenham",
+ "toturials", "tutorials",
+ "touchdwon", "touchdown",
+ "touristas", "tourists",
+ "touristes", "tourists",
+ "touristey", "touristy",
+ "touristly", "touristy",
+ "touristsy", "touristy",
+ "tournamet", "tournament",
+ "toxicitiy", "toxicity",
+ "trafficed", "trafficked",
+ "tragicaly", "tragically",
+ "traileras", "trailers",
+ "traingles", "triangles",
+ "trainwrek", "trainwreck",
+ "traitoris", "traitors",
+ "traitorus", "traitors",
+ "tramautic", "traumatic",
+ "tranlsate", "translate",
+ "transalte", "translate",
+ "transcris", "transcripts",
+ "transcrit", "transcript",
+ "transferd", "transferred",
+ "transfere", "transferred",
+ "transfors", "transforms",
+ "transfrom", "transform",
+ "transiten", "transient",
+ "transitin", "transitions",
+ "transofrm", "transform",
+ "transplat", "transplant",
+ "trasnfers", "transfers",
+ "trasnform", "transform",
+ "trasnport", "transport",
+ "traversie", "traverse",
+ "travestry", "travesty",
+ "treasuers", "treasures",
+ "treasurey", "treasury",
+ "treatmens", "treatments",
+ "treausres", "treasures",
+ "tremendos", "tremendous",
+ "trhilling", "thrilling",
+ "trhusters", "thrusters",
+ "triangels", "triangles",
+ "trianlges", "triangles",
+ "tribunaal", "tribunal",
+ "triguered", "triggered",
+ "trinagles", "triangles",
+ "truamatic", "traumatic",
+ "truthfuly", "truthfully",
+ "tunrtable", "turntable",
+ "turnaroud", "turnaround",
+ "turntabel", "turntable",
+ "typcially", "typically",
+ "tyrranies", "tyrannies",
+ "ubiquitos", "ubiquitous",
+ "ugprading", "upgrading",
+ "ukrainain", "ukrainian",
+ "ukrainias", "ukrainians",
+ "ukrainina", "ukrainian",
+ "ukrainisn", "ukrainians",
+ "ukrianian", "ukrainian",
+ "ulitmatum", "ultimatum",
+ "ulteriour", "ulterior",
+ "umbrellla", "umbrella",
+ "unaminous", "unanimous",
+ "unanmious", "unanimous",
+ "unanswerd", "unanswered",
+ "unanymous", "unanimous",
+ "unbannend", "unbanned",
+ "uncensord", "uncensored",
+ "uncomited", "uncommitted",
+ "undercunt", "undercut",
+ "underdong", "underdog",
+ "undergard", "undergrad",
+ "underming", "undermining",
+ "understad", "understands",
+ "underwaer", "underwear",
+ "underware", "underwear",
+ "undescore", "underscore",
+ "unforseen", "unforeseen",
+ "unfortune", "unfortunate",
+ "unfriendy", "unfriendly",
+ "unhealhty", "unhealthy",
+ "unheathly", "unhealthy",
+ "unhelathy", "unhealthy",
+ "unicornis", "unicorns",
+ "unicornus", "unicorns",
+ "uniformes", "uniforms",
+ "uninamous", "unanimous",
+ "unintuive", "unintuitive",
+ "uniquelly", "uniquely",
+ "unisntall", "uninstall",
+ "univerity", "university",
+ "universse", "universes",
+ "univesity", "university",
+ "unnistall", "uninstall",
+ "unoffical", "unofficial",
+ "unopenend", "unopened",
+ "unplayabe", "unplayable",
+ "unplesant", "unpleasant",
+ "unpopluar", "unpopular",
+ "unrankend", "unranked",
+ "unreliabe", "unreliable",
+ "unrwitten", "unwritten",
+ "untrianed", "untrained",
+ "unusaully", "unusually",
+ "unuseable", "unusable",
+ "unusuable", "unusable",
+ "unvierses", "universes",
+ "unweildly", "unwieldy",
+ "unwieldly", "unwieldy",
+ "unwirtten", "unwritten",
+ "unworthly", "unworthy",
+ "upcomming", "upcoming",
+ "upgarding", "upgrading",
+ "upgradded", "upgraded",
+ "uplfiting", "uplifting",
+ "uplifitng", "uplifting",
+ "urkainian", "ukrainian",
+ "utlimatum", "ultimatum",
+ "vacciante", "vaccinate",
+ "vaccinato", "vaccination",
+ "vacciners", "vaccines",
+ "vacestomy", "vasectomy",
+ "vaguaries", "vagaries",
+ "vaibility", "viability",
+ "vaildated", "validated",
+ "vairables", "variables",
+ "valdiated", "validated",
+ "valentein", "valentine",
+ "valentien", "valentine",
+ "valentins", "valentines",
+ "validitiy", "validity",
+ "valueable", "valuable",
+ "vanadlism", "vandalism",
+ "vandalsim", "vandalism",
+ "varaibles", "variables",
+ "varations", "variations",
+ "variantes", "variants",
+ "vascetomy", "vasectomy",
+ "vastecomy", "vasectomy",
+ "veganisim", "veganism",
+ "vegetarin", "vegetarians",
+ "vegitable", "vegetable",
+ "vehementy", "vehemently",
+ "veiwpoint", "viewpoint",
+ "velantine", "valentine",
+ "vendettta", "vendetta",
+ "venegance", "vengeance",
+ "veneuzela", "venezuela",
+ "venezeula", "venezuela",
+ "venezulea", "venezuela",
+ "vengaence", "vengeance",
+ "vengenace", "vengeance",
+ "ventilato", "ventilation",
+ "verbatium", "verbatim",
+ "verfiying", "verifying",
+ "verifiyng", "verifying",
+ "verisions", "revisions",
+ "versalite", "versatile",
+ "versatily", "versatility",
+ "versiones", "versions",
+ "versitale", "versatile",
+ "verstaile", "versatile",
+ "verticaly", "vertically",
+ "veryifing", "verifying",
+ "vicotrian", "victorian",
+ "vicotries", "victories",
+ "victoires", "victories",
+ "victorain", "victorian",
+ "victorina", "victorian",
+ "victorios", "victorious",
+ "videogaem", "videogame",
+ "videogams", "videogames",
+ "vidoegame", "videogame",
+ "viewpiont", "viewpoint",
+ "vigilence", "vigilance",
+ "vigliante", "vigilante",
+ "vigourous", "vigorous",
+ "viligante", "vigilante",
+ "viloently", "violently",
+ "vincinity", "vicinity",
+ "vioalting", "violating",
+ "violentce", "violence",
+ "virbation", "vibration",
+ "virgintiy", "virginity",
+ "virignity", "virginity",
+ "virutally", "virtually",
+ "visibiliy", "visibility",
+ "vitaminas", "vitamins",
+ "vitamines", "vitamins",
+ "vitrually", "virtually",
+ "vociemail", "voicemail",
+ "voilating", "violating",
+ "voilation", "violation",
+ "voilently", "violently",
+ "volatiliy", "volatility",
+ "voleyball", "volleyball",
+ "volontary", "voluntary",
+ "volonteer", "volunteer",
+ "volunatry", "voluntary",
+ "volunteed", "volunteered",
+ "vriginity", "virginity",
+ "wallpapes", "wallpapers",
+ "warrantly", "warranty",
+ "warrriors", "warriors",
+ "wavelengh", "wavelength",
+ "weakenend", "weakened",
+ "weakneses", "weakness",
+ "weaknesss", "weaknesses",
+ "wealtheir", "wealthier",
+ "weaponary", "weaponry",
+ "wedensday", "wednesday",
+ "wednesdsy", "wednesdays",
+ "wednessay", "wednesdays",
+ "wednseday", "wednesday",
+ "welathier", "wealthier",
+ "wendesday", "wednesday",
+ "wesbtrook", "westbrook",
+ "westernes", "westerners",
+ "westrbook", "westbrook",
+ "whereever", "wherever",
+ "whietlist", "whitelist",
+ "whilrwind", "whirlwind",
+ "whilsting", "whistling",
+ "whipsered", "whispered",
+ "whislting", "whistling",
+ "whisperes", "whispers",
+ "whitelsit", "whitelist",
+ "whitleist", "whitelist",
+ "whitsling", "whistling",
+ "whrilwind", "whirlwind",
+ "whsipered", "whispered",
+ "whtielist", "whitelist",
+ "widespred", "widespread",
+ "widesread", "widespread",
+ "windshied", "windshield",
+ "wintesses", "witnesses",
+ "wisconisn", "wisconsin",
+ "wishlisht", "wishlist",
+ "wishpered", "whispered",
+ "withdrawl", "withdrawal",
+ "withelist", "whitelist",
+ "witnesess", "witnesses",
+ "wolrdview", "worldview",
+ "wolrdwide", "worldwide",
+ "wonderlad", "wonderland",
+ "wordlview", "worldview",
+ "wordlwide", "worldwide",
+ "worhtless", "worthless",
+ "workfroce", "workforce",
+ "worldivew", "worldview",
+ "worldveiw", "worldview",
+ "worstened", "worsened",
+ "worthelss", "worthless",
+ "xenbolade", "xenoblade",
+ "xenobalde", "xenoblade",
+ "xenophoby", "xenophobia",
+ "xeonblade", "xenoblade",
+ "yementite", "yemenite",
+ "yorkshrie", "yorkshire",
+ "yorskhire", "yorkshire",
+ "yosemitie", "yosemite",
+ "youngents", "youngest",
+ "yourselvs", "yourselves",
+ "zimbabwae", "zimbabwe",
+ "zionistas", "zionists",
+ "zionistes", "zionists",
+ "abandond", "abandoned",
+ "abdomine", "abdomen",
+ "abilitiy", "ability",
+ "abilties", "abilities",
+ "abondons", "abandons",
+ "aboslute", "absolute",
+ "abosrbed", "absorbed",
+ "abruplty", "abruptly",
+ "abrutply", "abruptly",
+ "abscence", "absence",
+ "absestos", "asbestos",
+ "absoluts", "absolutes",
+ "absolvte", "absolve",
+ "absorbes", "absorbs",
+ "absoulte", "absolute",
+ "abstante", "bastante",
+ "abudance", "abundance",
+ "abudcted", "abducted",
+ "abundunt", "abundant",
+ "aburptly", "abruptly",
+ "abuseres", "abusers",
+ "abusrdly", "absurdly",
+ "academis", "academics",
+ "accademy", "academy",
+ "acccused", "accused",
+ "acceptes", "accepts",
+ "accidens", "accidents",
+ "accideny", "accidently",
+ "accoring", "according",
+ "accountt", "accountant",
+ "accpeted", "accepted",
+ "accuarcy", "accuracy",
+ "accumule", "accumulate",
+ "accusato", "accusation",
+ "accussed", "accused",
+ "acedamia", "academia",
+ "acedemic", "academic",
+ "acheived", "achieved",
+ "acheives", "achieves",
+ "achieval", "achievable",
+ "acnedote", "anecdote",
+ "acording", "according",
+ "acornyms", "acronyms",
+ "acousitc", "acoustic",
+ "acoutsic", "acoustic",
+ "acovados", "avocados",
+ "acquifer", "acquire",
+ "acquited", "acquitted",
+ "acquried", "acquired",
+ "acronmys", "acronyms",
+ "acronysm", "acronyms",
+ "acroynms", "acronyms",
+ "acrynoms", "acronyms",
+ "acsended", "ascended",
+ "actaully", "actually",
+ "activite", "activities",
+ "activits", "activities",
+ "activley", "actively",
+ "actresss", "actresses",
+ "actualey", "actualy",
+ "actualiy", "actuality",
+ "actualky", "actualy",
+ "actualmy", "actualy",
+ "actualoy", "actualy",
+ "actualpy", "actualy",
+ "actualty", "actualy",
+ "acutally", "actually",
+ "acutions", "auctions",
+ "adaptare", "adapter",
+ "adbandon", "abandon",
+ "adbucted", "abducted",
+ "addictes", "addicts",
+ "addictin", "addictions",
+ "addictis", "addictions",
+ "addional", "additional",
+ "addopted", "adopted",
+ "addresed", "addressed",
+ "adealide", "adelaide",
+ "adecuate", "adequate",
+ "adeilade", "adelaide",
+ "adeladie", "adelaide",
+ "adeliade", "adelaide",
+ "adeqaute", "adequate",
+ "adheisve", "adhesive",
+ "adhevise", "adhesive",
+ "adivsors", "advisors",
+ "admiraal", "admiral",
+ "adolence", "adolescent",
+ "adorbale", "adorable",
+ "adovcacy", "advocacy",
+ "adpaters", "adapters",
+ "adquired", "acquired",
+ "adquires", "acquires",
+ "adresing", "addressing",
+ "adressed", "addressed",
+ "adroable", "adorable",
+ "adultrey", "adultery",
+ "adventue", "adventures",
+ "adventus", "adventures",
+ "advertis", "adverts",
+ "advesary", "adversary",
+ "adviseer", "adviser",
+ "adviseur", "adviser",
+ "advocade", "advocated",
+ "advocats", "advocates",
+ "advsiors", "advisors",
+ "aethists", "atheists",
+ "affaires", "affairs",
+ "affilate", "affiliate",
+ "affintiy", "affinity",
+ "affleunt", "affluent",
+ "affulent", "affluent",
+ "afircans", "africans",
+ "africain", "african",
+ "afternon", "afternoon",
+ "againnst", "against",
+ "agnositc", "agnostic",
+ "agonstic", "agnostic",
+ "agravate", "aggravate",
+ "agreemnt", "agreement",
+ "agregate", "aggregate",
+ "agressie", "agressive",
+ "agressor", "aggressor",
+ "agrieved", "aggrieved",
+ "agruable", "arguable",
+ "agruably", "arguably",
+ "agrument", "argument",
+ "ahtletes", "athletes",
+ "aincents", "ancients",
+ "airboner", "airborne",
+ "airbrone", "airborne",
+ "aircarft", "aircraft",
+ "airplans", "airplanes",
+ "airporta", "airports",
+ "airpsace", "airspace",
+ "airscape", "airspace",
+ "akransas", "arkansas",
+ "alchemey", "alchemy",
+ "alchohol", "alcohol",
+ "alcholic", "alcoholic",
+ "alcoholc", "alcoholics",
+ "aldutery", "adultery",
+ "aleniate", "alienate",
+ "algoritm", "algorithm",
+ "alimoney", "alimony",
+ "alirghty", "alrighty",
+ "allaince", "alliance",
+ "alledged", "alleged",
+ "alledges", "alleges",
+ "allegedy", "allegedly",
+ "allegely", "allegedly",
+ "allegric", "allergic",
+ "allergey", "allergy",
+ "allianse", "alliances",
+ "alligned", "aligned",
+ "allinace", "alliance",
+ "allopone", "allophone",
+ "allready", "already",
+ "almigthy", "almighty",
+ "alpahbet", "alphabet",
+ "alrigthy", "alrighty",
+ "altantic", "atlantic",
+ "alterato", "alteration",
+ "alternar", "alternator",
+ "althetes", "athletes",
+ "althetic", "athletic",
+ "altriusm", "altruism",
+ "altrusim", "altruism",
+ "alturism", "altruism",
+ "aluminim", "aluminium",
+ "alumnium", "aluminum",
+ "alunimum", "aluminum",
+ "amatersu", "amateurs",
+ "amaterus", "amateurs",
+ "amendmet", "amendments",
+ "amercian", "american",
+ "amercias", "americas",
+ "amernian", "armenian",
+ "amethsyt", "amethyst",
+ "ameythst", "amethyst",
+ "ammended", "amended",
+ "amnestry", "amnesty",
+ "amoungst", "amongst",
+ "amplifiy", "amplify",
+ "amplifly", "amplify",
+ "amrchair", "armchair",
+ "amrenian", "armenian",
+ "amtheyst", "amethyst",
+ "analgoue", "analogue",
+ "analisys", "analysis",
+ "analitic", "analytic",
+ "analouge", "analogue",
+ "analysie", "analyse",
+ "analysit", "analyst",
+ "analyste", "analyse",
+ "analysze", "analyse",
+ "analzyed", "analyzed",
+ "anaolgue", "analogue",
+ "anarchim", "anarchism",
+ "anaylses", "analyses",
+ "anaylsis", "analysis",
+ "anaylsts", "analysts",
+ "anaylzed", "analyzed",
+ "ancedote", "anecdote",
+ "anceints", "ancients",
+ "ancinets", "ancients",
+ "andoirds", "androids",
+ "andorids", "androids",
+ "andriods", "androids",
+ "anecdots", "anecdotes",
+ "anectode", "anecdote",
+ "anedocte", "anecdote",
+ "aneroxia", "anorexia",
+ "aneroxic", "anorexic",
+ "angostic", "agnostic",
+ "angrilly", "angrily",
+ "anicents", "ancients",
+ "animatie", "animate",
+ "animatte", "animate",
+ "anlayses", "analyses",
+ "annoints", "anoints",
+ "annouced", "announced",
+ "annoucne", "announce",
+ "anntenas", "antennas",
+ "anoerxia", "anorexia",
+ "anoerxic", "anorexic",
+ "anonymos", "anonymous",
+ "anoreixa", "anorexia",
+ "anounced", "announced",
+ "anoxeria", "anorexia",
+ "anoxeric", "anorexic",
+ "answeres", "answers",
+ "antartic", "antarctic",
+ "antennea", "antenna",
+ "antennna", "antenna",
+ "anticipe", "anticipate",
+ "antiquae", "antique",
+ "antivirs", "antivirus",
+ "anwsered", "answered",
+ "anyhting", "anything",
+ "anyhwere", "anywhere",
+ "anyoneis", "anyones",
+ "anythign", "anything",
+ "anytying", "anything",
+ "aparment", "apartment",
+ "apartmet", "apartments",
+ "apenines", "apennines",
+ "aperutre", "aperture",
+ "aplhabet", "alphabet",
+ "apologes", "apologise",
+ "aposltes", "apostles",
+ "apostels", "apostles",
+ "appaluse", "applause",
+ "apparant", "apparent",
+ "appareal", "apparel",
+ "appareil", "apparel",
+ "apperead", "appeared",
+ "applaued", "applaud",
+ "appluase", "applause",
+ "appology", "apology",
+ "apporach", "approach",
+ "appraoch", "approach",
+ "apreture", "aperture",
+ "apsotles", "apostles",
+ "aqaurium", "aquarium",
+ "aqcuired", "acquired",
+ "aquaduct", "aqueduct",
+ "aquairum", "aquarium",
+ "aquaruim", "aquarium",
+ "aquiring", "acquiring",
+ "aquitted", "acquitted",
+ "arbitary", "arbitrary",
+ "arbitray", "arbitrary",
+ "arbiture", "arbiter",
+ "architet", "architect",
+ "archtype", "archetype",
+ "aremnian", "armenian",
+ "argentia", "argentina",
+ "argubaly", "arguably",
+ "arguemet", "arguement",
+ "arguemtn", "arguement",
+ "ariborne", "airborne",
+ "aricraft", "aircraft",
+ "ariplane", "airplane",
+ "ariports", "airports",
+ "arispace", "airspace",
+ "aristote", "aristotle",
+ "aritfact", "artifact",
+ "arizonia", "arizona",
+ "arkasnas", "arkansas",
+ "arlighty", "alrighty",
+ "armamant", "armament",
+ "armenain", "armenian",
+ "armenina", "armenian",
+ "armpitts", "armpits",
+ "armstrog", "armstrong",
+ "arpanoid", "paranoid",
+ "arpeture", "aperture",
+ "arragned", "arranged",
+ "arrestes", "arrests",
+ "arrestos", "arrests",
+ "arsenaal", "arsenal",
+ "artemios", "artemis",
+ "artemius", "artemis",
+ "arthrits", "arthritis",
+ "articule", "articulate",
+ "artifacs", "artifacts",
+ "artifcat", "artifact",
+ "artilley", "artillery",
+ "artisitc", "artistic",
+ "artistas", "artists",
+ "arugable", "arguable",
+ "arugably", "arguably",
+ "arugment", "argument",
+ "asborbed", "absorbed",
+ "asburdly", "absurdly",
+ "ascneded", "ascended",
+ "asissted", "assisted",
+ "askreddt", "askreddit",
+ "asnwered", "answered",
+ "aspectos", "aspects",
+ "asperges", "aspergers",
+ "assasins", "assassins",
+ "assemple", "assemble",
+ "assertin", "assertions",
+ "asshates", "asshats",
+ "asshatts", "asshats",
+ "assimile", "assimilate",
+ "assistat", "assistants",
+ "assitant", "assistant",
+ "assmeble", "assemble",
+ "assmebly", "assembly",
+ "asssasin", "assassin",
+ "assualts", "assaults",
+ "asteorid", "asteroid",
+ "asteriks", "asterisk",
+ "asteriod", "asteroid",
+ "asterois", "asteroids",
+ "astersik", "asterisk",
+ "asthetic", "aesthetic",
+ "astronat", "astronaut",
+ "asutrian", "austrian",
+ "atheisim", "atheism",
+ "atheistc", "atheistic",
+ "atheltes", "athletes",
+ "atheltic", "athletic",
+ "athenean", "athenian",
+ "athesits", "atheists",
+ "athetlic", "athletic",
+ "athients", "athiest",
+ "atittude", "attitude",
+ "atlantia", "atlanta",
+ "atmoizer", "atomizer",
+ "atomzier", "atomizer",
+ "atribute", "attribute",
+ "atrifact", "artifact",
+ "attackes", "attackers",
+ "attemped", "attempted",
+ "attemted", "attempted",
+ "attemtps", "attempts",
+ "attidute", "attitude",
+ "attitide", "attitude",
+ "attribue", "attribute",
+ "aucitons", "auctions",
+ "audactiy", "audacity",
+ "audcaity", "audacity",
+ "audeince", "audience",
+ "audiobok", "audiobook",
+ "austeriy", "austerity",
+ "austiran", "austrian",
+ "austitic", "autistic",
+ "austrain", "austrian",
+ "australa", "australian",
+ "austrija", "austria",
+ "austrila", "austria",
+ "autisitc", "autistic",
+ "autoattk", "autoattack",
+ "autograh", "autograph",
+ "automato", "automation",
+ "automony", "autonomy",
+ "autority", "authority",
+ "autsitic", "autistic",
+ "auxilary", "auxiliary",
+ "avacodos", "avocados",
+ "avaiable", "available",
+ "availabe", "available",
+ "availble", "available",
+ "avaition", "aviation",
+ "avalable", "available",
+ "avalance", "avalanche",
+ "avataras", "avatars",
+ "avatards", "avatars",
+ "avatares", "avatars",
+ "averadge", "averaged",
+ "avergaed", "averaged",
+ "avergaes", "averages",
+ "aviaiton", "aviation",
+ "avilable", "available",
+ "avnegers", "avengers",
+ "avodacos", "avocados",
+ "awekened", "weakened",
+ "awesomey", "awesomely",
+ "awfullly", "awfully",
+ "awkwardy", "awkwardly",
+ "awnsered", "answered",
+ "babysite", "babysitter",
+ "baceause", "because",
+ "bacehlor", "bachelor",
+ "bachleor", "bachelor",
+ "bacholer", "bachelor",
+ "backeast", "backseat",
+ "backerds", "backers",
+ "backfied", "backfield",
+ "backpacs", "backpacks",
+ "balcanes", "balances",
+ "balconey", "balcony",
+ "balconny", "balcony",
+ "ballistc", "ballistic",
+ "balnaced", "balanced",
+ "banannas", "bananas",
+ "banditas", "bandits",
+ "bandwith", "bandwidth",
+ "bangkock", "bangkok",
+ "baptisim", "baptism",
+ "barabric", "barbaric",
+ "barbarin", "barbarian",
+ "barbaris", "barbarians",
+ "bardford", "bradford",
+ "bargaing", "bargaining",
+ "baristia", "barista",
+ "barrakcs", "barracks",
+ "barrells", "barrels",
+ "basicaly", "basically",
+ "basiclay", "basicly",
+ "basicley", "basicly",
+ "basicliy", "basicly",
+ "batistia", "batista",
+ "battalin", "battalion",
+ "bayonent", "bayonet",
+ "beachead", "beachhead",
+ "beacuoup", "beaucoup",
+ "beardude", "bearded",
+ "beastley", "beastly",
+ "beatiful", "beautiful",
+ "beccause", "because",
+ "becuasse", "becuase",
+ "befirend", "befriend",
+ "befreind", "befriend",
+ "begginer", "beginner",
+ "begginig", "begging",
+ "begginng", "begging",
+ "begining", "beginning",
+ "beginnig", "beginning",
+ "behaivor", "behavior",
+ "behavios", "behaviours",
+ "behavoir", "behavior",
+ "behavour", "behavior",
+ "behngazi", "benghazi",
+ "behtesda", "bethesda",
+ "beleived", "believed",
+ "beleiver", "believer",
+ "beleives", "believes",
+ "beliefes", "beliefs",
+ "benefica", "beneficial",
+ "bengahzi", "benghazi",
+ "bengalas", "bengals",
+ "bengalos", "bengals",
+ "bengazhi", "benghazi",
+ "benghzai", "benghazi",
+ "bengzhai", "benghazi",
+ "benhgazi", "benghazi",
+ "benidect", "benedict",
+ "benifits", "benefits",
+ "berekley", "berkeley",
+ "berserkr", "berserker",
+ "beseiged", "besieged",
+ "betehsda", "bethesda",
+ "beteshda", "bethesda",
+ "bethdesa", "bethesda",
+ "bethedsa", "bethesda",
+ "bethseda", "bethesda",
+ "beyoncye", "beyonce",
+ "bibilcal", "biblical",
+ "bicylces", "bicycles",
+ "bigfooot", "bigfoot",
+ "bigining", "beginning",
+ "bilbical", "biblical",
+ "billboad", "billboard",
+ "bilsters", "blisters",
+ "bilzzard", "blizzard",
+ "bilzzcon", "blizzcon",
+ "biologia", "biological",
+ "birhtday", "birthday",
+ "birsbane", "brisbane",
+ "birthdsy", "birthdays",
+ "biseuxal", "bisexual",
+ "bisexaul", "bisexual",
+ "bitcions", "bitcoins",
+ "bitocins", "bitcoins",
+ "blackade", "blacked",
+ "blackend", "blacked",
+ "blackjak", "blackjack",
+ "blacklit", "blacklist",
+ "blatanty", "blatantly",
+ "blessins", "blessings",
+ "blessure", "blessing",
+ "bloggare", "blogger",
+ "bloggeur", "blogger",
+ "bluebery", "blueberry",
+ "bluetooh", "bluetooth",
+ "blugaria", "bulgaria",
+ "boardway", "broadway",
+ "bollcoks", "bollocks",
+ "bomberos", "bombers",
+ "bookmars", "bookmarks",
+ "boradway", "broadway",
+ "boredoom", "boredom",
+ "bouldore", "boulder",
+ "bounites", "bounties",
+ "boutnies", "bounties",
+ "boutqiue", "boutique",
+ "bouyancy", "buoyancy",
+ "boyfried", "boyfriend",
+ "bradcast", "broadcast",
+ "bradfrod", "bradford",
+ "brakeout", "breakout",
+ "braodway", "broadway",
+ "braverly", "bravery",
+ "breathis", "breaths",
+ "breathos", "breaths",
+ "brekaout", "breakout",
+ "brendamn", "brendan",
+ "breweres", "brewers",
+ "brewerey", "brewery",
+ "brewerks", "brewers",
+ "brewerys", "brewers",
+ "brigaged", "brigade",
+ "brigated", "brigade",
+ "brigthen", "brighten",
+ "briliant", "brilliant",
+ "brillant", "brilliant",
+ "bristool", "bristol",
+ "brithday", "birthday",
+ "brittish", "british",
+ "briusers", "bruisers",
+ "broadbad", "broadband",
+ "broadcat", "broadcasts",
+ "broadley", "broadly",
+ "brocolli", "broccoli",
+ "brodaway", "broadway",
+ "broncoes", "broncos",
+ "broswing", "browsing",
+ "browines", "brownies",
+ "browisng", "browsing",
+ "brtually", "brutally",
+ "brugundy", "burgundy",
+ "bruisend", "bruised",
+ "brussles", "brussels",
+ "brusting", "bursting",
+ "bubblews", "bubbles",
+ "buddhits", "buddhist",
+ "buddhsim", "buddhism",
+ "buddishm", "buddhism",
+ "buddisht", "buddhist",
+ "buglaria", "bulgaria",
+ "buhddism", "buddhism",
+ "buhddist", "buddhist",
+ "buidlers", "builders",
+ "buidling", "building",
+ "buildins", "buildings",
+ "buisness", "business",
+ "bulagria", "bulgaria",
+ "bulgaira", "bulgaria",
+ "buliders", "builders",
+ "buliding", "building",
+ "bulletts", "bullets",
+ "burisers", "bruisers",
+ "burriots", "burritos",
+ "burritio", "burrito",
+ "burritto", "burrito",
+ "burrtios", "burritos",
+ "burssels", "brussels",
+ "burtally", "brutally",
+ "burtsing", "bursting",
+ "busrting", "bursting",
+ "butcherd", "butchered",
+ "butterey", "buttery",
+ "butterfy", "butterfly",
+ "butterry", "buttery",
+ "butthoel", "butthole",
+ "bycicles", "bicycles",
+ "cabbagge", "cabbage",
+ "cabients", "cabinets",
+ "cabinate", "cabinet",
+ "cabinent", "cabinet",
+ "cabniets", "cabinets",
+ "caclulus", "calculus",
+ "cafetera", "cafeteria",
+ "caffinee", "caffeine",
+ "cahsiers", "cashiers",
+ "cainster", "canister",
+ "calander", "calendar",
+ "calcular", "calculator",
+ "calgarry", "calgary",
+ "calibler", "calibre",
+ "caloires", "calories",
+ "calrkson", "clarkson",
+ "calroies", "calories",
+ "calssify", "classify",
+ "calulate", "calculate",
+ "calymore", "claymore",
+ "camapign", "campaign",
+ "cambodai", "cambodia",
+ "camboida", "cambodia",
+ "cambpell", "campbell",
+ "cambride", "cambridge",
+ "cambrige", "cambridge",
+ "camoufle", "camouflage",
+ "campagin", "campaign",
+ "campaing", "campaign",
+ "campains", "campaigns",
+ "camperas", "campers",
+ "camperos", "campers",
+ "canadias", "canadians",
+ "cananbis", "cannabis",
+ "cancelas", "cancels",
+ "canceles", "cancels",
+ "cancells", "cancels",
+ "canceres", "cancers",
+ "cancerns", "cancers",
+ "cancerus", "cancers",
+ "candiate", "candidate",
+ "candiens", "candies",
+ "canistre", "canister",
+ "cannabil", "cannibal",
+ "cannbial", "cannibal",
+ "cannibas", "cannabis",
+ "cansiter", "canister",
+ "capitans", "captains",
+ "capitola", "capital",
+ "capitulo", "capitol",
+ "capmbell", "campbell",
+ "capsuels", "capsules",
+ "capsulse", "capsules",
+ "capsumel", "capsule",
+ "capteurs", "captures",
+ "captials", "capitals",
+ "captians", "captains",
+ "capusles", "capsules",
+ "caputres", "captures",
+ "cardboad", "cardboard",
+ "cardianl", "cardinal",
+ "cardnial", "cardinal",
+ "careflly", "carefully",
+ "carefull", "careful",
+ "carefuly", "carefully",
+ "caricate", "caricature",
+ "caridgan", "cardigan",
+ "caridnal", "cardinal",
+ "carinval", "carnival",
+ "carloina", "carolina",
+ "carnagie", "carnegie",
+ "carnigie", "carnegie",
+ "carnvial", "carnival",
+ "carrotts", "carrots",
+ "carrotus", "carrots",
+ "cartells", "cartels",
+ "cartmaan", "cartman",
+ "cartride", "cartridge",
+ "cartrige", "cartridge",
+ "carvinal", "carnival",
+ "casaulty", "casualty",
+ "casheirs", "cashiers",
+ "cashieer", "cashier",
+ "cashires", "cashiers",
+ "castleos", "castles",
+ "castlers", "castles",
+ "casulaty", "casualty",
+ "cataclym", "cataclysm",
+ "catagory", "category",
+ "cataline", "catiline",
+ "cataloge", "catalogue",
+ "catalsyt", "catalyst",
+ "cataylst", "catalyst",
+ "cathloic", "catholic",
+ "catlayst", "catalyst",
+ "caucasin", "caucasian",
+ "causalty", "casualty",
+ "cellural", "cellular",
+ "celullar", "cellular",
+ "celverly", "cleverly",
+ "cemetary", "cemetery",
+ "centeres", "centers",
+ "centerns", "centers",
+ "centrase", "centres",
+ "centrers", "centres",
+ "ceratine", "creatine",
+ "cerberal", "cerebral",
+ "cerbreus", "cerberus",
+ "cerbures", "cerberus",
+ "ceremone", "ceremonies",
+ "cerimony", "ceremony",
+ "ceromony", "ceremony",
+ "certainy", "certainty",
+ "challege", "challenge",
+ "chambear", "chamber",
+ "chambres", "chambers",
+ "champage", "champagne",
+ "chanisaw", "chainsaw",
+ "chanlder", "chandler",
+ "charcaol", "charcoal",
+ "chargehr", "charger",
+ "chargeur", "charger",
+ "chariman", "chairman",
+ "charimsa", "charisma",
+ "charmisa", "charisma",
+ "charocal", "charcoal",
+ "charsima", "charisma",
+ "chasiers", "cashiers",
+ "chassids", "chassis",
+ "chassies", "chassis",
+ "chatolic", "catholic",
+ "chcukles", "chuckles",
+ "checkare", "checker",
+ "checkear", "checker",
+ "cheesees", "cheeses",
+ "cheeseus", "cheeses",
+ "cheetoos", "cheetos",
+ "chemcial", "chemical",
+ "chemisty", "chemistry",
+ "chernobl", "chernobyl",
+ "chiansaw", "chainsaw",
+ "chidlish", "childish",
+ "chihuaha", "chihuahua",
+ "childres", "childrens",
+ "chillade", "chilled",
+ "chillead", "chilled",
+ "chillend", "chilled",
+ "chilvary", "chivalry",
+ "chinesse", "chinese",
+ "chivarly", "chivalry",
+ "chivlary", "chivalry",
+ "chlidish", "childish",
+ "chlroine", "chlorine",
+ "chmabers", "chambers",
+ "chocolae", "chocolates",
+ "chocolet", "chocolates",
+ "choesive", "cohesive",
+ "choicers", "choices",
+ "cholrine", "chlorine",
+ "chorline", "chlorine",
+ "chracter", "character",
+ "christin", "christian",
+ "chroline", "chlorine",
+ "chromose", "chromosome",
+ "chronice", "chronicles",
+ "chruches", "churches",
+ "chuckels", "chuckles",
+ "cielings", "ceilings",
+ "cigarete", "cigarettes",
+ "cigarets", "cigarettes",
+ "cilmbers", "climbers",
+ "cilnatro", "cilantro",
+ "ciltoris", "clitoris",
+ "circiuts", "circuits",
+ "circkets", "crickets",
+ "circlebs", "circles",
+ "circluar", "circular",
+ "ciricuit", "circuit",
+ "cirlcing", "circling",
+ "ciruclar", "circular",
+ "clannand", "clannad",
+ "clarifiy", "clarify",
+ "clarskon", "clarkson",
+ "clasical", "classical",
+ "classrom", "classroom",
+ "classsic", "classics",
+ "clausens", "clauses",
+ "cleanies", "cleanse",
+ "cleasner", "cleanser",
+ "clenaser", "cleanser",
+ "clevelry", "cleverly",
+ "clhorine", "chlorine",
+ "cliamtes", "climates",
+ "cliantro", "cilantro",
+ "clickare", "clicker",
+ "clickbat", "clickbait",
+ "clickear", "clicker",
+ "clientes", "clients",
+ "clincial", "clinical",
+ "clinicas", "clinics",
+ "clinicos", "clinics",
+ "clipboad", "clipboard",
+ "clitiros", "clitoris",
+ "closeing", "closing",
+ "closeley", "closely",
+ "clyamore", "claymore",
+ "clyinder", "cylinder",
+ "cmoputer", "computer",
+ "coindice", "coincide",
+ "collapes", "collapse",
+ "collares", "collars",
+ "collaris", "collars",
+ "collaros", "collars",
+ "collaspe", "collapse",
+ "colleage", "colleagues",
+ "collecte", "collective",
+ "collegue", "colleague",
+ "collisin", "collisions",
+ "collosal", "colossal",
+ "collpase", "collapse",
+ "coloardo", "colorado",
+ "colordao", "colorado",
+ "colubmia", "columbia",
+ "columnas", "columns",
+ "comadres", "comrades",
+ "comander", "commander",
+ "comandos", "commandos",
+ "comapany", "company",
+ "comapres", "compares",
+ "combiens", "combines",
+ "combinig", "combining",
+ "comediac", "comedic",
+ "comedias", "comedians",
+ "comestic", "cosmetic",
+ "comision", "commission",
+ "comiting", "committing",
+ "comitted", "committed",
+ "comittee", "committee",
+ "commandd", "commanded",
+ "commecen", "commence",
+ "commedic", "comedic",
+ "commense", "commenters",
+ "commenty", "commentary",
+ "commiest", "commits",
+ "commited", "committed",
+ "commitee", "committee",
+ "commites", "commits",
+ "committe", "committee",
+ "committs", "commits",
+ "commitus", "commits",
+ "commmand", "command",
+ "communit", "communist",
+ "companis", "companions",
+ "comparse", "compares",
+ "comparte", "compare",
+ "compasso", "compassion",
+ "compelte", "complete",
+ "compense", "compensate",
+ "complais", "complains",
+ "complane", "complacent",
+ "complate", "complacent",
+ "compleet", "complete",
+ "completi", "complexity",
+ "complets", "completes",
+ "complety", "completely",
+ "complexs", "complexes",
+ "complext", "complexity",
+ "complexy", "complexity",
+ "complict", "complicit",
+ "complier", "compiler",
+ "compones", "compose",
+ "componet", "components",
+ "componts", "compost",
+ "composet", "compost",
+ "composit", "compost",
+ "composte", "compose",
+ "comprese", "compressed",
+ "compreso", "compressor",
+ "compsers", "compress",
+ "comptown", "compton",
+ "compunet", "compute",
+ "computre", "compute",
+ "comradre", "comrade",
+ "comsetic", "cosmetic",
+ "conatins", "contains",
+ "conceald", "concealed",
+ "conceide", "conceived",
+ "conceled", "concede",
+ "concened", "concede",
+ "concepta", "conceptual",
+ "concered", "concede",
+ "concernt", "concert",
+ "concerte", "concrete",
+ "concesso", "concession",
+ "conceted", "concede",
+ "conceved", "concede",
+ "concibes", "concise",
+ "concider", "consider",
+ "concides", "concise",
+ "concious", "conscious",
+ "conclued", "conclude",
+ "concluse", "conclusive",
+ "concluso", "conclusion",
+ "concreet", "concrete",
+ "concrets", "concerts",
+ "condemnd", "condemned",
+ "conditon", "condition",
+ "condomes", "condoms",
+ "condomns", "condoms",
+ "conduict", "conduit",
+ "conected", "connected",
+ "conencts", "connects",
+ "confeses", "confess",
+ "confesos", "confess",
+ "confesso", "confession",
+ "configue", "configure",
+ "confilct", "conflict",
+ "confirmd", "confirmed",
+ "conflcit", "conflict",
+ "conflics", "conflicts",
+ "confrims", "confirms",
+ "conicide", "coincide",
+ "conlcude", "conclude",
+ "conqueor", "conquer",
+ "conquerd", "conquered",
+ "conqured", "conquered",
+ "conscent", "consent",
+ "consious", "conscious",
+ "constans", "constants",
+ "constast", "constants",
+ "constatn", "constant",
+ "constrat", "constraint",
+ "construt", "constructs",
+ "containd", "contained",
+ "containg", "containing",
+ "contaire", "containers",
+ "contanti", "contacting",
+ "contense", "contenders",
+ "contenst", "contents",
+ "contexta", "contextual",
+ "contextl", "contextual",
+ "contians", "contains",
+ "contined", "continued",
+ "contines", "continents",
+ "continum", "continuum",
+ "continus", "continues",
+ "continut", "continuity",
+ "continuu", "continuous",
+ "contracr", "contractor",
+ "contracs", "contracts",
+ "controll", "control",
+ "convenit", "convenient",
+ "convento", "convention",
+ "converst", "converts",
+ "convertr", "converter",
+ "conviced", "convinced",
+ "convicto", "conviction",
+ "convingi", "convincing",
+ "convinse", "convinces",
+ "cooldows", "cooldowns",
+ "coordine", "coordinate",
+ "coralina", "carolina",
+ "corollla", "corolla",
+ "corolloa", "corolla",
+ "corosion", "corrosion",
+ "corpsers", "corpses",
+ "corrdior", "corridor",
+ "correcty", "correctly",
+ "correnti", "correcting",
+ "corretly", "correctly",
+ "corrupto", "corruption",
+ "cosemtic", "cosmetic",
+ "cosutmes", "costumes",
+ "couldnot", "couldnt",
+ "coulored", "coloured",
+ "counries", "countries",
+ "counseil", "counsel",
+ "counsole", "counsel",
+ "counterd", "countered",
+ "countert", "counteract",
+ "countres", "counters",
+ "courtrom", "courtroom",
+ "courtsey", "courtesy",
+ "cousines", "cousins",
+ "cousings", "cousins",
+ "coutners", "counters",
+ "covanent", "covenant",
+ "coverted", "converted",
+ "coyotees", "coyotes",
+ "cpatains", "captains",
+ "cranbery", "cranberry",
+ "crayones", "crayons",
+ "creaeted", "created",
+ "createin", "creatine",
+ "createur", "creature",
+ "creatien", "creatine",
+ "creepgin", "creeping",
+ "cricling", "circling",
+ "cringely", "cringey",
+ "cringery", "cringey",
+ "criticas", "critics",
+ "critices", "critics",
+ "criticie", "criticise",
+ "criticim", "criticisms",
+ "criticis", "critics",
+ "criticms", "critics",
+ "criticos", "critics",
+ "criticts", "critics",
+ "criticus", "critics",
+ "critiera", "criteria",
+ "critized", "criticized",
+ "croatioa", "croatia",
+ "crossfie", "crossfire",
+ "crosshar", "crosshair",
+ "crosspot", "crosspost",
+ "crowbahr", "crowbar",
+ "cruasder", "crusader",
+ "cruciaal", "crucial",
+ "crucibel", "crucible",
+ "cruicble", "crucible",
+ "crusdaer", "crusader",
+ "crusiers", "cruisers",
+ "crusiing", "cruising",
+ "cruthces", "crutches",
+ "cthulhlu", "cthulhu",
+ "cthulluh", "cthulhu",
+ "cubpoard", "cupboard",
+ "cuddleys", "cuddles",
+ "culprint", "culprit",
+ "cultrual", "cultural",
+ "culutral", "cultural",
+ "cupbaord", "cupboard",
+ "cupborad", "cupboard",
+ "curcible", "crucible",
+ "curisers", "cruisers",
+ "curising", "cruising",
+ "currecny", "currency",
+ "currence", "currencies",
+ "currenly", "currently",
+ "currenty", "currently",
+ "cursader", "crusader",
+ "custcene", "cutscene",
+ "cutsceen", "cutscene",
+ "cutscens", "cutscenes",
+ "cutsence", "cutscene",
+ "cylcists", "cyclists",
+ "cylidner", "cylinder",
+ "cylindre", "cylinder",
+ "cynisicm", "cynicism",
+ "cyrstals", "crystals",
+ "dacquiri", "daiquiri",
+ "daimonds", "diamonds",
+ "dangeros", "dangers",
+ "dangerus", "dangers",
+ "darkenss", "darkness",
+ "darnkess", "darkness",
+ "dashboad", "dashboard",
+ "daugther", "daughter",
+ "deadlfit", "deadlift",
+ "deadlifs", "deadlifts",
+ "deafeted", "defeated",
+ "deafults", "defaults",
+ "dealying", "delaying",
+ "deamenor", "demeanor",
+ "deathcat", "deathmatch",
+ "debuffes", "debuffs",
+ "debufffs", "debuffs",
+ "decalred", "declared",
+ "decalres", "declares",
+ "decembre", "december",
+ "decidely", "decidedly",
+ "decieved", "deceived",
+ "decifits", "deficits",
+ "decipted", "depicted",
+ "declears", "declares",
+ "declinig", "declining",
+ "decmeber", "december",
+ "decribed", "described",
+ "decribes", "describes",
+ "dedicato", "dedication",
+ "deductie", "deductible",
+ "defautls", "defaults",
+ "defectos", "defects",
+ "defectus", "defects",
+ "defendas", "defends",
+ "defendes", "defenders",
+ "defendis", "defends",
+ "defendre", "defender",
+ "defendrs", "defends",
+ "defensea", "defenseman",
+ "defensen", "defenseman",
+ "defensie", "defensive",
+ "defetead", "defeated",
+ "deffined", "defined",
+ "deficiet", "deficient",
+ "definate", "definite",
+ "definaty", "definately",
+ "definety", "definetly",
+ "definito", "definition",
+ "definitv", "definitive",
+ "deflatin", "deflation",
+ "deflecto", "deflection",
+ "defualts", "defaults",
+ "degarded", "degraded",
+ "degenere", "degenerate",
+ "degraged", "degrade",
+ "degrated", "degrade",
+ "deisgned", "designed",
+ "deisgner", "designer",
+ "dekstops", "desktops",
+ "delcared", "declared",
+ "delcares", "declares",
+ "delepted", "depleted",
+ "delivere", "deliveries",
+ "delpeted", "depleted",
+ "delpoyed", "deployed",
+ "delyaing", "delaying",
+ "demandas", "demands",
+ "demandes", "demands",
+ "demenaor", "demeanor",
+ "democray", "democracy",
+ "demolito", "demolition",
+ "denseley", "densely",
+ "densitiy", "density",
+ "deomcrat", "democrat",
+ "deovtion", "devotion",
+ "departer", "departure",
+ "departue", "departure",
+ "depcited", "depicted",
+ "depelted", "depleted",
+ "dependat", "dependant",
+ "depictes", "depicts",
+ "depictin", "depictions",
+ "depolyed", "deployed",
+ "depositd", "deposited",
+ "depostis", "deposits",
+ "depresse", "depressive",
+ "depresso", "depression",
+ "derivate", "derivative",
+ "descened", "descend",
+ "descibed", "described",
+ "descirbe", "describe",
+ "descrise", "describes",
+ "desgined", "designed",
+ "desginer", "designer",
+ "desicive", "decisive",
+ "designad", "designated",
+ "designes", "designs",
+ "designet", "designated",
+ "desinged", "designed",
+ "desinger", "designer",
+ "desitned", "destined",
+ "desktiop", "desktop",
+ "desorder", "disorder",
+ "despides", "despised",
+ "despiste", "despise",
+ "destiney", "destiny",
+ "destinty", "destiny",
+ "destkops", "desktops",
+ "destorys", "destroys",
+ "destrose", "destroyers",
+ "destroyd", "destroyed",
+ "destroyr", "destroyers",
+ "detalied", "detailed",
+ "detectas", "detects",
+ "detectes", "detects",
+ "detectie", "detectives",
+ "determen", "determines",
+ "devasted", "devastated",
+ "develope", "develop",
+ "devialet", "deviate",
+ "deviatie", "deviate",
+ "devilers", "delivers",
+ "devloved", "devolved",
+ "devovled", "devolved",
+ "diaganol", "diagonal",
+ "diagnoal", "diagonal",
+ "diagnoes", "diagnose",
+ "diagnosi", "diagnostic",
+ "diagonse", "diagnose",
+ "diahrrea", "diarrhea",
+ "dialetcs", "dialects",
+ "dialgoue", "dialogue",
+ "dialouge", "dialogue",
+ "diarreah", "diarrhea",
+ "diarreha", "diarrhea",
+ "dichtomy", "dichotomy",
+ "dickisch", "dickish",
+ "dicovers", "discovers",
+ "dicovery", "discovery",
+ "dicussed", "discussed",
+ "diferent", "different",
+ "differnt", "different",
+ "difficut", "difficulty",
+ "diffrent", "different",
+ "diganose", "diagnose",
+ "dignitiy", "dignity",
+ "dimaonds", "diamonds",
+ "dinasour", "dinosaur",
+ "dinosaus", "dinosaurs",
+ "dinosuar", "dinosaur",
+ "dinsoaur", "dinosaur",
+ "dionsaur", "dinosaur",
+ "diphtong", "diphthong",
+ "diplomma", "diploma",
+ "dipthong", "diphthong",
+ "direclty", "directly",
+ "directin", "directions",
+ "directix", "directx",
+ "directos", "directors",
+ "directoy", "directory",
+ "directrx", "directx",
+ "dirfting", "drifting",
+ "disabeld", "disabled",
+ "disabels", "disables",
+ "disagred", "disagreed",
+ "disagres", "disagrees",
+ "disbaled", "disabled",
+ "disbales", "disables",
+ "disbelif", "disbelief",
+ "dischard", "discharged",
+ "dischare", "discharged",
+ "discound", "discounted",
+ "discoure", "discourse",
+ "discoved", "discovered",
+ "discreto", "discretion",
+ "discribe", "describe",
+ "disentry", "dysentery",
+ "disgiuse", "disguise",
+ "dishoner", "dishonored",
+ "dishonet", "dishonesty",
+ "dislikse", "dislikes",
+ "dismante", "dismantle",
+ "dismisse", "dismissive",
+ "disolved", "dissolved",
+ "dispacth", "dispatch",
+ "dispalys", "displays",
+ "dispence", "dispense",
+ "dispersa", "dispensary",
+ "displayd", "displayed",
+ "disposle", "dispose",
+ "disposte", "dispose",
+ "dispoves", "dispose",
+ "disptach", "dispatch",
+ "disricts", "districts",
+ "dissovle", "dissolve",
+ "distates", "distaste",
+ "distatse", "distaste",
+ "disticnt", "distinct",
+ "distorto", "distortion",
+ "distrcit", "district",
+ "districs", "districts",
+ "disturbd", "disturbed",
+ "disupted", "disputed",
+ "disuptes", "disputes",
+ "diversed", "diverse",
+ "diversiy", "diversify",
+ "dividens", "dividends",
+ "divintiy", "divinity",
+ "divisons", "divisions",
+ "doapmine", "dopamine",
+ "docrines", "doctrines",
+ "docrtine", "doctrine",
+ "doctines", "doctrines",
+ "doctirne", "doctrine",
+ "doctrins", "doctrines",
+ "dogamtic", "dogmatic",
+ "dolhpins", "dolphins",
+ "domapine", "dopamine",
+ "domecrat", "democrat",
+ "domiante", "dominate",
+ "dominato", "domination",
+ "dominats", "dominates",
+ "dominent", "dominant",
+ "dominoin", "dominion",
+ "donwload", "download",
+ "donwvote", "downvote",
+ "doomdsay", "doomsday",
+ "doosmday", "doomsday",
+ "doplhins", "dolphins",
+ "dopmaine", "dopamine",
+ "dormtund", "dortmund",
+ "dortumnd", "dortmund",
+ "dotrmund", "dortmund",
+ "douchely", "douchey",
+ "doucheus", "douches",
+ "dowloads", "downloads",
+ "downlaod", "download",
+ "downloas", "downloads",
+ "downstar", "downstairs",
+ "downvore", "downvoters",
+ "downvotr", "downvoters",
+ "downvots", "downvotes",
+ "draculea", "dracula",
+ "draculla", "dracula",
+ "dragones", "dragons",
+ "dragonus", "dragons",
+ "drfiting", "drifting",
+ "driectly", "directly",
+ "drifitng", "drifting",
+ "driveris", "drivers",
+ "drotmund", "dortmund",
+ "duaghter", "daughter",
+ "dumbbels", "dumbbells",
+ "dumptser", "dumpster",
+ "dumspter", "dumpster",
+ "dunegons", "dungeons",
+ "dungeoun", "dungeon",
+ "dungoens", "dungeons",
+ "dupicate", "duplicate",
+ "duplicas", "duplicates",
+ "dwarvens", "dwarves",
+ "dyanmics", "dynamics",
+ "dyanmite", "dynamite",
+ "dymanics", "dynamics",
+ "dymanite", "dynamite",
+ "dynastry", "dynasty",
+ "dysentry", "dysentery",
+ "dysphora", "dysphoria",
+ "earilest", "earliest",
+ "eatswood", "eastwood",
+ "eceonomy", "economy",
+ "ecidious", "deciduous",
+ "ecologia", "ecological",
+ "ecomonic", "economic",
+ "ecstacys", "ecstasy",
+ "ecstascy", "ecstasy",
+ "ecstasty", "ecstasy",
+ "ectastic", "ecstatic",
+ "editoras", "editors",
+ "editores", "editors",
+ "efficent", "efficient",
+ "egpytian", "egyptian",
+ "egyptain", "egyptian",
+ "egytpian", "egyptian",
+ "ehtereal", "ethereal",
+ "ehternet", "ethernet",
+ "eigtheen", "eighteen",
+ "electhor", "electro",
+ "electorn", "electron",
+ "elementy", "elementary",
+ "elephans", "elephants",
+ "elevatin", "elevation",
+ "elicided", "elicited",
+ "eligable", "eligible",
+ "elimiate", "eliminate",
+ "eliminas", "eliminates",
+ "elitisim", "elitism",
+ "elitistm", "elitism",
+ "ellected", "elected",
+ "embarass", "embarrass",
+ "embargos", "embargoes",
+ "embarras", "embarrass",
+ "embassay", "embassy",
+ "embassey", "embassy",
+ "embasssy", "embassy",
+ "emergend", "emerged",
+ "emergerd", "emerged",
+ "eminated", "emanated",
+ "emminent", "eminent",
+ "emmisary", "emissary",
+ "emmision", "emission",
+ "emmiting", "emitting",
+ "emmitted", "emitted",
+ "empathie", "empathize",
+ "empirial", "empirical",
+ "emulatin", "emulation",
+ "enahnces", "enhances",
+ "enchanct", "enchant",
+ "encolsed", "enclosed",
+ "endanged", "endangered",
+ "endevors", "endeavors",
+ "endevour", "endeavour",
+ "endlessy", "endlessly",
+ "endorces", "endorse",
+ "engeneer", "engineer",
+ "engeries", "energies",
+ "engineed", "engineered",
+ "engrames", "engrams",
+ "engramms", "engrams",
+ "enigneer", "engineer",
+ "enitrely", "entirely",
+ "enlcosed", "enclosed",
+ "enlsaved", "enslaved",
+ "ensalved", "enslaved",
+ "enterity", "entirety",
+ "entierly", "entirely",
+ "entierty", "entirety",
+ "entilted", "entitled",
+ "entirley", "entirely",
+ "entiteld", "entitled",
+ "entitity", "entity",
+ "entropay", "entropy",
+ "entrophy", "entropy",
+ "ephipany", "epiphany",
+ "epihpany", "epiphany",
+ "epilespy", "epilepsy",
+ "epilgoue", "epilogue",
+ "episdoes", "episodes",
+ "epitomie", "epitome",
+ "epliepsy", "epilepsy",
+ "epliogue", "epilogue",
+ "epsiodes", "episodes",
+ "epsresso", "espresso",
+ "eqaulity", "equality",
+ "eqaution", "equation",
+ "equailty", "equality",
+ "eraticly", "erratically",
+ "erroneos", "erroneous",
+ "errupted", "erupted",
+ "escalato", "escalation",
+ "esctatic", "ecstatic",
+ "esential", "essential",
+ "esitmate", "estimate",
+ "esperate", "seperate",
+ "esportes", "esports",
+ "estiamte", "estimate",
+ "estoeric", "esoteric",
+ "estonija", "estonia",
+ "estoniya", "estonia",
+ "etherael", "ethereal",
+ "etherent", "ethernet",
+ "ethicaly", "ethically",
+ "etiquete", "etiquette",
+ "etrailer", "retailer",
+ "eugencis", "eugenics",
+ "eugneics", "eugenics",
+ "euhporia", "euphoria",
+ "euhporic", "euphoric",
+ "euorpean", "european",
+ "euphoira", "euphoria",
+ "euphroia", "euphoria",
+ "euphroic", "euphoric",
+ "europian", "european",
+ "eurpoean", "european",
+ "evangers", "avengers",
+ "everyons", "everyones",
+ "evidencd", "evidenced",
+ "evidende", "evidenced",
+ "evloving", "evolving",
+ "evolveds", "evolves",
+ "evolveos", "evolves",
+ "evovling", "evolving",
+ "excecute", "execute",
+ "excedded", "exceeded",
+ "excelent", "excellent",
+ "exceptin", "exceptions",
+ "excerise", "exercise",
+ "excisted", "existed",
+ "exclusie", "exclusives",
+ "exculded", "excluded",
+ "exculdes", "excludes",
+ "exection", "execution",
+ "exectued", "executed",
+ "executie", "executive",
+ "executin", "execution",
+ "exellent", "excellent",
+ "exerbate", "exacerbate",
+ "exercide", "exercised",
+ "exercies", "exercise",
+ "exersice", "exercise",
+ "exersize", "exercise",
+ "exhalted", "exalted",
+ "exhaustn", "exhaustion",
+ "exhausto", "exhaustion",
+ "exicting", "exciting",
+ "exisitng", "existing",
+ "existane", "existance",
+ "existant", "existent",
+ "existend", "existed",
+ "exlcuded", "excluded",
+ "exlcudes", "excludes",
+ "exlporer", "explorer",
+ "exoticas", "exotics",
+ "exoticos", "exotics",
+ "expalins", "explains",
+ "expandas", "expands",
+ "expandes", "expands",
+ "expansie", "expansive",
+ "expectes", "expects",
+ "expectus", "expects",
+ "expedito", "expedition",
+ "expences", "expense",
+ "expensie", "expense",
+ "expensve", "expense",
+ "expertas", "experts",
+ "expertis", "experts",
+ "expertos", "experts",
+ "expireds", "expires",
+ "explaind", "explained",
+ "explaing", "explaining",
+ "expliots", "exploits",
+ "explodie", "explode",
+ "exploint", "exploit",
+ "explosie", "explosive",
+ "explosin", "explosions",
+ "exploted", "explode",
+ "expoldes", "explodes",
+ "expolits", "exploits",
+ "exportas", "exports",
+ "exportes", "exports",
+ "exportfs", "exports",
+ "exposees", "exposes",
+ "exposito", "exposition",
+ "expresse", "expressive",
+ "expresss", "expresses",
+ "expressy", "expressly",
+ "exressed", "expressed",
+ "exsitent", "existent",
+ "exsiting", "existing",
+ "extactly", "exactly",
+ "extemely", "extremely",
+ "extendes", "extends",
+ "extendos", "extends",
+ "extenion", "extension",
+ "extensie", "extensive",
+ "extensis", "extensions",
+ "extortin", "extortion",
+ "extracto", "extraction",
+ "extreems", "extremes",
+ "extremly", "extremely",
+ "eygptian", "egyptian",
+ "faboulus", "fabulous",
+ "fabricas", "fabrics",
+ "fabrices", "fabrics",
+ "fabricus", "fabrics",
+ "faceplam", "facepalm",
+ "facilisi", "facilities",
+ "faciltiy", "facility",
+ "facsists", "fascists",
+ "factores", "factors",
+ "factorys", "factors",
+ "factualy", "factually",
+ "faggotts", "faggots",
+ "faggotus", "faggots",
+ "falcones", "falcons",
+ "falgship", "flagship",
+ "faliures", "failures",
+ "falseley", "falsely",
+ "falshing", "flashing",
+ "falvored", "flavored",
+ "falvours", "flavours",
+ "familair", "familiar",
+ "famoulsy", "famously",
+ "fanatism", "fanaticism",
+ "fanatsic", "fanatics",
+ "fanserve", "fanservice",
+ "fantasty", "fantasy",
+ "farcking", "fracking",
+ "fascisim", "fascism",
+ "fashiond", "fashioned",
+ "fasicsts", "fascists",
+ "fatigure", "fatigue",
+ "favorits", "favorites",
+ "favourie", "favourites",
+ "feasable", "feasible",
+ "feasbile", "feasible",
+ "febraury", "february",
+ "februray", "february",
+ "feburary", "february",
+ "fedility", "fidelity",
+ "fedorahs", "fedoras",
+ "fedorans", "fedoras",
+ "feilding", "fielding",
+ "feisable", "feasible",
+ "feitshes", "fetishes",
+ "feltcher", "fletcher",
+ "felxible", "flexible",
+ "feminint", "femininity",
+ "feminsim", "feminism",
+ "feromone", "pheromone",
+ "fesiable", "feasible",
+ "festivas", "festivals",
+ "festivle", "festive",
+ "fictious", "fictitious",
+ "fideling", "fielding",
+ "fideltiy", "fidelity",
+ "fiedling", "fielding",
+ "fiedlity", "fidelity",
+ "fighitng", "fighting",
+ "figthing", "fighting",
+ "fileding", "fielding",
+ "fimilies", "families",
+ "finacial", "financial",
+ "fineshes", "finesse",
+ "fingersi", "fingertips",
+ "finnisch", "finnish",
+ "finsihes", "finishes",
+ "firebals", "fireballs",
+ "firendly", "friendly",
+ "firmwear", "firmware",
+ "firwmare", "firmware",
+ "flaghsip", "flagship",
+ "flamable", "flammable",
+ "flasghip", "flagship",
+ "flatterd", "flattered",
+ "flatteur", "flatter",
+ "flattire", "flatter",
+ "flavores", "flavors",
+ "flechter", "fletcher",
+ "flecther", "fletcher",
+ "flemmish", "flemish",
+ "flethcer", "fletcher",
+ "flexbile", "flexible",
+ "flexibel", "flexible",
+ "flippade", "flipped",
+ "flitered", "filtered",
+ "florecen", "florence",
+ "floridia", "florida",
+ "floruide", "fluoride",
+ "floruish", "flourish",
+ "flourine", "fluorine",
+ "floursih", "flourish",
+ "fluorish", "flourish",
+ "fluroide", "fluoride",
+ "folowing", "following",
+ "fontrier", "fontier",
+ "forasken", "forsaken",
+ "forbiden", "forbidden",
+ "foreamrs", "forearms",
+ "foreksin", "foreskin",
+ "forenics", "forensic",
+ "forenisc", "forensic",
+ "foresnic", "forensic",
+ "foreward", "foreword",
+ "foricbly", "forcibly",
+ "forigven", "forgiven",
+ "formatin", "formation",
+ "formelly", "formerly",
+ "formuals", "formulas",
+ "fornesic", "forensic",
+ "forresst", "forrest",
+ "forsekan", "forsaken",
+ "forsekin", "foreskin",
+ "forsenic", "forensic",
+ "forskaen", "forsaken",
+ "forsting", "frosting",
+ "fortitue", "fortitude",
+ "fortunae", "fortune",
+ "fortunte", "fortune",
+ "forumlas", "formulas",
+ "forunner", "forerunner",
+ "fossiles", "fossils",
+ "fossilis", "fossils",
+ "foundary", "foundry",
+ "fountian", "fountain",
+ "fourties", "forties",
+ "fowrards", "forwards",
+ "frackign", "fracking",
+ "framgent", "fragment",
+ "franches", "franchise",
+ "franchie", "franchises",
+ "franciso", "francisco",
+ "frankiln", "franklin",
+ "franlkin", "franklin",
+ "freckels", "freckles",
+ "freindly", "friendly",
+ "frequeny", "frequency",
+ "friendle", "friendlies",
+ "friendsi", "friendlies",
+ "frimware", "firmware",
+ "frogiven", "forgiven",
+ "frointer", "frontier",
+ "fromerly", "formerly",
+ "froniter", "frontier",
+ "fronteir", "frontier",
+ "frosaken", "forsaken",
+ "frutcose", "fructose",
+ "fucntion", "function",
+ "fufilled", "fulfilled",
+ "fulfiled", "fulfilled",
+ "fullfill", "fulfill",
+ "funciton", "function",
+ "fundirse", "fundies",
+ "funniliy", "funnily",
+ "funnilly", "funnily",
+ "furctose", "fructose",
+ "furition", "fruition",
+ "furuther", "further",
+ "futurers", "futures",
+ "futureus", "futures",
+ "gamemdoe", "gamemode",
+ "gamepaly", "gameplay",
+ "gamergat", "gamertag",
+ "gammeode", "gamemode",
+ "ganerate", "generate",
+ "garantee", "guarantee",
+ "gardient", "gradient",
+ "garfeild", "garfield",
+ "garfiled", "garfield",
+ "garflied", "garfield",
+ "garnison", "garrison",
+ "garrions", "garrison",
+ "garriosn", "garrison",
+ "garrsion", "garrison",
+ "gatherig", "gatherings",
+ "gauarana", "guaraná",
+ "gauntelt", "gauntlet",
+ "gauntles", "gauntlets",
+ "gaurdian", "guardian",
+ "gaurding", "guarding",
+ "gautnlet", "gauntlet",
+ "gemoetry", "geometry",
+ "generaly", "generally",
+ "generase", "generates",
+ "generats", "generates",
+ "genialia", "genitalia",
+ "genisues", "geniuses",
+ "genitala", "genitalia",
+ "genrates", "generates",
+ "gentials", "genitals",
+ "gentlemn", "gentlemen",
+ "genuises", "geniuses",
+ "geograpy", "geography",
+ "geomerty", "geometry",
+ "geomtery", "geometry",
+ "germanos", "germans",
+ "germanus", "germans",
+ "gernades", "grenades",
+ "giagbyte", "gigabyte",
+ "gigabtye", "gigabyte",
+ "gigaybte", "gigabyte",
+ "gigbayte", "gigabyte",
+ "gignatic", "gigantic",
+ "giltched", "glitched",
+ "giltches", "glitches",
+ "girafffe", "giraffe",
+ "girefing", "griefing",
+ "girlling", "grilling",
+ "gladiatr", "gladiator",
+ "glichted", "glitched",
+ "glichtes", "glitches",
+ "glicthed", "glitched",
+ "glicthes", "glitches",
+ "glitchey", "glitchy",
+ "glitchly", "glitchy",
+ "glitchty", "glitchy",
+ "glithced", "glitched",
+ "glithces", "glitches",
+ "gloablly", "globally",
+ "glodberg", "goldberg",
+ "glodfish", "goldfish",
+ "gloriuos", "glorious",
+ "gltiched", "glitched",
+ "gltiches", "glitches",
+ "gmaertag", "gamertag",
+ "goblings", "goblins",
+ "goddammn", "goddamn",
+ "goddammt", "goddammit",
+ "godesses", "goddesses",
+ "godlberg", "goldberg",
+ "godlfish", "goldfish",
+ "godounov", "godunov",
+ "godpseed", "godspeed",
+ "godspede", "godspeed",
+ "goldifsh", "goldfish",
+ "gonewidl", "gonewild",
+ "goodlcuk", "goodluck",
+ "goregous", "gorgeous",
+ "gorgoeus", "gorgeous",
+ "gorillia", "gorilla",
+ "gorillla", "gorilla",
+ "gospells", "gospels",
+ "gottleib", "gottlieb",
+ "gourmelt", "gourmet",
+ "gourment", "gourmet",
+ "gouvener", "governor",
+ "govement", "government",
+ "goverend", "governed",
+ "govermet", "goverment",
+ "governer", "governor",
+ "gradualy", "gradually",
+ "grafield", "garfield",
+ "grafitti", "graffiti",
+ "grahpics", "graphics",
+ "grahpite", "graphite",
+ "graident", "gradient",
+ "granolla", "granola",
+ "graphcis", "graphics",
+ "grapichs", "graphics",
+ "grappnel", "grapple",
+ "greandes", "grenades",
+ "greatful", "grateful",
+ "greeneer", "greener",
+ "greenhoe", "greenhouse",
+ "greenlad", "greenland",
+ "greenore", "greener",
+ "greusome", "gruesome",
+ "grieifng", "griefing",
+ "grifeing", "griefing",
+ "grizzlay", "grizzly",
+ "grizzley", "grizzly",
+ "grpahics", "graphics",
+ "grpahite", "graphite",
+ "gruseome", "gruesome",
+ "guantano", "guantanamo",
+ "guardain", "guardian",
+ "guardias", "guardians",
+ "guaridan", "guardian",
+ "guerrila", "guerrilla",
+ "guidence", "guidance",
+ "guiseppe", "giuseppe",
+ "guitards", "guitars",
+ "guitares", "guitars",
+ "guitarit", "guitarist",
+ "gullbile", "gullible",
+ "gunanine", "guanine",
+ "guniness", "guinness",
+ "gunniess", "guinness",
+ "guradian", "guardian",
+ "gurading", "guarding",
+ "gurantee", "guarantee",
+ "guresome", "gruesome",
+ "guttaral", "guttural",
+ "gutteral", "guttural",
+ "hacthing", "hatching",
+ "hafltime", "halftime",
+ "haircuit", "haircut",
+ "halfitme", "halftime",
+ "hallowen", "halloween",
+ "hamburgr", "hamburgers",
+ "hamitlon", "hamilton",
+ "hamliton", "hamilton",
+ "handcufs", "handcuffs",
+ "handeldy", "handedly",
+ "handlade", "handled",
+ "handlare", "handler",
+ "handledy", "handedly",
+ "hannbial", "hannibal",
+ "haording", "hoarding",
+ "hapening", "happening",
+ "happends", "happens",
+ "happenes", "happens",
+ "happilly", "happily",
+ "harldine", "hardline",
+ "harrased", "harassed",
+ "harrases", "harasses",
+ "hatchign", "hatching",
+ "hatesink", "heatsink",
+ "hathcing", "hatching",
+ "headachs", "headaches",
+ "headests", "headsets",
+ "headhsot", "headshot",
+ "headseat", "headset",
+ "healthit", "healthiest",
+ "heastink", "heatsink",
+ "heathern", "heathen",
+ "heatskin", "heatsink",
+ "heaviliy", "heavily",
+ "heavilly", "heavily",
+ "heavnely", "heavenly",
+ "hedeghog", "hedgehog",
+ "hegdehog", "hedgehog",
+ "heighest", "heights",
+ "heighted", "heightened",
+ "heirachy", "hierarchy",
+ "heistant", "hesitant",
+ "heistate", "hesitate",
+ "hellifre", "hellfire",
+ "helluvva", "helluva",
+ "helpfull", "helpful",
+ "heratige", "heritage",
+ "herclues", "hercules",
+ "heridity", "heredity",
+ "heroicas", "heroics",
+ "heroices", "heroics",
+ "heroicos", "heroics",
+ "heroicus", "heroics",
+ "hertiage", "heritage",
+ "herucles", "hercules",
+ "hestiant", "hesitant",
+ "hestiate", "hesitate",
+ "heveanly", "heavenly",
+ "hierachy", "hierarchy",
+ "hierarcy", "hierarchy",
+ "highlane", "highlander",
+ "hindiusm", "hinduism",
+ "hindusim", "hinduism",
+ "hinudism", "hinduism",
+ "hiptsers", "hipsters",
+ "hispanis", "hispanics",
+ "hispters", "hipsters",
+ "histroic", "historic",
+ "hodlings", "holdings",
+ "hoenstly", "honestly",
+ "hoildays", "holidays",
+ "holdiays", "holidays",
+ "hollywod", "hollywood",
+ "homeword", "homeworld",
+ "homineim", "hominem",
+ "homineum", "hominem",
+ "honeslty", "honestly",
+ "honeymon", "honeymoon",
+ "honsetly", "honestly",
+ "hopefuly", "hopefully",
+ "hopkings", "hopkins",
+ "hopsital", "hospital",
+ "horading", "hoarding",
+ "horzions", "horizons",
+ "hosptial", "hospital",
+ "hosteles", "hostels",
+ "hostiliy", "hostility",
+ "hotshoot", "hotshot",
+ "hotsport", "hotspot",
+ "hsyteria", "hysteria",
+ "htaching", "hatching",
+ "htiboxes", "hitboxes",
+ "huanting", "haunting",
+ "humaniod", "humanoid",
+ "humanite", "humanities",
+ "humantiy", "humanity",
+ "humerous", "humorous",
+ "huminoid", "humanoid",
+ "humitidy", "humidity",
+ "humoural", "humoral",
+ "humouros", "humorous",
+ "humurous", "humorous",
+ "hunderds", "hundreds",
+ "hundread", "hundred",
+ "hungarin", "hungarian",
+ "huntmsan", "huntsman",
+ "hutnsman", "huntsman",
+ "hybrides", "hybrids",
+ "hybridus", "hybrids",
+ "hydorgen", "hydrogen",
+ "hydratin", "hydration",
+ "hydregon", "hydrogen",
+ "hygience", "hygiene",
+ "hygienne", "hygiene",
+ "hyperbel", "hyperbole",
+ "hypocrit", "hypocrite",
+ "hyponsis", "hypnosis",
+ "hyrdogen", "hydrogen",
+ "icefrong", "icefrog",
+ "icelings", "ceilings",
+ "idaeidae", "idea",
+ "idealogy", "ideology",
+ "idealsim", "idealism",
+ "idenfity", "identify",
+ "idenitfy", "identify",
+ "identite", "identities",
+ "ideologe", "ideologies",
+ "illiegal", "illegal",
+ "illinios", "illinois",
+ "illionis", "illinois",
+ "illnesss", "illnesses",
+ "illumini", "illuminati",
+ "illustre", "illustrate",
+ "illution", "illusion",
+ "ilogical", "illogical",
+ "ilterate", "literate",
+ "imapired", "impaired",
+ "imgrants", "migrants",
+ "imigrant", "emigrant",
+ "immboile", "immobile",
+ "immenint", "imminent",
+ "immersie", "immerse",
+ "immersve", "immerse",
+ "immitate", "imitate",
+ "immoblie", "immobile",
+ "immortas", "immortals",
+ "impactes", "impacts",
+ "impactos", "impacts",
+ "imparied", "impaired",
+ "imperavi", "imperative",
+ "imperfet", "imperfect",
+ "implemet", "implements",
+ "implosed", "implode",
+ "impluses", "impulses",
+ "imporper", "improper",
+ "importas", "imports",
+ "importen", "importance",
+ "importes", "imports",
+ "imporved", "improved",
+ "imporves", "improves",
+ "impropre", "improper",
+ "improted", "imported",
+ "improvie", "improvised",
+ "impusles", "impulses",
+ "imrpoved", "improved",
+ "imrpoves", "improves",
+ "inbetwen", "inbetween",
+ "inclince", "incline",
+ "inclinde", "incline",
+ "includng", "including",
+ "incorect", "incorrect",
+ "incuding", "including",
+ "inculded", "included",
+ "indianas", "indians",
+ "indiands", "indians",
+ "indiania", "indiana",
+ "indianna", "indiana",
+ "indianos", "indians",
+ "indicato", "indication",
+ "indicats", "indicators",
+ "indonesa", "indonesia",
+ "indulgue", "indulge",
+ "infantis", "infants",
+ "infantus", "infants",
+ "infarred", "infrared",
+ "infectin", "infections",
+ "infermon", "inferno",
+ "infiltre", "infiltrate",
+ "infintie", "infinite",
+ "infintiy", "infinity",
+ "inflatie", "inflate",
+ "influens", "influences",
+ "informas", "informs",
+ "informis", "informs",
+ "infromal", "informal",
+ "infromed", "informed",
+ "ingenius", "ingenious",
+ "ingition", "ignition",
+ "ingorant", "ignorant",
+ "inheriet", "inherit",
+ "inherint", "inherit",
+ "inhumaan", "inhuman",
+ "inhumain", "inhuman",
+ "inifnite", "infinite",
+ "inifnity", "infinity",
+ "inisghts", "insights",
+ "initails", "initials",
+ "initaite", "initiate",
+ "initaled", "initialed",
+ "initally", "initially",
+ "initialy", "initially",
+ "initmacy", "intimacy",
+ "initmate", "intimate",
+ "injustie", "injustices",
+ "inlcuded", "included",
+ "inlcudes", "includes",
+ "innocens", "innocents",
+ "innocuos", "innocuous",
+ "innvoate", "innovate",
+ "inocence", "innocence",
+ "inpolite", "impolite",
+ "inpsired", "inspired",
+ "inquirey", "inquiry",
+ "inquirie", "inquire",
+ "inquiriy", "inquiry",
+ "inrested", "inserted",
+ "insanley", "insanely",
+ "insectes", "insects",
+ "insectos", "insects",
+ "insertas", "inserts",
+ "insertes", "inserts",
+ "insertos", "inserts",
+ "insidios", "insidious",
+ "insigths", "insights",
+ "insipred", "inspired",
+ "insipres", "inspires",
+ "insistas", "insists",
+ "insistes", "insists",
+ "insistis", "insists",
+ "insmonia", "insomnia",
+ "insomina", "insomnia",
+ "insonmia", "insomnia",
+ "inspried", "inspired",
+ "inspries", "inspires",
+ "instanse", "instances",
+ "instanty", "instantly",
+ "instered", "inserted",
+ "insticnt", "instinct",
+ "instincs", "instincts",
+ "institue", "institute",
+ "insultas", "insults",
+ "insultes", "insults",
+ "insultos", "insults",
+ "intamicy", "intimacy",
+ "intamite", "intimate",
+ "intendes", "intends",
+ "intendos", "intends",
+ "intentas", "intents",
+ "intented", "intended",
+ "interace", "interacted",
+ "interacs", "interacts",
+ "interect", "interacted",
+ "interent", "internet",
+ "interese", "interested",
+ "interfce", "interface",
+ "intergal", "integral",
+ "internts", "interns",
+ "internus", "interns",
+ "interpet", "interpret",
+ "interrim", "interim",
+ "interste", "interstate",
+ "interupt", "interrupt",
+ "intevene", "intervene",
+ "intially", "initially",
+ "intiials", "initials",
+ "intimaty", "intimately",
+ "intimide", "intimidate",
+ "intregal", "integral",
+ "intriuge", "intrigue",
+ "introdue", "introduces",
+ "introdus", "introduces",
+ "introvet", "introvert",
+ "intruige", "intrigue",
+ "intutive", "intuitive",
+ "inudstry", "industry",
+ "inventer", "inventor",
+ "invertes", "inverse",
+ "invincil", "invincible",
+ "invitato", "invitation",
+ "invloved", "involved",
+ "invloves", "involves",
+ "invovled", "involved",
+ "invovles", "involves",
+ "iranains", "iranians",
+ "iraninas", "iranians",
+ "iritable", "irritable",
+ "iritated", "irritated",
+ "ironicly", "ironically",
+ "irritato", "irritation",
+ "isalmist", "islamist",
+ "isarelis", "israelis",
+ "islamits", "islamist",
+ "islamsit", "islamist",
+ "islandes", "islanders",
+ "ismalist", "islamist",
+ "isntalls", "installs",
+ "isolatie", "isolate",
+ "israelli", "israeli",
+ "israleis", "israelis",
+ "isralies", "israelis",
+ "isrealis", "israelis",
+ "issueing", "issuing",
+ "italains", "italians",
+ "jaguards", "jaguars",
+ "jaguares", "jaguars",
+ "jailbrek", "jailbreak",
+ "jaimacan", "jamaican",
+ "jamacain", "jamaican",
+ "jamaicia", "jamaica",
+ "jamiacan", "jamaican",
+ "januaray", "january",
+ "janurary", "january",
+ "jeapardy", "jeopardy",
+ "jefferry", "jeffery",
+ "jefferty", "jeffery",
+ "jennigns", "jennings",
+ "jeoprady", "jeopardy",
+ "jepoardy", "jeopardy",
+ "jerusalm", "jerusalem",
+ "jewelrey", "jewelry",
+ "jewllery", "jewellery",
+ "joanthan", "jonathan",
+ "joepardy", "jeopardy",
+ "johanine", "johannine",
+ "jonatahn", "jonathan",
+ "journaal", "journal",
+ "journied", "journeyed",
+ "journies", "journeys",
+ "joysitck", "joystick",
+ "juadaism", "judaism",
+ "judaisim", "judaism",
+ "judgemet", "judgements",
+ "juducial", "judicial",
+ "jugnling", "jungling",
+ "junglign", "jungling",
+ "junlging", "jungling",
+ "justifiy", "justify",
+ "juveline", "juvenile",
+ "juvenlie", "juvenile",
+ "katemine", "ketamine",
+ "kennedey", "kennedy",
+ "ketmaine", "ketamine",
+ "keybaord", "keyboard",
+ "keyboars", "keyboards",
+ "keyborad", "keyboard",
+ "keychian", "keychain",
+ "kicthens", "kitchens",
+ "kindgoms", "kingdoms",
+ "kittiens", "kitties",
+ "knockbak", "knockback",
+ "knowlege", "knowledge",
+ "knuckels", "knuckles",
+ "koreanos", "koreans",
+ "kunckles", "knuckles",
+ "kurdisch", "kurdish",
+ "labatory", "lavatory",
+ "labenese", "lebanese",
+ "laboraty", "laboratory",
+ "laguages", "languages",
+ "landscae", "landscapes",
+ "langauge", "language",
+ "lanucher", "launcher",
+ "lanuches", "launches",
+ "laodouts", "loadouts",
+ "larwence", "lawrence",
+ "lasagnea", "lasagna",
+ "lasagnia", "lasagna",
+ "laucnhed", "launched",
+ "laucnher", "launcher",
+ "laucnhes", "launches",
+ "laundrey", "laundry",
+ "lawernce", "lawrence",
+ "lazyness", "laziness",
+ "leaglize", "legalize",
+ "lecteurs", "lectures",
+ "lecutres", "lectures",
+ "lefitsts", "leftists",
+ "leftsits", "leftists",
+ "legenday", "legendary",
+ "legionis", "legions",
+ "legitimt", "legitimate",
+ "lengthes", "lengths",
+ "lengthly", "lengthy",
+ "lentiles", "lentils",
+ "lentills", "lentils",
+ "lesbains", "lesbians",
+ "lesibans", "lesbians",
+ "levander", "lavender",
+ "levelign", "leveling",
+ "levetate", "levitate",
+ "leviathn", "leviathan",
+ "levleing", "leveling",
+ "liberato", "liberation",
+ "libertae", "liberate",
+ "libertea", "liberate",
+ "librarse", "libraries",
+ "licencie", "licence",
+ "licencse", "licence",
+ "liebrals", "liberals",
+ "liekable", "likeable",
+ "lifepsan", "lifespan",
+ "lifestel", "lifesteal",
+ "lifestye", "lifestyle",
+ "lighitng", "lighting",
+ "lightnig", "lightning",
+ "lightres", "lighters",
+ "lightrom", "lightroom",
+ "ligthers", "lighters",
+ "ligthing", "lighting",
+ "likebale", "likeable",
+ "limitant", "militant",
+ "limitato", "limitation",
+ "lincolin", "lincoln",
+ "lincolon", "lincoln",
+ "lineupes", "lineups",
+ "lingeire", "lingerie",
+ "lingiere", "lingerie",
+ "linnaena", "linnaean",
+ "lipstics", "lipsticks",
+ "liquidas", "liquids",
+ "liquides", "liquids",
+ "liquidos", "liquids",
+ "liscense", "license",
+ "lisenced", "silenced",
+ "listenes", "listens",
+ "listents", "listens",
+ "listners", "listeners",
+ "litature", "literature",
+ "litecion", "litecoin",
+ "liteicon", "litecoin",
+ "literaly", "literally",
+ "lithuana", "lithuania",
+ "litigato", "litigation",
+ "liverpol", "liverpool",
+ "logtiech", "logitech",
+ "longitme", "longtime",
+ "longtiem", "longtime",
+ "looseley", "loosely",
+ "loreplay", "roleplay",
+ "luanched", "launched",
+ "luancher", "launcher",
+ "luanches", "launches",
+ "lubricat", "lubricant",
+ "lucifear", "lucifer",
+ "luckilly", "luckily",
+ "macarino", "macaroni",
+ "machiens", "machines",
+ "mackeral", "mackerel",
+ "macthups", "matchups",
+ "magasine", "magazine",
+ "magazins", "magazines",
+ "magentic", "magnetic",
+ "magicain", "magician",
+ "magisine", "magazine",
+ "magizine", "magazine",
+ "magnetis", "magnets",
+ "magnited", "magnitude",
+ "magnitue", "magnitude",
+ "mainfest", "manifest",
+ "maintian", "maintain",
+ "majoroty", "majority",
+ "makrsman", "marksman",
+ "malariya", "malaria",
+ "malasiya", "malaysia",
+ "malasyia", "malaysia",
+ "malayisa", "malaysia",
+ "malyasia", "malaysia",
+ "mamalian", "mammalian",
+ "manadrin", "mandarin",
+ "manaully", "manually",
+ "mandaste", "mandates",
+ "mandrain", "mandarin",
+ "mandrian", "mandarin",
+ "maneveur", "maneuver",
+ "manevuer", "maneuver",
+ "manfiest", "manifest",
+ "mangetic", "magnetic",
+ "manglade", "mangled",
+ "manifeso", "manifesto",
+ "manipule", "manipulate",
+ "manouver", "maneuver",
+ "manuales", "manuals",
+ "manuever", "maneuver",
+ "maraconi", "macaroni",
+ "maradeur", "marauder",
+ "maraduer", "marauder",
+ "maragret", "margaret",
+ "marbleds", "marbles",
+ "margerat", "margaret",
+ "margines", "margins",
+ "margings", "margins",
+ "marginis", "margins",
+ "marignal", "marginal",
+ "marilyin", "marilyn",
+ "marinens", "marines",
+ "markedet", "marketed",
+ "markeras", "markers",
+ "markerts", "markers",
+ "marniers", "mariners",
+ "marraige", "marriage",
+ "marryied", "married",
+ "marskman", "marksman",
+ "maruader", "marauder",
+ "marvelos", "marvelous",
+ "marxisim", "marxism",
+ "mascarra", "mascara",
+ "massacer", "massacre",
+ "massarce", "massacre",
+ "massasge", "massages",
+ "masscare", "massacre",
+ "masteris", "masteries",
+ "masturbe", "masturbate",
+ "materias", "materials",
+ "mathcups", "matchups",
+ "mathewes", "mathews",
+ "matieral", "material",
+ "matterss", "mattress",
+ "mauarder", "marauder",
+ "maximini", "maximizing",
+ "mayalsia", "malaysia",
+ "maybelle", "maybelline",
+ "maylasia", "malaysia",
+ "mccarhty", "mccarthy",
+ "mcgergor", "mcgregor",
+ "mchanics", "mechanics",
+ "mclarean", "mclaren",
+ "mcreggor", "mcgregor",
+ "meagtron", "megatron",
+ "meancing", "menacing",
+ "meaninng", "meaning",
+ "meatbals", "meatballs",
+ "mecahnic", "mechanic",
+ "mechanim", "mechanism",
+ "mechanis", "mechanics",
+ "medacine", "medicine",
+ "medatite", "meditate",
+ "medeival", "medieval",
+ "medevial", "medieval",
+ "mediavel", "medieval",
+ "medicaly", "medically",
+ "mediciad", "medicaid",
+ "medicins", "medicines",
+ "medicore", "mediocre",
+ "medievel", "medieval",
+ "mediocer", "mediocre",
+ "mediocry", "mediocrity",
+ "mediorce", "mediocre",
+ "meditato", "meditation",
+ "mediveal", "medieval",
+ "medoicre", "mediocre",
+ "meerkrat", "meerkat",
+ "megatorn", "megatron",
+ "meidcare", "medicare",
+ "meixcans", "mexicans",
+ "melboure", "melbourne",
+ "meltodwn", "meltdown",
+ "memoriez", "memorize",
+ "mencaing", "menacing",
+ "menstrul", "menstrual",
+ "mentiong", "mentioning",
+ "meoldies", "melodies",
+ "merchans", "merchants",
+ "mercurcy", "mercury",
+ "mercurey", "mercury",
+ "merficul", "merciful",
+ "merhcant", "merchant",
+ "mericful", "merciful",
+ "messgaed", "messaged",
+ "messiach", "messiah",
+ "metagaem", "metagame",
+ "metahpor", "metaphor",
+ "metamage", "metagame",
+ "methapor", "metaphor",
+ "metldown", "meltdown",
+ "metricas", "metrics",
+ "metrices", "metrics",
+ "metropos", "metropolis",
+ "mexcians", "mexicans",
+ "mexicain", "mexican",
+ "mhytical", "mythical",
+ "michagan", "michigan",
+ "michgian", "michigan",
+ "microtax", "microatx",
+ "microwae", "microwaves",
+ "midfeild", "midfield",
+ "midfiled", "midfield",
+ "midifeld", "midfield",
+ "migrains", "migraines",
+ "migriane", "migraine",
+ "milennia", "millennia",
+ "miligram", "milligram",
+ "miliitas", "militias",
+ "miliraty", "military",
+ "militais", "militias",
+ "millenia", "millennia",
+ "millenna", "millennia",
+ "miltiant", "militant",
+ "minature", "miniature",
+ "mindcrak", "mindcrack",
+ "minerial", "mineral",
+ "mingiame", "minigame",
+ "minimage", "minigame",
+ "minimals", "minimalist",
+ "minimalt", "minimalist",
+ "minimini", "minimizing",
+ "minimium", "minimum",
+ "miniscue", "miniscule",
+ "minsiter", "minister",
+ "minsitry", "ministry",
+ "miraculu", "miraculous",
+ "miralces", "miracles",
+ "mircales", "miracles",
+ "mircoatx", "microatx",
+ "mirgaine", "migraine",
+ "mirorred", "mirrored",
+ "misnadry", "misandry",
+ "misogynt", "misogynist",
+ "missigno", "mission",
+ "missiony", "missionary",
+ "misslies", "missiles",
+ "missorui", "missouri",
+ "misspeld", "misspelled",
+ "mistakey", "mistakenly",
+ "mistread", "mistreated",
+ "mobiltiy", "mobility",
+ "moderats", "moderates",
+ "modulair", "modular",
+ "moleculs", "molecules",
+ "momentos", "moments",
+ "momentus", "moments",
+ "monagomy", "monogamy",
+ "mongoles", "mongols",
+ "mongolos", "mongols",
+ "monitord", "monitored",
+ "monogmay", "monogamy",
+ "monolite", "monolithic",
+ "monologe", "monologue",
+ "monolopy", "monopoly",
+ "monoploy", "monopoly",
+ "monopols", "monopolies",
+ "monrachy", "monarchy",
+ "monstros", "monstrous",
+ "montaban", "montana",
+ "montains", "mountains",
+ "montanha", "montana",
+ "montania", "montana",
+ "montanna", "montana",
+ "montanta", "montana",
+ "montanya", "montana",
+ "montaran", "montana",
+ "monteize", "monetize",
+ "monteral", "montreal",
+ "montiors", "monitors",
+ "montnana", "montana",
+ "montypic", "monotypic",
+ "monumnet", "monument",
+ "moonligt", "moonlight",
+ "moprhine", "morphine",
+ "morbildy", "morbidly",
+ "mordibly", "morbidly",
+ "morevoer", "moreover",
+ "morhpine", "morphine",
+ "moribdly", "morbidly",
+ "mormones", "mormons",
+ "mormonts", "mormons",
+ "moroever", "moreover",
+ "morotola", "motorola",
+ "morphein", "morphine",
+ "morriosn", "morrison",
+ "morrocco", "morocco",
+ "morrsion", "morrison",
+ "mortards", "mortars",
+ "mortarts", "mortars",
+ "moruning", "mourning",
+ "mosnters", "monsters",
+ "mosqueto", "mosquitoes",
+ "mosquite", "mosquitoes",
+ "mosqutio", "mosquito",
+ "motoroal", "motorola",
+ "mounment", "monument",
+ "mounring", "mourning",
+ "mountian", "mountain",
+ "moustace", "moustache",
+ "movesped", "movespeed",
+ "mozillia", "mozilla",
+ "mozillla", "mozilla",
+ "msytical", "mystical",
+ "mucnhies", "munchies",
+ "mudering", "murdering",
+ "muffings", "muffins",
+ "muffinus", "muffins",
+ "mulitple", "multiple",
+ "mulitply", "multiply",
+ "multiplr", "multiplier",
+ "multipls", "multiples",
+ "mundance", "mundane",
+ "mundande", "mundane",
+ "muniches", "munchies",
+ "murderes", "murders",
+ "murderus", "murders",
+ "muscluar", "muscular",
+ "muscualr", "muscular",
+ "musicaly", "musically",
+ "musuclar", "muscular",
+ "mutliple", "multiple",
+ "mutliply", "multiply",
+ "myhtical", "mythical",
+ "mysitcal", "mystical",
+ "mysogyny", "misogyny",
+ "mysteris", "mysteries",
+ "mythraic", "mithraic",
+ "nagivate", "navigate",
+ "naopleon", "napoleon",
+ "napcakes", "pancakes",
+ "naploeon", "napoleon",
+ "napoelon", "napoleon",
+ "napolean", "napoleon",
+ "napoloen", "napoleon",
+ "narcissm", "narcissism",
+ "narcisst", "narcissist",
+ "narcotis", "narcotics",
+ "narwharl", "narwhal",
+ "naseuous", "nauseous",
+ "nashvile", "nashville",
+ "nasueous", "nauseous",
+ "natievly", "natively",
+ "nationas", "nationals",
+ "nationsl", "nationals",
+ "nativley", "natively",
+ "natuilus", "nautilus",
+ "naturaly", "naturally",
+ "naturels", "natures",
+ "naturely", "naturally",
+ "naturens", "natures",
+ "naturual", "natural",
+ "nauesous", "nauseous",
+ "naughtly", "naughty",
+ "nauitlus", "nautilus",
+ "nauseuos", "nauseous",
+ "nautiuls", "nautilus",
+ "nautlius", "nautilus",
+ "nautulis", "nautilus",
+ "naviagte", "navigate",
+ "navigato", "navigation",
+ "nazereth", "nazareth",
+ "necesary", "necessary",
+ "neckbead", "neckbeard",
+ "needlees", "needles",
+ "nefarios", "nefarious",
+ "negativy", "negativity",
+ "neglectn", "neglecting",
+ "neglible", "negligible",
+ "neigbour", "neighbour",
+ "neolitic", "neolithic",
+ "netboook", "netbook",
+ "neuronas", "neurons",
+ "neutraal", "neutral",
+ "neutralt", "neutrality",
+ "neutraly", "neutrality",
+ "newcaste", "newcastle",
+ "nickanme", "nickname",
+ "nickmane", "nickname",
+ "nieghbor", "neighbor",
+ "nightime", "nighttime",
+ "nightley", "nightly",
+ "nightlie", "nightlife",
+ "nihilsim", "nihilism",
+ "nilihism", "nihilism",
+ "nirtogen", "nitrogen",
+ "nirvanna", "nirvana",
+ "nitorgen", "nitrogen",
+ "niusance", "nuisance",
+ "noctrune", "nocturne",
+ "noctunre", "nocturne",
+ "nocturen", "nocturne",
+ "nominato", "nomination",
+ "nonsence", "nonsense",
+ "nonsesne", "nonsense",
+ "noramlly", "normally",
+ "norhtern", "northern",
+ "normalis", "normals",
+ "normalls", "normals",
+ "normalos", "normals",
+ "northeat", "northeast",
+ "northren", "northern",
+ "northwet", "northwest",
+ "norwegin", "norwegian",
+ "nostalga", "nostalgia",
+ "nostirls", "nostrils",
+ "notabley", "notably",
+ "notablly", "notably",
+ "noteable", "notable",
+ "noteably", "notably",
+ "noticabe", "noticable",
+ "notorios", "notorious",
+ "novmeber", "november",
+ "nromandy", "normandy",
+ "nuatilus", "nautilus",
+ "nuculear", "nuclear",
+ "nuetered", "neutered",
+ "nuisanse", "nuisance",
+ "nullifiy", "nullify",
+ "nurtient", "nutrient",
+ "nusaince", "nuisance",
+ "nusiance", "nuisance",
+ "nutirent", "nutrient",
+ "nutriens", "nutrients",
+ "nuturing", "nurturing",
+ "obdisian", "obsidian",
+ "obediant", "obedient",
+ "obession", "obsession",
+ "obilvion", "oblivion",
+ "obisdian", "obsidian",
+ "obsessie", "obsessive",
+ "obsessin", "obsession",
+ "obsidain", "obsidian",
+ "obstacal", "obstacle",
+ "obvilion", "oblivion",
+ "ocasions", "occasions",
+ "ocassion", "occasion",
+ "occaison", "occasion",
+ "occupato", "occupation",
+ "occuring", "occurring",
+ "octobear", "october",
+ "octopuns", "octopus",
+ "ofcoruse", "ofcourse",
+ "ofcoures", "ofcourse",
+ "ofcousre", "ofcourse",
+ "ofcrouse", "ofcourse",
+ "officals", "officials",
+ "officaly", "officially",
+ "offsited", "offside",
+ "ofocurse", "ofcourse",
+ "oligarcy", "oligarchy",
+ "olmypics", "olympics",
+ "olymipcs", "olympics",
+ "olypmics", "olympics",
+ "ommision", "omission",
+ "ommiting", "omitting",
+ "ommitted", "omitted",
+ "ongewild", "gonewild",
+ "onslaugt", "onslaught",
+ "operatie", "operative",
+ "opinoins", "opinions",
+ "oppinion", "opinion",
+ "opponant", "opponent",
+ "opposits", "opposites",
+ "oppossed", "opposed",
+ "oppresso", "oppression",
+ "optimaal", "optimal",
+ "optomism", "optimism",
+ "oragnise", "organise",
+ "orangerd", "orangered",
+ "orangers", "oranges",
+ "orangism", "organism",
+ "orchesta", "orchestra",
+ "ordianry", "ordinary",
+ "oreintal", "oriental",
+ "orgainse", "organise",
+ "orgainze", "organize",
+ "organims", "organism",
+ "organsie", "organise",
+ "organsim", "organism",
+ "organzie", "organize",
+ "orgasmes", "orgasms",
+ "orgasmos", "orgasms",
+ "orgasmus", "orgasms",
+ "orginize", "organise",
+ "orhtodox", "orthodox",
+ "oridnary", "ordinary",
+ "originas", "origins",
+ "origines", "origins",
+ "originsl", "originals",
+ "orphanes", "orphans",
+ "osbidian", "obsidian",
+ "othrodox", "orthodox",
+ "ourselvs", "ourselves",
+ "oustider", "outsider",
+ "outfeild", "outfield",
+ "outfidel", "outfield",
+ "outfiled", "outfield",
+ "outisder", "outsider",
+ "outplayd", "outplayed",
+ "outputed", "outputted",
+ "outsoure", "outsourced",
+ "overboad", "overboard",
+ "overclok", "overclock",
+ "overdrev", "overdrive",
+ "overhual", "overhaul",
+ "overlaod", "overload",
+ "overpiad", "overpaid",
+ "overules", "overuse",
+ "overwath", "overwatch",
+ "overwhem", "overwhelm",
+ "oximoron", "oxymoron",
+ "oylmpics", "olympics",
+ "pacakged", "packaged",
+ "packadge", "packaged",
+ "paficist", "pacifist",
+ "painfuly", "painfully",
+ "paitence", "patience",
+ "paitents", "patients",
+ "palidans", "paladins",
+ "palstics", "plastics",
+ "paltform", "platform",
+ "paltinum", "platinum",
+ "palyable", "playable",
+ "palyoffs", "playoffs",
+ "pancaeks", "pancakes",
+ "panckaes", "pancakes",
+ "pandoria", "pandora",
+ "pandorra", "pandora",
+ "panedmic", "pandemic",
+ "panethon", "pantheon",
+ "pankaces", "pancakes",
+ "panmedic", "pandemic",
+ "pantehon", "pantheon",
+ "panthoen", "pantheon",
+ "paradies", "paradise",
+ "paradyse", "parades",
+ "paragrah", "paragraph",
+ "paraiste", "parasite",
+ "paralell", "parallel",
+ "paralely", "parallelly",
+ "paralles", "parallels",
+ "parameds", "paramedics",
+ "paramter", "parameter",
+ "paranioa", "paranoia",
+ "paraniod", "paranoid",
+ "paraside", "paradise",
+ "parasits", "parasites",
+ "parastie", "parasite",
+ "parctise", "practise",
+ "paremsan", "parmesan",
+ "paristan", "partisan",
+ "parmasen", "parmesan",
+ "parmenas", "parmesan",
+ "parmsean", "parmesan",
+ "parnters", "partners",
+ "parralel", "parallel",
+ "parterns", "partners",
+ "partialy", "partially",
+ "partians", "partisan",
+ "partical", "particular",
+ "particel", "particle",
+ "partiets", "parties",
+ "partiots", "patriots",
+ "partnerd", "partnered",
+ "partsian", "partisan",
+ "passabel", "passable",
+ "passione", "passionate",
+ "passisve", "passives",
+ "passpost", "passports",
+ "passvies", "passives",
+ "passwors", "passwords",
+ "pasttime", "pastime",
+ "pastural", "pastoral",
+ "pateince", "patience",
+ "pateints", "patients",
+ "patethic", "pathetic",
+ "patheitc", "pathetic",
+ "patienty", "patiently",
+ "patirots", "patriots",
+ "patriarh", "patriarchy",
+ "patroits", "patriots",
+ "patrolls", "patrols",
+ "patronas", "patrons",
+ "patrones", "patrons",
+ "patronis", "patrons",
+ "patronos", "patrons",
+ "pattened", "patented",
+ "patterno", "patterson",
+ "pattersn", "patterson",
+ "pblisher", "publisher",
+ "peageant", "pageant",
+ "pebbleos", "pebbles",
+ "pebblers", "pebbles",
+ "pebblets", "pebbles",
+ "peciluar", "peculiar",
+ "pecuilar", "peculiar",
+ "peculair", "peculiar",
+ "peculure", "peculiar",
+ "peformed", "performed",
+ "peircing", "piercing",
+ "penaltis", "penalties",
+ "penatgon", "pentagon",
+ "penciles", "pencils",
+ "pendatic", "pedantic",
+ "pengiuns", "penguins",
+ "penisula", "peninsula",
+ "pensioen", "pension",
+ "pepperin", "pepperoni",
+ "perceded", "preceded",
+ "percente", "percentile",
+ "percieve", "perceive",
+ "percious", "precious",
+ "perclude", "preclude",
+ "perfecty", "perfectly",
+ "perfroms", "performs",
+ "perheaps", "perhaps",
+ "pericing", "piercing",
+ "peridoic", "periodic",
+ "perimetr", "perimeter",
+ "periodes", "periods",
+ "periodos", "periods",
+ "permanet", "permanent",
+ "permiere", "premiere",
+ "permises", "premises",
+ "permitas", "permits",
+ "permites", "permits",
+ "permitis", "permits",
+ "permitts", "permits",
+ "permiums", "premiums",
+ "peroidic", "periodic",
+ "perosnas", "personas",
+ "perpetue", "perpetuate",
+ "persaude", "persuade",
+ "perserve", "preserve",
+ "persisit", "persist",
+ "personel", "personnel",
+ "persones", "persons",
+ "personis", "persons",
+ "personsa", "personas",
+ "perstige", "prestige",
+ "persuaso", "persuasion",
+ "persuded", "persuaded",
+ "persuing", "pursuing",
+ "persuits", "pursuits",
+ "persumed", "presumed",
+ "pertaing", "pertaining",
+ "pertians", "pertains",
+ "pertinet", "pertinent",
+ "pervents", "prevents",
+ "perverst", "pervert",
+ "perviews", "previews",
+ "pervious", "previous",
+ "perxoide", "peroxide",
+ "pessiary", "pessary",
+ "petetion", "petition",
+ "petrolem", "petroleum",
+ "phantoom", "phantom",
+ "pharamcy", "pharmacy",
+ "pharmacs", "pharmacist",
+ "pharmsci", "pharmacist",
+ "phenomon", "phenomenon",
+ "phramacy", "pharmacy",
+ "phsyical", "physical",
+ "phsyique", "physique",
+ "phyiscal", "physical",
+ "phyisque", "physique",
+ "physcial", "physical",
+ "physicis", "physicians",
+ "physicks", "physics",
+ "physicts", "physicist",
+ "physqiue", "physique",
+ "picthers", "pitchers",
+ "pillards", "pillars",
+ "pillaris", "pillars",
+ "pinancle", "pinnacle",
+ "pinapple", "pineapple",
+ "pinnalce", "pinnacle",
+ "pinnaple", "pineapple",
+ "pinncale", "pinnacle",
+ "pinpiont", "pinpoint",
+ "pinteret", "pinterest",
+ "piolting", "piloting",
+ "pioneeer", "pioneer",
+ "pithcers", "pitchers",
+ "placebro", "placebo",
+ "placemet", "placements",
+ "planetas", "planets",
+ "planetos", "planets",
+ "plantiff", "plaintiff",
+ "plantium", "platinum",
+ "plasitcs", "plastics",
+ "platfrom", "platform",
+ "platimun", "platinum",
+ "platnium", "platinum",
+ "platnuim", "platinum",
+ "plausibe", "plausible",
+ "playbody", "playboy",
+ "playstye", "playstyle",
+ "pleasent", "pleasant",
+ "plehtora", "plethora",
+ "pleothra", "plethora",
+ "plethroa", "plethora",
+ "ploygamy", "polygamy",
+ "pnatheon", "pantheon",
+ "poeoples", "peoples",
+ "poingant", "poignant",
+ "pointeur", "pointer",
+ "pointure", "pointer",
+ "poisones", "poisons",
+ "poisonis", "poisons",
+ "poisonos", "poisons",
+ "poisonus", "poisons",
+ "polgyamy", "polygamy",
+ "polietly", "politely",
+ "politing", "piloting",
+ "politley", "politely",
+ "poltical", "political",
+ "poluting", "polluting",
+ "polution", "pollution",
+ "polygoon", "polygon",
+ "polymore", "polymer",
+ "pomotion", "promotion",
+ "popoulus", "populous",
+ "populair", "popular",
+ "populare", "popular",
+ "populary", "popularity",
+ "porcelan", "porcelain",
+ "porposes", "proposes",
+ "portabel", "portable",
+ "portalis", "portals",
+ "portalus", "portals",
+ "portayed", "portrayed",
+ "portgual", "portugal",
+ "portrais", "portraits",
+ "portrary", "portray",
+ "portrayl", "portrayal",
+ "portriat", "portrait",
+ "posessed", "possessed",
+ "posesses", "possesses",
+ "posioned", "poisoned",
+ "positivs", "positives",
+ "positivy", "positivity",
+ "possable", "possible",
+ "possably", "possibly",
+ "possbily", "possibly",
+ "posseses", "possesses",
+ "possesse", "possessive",
+ "possesss", "possesses",
+ "potrayed", "portrayed",
+ "poverful", "powerful",
+ "powerded", "powdered",
+ "powerpot", "powerpoint",
+ "pracitse", "practise",
+ "practial", "practical",
+ "practies", "practise",
+ "pratcise", "practise",
+ "praticle", "particle",
+ "prceeded", "preceded",
+ "preadtor", "predator",
+ "preample", "preamble",
+ "preceeds", "precedes",
+ "precisie", "precise",
+ "precisly", "precisely",
+ "precisou", "precious",
+ "preculde", "preclude",
+ "predicat", "predict",
+ "predicte", "predictive",
+ "preferas", "prefers",
+ "prefered", "preferred",
+ "preferes", "prefers",
+ "preferis", "prefers",
+ "preferrs", "prefers",
+ "preimere", "premiere",
+ "preimums", "premiums",
+ "preiodic", "periodic",
+ "preivews", "previews",
+ "prejudis", "prejudices",
+ "prelayed", "replayed",
+ "premeire", "premiere",
+ "premesis", "premises",
+ "premiare", "premier",
+ "premines", "premise",
+ "premuims", "premiums",
+ "preorded", "preordered",
+ "preordes", "preorders",
+ "preoxide", "peroxide",
+ "prepaird", "prepaid",
+ "preqeuls", "prequels",
+ "prequles", "prequels",
+ "prescrie", "prescribed",
+ "presense", "presence",
+ "presenst", "presets",
+ "presidet", "presidents",
+ "presists", "persists",
+ "presitge", "prestige",
+ "presonas", "personas",
+ "presuade", "persuade",
+ "pretador", "predator",
+ "pretains", "pertains",
+ "preveiws", "previews",
+ "preverse", "perverse",
+ "previwes", "previews",
+ "pricipal", "principal",
+ "priciple", "principle",
+ "priemere", "premiere",
+ "priestes", "priests",
+ "primaris", "primaries",
+ "primarly", "primarily",
+ "princila", "principals",
+ "principl", "principals",
+ "prisitne", "pristine",
+ "probelms", "problems",
+ "probleem", "problem",
+ "procalim", "proclaim",
+ "proccess", "process",
+ "proceded", "proceeded",
+ "proceder", "procedure",
+ "procedes", "proceeds",
+ "procedue", "procedure",
+ "proceeed", "proceed",
+ "procesed", "proceeds",
+ "processs", "processes",
+ "proclami", "proclaim",
+ "procliam", "proclaim",
+ "procotol", "protocol",
+ "prodcuts", "products",
+ "producto", "production",
+ "profesor", "professor",
+ "proficit", "proficient",
+ "profilic", "prolific",
+ "progroms", "pogroms",
+ "prohibis", "prohibits",
+ "prohpecy", "prophecy",
+ "prohpets", "prophets",
+ "projecte", "projectile",
+ "projecto", "projection",
+ "prolouge", "prologue",
+ "promplty", "promptly",
+ "promptes", "prompts",
+ "promptus", "prompts",
+ "promtply", "promptly",
+ "pronoune", "pronounced",
+ "propechy", "prophecy",
+ "propehcy", "prophecy",
+ "propehts", "prophets",
+ "prophacy", "prophecy",
+ "propmted", "prompted",
+ "propmtly", "promptly",
+ "proponet", "proponents",
+ "proposse", "proposes",
+ "proposte", "propose",
+ "proprety", "property",
+ "propsect", "prospect",
+ "prosepct", "prospect",
+ "prostite", "prostitute",
+ "protable", "portable",
+ "protecte", "protective",
+ "protiens", "proteins",
+ "protines", "proteins",
+ "protocal", "protocol",
+ "prototye", "prototype",
+ "protrait", "portrait",
+ "protrays", "portrays",
+ "protugal", "portugal",
+ "proverai", "proverbial",
+ "providee", "providence",
+ "proximty", "proximity",
+ "pruchase", "purchase",
+ "pryamids", "pyramids",
+ "ptichers", "pitchers",
+ "pubisher", "publisher",
+ "publiser", "publisher",
+ "puinsher", "punisher",
+ "pulisher", "publisher",
+ "pumkpins", "pumpkins",
+ "pumpinks", "pumpkins",
+ "pumpknis", "pumpkins",
+ "punshier", "punisher",
+ "punsiher", "punisher",
+ "punsihes", "punishes",
+ "purcahse", "purchase",
+ "pyramind", "pyramid",
+ "pyrimads", "pyramids",
+ "pyrmaids", "pyramids",
+ "qauntity", "quantity",
+ "qualifiy", "qualify",
+ "quanitfy", "quantify",
+ "quantaty", "quantity",
+ "quantite", "quantities",
+ "quantuum", "quantum",
+ "quarante", "quarantine",
+ "quartery", "quarterly",
+ "qucikest", "quickest",
+ "queation", "equation",
+ "quention", "quentin",
+ "quickets", "quickest",
+ "quicklyu", "quickly",
+ "rabbitos", "rabbits",
+ "rabbitts", "rabbits",
+ "racistas", "racists",
+ "racistes", "racists",
+ "radaince", "radiance",
+ "rahpsody", "rhapsody",
+ "raidance", "radiance",
+ "railraod", "railroad",
+ "randomes", "randoms",
+ "randomez", "randomized",
+ "randomns", "randoms",
+ "randomrs", "randoms",
+ "randomus", "randoms",
+ "raosting", "roasting",
+ "raphsody", "rhapsody",
+ "raptores", "raptors",
+ "raspbery", "raspberry",
+ "rationel", "rationale",
+ "realible", "reliable",
+ "realibly", "reliably",
+ "realiest", "earliest",
+ "realisim", "realism",
+ "realisme", "realise",
+ "realistc", "realistic",
+ "realiste", "realise",
+ "realoded", "reloaded",
+ "realsied", "realised",
+ "realtion", "relation",
+ "realtive", "relative",
+ "reamined", "remained",
+ "reapired", "repaired",
+ "reaplugs", "earplugs",
+ "reaserch", "research",
+ "reasonal", "reasonably",
+ "reatiler", "retailer",
+ "reaveled", "revealed",
+ "rebellis", "rebellious",
+ "reboudns", "rebounds",
+ "rebounce", "rebound",
+ "rebuildt", "rebuilt",
+ "rebuplic", "republic",
+ "receeded", "receded",
+ "recepits", "receipts",
+ "receptie", "receptive",
+ "receptos", "receptors",
+ "receving", "receiving",
+ "recident", "resident",
+ "reciding", "residing",
+ "recieved", "received",
+ "reciever", "receiver",
+ "recieves", "receives",
+ "recipees", "recipes",
+ "recipets", "recipes",
+ "recogise", "recognise",
+ "recogize", "recognize",
+ "recognie", "recognizes",
+ "recomend", "recommend",
+ "recommed", "recommend",
+ "reconnet", "reconnect",
+ "rectange", "rectangle",
+ "rectifiy", "rectify",
+ "recuring", "recurring",
+ "recurits", "recruits",
+ "redeisgn", "redesign",
+ "redemeed", "redeemed",
+ "redesgin", "redesign",
+ "redesing", "redesign",
+ "reedemed", "redeemed",
+ "refeeres", "referees",
+ "refelcts", "reflects",
+ "refelxes", "reflexes",
+ "referede", "referee",
+ "referene", "referee",
+ "referens", "references",
+ "referere", "referee",
+ "referign", "refering",
+ "refering", "referring",
+ "refernce", "references",
+ "reffered", "referred",
+ "refilles", "refills",
+ "refillls", "refills",
+ "reflecte", "reflective",
+ "reflecto", "reflection",
+ "reformes", "reforms",
+ "refreing", "refering",
+ "refrence", "reference",
+ "refreshd", "refreshed",
+ "refreshr", "refresher",
+ "refromed", "reformed",
+ "regardes", "regards",
+ "regenade", "renegade",
+ "regenere", "regenerate",
+ "regiones", "regions",
+ "regisrty", "registry",
+ "registed", "registered",
+ "regresas", "regress",
+ "regreses", "regress",
+ "regresos", "regress",
+ "regresse", "regressive",
+ "regresso", "regression",
+ "regrests", "regress",
+ "regretts", "regrets",
+ "regsitry", "registry",
+ "regualrs", "regulars",
+ "regualte", "regulate",
+ "reguarly", "regularly",
+ "regulary", "regularly",
+ "regulatr", "regulator",
+ "regulats", "regulators",
+ "rehersal", "rehearsal",
+ "rehtoric", "rhetoric",
+ "reiceved", "recieved",
+ "reigment", "regiment",
+ "reigonal", "regional",
+ "rekenton", "renekton",
+ "relaible", "reliable",
+ "relaibly", "reliably",
+ "relaised", "realised",
+ "relaoded", "reloaded",
+ "relasped", "relapsed",
+ "relatabe", "relatable",
+ "relateds", "relates",
+ "relativy", "relativity",
+ "relavent", "relevant",
+ "relected", "reelected",
+ "relegato", "relegation",
+ "releived", "relieved",
+ "releiver", "reliever",
+ "relevent", "relevant",
+ "relfects", "reflects",
+ "relfexes", "reflexes",
+ "reliased", "realised",
+ "religous", "religious",
+ "relpased", "relapsed",
+ "remainds", "remains",
+ "remainig", "remaining",
+ "remannts", "remnants",
+ "remarkes", "remarks",
+ "remembed", "remembered",
+ "remembee", "remembered",
+ "rememebr", "remember",
+ "remenant", "remnant",
+ "reminent", "remnant",
+ "remmeber", "remember",
+ "remotley", "remotely",
+ "renderes", "renders",
+ "reneagde", "renegade",
+ "renetkon", "renekton",
+ "renewabe", "renewables",
+ "renketon", "renekton",
+ "renmants", "remnants",
+ "renoylds", "reynolds",
+ "renteris", "renters",
+ "renyolds", "reynolds",
+ "reowrked", "reworked",
+ "repaires", "repairs",
+ "repalces", "replaces",
+ "reparied", "repaired",
+ "repblics", "republics",
+ "repbulic", "republic",
+ "repeatae", "repeatable",
+ "repeates", "repeats",
+ "repetion", "repetition",
+ "repharse", "rephrase",
+ "repitles", "reptiles",
+ "replased", "relapsed",
+ "replayes", "replays",
+ "replicae", "replicated",
+ "replubic", "republic",
+ "reportes", "reporters",
+ "reposity", "repository",
+ "repostas", "reposts",
+ "repostes", "reposts",
+ "repostig", "reposting",
+ "repostus", "reposts",
+ "represet", "represents",
+ "represso", "repression",
+ "reprhase", "rephrase",
+ "repsects", "respects",
+ "repsonds", "responds",
+ "repsonse", "response",
+ "repsoted", "reposted",
+ "repubics", "republics",
+ "republis", "republics",
+ "repulics", "republics",
+ "repulsie", "repulsive",
+ "requiers", "requires",
+ "requieum", "requiem",
+ "requilme", "requiem",
+ "requried", "required",
+ "requries", "requires",
+ "rescuecd", "rescued",
+ "researce", "researcher",
+ "resembes", "resembles",
+ "reserach", "research",
+ "resevoir", "reservoir",
+ "resgined", "resigned",
+ "residude", "residue",
+ "residule", "residue",
+ "resinged", "resigned",
+ "resistas", "resists",
+ "resisten", "resistance",
+ "resistes", "resists",
+ "resloved", "resolved",
+ "resloves", "resolves",
+ "resmeble", "resemble",
+ "resotred", "restored",
+ "resourse", "resources",
+ "resovled", "resolved",
+ "resovles", "resolves",
+ "respecte", "respective",
+ "respesct", "respects",
+ "responce", "response",
+ "responed", "respond",
+ "respones", "response",
+ "responsd", "responds",
+ "respoted", "reposted",
+ "restanti", "restarting",
+ "restrait", "restraint",
+ "restrics", "restricts",
+ "resuable", "reusable",
+ "retailes", "retailers",
+ "retalier", "retailer",
+ "rethoric", "rhetoric",
+ "retirase", "retires",
+ "retireds", "retires",
+ "retireus", "retires",
+ "retireve", "retrieve",
+ "retreive", "retrieve",
+ "retrived", "retrieved",
+ "retunred", "returned",
+ "reuasble", "reusable",
+ "reveales", "reveals",
+ "reveiwed", "reviewed",
+ "reveiwer", "reviewer",
+ "revelaed", "revealed",
+ "revelant", "relevant",
+ "revelead", "revealed",
+ "reverals", "reversal",
+ "reviewes", "reviewers",
+ "revlover", "revolver",
+ "revloves", "revolves",
+ "revovler", "revolver",
+ "revovles", "revolves",
+ "rewatchd", "rewatched",
+ "rewitten", "rewritten",
+ "rewritte", "rewrite",
+ "rewtched", "wretched",
+ "reynlods", "reynolds",
+ "reyonlds", "reynolds",
+ "rhaposdy", "rhapsody",
+ "rhaspody", "rhapsody",
+ "rheotric", "rhetoric",
+ "righteos", "righteous",
+ "rigntone", "ringtone",
+ "ringotne", "ringtone",
+ "ritalian", "ritalin",
+ "rivalrly", "rivalry",
+ "roachers", "roaches",
+ "robberts", "robbers",
+ "robberys", "robbers",
+ "robocoop", "robocop",
+ "robocorp", "robocop",
+ "robocoup", "robocop",
+ "roelplay", "roleplay",
+ "roganism", "organism",
+ "rolepaly", "roleplay",
+ "romaanin", "romanian",
+ "romainan", "romanian",
+ "romanain", "romanian",
+ "romanica", "romania",
+ "rosettta", "rosetta",
+ "rostaing", "roasting",
+ "routeros", "routers",
+ "rutgerus", "rutgers",
+ "ryenolds", "reynolds",
+ "sacrifie", "sacrifice",
+ "saddends", "saddens",
+ "saddenes", "saddens",
+ "sadisitc", "sadistic",
+ "salaires", "salaries",
+ "sandales", "sandals",
+ "sandalls", "sandals",
+ "sandstom", "sandstorm",
+ "sanotrum", "santorum",
+ "santourm", "santorum",
+ "santroum", "santorum",
+ "santurom", "santorum",
+ "sapcebar", "spacebar",
+ "sapphrie", "sapphire",
+ "sarcasam", "sarcasm",
+ "sarcasim", "sarcasm",
+ "sarcastc", "sarcastic",
+ "sargeant", "sergeant",
+ "sasauges", "sausages",
+ "sasuages", "sausages",
+ "satelite", "satellite",
+ "satellie", "satellites",
+ "saterday", "saturday",
+ "satifies", "satisfies",
+ "satisfiy", "satisfy",
+ "satrical", "satirical",
+ "satruday", "saturday",
+ "saturdsy", "saturdays",
+ "sawstika", "swastika",
+ "scandlas", "scandals",
+ "scannign", "scanning",
+ "scarmble", "scramble",
+ "scepture", "scepter",
+ "schedual", "schedule",
+ "schoalrs", "scholars",
+ "scholary", "scholarly",
+ "schoodle", "schooled",
+ "scientic", "scientific",
+ "scientis", "scientist",
+ "scoprion", "scorpion",
+ "scorates", "socrates",
+ "scoripon", "scorpion",
+ "scorpoin", "scorpion",
+ "scostman", "scotsman",
+ "scratchs", "scratches",
+ "scriptue", "scriptures",
+ "scriptus", "scripts",
+ "scritped", "scripted",
+ "scroates", "socrates",
+ "scropion", "scorpion",
+ "scrpited", "scripted",
+ "scruitny", "scrutiny",
+ "scrunity", "scrutiny",
+ "sctosman", "scotsman",
+ "sculpter", "sculpture",
+ "scurtiny", "scrutiny",
+ "seahakws", "seahawks",
+ "seahwaks", "seahawks",
+ "seantors", "senators",
+ "sebastin", "sebastian",
+ "seceeded", "succeeded",
+ "secertly", "secretly",
+ "secrelty", "secretly",
+ "secretas", "secrets",
+ "secretos", "secrets",
+ "secruity", "security",
+ "secuirty", "security",
+ "sedereal", "sidereal",
+ "seldomly", "seldom",
+ "selectie", "selective",
+ "selfiers", "selfies",
+ "semestre", "semester",
+ "semseter", "semester",
+ "senarios", "scenarios",
+ "senerity", "serenity",
+ "seniores", "seniors",
+ "senisble", "sensible",
+ "sensibel", "sensible",
+ "sensores", "sensors",
+ "senstive", "sensitive",
+ "sentaors", "senators",
+ "sentiers", "sentries",
+ "sentinet", "sentient",
+ "sentinte", "sentient",
+ "sentires", "sentries",
+ "sentreis", "sentries",
+ "separato", "separation",
+ "separete", "seperate",
+ "sepearte", "seperate",
+ "seperate", "separate",
+ "seplling", "spelling",
+ "sepreate", "seperate",
+ "sepulcre", "sepulchre",
+ "serached", "searched",
+ "seraches", "searches",
+ "serentiy", "serenity",
+ "sergaent", "sergeant",
+ "settigns", "settings",
+ "seventen", "seventeen",
+ "severeal", "several",
+ "severeid", "severed",
+ "severide", "severed",
+ "severley", "severely",
+ "sexaully", "sexually",
+ "seziures", "seizures",
+ "sezuires", "seizures",
+ "shadoloo", "shadaloo",
+ "shangahi", "shanghai",
+ "shanghia", "shanghai",
+ "sharplay", "sharply",
+ "sharpley", "sharply",
+ "shawshak", "shawshank",
+ "shcolars", "scholars",
+ "shcooled", "schooled",
+ "sheilded", "shielded",
+ "shelterd", "sheltered",
+ "shelvers", "shelves",
+ "shelveys", "shelves",
+ "sherlcok", "sherlock",
+ "shetlers", "shelters",
+ "shfiting", "shifting",
+ "shifitng", "shifting",
+ "shifteer", "shifter",
+ "shileded", "shielded",
+ "shineing", "shining",
+ "shitstom", "shitstorm",
+ "shittoon", "shitton",
+ "shittown", "shitton",
+ "shleters", "shelters",
+ "shnaghai", "shanghai",
+ "shortend", "shortened",
+ "shotuout", "shoutout",
+ "shoudlnt", "shouldnt",
+ "shouldes", "shoulders",
+ "shoulndt", "shouldnt",
+ "shrapenl", "shrapnel",
+ "shrelock", "sherlock",
+ "shrinked", "shrunk",
+ "shrpanel", "shrapnel",
+ "shtiless", "shitless",
+ "shuoldnt", "shouldnt",
+ "sideboad", "sideboard",
+ "sidleine", "sideline",
+ "siezable", "sizeable",
+ "siezures", "seizures",
+ "signatue", "signatures",
+ "signfies", "signifies",
+ "signifiy", "signify",
+ "signigns", "signings",
+ "signular", "singular",
+ "silbings", "siblings",
+ "silicoln", "silicon",
+ "silicoon", "silicon",
+ "silimiar", "similiar",
+ "simialir", "similiar",
+ "simiilar", "similiar",
+ "similair", "similar",
+ "similari", "similiar",
+ "similart", "similarity",
+ "similary", "similarly",
+ "similiar", "similar",
+ "simliiar", "similiar",
+ "simluate", "simulate",
+ "simmilar", "similar",
+ "simpelst", "simplest",
+ "simplets", "simplest",
+ "simplicy", "simplicity",
+ "simplier", "simpler",
+ "simulato", "simulation",
+ "singlers", "singles",
+ "singluar", "singular",
+ "sinistre", "sinister",
+ "sinsiter", "sinister",
+ "sitckers", "stickers",
+ "sitrring", "stirring",
+ "sizebale", "sizeable",
+ "skateing", "skating",
+ "skecthes", "sketches",
+ "skelatel", "skeletal",
+ "skeletos", "skeletons",
+ "sketchey", "sketchy",
+ "sketpics", "skeptics",
+ "skillsto", "skillshots",
+ "skimrish", "skirmish",
+ "skpetics", "skeptics",
+ "skrimish", "skirmish",
+ "skteches", "sketches",
+ "skywalkr", "skywalker",
+ "slaptoon", "splatoon",
+ "slaverly", "slavery",
+ "slienced", "silenced",
+ "sliently", "silently",
+ "slighlty", "slightly",
+ "sligthly", "slightly",
+ "smartare", "smarter",
+ "snetries", "sentries",
+ "snippent", "snippet",
+ "snippert", "snippet",
+ "snowbals", "snowballs",
+ "snugglie", "snuggle",
+ "snydrome", "syndrome",
+ "snyopsis", "synopsis",
+ "soberity", "sobriety",
+ "sobreity", "sobriety",
+ "socailly", "socially",
+ "socalism", "socialism",
+ "socartes", "socrates",
+ "socialim", "socialism",
+ "socities", "societies",
+ "socttish", "scottish",
+ "soemthin", "somethin",
+ "soilders", "soldiers",
+ "solatary", "solitary",
+ "soldeirs", "soldiers",
+ "soliders", "soldiers",
+ "soluable", "soluble",
+ "solutide", "solitude",
+ "somalija", "somalia",
+ "somehtin", "somethin",
+ "someoens", "someones",
+ "somethis", "somethings",
+ "sometihn", "somethin",
+ "sometinh", "somethin",
+ "somoenes", "someones",
+ "somtimes", "sometimes",
+ "somwhere", "somewhere",
+ "soparnos", "sopranos",
+ "sophmore", "sophomore",
+ "sorcercy", "sorcery",
+ "sorcerey", "sorcery",
+ "sorceror", "sorcerer",
+ "sorcerry", "sorcery",
+ "sorpanos", "sopranos",
+ "southren", "southern",
+ "soverein", "sovereign",
+ "soverign", "sovereign",
+ "sovietes", "soviets",
+ "spagheti", "spaghetti",
+ "spainish", "spanish",
+ "spaltoon", "splatoon",
+ "spammade", "spammed",
+ "spammare", "spammer",
+ "spammear", "spammer",
+ "spammend", "spammed",
+ "spammeur", "spammer",
+ "spanisch", "spanish",
+ "sparklie", "sparkle",
+ "spawnign", "spawning",
+ "specemin", "specimen",
+ "speciaal", "special",
+ "specialt", "specialist",
+ "specialy", "specially",
+ "specialz", "specialize",
+ "specifed", "specified",
+ "specifiy", "specify",
+ "speciman", "specimen",
+ "specrtal", "spectral",
+ "speicals", "specials",
+ "spellign", "spelling",
+ "spendour", "splendour",
+ "sphereos", "spheres",
+ "spilnter", "splinter",
+ "spiltter", "splitter",
+ "spindrel", "spindle",
+ "spirites", "spirits",
+ "spiritis", "spirits",
+ "spiritus", "spirits",
+ "spirtied", "spirited",
+ "spleling", "spelling",
+ "splitner", "splinter",
+ "spoilerd", "spoiled",
+ "spoliers", "spoilers",
+ "sponsord", "sponsored",
+ "sporanos", "sopranos",
+ "spotifiy", "spotify",
+ "spotifty", "spotify",
+ "sppeches", "speeches",
+ "sprayade", "sprayed",
+ "spreaded", "spread",
+ "springst", "sprints",
+ "sprinkel", "sprinkle",
+ "sprintas", "sprints",
+ "spritual", "spiritual",
+ "sproutes", "sprouts",
+ "spwaning", "spawning",
+ "sqaudron", "squadron",
+ "sqaurely", "squarely",
+ "sqiurtle", "squirtle",
+ "squardon", "squadron",
+ "squareds", "squares",
+ "squarley", "squarely",
+ "squeakey", "squeaky",
+ "squeakly", "squeaky",
+ "squirlte", "squirtle",
+ "squirrle", "squirrel",
+ "squirtel", "squirtle",
+ "squishey", "squishy",
+ "squishly", "squishy",
+ "squritle", "squirtle",
+ "squrriel", "squirrel",
+ "squrtile", "squirtle",
+ "sriarcha", "sriracha",
+ "srriacha", "sriracha",
+ "sryacuse", "syracuse",
+ "staduims", "stadiums",
+ "staidums", "stadiums",
+ "staklers", "stalkers",
+ "stalekrs", "stalkers",
+ "stalkear", "stalker",
+ "staminia", "stamina",
+ "stampade", "stamped",
+ "stampeed", "stamped",
+ "stancels", "stances",
+ "stancers", "stances",
+ "standars", "standards",
+ "standbay", "standby",
+ "standbuy", "standby",
+ "stangant", "stagnant",
+ "staright", "straight",
+ "starined", "strained",
+ "starlted", "startled",
+ "startegy", "strategy",
+ "starteld", "startled",
+ "startsup", "startups",
+ "stateman", "statesman",
+ "staticts", "statist",
+ "stationd", "stationed",
+ "stationy", "stationary",
+ "statiskt", "statist",
+ "statistc", "statistic",
+ "statment", "statement",
+ "stattues", "statutes",
+ "statuets", "statutes",
+ "statuser", "stature",
+ "staurday", "saturday",
+ "steadliy", "steadily",
+ "stealhty", "stealthy",
+ "steathly", "stealthy",
+ "stelathy", "stealthy",
+ "sterilze", "sterile",
+ "steriods", "steroids",
+ "stichted", "stitched",
+ "sticthed", "stitched",
+ "sticthes", "stitches",
+ "stimulai", "stimuli",
+ "stimulas", "stimulants",
+ "stimulat", "stimulants",
+ "stimulli", "stimuli",
+ "stingent", "stringent",
+ "stirkers", "strikers",
+ "stlakers", "stalkers",
+ "stomache", "stomach",
+ "stormade", "stormed",
+ "stormend", "stormed",
+ "stradegy", "strategy",
+ "stragety", "strategy",
+ "straignt", "straighten",
+ "straigth", "straight",
+ "straings", "strains",
+ "strangel", "strangle",
+ "stranget", "strangest",
+ "stratgey", "strategy",
+ "stratled", "startled",
+ "streames", "streams",
+ "streamos", "streams",
+ "streamus", "streams",
+ "streamys", "streams",
+ "stregnth", "strength",
+ "stremear", "streamer",
+ "strenght", "strength",
+ "strengts", "strengths",
+ "strenous", "strenuous",
+ "strentgh", "strength",
+ "stretchs", "stretches",
+ "striaght", "straight",
+ "striclty", "strictly",
+ "striekrs", "strikers",
+ "strikely", "strikingly",
+ "stringet", "stringent",
+ "stubbron", "stubborn",
+ "stubmled", "stumbled",
+ "stucture", "structure",
+ "studioes", "studios",
+ "stuipder", "stupider",
+ "stumbeld", "stumbled",
+ "stupdily", "stupidly",
+ "stupidiy", "stupidity",
+ "stylisch", "stylish",
+ "styrofom", "styrofoam",
+ "suasages", "sausages",
+ "subltety", "subtlety",
+ "submarie", "submarines",
+ "subruban", "suburban",
+ "subscrie", "subscriber",
+ "subsidie", "subsidized",
+ "subsidiy", "subsidy",
+ "substace", "substance",
+ "substans", "substances",
+ "substite", "substitute",
+ "subtelty", "subtlety",
+ "subtetly", "subtlety",
+ "subtilte", "subtitle",
+ "subtitel", "subtitle",
+ "subtitls", "subtitles",
+ "subtltey", "subtlety",
+ "succeded", "succeeded",
+ "succedes", "succeeds",
+ "succeeed", "succeed",
+ "succesed", "succeeds",
+ "successs", "successes",
+ "succsess", "success",
+ "suceeded", "succeeded",
+ "sucesful", "successful",
+ "sucesion", "succession",
+ "sucesses", "successes",
+ "sucessor", "successor",
+ "sucessot", "successor",
+ "sucidial", "suicidal",
+ "suddnely", "suddenly",
+ "sufficit", "sufficient",
+ "suggesst", "suggests",
+ "suggeste", "suggestive",
+ "summenor", "summoner",
+ "summones", "summoners",
+ "sunfiber", "sunfire",
+ "sunscren", "sunscreen",
+ "superham", "superhuman",
+ "superheo", "superhero",
+ "superios", "superiors",
+ "supirsed", "suprised",
+ "suposing", "supposing",
+ "supporre", "supporters",
+ "suprised", "surprised",
+ "suprized", "surprised",
+ "suprsied", "suprised",
+ "supsects", "suspects",
+ "supsense", "suspense",
+ "surbuban", "suburban",
+ "surounds", "surrounds",
+ "surpases", "surpass",
+ "surpress", "suppress",
+ "surprize", "surprise",
+ "surrouns", "surrounds",
+ "surveill", "surveil",
+ "surveyer", "surveyor",
+ "surviver", "survivor",
+ "suspened", "suspend",
+ "suspenso", "suspension",
+ "swaering", "swearing",
+ "swansoon", "swanson",
+ "swasitka", "swastika",
+ "swaskita", "swastika",
+ "swatiska", "swastika",
+ "swatsika", "swastika",
+ "swedisch", "swedish",
+ "swiftley", "swiftly",
+ "swithced", "switched",
+ "swithces", "switches",
+ "swtiched", "switched",
+ "swtiches", "switches",
+ "syarcuse", "syracuse",
+ "sydnrome", "syndrome",
+ "sylablle", "syllable",
+ "syllabel", "syllable",
+ "symapthy", "sympathy",
+ "symboles", "symbols",
+ "symhpony", "symphony",
+ "symmerty", "symmetry",
+ "symmtery", "symmetry",
+ "symoblic", "symbolic",
+ "symphaty", "sympathy",
+ "symptoom", "symptom",
+ "symtpoms", "symptoms",
+ "synomyns", "synonyms",
+ "synonmys", "synonyms",
+ "synonomy", "synonym",
+ "synoynms", "synonyms",
+ "synphony", "symphony",
+ "synposis", "synopsis",
+ "sypmathy", "sympathy",
+ "sypmtoms", "symptoms",
+ "sypnosis", "synopsis",
+ "syraucse", "syracuse",
+ "syrcause", "syracuse",
+ "syringae", "syringe",
+ "syringue", "syringe",
+ "sysamdin", "sysadmin",
+ "sysdamin", "sysadmin",
+ "tacticas", "tactics",
+ "tacticts", "tactics",
+ "tacticus", "tactics",
+ "tagliate", "tailgate",
+ "tahnkyou", "thankyou",
+ "tailsman", "talisman",
+ "taiwanee", "taiwanese",
+ "taligate", "tailgate",
+ "taliored", "tailored",
+ "tallents", "tallest",
+ "talsiman", "talisman",
+ "tanturms", "tantrums",
+ "tapitude", "aptitude",
+ "tasliman", "talisman",
+ "tattooes", "tattoos",
+ "tattooos", "tattoos",
+ "taxanomy", "taxonomy",
+ "teamfigt", "teamfight",
+ "teamspek", "teamspeak",
+ "teancity", "tenacity",
+ "teapsoon", "teaspoon",
+ "techniqe", "technique",
+ "teenages", "teenagers",
+ "telegrah", "telegraph",
+ "telphony", "telephony",
+ "tempalrs", "templars",
+ "tempalte", "template",
+ "templats", "templates",
+ "templeos", "temples",
+ "templers", "temples",
+ "temporay", "temporary",
+ "temprary", "temporary",
+ "tenacles", "tentacles",
+ "tenactiy", "tenacity",
+ "tencaity", "tenacity",
+ "tendancy", "tendency",
+ "tendence", "tendencies",
+ "tentacel", "tentacle",
+ "tentacls", "tentacles",
+ "tentalce", "tentacle",
+ "tequilia", "tequila",
+ "terriory", "territory",
+ "territoy", "territory",
+ "terroist", "terrorist",
+ "tesitcle", "testicle",
+ "testicel", "testicle",
+ "testifiy", "testify",
+ "teusdays", "tuesdays",
+ "texutres", "textures",
+ "thaliand", "thailand",
+ "theather", "theater",
+ "theathre", "theater",
+ "theature", "theater",
+ "theisitc", "theistic",
+ "themslef", "themself",
+ "theorits", "theorist",
+ "theraphy", "therapy",
+ "thereian", "therein",
+ "theroies", "theories",
+ "theroist", "theorist",
+ "thesitic", "theistic",
+ "thialand", "thailand",
+ "thiestic", "theistic",
+ "thikning", "thinking",
+ "thirites", "thirties",
+ "thirstay", "thirsty",
+ "thnakyou", "thankyou",
+ "thoeries", "theories",
+ "thoerist", "theorist",
+ "thomspon", "thompson",
+ "thopmson", "thompson",
+ "thougths", "thoughts",
+ "thourogh", "thorough",
+ "threates", "threatens",
+ "threefor", "therefor",
+ "thriteen", "thirteen",
+ "thrities", "thirties",
+ "throaths", "throats",
+ "throners", "thrones",
+ "throough", "thorough",
+ "throught", "thought",
+ "thrusday", "thursday",
+ "thumbnal", "thumbnails",
+ "thurdsay", "thursday",
+ "thursdsy", "thursdays",
+ "tightare", "tighter",
+ "timestap", "timestamp",
+ "tirangle", "triangle",
+ "tirbunal", "tribunal",
+ "titainum", "titanium",
+ "titanuim", "titanium",
+ "tocuhpad", "touchpad",
+ "togehter", "together",
+ "togheter", "together",
+ "toiletts", "toilets",
+ "tolerabe", "tolerable",
+ "tommorow", "tomorrow",
+ "tonguers", "tongues",
+ "toriodal", "toroidal",
+ "toritlla", "tortilla",
+ "tornadoe", "tornado",
+ "torotise", "tortoise",
+ "torpedeo", "torpedo",
+ "torphies", "trophies",
+ "tortiose", "tortoise",
+ "toruisty", "touristy",
+ "toruneys", "tourneys",
+ "touchapd", "touchpad",
+ "tounreys", "tourneys",
+ "tourisim", "tourism",
+ "touritsy", "touristy",
+ "tournyes", "tourneys",
+ "toursits", "tourists",
+ "toursity", "touristy",
+ "toxiticy", "toxicity",
+ "trabajao", "trabajo",
+ "trabajdo", "trabajo",
+ "trackres", "trackers",
+ "trageted", "targeted",
+ "traingle", "triangle",
+ "traitour", "traitor",
+ "trakcers", "trackers",
+ "traliers", "trailers",
+ "tranform", "transform",
+ "transeat", "translates",
+ "transfom", "transform",
+ "transfos", "transforms",
+ "transiet", "transient",
+ "transito", "transition",
+ "transpot", "transport",
+ "trasnfer", "transfer",
+ "tratiors", "traitors",
+ "traveles", "travels",
+ "traveres", "traverse",
+ "treasurs", "treasures",
+ "treatmet", "treatments",
+ "treatsie", "treaties",
+ "treausre", "treasure",
+ "tredning", "trending",
+ "tremelos", "tremolos",
+ "tresuary", "treasury",
+ "trialers", "trailers",
+ "trianers", "trainers",
+ "triangel", "triangle",
+ "triangls", "triangles",
+ "trianing", "training",
+ "trianlge", "triangle",
+ "triators", "traitors",
+ "tribuanl", "tribunal",
+ "trickyer", "trickery",
+ "triggern", "triggering",
+ "trilogoy", "trilogy",
+ "trinagle", "triangle",
+ "trinekts", "trinkets",
+ "tringale", "triangle",
+ "trinitiy", "trinity",
+ "triology", "trilogy",
+ "triumpth", "triumph",
+ "trohpies", "trophies",
+ "trollade", "trolled",
+ "tropcial", "tropical",
+ "trotilla", "tortilla",
+ "trpoical", "tropical",
+ "trubinal", "tribunal",
+ "trubines", "turbines",
+ "tsunamai", "tsunami",
+ "tuesdsay", "tuesdays",
+ "tunnells", "tunnels",
+ "turkisch", "turkish",
+ "turntabe", "turntable",
+ "turretts", "turrets",
+ "tusedays", "tuesdays",
+ "tutorual", "tutorial",
+ "twilgiht", "twilight",
+ "tylenool", "tylenol",
+ "typicaly", "typically",
+ "tyranies", "tyrannies",
+ "tyrannia", "tyrannical",
+ "ublisher", "publisher",
+ "udnercut", "undercut",
+ "udnerdog", "underdog",
+ "ugpraded", "upgraded",
+ "ugprades", "upgrades",
+ "ukrainie", "ukraine",
+ "ukrainin", "ukrainian",
+ "ukranian", "ukrainian",
+ "ulitmate", "ultimate",
+ "ultamite", "ultimate",
+ "ultiamte", "ultimate",
+ "ultimely", "ultimately",
+ "ultrason", "ultrasound",
+ "umberlla", "umbrella",
+ "unabnned", "unbanned",
+ "unbanend", "unbanned",
+ "uncanney", "uncanny",
+ "uncannny", "uncanny",
+ "underbog", "undergo",
+ "underglo", "undergo",
+ "undersog", "undergo",
+ "undertoe", "undertones",
+ "underwar", "underwater",
+ "unfailry", "unfairly",
+ "unfarily", "unfairly",
+ "ungodley", "ungodly",
+ "unhapppy", "unhappy",
+ "unhealty", "unhealthy",
+ "unicrons", "unicorns",
+ "unifroms", "uniforms",
+ "uniquley", "uniquely",
+ "univeral", "universal",
+ "unlikley", "unlikely",
+ "unlockes", "unlocks",
+ "unluckly", "unlucky",
+ "unpoened", "unopened",
+ "unqiuely", "uniquely",
+ "unrakned", "unranked",
+ "unrnaked", "unranked",
+ "unrpoven", "unproven",
+ "unsuable", "unusable",
+ "untraind", "untrained",
+ "unusualy", "unusually",
+ "unvierse", "universe",
+ "unworhty", "unworthy",
+ "upgarded", "upgraded",
+ "upgardes", "upgrades",
+ "uploades", "uploads",
+ "upstaris", "upstairs",
+ "upstiars", "upstairs",
+ "urethrea", "urethra",
+ "uruguary", "uruguay",
+ "ususally", "usually",
+ "utilitiy", "utility",
+ "utlimate", "ultimate",
+ "vaccinae", "vaccinated",
+ "vaccinet", "vaccinated",
+ "vacinity", "vicinity",
+ "vaguelly", "vaguely",
+ "vaiation", "aviation",
+ "vaieties", "varieties",
+ "vailidty", "validity",
+ "vairable", "variable",
+ "vaklyrie", "valkyrie",
+ "valenica", "valencia",
+ "valentie", "valentines",
+ "valentis", "valentines",
+ "validade", "validated",
+ "valkirye", "valkyrie",
+ "valkiyre", "valkyrie",
+ "valkriye", "valkyrie",
+ "valkryie", "valkyrie",
+ "valkyire", "valkyrie",
+ "valnecia", "valencia",
+ "valubale", "valuable",
+ "valykrie", "valkyrie",
+ "vamipres", "vampires",
+ "vampiers", "vampires",
+ "vampries", "vampires",
+ "vangurad", "vanguard",
+ "vanillia", "vanilla",
+ "vanillla", "vanilla",
+ "vanugard", "vanguard",
+ "varaible", "variable",
+ "varaints", "variants",
+ "variabel", "variable",
+ "varibale", "variable",
+ "varities", "varieties",
+ "vassales", "vassals",
+ "vassalls", "vassals",
+ "vassalos", "vassals",
+ "vaticaan", "vatican",
+ "vaticina", "vatican",
+ "vaulable", "valuable",
+ "vaylkrie", "valkyrie",
+ "vechiles", "vehicles",
+ "vectores", "vectors",
+ "vegansim", "veganism",
+ "vegtable", "vegetable",
+ "vehciles", "vehicles",
+ "vehicels", "vehicles",
+ "vehicule", "vehicle",
+ "veichles", "vehicles",
+ "venelope", "envelope",
+ "venemous", "venomous",
+ "vengance", "vengeance",
+ "vengence", "vengeance",
+ "verablly", "verbally",
+ "verbaitm", "verbatim",
+ "verisons", "versions",
+ "versatel", "versatile",
+ "vertabim", "verbatim",
+ "vertigro", "vertigo",
+ "vesseles", "vessels",
+ "vessells", "vessels",
+ "viabiliy", "viability",
+ "viatmins", "vitamins",
+ "vibratie", "vibrate",
+ "vibratin", "vibration",
+ "vicintiy", "vicinity",
+ "vicseral", "visceral",
+ "victimas", "victims",
+ "victimes", "victims",
+ "victorin", "victorian",
+ "victoris", "victories",
+ "vieweres", "viewers",
+ "viewpoit", "viewpoints",
+ "vigilane", "vigilante",
+ "vigliant", "vigilant",
+ "vikingos", "vikings",
+ "viligant", "vigilant",
+ "villegas", "villages",
+ "vindicte", "vindictive",
+ "vinicity", "vicinity",
+ "violatin", "violation",
+ "violenty", "violently",
+ "violetas", "violates",
+ "virament", "vraiment",
+ "virbator", "vibrator",
+ "virginas", "virgins",
+ "virgines", "virgins",
+ "virgings", "virgins",
+ "virginis", "virgins",
+ "virginus", "virgins",
+ "virtualy", "virtually",
+ "virtuels", "virtues",
+ "virtuose", "virtues",
+ "viscreal", "visceral",
+ "visercal", "visceral",
+ "visibily", "visibility",
+ "visibley", "visibly",
+ "visiblly", "visibly",
+ "vitailty", "vitality",
+ "vitimans", "vitamins",
+ "vitmains", "vitamins",
+ "vitories", "victories",
+ "voicemal", "voicemail",
+ "voilates", "violates",
+ "volatily", "volatility",
+ "volcando", "volcano",
+ "volcanoe", "volcano",
+ "volcaron", "volcano",
+ "vriament", "vraiment",
+ "wahtever", "whatever",
+ "wallpapr", "wallpapers",
+ "warantee", "warranty",
+ "warcarft", "warcraft",
+ "warrante", "warranties",
+ "warriros", "warriors",
+ "watchemn", "watchmen",
+ "watchign", "watching",
+ "wathcing", "watching",
+ "wathcmen", "watchmen",
+ "wathever", "whatever",
+ "watkings", "watkins",
+ "wealthly", "wealthy",
+ "webistes", "websites",
+ "websties", "websites",
+ "wednesdy", "wednesdays",
+ "weigthed", "weighted",
+ "weridest", "weirdest",
+ "werstler", "wrestler",
+ "wesbites", "websites",
+ "westbrok", "westbrook",
+ "westerse", "westerners",
+ "wherease", "whereas",
+ "whipsers", "whispers",
+ "whislist", "wishlist",
+ "whisltes", "whistles",
+ "whisperd", "whispered",
+ "whistels", "whistles",
+ "whitsles", "whistles",
+ "whsipers", "whispers",
+ "widgetas", "widgets",
+ "wieghted", "weighted",
+ "willaims", "williams",
+ "willfuly", "willfully",
+ "willimas", "williams",
+ "windsoar", "windsor",
+ "wininpeg", "winnipeg",
+ "winnigns", "winnings",
+ "winnpieg", "winnipeg",
+ "wiredest", "weirdest",
+ "wishlsit", "wishlist",
+ "wishpers", "whispers",
+ "withdral", "withdrawal",
+ "witnesss", "witnesses",
+ "wonderes", "wonders",
+ "wonderus", "wonders",
+ "workfore", "workforce",
+ "wouldnot", "wouldnt",
+ "wranlger", "wrangler",
+ "wreckign", "wrecking",
+ "wrecthed", "wretched",
+ "wrekcing", "wrecking",
+ "wreslter", "wrestler",
+ "wresters", "wrestlers",
+ "writting", "writing",
+ "wrnagler", "wrangler",
+ "wrteched", "wretched",
+ "yeilding", "yielding",
+ "yoesmite", "yosemite",
+ "yorksher", "yorkshire",
+ "yorkshie", "yorkshire",
+ "yosemeti", "yosemite",
+ "yosimete", "yosemite",
+ "zealotes", "zealots",
+ "zealoths", "zealots",
+ "zealotus", "zealots",
+ "zealouts", "zealous",
+ "zepplein", "zeppelin",
+ "zepplien", "zeppelin",
+ "zimbabew", "zimbabwe",
+ "zimbawbe", "zimbabwe",
+ "zinoists", "zionists",
+ "zionisim", "zionism",
+ "zionistm", "zionism",
+ "zionsits", "zionists",
+ "zoinists", "zionists",
+ "abiltiy", "ability",
+ "abodmen", "abdomen",
+ "abondon", "abandon",
+ "aboslve", "absolve",
+ "abosrbs", "absorbs",
+ "abriter", "arbiter",
+ "abrupty", "abruptly",
+ "absense", "absence",
+ "absolue", "absolute",
+ "absovle", "absolve",
+ "absrobs", "absorbs",
+ "absuers", "abusers",
+ "absurdy", "absurdly",
+ "absymal", "abysmal",
+ "abymsal", "abysmal",
+ "acadamy", "academy",
+ "acadmic", "academic",
+ "accesss", "access",
+ "accpets", "accepts",
+ "accross", "across",
+ "accuray", "accuracy",
+ "acheive", "achieve",
+ "achived", "achieved",
+ "acident", "accident",
+ "ackward", "awkward",
+ "acrlyic", "acrylic",
+ "actauly", "actualy",
+ "activit", "activist",
+ "activly", "actively",
+ "actualy", "actually",
+ "actulay", "actualy",
+ "acuracy", "accuracy",
+ "acusing", "causing",
+ "acustom", "accustom",
+ "acutaly", "actualy",
+ "acyrlic", "acrylic",
+ "adaptes", "adapters",
+ "adatper", "adapter",
+ "adbomen", "abdomen",
+ "addcits", "addicts",
+ "adderss", "address",
+ "addtion", "addition",
+ "adequet", "adequate",
+ "adequit", "adequate",
+ "adivser", "adviser",
+ "adivsor", "advisor",
+ "admited", "admitted",
+ "admrial", "admiral",
+ "adpater", "adapter",
+ "adquire", "acquire",
+ "adultey", "adultery",
+ "adverst", "adverts",
+ "adviced", "advised",
+ "advocay", "advocacy",
+ "advsior", "advisor",
+ "aeriels", "aerials",
+ "affaris", "affairs",
+ "affiars", "affairs",
+ "afircan", "african",
+ "africas", "africans",
+ "afwully", "awfully",
+ "againts", "against",
+ "agaisnt", "against",
+ "aganist", "against",
+ "aggreed", "agreed",
+ "agianst", "against",
+ "agreing", "agreeing",
+ "agruing", "arguing",
+ "ahtiest", "athiest",
+ "aicraft", "aircraft",
+ "ailmony", "alimony",
+ "airbore", "airborne",
+ "aircaft", "aircraft",
+ "airlfow", "airflow",
+ "airosft", "airsoft",
+ "airpost", "airports",
+ "airsfot", "airsoft",
+ "airzona", "arizona",
+ "alchmey", "alchemy",
+ "alchool", "alcohol",
+ "alcohal", "alcohol",
+ "aledged", "alleged",
+ "aledges", "alleges",
+ "alegbra", "algebra",
+ "algerba", "algebra",
+ "alienet", "alienate",
+ "alledge", "allege",
+ "allegry", "allergy",
+ "alltime", "all-time",
+ "almighy", "almighty",
+ "alochol", "alcohol",
+ "alotted", "allotted",
+ "alowing", "allowing",
+ "alphabt", "alphabet",
+ "alreayd", "already",
+ "alrighy", "alrighty",
+ "altanta", "atlanta",
+ "alteast", "atleast",
+ "altough", "although",
+ "alusion", "allusion",
+ "amateus", "amateurs",
+ "amatuer", "amateur",
+ "amature", "armature",
+ "amensia", "amnesia",
+ "amensty", "amnesty",
+ "amercia", "america",
+ "americs", "americas",
+ "ammount", "amount",
+ "ammused", "amused",
+ "amneisa", "amnesia",
+ "amnsety", "amnesty",
+ "amognst", "amongst",
+ "amongts", "amongst",
+ "amonsgt", "amongst",
+ "ampilfy", "amplify",
+ "amrpits", "armpits",
+ "analoge", "analogue",
+ "analsyt", "analyst",
+ "analyes", "analyse",
+ "analyts", "analyst",
+ "analzye", "analyze",
+ "anaylse", "analyse",
+ "anaylst", "analyst",
+ "anaylze", "analyze",
+ "anceint", "ancient",
+ "andorid", "android",
+ "andriod", "android",
+ "androis", "androids",
+ "angirly", "angrily",
+ "angluar", "angular",
+ "angualr", "angular",
+ "anicent", "ancient",
+ "anitque", "antique",
+ "anixety", "anxiety",
+ "anmesia", "amnesia",
+ "anmesty", "amnesty",
+ "annoint", "anoint",
+ "annualy", "annually",
+ "annuled", "annulled",
+ "anohter", "another",
+ "anomoly", "anomaly",
+ "answerd", "answered",
+ "anuglar", "angular",
+ "anulled", "annulled",
+ "anwsers", "answers",
+ "anwyays", "anyways",
+ "anxeity", "anxiety",
+ "anyoens", "anyones",
+ "anyonse", "anyones",
+ "anywyas", "anyways",
+ "aparent", "apparent",
+ "appeard", "appeared",
+ "appluad", "applaud",
+ "aproval", "approval",
+ "apsects", "aspects",
+ "apshalt", "asphalt",
+ "apsirin", "aspirin",
+ "aqcuire", "acquire",
+ "aquarim", "aquarium",
+ "aquired", "acquired",
+ "aranged", "arranged",
+ "arbitre", "arbiter",
+ "arcahic", "archaic",
+ "archiac", "archaic",
+ "arcylic", "acrylic",
+ "aresnal", "arsenal",
+ "aretmis", "artemis",
+ "argubly", "arguably",
+ "aribter", "arbiter",
+ "ariflow", "airflow",
+ "arisoft", "airsoft",
+ "aritsts", "artists",
+ "armchar", "armchair",
+ "arogant", "arrogant",
+ "arogent", "arrogant",
+ "arresst", "arrests",
+ "arround", "around",
+ "arsneal", "arsenal",
+ "artcile", "article",
+ "artical", "article",
+ "articel", "article",
+ "artistc", "artistic",
+ "artmeis", "artemis",
+ "artsits", "artists",
+ "aruging", "arguing",
+ "aseuxal", "asexual",
+ "asexaul", "asexual",
+ "ashpalt", "asphalt",
+ "asiprin", "aspirin",
+ "asissts", "assists",
+ "asnwers", "answers",
+ "asorbed", "absorbed",
+ "aspahlt", "asphalt",
+ "asphlat", "asphalt",
+ "aspriin", "aspirin",
+ "assagne", "assange",
+ "assasin", "assassin",
+ "assembe", "assemble",
+ "assemby", "assembly",
+ "assisst", "assists",
+ "assnage", "assange",
+ "asssits", "assists",
+ "assualt", "assault",
+ "asterik", "asterisk",
+ "asutria", "austria",
+ "atcualy", "actualy",
+ "atelast", "atleast",
+ "athesim", "atheism",
+ "athiesm", "atheism",
+ "athiest", "atheist",
+ "athiets", "athiest",
+ "athlets", "athletes",
+ "atlantc", "atlantic",
+ "atleats", "atleast",
+ "atlesat", "atleast",
+ "atorney", "attorney",
+ "atremis", "artemis",
+ "attemps", "attempts",
+ "attemts", "attempts",
+ "attened", "attended",
+ "attracs", "attracts",
+ "audbile", "audible",
+ "audibel", "audible",
+ "austira", "austria",
+ "austrai", "austria",
+ "autistc", "autistic",
+ "avation", "aviation",
+ "avtaars", "avatars",
+ "awakend", "awakened",
+ "bablyon", "babylon",
+ "backdor", "backdoor",
+ "backsta", "backseat",
+ "baclony", "balcony",
+ "badnits", "bandits",
+ "baiscly", "basicly",
+ "bakcers", "backers",
+ "balanse", "balances",
+ "balcked", "blacked",
+ "banhsee", "banshee",
+ "bankgok", "bangkok",
+ "baoynet", "bayonet",
+ "baptims", "baptism",
+ "baptsim", "baptism",
+ "baragin", "bargain",
+ "bargani", "bargain",
+ "bargian", "bargain",
+ "bariner", "brainer",
+ "barlkey", "barkley",
+ "barracs", "barracks",
+ "barrles", "barrels",
+ "barsita", "barista",
+ "barvery", "bravery",
+ "bascily", "basicly",
+ "basicly", "basically",
+ "basilcy", "basicly",
+ "basiton", "bastion",
+ "basnhee", "banshee",
+ "bastane", "bastante",
+ "bastars", "bastards",
+ "bastino", "bastion",
+ "bathrom", "bathroom",
+ "batitsa", "batista",
+ "batsita", "batista",
+ "bayblon", "babylon",
+ "baynoet", "bayonet",
+ "bayoent", "bayonet",
+ "bceuase", "becuase",
+ "beacuse", "because",
+ "bealtes", "beatles",
+ "beaslty", "beastly",
+ "beatels", "beatles",
+ "beaucop", "beaucoup",
+ "becamae", "became",
+ "becames", "becomes",
+ "becasue", "because",
+ "becouse", "because",
+ "becuaes", "becuase",
+ "becuase", "because",
+ "becusae", "becuase",
+ "befried", "befriend",
+ "beggins", "begins",
+ "beglian", "belgian",
+ "beglium", "belgium",
+ "begnals", "bengals",
+ "bejiing", "beijing",
+ "beleifs", "beliefs",
+ "beleive", "believe",
+ "belgain", "belgian",
+ "belguim", "belgium",
+ "believr", "believer",
+ "believs", "believes",
+ "belifes", "beliefs",
+ "beligan", "belgian",
+ "beligum", "belgium",
+ "belived", "believed",
+ "belives", "believes",
+ "benagls", "bengals",
+ "benedit", "benedict",
+ "benghai", "benghazi",
+ "benglas", "bengals",
+ "benifit", "benefit",
+ "beoynce", "beyonce",
+ "beraded", "bearded",
+ "bersekr", "berserk",
+ "beseige", "besiege",
+ "betales", "beatles",
+ "bethesa", "bethesda",
+ "betrayd", "betrayed",
+ "beucase", "becuase",
+ "bewteen", "between",
+ "bicthes", "bitches",
+ "bidrman", "birdman",
+ "biejing", "beijing",
+ "bifgoot", "bigfoot",
+ "bigorty", "bigotry",
+ "bigtoed", "bigoted",
+ "bigtory", "bigotry",
+ "biogted", "bigoted",
+ "biogtry", "bigotry",
+ "bioplar", "bipolar",
+ "biploar", "bipolar",
+ "birdamn", "birdman",
+ "birdges", "bridges",
+ "birgade", "brigade",
+ "bitcion", "bitcoin",
+ "bithced", "bitched",
+ "bithces", "bitches",
+ "bitocin", "bitcoin",
+ "bizzare", "bizarre",
+ "blacony", "balcony",
+ "blaimed", "blamed",
+ "blankes", "blankets",
+ "blegian", "belgian",
+ "blegium", "belgium",
+ "blizzad", "blizzard",
+ "blockes", "blockers",
+ "bloster", "bolster",
+ "blulets", "bullets",
+ "bobmers", "bombers",
+ "bollocs", "bollocks",
+ "bondary", "boundary",
+ "bonnano", "bonanno",
+ "bonsues", "bonuses",
+ "boraden", "broaden",
+ "borader", "broader",
+ "boradly", "broadly",
+ "bordeom", "boredom",
+ "boslter", "bolster",
+ "boudler", "boulder",
+ "boundry", "boundary",
+ "bounses", "bonuses",
+ "boutiqe", "boutique",
+ "bouyant", "buoyant",
+ "braevry", "bravery",
+ "braista", "barista",
+ "brakley", "barkley",
+ "branier", "brainer",
+ "braoden", "broaden",
+ "braoder", "broader",
+ "braodly", "broadly",
+ "brednan", "brendan",
+ "breifly", "briefly",
+ "breserk", "berserk",
+ "brethen", "brethren",
+ "brewrey", "brewery",
+ "briagde", "brigade",
+ "brianer", "brainer",
+ "bridman", "birdman",
+ "brielfy", "briefly",
+ "brigdes", "bridges",
+ "brightn", "brighten",
+ "brisben", "brisbane",
+ "britian", "britain",
+ "britsol", "bristol",
+ "briused", "bruised",
+ "briuser", "bruiser",
+ "briuses", "bruises",
+ "brocoli", "broccoli",
+ "bronocs", "broncos",
+ "browine", "brownie",
+ "brownei", "brownie",
+ "brownis", "brownies",
+ "bruglar", "burglar",
+ "brunete", "brunette",
+ "bruning", "burning",
+ "brusied", "bruised",
+ "brusies", "bruises",
+ "brusses", "brussels",
+ "brutaly", "brutally",
+ "btiched", "bitched",
+ "btiches", "bitches",
+ "bubbels", "bubbles",
+ "buddhim", "buddhism",
+ "buddhit", "buddhist",
+ "buddist", "buddhist",
+ "budgest", "budgets",
+ "bugdets", "budgets",
+ "buildes", "builders",
+ "bulgara", "bulgaria",
+ "bullest", "bullets",
+ "buoancy", "buoyancy",
+ "burguny", "burgundy",
+ "buriser", "bruiser",
+ "burlgar", "burglar",
+ "burnign", "burning",
+ "burried", "buried",
+ "burrtio", "burrito",
+ "busines", "business",
+ "busness", "business",
+ "butthoe", "butthole",
+ "buttrey", "buttery",
+ "cababge", "cabbage",
+ "cabines", "cabinets",
+ "cabniet", "cabinet",
+ "caclium", "calcium",
+ "cacuses", "caucuses",
+ "caffeen", "caffeine",
+ "cahched", "cached",
+ "cahotic", "chaotic",
+ "cahsier", "cashier",
+ "cailbre", "calibre",
+ "calaber", "caliber",
+ "calagry", "calgary",
+ "calback", "callback",
+ "calbire", "calibre",
+ "calcuim", "calcium",
+ "calculs", "calculus",
+ "calicum", "calcium",
+ "calrify", "clarify",
+ "calrity", "clarity",
+ "caluses", "clauses",
+ "camboda", "cambodia",
+ "campain", "campaign",
+ "campuss", "campuses",
+ "cancles", "cancels",
+ "cancres", "cancers",
+ "cancuks", "canucks",
+ "canides", "candies",
+ "cannnot", "cannot",
+ "canrage", "carnage",
+ "capible", "capable",
+ "capitas", "capitals",
+ "capsuls", "capsules",
+ "captais", "captains",
+ "captial", "capital",
+ "captiol", "capitol",
+ "captued", "captured",
+ "capturd", "captured",
+ "capusle", "capsule",
+ "carange", "carnage",
+ "carbien", "carbine",
+ "cardaic", "cardiac",
+ "cardina", "cardigan",
+ "careing", "caring",
+ "caridac", "cardiac",
+ "carmtan", "cartman",
+ "carnege", "carnage",
+ "carnige", "carnage",
+ "carolan", "carolina",
+ "carreer", "career",
+ "carrers", "careers",
+ "cartles", "cartels",
+ "caryons", "crayons",
+ "casette", "cassette",
+ "casheir", "cashier",
+ "cashies", "cashiers",
+ "cashire", "cashier",
+ "casltes", "castles",
+ "caspule", "capsule",
+ "cassete", "cassette",
+ "castels", "castles",
+ "casuing", "causing",
+ "cathlic", "catholic",
+ "cauncks", "canucks",
+ "cavarly", "cavalry",
+ "cavlary", "cavalry",
+ "celcius", "celsius",
+ "celisus", "celsius",
+ "celitcs", "celtics",
+ "celsuis", "celsius",
+ "centruy", "century",
+ "centuty", "century",
+ "ceratin", "certain",
+ "cermaic", "ceramic",
+ "certian", "certain",
+ "cervial", "cervical",
+ "cesspol", "cesspool",
+ "cetlics", "celtics",
+ "chambre", "chamber",
+ "charcol", "charcoal",
+ "charisa", "charisma",
+ "chasiss", "chassis",
+ "chatoic", "chaotic",
+ "cheeots", "cheetos",
+ "cheesse", "cheeses",
+ "chekcer", "checker",
+ "chelsae", "chelsea",
+ "cheslea", "chelsea",
+ "chiense", "chinese",
+ "childen", "children",
+ "chimeny", "chimney",
+ "chinees", "chinese",
+ "chinmey", "chimney",
+ "chipest", "chipset",
+ "chispet", "chipset",
+ "chivaly", "chivalry",
+ "chlesea", "chelsea",
+ "choatic", "chaotic",
+ "chocies", "choices",
+ "choosen", "chosen",
+ "chtulhu", "cthulhu",
+ "churchs", "churches",
+ "cilanto", "cilantro",
+ "cilents", "clients",
+ "circels", "circles",
+ "circuis", "circuits",
+ "cirlces", "circles",
+ "clacium", "calcium",
+ "claerer", "clearer",
+ "claerly", "clearly",
+ "clagary", "calgary",
+ "claibre", "calibre",
+ "claimes", "claims",
+ "clairfy", "clarify",
+ "clairty", "clarity",
+ "clanand", "clannad",
+ "clarfiy", "clarify",
+ "classis", "classics",
+ "clasues", "clauses",
+ "claymer", "claymore",
+ "claymoe", "claymore",
+ "cleanes", "cleanse",
+ "cleasne", "cleanse",
+ "cleints", "clients",
+ "clenase", "cleanse",
+ "clesius", "celsius",
+ "cletics", "celtics",
+ "clevery", "cleverly",
+ "climats", "climates",
+ "climbes", "climbers",
+ "clincis", "clinics",
+ "clitors", "clitoris",
+ "cloesly", "closely",
+ "closley", "closely",
+ "cluases", "clauses",
+ "cluprit", "culprit",
+ "coalese", "coalesce",
+ "coctail", "cocktail",
+ "cohesie", "cohesive",
+ "colgone", "cologne",
+ "collape", "collapse",
+ "collest", "collects",
+ "collony", "colony",
+ "collumn", "column",
+ "cologen", "cologne",
+ "colomba", "colombia",
+ "colonge", "cologne",
+ "colorao", "colorado",
+ "colourd", "coloured",
+ "columsn", "columns",
+ "comando", "commando",
+ "comapny", "company",
+ "comapre", "compare",
+ "comarde", "comrade",
+ "comback", "comeback",
+ "combins", "combines",
+ "comdeic", "comedic",
+ "comited", "committed",
+ "commano", "commando",
+ "commans", "commands",
+ "commere", "commerce",
+ "comming", "coming",
+ "commitd", "commited",
+ "compase", "compares",
+ "compede", "competed",
+ "compilr", "compiler",
+ "compnay", "company",
+ "compots", "compost",
+ "comrads", "comrades",
+ "comtpon", "compton",
+ "conceed", "concede",
+ "conceps", "concepts",
+ "conclue", "conclude",
+ "concret", "concert",
+ "condenm", "condemn",
+ "condiut", "conduit",
+ "condmen", "condemn",
+ "confids", "confides",
+ "confins", "confines",
+ "confise", "confines",
+ "conflit", "conflict",
+ "conived", "connived",
+ "connecs", "connects",
+ "conqeur", "conquer",
+ "conqure", "conquer",
+ "consept", "concept",
+ "consern", "concern",
+ "consums", "consumes",
+ "contacs", "contacts",
+ "contais", "contains",
+ "contast", "contacts",
+ "contemt", "contempt",
+ "contens", "contents",
+ "contess", "contests",
+ "contian", "contain",
+ "contine", "continue",
+ "convers", "converts",
+ "conveyd", "conveyed",
+ "convine", "convince",
+ "coprses", "corpses",
+ "coputer", "computer",
+ "corasir", "corsair",
+ "coratia", "croatia",
+ "coridal", "cordial",
+ "corsari", "corsair",
+ "corsiar", "corsair",
+ "corspes", "corpses",
+ "corwbar", "crowbar",
+ "costums", "costumes",
+ "coudlnt", "couldnt",
+ "coulmns", "columns",
+ "coulndt", "couldnt",
+ "counsle", "counsel",
+ "countes", "counters",
+ "courtey", "courtesy",
+ "covenat", "covenant",
+ "coytoes", "coyotes",
+ "crabine", "carbine",
+ "cralwed", "crawled",
+ "craotia", "croatia",
+ "craweld", "crawled",
+ "creamic", "ceramic",
+ "createn", "creatine",
+ "creater", "creature",
+ "creatie", "creatine",
+ "creatue", "creature",
+ "creepes", "creepers",
+ "creepig", "creeping",
+ "creulty", "cruelty",
+ "cricles", "circles",
+ "critera", "criteria",
+ "cropses", "corpses",
+ "crosair", "corsair",
+ "crpytic", "cryptic",
+ "crsytal", "crystal",
+ "crtical", "critical",
+ "crucibe", "crucible",
+ "cruetly", "cruelty",
+ "cruical", "crucial",
+ "crulety", "cruelty",
+ "crusdae", "crusade",
+ "crusier", "cruiser",
+ "crusies", "cruises",
+ "crusive", "cursive",
+ "crutchs", "crutches",
+ "crypitc", "cryptic",
+ "crystas", "crystals",
+ "crystsl", "crystals",
+ "crytpic", "cryptic",
+ "crytsal", "crystal",
+ "cthluhu", "cthulhu",
+ "cthuhlu", "cthulhu",
+ "cthuluh", "cthulhu",
+ "ctuhlhu", "cthulhu",
+ "cuasing", "causing",
+ "cubcile", "cubicle",
+ "cubilce", "cubicle",
+ "cuddels", "cuddles",
+ "culrpit", "culprit",
+ "culturs", "cultures",
+ "cupboad", "cupboard",
+ "cuplrit", "culprit",
+ "curatin", "curtain",
+ "curcial", "crucial",
+ "curcuit", "circuit",
+ "curelty", "cruelty",
+ "curiser", "cruiser",
+ "curisve", "cursive",
+ "currate", "curate",
+ "currens", "currents",
+ "curreny", "currency",
+ "currest", "currents",
+ "cursade", "crusade",
+ "curtian", "curtain",
+ "cyandie", "cyanide",
+ "cyclits", "cyclist",
+ "cycloen", "cyclone",
+ "cycolps", "cyclops",
+ "cylcist", "cyclist",
+ "cylcone", "cyclone",
+ "cylcops", "cyclops",
+ "cynaide", "cyanide",
+ "cyrptic", "cryptic",
+ "cyrstal", "crystal",
+ "dagners", "dangers",
+ "daimond", "diamond",
+ "damenor", "demeanor",
+ "dammage", "damage",
+ "darcula", "dracula",
+ "dargons", "dragons",
+ "darkets", "darkest",
+ "datbase", "database",
+ "daulity", "duality",
+ "dawrves", "dwarves",
+ "ddogers", "dodgers",
+ "ddoging", "dodging",
+ "deadlit", "deadlift",
+ "deadpol", "deadpool",
+ "deafult", "default",
+ "deahtly", "deathly",
+ "deatils", "details",
+ "deatlhy", "deathly",
+ "decalre", "declare",
+ "decison", "decision",
+ "declars", "declares",
+ "declase", "declares",
+ "decress", "decrees",
+ "decribe", "describe",
+ "decsend", "descend",
+ "dectect", "detect",
+ "defaint", "defiant",
+ "defauls", "defaults",
+ "defelct", "deflect",
+ "defensd", "defends",
+ "deffine", "define",
+ "definat", "defiant",
+ "definet", "definite",
+ "definie", "definite",
+ "definig", "defining",
+ "definit", "definite",
+ "defualt", "default",
+ "degarde", "degrade",
+ "degrase", "degrasse",
+ "degrate", "degrade",
+ "deiners", "deniers",
+ "deisgns", "designs",
+ "deivant", "deviant",
+ "dekstop", "desktop",
+ "delcare", "declare",
+ "delfect", "deflect",
+ "demenor", "demeanor",
+ "dementa", "dementia",
+ "demsond", "desmond",
+ "deneirs", "deniers",
+ "denisty", "density",
+ "densley", "densely",
+ "depcits", "depicts",
+ "dependd", "depended",
+ "depitcs", "depicts",
+ "deployd", "deployed",
+ "depsise", "despise",
+ "descrie", "describe",
+ "descuss", "discuss",
+ "desgins", "designs",
+ "desings", "designs",
+ "desitny", "destiny",
+ "desnely", "densely",
+ "desnity", "density",
+ "desomnd", "desmond",
+ "despict", "depict",
+ "despide", "despised",
+ "despies", "despise",
+ "destkop", "desktop",
+ "destory", "destroy",
+ "destros", "destroys",
+ "detaild", "detailed",
+ "detials", "details",
+ "detorit", "detroit",
+ "detriot", "detroit",
+ "deuling", "dueling",
+ "devaint", "deviant",
+ "devaite", "deviate",
+ "devided", "divided",
+ "devlove", "devolve",
+ "devotin", "devotion",
+ "devovle", "devolve",
+ "diabets", "diabetes",
+ "dialecs", "dialects",
+ "dialoge", "dialogue",
+ "diamons", "diamonds",
+ "diasble", "disable",
+ "dicksih", "dickish",
+ "dicover", "discover",
+ "dictats", "dictates",
+ "dieties", "deities",
+ "dilpoma", "diploma",
+ "dimaond", "diamond",
+ "dingity", "dignity",
+ "dinosar", "dinosaur",
+ "diosese", "diocese",
+ "dipolma", "diploma",
+ "dirbble", "dribble",
+ "directy", "directly",
+ "diretcx", "directx",
+ "dirived", "derived",
+ "dirvers", "drivers",
+ "disbale", "disable",
+ "disguss", "disgusts",
+ "disliks", "dislikes",
+ "disover", "discover",
+ "dispair", "despair",
+ "dispath", "dispatch",
+ "dispite", "despite",
+ "dispuse", "disputes",
+ "disputs", "disputes",
+ "dissole", "dissolve",
+ "distase", "distaste",
+ "distint", "distinct",
+ "divison", "division",
+ "docuhes", "douches",
+ "docuhey", "douchey",
+ "dogders", "dodgers",
+ "dogding", "dodging",
+ "dolhpin", "dolphin",
+ "dolphis", "dolphins",
+ "dominae", "dominate",
+ "dominno", "dominion",
+ "doplhin", "dolphin",
+ "dortmud", "dortmund",
+ "draclua", "dracula",
+ "dracual", "dracula",
+ "drakest", "darkest",
+ "dramtic", "dramatic",
+ "dribbel", "dribble",
+ "driectx", "directx",
+ "driftig", "drifting",
+ "drinkes", "drinkers",
+ "druming", "drumming",
+ "duailty", "duality",
+ "dualtiy", "duality",
+ "dubsetp", "dubstep",
+ "dulaity", "duality",
+ "duleing", "dueling",
+ "dunegon", "dungeon",
+ "dungeos", "dungeons",
+ "dungoen", "dungeon",
+ "durring", "during",
+ "dusbtep", "dubstep",
+ "dyansty", "dynasty",
+ "dynamis", "dynamics",
+ "dynsaty", "dynasty",
+ "earlies", "earliest",
+ "earliet", "earliest",
+ "earplus", "earplugs",
+ "eastwod", "eastwood",
+ "ebcuase", "becuase",
+ "ecilpse", "eclipse",
+ "eclipes", "eclipse",
+ "eclispe", "eclipse",
+ "eclpise", "eclipse",
+ "ectsasy", "ecstasy",
+ "edbiles", "edibles",
+ "edibels", "edibles",
+ "effords", "efforts",
+ "ehtanol", "ethanol",
+ "eifnach", "einfach",
+ "eighten", "eighteen",
+ "einfahc", "einfach",
+ "elasped", "elapsed",
+ "elcipse", "eclipse",
+ "elction", "election",
+ "elecrto", "electro",
+ "electic", "electric",
+ "electon", "election",
+ "ellitot", "elliott",
+ "elloitt", "elliott",
+ "elphant", "elephant",
+ "emabrgo", "embargo",
+ "emabssy", "embassy",
+ "emapthy", "empathy",
+ "embeded", "embedded",
+ "embrago", "embargo",
+ "eminate", "emanate",
+ "emipres", "empires",
+ "emision", "emission",
+ "emiting", "emitting",
+ "emition", "emission",
+ "emmited", "emitted",
+ "empahty", "empathy",
+ "emphsis", "emphasis",
+ "empiers", "empires",
+ "empited", "emptied",
+ "emplore", "employer",
+ "emporer", "emperor",
+ "empries", "empires",
+ "emtpied", "emptied",
+ "enameld", "enameled",
+ "encahnt", "enchant",
+ "encalve", "enclave",
+ "encrpyt", "encrypt",
+ "encyrpt", "encrypt",
+ "endores", "endorse",
+ "endrose", "endorse",
+ "energis", "energies",
+ "enforse", "enforces",
+ "enginer", "engineer",
+ "englsih", "english",
+ "enhanse", "enhances",
+ "enlcave", "enclave",
+ "enlgish", "english",
+ "enlsave", "enslave",
+ "ensalve", "enslave",
+ "entbook", "netbook",
+ "entirey", "entirety",
+ "entorpy", "entropy",
+ "epiloge", "epilogue",
+ "episdoe", "episode",
+ "epsiode", "episode",
+ "epsorts", "esports",
+ "eptiome", "epitome",
+ "equiped", "equipped",
+ "erested", "arrested",
+ "escapse", "escapes",
+ "escpaes", "escapes",
+ "esctasy", "ecstasy",
+ "esporst", "esports",
+ "espreso", "espresso",
+ "esprots", "esports",
+ "essense", "essence",
+ "etherel", "ethereal",
+ "ethnaol", "ethanol",
+ "euphora", "euphoria",
+ "europen", "european",
+ "eurpean", "european",
+ "everets", "everest",
+ "everset", "everest",
+ "evloved", "evolved",
+ "evloves", "evolves",
+ "evovled", "evolved",
+ "evovles", "evolves",
+ "exaclty", "exactly",
+ "exahust", "exhaust",
+ "examind", "examined",
+ "exapnds", "expands",
+ "exatled", "exalted",
+ "excange", "exchange",
+ "excatly", "exactly",
+ "excells", "excels",
+ "exceprt", "excerpt",
+ "excluse", "excludes",
+ "excrept", "excerpt",
+ "exculde", "exclude",
+ "exelent", "excellent",
+ "exemple", "example",
+ "exerpts", "excerpts",
+ "exhasut", "exhaust",
+ "exhuast", "exhaust",
+ "exising", "existing",
+ "existet", "existent",
+ "exlated", "exalted",
+ "exlcude", "exclude",
+ "exliled", "exiled",
+ "exludes", "excludes",
+ "exmaple", "example",
+ "exoitcs", "exotics",
+ "expalin", "explain",
+ "expeced", "expected",
+ "expells", "expels",
+ "expiers", "expires",
+ "explict", "explicit",
+ "expliot", "exploit",
+ "explods", "explodes",
+ "explose", "explodes",
+ "expolde", "explode",
+ "expolit", "exploit",
+ "exposse", "exposes",
+ "expries", "expires",
+ "exsited", "existed",
+ "extered", "exerted",
+ "exterme", "extreme",
+ "extoics", "exotics",
+ "extreem", "extreme",
+ "extrems", "extremes",
+ "eyebals", "eyeballs",
+ "eyebros", "eyebrows",
+ "fabulos", "fabulous",
+ "facebok", "facebook",
+ "facepam", "facepalm",
+ "faclons", "falcons",
+ "facsism", "fascism",
+ "facsist", "fascist",
+ "failurs", "failures",
+ "faincee", "fiancee",
+ "falesly", "falsely",
+ "falired", "flaired",
+ "falshed", "flashed",
+ "falshes", "flashes",
+ "falsley", "falsely",
+ "falvors", "flavors",
+ "familes", "families",
+ "famoust", "famous",
+ "famousy", "famously",
+ "fanatsy", "fantasy",
+ "fantaic", "fanatic",
+ "faoming", "foaming",
+ "fascits", "fascist",
+ "fasicsm", "fascism",
+ "fasicst", "fascist",
+ "faslely", "falsely",
+ "fatiuge", "fatigue",
+ "febuary", "february",
+ "fecthed", "fetched",
+ "fecthes", "fetches",
+ "feminen", "feminine",
+ "feminie", "feminine",
+ "feminim", "feminism",
+ "feodras", "fedoras",
+ "fertily", "fertility",
+ "fesitve", "festive",
+ "fethced", "fetched",
+ "fethces", "fetches",
+ "fetishs", "fetishes",
+ "fianite", "finite",
+ "fianlly", "finally",
+ "fiercly", "fiercely",
+ "filcker", "flicker",
+ "filpped", "flipped",
+ "filterd", "filtered",
+ "finacee", "fiancee",
+ "fineses", "finesse",
+ "fininsh", "finnish",
+ "finishs", "finishes",
+ "finisse", "finishes",
+ "finnsih", "finnish",
+ "firends", "friends",
+ "firggin", "friggin",
+ "firsbee", "frisbee",
+ "firslty", "firstly",
+ "firtsly", "firstly",
+ "fitlers", "filters",
+ "flacons", "falcons",
+ "flahsed", "flashed",
+ "flahses", "flashes",
+ "flaried", "flaired",
+ "flasely", "falsely",
+ "flashig", "flashing",
+ "flavord", "flavored",
+ "flavous", "flavours",
+ "flawess", "flawless",
+ "flciker", "flicker",
+ "fliters", "filters",
+ "flordia", "florida",
+ "florene", "florence",
+ "fnaatic", "fanatic",
+ "fomaing", "foaming",
+ "fonetic", "phonetic",
+ "forefit", "forfeit",
+ "foregin", "foreign",
+ "foreing", "foreign",
+ "forfiet", "forfeit",
+ "forhead", "forehead",
+ "foriegn", "foreign",
+ "formaly", "formally",
+ "formery", "formerly",
+ "formost", "foremost",
+ "formual", "formula",
+ "formuls", "formulas",
+ "forrset", "forrest",
+ "forsakn", "forsaken",
+ "forsane", "forsaken",
+ "forumla", "formula",
+ "fountan", "fountain",
+ "fourten", "fourteen",
+ "fracter", "fracture",
+ "fragmet", "fragment",
+ "freedos", "freedoms",
+ "freinds", "friends",
+ "frigign", "friggin",
+ "fristly", "firstly",
+ "frostig", "frosting",
+ "frsibee", "frisbee",
+ "fruitin", "fruition",
+ "fullets", "fullest",
+ "fullset", "fullest",
+ "funides", "fundies",
+ "funtion", "function",
+ "furance", "furnace",
+ "furncae", "furnace",
+ "futhroc", "futhark",
+ "gadgest", "gadgets",
+ "gagdets", "gadgets",
+ "galatic", "galactic",
+ "galcier", "glacier",
+ "galsgow", "glasgow",
+ "gameply", "gameplay",
+ "gamerga", "gamertag",
+ "gankign", "ganking",
+ "ganster", "gangster",
+ "garabge", "garbage",
+ "garfied", "garfield",
+ "garnola", "granola",
+ "generas", "generals",
+ "genersl", "generals",
+ "geniuss", "geniuses",
+ "geogria", "georgia",
+ "geomety", "geometry",
+ "georiga", "georgia",
+ "gernade", "grenade",
+ "gerogia", "georgia",
+ "gigabye", "gigabyte",
+ "giltchy", "glitchy",
+ "gimmics", "gimmicks",
+ "gimmicy", "gimmicky",
+ "girzzly", "grizzly",
+ "glagsow", "glasgow",
+ "glaicer", "glacier",
+ "glicthy", "glitchy",
+ "glimpes", "glimpse",
+ "glimspe", "glimpse",
+ "glipmse", "glimpse",
+ "glitchd", "glitched",
+ "glitchs", "glitches",
+ "glithcy", "glitchy",
+ "globaly", "globally",
+ "gloiath", "goliath",
+ "glorios", "glorious",
+ "gltichy", "glitchy",
+ "gnaking", "ganking",
+ "gnawwed", "gnawed",
+ "goddanm", "goddamn",
+ "goddman", "goddamn",
+ "godliek", "godlike",
+ "godlman", "goldman",
+ "godsped", "godspeed",
+ "goergia", "georgia",
+ "goilath", "goliath",
+ "golaith", "goliath",
+ "golbins", "goblins",
+ "goldamn", "goldman",
+ "goldbeg", "goldberg",
+ "goldike", "godlike",
+ "golitah", "goliath",
+ "goodluk", "goodluck",
+ "gorumet", "gourmet",
+ "gosepls", "gospels",
+ "gosples", "gospels",
+ "gpysies", "gypsies",
+ "grabage", "garbage",
+ "grahpic", "graphic",
+ "grainte", "granite",
+ "grammer", "grammar",
+ "graniet", "granite",
+ "grantie", "granite",
+ "graphie", "graphite",
+ "graphis", "graphics",
+ "grappel", "grapple",
+ "greande", "grenade",
+ "grenads", "grenades",
+ "greneer", "greener",
+ "griaffe", "giraffe",
+ "gridles", "griddles",
+ "grillig", "grilling",
+ "grpahic", "graphic",
+ "guardin", "guardian",
+ "guiness", "guinness",
+ "gullibe", "gullible",
+ "gutiars", "guitars",
+ "gypises", "gypsies",
+ "gyspies", "gypsies",
+ "habaeus", "habeas",
+ "haethen", "heathen",
+ "hailfax", "halifax",
+ "halfiax", "halifax",
+ "handbok", "handbook",
+ "handedy", "handedly",
+ "handeld", "handled",
+ "hanlder", "handler",
+ "hannibl", "hannibal",
+ "hanuted", "haunted",
+ "haorder", "hoarder",
+ "hapened", "happened",
+ "happend", "happened",
+ "happliy", "happily",
+ "harased", "harassed",
+ "harases", "harasses",
+ "hardend", "hardened",
+ "hardwod", "hardwood",
+ "haricut", "haircut",
+ "hatchig", "hatching",
+ "hauntig", "haunting",
+ "haviest", "heaviest",
+ "headest", "headset",
+ "headses", "headsets",
+ "heaveny", "heavenly",
+ "heigher", "higher",
+ "heigths", "heights",
+ "helemts", "helmets",
+ "hellfie", "hellfire",
+ "hellvua", "helluva",
+ "helment", "helmet",
+ "helpped", "helped",
+ "hemlets", "helmets",
+ "henious", "heinous",
+ "heorics", "heroics",
+ "heorine", "heroine",
+ "heriocs", "heroics",
+ "herione", "heroine",
+ "herocis", "heroics",
+ "heronie", "heroine",
+ "hesiman", "heisman",
+ "hieghts", "heights",
+ "hienous", "heinous",
+ "hiesman", "heisman",
+ "himselv", "himself",
+ "hiptser", "hipster",
+ "hismelf", "himself",
+ "hispter", "hipster",
+ "hitboxs", "hitboxes",
+ "hoilday", "holiday",
+ "hokpins", "hopkins",
+ "holdiay", "holiday",
+ "holdins", "holdings",
+ "homniem", "hominem",
+ "horader", "hoarder",
+ "hosited", "hoisted",
+ "hosthot", "hotshot",
+ "hostles", "hostels",
+ "hostpot", "hotspot",
+ "hothsot", "hotshot",
+ "hotpsot", "hotspot",
+ "hotsopt", "hotspot",
+ "hounour", "honour",
+ "hseldon", "sheldon",
+ "huanted", "haunted",
+ "humanit", "humanist",
+ "humants", "humanist",
+ "humidiy", "humidity",
+ "humoros", "humorous",
+ "hunagry", "hungary",
+ "hunderd", "hundred",
+ "hundres", "hundreds",
+ "hungray", "hungary",
+ "hurdels", "hurdles",
+ "hurldes", "hurdles",
+ "husbans", "husbands",
+ "hweaton", "wheaton",
+ "hybirds", "hybrids",
+ "hydogen", "hydrogen",
+ "hygeine", "hygiene",
+ "hypnoss", "hypnosis",
+ "hyrbids", "hybrids",
+ "hystera", "hysteria",
+ "iceforg", "icefrog",
+ "ierland", "ireland",
+ "ignitin", "ignition",
+ "ignorat", "ignorant",
+ "illegas", "illegals",
+ "illegsl", "illegals",
+ "illinos", "illinois",
+ "imanent", "eminent",
+ "imapcts", "impacts",
+ "iminent", "eminent",
+ "imminet", "imminent",
+ "implict", "implicit",
+ "imploed", "implode",
+ "imploys", "employs",
+ "impluse", "impulse",
+ "impolde", "implode",
+ "importd", "imported",
+ "imporve", "improve",
+ "impules", "impulse",
+ "impusle", "impulse",
+ "imrpove", "improve",
+ "incldue", "include",
+ "incluse", "includes",
+ "indains", "indians",
+ "indiaan", "indiana",
+ "indluge", "indulge",
+ "indugle", "indulge",
+ "infalte", "inflate",
+ "infenro", "inferno",
+ "infered", "inferred",
+ "inferir", "inferior",
+ "infinet", "infinite",
+ "infinie", "infinite",
+ "infinit", "infinite",
+ "infornt", "infront",
+ "infroms", "informs",
+ "infrotn", "infront",
+ "inheirt", "inherit",
+ "inidans", "indians",
+ "initals", "initials",
+ "initisl", "initials",
+ "inlcine", "incline",
+ "inovker", "invoker",
+ "inpeach", "impeach",
+ "inpsect", "inspect",
+ "inpsire", "inspire",
+ "inquier", "inquire",
+ "inquriy", "inquiry",
+ "insaney", "insanely",
+ "inscets", "insects",
+ "insepct", "inspect",
+ "insipre", "inspire",
+ "insluts", "insults",
+ "instade", "instead",
+ "instint", "instinct",
+ "intenst", "intents",
+ "intered", "interred",
+ "interet", "interest",
+ "internt", "internet",
+ "interro", "interior",
+ "intrest", "interest",
+ "intrige", "intrigue",
+ "invlove", "involve",
+ "invoekr", "invoker",
+ "invovle", "involve",
+ "iornman", "ironman",
+ "iranain", "iranian",
+ "iranias", "iranians",
+ "iranina", "iranian",
+ "irleand", "ireland",
+ "ironamn", "ironman",
+ "isalmic", "islamic",
+ "isareli", "israeli",
+ "islamit", "islamist",
+ "islmaic", "islamic",
+ "isloate", "isolate",
+ "isralei", "israeli",
+ "isreali", "israeli",
+ "italias", "italians",
+ "jagaurs", "jaguars",
+ "jaguras", "jaguars",
+ "jamacia", "jamaica",
+ "jamaina", "jamaican",
+ "jamiaca", "jamaica",
+ "jamsine", "jasmine",
+ "janaury", "january",
+ "januray", "january",
+ "japanes", "japanese",
+ "jasmien", "jasmine",
+ "jaugars", "jaguars",
+ "jaunary", "january",
+ "jeircho", "jericho",
+ "jennins", "jennings",
+ "jeopary", "jeopardy",
+ "jeresys", "jerseys",
+ "jericoh", "jericho",
+ "jersyes", "jerseys",
+ "jewerly", "jewelry",
+ "jorunal", "journal",
+ "jounral", "journal",
+ "joystik", "joystick",
+ "juadism", "judaism",
+ "judasim", "judaism",
+ "judical", "judicial",
+ "juipter", "jupiter",
+ "junglig", "jungling",
+ "juptier", "jupiter",
+ "jusitfy", "justify",
+ "justfiy", "justify",
+ "karakoe", "karaoke",
+ "karoake", "karaoke",
+ "kenendy", "kennedy",
+ "kenndey", "kennedy",
+ "kentucy", "kentucky",
+ "keyboad", "keyboard",
+ "keychan", "keychain",
+ "keynode", "keynote",
+ "kicthen", "kitchen",
+ "killins", "killings",
+ "kineitc", "kinetic",
+ "kinghts", "knights",
+ "kinteic", "kinetic",
+ "kitches", "kitchens",
+ "kitites", "kitties",
+ "knietic", "kinetic",
+ "knigths", "knights",
+ "knuckel", "knuckle",
+ "kroeans", "koreans",
+ "krudish", "kurdish",
+ "ktichen", "kitchen",
+ "kubirck", "kubrick",
+ "kunckle", "knuckle",
+ "kurbick", "kubrick",
+ "kuridsh", "kurdish",
+ "laguage", "language",
+ "landins", "landings",
+ "lantren", "lantern",
+ "laready", "already",
+ "laregly", "largely",
+ "largley", "largely",
+ "lasanga", "lasagna",
+ "lasgana", "lasagna",
+ "latitue", "latitude",
+ "latnern", "lantern",
+ "launhed", "launched",
+ "lavendr", "lavender",
+ "leathal", "lethal",
+ "lefitst", "leftist",
+ "leftits", "leftist",
+ "legnths", "lengths",
+ "legnthy", "lengthy",
+ "legoins", "legions",
+ "leigons", "legions",
+ "lenghts", "lengths",
+ "lenoard", "leonard",
+ "lepoard", "leopard",
+ "lesbain", "lesbian",
+ "lesiban", "lesbian",
+ "lesiure", "leisure",
+ "liasion", "liaison",
+ "liasons", "liaisons",
+ "liberae", "liberate",
+ "liberas", "liberals",
+ "lienups", "lineups",
+ "liesure", "leisure",
+ "liftime", "lifetime",
+ "lighlty", "lightly",
+ "lightes", "lighters",
+ "ligthly", "lightly",
+ "linclon", "lincoln",
+ "linueps", "lineups",
+ "liqiuds", "liquids",
+ "lisence", "license",
+ "lisense", "license",
+ "listend", "listened",
+ "litecon", "litecoin",
+ "literae", "literate",
+ "lithuim", "lithium",
+ "litihum", "lithium",
+ "loadous", "loadouts",
+ "loenard", "leonard",
+ "loepard", "leopard",
+ "logiteh", "logitech",
+ "loosley", "loosely",
+ "luandry", "laundry",
+ "luckliy", "luckily",
+ "luicfer", "lucifer",
+ "lunatis", "lunatics",
+ "maching", "machine",
+ "machins", "machines",
+ "maclolm", "malcolm",
+ "macthup", "matchup",
+ "madsion", "madison",
+ "magents", "magnets",
+ "magicin", "magician",
+ "magolia", "magnolia",
+ "maidson", "madison",
+ "maintan", "maintain",
+ "mairlyn", "marilyn",
+ "malaira", "malaria",
+ "malaysa", "malaysia",
+ "malclom", "malcolm",
+ "manauls", "manuals",
+ "mandase", "mandates",
+ "mandats", "mandates",
+ "mangeld", "mangled",
+ "mangets", "magnets",
+ "manualy", "manually",
+ "manuver", "maneuver",
+ "marbels", "marbles",
+ "margart", "margaret",
+ "mariage", "marriage",
+ "mariens", "marines",
+ "maritan", "martian",
+ "marixsm", "marxism",
+ "mariyln", "marilyn",
+ "markede", "marketed",
+ "marlbes", "marbles",
+ "marliyn", "marilyn",
+ "marnies", "marines",
+ "marrage", "marriage",
+ "martail", "martial",
+ "martain", "martian",
+ "masacra", "mascara",
+ "massace", "massacre",
+ "mathcup", "matchup",
+ "mathwes", "mathews",
+ "matrial", "martial",
+ "maunals", "manuals",
+ "mcalren", "mclaren",
+ "meanins", "meanings",
+ "medicad", "medicaid",
+ "medicae", "medicare",
+ "medioce", "mediocre",
+ "meixcan", "mexican",
+ "meldoic", "melodic",
+ "melieux", "milieux",
+ "melodis", "melodies",
+ "memeber", "member",
+ "memoery", "memory",
+ "memorie", "memory",
+ "menally", "mentally",
+ "mentaly", "mentally",
+ "meoldic", "melodic",
+ "meranda", "veranda",
+ "merchat", "merchant",
+ "merucry", "mercury",
+ "messagd", "messaged",
+ "messaih", "messiah",
+ "metagem", "metagame",
+ "metalic", "metallic",
+ "mexcian", "mexican",
+ "michina", "michigan",
+ "midfied", "midfield",
+ "midotwn", "midtown",
+ "midtwon", "midtown",
+ "migrans", "migrants",
+ "militat", "militant",
+ "militis", "militias",
+ "miltary", "military",
+ "mimimum", "minimum",
+ "mineras", "minerals",
+ "mininos", "minions",
+ "ministr", "minister",
+ "ministy", "ministry",
+ "minoins", "minions",
+ "minstry", "ministry",
+ "minumum", "minimum",
+ "mirrord", "mirrored",
+ "misandy", "misandry",
+ "misison", "mission",
+ "misouri", "missouri",
+ "mispell", "misspell",
+ "missils", "missiles",
+ "mistery", "mystery",
+ "mobiliy", "mobility",
+ "modualr", "modular",
+ "momento", "memento",
+ "momment", "moment",
+ "monarcy", "monarchy",
+ "monatge", "montage",
+ "monglos", "mongols",
+ "monitos", "monitors",
+ "monstre", "monster",
+ "montaeg", "montage",
+ "montrel", "montreal",
+ "monumet", "monument",
+ "morbidy", "morbidly",
+ "morgage", "mortgage",
+ "morphen", "morphine",
+ "morphie", "morphine",
+ "morroco", "morocco",
+ "mortage", "mortgage",
+ "mosnter", "monster",
+ "mosture", "moisture",
+ "motivet", "motivate",
+ "motnage", "montage",
+ "motoral", "motorola",
+ "mountan", "mountain",
+ "movment", "movement",
+ "mucuous", "mucous",
+ "muesums", "museums",
+ "muliple", "multiple",
+ "mulsims", "muslims",
+ "multipe", "multiple",
+ "multipy", "multiply",
+ "munbers", "numbers",
+ "munchis", "munchies",
+ "murderd", "murdered",
+ "muscial", "musical",
+ "mushrom", "mushroom",
+ "musilms", "muslims",
+ "muslces", "muscles",
+ "musuems", "museums",
+ "mutatin", "mutation",
+ "mypsace", "myspace",
+ "mysapce", "myspace",
+ "napolen", "napoleon",
+ "narhwal", "narwhal",
+ "natique", "antique",
+ "nativey", "natively",
+ "natrual", "natural",
+ "naugthy", "naughty",
+ "nauseos", "nauseous",
+ "nautils", "nautilus",
+ "nautral", "natural",
+ "nautres", "natures",
+ "nectode", "netcode",
+ "needels", "needles",
+ "neruons", "neurons",
+ "neslave", "enslave",
+ "netocde", "netcode",
+ "netowrk", "network",
+ "netural", "neutral",
+ "neturon", "neutron",
+ "netwrok", "network",
+ "neurton", "neutron",
+ "neuterd", "neutered",
+ "nighlty", "nightly",
+ "nigthly", "nightly",
+ "nihilim", "nihilism",
+ "ninties", "1990s",
+ "niverse", "inverse",
+ "nocture", "nocturne",
+ "nominae", "nominate",
+ "nominet", "nominate",
+ "nonsene", "nonsense",
+ "noramls", "normals",
+ "norhern", "northern",
+ "normaly", "normally",
+ "normany", "normandy",
+ "northen", "northern",
+ "nostris", "nostrils",
+ "notario", "ontario",
+ "notebok", "notebook",
+ "nothern", "northern",
+ "nowdays", "nowadays",
+ "nrivana", "nirvana",
+ "nuaghty", "naughty",
+ "nubmers", "numbers",
+ "nucelar", "nuclear",
+ "nucelus", "nucleus",
+ "nuclean", "unclean",
+ "nuclues", "nucleus",
+ "nucular", "nuclear",
+ "nuerons", "neurons",
+ "nuetral", "neutral",
+ "nuetron", "neutron",
+ "nulcear", "nuclear",
+ "nullfiy", "nullify",
+ "nusance", "nuisance",
+ "nutriet", "nutrient",
+ "oarcles", "oracles",
+ "obivous", "obvious",
+ "obvoius", "obvious",
+ "ocarnia", "ocarina",
+ "ocasion", "occasion",
+ "occured", "occurred",
+ "ocotber", "october",
+ "ocotpus", "octopus",
+ "ocraina", "ocarina",
+ "ocuntry", "country",
+ "ocurred", "occurred",
+ "ofcoure", "ofcourse",
+ "offcers", "officers",
+ "offical", "official",
+ "offisde", "offside",
+ "oftenly", "often",
+ "ogrilla", "gorilla",
+ "olmypic", "olympic",
+ "olreans", "orleans",
+ "olympis", "olympics",
+ "olypmic", "olympic",
+ "omision", "omission",
+ "omiting", "omitting",
+ "omlette", "omelette",
+ "ommited", "omitted",
+ "onatrio", "ontario",
+ "onbaord", "onboard",
+ "onborad", "onboard",
+ "ontairo", "ontario",
+ "ontraio", "ontario",
+ "opartor", "operator",
+ "openess", "openness",
+ "opitcal", "optical",
+ "opitmal", "optimal",
+ "oponent", "opponent",
+ "oposite", "opposite",
+ "oppenly", "openly",
+ "opponet", "opponent",
+ "oprhans", "orphans",
+ "optimim", "optimism",
+ "oracels", "oracles",
+ "oragnes", "oranges",
+ "oragsms", "orgasms",
+ "oralces", "oracles",
+ "orbtial", "orbital",
+ "orcales", "oracles",
+ "orelans", "orleans",
+ "organes", "organise",
+ "organie", "organise",
+ "organim", "organism",
+ "orginal", "original",
+ "orhpans", "orphans",
+ "oribtal", "orbital",
+ "orlenas", "orleans",
+ "orpahns", "orphans",
+ "orthodx", "orthodox",
+ "outfied", "outfield",
+ "outsidr", "outsider",
+ "overhal", "overhaul",
+ "overpad", "overpaid",
+ "oversue", "overuse",
+ "overtun", "overturn",
+ "ownders", "wonders",
+ "owuldve", "wouldve",
+ "oylmpic", "olympic",
+ "pacakge", "package",
+ "pacifit", "pacifist",
+ "packade", "packaged",
+ "pacthes", "patches",
+ "pahntom", "phantom",
+ "paitent", "patient",
+ "palcebo", "placebo",
+ "pallete", "palette",
+ "palster", "plaster",
+ "palyboy", "playboy",
+ "pamflet", "pamphlet",
+ "pamplet", "pamphlet",
+ "pancaks", "pancakes",
+ "pandroa", "pandora",
+ "panthen", "pantheon",
+ "paradim", "paradigm",
+ "paradse", "parades",
+ "paralel", "parallel",
+ "paranoa", "paranoia",
+ "parises", "praises",
+ "parites", "parties",
+ "partice", "particle",
+ "partick", "patrick",
+ "partiel", "particle",
+ "partiot", "patriot",
+ "partols", "patrols",
+ "passabe", "passable",
+ "passivs", "passives",
+ "pasuing", "pausing",
+ "pateint", "patient",
+ "pathces", "patches",
+ "patiens", "patients",
+ "patirot", "patriot",
+ "patrcik", "patrick",
+ "patrios", "patriots",
+ "patroit", "patriot",
+ "peaples", "peoples",
+ "pebbels", "pebbles",
+ "peirced", "pierced",
+ "penatly", "penalty",
+ "pendulm", "pendulum",
+ "penguis", "penguins",
+ "penicls", "pencils",
+ "penison", "pension",
+ "penisse", "penises",
+ "penitum", "pentium",
+ "pensies", "penises",
+ "pensino", "pension",
+ "pentuim", "pentium",
+ "peopels", "peoples",
+ "percise", "precise",
+ "perdict", "predict",
+ "perfers", "prefers",
+ "perhasp", "perhaps",
+ "perhpas", "perhaps",
+ "perisan", "persian",
+ "perjery", "perjury",
+ "permade", "premade",
+ "permier", "premier",
+ "permise", "premise",
+ "permium", "premium",
+ "peroids", "periods",
+ "peronal", "personal",
+ "perpaid", "prepaid",
+ "perphas", "perhaps",
+ "persain", "persian",
+ "persets", "presets",
+ "persits", "persist",
+ "persued", "pursued",
+ "persuit", "pursuit",
+ "pervail", "prevail",
+ "perview", "preview",
+ "pharoah", "pharaoh",
+ "phatnom", "phantom",
+ "phsyics", "physics",
+ "phyiscs", "physics",
+ "physcis", "physics",
+ "physiqe", "physique",
+ "picthed", "pitched",
+ "picther", "pitcher",
+ "picthes", "pitches",
+ "piegons", "pigeons",
+ "piglrim", "pilgrim",
+ "pigoens", "pigeons",
+ "pilgirm", "pilgrim",
+ "pilrgim", "pilgrim",
+ "pinoeer", "pioneer",
+ "pinpoit", "pinpoint",
+ "pionere", "pioneer",
+ "pireced", "pierced",
+ "pithces", "pitches",
+ "plantes", "planets",
+ "plastis", "plastics",
+ "plastre", "plaster",
+ "plataeu", "plateau",
+ "plateua", "plateau",
+ "playabe", "playable",
+ "playofs", "playoffs",
+ "plesant", "pleasant",
+ "pligrim", "pilgrim",
+ "ploygon", "polygon",
+ "ploymer", "polymer",
+ "podemso", "podemos",
+ "podmeos", "podemos",
+ "poeples", "peoples",
+ "poignat", "poignant",
+ "poineer", "pioneer",
+ "pointes", "pointers",
+ "poisond", "poisoned",
+ "polgyon", "polygon",
+ "polical", "political",
+ "polishs", "polishes",
+ "polisse", "polishes",
+ "politey", "politely",
+ "poluted", "polluted",
+ "polutes", "pollutes",
+ "popluar", "popular",
+ "populer", "popular",
+ "populos", "populous",
+ "porpose", "propose",
+ "porshan", "portion",
+ "porshon", "portion",
+ "portait", "portrait",
+ "portary", "portray",
+ "portras", "portrays",
+ "portrat", "portrait",
+ "posions", "poisons",
+ "positon", "position",
+ "positve", "positive",
+ "possiby", "possibly",
+ "postdam", "potsdam",
+ "postion", "position",
+ "postive", "positive",
+ "potatos", "potatoes",
+ "potical", "optical",
+ "potrait", "portrait",
+ "powderd", "powdered",
+ "poweful", "powerful",
+ "poylgon", "polygon",
+ "poylmer", "polymer",
+ "practie", "practise",
+ "praisse", "praises",
+ "praries", "prairies",
+ "prasied", "praised",
+ "prasies", "praises",
+ "pratice", "practice",
+ "preamde", "premade",
+ "preceed", "precede",
+ "precice", "precise",
+ "preests", "presets",
+ "prehaps", "perhaps",
+ "preimer", "premier",
+ "preimum", "premium",
+ "preists", "priests",
+ "preivew", "preview",
+ "premeir", "premier",
+ "premiee", "premiere",
+ "premire", "premier",
+ "premits", "permits",
+ "premius", "premiums",
+ "premuim", "premium",
+ "prepair", "prepare",
+ "preriod", "period",
+ "presens", "presents",
+ "presest", "presets",
+ "presist", "persist",
+ "prestes", "presets",
+ "presude", "presumed",
+ "pretene", "pretense",
+ "pretens", "pretends",
+ "preveiw", "preview",
+ "prevert", "pervert",
+ "previal", "prevail",
+ "previes", "previews",
+ "previos", "previous",
+ "priased", "praised",
+ "priases", "praises",
+ "printes", "printers",
+ "pristen", "pristine",
+ "probabe", "probable",
+ "probaly", "probably",
+ "probelm", "problem",
+ "procede", "proceed",
+ "procees", "proceeds",
+ "procesd", "proceeds",
+ "proclam", "proclaim",
+ "produly", "proudly",
+ "produse", "produces",
+ "progidy", "prodigy",
+ "progrom", "pogrom",
+ "prohibt", "prohibit",
+ "prohpet", "prophet",
+ "prologe", "prologue",
+ "promose", "promotes",
+ "promots", "promotes",
+ "prompty", "promptly",
+ "promtps", "prompts",
+ "pronous", "pronouns",
+ "prooved", "proved",
+ "propeht", "prophet",
+ "prophey", "prophecy",
+ "propper", "proper",
+ "protals", "portals",
+ "protecs", "protects",
+ "protess", "protests",
+ "protocl", "protocol",
+ "protray", "portray",
+ "prouldy", "proudly",
+ "provded", "provided",
+ "provine", "province",
+ "prusuit", "pursuit",
+ "pryamid", "pyramid",
+ "pscyhed", "psyched",
+ "ptiched", "pitched",
+ "pticher", "pitcher",
+ "puasing", "pausing",
+ "publicy", "publicly",
+ "publsih", "publish",
+ "puhsups", "pushups",
+ "punishs", "punishes",
+ "punisse", "punishes",
+ "pursiut", "pursuit",
+ "pursude", "pursued",
+ "purused", "pursued",
+ "pushpus", "pushups",
+ "pyarmid", "pyramid",
+ "pyramis", "pyramids",
+ "pyrmaid", "pyramid",
+ "pysched", "psyched",
+ "qaulify", "qualify",
+ "qaulity", "quality",
+ "qauntum", "quantum",
+ "quailfy", "qualify",
+ "quailty", "quality",
+ "queires", "queries",
+ "queitly", "quietly",
+ "quereis", "queries",
+ "quicket", "quickest",
+ "quielty", "quietly",
+ "quitely", "quietly",
+ "qunatum", "quantum",
+ "qunetin", "quentin",
+ "racisst", "racists",
+ "racthet", "ratchet",
+ "radaint", "radiant",
+ "radiane", "radiance",
+ "radicas", "radicals",
+ "radiers", "raiders",
+ "raelism", "realism",
+ "raidant", "radiant",
+ "railrod", "railroad",
+ "rainbos", "rainbows",
+ "raoches", "roaches",
+ "raoming", "roaming",
+ "raptros", "raptors",
+ "raputre", "rapture",
+ "rathcet", "ratchet",
+ "ratpure", "rapture",
+ "reacing", "reaching",
+ "reagrds", "regards",
+ "realies", "realise",
+ "realsie", "realise",
+ "realsim", "realism",
+ "realtes", "relates",
+ "reamins", "remains",
+ "reapirs", "repairs",
+ "rebouns", "rebounds",
+ "rebulit", "rebuilt",
+ "recalim", "reclaim",
+ "receips", "receipts",
+ "recided", "resided",
+ "reciept", "receipt",
+ "recievd", "recieved",
+ "recieve", "receive",
+ "recitfy", "rectify",
+ "recived", "received",
+ "reclami", "reclaim",
+ "recliam", "reclaim",
+ "recorre", "recorder",
+ "recoves", "recovers",
+ "recpies", "recipes",
+ "redeemd", "redeemed",
+ "redners", "renders",
+ "refelct", "reflect",
+ "referal", "referral",
+ "refered", "referred",
+ "referig", "refering",
+ "referrs", "refers",
+ "reflexs", "reflexes",
+ "refrers", "refers",
+ "refroms", "reforms",
+ "refusla", "refusal",
+ "regerts", "regrets",
+ "regiems", "regimes",
+ "regimet", "regiment",
+ "registy", "registry",
+ "regluar", "regular",
+ "regrest", "regrets",
+ "regulae", "regulate",
+ "regulas", "regulars",
+ "regulsr", "regulars",
+ "reigmes", "regimes",
+ "reigons", "regions",
+ "reitres", "retires",
+ "reivews", "reviews",
+ "reknown", "renown",
+ "relaise", "realise",
+ "relapes", "relapse",
+ "relaspe", "relapse",
+ "relatie", "relative",
+ "relatin", "relation",
+ "relcaim", "reclaim",
+ "releive", "relieve",
+ "releses", "releases",
+ "relfect", "reflect",
+ "reliabe", "reliable",
+ "relient", "reliant",
+ "relized", "realised",
+ "relpase", "relapse",
+ "remaind", "remained",
+ "remaing", "remaining",
+ "remakrs", "remarks",
+ "remannt", "remnant",
+ "remeber", "remember",
+ "remians", "remains",
+ "remnans", "remnants",
+ "renderd", "rendered",
+ "renegae", "renegade",
+ "renmant", "remnant",
+ "rentors", "renters",
+ "rentres", "renters",
+ "renuion", "reunion",
+ "repaird", "repaired",
+ "repalys", "replays",
+ "repblic", "republic",
+ "repeast", "repeats",
+ "repitle", "reptile",
+ "replase", "replaces",
+ "replayd", "replayed",
+ "reponse", "response",
+ "repostd", "reposted",
+ "repsawn", "respawn",
+ "repsond", "respond",
+ "repsots", "reposts",
+ "reptiel", "reptile",
+ "reptils", "reptiles",
+ "repubic", "republic",
+ "republi", "republic",
+ "repulic", "republic",
+ "reqiuem", "requiem",
+ "requeim", "requiem",
+ "requime", "requiem",
+ "requred", "required",
+ "resapwn", "respawn",
+ "rescuse", "rescues",
+ "resembe", "resemble",
+ "reslove", "resolve",
+ "resolvs", "resolves",
+ "resonet", "resonate",
+ "resovle", "resolve",
+ "respest", "respects",
+ "respone", "response",
+ "respwan", "respawn",
+ "ressits", "resists",
+ "restord", "restored",
+ "resuced", "rescued",
+ "resuces", "rescues",
+ "returnd", "returned",
+ "reuinon", "reunion",
+ "reveald", "revealed",
+ "reveiws", "reviews",
+ "revelas", "reveals",
+ "reveral", "reversal",
+ "reviere", "reviewer",
+ "reviewd", "reviewed",
+ "reviewr", "reviewer",
+ "revolvr", "revolver",
+ "revolvs", "revolves",
+ "rewirte", "rewrite",
+ "reworkd", "reworked",
+ "rewriet", "rewrite",
+ "reynols", "reynolds",
+ "rhapsoy", "rhapsody",
+ "rhythem", "rhythm",
+ "rhythim", "rhythm",
+ "rhytmic", "rhythmic",
+ "riaders", "raiders",
+ "ritlain", "ritalin",
+ "ritoers", "rioters",
+ "rivarly", "rivalry",
+ "rivlary", "rivalry",
+ "roahces", "roaches",
+ "robotis", "robotics",
+ "rococco", "rococo",
+ "roestta", "rosetta",
+ "roiters", "rioters",
+ "roleply", "roleplay",
+ "romaina", "romania",
+ "romaing", "roaming",
+ "romanin", "romanian",
+ "romanna", "romanian",
+ "roomate", "roommate",
+ "rotuers", "routers",
+ "rugters", "rutgers",
+ "rulebok", "rulebook",
+ "rumorus", "rumours",
+ "rumuors", "rumours",
+ "runnung", "running",
+ "ruslted", "rustled",
+ "russina", "russian",
+ "russion", "russian",
+ "rusteld", "rustled",
+ "rythmic", "rhythmic",
+ "rythyms", "rhythms",
+ "sacrasm", "sarcasm",
+ "saddnes", "saddens",
+ "sadistc", "sadistic",
+ "sadning", "sanding",
+ "salaris", "salaries",
+ "salavge", "salvage",
+ "salvery", "slavery",
+ "salying", "slaying",
+ "sampels", "samples",
+ "samruai", "samurai",
+ "samuari", "samurai",
+ "samuria", "samurai",
+ "sandlas", "sandals",
+ "sandnig", "sanding",
+ "sanlder", "sandler",
+ "santorm", "santorum",
+ "sapphie", "sapphire",
+ "sarcams", "sarcasm",
+ "sargant", "sergeant",
+ "sasuage", "sausage",
+ "satifsy", "satisfy",
+ "satsify", "satisfy",
+ "satsohi", "satoshi",
+ "savanha", "savannah",
+ "savannh", "savannah",
+ "saveing", "saving",
+ "sawnsea", "swansea",
+ "sawnson", "swanson",
+ "scandas", "scandals",
+ "scannig", "scanning",
+ "scartch", "scratch",
+ "scheems", "schemes",
+ "schoold", "schooled",
+ "sciense", "sciences",
+ "scinece", "science",
+ "scootes", "scooters",
+ "scorpin", "scorpion",
+ "scpeter", "scepter",
+ "scracth", "scratch",
+ "scrambe", "scramble",
+ "scritps", "scripts",
+ "scrolld", "scrolled",
+ "scrpits", "scripts",
+ "scyhter", "scyther",
+ "seached", "searched",
+ "seaches", "searches",
+ "seahaws", "seahawks",
+ "seantor", "senator",
+ "searchd", "searched",
+ "searchs", "searches",
+ "sebrian", "serbian",
+ "secerts", "secrets",
+ "secpter", "scepter",
+ "secrest", "secrets",
+ "secrety", "secretly",
+ "seflies", "selfies",
+ "seguoys", "segues",
+ "seinors", "seniors",
+ "selifes", "selfies",
+ "senoirs", "seniors",
+ "sensure", "censure",
+ "sentaor", "senator",
+ "sentris", "sentries",
+ "serbain", "serbian",
+ "sergeat", "sergeant",
+ "sergent", "sergeant",
+ "seriban", "serbian",
+ "servans", "servants",
+ "sesnors", "sensors",
+ "settins", "settings",
+ "severly", "severely",
+ "sexualy", "sexually",
+ "seziure", "seizure",
+ "shaddow", "shadow",
+ "shanghi", "shanghai",
+ "shaprie", "sharpie",
+ "shaprly", "sharply",
+ "sharipe", "sharpie",
+ "shcemes", "schemes",
+ "sheelpe", "sheeple",
+ "sheepel", "sheeple",
+ "shephed", "shepherd",
+ "sherlok", "sherlock",
+ "shetler", "shelter",
+ "shevles", "shelves",
+ "shfiter", "shifter",
+ "shieldd", "shielded",
+ "shiping", "shipping",
+ "shirely", "shirley",
+ "shitfer", "shifter",
+ "shledon", "sheldon",
+ "shleter", "shelter",
+ "shoudln", "should",
+ "shouldt", "shouldnt",
+ "shoutot", "shoutout",
+ "showede", "showered",
+ "showerd", "showered",
+ "shperes", "spheres",
+ "shriley", "shirley",
+ "siblins", "siblings",
+ "sidelen", "sideline",
+ "sideral", "sidereal",
+ "siezing", "seizing",
+ "siezure", "seizure",
+ "signfiy", "signify",
+ "signins", "signings",
+ "signles", "singles",
+ "silders", "sliders",
+ "silenty", "silently",
+ "similir", "similiar",
+ "simliar", "similar",
+ "simplet", "simplest",
+ "simpley", "simply",
+ "simplfy", "simplify",
+ "simpliy", "simplify",
+ "simposn", "simpson",
+ "simspon", "simpson",
+ "singals", "signals",
+ "singels", "singles",
+ "singify", "signify",
+ "singsog", "singsong",
+ "sitmuli", "stimuli",
+ "skecthy", "sketchy",
+ "skeletl", "skeletal",
+ "skeptis", "skeptics",
+ "sketchs", "sketches",
+ "sketpic", "skeptic",
+ "skpetic", "skeptic",
+ "sktechy", "sketchy",
+ "skwyard", "skyward",
+ "slavage", "salvage",
+ "slayign", "slaying",
+ "sldiers", "sliders",
+ "slefies", "selfies",
+ "slighly", "slightly",
+ "slighty", "slightly",
+ "slippes", "slippers",
+ "slippey", "slippery",
+ "smaples", "samples",
+ "smartre", "smarter",
+ "smaurai", "samurai",
+ "snadler", "sandler",
+ "snigles", "singles",
+ "snippes", "snippets",
+ "snodwen", "snowden",
+ "snwoden", "snowden",
+ "snycing", "syncing",
+ "snyergy", "synergy",
+ "socialy", "socially",
+ "sofware", "software",
+ "soildly", "solidly",
+ "soldies", "soldiers",
+ "soldily", "solidly",
+ "somaila", "somalia",
+ "someons", "someones",
+ "somethn", "somethin",
+ "southen", "southern",
+ "soveits", "soviets",
+ "spacebr", "spacebar",
+ "spainsh", "spanish",
+ "spansih", "spanish",
+ "spanwed", "spawned",
+ "sparkel", "sparkle",
+ "spartas", "spartans",
+ "spartsn", "spartans",
+ "sparyed", "sprayed",
+ "spawend", "spawned",
+ "spawnig", "spawning",
+ "specail", "special",
+ "specfic", "specific",
+ "specias", "specials",
+ "specisl", "specials",
+ "spectum", "spectrum",
+ "speechs", "speeches",
+ "spehres", "spheres",
+ "speical", "special",
+ "speices", "species",
+ "spellig", "spelling",
+ "spindel", "spindle",
+ "spiritd", "spirited",
+ "splaton", "splatoon",
+ "splittr", "splitter",
+ "spoiles", "spoilers",
+ "spoitfy", "spotify",
+ "spolied", "spoiled",
+ "sponser", "sponsor",
+ "sporles", "sproles",
+ "sporuts", "sprouts",
+ "spotfiy", "spotify",
+ "sprinke", "sprinkle",
+ "sproels", "sproles",
+ "spwaned", "spawned",
+ "sqaures", "squares",
+ "sqeuaky", "squeaky",
+ "sqiushy", "squishy",
+ "squarey", "squarely",
+ "squirel", "squirtle",
+ "squirle", "squirrel",
+ "squirrl", "squirrel",
+ "squirte", "squirtle",
+ "squsihy", "squishy",
+ "sriraca", "sriracha",
+ "srpouts", "sprouts",
+ "sryians", "syrians",
+ "sryinge", "syringe",
+ "stadius", "stadiums",
+ "staduim", "stadium",
+ "stagnat", "stagnant",
+ "staidum", "stadium",
+ "stakler", "stalker",
+ "stalkes", "stalkers",
+ "stamnia", "stamina",
+ "staoshi", "satoshi",
+ "starins", "strains",
+ "startde", "startled",
+ "startus", "startups",
+ "statits", "statist",
+ "statsit", "statist",
+ "statuer", "stature",
+ "statuse", "statutes",
+ "statuts", "statutes",
+ "stautes", "statues",
+ "stealty", "stealthy",
+ "steeles", "steelers",
+ "steorid", "steroid",
+ "steriel", "sterile",
+ "sterlie", "sterile",
+ "stickes", "stickers",
+ "stiring", "stirring",
+ "stirker", "striker",
+ "stirrig", "stirring",
+ "stitchs", "stitches",
+ "stlaker", "stalker",
+ "stlyish", "stylish",
+ "storeis", "stories",
+ "storise", "stories",
+ "stormde", "stormed",
+ "straigt", "straight",
+ "straind", "strained",
+ "streamd", "streamed",
+ "stregth", "strength",
+ "strengh", "strength",
+ "streoid", "steroid",
+ "stresss", "stresses",
+ "strians", "strains",
+ "stricty", "strictly",
+ "striekr", "striker",
+ "stromed", "stormed",
+ "stubbon", "stubborn",
+ "studing", "studying",
+ "stuidos", "studios",
+ "stunami", "tsunami",
+ "stupidr", "stupider",
+ "stupidy", "stupidly",
+ "stupire", "stupider",
+ "suasage", "sausage",
+ "subisdy", "subsidy",
+ "subjest", "subjects",
+ "subtiel", "subtitle",
+ "succede", "succeed",
+ "succeds", "succeeds",
+ "succees", "succeeds",
+ "succesd", "succeeds",
+ "suceeds", "succeeds",
+ "suddeny", "suddenly",
+ "suefull", "usefull",
+ "sufferd", "suffered",
+ "summonr", "summoner",
+ "summore", "summoner",
+ "sunggle", "snuggle",
+ "sunifre", "sunfire",
+ "superme", "supreme",
+ "suposed", "supposed",
+ "suposes", "supposes",
+ "suppoed", "supposed",
+ "suppost", "supports",
+ "suprass", "surpass",
+ "supress", "suppress",
+ "suprisd", "suprised",
+ "suprise", "surprise",
+ "suprize", "surprise",
+ "supsend", "suspend",
+ "suround", "surround",
+ "surpeme", "supreme",
+ "surroud", "surround",
+ "sweidsh", "swedish",
+ "swiflty", "swiftly",
+ "swiming", "swimming",
+ "switchs", "switches",
+ "switfly", "swiftly",
+ "swnasea", "swansea",
+ "sycning", "syncing",
+ "sycther", "scyther",
+ "syirans", "syrians",
+ "sykward", "skyward",
+ "syllabe", "syllable",
+ "symetry", "symmetry",
+ "symmety", "symmetry",
+ "symobls", "symbols",
+ "sympaty", "sympathy",
+ "symtpom", "symptom",
+ "synegry", "synergy",
+ "synoynm", "synonym",
+ "sypmtom", "symptom",
+ "syracue", "syracuse",
+ "syrains", "syrians",
+ "sysadmn", "sysadmin",
+ "systemc", "systemic",
+ "sytlish", "stylish",
+ "tabacco", "tobacco",
+ "tailban", "taliban",
+ "tailord", "tailored",
+ "talbian", "taliban",
+ "tallets", "tallest",
+ "tangeld", "tangled",
+ "tanlged", "tangled",
+ "targetd", "targeted",
+ "taryvon", "trayvon",
+ "teached", "taught",
+ "teaspon", "teaspoon",
+ "techeis", "techies",
+ "tehcies", "techies",
+ "temepst", "tempest",
+ "tempels", "temples",
+ "tempets", "tempest",
+ "templas", "templars",
+ "tempset", "tempest",
+ "tenacle", "tentacle",
+ "tendacy", "tendency",
+ "tequlia", "tequila",
+ "tesitfy", "testify",
+ "testice", "testicle",
+ "teusday", "tuesday",
+ "thankyu", "thankyou",
+ "thearpy", "therapy",
+ "theistc", "theistic",
+ "theives", "thieves",
+ "themsef", "themself",
+ "therefo", "thereof",
+ "therien", "therein",
+ "theroem", "theorem",
+ "thesits", "theists",
+ "thiests", "theists",
+ "thirldy", "thirdly",
+ "thirten", "thirteen",
+ "thirtsy", "thirsty",
+ "thoerem", "theorem",
+ "thorats", "throats",
+ "thornes", "thrones",
+ "thoruim", "thorium",
+ "thoughs", "thoughts",
+ "threadd", "threaded",
+ "threeof", "thereof",
+ "thridly", "thirdly",
+ "thristy", "thirsty",
+ "throast", "throats",
+ "throium", "thorium",
+ "thryoid", "thyroid",
+ "thyorid", "thyroid",
+ "thyriod", "thyroid",
+ "tigther", "tighter",
+ "tiolets", "toilets",
+ "tirdent", "trident",
+ "titanim", "titanium",
+ "tlaking", "talking",
+ "tobbaco", "tobacco",
+ "toliets", "toilets",
+ "tolkein", "tolkien",
+ "tomatos", "tomatoes",
+ "tongiht", "tonight",
+ "tonuges", "tongues",
+ "toppins", "toppings",
+ "torando", "tornado",
+ "torndao", "tornado",
+ "torpdeo", "torpedo",
+ "torrest", "torrents",
+ "tortila", "tortilla",
+ "toruney", "tourney",
+ "toubles", "troubles",
+ "touchda", "touchpad",
+ "tounrey", "tourney",
+ "tourisy", "touristy",
+ "tourits", "tourist",
+ "tournes", "tourneys",
+ "toursim", "tourism",
+ "toursit", "tourist",
+ "towords", "towards",
+ "trackes", "trackers",
+ "trailes", "trailers",
+ "traines", "trainers",
+ "trainig", "training",
+ "tralier", "trailer",
+ "tratior", "traitor",
+ "traveld", "traveled",
+ "travere", "traverse",
+ "travesy", "travesty",
+ "travles", "travels",
+ "treasue", "treasure",
+ "treatis", "treaties",
+ "tremelo", "tremolo",
+ "trendig", "trending",
+ "trialer", "trailer",
+ "triange", "triangle",
+ "triator", "traitor",
+ "trickey", "trickery",
+ "tridnet", "trident",
+ "trimuph", "triumph",
+ "trinkes", "trinkets",
+ "trinkst", "trinkets",
+ "trintiy", "trinity",
+ "triolgy", "trilogy",
+ "troleld", "trolled",
+ "troling", "trolling",
+ "tronado", "tornado",
+ "tropedo", "torpedo",
+ "trudnle", "trundle",
+ "truimph", "triumph",
+ "trukish", "turkish",
+ "trundel", "trundle",
+ "trunlde", "trundle",
+ "tryahrd", "tryhard",
+ "tryavon", "trayvon",
+ "tsamina", "stamina",
+ "tsnuami", "tsunami",
+ "tsuanmi", "tsunami",
+ "tsunmai", "tsunami",
+ "tuesdsy", "tuesdays",
+ "tunnles", "tunnels",
+ "turbins", "turbines",
+ "turksih", "turkish",
+ "turltes", "turtles",
+ "turrest", "turrets",
+ "turtels", "turtles",
+ "tuseday", "tuesday",
+ "tusnami", "tsunami",
+ "tutrles", "turtles",
+ "twiligt", "twilight",
+ "tyelnol", "tylenol",
+ "typcial", "typical",
+ "tyrhard", "tryhard",
+ "tyrrany", "tyranny",
+ "udpated", "updated",
+ "uesfull", "usefull",
+ "ugprade", "upgrade",
+ "ukarine", "ukraine",
+ "ukranie", "ukraine",
+ "ukriane", "ukraine",
+ "ultimae", "ultimate",
+ "umbrela", "umbrella",
+ "unahppy", "unhappy",
+ "unbannd", "unbanned",
+ "underog", "undergo",
+ "unfairy", "unfairly",
+ "ungoldy", "ungodly",
+ "unicors", "unicorns",
+ "uniquey", "uniquely",
+ "unknwon", "unknown",
+ "unkonwn", "unknown",
+ "unlcean", "unclean",
+ "unlcoks", "unlocks",
+ "unlcuky", "unlucky",
+ "unlikey", "unlikely",
+ "unopend", "unopened",
+ "unprone", "unproven",
+ "unusabe", "unusable",
+ "unworty", "unworthy",
+ "upgarde", "upgrade",
+ "upgrads", "upgrades",
+ "uplaods", "uploads",
+ "upsteam", "upstream",
+ "urainum", "uranium",
+ "uranuim", "uranium",
+ "uretrha", "urethra",
+ "urkaine", "ukraine",
+ "urnaium", "uranium",
+ "urugauy", "uruguay",
+ "usefull", "useful",
+ "usefuly", "usefully",
+ "utiltiy", "utility",
+ "utopain", "utopian",
+ "utpoian", "utopian",
+ "vaccins", "vaccines",
+ "vaccume", "vacuum",
+ "vageuly", "vaguely",
+ "vaguley", "vaguely",
+ "vairant", "variant",
+ "valenca", "valencia",
+ "valetta", "valletta",
+ "valkyre", "valkyrie",
+ "valuabe", "valuable",
+ "valuble", "valuable",
+ "vampirs", "vampires",
+ "vanguad", "vanguard",
+ "varaint", "variant",
+ "vareity", "variety",
+ "varians", "variants",
+ "varient", "variant",
+ "varisty", "varsity",
+ "varitey", "variety",
+ "varstiy", "varsity",
+ "vasalls", "vassals",
+ "vasslas", "vassals",
+ "vaugely", "vaguely",
+ "vecotrs", "vectors",
+ "vectros", "vectors",
+ "veitnam", "vietnam",
+ "veiwers", "viewers",
+ "vendeta", "vendetta",
+ "verbaly", "verbally",
+ "verical", "vertical",
+ "verious", "various",
+ "verison", "version",
+ "veritgo", "vertigo",
+ "versoin", "version",
+ "vertgio", "vertigo",
+ "vessles", "vessels",
+ "vetween", "between",
+ "viatmin", "vitamin",
+ "vibratr", "vibrator",
+ "vicitms", "victims",
+ "vientam", "vietnam",
+ "vigrins", "virgins",
+ "vikigns", "vikings",
+ "villian", "villain",
+ "villify", "vilify",
+ "virbate", "vibrate",
+ "virigns", "virgins",
+ "virtiol", "vitriol",
+ "virutal", "virtual",
+ "virutes", "virtues",
+ "visable", "visible",
+ "visably", "visibly",
+ "visbily", "visibly",
+ "visting", "visiting",
+ "vistors", "visitors",
+ "vitaliy", "vitality",
+ "vitamis", "vitamins",
+ "vitenam", "vietnam",
+ "vitirol", "vitriol",
+ "vitmain", "vitamin",
+ "vitroil", "vitriol",
+ "vitrual", "virtual",
+ "vitrues", "virtues",
+ "volatge", "voltage",
+ "volumne", "volume",
+ "votlage", "voltage",
+ "vrigins", "virgins",
+ "waclott", "walcott",
+ "wacther", "watcher",
+ "waitres", "waiters",
+ "waktins", "watkins",
+ "warcrat", "warcraft",
+ "wardobe", "wardrobe",
+ "wariwck", "warwick",
+ "warrany", "warranty",
+ "warrent", "warrant",
+ "warrios", "warriors",
+ "warwcik", "warwick",
+ "wathcer", "watcher",
+ "watiers", "waiters",
+ "waviers", "waivers",
+ "wawrick", "warwick",
+ "wayword", "wayward",
+ "webapge", "webpage",
+ "webiste", "website",
+ "webstie", "website",
+ "weigths", "weights",
+ "weilded", "wielded",
+ "weirldy", "weirdly",
+ "weirods", "weirdos",
+ "welathy", "wealthy",
+ "wendsay", "wednesday",
+ "wensday", "wednesday",
+ "wepbage", "webpage",
+ "weridly", "weirdly",
+ "weridos", "weirdos",
+ "werstle", "wrestle",
+ "wesbite", "website",
+ "whaeton", "wheaton",
+ "whipser", "whisper",
+ "whislte", "whistle",
+ "whistel", "whistle",
+ "whitsle", "whistle",
+ "whsiper", "whisper",
+ "wiaters", "waiters",
+ "wiavers", "waivers",
+ "widgest", "widgets",
+ "wieghts", "weights",
+ "wigdets", "widgets",
+ "windosr", "windsor",
+ "winnins", "winnings",
+ "winsdor", "windsor",
+ "wintson", "winston",
+ "wirting", "writing",
+ "wisnton", "winston",
+ "withces", "witches",
+ "witheld", "withheld",
+ "withing", "within",
+ "withold", "withhold",
+ "wlacott", "walcott",
+ "wokring", "working",
+ "workins", "workings",
+ "woudlnt", "wouldnt",
+ "woudlve", "wouldve",
+ "woulndt", "wouldnt",
+ "wreslte", "wrestle",
+ "wroking", "working",
+ "wtiches", "witches",
+ "wupport", "support",
+ "yaching", "yachting",
+ "younget", "youngest",
+ "youseff", "yousef",
+ "youself", "yourself",
+ "zaelots", "zealots",
+ "zealtos", "zealots",
+ "zelaots", "zealots",
+ "zelaous", "zealous",
+ "zimbabe", "zimbabwe",
+ "zionsim", "zionism",
+ "zionsit", "zionist",
+ "zoinism", "zionism",
+ "zoinist", "zionist",
+ "abbout", "about",
+ "abilty", "ability",
+ "absail", "abseil",
+ "abutts", "abuts",
+ "achive", "achieve",
+ "acused", "accused",
+ "addopt", "adopt",
+ "addres", "address",
+ "adress", "address",
+ "aeriel", "aerial",
+ "affort", "afford",
+ "agains", "against",
+ "aginst", "against",
+ "ahppen", "happen",
+ "aiport", "airport",
+ "aisian", "asian",
+ "albiet", "albeit",
+ "alchol", "alcohol",
+ "aledge", "allege",
+ "aleged", "alleged",
+ "allign", "align",
+ "almsot", "almost",
+ "alomst", "almost",
+ "alowed", "allowed",
+ "alwasy", "always",
+ "alwyas", "always",
+ "amking", "making",
+ "ammend", "amend",
+ "amoung", "among",
+ "aplied", "applied",
+ "appart", "apart",
+ "aquire", "acquire",
+ "aready", "already",
+ "arised", "arose",
+ "arival", "arrival",
+ "arrary", "array",
+ "artice", "article",
+ "asetic", "ascetic",
+ "asside", "aside",
+ "attemp", "attempt",
+ "attemt", "attempt",
+ "auther", "author",
+ "awared", "awarded",
+ "bedore", "before",
+ "beeing", "being",
+ "befoer", "before",
+ "beggin", "begin",
+ "beleif", "belief",
+ "belive", "believe",
+ "beteen", "between",
+ "betwen", "between",
+ "beween", "between",
+ "bianry", "binary",
+ "boyant", "buoyant",
+ "broady", "broadly",
+ "buddah", "buddha",
+ "buring", "burying",
+ "carcas", "carcass",
+ "casion", "caisson",
+ "casued", "caused",
+ "casues", "causes",
+ "ceasar", "caesar",
+ "cencus", "census",
+ "censur", "censor",
+ "cheifs", "chiefs",
+ "circut", "circuit",
+ "clasic", "classic",
+ "coform", "conform",
+ "comany", "company",
+ "coucil", "council",
+ "densly", "densely",
+ "deside", "decide",
+ "devels", "delves",
+ "devide", "divide",
+ "dieing", "dying",
+ "divice", "device",
+ "doulbe", "double",
+ "dreasm", "dreams",
+ "duting", "during",
+ "ealier", "earlier",
+ "eearly", "early",
+ "efford", "effort",
+ "emited", "emitted",
+ "emnity", "enmity",
+ "enduce", "induce",
+ "enlish", "english",
+ "erally", "orally",
+ "eratic", "erratic",
+ "ethose", "those",
+ "exampt", "exempt",
+ "excact", "exact",
+ "excell", "excel",
+ "exerpt", "excerpt",
+ "exinct", "extinct",
+ "expell", "expel",
+ "expoch", "epoch",
+ "extint", "extinct",
+ "facist", "fascist",
+ "faught", "fought",
+ "finaly", "finally",
+ "forsaw", "foresaw",
+ "fougth", "fought",
+ "fourty", "forty",
+ "foward", "forward",
+ "freind", "friend",
+ "fromed", "formed",
+ "fufill", "fulfill",
+ "futher", "further",
+ "gardai", "gardaí",
+ "ghandi", "gandhi",
+ "glight", "flight",
+ "gloabl", "global",
+ "godess", "goddess",
+ "guilia", "giulia",
+ "guilio", "giulio",
+ "habeus", "habeas",
+ "harras", "harass",
+ "hatian", "haitian",
+ "heared", "heard",
+ "hertzs", "hertz",
+ "hieght", "height",
+ "higest", "highest",
+ "higway", "highway",
+ "honory", "honorary",
+ "howver", "however",
+ "hstory", "history",
+ "hunman", "human",
+ "husban", "husband",
+ "hvaing", "having",
+ "illess", "illness",
+ "ilness", "illness",
+ "imagin", "imagine",
+ "imense", "immense",
+ "includ", "include",
+ "inital", "initial",
+ "interm", "interim",
+ "intial", "initial",
+ "iunior", "junior",
+ "jaques", "jacques",
+ "jospeh", "joseph",
+ "jouney", "journey",
+ "klenex", "kleenex",
+ "labled", "labelled",
+ "largst", "largest",
+ "larrry", "larry",
+ "lefted", "left",
+ "lenght", "length",
+ "lerans", "learns",
+ "liason", "liaison",
+ "libary", "library",
+ "lieing", "lying",
+ "lieved", "lived",
+ "littel", "little",
+ "livley", "lively",
+ "lonley", "lonely",
+ "mailny", "mainly",
+ "markes", "marks",
+ "mileau", "milieu",
+ "milion", "million",
+ "millon", "million",
+ "misile", "missile",
+ "missen", "mizzen",
+ "missle", "missile",
+ "mkaing", "making",
+ "moderm", "modem",
+ "moreso", "more",
+ "mounth", "month",
+ "myraid", "myriad",
+ "naieve", "naive",
+ "nestin", "nesting",
+ "nineth", "ninth",
+ "noveau", "nouveau",
+ "occour", "occur",
+ "occurr", "occur",
+ "offred", "offered",
+ "omited", "omitted",
+ "ouevre", "oeuvre",
+ "oxigen", "oxygen",
+ "p0enis", "penis",
+ "packge", "package",
+ "peaple", "people",
+ "pensle", "pencil",
+ "peopel", "people",
+ "peotry", "poetry",
+ "perade", "parade",
+ "persan", "person",
+ "persue", "pursue",
+ "plateu", "plateau",
+ "poenis", "penis",
+ "poisin", "poison",
+ "polute", "pollute",
+ "posess", "possess",
+ "posion", "poison",
+ "prairy", "prairie",
+ "prarie", "prairie",
+ "preiod", "period",
+ "privte", "private",
+ "proces", "process",
+ "proove", "prove",
+ "psuedo", "pseudo",
+ "psyhic", "psychic",
+ "pucini", "puccini",
+ "pumkin", "pumpkin",
+ "puting", "putting",
+ "pyscic", "psychic",
+ "quizes", "quizzes",
+ "quuery", "query",
+ "racaus", "raucous",
+ "radify", "ratify",
+ "raelly", "really",
+ "reacll", "recall",
+ "realyl", "really",
+ "reched", "reached",
+ "recide", "reside",
+ "recrod", "record",
+ "refect", "reflect",
+ "relaly", "really",
+ "renewl", "renewal",
+ "retuns", "returns",
+ "reveiw", "review",
+ "rhymme", "rhyme",
+ "rigeur", "rigueur",
+ "rocord", "record",
+ "rougly", "roughly",
+ "runing", "running",
+ "rythem", "rhythm",
+ "rythim", "rhythm",
+ "saftey", "safety",
+ "salery", "salary",
+ "satisy", "satisfy",
+ "satric", "satiric",
+ "saught", "sought",
+ "scince", "science",
+ "scirpt", "script",
+ "seceed", "succeed",
+ "seinor", "senior",
+ "sepina", "subpoena",
+ "sevice", "service",
+ "shamen", "shaman",
+ "sheild", "shield",
+ "shiped", "shipped",
+ "shorly", "shortly",
+ "shoudl", "should",
+ "shreak", "shriek",
+ "siezed", "seized",
+ "sixtin", "sistine",
+ "sneeks", "sneaks",
+ "somene", "someone",
+ "soudns", "sounds",
+ "sourth", "south",
+ "speach", "speech",
+ "spects", "aspects",
+ "spoace", "space",
+ "sqaure", "square",
+ "staion", "station",
+ "stange", "strange",
+ "stilus", "stylus",
+ "stirrs", "stirs",
+ "stopry", "story",
+ "strnad", "strand",
+ "studdy", "study",
+ "suceed", "succeed",
+ "sucess", "success",
+ "sucide", "suicide",
+ "sumary", "summary",
+ "suport", "support",
+ "supose", "suppose",
+ "surfce", "surface",
+ "surley", "surly",
+ "swaers", "swears",
+ "swepth", "swept",
+ "talekd", "talked",
+ "theese", "these",
+ "therby", "thereby",
+ "thigns", "things",
+ "thigsn", "things",
+ "thikns", "thinks",
+ "thiunk", "think",
+ "thnigs", "things",
+ "threee", "three",
+ "tkaing", "taking",
+ "tounge", "tongue",
+ "tourch", "torch",
+ "towrad", "toward",
+ "trafic", "traffic",
+ "troups", "troupes",
+ "truely", "truly",
+ "twelth", "twelfth",
+ "tyrany", "tyranny",
+ "unabel", "unable",
+ "unkown", "unknown",
+ "untill", "until",
+ "usally", "usually",
+ "useage", "usage",
+ "useing", "using",
+ "usualy", "usually",
+ "vaccum", "vacuum",
+ "variey", "variety",
+ "varing", "varying",
+ "varity", "variety",
+ "vasall", "vassal",
+ "vigeur", "vigueur",
+ "villin", "villain",
+ "vreity", "variety",
+ "vriety", "variety",
+ "whants", "wants",
+ "wheras", "whereas",
+ "wheter", "whether",
+ "wholey", "wholly",
+ "whther", "whether",
+ "wnated", "wanted",
+ "writen", "written",
+ "yaerly", "yearly",
+ "yotube", "youtube",
+ "zeebra", "zebra",
+ "abotu", "about",
+ "adres", "address",
+ "afair", "affair",
+ "agian", "again",
+ "agina", "again",
+ "agred", "agreed",
+ "alege", "allege",
+ "alsot", "also",
+ "altho", "although",
+ "amung", "among",
+ "anual", "annual",
+ "aroud", "around",
+ "arund", "around",
+ "asign", "assign",
+ "assit", "assist",
+ "asume", "assume",
+ "atain", "attain",
+ "autor", "author",
+ "baout", "about",
+ "blaim", "blame",
+ "boaut", "bout",
+ "boook", "book",
+ "borke", "broke",
+ "breif", "brief",
+ "caost", "coast",
+ "casue", "cause",
+ "chasr", "chaser",
+ "cheif", "chief",
+ "chuch", "church",
+ "claer", "clear",
+ "clera", "clear",
+ "coudl", "could",
+ "crowm", "crown",
+ "deram", "dram",
+ "diety", "deity",
+ "doens", "does",
+ "doign", "doing",
+ "donig", "doing",
+ "drnik", "drink",
+ "durig", "during",
+ "earnt", "earned",
+ "eigth", "eighth",
+ "eiter", "either",
+ "emtpy", "empty",
+ "endig", "ending",
+ "eveyr", "every",
+ "exept", "except",
+ "eyars", "years",
+ "eyasr", "years",
+ "fiels", "fields",
+ "firts", "flirts",
+ "fleed", "fled",
+ "fomed", "formed",
+ "foucs", "focus",
+ "foudn", "found",
+ "fouth", "fourth",
+ "frome", "from",
+ "ganes", "games",
+ "gaurd", "guard",
+ "gerat", "great",
+ "gogin", "going",
+ "goign", "going",
+ "gonig", "going",
+ "graet", "great",
+ "greif", "grief",
+ "gropu", "group",
+ "guage", "gauge",
+ "hapen", "happen",
+ "herad", "heard",
+ "heroe", "hero",
+ "higer", "higher",
+ "housr", "hours",
+ "htere", "there",
+ "htikn", "think",
+ "hting", "thing",
+ "htink", "think",
+ "hwihc", "which",
+ "hwile", "while",
+ "hwole", "whole",
+ "idaes", "ideas",
+ "idesa", "ideas",
+ "ihaca", "ithaca",
+ "knwos", "knows",
+ "konws", "knows",
+ "lastr", "last",
+ "lavae", "larvae",
+ "layed", "laid",
+ "leage", "league",
+ "leanr", "lean",
+ "leran", "learn",
+ "levle", "level",
+ "lible", "libel",
+ "liekd", "liked",
+ "liuke", "like",
+ "lmits", "limits",
+ "lonly", "lonely",
+ "lukid", "likud",
+ "lybia", "libya",
+ "maked", "marked",
+ "makse", "makes",
+ "mamal", "mammal",
+ "mileu", "milieu",
+ "mkaes", "makes",
+ "modle", "model",
+ "moent", "moment",
+ "moeny", "money",
+ "monts", "months",
+ "movei", "movie",
+ "muder", "murder",
+ "mysef", "myself",
+ "neice", "niece",
+ "ninty", "ninety",
+ "ocurr", "occur",
+ "oging", "going",
+ "opose", "oppose",
+ "orded", "ordered",
+ "orgin", "origin",
+ "otehr", "other",
+ "ouput", "output",
+ "owudl", "would",
+ "paide", "paid",
+ "palce", "place",
+ "pased", "passed",
+ "payed", "paid",
+ "peice", "piece",
+ "peoms", "poems",
+ "poety", "poetry",
+ "pwoer", "power",
+ "qtuie", "quite",
+ "qutie", "quite",
+ "realy", "really",
+ "repid", "rapid",
+ "rised", "raised",
+ "rulle", "rule",
+ "rwite", "write",
+ "rythm", "rhythm",
+ "safty", "safety",
+ "scoll", "scroll",
+ "seach", "search",
+ "seige", "siege",
+ "seing", "seeing",
+ "sence", "sense",
+ "sicne", "since",
+ "sieze", "seize",
+ "sinse", "sines",
+ "slowy", "slowly",
+ "snese", "sneeze",
+ "soley", "solely",
+ "sotry", "story",
+ "sotyr", "satyr",
+ "soudn", "sound",
+ "sould", "could",
+ "spred", "spread",
+ "stlye", "style",
+ "stong", "strong",
+ "stoyr", "story",
+ "strat", "start",
+ "stroy", "story",
+ "suppy", "supply",
+ "swaer", "swear",
+ "syrap", "syrup",
+ "sytem", "system",
+ "sytle", "style",
+ "tatoo", "tattoo",
+ "thast", "that",
+ "theif", "thief",
+ "theri", "their",
+ "thgat", "that",
+ "thier", "their",
+ "thign", "thing",
+ "thikn", "think",
+ "thnig", "thing",
+ "thrid", "third",
+ "thsoe", "those",
+ "thyat", "that",
+ "tihkn", "think",
+ "timne", "time",
+ "tiome", "time",
+ "tkaes", "takes",
+ "todya", "today",
+ "tyhat", "that",
+ "unsed", "used",
+ "weild", "wield",
+ "whant", "want",
+ "whcih", "which",
+ "whihc", "which",
+ "whith", "with",
+ "whlch", "which",
+ "wholy", "wholly",
+ "wierd", "weird",
+ "wille", "will",
+ "willk", "will",
+ "withh", "with",
+ "witht", "with",
+ "wiull", "will",
+ "wnats", "wants",
+ "wohle", "whole",
+ "worls", "world",
+ "woudl", "would",
+ "wriet", "write",
+ "wroet", "wrote",
+ "yaers", "years",
+ "yatch", "yacht",
+ "yearm", "year",
+ "yeasr", "years",
+ "yeild", "yield",
+ "yeras", "years",
+ "yersa", "years",
+ "agin", "again",
+ "agre", "agree",
+ "ahev", "have",
+ "ahve", "have",
+ "alse", "else",
+ "amke", "make",
+ "anbd", "and",
+ "andd", "and",
+ "apon", "upon",
+ "aslo", "also",
+ "awya", "away",
+ "bakc", "back",
+ "bcak", "back",
+ "clas", "class",
+ "cpoy", "coy",
+ "cxan", "cyan",
+ "daed", "dead",
+ "dael", "deal",
+ "diea", "idea",
+ "doub", "doubt",
+ "dyas", "dryas",
+ "eahc", "each",
+ "efel", "evil",
+ "eles", "eels",
+ "ened", "need",
+ "enxt", "next",
+ "esle", "else",
+ "eyar", "year",
+ "fatc", "fact",
+ "fidn", "find",
+ "fomr", "from",
+ "grwo", "grow",
+ "haev", "have",
+ "halp", "help",
+ "holf", "hold",
+ "hten", "then",
+ "htey", "they",
+ "htis", "this",
+ "hvae", "have",
+ "hvea", "have",
+ "inot", "into",
+ "iwll", "will",
+ "iwth", "with",
+ "jstu", "just",
+ "jsut", "just",
+ "knwo", "know",
+ "konw", "know",
+ "kwno", "know",
+ "liek", "like",
+ "loev", "love",
+ "lveo", "love",
+ "lvoe", "love",
+ "mkae", "make",
+ "mkea", "make",
+ "mroe", "more",
+ "nkow", "know",
+ "nkwo", "know",
+ "nmae", "name",
+ "noth", "north",
+ "nowe", "now",
+ "omre", "more",
+ "onot", "note",
+ "onyl", "only",
+ "owrk", "work",
+ "peom", "poem",
+ "pich", "pitch",
+ "rela", "real",
+ "sasy", "says",
+ "smae", "same",
+ "smoe", "some",
+ "soem", "some",
+ "sohw", "show",
+ "stpo", "stop",
+ "suop", "soup",
+ "syas", "says",
+ "tahn", "than",
+ "taht", "that",
+ "tast", "taste",
+ "tath", "that",
+ "tehy", "they",
+ "tghe", "the",
+ "ther", "there",
+ "thge", "the",
+ "thna", "than",
+ "thne", "then",
+ "thsi", "this",
+ "thta", "that",
+ "tiem", "time",
+ "tihs", "this",
+ "tjhe", "the",
+ "tkae", "take",
+ "tood", "todo",
+ "tust", "trust",
+ "twon", "town",
+ "twpo", "two",
+ "tyhe", "they",
+ "uise", "use",
+ "vell", "well",
+ "veyr", "very",
+ "vrey", "very",
+ "vyer", "very",
+ "vyre", "very",
+ "waht", "what",
+ "wass", "was",
+ "watn", "want",
+ "weas", "was",
+ "wehn", "when",
+ "whic", "which",
+ "whta", "what",
+ "wich", "which",
+ "wief", "wife",
+ "wiew", "view",
+ "wiht", "with",
+ "witn", "with",
+ "wnat", "want",
+ "wokr", "work",
+ "wrok", "work",
+ "wtih", "with",
+ "yaer", "year",
+ "yera", "year",
+ "yrea", "year",
+ "ytou", "you",
+ "adn", "and",
+ "ect", "etc",
+ "nto", "not",
+ "teh", "the",
+ "thn", "then",
+ "tje", "the",
+ "whn", "when",
+ "wih", "with",
+ "yuo", "you",
+}
+
+// DictAmerican converts UK spellings to US spellings
+var DictAmerican = []string{
+ "institutionalisation", "institutionalization",
+ "internationalisation", "internationalization",
+ "professionalisation", "professionalization",
+ "compartmentalising", "compartmentalizing",
+ "institutionalising", "institutionalizing",
+ "internationalising", "internationalizing",
+ "compartmentalised", "compartmentalized",
+ "compartmentalises", "compartmentalizes",
+ "decriminalisation", "decriminalization",
+ "denationalisation", "denationalization",
+ "fictionalisations", "fictionalizations",
+ "institutionalised", "institutionalized",
+ "institutionalises", "institutionalizes",
+ "intellectualising", "intellectualizing",
+ "internationalised", "internationalized",
+ "internationalises", "internationalizes",
+ "pedestrianisation", "pedestrianization",
+ "professionalising", "professionalizing",
+ "archaeologically", "archeologically",
+ "compartmentalise", "compartmentalize",
+ "decentralisation", "decentralization",
+ "demilitarisation", "demilitarization",
+ "externalisations", "externalizations",
+ "fictionalisation", "fictionalization",
+ "institutionalise", "institutionalize",
+ "intellectualised", "intellectualized",
+ "intellectualises", "intellectualizes",
+ "internationalise", "internationalize",
+ "nationalisations", "nationalizations",
+ "palaeontologists", "paleontologists",
+ "professionalised", "professionalized",
+ "professionalises", "professionalizes",
+ "rationalisations", "rationalizations",
+ "sensationalising", "sensationalizing",
+ "sentimentalising", "sentimentalizing",
+ "acclimatisation", "acclimatization",
+ "bougainvillaeas", "bougainvilleas",
+ "commercialising", "commercializing",
+ "conceptualising", "conceptualizing",
+ "contextualising", "contextualizing",
+ "crystallisation", "crystallization",
+ "decriminalising", "decriminalizing",
+ "democratisation", "democratization",
+ "denationalising", "denationalizing",
+ "depersonalising", "depersonalizing",
+ "desensitisation", "desensitization",
+ "destabilisation", "destabilization",
+ "disorganisation", "disorganization",
+ "extemporisation", "extemporization",
+ "externalisation", "externalization",
+ "familiarisation", "familiarization",
+ "generalisations", "generalizations",
+ "hospitalisation", "hospitalization",
+ "individualising", "individualizing",
+ "industrialising", "industrializing",
+ "intellectualise", "intellectualize",
+ "internalisation", "internalization",
+ "manoeuvrability", "maneuverability",
+ "marginalisation", "marginalization",
+ "materialisation", "materialization",
+ "miniaturisation", "miniaturization",
+ "nationalisation", "nationalization",
+ "neighbourliness", "neighborliness",
+ "overemphasising", "overemphasizing",
+ "palaeontologist", "paleontologist",
+ "particularising", "particularizing",
+ "pedestrianising", "pedestrianizing",
+ "professionalise", "professionalize",
+ "psychoanalysing", "psychoanalyzing",
+ "rationalisation", "rationalization",
+ "reorganisations", "reorganizations",
+ "revolutionising", "revolutionizing",
+ "sensationalised", "sensationalized",
+ "sensationalises", "sensationalizes",
+ "sentimentalised", "sentimentalized",
+ "sentimentalises", "sentimentalizes",
+ "specialisations", "specializations",
+ "standardisation", "standardization",
+ "synchronisation", "synchronization",
+ "systematisation", "systematization",
+ "aggrandisement", "aggrandizement",
+ "anaesthetising", "anesthetizing",
+ "archaeological", "archeological",
+ "archaeologists", "archeologists",
+ "bougainvillaea", "bougainvillea",
+ "characterising", "characterizing",
+ "collectivising", "collectivizing",
+ "commercialised", "commercialized",
+ "commercialises", "commercializes",
+ "conceptualised", "conceptualized",
+ "conceptualises", "conceptualizes",
+ "contextualised", "contextualized",
+ "contextualises", "contextualizes",
+ "decentralising", "decentralizing",
+ "decriminalised", "decriminalized",
+ "decriminalises", "decriminalizes",
+ "dehumanisation", "dehumanization",
+ "demilitarising", "demilitarizing",
+ "demobilisation", "demobilization",
+ "demoralisation", "demoralization",
+ "denationalised", "denationalized",
+ "denationalises", "denationalizes",
+ "depersonalised", "depersonalized",
+ "depersonalises", "depersonalizes",
+ "disembowelling", "disemboweling",
+ "dramatisations", "dramatizations",
+ "editorialising", "editorializing",
+ "encyclopaedias", "encyclopedias",
+ "fictionalising", "fictionalizing",
+ "fraternisation", "fraternization",
+ "generalisation", "generalization",
+ "gynaecological", "gynecological",
+ "gynaecologists", "gynecologists",
+ "haematological", "hematological",
+ "haematologists", "hematologists",
+ "immobilisation", "immobilization",
+ "individualised", "individualized",
+ "individualises", "individualizes",
+ "industrialised", "industrialized",
+ "industrialises", "industrializes",
+ "liberalisation", "liberalization",
+ "monopolisation", "monopolization",
+ "naturalisation", "naturalization",
+ "neighbourhoods", "neighborhoods",
+ "neutralisation", "neutralization",
+ "organisational", "organizational",
+ "outmanoeuvring", "outmaneuvering",
+ "overemphasised", "overemphasized",
+ "overemphasises", "overemphasizes",
+ "paediatricians", "pediatricians",
+ "particularised", "particularized",
+ "particularises", "particularizes",
+ "pasteurisation", "pasteurization",
+ "pedestrianised", "pedestrianized",
+ "pedestrianises", "pedestrianizes",
+ "philosophising", "philosophizing",
+ "politicisation", "politicization",
+ "popularisation", "popularization",
+ "pressurisation", "pressurization",
+ "prioritisation", "prioritization",
+ "privatisations", "privatizations",
+ "propagandising", "propagandizing",
+ "psychoanalysed", "psychoanalyzed",
+ "psychoanalyses", "psychoanalyzes",
+ "regularisation", "regularization",
+ "reorganisation", "reorganization",
+ "revolutionised", "revolutionized",
+ "revolutionises", "revolutionizes",
+ "secularisation", "secularization",
+ "sensationalise", "sensationalize",
+ "sentimentalise", "sentimentalize",
+ "serialisations", "serializations",
+ "specialisation", "specialization",
+ "sterilisations", "sterilizations",
+ "stigmatisation", "stigmatization",
+ "transistorised", "transistorized",
+ "unrecognisable", "unrecognizable",
+ "visualisations", "visualizations",
+ "westernisation", "westernization",
+ "accessorising", "accessorizing",
+ "acclimatising", "acclimatizing",
+ "amortisations", "amortizations",
+ "amphitheatres", "amphitheaters",
+ "anaesthetised", "anesthetized",
+ "anaesthetises", "anesthetizes",
+ "anaesthetists", "anesthetists",
+ "archaeologist", "archeologist",
+ "backpedalling", "backpedaling",
+ "behaviourists", "behaviorists",
+ "breathalysers", "breathalyzers",
+ "breathalysing", "breathalyzing",
+ "callisthenics", "calisthenics",
+ "cannibalising", "cannibalizing",
+ "characterised", "characterized",
+ "characterises", "characterizes",
+ "circularising", "circularizing",
+ "clarinettists", "clarinetists",
+ "collectivised", "collectivized",
+ "collectivises", "collectivizes",
+ "commercialise", "commercialize",
+ "computerising", "computerizing",
+ "conceptualise", "conceptualize",
+ "contextualise", "contextualize",
+ "criminalising", "criminalizing",
+ "crystallising", "crystallizing",
+ "decentralised", "decentralized",
+ "decentralises", "decentralizes",
+ "decriminalise", "decriminalize",
+ "demilitarised", "demilitarized",
+ "demilitarises", "demilitarizes",
+ "democratising", "democratizing",
+ "denationalise", "denationalize",
+ "depersonalise", "depersonalize",
+ "desensitising", "desensitizing",
+ "destabilising", "destabilizing",
+ "disembowelled", "disemboweled",
+ "dishonourable", "dishonorable",
+ "dishonourably", "dishonorably",
+ "dramatisation", "dramatization",
+ "editorialised", "editorialized",
+ "editorialises", "editorializes",
+ "encyclopaedia", "encyclopedia",
+ "encyclopaedic", "encyclopedic",
+ "extemporising", "extemporizing",
+ "externalising", "externalizing",
+ "familiarising", "familiarizing",
+ "fertilisation", "fertilization",
+ "fictionalised", "fictionalized",
+ "fictionalises", "fictionalizes",
+ "formalisation", "formalization",
+ "fossilisation", "fossilization",
+ "globalisation", "globalization",
+ "gynaecologist", "gynecologist",
+ "haematologist", "hematologist",
+ "haemophiliacs", "hemophiliacs",
+ "haemorrhaging", "hemorrhaging",
+ "harmonisation", "harmonization",
+ "hospitalising", "hospitalizing",
+ "hypothesising", "hypothesizing",
+ "immortalising", "immortalizing",
+ "individualise", "individualize",
+ "industrialise", "industrialize",
+ "internalising", "internalizing",
+ "marginalising", "marginalizing",
+ "materialising", "materializing",
+ "mechanisation", "mechanization",
+ "memorialising", "memorializing",
+ "miniaturising", "miniaturizing",
+ "miscatalogued", "miscataloged",
+ "misdemeanours", "misdemeanors",
+ "multicoloured", "multicolored",
+ "nationalising", "nationalizing",
+ "neighbourhood", "neighborhood",
+ "normalisation", "normalization",
+ "organisations", "organizations",
+ "outmanoeuvred", "outmaneuvered",
+ "outmanoeuvres", "outmaneuvers",
+ "overemphasise", "overemphasize",
+ "paediatrician", "pediatrician",
+ "palaeontology", "paleontology",
+ "particularise", "particularize",
+ "passivisation", "passivization",
+ "patronisingly", "patronizingly",
+ "pedestrianise", "pedestrianize",
+ "personalising", "personalizing",
+ "philosophised", "philosophized",
+ "philosophises", "philosophizes",
+ "privatisation", "privatization",
+ "propagandised", "propagandized",
+ "propagandises", "propagandizes",
+ "proselytisers", "proselytizers",
+ "proselytising", "proselytizing",
+ "psychoanalyse", "psychoanalyze",
+ "pulverisation", "pulverization",
+ "rationalising", "rationalizing",
+ "reconnoitring", "reconnoitering",
+ "revolutionise", "revolutionize",
+ "romanticising", "romanticizing",
+ "serialisation", "serialization",
+ "socialisation", "socialization",
+ "stabilisation", "stabilization",
+ "standardising", "standardizing",
+ "sterilisation", "sterilization",
+ "subsidisation", "subsidization",
+ "synchronising", "synchronizing",
+ "systematising", "systematizing",
+ "tantalisingly", "tantalizingly",
+ "underutilised", "underutilized",
+ "victimisation", "victimization",
+ "visualisation", "visualization",
+ "vocalisations", "vocalizations",
+ "vulgarisation", "vulgarization",
+ "accessorised", "accessorized",
+ "accessorises", "accessorizes",
+ "acclimatised", "acclimatized",
+ "acclimatises", "acclimatizes",
+ "amortisation", "amortization",
+ "amphitheatre", "amphitheater",
+ "anaesthetics", "anesthetics",
+ "anaesthetise", "anesthetize",
+ "anaesthetist", "anesthetist",
+ "antagonising", "antagonizing",
+ "appetisingly", "appetizingly",
+ "backpedalled", "backpedaled",
+ "bastardising", "bastardizing",
+ "behaviourism", "behaviorism",
+ "behaviourist", "behaviorist",
+ "bowdlerising", "bowdlerizing",
+ "breathalysed", "breathalyzed",
+ "breathalyser", "breathalyzer",
+ "breathalyses", "breathalyzes",
+ "cannibalised", "cannibalized",
+ "cannibalises", "cannibalizes",
+ "capitalising", "capitalizing",
+ "caramelising", "caramelizing",
+ "categorising", "categorizing",
+ "centigrammes", "centigrams",
+ "centralising", "centralizing",
+ "centrepieces", "centerpieces",
+ "characterise", "characterize",
+ "circularised", "circularized",
+ "circularises", "circularizes",
+ "clarinettist", "clarinetist",
+ "collectivise", "collectivize",
+ "colonisation", "colonization",
+ "computerised", "computerized",
+ "computerises", "computerizes",
+ "criminalised", "criminalized",
+ "criminalises", "criminalizes",
+ "crystallised", "crystallized",
+ "crystallises", "crystallizes",
+ "decentralise", "decentralize",
+ "dehumanising", "dehumanizing",
+ "demilitarise", "demilitarize",
+ "demobilising", "demobilizing",
+ "democratised", "democratized",
+ "democratises", "democratizes",
+ "demoralising", "demoralizing",
+ "desensitised", "desensitized",
+ "desensitises", "desensitizes",
+ "destabilised", "destabilized",
+ "destabilises", "destabilizes",
+ "discolouring", "discoloring",
+ "dishonouring", "dishonoring",
+ "disorganised", "disorganized",
+ "editorialise", "editorialize",
+ "endeavouring", "endeavoring",
+ "equalisation", "equalization",
+ "evangelising", "evangelizing",
+ "extemporised", "extemporized",
+ "extemporises", "extemporizes",
+ "externalised", "externalized",
+ "externalises", "externalizes",
+ "familiarised", "familiarized",
+ "familiarises", "familiarizes",
+ "fictionalise", "fictionalize",
+ "finalisation", "finalization",
+ "fraternising", "fraternizing",
+ "generalising", "generalizing",
+ "haemophiliac", "hemophiliac",
+ "haemorrhaged", "hemorrhaged",
+ "haemorrhages", "hemorrhages",
+ "haemorrhoids", "hemorrhoids",
+ "homoeopathic", "homeopathic",
+ "homogenising", "homogenizing",
+ "hospitalised", "hospitalized",
+ "hospitalises", "hospitalizes",
+ "hypothesised", "hypothesized",
+ "hypothesises", "hypothesizes",
+ "idealisation", "idealization",
+ "immobilisers", "immobilizers",
+ "immobilising", "immobilizing",
+ "immortalised", "immortalized",
+ "immortalises", "immortalizes",
+ "immunisation", "immunization",
+ "initialising", "initializing",
+ "internalised", "internalized",
+ "internalises", "internalizes",
+ "jeopardising", "jeopardizing",
+ "legalisation", "legalization",
+ "legitimising", "legitimizing",
+ "liberalising", "liberalizing",
+ "manoeuvrable", "maneuverable",
+ "manoeuvrings", "maneuverings",
+ "marginalised", "marginalized",
+ "marginalises", "marginalizes",
+ "marvellously", "marvelously",
+ "materialised", "materialized",
+ "materialises", "materializes",
+ "maximisation", "maximization",
+ "memorialised", "memorialized",
+ "memorialises", "memorializes",
+ "metabolising", "metabolizing",
+ "militarising", "militarizing",
+ "milligrammes", "milligrams",
+ "miniaturised", "miniaturized",
+ "miniaturises", "miniaturizes",
+ "misbehaviour", "misbehavior",
+ "misdemeanour", "misdemeanor",
+ "mobilisation", "mobilization",
+ "moisturisers", "moisturizers",
+ "moisturising", "moisturizing",
+ "monopolising", "monopolizing",
+ "moustachioed", "mustachioed",
+ "nationalised", "nationalized",
+ "nationalises", "nationalizes",
+ "naturalising", "naturalizing",
+ "neighbouring", "neighboring",
+ "neutralising", "neutralizing",
+ "oesophaguses", "esophaguses",
+ "organisation", "organization",
+ "orthopaedics", "orthopedics",
+ "outmanoeuvre", "outmaneuver",
+ "palaeolithic", "paleolithic",
+ "pasteurising", "pasteurizing",
+ "personalised", "personalized",
+ "personalises", "personalizes",
+ "philosophise", "philosophize",
+ "plagiarising", "plagiarizing",
+ "ploughshares", "plowshares",
+ "polarisation", "polarization",
+ "politicising", "politicizing",
+ "popularising", "popularizing",
+ "pressurising", "pressurizing",
+ "prioritising", "prioritizing",
+ "propagandise", "propagandize",
+ "proselytised", "proselytized",
+ "proselytiser", "proselytizer",
+ "proselytises", "proselytizes",
+ "radicalising", "radicalizing",
+ "rationalised", "rationalized",
+ "rationalises", "rationalizes",
+ "realisations", "realizations",
+ "recognisable", "recognizable",
+ "recognisably", "recognizably",
+ "recognisance", "recognizance",
+ "reconnoitred", "reconnoitered",
+ "reconnoitres", "reconnoiters",
+ "regularising", "regularizing",
+ "reorganising", "reorganizing",
+ "revitalising", "revitalizing",
+ "rhapsodising", "rhapsodizing",
+ "romanticised", "romanticized",
+ "romanticises", "romanticizes",
+ "scandalising", "scandalizing",
+ "scrutinising", "scrutinizing",
+ "secularising", "secularizing",
+ "specialising", "specializing",
+ "squirrelling", "squirreling",
+ "standardised", "standardized",
+ "standardises", "standardizes",
+ "stigmatising", "stigmatizing",
+ "sympathisers", "sympathizers",
+ "sympathising", "sympathizing",
+ "synchronised", "synchronized",
+ "synchronises", "synchronizes",
+ "synthesisers", "synthesizers",
+ "synthesising", "synthesizing",
+ "systematised", "systematized",
+ "systematises", "systematizes",
+ "technicolour", "technicolor",
+ "theatregoers", "theatergoers",
+ "traumatising", "traumatizing",
+ "trivialising", "trivializing",
+ "unauthorised", "unauthorized",
+ "uncatalogued", "uncataloged",
+ "unfavourable", "unfavorable",
+ "unfavourably", "unfavorably",
+ "unionisation", "unionization",
+ "unrecognised", "unrecognized",
+ "untrammelled", "untrammeled",
+ "urbanisation", "urbanization",
+ "vaporisation", "vaporization",
+ "vocalisation", "vocalization",
+ "watercolours", "watercolors",
+ "westernising", "westernizing",
+ "accessorise", "accessorize",
+ "acclimatise", "acclimatize",
+ "agonisingly", "agonizingly",
+ "amortisable", "amortizable",
+ "anaesthesia", "anesthesia",
+ "anaesthetic", "anesthetic",
+ "anglicising", "anglicizing",
+ "antagonised", "antagonized",
+ "antagonises", "antagonizes",
+ "apologising", "apologizing",
+ "archaeology", "archeology",
+ "authorising", "authorizing",
+ "bastardised", "bastardized",
+ "bastardises", "bastardizes",
+ "bedevilling", "bedeviling",
+ "behavioural", "behavioral",
+ "belabouring", "belaboring",
+ "bowdlerised", "bowdlerized",
+ "bowdlerises", "bowdlerizes",
+ "breathalyse", "breathalyze",
+ "brutalising", "brutalizing",
+ "cannibalise", "cannibalize",
+ "capitalised", "capitalized",
+ "capitalises", "capitalizes",
+ "caramelised", "caramelized",
+ "caramelises", "caramelizes",
+ "carbonising", "carbonizing",
+ "cataloguing", "cataloging",
+ "categorised", "categorized",
+ "categorises", "categorizes",
+ "cauterising", "cauterizing",
+ "centigramme", "centigram",
+ "centilitres", "centiliters",
+ "centimetres", "centimeters",
+ "centralised", "centralized",
+ "centralises", "centralizes",
+ "centrefolds", "centerfolds",
+ "centrepiece", "centerpiece",
+ "channelling", "channeling",
+ "chequebooks", "checkbooks",
+ "circularise", "circularize",
+ "colourfully", "colorfully",
+ "colourizing", "colorizing",
+ "computerise", "computerize",
+ "councillors", "councilors",
+ "counselling", "counseling",
+ "counsellors", "counselors",
+ "criminalise", "criminalize",
+ "criticising", "criticizing",
+ "crystallise", "crystallize",
+ "customising", "customizing",
+ "defenceless", "defenseless",
+ "dehumanised", "dehumanized",
+ "dehumanises", "dehumanizes",
+ "demobilised", "demobilized",
+ "demobilises", "demobilizes",
+ "democratise", "democratize",
+ "demoralised", "demoralized",
+ "demoralises", "demoralizes",
+ "deodorising", "deodorizing",
+ "desensitise", "desensitize",
+ "destabilise", "destabilize",
+ "discoloured", "discolored",
+ "dishevelled", "disheveled",
+ "dishonoured", "dishonored",
+ "dramatising", "dramatizing",
+ "economising", "economizing",
+ "empathising", "empathizing",
+ "emphasising", "emphasizing",
+ "endeavoured", "endeavored",
+ "epitomising", "epitomizing",
+ "evangelised", "evangelized",
+ "evangelises", "evangelizes",
+ "extemporise", "extemporize",
+ "externalise", "externalize",
+ "factorising", "factorizing",
+ "familiarise", "familiarize",
+ "fantasising", "fantasizing",
+ "favouritism", "favoritism",
+ "fertilisers", "fertilizers",
+ "fertilising", "fertilizing",
+ "flavourings", "flavorings",
+ "flavourless", "flavorless",
+ "flavoursome", "flavorsome",
+ "formalising", "formalizing",
+ "fossilising", "fossilizing",
+ "fraternised", "fraternized",
+ "fraternises", "fraternizes",
+ "galvanising", "galvanizing",
+ "generalised", "generalized",
+ "generalises", "generalizes",
+ "ghettoising", "ghettoizing",
+ "globalising", "globalizing",
+ "gruellingly", "gruelingly",
+ "gynaecology", "gynecology",
+ "haematology", "hematology",
+ "haemoglobin", "hemoglobin",
+ "haemophilia", "hemophilia",
+ "haemorrhage", "hemorrhage",
+ "harmonising", "harmonizing",
+ "homoeopaths", "homeopaths",
+ "homoeopathy", "homeopathy",
+ "homogenised", "homogenized",
+ "homogenises", "homogenizes",
+ "hospitalise", "hospitalize",
+ "hybridising", "hybridizing",
+ "hypnotising", "hypnotizing",
+ "hypothesise", "hypothesize",
+ "immobilised", "immobilized",
+ "immobiliser", "immobilizer",
+ "immobilises", "immobilizes",
+ "immortalise", "immortalize",
+ "impanelling", "impaneling",
+ "imperilling", "imperiling",
+ "initialised", "initialized",
+ "initialises", "initializes",
+ "initialling", "initialing",
+ "instalments", "installments",
+ "internalise", "internalize",
+ "italicising", "italicizing",
+ "jeopardised", "jeopardized",
+ "jeopardises", "jeopardizes",
+ "kilogrammes", "kilograms",
+ "legitimised", "legitimized",
+ "legitimises", "legitimizes",
+ "liberalised", "liberalized",
+ "liberalises", "liberalizes",
+ "lionisation", "lionization",
+ "liquidisers", "liquidizers",
+ "liquidising", "liquidizing",
+ "magnetising", "magnetizing",
+ "manoeuvring", "maneuvering",
+ "marginalise", "marginalize",
+ "marshalling", "marshaling",
+ "materialise", "materialize",
+ "mechanising", "mechanizing",
+ "memorialise", "memorialize",
+ "mesmerising", "mesmerizing",
+ "metabolised", "metabolized",
+ "metabolises", "metabolizes",
+ "micrometres", "micrometers",
+ "militarised", "militarized",
+ "militarises", "militarizes",
+ "milligramme", "milligram",
+ "millilitres", "milliliters",
+ "millimetres", "millimeters",
+ "miniaturise", "miniaturize",
+ "modernising", "modernizing",
+ "moisturised", "moisturized",
+ "moisturiser", "moisturizer",
+ "moisturises", "moisturizes",
+ "monopolised", "monopolized",
+ "monopolises", "monopolizes",
+ "nationalise", "nationalize",
+ "naturalised", "naturalized",
+ "naturalises", "naturalizes",
+ "neighbourly", "neighborly",
+ "neutralised", "neutralized",
+ "neutralises", "neutralizes",
+ "normalising", "normalizing",
+ "orthopaedic", "orthopedic",
+ "ostracising", "ostracizing",
+ "oxidisation", "oxidization",
+ "paediatrics", "pediatrics",
+ "paedophiles", "pedophiles",
+ "paedophilia", "pedophilia",
+ "passivising", "passivizing",
+ "pasteurised", "pasteurized",
+ "pasteurises", "pasteurizes",
+ "patronising", "patronizing",
+ "personalise", "personalize",
+ "plagiarised", "plagiarized",
+ "plagiarises", "plagiarizes",
+ "ploughshare", "plowshare",
+ "politicised", "politicized",
+ "politicises", "politicizes",
+ "popularised", "popularized",
+ "popularises", "popularizes",
+ "praesidiums", "presidiums",
+ "pressurised", "pressurized",
+ "pressurises", "pressurizes",
+ "prioritised", "prioritized",
+ "prioritises", "prioritizes",
+ "privatising", "privatizing",
+ "proselytise", "proselytize",
+ "publicising", "publicizing",
+ "pulverising", "pulverizing",
+ "quarrelling", "quarreling",
+ "radicalised", "radicalized",
+ "radicalises", "radicalizes",
+ "randomising", "randomizing",
+ "rationalise", "rationalize",
+ "realisation", "realization",
+ "recognising", "recognizing",
+ "reconnoitre", "reconnoiter",
+ "regularised", "regularized",
+ "regularises", "regularizes",
+ "remodelling", "remodeling",
+ "reorganised", "reorganized",
+ "reorganises", "reorganizes",
+ "revitalised", "revitalized",
+ "revitalises", "revitalizes",
+ "rhapsodised", "rhapsodized",
+ "rhapsodises", "rhapsodizes",
+ "romanticise", "romanticize",
+ "scandalised", "scandalized",
+ "scandalises", "scandalizes",
+ "sceptically", "skeptically",
+ "scrutinised", "scrutinized",
+ "scrutinises", "scrutinizes",
+ "secularised", "secularized",
+ "secularises", "secularizes",
+ "sensitising", "sensitizing",
+ "serialising", "serializing",
+ "sermonising", "sermonizing",
+ "shrivelling", "shriveling",
+ "signalising", "signalizing",
+ "snorkelling", "snorkeling",
+ "snowploughs", "snowplow",
+ "socialising", "socializing",
+ "solemnising", "solemnizing",
+ "specialised", "specialized",
+ "specialises", "specializes",
+ "squirrelled", "squirreled",
+ "stabilisers", "stabilizers",
+ "stabilising", "stabilizing",
+ "standardise", "standardize",
+ "stencilling", "stenciling",
+ "sterilisers", "sterilizers",
+ "sterilising", "sterilizing",
+ "stigmatised", "stigmatized",
+ "stigmatises", "stigmatizes",
+ "subsidisers", "subsidizers",
+ "subsidising", "subsidizing",
+ "summarising", "summarizing",
+ "symbolising", "symbolizing",
+ "sympathised", "sympathized",
+ "sympathiser", "sympathizer",
+ "sympathises", "sympathizes",
+ "synchronise", "synchronize",
+ "synthesised", "synthesized",
+ "synthesiser", "synthesizer",
+ "synthesises", "synthesizes",
+ "systematise", "systematize",
+ "tantalising", "tantalizing",
+ "temporising", "temporizing",
+ "tenderising", "tenderizing",
+ "terrorising", "terrorizing",
+ "theatregoer", "theatergoer",
+ "traumatised", "traumatized",
+ "traumatises", "traumatizes",
+ "trivialised", "trivialized",
+ "trivialises", "trivializes",
+ "tyrannising", "tyrannizing",
+ "uncivilised", "uncivilized",
+ "unorganised", "unorganized",
+ "unravelling", "unraveling",
+ "utilisation", "utilization",
+ "vandalising", "vandalizing",
+ "verbalising", "verbalizing",
+ "victimising", "victimizing",
+ "visualising", "visualizing",
+ "vulgarising", "vulgarizing",
+ "watercolour", "watercolor",
+ "westernised", "westernized",
+ "westernises", "westernizes",
+ "worshipping", "worshiping",
+ "aeroplanes", "airplanes",
+ "amortising", "amortizing",
+ "anglicised", "anglicized",
+ "anglicises", "anglicizes",
+ "annualised", "annualized",
+ "antagonise", "antagonize",
+ "apologised", "apologized",
+ "apologises", "apologizes",
+ "appetisers", "appetizers",
+ "appetising", "appetizing",
+ "authorised", "authorized",
+ "authorises", "authorizes",
+ "bannisters", "banisters",
+ "bastardise", "bastardize",
+ "bedevilled", "bedeviled",
+ "behaviours", "behaviors",
+ "bejewelled", "bejeweled",
+ "belaboured", "belabored",
+ "bowdlerise", "bowdlerize",
+ "brutalised", "brutalized",
+ "brutalises", "brutalizes",
+ "canalising", "canalizing",
+ "cancelling", "canceling",
+ "canonising", "canonizing",
+ "capitalise", "capitalize",
+ "caramelise", "caramelize",
+ "carbonised", "carbonized",
+ "carbonises", "carbonizes",
+ "catalogued", "cataloged",
+ "catalogues", "catalogs",
+ "catalysing", "catalyzing",
+ "categorise", "categorize",
+ "cauterised", "cauterized",
+ "cauterises", "cauterizes",
+ "centilitre", "centiliter",
+ "centimetre", "centimeter",
+ "centralise", "centralize",
+ "centrefold", "centerfold",
+ "channelled", "channeled",
+ "chequebook", "checkbook",
+ "chiselling", "chiseling",
+ "civilising", "civilizing",
+ "clamouring", "clamoring",
+ "colonisers", "colonizers",
+ "colonising", "colonizing",
+ "colourants", "colorants",
+ "colourized", "colorized",
+ "colourizes", "colorizes",
+ "colourless", "colorless",
+ "connexions", "connections",
+ "councillor", "councilor",
+ "counselled", "counseled",
+ "counsellor", "counselor",
+ "criticised", "criticized",
+ "criticises", "criticizes",
+ "cudgelling", "cudgeling",
+ "customised", "customized",
+ "customises", "customizes",
+ "dehumanise", "dehumanize",
+ "demobilise", "demobilize",
+ "demonising", "demonizing",
+ "demoralise", "demoralize",
+ "deodorised", "deodorized",
+ "deodorises", "deodorizes",
+ "deputising", "deputizing",
+ "digitising", "digitizing",
+ "discolours", "discolors",
+ "dishonours", "dishonors",
+ "dramatised", "dramatized",
+ "dramatises", "dramatizes",
+ "drivelling", "driveling",
+ "economised", "economized",
+ "economises", "economizes",
+ "empathised", "empathized",
+ "empathises", "empathizes",
+ "emphasised", "emphasized",
+ "emphasises", "emphasizes",
+ "enamelling", "enameling",
+ "endeavours", "endeavors",
+ "energising", "energizing",
+ "epaulettes", "epaulets",
+ "epicentres", "epicenters",
+ "epitomised", "epitomized",
+ "epitomises", "epitomizes",
+ "equalisers", "equalizers",
+ "equalising", "equalizing",
+ "eulogising", "eulogizing",
+ "evangelise", "evangelize",
+ "factorised", "factorized",
+ "factorises", "factorizes",
+ "fantasised", "fantasized",
+ "fantasises", "fantasizes",
+ "favourable", "favorable",
+ "favourably", "favorably",
+ "favourites", "favorites",
+ "feminising", "feminizing",
+ "fertilised", "fertilized",
+ "fertiliser", "fertilizer",
+ "fertilises", "fertilizes",
+ "fibreglass", "fiberglass",
+ "finalising", "finalizing",
+ "flavouring", "flavoring",
+ "formalised", "formalized",
+ "formalises", "formalizes",
+ "fossilised", "fossilized",
+ "fossilises", "fossilizes",
+ "fraternise", "fraternize",
+ "fulfilment", "fulfillment",
+ "funnelling", "funneling",
+ "galvanised", "galvanized",
+ "galvanises", "galvanizes",
+ "gambolling", "gamboling",
+ "gaolbreaks", "jailbreaks",
+ "generalise", "generalize",
+ "ghettoised", "ghettoized",
+ "ghettoises", "ghettoizes",
+ "globalised", "globalized",
+ "globalises", "globalizes",
+ "gonorrhoea", "gonorrhea",
+ "grovelling", "groveling",
+ "harbouring", "harboring",
+ "harmonised", "harmonized",
+ "harmonises", "harmonizes",
+ "homoeopath", "homeopath",
+ "homogenise", "homogenize",
+ "honourable", "honorable",
+ "honourably", "honorably",
+ "humanising", "humanizing",
+ "humourless", "humorless",
+ "hybridised", "hybridized",
+ "hybridises", "hybridizes",
+ "hypnotised", "hypnotized",
+ "hypnotises", "hypnotizes",
+ "idealising", "idealizing",
+ "immobilise", "immobilize",
+ "immunising", "immunizing",
+ "impanelled", "impaneled",
+ "imperilled", "imperiled",
+ "inflexions", "inflections",
+ "initialise", "initialize",
+ "initialled", "initialed",
+ "instalment", "installment",
+ "ionisation", "ionization",
+ "italicised", "italicized",
+ "italicises", "italicizes",
+ "jeopardise", "jeopardize",
+ "kilogramme", "kilogram",
+ "kilometres", "kilometers",
+ "lacklustre", "lackluster",
+ "legalising", "legalizing",
+ "legitimise", "legitimize",
+ "liberalise", "liberalize",
+ "liquidised", "liquidized",
+ "liquidiser", "liquidizer",
+ "liquidises", "liquidizes",
+ "localising", "localizing",
+ "magnetised", "magnetized",
+ "magnetises", "magnetizes",
+ "manoeuvred", "maneuvered",
+ "manoeuvres", "maneuvers",
+ "marshalled", "marshaled",
+ "marvelling", "marveling",
+ "marvellous", "marvelous",
+ "maximising", "maximizing",
+ "mechanised", "mechanized",
+ "mechanises", "mechanizes",
+ "memorising", "memorizing",
+ "mesmerised", "mesmerized",
+ "mesmerises", "mesmerizes",
+ "metabolise", "metabolize",
+ "micrometre", "micrometer",
+ "militarise", "militarize",
+ "millilitre", "milliliter",
+ "millimetre", "millimeter",
+ "minimising", "minimizing",
+ "mobilising", "mobilizing",
+ "modernised", "modernized",
+ "modernises", "modernizes",
+ "moisturise", "moisturize",
+ "monopolise", "monopolize",
+ "moralising", "moralizing",
+ "mouldering", "moldering",
+ "moustached", "mustached",
+ "moustaches", "mustaches",
+ "naturalise", "naturalize",
+ "neighbours", "neighbors",
+ "neutralise", "neutralize",
+ "normalised", "normalized",
+ "normalises", "normalizes",
+ "oesophagus", "esophagus",
+ "optimising", "optimizing",
+ "organisers", "organizers",
+ "organising", "organizing",
+ "ostracised", "ostracized",
+ "ostracises", "ostracizes",
+ "paederasts", "pederasts",
+ "paediatric", "pediatric",
+ "paedophile", "pedophile",
+ "panellists", "panelists",
+ "paralysing", "paralyzing",
+ "parcelling", "parceling",
+ "passivised", "passivized",
+ "passivises", "passivizes",
+ "pasteurise", "pasteurize",
+ "patronised", "patronized",
+ "patronises", "patronizes",
+ "penalising", "penalizing",
+ "pencilling", "penciling",
+ "plagiarise", "plagiarize",
+ "polarising", "polarizing",
+ "politicise", "politicize",
+ "popularise", "popularize",
+ "practising", "practicing",
+ "praesidium", "presidium",
+ "pressurise", "pressurize",
+ "prioritise", "prioritize",
+ "privatised", "privatized",
+ "privatises", "privatizes",
+ "programmes", "programs",
+ "publicised", "publicized",
+ "publicises", "publicizes",
+ "pulverised", "pulverized",
+ "pulverises", "pulverizes",
+ "pummelling", "pummeled",
+ "quarrelled", "quarreled",
+ "radicalise", "radicalize",
+ "randomised", "randomized",
+ "randomises", "randomizes",
+ "realisable", "realizable",
+ "recognised", "recognized",
+ "recognises", "recognizes",
+ "refuelling", "refueling",
+ "regularise", "regularize",
+ "remodelled", "remodeled",
+ "remoulding", "remolding",
+ "reorganise", "reorganize",
+ "revitalise", "revitalize",
+ "rhapsodise", "rhapsodize",
+ "ritualised", "ritualized",
+ "sanitising", "sanitizing",
+ "satirising", "satirizing",
+ "scandalise", "scandalize",
+ "scepticism", "skepticism",
+ "scrutinise", "scrutinize",
+ "secularise", "secularize",
+ "sensitised", "sensitized",
+ "sensitises", "sensitizes",
+ "sepulchres", "sepulchers",
+ "serialised", "serialized",
+ "serialises", "serializes",
+ "sermonised", "sermonized",
+ "sermonises", "sermonizes",
+ "shovelling", "shoveling",
+ "shrivelled", "shriveled",
+ "signalised", "signalized",
+ "signalises", "signalizes",
+ "signalling", "signaling",
+ "snivelling", "sniveling",
+ "snorkelled", "snorkeled",
+ "snowplough", "snowplow",
+ "socialised", "socialized",
+ "socialises", "socializes",
+ "sodomising", "sodomizing",
+ "solemnised", "solemnized",
+ "solemnises", "solemnizes",
+ "specialise", "specialize",
+ "spiralling", "spiraling",
+ "splendours", "splendors",
+ "stabilised", "stabilized",
+ "stabiliser", "stabilizer",
+ "stabilises", "stabilizes",
+ "stencilled", "stenciled",
+ "sterilised", "sterilized",
+ "steriliser", "sterilizer",
+ "sterilises", "sterilizes",
+ "stigmatise", "stigmatize",
+ "subsidised", "subsidized",
+ "subsidiser", "subsidizer",
+ "subsidises", "subsidizes",
+ "succouring", "succoring",
+ "sulphurous", "sulfurous",
+ "summarised", "summarized",
+ "summarises", "summarizes",
+ "swivelling", "swiveling",
+ "symbolised", "symbolized",
+ "symbolises", "symbolizes",
+ "sympathise", "sympathize",
+ "synthesise", "synthesize",
+ "tantalised", "tantalized",
+ "tantalises", "tantalizes",
+ "temporised", "temporized",
+ "temporises", "temporizes",
+ "tenderised", "tenderized",
+ "tenderises", "tenderizes",
+ "terrorised", "terrorized",
+ "terrorises", "terrorizes",
+ "theorising", "theorizing",
+ "traumatise", "traumatize",
+ "travellers", "travelers",
+ "travelling", "traveling",
+ "tricolours", "tricolors",
+ "trivialise", "trivialize",
+ "tunnelling", "tunneling",
+ "tyrannised", "tyrannized",
+ "tyrannises", "tyrannizes",
+ "unequalled", "unequaled",
+ "unionising", "unionizing",
+ "unravelled", "unraveled",
+ "unrivalled", "unrivaled",
+ "urbanising", "urbanizing",
+ "utilisable", "utilizable",
+ "vandalised", "vandalized",
+ "vandalises", "vandalizes",
+ "vaporising", "vaporizing",
+ "verbalised", "verbalized",
+ "verbalises", "verbalizes",
+ "victimised", "victimized",
+ "victimises", "victimizes",
+ "visualised", "visualized",
+ "visualises", "visualizes",
+ "vocalising", "vocalizing",
+ "vulcanised", "vulcanized",
+ "vulgarised", "vulgarized",
+ "vulgarises", "vulgarizes",
+ "weaselling", "weaseling",
+ "westernise", "westernize",
+ "womanisers", "womanizers",
+ "womanising", "womanizing",
+ "worshipped", "worshiped",
+ "worshipper", "worshiper",
+ "aeroplane", "airplane",
+ "aetiology", "etiology",
+ "agonising", "agonizing",
+ "almanacks", "almanacs",
+ "aluminium", "aluminum",
+ "amortised", "amortized",
+ "amortises", "amortizes",
+ "analogues", "analogs",
+ "analysing", "analyzing",
+ "anglicise", "anglicize",
+ "apologise", "apologize",
+ "appetiser", "appetizer",
+ "armourers", "armorers",
+ "armouries", "armories",
+ "artefacts", "artifacts",
+ "authorise", "authorize",
+ "baptising", "baptizing",
+ "behaviour", "behavior",
+ "belabours", "belabors",
+ "brutalise", "brutalize",
+ "callipers", "calipers",
+ "canalised", "canalized",
+ "canalises", "canalizes",
+ "cancelled", "canceled",
+ "canonised", "canonized",
+ "canonises", "canonizes",
+ "carbonise", "carbonize",
+ "carolling", "caroling",
+ "catalogue", "catalog",
+ "catalysed", "catalyzed",
+ "catalyses", "catalyzes",
+ "cauterise", "cauterize",
+ "cavilling", "caviling",
+ "chequered", "checkered",
+ "chiselled", "chiseled",
+ "civilised", "civilized",
+ "civilises", "civilizes",
+ "clamoured", "clamored",
+ "colonised", "colonized",
+ "coloniser", "colonizer",
+ "colonises", "colonizes",
+ "colourant", "colorant",
+ "coloureds", "coloreds",
+ "colourful", "colorful",
+ "colouring", "coloring",
+ "colourize", "colorize",
+ "connexion", "connection",
+ "criticise", "criticize",
+ "cruellest", "cruelest",
+ "cudgelled", "cudgeled",
+ "customise", "customize",
+ "demeanour", "demeanor",
+ "demonised", "demonized",
+ "demonises", "demonizes",
+ "deodorise", "deodorize",
+ "deputised", "deputized",
+ "deputises", "deputizes",
+ "dialogues", "dialogs",
+ "diarrhoea", "diarrhea",
+ "digitised", "digitized",
+ "digitises", "digitizes",
+ "discolour", "discolor",
+ "disfavour", "disfavor",
+ "dishonour", "dishonor",
+ "dramatise", "dramatize",
+ "drivelled", "driveled",
+ "economise", "economize",
+ "empathise", "empathize",
+ "emphasise", "emphasize",
+ "enamelled", "enameled",
+ "enamoured", "enamored",
+ "endeavour", "endeavor",
+ "energised", "energized",
+ "energises", "energizes",
+ "epaulette", "epaulet",
+ "epicentre", "epicenter",
+ "epitomise", "epitomize",
+ "equalised", "equalized",
+ "equaliser", "equalizer",
+ "equalises", "equalizes",
+ "eulogised", "eulogized",
+ "eulogises", "eulogizes",
+ "factorise", "factorize",
+ "fantasise", "fantasize",
+ "favouring", "favoring",
+ "favourite", "favorite",
+ "feminised", "feminized",
+ "feminises", "feminizes",
+ "fertilise", "fertilize",
+ "finalised", "finalized",
+ "finalises", "finalizes",
+ "flautists", "flutists",
+ "flavoured", "flavored",
+ "formalise", "formalize",
+ "fossilise", "fossilize",
+ "funnelled", "funneled",
+ "galvanise", "galvanize",
+ "gambolled", "gamboled",
+ "gaolbirds", "jailbirds",
+ "gaolbreak", "jailbreak",
+ "ghettoise", "ghettoize",
+ "globalise", "globalize",
+ "gravelled", "graveled",
+ "grovelled", "groveled",
+ "gruelling", "grueling",
+ "harboured", "harbored",
+ "harmonise", "harmonize",
+ "honouring", "honoring",
+ "humanised", "humanized",
+ "humanises", "humanizes",
+ "humouring", "humoring",
+ "hybridise", "hybridize",
+ "hypnotise", "hypnotize",
+ "idealised", "idealized",
+ "idealises", "idealizes",
+ "idolising", "idolizing",
+ "immunised", "immunized",
+ "immunises", "immunizes",
+ "inflexion", "inflection",
+ "italicise", "italicize",
+ "itemising", "itemizing",
+ "jewellers", "jewelers",
+ "jewellery", "jewelry",
+ "kilometre", "kilometer",
+ "labelling", "labeling",
+ "labourers", "laborers",
+ "labouring", "laboring",
+ "legalised", "legalized",
+ "legalises", "legalizes",
+ "leukaemia", "leukemia",
+ "levellers", "levelers",
+ "levelling", "leveling",
+ "libelling", "libeling",
+ "libellous", "libelous",
+ "licencing", "licensing",
+ "lionising", "lionizing",
+ "liquidise", "liquidize",
+ "localised", "localized",
+ "localises", "localizes",
+ "magnetise", "magnetize",
+ "manoeuvre", "maneuver",
+ "marvelled", "marveled",
+ "maximised", "maximized",
+ "maximises", "maximizes",
+ "mechanise", "mechanize",
+ "mediaeval", "medieval",
+ "memorised", "memorized",
+ "memorises", "memorizes",
+ "mesmerise", "mesmerize",
+ "minimised", "minimized",
+ "minimises", "minimizes",
+ "mobilised", "mobilized",
+ "mobilises", "mobilizes",
+ "modellers", "modelers",
+ "modelling", "modeling",
+ "modernise", "modernize",
+ "moralised", "moralized",
+ "moralises", "moralizes",
+ "motorised", "motorized",
+ "mouldered", "moldered",
+ "mouldiest", "moldiest",
+ "mouldings", "moldings",
+ "moustache", "mustache",
+ "neighbour", "neighbor",
+ "normalise", "normalize",
+ "odourless", "odorless",
+ "oestrogen", "estrogen",
+ "optimised", "optimized",
+ "optimises", "optimizes",
+ "organised", "organized",
+ "organiser", "organizer",
+ "organises", "organizes",
+ "ostracise", "ostracize",
+ "oxidising", "oxidizing",
+ "paederast", "pederast",
+ "panelling", "paneling",
+ "panellist", "panelist",
+ "paralysed", "paralyzed",
+ "paralyses", "paralyzes",
+ "parcelled", "parceled",
+ "passivise", "passivize",
+ "patronise", "patronize",
+ "pedalling", "pedaling",
+ "penalised", "penalized",
+ "penalises", "penalizes",
+ "pencilled", "penciled",
+ "ploughing", "plowing",
+ "ploughman", "plowman",
+ "ploughmen", "plowmen",
+ "polarised", "polarized",
+ "polarises", "polarizes",
+ "practised", "practiced",
+ "practises", "practices",
+ "pretences", "pretenses",
+ "primaeval", "primeval",
+ "privatise", "privatize",
+ "programme", "program",
+ "publicise", "publicize",
+ "pulverise", "pulverize",
+ "pummelled", "pummel",
+ "randomise", "randomize",
+ "ravelling", "raveling",
+ "realising", "realizing",
+ "recognise", "recognize",
+ "refuelled", "refueled",
+ "remoulded", "remolded",
+ "revellers", "revelers",
+ "revelling", "reveling",
+ "rivalling", "rivaling",
+ "saltpetre", "saltpeter",
+ "sanitised", "sanitized",
+ "sanitises", "sanitizes",
+ "satirised", "satirized",
+ "satirises", "satirizes",
+ "savouries", "savories",
+ "savouring", "savoring",
+ "sceptical", "skeptical",
+ "sensitise", "sensitize",
+ "sepulchre", "sepulcher",
+ "serialise", "serialize",
+ "sermonise", "sermonize",
+ "shovelled", "shoveled",
+ "signalise", "signalize",
+ "signalled", "signaled",
+ "snivelled", "sniveled",
+ "socialise", "socialize",
+ "sodomised", "sodomized",
+ "sodomises", "sodomizes",
+ "solemnise", "solemnize",
+ "spiralled", "spiraled",
+ "splendour", "splendor",
+ "stabilise", "stabilize",
+ "sterilise", "sterilize",
+ "subsidise", "subsidize",
+ "succoured", "succored",
+ "sulphates", "sulfates",
+ "sulphides", "sulfides",
+ "summarise", "summarize",
+ "swivelled", "swiveled",
+ "symbolise", "symbolize",
+ "syphoning", "siphoning",
+ "tantalise", "tantalize",
+ "tasselled", "tasseled",
+ "temporise", "temporize",
+ "tenderise", "tenderize",
+ "terrorise", "terrorize",
+ "theorised", "theorized",
+ "theorises", "theorizes",
+ "towelling", "toweling",
+ "travelled", "traveled",
+ "traveller", "traveler",
+ "trialling", "trialing",
+ "tricolour", "tricolor",
+ "tunnelled", "tunneled",
+ "tyrannise", "tyrannize",
+ "unionised", "unionized",
+ "unionises", "unionizes",
+ "unsavoury", "unsavory",
+ "urbanised", "urbanized",
+ "urbanises", "urbanizes",
+ "utilising", "utilizing",
+ "vandalise", "vandalize",
+ "vaporised", "vaporized",
+ "vaporises", "vaporizes",
+ "verbalise", "verbalize",
+ "victimise", "victimize",
+ "visualise", "visualize",
+ "vocalised", "vocalized",
+ "vocalises", "vocalizes",
+ "vulgarise", "vulgarize",
+ "weaselled", "weaseled",
+ "womanised", "womanized",
+ "womaniser", "womanizer",
+ "womanises", "womanizes",
+ "yodelling", "yodeling",
+ "yoghourts", "yogurts",
+ "agonised", "agonized",
+ "agonises", "agonizes",
+ "almanack", "almanac",
+ "amortise", "amortize",
+ "analogue", "analog",
+ "analysed", "analyzed",
+ "analyses", "analyzes",
+ "armoured", "armored",
+ "armourer", "armorer",
+ "artefact", "artifact",
+ "baptised", "baptized",
+ "baptises", "baptizes",
+ "baulking", "balking",
+ "belabour", "belabor",
+ "bevelled", "beveled",
+ "calibres", "calibers",
+ "calliper", "caliper",
+ "canalise", "canalize",
+ "canonise", "canonize",
+ "carolled", "caroled",
+ "catalyse", "catalyze",
+ "cavilled", "caviled",
+ "civilise", "civilize",
+ "clamours", "clamors",
+ "clangour", "clangor",
+ "colonise", "colonize",
+ "coloured", "colored",
+ "cosiness", "coziness",
+ "crueller", "crueler",
+ "defences", "defenses",
+ "demonise", "demonize",
+ "deputise", "deputize",
+ "dialling", "dialing",
+ "dialogue", "dialog",
+ "digitise", "digitize",
+ "draughty", "drafty",
+ "duelling", "dueling",
+ "energise", "energize",
+ "enthrals", "enthralls",
+ "equalise", "equalize",
+ "eulogise", "eulogize",
+ "favoured", "favored",
+ "feminise", "feminize",
+ "finalise", "finalize",
+ "flautist", "flutist",
+ "flavours", "flavors",
+ "foetuses", "fetuses",
+ "fuelling", "fueling",
+ "gaolbird", "jailbird",
+ "gryphons", "griffins",
+ "harbours", "harbors",
+ "honoured", "honored",
+ "humanise", "humanize",
+ "humoured", "humored",
+ "idealise", "idealize",
+ "idolised", "idolized",
+ "idolises", "idolizes",
+ "immunise", "immunize",
+ "ionisers", "ionizers",
+ "ionising", "ionizing",
+ "itemised", "itemized",
+ "itemises", "itemizes",
+ "jewelled", "jeweled",
+ "jeweller", "jeweler",
+ "labelled", "labeled",
+ "laboured", "labored",
+ "labourer", "laborer",
+ "legalise", "legalize",
+ "levelled", "leveled",
+ "leveller", "leveler",
+ "libelled", "libeled",
+ "licenced", "licensed",
+ "licences", "licenses",
+ "lionised", "lionized",
+ "lionises", "lionizes",
+ "localise", "localize",
+ "maximise", "maximize",
+ "memorise", "memorize",
+ "minimise", "minimize",
+ "misspelt", "misspelled",
+ "mobilise", "mobilize",
+ "modelled", "modeled",
+ "modeller", "modeler",
+ "moralise", "moralize",
+ "moulders", "molders",
+ "mouldier", "moldier",
+ "moulding", "molding",
+ "moulting", "molting",
+ "offences", "offenses",
+ "optimise", "optimize",
+ "organise", "organize",
+ "oxidised", "oxidized",
+ "oxidises", "oxidizes",
+ "panelled", "paneled",
+ "paralyse", "paralyze",
+ "parlours", "parlors",
+ "pedalled", "pedaled",
+ "penalise", "penalize",
+ "philtres", "filters",
+ "ploughed", "plowed",
+ "polarise", "polarize",
+ "practise", "practice",
+ "pretence", "pretense",
+ "ravelled", "raveled",
+ "realised", "realized",
+ "realises", "realizes",
+ "remoulds", "remolds",
+ "revelled", "reveled",
+ "reveller", "reveler",
+ "rivalled", "rivaled",
+ "rumoured", "rumored",
+ "sanitise", "sanitize",
+ "satirise", "satirize",
+ "saviours", "saviors",
+ "savoured", "savored",
+ "sceptics", "skeptics",
+ "sceptres", "scepters",
+ "sodomise", "sodomize",
+ "spectres", "specters",
+ "succours", "succors",
+ "sulphate", "sulfate",
+ "sulphide", "sulfide",
+ "syphoned", "siphoned",
+ "theatres", "theaters",
+ "theorise", "theorize",
+ "towelled", "toweled",
+ "toxaemia", "toxemia",
+ "trialled", "trialed",
+ "unionise", "unionize",
+ "urbanise", "urbanize",
+ "utilised", "utilized",
+ "utilises", "utilizes",
+ "vaporise", "vaporize",
+ "vocalise", "vocalize",
+ "womanise", "womanize",
+ "yodelled", "yodeled",
+ "yoghourt", "yogurt",
+ "yoghurts", "yogurts",
+ "agonise", "agonize",
+ "anaemia", "anemia",
+ "anaemic", "anemic",
+ "analyse", "analyze",
+ "arbours", "arbors",
+ "armoury", "armory",
+ "baptise", "baptize",
+ "baulked", "balked",
+ "behoved", "behooved",
+ "behoves", "behooves",
+ "calibre", "caliber",
+ "candour", "candor",
+ "centred", "centered",
+ "centres", "centers",
+ "cheques", "checks",
+ "clamour", "clamor",
+ "colours", "colors",
+ "cosiest", "coziest",
+ "defence", "defense",
+ "dialled", "dialed",
+ "distils", "distills",
+ "duelled", "dueled",
+ "enthral", "enthrall",
+ "favours", "favors",
+ "fervour", "fervor",
+ "flavour", "flavor",
+ "fuelled", "fueled",
+ "fulfils", "fulfills",
+ "gaolers", "jailers",
+ "gaoling", "jailing",
+ "gipsies", "gypsies",
+ "glueing", "gluing",
+ "goitres", "goiters",
+ "grammes", "grams",
+ "groynes", "groins",
+ "gryphon", "griffin",
+ "harbour", "harbor",
+ "honours", "honors",
+ "humours", "humors",
+ "idolise", "idolize",
+ "instals", "installs",
+ "instils", "instills",
+ "ionised", "ionized",
+ "ioniser", "ionizer",
+ "ionises", "ionizes",
+ "itemise", "itemize",
+ "labours", "labors",
+ "licence", "license",
+ "lionise", "lionize",
+ "louvred", "louvered",
+ "louvres", "louvers",
+ "moulded", "molded",
+ "moulder", "molder",
+ "moulted", "molted",
+ "offence", "offense",
+ "oxidise", "oxidize",
+ "parlour", "parlor",
+ "philtre", "filter",
+ "ploughs", "plows",
+ "pyjamas", "pajamas",
+ "rancour", "rancor",
+ "realise", "realize",
+ "remould", "remold",
+ "rigours", "rigors",
+ "rumours", "rumors",
+ "saviour", "savior",
+ "savours", "savors",
+ "savoury", "savory",
+ "sceptic", "skeptic",
+ "sceptre", "scepter",
+ "spectre", "specter",
+ "storeys", "stories",
+ "succour", "succor",
+ "sulphur", "sulfur",
+ "syphons", "siphons",
+ "theatre", "theater",
+ "tumours", "tumors",
+ "utilise", "utilize",
+ "vapours", "vapors",
+ "waggons", "wagons",
+ "yoghurt", "yogurt",
+ "ageing", "aging",
+ "appals", "appalls",
+ "arbour", "arbor",
+ "ardour", "ardor",
+ "baulks", "balks",
+ "behove", "behoove",
+ "centre", "center",
+ "cheque", "check",
+ "chilli", "chili",
+ "colour", "color",
+ "cosier", "cozier",
+ "cosies", "cozies",
+ "cosily", "cozily",
+ "distil", "distill",
+ "edoema", "edema",
+ "enrols", "enrolls",
+ "faecal", "fecal",
+ "faeces", "feces",
+ "favour", "favor",
+ "fibres", "fibers",
+ "foetal", "fetal",
+ "foetid", "fetid",
+ "foetus", "fetus",
+ "fulfil", "fulfill",
+ "gaoled", "jailed",
+ "gaoler", "jailer",
+ "goitre", "goiter",
+ "gramme", "gram",
+ "groyne", "groin",
+ "honour", "honor",
+ "humour", "humor",
+ "instal", "install",
+ "instil", "instill",
+ "ionise", "ionize",
+ "labour", "labor",
+ "litres", "liters",
+ "lustre", "luster",
+ "meagre", "meager",
+ "metres", "meters",
+ "mitres", "miters",
+ "moulds", "molds",
+ "mouldy", "moldy",
+ "moults", "molts",
+ "odours", "odors",
+ "plough", "plow",
+ "pyjama", "pajama",
+ "rigour", "rigor",
+ "rumour", "rumor",
+ "savour", "savor",
+ "storey", "story",
+ "syphon", "siphon",
+ "tumour", "tumor",
+ "valour", "valor",
+ "vapour", "vapor",
+ "vigour", "vigor",
+ "waggon", "wagon",
+ "appal", "appall",
+ "baulk", "balk",
+ "enrol", "enroll",
+ "fibre", "fiber",
+ "gaols", "jails",
+ "litre", "liter",
+ "metre", "meter",
+ "mitre", "miter",
+ "mould", "mold",
+ "moult", "molt",
+ "odour", "odor",
+ "tyres", "tires",
+ "cosy", "cozy",
+ "gaol", "jail",
+ "tyre", "tire",
+}
+
+// DictBritish converts US spellings to UK spellings
+var DictBritish = []string{
+ "institutionalization", "institutionalisation",
+ "internationalization", "internationalisation",
+ "professionalization", "professionalisation",
+ "compartmentalizing", "compartmentalising",
+ "institutionalizing", "institutionalising",
+ "internationalizing", "internationalising",
+ "compartmentalized", "compartmentalised",
+ "compartmentalizes", "compartmentalises",
+ "decriminalization", "decriminalisation",
+ "denationalization", "denationalisation",
+ "fictionalizations", "fictionalisations",
+ "institutionalized", "institutionalised",
+ "institutionalizes", "institutionalises",
+ "intellectualizing", "intellectualising",
+ "internationalized", "internationalised",
+ "internationalizes", "internationalises",
+ "pedestrianization", "pedestrianisation",
+ "professionalizing", "professionalising",
+ "compartmentalize", "compartmentalise",
+ "decentralization", "decentralisation",
+ "demilitarization", "demilitarisation",
+ "externalizations", "externalisations",
+ "fictionalization", "fictionalisation",
+ "institutionalize", "institutionalise",
+ "intellectualized", "intellectualised",
+ "intellectualizes", "intellectualises",
+ "internationalize", "internationalise",
+ "nationalizations", "nationalisations",
+ "professionalized", "professionalised",
+ "professionalizes", "professionalises",
+ "rationalizations", "rationalisations",
+ "sensationalizing", "sensationalising",
+ "sentimentalizing", "sentimentalising",
+ "acclimatization", "acclimatisation",
+ "commercializing", "commercialising",
+ "conceptualizing", "conceptualising",
+ "contextualizing", "contextualising",
+ "crystallization", "crystallisation",
+ "decriminalizing", "decriminalising",
+ "democratization", "democratisation",
+ "denationalizing", "denationalising",
+ "depersonalizing", "depersonalising",
+ "desensitization", "desensitisation",
+ "disorganization", "disorganisation",
+ "extemporization", "extemporisation",
+ "externalization", "externalisation",
+ "familiarization", "familiarisation",
+ "generalizations", "generalisations",
+ "hospitalization", "hospitalisation",
+ "individualizing", "individualising",
+ "industrializing", "industrialising",
+ "intellectualize", "intellectualise",
+ "internalization", "internalisation",
+ "maneuverability", "manoeuvrability",
+ "materialization", "materialisation",
+ "miniaturization", "miniaturisation",
+ "nationalization", "nationalisation",
+ "overemphasizing", "overemphasising",
+ "paleontologists", "palaeontologists",
+ "particularizing", "particularising",
+ "pedestrianizing", "pedestrianising",
+ "professionalize", "professionalise",
+ "psychoanalyzing", "psychoanalysing",
+ "rationalization", "rationalisation",
+ "reorganizations", "reorganisations",
+ "revolutionizing", "revolutionising",
+ "sensationalized", "sensationalised",
+ "sensationalizes", "sensationalises",
+ "sentimentalized", "sentimentalised",
+ "sentimentalizes", "sentimentalises",
+ "specializations", "specialisations",
+ "standardization", "standardisation",
+ "synchronization", "synchronisation",
+ "systematization", "systematisation",
+ "aggrandizement", "aggrandisement",
+ "characterizing", "characterising",
+ "collectivizing", "collectivising",
+ "commercialized", "commercialised",
+ "commercializes", "commercialises",
+ "conceptualized", "conceptualised",
+ "conceptualizes", "conceptualises",
+ "contextualized", "contextualised",
+ "contextualizes", "contextualises",
+ "decentralizing", "decentralising",
+ "decriminalized", "decriminalised",
+ "decriminalizes", "decriminalises",
+ "dehumanization", "dehumanisation",
+ "demilitarizing", "demilitarising",
+ "demobilization", "demobilisation",
+ "demoralization", "demoralisation",
+ "denationalized", "denationalised",
+ "denationalizes", "denationalises",
+ "depersonalized", "depersonalised",
+ "depersonalizes", "depersonalises",
+ "dramatizations", "dramatisations",
+ "editorializing", "editorialising",
+ "fictionalizing", "fictionalising",
+ "fraternization", "fraternisation",
+ "generalization", "generalisation",
+ "immobilization", "immobilisation",
+ "individualized", "individualised",
+ "individualizes", "individualises",
+ "industrialized", "industrialised",
+ "industrializes", "industrialises",
+ "liberalization", "liberalisation",
+ "monopolization", "monopolisation",
+ "naturalization", "naturalisation",
+ "neighborliness", "neighbourliness",
+ "neutralization", "neutralisation",
+ "organizational", "organisational",
+ "outmaneuvering", "outmanoeuvring",
+ "overemphasized", "overemphasised",
+ "overemphasizes", "overemphasises",
+ "paleontologist", "palaeontologist",
+ "particularized", "particularised",
+ "particularizes", "particularises",
+ "pasteurization", "pasteurisation",
+ "pedestrianized", "pedestrianised",
+ "pedestrianizes", "pedestrianises",
+ "philosophizing", "philosophising",
+ "politicization", "politicisation",
+ "popularization", "popularisation",
+ "pressurization", "pressurisation",
+ "prioritization", "prioritisation",
+ "privatizations", "privatisations",
+ "propagandizing", "propagandising",
+ "psychoanalyzed", "psychoanalysed",
+ "psychoanalyzes", "psychoanalyses",
+ "reconnoitering", "reconnoitring",
+ "regularization", "regularisation",
+ "reorganization", "reorganisation",
+ "revolutionized", "revolutionised",
+ "revolutionizes", "revolutionises",
+ "secularization", "secularisation",
+ "sensationalize", "sensationalise",
+ "sentimentalize", "sentimentalise",
+ "serializations", "serialisations",
+ "specialization", "specialisation",
+ "sterilizations", "sterilisations",
+ "stigmatization", "stigmatisation",
+ "transistorized", "transistorised",
+ "unrecognizable", "unrecognisable",
+ "visualizations", "visualisations",
+ "westernization", "westernisation",
+ "accessorizing", "accessorising",
+ "acclimatizing", "acclimatising",
+ "amortizations", "amortisations",
+ "amphitheaters", "amphitheatres",
+ "anesthetizing", "anaesthetising",
+ "archeologists", "archaeologists",
+ "breathalyzers", "breathalysers",
+ "breathalyzing", "breathalysing",
+ "cannibalizing", "cannibalising",
+ "characterized", "characterised",
+ "characterizes", "characterises",
+ "circularizing", "circularising",
+ "collectivized", "collectivised",
+ "collectivizes", "collectivises",
+ "commercialize", "commercialise",
+ "computerizing", "computerising",
+ "conceptualize", "conceptualise",
+ "contextualize", "contextualise",
+ "criminalizing", "criminalising",
+ "crystallizing", "crystallising",
+ "decentralized", "decentralised",
+ "decentralizes", "decentralises",
+ "decriminalize", "decriminalise",
+ "demilitarized", "demilitarised",
+ "demilitarizes", "demilitarises",
+ "democratizing", "democratising",
+ "denationalize", "denationalise",
+ "depersonalize", "depersonalise",
+ "desensitizing", "desensitising",
+ "destabilizing", "destabilising",
+ "disemboweling", "disembowelling",
+ "dramatization", "dramatisation",
+ "editorialized", "editorialised",
+ "editorializes", "editorialises",
+ "extemporizing", "extemporising",
+ "externalizing", "externalising",
+ "familiarizing", "familiarising",
+ "fertilization", "fertilisation",
+ "fictionalized", "fictionalised",
+ "fictionalizes", "fictionalises",
+ "formalization", "formalisation",
+ "fossilization", "fossilisation",
+ "globalization", "globalisation",
+ "gynecological", "gynaecological",
+ "gynecologists", "gynaecologists",
+ "harmonization", "harmonisation",
+ "hematological", "haematological",
+ "hematologists", "haematologists",
+ "hospitalizing", "hospitalising",
+ "hypothesizing", "hypothesising",
+ "immortalizing", "immortalising",
+ "individualize", "individualise",
+ "industrialize", "industrialise",
+ "internalizing", "internalising",
+ "marginalizing", "marginalising",
+ "materializing", "materialising",
+ "mechanization", "mechanisation",
+ "memorializing", "memorialising",
+ "miniaturizing", "miniaturising",
+ "nationalizing", "nationalising",
+ "neighborhoods", "neighbourhoods",
+ "normalization", "normalisation",
+ "organizations", "organisations",
+ "outmaneuvered", "outmanoeuvred",
+ "overemphasize", "overemphasise",
+ "particularize", "particularise",
+ "passivization", "passivisation",
+ "patronizingly", "patronisingly",
+ "pedestrianize", "pedestrianise",
+ "pediatricians", "paediatricians",
+ "personalizing", "personalising",
+ "philosophized", "philosophised",
+ "philosophizes", "philosophises",
+ "privatization", "privatisation",
+ "propagandized", "propagandised",
+ "propagandizes", "propagandises",
+ "proselytizers", "proselytisers",
+ "proselytizing", "proselytising",
+ "psychoanalyze", "psychoanalyse",
+ "pulverization", "pulverisation",
+ "rationalizing", "rationalising",
+ "reconnoitered", "reconnoitred",
+ "revolutionize", "revolutionise",
+ "romanticizing", "romanticising",
+ "serialization", "serialisation",
+ "socialization", "socialisation",
+ "standardizing", "standardising",
+ "sterilization", "sterilisation",
+ "subsidization", "subsidisation",
+ "synchronizing", "synchronising",
+ "systematizing", "systematising",
+ "tantalizingly", "tantalisingly",
+ "underutilized", "underutilised",
+ "victimization", "victimisation",
+ "visualization", "visualisation",
+ "vocalizations", "vocalisations",
+ "vulgarization", "vulgarisation",
+ "accessorized", "accessorised",
+ "accessorizes", "accessorises",
+ "acclimatized", "acclimatised",
+ "acclimatizes", "acclimatises",
+ "amortization", "amortisation",
+ "amphitheater", "amphitheatre",
+ "anesthetists", "anaesthetists",
+ "anesthetized", "anaesthetised",
+ "anesthetizes", "anaesthetises",
+ "antagonizing", "antagonising",
+ "appetizingly", "appetisingly",
+ "archeologist", "archaeologist",
+ "backpedaling", "backpedalling",
+ "bastardizing", "bastardising",
+ "behaviorists", "behaviourists",
+ "bowdlerizing", "bowdlerising",
+ "breathalyzed", "breathalysed",
+ "breathalyzes", "breathalyses",
+ "cannibalized", "cannibalised",
+ "cannibalizes", "cannibalises",
+ "capitalizing", "capitalising",
+ "caramelizing", "caramelising",
+ "categorizing", "categorising",
+ "centerpieces", "centrepieces",
+ "centralizing", "centralising",
+ "characterize", "characterise",
+ "circularized", "circularised",
+ "circularizes", "circularises",
+ "clarinetists", "clarinettists",
+ "collectivize", "collectivise",
+ "colonization", "colonisation",
+ "computerized", "computerised",
+ "computerizes", "computerises",
+ "criminalized", "criminalised",
+ "criminalizes", "criminalises",
+ "crystallized", "crystallised",
+ "crystallizes", "crystallises",
+ "decentralize", "decentralise",
+ "dehumanizing", "dehumanising",
+ "demilitarize", "demilitarise",
+ "demobilizing", "demobilising",
+ "democratized", "democratised",
+ "democratizes", "democratises",
+ "demoralizing", "demoralising",
+ "desensitized", "desensitised",
+ "desensitizes", "desensitises",
+ "destabilized", "destabilised",
+ "destabilizes", "destabilises",
+ "disemboweled", "disembowelled",
+ "dishonorable", "dishonourable",
+ "dishonorably", "dishonourably",
+ "disorganized", "disorganised",
+ "editorialize", "editorialise",
+ "equalization", "equalisation",
+ "evangelizing", "evangelising",
+ "extemporized", "extemporised",
+ "extemporizes", "extemporises",
+ "externalized", "externalised",
+ "externalizes", "externalises",
+ "familiarized", "familiarised",
+ "familiarizes", "familiarises",
+ "fictionalize", "fictionalise",
+ "finalization", "finalisation",
+ "fraternizing", "fraternising",
+ "generalizing", "generalising",
+ "gynecologist", "gynaecologist",
+ "hematologist", "haematologist",
+ "hemophiliacs", "haemophiliacs",
+ "hemorrhaging", "haemorrhaging",
+ "homogenizing", "homogenising",
+ "hospitalized", "hospitalised",
+ "hospitalizes", "hospitalises",
+ "hypothesized", "hypothesised",
+ "hypothesizes", "hypothesises",
+ "idealization", "idealisation",
+ "immobilizers", "immobilisers",
+ "immobilizing", "immobilising",
+ "immortalized", "immortalised",
+ "immortalizes", "immortalises",
+ "immunization", "immunisation",
+ "initializing", "initialising",
+ "installments", "instalments",
+ "internalized", "internalised",
+ "internalizes", "internalises",
+ "jeopardizing", "jeopardising",
+ "legalization", "legalisation",
+ "legitimizing", "legitimising",
+ "liberalizing", "liberalising",
+ "maneuverable", "manoeuvrable",
+ "maneuverings", "manoeuvrings",
+ "marginalized", "marginalised",
+ "marginalizes", "marginalises",
+ "materialized", "materialised",
+ "materializes", "materialises",
+ "maximization", "maximisation",
+ "memorialized", "memorialised",
+ "memorializes", "memorialises",
+ "metabolizing", "metabolising",
+ "militarizing", "militarising",
+ "miniaturized", "miniaturised",
+ "miniaturizes", "miniaturises",
+ "miscataloged", "miscatalogued",
+ "misdemeanors", "misdemeanours",
+ "mobilization", "mobilisation",
+ "moisturizers", "moisturisers",
+ "moisturizing", "moisturising",
+ "monopolizing", "monopolising",
+ "multicolored", "multicoloured",
+ "nationalized", "nationalised",
+ "nationalizes", "nationalises",
+ "naturalizing", "naturalising",
+ "neighborhood", "neighbourhood",
+ "neutralizing", "neutralising",
+ "organization", "organisation",
+ "outmaneuvers", "outmanoeuvres",
+ "paleontology", "palaeontology",
+ "pasteurizing", "pasteurising",
+ "pediatrician", "paediatrician",
+ "personalized", "personalised",
+ "personalizes", "personalises",
+ "philosophize", "philosophise",
+ "plagiarizing", "plagiarising",
+ "polarization", "polarisation",
+ "politicizing", "politicising",
+ "popularizing", "popularising",
+ "pressurizing", "pressurising",
+ "prioritizing", "prioritising",
+ "propagandize", "propagandise",
+ "proselytized", "proselytised",
+ "proselytizer", "proselytiser",
+ "proselytizes", "proselytises",
+ "radicalizing", "radicalising",
+ "rationalized", "rationalised",
+ "rationalizes", "rationalises",
+ "realizations", "realisations",
+ "recognizable", "recognisable",
+ "recognizably", "recognisably",
+ "recognizance", "recognisance",
+ "reconnoiters", "reconnoitres",
+ "regularizing", "regularising",
+ "reorganizing", "reorganising",
+ "revitalizing", "revitalising",
+ "rhapsodizing", "rhapsodising",
+ "romanticized", "romanticised",
+ "romanticizes", "romanticises",
+ "scandalizing", "scandalising",
+ "scrutinizing", "scrutinising",
+ "secularizing", "secularising",
+ "standardized", "standardised",
+ "standardizes", "standardises",
+ "stigmatizing", "stigmatising",
+ "sympathizers", "sympathisers",
+ "sympathizing", "sympathising",
+ "synchronized", "synchronised",
+ "synchronizes", "synchronises",
+ "synthesizing", "synthesising",
+ "systematized", "systematised",
+ "systematizes", "systematises",
+ "theatergoers", "theatregoers",
+ "traumatizing", "traumatising",
+ "trivializing", "trivialising",
+ "unauthorized", "unauthorised",
+ "unionization", "unionisation",
+ "unrecognized", "unrecognised",
+ "urbanization", "urbanisation",
+ "vaporization", "vaporisation",
+ "vocalization", "vocalisation",
+ "westernizing", "westernising",
+ "accessorize", "accessorise",
+ "acclimatize", "acclimatise",
+ "agonizingly", "agonisingly",
+ "amortizable", "amortisable",
+ "anesthetics", "anaesthetics",
+ "anesthetist", "anaesthetist",
+ "anesthetize", "anaesthetise",
+ "anglicizing", "anglicising",
+ "antagonized", "antagonised",
+ "antagonizes", "antagonises",
+ "apologizing", "apologising",
+ "backpedaled", "backpedalled",
+ "bastardized", "bastardised",
+ "bastardizes", "bastardises",
+ "behaviorism", "behaviourism",
+ "behaviorist", "behaviourist",
+ "bowdlerized", "bowdlerised",
+ "bowdlerizes", "bowdlerises",
+ "brutalizing", "brutalising",
+ "cannibalize", "cannibalise",
+ "capitalized", "capitalised",
+ "capitalizes", "capitalises",
+ "caramelized", "caramelised",
+ "caramelizes", "caramelises",
+ "carbonizing", "carbonising",
+ "categorized", "categorised",
+ "categorizes", "categorises",
+ "cauterizing", "cauterising",
+ "centerfolds", "centrefolds",
+ "centerpiece", "centrepiece",
+ "centiliters", "centilitres",
+ "centimeters", "centimetres",
+ "centralized", "centralised",
+ "centralizes", "centralises",
+ "circularize", "circularise",
+ "clarinetist", "clarinettist",
+ "computerize", "computerise",
+ "criminalize", "criminalise",
+ "criticizing", "criticising",
+ "crystallize", "crystallise",
+ "customizing", "customising",
+ "defenseless", "defenceless",
+ "dehumanized", "dehumanised",
+ "dehumanizes", "dehumanises",
+ "demobilized", "demobilised",
+ "demobilizes", "demobilises",
+ "democratize", "democratise",
+ "demoralized", "demoralised",
+ "demoralizes", "demoralises",
+ "deodorizing", "deodorising",
+ "desensitize", "desensitise",
+ "destabilize", "destabilise",
+ "discoloring", "discolouring",
+ "dishonoring", "dishonouring",
+ "dramatizing", "dramatising",
+ "economizing", "economising",
+ "empathizing", "empathising",
+ "emphasizing", "emphasising",
+ "endeavoring", "endeavouring",
+ "epitomizing", "epitomising",
+ "esophaguses", "oesophaguses",
+ "evangelized", "evangelised",
+ "evangelizes", "evangelises",
+ "extemporize", "extemporise",
+ "externalize", "externalise",
+ "factorizing", "factorising",
+ "familiarize", "familiarise",
+ "fantasizing", "fantasising",
+ "fertilizers", "fertilisers",
+ "fertilizing", "fertilising",
+ "formalizing", "formalising",
+ "fossilizing", "fossilising",
+ "fraternized", "fraternised",
+ "fraternizes", "fraternises",
+ "fulfillment", "fulfilment",
+ "galvanizing", "galvanising",
+ "generalized", "generalised",
+ "generalizes", "generalises",
+ "ghettoizing", "ghettoising",
+ "globalizing", "globalising",
+ "harmonizing", "harmonising",
+ "hemophiliac", "haemophiliac",
+ "hemorrhaged", "haemorrhaged",
+ "hemorrhages", "haemorrhages",
+ "hemorrhoids", "haemorrhoids",
+ "homogenized", "homogenised",
+ "homogenizes", "homogenises",
+ "hospitalize", "hospitalise",
+ "hybridizing", "hybridising",
+ "hypnotizing", "hypnotising",
+ "hypothesize", "hypothesise",
+ "immobilized", "immobilised",
+ "immobilizer", "immobiliser",
+ "immobilizes", "immobilises",
+ "immortalize", "immortalise",
+ "initialized", "initialised",
+ "initializes", "initialises",
+ "installment", "instalment",
+ "internalize", "internalise",
+ "italicizing", "italicising",
+ "jeopardized", "jeopardised",
+ "jeopardizes", "jeopardises",
+ "legitimized", "legitimised",
+ "legitimizes", "legitimises",
+ "liberalized", "liberalised",
+ "liberalizes", "liberalises",
+ "lionization", "lionisation",
+ "liquidizers", "liquidisers",
+ "liquidizing", "liquidising",
+ "magnetizing", "magnetising",
+ "maneuvering", "manoeuvring",
+ "marginalize", "marginalise",
+ "marvelously", "marvellously",
+ "materialize", "materialise",
+ "mechanizing", "mechanising",
+ "memorialize", "memorialise",
+ "mesmerizing", "mesmerising",
+ "metabolized", "metabolised",
+ "metabolizes", "metabolises",
+ "militarized", "militarised",
+ "militarizes", "militarises",
+ "milliliters", "millilitres",
+ "millimeters", "millimetres",
+ "miniaturize", "miniaturise",
+ "misbehavior", "misbehaviour",
+ "misdemeanor", "misdemeanour",
+ "modernizing", "modernising",
+ "moisturized", "moisturised",
+ "moisturizer", "moisturiser",
+ "moisturizes", "moisturises",
+ "monopolized", "monopolised",
+ "monopolizes", "monopolises",
+ "nationalize", "nationalise",
+ "naturalized", "naturalised",
+ "naturalizes", "naturalises",
+ "neighboring", "neighbouring",
+ "neutralized", "neutralised",
+ "neutralizes", "neutralises",
+ "normalizing", "normalising",
+ "orthopedics", "orthopaedics",
+ "ostracizing", "ostracising",
+ "outmaneuver", "outmanoeuvre",
+ "oxidization", "oxidisation",
+ "pasteurized", "pasteurised",
+ "pasteurizes", "pasteurises",
+ "patronizing", "patronising",
+ "personalize", "personalise",
+ "plagiarized", "plagiarised",
+ "plagiarizes", "plagiarises",
+ "politicized", "politicised",
+ "politicizes", "politicises",
+ "popularized", "popularised",
+ "popularizes", "popularises",
+ "pressurized", "pressurised",
+ "pressurizes", "pressurises",
+ "prioritized", "prioritised",
+ "prioritizes", "prioritises",
+ "privatizing", "privatising",
+ "proselytize", "proselytise",
+ "publicizing", "publicising",
+ "pulverizing", "pulverising",
+ "radicalized", "radicalised",
+ "radicalizes", "radicalises",
+ "randomizing", "randomising",
+ "rationalize", "rationalise",
+ "realization", "realisation",
+ "recognizing", "recognising",
+ "reconnoiter", "reconnoitre",
+ "regularized", "regularised",
+ "regularizes", "regularises",
+ "reorganized", "reorganised",
+ "reorganizes", "reorganises",
+ "revitalized", "revitalised",
+ "revitalizes", "revitalises",
+ "rhapsodized", "rhapsodised",
+ "rhapsodizes", "rhapsodises",
+ "romanticize", "romanticise",
+ "scandalized", "scandalised",
+ "scandalizes", "scandalises",
+ "scrutinized", "scrutinised",
+ "scrutinizes", "scrutinises",
+ "secularized", "secularised",
+ "secularizes", "secularises",
+ "sensitizing", "sensitising",
+ "serializing", "serialising",
+ "sermonizing", "sermonising",
+ "signalizing", "signalising",
+ "skeptically", "sceptically",
+ "socializing", "socialising",
+ "solemnizing", "solemnising",
+ "specialized", "specialised",
+ "specializes", "specialises",
+ "squirreling", "squirrelling",
+ "stabilizers", "stabilisers",
+ "stabilizing", "stabilising",
+ "standardize", "standardise",
+ "sterilizers", "sterilisers",
+ "sterilizing", "sterilising",
+ "stigmatized", "stigmatised",
+ "stigmatizes", "stigmatises",
+ "subsidizers", "subsidisers",
+ "subsidizing", "subsidising",
+ "summarizing", "summarising",
+ "symbolizing", "symbolising",
+ "sympathized", "sympathised",
+ "sympathizer", "sympathiser",
+ "sympathizes", "sympathises",
+ "synchronize", "synchronise",
+ "synthesized", "synthesised",
+ "synthesizes", "synthesises",
+ "systematize", "systematise",
+ "tantalizing", "tantalising",
+ "temporizing", "temporising",
+ "tenderizing", "tenderising",
+ "terrorizing", "terrorising",
+ "theatergoer", "theatregoer",
+ "traumatized", "traumatised",
+ "traumatizes", "traumatises",
+ "trivialized", "trivialised",
+ "trivializes", "trivialises",
+ "tyrannizing", "tyrannising",
+ "uncataloged", "uncatalogued",
+ "uncivilized", "uncivilised",
+ "unfavorable", "unfavourable",
+ "unfavorably", "unfavourably",
+ "unorganized", "unorganised",
+ "untrammeled", "untrammelled",
+ "utilization", "utilisation",
+ "vandalizing", "vandalising",
+ "verbalizing", "verbalising",
+ "victimizing", "victimising",
+ "visualizing", "visualising",
+ "vulgarizing", "vulgarising",
+ "watercolors", "watercolours",
+ "westernized", "westernised",
+ "westernizes", "westernises",
+ "amortizing", "amortising",
+ "anesthesia", "anaesthesia",
+ "anesthetic", "anaesthetic",
+ "anglicized", "anglicised",
+ "anglicizes", "anglicises",
+ "annualized", "annualised",
+ "antagonize", "antagonise",
+ "apologized", "apologised",
+ "apologizes", "apologises",
+ "appetizers", "appetisers",
+ "appetizing", "appetising",
+ "archeology", "archaeology",
+ "authorizes", "authorises",
+ "bastardize", "bastardise",
+ "bedeviling", "bedevilling",
+ "behavioral", "behavioural",
+ "belaboring", "belabouring",
+ "bowdlerize", "bowdlerise",
+ "brutalized", "brutalised",
+ "brutalizes", "brutalises",
+ "canalizing", "canalising",
+ "canonizing", "canonising",
+ "capitalize", "capitalise",
+ "caramelize", "caramelise",
+ "carbonized", "carbonised",
+ "carbonizes", "carbonises",
+ "cataloging", "cataloguing",
+ "catalyzing", "catalysing",
+ "categorize", "categorise",
+ "cauterized", "cauterised",
+ "cauterizes", "cauterises",
+ "centerfold", "centrefold",
+ "centiliter", "centilitre",
+ "centimeter", "centimetre",
+ "centralize", "centralise",
+ "channeling", "channelling",
+ "checkbooks", "chequebooks",
+ "civilizing", "civilising",
+ "colonizers", "colonisers",
+ "colonizing", "colonising",
+ "colorfully", "colourfully",
+ "colorizing", "colourizing",
+ "councilors", "councillors",
+ "counselors", "counsellors",
+ "criticized", "criticised",
+ "criticizes", "criticises",
+ "customized", "customised",
+ "customizes", "customises",
+ "dehumanize", "dehumanise",
+ "demobilize", "demobilise",
+ "demonizing", "demonising",
+ "demoralize", "demoralise",
+ "deodorized", "deodorised",
+ "deodorizes", "deodorises",
+ "deputizing", "deputising",
+ "digitizing", "digitising",
+ "discolored", "discoloured",
+ "disheveled", "dishevelled",
+ "dishonored", "dishonoured",
+ "dramatized", "dramatised",
+ "dramatizes", "dramatises",
+ "economized", "economised",
+ "economizes", "economises",
+ "empathized", "empathised",
+ "empathizes", "empathises",
+ "emphasized", "emphasised",
+ "emphasizes", "emphasises",
+ "endeavored", "endeavoured",
+ "energizing", "energising",
+ "epicenters", "epicentres",
+ "epitomized", "epitomised",
+ "epitomizes", "epitomises",
+ "equalizers", "equalisers",
+ "equalizing", "equalising",
+ "eulogizing", "eulogising",
+ "evangelize", "evangelise",
+ "factorized", "factorised",
+ "factorizes", "factorises",
+ "fantasized", "fantasised",
+ "fantasizes", "fantasises",
+ "favoritism", "favouritism",
+ "feminizing", "feminising",
+ "fertilized", "fertilised",
+ "fertilizer", "fertiliser",
+ "fertilizes", "fertilises",
+ "fiberglass", "fibreglass",
+ "finalizing", "finalising",
+ "flavorings", "flavourings",
+ "flavorless", "flavourless",
+ "flavorsome", "flavoursome",
+ "formalized", "formalised",
+ "formalizes", "formalises",
+ "fossilized", "fossilised",
+ "fossilizes", "fossilises",
+ "fraternize", "fraternise",
+ "galvanized", "galvanised",
+ "galvanizes", "galvanises",
+ "generalize", "generalise",
+ "ghettoized", "ghettoised",
+ "ghettoizes", "ghettoises",
+ "globalized", "globalised",
+ "globalizes", "globalises",
+ "gruelingly", "gruellingly",
+ "gynecology", "gynaecology",
+ "harmonized", "harmonised",
+ "harmonizes", "harmonises",
+ "hematology", "haematology",
+ "hemoglobin", "haemoglobin",
+ "hemophilia", "haemophilia",
+ "hemorrhage", "haemorrhage",
+ "homogenize", "homogenise",
+ "humanizing", "humanising",
+ "hybridized", "hybridised",
+ "hybridizes", "hybridises",
+ "hypnotized", "hypnotised",
+ "hypnotizes", "hypnotises",
+ "idealizing", "idealising",
+ "immobilize", "immobilise",
+ "immunizing", "immunising",
+ "impaneling", "impanelling",
+ "imperiling", "imperilling",
+ "initialing", "initialling",
+ "initialize", "initialise",
+ "ionization", "ionisation",
+ "italicized", "italicised",
+ "italicizes", "italicises",
+ "jeopardize", "jeopardise",
+ "kilometers", "kilometres",
+ "lackluster", "lacklustre",
+ "legalizing", "legalising",
+ "legitimize", "legitimise",
+ "liberalize", "liberalise",
+ "liquidized", "liquidised",
+ "liquidizer", "liquidiser",
+ "liquidizes", "liquidises",
+ "localizing", "localising",
+ "magnetized", "magnetised",
+ "magnetizes", "magnetises",
+ "maneuvered", "manoeuvred",
+ "marshaling", "marshalling",
+ "maximizing", "maximising",
+ "mechanized", "mechanised",
+ "mechanizes", "mechanises",
+ "memorizing", "memorising",
+ "mesmerized", "mesmerised",
+ "mesmerizes", "mesmerises",
+ "metabolize", "metabolise",
+ "militarize", "militarise",
+ "milliliter", "millilitre",
+ "millimeter", "millimetre",
+ "minimizing", "minimising",
+ "mobilizing", "mobilising",
+ "modernized", "modernised",
+ "modernizes", "modernises",
+ "moisturize", "moisturise",
+ "monopolize", "monopolise",
+ "moralizing", "moralising",
+ "naturalize", "naturalise",
+ "neighborly", "neighbourly",
+ "neutralize", "neutralise",
+ "normalized", "normalised",
+ "normalizes", "normalises",
+ "optimizing", "optimising",
+ "organizers", "organisers",
+ "organizing", "organising",
+ "orthopedic", "orthopaedic",
+ "ostracized", "ostracised",
+ "ostracizes", "ostracises",
+ "paralyzing", "paralysing",
+ "pasteurize", "pasteurise",
+ "patronized", "patronised",
+ "patronizes", "patronises",
+ "pedophiles", "paedophiles",
+ "pedophilia", "paedophilia",
+ "penalizing", "penalising",
+ "plagiarize", "plagiarise",
+ "plowshares", "ploughshares",
+ "polarizing", "polarising",
+ "politicize", "politicise",
+ "popularize", "popularise",
+ "prioritize", "prioritise",
+ "privatized", "privatised",
+ "privatizes", "privatises",
+ "publicized", "publicised",
+ "publicizes", "publicises",
+ "pulverized", "pulverised",
+ "pulverizes", "pulverises",
+ "quarreling", "quarrelling",
+ "radicalize", "radicalise",
+ "randomized", "randomised",
+ "randomizes", "randomises",
+ "realizable", "realisable",
+ "recognized", "recognised",
+ "recognizes", "recognises",
+ "regularize", "regularise",
+ "remodeling", "remodelling",
+ "reorganize", "reorganise",
+ "revitalize", "revitalise",
+ "rhapsodize", "rhapsodise",
+ "ritualized", "ritualised",
+ "sanitizing", "sanitising",
+ "satirizing", "satirising",
+ "scandalize", "scandalise",
+ "scrutinize", "scrutinise",
+ "secularize", "secularise",
+ "sensitized", "sensitised",
+ "sensitizes", "sensitises",
+ "sepulchers", "sepulchres",
+ "serialized", "serialised",
+ "serializes", "serialises",
+ "sermonized", "sermonised",
+ "sermonizes", "sermonises",
+ "shriveling", "shrivelling",
+ "signalized", "signalised",
+ "signalizes", "signalises",
+ "skepticism", "scepticism",
+ "socialized", "socialised",
+ "socializes", "socialises",
+ "sodomizing", "sodomising",
+ "solemnized", "solemnised",
+ "solemnizes", "solemnises",
+ "specialize", "specialise",
+ "squirreled", "squirrelled",
+ "stabilized", "stabilised",
+ "stabilizer", "stabiliser",
+ "stabilizes", "stabilises",
+ "stenciling", "stencilling",
+ "sterilized", "sterilised",
+ "sterilizer", "steriliser",
+ "sterilizes", "sterilises",
+ "stigmatize", "stigmatise",
+ "subsidized", "subsidised",
+ "subsidizer", "subsidiser",
+ "subsidizes", "subsidises",
+ "summarized", "summarised",
+ "summarizes", "summarises",
+ "symbolized", "symbolised",
+ "symbolizes", "symbolises",
+ "sympathize", "sympathise",
+ "tantalized", "tantalised",
+ "tantalizes", "tantalises",
+ "temporized", "temporised",
+ "temporizes", "temporises",
+ "tenderized", "tenderised",
+ "tenderizes", "tenderises",
+ "terrorized", "terrorised",
+ "terrorizes", "terrorises",
+ "theorizing", "theorising",
+ "traumatize", "traumatise",
+ "trivialize", "trivialise",
+ "tyrannized", "tyrannised",
+ "tyrannizes", "tyrannises",
+ "unionizing", "unionising",
+ "unraveling", "unravelling",
+ "urbanizing", "urbanising",
+ "utilizable", "utilisable",
+ "vandalized", "vandalised",
+ "vandalizes", "vandalises",
+ "vaporizing", "vaporising",
+ "verbalized", "verbalised",
+ "verbalizes", "verbalises",
+ "victimized", "victimised",
+ "victimizes", "victimises",
+ "visualized", "visualised",
+ "visualizes", "visualises",
+ "vocalizing", "vocalising",
+ "vulcanized", "vulcanised",
+ "vulgarized", "vulgarised",
+ "vulgarizes", "vulgarises",
+ "watercolor", "watercolour",
+ "westernize", "westernise",
+ "womanizers", "womanisers",
+ "womanizing", "womanising",
+ "worshiping", "worshipping",
+ "agonizing", "agonising",
+ "airplanes", "aeroplanes",
+ "amortized", "amortised",
+ "amortizes", "amortises",
+ "analyzing", "analysing",
+ "apologize", "apologise",
+ "appetizer", "appetiser",
+ "artifacts", "artefacts",
+ "baptizing", "baptising",
+ "bedeviled", "bedevilled",
+ "behaviors", "behaviours",
+ "bejeweled", "bejewelled",
+ "belabored", "belaboured",
+ "brutalize", "brutalise",
+ "canalized", "canalised",
+ "canalizes", "canalises",
+ "canonized", "canonised",
+ "canonizes", "canonises",
+ "carbonize", "carbonise",
+ "cataloged", "catalogued",
+ "catalyzed", "catalysed",
+ "catalyzes", "catalyses",
+ "cauterize", "cauterise",
+ "channeled", "channelled",
+ "checkbook", "chequebook",
+ "checkered", "chequered",
+ "chiseling", "chiselling",
+ "civilized", "civilised",
+ "civilizes", "civilises",
+ "clamoring", "clamouring",
+ "colonized", "colonised",
+ "colonizer", "coloniser",
+ "colonizes", "colonises",
+ "colorants", "colourants",
+ "colorized", "colourized",
+ "colorizes", "colourizes",
+ "colorless", "colourless",
+ "councilor", "councillor",
+ "counseled", "counselled",
+ "counselor", "counsellor",
+ "criticize", "criticise",
+ "cudgeling", "cudgelling",
+ "customize", "customise",
+ "demonized", "demonised",
+ "demonizes", "demonises",
+ "deodorize", "deodorise",
+ "deputized", "deputised",
+ "deputizes", "deputises",
+ "digitized", "digitised",
+ "digitizes", "digitises",
+ "discolors", "discolours",
+ "dishonors", "dishonours",
+ "dramatize", "dramatise",
+ "driveling", "drivelling",
+ "economize", "economise",
+ "empathize", "empathise",
+ "emphasize", "emphasise",
+ "enameling", "enamelling",
+ "endeavors", "endeavours",
+ "energized", "energised",
+ "energizes", "energises",
+ "enthralls", "enthrals",
+ "epicenter", "epicentre",
+ "epitomize", "epitomise",
+ "equalized", "equalised",
+ "equalizer", "equaliser",
+ "equalizes", "equalises",
+ "eulogized", "eulogised",
+ "eulogizes", "eulogises",
+ "factorize", "factorise",
+ "fantasize", "fantasise",
+ "favorable", "favourable",
+ "favorably", "favourably",
+ "favorites", "favourites",
+ "feminized", "feminised",
+ "feminizes", "feminises",
+ "fertilize", "fertilise",
+ "finalized", "finalised",
+ "finalizes", "finalises",
+ "flavoring", "flavouring",
+ "formalize", "formalise",
+ "fossilize", "fossilise",
+ "funneling", "funnelling",
+ "galvanize", "galvanise",
+ "gamboling", "gambolling",
+ "ghettoize", "ghettoise",
+ "globalize", "globalise",
+ "gonorrhea", "gonorrhoea",
+ "groveling", "grovelling",
+ "harboring", "harbouring",
+ "harmonize", "harmonise",
+ "honorably", "honourably",
+ "humanized", "humanised",
+ "humanizes", "humanises",
+ "hybridize", "hybridise",
+ "hypnotize", "hypnotise",
+ "idealized", "idealised",
+ "idealizes", "idealises",
+ "idolizing", "idolising",
+ "immunized", "immunised",
+ "immunizes", "immunises",
+ "impaneled", "impanelled",
+ "imperiled", "imperilled",
+ "initialed", "initialled",
+ "italicize", "italicise",
+ "itemizing", "itemising",
+ "kilometer", "kilometre",
+ "legalized", "legalised",
+ "legalizes", "legalises",
+ "lionizing", "lionising",
+ "liquidize", "liquidise",
+ "localized", "localised",
+ "localizes", "localises",
+ "magnetize", "magnetise",
+ "maneuvers", "manoeuvres",
+ "marshaled", "marshalled",
+ "marveling", "marvelling",
+ "marvelous", "marvellous",
+ "maximized", "maximised",
+ "maximizes", "maximises",
+ "mechanize", "mechanise",
+ "memorized", "memorised",
+ "memorizes", "memorises",
+ "mesmerize", "mesmerise",
+ "minimized", "minimised",
+ "minimizes", "minimises",
+ "mobilized", "mobilised",
+ "mobilizes", "mobilises",
+ "modernize", "modernise",
+ "moldering", "mouldering",
+ "moralized", "moralised",
+ "moralizes", "moralises",
+ "motorized", "motorised",
+ "mustached", "moustached",
+ "mustaches", "moustaches",
+ "neighbors", "neighbours",
+ "normalize", "normalise",
+ "optimized", "optimised",
+ "optimizes", "optimises",
+ "organized", "organised",
+ "organizer", "organiser",
+ "organizes", "organises",
+ "ostracize", "ostracise",
+ "oxidizing", "oxidising",
+ "panelists", "panellists",
+ "paralyzed", "paralysed",
+ "paralyzes", "paralyses",
+ "parceling", "parcelling",
+ "patronize", "patronise",
+ "pedophile", "paedophile",
+ "penalized", "penalised",
+ "penalizes", "penalises",
+ "penciling", "pencilling",
+ "plowshare", "ploughshare",
+ "polarized", "polarised",
+ "polarizes", "polarises",
+ "practiced", "practised",
+ "pretenses", "pretences",
+ "privatize", "privatise",
+ "publicize", "publicise",
+ "pulverize", "pulverise",
+ "quarreled", "quarrelled",
+ "randomize", "randomise",
+ "realizing", "realising",
+ "recognize", "recognise",
+ "refueling", "refuelling",
+ "remodeled", "remodelled",
+ "remolding", "remoulding",
+ "saltpeter", "saltpetre",
+ "sanitized", "sanitised",
+ "sanitizes", "sanitises",
+ "satirized", "satirised",
+ "satirizes", "satirises",
+ "sensitize", "sensitise",
+ "sepulcher", "sepulchre",
+ "serialize", "serialise",
+ "sermonize", "sermonise",
+ "shoveling", "shovelling",
+ "shriveled", "shrivelled",
+ "signaling", "signalling",
+ "signalize", "signalise",
+ "skeptical", "sceptical",
+ "sniveling", "snivelling",
+ "snorkeled", "snorkelled",
+ "socialize", "socialise",
+ "sodomized", "sodomised",
+ "sodomizes", "sodomises",
+ "solemnize", "solemnise",
+ "spiraling", "spiralling",
+ "splendors", "splendours",
+ "stabilize", "stabilise",
+ "stenciled", "stencilled",
+ "sterilize", "sterilise",
+ "subsidize", "subsidise",
+ "succoring", "succouring",
+ "sulfurous", "sulphurous",
+ "summarize", "summarise",
+ "swiveling", "swivelling",
+ "symbolize", "symbolise",
+ "tantalize", "tantalise",
+ "temporize", "temporise",
+ "tenderize", "tenderise",
+ "terrorize", "terrorise",
+ "theorized", "theorised",
+ "theorizes", "theorises",
+ "travelers", "travellers",
+ "traveling", "travelling",
+ "tricolors", "tricolours",
+ "tunneling", "tunnelling",
+ "tyrannize", "tyrannise",
+ "unequaled", "unequalled",
+ "unionized", "unionised",
+ "unionizes", "unionises",
+ "unraveled", "unravelled",
+ "unrivaled", "unrivalled",
+ "urbanized", "urbanised",
+ "urbanizes", "urbanises",
+ "utilizing", "utilising",
+ "vandalize", "vandalise",
+ "vaporized", "vaporised",
+ "vaporizes", "vaporises",
+ "verbalize", "verbalise",
+ "victimize", "victimise",
+ "visualize", "visualise",
+ "vocalized", "vocalised",
+ "vocalizes", "vocalises",
+ "vulgarize", "vulgarise",
+ "weaseling", "weaselling",
+ "womanized", "womanised",
+ "womanizer", "womaniser",
+ "womanizes", "womanises",
+ "worshiped", "worshipped",
+ "worshiper", "worshipper",
+ "agonized", "agonised",
+ "agonizes", "agonises",
+ "airplane", "aeroplane",
+ "aluminum", "aluminium",
+ "amortize", "amortise",
+ "analyzed", "analysed",
+ "analyzes", "analyses",
+ "armorers", "armourers",
+ "armories", "armouries",
+ "artifact", "artefact",
+ "baptized", "baptised",
+ "baptizes", "baptises",
+ "behavior", "behaviour",
+ "behooved", "behoved",
+ "behooves", "behoves",
+ "belabors", "belabours",
+ "calibers", "calibres",
+ "canalize", "canalise",
+ "canonize", "canonise",
+ "catalogs", "catalogues",
+ "catalyze", "catalyse",
+ "caviling", "cavilling",
+ "centered", "centred",
+ "chiseled", "chiselled",
+ "civilize", "civilise",
+ "clamored", "clamoured",
+ "colonize", "colonise",
+ "colorant", "colourant",
+ "coloreds", "coloureds",
+ "colorful", "colourful",
+ "coloring", "colouring",
+ "colorize", "colourize",
+ "coziness", "cosiness",
+ "cruelest", "cruellest",
+ "cudgeled", "cudgelled",
+ "defenses", "defences",
+ "demeanor", "demeanour",
+ "demonize", "demonise",
+ "deputize", "deputise",
+ "diarrhea", "diarrhoea",
+ "digitize", "digitise",
+ "disfavor", "disfavour",
+ "dishonor", "dishonour",
+ "distills", "distils",
+ "driveled", "drivelled",
+ "enameled", "enamelled",
+ "enamored", "enamoured",
+ "endeavor", "endeavour",
+ "energize", "energise",
+ "epaulets", "epaulettes",
+ "equalize", "equalise",
+ "estrogen", "oestrogen",
+ "etiology", "aetiology",
+ "eulogize", "eulogise",
+ "favoring", "favouring",
+ "favorite", "favourite",
+ "feminize", "feminise",
+ "finalize", "finalise",
+ "flavored", "flavoured",
+ "flutists", "flautists",
+ "fulfills", "fulfils",
+ "funneled", "funnelled",
+ "gamboled", "gambolled",
+ "graveled", "gravelled",
+ "groveled", "grovelled",
+ "grueling", "gruelling",
+ "harbored", "harboured",
+ "honoring", "honouring",
+ "humanize", "humanise",
+ "humoring", "humouring",
+ "idealize", "idealise",
+ "idolized", "idolised",
+ "idolizes", "idolises",
+ "immunize", "immunise",
+ "ionizing", "ionising",
+ "itemized", "itemised",
+ "itemizes", "itemises",
+ "jewelers", "jewellers",
+ "labeling", "labelling",
+ "laborers", "labourers",
+ "laboring", "labouring",
+ "legalize", "legalise",
+ "leukemia", "leukaemia",
+ "levelers", "levellers",
+ "leveling", "levelling",
+ "libeling", "libelling",
+ "libelous", "libellous",
+ "lionized", "lionised",
+ "lionizes", "lionises",
+ "localize", "localise",
+ "louvered", "louvred",
+ "maneuver", "manoeuvre",
+ "marveled", "marvelled",
+ "maximize", "maximise",
+ "memorize", "memorise",
+ "minimize", "minimise",
+ "mobilize", "mobilise",
+ "modelers", "modellers",
+ "modeling", "modelling",
+ "moldered", "mouldered",
+ "moldiest", "mouldiest",
+ "moldings", "mouldings",
+ "moralize", "moralise",
+ "mustache", "moustache",
+ "neighbor", "neighbour",
+ "odorless", "odourless",
+ "offenses", "offences",
+ "optimize", "optimise",
+ "organize", "organise",
+ "oxidized", "oxidised",
+ "oxidizes", "oxidises",
+ "paneling", "panelling",
+ "panelist", "panellist",
+ "paralyze", "paralyse",
+ "parceled", "parcelled",
+ "pedaling", "pedalling",
+ "penalize", "penalise",
+ "penciled", "pencilled",
+ "polarize", "polarise",
+ "pretense", "pretence",
+ "pummeled", "pummelling",
+ "raveling", "ravelling",
+ "realized", "realised",
+ "realizes", "realises",
+ "refueled", "refuelled",
+ "remolded", "remoulded",
+ "revelers", "revellers",
+ "reveling", "revelling",
+ "rivaling", "rivalling",
+ "sanitize", "sanitise",
+ "satirize", "satirise",
+ "savories", "savouries",
+ "savoring", "savouring",
+ "scepters", "sceptres",
+ "shoveled", "shovelled",
+ "signaled", "signalled",
+ "skeptics", "sceptics",
+ "sniveled", "snivelled",
+ "sodomize", "sodomise",
+ "specters", "spectres",
+ "spiraled", "spiralled",
+ "splendor", "splendour",
+ "succored", "succoured",
+ "sulfates", "sulphates",
+ "sulfides", "sulphides",
+ "swiveled", "swivelled",
+ "tasseled", "tasselled",
+ "theaters", "theatres",
+ "theorize", "theorise",
+ "toweling", "towelling",
+ "traveler", "traveller",
+ "trialing", "trialling",
+ "tricolor", "tricolour",
+ "tunneled", "tunnelled",
+ "unionize", "unionise",
+ "unsavory", "unsavoury",
+ "urbanize", "urbanise",
+ "utilized", "utilised",
+ "utilizes", "utilises",
+ "vaporize", "vaporise",
+ "vocalize", "vocalise",
+ "weaseled", "weaselled",
+ "womanize", "womanise",
+ "yodeling", "yodelling",
+ "agonize", "agonise",
+ "analyze", "analyse",
+ "appalls", "appals",
+ "armored", "armoured",
+ "armorer", "armourer",
+ "baptize", "baptise",
+ "behoove", "behove",
+ "belabor", "belabour",
+ "beveled", "bevelled",
+ "caliber", "calibre",
+ "caroled", "carolled",
+ "caviled", "cavilled",
+ "centers", "centres",
+ "clamors", "clamours",
+ "clangor", "clangour",
+ "colored", "coloured",
+ "coziest", "cosiest",
+ "crueler", "crueller",
+ "defense", "defence",
+ "dialing", "dialling",
+ "dialogs", "dialogues",
+ "distill", "distil",
+ "dueling", "duelling",
+ "enrolls", "enrols",
+ "epaulet", "epaulette",
+ "favored", "favoured",
+ "flavors", "flavours",
+ "flutist", "flautist",
+ "fueling", "fuelling",
+ "fulfill", "fulfil",
+ "goiters", "goitres",
+ "harbors", "harbours",
+ "honored", "honoured",
+ "humored", "humoured",
+ "idolize", "idolise",
+ "ionized", "ionised",
+ "ionizes", "ionises",
+ "itemize", "itemise",
+ "jeweled", "jewelled",
+ "jeweler", "jeweller",
+ "jewelry", "jewellery",
+ "labeled", "labelled",
+ "labored", "laboured",
+ "laborer", "labourer",
+ "leveled", "levelled",
+ "leveler", "leveller",
+ "libeled", "libelled",
+ "lionize", "lionise",
+ "louvers", "louvres",
+ "modeled", "modelled",
+ "modeler", "modeller",
+ "molders", "moulders",
+ "moldier", "mouldier",
+ "molding", "moulding",
+ "molting", "moulting",
+ "offense", "offence",
+ "oxidize", "oxidise",
+ "pajamas", "pyjamas",
+ "paneled", "panelled",
+ "parlors", "parlours",
+ "pedaled", "pedalled",
+ "plowing", "ploughing",
+ "plowman", "ploughman",
+ "plowmen", "ploughmen",
+ "realize", "realise",
+ "remolds", "remoulds",
+ "reveled", "revelled",
+ "reveler", "reveller",
+ "rivaled", "rivalled",
+ "rumored", "rumoured",
+ "saviors", "saviours",
+ "savored", "savoured",
+ "scepter", "sceptre",
+ "skeptic", "sceptic",
+ "specter", "spectre",
+ "succors", "succours",
+ "sulfate", "sulphate",
+ "sulfide", "sulphide",
+ "theater", "theatre",
+ "toweled", "towelled",
+ "toxemia", "toxaemia",
+ "trialed", "trialled",
+ "utilize", "utilise",
+ "yodeled", "yodelled",
+ "anemia", "anaemia",
+ "anemic", "anaemic",
+ "appall", "appal",
+ "arbors", "arbours",
+ "armory", "armoury",
+ "candor", "candour",
+ "center", "centre",
+ "clamor", "clamour",
+ "colors", "colours",
+ "cozier", "cosier",
+ "cozies", "cosies",
+ "cozily", "cosily",
+ "dialed", "dialled",
+ "drafty", "draughty",
+ "dueled", "duelled",
+ "favors", "favours",
+ "fervor", "fervour",
+ "fibers", "fibres",
+ "flavor", "flavour",
+ "fueled", "fuelled",
+ "goiter", "goitre",
+ "harbor", "harbour",
+ "honors", "honours",
+ "humors", "humours",
+ "labors", "labours",
+ "liters", "litres",
+ "louver", "louvre",
+ "luster", "lustre",
+ "meager", "meagre",
+ "miters", "mitres",
+ "molded", "moulded",
+ "molder", "moulder",
+ "molted", "moulted",
+ "pajama", "pyjama",
+ "parlor", "parlour",
+ "plowed", "ploughed",
+ "rancor", "rancour",
+ "remold", "remould",
+ "rigors", "rigours",
+ "rumors", "rumours",
+ "savors", "savours",
+ "savory", "savoury",
+ "succor", "succour",
+ "tumors", "tumours",
+ "vapors", "vapours",
+ "aging", "ageing",
+ "arbor", "arbour",
+ "ardor", "ardour",
+ "armor", "armour",
+ "chili", "chilli",
+ "color", "colour",
+ "edema", "edoema",
+ "favor", "favour",
+ "fecal", "faecal",
+ "feces", "faeces",
+ "fiber", "fibre",
+ "honor", "honour",
+ "humor", "humour",
+ "labor", "labour",
+ "liter", "litre",
+ "miter", "mitre",
+ "molds", "moulds",
+ "moldy", "mouldy",
+ "molts", "moults",
+ "odors", "odours",
+ "plows", "ploughs",
+ "rigor", "rigour",
+ "rumor", "rumour",
+ "savor", "savour",
+ "valor", "valour",
+ "vapor", "vapour",
+ "vigor", "vigour",
+ "cozy", "cosy",
+ "mold", "mould",
+ "molt", "moult",
+ "odor", "odour",
+ "plow", "plough",
+}
diff --git a/vendor/github.com/fzipp/gocyclo/CONTRIBUTORS b/vendor/github.com/fzipp/gocyclo/CONTRIBUTORS
new file mode 100644
index 0000000..1c09f1a
--- /dev/null
+++ b/vendor/github.com/fzipp/gocyclo/CONTRIBUTORS
@@ -0,0 +1,7 @@
+# Names should be added to this file like so:
+# Name
+
+# Please keep the list sorted.
+
+Frederik Zipp
+Harshavardhana
diff --git a/vendor/github.com/fzipp/gocyclo/LICENSE b/vendor/github.com/fzipp/gocyclo/LICENSE
new file mode 100644
index 0000000..45f88d6
--- /dev/null
+++ b/vendor/github.com/fzipp/gocyclo/LICENSE
@@ -0,0 +1,27 @@
+Copyright (c) 2013 Frederik Zipp. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+ * Neither the name of the copyright owner nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/vendor/github.com/fzipp/gocyclo/README.md b/vendor/github.com/fzipp/gocyclo/README.md
new file mode 100644
index 0000000..b2ec36a
--- /dev/null
+++ b/vendor/github.com/fzipp/gocyclo/README.md
@@ -0,0 +1,31 @@
+Gocyclo calculates cyclomatic complexities of functions in Go source code.
+
+The cyclomatic complexity of a function is calculated according to the
+following rules:
+
+ 1 is the base complexity of a function
+ +1 for each 'if', 'for', 'case', '&&' or '||'
+
+To install, run
+
+ $ go get github.com/fzipp/gocyclo
+
+and put the resulting binary in one of your PATH directories if
+`$GOPATH/bin` isn't already in your PATH.
+
+Usage:
+
+ $ gocyclo [ ...] ...
+
+Examples:
+
+ $ gocyclo .
+ $ gocyclo main.go
+ $ gocyclo -top 10 src/
+ $ gocyclo -over 25 docker
+ $ gocyclo -avg .
+
+The output fields for each line are:
+
+
+
diff --git a/vendor/github.com/fzipp/gocyclo/gocyclo.go b/vendor/github.com/fzipp/gocyclo/gocyclo.go
new file mode 100644
index 0000000..00ab50d
--- /dev/null
+++ b/vendor/github.com/fzipp/gocyclo/gocyclo.go
@@ -0,0 +1,225 @@
+// Copyright 2013 Frederik Zipp. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Gocyclo calculates the cyclomatic complexities of functions and
+// methods in Go source code.
+//
+// Usage:
+// gocyclo [ ...] ...
+//
+// Flags:
+// -over N show functions with complexity > N only and
+// return exit code 1 if the output is non-empty
+// -top N show the top N most complex functions only
+// -avg show the average complexity
+//
+// The output fields for each line are:
+//
+package main
+
+import (
+ "flag"
+ "fmt"
+ "go/ast"
+ "go/parser"
+ "go/token"
+ "io"
+ "log"
+ "os"
+ "path/filepath"
+ "sort"
+ "strings"
+)
+
+const usageDoc = `Calculate cyclomatic complexities of Go functions.
+Usage:
+ gocyclo [flags] ...
+
+Flags:
+ -over N show functions with complexity > N only and
+ return exit code 1 if the set is non-empty
+ -top N show the top N most complex functions only
+ -avg show the average complexity over all functions,
+ not depending on whether -over or -top are set
+
+The output fields for each line are:
+
+`
+
+func usage() {
+ fmt.Fprintf(os.Stderr, usageDoc)
+ os.Exit(2)
+}
+
+var (
+ over = flag.Int("over", 0, "show functions with complexity > N only")
+ top = flag.Int("top", -1, "show the top N most complex functions only")
+ avg = flag.Bool("avg", false, "show the average complexity")
+)
+
+func main() {
+ log.SetFlags(0)
+ log.SetPrefix("gocyclo: ")
+ flag.Usage = usage
+ flag.Parse()
+ args := flag.Args()
+ if len(args) == 0 {
+ usage()
+ }
+
+ stats := analyze(args)
+ sort.Sort(byComplexity(stats))
+ written := writeStats(os.Stdout, stats)
+
+ if *avg {
+ showAverage(stats)
+ }
+
+ if *over > 0 && written > 0 {
+ os.Exit(1)
+ }
+}
+
+func analyze(paths []string) []stat {
+ var stats []stat
+ for _, path := range paths {
+ if isDir(path) {
+ stats = analyzeDir(path, stats)
+ } else {
+ stats = analyzeFile(path, stats)
+ }
+ }
+ return stats
+}
+
+func isDir(filename string) bool {
+ fi, err := os.Stat(filename)
+ return err == nil && fi.IsDir()
+}
+
+func analyzeFile(fname string, stats []stat) []stat {
+ fset := token.NewFileSet()
+ f, err := parser.ParseFile(fset, fname, nil, 0)
+ if err != nil {
+ log.Fatal(err)
+ }
+ return buildStats(f, fset, stats)
+}
+
+func analyzeDir(dirname string, stats []stat) []stat {
+ filepath.Walk(dirname, func(path string, info os.FileInfo, err error) error {
+ if err == nil && !info.IsDir() && strings.HasSuffix(path, ".go") {
+ stats = analyzeFile(path, stats)
+ }
+ return err
+ })
+ return stats
+}
+
+func writeStats(w io.Writer, sortedStats []stat) int {
+ for i, stat := range sortedStats {
+ if i == *top {
+ return i
+ }
+ if stat.Complexity <= *over {
+ return i
+ }
+ fmt.Fprintln(w, stat)
+ }
+ return len(sortedStats)
+}
+
+func showAverage(stats []stat) {
+ fmt.Printf("Average: %.3g\n", average(stats))
+}
+
+func average(stats []stat) float64 {
+ total := 0
+ for _, s := range stats {
+ total += s.Complexity
+ }
+ return float64(total) / float64(len(stats))
+}
+
+type stat struct {
+ PkgName string
+ FuncName string
+ Complexity int
+ Pos token.Position
+}
+
+func (s stat) String() string {
+ return fmt.Sprintf("%d %s %s %s", s.Complexity, s.PkgName, s.FuncName, s.Pos)
+}
+
+type byComplexity []stat
+
+func (s byComplexity) Len() int { return len(s) }
+func (s byComplexity) Swap(i, j int) { s[i], s[j] = s[j], s[i] }
+func (s byComplexity) Less(i, j int) bool {
+ return s[i].Complexity >= s[j].Complexity
+}
+
+func buildStats(f *ast.File, fset *token.FileSet, stats []stat) []stat {
+ for _, decl := range f.Decls {
+ if fn, ok := decl.(*ast.FuncDecl); ok {
+ stats = append(stats, stat{
+ PkgName: f.Name.Name,
+ FuncName: funcName(fn),
+ Complexity: complexity(fn),
+ Pos: fset.Position(fn.Pos()),
+ })
+ }
+ }
+ return stats
+}
+
+// funcName returns the name representation of a function or method:
+// "(Type).Name" for methods or simply "Name" for functions.
+func funcName(fn *ast.FuncDecl) string {
+ if fn.Recv != nil {
+ if fn.Recv.NumFields() > 0 {
+ typ := fn.Recv.List[0].Type
+ return fmt.Sprintf("(%s).%s", recvString(typ), fn.Name)
+ }
+ }
+ return fn.Name.Name
+}
+
+// recvString returns a string representation of recv of the
+// form "T", "*T", or "BADRECV" (if not a proper receiver type).
+func recvString(recv ast.Expr) string {
+ switch t := recv.(type) {
+ case *ast.Ident:
+ return t.Name
+ case *ast.StarExpr:
+ return "*" + recvString(t.X)
+ }
+ return "BADRECV"
+}
+
+// complexity calculates the cyclomatic complexity of a function.
+func complexity(fn *ast.FuncDecl) int {
+ v := complexityVisitor{}
+ ast.Walk(&v, fn)
+ return v.Complexity
+}
+
+type complexityVisitor struct {
+ // Complexity is the cyclomatic complexity
+ Complexity int
+}
+
+// Visit implements the ast.Visitor interface.
+func (v *complexityVisitor) Visit(n ast.Node) ast.Visitor {
+ switch n := n.(type) {
+ case *ast.FuncDecl, *ast.IfStmt, *ast.ForStmt, *ast.RangeStmt, *ast.CaseClause, *ast.CommClause:
+ v.Complexity++
+ case *ast.BinaryExpr:
+ if n.Op == token.LAND || n.Op == token.LOR {
+ v.Complexity++
+ }
+ }
+ return v
+}
diff --git a/vendor/github.com/gordonklaus/ineffassign/.gitignore b/vendor/github.com/gordonklaus/ineffassign/.gitignore
new file mode 100644
index 0000000..c4feb4f
--- /dev/null
+++ b/vendor/github.com/gordonklaus/ineffassign/.gitignore
@@ -0,0 +1,30 @@
+ineffassign
+
+# Created by https://www.gitignore.io/api/go
+
+### Go ###
+# Compiled Object files, Static and Dynamic libs (Shared Objects)
+*.o
+*.a
+*.so
+
+# Folders
+_obj
+_test
+
+# Architecture specific extensions/prefixes
+*.[568vq]
+[568vq].out
+
+*.cgo1.go
+*.cgo2.c
+_cgo_defun.c
+_cgo_gotypes.go
+_cgo_export.*
+
+_testmain.go
+
+*.exe
+*.test
+*.prof
+
diff --git a/vendor/github.com/gordonklaus/ineffassign/LICENSE b/vendor/github.com/gordonklaus/ineffassign/LICENSE
new file mode 100644
index 0000000..9e3d9bc
--- /dev/null
+++ b/vendor/github.com/gordonklaus/ineffassign/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2016 Gordon Klaus and contributors
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/vendor/github.com/gordonklaus/ineffassign/README.md b/vendor/github.com/gordonklaus/ineffassign/README.md
new file mode 100644
index 0000000..6dcb9f0
--- /dev/null
+++ b/vendor/github.com/gordonklaus/ineffassign/README.md
@@ -0,0 +1,4 @@
+# ineffassign
+Detect ineffectual assignments in Go code.
+
+This tool misses some cases because does not consider any type information in its analysis. (For example, assignments to struct fields are never marked as ineffectual.) It should, however, never give any false positives.
diff --git a/vendor/github.com/gordonklaus/ineffassign/bugs b/vendor/github.com/gordonklaus/ineffassign/bugs
new file mode 100644
index 0000000..468177e
--- /dev/null
+++ b/vendor/github.com/gordonklaus/ineffassign/bugs
@@ -0,0 +1,7 @@
+cmd/compile/internal/big/floatconv.go:367:2 m
+cmd/cover/cover_test.go:62:2 err
+cmd/pprof/internal/profile/profile.go:131:10 err
+math/big/ftoa.go:285:2 m
+net/file_unix.go:66:7 err
+golang.org/x/mobile/app/android.go:175:2 queue
+golang.org/x/net/icmp/listen_posix.go:83:6 err
diff --git a/vendor/github.com/gordonklaus/ineffassign/ineffassign.go b/vendor/github.com/gordonklaus/ineffassign/ineffassign.go
new file mode 100644
index 0000000..d067bc4
--- /dev/null
+++ b/vendor/github.com/gordonklaus/ineffassign/ineffassign.go
@@ -0,0 +1,623 @@
+package main
+
+import (
+ "flag"
+ "fmt"
+ "go/ast"
+ "go/parser"
+ "go/token"
+ "os"
+ "path/filepath"
+ "sort"
+ "strings"
+)
+
+const invalidArgumentExitCode = 3
+
+var dontRecurseFlag = flag.Bool("n", false, "don't recursively check paths")
+
+func main() {
+ flag.Parse()
+
+ if len(flag.Args()) == 0 {
+ fmt.Println("missing argument: filepath")
+ os.Exit(invalidArgumentExitCode)
+ }
+
+ lintFailed := false
+ for _, path := range flag.Args() {
+ root, err := filepath.Abs(path)
+ if err != nil {
+ fmt.Printf("Error finding absolute path: %s", err)
+ os.Exit(invalidArgumentExitCode)
+ }
+ if walkPath(root) {
+ lintFailed = true
+ }
+ }
+ if lintFailed {
+ os.Exit(1)
+ }
+}
+
+func walkPath(root string) bool {
+ lintFailed := false
+ filepath.Walk(root, func(path string, fi os.FileInfo, err error) error {
+ if err != nil {
+ fmt.Printf("Error during filesystem walk: %v\n", err)
+ return nil
+ }
+ if fi.IsDir() {
+ if path != root && (*dontRecurseFlag ||
+ filepath.Base(path) == "testdata" ||
+ filepath.Base(path) == "vendor") {
+ return filepath.SkipDir
+ }
+ return nil
+ }
+ if !strings.HasSuffix(path, ".go") {
+ return nil
+ }
+ fset, _, ineff := checkPath(path)
+ for _, id := range ineff {
+ fmt.Printf("%s: ineffectual assignment to %s\n", fset.Position(id.Pos()), id.Name)
+ lintFailed = true
+ }
+ return nil
+ })
+ return lintFailed
+}
+
+func checkPath(path string) (*token.FileSet, []*ast.CommentGroup, []*ast.Ident) {
+ fset := token.NewFileSet()
+ f, err := parser.ParseFile(fset, path, nil, parser.ParseComments)
+ if err != nil {
+ return nil, nil, nil
+ }
+
+ bld := &builder{vars: map[*ast.Object]*variable{}}
+ bld.walk(f)
+
+ chk := &checker{vars: bld.vars, seen: map[*block]bool{}}
+ for _, b := range bld.roots {
+ chk.check(b)
+ }
+ sort.Sort(chk.ineff)
+
+ return fset, f.Comments, chk.ineff
+}
+
+type builder struct {
+ roots []*block
+ block *block
+ vars map[*ast.Object]*variable
+ results []*ast.FieldList
+ breaks branchStack
+ continues branchStack
+ gotos branchStack
+ labelStmt *ast.LabeledStmt
+}
+
+type block struct {
+ children []*block
+ ops map[*ast.Object][]operation
+}
+
+func (b *block) addChild(c *block) {
+ b.children = append(b.children, c)
+}
+
+type operation struct {
+ id *ast.Ident
+ assign bool
+}
+
+type variable struct {
+ fundept int
+ escapes bool
+}
+
+func (bld *builder) walk(n ast.Node) {
+ if n != nil {
+ ast.Walk(bld, n)
+ }
+}
+
+func (bld *builder) Visit(n ast.Node) ast.Visitor {
+ switch n := n.(type) {
+ case *ast.FuncDecl:
+ if n.Body != nil {
+ bld.fun(n.Type, n.Body)
+ }
+ case *ast.FuncLit:
+ bld.fun(n.Type, n.Body)
+ case *ast.IfStmt:
+ bld.walk(n.Init)
+ bld.walk(n.Cond)
+ b0 := bld.block
+ bld.newBlock(b0)
+ bld.walk(n.Body)
+ b1 := bld.block
+ if n.Else != nil {
+ bld.newBlock(b0)
+ bld.walk(n.Else)
+ b0 = bld.block
+ }
+ bld.newBlock(b0, b1)
+ case *ast.ForStmt:
+ lbl := bld.stmtLabel(n)
+ brek := bld.breaks.push(lbl)
+ continu := bld.continues.push(lbl)
+ bld.walk(n.Init)
+ start := bld.newBlock(bld.block)
+ bld.walk(n.Cond)
+ cond := bld.block
+ bld.newBlock(cond)
+ bld.walk(n.Body)
+ continu.setDestination(bld.newBlock(bld.block))
+ bld.walk(n.Post)
+ bld.block.addChild(start)
+ brek.setDestination(bld.newBlock(cond))
+ bld.breaks.pop()
+ bld.continues.pop()
+ case *ast.RangeStmt:
+ lbl := bld.stmtLabel(n)
+ brek := bld.breaks.push(lbl)
+ continu := bld.continues.push(lbl)
+ bld.walk(n.X)
+ pre := bld.newBlock(bld.block)
+ start := bld.newBlock(pre)
+ if n.Key != nil {
+ lhs := []ast.Expr{n.Key}
+ if n.Value != nil {
+ lhs = append(lhs, n.Value)
+ }
+ bld.walk(&ast.AssignStmt{Lhs: lhs, Tok: n.Tok, TokPos: n.TokPos, Rhs: []ast.Expr{&ast.Ident{NamePos: n.X.End()}}})
+ }
+ bld.walk(n.Body)
+ bld.block.addChild(start)
+ continu.setDestination(pre)
+ brek.setDestination(bld.newBlock(pre, bld.block))
+ bld.breaks.pop()
+ bld.continues.pop()
+ case *ast.SwitchStmt:
+ bld.walk(n.Init)
+ bld.walk(n.Tag)
+ bld.swtch(n, n.Body.List)
+ case *ast.TypeSwitchStmt:
+ bld.walk(n.Init)
+ bld.walk(n.Assign)
+ bld.swtch(n, n.Body.List)
+ case *ast.SelectStmt:
+ brek := bld.breaks.push(bld.stmtLabel(n))
+ for _, c := range n.Body.List {
+ c := c.(*ast.CommClause).Comm
+ if s, ok := c.(*ast.AssignStmt); ok {
+ bld.walk(s.Rhs[0])
+ } else {
+ bld.walk(c)
+ }
+ }
+ b0 := bld.block
+ exits := make([]*block, len(n.Body.List))
+ dfault := false
+ for i, c := range n.Body.List {
+ c := c.(*ast.CommClause)
+ bld.newBlock(b0)
+ bld.walk(c)
+ exits[i] = bld.block
+ dfault = dfault || c.Comm == nil
+ }
+ if !dfault {
+ exits = append(exits, b0)
+ }
+ brek.setDestination(bld.newBlock(exits...))
+ bld.breaks.pop()
+ case *ast.LabeledStmt:
+ bld.gotos.get(n.Label).setDestination(bld.newBlock(bld.block))
+ bld.labelStmt = n
+ bld.walk(n.Stmt)
+ case *ast.BranchStmt:
+ switch n.Tok {
+ case token.BREAK:
+ bld.breaks.get(n.Label).addSource(bld.block)
+ bld.newBlock()
+ case token.CONTINUE:
+ bld.continues.get(n.Label).addSource(bld.block)
+ bld.newBlock()
+ case token.GOTO:
+ bld.gotos.get(n.Label).addSource(bld.block)
+ bld.newBlock()
+ }
+
+ case *ast.AssignStmt:
+ if n.Tok == token.QUO_ASSIGN || n.Tok == token.REM_ASSIGN {
+ bld.maybePanic()
+ }
+
+ for _, x := range n.Rhs {
+ bld.walk(x)
+ }
+ for i, x := range n.Lhs {
+ if id, ok := ident(x); ok {
+ if n.Tok >= token.ADD_ASSIGN && n.Tok <= token.AND_NOT_ASSIGN {
+ bld.use(id)
+ }
+ // Don't treat explicit initialization to zero as assignment; it is often used as shorthand for a bare declaration.
+ if n.Tok == token.DEFINE && i < len(n.Rhs) && isZeroInitializer(n.Rhs[i]) {
+ bld.use(id)
+ } else {
+ bld.assign(id)
+ }
+ } else {
+ bld.walk(x)
+ }
+ }
+ case *ast.GenDecl:
+ if n.Tok == token.VAR {
+ for _, s := range n.Specs {
+ s := s.(*ast.ValueSpec)
+ for _, x := range s.Values {
+ bld.walk(x)
+ }
+ for _, id := range s.Names {
+ if len(s.Values) > 0 {
+ bld.assign(id)
+ } else {
+ bld.use(id)
+ }
+ }
+ }
+ }
+ case *ast.IncDecStmt:
+ if id, ok := ident(n.X); ok {
+ bld.use(id)
+ bld.assign(id)
+ } else {
+ bld.walk(n.X)
+ }
+ case *ast.Ident:
+ bld.use(n)
+ case *ast.ReturnStmt:
+ for _, x := range n.Results {
+ bld.walk(x)
+ }
+ res := bld.results[len(bld.results)-1]
+ if res == nil {
+ break
+ }
+ for _, f := range res.List {
+ for _, id := range f.Names {
+ if n.Results != nil {
+ bld.assign(id)
+ }
+ bld.use(id)
+ }
+ }
+ case *ast.SendStmt:
+ bld.maybePanic()
+ return bld
+
+ case *ast.BinaryExpr:
+ if n.Op == token.EQL || n.Op == token.QUO || n.Op == token.REM {
+ bld.maybePanic()
+ }
+ return bld
+ case *ast.CallExpr:
+ bld.maybePanic()
+ return bld
+ case *ast.IndexExpr:
+ bld.maybePanic()
+ return bld
+ case *ast.UnaryExpr:
+ id, ok := ident(n.X)
+ if ix, isIx := n.X.(*ast.IndexExpr); isIx {
+ // We don't care about indexing into slices, but without type information we can do no better.
+ id, ok = ident(ix.X)
+ }
+ if ok && n.Op == token.AND {
+ if v, ok := bld.vars[id.Obj]; ok {
+ v.escapes = true
+ }
+ }
+ return bld
+ case *ast.SelectorExpr:
+ bld.maybePanic()
+ // A method call (possibly delayed via a method value) might implicitly take
+ // the address of its receiver, causing it to escape.
+ // We can't do any better here without knowing the variable's type.
+ if id, ok := ident(n.X); ok {
+ if v, ok := bld.vars[id.Obj]; ok {
+ v.escapes = true
+ }
+ }
+ return bld
+ case *ast.SliceExpr:
+ bld.maybePanic()
+ // We don't care about slicing into slices, but without type information we can do no better.
+ if id, ok := ident(n.X); ok {
+ if v, ok := bld.vars[id.Obj]; ok {
+ v.escapes = true
+ }
+ }
+ return bld
+ case *ast.StarExpr:
+ bld.maybePanic()
+ return bld
+ case *ast.TypeAssertExpr:
+ bld.maybePanic()
+ return bld
+
+ default:
+ return bld
+ }
+ return nil
+}
+
+func isZeroInitializer(x ast.Expr) bool {
+ // Assume that a call expression of a single argument is a conversion expression. We can't do better without type information.
+ if c, ok := x.(*ast.CallExpr); ok {
+ switch c.Fun.(type) {
+ case *ast.Ident, *ast.SelectorExpr:
+ default:
+ return false
+ }
+ if len(c.Args) != 1 {
+ return false
+ }
+ x = c.Args[0]
+ }
+
+ b, ok := x.(*ast.BasicLit)
+ if !ok {
+ return false
+ }
+ switch b.Value {
+ case "0", "0.0", "0.", ".0", `""`:
+ return true
+ }
+ return false
+}
+
+func (bld *builder) fun(typ *ast.FuncType, body *ast.BlockStmt) {
+ for _, v := range bld.vars {
+ v.fundept++
+ }
+ bld.results = append(bld.results, typ.Results)
+
+ b := bld.block
+ bld.newBlock()
+ bld.roots = append(bld.roots, bld.block)
+ bld.walk(typ)
+ bld.walk(body)
+ bld.block = b
+
+ bld.results = bld.results[:len(bld.results)-1]
+ for _, v := range bld.vars {
+ v.fundept--
+ }
+}
+
+func (bld *builder) swtch(stmt ast.Stmt, cases []ast.Stmt) {
+ brek := bld.breaks.push(bld.stmtLabel(stmt))
+ b0 := bld.block
+ list := b0
+ exits := make([]*block, 0, len(cases)+1)
+ var dfault, fallthru *block
+ for _, c := range cases {
+ c := c.(*ast.CaseClause)
+
+ if c.List != nil {
+ list = bld.newBlock(list)
+ for _, x := range c.List {
+ bld.walk(x)
+ }
+ }
+
+ parents := []*block{}
+ if c.List != nil {
+ parents = append(parents, list)
+ }
+ if fallthru != nil {
+ parents = append(parents, fallthru)
+ fallthru = nil
+ }
+ bld.newBlock(parents...)
+ if c.List == nil {
+ dfault = bld.block
+ }
+ for _, s := range c.Body {
+ bld.walk(s)
+ if s, ok := s.(*ast.BranchStmt); ok && s.Tok == token.FALLTHROUGH {
+ fallthru = bld.block
+ }
+ }
+
+ if fallthru == nil {
+ exits = append(exits, bld.block)
+ }
+ }
+ if dfault != nil {
+ list.addChild(dfault)
+ } else {
+ exits = append(exits, b0)
+ }
+ brek.setDestination(bld.newBlock(exits...))
+ bld.breaks.pop()
+}
+
+// An operation that might panic marks named function results as used.
+func (bld *builder) maybePanic() {
+ if len(bld.results) == 0 {
+ return
+ }
+ res := bld.results[len(bld.results)-1]
+ if res == nil {
+ return
+ }
+ for _, f := range res.List {
+ for _, id := range f.Names {
+ bld.use(id)
+ }
+ }
+}
+
+func (bld *builder) newBlock(parents ...*block) *block {
+ bld.block = &block{ops: map[*ast.Object][]operation{}}
+ for _, b := range parents {
+ b.addChild(bld.block)
+ }
+ return bld.block
+}
+
+func (bld *builder) stmtLabel(s ast.Stmt) *ast.Object {
+ if ls := bld.labelStmt; ls != nil && ls.Stmt == s {
+ return ls.Label.Obj
+ }
+ return nil
+}
+
+func (bld *builder) assign(id *ast.Ident) {
+ bld.newOp(id, true)
+}
+
+func (bld *builder) use(id *ast.Ident) {
+ bld.newOp(id, false)
+}
+
+func (bld *builder) newOp(id *ast.Ident, assign bool) {
+ if id.Name == "_" || id.Obj == nil {
+ return
+ }
+
+ v, ok := bld.vars[id.Obj]
+ if !ok {
+ v = &variable{}
+ bld.vars[id.Obj] = v
+ }
+ v.escapes = v.escapes || v.fundept > 0 || bld.block == nil
+
+ if b := bld.block; b != nil {
+ b.ops[id.Obj] = append(b.ops[id.Obj], operation{id, assign})
+ }
+}
+
+type branchStack []*branch
+
+type branch struct {
+ label *ast.Object
+ srcs []*block
+ dst *block
+}
+
+func (s *branchStack) push(lbl *ast.Object) *branch {
+ br := &branch{label: lbl}
+ *s = append(*s, br)
+ return br
+}
+
+func (s *branchStack) get(lbl *ast.Ident) *branch {
+ for i := len(*s) - 1; i >= 0; i-- {
+ if br := (*s)[i]; lbl == nil || br.label == lbl.Obj {
+ return br
+ }
+ }
+
+ // Guard against invalid code (break/continue outside of loop).
+ if lbl == nil {
+ return &branch{}
+ }
+
+ return s.push(lbl.Obj)
+}
+
+func (br *branch) addSource(src *block) {
+ br.srcs = append(br.srcs, src)
+ if br.dst != nil {
+ src.addChild(br.dst)
+ }
+}
+
+func (br *branch) setDestination(dst *block) {
+ br.dst = dst
+ for _, src := range br.srcs {
+ src.addChild(dst)
+ }
+}
+
+func (s *branchStack) pop() {
+ *s = (*s)[:len(*s)-1]
+}
+
+func ident(x ast.Expr) (*ast.Ident, bool) {
+ if p, ok := x.(*ast.ParenExpr); ok {
+ return ident(p.X)
+ }
+ id, ok := x.(*ast.Ident)
+ return id, ok
+}
+
+type checker struct {
+ vars map[*ast.Object]*variable
+ seen map[*block]bool
+ ineff idents
+}
+
+func (chk *checker) check(b *block) {
+ if chk.seen[b] {
+ return
+ }
+ chk.seen[b] = true
+
+ for obj, ops := range b.ops {
+ if chk.vars[obj].escapes {
+ continue
+ }
+ ops:
+ for i, op := range ops {
+ if !op.assign {
+ continue
+ }
+ if i+1 < len(ops) {
+ if ops[i+1].assign {
+ chk.ineff = append(chk.ineff, op.id)
+ }
+ continue
+ }
+ seen := map[*block]bool{}
+ for _, b := range b.children {
+ if used(obj, b, seen) {
+ continue ops
+ }
+ }
+ chk.ineff = append(chk.ineff, op.id)
+ }
+ }
+
+ for _, b := range b.children {
+ chk.check(b)
+ }
+}
+
+func used(obj *ast.Object, b *block, seen map[*block]bool) bool {
+ if seen[b] {
+ return false
+ }
+ seen[b] = true
+
+ if ops := b.ops[obj]; len(ops) > 0 {
+ return !ops[0].assign
+ }
+ for _, b := range b.children {
+ if used(obj, b, seen) {
+ return true
+ }
+ }
+ return false
+}
+
+type idents []*ast.Ident
+
+func (ids idents) Len() int { return len(ids) }
+func (ids idents) Less(i, j int) bool { return ids[i].Pos() < ids[j].Pos() }
+func (ids idents) Swap(i, j int) { ids[i], ids[j] = ids[j], ids[i] }
diff --git a/vendor/github.com/gordonklaus/ineffassign/list b/vendor/github.com/gordonklaus/ineffassign/list
new file mode 100644
index 0000000..7e6b1e7
--- /dev/null
+++ b/vendor/github.com/gordonklaus/ineffassign/list
@@ -0,0 +1,25 @@
+/Users/gordon/go/src/code.google.com/p/freetype-go/freetype/truetype/truetype.go:493:5: offset assigned and not used
+/Users/gordon/go/src/code.google.com/p/freetype-go/freetype/truetype/truetype.go:289:11: offset assigned and not used
+/Users/gordon/go/src/code.google.com/p/freetype-go/freetype/truetype/truetype_test.go:224:2: prefix assigned and not used
+/Users/gordon/go/src/code.google.com/p/freetype-go/freetype/truetype/truetype_test.go:239:3: s assigned and not used
+/Users/gordon/go/src/github.com/gordonklaus/flux/go/types/resolver.go:372:2: seenPkgs assigned and not used
+/Users/gordon/go/src/github.com/gopherjs/gopherjs/compiler/package.go:195:7: recvType assigned and not used
+/Users/gordon/go/src/golang.org/x/crypto/ocsp/ocsp.go:340:2: rest assigned and not used
+/Users/gordon/go/src/golang.org/x/crypto/openpgp/packet/opaque_test.go:35:6: err assigned and not used
+/Users/gordon/go/src/golang.org/x/crypto/otr/otr.go:641:6: in assigned and not used
+/Users/gordon/go/src/golang.org/x/crypto/otr/otr_test.go:198:17: err assigned and not used
+/Users/gordon/go/src/golang.org/x/crypto/ssh/benchmark_test.go:94:17: err assigned and not used
+/Users/gordon/go/src/golang.org/x/mobile/app/android.go:175:2: queue assigned and not used
+/Users/gordon/go/src/golang.org/x/mobile/cmd/gomobile/bind.go:411:2: w assigned and not used
+/Users/gordon/go/src/golang.org/x/mobile/cmd/gomobile/build.go:231:8: err assigned and not used
+/Users/gordon/go/src/golang.org/x/net/icmp/listen_posix.go:83:6: err assigned and not used
+/Users/gordon/go/src/golang.org/x/net/ipv4/control_unix.go:99:5: b assigned and not used
+/Users/gordon/go/src/golang.org/x/net/ipv4/control_unix.go:148:4: b assigned and not used
+/Users/gordon/go/src/golang.org/x/net/ipv6/control_unix.go:90:4: b assigned and not used
+/Users/gordon/go/src/golang.org/x/net/ipv6/control_unix.go:162:4: b assigned and not used
+/Users/gordon/go/src/golang.org/x/net/websocket/hybi.go:298:3: n assigned and not used
+/Users/gordon/go/src/golang.org/x/tools/cmd/callgraph/main.go:164:2: args assigned and not used
+/Users/gordon/go/src/golang.org/x/tools/cmd/cover/cover_test.go:52:2: err assigned and not used
+/Users/gordon/go/src/golang.org/x/tools/go/gcimporter/exportdata.go:74:13: size assigned and not used
+/Users/gordon/go/src/golang.org/x/tools/oracle/oracle.go:268:2: iprog assigned and not used
+/Users/gordon/go/src/golang.org/x/tools/oracle/oracle_test.go:299:2: iprog assigned and not used
diff --git a/vendor/github.com/gordonklaus/ineffassign/liststd b/vendor/github.com/gordonklaus/ineffassign/liststd
new file mode 100644
index 0000000..591d026
--- /dev/null
+++ b/vendor/github.com/gordonklaus/ineffassign/liststd
@@ -0,0 +1,131 @@
+/usr/local/go/src/bufio/scan.go:388:6: ineffectual assignment to width
+/usr/local/go/src/bufio/scan.go:396:6: ineffectual assignment to width
+/usr/local/go/src/bytes/buffer_test.go:141:6: ineffectual assignment to err
+/usr/local/go/src/bytes/buffer_test.go:164:3: ineffectual assignment to c
+/usr/local/go/src/cmd/cgo/out.go:799:3: ineffectual assignment to gccResult
+/usr/local/go/src/cmd/compile/internal/big/ratconv.go:170:4: ineffectual assignment to err
+/usr/local/go/src/cmd/compile/internal/gc/bimport.go:330:2: ineffectual assignment to file
+/usr/local/go/src/cmd/compile/internal/gc/cgen.go:3332:3: ineffectual assignment to max
+/usr/local/go/src/cmd/compile/internal/gc/export.go:379:2: ineffectual assignment to size
+/usr/local/go/src/cmd/compile/internal/gc/global_test.go:51:2: ineffectual assignment to out
+/usr/local/go/src/cmd/compile/internal/gc/lex.go:281:4: ineffectual assignment to c1
+/usr/local/go/src/cmd/compile/internal/gc/reg.go:1373:2: ineffectual assignment to firstf
+/usr/local/go/src/cmd/compile/internal/gc/reg.go:1381:3: ineffectual assignment to firstf
+/usr/local/go/src/cmd/compile/internal/s390x/peep.go:1048:3: ineffectual assignment to size
+/usr/local/go/src/cmd/compile/internal/s390x/peep.go:1139:3: ineffectual assignment to size
+/usr/local/go/src/cmd/compile/internal/ssa/loopbce.go:44:3: ineffectual assignment to entry
+/usr/local/go/src/cmd/cover/html.go:64:8: ineffectual assignment to err
+/usr/local/go/src/cmd/cover/html.go:66:8: ineffectual assignment to err
+/usr/local/go/src/cmd/go/build.go:3355:3: ineffectual assignment to cgoLDFLAGS
+/usr/local/go/src/cmd/internal/goobj/read.go:532:3: ineffectual assignment to data
+/usr/local/go/src/cmd/internal/obj/arm64/obj7.go:600:2: ineffectual assignment to aoffset
+/usr/local/go/src/cmd/internal/obj/mips/asm0.go:1049:3: ineffectual assignment to v
+/usr/local/go/src/cmd/internal/obj/mips/asm0.go:1101:3: ineffectual assignment to v
+/usr/local/go/src/cmd/internal/obj/s390x/objz.go:609:3: ineffectual assignment to pLast
+/usr/local/go/src/cmd/internal/pprof/profile/encode.go:279:12: ineffectual assignment to err
+/usr/local/go/src/cmd/link/internal/ld/dwarf.go:1426:2: ineffectual assignment to unitstart
+/usr/local/go/src/cmd/link/internal/ld/dwarf.go:1427:2: ineffectual assignment to headerstart
+/usr/local/go/src/cmd/link/internal/ld/dwarf.go:1428:2: ineffectual assignment to headerend
+/usr/local/go/src/cmd/link/internal/ld/elf.go:2272:3: ineffectual assignment to resoff
+/usr/local/go/src/cmd/vet/print.go:227:9: ineffectual assignment to w
+/usr/local/go/src/cmd/yacc/yacc.go:770:2: ineffectual assignment to val
+/usr/local/go/src/cmd/yacc/yacc.go:3127:2: ineffectual assignment to i
+/usr/local/go/src/compress/bzip2/huffman.go:114:4: ineffectual assignment to length
+/usr/local/go/src/compress/flate/reader_test.go:53:3: ineffectual assignment to buf0
+/usr/local/go/src/compress/flate/writer_test.go:29:3: ineffectual assignment to buf0
+/usr/local/go/src/compress/gzip/gzip_test.go:211:5: ineffectual assignment to err
+/usr/local/go/src/compress/lzw/reader_test.go:148:4: ineffectual assignment to buf0
+/usr/local/go/src/compress/lzw/writer_test.go:146:3: ineffectual assignment to buf0
+/usr/local/go/src/container/list/list_test.go:286:2: ineffectual assignment to e1
+/usr/local/go/src/container/list/list_test.go:286:6: ineffectual assignment to e2
+/usr/local/go/src/container/list/list_test.go:286:10: ineffectual assignment to e3
+/usr/local/go/src/container/list/list_test.go:286:14: ineffectual assignment to e4
+/usr/local/go/src/crypto/elliptic/p224.go:722:10: ineffectual assignment to bytes
+/usr/local/go/src/crypto/tls/handshake_messages.go:289:3: ineffectual assignment to z
+/usr/local/go/src/crypto/x509/verify.go:110:5: ineffectual assignment to certName
+/usr/local/go/src/database/sql/sql_test.go:1705:4: ineffectual assignment to numOpen
+/usr/local/go/src/database/sql/sql_test.go:1839:5: ineffectual assignment to err
+/usr/local/go/src/debug/dwarf/type.go:540:5: ineffectual assignment to haveBitOffset
+/usr/local/go/src/debug/elf/file.go:1014:3: ineffectual assignment to suffix
+/usr/local/go/src/debug/gosym/pclntab_test.go:256:2: ineffectual assignment to off
+/usr/local/go/src/debug/pe/file_test.go:309:2: ineffectual assignment to err
+/usr/local/go/src/encoding/base32/base32_test.go:120:4: ineffectual assignment to count
+/usr/local/go/src/encoding/base64/base64_test.go:174:4: ineffectual assignment to count
+/usr/local/go/src/encoding/gob/decgen.go:187:6: ineffectual assignment to err
+/usr/local/go/src/encoding/gob/encgen.go:166:6: ineffectual assignment to err
+/usr/local/go/src/encoding/json/encode.go:1071:2: ineffectual assignment to count
+/usr/local/go/src/encoding/json/encode.go:1169:6: ineffectual assignment to advance
+/usr/local/go/src/encoding/xml/xml.go:1030:6: ineffectual assignment to ok
+/usr/local/go/src/fmt/print.go:936:2: ineffectual assignment to afterIndex
+/usr/local/go/src/fmt/print.go:1051:15: ineffectual assignment to afterIndex
+/usr/local/go/src/go/ast/filter.go:84:3: ineffectual assignment to keepField
+/usr/local/go/src/go/internal/gcimporter/bimport.go:215:2: ineffectual assignment to file
+/usr/local/go/src/go/printer/nodes.go:439:4: ineffectual assignment to extraTabs
+/usr/local/go/src/go/printer/printer_test.go:155:8: ineffectual assignment to err
+/usr/local/go/src/go/types/conversions.go:49:2: ineffectual assignment to final
+/usr/local/go/src/html/template/css.go:160:2: ineffectual assignment to r
+/usr/local/go/src/html/template/css.go:160:5: ineffectual assignment to w
+/usr/local/go/src/html/template/html.go:141:2: ineffectual assignment to r
+/usr/local/go/src/html/template/html.go:141:5: ineffectual assignment to w
+/usr/local/go/src/html/template/js.go:249:2: ineffectual assignment to r
+/usr/local/go/src/html/template/js.go:249:5: ineffectual assignment to w
+/usr/local/go/src/image/decode_test.go:125:9: ineffectual assignment to err
+/usr/local/go/src/image/png/reader.go:689:2: ineffectual assignment to n
+/usr/local/go/src/image/png/writer.go:269:3: ineffectual assignment to best
+/usr/local/go/src/io/io_test.go:245:2: ineffectual assignment to n
+/usr/local/go/src/io/ioutil/ioutil.go:149:2: ineffectual assignment to readSize
+/usr/local/go/src/io/ioutil/ioutil_test.go:24:2: ineffectual assignment to contents
+/usr/local/go/src/log/syslog/syslog_test.go:236:5: ineffectual assignment to err
+/usr/local/go/src/log/syslog/syslog_test.go:240:5: ineffectual assignment to err
+/usr/local/go/src/math/big/ratconv.go:176:4: ineffectual assignment to err
+/usr/local/go/src/mime/multipart/multipart_test.go:408:2: ineffectual assignment to p
+/usr/local/go/src/net/dial_test.go:381:6: ineffectual assignment to err
+/usr/local/go/src/net/dnsname_test.go:36:6: ineffectual assignment to char63
+/usr/local/go/src/net/dnsname_test.go:37:6: ineffectual assignment to char64
+/usr/local/go/src/net/fd_plan9.go:64:4: ineffectual assignment to err
+/usr/local/go/src/net/fd_windows.go:166:3: ineffectual assignment to err
+/usr/local/go/src/net/http/fs.go:413:5: ineffectual assignment to name
+/usr/local/go/src/net/http/h2_bundle.go:6249:4: ineffectual assignment to n
+/usr/local/go/src/net/http/request_test.go:155:13: ineffectual assignment to err
+/usr/local/go/src/net/http/serve_test.go:4053:13: ineffectual assignment to err
+/usr/local/go/src/net/http/transport_test.go:729:8: ineffectual assignment to err
+/usr/local/go/src/net/http/transport_test.go:2345:3: ineffectual assignment to slurp
+/usr/local/go/src/net/parse.go:27:2: ineffectual assignment to i
+/usr/local/go/src/net/rpc/server.go:270:3: ineffectual assignment to str
+/usr/local/go/src/net/udpsock_plan9.go:80:16: ineffectual assignment to i
+/usr/local/go/src/os/env_test.go:109:2: ineffectual assignment to value
+/usr/local/go/src/os/os_test.go:1080:5: ineffectual assignment to err
+/usr/local/go/src/os/path_test.go:122:2: ineffectual assignment to testit
+/usr/local/go/src/reflect/type.go:2379:3: ineffectual assignment to name
+/usr/local/go/src/regexp/exec.go:123:2: ineffectual assignment to r
+/usr/local/go/src/regexp/exec.go:124:2: ineffectual assignment to width
+/usr/local/go/src/regexp/exec.go:321:2: ineffectual assignment to r
+/usr/local/go/src/regexp/exec.go:322:2: ineffectual assignment to width
+/usr/local/go/src/regexp/onepass.go:338:15: ineffectual assignment to matchArg
+/usr/local/go/src/regexp/syntax/parse.go:577:2: ineffectual assignment to start
+/usr/local/go/src/runtime/lfstack_test.go:48:2: ineffectual assignment to nodes
+/usr/local/go/src/runtime/mbitmap.go:1458:3: ineffectual assignment to i
+/usr/local/go/src/runtime/mfinal_test.go:60:4: ineffectual assignment to v
+/usr/local/go/src/runtime/mfinal_test.go:98:3: ineffectual assignment to v
+/usr/local/go/src/runtime/mgcmark.go:414:2: ineffectual assignment to stolen
+/usr/local/go/src/runtime/mgcsweep.go:188:2: ineffectual assignment to nfree
+/usr/local/go/src/runtime/os_plan9.go:307:2: ineffectual assignment to n
+/usr/local/go/src/runtime/pprof/pprof.go:465:5: ineffectual assignment to ok
+/usr/local/go/src/runtime/pprof/pprof.go:608:5: ineffectual assignment to ok
+/usr/local/go/src/runtime/pprof/pprof.go:751:5: ineffectual assignment to ok
+/usr/local/go/src/runtime/proc.go:4227:3: ineffectual assignment to xname
+/usr/local/go/src/runtime/runtime1.go:360:3: ineffectual assignment to field
+/usr/local/go/src/runtime/runtime_mmap_test.go:25:2: ineffectual assignment to p
+/usr/local/go/src/runtime/softfloat64.go:228:3: ineffectual assignment to f
+/usr/local/go/src/runtime/softfloat64.go:228:6: ineffectual assignment to g
+/usr/local/go/src/runtime/stack_test.go:106:4: ineffectual assignment to s
+/usr/local/go/src/strconv/quote.go:23:6: ineffectual assignment to width
+/usr/local/go/src/sync/atomic/atomic_test.go:1122:2: ineffectual assignment to new
+/usr/local/go/src/sync/atomic/atomic_test.go:1150:2: ineffectual assignment to new
+/usr/local/go/src/syscall/dir_plan9.go:88:2: ineffectual assignment to b
+/usr/local/go/src/syscall/dir_plan9.go:131:13: ineffectual assignment to b
+/usr/local/go/src/syscall/exec_plan9.go:281:2: ineffectual assignment to r1
+/usr/local/go/src/syscall/mksyscall_windows.go:310:2: ineffectual assignment to s
+/usr/local/go/src/syscall/syscall_bsd_test.go:23:2: ineffectual assignment to n
+/usr/local/go/src/syscall/syscall_unix_test.go:187:17: ineffectual assignment to err
+/usr/local/go/src/text/template/multi_test.go:249:9: ineffectual assignment to err
diff --git a/vendor/github.com/karalabe/xgo/LICENSE b/vendor/github.com/karalabe/xgo/LICENSE
new file mode 100644
index 0000000..670edf9
--- /dev/null
+++ b/vendor/github.com/karalabe/xgo/LICENSE
@@ -0,0 +1,21 @@
+The MIT License
+
+Copyright (c) 2014 Péter Szilágyi
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/vendor/github.com/karalabe/xgo/README.md b/vendor/github.com/karalabe/xgo/README.md
new file mode 100644
index 0000000..ed4269c
--- /dev/null
+++ b/vendor/github.com/karalabe/xgo/README.md
@@ -0,0 +1,272 @@
+# xgo - Go CGO cross compiler
+
+Although Go strives to be a cross platform language, cross compilation from one
+platform to another is not as simple as it could be, as you need the Go sources
+bootstrapped to each platform and architecture.
+
+The first step towards cross compiling was Dave Cheney's [golang-crosscompile](https://github.com/davecheney/golang-crosscompile)
+package, which automatically bootstrapped the necessary sources based on your
+existing Go installation. Although this was enough for a lot of cases, certain
+drawbacks became apparent where the official libraries used CGO internally: any
+dependency to third party platform code is unavailable, hence those parts don't
+cross compile nicely (native DNS resolution, system certificate access, etc).
+
+A step forward in enabling cross compilation was Alan Shreve's [gonative](https://github.com/inconshreveable/gonative)
+package, which instead of bootstrapping the different platforms based on the
+existing Go installation, downloaded the official pre-compiled binaries from the
+golang website and injected those into the local toolchain. Since the pre-built
+binaries already contained the necessary platform specific code, the few missing
+dependencies were resolved, and true cross compilation could commence... of pure
+Go code.
+
+However, there was still one feature missing: cross compiling Go code that used
+CGO itself, which isn't trivial since you need access to OS specific headers and
+libraries. This becomes very annoying when you need access only to some trivial
+OS specific functionality (e.g. query the CPU load), but need to configure and
+maintain separate build environments to do it.
+
+## Enter xgo
+
+My solution to the challenge of cross compiling Go code with embedded C/C++ snippets
+(i.e. CGO_ENABLED=1) is based on the concept of [lightweight Linux containers](http://en.wikipedia.org/wiki/LXC).
+All the necessary Go tool-chains, C cross compilers and platform headers/libraries
+have been assembled into a single Docker container, which can then be called as if
+a single command to compile a Go package to various platforms and architectures.
+
+## Installation
+
+Although you could build the container manually, it is available as an automatic
+trusted build from Docker's container registry (not insignificant in size):
+
+ docker pull karalabe/xgo-latest
+
+To prevent having to remember a potentially complex Docker command every time,
+a lightweight Go wrapper was written on top of it.
+
+ go get github.com/karalabe/xgo
+
+## Usage
+
+Simply specify the import path you want to build, and xgo will do the rest:
+
+ $ xgo github.com/project-iris/iris
+ ...
+
+ $ ls -al
+ -rwxr-xr-x 1 root root 9995000 Nov 24 16:44 iris-android-16-arm
+ -rwxr-xr-x 1 root root 6776500 Nov 24 16:44 iris-darwin-10.6-386
+ -rwxr-xr-x 1 root root 8755532 Nov 24 16:44 iris-darwin-10.6-amd64
+ -rwxr-xr-x 1 root root 7114176 Nov 24 16:45 iris-ios-5.0-arm
+ -rwxr-xr-x 1 root root 10135248 Nov 24 16:44 iris-linux-386
+ -rwxr-xr-x 1 root root 12598472 Nov 24 16:44 iris-linux-amd64
+ -rwxr-xr-x 1 root root 10040464 Nov 24 16:44 iris-linux-arm
+ -rwxr-xr-x 1 root root 7516368 Nov 24 16:44 iris-windows-4.0-386.exe
+ -rwxr-xr-x 1 root root 9549416 Nov 24 16:44 iris-windows-4.0-amd64.exe
+
+
+If the path is not a canonical import path, but rather a local path (starts with
+a dot `.` or a dash `/`), xgo will use the local GOPATH contents for the cross
+compilation.
+
+
+### Build flags
+
+A handful of flags can be passed to `go build`. The currently supported ones are
+
+ - `-v`: prints the names of packages as they are compiled
+ - `-x`: prints the build commands as compilation progresses
+ - `-race`: enables data race detection (supported only on amd64, rest built without)
+ - `-tags='tag list'`: list of build tags to consider satisfied during the build
+ - `-ldflags='flag list'`: arguments to pass on each go tool link invocation
+ - `-buildmode=mode`: binary type to produce by the compiler
+
+
+### Go releases
+
+As newer versions of the language runtime, libraries and tools get released,
+these will get incorporated into xgo too as extensions layers to the base cross
+compilation image (only Go 1.3 and above will be supported).
+
+You can select which Go release to work with through the `-go` command line flag
+to xgo and if the specific release was already integrated, it will automatically
+be retrieved and installed.
+
+ $ xgo -go 1.6.1 github.com/project-iris/iris
+
+Additionally, a few wildcard release strings are also supported:
+
+ - `latest` will use the latest Go release (this is the default)
+ - `1.6.x` will use the latest point release of a specific Go version
+ - `1.6-develop` will use the develop branch of a specific Go version
+ - `develop` will use the develop branch of the entire Go repository
+
+### Output prefixing
+
+xgo by default uses the name of the package being cross compiled as the output
+file prefix. This can be overridden with the `-out` flag.
+
+ $ xgo -out iris-v0.3.2 github.com/project-iris/iris
+ ...
+
+ $ ls -al
+ -rwxr-xr-x 1 root root 9995000 Nov 24 16:44 iris-v0.3.2-android-16-arm
+ -rwxr-xr-x 1 root root 6776500 Nov 24 16:44 iris-v0.3.2-darwin-10.6-386
+ -rwxr-xr-x 1 root root 8755532 Nov 24 16:44 iris-v0.3.2-darwin-10.6-amd64
+ -rwxr-xr-x 1 root root 7114176 Nov 24 16:45 iris-v0.3.2-ios-5.0-arm
+ -rwxr-xr-x 1 root root 10135248 Nov 24 16:44 iris-v0.3.2-linux-386
+ -rwxr-xr-x 1 root root 12598472 Nov 24 16:44 iris-v0.3.2-linux-amd64
+ -rwxr-xr-x 1 root root 10040464 Nov 24 16:44 iris-v0.3.2-linux-arm
+ -rwxr-xr-x 1 root root 7516368 Nov 24 16:44 iris-v0.3.2-windows-4.0-386.exe
+ -rwxr-xr-x 1 root root 9549416 Nov 24 16:44 iris-v0.3.2-windows-4.0-amd64.exe
+
+
+### Branch selection
+
+Similarly to `go get`, xgo also uses the `master` branch of a repository during
+source code retrieval. To switch to a different branch before compilation pass
+the desired branch name through the `--branch` argument.
+
+ $ xgo --branch release-branch.go1.4 golang.org/x/tools/cmd/goimports
+ ...
+
+ $ ls -al
+ -rwxr-xr-x 1 root root 4171248 Nov 24 16:40 goimports-android-16-arm
+ -rwxr-xr-x 1 root root 4139868 Nov 24 16:40 goimports-darwin-10.6-386
+ -rwxr-xr-x 1 root root 5186720 Nov 24 16:40 goimports-darwin-10.6-amd64
+ -rwxr-xr-x 1 root root 3202364 Nov 24 16:40 goimports-ios-5.0-arm
+ -rwxr-xr-x 1 root root 4189456 Nov 24 16:40 goimports-linux-386
+ -rwxr-xr-x 1 root root 5264136 Nov 24 16:40 goimports-linux-amd64
+ -rwxr-xr-x 1 root root 4209416 Nov 24 16:40 goimports-linux-arm
+ -rwxr-xr-x 1 root root 4348416 Nov 24 16:40 goimports-windows-4.0-386.exe
+ -rwxr-xr-x 1 root root 5415424 Nov 24 16:40 goimports-windows-4.0-amd64.exe
+
+
+### Remote selection
+
+Yet again similarly to `go get`, xgo uses the repository remote corresponding to
+the import path being built. To switch to a different remote while preserving the
+original import path, use the `--remote` argument.
+
+ $ xgo --remote github.com/golang/tools golang.org/x/tools/cmd/goimports
+ ...
+
+### Package selection
+
+If you used the above *branch* or *remote* selection machanisms, it may happen
+that the path you are trying to build is only present in the specific branch and
+not the default repository, causing Go to fail at locating it. To circumvent this,
+you may specify only the repository root for xgo, and use an additional `--pkg`
+parameter to select the exact package within, honoring any prior *branch* and
+*remote* selections.
+
+ $ xgo --pkg cmd/goimports golang.org/x/tools
+ ...
+
+ $ ls -al
+ -rwxr-xr-x 1 root root 4194956 Nov 24 16:38 goimports-android-16-arm
+ -rwxr-xr-x 1 root root 4164448 Nov 24 16:38 goimports-darwin-10.6-386
+ -rwxr-xr-x 1 root root 5223584 Nov 24 16:38 goimports-darwin-10.6-amd64
+ -rwxr-xr-x 1 root root 3222848 Nov 24 16:39 goimports-ios-5.0-arm
+ -rwxr-xr-x 1 root root 4217184 Nov 24 16:38 goimports-linux-386
+ -rwxr-xr-x 1 root root 5295768 Nov 24 16:38 goimports-linux-amd64
+ -rwxr-xr-x 1 root root 4233120 Nov 24 16:38 goimports-linux-arm
+ -rwxr-xr-x 1 root root 4373504 Nov 24 16:38 goimports-windows-4.0-386.exe
+ -rwxr-xr-x 1 root root 5450240 Nov 24 16:38 goimports-windows-4.0-amd64.exe
+
+This argument may at some point be integrated into the import path itself, but for
+now it exists as an independent build parameter. Also, there is not possibility
+for now to build mulitple commands in one go.
+
+### Limit build targets
+
+By default `xgo` will try and build the specified package to all platforms and
+architectures supported by the underlying Go runtime. If you wish to restrict
+the build to only a few target systems, use the comma separated `--targets` CLI
+argument:
+
+ * `--targets=linux/arm`: builds only the ARMv5 Linux binaries (`arm-6`/`arm-7` allowed)
+ * `--targets=windows/*,darwin/*`: builds all Windows and OSX binaries
+ * `--targets=*/arm`: builds ARM binaries for all platforms
+ * `--targets=*/*`: builds all suppoted targets (default)
+
+The supported targets are:
+
+ * Platforms: `android`, `darwin`, `ios`, `linux`, `windows`
+ * Achitectures: `386`, `amd64`, `arm-5`, `arm-6`, `arm-7`, `arm64`, `mips`, `mipsle`, `mips64`, `mips64le`
+
+### Platform versions
+
+By default `xgo` tries to cross compile to the lowest possible versions of every
+supported platform, in order to produce binaries that are portable among various
+versions of the same operating system. This however can lead to issues if a used
+dependency is only supported by more recent systems. As such, `xgo` supports the
+selection of specific platform versions by appending them to the OS target string.
+
+ * `--targets=ios-8.1/*`: cross compile to iOS 8.1
+ * `--targets=android-16/*`: cross compile to Android Jelly Bean
+ * `--targets=darwin-10.9/*`: cross compile to Mac OS X Mavericks
+ * `--targets=windows-6.0/*`: cross compile to Windows Vista
+
+The supported platforms are:
+
+ * All Android APIs up to Android Lollipop 5.0 ([API level ids](https://source.android.com/source/build-numbers.html))
+ * All Windows APIs up to Windows 8.1 limited by `mingw-w64` ([API level ids](https://en.wikipedia.org/wiki/Windows_NT#Releases))
+ * OSX APIs in the range of 10.6 - 10.11
+ * All iOS APIs up to iOS 9.3
+
+### Mobile libraries
+
+Apart from the usual runnable binaries, `xgo` also supports building library
+archives for Android (`android/aar`) and iOS (`ios/framework`). Opposed to
+`gomobile` however `xgo` does not derive library APIs from the Go code, so
+proper CGO C external methods must be defined within the package.
+
+In the case of Android archives, all architectures will be bundled that are
+supported by the requested Android platform version. For iOS frameworks `xgo`
+will bundle armv7 and arm64 by default, and also the x86_64 simulator builds
+if the iPhoneSimulator.sdk was injected by the user:
+
+* Create a new docker image based on xgo: `FROM karalabe/xgo-latest`
+* Inject the simulator SDK: `ADD iPhoneSimulator9.3.sdk.tar.xz /iPhoneSimulator9.3.sdk.tar.xz`
+* Bootstrap the simulator SDK: `$UPDATE_IOS /iPhoneSimulator9.3.sdk.tar.xz`
+
+### CGO dependencies
+
+The main differentiator of xgo versus other cross compilers is support for basic
+embedded C/C++ code and target-platform specific OS SDK availability. The current
+xgo release introduces an experimental CGO *dependency* cross compilation, enabling
+building Go programs that require external C/C++ libraries.
+
+It is assumed that the dependent C/C++ library is `configure/make` based, was
+properly prepared for cross compilation and is available as a tarball download
+(`.tar`, `.tar.gz` or `.tar.bz2`). Further plans include extending this to cmake
+based projects, if need arises (please open an issue if it's important to you).
+
+Such dependencies can be added via the `--deps` argument. They will be retrieved
+prior to starting the cross compilation and the packages cached to save bandwidth
+on subsequent calls.
+
+A complex sample for such a scenario is building the Ethereum CLI node, which has
+the GNU Multiple Precision Arithmetic Library as it's dependency.
+
+ $ xgo --deps=https://gmplib.org/download/gmp/gmp-6.1.0.tar.bz2 \
+ --targets=windows/* github.com/ethereum/go-ethereum/cmd/geth
+ ...
+
+ $ ls -al
+ -rwxr-xr-x 1 root root 16315679 Nov 24 16:39 geth-windows-4.0-386.exe
+ -rwxr-xr-x 1 root root 19452036 Nov 24 16:38 geth-windows-4.0-amd64.exe
+
+Some trivial arguments may be passed to the dependencies' configure script via
+`--depsargs`.
+
+ $ xgo --deps=https://gmplib.org/download/gmp/gmp-6.1.0.tar.bz2 \
+ --targets=ios/* --depsargs=--disable-assembly \
+ github.com/ethereum/go-ethereum/cmd/geth
+ ...
+
+ $ ls -al
+ -rwxr-xr-x 1 root root 14804160 Nov 24 16:32 geth-ios-5.0-arm
+
+Note, that since xgo needs to cross compile the dependencies for each platform
+and architecture separately, build time can increase significantly.
diff --git a/vendor/github.com/karalabe/xgo/testsuite.go b/vendor/github.com/karalabe/xgo/testsuite.go
new file mode 100644
index 0000000..b03b7fe
--- /dev/null
+++ b/vendor/github.com/karalabe/xgo/testsuite.go
@@ -0,0 +1,86 @@
+// Go CGO cross compiler
+// Copyright (c) 2016 Péter Szilágyi. All rights reserved.
+//
+// Released under the MIT license.
+
+// This is a manual test suite to run the cross compiler against various known
+// projects, codebases and repositories to ensure at least a baseline guarantee
+// that things work as they supposed to.
+//
+// Run as: go run testsuite.go
+
+// +build ignore
+
+package main
+
+import (
+ "log"
+ "os"
+ "os/exec"
+ "path/filepath"
+)
+
+// layers defines all the docker layers needed for the final xgo image. The last
+// one will be used to run the test suite against.
+var layers = []struct {
+ tag string
+ dir string
+}{
+ {"karalabe/xgo-base", "base"},
+ {"karalabe/xgo-1.6.2", "go-1.6.2"},
+ {"karalabe/xgo-1.6.x", "go-1.6.x"},
+ {"karalabe/xgo-latest", "go-latest"},
+ //{"karalabe/xgo-latest-ios", "go-latest-ios"}, // Non-public layer (XCode licensing)
+}
+
+// tests defaines all the input test cases and associated arguments the cross
+// compiler should be ran for and with which arguments.
+var tests = []struct {
+ path string
+ args []string
+}{
+ // Tiny test cases to smoke test cross compilations
+ {"github.com/karalabe/xgo/tests/embedded_c", nil},
+ {"github.com/karalabe/xgo/tests/embedded_cpp", nil},
+
+ // Baseline projects to ensure minimal requirements
+ //{"github.com/project-iris/iris", nil}, // Deps failed, disable
+ {"github.com/ethereum/go-ethereum/cmd/geth", []string{"--branch", "develop"}},
+
+ // Third party projects using xgo, smoke test that they don't break
+ {"github.com/rwcarlsen/cyan/cmd/cyan", nil},
+ {"github.com/cockroachdb/cockroach", []string{"--targets", "darwin-10.11/amd64"}},
+}
+
+func main() {
+ // Retrieve the current working directory to locate the dockerfiles
+ pwd, err := os.Getwd()
+ if err != nil {
+ log.Fatalf("Failed to retrieve local working directory: %v", err)
+ }
+ if _, err := os.Stat(filepath.Join(pwd, "docker", "base")); err != nil {
+ log.Fatalf("Failed to locate docker image: %v", err)
+ }
+ // Assemble the multi-layered xgo docker image
+ for _, layer := range layers {
+ cmd := exec.Command("docker", "build", "--tag", layer.tag, filepath.Join(pwd, "docker", layer.dir))
+
+ cmd.Stdout = os.Stdout
+ cmd.Stderr = os.Stderr
+
+ if err := cmd.Run(); err != nil {
+ log.Fatalf("Failed to build xgo layer: %v", err)
+ }
+ }
+ // Iterate over each of the test cases and run them
+ for i, test := range tests {
+ cmd := exec.Command("docker", append([]string{"run", "--entrypoint", "xgo", layers[len(layers)-1].tag, "-v"}, append(test.args, test.path)...)...)
+
+ cmd.Stdout = os.Stdout
+ cmd.Stderr = os.Stderr
+
+ if err := cmd.Run(); err != nil {
+ log.Fatalf("Test #%d: cross compilation failed: %v", i, err)
+ }
+ }
+}
diff --git a/vendor/github.com/karalabe/xgo/xgo.go b/vendor/github.com/karalabe/xgo/xgo.go
new file mode 100644
index 0000000..b2bae9c
--- /dev/null
+++ b/vendor/github.com/karalabe/xgo/xgo.go
@@ -0,0 +1,373 @@
+// Go CGO cross compiler
+// Copyright (c) 2014 Péter Szilágyi. All rights reserved.
+//
+// Released under the MIT license.
+
+// Wrapper around the GCO cross compiler docker container.
+package main
+
+import (
+ "bytes"
+ "flag"
+ "fmt"
+ "go/build"
+ "io"
+ "log"
+ "net/http"
+ "os"
+ "os/exec"
+ "os/user"
+ "path/filepath"
+ "strconv"
+ "strings"
+)
+
+// Path where to cache external dependencies
+var depsCache string
+
+func init() {
+ // Initialize the external dependency cache path to a few possible locations
+ if home := os.Getenv("HOME"); home != "" {
+ depsCache = filepath.Join(home, ".xgo-cache")
+ return
+ }
+ if user, err := user.Current(); user != nil && err == nil && user.HomeDir != "" {
+ depsCache = filepath.Join(user.HomeDir, ".xgo-cache")
+ return
+ }
+ depsCache = filepath.Join(os.TempDir(), "xgo-cache")
+}
+
+// Cross compilation docker containers
+var dockerBase = "karalabe/xgo-base"
+var dockerDist = "karalabe/xgo-"
+
+// Command line arguments to fine tune the compilation
+var (
+ goVersion = flag.String("go", "latest", "Go release to use for cross compilation")
+ srcPackage = flag.String("pkg", "", "Sub-package to build if not root import")
+ srcRemote = flag.String("remote", "", "Version control remote repository to build")
+ srcBranch = flag.String("branch", "", "Version control branch to build")
+ outPrefix = flag.String("out", "", "Prefix to use for output naming (empty = package name)")
+ outFolder = flag.String("dest", "", "Destination folder to put binaries in (empty = current)")
+ crossDeps = flag.String("deps", "", "CGO dependencies (configure/make based archives)")
+ crossArgs = flag.String("depsargs", "", "CGO dependency configure arguments")
+ targets = flag.String("targets", "*/*", "Comma separated targets to build for")
+ dockerImage = flag.String("image", "", "Use custom docker image instead of official distribution")
+)
+
+// ConfigFlags is a simple set of flags to define the environment and dependencies.
+type ConfigFlags struct {
+ Repository string // Root import path to build
+ Package string // Sub-package to build if not root import
+ Prefix string // Prefix to use for output naming
+ Remote string // Version control remote repository to build
+ Branch string // Version control branch to build
+ Dependencies string // CGO dependencies (configure/make based archives)
+ Arguments string // CGO dependency configure arguments
+ Targets []string // Targets to build for
+}
+
+// Command line arguments to pass to go build
+var (
+ buildVerbose = flag.Bool("v", false, "Print the names of packages as they are compiled")
+ buildSteps = flag.Bool("x", false, "Print the command as executing the builds")
+ buildRace = flag.Bool("race", false, "Enable data race detection (supported only on amd64)")
+ buildTags = flag.String("tags", "", "List of build tags to consider satisfied during the build")
+ buildLdFlags = flag.String("ldflags", "", "Arguments to pass on each go tool link invocation")
+ buildMode = flag.String("buildmode", "default", "Indicates which kind of object file to build")
+)
+
+// BuildFlags is a simple collection of flags to fine tune a build.
+type BuildFlags struct {
+ Verbose bool // Print the names of packages as they are compiled
+ Steps bool // Print the command as executing the builds
+ Race bool // Enable data race detection (supported only on amd64)
+ Tags string // List of build tags to consider satisfied during the build
+ LdFlags string // Arguments to pass on each go tool link invocation
+ Mode string // Indicates which kind of object file to build
+}
+
+func main() {
+ // Retrieve the CLI flags and the execution environment
+ flag.Parse()
+
+ xgoInXgo := os.Getenv("XGO_IN_XGO") == "1"
+ if xgoInXgo {
+ depsCache = "/deps-cache"
+ }
+ // Only use docker images if we're not already inside out own image
+ image := ""
+
+ if !xgoInXgo {
+ // Ensure docker is available
+ if err := checkDocker(); err != nil {
+ log.Fatalf("Failed to check docker installation: %v.", err)
+ }
+ // Validate the command line arguments
+ if len(flag.Args()) != 1 {
+ log.Fatalf("Usage: %s [options] ", os.Args[0])
+ }
+ // Select the image to use, either official or custom
+ image = dockerDist + *goVersion
+ if *dockerImage != "" {
+ image = *dockerImage
+ }
+ // Check that all required images are available
+ found, err := checkDockerImage(image)
+ switch {
+ case err != nil:
+ log.Fatalf("Failed to check docker image availability: %v.", err)
+ case !found:
+ fmt.Println("not found!")
+ if err := pullDockerImage(image); err != nil {
+ log.Fatalf("Failed to pull docker image from the registry: %v.", err)
+ }
+ default:
+ fmt.Println("found.")
+ }
+ }
+ // Cache all external dependencies to prevent always hitting the internet
+ if *crossDeps != "" {
+ if err := os.MkdirAll(depsCache, 0751); err != nil {
+ log.Fatalf("Failed to create dependency cache: %v.", err)
+ }
+ // Download all missing dependencies
+ for _, dep := range strings.Split(*crossDeps, " ") {
+ if url := strings.TrimSpace(dep); len(url) > 0 {
+ path := filepath.Join(depsCache, filepath.Base(url))
+
+ if _, err := os.Stat(path); err != nil {
+ fmt.Printf("Downloading new dependency: %s...\n", url)
+
+ out, err := os.Create(path)
+ if err != nil {
+ log.Fatalf("Failed to create dependency file: %v.", err)
+ }
+ res, err := http.Get(url)
+ if err != nil {
+ log.Fatalf("Failed to retrieve dependency: %v.", err)
+ }
+ defer res.Body.Close()
+
+ if _, err := io.Copy(out, res.Body); err != nil {
+ log.Fatalf("Failed to download dependency: %v", err)
+ }
+ out.Close()
+
+ fmt.Printf("New dependency cached: %s.\n", path)
+ } else {
+ fmt.Printf("Dependency already cached: %s.\n", path)
+ }
+ }
+ }
+ }
+ // Assemble the cross compilation environment and build options
+ config := &ConfigFlags{
+ Repository: flag.Args()[0],
+ Package: *srcPackage,
+ Remote: *srcRemote,
+ Branch: *srcBranch,
+ Prefix: *outPrefix,
+ Dependencies: *crossDeps,
+ Arguments: *crossArgs,
+ Targets: strings.Split(*targets, ","),
+ }
+ flags := &BuildFlags{
+ Verbose: *buildVerbose,
+ Steps: *buildSteps,
+ Race: *buildRace,
+ Tags: *buildTags,
+ LdFlags: *buildLdFlags,
+ Mode: *buildMode,
+ }
+ folder, err := os.Getwd()
+ if err != nil {
+ log.Fatalf("Failed to retrieve the working directory: %v.", err)
+ }
+ if *outFolder != "" {
+ folder, err = filepath.Abs(*outFolder)
+ if err != nil {
+ log.Fatalf("Failed to resolve destination path (%s): %v.", *outFolder, err)
+ }
+ }
+ // Execute the cross compilation, either in a container or the current system
+ if !xgoInXgo {
+ err = compile(image, config, flags, folder)
+ } else {
+ err = compileContained(config, flags, folder)
+ }
+ if err != nil {
+ log.Fatalf("Failed to cross compile package: %v.", err)
+ }
+}
+
+// Checks whether a docker installation can be found and is functional.
+func checkDocker() error {
+ fmt.Println("Checking docker installation...")
+ if err := run(exec.Command("docker", "version")); err != nil {
+ return err
+ }
+ fmt.Println()
+ return nil
+}
+
+// Checks whether a required docker image is available locally.
+func checkDockerImage(image string) (bool, error) {
+ fmt.Printf("Checking for required docker image %s... ", image)
+ out, err := exec.Command("docker", "images", "--no-trunc").Output()
+ if err != nil {
+ return false, err
+ }
+ return bytes.Contains(out, []byte(image)), nil
+}
+
+// Pulls an image from the docker registry.
+func pullDockerImage(image string) error {
+ fmt.Printf("Pulling %s from docker registry...\n", image)
+ return run(exec.Command("docker", "pull", image))
+}
+
+// compile cross builds a requested package according to the given build specs
+// using a specific docker cross compilation image.
+func compile(image string, config *ConfigFlags, flags *BuildFlags, folder string) error {
+ // If a local build was requested, find the import path and mount all GOPATH sources
+ locals, mounts, paths := []string{}, []string{}, []string{}
+ if strings.HasPrefix(config.Repository, string(filepath.Separator)) || strings.HasPrefix(config.Repository, ".") {
+ // Resolve the repository import path from the file path
+ config.Repository = resolveImportPath(config.Repository)
+
+ // Iterate over all the local libs and export the mount points
+ if os.Getenv("GOPATH") == "" {
+ log.Fatalf("No $GOPATH is set or forwarded to xgo")
+ }
+ for _, gopath := range strings.Split(os.Getenv("GOPATH"), string(os.PathListSeparator)) {
+ // Since docker sandboxes volumes, resolve any symlinks manually
+ sources := filepath.Join(gopath, "src")
+ filepath.Walk(sources, func(path string, info os.FileInfo, err error) error {
+ // Skip any folders that errored out
+ if err != nil {
+ log.Printf("Failed to access GOPATH element %s: %v", path, err)
+ return nil
+ }
+ // Skip anything that's not a symlink
+ if info.Mode()&os.ModeSymlink == 0 {
+ return nil
+ }
+ // Resolve the symlink and skip if it's not a folder
+ target, err := filepath.EvalSymlinks(path)
+ if err != nil {
+ return nil
+ }
+ if info, err = os.Stat(target); err != nil || !info.IsDir() {
+ return nil
+ }
+ // Skip if the symlink points within GOPATH
+ if filepath.HasPrefix(target, sources) {
+ return nil
+ }
+ // Folder needs explicit mounting due to docker symlink security
+ locals = append(locals, target)
+ mounts = append(mounts, filepath.Join("/ext-go", strconv.Itoa(len(locals)), "src", strings.TrimPrefix(path, sources)))
+ paths = append(paths, filepath.Join("/ext-go", strconv.Itoa(len(locals))))
+ return nil
+ })
+ // Export the main mount point for this GOPATH entry
+ locals = append(locals, sources)
+ mounts = append(mounts, filepath.Join("/ext-go", strconv.Itoa(len(locals)), "src"))
+ paths = append(paths, filepath.Join("/ext-go", strconv.Itoa(len(locals))))
+ }
+ }
+ // Assemble and run the cross compilation command
+ fmt.Printf("Cross compiling %s...\n", config.Repository)
+
+ args := []string{
+ "run", "--rm",
+ "-v", folder + ":/build",
+ "-v", depsCache + ":/deps-cache:ro",
+ "-e", "REPO_REMOTE=" + config.Remote,
+ "-e", "REPO_BRANCH=" + config.Branch,
+ "-e", "PACK=" + config.Package,
+ "-e", "DEPS=" + config.Dependencies,
+ "-e", "ARGS=" + config.Arguments,
+ "-e", "OUT=" + config.Prefix,
+ "-e", fmt.Sprintf("FLAG_V=%v", flags.Verbose),
+ "-e", fmt.Sprintf("FLAG_X=%v", flags.Steps),
+ "-e", fmt.Sprintf("FLAG_RACE=%v", flags.Race),
+ "-e", fmt.Sprintf("FLAG_TAGS=%s", flags.Tags),
+ "-e", fmt.Sprintf("FLAG_LDFLAGS=%s", flags.LdFlags),
+ "-e", fmt.Sprintf("FLAG_BUILDMODE=%s", flags.Mode),
+ "-e", "TARGETS=" + strings.Replace(strings.Join(config.Targets, " "), "*", ".", -1),
+ }
+ for i := 0; i < len(locals); i++ {
+ args = append(args, []string{"-v", fmt.Sprintf("%s:%s:ro", locals[i], mounts[i])}...)
+ }
+ args = append(args, []string{"-e", "EXT_GOPATH=" + strings.Join(paths, ":")}...)
+
+ args = append(args, []string{image, config.Repository}...)
+ return run(exec.Command("docker", args...))
+}
+
+// compileContained cross builds a requested package according to the given build
+// specs using the current system opposed to running in a container. This is meant
+// to be used for cross compilation already from within an xgo image, allowing the
+// inheritance and bundling of the root xgo images.
+func compileContained(config *ConfigFlags, flags *BuildFlags, folder string) error {
+ // If a local build was requested, resolve the import path
+ local := strings.HasPrefix(config.Repository, string(filepath.Separator)) || strings.HasPrefix(config.Repository, ".")
+ if local {
+ config.Repository = resolveImportPath(config.Repository)
+ }
+ // Fine tune the original environment variables with those required by the build script
+ env := []string{
+ "REPO_REMOTE=" + config.Remote,
+ "REPO_BRANCH=" + config.Branch,
+ "PACK=" + config.Package,
+ "DEPS=" + config.Dependencies,
+ "ARGS=" + config.Arguments,
+ "OUT=" + config.Prefix,
+ fmt.Sprintf("FLAG_V=%v", flags.Verbose),
+ fmt.Sprintf("FLAG_X=%v", flags.Steps),
+ fmt.Sprintf("FLAG_RACE=%v", flags.Race),
+ fmt.Sprintf("FLAG_TAGS=%s", flags.Tags),
+ fmt.Sprintf("FLAG_LDFLAGS=%s", flags.LdFlags),
+ fmt.Sprintf("FLAG_BUILDMODE=%s", flags.Mode),
+ "TARGETS=" + strings.Replace(strings.Join(config.Targets, " "), "*", ".", -1),
+ }
+ if local {
+ env = append(env, "EXT_GOPATH=/non-existent-path-to-signal-local-build")
+ }
+ // Assemble and run the local cross compilation command
+ fmt.Printf("Cross compiling %s...\n", config.Repository)
+
+ cmd := exec.Command("/build.sh", config.Repository)
+ cmd.Env = append(os.Environ(), env...)
+
+ return run(cmd)
+}
+
+// resolveImportPath converts a package given by a relative path to a Go import
+// path using the local GOPATH environment.
+func resolveImportPath(path string) string {
+ abs, err := filepath.Abs(path)
+ if err != nil {
+ log.Fatalf("Failed to locate requested package: %v.", err)
+ }
+ stat, err := os.Stat(abs)
+ if err != nil || !stat.IsDir() {
+ log.Fatalf("Requested path invalid.")
+ }
+ pack, err := build.ImportDir(abs, build.FindOnly)
+ if err != nil {
+ log.Fatalf("Failed to resolve import path: %v.", err)
+ }
+ return pack.ImportPath
+}
+
+// Executes a command synchronously, redirecting its output to stdout.
+func run(cmd *exec.Cmd) error {
+ cmd.Stdout = os.Stdout
+ cmd.Stderr = os.Stderr
+
+ return cmd.Run()
+}
diff --git a/vendor/golang.org/x/lint/.travis.yml b/vendor/golang.org/x/lint/.travis.yml
new file mode 100644
index 0000000..50553eb
--- /dev/null
+++ b/vendor/golang.org/x/lint/.travis.yml
@@ -0,0 +1,19 @@
+sudo: false
+language: go
+go:
+ - 1.10.x
+ - 1.11.x
+ - master
+
+go_import_path: golang.org/x/lint
+
+install:
+ - go get -t -v ./...
+
+script:
+ - go test -v -race ./...
+
+matrix:
+ allow_failures:
+ - go: master
+ fast_finish: true
diff --git a/vendor/golang.org/x/lint/CONTRIBUTING.md b/vendor/golang.org/x/lint/CONTRIBUTING.md
new file mode 100644
index 0000000..1fadda6
--- /dev/null
+++ b/vendor/golang.org/x/lint/CONTRIBUTING.md
@@ -0,0 +1,15 @@
+# Contributing to Golint
+
+## Before filing an issue:
+
+### Are you having trouble building golint?
+
+Check you have the latest version of its dependencies. Run
+```
+go get -u golang.org/x/lint/golint
+```
+If you still have problems, consider searching for existing issues before filing a new issue.
+
+## Before sending a pull request:
+
+Have you understood the purpose of golint? Make sure to carefully read `README`.
diff --git a/vendor/golang.org/x/lint/LICENSE b/vendor/golang.org/x/lint/LICENSE
new file mode 100644
index 0000000..65d761b
--- /dev/null
+++ b/vendor/golang.org/x/lint/LICENSE
@@ -0,0 +1,27 @@
+Copyright (c) 2013 The Go Authors. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+ * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/vendor/golang.org/x/lint/README.md b/vendor/golang.org/x/lint/README.md
new file mode 100644
index 0000000..b12ba63
--- /dev/null
+++ b/vendor/golang.org/x/lint/README.md
@@ -0,0 +1,86 @@
+Golint is a linter for Go source code.
+
+[![Build Status](https://travis-ci.org/golang/lint.svg?branch=master)](https://travis-ci.org/golang/lint)
+
+## Installation
+
+Golint requires a
+[supported release of Go](https://golang.org/doc/devel/release.html#policy).
+
+ go get -u golang.org/x/lint/golint
+
+## Usage
+
+Invoke `golint` with one or more filenames, directories, or packages named
+by its import path. Golint uses the same
+[import path syntax](https://golang.org/cmd/go/#hdr-Import_path_syntax) as
+the `go` command and therefore
+also supports relative import paths like `./...`. Additionally the `...`
+wildcard can be used as suffix on relative and absolute file paths to recurse
+into them.
+
+The output of this tool is a list of suggestions in Vim quickfix format,
+which is accepted by lots of different editors.
+
+## Purpose
+
+Golint differs from gofmt. Gofmt reformats Go source code, whereas
+golint prints out style mistakes.
+
+Golint differs from govet. Govet is concerned with correctness, whereas
+golint is concerned with coding style. Golint is in use at Google, and it
+seeks to match the accepted style of the open source Go project.
+
+The suggestions made by golint are exactly that: suggestions.
+Golint is not perfect, and has both false positives and false negatives.
+Do not treat its output as a gold standard. We will not be adding pragmas
+or other knobs to suppress specific warnings, so do not expect or require
+code to be completely "lint-free".
+In short, this tool is not, and will never be, trustworthy enough for its
+suggestions to be enforced automatically, for example as part of a build process.
+Golint makes suggestions for many of the mechanically checkable items listed in
+[Effective Go](https://golang.org/doc/effective_go.html) and the
+[CodeReviewComments wiki page](https://golang.org/wiki/CodeReviewComments).
+
+## Scope
+
+Golint is meant to carry out the stylistic conventions put forth in
+[Effective Go](https://golang.org/doc/effective_go.html) and
+[CodeReviewComments](https://golang.org/wiki/CodeReviewComments).
+Changes that are not aligned with those documents will not be considered.
+
+## Contributions
+
+Contributions to this project are welcome provided they are [in scope](#scope),
+though please send mail before starting work on anything major.
+Contributors retain their copyright, so we need you to fill out
+[a short form](https://developers.google.com/open-source/cla/individual)
+before we can accept your contribution.
+
+## Vim
+
+Add this to your ~/.vimrc:
+
+ set rtp+=$GOPATH/src/golang.org/x/lint/misc/vim
+
+If you have multiple entries in your GOPATH, replace `$GOPATH` with the right value.
+
+Running `:Lint` will run golint on the current file and populate the quickfix list.
+
+Optionally, add this to your `~/.vimrc` to automatically run `golint` on `:w`
+
+ autocmd BufWritePost,FileWritePost *.go execute 'Lint' | cwindow
+
+
+## Emacs
+
+Add this to your `.emacs` file:
+
+ (add-to-list 'load-path (concat (getenv "GOPATH") "/src/github.com/golang/lint/misc/emacs"))
+ (require 'golint)
+
+If you have multiple entries in your GOPATH, replace `$GOPATH` with the right value.
+
+Running M-x golint will run golint on the current file.
+
+For more usage, see [Compilation-Mode](http://www.gnu.org/software/emacs/manual/html_node/emacs/Compilation-Mode.html).
diff --git a/vendor/golang.org/x/lint/golint/golint.go b/vendor/golang.org/x/lint/golint/golint.go
new file mode 100644
index 0000000..ac024b6
--- /dev/null
+++ b/vendor/golang.org/x/lint/golint/golint.go
@@ -0,0 +1,159 @@
+// Copyright (c) 2013 The Go Authors. All rights reserved.
+//
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file or at
+// https://developers.google.com/open-source/licenses/bsd.
+
+// golint lints the Go source files named on its command line.
+package main
+
+import (
+ "flag"
+ "fmt"
+ "go/build"
+ "io/ioutil"
+ "os"
+ "path/filepath"
+ "strings"
+
+ "golang.org/x/lint"
+)
+
+var (
+ minConfidence = flag.Float64("min_confidence", 0.8, "minimum confidence of a problem to print it")
+ setExitStatus = flag.Bool("set_exit_status", false, "set exit status to 1 if any issues are found")
+ suggestions int
+)
+
+func usage() {
+ fmt.Fprintf(os.Stderr, "Usage of %s:\n", os.Args[0])
+ fmt.Fprintf(os.Stderr, "\tgolint [flags] # runs on package in current directory\n")
+ fmt.Fprintf(os.Stderr, "\tgolint [flags] [packages]\n")
+ fmt.Fprintf(os.Stderr, "\tgolint [flags] [directories] # where a '/...' suffix includes all sub-directories\n")
+ fmt.Fprintf(os.Stderr, "\tgolint [flags] [files] # all must belong to a single package\n")
+ fmt.Fprintf(os.Stderr, "Flags:\n")
+ flag.PrintDefaults()
+}
+
+func main() {
+ flag.Usage = usage
+ flag.Parse()
+
+ if flag.NArg() == 0 {
+ lintDir(".")
+ } else {
+ // dirsRun, filesRun, and pkgsRun indicate whether golint is applied to
+ // directory, file or package targets. The distinction affects which
+ // checks are run. It is no valid to mix target types.
+ var dirsRun, filesRun, pkgsRun int
+ var args []string
+ for _, arg := range flag.Args() {
+ if strings.HasSuffix(arg, "/...") && isDir(arg[:len(arg)-len("/...")]) {
+ dirsRun = 1
+ for _, dirname := range allPackagesInFS(arg) {
+ args = append(args, dirname)
+ }
+ } else if isDir(arg) {
+ dirsRun = 1
+ args = append(args, arg)
+ } else if exists(arg) {
+ filesRun = 1
+ args = append(args, arg)
+ } else {
+ pkgsRun = 1
+ args = append(args, arg)
+ }
+ }
+
+ if dirsRun+filesRun+pkgsRun != 1 {
+ usage()
+ os.Exit(2)
+ }
+ switch {
+ case dirsRun == 1:
+ for _, dir := range args {
+ lintDir(dir)
+ }
+ case filesRun == 1:
+ lintFiles(args...)
+ case pkgsRun == 1:
+ for _, pkg := range importPaths(args) {
+ lintPackage(pkg)
+ }
+ }
+ }
+
+ if *setExitStatus && suggestions > 0 {
+ fmt.Fprintf(os.Stderr, "Found %d lint suggestions; failing.\n", suggestions)
+ os.Exit(1)
+ }
+}
+
+func isDir(filename string) bool {
+ fi, err := os.Stat(filename)
+ return err == nil && fi.IsDir()
+}
+
+func exists(filename string) bool {
+ _, err := os.Stat(filename)
+ return err == nil
+}
+
+func lintFiles(filenames ...string) {
+ files := make(map[string][]byte)
+ for _, filename := range filenames {
+ src, err := ioutil.ReadFile(filename)
+ if err != nil {
+ fmt.Fprintln(os.Stderr, err)
+ continue
+ }
+ files[filename] = src
+ }
+
+ l := new(lint.Linter)
+ ps, err := l.LintFiles(files)
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "%v\n", err)
+ return
+ }
+ for _, p := range ps {
+ if p.Confidence >= *minConfidence {
+ fmt.Printf("%v: %s\n", p.Position, p.Text)
+ suggestions++
+ }
+ }
+}
+
+func lintDir(dirname string) {
+ pkg, err := build.ImportDir(dirname, 0)
+ lintImportedPackage(pkg, err)
+}
+
+func lintPackage(pkgname string) {
+ pkg, err := build.Import(pkgname, ".", 0)
+ lintImportedPackage(pkg, err)
+}
+
+func lintImportedPackage(pkg *build.Package, err error) {
+ if err != nil {
+ if _, nogo := err.(*build.NoGoError); nogo {
+ // Don't complain if the failure is due to no Go source files.
+ return
+ }
+ fmt.Fprintln(os.Stderr, err)
+ return
+ }
+
+ var files []string
+ files = append(files, pkg.GoFiles...)
+ files = append(files, pkg.CgoFiles...)
+ files = append(files, pkg.TestGoFiles...)
+ if pkg.Dir != "." {
+ for i, f := range files {
+ files[i] = filepath.Join(pkg.Dir, f)
+ }
+ }
+ // TODO(dsymonds): Do foo_test too (pkg.XTestGoFiles)
+
+ lintFiles(files...)
+}
diff --git a/vendor/golang.org/x/lint/golint/import.go b/vendor/golang.org/x/lint/golint/import.go
new file mode 100644
index 0000000..2ba9dea
--- /dev/null
+++ b/vendor/golang.org/x/lint/golint/import.go
@@ -0,0 +1,309 @@
+package main
+
+/*
+
+This file holds a direct copy of the import path matching code of
+https://github.com/golang/go/blob/master/src/cmd/go/main.go. It can be
+replaced when https://golang.org/issue/8768 is resolved.
+
+It has been updated to follow upstream changes in a few ways.
+
+*/
+
+import (
+ "fmt"
+ "go/build"
+ "log"
+ "os"
+ "path"
+ "path/filepath"
+ "regexp"
+ "runtime"
+ "strings"
+)
+
+var (
+ buildContext = build.Default
+ goroot = filepath.Clean(runtime.GOROOT())
+ gorootSrc = filepath.Join(goroot, "src")
+)
+
+// importPathsNoDotExpansion returns the import paths to use for the given
+// command line, but it does no ... expansion.
+func importPathsNoDotExpansion(args []string) []string {
+ if len(args) == 0 {
+ return []string{"."}
+ }
+ var out []string
+ for _, a := range args {
+ // Arguments are supposed to be import paths, but
+ // as a courtesy to Windows developers, rewrite \ to /
+ // in command-line arguments. Handles .\... and so on.
+ if filepath.Separator == '\\' {
+ a = strings.Replace(a, `\`, `/`, -1)
+ }
+
+ // Put argument in canonical form, but preserve leading ./.
+ if strings.HasPrefix(a, "./") {
+ a = "./" + path.Clean(a)
+ if a == "./." {
+ a = "."
+ }
+ } else {
+ a = path.Clean(a)
+ }
+ if a == "all" || a == "std" {
+ out = append(out, allPackages(a)...)
+ continue
+ }
+ out = append(out, a)
+ }
+ return out
+}
+
+// importPaths returns the import paths to use for the given command line.
+func importPaths(args []string) []string {
+ args = importPathsNoDotExpansion(args)
+ var out []string
+ for _, a := range args {
+ if strings.Contains(a, "...") {
+ if build.IsLocalImport(a) {
+ out = append(out, allPackagesInFS(a)...)
+ } else {
+ out = append(out, allPackages(a)...)
+ }
+ continue
+ }
+ out = append(out, a)
+ }
+ return out
+}
+
+// matchPattern(pattern)(name) reports whether
+// name matches pattern. Pattern is a limited glob
+// pattern in which '...' means 'any string' and there
+// is no other special syntax.
+func matchPattern(pattern string) func(name string) bool {
+ re := regexp.QuoteMeta(pattern)
+ re = strings.Replace(re, `\.\.\.`, `.*`, -1)
+ // Special case: foo/... matches foo too.
+ if strings.HasSuffix(re, `/.*`) {
+ re = re[:len(re)-len(`/.*`)] + `(/.*)?`
+ }
+ reg := regexp.MustCompile(`^` + re + `$`)
+ return func(name string) bool {
+ return reg.MatchString(name)
+ }
+}
+
+// hasPathPrefix reports whether the path s begins with the
+// elements in prefix.
+func hasPathPrefix(s, prefix string) bool {
+ switch {
+ default:
+ return false
+ case len(s) == len(prefix):
+ return s == prefix
+ case len(s) > len(prefix):
+ if prefix != "" && prefix[len(prefix)-1] == '/' {
+ return strings.HasPrefix(s, prefix)
+ }
+ return s[len(prefix)] == '/' && s[:len(prefix)] == prefix
+ }
+}
+
+// treeCanMatchPattern(pattern)(name) reports whether
+// name or children of name can possibly match pattern.
+// Pattern is the same limited glob accepted by matchPattern.
+func treeCanMatchPattern(pattern string) func(name string) bool {
+ wildCard := false
+ if i := strings.Index(pattern, "..."); i >= 0 {
+ wildCard = true
+ pattern = pattern[:i]
+ }
+ return func(name string) bool {
+ return len(name) <= len(pattern) && hasPathPrefix(pattern, name) ||
+ wildCard && strings.HasPrefix(name, pattern)
+ }
+}
+
+// allPackages returns all the packages that can be found
+// under the $GOPATH directories and $GOROOT matching pattern.
+// The pattern is either "all" (all packages), "std" (standard packages)
+// or a path including "...".
+func allPackages(pattern string) []string {
+ pkgs := matchPackages(pattern)
+ if len(pkgs) == 0 {
+ fmt.Fprintf(os.Stderr, "warning: %q matched no packages\n", pattern)
+ }
+ return pkgs
+}
+
+func matchPackages(pattern string) []string {
+ match := func(string) bool { return true }
+ treeCanMatch := func(string) bool { return true }
+ if pattern != "all" && pattern != "std" {
+ match = matchPattern(pattern)
+ treeCanMatch = treeCanMatchPattern(pattern)
+ }
+
+ have := map[string]bool{
+ "builtin": true, // ignore pseudo-package that exists only for documentation
+ }
+ if !buildContext.CgoEnabled {
+ have["runtime/cgo"] = true // ignore during walk
+ }
+ var pkgs []string
+
+ // Commands
+ cmd := filepath.Join(goroot, "src/cmd") + string(filepath.Separator)
+ filepath.Walk(cmd, func(path string, fi os.FileInfo, err error) error {
+ if err != nil || !fi.IsDir() || path == cmd {
+ return nil
+ }
+ name := path[len(cmd):]
+ if !treeCanMatch(name) {
+ return filepath.SkipDir
+ }
+ // Commands are all in cmd/, not in subdirectories.
+ if strings.Contains(name, string(filepath.Separator)) {
+ return filepath.SkipDir
+ }
+
+ // We use, e.g., cmd/gofmt as the pseudo import path for gofmt.
+ name = "cmd/" + name
+ if have[name] {
+ return nil
+ }
+ have[name] = true
+ if !match(name) {
+ return nil
+ }
+ _, err = buildContext.ImportDir(path, 0)
+ if err != nil {
+ if _, noGo := err.(*build.NoGoError); !noGo {
+ log.Print(err)
+ }
+ return nil
+ }
+ pkgs = append(pkgs, name)
+ return nil
+ })
+
+ for _, src := range buildContext.SrcDirs() {
+ if (pattern == "std" || pattern == "cmd") && src != gorootSrc {
+ continue
+ }
+ src = filepath.Clean(src) + string(filepath.Separator)
+ root := src
+ if pattern == "cmd" {
+ root += "cmd" + string(filepath.Separator)
+ }
+ filepath.Walk(root, func(path string, fi os.FileInfo, err error) error {
+ if err != nil || !fi.IsDir() || path == src {
+ return nil
+ }
+
+ // Avoid .foo, _foo, and testdata directory trees.
+ _, elem := filepath.Split(path)
+ if strings.HasPrefix(elem, ".") || strings.HasPrefix(elem, "_") || elem == "testdata" {
+ return filepath.SkipDir
+ }
+
+ name := filepath.ToSlash(path[len(src):])
+ if pattern == "std" && (strings.Contains(name, ".") || name == "cmd") {
+ // The name "std" is only the standard library.
+ // If the name is cmd, it's the root of the command tree.
+ return filepath.SkipDir
+ }
+ if !treeCanMatch(name) {
+ return filepath.SkipDir
+ }
+ if have[name] {
+ return nil
+ }
+ have[name] = true
+ if !match(name) {
+ return nil
+ }
+ _, err = buildContext.ImportDir(path, 0)
+ if err != nil {
+ if _, noGo := err.(*build.NoGoError); noGo {
+ return nil
+ }
+ }
+ pkgs = append(pkgs, name)
+ return nil
+ })
+ }
+ return pkgs
+}
+
+// allPackagesInFS is like allPackages but is passed a pattern
+// beginning ./ or ../, meaning it should scan the tree rooted
+// at the given directory. There are ... in the pattern too.
+func allPackagesInFS(pattern string) []string {
+ pkgs := matchPackagesInFS(pattern)
+ if len(pkgs) == 0 {
+ fmt.Fprintf(os.Stderr, "warning: %q matched no packages\n", pattern)
+ }
+ return pkgs
+}
+
+func matchPackagesInFS(pattern string) []string {
+ // Find directory to begin the scan.
+ // Could be smarter but this one optimization
+ // is enough for now, since ... is usually at the
+ // end of a path.
+ i := strings.Index(pattern, "...")
+ dir, _ := path.Split(pattern[:i])
+
+ // pattern begins with ./ or ../.
+ // path.Clean will discard the ./ but not the ../.
+ // We need to preserve the ./ for pattern matching
+ // and in the returned import paths.
+ prefix := ""
+ if strings.HasPrefix(pattern, "./") {
+ prefix = "./"
+ }
+ match := matchPattern(pattern)
+
+ var pkgs []string
+ filepath.Walk(dir, func(path string, fi os.FileInfo, err error) error {
+ if err != nil || !fi.IsDir() {
+ return nil
+ }
+ if path == dir {
+ // filepath.Walk starts at dir and recurses. For the recursive case,
+ // the path is the result of filepath.Join, which calls filepath.Clean.
+ // The initial case is not Cleaned, though, so we do this explicitly.
+ //
+ // This converts a path like "./io/" to "io". Without this step, running
+ // "cd $GOROOT/src/pkg; go list ./io/..." would incorrectly skip the io
+ // package, because prepending the prefix "./" to the unclean path would
+ // result in "././io", and match("././io") returns false.
+ path = filepath.Clean(path)
+ }
+
+ // Avoid .foo, _foo, and testdata directory trees, but do not avoid "." or "..".
+ _, elem := filepath.Split(path)
+ dot := strings.HasPrefix(elem, ".") && elem != "." && elem != ".."
+ if dot || strings.HasPrefix(elem, "_") || elem == "testdata" {
+ return filepath.SkipDir
+ }
+
+ name := prefix + filepath.ToSlash(path)
+ if !match(name) {
+ return nil
+ }
+ if _, err = build.ImportDir(path, 0); err != nil {
+ if _, noGo := err.(*build.NoGoError); !noGo {
+ log.Print(err)
+ }
+ return nil
+ }
+ pkgs = append(pkgs, name)
+ return nil
+ })
+ return pkgs
+}
diff --git a/vendor/golang.org/x/lint/golint/importcomment.go b/vendor/golang.org/x/lint/golint/importcomment.go
new file mode 100644
index 0000000..d5b32f7
--- /dev/null
+++ b/vendor/golang.org/x/lint/golint/importcomment.go
@@ -0,0 +1,13 @@
+// Copyright (c) 2018 The Go Authors. All rights reserved.
+//
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file or at
+// https://developers.google.com/open-source/licenses/bsd.
+
+// +build go1.12
+
+// Require use of the correct import path only for Go 1.12+ users, so
+// any breakages coincide with people updating their CI configs or
+// whatnot.
+
+package main // import "golang.org/x/lint/golint"
diff --git a/vendor/golang.org/x/lint/lint.go b/vendor/golang.org/x/lint/lint.go
new file mode 100644
index 0000000..915fbcb
--- /dev/null
+++ b/vendor/golang.org/x/lint/lint.go
@@ -0,0 +1,1671 @@
+// Copyright (c) 2013 The Go Authors. All rights reserved.
+//
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file or at
+// https://developers.google.com/open-source/licenses/bsd.
+
+// Package lint contains a linter for Go source code.
+package lint // import "golang.org/x/lint"
+
+import (
+ "bufio"
+ "bytes"
+ "fmt"
+ "go/ast"
+ "go/parser"
+ "go/printer"
+ "go/token"
+ "go/types"
+ "regexp"
+ "sort"
+ "strconv"
+ "strings"
+ "unicode"
+ "unicode/utf8"
+
+ "golang.org/x/tools/go/ast/astutil"
+ "golang.org/x/tools/go/gcexportdata"
+)
+
+const styleGuideBase = "https://golang.org/wiki/CodeReviewComments"
+
+// A Linter lints Go source code.
+type Linter struct {
+}
+
+// Problem represents a problem in some source code.
+type Problem struct {
+ Position token.Position // position in source file
+ Text string // the prose that describes the problem
+ Link string // (optional) the link to the style guide for the problem
+ Confidence float64 // a value in (0,1] estimating the confidence in this problem's correctness
+ LineText string // the source line
+ Category string // a short name for the general category of the problem
+
+ // If the problem has a suggested fix (the minority case),
+ // ReplacementLine is a full replacement for the relevant line of the source file.
+ ReplacementLine string
+}
+
+func (p *Problem) String() string {
+ if p.Link != "" {
+ return p.Text + "\n\n" + p.Link
+ }
+ return p.Text
+}
+
+type byPosition []Problem
+
+func (p byPosition) Len() int { return len(p) }
+func (p byPosition) Swap(i, j int) { p[i], p[j] = p[j], p[i] }
+
+func (p byPosition) Less(i, j int) bool {
+ pi, pj := p[i].Position, p[j].Position
+
+ if pi.Filename != pj.Filename {
+ return pi.Filename < pj.Filename
+ }
+ if pi.Line != pj.Line {
+ return pi.Line < pj.Line
+ }
+ if pi.Column != pj.Column {
+ return pi.Column < pj.Column
+ }
+
+ return p[i].Text < p[j].Text
+}
+
+// Lint lints src.
+func (l *Linter) Lint(filename string, src []byte) ([]Problem, error) {
+ return l.LintFiles(map[string][]byte{filename: src})
+}
+
+// LintFiles lints a set of files of a single package.
+// The argument is a map of filename to source.
+func (l *Linter) LintFiles(files map[string][]byte) ([]Problem, error) {
+ pkg := &pkg{
+ fset: token.NewFileSet(),
+ files: make(map[string]*file),
+ }
+ var pkgName string
+ for filename, src := range files {
+ if isGenerated(src) {
+ continue // See issue #239
+ }
+ f, err := parser.ParseFile(pkg.fset, filename, src, parser.ParseComments)
+ if err != nil {
+ return nil, err
+ }
+ if pkgName == "" {
+ pkgName = f.Name.Name
+ } else if f.Name.Name != pkgName {
+ return nil, fmt.Errorf("%s is in package %s, not %s", filename, f.Name.Name, pkgName)
+ }
+ pkg.files[filename] = &file{
+ pkg: pkg,
+ f: f,
+ fset: pkg.fset,
+ src: src,
+ filename: filename,
+ }
+ }
+ if len(pkg.files) == 0 {
+ return nil, nil
+ }
+ return pkg.lint(), nil
+}
+
+var (
+ genHdr = []byte("// Code generated ")
+ genFtr = []byte(" DO NOT EDIT.")
+)
+
+// isGenerated reports whether the source file is generated code
+// according the rules from https://golang.org/s/generatedcode.
+func isGenerated(src []byte) bool {
+ sc := bufio.NewScanner(bytes.NewReader(src))
+ for sc.Scan() {
+ b := sc.Bytes()
+ if bytes.HasPrefix(b, genHdr) && bytes.HasSuffix(b, genFtr) && len(b) >= len(genHdr)+len(genFtr) {
+ return true
+ }
+ }
+ return false
+}
+
+// pkg represents a package being linted.
+type pkg struct {
+ fset *token.FileSet
+ files map[string]*file
+
+ typesPkg *types.Package
+ typesInfo *types.Info
+
+ // sortable is the set of types in the package that implement sort.Interface.
+ sortable map[string]bool
+ // main is whether this is a "main" package.
+ main bool
+
+ problems []Problem
+}
+
+func (p *pkg) lint() []Problem {
+ if err := p.typeCheck(); err != nil {
+ /* TODO(dsymonds): Consider reporting these errors when golint operates on entire packages.
+ if e, ok := err.(types.Error); ok {
+ pos := p.fset.Position(e.Pos)
+ conf := 1.0
+ if strings.Contains(e.Msg, "can't find import: ") {
+ // Golint is probably being run in a context that doesn't support
+ // typechecking (e.g. package files aren't found), so don't warn about it.
+ conf = 0
+ }
+ if conf > 0 {
+ p.errorfAt(pos, conf, category("typechecking"), e.Msg)
+ }
+
+ // TODO(dsymonds): Abort if !e.Soft?
+ }
+ */
+ }
+
+ p.scanSortable()
+ p.main = p.isMain()
+
+ for _, f := range p.files {
+ f.lint()
+ }
+
+ sort.Sort(byPosition(p.problems))
+
+ return p.problems
+}
+
+// file represents a file being linted.
+type file struct {
+ pkg *pkg
+ f *ast.File
+ fset *token.FileSet
+ src []byte
+ filename string
+}
+
+func (f *file) isTest() bool { return strings.HasSuffix(f.filename, "_test.go") }
+
+func (f *file) lint() {
+ f.lintPackageComment()
+ f.lintImports()
+ f.lintBlankImports()
+ f.lintExported()
+ f.lintNames()
+ f.lintVarDecls()
+ f.lintElses()
+ f.lintRanges()
+ f.lintErrorf()
+ f.lintErrors()
+ f.lintErrorStrings()
+ f.lintReceiverNames()
+ f.lintIncDec()
+ f.lintErrorReturn()
+ f.lintUnexportedReturn()
+ f.lintTimeNames()
+ f.lintContextKeyTypes()
+ f.lintContextArgs()
+}
+
+type link string
+type category string
+
+// The variadic arguments may start with link and category types,
+// and must end with a format string and any arguments.
+// It returns the new Problem.
+func (f *file) errorf(n ast.Node, confidence float64, args ...interface{}) *Problem {
+ pos := f.fset.Position(n.Pos())
+ if pos.Filename == "" {
+ pos.Filename = f.filename
+ }
+ return f.pkg.errorfAt(pos, confidence, args...)
+}
+
+func (p *pkg) errorfAt(pos token.Position, confidence float64, args ...interface{}) *Problem {
+ problem := Problem{
+ Position: pos,
+ Confidence: confidence,
+ }
+ if pos.Filename != "" {
+ // The file might not exist in our mapping if a //line directive was encountered.
+ if f, ok := p.files[pos.Filename]; ok {
+ problem.LineText = srcLine(f.src, pos)
+ }
+ }
+
+argLoop:
+ for len(args) > 1 { // always leave at least the format string in args
+ switch v := args[0].(type) {
+ case link:
+ problem.Link = string(v)
+ case category:
+ problem.Category = string(v)
+ default:
+ break argLoop
+ }
+ args = args[1:]
+ }
+
+ problem.Text = fmt.Sprintf(args[0].(string), args[1:]...)
+
+ p.problems = append(p.problems, problem)
+ return &p.problems[len(p.problems)-1]
+}
+
+var newImporter = func(fset *token.FileSet) types.ImporterFrom {
+ return gcexportdata.NewImporter(fset, make(map[string]*types.Package))
+}
+
+func (p *pkg) typeCheck() error {
+ config := &types.Config{
+ // By setting a no-op error reporter, the type checker does as much work as possible.
+ Error: func(error) {},
+ Importer: newImporter(p.fset),
+ }
+ info := &types.Info{
+ Types: make(map[ast.Expr]types.TypeAndValue),
+ Defs: make(map[*ast.Ident]types.Object),
+ Uses: make(map[*ast.Ident]types.Object),
+ Scopes: make(map[ast.Node]*types.Scope),
+ }
+ var anyFile *file
+ var astFiles []*ast.File
+ for _, f := range p.files {
+ anyFile = f
+ astFiles = append(astFiles, f.f)
+ }
+ pkg, err := config.Check(anyFile.f.Name.Name, p.fset, astFiles, info)
+ // Remember the typechecking info, even if config.Check failed,
+ // since we will get partial information.
+ p.typesPkg = pkg
+ p.typesInfo = info
+ return err
+}
+
+func (p *pkg) typeOf(expr ast.Expr) types.Type {
+ if p.typesInfo == nil {
+ return nil
+ }
+ return p.typesInfo.TypeOf(expr)
+}
+
+func (p *pkg) isNamedType(typ types.Type, importPath, name string) bool {
+ n, ok := typ.(*types.Named)
+ if !ok {
+ return false
+ }
+ tn := n.Obj()
+ return tn != nil && tn.Pkg() != nil && tn.Pkg().Path() == importPath && tn.Name() == name
+}
+
+// scopeOf returns the tightest scope encompassing id.
+func (p *pkg) scopeOf(id *ast.Ident) *types.Scope {
+ var scope *types.Scope
+ if obj := p.typesInfo.ObjectOf(id); obj != nil {
+ scope = obj.Parent()
+ }
+ if scope == p.typesPkg.Scope() {
+ // We were given a top-level identifier.
+ // Use the file-level scope instead of the package-level scope.
+ pos := id.Pos()
+ for _, f := range p.files {
+ if f.f.Pos() <= pos && pos < f.f.End() {
+ scope = p.typesInfo.Scopes[f.f]
+ break
+ }
+ }
+ }
+ return scope
+}
+
+func (p *pkg) scanSortable() {
+ p.sortable = make(map[string]bool)
+
+ // bitfield for which methods exist on each type.
+ const (
+ Len = 1 << iota
+ Less
+ Swap
+ )
+ nmap := map[string]int{"Len": Len, "Less": Less, "Swap": Swap}
+ has := make(map[string]int)
+ for _, f := range p.files {
+ f.walk(func(n ast.Node) bool {
+ fn, ok := n.(*ast.FuncDecl)
+ if !ok || fn.Recv == nil || len(fn.Recv.List) == 0 {
+ return true
+ }
+ // TODO(dsymonds): We could check the signature to be more precise.
+ recv := receiverType(fn)
+ if i, ok := nmap[fn.Name.Name]; ok {
+ has[recv] |= i
+ }
+ return false
+ })
+ }
+ for typ, ms := range has {
+ if ms == Len|Less|Swap {
+ p.sortable[typ] = true
+ }
+ }
+}
+
+func (p *pkg) isMain() bool {
+ for _, f := range p.files {
+ if f.isMain() {
+ return true
+ }
+ }
+ return false
+}
+
+func (f *file) isMain() bool {
+ if f.f.Name.Name == "main" {
+ return true
+ }
+ return false
+}
+
+// lintPackageComment checks package comments. It complains if
+// there is no package comment, or if it is not of the right form.
+// This has a notable false positive in that a package comment
+// could rightfully appear in a different file of the same package,
+// but that's not easy to fix since this linter is file-oriented.
+func (f *file) lintPackageComment() {
+ if f.isTest() {
+ return
+ }
+
+ const ref = styleGuideBase + "#package-comments"
+ prefix := "Package " + f.f.Name.Name + " "
+
+ // Look for a detached package comment.
+ // First, scan for the last comment that occurs before the "package" keyword.
+ var lastCG *ast.CommentGroup
+ for _, cg := range f.f.Comments {
+ if cg.Pos() > f.f.Package {
+ // Gone past "package" keyword.
+ break
+ }
+ lastCG = cg
+ }
+ if lastCG != nil && strings.HasPrefix(lastCG.Text(), prefix) {
+ endPos := f.fset.Position(lastCG.End())
+ pkgPos := f.fset.Position(f.f.Package)
+ if endPos.Line+1 < pkgPos.Line {
+ // There isn't a great place to anchor this error;
+ // the start of the blank lines between the doc and the package statement
+ // is at least pointing at the location of the problem.
+ pos := token.Position{
+ Filename: endPos.Filename,
+ // Offset not set; it is non-trivial, and doesn't appear to be needed.
+ Line: endPos.Line + 1,
+ Column: 1,
+ }
+ f.pkg.errorfAt(pos, 0.9, link(ref), category("comments"), "package comment is detached; there should be no blank lines between it and the package statement")
+ return
+ }
+ }
+
+ if f.f.Doc == nil {
+ f.errorf(f.f, 0.2, link(ref), category("comments"), "should have a package comment, unless it's in another file for this package")
+ return
+ }
+ s := f.f.Doc.Text()
+ if ts := strings.TrimLeft(s, " \t"); ts != s {
+ f.errorf(f.f.Doc, 1, link(ref), category("comments"), "package comment should not have leading space")
+ s = ts
+ }
+ // Only non-main packages need to keep to this form.
+ if !f.pkg.main && !strings.HasPrefix(s, prefix) {
+ f.errorf(f.f.Doc, 1, link(ref), category("comments"), `package comment should be of the form "%s..."`, prefix)
+ }
+}
+
+// lintBlankImports complains if a non-main package has blank imports that are
+// not documented.
+func (f *file) lintBlankImports() {
+ // In package main and in tests, we don't complain about blank imports.
+ if f.pkg.main || f.isTest() {
+ return
+ }
+
+ // The first element of each contiguous group of blank imports should have
+ // an explanatory comment of some kind.
+ for i, imp := range f.f.Imports {
+ pos := f.fset.Position(imp.Pos())
+
+ if !isBlank(imp.Name) {
+ continue // Ignore non-blank imports.
+ }
+ if i > 0 {
+ prev := f.f.Imports[i-1]
+ prevPos := f.fset.Position(prev.Pos())
+ if isBlank(prev.Name) && prevPos.Line+1 == pos.Line {
+ continue // A subsequent blank in a group.
+ }
+ }
+
+ // This is the first blank import of a group.
+ if imp.Doc == nil && imp.Comment == nil {
+ ref := ""
+ f.errorf(imp, 1, link(ref), category("imports"), "a blank import should be only in a main or test package, or have a comment justifying it")
+ }
+ }
+}
+
+// lintImports examines import blocks.
+func (f *file) lintImports() {
+ for i, is := range f.f.Imports {
+ _ = i
+ if is.Name != nil && is.Name.Name == "." && !f.isTest() {
+ f.errorf(is, 1, link(styleGuideBase+"#import-dot"), category("imports"), "should not use dot imports")
+ }
+
+ }
+}
+
+const docCommentsLink = styleGuideBase + "#doc-comments"
+
+// lintExported examines the exported names.
+// It complains if any required doc comments are missing,
+// or if they are not of the right form. The exact rules are in
+// lintFuncDoc, lintTypeDoc and lintValueSpecDoc; this function
+// also tracks the GenDecl structure being traversed to permit
+// doc comments for constants to be on top of the const block.
+// It also complains if the names stutter when combined with
+// the package name.
+func (f *file) lintExported() {
+ if f.isTest() {
+ return
+ }
+
+ var lastGen *ast.GenDecl // last GenDecl entered.
+
+ // Set of GenDecls that have already had missing comments flagged.
+ genDeclMissingComments := make(map[*ast.GenDecl]bool)
+
+ f.walk(func(node ast.Node) bool {
+ switch v := node.(type) {
+ case *ast.GenDecl:
+ if v.Tok == token.IMPORT {
+ return false
+ }
+ // token.CONST, token.TYPE or token.VAR
+ lastGen = v
+ return true
+ case *ast.FuncDecl:
+ f.lintFuncDoc(v)
+ if v.Recv == nil {
+ // Only check for stutter on functions, not methods.
+ // Method names are not used package-qualified.
+ f.checkStutter(v.Name, "func")
+ }
+ // Don't proceed inside funcs.
+ return false
+ case *ast.TypeSpec:
+ // inside a GenDecl, which usually has the doc
+ doc := v.Doc
+ if doc == nil {
+ doc = lastGen.Doc
+ }
+ f.lintTypeDoc(v, doc)
+ f.checkStutter(v.Name, "type")
+ // Don't proceed inside types.
+ return false
+ case *ast.ValueSpec:
+ f.lintValueSpecDoc(v, lastGen, genDeclMissingComments)
+ return false
+ }
+ return true
+ })
+}
+
+var (
+ allCapsRE = regexp.MustCompile(`^[A-Z0-9_]+$`)
+ anyCapsRE = regexp.MustCompile(`[A-Z]`)
+)
+
+// knownNameExceptions is a set of names that are known to be exempt from naming checks.
+// This is usually because they are constrained by having to match names in the
+// standard library.
+var knownNameExceptions = map[string]bool{
+ "LastInsertId": true, // must match database/sql
+ "kWh": true,
+}
+
+// lintNames examines all names in the file.
+// It complains if any use underscores or incorrect known initialisms.
+func (f *file) lintNames() {
+ // Package names need slightly different handling than other names.
+ if strings.Contains(f.f.Name.Name, "_") && !strings.HasSuffix(f.f.Name.Name, "_test") {
+ f.errorf(f.f, 1, link("http://golang.org/doc/effective_go.html#package-names"), category("naming"), "don't use an underscore in package name")
+ }
+ if anyCapsRE.MatchString(f.f.Name.Name) {
+ f.errorf(f.f, 1, link("http://golang.org/doc/effective_go.html#package-names"), category("mixed-caps"), "don't use MixedCaps in package name; %s should be %s", f.f.Name.Name, strings.ToLower(f.f.Name.Name))
+ }
+
+ check := func(id *ast.Ident, thing string) {
+ if id.Name == "_" {
+ return
+ }
+ if knownNameExceptions[id.Name] {
+ return
+ }
+
+ // Handle two common styles from other languages that don't belong in Go.
+ if len(id.Name) >= 5 && allCapsRE.MatchString(id.Name) && strings.Contains(id.Name, "_") {
+ f.errorf(id, 0.8, link(styleGuideBase+"#mixed-caps"), category("naming"), "don't use ALL_CAPS in Go names; use CamelCase")
+ return
+ }
+ if len(id.Name) > 2 && id.Name[0] == 'k' && id.Name[1] >= 'A' && id.Name[1] <= 'Z' {
+ should := string(id.Name[1]+'a'-'A') + id.Name[2:]
+ f.errorf(id, 0.8, link(styleGuideBase+"#mixed-caps"), category("naming"), "don't use leading k in Go names; %s %s should be %s", thing, id.Name, should)
+ }
+
+ should := lintName(id.Name)
+ if id.Name == should {
+ return
+ }
+
+ if len(id.Name) > 2 && strings.Contains(id.Name[1:], "_") {
+ f.errorf(id, 0.9, link("http://golang.org/doc/effective_go.html#mixed-caps"), category("naming"), "don't use underscores in Go names; %s %s should be %s", thing, id.Name, should)
+ return
+ }
+ f.errorf(id, 0.8, link(styleGuideBase+"#initialisms"), category("naming"), "%s %s should be %s", thing, id.Name, should)
+ }
+ checkList := func(fl *ast.FieldList, thing string) {
+ if fl == nil {
+ return
+ }
+ for _, f := range fl.List {
+ for _, id := range f.Names {
+ check(id, thing)
+ }
+ }
+ }
+ f.walk(func(node ast.Node) bool {
+ switch v := node.(type) {
+ case *ast.AssignStmt:
+ if v.Tok == token.ASSIGN {
+ return true
+ }
+ for _, exp := range v.Lhs {
+ if id, ok := exp.(*ast.Ident); ok {
+ check(id, "var")
+ }
+ }
+ case *ast.FuncDecl:
+ if f.isTest() && (strings.HasPrefix(v.Name.Name, "Example") || strings.HasPrefix(v.Name.Name, "Test") || strings.HasPrefix(v.Name.Name, "Benchmark")) {
+ return true
+ }
+
+ thing := "func"
+ if v.Recv != nil {
+ thing = "method"
+ }
+
+ // Exclude naming warnings for functions that are exported to C but
+ // not exported in the Go API.
+ // See https://github.com/golang/lint/issues/144.
+ if ast.IsExported(v.Name.Name) || !isCgoExported(v) {
+ check(v.Name, thing)
+ }
+
+ checkList(v.Type.Params, thing+" parameter")
+ checkList(v.Type.Results, thing+" result")
+ case *ast.GenDecl:
+ if v.Tok == token.IMPORT {
+ return true
+ }
+ var thing string
+ switch v.Tok {
+ case token.CONST:
+ thing = "const"
+ case token.TYPE:
+ thing = "type"
+ case token.VAR:
+ thing = "var"
+ }
+ for _, spec := range v.Specs {
+ switch s := spec.(type) {
+ case *ast.TypeSpec:
+ check(s.Name, thing)
+ case *ast.ValueSpec:
+ for _, id := range s.Names {
+ check(id, thing)
+ }
+ }
+ }
+ case *ast.InterfaceType:
+ // Do not check interface method names.
+ // They are often constrainted by the method names of concrete types.
+ for _, x := range v.Methods.List {
+ ft, ok := x.Type.(*ast.FuncType)
+ if !ok { // might be an embedded interface name
+ continue
+ }
+ checkList(ft.Params, "interface method parameter")
+ checkList(ft.Results, "interface method result")
+ }
+ case *ast.RangeStmt:
+ if v.Tok == token.ASSIGN {
+ return true
+ }
+ if id, ok := v.Key.(*ast.Ident); ok {
+ check(id, "range var")
+ }
+ if id, ok := v.Value.(*ast.Ident); ok {
+ check(id, "range var")
+ }
+ case *ast.StructType:
+ for _, f := range v.Fields.List {
+ for _, id := range f.Names {
+ check(id, "struct field")
+ }
+ }
+ }
+ return true
+ })
+}
+
+// lintName returns a different name if it should be different.
+func lintName(name string) (should string) {
+ // Fast path for simple cases: "_" and all lowercase.
+ if name == "_" {
+ return name
+ }
+ allLower := true
+ for _, r := range name {
+ if !unicode.IsLower(r) {
+ allLower = false
+ break
+ }
+ }
+ if allLower {
+ return name
+ }
+
+ // Split camelCase at any lower->upper transition, and split on underscores.
+ // Check each word for common initialisms.
+ runes := []rune(name)
+ w, i := 0, 0 // index of start of word, scan
+ for i+1 <= len(runes) {
+ eow := false // whether we hit the end of a word
+ if i+1 == len(runes) {
+ eow = true
+ } else if runes[i+1] == '_' {
+ // underscore; shift the remainder forward over any run of underscores
+ eow = true
+ n := 1
+ for i+n+1 < len(runes) && runes[i+n+1] == '_' {
+ n++
+ }
+
+ // Leave at most one underscore if the underscore is between two digits
+ if i+n+1 < len(runes) && unicode.IsDigit(runes[i]) && unicode.IsDigit(runes[i+n+1]) {
+ n--
+ }
+
+ copy(runes[i+1:], runes[i+n+1:])
+ runes = runes[:len(runes)-n]
+ } else if unicode.IsLower(runes[i]) && !unicode.IsLower(runes[i+1]) {
+ // lower->non-lower
+ eow = true
+ }
+ i++
+ if !eow {
+ continue
+ }
+
+ // [w,i) is a word.
+ word := string(runes[w:i])
+ if u := strings.ToUpper(word); commonInitialisms[u] {
+ // Keep consistent case, which is lowercase only at the start.
+ if w == 0 && unicode.IsLower(runes[w]) {
+ u = strings.ToLower(u)
+ }
+ // All the common initialisms are ASCII,
+ // so we can replace the bytes exactly.
+ copy(runes[w:], []rune(u))
+ } else if w > 0 && strings.ToLower(word) == word {
+ // already all lowercase, and not the first word, so uppercase the first character.
+ runes[w] = unicode.ToUpper(runes[w])
+ }
+ w = i
+ }
+ return string(runes)
+}
+
+// commonInitialisms is a set of common initialisms.
+// Only add entries that are highly unlikely to be non-initialisms.
+// For instance, "ID" is fine (Freudian code is rare), but "AND" is not.
+var commonInitialisms = map[string]bool{
+ "ACL": true,
+ "API": true,
+ "ASCII": true,
+ "CPU": true,
+ "CSS": true,
+ "DNS": true,
+ "EOF": true,
+ "GUID": true,
+ "HTML": true,
+ "HTTP": true,
+ "HTTPS": true,
+ "ID": true,
+ "IP": true,
+ "JSON": true,
+ "LHS": true,
+ "QPS": true,
+ "RAM": true,
+ "RHS": true,
+ "RPC": true,
+ "SLA": true,
+ "SMTP": true,
+ "SQL": true,
+ "SSH": true,
+ "TCP": true,
+ "TLS": true,
+ "TTL": true,
+ "UDP": true,
+ "UI": true,
+ "UID": true,
+ "UUID": true,
+ "URI": true,
+ "URL": true,
+ "UTF8": true,
+ "VM": true,
+ "XML": true,
+ "XMPP": true,
+ "XSRF": true,
+ "XSS": true,
+}
+
+// lintTypeDoc examines the doc comment on a type.
+// It complains if they are missing from an exported type,
+// or if they are not of the standard form.
+func (f *file) lintTypeDoc(t *ast.TypeSpec, doc *ast.CommentGroup) {
+ if !ast.IsExported(t.Name.Name) {
+ return
+ }
+ if doc == nil {
+ f.errorf(t, 1, link(docCommentsLink), category("comments"), "exported type %v should have comment or be unexported", t.Name)
+ return
+ }
+
+ s := doc.Text()
+ articles := [...]string{"A", "An", "The"}
+ for _, a := range articles {
+ if strings.HasPrefix(s, a+" ") {
+ s = s[len(a)+1:]
+ break
+ }
+ }
+ if !strings.HasPrefix(s, t.Name.Name+" ") {
+ f.errorf(doc, 1, link(docCommentsLink), category("comments"), `comment on exported type %v should be of the form "%v ..." (with optional leading article)`, t.Name, t.Name)
+ }
+}
+
+var commonMethods = map[string]bool{
+ "Error": true,
+ "Read": true,
+ "ServeHTTP": true,
+ "String": true,
+ "Write": true,
+}
+
+// lintFuncDoc examines doc comments on functions and methods.
+// It complains if they are missing, or not of the right form.
+// It has specific exclusions for well-known methods (see commonMethods above).
+func (f *file) lintFuncDoc(fn *ast.FuncDecl) {
+ if !ast.IsExported(fn.Name.Name) {
+ // func is unexported
+ return
+ }
+ kind := "function"
+ name := fn.Name.Name
+ if fn.Recv != nil && len(fn.Recv.List) > 0 {
+ // method
+ kind = "method"
+ recv := receiverType(fn)
+ if !ast.IsExported(recv) {
+ // receiver is unexported
+ return
+ }
+ if commonMethods[name] {
+ return
+ }
+ switch name {
+ case "Len", "Less", "Swap":
+ if f.pkg.sortable[recv] {
+ return
+ }
+ }
+ name = recv + "." + name
+ }
+ if fn.Doc == nil {
+ f.errorf(fn, 1, link(docCommentsLink), category("comments"), "exported %s %s should have comment or be unexported", kind, name)
+ return
+ }
+ s := fn.Doc.Text()
+ prefix := fn.Name.Name + " "
+ if !strings.HasPrefix(s, prefix) {
+ f.errorf(fn.Doc, 1, link(docCommentsLink), category("comments"), `comment on exported %s %s should be of the form "%s..."`, kind, name, prefix)
+ }
+}
+
+// lintValueSpecDoc examines package-global variables and constants.
+// It complains if they are not individually declared,
+// or if they are not suitably documented in the right form (unless they are in a block that is commented).
+func (f *file) lintValueSpecDoc(vs *ast.ValueSpec, gd *ast.GenDecl, genDeclMissingComments map[*ast.GenDecl]bool) {
+ kind := "var"
+ if gd.Tok == token.CONST {
+ kind = "const"
+ }
+
+ if len(vs.Names) > 1 {
+ // Check that none are exported except for the first.
+ for _, n := range vs.Names[1:] {
+ if ast.IsExported(n.Name) {
+ f.errorf(vs, 1, category("comments"), "exported %s %s should have its own declaration", kind, n.Name)
+ return
+ }
+ }
+ }
+
+ // Only one name.
+ name := vs.Names[0].Name
+ if !ast.IsExported(name) {
+ return
+ }
+
+ if vs.Doc == nil && gd.Doc == nil {
+ if genDeclMissingComments[gd] {
+ return
+ }
+ block := ""
+ if kind == "const" && gd.Lparen.IsValid() {
+ block = " (or a comment on this block)"
+ }
+ f.errorf(vs, 1, link(docCommentsLink), category("comments"), "exported %s %s should have comment%s or be unexported", kind, name, block)
+ genDeclMissingComments[gd] = true
+ return
+ }
+ // If this GenDecl has parens and a comment, we don't check its comment form.
+ if gd.Lparen.IsValid() && gd.Doc != nil {
+ return
+ }
+ // The relevant text to check will be on either vs.Doc or gd.Doc.
+ // Use vs.Doc preferentially.
+ doc := vs.Doc
+ if doc == nil {
+ doc = gd.Doc
+ }
+ prefix := name + " "
+ if !strings.HasPrefix(doc.Text(), prefix) {
+ f.errorf(doc, 1, link(docCommentsLink), category("comments"), `comment on exported %s %s should be of the form "%s..."`, kind, name, prefix)
+ }
+}
+
+func (f *file) checkStutter(id *ast.Ident, thing string) {
+ pkg, name := f.f.Name.Name, id.Name
+ if !ast.IsExported(name) {
+ // unexported name
+ return
+ }
+ // A name stutters if the package name is a strict prefix
+ // and the next character of the name starts a new word.
+ if len(name) <= len(pkg) {
+ // name is too short to stutter.
+ // This permits the name to be the same as the package name.
+ return
+ }
+ if !strings.EqualFold(pkg, name[:len(pkg)]) {
+ return
+ }
+ // We can assume the name is well-formed UTF-8.
+ // If the next rune after the package name is uppercase or an underscore
+ // the it's starting a new word and thus this name stutters.
+ rem := name[len(pkg):]
+ if next, _ := utf8.DecodeRuneInString(rem); next == '_' || unicode.IsUpper(next) {
+ f.errorf(id, 0.8, link(styleGuideBase+"#package-names"), category("naming"), "%s name will be used as %s.%s by other packages, and that stutters; consider calling this %s", thing, pkg, name, rem)
+ }
+}
+
+// zeroLiteral is a set of ast.BasicLit values that are zero values.
+// It is not exhaustive.
+var zeroLiteral = map[string]bool{
+ "false": true, // bool
+ // runes
+ `'\x00'`: true,
+ `'\000'`: true,
+ // strings
+ `""`: true,
+ "``": true,
+ // numerics
+ "0": true,
+ "0.": true,
+ "0.0": true,
+ "0i": true,
+}
+
+// lintVarDecls examines variable declarations. It complains about declarations with
+// redundant LHS types that can be inferred from the RHS.
+func (f *file) lintVarDecls() {
+ var lastGen *ast.GenDecl // last GenDecl entered.
+
+ f.walk(func(node ast.Node) bool {
+ switch v := node.(type) {
+ case *ast.GenDecl:
+ if v.Tok != token.CONST && v.Tok != token.VAR {
+ return false
+ }
+ lastGen = v
+ return true
+ case *ast.ValueSpec:
+ if lastGen.Tok == token.CONST {
+ return false
+ }
+ if len(v.Names) > 1 || v.Type == nil || len(v.Values) == 0 {
+ return false
+ }
+ rhs := v.Values[0]
+ // An underscore var appears in a common idiom for compile-time interface satisfaction,
+ // as in "var _ Interface = (*Concrete)(nil)".
+ if isIdent(v.Names[0], "_") {
+ return false
+ }
+ // If the RHS is a zero value, suggest dropping it.
+ zero := false
+ if lit, ok := rhs.(*ast.BasicLit); ok {
+ zero = zeroLiteral[lit.Value]
+ } else if isIdent(rhs, "nil") {
+ zero = true
+ }
+ if zero {
+ f.errorf(rhs, 0.9, category("zero-value"), "should drop = %s from declaration of var %s; it is the zero value", f.render(rhs), v.Names[0])
+ return false
+ }
+ lhsTyp := f.pkg.typeOf(v.Type)
+ rhsTyp := f.pkg.typeOf(rhs)
+
+ if !validType(lhsTyp) || !validType(rhsTyp) {
+ // Type checking failed (often due to missing imports).
+ return false
+ }
+
+ if !types.Identical(lhsTyp, rhsTyp) {
+ // Assignment to a different type is not redundant.
+ return false
+ }
+
+ // The next three conditions are for suppressing the warning in situations
+ // where we were unable to typecheck.
+
+ // If the LHS type is an interface, don't warn, since it is probably a
+ // concrete type on the RHS. Note that our feeble lexical check here
+ // will only pick up interface{} and other literal interface types;
+ // that covers most of the cases we care to exclude right now.
+ if _, ok := v.Type.(*ast.InterfaceType); ok {
+ return false
+ }
+ // If the RHS is an untyped const, only warn if the LHS type is its default type.
+ if defType, ok := f.isUntypedConst(rhs); ok && !isIdent(v.Type, defType) {
+ return false
+ }
+
+ f.errorf(v.Type, 0.8, category("type-inference"), "should omit type %s from declaration of var %s; it will be inferred from the right-hand side", f.render(v.Type), v.Names[0])
+ return false
+ }
+ return true
+ })
+}
+
+func validType(T types.Type) bool {
+ return T != nil &&
+ T != types.Typ[types.Invalid] &&
+ !strings.Contains(T.String(), "invalid type") // good but not foolproof
+}
+
+// lintElses examines else blocks. It complains about any else block whose if block ends in a return.
+func (f *file) lintElses() {
+ // We don't want to flag if { } else if { } else { } constructions.
+ // They will appear as an IfStmt whose Else field is also an IfStmt.
+ // Record such a node so we ignore it when we visit it.
+ ignore := make(map[*ast.IfStmt]bool)
+
+ f.walk(func(node ast.Node) bool {
+ ifStmt, ok := node.(*ast.IfStmt)
+ if !ok || ifStmt.Else == nil {
+ return true
+ }
+ if elseif, ok := ifStmt.Else.(*ast.IfStmt); ok {
+ ignore[elseif] = true
+ return true
+ }
+ if ignore[ifStmt] {
+ return true
+ }
+ if _, ok := ifStmt.Else.(*ast.BlockStmt); !ok {
+ // only care about elses without conditions
+ return true
+ }
+ if len(ifStmt.Body.List) == 0 {
+ return true
+ }
+ shortDecl := false // does the if statement have a ":=" initialization statement?
+ if ifStmt.Init != nil {
+ if as, ok := ifStmt.Init.(*ast.AssignStmt); ok && as.Tok == token.DEFINE {
+ shortDecl = true
+ }
+ }
+ lastStmt := ifStmt.Body.List[len(ifStmt.Body.List)-1]
+ if _, ok := lastStmt.(*ast.ReturnStmt); ok {
+ extra := ""
+ if shortDecl {
+ extra = " (move short variable declaration to its own line if necessary)"
+ }
+ f.errorf(ifStmt.Else, 1, link(styleGuideBase+"#indent-error-flow"), category("indent"), "if block ends with a return statement, so drop this else and outdent its block"+extra)
+ }
+ return true
+ })
+}
+
+// lintRanges examines range clauses. It complains about redundant constructions.
+func (f *file) lintRanges() {
+ f.walk(func(node ast.Node) bool {
+ rs, ok := node.(*ast.RangeStmt)
+ if !ok {
+ return true
+ }
+
+ if isIdent(rs.Key, "_") && (rs.Value == nil || isIdent(rs.Value, "_")) {
+ p := f.errorf(rs.Key, 1, category("range-loop"), "should omit values from range; this loop is equivalent to `for range ...`")
+
+ newRS := *rs // shallow copy
+ newRS.Value = nil
+ newRS.Key = nil
+ p.ReplacementLine = f.firstLineOf(&newRS, rs)
+
+ return true
+ }
+
+ if isIdent(rs.Value, "_") {
+ p := f.errorf(rs.Value, 1, category("range-loop"), "should omit 2nd value from range; this loop is equivalent to `for %s %s range ...`", f.render(rs.Key), rs.Tok)
+
+ newRS := *rs // shallow copy
+ newRS.Value = nil
+ p.ReplacementLine = f.firstLineOf(&newRS, rs)
+ }
+
+ return true
+ })
+}
+
+// lintErrorf examines errors.New and testing.Error calls. It complains if its only argument is an fmt.Sprintf invocation.
+func (f *file) lintErrorf() {
+ f.walk(func(node ast.Node) bool {
+ ce, ok := node.(*ast.CallExpr)
+ if !ok || len(ce.Args) != 1 {
+ return true
+ }
+ isErrorsNew := isPkgDot(ce.Fun, "errors", "New")
+ var isTestingError bool
+ se, ok := ce.Fun.(*ast.SelectorExpr)
+ if ok && se.Sel.Name == "Error" {
+ if typ := f.pkg.typeOf(se.X); typ != nil {
+ isTestingError = typ.String() == "*testing.T"
+ }
+ }
+ if !isErrorsNew && !isTestingError {
+ return true
+ }
+ if !f.imports("errors") {
+ return true
+ }
+ arg := ce.Args[0]
+ ce, ok = arg.(*ast.CallExpr)
+ if !ok || !isPkgDot(ce.Fun, "fmt", "Sprintf") {
+ return true
+ }
+ errorfPrefix := "fmt"
+ if isTestingError {
+ errorfPrefix = f.render(se.X)
+ }
+ p := f.errorf(node, 1, category("errors"), "should replace %s(fmt.Sprintf(...)) with %s.Errorf(...)", f.render(se), errorfPrefix)
+
+ m := f.srcLineWithMatch(ce, `^(.*)`+f.render(se)+`\(fmt\.Sprintf\((.*)\)\)(.*)$`)
+ if m != nil {
+ p.ReplacementLine = m[1] + errorfPrefix + ".Errorf(" + m[2] + ")" + m[3]
+ }
+
+ return true
+ })
+}
+
+// lintErrors examines global error vars. It complains if they aren't named in the standard way.
+func (f *file) lintErrors() {
+ for _, decl := range f.f.Decls {
+ gd, ok := decl.(*ast.GenDecl)
+ if !ok || gd.Tok != token.VAR {
+ continue
+ }
+ for _, spec := range gd.Specs {
+ spec := spec.(*ast.ValueSpec)
+ if len(spec.Names) != 1 || len(spec.Values) != 1 {
+ continue
+ }
+ ce, ok := spec.Values[0].(*ast.CallExpr)
+ if !ok {
+ continue
+ }
+ if !isPkgDot(ce.Fun, "errors", "New") && !isPkgDot(ce.Fun, "fmt", "Errorf") {
+ continue
+ }
+
+ id := spec.Names[0]
+ prefix := "err"
+ if id.IsExported() {
+ prefix = "Err"
+ }
+ if !strings.HasPrefix(id.Name, prefix) {
+ f.errorf(id, 0.9, category("naming"), "error var %s should have name of the form %sFoo", id.Name, prefix)
+ }
+ }
+ }
+}
+
+func lintErrorString(s string) (isClean bool, conf float64) {
+ const basicConfidence = 0.8
+ const capConfidence = basicConfidence - 0.2
+ first, firstN := utf8.DecodeRuneInString(s)
+ last, _ := utf8.DecodeLastRuneInString(s)
+ if last == '.' || last == ':' || last == '!' || last == '\n' {
+ return false, basicConfidence
+ }
+ if unicode.IsUpper(first) {
+ // People use proper nouns and exported Go identifiers in error strings,
+ // so decrease the confidence of warnings for capitalization.
+ if len(s) <= firstN {
+ return false, capConfidence
+ }
+ // Flag strings starting with something that doesn't look like an initialism.
+ if second, _ := utf8.DecodeRuneInString(s[firstN:]); !unicode.IsUpper(second) {
+ return false, capConfidence
+ }
+ }
+ return true, 0
+}
+
+// lintErrorStrings examines error strings.
+// It complains if they are capitalized or end in punctuation or a newline.
+func (f *file) lintErrorStrings() {
+ f.walk(func(node ast.Node) bool {
+ ce, ok := node.(*ast.CallExpr)
+ if !ok {
+ return true
+ }
+ if !isPkgDot(ce.Fun, "errors", "New") && !isPkgDot(ce.Fun, "fmt", "Errorf") {
+ return true
+ }
+ if len(ce.Args) < 1 {
+ return true
+ }
+ str, ok := ce.Args[0].(*ast.BasicLit)
+ if !ok || str.Kind != token.STRING {
+ return true
+ }
+ s, _ := strconv.Unquote(str.Value) // can assume well-formed Go
+ if s == "" {
+ return true
+ }
+ clean, conf := lintErrorString(s)
+ if clean {
+ return true
+ }
+
+ f.errorf(str, conf, link(styleGuideBase+"#error-strings"), category("errors"),
+ "error strings should not be capitalized or end with punctuation or a newline")
+ return true
+ })
+}
+
+// lintReceiverNames examines receiver names. It complains about inconsistent
+// names used for the same type and names such as "this".
+func (f *file) lintReceiverNames() {
+ typeReceiver := map[string]string{}
+ f.walk(func(n ast.Node) bool {
+ fn, ok := n.(*ast.FuncDecl)
+ if !ok || fn.Recv == nil || len(fn.Recv.List) == 0 {
+ return true
+ }
+ names := fn.Recv.List[0].Names
+ if len(names) < 1 {
+ return true
+ }
+ name := names[0].Name
+ const ref = styleGuideBase + "#receiver-names"
+ if name == "_" {
+ f.errorf(n, 1, link(ref), category("naming"), `receiver name should not be an underscore, omit the name if it is unused`)
+ return true
+ }
+ if name == "this" || name == "self" {
+ f.errorf(n, 1, link(ref), category("naming"), `receiver name should be a reflection of its identity; don't use generic names such as "this" or "self"`)
+ return true
+ }
+ recv := receiverType(fn)
+ if prev, ok := typeReceiver[recv]; ok && prev != name {
+ f.errorf(n, 1, link(ref), category("naming"), "receiver name %s should be consistent with previous receiver name %s for %s", name, prev, recv)
+ return true
+ }
+ typeReceiver[recv] = name
+ return true
+ })
+}
+
+// lintIncDec examines statements that increment or decrement a variable.
+// It complains if they don't use x++ or x--.
+func (f *file) lintIncDec() {
+ f.walk(func(n ast.Node) bool {
+ as, ok := n.(*ast.AssignStmt)
+ if !ok {
+ return true
+ }
+ if len(as.Lhs) != 1 {
+ return true
+ }
+ if !isOne(as.Rhs[0]) {
+ return true
+ }
+ var suffix string
+ switch as.Tok {
+ case token.ADD_ASSIGN:
+ suffix = "++"
+ case token.SUB_ASSIGN:
+ suffix = "--"
+ default:
+ return true
+ }
+ f.errorf(as, 0.8, category("unary-op"), "should replace %s with %s%s", f.render(as), f.render(as.Lhs[0]), suffix)
+ return true
+ })
+}
+
+// lintErrorReturn examines function declarations that return an error.
+// It complains if the error isn't the last parameter.
+func (f *file) lintErrorReturn() {
+ f.walk(func(n ast.Node) bool {
+ fn, ok := n.(*ast.FuncDecl)
+ if !ok || fn.Type.Results == nil {
+ return true
+ }
+ ret := fn.Type.Results.List
+ if len(ret) <= 1 {
+ return true
+ }
+ if isIdent(ret[len(ret)-1].Type, "error") {
+ return true
+ }
+ // An error return parameter should be the last parameter.
+ // Flag any error parameters found before the last.
+ for _, r := range ret[:len(ret)-1] {
+ if isIdent(r.Type, "error") {
+ f.errorf(fn, 0.9, category("arg-order"), "error should be the last type when returning multiple items")
+ break // only flag one
+ }
+ }
+ return true
+ })
+}
+
+// lintUnexportedReturn examines exported function declarations.
+// It complains if any return an unexported type.
+func (f *file) lintUnexportedReturn() {
+ f.walk(func(n ast.Node) bool {
+ fn, ok := n.(*ast.FuncDecl)
+ if !ok {
+ return true
+ }
+ if fn.Type.Results == nil {
+ return false
+ }
+ if !fn.Name.IsExported() {
+ return false
+ }
+ thing := "func"
+ if fn.Recv != nil && len(fn.Recv.List) > 0 {
+ thing = "method"
+ if !ast.IsExported(receiverType(fn)) {
+ // Don't report exported methods of unexported types,
+ // such as private implementations of sort.Interface.
+ return false
+ }
+ }
+ for _, ret := range fn.Type.Results.List {
+ typ := f.pkg.typeOf(ret.Type)
+ if exportedType(typ) {
+ continue
+ }
+ f.errorf(ret.Type, 0.8, category("unexported-type-in-api"),
+ "exported %s %s returns unexported type %s, which can be annoying to use",
+ thing, fn.Name.Name, typ)
+ break // only flag one
+ }
+ return false
+ })
+}
+
+// exportedType reports whether typ is an exported type.
+// It is imprecise, and will err on the side of returning true,
+// such as for composite types.
+func exportedType(typ types.Type) bool {
+ switch T := typ.(type) {
+ case *types.Named:
+ // Builtin types have no package.
+ return T.Obj().Pkg() == nil || T.Obj().Exported()
+ case *types.Map:
+ return exportedType(T.Key()) && exportedType(T.Elem())
+ case interface {
+ Elem() types.Type
+ }: // array, slice, pointer, chan
+ return exportedType(T.Elem())
+ }
+ // Be conservative about other types, such as struct, interface, etc.
+ return true
+}
+
+// timeSuffixes is a list of name suffixes that imply a time unit.
+// This is not an exhaustive list.
+var timeSuffixes = []string{
+ "Sec", "Secs", "Seconds",
+ "Msec", "Msecs",
+ "Milli", "Millis", "Milliseconds",
+ "Usec", "Usecs", "Microseconds",
+ "MS", "Ms",
+}
+
+func (f *file) lintTimeNames() {
+ f.walk(func(node ast.Node) bool {
+ v, ok := node.(*ast.ValueSpec)
+ if !ok {
+ return true
+ }
+ for _, name := range v.Names {
+ origTyp := f.pkg.typeOf(name)
+ // Look for time.Duration or *time.Duration;
+ // the latter is common when using flag.Duration.
+ typ := origTyp
+ if pt, ok := typ.(*types.Pointer); ok {
+ typ = pt.Elem()
+ }
+ if !f.pkg.isNamedType(typ, "time", "Duration") {
+ continue
+ }
+ suffix := ""
+ for _, suf := range timeSuffixes {
+ if strings.HasSuffix(name.Name, suf) {
+ suffix = suf
+ break
+ }
+ }
+ if suffix == "" {
+ continue
+ }
+ f.errorf(v, 0.9, category("time"), "var %s is of type %v; don't use unit-specific suffix %q", name.Name, origTyp, suffix)
+ }
+ return true
+ })
+}
+
+// lintContextKeyTypes checks for call expressions to context.WithValue with
+// basic types used for the key argument.
+// See: https://golang.org/issue/17293
+func (f *file) lintContextKeyTypes() {
+ f.walk(func(node ast.Node) bool {
+ switch node := node.(type) {
+ case *ast.CallExpr:
+ f.checkContextKeyType(node)
+ }
+
+ return true
+ })
+}
+
+// checkContextKeyType reports an error if the call expression calls
+// context.WithValue with a key argument of basic type.
+func (f *file) checkContextKeyType(x *ast.CallExpr) {
+ sel, ok := x.Fun.(*ast.SelectorExpr)
+ if !ok {
+ return
+ }
+ pkg, ok := sel.X.(*ast.Ident)
+ if !ok || pkg.Name != "context" {
+ return
+ }
+ if sel.Sel.Name != "WithValue" {
+ return
+ }
+
+ // key is second argument to context.WithValue
+ if len(x.Args) != 3 {
+ return
+ }
+ key := f.pkg.typesInfo.Types[x.Args[1]]
+
+ if ktyp, ok := key.Type.(*types.Basic); ok && ktyp.Kind() != types.Invalid {
+ f.errorf(x, 1.0, category("context"), fmt.Sprintf("should not use basic type %s as key in context.WithValue", key.Type))
+ }
+}
+
+// lintContextArgs examines function declarations that contain an
+// argument with a type of context.Context
+// It complains if that argument isn't the first parameter.
+func (f *file) lintContextArgs() {
+ f.walk(func(n ast.Node) bool {
+ fn, ok := n.(*ast.FuncDecl)
+ if !ok || len(fn.Type.Params.List) <= 1 {
+ return true
+ }
+ // A context.Context should be the first parameter of a function.
+ // Flag any that show up after the first.
+ for _, arg := range fn.Type.Params.List[1:] {
+ if isPkgDot(arg.Type, "context", "Context") {
+ f.errorf(fn, 0.9, link("https://golang.org/pkg/context/"), category("arg-order"), "context.Context should be the first parameter of a function")
+ break // only flag one
+ }
+ }
+ return true
+ })
+}
+
+// containsComments returns whether the interval [start, end) contains any
+// comments without "// MATCH " prefix.
+func (f *file) containsComments(start, end token.Pos) bool {
+ for _, cgroup := range f.f.Comments {
+ comments := cgroup.List
+ if comments[0].Slash >= end {
+ // All comments starting with this group are after end pos.
+ return false
+ }
+ if comments[len(comments)-1].Slash < start {
+ // Comments group ends before start pos.
+ continue
+ }
+ for _, c := range comments {
+ if start <= c.Slash && c.Slash < end && !strings.HasPrefix(c.Text, "// MATCH ") {
+ return true
+ }
+ }
+ }
+ return false
+}
+
+// receiverType returns the named type of the method receiver, sans "*",
+// or "invalid-type" if fn.Recv is ill formed.
+func receiverType(fn *ast.FuncDecl) string {
+ switch e := fn.Recv.List[0].Type.(type) {
+ case *ast.Ident:
+ return e.Name
+ case *ast.StarExpr:
+ if id, ok := e.X.(*ast.Ident); ok {
+ return id.Name
+ }
+ }
+ // The parser accepts much more than just the legal forms.
+ return "invalid-type"
+}
+
+func (f *file) walk(fn func(ast.Node) bool) {
+ ast.Walk(walker(fn), f.f)
+}
+
+func (f *file) render(x interface{}) string {
+ var buf bytes.Buffer
+ if err := printer.Fprint(&buf, f.fset, x); err != nil {
+ panic(err)
+ }
+ return buf.String()
+}
+
+func (f *file) debugRender(x interface{}) string {
+ var buf bytes.Buffer
+ if err := ast.Fprint(&buf, f.fset, x, nil); err != nil {
+ panic(err)
+ }
+ return buf.String()
+}
+
+// walker adapts a function to satisfy the ast.Visitor interface.
+// The function return whether the walk should proceed into the node's children.
+type walker func(ast.Node) bool
+
+func (w walker) Visit(node ast.Node) ast.Visitor {
+ if w(node) {
+ return w
+ }
+ return nil
+}
+
+func isIdent(expr ast.Expr, ident string) bool {
+ id, ok := expr.(*ast.Ident)
+ return ok && id.Name == ident
+}
+
+// isBlank returns whether id is the blank identifier "_".
+// If id == nil, the answer is false.
+func isBlank(id *ast.Ident) bool { return id != nil && id.Name == "_" }
+
+func isPkgDot(expr ast.Expr, pkg, name string) bool {
+ sel, ok := expr.(*ast.SelectorExpr)
+ return ok && isIdent(sel.X, pkg) && isIdent(sel.Sel, name)
+}
+
+func isOne(expr ast.Expr) bool {
+ lit, ok := expr.(*ast.BasicLit)
+ return ok && lit.Kind == token.INT && lit.Value == "1"
+}
+
+func isCgoExported(f *ast.FuncDecl) bool {
+ if f.Recv != nil || f.Doc == nil {
+ return false
+ }
+
+ cgoExport := regexp.MustCompile(fmt.Sprintf("(?m)^//export %s$", regexp.QuoteMeta(f.Name.Name)))
+ for _, c := range f.Doc.List {
+ if cgoExport.MatchString(c.Text) {
+ return true
+ }
+ }
+ return false
+}
+
+var basicTypeKinds = map[types.BasicKind]string{
+ types.UntypedBool: "bool",
+ types.UntypedInt: "int",
+ types.UntypedRune: "rune",
+ types.UntypedFloat: "float64",
+ types.UntypedComplex: "complex128",
+ types.UntypedString: "string",
+}
+
+// isUntypedConst reports whether expr is an untyped constant,
+// and indicates what its default type is.
+// scope may be nil.
+func (f *file) isUntypedConst(expr ast.Expr) (defType string, ok bool) {
+ // Re-evaluate expr outside of its context to see if it's untyped.
+ // (An expr evaluated within, for example, an assignment context will get the type of the LHS.)
+ exprStr := f.render(expr)
+ tv, err := types.Eval(f.fset, f.pkg.typesPkg, expr.Pos(), exprStr)
+ if err != nil {
+ return "", false
+ }
+ if b, ok := tv.Type.(*types.Basic); ok {
+ if dt, ok := basicTypeKinds[b.Kind()]; ok {
+ return dt, true
+ }
+ }
+
+ return "", false
+}
+
+// firstLineOf renders the given node and returns its first line.
+// It will also match the indentation of another node.
+func (f *file) firstLineOf(node, match ast.Node) string {
+ line := f.render(node)
+ if i := strings.Index(line, "\n"); i >= 0 {
+ line = line[:i]
+ }
+ return f.indentOf(match) + line
+}
+
+func (f *file) indentOf(node ast.Node) string {
+ line := srcLine(f.src, f.fset.Position(node.Pos()))
+ for i, r := range line {
+ switch r {
+ case ' ', '\t':
+ default:
+ return line[:i]
+ }
+ }
+ return line // unusual or empty line
+}
+
+func (f *file) srcLineWithMatch(node ast.Node, pattern string) (m []string) {
+ line := srcLine(f.src, f.fset.Position(node.Pos()))
+ line = strings.TrimSuffix(line, "\n")
+ rx := regexp.MustCompile(pattern)
+ return rx.FindStringSubmatch(line)
+}
+
+// imports returns true if the current file imports the specified package path.
+func (f *file) imports(importPath string) bool {
+ all := astutil.Imports(f.fset, f.f)
+ for _, p := range all {
+ for _, i := range p {
+ uq, err := strconv.Unquote(i.Path.Value)
+ if err == nil && importPath == uq {
+ return true
+ }
+ }
+ }
+ return false
+}
+
+// srcLine returns the complete line at p, including the terminating newline.
+func srcLine(src []byte, p token.Position) string {
+ // Run to end of line in both directions if not at line start/end.
+ lo, hi := p.Offset, p.Offset+1
+ for lo > 0 && src[lo-1] != '\n' {
+ lo--
+ }
+ for hi < len(src) && src[hi-1] != '\n' {
+ hi++
+ }
+ return string(src[lo:hi])
+}
diff --git a/vendor/golang.org/x/tools/AUTHORS b/vendor/golang.org/x/tools/AUTHORS
new file mode 100644
index 0000000..15167cd
--- /dev/null
+++ b/vendor/golang.org/x/tools/AUTHORS
@@ -0,0 +1,3 @@
+# This source code refers to The Go Authors for copyright purposes.
+# The master list of authors is in the main Go distribution,
+# visible at http://tip.golang.org/AUTHORS.
diff --git a/vendor/golang.org/x/tools/CONTRIBUTORS b/vendor/golang.org/x/tools/CONTRIBUTORS
new file mode 100644
index 0000000..1c4577e
--- /dev/null
+++ b/vendor/golang.org/x/tools/CONTRIBUTORS
@@ -0,0 +1,3 @@
+# This source code was written by the Go contributors.
+# The master list of contributors is in the main Go distribution,
+# visible at http://tip.golang.org/CONTRIBUTORS.
diff --git a/vendor/golang.org/x/tools/LICENSE b/vendor/golang.org/x/tools/LICENSE
new file mode 100644
index 0000000..6a66aea
--- /dev/null
+++ b/vendor/golang.org/x/tools/LICENSE
@@ -0,0 +1,27 @@
+Copyright (c) 2009 The Go Authors. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+ * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/vendor/golang.org/x/tools/PATENTS b/vendor/golang.org/x/tools/PATENTS
new file mode 100644
index 0000000..7330990
--- /dev/null
+++ b/vendor/golang.org/x/tools/PATENTS
@@ -0,0 +1,22 @@
+Additional IP Rights Grant (Patents)
+
+"This implementation" means the copyrightable works distributed by
+Google as part of the Go project.
+
+Google hereby grants to You a perpetual, worldwide, non-exclusive,
+no-charge, royalty-free, irrevocable (except as stated in this section)
+patent license to make, have made, use, offer to sell, sell, import,
+transfer and otherwise run, modify and propagate the contents of this
+implementation of Go, where such license applies only to those patent
+claims, both currently owned or controlled by Google and acquired in
+the future, licensable by Google that are necessarily infringed by this
+implementation of Go. This grant does not include claims that would be
+infringed only as a consequence of further modification of this
+implementation. If you or your agent or exclusive licensee institute or
+order or agree to the institution of patent litigation against any
+entity (including a cross-claim or counterclaim in a lawsuit) alleging
+that this implementation of Go or any code incorporated within this
+implementation of Go constitutes direct or contributory patent
+infringement, or inducement of patent infringement, then any patent
+rights granted to you under this License for this implementation of Go
+shall terminate as of the date such litigation is filed.
diff --git a/vendor/golang.org/x/tools/go/ast/astutil/enclosing.go b/vendor/golang.org/x/tools/go/ast/astutil/enclosing.go
new file mode 100644
index 0000000..6b7052b
--- /dev/null
+++ b/vendor/golang.org/x/tools/go/ast/astutil/enclosing.go
@@ -0,0 +1,627 @@
+// Copyright 2013 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package astutil
+
+// This file defines utilities for working with source positions.
+
+import (
+ "fmt"
+ "go/ast"
+ "go/token"
+ "sort"
+)
+
+// PathEnclosingInterval returns the node that encloses the source
+// interval [start, end), and all its ancestors up to the AST root.
+//
+// The definition of "enclosing" used by this function considers
+// additional whitespace abutting a node to be enclosed by it.
+// In this example:
+//
+// z := x + y // add them
+// <-A->
+// <----B----->
+//
+// the ast.BinaryExpr(+) node is considered to enclose interval B
+// even though its [Pos()..End()) is actually only interval A.
+// This behaviour makes user interfaces more tolerant of imperfect
+// input.
+//
+// This function treats tokens as nodes, though they are not included
+// in the result. e.g. PathEnclosingInterval("+") returns the
+// enclosing ast.BinaryExpr("x + y").
+//
+// If start==end, the 1-char interval following start is used instead.
+//
+// The 'exact' result is true if the interval contains only path[0]
+// and perhaps some adjacent whitespace. It is false if the interval
+// overlaps multiple children of path[0], or if it contains only
+// interior whitespace of path[0].
+// In this example:
+//
+// z := x + y // add them
+// <--C--> <---E-->
+// ^
+// D
+//
+// intervals C, D and E are inexact. C is contained by the
+// z-assignment statement, because it spans three of its children (:=,
+// x, +). So too is the 1-char interval D, because it contains only
+// interior whitespace of the assignment. E is considered interior
+// whitespace of the BlockStmt containing the assignment.
+//
+// Precondition: [start, end) both lie within the same file as root.
+// TODO(adonovan): return (nil, false) in this case and remove precond.
+// Requires FileSet; see loader.tokenFileContainsPos.
+//
+// Postcondition: path is never nil; it always contains at least 'root'.
+//
+func PathEnclosingInterval(root *ast.File, start, end token.Pos) (path []ast.Node, exact bool) {
+ // fmt.Printf("EnclosingInterval %d %d\n", start, end) // debugging
+
+ // Precondition: node.[Pos..End) and adjoining whitespace contain [start, end).
+ var visit func(node ast.Node) bool
+ visit = func(node ast.Node) bool {
+ path = append(path, node)
+
+ nodePos := node.Pos()
+ nodeEnd := node.End()
+
+ // fmt.Printf("visit(%T, %d, %d)\n", node, nodePos, nodeEnd) // debugging
+
+ // Intersect [start, end) with interval of node.
+ if start < nodePos {
+ start = nodePos
+ }
+ if end > nodeEnd {
+ end = nodeEnd
+ }
+
+ // Find sole child that contains [start, end).
+ children := childrenOf(node)
+ l := len(children)
+ for i, child := range children {
+ // [childPos, childEnd) is unaugmented interval of child.
+ childPos := child.Pos()
+ childEnd := child.End()
+
+ // [augPos, augEnd) is whitespace-augmented interval of child.
+ augPos := childPos
+ augEnd := childEnd
+ if i > 0 {
+ augPos = children[i-1].End() // start of preceding whitespace
+ }
+ if i < l-1 {
+ nextChildPos := children[i+1].Pos()
+ // Does [start, end) lie between child and next child?
+ if start >= augEnd && end <= nextChildPos {
+ return false // inexact match
+ }
+ augEnd = nextChildPos // end of following whitespace
+ }
+
+ // fmt.Printf("\tchild %d: [%d..%d)\tcontains interval [%d..%d)?\n",
+ // i, augPos, augEnd, start, end) // debugging
+
+ // Does augmented child strictly contain [start, end)?
+ if augPos <= start && end <= augEnd {
+ _, isToken := child.(tokenNode)
+ return isToken || visit(child)
+ }
+
+ // Does [start, end) overlap multiple children?
+ // i.e. left-augmented child contains start
+ // but LR-augmented child does not contain end.
+ if start < childEnd && end > augEnd {
+ break
+ }
+ }
+
+ // No single child contained [start, end),
+ // so node is the result. Is it exact?
+
+ // (It's tempting to put this condition before the
+ // child loop, but it gives the wrong result in the
+ // case where a node (e.g. ExprStmt) and its sole
+ // child have equal intervals.)
+ if start == nodePos && end == nodeEnd {
+ return true // exact match
+ }
+
+ return false // inexact: overlaps multiple children
+ }
+
+ if start > end {
+ start, end = end, start
+ }
+
+ if start < root.End() && end > root.Pos() {
+ if start == end {
+ end = start + 1 // empty interval => interval of size 1
+ }
+ exact = visit(root)
+
+ // Reverse the path:
+ for i, l := 0, len(path); i < l/2; i++ {
+ path[i], path[l-1-i] = path[l-1-i], path[i]
+ }
+ } else {
+ // Selection lies within whitespace preceding the
+ // first (or following the last) declaration in the file.
+ // The result nonetheless always includes the ast.File.
+ path = append(path, root)
+ }
+
+ return
+}
+
+// tokenNode is a dummy implementation of ast.Node for a single token.
+// They are used transiently by PathEnclosingInterval but never escape
+// this package.
+//
+type tokenNode struct {
+ pos token.Pos
+ end token.Pos
+}
+
+func (n tokenNode) Pos() token.Pos {
+ return n.pos
+}
+
+func (n tokenNode) End() token.Pos {
+ return n.end
+}
+
+func tok(pos token.Pos, len int) ast.Node {
+ return tokenNode{pos, pos + token.Pos(len)}
+}
+
+// childrenOf returns the direct non-nil children of ast.Node n.
+// It may include fake ast.Node implementations for bare tokens.
+// it is not safe to call (e.g.) ast.Walk on such nodes.
+//
+func childrenOf(n ast.Node) []ast.Node {
+ var children []ast.Node
+
+ // First add nodes for all true subtrees.
+ ast.Inspect(n, func(node ast.Node) bool {
+ if node == n { // push n
+ return true // recur
+ }
+ if node != nil { // push child
+ children = append(children, node)
+ }
+ return false // no recursion
+ })
+
+ // Then add fake Nodes for bare tokens.
+ switch n := n.(type) {
+ case *ast.ArrayType:
+ children = append(children,
+ tok(n.Lbrack, len("[")),
+ tok(n.Elt.End(), len("]")))
+
+ case *ast.AssignStmt:
+ children = append(children,
+ tok(n.TokPos, len(n.Tok.String())))
+
+ case *ast.BasicLit:
+ children = append(children,
+ tok(n.ValuePos, len(n.Value)))
+
+ case *ast.BinaryExpr:
+ children = append(children, tok(n.OpPos, len(n.Op.String())))
+
+ case *ast.BlockStmt:
+ children = append(children,
+ tok(n.Lbrace, len("{")),
+ tok(n.Rbrace, len("}")))
+
+ case *ast.BranchStmt:
+ children = append(children,
+ tok(n.TokPos, len(n.Tok.String())))
+
+ case *ast.CallExpr:
+ children = append(children,
+ tok(n.Lparen, len("(")),
+ tok(n.Rparen, len(")")))
+ if n.Ellipsis != 0 {
+ children = append(children, tok(n.Ellipsis, len("...")))
+ }
+
+ case *ast.CaseClause:
+ if n.List == nil {
+ children = append(children,
+ tok(n.Case, len("default")))
+ } else {
+ children = append(children,
+ tok(n.Case, len("case")))
+ }
+ children = append(children, tok(n.Colon, len(":")))
+
+ case *ast.ChanType:
+ switch n.Dir {
+ case ast.RECV:
+ children = append(children, tok(n.Begin, len("<-chan")))
+ case ast.SEND:
+ children = append(children, tok(n.Begin, len("chan<-")))
+ case ast.RECV | ast.SEND:
+ children = append(children, tok(n.Begin, len("chan")))
+ }
+
+ case *ast.CommClause:
+ if n.Comm == nil {
+ children = append(children,
+ tok(n.Case, len("default")))
+ } else {
+ children = append(children,
+ tok(n.Case, len("case")))
+ }
+ children = append(children, tok(n.Colon, len(":")))
+
+ case *ast.Comment:
+ // nop
+
+ case *ast.CommentGroup:
+ // nop
+
+ case *ast.CompositeLit:
+ children = append(children,
+ tok(n.Lbrace, len("{")),
+ tok(n.Rbrace, len("{")))
+
+ case *ast.DeclStmt:
+ // nop
+
+ case *ast.DeferStmt:
+ children = append(children,
+ tok(n.Defer, len("defer")))
+
+ case *ast.Ellipsis:
+ children = append(children,
+ tok(n.Ellipsis, len("...")))
+
+ case *ast.EmptyStmt:
+ // nop
+
+ case *ast.ExprStmt:
+ // nop
+
+ case *ast.Field:
+ // TODO(adonovan): Field.{Doc,Comment,Tag}?
+
+ case *ast.FieldList:
+ children = append(children,
+ tok(n.Opening, len("(")),
+ tok(n.Closing, len(")")))
+
+ case *ast.File:
+ // TODO test: Doc
+ children = append(children,
+ tok(n.Package, len("package")))
+
+ case *ast.ForStmt:
+ children = append(children,
+ tok(n.For, len("for")))
+
+ case *ast.FuncDecl:
+ // TODO(adonovan): FuncDecl.Comment?
+
+ // Uniquely, FuncDecl breaks the invariant that
+ // preorder traversal yields tokens in lexical order:
+ // in fact, FuncDecl.Recv precedes FuncDecl.Type.Func.
+ //
+ // As a workaround, we inline the case for FuncType
+ // here and order things correctly.
+ //
+ children = nil // discard ast.Walk(FuncDecl) info subtrees
+ children = append(children, tok(n.Type.Func, len("func")))
+ if n.Recv != nil {
+ children = append(children, n.Recv)
+ }
+ children = append(children, n.Name)
+ if n.Type.Params != nil {
+ children = append(children, n.Type.Params)
+ }
+ if n.Type.Results != nil {
+ children = append(children, n.Type.Results)
+ }
+ if n.Body != nil {
+ children = append(children, n.Body)
+ }
+
+ case *ast.FuncLit:
+ // nop
+
+ case *ast.FuncType:
+ if n.Func != 0 {
+ children = append(children,
+ tok(n.Func, len("func")))
+ }
+
+ case *ast.GenDecl:
+ children = append(children,
+ tok(n.TokPos, len(n.Tok.String())))
+ if n.Lparen != 0 {
+ children = append(children,
+ tok(n.Lparen, len("(")),
+ tok(n.Rparen, len(")")))
+ }
+
+ case *ast.GoStmt:
+ children = append(children,
+ tok(n.Go, len("go")))
+
+ case *ast.Ident:
+ children = append(children,
+ tok(n.NamePos, len(n.Name)))
+
+ case *ast.IfStmt:
+ children = append(children,
+ tok(n.If, len("if")))
+
+ case *ast.ImportSpec:
+ // TODO(adonovan): ImportSpec.{Doc,EndPos}?
+
+ case *ast.IncDecStmt:
+ children = append(children,
+ tok(n.TokPos, len(n.Tok.String())))
+
+ case *ast.IndexExpr:
+ children = append(children,
+ tok(n.Lbrack, len("{")),
+ tok(n.Rbrack, len("}")))
+
+ case *ast.InterfaceType:
+ children = append(children,
+ tok(n.Interface, len("interface")))
+
+ case *ast.KeyValueExpr:
+ children = append(children,
+ tok(n.Colon, len(":")))
+
+ case *ast.LabeledStmt:
+ children = append(children,
+ tok(n.Colon, len(":")))
+
+ case *ast.MapType:
+ children = append(children,
+ tok(n.Map, len("map")))
+
+ case *ast.ParenExpr:
+ children = append(children,
+ tok(n.Lparen, len("(")),
+ tok(n.Rparen, len(")")))
+
+ case *ast.RangeStmt:
+ children = append(children,
+ tok(n.For, len("for")),
+ tok(n.TokPos, len(n.Tok.String())))
+
+ case *ast.ReturnStmt:
+ children = append(children,
+ tok(n.Return, len("return")))
+
+ case *ast.SelectStmt:
+ children = append(children,
+ tok(n.Select, len("select")))
+
+ case *ast.SelectorExpr:
+ // nop
+
+ case *ast.SendStmt:
+ children = append(children,
+ tok(n.Arrow, len("<-")))
+
+ case *ast.SliceExpr:
+ children = append(children,
+ tok(n.Lbrack, len("[")),
+ tok(n.Rbrack, len("]")))
+
+ case *ast.StarExpr:
+ children = append(children, tok(n.Star, len("*")))
+
+ case *ast.StructType:
+ children = append(children, tok(n.Struct, len("struct")))
+
+ case *ast.SwitchStmt:
+ children = append(children, tok(n.Switch, len("switch")))
+
+ case *ast.TypeAssertExpr:
+ children = append(children,
+ tok(n.Lparen-1, len(".")),
+ tok(n.Lparen, len("(")),
+ tok(n.Rparen, len(")")))
+
+ case *ast.TypeSpec:
+ // TODO(adonovan): TypeSpec.{Doc,Comment}?
+
+ case *ast.TypeSwitchStmt:
+ children = append(children, tok(n.Switch, len("switch")))
+
+ case *ast.UnaryExpr:
+ children = append(children, tok(n.OpPos, len(n.Op.String())))
+
+ case *ast.ValueSpec:
+ // TODO(adonovan): ValueSpec.{Doc,Comment}?
+
+ case *ast.BadDecl, *ast.BadExpr, *ast.BadStmt:
+ // nop
+ }
+
+ // TODO(adonovan): opt: merge the logic of ast.Inspect() into
+ // the switch above so we can make interleaved callbacks for
+ // both Nodes and Tokens in the right order and avoid the need
+ // to sort.
+ sort.Sort(byPos(children))
+
+ return children
+}
+
+type byPos []ast.Node
+
+func (sl byPos) Len() int {
+ return len(sl)
+}
+func (sl byPos) Less(i, j int) bool {
+ return sl[i].Pos() < sl[j].Pos()
+}
+func (sl byPos) Swap(i, j int) {
+ sl[i], sl[j] = sl[j], sl[i]
+}
+
+// NodeDescription returns a description of the concrete type of n suitable
+// for a user interface.
+//
+// TODO(adonovan): in some cases (e.g. Field, FieldList, Ident,
+// StarExpr) we could be much more specific given the path to the AST
+// root. Perhaps we should do that.
+//
+func NodeDescription(n ast.Node) string {
+ switch n := n.(type) {
+ case *ast.ArrayType:
+ return "array type"
+ case *ast.AssignStmt:
+ return "assignment"
+ case *ast.BadDecl:
+ return "bad declaration"
+ case *ast.BadExpr:
+ return "bad expression"
+ case *ast.BadStmt:
+ return "bad statement"
+ case *ast.BasicLit:
+ return "basic literal"
+ case *ast.BinaryExpr:
+ return fmt.Sprintf("binary %s operation", n.Op)
+ case *ast.BlockStmt:
+ return "block"
+ case *ast.BranchStmt:
+ switch n.Tok {
+ case token.BREAK:
+ return "break statement"
+ case token.CONTINUE:
+ return "continue statement"
+ case token.GOTO:
+ return "goto statement"
+ case token.FALLTHROUGH:
+ return "fall-through statement"
+ }
+ case *ast.CallExpr:
+ if len(n.Args) == 1 && !n.Ellipsis.IsValid() {
+ return "function call (or conversion)"
+ }
+ return "function call"
+ case *ast.CaseClause:
+ return "case clause"
+ case *ast.ChanType:
+ return "channel type"
+ case *ast.CommClause:
+ return "communication clause"
+ case *ast.Comment:
+ return "comment"
+ case *ast.CommentGroup:
+ return "comment group"
+ case *ast.CompositeLit:
+ return "composite literal"
+ case *ast.DeclStmt:
+ return NodeDescription(n.Decl) + " statement"
+ case *ast.DeferStmt:
+ return "defer statement"
+ case *ast.Ellipsis:
+ return "ellipsis"
+ case *ast.EmptyStmt:
+ return "empty statement"
+ case *ast.ExprStmt:
+ return "expression statement"
+ case *ast.Field:
+ // Can be any of these:
+ // struct {x, y int} -- struct field(s)
+ // struct {T} -- anon struct field
+ // interface {I} -- interface embedding
+ // interface {f()} -- interface method
+ // func (A) func(B) C -- receiver, param(s), result(s)
+ return "field/method/parameter"
+ case *ast.FieldList:
+ return "field/method/parameter list"
+ case *ast.File:
+ return "source file"
+ case *ast.ForStmt:
+ return "for loop"
+ case *ast.FuncDecl:
+ return "function declaration"
+ case *ast.FuncLit:
+ return "function literal"
+ case *ast.FuncType:
+ return "function type"
+ case *ast.GenDecl:
+ switch n.Tok {
+ case token.IMPORT:
+ return "import declaration"
+ case token.CONST:
+ return "constant declaration"
+ case token.TYPE:
+ return "type declaration"
+ case token.VAR:
+ return "variable declaration"
+ }
+ case *ast.GoStmt:
+ return "go statement"
+ case *ast.Ident:
+ return "identifier"
+ case *ast.IfStmt:
+ return "if statement"
+ case *ast.ImportSpec:
+ return "import specification"
+ case *ast.IncDecStmt:
+ if n.Tok == token.INC {
+ return "increment statement"
+ }
+ return "decrement statement"
+ case *ast.IndexExpr:
+ return "index expression"
+ case *ast.InterfaceType:
+ return "interface type"
+ case *ast.KeyValueExpr:
+ return "key/value association"
+ case *ast.LabeledStmt:
+ return "statement label"
+ case *ast.MapType:
+ return "map type"
+ case *ast.Package:
+ return "package"
+ case *ast.ParenExpr:
+ return "parenthesized " + NodeDescription(n.X)
+ case *ast.RangeStmt:
+ return "range loop"
+ case *ast.ReturnStmt:
+ return "return statement"
+ case *ast.SelectStmt:
+ return "select statement"
+ case *ast.SelectorExpr:
+ return "selector"
+ case *ast.SendStmt:
+ return "channel send"
+ case *ast.SliceExpr:
+ return "slice expression"
+ case *ast.StarExpr:
+ return "*-operation" // load/store expr or pointer type
+ case *ast.StructType:
+ return "struct type"
+ case *ast.SwitchStmt:
+ return "switch statement"
+ case *ast.TypeAssertExpr:
+ return "type assertion"
+ case *ast.TypeSpec:
+ return "type specification"
+ case *ast.TypeSwitchStmt:
+ return "type switch"
+ case *ast.UnaryExpr:
+ return fmt.Sprintf("unary %s operation", n.Op)
+ case *ast.ValueSpec:
+ return "value specification"
+
+ }
+ panic(fmt.Sprintf("unexpected node type: %T", n))
+}
diff --git a/vendor/golang.org/x/tools/go/ast/astutil/imports.go b/vendor/golang.org/x/tools/go/ast/astutil/imports.go
new file mode 100644
index 0000000..3e4b195
--- /dev/null
+++ b/vendor/golang.org/x/tools/go/ast/astutil/imports.go
@@ -0,0 +1,481 @@
+// Copyright 2013 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Package astutil contains common utilities for working with the Go AST.
+package astutil // import "golang.org/x/tools/go/ast/astutil"
+
+import (
+ "fmt"
+ "go/ast"
+ "go/token"
+ "strconv"
+ "strings"
+)
+
+// AddImport adds the import path to the file f, if absent.
+func AddImport(fset *token.FileSet, f *ast.File, path string) (added bool) {
+ return AddNamedImport(fset, f, "", path)
+}
+
+// AddNamedImport adds the import with the given name and path to the file f, if absent.
+// If name is not empty, it is used to rename the import.
+//
+// For example, calling
+// AddNamedImport(fset, f, "pathpkg", "path")
+// adds
+// import pathpkg "path"
+func AddNamedImport(fset *token.FileSet, f *ast.File, name, path string) (added bool) {
+ if imports(f, name, path) {
+ return false
+ }
+
+ newImport := &ast.ImportSpec{
+ Path: &ast.BasicLit{
+ Kind: token.STRING,
+ Value: strconv.Quote(path),
+ },
+ }
+ if name != "" {
+ newImport.Name = &ast.Ident{Name: name}
+ }
+
+ // Find an import decl to add to.
+ // The goal is to find an existing import
+ // whose import path has the longest shared
+ // prefix with path.
+ var (
+ bestMatch = -1 // length of longest shared prefix
+ lastImport = -1 // index in f.Decls of the file's final import decl
+ impDecl *ast.GenDecl // import decl containing the best match
+ impIndex = -1 // spec index in impDecl containing the best match
+
+ isThirdPartyPath = isThirdParty(path)
+ )
+ for i, decl := range f.Decls {
+ gen, ok := decl.(*ast.GenDecl)
+ if ok && gen.Tok == token.IMPORT {
+ lastImport = i
+ // Do not add to import "C", to avoid disrupting the
+ // association with its doc comment, breaking cgo.
+ if declImports(gen, "C") {
+ continue
+ }
+
+ // Match an empty import decl if that's all that is available.
+ if len(gen.Specs) == 0 && bestMatch == -1 {
+ impDecl = gen
+ }
+
+ // Compute longest shared prefix with imports in this group and find best
+ // matched import spec.
+ // 1. Always prefer import spec with longest shared prefix.
+ // 2. While match length is 0,
+ // - for stdlib package: prefer first import spec.
+ // - for third party package: prefer first third party import spec.
+ // We cannot use last import spec as best match for third party package
+ // because grouped imports are usually placed last by goimports -local
+ // flag.
+ // See issue #19190.
+ seenAnyThirdParty := false
+ for j, spec := range gen.Specs {
+ impspec := spec.(*ast.ImportSpec)
+ p := importPath(impspec)
+ n := matchLen(p, path)
+ if n > bestMatch || (bestMatch == 0 && !seenAnyThirdParty && isThirdPartyPath) {
+ bestMatch = n
+ impDecl = gen
+ impIndex = j
+ }
+ seenAnyThirdParty = seenAnyThirdParty || isThirdParty(p)
+ }
+ }
+ }
+
+ // If no import decl found, add one after the last import.
+ if impDecl == nil {
+ impDecl = &ast.GenDecl{
+ Tok: token.IMPORT,
+ }
+ if lastImport >= 0 {
+ impDecl.TokPos = f.Decls[lastImport].End()
+ } else {
+ // There are no existing imports.
+ // Our new import, preceded by a blank line, goes after the package declaration
+ // and after the comment, if any, that starts on the same line as the
+ // package declaration.
+ impDecl.TokPos = f.Package
+
+ file := fset.File(f.Package)
+ pkgLine := file.Line(f.Package)
+ for _, c := range f.Comments {
+ if file.Line(c.Pos()) > pkgLine {
+ break
+ }
+ // +2 for a blank line
+ impDecl.TokPos = c.End() + 2
+ }
+ }
+ f.Decls = append(f.Decls, nil)
+ copy(f.Decls[lastImport+2:], f.Decls[lastImport+1:])
+ f.Decls[lastImport+1] = impDecl
+ }
+
+ // Insert new import at insertAt.
+ insertAt := 0
+ if impIndex >= 0 {
+ // insert after the found import
+ insertAt = impIndex + 1
+ }
+ impDecl.Specs = append(impDecl.Specs, nil)
+ copy(impDecl.Specs[insertAt+1:], impDecl.Specs[insertAt:])
+ impDecl.Specs[insertAt] = newImport
+ pos := impDecl.Pos()
+ if insertAt > 0 {
+ // If there is a comment after an existing import, preserve the comment
+ // position by adding the new import after the comment.
+ if spec, ok := impDecl.Specs[insertAt-1].(*ast.ImportSpec); ok && spec.Comment != nil {
+ pos = spec.Comment.End()
+ } else {
+ // Assign same position as the previous import,
+ // so that the sorter sees it as being in the same block.
+ pos = impDecl.Specs[insertAt-1].Pos()
+ }
+ }
+ if newImport.Name != nil {
+ newImport.Name.NamePos = pos
+ }
+ newImport.Path.ValuePos = pos
+ newImport.EndPos = pos
+
+ // Clean up parens. impDecl contains at least one spec.
+ if len(impDecl.Specs) == 1 {
+ // Remove unneeded parens.
+ impDecl.Lparen = token.NoPos
+ } else if !impDecl.Lparen.IsValid() {
+ // impDecl needs parens added.
+ impDecl.Lparen = impDecl.Specs[0].Pos()
+ }
+
+ f.Imports = append(f.Imports, newImport)
+
+ if len(f.Decls) <= 1 {
+ return true
+ }
+
+ // Merge all the import declarations into the first one.
+ var first *ast.GenDecl
+ for i := 0; i < len(f.Decls); i++ {
+ decl := f.Decls[i]
+ gen, ok := decl.(*ast.GenDecl)
+ if !ok || gen.Tok != token.IMPORT || declImports(gen, "C") {
+ continue
+ }
+ if first == nil {
+ first = gen
+ continue // Don't touch the first one.
+ }
+ // We now know there is more than one package in this import
+ // declaration. Ensure that it ends up parenthesized.
+ first.Lparen = first.Pos()
+ // Move the imports of the other import declaration to the first one.
+ for _, spec := range gen.Specs {
+ spec.(*ast.ImportSpec).Path.ValuePos = first.Pos()
+ first.Specs = append(first.Specs, spec)
+ }
+ f.Decls = append(f.Decls[:i], f.Decls[i+1:]...)
+ i--
+ }
+
+ return true
+}
+
+func isThirdParty(importPath string) bool {
+ // Third party package import path usually contains "." (".com", ".org", ...)
+ // This logic is taken from golang.org/x/tools/imports package.
+ return strings.Contains(importPath, ".")
+}
+
+// DeleteImport deletes the import path from the file f, if present.
+// If there are duplicate import declarations, all matching ones are deleted.
+func DeleteImport(fset *token.FileSet, f *ast.File, path string) (deleted bool) {
+ return DeleteNamedImport(fset, f, "", path)
+}
+
+// DeleteNamedImport deletes the import with the given name and path from the file f, if present.
+// If there are duplicate import declarations, all matching ones are deleted.
+func DeleteNamedImport(fset *token.FileSet, f *ast.File, name, path string) (deleted bool) {
+ var delspecs []*ast.ImportSpec
+ var delcomments []*ast.CommentGroup
+
+ // Find the import nodes that import path, if any.
+ for i := 0; i < len(f.Decls); i++ {
+ decl := f.Decls[i]
+ gen, ok := decl.(*ast.GenDecl)
+ if !ok || gen.Tok != token.IMPORT {
+ continue
+ }
+ for j := 0; j < len(gen.Specs); j++ {
+ spec := gen.Specs[j]
+ impspec := spec.(*ast.ImportSpec)
+ if importName(impspec) != name || importPath(impspec) != path {
+ continue
+ }
+
+ // We found an import spec that imports path.
+ // Delete it.
+ delspecs = append(delspecs, impspec)
+ deleted = true
+ copy(gen.Specs[j:], gen.Specs[j+1:])
+ gen.Specs = gen.Specs[:len(gen.Specs)-1]
+
+ // If this was the last import spec in this decl,
+ // delete the decl, too.
+ if len(gen.Specs) == 0 {
+ copy(f.Decls[i:], f.Decls[i+1:])
+ f.Decls = f.Decls[:len(f.Decls)-1]
+ i--
+ break
+ } else if len(gen.Specs) == 1 {
+ if impspec.Doc != nil {
+ delcomments = append(delcomments, impspec.Doc)
+ }
+ if impspec.Comment != nil {
+ delcomments = append(delcomments, impspec.Comment)
+ }
+ for _, cg := range f.Comments {
+ // Found comment on the same line as the import spec.
+ if cg.End() < impspec.Pos() && fset.Position(cg.End()).Line == fset.Position(impspec.Pos()).Line {
+ delcomments = append(delcomments, cg)
+ break
+ }
+ }
+
+ spec := gen.Specs[0].(*ast.ImportSpec)
+
+ // Move the documentation right after the import decl.
+ if spec.Doc != nil {
+ for fset.Position(gen.TokPos).Line+1 < fset.Position(spec.Doc.Pos()).Line {
+ fset.File(gen.TokPos).MergeLine(fset.Position(gen.TokPos).Line)
+ }
+ }
+ for _, cg := range f.Comments {
+ if cg.End() < spec.Pos() && fset.Position(cg.End()).Line == fset.Position(spec.Pos()).Line {
+ for fset.Position(gen.TokPos).Line+1 < fset.Position(spec.Pos()).Line {
+ fset.File(gen.TokPos).MergeLine(fset.Position(gen.TokPos).Line)
+ }
+ break
+ }
+ }
+ }
+ if j > 0 {
+ lastImpspec := gen.Specs[j-1].(*ast.ImportSpec)
+ lastLine := fset.Position(lastImpspec.Path.ValuePos).Line
+ line := fset.Position(impspec.Path.ValuePos).Line
+
+ // We deleted an entry but now there may be
+ // a blank line-sized hole where the import was.
+ if line-lastLine > 1 {
+ // There was a blank line immediately preceding the deleted import,
+ // so there's no need to close the hole.
+ // Do nothing.
+ } else if line != fset.File(gen.Rparen).LineCount() {
+ // There was no blank line. Close the hole.
+ fset.File(gen.Rparen).MergeLine(line)
+ }
+ }
+ j--
+ }
+ }
+
+ // Delete imports from f.Imports.
+ for i := 0; i < len(f.Imports); i++ {
+ imp := f.Imports[i]
+ for j, del := range delspecs {
+ if imp == del {
+ copy(f.Imports[i:], f.Imports[i+1:])
+ f.Imports = f.Imports[:len(f.Imports)-1]
+ copy(delspecs[j:], delspecs[j+1:])
+ delspecs = delspecs[:len(delspecs)-1]
+ i--
+ break
+ }
+ }
+ }
+
+ // Delete comments from f.Comments.
+ for i := 0; i < len(f.Comments); i++ {
+ cg := f.Comments[i]
+ for j, del := range delcomments {
+ if cg == del {
+ copy(f.Comments[i:], f.Comments[i+1:])
+ f.Comments = f.Comments[:len(f.Comments)-1]
+ copy(delcomments[j:], delcomments[j+1:])
+ delcomments = delcomments[:len(delcomments)-1]
+ i--
+ break
+ }
+ }
+ }
+
+ if len(delspecs) > 0 {
+ panic(fmt.Sprintf("deleted specs from Decls but not Imports: %v", delspecs))
+ }
+
+ return
+}
+
+// RewriteImport rewrites any import of path oldPath to path newPath.
+func RewriteImport(fset *token.FileSet, f *ast.File, oldPath, newPath string) (rewrote bool) {
+ for _, imp := range f.Imports {
+ if importPath(imp) == oldPath {
+ rewrote = true
+ // record old End, because the default is to compute
+ // it using the length of imp.Path.Value.
+ imp.EndPos = imp.End()
+ imp.Path.Value = strconv.Quote(newPath)
+ }
+ }
+ return
+}
+
+// UsesImport reports whether a given import is used.
+func UsesImport(f *ast.File, path string) (used bool) {
+ spec := importSpec(f, path)
+ if spec == nil {
+ return
+ }
+
+ name := spec.Name.String()
+ switch name {
+ case "":
+ // If the package name is not explicitly specified,
+ // make an educated guess. This is not guaranteed to be correct.
+ lastSlash := strings.LastIndex(path, "/")
+ if lastSlash == -1 {
+ name = path
+ } else {
+ name = path[lastSlash+1:]
+ }
+ case "_", ".":
+ // Not sure if this import is used - err on the side of caution.
+ return true
+ }
+
+ ast.Walk(visitFn(func(n ast.Node) {
+ sel, ok := n.(*ast.SelectorExpr)
+ if ok && isTopName(sel.X, name) {
+ used = true
+ }
+ }), f)
+
+ return
+}
+
+type visitFn func(node ast.Node)
+
+func (fn visitFn) Visit(node ast.Node) ast.Visitor {
+ fn(node)
+ return fn
+}
+
+// imports reports whether f has an import with the specified name and path.
+func imports(f *ast.File, name, path string) bool {
+ for _, s := range f.Imports {
+ if importName(s) == name && importPath(s) == path {
+ return true
+ }
+ }
+ return false
+}
+
+// importSpec returns the import spec if f imports path,
+// or nil otherwise.
+func importSpec(f *ast.File, path string) *ast.ImportSpec {
+ for _, s := range f.Imports {
+ if importPath(s) == path {
+ return s
+ }
+ }
+ return nil
+}
+
+// importName returns the name of s,
+// or "" if the import is not named.
+func importName(s *ast.ImportSpec) string {
+ if s.Name == nil {
+ return ""
+ }
+ return s.Name.Name
+}
+
+// importPath returns the unquoted import path of s,
+// or "" if the path is not properly quoted.
+func importPath(s *ast.ImportSpec) string {
+ t, err := strconv.Unquote(s.Path.Value)
+ if err != nil {
+ return ""
+ }
+ return t
+}
+
+// declImports reports whether gen contains an import of path.
+func declImports(gen *ast.GenDecl, path string) bool {
+ if gen.Tok != token.IMPORT {
+ return false
+ }
+ for _, spec := range gen.Specs {
+ impspec := spec.(*ast.ImportSpec)
+ if importPath(impspec) == path {
+ return true
+ }
+ }
+ return false
+}
+
+// matchLen returns the length of the longest path segment prefix shared by x and y.
+func matchLen(x, y string) int {
+ n := 0
+ for i := 0; i < len(x) && i < len(y) && x[i] == y[i]; i++ {
+ if x[i] == '/' {
+ n++
+ }
+ }
+ return n
+}
+
+// isTopName returns true if n is a top-level unresolved identifier with the given name.
+func isTopName(n ast.Expr, name string) bool {
+ id, ok := n.(*ast.Ident)
+ return ok && id.Name == name && id.Obj == nil
+}
+
+// Imports returns the file imports grouped by paragraph.
+func Imports(fset *token.FileSet, f *ast.File) [][]*ast.ImportSpec {
+ var groups [][]*ast.ImportSpec
+
+ for _, decl := range f.Decls {
+ genDecl, ok := decl.(*ast.GenDecl)
+ if !ok || genDecl.Tok != token.IMPORT {
+ break
+ }
+
+ group := []*ast.ImportSpec{}
+
+ var lastLine int
+ for _, spec := range genDecl.Specs {
+ importSpec := spec.(*ast.ImportSpec)
+ pos := importSpec.Path.ValuePos
+ line := fset.Position(pos).Line
+ if lastLine > 0 && pos > 0 && line-lastLine > 1 {
+ groups = append(groups, group)
+ group = []*ast.ImportSpec{}
+ }
+ group = append(group, importSpec)
+ lastLine = line
+ }
+ groups = append(groups, group)
+ }
+
+ return groups
+}
diff --git a/vendor/golang.org/x/tools/go/ast/astutil/rewrite.go b/vendor/golang.org/x/tools/go/ast/astutil/rewrite.go
new file mode 100644
index 0000000..cf72ea9
--- /dev/null
+++ b/vendor/golang.org/x/tools/go/ast/astutil/rewrite.go
@@ -0,0 +1,477 @@
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package astutil
+
+import (
+ "fmt"
+ "go/ast"
+ "reflect"
+ "sort"
+)
+
+// An ApplyFunc is invoked by Apply for each node n, even if n is nil,
+// before and/or after the node's children, using a Cursor describing
+// the current node and providing operations on it.
+//
+// The return value of ApplyFunc controls the syntax tree traversal.
+// See Apply for details.
+type ApplyFunc func(*Cursor) bool
+
+// Apply traverses a syntax tree recursively, starting with root,
+// and calling pre and post for each node as described below.
+// Apply returns the syntax tree, possibly modified.
+//
+// If pre is not nil, it is called for each node before the node's
+// children are traversed (pre-order). If pre returns false, no
+// children are traversed, and post is not called for that node.
+//
+// If post is not nil, and a prior call of pre didn't return false,
+// post is called for each node after its children are traversed
+// (post-order). If post returns false, traversal is terminated and
+// Apply returns immediately.
+//
+// Only fields that refer to AST nodes are considered children;
+// i.e., token.Pos, Scopes, Objects, and fields of basic types
+// (strings, etc.) are ignored.
+//
+// Children are traversed in the order in which they appear in the
+// respective node's struct definition. A package's files are
+// traversed in the filenames' alphabetical order.
+//
+func Apply(root ast.Node, pre, post ApplyFunc) (result ast.Node) {
+ parent := &struct{ ast.Node }{root}
+ defer func() {
+ if r := recover(); r != nil && r != abort {
+ panic(r)
+ }
+ result = parent.Node
+ }()
+ a := &application{pre: pre, post: post}
+ a.apply(parent, "Node", nil, root)
+ return
+}
+
+var abort = new(int) // singleton, to signal termination of Apply
+
+// A Cursor describes a node encountered during Apply.
+// Information about the node and its parent is available
+// from the Node, Parent, Name, and Index methods.
+//
+// If p is a variable of type and value of the current parent node
+// c.Parent(), and f is the field identifier with name c.Name(),
+// the following invariants hold:
+//
+// p.f == c.Node() if c.Index() < 0
+// p.f[c.Index()] == c.Node() if c.Index() >= 0
+//
+// The methods Replace, Delete, InsertBefore, and InsertAfter
+// can be used to change the AST without disrupting Apply.
+type Cursor struct {
+ parent ast.Node
+ name string
+ iter *iterator // valid if non-nil
+ node ast.Node
+}
+
+// Node returns the current Node.
+func (c *Cursor) Node() ast.Node { return c.node }
+
+// Parent returns the parent of the current Node.
+func (c *Cursor) Parent() ast.Node { return c.parent }
+
+// Name returns the name of the parent Node field that contains the current Node.
+// If the parent is a *ast.Package and the current Node is a *ast.File, Name returns
+// the filename for the current Node.
+func (c *Cursor) Name() string { return c.name }
+
+// Index reports the index >= 0 of the current Node in the slice of Nodes that
+// contains it, or a value < 0 if the current Node is not part of a slice.
+// The index of the current node changes if InsertBefore is called while
+// processing the current node.
+func (c *Cursor) Index() int {
+ if c.iter != nil {
+ return c.iter.index
+ }
+ return -1
+}
+
+// field returns the current node's parent field value.
+func (c *Cursor) field() reflect.Value {
+ return reflect.Indirect(reflect.ValueOf(c.parent)).FieldByName(c.name)
+}
+
+// Replace replaces the current Node with n.
+// The replacement node is not walked by Apply.
+func (c *Cursor) Replace(n ast.Node) {
+ if _, ok := c.node.(*ast.File); ok {
+ file, ok := n.(*ast.File)
+ if !ok {
+ panic("attempt to replace *ast.File with non-*ast.File")
+ }
+ c.parent.(*ast.Package).Files[c.name] = file
+ return
+ }
+
+ v := c.field()
+ if i := c.Index(); i >= 0 {
+ v = v.Index(i)
+ }
+ v.Set(reflect.ValueOf(n))
+}
+
+// Delete deletes the current Node from its containing slice.
+// If the current Node is not part of a slice, Delete panics.
+// As a special case, if the current node is a package file,
+// Delete removes it from the package's Files map.
+func (c *Cursor) Delete() {
+ if _, ok := c.node.(*ast.File); ok {
+ delete(c.parent.(*ast.Package).Files, c.name)
+ return
+ }
+
+ i := c.Index()
+ if i < 0 {
+ panic("Delete node not contained in slice")
+ }
+ v := c.field()
+ l := v.Len()
+ reflect.Copy(v.Slice(i, l), v.Slice(i+1, l))
+ v.Index(l - 1).Set(reflect.Zero(v.Type().Elem()))
+ v.SetLen(l - 1)
+ c.iter.step--
+}
+
+// InsertAfter inserts n after the current Node in its containing slice.
+// If the current Node is not part of a slice, InsertAfter panics.
+// Apply does not walk n.
+func (c *Cursor) InsertAfter(n ast.Node) {
+ i := c.Index()
+ if i < 0 {
+ panic("InsertAfter node not contained in slice")
+ }
+ v := c.field()
+ v.Set(reflect.Append(v, reflect.Zero(v.Type().Elem())))
+ l := v.Len()
+ reflect.Copy(v.Slice(i+2, l), v.Slice(i+1, l))
+ v.Index(i + 1).Set(reflect.ValueOf(n))
+ c.iter.step++
+}
+
+// InsertBefore inserts n before the current Node in its containing slice.
+// If the current Node is not part of a slice, InsertBefore panics.
+// Apply will not walk n.
+func (c *Cursor) InsertBefore(n ast.Node) {
+ i := c.Index()
+ if i < 0 {
+ panic("InsertBefore node not contained in slice")
+ }
+ v := c.field()
+ v.Set(reflect.Append(v, reflect.Zero(v.Type().Elem())))
+ l := v.Len()
+ reflect.Copy(v.Slice(i+1, l), v.Slice(i, l))
+ v.Index(i).Set(reflect.ValueOf(n))
+ c.iter.index++
+}
+
+// application carries all the shared data so we can pass it around cheaply.
+type application struct {
+ pre, post ApplyFunc
+ cursor Cursor
+ iter iterator
+}
+
+func (a *application) apply(parent ast.Node, name string, iter *iterator, n ast.Node) {
+ // convert typed nil into untyped nil
+ if v := reflect.ValueOf(n); v.Kind() == reflect.Ptr && v.IsNil() {
+ n = nil
+ }
+
+ // avoid heap-allocating a new cursor for each apply call; reuse a.cursor instead
+ saved := a.cursor
+ a.cursor.parent = parent
+ a.cursor.name = name
+ a.cursor.iter = iter
+ a.cursor.node = n
+
+ if a.pre != nil && !a.pre(&a.cursor) {
+ a.cursor = saved
+ return
+ }
+
+ // walk children
+ // (the order of the cases matches the order of the corresponding node types in go/ast)
+ switch n := n.(type) {
+ case nil:
+ // nothing to do
+
+ // Comments and fields
+ case *ast.Comment:
+ // nothing to do
+
+ case *ast.CommentGroup:
+ if n != nil {
+ a.applyList(n, "List")
+ }
+
+ case *ast.Field:
+ a.apply(n, "Doc", nil, n.Doc)
+ a.applyList(n, "Names")
+ a.apply(n, "Type", nil, n.Type)
+ a.apply(n, "Tag", nil, n.Tag)
+ a.apply(n, "Comment", nil, n.Comment)
+
+ case *ast.FieldList:
+ a.applyList(n, "List")
+
+ // Expressions
+ case *ast.BadExpr, *ast.Ident, *ast.BasicLit:
+ // nothing to do
+
+ case *ast.Ellipsis:
+ a.apply(n, "Elt", nil, n.Elt)
+
+ case *ast.FuncLit:
+ a.apply(n, "Type", nil, n.Type)
+ a.apply(n, "Body", nil, n.Body)
+
+ case *ast.CompositeLit:
+ a.apply(n, "Type", nil, n.Type)
+ a.applyList(n, "Elts")
+
+ case *ast.ParenExpr:
+ a.apply(n, "X", nil, n.X)
+
+ case *ast.SelectorExpr:
+ a.apply(n, "X", nil, n.X)
+ a.apply(n, "Sel", nil, n.Sel)
+
+ case *ast.IndexExpr:
+ a.apply(n, "X", nil, n.X)
+ a.apply(n, "Index", nil, n.Index)
+
+ case *ast.SliceExpr:
+ a.apply(n, "X", nil, n.X)
+ a.apply(n, "Low", nil, n.Low)
+ a.apply(n, "High", nil, n.High)
+ a.apply(n, "Max", nil, n.Max)
+
+ case *ast.TypeAssertExpr:
+ a.apply(n, "X", nil, n.X)
+ a.apply(n, "Type", nil, n.Type)
+
+ case *ast.CallExpr:
+ a.apply(n, "Fun", nil, n.Fun)
+ a.applyList(n, "Args")
+
+ case *ast.StarExpr:
+ a.apply(n, "X", nil, n.X)
+
+ case *ast.UnaryExpr:
+ a.apply(n, "X", nil, n.X)
+
+ case *ast.BinaryExpr:
+ a.apply(n, "X", nil, n.X)
+ a.apply(n, "Y", nil, n.Y)
+
+ case *ast.KeyValueExpr:
+ a.apply(n, "Key", nil, n.Key)
+ a.apply(n, "Value", nil, n.Value)
+
+ // Types
+ case *ast.ArrayType:
+ a.apply(n, "Len", nil, n.Len)
+ a.apply(n, "Elt", nil, n.Elt)
+
+ case *ast.StructType:
+ a.apply(n, "Fields", nil, n.Fields)
+
+ case *ast.FuncType:
+ a.apply(n, "Params", nil, n.Params)
+ a.apply(n, "Results", nil, n.Results)
+
+ case *ast.InterfaceType:
+ a.apply(n, "Methods", nil, n.Methods)
+
+ case *ast.MapType:
+ a.apply(n, "Key", nil, n.Key)
+ a.apply(n, "Value", nil, n.Value)
+
+ case *ast.ChanType:
+ a.apply(n, "Value", nil, n.Value)
+
+ // Statements
+ case *ast.BadStmt:
+ // nothing to do
+
+ case *ast.DeclStmt:
+ a.apply(n, "Decl", nil, n.Decl)
+
+ case *ast.EmptyStmt:
+ // nothing to do
+
+ case *ast.LabeledStmt:
+ a.apply(n, "Label", nil, n.Label)
+ a.apply(n, "Stmt", nil, n.Stmt)
+
+ case *ast.ExprStmt:
+ a.apply(n, "X", nil, n.X)
+
+ case *ast.SendStmt:
+ a.apply(n, "Chan", nil, n.Chan)
+ a.apply(n, "Value", nil, n.Value)
+
+ case *ast.IncDecStmt:
+ a.apply(n, "X", nil, n.X)
+
+ case *ast.AssignStmt:
+ a.applyList(n, "Lhs")
+ a.applyList(n, "Rhs")
+
+ case *ast.GoStmt:
+ a.apply(n, "Call", nil, n.Call)
+
+ case *ast.DeferStmt:
+ a.apply(n, "Call", nil, n.Call)
+
+ case *ast.ReturnStmt:
+ a.applyList(n, "Results")
+
+ case *ast.BranchStmt:
+ a.apply(n, "Label", nil, n.Label)
+
+ case *ast.BlockStmt:
+ a.applyList(n, "List")
+
+ case *ast.IfStmt:
+ a.apply(n, "Init", nil, n.Init)
+ a.apply(n, "Cond", nil, n.Cond)
+ a.apply(n, "Body", nil, n.Body)
+ a.apply(n, "Else", nil, n.Else)
+
+ case *ast.CaseClause:
+ a.applyList(n, "List")
+ a.applyList(n, "Body")
+
+ case *ast.SwitchStmt:
+ a.apply(n, "Init", nil, n.Init)
+ a.apply(n, "Tag", nil, n.Tag)
+ a.apply(n, "Body", nil, n.Body)
+
+ case *ast.TypeSwitchStmt:
+ a.apply(n, "Init", nil, n.Init)
+ a.apply(n, "Assign", nil, n.Assign)
+ a.apply(n, "Body", nil, n.Body)
+
+ case *ast.CommClause:
+ a.apply(n, "Comm", nil, n.Comm)
+ a.applyList(n, "Body")
+
+ case *ast.SelectStmt:
+ a.apply(n, "Body", nil, n.Body)
+
+ case *ast.ForStmt:
+ a.apply(n, "Init", nil, n.Init)
+ a.apply(n, "Cond", nil, n.Cond)
+ a.apply(n, "Post", nil, n.Post)
+ a.apply(n, "Body", nil, n.Body)
+
+ case *ast.RangeStmt:
+ a.apply(n, "Key", nil, n.Key)
+ a.apply(n, "Value", nil, n.Value)
+ a.apply(n, "X", nil, n.X)
+ a.apply(n, "Body", nil, n.Body)
+
+ // Declarations
+ case *ast.ImportSpec:
+ a.apply(n, "Doc", nil, n.Doc)
+ a.apply(n, "Name", nil, n.Name)
+ a.apply(n, "Path", nil, n.Path)
+ a.apply(n, "Comment", nil, n.Comment)
+
+ case *ast.ValueSpec:
+ a.apply(n, "Doc", nil, n.Doc)
+ a.applyList(n, "Names")
+ a.apply(n, "Type", nil, n.Type)
+ a.applyList(n, "Values")
+ a.apply(n, "Comment", nil, n.Comment)
+
+ case *ast.TypeSpec:
+ a.apply(n, "Doc", nil, n.Doc)
+ a.apply(n, "Name", nil, n.Name)
+ a.apply(n, "Type", nil, n.Type)
+ a.apply(n, "Comment", nil, n.Comment)
+
+ case *ast.BadDecl:
+ // nothing to do
+
+ case *ast.GenDecl:
+ a.apply(n, "Doc", nil, n.Doc)
+ a.applyList(n, "Specs")
+
+ case *ast.FuncDecl:
+ a.apply(n, "Doc", nil, n.Doc)
+ a.apply(n, "Recv", nil, n.Recv)
+ a.apply(n, "Name", nil, n.Name)
+ a.apply(n, "Type", nil, n.Type)
+ a.apply(n, "Body", nil, n.Body)
+
+ // Files and packages
+ case *ast.File:
+ a.apply(n, "Doc", nil, n.Doc)
+ a.apply(n, "Name", nil, n.Name)
+ a.applyList(n, "Decls")
+ // Don't walk n.Comments; they have either been walked already if
+ // they are Doc comments, or they can be easily walked explicitly.
+
+ case *ast.Package:
+ // collect and sort names for reproducible behavior
+ var names []string
+ for name := range n.Files {
+ names = append(names, name)
+ }
+ sort.Strings(names)
+ for _, name := range names {
+ a.apply(n, name, nil, n.Files[name])
+ }
+
+ default:
+ panic(fmt.Sprintf("Apply: unexpected node type %T", n))
+ }
+
+ if a.post != nil && !a.post(&a.cursor) {
+ panic(abort)
+ }
+
+ a.cursor = saved
+}
+
+// An iterator controls iteration over a slice of nodes.
+type iterator struct {
+ index, step int
+}
+
+func (a *application) applyList(parent ast.Node, name string) {
+ // avoid heap-allocating a new iterator for each applyList call; reuse a.iter instead
+ saved := a.iter
+ a.iter.index = 0
+ for {
+ // must reload parent.name each time, since cursor modifications might change it
+ v := reflect.Indirect(reflect.ValueOf(parent)).FieldByName(name)
+ if a.iter.index >= v.Len() {
+ break
+ }
+
+ // element x may be nil in a bad AST - be cautious
+ var x ast.Node
+ if e := v.Index(a.iter.index); e.IsValid() {
+ x = e.Interface().(ast.Node)
+ }
+
+ a.iter.step = 1
+ a.apply(parent, name, &a.iter, x)
+ a.iter.index += a.iter.step
+ }
+ a.iter = saved
+}
diff --git a/vendor/golang.org/x/tools/go/ast/astutil/util.go b/vendor/golang.org/x/tools/go/ast/astutil/util.go
new file mode 100644
index 0000000..7630629
--- /dev/null
+++ b/vendor/golang.org/x/tools/go/ast/astutil/util.go
@@ -0,0 +1,14 @@
+package astutil
+
+import "go/ast"
+
+// Unparen returns e with any enclosing parentheses stripped.
+func Unparen(e ast.Expr) ast.Expr {
+ for {
+ p, ok := e.(*ast.ParenExpr)
+ if !ok {
+ return e
+ }
+ e = p.X
+ }
+}
diff --git a/vendor/golang.org/x/tools/go/gcexportdata/gcexportdata.go b/vendor/golang.org/x/tools/go/gcexportdata/gcexportdata.go
new file mode 100644
index 0000000..4c238d1
--- /dev/null
+++ b/vendor/golang.org/x/tools/go/gcexportdata/gcexportdata.go
@@ -0,0 +1,109 @@
+// Copyright 2016 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Package gcexportdata provides functions for locating, reading, and
+// writing export data files containing type information produced by the
+// gc compiler. This package supports go1.7 export data format and all
+// later versions.
+//
+// Although it might seem convenient for this package to live alongside
+// go/types in the standard library, this would cause version skew
+// problems for developer tools that use it, since they must be able to
+// consume the outputs of the gc compiler both before and after a Go
+// update such as from Go 1.7 to Go 1.8. Because this package lives in
+// golang.org/x/tools, sites can update their version of this repo some
+// time before the Go 1.8 release and rebuild and redeploy their
+// developer tools, which will then be able to consume both Go 1.7 and
+// Go 1.8 export data files, so they will work before and after the
+// Go update. (See discussion at https://github.com/golang/go/issues/15651.)
+//
+package gcexportdata // import "golang.org/x/tools/go/gcexportdata"
+
+import (
+ "bufio"
+ "bytes"
+ "fmt"
+ "go/token"
+ "go/types"
+ "io"
+ "io/ioutil"
+
+ "golang.org/x/tools/go/internal/gcimporter"
+)
+
+// Find returns the name of an object (.o) or archive (.a) file
+// containing type information for the specified import path,
+// using the workspace layout conventions of go/build.
+// If no file was found, an empty filename is returned.
+//
+// A relative srcDir is interpreted relative to the current working directory.
+//
+// Find also returns the package's resolved (canonical) import path,
+// reflecting the effects of srcDir and vendoring on importPath.
+func Find(importPath, srcDir string) (filename, path string) {
+ return gcimporter.FindPkg(importPath, srcDir)
+}
+
+// NewReader returns a reader for the export data section of an object
+// (.o) or archive (.a) file read from r. The new reader may provide
+// additional trailing data beyond the end of the export data.
+func NewReader(r io.Reader) (io.Reader, error) {
+ buf := bufio.NewReader(r)
+ _, err := gcimporter.FindExportData(buf)
+ // If we ever switch to a zip-like archive format with the ToC
+ // at the end, we can return the correct portion of export data,
+ // but for now we must return the entire rest of the file.
+ return buf, err
+}
+
+// Read reads export data from in, decodes it, and returns type
+// information for the package.
+// The package name is specified by path.
+// File position information is added to fset.
+//
+// Read may inspect and add to the imports map to ensure that references
+// within the export data to other packages are consistent. The caller
+// must ensure that imports[path] does not exist, or exists but is
+// incomplete (see types.Package.Complete), and Read inserts the
+// resulting package into this map entry.
+//
+// On return, the state of the reader is undefined.
+func Read(in io.Reader, fset *token.FileSet, imports map[string]*types.Package, path string) (*types.Package, error) {
+ data, err := ioutil.ReadAll(in)
+ if err != nil {
+ return nil, fmt.Errorf("reading export data for %q: %v", path, err)
+ }
+
+ if bytes.HasPrefix(data, []byte("!")) {
+ return nil, fmt.Errorf("can't read export data for %q directly from an archive file (call gcexportdata.NewReader first to extract export data)", path)
+ }
+
+ // The App Engine Go runtime v1.6 uses the old export data format.
+ // TODO(adonovan): delete once v1.7 has been around for a while.
+ if bytes.HasPrefix(data, []byte("package ")) {
+ return gcimporter.ImportData(imports, path, path, bytes.NewReader(data))
+ }
+
+ // The indexed export format starts with an 'i'; the older
+ // binary export format starts with a 'c', 'd', or 'v'
+ // (from "version"). Select appropriate importer.
+ if len(data) > 0 && data[0] == 'i' {
+ _, pkg, err := gcimporter.IImportData(fset, imports, data[1:], path)
+ return pkg, err
+ }
+
+ _, pkg, err := gcimporter.BImportData(fset, imports, data, path)
+ return pkg, err
+}
+
+// Write writes encoded type information for the specified package to out.
+// The FileSet provides file position information for named objects.
+func Write(out io.Writer, fset *token.FileSet, pkg *types.Package) error {
+ b, err := gcimporter.BExportData(fset, pkg)
+ if err != nil {
+ return err
+ }
+ _, err = out.Write(b)
+ return err
+}
diff --git a/vendor/golang.org/x/tools/go/gcexportdata/importer.go b/vendor/golang.org/x/tools/go/gcexportdata/importer.go
new file mode 100644
index 0000000..efe221e
--- /dev/null
+++ b/vendor/golang.org/x/tools/go/gcexportdata/importer.go
@@ -0,0 +1,73 @@
+// Copyright 2016 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package gcexportdata
+
+import (
+ "fmt"
+ "go/token"
+ "go/types"
+ "os"
+)
+
+// NewImporter returns a new instance of the types.Importer interface
+// that reads type information from export data files written by gc.
+// The Importer also satisfies types.ImporterFrom.
+//
+// Export data files are located using "go build" workspace conventions
+// and the build.Default context.
+//
+// Use this importer instead of go/importer.For("gc", ...) to avoid the
+// version-skew problems described in the documentation of this package,
+// or to control the FileSet or access the imports map populated during
+// package loading.
+//
+func NewImporter(fset *token.FileSet, imports map[string]*types.Package) types.ImporterFrom {
+ return importer{fset, imports}
+}
+
+type importer struct {
+ fset *token.FileSet
+ imports map[string]*types.Package
+}
+
+func (imp importer) Import(importPath string) (*types.Package, error) {
+ return imp.ImportFrom(importPath, "", 0)
+}
+
+func (imp importer) ImportFrom(importPath, srcDir string, mode types.ImportMode) (_ *types.Package, err error) {
+ filename, path := Find(importPath, srcDir)
+ if filename == "" {
+ if importPath == "unsafe" {
+ // Even for unsafe, call Find first in case
+ // the package was vendored.
+ return types.Unsafe, nil
+ }
+ return nil, fmt.Errorf("can't find import: %s", importPath)
+ }
+
+ if pkg, ok := imp.imports[path]; ok && pkg.Complete() {
+ return pkg, nil // cache hit
+ }
+
+ // open file
+ f, err := os.Open(filename)
+ if err != nil {
+ return nil, err
+ }
+ defer func() {
+ f.Close()
+ if err != nil {
+ // add file name to error
+ err = fmt.Errorf("reading export data: %s: %v", filename, err)
+ }
+ }()
+
+ r, err := NewReader(f)
+ if err != nil {
+ return nil, err
+ }
+
+ return Read(r, imp.fset, imp.imports, path)
+}
diff --git a/vendor/golang.org/x/tools/go/gcexportdata/main.go b/vendor/golang.org/x/tools/go/gcexportdata/main.go
new file mode 100644
index 0000000..2713dce
--- /dev/null
+++ b/vendor/golang.org/x/tools/go/gcexportdata/main.go
@@ -0,0 +1,99 @@
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// +build ignore
+
+// The gcexportdata command is a diagnostic tool that displays the
+// contents of gc export data files.
+package main
+
+import (
+ "flag"
+ "fmt"
+ "go/token"
+ "go/types"
+ "log"
+ "os"
+
+ "golang.org/x/tools/go/gcexportdata"
+ "golang.org/x/tools/go/types/typeutil"
+)
+
+var packageFlag = flag.String("package", "", "alternative package to print")
+
+func main() {
+ log.SetPrefix("gcexportdata: ")
+ log.SetFlags(0)
+ flag.Usage = func() {
+ fmt.Fprintln(os.Stderr, "usage: gcexportdata [-package path] file.a")
+ }
+ flag.Parse()
+ if flag.NArg() != 1 {
+ flag.Usage()
+ os.Exit(2)
+ }
+ filename := flag.Args()[0]
+
+ f, err := os.Open(filename)
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ r, err := gcexportdata.NewReader(f)
+ if err != nil {
+ log.Fatalf("%s: %s", filename, err)
+ }
+
+ // Decode the package.
+ const primary = ""
+ imports := make(map[string]*types.Package)
+ fset := token.NewFileSet()
+ pkg, err := gcexportdata.Read(r, fset, imports, primary)
+ if err != nil {
+ log.Fatalf("%s: %s", filename, err)
+ }
+
+ // Optionally select an indirectly mentioned package.
+ if *packageFlag != "" {
+ pkg = imports[*packageFlag]
+ if pkg == nil {
+ fmt.Fprintf(os.Stderr, "export data file %s does not mention %s; has:\n",
+ filename, *packageFlag)
+ for p := range imports {
+ if p != primary {
+ fmt.Fprintf(os.Stderr, "\t%s\n", p)
+ }
+ }
+ os.Exit(1)
+ }
+ }
+
+ // Print all package-level declarations, including non-exported ones.
+ fmt.Printf("package %s\n", pkg.Name())
+ for _, imp := range pkg.Imports() {
+ fmt.Printf("import %q\n", imp.Path())
+ }
+ qual := func(p *types.Package) string {
+ if pkg == p {
+ return ""
+ }
+ return p.Name()
+ }
+ scope := pkg.Scope()
+ for _, name := range scope.Names() {
+ obj := scope.Lookup(name)
+ fmt.Printf("%s: %s\n",
+ fset.Position(obj.Pos()),
+ types.ObjectString(obj, qual))
+
+ // For types, print each method.
+ if _, ok := obj.(*types.TypeName); ok {
+ for _, method := range typeutil.IntuitiveMethodSet(obj.Type(), nil) {
+ fmt.Printf("%s: %s\n",
+ fset.Position(method.Obj().Pos()),
+ types.SelectionString(method, qual))
+ }
+ }
+ }
+}
diff --git a/vendor/golang.org/x/tools/go/internal/gcimporter/bexport.go b/vendor/golang.org/x/tools/go/internal/gcimporter/bexport.go
new file mode 100644
index 0000000..9f65049
--- /dev/null
+++ b/vendor/golang.org/x/tools/go/internal/gcimporter/bexport.go
@@ -0,0 +1,852 @@
+// Copyright 2016 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Binary package export.
+// This file was derived from $GOROOT/src/cmd/compile/internal/gc/bexport.go;
+// see that file for specification of the format.
+
+package gcimporter
+
+import (
+ "bytes"
+ "encoding/binary"
+ "fmt"
+ "go/ast"
+ "go/constant"
+ "go/token"
+ "go/types"
+ "math"
+ "math/big"
+ "sort"
+ "strings"
+)
+
+// If debugFormat is set, each integer and string value is preceded by a marker
+// and position information in the encoding. This mechanism permits an importer
+// to recognize immediately when it is out of sync. The importer recognizes this
+// mode automatically (i.e., it can import export data produced with debugging
+// support even if debugFormat is not set at the time of import). This mode will
+// lead to massively larger export data (by a factor of 2 to 3) and should only
+// be enabled during development and debugging.
+//
+// NOTE: This flag is the first flag to enable if importing dies because of
+// (suspected) format errors, and whenever a change is made to the format.
+const debugFormat = false // default: false
+
+// If trace is set, debugging output is printed to std out.
+const trace = false // default: false
+
+// Current export format version. Increase with each format change.
+// Note: The latest binary (non-indexed) export format is at version 6.
+// This exporter is still at level 4, but it doesn't matter since
+// the binary importer can handle older versions just fine.
+// 6: package height (CL 105038) -- NOT IMPLEMENTED HERE
+// 5: improved position encoding efficiency (issue 20080, CL 41619) -- NOT IMPLEMEMTED HERE
+// 4: type name objects support type aliases, uses aliasTag
+// 3: Go1.8 encoding (same as version 2, aliasTag defined but never used)
+// 2: removed unused bool in ODCL export (compiler only)
+// 1: header format change (more regular), export package for _ struct fields
+// 0: Go1.7 encoding
+const exportVersion = 4
+
+// trackAllTypes enables cycle tracking for all types, not just named
+// types. The existing compiler invariants assume that unnamed types
+// that are not completely set up are not used, or else there are spurious
+// errors.
+// If disabled, only named types are tracked, possibly leading to slightly
+// less efficient encoding in rare cases. It also prevents the export of
+// some corner-case type declarations (but those are not handled correctly
+// with with the textual export format either).
+// TODO(gri) enable and remove once issues caused by it are fixed
+const trackAllTypes = false
+
+type exporter struct {
+ fset *token.FileSet
+ out bytes.Buffer
+
+ // object -> index maps, indexed in order of serialization
+ strIndex map[string]int
+ pkgIndex map[*types.Package]int
+ typIndex map[types.Type]int
+
+ // position encoding
+ posInfoFormat bool
+ prevFile string
+ prevLine int
+
+ // debugging support
+ written int // bytes written
+ indent int // for trace
+}
+
+// internalError represents an error generated inside this package.
+type internalError string
+
+func (e internalError) Error() string { return "gcimporter: " + string(e) }
+
+func internalErrorf(format string, args ...interface{}) error {
+ return internalError(fmt.Sprintf(format, args...))
+}
+
+// BExportData returns binary export data for pkg.
+// If no file set is provided, position info will be missing.
+func BExportData(fset *token.FileSet, pkg *types.Package) (b []byte, err error) {
+ defer func() {
+ if e := recover(); e != nil {
+ if ierr, ok := e.(internalError); ok {
+ err = ierr
+ return
+ }
+ // Not an internal error; panic again.
+ panic(e)
+ }
+ }()
+
+ p := exporter{
+ fset: fset,
+ strIndex: map[string]int{"": 0}, // empty string is mapped to 0
+ pkgIndex: make(map[*types.Package]int),
+ typIndex: make(map[types.Type]int),
+ posInfoFormat: true, // TODO(gri) might become a flag, eventually
+ }
+
+ // write version info
+ // The version string must start with "version %d" where %d is the version
+ // number. Additional debugging information may follow after a blank; that
+ // text is ignored by the importer.
+ p.rawStringln(fmt.Sprintf("version %d", exportVersion))
+ var debug string
+ if debugFormat {
+ debug = "debug"
+ }
+ p.rawStringln(debug) // cannot use p.bool since it's affected by debugFormat; also want to see this clearly
+ p.bool(trackAllTypes)
+ p.bool(p.posInfoFormat)
+
+ // --- generic export data ---
+
+ // populate type map with predeclared "known" types
+ for index, typ := range predeclared {
+ p.typIndex[typ] = index
+ }
+ if len(p.typIndex) != len(predeclared) {
+ return nil, internalError("duplicate entries in type map?")
+ }
+
+ // write package data
+ p.pkg(pkg, true)
+ if trace {
+ p.tracef("\n")
+ }
+
+ // write objects
+ objcount := 0
+ scope := pkg.Scope()
+ for _, name := range scope.Names() {
+ if !ast.IsExported(name) {
+ continue
+ }
+ if trace {
+ p.tracef("\n")
+ }
+ p.obj(scope.Lookup(name))
+ objcount++
+ }
+
+ // indicate end of list
+ if trace {
+ p.tracef("\n")
+ }
+ p.tag(endTag)
+
+ // for self-verification only (redundant)
+ p.int(objcount)
+
+ if trace {
+ p.tracef("\n")
+ }
+
+ // --- end of export data ---
+
+ return p.out.Bytes(), nil
+}
+
+func (p *exporter) pkg(pkg *types.Package, emptypath bool) {
+ if pkg == nil {
+ panic(internalError("unexpected nil pkg"))
+ }
+
+ // if we saw the package before, write its index (>= 0)
+ if i, ok := p.pkgIndex[pkg]; ok {
+ p.index('P', i)
+ return
+ }
+
+ // otherwise, remember the package, write the package tag (< 0) and package data
+ if trace {
+ p.tracef("P%d = { ", len(p.pkgIndex))
+ defer p.tracef("} ")
+ }
+ p.pkgIndex[pkg] = len(p.pkgIndex)
+
+ p.tag(packageTag)
+ p.string(pkg.Name())
+ if emptypath {
+ p.string("")
+ } else {
+ p.string(pkg.Path())
+ }
+}
+
+func (p *exporter) obj(obj types.Object) {
+ switch obj := obj.(type) {
+ case *types.Const:
+ p.tag(constTag)
+ p.pos(obj)
+ p.qualifiedName(obj)
+ p.typ(obj.Type())
+ p.value(obj.Val())
+
+ case *types.TypeName:
+ if obj.IsAlias() {
+ p.tag(aliasTag)
+ p.pos(obj)
+ p.qualifiedName(obj)
+ } else {
+ p.tag(typeTag)
+ }
+ p.typ(obj.Type())
+
+ case *types.Var:
+ p.tag(varTag)
+ p.pos(obj)
+ p.qualifiedName(obj)
+ p.typ(obj.Type())
+
+ case *types.Func:
+ p.tag(funcTag)
+ p.pos(obj)
+ p.qualifiedName(obj)
+ sig := obj.Type().(*types.Signature)
+ p.paramList(sig.Params(), sig.Variadic())
+ p.paramList(sig.Results(), false)
+
+ default:
+ panic(internalErrorf("unexpected object %v (%T)", obj, obj))
+ }
+}
+
+func (p *exporter) pos(obj types.Object) {
+ if !p.posInfoFormat {
+ return
+ }
+
+ file, line := p.fileLine(obj)
+ if file == p.prevFile {
+ // common case: write line delta
+ // delta == 0 means different file or no line change
+ delta := line - p.prevLine
+ p.int(delta)
+ if delta == 0 {
+ p.int(-1) // -1 means no file change
+ }
+ } else {
+ // different file
+ p.int(0)
+ // Encode filename as length of common prefix with previous
+ // filename, followed by (possibly empty) suffix. Filenames
+ // frequently share path prefixes, so this can save a lot
+ // of space and make export data size less dependent on file
+ // path length. The suffix is unlikely to be empty because
+ // file names tend to end in ".go".
+ n := commonPrefixLen(p.prevFile, file)
+ p.int(n) // n >= 0
+ p.string(file[n:]) // write suffix only
+ p.prevFile = file
+ p.int(line)
+ }
+ p.prevLine = line
+}
+
+func (p *exporter) fileLine(obj types.Object) (file string, line int) {
+ if p.fset != nil {
+ pos := p.fset.Position(obj.Pos())
+ file = pos.Filename
+ line = pos.Line
+ }
+ return
+}
+
+func commonPrefixLen(a, b string) int {
+ if len(a) > len(b) {
+ a, b = b, a
+ }
+ // len(a) <= len(b)
+ i := 0
+ for i < len(a) && a[i] == b[i] {
+ i++
+ }
+ return i
+}
+
+func (p *exporter) qualifiedName(obj types.Object) {
+ p.string(obj.Name())
+ p.pkg(obj.Pkg(), false)
+}
+
+func (p *exporter) typ(t types.Type) {
+ if t == nil {
+ panic(internalError("nil type"))
+ }
+
+ // Possible optimization: Anonymous pointer types *T where
+ // T is a named type are common. We could canonicalize all
+ // such types *T to a single type PT = *T. This would lead
+ // to at most one *T entry in typIndex, and all future *T's
+ // would be encoded as the respective index directly. Would
+ // save 1 byte (pointerTag) per *T and reduce the typIndex
+ // size (at the cost of a canonicalization map). We can do
+ // this later, without encoding format change.
+
+ // if we saw the type before, write its index (>= 0)
+ if i, ok := p.typIndex[t]; ok {
+ p.index('T', i)
+ return
+ }
+
+ // otherwise, remember the type, write the type tag (< 0) and type data
+ if trackAllTypes {
+ if trace {
+ p.tracef("T%d = {>\n", len(p.typIndex))
+ defer p.tracef("<\n} ")
+ }
+ p.typIndex[t] = len(p.typIndex)
+ }
+
+ switch t := t.(type) {
+ case *types.Named:
+ if !trackAllTypes {
+ // if we don't track all types, track named types now
+ p.typIndex[t] = len(p.typIndex)
+ }
+
+ p.tag(namedTag)
+ p.pos(t.Obj())
+ p.qualifiedName(t.Obj())
+ p.typ(t.Underlying())
+ if !types.IsInterface(t) {
+ p.assocMethods(t)
+ }
+
+ case *types.Array:
+ p.tag(arrayTag)
+ p.int64(t.Len())
+ p.typ(t.Elem())
+
+ case *types.Slice:
+ p.tag(sliceTag)
+ p.typ(t.Elem())
+
+ case *dddSlice:
+ p.tag(dddTag)
+ p.typ(t.elem)
+
+ case *types.Struct:
+ p.tag(structTag)
+ p.fieldList(t)
+
+ case *types.Pointer:
+ p.tag(pointerTag)
+ p.typ(t.Elem())
+
+ case *types.Signature:
+ p.tag(signatureTag)
+ p.paramList(t.Params(), t.Variadic())
+ p.paramList(t.Results(), false)
+
+ case *types.Interface:
+ p.tag(interfaceTag)
+ p.iface(t)
+
+ case *types.Map:
+ p.tag(mapTag)
+ p.typ(t.Key())
+ p.typ(t.Elem())
+
+ case *types.Chan:
+ p.tag(chanTag)
+ p.int(int(3 - t.Dir())) // hack
+ p.typ(t.Elem())
+
+ default:
+ panic(internalErrorf("unexpected type %T: %s", t, t))
+ }
+}
+
+func (p *exporter) assocMethods(named *types.Named) {
+ // Sort methods (for determinism).
+ var methods []*types.Func
+ for i := 0; i < named.NumMethods(); i++ {
+ methods = append(methods, named.Method(i))
+ }
+ sort.Sort(methodsByName(methods))
+
+ p.int(len(methods))
+
+ if trace && methods != nil {
+ p.tracef("associated methods {>\n")
+ }
+
+ for i, m := range methods {
+ if trace && i > 0 {
+ p.tracef("\n")
+ }
+
+ p.pos(m)
+ name := m.Name()
+ p.string(name)
+ if !exported(name) {
+ p.pkg(m.Pkg(), false)
+ }
+
+ sig := m.Type().(*types.Signature)
+ p.paramList(types.NewTuple(sig.Recv()), false)
+ p.paramList(sig.Params(), sig.Variadic())
+ p.paramList(sig.Results(), false)
+ p.int(0) // dummy value for go:nointerface pragma - ignored by importer
+ }
+
+ if trace && methods != nil {
+ p.tracef("<\n} ")
+ }
+}
+
+type methodsByName []*types.Func
+
+func (x methodsByName) Len() int { return len(x) }
+func (x methodsByName) Swap(i, j int) { x[i], x[j] = x[j], x[i] }
+func (x methodsByName) Less(i, j int) bool { return x[i].Name() < x[j].Name() }
+
+func (p *exporter) fieldList(t *types.Struct) {
+ if trace && t.NumFields() > 0 {
+ p.tracef("fields {>\n")
+ defer p.tracef("<\n} ")
+ }
+
+ p.int(t.NumFields())
+ for i := 0; i < t.NumFields(); i++ {
+ if trace && i > 0 {
+ p.tracef("\n")
+ }
+ p.field(t.Field(i))
+ p.string(t.Tag(i))
+ }
+}
+
+func (p *exporter) field(f *types.Var) {
+ if !f.IsField() {
+ panic(internalError("field expected"))
+ }
+
+ p.pos(f)
+ p.fieldName(f)
+ p.typ(f.Type())
+}
+
+func (p *exporter) iface(t *types.Interface) {
+ // TODO(gri): enable importer to load embedded interfaces,
+ // then emit Embeddeds and ExplicitMethods separately here.
+ p.int(0)
+
+ n := t.NumMethods()
+ if trace && n > 0 {
+ p.tracef("methods {>\n")
+ defer p.tracef("<\n} ")
+ }
+ p.int(n)
+ for i := 0; i < n; i++ {
+ if trace && i > 0 {
+ p.tracef("\n")
+ }
+ p.method(t.Method(i))
+ }
+}
+
+func (p *exporter) method(m *types.Func) {
+ sig := m.Type().(*types.Signature)
+ if sig.Recv() == nil {
+ panic(internalError("method expected"))
+ }
+
+ p.pos(m)
+ p.string(m.Name())
+ if m.Name() != "_" && !ast.IsExported(m.Name()) {
+ p.pkg(m.Pkg(), false)
+ }
+
+ // interface method; no need to encode receiver.
+ p.paramList(sig.Params(), sig.Variadic())
+ p.paramList(sig.Results(), false)
+}
+
+func (p *exporter) fieldName(f *types.Var) {
+ name := f.Name()
+
+ if f.Anonymous() {
+ // anonymous field - we distinguish between 3 cases:
+ // 1) field name matches base type name and is exported
+ // 2) field name matches base type name and is not exported
+ // 3) field name doesn't match base type name (alias name)
+ bname := basetypeName(f.Type())
+ if name == bname {
+ if ast.IsExported(name) {
+ name = "" // 1) we don't need to know the field name or package
+ } else {
+ name = "?" // 2) use unexported name "?" to force package export
+ }
+ } else {
+ // 3) indicate alias and export name as is
+ // (this requires an extra "@" but this is a rare case)
+ p.string("@")
+ }
+ }
+
+ p.string(name)
+ if name != "" && !ast.IsExported(name) {
+ p.pkg(f.Pkg(), false)
+ }
+}
+
+func basetypeName(typ types.Type) string {
+ switch typ := deref(typ).(type) {
+ case *types.Basic:
+ return typ.Name()
+ case *types.Named:
+ return typ.Obj().Name()
+ default:
+ return "" // unnamed type
+ }
+}
+
+func (p *exporter) paramList(params *types.Tuple, variadic bool) {
+ // use negative length to indicate unnamed parameters
+ // (look at the first parameter only since either all
+ // names are present or all are absent)
+ n := params.Len()
+ if n > 0 && params.At(0).Name() == "" {
+ n = -n
+ }
+ p.int(n)
+ for i := 0; i < params.Len(); i++ {
+ q := params.At(i)
+ t := q.Type()
+ if variadic && i == params.Len()-1 {
+ t = &dddSlice{t.(*types.Slice).Elem()}
+ }
+ p.typ(t)
+ if n > 0 {
+ name := q.Name()
+ p.string(name)
+ if name != "_" {
+ p.pkg(q.Pkg(), false)
+ }
+ }
+ p.string("") // no compiler-specific info
+ }
+}
+
+func (p *exporter) value(x constant.Value) {
+ if trace {
+ p.tracef("= ")
+ }
+
+ switch x.Kind() {
+ case constant.Bool:
+ tag := falseTag
+ if constant.BoolVal(x) {
+ tag = trueTag
+ }
+ p.tag(tag)
+
+ case constant.Int:
+ if v, exact := constant.Int64Val(x); exact {
+ // common case: x fits into an int64 - use compact encoding
+ p.tag(int64Tag)
+ p.int64(v)
+ return
+ }
+ // uncommon case: large x - use float encoding
+ // (powers of 2 will be encoded efficiently with exponent)
+ p.tag(floatTag)
+ p.float(constant.ToFloat(x))
+
+ case constant.Float:
+ p.tag(floatTag)
+ p.float(x)
+
+ case constant.Complex:
+ p.tag(complexTag)
+ p.float(constant.Real(x))
+ p.float(constant.Imag(x))
+
+ case constant.String:
+ p.tag(stringTag)
+ p.string(constant.StringVal(x))
+
+ case constant.Unknown:
+ // package contains type errors
+ p.tag(unknownTag)
+
+ default:
+ panic(internalErrorf("unexpected value %v (%T)", x, x))
+ }
+}
+
+func (p *exporter) float(x constant.Value) {
+ if x.Kind() != constant.Float {
+ panic(internalErrorf("unexpected constant %v, want float", x))
+ }
+ // extract sign (there is no -0)
+ sign := constant.Sign(x)
+ if sign == 0 {
+ // x == 0
+ p.int(0)
+ return
+ }
+ // x != 0
+
+ var f big.Float
+ if v, exact := constant.Float64Val(x); exact {
+ // float64
+ f.SetFloat64(v)
+ } else if num, denom := constant.Num(x), constant.Denom(x); num.Kind() == constant.Int {
+ // TODO(gri): add big.Rat accessor to constant.Value.
+ r := valueToRat(num)
+ f.SetRat(r.Quo(r, valueToRat(denom)))
+ } else {
+ // Value too large to represent as a fraction => inaccessible.
+ // TODO(gri): add big.Float accessor to constant.Value.
+ f.SetFloat64(math.MaxFloat64) // FIXME
+ }
+
+ // extract exponent such that 0.5 <= m < 1.0
+ var m big.Float
+ exp := f.MantExp(&m)
+
+ // extract mantissa as *big.Int
+ // - set exponent large enough so mant satisfies mant.IsInt()
+ // - get *big.Int from mant
+ m.SetMantExp(&m, int(m.MinPrec()))
+ mant, acc := m.Int(nil)
+ if acc != big.Exact {
+ panic(internalError("internal error"))
+ }
+
+ p.int(sign)
+ p.int(exp)
+ p.string(string(mant.Bytes()))
+}
+
+func valueToRat(x constant.Value) *big.Rat {
+ // Convert little-endian to big-endian.
+ // I can't believe this is necessary.
+ bytes := constant.Bytes(x)
+ for i := 0; i < len(bytes)/2; i++ {
+ bytes[i], bytes[len(bytes)-1-i] = bytes[len(bytes)-1-i], bytes[i]
+ }
+ return new(big.Rat).SetInt(new(big.Int).SetBytes(bytes))
+}
+
+func (p *exporter) bool(b bool) bool {
+ if trace {
+ p.tracef("[")
+ defer p.tracef("= %v] ", b)
+ }
+
+ x := 0
+ if b {
+ x = 1
+ }
+ p.int(x)
+ return b
+}
+
+// ----------------------------------------------------------------------------
+// Low-level encoders
+
+func (p *exporter) index(marker byte, index int) {
+ if index < 0 {
+ panic(internalError("invalid index < 0"))
+ }
+ if debugFormat {
+ p.marker('t')
+ }
+ if trace {
+ p.tracef("%c%d ", marker, index)
+ }
+ p.rawInt64(int64(index))
+}
+
+func (p *exporter) tag(tag int) {
+ if tag >= 0 {
+ panic(internalError("invalid tag >= 0"))
+ }
+ if debugFormat {
+ p.marker('t')
+ }
+ if trace {
+ p.tracef("%s ", tagString[-tag])
+ }
+ p.rawInt64(int64(tag))
+}
+
+func (p *exporter) int(x int) {
+ p.int64(int64(x))
+}
+
+func (p *exporter) int64(x int64) {
+ if debugFormat {
+ p.marker('i')
+ }
+ if trace {
+ p.tracef("%d ", x)
+ }
+ p.rawInt64(x)
+}
+
+func (p *exporter) string(s string) {
+ if debugFormat {
+ p.marker('s')
+ }
+ if trace {
+ p.tracef("%q ", s)
+ }
+ // if we saw the string before, write its index (>= 0)
+ // (the empty string is mapped to 0)
+ if i, ok := p.strIndex[s]; ok {
+ p.rawInt64(int64(i))
+ return
+ }
+ // otherwise, remember string and write its negative length and bytes
+ p.strIndex[s] = len(p.strIndex)
+ p.rawInt64(-int64(len(s)))
+ for i := 0; i < len(s); i++ {
+ p.rawByte(s[i])
+ }
+}
+
+// marker emits a marker byte and position information which makes
+// it easy for a reader to detect if it is "out of sync". Used for
+// debugFormat format only.
+func (p *exporter) marker(m byte) {
+ p.rawByte(m)
+ // Enable this for help tracking down the location
+ // of an incorrect marker when running in debugFormat.
+ if false && trace {
+ p.tracef("#%d ", p.written)
+ }
+ p.rawInt64(int64(p.written))
+}
+
+// rawInt64 should only be used by low-level encoders.
+func (p *exporter) rawInt64(x int64) {
+ var tmp [binary.MaxVarintLen64]byte
+ n := binary.PutVarint(tmp[:], x)
+ for i := 0; i < n; i++ {
+ p.rawByte(tmp[i])
+ }
+}
+
+// rawStringln should only be used to emit the initial version string.
+func (p *exporter) rawStringln(s string) {
+ for i := 0; i < len(s); i++ {
+ p.rawByte(s[i])
+ }
+ p.rawByte('\n')
+}
+
+// rawByte is the bottleneck interface to write to p.out.
+// rawByte escapes b as follows (any encoding does that
+// hides '$'):
+//
+// '$' => '|' 'S'
+// '|' => '|' '|'
+//
+// Necessary so other tools can find the end of the
+// export data by searching for "$$".
+// rawByte should only be used by low-level encoders.
+func (p *exporter) rawByte(b byte) {
+ switch b {
+ case '$':
+ // write '$' as '|' 'S'
+ b = 'S'
+ fallthrough
+ case '|':
+ // write '|' as '|' '|'
+ p.out.WriteByte('|')
+ p.written++
+ }
+ p.out.WriteByte(b)
+ p.written++
+}
+
+// tracef is like fmt.Printf but it rewrites the format string
+// to take care of indentation.
+func (p *exporter) tracef(format string, args ...interface{}) {
+ if strings.ContainsAny(format, "<>\n") {
+ var buf bytes.Buffer
+ for i := 0; i < len(format); i++ {
+ // no need to deal with runes
+ ch := format[i]
+ switch ch {
+ case '>':
+ p.indent++
+ continue
+ case '<':
+ p.indent--
+ continue
+ }
+ buf.WriteByte(ch)
+ if ch == '\n' {
+ for j := p.indent; j > 0; j-- {
+ buf.WriteString(". ")
+ }
+ }
+ }
+ format = buf.String()
+ }
+ fmt.Printf(format, args...)
+}
+
+// Debugging support.
+// (tagString is only used when tracing is enabled)
+var tagString = [...]string{
+ // Packages
+ -packageTag: "package",
+
+ // Types
+ -namedTag: "named type",
+ -arrayTag: "array",
+ -sliceTag: "slice",
+ -dddTag: "ddd",
+ -structTag: "struct",
+ -pointerTag: "pointer",
+ -signatureTag: "signature",
+ -interfaceTag: "interface",
+ -mapTag: "map",
+ -chanTag: "chan",
+
+ // Values
+ -falseTag: "false",
+ -trueTag: "true",
+ -int64Tag: "int64",
+ -floatTag: "float",
+ -fractionTag: "fraction",
+ -complexTag: "complex",
+ -stringTag: "string",
+ -unknownTag: "unknown",
+
+ // Type aliases
+ -aliasTag: "alias",
+}
diff --git a/vendor/golang.org/x/tools/go/internal/gcimporter/bimport.go b/vendor/golang.org/x/tools/go/internal/gcimporter/bimport.go
new file mode 100644
index 0000000..b31eacf
--- /dev/null
+++ b/vendor/golang.org/x/tools/go/internal/gcimporter/bimport.go
@@ -0,0 +1,1028 @@
+// Copyright 2015 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// This file is a copy of $GOROOT/src/go/internal/gcimporter/bimport.go.
+
+package gcimporter
+
+import (
+ "encoding/binary"
+ "fmt"
+ "go/constant"
+ "go/token"
+ "go/types"
+ "sort"
+ "strconv"
+ "strings"
+ "sync"
+ "unicode"
+ "unicode/utf8"
+)
+
+type importer struct {
+ imports map[string]*types.Package
+ data []byte
+ importpath string
+ buf []byte // for reading strings
+ version int // export format version
+
+ // object lists
+ strList []string // in order of appearance
+ pathList []string // in order of appearance
+ pkgList []*types.Package // in order of appearance
+ typList []types.Type // in order of appearance
+ interfaceList []*types.Interface // for delayed completion only
+ trackAllTypes bool
+
+ // position encoding
+ posInfoFormat bool
+ prevFile string
+ prevLine int
+ fake fakeFileSet
+
+ // debugging support
+ debugFormat bool
+ read int // bytes read
+}
+
+// BImportData imports a package from the serialized package data
+// and returns the number of bytes consumed and a reference to the package.
+// If the export data version is not recognized or the format is otherwise
+// compromised, an error is returned.
+func BImportData(fset *token.FileSet, imports map[string]*types.Package, data []byte, path string) (_ int, pkg *types.Package, err error) {
+ // catch panics and return them as errors
+ const currentVersion = 6
+ version := -1 // unknown version
+ defer func() {
+ if e := recover(); e != nil {
+ // Return a (possibly nil or incomplete) package unchanged (see #16088).
+ if version > currentVersion {
+ err = fmt.Errorf("cannot import %q (%v), export data is newer version - update tool", path, e)
+ } else {
+ err = fmt.Errorf("cannot import %q (%v), possibly version skew - reinstall package", path, e)
+ }
+ }
+ }()
+
+ p := importer{
+ imports: imports,
+ data: data,
+ importpath: path,
+ version: version,
+ strList: []string{""}, // empty string is mapped to 0
+ pathList: []string{""}, // empty string is mapped to 0
+ fake: fakeFileSet{
+ fset: fset,
+ files: make(map[string]*token.File),
+ },
+ }
+
+ // read version info
+ var versionstr string
+ if b := p.rawByte(); b == 'c' || b == 'd' {
+ // Go1.7 encoding; first byte encodes low-level
+ // encoding format (compact vs debug).
+ // For backward-compatibility only (avoid problems with
+ // old installed packages). Newly compiled packages use
+ // the extensible format string.
+ // TODO(gri) Remove this support eventually; after Go1.8.
+ if b == 'd' {
+ p.debugFormat = true
+ }
+ p.trackAllTypes = p.rawByte() == 'a'
+ p.posInfoFormat = p.int() != 0
+ versionstr = p.string()
+ if versionstr == "v1" {
+ version = 0
+ }
+ } else {
+ // Go1.8 extensible encoding
+ // read version string and extract version number (ignore anything after the version number)
+ versionstr = p.rawStringln(b)
+ if s := strings.SplitN(versionstr, " ", 3); len(s) >= 2 && s[0] == "version" {
+ if v, err := strconv.Atoi(s[1]); err == nil && v > 0 {
+ version = v
+ }
+ }
+ }
+ p.version = version
+
+ // read version specific flags - extend as necessary
+ switch p.version {
+ // case currentVersion:
+ // ...
+ // fallthrough
+ case currentVersion, 5, 4, 3, 2, 1:
+ p.debugFormat = p.rawStringln(p.rawByte()) == "debug"
+ p.trackAllTypes = p.int() != 0
+ p.posInfoFormat = p.int() != 0
+ case 0:
+ // Go1.7 encoding format - nothing to do here
+ default:
+ errorf("unknown bexport format version %d (%q)", p.version, versionstr)
+ }
+
+ // --- generic export data ---
+
+ // populate typList with predeclared "known" types
+ p.typList = append(p.typList, predeclared...)
+
+ // read package data
+ pkg = p.pkg()
+
+ // read objects of phase 1 only (see cmd/compile/internal/gc/bexport.go)
+ objcount := 0
+ for {
+ tag := p.tagOrIndex()
+ if tag == endTag {
+ break
+ }
+ p.obj(tag)
+ objcount++
+ }
+
+ // self-verification
+ if count := p.int(); count != objcount {
+ errorf("got %d objects; want %d", objcount, count)
+ }
+
+ // ignore compiler-specific import data
+
+ // complete interfaces
+ // TODO(gri) re-investigate if we still need to do this in a delayed fashion
+ for _, typ := range p.interfaceList {
+ typ.Complete()
+ }
+
+ // record all referenced packages as imports
+ list := append(([]*types.Package)(nil), p.pkgList[1:]...)
+ sort.Sort(byPath(list))
+ pkg.SetImports(list)
+
+ // package was imported completely and without errors
+ pkg.MarkComplete()
+
+ return p.read, pkg, nil
+}
+
+func errorf(format string, args ...interface{}) {
+ panic(fmt.Sprintf(format, args...))
+}
+
+func (p *importer) pkg() *types.Package {
+ // if the package was seen before, i is its index (>= 0)
+ i := p.tagOrIndex()
+ if i >= 0 {
+ return p.pkgList[i]
+ }
+
+ // otherwise, i is the package tag (< 0)
+ if i != packageTag {
+ errorf("unexpected package tag %d version %d", i, p.version)
+ }
+
+ // read package data
+ name := p.string()
+ var path string
+ if p.version >= 5 {
+ path = p.path()
+ } else {
+ path = p.string()
+ }
+ if p.version >= 6 {
+ p.int() // package height; unused by go/types
+ }
+
+ // we should never see an empty package name
+ if name == "" {
+ errorf("empty package name in import")
+ }
+
+ // an empty path denotes the package we are currently importing;
+ // it must be the first package we see
+ if (path == "") != (len(p.pkgList) == 0) {
+ errorf("package path %q for pkg index %d", path, len(p.pkgList))
+ }
+
+ // if the package was imported before, use that one; otherwise create a new one
+ if path == "" {
+ path = p.importpath
+ }
+ pkg := p.imports[path]
+ if pkg == nil {
+ pkg = types.NewPackage(path, name)
+ p.imports[path] = pkg
+ } else if pkg.Name() != name {
+ errorf("conflicting names %s and %s for package %q", pkg.Name(), name, path)
+ }
+ p.pkgList = append(p.pkgList, pkg)
+
+ return pkg
+}
+
+// objTag returns the tag value for each object kind.
+func objTag(obj types.Object) int {
+ switch obj.(type) {
+ case *types.Const:
+ return constTag
+ case *types.TypeName:
+ return typeTag
+ case *types.Var:
+ return varTag
+ case *types.Func:
+ return funcTag
+ default:
+ errorf("unexpected object: %v (%T)", obj, obj) // panics
+ panic("unreachable")
+ }
+}
+
+func sameObj(a, b types.Object) bool {
+ // Because unnamed types are not canonicalized, we cannot simply compare types for
+ // (pointer) identity.
+ // Ideally we'd check equality of constant values as well, but this is good enough.
+ return objTag(a) == objTag(b) && types.Identical(a.Type(), b.Type())
+}
+
+func (p *importer) declare(obj types.Object) {
+ pkg := obj.Pkg()
+ if alt := pkg.Scope().Insert(obj); alt != nil {
+ // This can only trigger if we import a (non-type) object a second time.
+ // Excluding type aliases, this cannot happen because 1) we only import a package
+ // once; and b) we ignore compiler-specific export data which may contain
+ // functions whose inlined function bodies refer to other functions that
+ // were already imported.
+ // However, type aliases require reexporting the original type, so we need
+ // to allow it (see also the comment in cmd/compile/internal/gc/bimport.go,
+ // method importer.obj, switch case importing functions).
+ // TODO(gri) review/update this comment once the gc compiler handles type aliases.
+ if !sameObj(obj, alt) {
+ errorf("inconsistent import:\n\t%v\npreviously imported as:\n\t%v\n", obj, alt)
+ }
+ }
+}
+
+func (p *importer) obj(tag int) {
+ switch tag {
+ case constTag:
+ pos := p.pos()
+ pkg, name := p.qualifiedName()
+ typ := p.typ(nil, nil)
+ val := p.value()
+ p.declare(types.NewConst(pos, pkg, name, typ, val))
+
+ case aliasTag:
+ // TODO(gri) verify type alias hookup is correct
+ pos := p.pos()
+ pkg, name := p.qualifiedName()
+ typ := p.typ(nil, nil)
+ p.declare(types.NewTypeName(pos, pkg, name, typ))
+
+ case typeTag:
+ p.typ(nil, nil)
+
+ case varTag:
+ pos := p.pos()
+ pkg, name := p.qualifiedName()
+ typ := p.typ(nil, nil)
+ p.declare(types.NewVar(pos, pkg, name, typ))
+
+ case funcTag:
+ pos := p.pos()
+ pkg, name := p.qualifiedName()
+ params, isddd := p.paramList()
+ result, _ := p.paramList()
+ sig := types.NewSignature(nil, params, result, isddd)
+ p.declare(types.NewFunc(pos, pkg, name, sig))
+
+ default:
+ errorf("unexpected object tag %d", tag)
+ }
+}
+
+const deltaNewFile = -64 // see cmd/compile/internal/gc/bexport.go
+
+func (p *importer) pos() token.Pos {
+ if !p.posInfoFormat {
+ return token.NoPos
+ }
+
+ file := p.prevFile
+ line := p.prevLine
+ delta := p.int()
+ line += delta
+ if p.version >= 5 {
+ if delta == deltaNewFile {
+ if n := p.int(); n >= 0 {
+ // file changed
+ file = p.path()
+ line = n
+ }
+ }
+ } else {
+ if delta == 0 {
+ if n := p.int(); n >= 0 {
+ // file changed
+ file = p.prevFile[:n] + p.string()
+ line = p.int()
+ }
+ }
+ }
+ p.prevFile = file
+ p.prevLine = line
+
+ return p.fake.pos(file, line)
+}
+
+// Synthesize a token.Pos
+type fakeFileSet struct {
+ fset *token.FileSet
+ files map[string]*token.File
+}
+
+func (s *fakeFileSet) pos(file string, line int) token.Pos {
+ // Since we don't know the set of needed file positions, we
+ // reserve maxlines positions per file.
+ const maxlines = 64 * 1024
+ f := s.files[file]
+ if f == nil {
+ f = s.fset.AddFile(file, -1, maxlines)
+ s.files[file] = f
+ // Allocate the fake linebreak indices on first use.
+ // TODO(adonovan): opt: save ~512KB using a more complex scheme?
+ fakeLinesOnce.Do(func() {
+ fakeLines = make([]int, maxlines)
+ for i := range fakeLines {
+ fakeLines[i] = i
+ }
+ })
+ f.SetLines(fakeLines)
+ }
+
+ if line > maxlines {
+ line = 1
+ }
+
+ // Treat the file as if it contained only newlines
+ // and column=1: use the line number as the offset.
+ return f.Pos(line - 1)
+}
+
+var (
+ fakeLines []int
+ fakeLinesOnce sync.Once
+)
+
+func (p *importer) qualifiedName() (pkg *types.Package, name string) {
+ name = p.string()
+ pkg = p.pkg()
+ return
+}
+
+func (p *importer) record(t types.Type) {
+ p.typList = append(p.typList, t)
+}
+
+// A dddSlice is a types.Type representing ...T parameters.
+// It only appears for parameter types and does not escape
+// the importer.
+type dddSlice struct {
+ elem types.Type
+}
+
+func (t *dddSlice) Underlying() types.Type { return t }
+func (t *dddSlice) String() string { return "..." + t.elem.String() }
+
+// parent is the package which declared the type; parent == nil means
+// the package currently imported. The parent package is needed for
+// exported struct fields and interface methods which don't contain
+// explicit package information in the export data.
+//
+// A non-nil tname is used as the "owner" of the result type; i.e.,
+// the result type is the underlying type of tname. tname is used
+// to give interface methods a named receiver type where possible.
+func (p *importer) typ(parent *types.Package, tname *types.Named) types.Type {
+ // if the type was seen before, i is its index (>= 0)
+ i := p.tagOrIndex()
+ if i >= 0 {
+ return p.typList[i]
+ }
+
+ // otherwise, i is the type tag (< 0)
+ switch i {
+ case namedTag:
+ // read type object
+ pos := p.pos()
+ parent, name := p.qualifiedName()
+ scope := parent.Scope()
+ obj := scope.Lookup(name)
+
+ // if the object doesn't exist yet, create and insert it
+ if obj == nil {
+ obj = types.NewTypeName(pos, parent, name, nil)
+ scope.Insert(obj)
+ }
+
+ if _, ok := obj.(*types.TypeName); !ok {
+ errorf("pkg = %s, name = %s => %s", parent, name, obj)
+ }
+
+ // associate new named type with obj if it doesn't exist yet
+ t0 := types.NewNamed(obj.(*types.TypeName), nil, nil)
+
+ // but record the existing type, if any
+ tname := obj.Type().(*types.Named) // tname is either t0 or the existing type
+ p.record(tname)
+
+ // read underlying type
+ t0.SetUnderlying(p.typ(parent, t0))
+
+ // interfaces don't have associated methods
+ if types.IsInterface(t0) {
+ return tname
+ }
+
+ // read associated methods
+ for i := p.int(); i > 0; i-- {
+ // TODO(gri) replace this with something closer to fieldName
+ pos := p.pos()
+ name := p.string()
+ if !exported(name) {
+ p.pkg()
+ }
+
+ recv, _ := p.paramList() // TODO(gri) do we need a full param list for the receiver?
+ params, isddd := p.paramList()
+ result, _ := p.paramList()
+ p.int() // go:nointerface pragma - discarded
+
+ sig := types.NewSignature(recv.At(0), params, result, isddd)
+ t0.AddMethod(types.NewFunc(pos, parent, name, sig))
+ }
+
+ return tname
+
+ case arrayTag:
+ t := new(types.Array)
+ if p.trackAllTypes {
+ p.record(t)
+ }
+
+ n := p.int64()
+ *t = *types.NewArray(p.typ(parent, nil), n)
+ return t
+
+ case sliceTag:
+ t := new(types.Slice)
+ if p.trackAllTypes {
+ p.record(t)
+ }
+
+ *t = *types.NewSlice(p.typ(parent, nil))
+ return t
+
+ case dddTag:
+ t := new(dddSlice)
+ if p.trackAllTypes {
+ p.record(t)
+ }
+
+ t.elem = p.typ(parent, nil)
+ return t
+
+ case structTag:
+ t := new(types.Struct)
+ if p.trackAllTypes {
+ p.record(t)
+ }
+
+ *t = *types.NewStruct(p.fieldList(parent))
+ return t
+
+ case pointerTag:
+ t := new(types.Pointer)
+ if p.trackAllTypes {
+ p.record(t)
+ }
+
+ *t = *types.NewPointer(p.typ(parent, nil))
+ return t
+
+ case signatureTag:
+ t := new(types.Signature)
+ if p.trackAllTypes {
+ p.record(t)
+ }
+
+ params, isddd := p.paramList()
+ result, _ := p.paramList()
+ *t = *types.NewSignature(nil, params, result, isddd)
+ return t
+
+ case interfaceTag:
+ // Create a dummy entry in the type list. This is safe because we
+ // cannot expect the interface type to appear in a cycle, as any
+ // such cycle must contain a named type which would have been
+ // first defined earlier.
+ // TODO(gri) Is this still true now that we have type aliases?
+ // See issue #23225.
+ n := len(p.typList)
+ if p.trackAllTypes {
+ p.record(nil)
+ }
+
+ var embeddeds []types.Type
+ for n := p.int(); n > 0; n-- {
+ p.pos()
+ embeddeds = append(embeddeds, p.typ(parent, nil))
+ }
+
+ t := newInterface(p.methodList(parent, tname), embeddeds)
+ p.interfaceList = append(p.interfaceList, t)
+ if p.trackAllTypes {
+ p.typList[n] = t
+ }
+ return t
+
+ case mapTag:
+ t := new(types.Map)
+ if p.trackAllTypes {
+ p.record(t)
+ }
+
+ key := p.typ(parent, nil)
+ val := p.typ(parent, nil)
+ *t = *types.NewMap(key, val)
+ return t
+
+ case chanTag:
+ t := new(types.Chan)
+ if p.trackAllTypes {
+ p.record(t)
+ }
+
+ dir := chanDir(p.int())
+ val := p.typ(parent, nil)
+ *t = *types.NewChan(dir, val)
+ return t
+
+ default:
+ errorf("unexpected type tag %d", i) // panics
+ panic("unreachable")
+ }
+}
+
+func chanDir(d int) types.ChanDir {
+ // tag values must match the constants in cmd/compile/internal/gc/go.go
+ switch d {
+ case 1 /* Crecv */ :
+ return types.RecvOnly
+ case 2 /* Csend */ :
+ return types.SendOnly
+ case 3 /* Cboth */ :
+ return types.SendRecv
+ default:
+ errorf("unexpected channel dir %d", d)
+ return 0
+ }
+}
+
+func (p *importer) fieldList(parent *types.Package) (fields []*types.Var, tags []string) {
+ if n := p.int(); n > 0 {
+ fields = make([]*types.Var, n)
+ tags = make([]string, n)
+ for i := range fields {
+ fields[i], tags[i] = p.field(parent)
+ }
+ }
+ return
+}
+
+func (p *importer) field(parent *types.Package) (*types.Var, string) {
+ pos := p.pos()
+ pkg, name, alias := p.fieldName(parent)
+ typ := p.typ(parent, nil)
+ tag := p.string()
+
+ anonymous := false
+ if name == "" {
+ // anonymous field - typ must be T or *T and T must be a type name
+ switch typ := deref(typ).(type) {
+ case *types.Basic: // basic types are named types
+ pkg = nil // // objects defined in Universe scope have no package
+ name = typ.Name()
+ case *types.Named:
+ name = typ.Obj().Name()
+ default:
+ errorf("named base type expected")
+ }
+ anonymous = true
+ } else if alias {
+ // anonymous field: we have an explicit name because it's an alias
+ anonymous = true
+ }
+
+ return types.NewField(pos, pkg, name, typ, anonymous), tag
+}
+
+func (p *importer) methodList(parent *types.Package, baseType *types.Named) (methods []*types.Func) {
+ if n := p.int(); n > 0 {
+ methods = make([]*types.Func, n)
+ for i := range methods {
+ methods[i] = p.method(parent, baseType)
+ }
+ }
+ return
+}
+
+func (p *importer) method(parent *types.Package, baseType *types.Named) *types.Func {
+ pos := p.pos()
+ pkg, name, _ := p.fieldName(parent)
+ // If we don't have a baseType, use a nil receiver.
+ // A receiver using the actual interface type (which
+ // we don't know yet) will be filled in when we call
+ // types.Interface.Complete.
+ var recv *types.Var
+ if baseType != nil {
+ recv = types.NewVar(token.NoPos, parent, "", baseType)
+ }
+ params, isddd := p.paramList()
+ result, _ := p.paramList()
+ sig := types.NewSignature(recv, params, result, isddd)
+ return types.NewFunc(pos, pkg, name, sig)
+}
+
+func (p *importer) fieldName(parent *types.Package) (pkg *types.Package, name string, alias bool) {
+ name = p.string()
+ pkg = parent
+ if pkg == nil {
+ // use the imported package instead
+ pkg = p.pkgList[0]
+ }
+ if p.version == 0 && name == "_" {
+ // version 0 didn't export a package for _ fields
+ return
+ }
+ switch name {
+ case "":
+ // 1) field name matches base type name and is exported: nothing to do
+ case "?":
+ // 2) field name matches base type name and is not exported: need package
+ name = ""
+ pkg = p.pkg()
+ case "@":
+ // 3) field name doesn't match type name (alias)
+ name = p.string()
+ alias = true
+ fallthrough
+ default:
+ if !exported(name) {
+ pkg = p.pkg()
+ }
+ }
+ return
+}
+
+func (p *importer) paramList() (*types.Tuple, bool) {
+ n := p.int()
+ if n == 0 {
+ return nil, false
+ }
+ // negative length indicates unnamed parameters
+ named := true
+ if n < 0 {
+ n = -n
+ named = false
+ }
+ // n > 0
+ params := make([]*types.Var, n)
+ isddd := false
+ for i := range params {
+ params[i], isddd = p.param(named)
+ }
+ return types.NewTuple(params...), isddd
+}
+
+func (p *importer) param(named bool) (*types.Var, bool) {
+ t := p.typ(nil, nil)
+ td, isddd := t.(*dddSlice)
+ if isddd {
+ t = types.NewSlice(td.elem)
+ }
+
+ var pkg *types.Package
+ var name string
+ if named {
+ name = p.string()
+ if name == "" {
+ errorf("expected named parameter")
+ }
+ if name != "_" {
+ pkg = p.pkg()
+ }
+ if i := strings.Index(name, "·"); i > 0 {
+ name = name[:i] // cut off gc-specific parameter numbering
+ }
+ }
+
+ // read and discard compiler-specific info
+ p.string()
+
+ return types.NewVar(token.NoPos, pkg, name, t), isddd
+}
+
+func exported(name string) bool {
+ ch, _ := utf8.DecodeRuneInString(name)
+ return unicode.IsUpper(ch)
+}
+
+func (p *importer) value() constant.Value {
+ switch tag := p.tagOrIndex(); tag {
+ case falseTag:
+ return constant.MakeBool(false)
+ case trueTag:
+ return constant.MakeBool(true)
+ case int64Tag:
+ return constant.MakeInt64(p.int64())
+ case floatTag:
+ return p.float()
+ case complexTag:
+ re := p.float()
+ im := p.float()
+ return constant.BinaryOp(re, token.ADD, constant.MakeImag(im))
+ case stringTag:
+ return constant.MakeString(p.string())
+ case unknownTag:
+ return constant.MakeUnknown()
+ default:
+ errorf("unexpected value tag %d", tag) // panics
+ panic("unreachable")
+ }
+}
+
+func (p *importer) float() constant.Value {
+ sign := p.int()
+ if sign == 0 {
+ return constant.MakeInt64(0)
+ }
+
+ exp := p.int()
+ mant := []byte(p.string()) // big endian
+
+ // remove leading 0's if any
+ for len(mant) > 0 && mant[0] == 0 {
+ mant = mant[1:]
+ }
+
+ // convert to little endian
+ // TODO(gri) go/constant should have a more direct conversion function
+ // (e.g., once it supports a big.Float based implementation)
+ for i, j := 0, len(mant)-1; i < j; i, j = i+1, j-1 {
+ mant[i], mant[j] = mant[j], mant[i]
+ }
+
+ // adjust exponent (constant.MakeFromBytes creates an integer value,
+ // but mant represents the mantissa bits such that 0.5 <= mant < 1.0)
+ exp -= len(mant) << 3
+ if len(mant) > 0 {
+ for msd := mant[len(mant)-1]; msd&0x80 == 0; msd <<= 1 {
+ exp++
+ }
+ }
+
+ x := constant.MakeFromBytes(mant)
+ switch {
+ case exp < 0:
+ d := constant.Shift(constant.MakeInt64(1), token.SHL, uint(-exp))
+ x = constant.BinaryOp(x, token.QUO, d)
+ case exp > 0:
+ x = constant.Shift(x, token.SHL, uint(exp))
+ }
+
+ if sign < 0 {
+ x = constant.UnaryOp(token.SUB, x, 0)
+ }
+ return x
+}
+
+// ----------------------------------------------------------------------------
+// Low-level decoders
+
+func (p *importer) tagOrIndex() int {
+ if p.debugFormat {
+ p.marker('t')
+ }
+
+ return int(p.rawInt64())
+}
+
+func (p *importer) int() int {
+ x := p.int64()
+ if int64(int(x)) != x {
+ errorf("exported integer too large")
+ }
+ return int(x)
+}
+
+func (p *importer) int64() int64 {
+ if p.debugFormat {
+ p.marker('i')
+ }
+
+ return p.rawInt64()
+}
+
+func (p *importer) path() string {
+ if p.debugFormat {
+ p.marker('p')
+ }
+ // if the path was seen before, i is its index (>= 0)
+ // (the empty string is at index 0)
+ i := p.rawInt64()
+ if i >= 0 {
+ return p.pathList[i]
+ }
+ // otherwise, i is the negative path length (< 0)
+ a := make([]string, -i)
+ for n := range a {
+ a[n] = p.string()
+ }
+ s := strings.Join(a, "/")
+ p.pathList = append(p.pathList, s)
+ return s
+}
+
+func (p *importer) string() string {
+ if p.debugFormat {
+ p.marker('s')
+ }
+ // if the string was seen before, i is its index (>= 0)
+ // (the empty string is at index 0)
+ i := p.rawInt64()
+ if i >= 0 {
+ return p.strList[i]
+ }
+ // otherwise, i is the negative string length (< 0)
+ if n := int(-i); n <= cap(p.buf) {
+ p.buf = p.buf[:n]
+ } else {
+ p.buf = make([]byte, n)
+ }
+ for i := range p.buf {
+ p.buf[i] = p.rawByte()
+ }
+ s := string(p.buf)
+ p.strList = append(p.strList, s)
+ return s
+}
+
+func (p *importer) marker(want byte) {
+ if got := p.rawByte(); got != want {
+ errorf("incorrect marker: got %c; want %c (pos = %d)", got, want, p.read)
+ }
+
+ pos := p.read
+ if n := int(p.rawInt64()); n != pos {
+ errorf("incorrect position: got %d; want %d", n, pos)
+ }
+}
+
+// rawInt64 should only be used by low-level decoders.
+func (p *importer) rawInt64() int64 {
+ i, err := binary.ReadVarint(p)
+ if err != nil {
+ errorf("read error: %v", err)
+ }
+ return i
+}
+
+// rawStringln should only be used to read the initial version string.
+func (p *importer) rawStringln(b byte) string {
+ p.buf = p.buf[:0]
+ for b != '\n' {
+ p.buf = append(p.buf, b)
+ b = p.rawByte()
+ }
+ return string(p.buf)
+}
+
+// needed for binary.ReadVarint in rawInt64
+func (p *importer) ReadByte() (byte, error) {
+ return p.rawByte(), nil
+}
+
+// byte is the bottleneck interface for reading p.data.
+// It unescapes '|' 'S' to '$' and '|' '|' to '|'.
+// rawByte should only be used by low-level decoders.
+func (p *importer) rawByte() byte {
+ b := p.data[0]
+ r := 1
+ if b == '|' {
+ b = p.data[1]
+ r = 2
+ switch b {
+ case 'S':
+ b = '$'
+ case '|':
+ // nothing to do
+ default:
+ errorf("unexpected escape sequence in export data")
+ }
+ }
+ p.data = p.data[r:]
+ p.read += r
+ return b
+
+}
+
+// ----------------------------------------------------------------------------
+// Export format
+
+// Tags. Must be < 0.
+const (
+ // Objects
+ packageTag = -(iota + 1)
+ constTag
+ typeTag
+ varTag
+ funcTag
+ endTag
+
+ // Types
+ namedTag
+ arrayTag
+ sliceTag
+ dddTag
+ structTag
+ pointerTag
+ signatureTag
+ interfaceTag
+ mapTag
+ chanTag
+
+ // Values
+ falseTag
+ trueTag
+ int64Tag
+ floatTag
+ fractionTag // not used by gc
+ complexTag
+ stringTag
+ nilTag // only used by gc (appears in exported inlined function bodies)
+ unknownTag // not used by gc (only appears in packages with errors)
+
+ // Type aliases
+ aliasTag
+)
+
+var predeclared = []types.Type{
+ // basic types
+ types.Typ[types.Bool],
+ types.Typ[types.Int],
+ types.Typ[types.Int8],
+ types.Typ[types.Int16],
+ types.Typ[types.Int32],
+ types.Typ[types.Int64],
+ types.Typ[types.Uint],
+ types.Typ[types.Uint8],
+ types.Typ[types.Uint16],
+ types.Typ[types.Uint32],
+ types.Typ[types.Uint64],
+ types.Typ[types.Uintptr],
+ types.Typ[types.Float32],
+ types.Typ[types.Float64],
+ types.Typ[types.Complex64],
+ types.Typ[types.Complex128],
+ types.Typ[types.String],
+
+ // basic type aliases
+ types.Universe.Lookup("byte").Type(),
+ types.Universe.Lookup("rune").Type(),
+
+ // error
+ types.Universe.Lookup("error").Type(),
+
+ // untyped types
+ types.Typ[types.UntypedBool],
+ types.Typ[types.UntypedInt],
+ types.Typ[types.UntypedRune],
+ types.Typ[types.UntypedFloat],
+ types.Typ[types.UntypedComplex],
+ types.Typ[types.UntypedString],
+ types.Typ[types.UntypedNil],
+
+ // package unsafe
+ types.Typ[types.UnsafePointer],
+
+ // invalid type
+ types.Typ[types.Invalid], // only appears in packages with errors
+
+ // used internally by gc; never used by this package or in .a files
+ anyType{},
+}
+
+type anyType struct{}
+
+func (t anyType) Underlying() types.Type { return t }
+func (t anyType) String() string { return "any" }
diff --git a/vendor/golang.org/x/tools/go/internal/gcimporter/exportdata.go b/vendor/golang.org/x/tools/go/internal/gcimporter/exportdata.go
new file mode 100644
index 0000000..f33dc56
--- /dev/null
+++ b/vendor/golang.org/x/tools/go/internal/gcimporter/exportdata.go
@@ -0,0 +1,93 @@
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// This file is a copy of $GOROOT/src/go/internal/gcimporter/exportdata.go.
+
+// This file implements FindExportData.
+
+package gcimporter
+
+import (
+ "bufio"
+ "fmt"
+ "io"
+ "strconv"
+ "strings"
+)
+
+func readGopackHeader(r *bufio.Reader) (name string, size int, err error) {
+ // See $GOROOT/include/ar.h.
+ hdr := make([]byte, 16+12+6+6+8+10+2)
+ _, err = io.ReadFull(r, hdr)
+ if err != nil {
+ return
+ }
+ // leave for debugging
+ if false {
+ fmt.Printf("header: %s", hdr)
+ }
+ s := strings.TrimSpace(string(hdr[16+12+6+6+8:][:10]))
+ size, err = strconv.Atoi(s)
+ if err != nil || hdr[len(hdr)-2] != '`' || hdr[len(hdr)-1] != '\n' {
+ err = fmt.Errorf("invalid archive header")
+ return
+ }
+ name = strings.TrimSpace(string(hdr[:16]))
+ return
+}
+
+// FindExportData positions the reader r at the beginning of the
+// export data section of an underlying GC-created object/archive
+// file by reading from it. The reader must be positioned at the
+// start of the file before calling this function. The hdr result
+// is the string before the export data, either "$$" or "$$B".
+//
+func FindExportData(r *bufio.Reader) (hdr string, err error) {
+ // Read first line to make sure this is an object file.
+ line, err := r.ReadSlice('\n')
+ if err != nil {
+ err = fmt.Errorf("can't find export data (%v)", err)
+ return
+ }
+
+ if string(line) == "!\n" {
+ // Archive file. Scan to __.PKGDEF.
+ var name string
+ if name, _, err = readGopackHeader(r); err != nil {
+ return
+ }
+
+ // First entry should be __.PKGDEF.
+ if name != "__.PKGDEF" {
+ err = fmt.Errorf("go archive is missing __.PKGDEF")
+ return
+ }
+
+ // Read first line of __.PKGDEF data, so that line
+ // is once again the first line of the input.
+ if line, err = r.ReadSlice('\n'); err != nil {
+ err = fmt.Errorf("can't find export data (%v)", err)
+ return
+ }
+ }
+
+ // Now at __.PKGDEF in archive or still at beginning of file.
+ // Either way, line should begin with "go object ".
+ if !strings.HasPrefix(string(line), "go object ") {
+ err = fmt.Errorf("not a Go object file")
+ return
+ }
+
+ // Skip over object header to export data.
+ // Begins after first line starting with $$.
+ for line[0] != '$' {
+ if line, err = r.ReadSlice('\n'); err != nil {
+ err = fmt.Errorf("can't find export data (%v)", err)
+ return
+ }
+ }
+ hdr = string(line)
+
+ return
+}
diff --git a/vendor/golang.org/x/tools/go/internal/gcimporter/gcimporter.go b/vendor/golang.org/x/tools/go/internal/gcimporter/gcimporter.go
new file mode 100644
index 0000000..9cf1866
--- /dev/null
+++ b/vendor/golang.org/x/tools/go/internal/gcimporter/gcimporter.go
@@ -0,0 +1,1078 @@
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// This file is a modified copy of $GOROOT/src/go/internal/gcimporter/gcimporter.go,
+// but it also contains the original source-based importer code for Go1.6.
+// Once we stop supporting 1.6, we can remove that code.
+
+// Package gcimporter provides various functions for reading
+// gc-generated object files that can be used to implement the
+// Importer interface defined by the Go 1.5 standard library package.
+package gcimporter // import "golang.org/x/tools/go/internal/gcimporter"
+
+import (
+ "bufio"
+ "errors"
+ "fmt"
+ "go/build"
+ "go/constant"
+ "go/token"
+ "go/types"
+ "io"
+ "io/ioutil"
+ "os"
+ "path/filepath"
+ "sort"
+ "strconv"
+ "strings"
+ "text/scanner"
+)
+
+// debugging/development support
+const debug = false
+
+var pkgExts = [...]string{".a", ".o"}
+
+// FindPkg returns the filename and unique package id for an import
+// path based on package information provided by build.Import (using
+// the build.Default build.Context). A relative srcDir is interpreted
+// relative to the current working directory.
+// If no file was found, an empty filename is returned.
+//
+func FindPkg(path, srcDir string) (filename, id string) {
+ if path == "" {
+ return
+ }
+
+ var noext string
+ switch {
+ default:
+ // "x" -> "$GOPATH/pkg/$GOOS_$GOARCH/x.ext", "x"
+ // Don't require the source files to be present.
+ if abs, err := filepath.Abs(srcDir); err == nil { // see issue 14282
+ srcDir = abs
+ }
+ bp, _ := build.Import(path, srcDir, build.FindOnly|build.AllowBinary)
+ if bp.PkgObj == "" {
+ id = path // make sure we have an id to print in error message
+ return
+ }
+ noext = strings.TrimSuffix(bp.PkgObj, ".a")
+ id = bp.ImportPath
+
+ case build.IsLocalImport(path):
+ // "./x" -> "/this/directory/x.ext", "/this/directory/x"
+ noext = filepath.Join(srcDir, path)
+ id = noext
+
+ case filepath.IsAbs(path):
+ // for completeness only - go/build.Import
+ // does not support absolute imports
+ // "/x" -> "/x.ext", "/x"
+ noext = path
+ id = path
+ }
+
+ if false { // for debugging
+ if path != id {
+ fmt.Printf("%s -> %s\n", path, id)
+ }
+ }
+
+ // try extensions
+ for _, ext := range pkgExts {
+ filename = noext + ext
+ if f, err := os.Stat(filename); err == nil && !f.IsDir() {
+ return
+ }
+ }
+
+ filename = "" // not found
+ return
+}
+
+// ImportData imports a package by reading the gc-generated export data,
+// adds the corresponding package object to the packages map indexed by id,
+// and returns the object.
+//
+// The packages map must contains all packages already imported. The data
+// reader position must be the beginning of the export data section. The
+// filename is only used in error messages.
+//
+// If packages[id] contains the completely imported package, that package
+// can be used directly, and there is no need to call this function (but
+// there is also no harm but for extra time used).
+//
+func ImportData(packages map[string]*types.Package, filename, id string, data io.Reader) (pkg *types.Package, err error) {
+ // support for parser error handling
+ defer func() {
+ switch r := recover().(type) {
+ case nil:
+ // nothing to do
+ case importError:
+ err = r
+ default:
+ panic(r) // internal error
+ }
+ }()
+
+ var p parser
+ p.init(filename, id, data, packages)
+ pkg = p.parseExport()
+
+ return
+}
+
+// Import imports a gc-generated package given its import path and srcDir, adds
+// the corresponding package object to the packages map, and returns the object.
+// The packages map must contain all packages already imported.
+//
+func Import(packages map[string]*types.Package, path, srcDir string, lookup func(path string) (io.ReadCloser, error)) (pkg *types.Package, err error) {
+ var rc io.ReadCloser
+ var filename, id string
+ if lookup != nil {
+ // With custom lookup specified, assume that caller has
+ // converted path to a canonical import path for use in the map.
+ if path == "unsafe" {
+ return types.Unsafe, nil
+ }
+ id = path
+
+ // No need to re-import if the package was imported completely before.
+ if pkg = packages[id]; pkg != nil && pkg.Complete() {
+ return
+ }
+ f, err := lookup(path)
+ if err != nil {
+ return nil, err
+ }
+ rc = f
+ } else {
+ filename, id = FindPkg(path, srcDir)
+ if filename == "" {
+ if path == "unsafe" {
+ return types.Unsafe, nil
+ }
+ return nil, fmt.Errorf("can't find import: %q", id)
+ }
+
+ // no need to re-import if the package was imported completely before
+ if pkg = packages[id]; pkg != nil && pkg.Complete() {
+ return
+ }
+
+ // open file
+ f, err := os.Open(filename)
+ if err != nil {
+ return nil, err
+ }
+ defer func() {
+ if err != nil {
+ // add file name to error
+ err = fmt.Errorf("%s: %v", filename, err)
+ }
+ }()
+ rc = f
+ }
+ defer rc.Close()
+
+ var hdr string
+ buf := bufio.NewReader(rc)
+ if hdr, err = FindExportData(buf); err != nil {
+ return
+ }
+
+ switch hdr {
+ case "$$\n":
+ // Work-around if we don't have a filename; happens only if lookup != nil.
+ // Either way, the filename is only needed for importer error messages, so
+ // this is fine.
+ if filename == "" {
+ filename = path
+ }
+ return ImportData(packages, filename, id, buf)
+
+ case "$$B\n":
+ var data []byte
+ data, err = ioutil.ReadAll(buf)
+ if err != nil {
+ break
+ }
+
+ // TODO(gri): allow clients of go/importer to provide a FileSet.
+ // Or, define a new standard go/types/gcexportdata package.
+ fset := token.NewFileSet()
+
+ // The indexed export format starts with an 'i'; the older
+ // binary export format starts with a 'c', 'd', or 'v'
+ // (from "version"). Select appropriate importer.
+ if len(data) > 0 && data[0] == 'i' {
+ _, pkg, err = IImportData(fset, packages, data[1:], id)
+ } else {
+ _, pkg, err = BImportData(fset, packages, data, id)
+ }
+
+ default:
+ err = fmt.Errorf("unknown export data header: %q", hdr)
+ }
+
+ return
+}
+
+// ----------------------------------------------------------------------------
+// Parser
+
+// TODO(gri) Imported objects don't have position information.
+// Ideally use the debug table line info; alternatively
+// create some fake position (or the position of the
+// import). That way error messages referring to imported
+// objects can print meaningful information.
+
+// parser parses the exports inside a gc compiler-produced
+// object/archive file and populates its scope with the results.
+type parser struct {
+ scanner scanner.Scanner
+ tok rune // current token
+ lit string // literal string; only valid for Ident, Int, String tokens
+ id string // package id of imported package
+ sharedPkgs map[string]*types.Package // package id -> package object (across importer)
+ localPkgs map[string]*types.Package // package id -> package object (just this package)
+}
+
+func (p *parser) init(filename, id string, src io.Reader, packages map[string]*types.Package) {
+ p.scanner.Init(src)
+ p.scanner.Error = func(_ *scanner.Scanner, msg string) { p.error(msg) }
+ p.scanner.Mode = scanner.ScanIdents | scanner.ScanInts | scanner.ScanChars | scanner.ScanStrings | scanner.ScanComments | scanner.SkipComments
+ p.scanner.Whitespace = 1<<'\t' | 1<<' '
+ p.scanner.Filename = filename // for good error messages
+ p.next()
+ p.id = id
+ p.sharedPkgs = packages
+ if debug {
+ // check consistency of packages map
+ for _, pkg := range packages {
+ if pkg.Name() == "" {
+ fmt.Printf("no package name for %s\n", pkg.Path())
+ }
+ }
+ }
+}
+
+func (p *parser) next() {
+ p.tok = p.scanner.Scan()
+ switch p.tok {
+ case scanner.Ident, scanner.Int, scanner.Char, scanner.String, '·':
+ p.lit = p.scanner.TokenText()
+ default:
+ p.lit = ""
+ }
+ if debug {
+ fmt.Printf("%s: %q -> %q\n", scanner.TokenString(p.tok), p.scanner.TokenText(), p.lit)
+ }
+}
+
+func declTypeName(pkg *types.Package, name string) *types.TypeName {
+ scope := pkg.Scope()
+ if obj := scope.Lookup(name); obj != nil {
+ return obj.(*types.TypeName)
+ }
+ obj := types.NewTypeName(token.NoPos, pkg, name, nil)
+ // a named type may be referred to before the underlying type
+ // is known - set it up
+ types.NewNamed(obj, nil, nil)
+ scope.Insert(obj)
+ return obj
+}
+
+// ----------------------------------------------------------------------------
+// Error handling
+
+// Internal errors are boxed as importErrors.
+type importError struct {
+ pos scanner.Position
+ err error
+}
+
+func (e importError) Error() string {
+ return fmt.Sprintf("import error %s (byte offset = %d): %s", e.pos, e.pos.Offset, e.err)
+}
+
+func (p *parser) error(err interface{}) {
+ if s, ok := err.(string); ok {
+ err = errors.New(s)
+ }
+ // panic with a runtime.Error if err is not an error
+ panic(importError{p.scanner.Pos(), err.(error)})
+}
+
+func (p *parser) errorf(format string, args ...interface{}) {
+ p.error(fmt.Sprintf(format, args...))
+}
+
+func (p *parser) expect(tok rune) string {
+ lit := p.lit
+ if p.tok != tok {
+ p.errorf("expected %s, got %s (%s)", scanner.TokenString(tok), scanner.TokenString(p.tok), lit)
+ }
+ p.next()
+ return lit
+}
+
+func (p *parser) expectSpecial(tok string) {
+ sep := 'x' // not white space
+ i := 0
+ for i < len(tok) && p.tok == rune(tok[i]) && sep > ' ' {
+ sep = p.scanner.Peek() // if sep <= ' ', there is white space before the next token
+ p.next()
+ i++
+ }
+ if i < len(tok) {
+ p.errorf("expected %q, got %q", tok, tok[0:i])
+ }
+}
+
+func (p *parser) expectKeyword(keyword string) {
+ lit := p.expect(scanner.Ident)
+ if lit != keyword {
+ p.errorf("expected keyword %s, got %q", keyword, lit)
+ }
+}
+
+// ----------------------------------------------------------------------------
+// Qualified and unqualified names
+
+// PackageId = string_lit .
+//
+func (p *parser) parsePackageId() string {
+ id, err := strconv.Unquote(p.expect(scanner.String))
+ if err != nil {
+ p.error(err)
+ }
+ // id == "" stands for the imported package id
+ // (only known at time of package installation)
+ if id == "" {
+ id = p.id
+ }
+ return id
+}
+
+// PackageName = ident .
+//
+func (p *parser) parsePackageName() string {
+ return p.expect(scanner.Ident)
+}
+
+// dotIdentifier = ( ident | '·' ) { ident | int | '·' } .
+func (p *parser) parseDotIdent() string {
+ ident := ""
+ if p.tok != scanner.Int {
+ sep := 'x' // not white space
+ for (p.tok == scanner.Ident || p.tok == scanner.Int || p.tok == '·') && sep > ' ' {
+ ident += p.lit
+ sep = p.scanner.Peek() // if sep <= ' ', there is white space before the next token
+ p.next()
+ }
+ }
+ if ident == "" {
+ p.expect(scanner.Ident) // use expect() for error handling
+ }
+ return ident
+}
+
+// QualifiedName = "@" PackageId "." ( "?" | dotIdentifier ) .
+//
+func (p *parser) parseQualifiedName() (id, name string) {
+ p.expect('@')
+ id = p.parsePackageId()
+ p.expect('.')
+ // Per rev f280b8a485fd (10/2/2013), qualified names may be used for anonymous fields.
+ if p.tok == '?' {
+ p.next()
+ } else {
+ name = p.parseDotIdent()
+ }
+ return
+}
+
+// getPkg returns the package for a given id. If the package is
+// not found, create the package and add it to the p.localPkgs
+// and p.sharedPkgs maps. name is the (expected) name of the
+// package. If name == "", the package name is expected to be
+// set later via an import clause in the export data.
+//
+// id identifies a package, usually by a canonical package path like
+// "encoding/json" but possibly by a non-canonical import path like
+// "./json".
+//
+func (p *parser) getPkg(id, name string) *types.Package {
+ // package unsafe is not in the packages maps - handle explicitly
+ if id == "unsafe" {
+ return types.Unsafe
+ }
+
+ pkg := p.localPkgs[id]
+ if pkg == nil {
+ // first import of id from this package
+ pkg = p.sharedPkgs[id]
+ if pkg == nil {
+ // first import of id by this importer;
+ // add (possibly unnamed) pkg to shared packages
+ pkg = types.NewPackage(id, name)
+ p.sharedPkgs[id] = pkg
+ }
+ // add (possibly unnamed) pkg to local packages
+ if p.localPkgs == nil {
+ p.localPkgs = make(map[string]*types.Package)
+ }
+ p.localPkgs[id] = pkg
+ } else if name != "" {
+ // package exists already and we have an expected package name;
+ // make sure names match or set package name if necessary
+ if pname := pkg.Name(); pname == "" {
+ pkg.SetName(name)
+ } else if pname != name {
+ p.errorf("%s package name mismatch: %s (given) vs %s (expected)", id, pname, name)
+ }
+ }
+ return pkg
+}
+
+// parseExportedName is like parseQualifiedName, but
+// the package id is resolved to an imported *types.Package.
+//
+func (p *parser) parseExportedName() (pkg *types.Package, name string) {
+ id, name := p.parseQualifiedName()
+ pkg = p.getPkg(id, "")
+ return
+}
+
+// ----------------------------------------------------------------------------
+// Types
+
+// BasicType = identifier .
+//
+func (p *parser) parseBasicType() types.Type {
+ id := p.expect(scanner.Ident)
+ obj := types.Universe.Lookup(id)
+ if obj, ok := obj.(*types.TypeName); ok {
+ return obj.Type()
+ }
+ p.errorf("not a basic type: %s", id)
+ return nil
+}
+
+// ArrayType = "[" int_lit "]" Type .
+//
+func (p *parser) parseArrayType(parent *types.Package) types.Type {
+ // "[" already consumed and lookahead known not to be "]"
+ lit := p.expect(scanner.Int)
+ p.expect(']')
+ elem := p.parseType(parent)
+ n, err := strconv.ParseInt(lit, 10, 64)
+ if err != nil {
+ p.error(err)
+ }
+ return types.NewArray(elem, n)
+}
+
+// MapType = "map" "[" Type "]" Type .
+//
+func (p *parser) parseMapType(parent *types.Package) types.Type {
+ p.expectKeyword("map")
+ p.expect('[')
+ key := p.parseType(parent)
+ p.expect(']')
+ elem := p.parseType(parent)
+ return types.NewMap(key, elem)
+}
+
+// Name = identifier | "?" | QualifiedName .
+//
+// For unqualified and anonymous names, the returned package is the parent
+// package unless parent == nil, in which case the returned package is the
+// package being imported. (The parent package is not nil if the the name
+// is an unqualified struct field or interface method name belonging to a
+// type declared in another package.)
+//
+// For qualified names, the returned package is nil (and not created if
+// it doesn't exist yet) unless materializePkg is set (which creates an
+// unnamed package with valid package path). In the latter case, a
+// subsequent import clause is expected to provide a name for the package.
+//
+func (p *parser) parseName(parent *types.Package, materializePkg bool) (pkg *types.Package, name string) {
+ pkg = parent
+ if pkg == nil {
+ pkg = p.sharedPkgs[p.id]
+ }
+ switch p.tok {
+ case scanner.Ident:
+ name = p.lit
+ p.next()
+ case '?':
+ // anonymous
+ p.next()
+ case '@':
+ // exported name prefixed with package path
+ pkg = nil
+ var id string
+ id, name = p.parseQualifiedName()
+ if materializePkg {
+ pkg = p.getPkg(id, "")
+ }
+ default:
+ p.error("name expected")
+ }
+ return
+}
+
+func deref(typ types.Type) types.Type {
+ if p, _ := typ.(*types.Pointer); p != nil {
+ return p.Elem()
+ }
+ return typ
+}
+
+// Field = Name Type [ string_lit ] .
+//
+func (p *parser) parseField(parent *types.Package) (*types.Var, string) {
+ pkg, name := p.parseName(parent, true)
+
+ if name == "_" {
+ // Blank fields should be package-qualified because they
+ // are unexported identifiers, but gc does not qualify them.
+ // Assuming that the ident belongs to the current package
+ // causes types to change during re-exporting, leading
+ // to spurious "can't assign A to B" errors from go/types.
+ // As a workaround, pretend all blank fields belong
+ // to the same unique dummy package.
+ const blankpkg = "<_>"
+ pkg = p.getPkg(blankpkg, blankpkg)
+ }
+
+ typ := p.parseType(parent)
+ anonymous := false
+ if name == "" {
+ // anonymous field - typ must be T or *T and T must be a type name
+ switch typ := deref(typ).(type) {
+ case *types.Basic: // basic types are named types
+ pkg = nil // objects defined in Universe scope have no package
+ name = typ.Name()
+ case *types.Named:
+ name = typ.Obj().Name()
+ default:
+ p.errorf("anonymous field expected")
+ }
+ anonymous = true
+ }
+ tag := ""
+ if p.tok == scanner.String {
+ s := p.expect(scanner.String)
+ var err error
+ tag, err = strconv.Unquote(s)
+ if err != nil {
+ p.errorf("invalid struct tag %s: %s", s, err)
+ }
+ }
+ return types.NewField(token.NoPos, pkg, name, typ, anonymous), tag
+}
+
+// StructType = "struct" "{" [ FieldList ] "}" .
+// FieldList = Field { ";" Field } .
+//
+func (p *parser) parseStructType(parent *types.Package) types.Type {
+ var fields []*types.Var
+ var tags []string
+
+ p.expectKeyword("struct")
+ p.expect('{')
+ for i := 0; p.tok != '}' && p.tok != scanner.EOF; i++ {
+ if i > 0 {
+ p.expect(';')
+ }
+ fld, tag := p.parseField(parent)
+ if tag != "" && tags == nil {
+ tags = make([]string, i)
+ }
+ if tags != nil {
+ tags = append(tags, tag)
+ }
+ fields = append(fields, fld)
+ }
+ p.expect('}')
+
+ return types.NewStruct(fields, tags)
+}
+
+// Parameter = ( identifier | "?" ) [ "..." ] Type [ string_lit ] .
+//
+func (p *parser) parseParameter() (par *types.Var, isVariadic bool) {
+ _, name := p.parseName(nil, false)
+ // remove gc-specific parameter numbering
+ if i := strings.Index(name, "·"); i >= 0 {
+ name = name[:i]
+ }
+ if p.tok == '.' {
+ p.expectSpecial("...")
+ isVariadic = true
+ }
+ typ := p.parseType(nil)
+ if isVariadic {
+ typ = types.NewSlice(typ)
+ }
+ // ignore argument tag (e.g. "noescape")
+ if p.tok == scanner.String {
+ p.next()
+ }
+ // TODO(gri) should we provide a package?
+ par = types.NewVar(token.NoPos, nil, name, typ)
+ return
+}
+
+// Parameters = "(" [ ParameterList ] ")" .
+// ParameterList = { Parameter "," } Parameter .
+//
+func (p *parser) parseParameters() (list []*types.Var, isVariadic bool) {
+ p.expect('(')
+ for p.tok != ')' && p.tok != scanner.EOF {
+ if len(list) > 0 {
+ p.expect(',')
+ }
+ par, variadic := p.parseParameter()
+ list = append(list, par)
+ if variadic {
+ if isVariadic {
+ p.error("... not on final argument")
+ }
+ isVariadic = true
+ }
+ }
+ p.expect(')')
+
+ return
+}
+
+// Signature = Parameters [ Result ] .
+// Result = Type | Parameters .
+//
+func (p *parser) parseSignature(recv *types.Var) *types.Signature {
+ params, isVariadic := p.parseParameters()
+
+ // optional result type
+ var results []*types.Var
+ if p.tok == '(' {
+ var variadic bool
+ results, variadic = p.parseParameters()
+ if variadic {
+ p.error("... not permitted on result type")
+ }
+ }
+
+ return types.NewSignature(recv, types.NewTuple(params...), types.NewTuple(results...), isVariadic)
+}
+
+// InterfaceType = "interface" "{" [ MethodList ] "}" .
+// MethodList = Method { ";" Method } .
+// Method = Name Signature .
+//
+// The methods of embedded interfaces are always "inlined"
+// by the compiler and thus embedded interfaces are never
+// visible in the export data.
+//
+func (p *parser) parseInterfaceType(parent *types.Package) types.Type {
+ var methods []*types.Func
+
+ p.expectKeyword("interface")
+ p.expect('{')
+ for i := 0; p.tok != '}' && p.tok != scanner.EOF; i++ {
+ if i > 0 {
+ p.expect(';')
+ }
+ pkg, name := p.parseName(parent, true)
+ sig := p.parseSignature(nil)
+ methods = append(methods, types.NewFunc(token.NoPos, pkg, name, sig))
+ }
+ p.expect('}')
+
+ // Complete requires the type's embedded interfaces to be fully defined,
+ // but we do not define any
+ return types.NewInterface(methods, nil).Complete()
+}
+
+// ChanType = ( "chan" [ "<-" ] | "<-" "chan" ) Type .
+//
+func (p *parser) parseChanType(parent *types.Package) types.Type {
+ dir := types.SendRecv
+ if p.tok == scanner.Ident {
+ p.expectKeyword("chan")
+ if p.tok == '<' {
+ p.expectSpecial("<-")
+ dir = types.SendOnly
+ }
+ } else {
+ p.expectSpecial("<-")
+ p.expectKeyword("chan")
+ dir = types.RecvOnly
+ }
+ elem := p.parseType(parent)
+ return types.NewChan(dir, elem)
+}
+
+// Type =
+// BasicType | TypeName | ArrayType | SliceType | StructType |
+// PointerType | FuncType | InterfaceType | MapType | ChanType |
+// "(" Type ")" .
+//
+// BasicType = ident .
+// TypeName = ExportedName .
+// SliceType = "[" "]" Type .
+// PointerType = "*" Type .
+// FuncType = "func" Signature .
+//
+func (p *parser) parseType(parent *types.Package) types.Type {
+ switch p.tok {
+ case scanner.Ident:
+ switch p.lit {
+ default:
+ return p.parseBasicType()
+ case "struct":
+ return p.parseStructType(parent)
+ case "func":
+ // FuncType
+ p.next()
+ return p.parseSignature(nil)
+ case "interface":
+ return p.parseInterfaceType(parent)
+ case "map":
+ return p.parseMapType(parent)
+ case "chan":
+ return p.parseChanType(parent)
+ }
+ case '@':
+ // TypeName
+ pkg, name := p.parseExportedName()
+ return declTypeName(pkg, name).Type()
+ case '[':
+ p.next() // look ahead
+ if p.tok == ']' {
+ // SliceType
+ p.next()
+ return types.NewSlice(p.parseType(parent))
+ }
+ return p.parseArrayType(parent)
+ case '*':
+ // PointerType
+ p.next()
+ return types.NewPointer(p.parseType(parent))
+ case '<':
+ return p.parseChanType(parent)
+ case '(':
+ // "(" Type ")"
+ p.next()
+ typ := p.parseType(parent)
+ p.expect(')')
+ return typ
+ }
+ p.errorf("expected type, got %s (%q)", scanner.TokenString(p.tok), p.lit)
+ return nil
+}
+
+// ----------------------------------------------------------------------------
+// Declarations
+
+// ImportDecl = "import" PackageName PackageId .
+//
+func (p *parser) parseImportDecl() {
+ p.expectKeyword("import")
+ name := p.parsePackageName()
+ p.getPkg(p.parsePackageId(), name)
+}
+
+// int_lit = [ "+" | "-" ] { "0" ... "9" } .
+//
+func (p *parser) parseInt() string {
+ s := ""
+ switch p.tok {
+ case '-':
+ s = "-"
+ p.next()
+ case '+':
+ p.next()
+ }
+ return s + p.expect(scanner.Int)
+}
+
+// number = int_lit [ "p" int_lit ] .
+//
+func (p *parser) parseNumber() (typ *types.Basic, val constant.Value) {
+ // mantissa
+ mant := constant.MakeFromLiteral(p.parseInt(), token.INT, 0)
+ if mant == nil {
+ panic("invalid mantissa")
+ }
+
+ if p.lit == "p" {
+ // exponent (base 2)
+ p.next()
+ exp, err := strconv.ParseInt(p.parseInt(), 10, 0)
+ if err != nil {
+ p.error(err)
+ }
+ if exp < 0 {
+ denom := constant.MakeInt64(1)
+ denom = constant.Shift(denom, token.SHL, uint(-exp))
+ typ = types.Typ[types.UntypedFloat]
+ val = constant.BinaryOp(mant, token.QUO, denom)
+ return
+ }
+ if exp > 0 {
+ mant = constant.Shift(mant, token.SHL, uint(exp))
+ }
+ typ = types.Typ[types.UntypedFloat]
+ val = mant
+ return
+ }
+
+ typ = types.Typ[types.UntypedInt]
+ val = mant
+ return
+}
+
+// ConstDecl = "const" ExportedName [ Type ] "=" Literal .
+// Literal = bool_lit | int_lit | float_lit | complex_lit | rune_lit | string_lit .
+// bool_lit = "true" | "false" .
+// complex_lit = "(" float_lit "+" float_lit "i" ")" .
+// rune_lit = "(" int_lit "+" int_lit ")" .
+// string_lit = `"` { unicode_char } `"` .
+//
+func (p *parser) parseConstDecl() {
+ p.expectKeyword("const")
+ pkg, name := p.parseExportedName()
+
+ var typ0 types.Type
+ if p.tok != '=' {
+ // constant types are never structured - no need for parent type
+ typ0 = p.parseType(nil)
+ }
+
+ p.expect('=')
+ var typ types.Type
+ var val constant.Value
+ switch p.tok {
+ case scanner.Ident:
+ // bool_lit
+ if p.lit != "true" && p.lit != "false" {
+ p.error("expected true or false")
+ }
+ typ = types.Typ[types.UntypedBool]
+ val = constant.MakeBool(p.lit == "true")
+ p.next()
+
+ case '-', scanner.Int:
+ // int_lit
+ typ, val = p.parseNumber()
+
+ case '(':
+ // complex_lit or rune_lit
+ p.next()
+ if p.tok == scanner.Char {
+ p.next()
+ p.expect('+')
+ typ = types.Typ[types.UntypedRune]
+ _, val = p.parseNumber()
+ p.expect(')')
+ break
+ }
+ _, re := p.parseNumber()
+ p.expect('+')
+ _, im := p.parseNumber()
+ p.expectKeyword("i")
+ p.expect(')')
+ typ = types.Typ[types.UntypedComplex]
+ val = constant.BinaryOp(re, token.ADD, constant.MakeImag(im))
+
+ case scanner.Char:
+ // rune_lit
+ typ = types.Typ[types.UntypedRune]
+ val = constant.MakeFromLiteral(p.lit, token.CHAR, 0)
+ p.next()
+
+ case scanner.String:
+ // string_lit
+ typ = types.Typ[types.UntypedString]
+ val = constant.MakeFromLiteral(p.lit, token.STRING, 0)
+ p.next()
+
+ default:
+ p.errorf("expected literal got %s", scanner.TokenString(p.tok))
+ }
+
+ if typ0 == nil {
+ typ0 = typ
+ }
+
+ pkg.Scope().Insert(types.NewConst(token.NoPos, pkg, name, typ0, val))
+}
+
+// TypeDecl = "type" ExportedName Type .
+//
+func (p *parser) parseTypeDecl() {
+ p.expectKeyword("type")
+ pkg, name := p.parseExportedName()
+ obj := declTypeName(pkg, name)
+
+ // The type object may have been imported before and thus already
+ // have a type associated with it. We still need to parse the type
+ // structure, but throw it away if the object already has a type.
+ // This ensures that all imports refer to the same type object for
+ // a given type declaration.
+ typ := p.parseType(pkg)
+
+ if name := obj.Type().(*types.Named); name.Underlying() == nil {
+ name.SetUnderlying(typ)
+ }
+}
+
+// VarDecl = "var" ExportedName Type .
+//
+func (p *parser) parseVarDecl() {
+ p.expectKeyword("var")
+ pkg, name := p.parseExportedName()
+ typ := p.parseType(pkg)
+ pkg.Scope().Insert(types.NewVar(token.NoPos, pkg, name, typ))
+}
+
+// Func = Signature [ Body ] .
+// Body = "{" ... "}" .
+//
+func (p *parser) parseFunc(recv *types.Var) *types.Signature {
+ sig := p.parseSignature(recv)
+ if p.tok == '{' {
+ p.next()
+ for i := 1; i > 0; p.next() {
+ switch p.tok {
+ case '{':
+ i++
+ case '}':
+ i--
+ }
+ }
+ }
+ return sig
+}
+
+// MethodDecl = "func" Receiver Name Func .
+// Receiver = "(" ( identifier | "?" ) [ "*" ] ExportedName ")" .
+//
+func (p *parser) parseMethodDecl() {
+ // "func" already consumed
+ p.expect('(')
+ recv, _ := p.parseParameter() // receiver
+ p.expect(')')
+
+ // determine receiver base type object
+ base := deref(recv.Type()).(*types.Named)
+
+ // parse method name, signature, and possibly inlined body
+ _, name := p.parseName(nil, false)
+ sig := p.parseFunc(recv)
+
+ // methods always belong to the same package as the base type object
+ pkg := base.Obj().Pkg()
+
+ // add method to type unless type was imported before
+ // and method exists already
+ // TODO(gri) This leads to a quadratic algorithm - ok for now because method counts are small.
+ base.AddMethod(types.NewFunc(token.NoPos, pkg, name, sig))
+}
+
+// FuncDecl = "func" ExportedName Func .
+//
+func (p *parser) parseFuncDecl() {
+ // "func" already consumed
+ pkg, name := p.parseExportedName()
+ typ := p.parseFunc(nil)
+ pkg.Scope().Insert(types.NewFunc(token.NoPos, pkg, name, typ))
+}
+
+// Decl = [ ImportDecl | ConstDecl | TypeDecl | VarDecl | FuncDecl | MethodDecl ] "\n" .
+//
+func (p *parser) parseDecl() {
+ if p.tok == scanner.Ident {
+ switch p.lit {
+ case "import":
+ p.parseImportDecl()
+ case "const":
+ p.parseConstDecl()
+ case "type":
+ p.parseTypeDecl()
+ case "var":
+ p.parseVarDecl()
+ case "func":
+ p.next() // look ahead
+ if p.tok == '(' {
+ p.parseMethodDecl()
+ } else {
+ p.parseFuncDecl()
+ }
+ }
+ }
+ p.expect('\n')
+}
+
+// ----------------------------------------------------------------------------
+// Export
+
+// Export = "PackageClause { Decl } "$$" .
+// PackageClause = "package" PackageName [ "safe" ] "\n" .
+//
+func (p *parser) parseExport() *types.Package {
+ p.expectKeyword("package")
+ name := p.parsePackageName()
+ if p.tok == scanner.Ident && p.lit == "safe" {
+ // package was compiled with -u option - ignore
+ p.next()
+ }
+ p.expect('\n')
+
+ pkg := p.getPkg(p.id, name)
+
+ for p.tok != '$' && p.tok != scanner.EOF {
+ p.parseDecl()
+ }
+
+ if ch := p.scanner.Peek(); p.tok != '$' || ch != '$' {
+ // don't call next()/expect() since reading past the
+ // export data may cause scanner errors (e.g. NUL chars)
+ p.errorf("expected '$$', got %s %c", scanner.TokenString(p.tok), ch)
+ }
+
+ if n := p.scanner.ErrorCount; n != 0 {
+ p.errorf("expected no scanner errors, got %d", n)
+ }
+
+ // Record all locally referenced packages as imports.
+ var imports []*types.Package
+ for id, pkg2 := range p.localPkgs {
+ if pkg2.Name() == "" {
+ p.errorf("%s package has no name", id)
+ }
+ if id == p.id {
+ continue // avoid self-edge
+ }
+ imports = append(imports, pkg2)
+ }
+ sort.Sort(byPath(imports))
+ pkg.SetImports(imports)
+
+ // package was imported completely and without errors
+ pkg.MarkComplete()
+
+ return pkg
+}
+
+type byPath []*types.Package
+
+func (a byPath) Len() int { return len(a) }
+func (a byPath) Swap(i, j int) { a[i], a[j] = a[j], a[i] }
+func (a byPath) Less(i, j int) bool { return a[i].Path() < a[j].Path() }
diff --git a/vendor/golang.org/x/tools/go/internal/gcimporter/iimport.go b/vendor/golang.org/x/tools/go/internal/gcimporter/iimport.go
new file mode 100644
index 0000000..0fd22bb
--- /dev/null
+++ b/vendor/golang.org/x/tools/go/internal/gcimporter/iimport.go
@@ -0,0 +1,598 @@
+// Copyright 2018 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Indexed package import.
+// See cmd/compile/internal/gc/iexport.go for the export data format.
+
+// This file is a copy of $GOROOT/src/go/internal/gcimporter/iimport.go.
+
+package gcimporter
+
+import (
+ "bytes"
+ "encoding/binary"
+ "fmt"
+ "go/constant"
+ "go/token"
+ "go/types"
+ "io"
+ "sort"
+)
+
+type intReader struct {
+ *bytes.Reader
+ path string
+}
+
+func (r *intReader) int64() int64 {
+ i, err := binary.ReadVarint(r.Reader)
+ if err != nil {
+ errorf("import %q: read varint error: %v", r.path, err)
+ }
+ return i
+}
+
+func (r *intReader) uint64() uint64 {
+ i, err := binary.ReadUvarint(r.Reader)
+ if err != nil {
+ errorf("import %q: read varint error: %v", r.path, err)
+ }
+ return i
+}
+
+const predeclReserved = 32
+
+type itag uint64
+
+const (
+ // Types
+ definedType itag = iota
+ pointerType
+ sliceType
+ arrayType
+ chanType
+ mapType
+ signatureType
+ structType
+ interfaceType
+)
+
+// IImportData imports a package from the serialized package data
+// and returns the number of bytes consumed and a reference to the package.
+// If the export data version is not recognized or the format is otherwise
+// compromised, an error is returned.
+func IImportData(fset *token.FileSet, imports map[string]*types.Package, data []byte, path string) (_ int, pkg *types.Package, err error) {
+ const currentVersion = 0
+ version := -1
+ defer func() {
+ if e := recover(); e != nil {
+ if version > currentVersion {
+ err = fmt.Errorf("cannot import %q (%v), export data is newer version - update tool", path, e)
+ } else {
+ err = fmt.Errorf("cannot import %q (%v), possibly version skew - reinstall package", path, e)
+ }
+ }
+ }()
+
+ r := &intReader{bytes.NewReader(data), path}
+
+ version = int(r.uint64())
+ switch version {
+ case currentVersion:
+ default:
+ errorf("unknown iexport format version %d", version)
+ }
+
+ sLen := int64(r.uint64())
+ dLen := int64(r.uint64())
+
+ whence, _ := r.Seek(0, io.SeekCurrent)
+ stringData := data[whence : whence+sLen]
+ declData := data[whence+sLen : whence+sLen+dLen]
+ r.Seek(sLen+dLen, io.SeekCurrent)
+
+ p := iimporter{
+ ipath: path,
+
+ stringData: stringData,
+ stringCache: make(map[uint64]string),
+ pkgCache: make(map[uint64]*types.Package),
+
+ declData: declData,
+ pkgIndex: make(map[*types.Package]map[string]uint64),
+ typCache: make(map[uint64]types.Type),
+
+ fake: fakeFileSet{
+ fset: fset,
+ files: make(map[string]*token.File),
+ },
+ }
+
+ for i, pt := range predeclared {
+ p.typCache[uint64(i)] = pt
+ }
+
+ pkgList := make([]*types.Package, r.uint64())
+ for i := range pkgList {
+ pkgPathOff := r.uint64()
+ pkgPath := p.stringAt(pkgPathOff)
+ pkgName := p.stringAt(r.uint64())
+ _ = r.uint64() // package height; unused by go/types
+
+ if pkgPath == "" {
+ pkgPath = path
+ }
+ pkg := imports[pkgPath]
+ if pkg == nil {
+ pkg = types.NewPackage(pkgPath, pkgName)
+ imports[pkgPath] = pkg
+ } else if pkg.Name() != pkgName {
+ errorf("conflicting names %s and %s for package %q", pkg.Name(), pkgName, path)
+ }
+
+ p.pkgCache[pkgPathOff] = pkg
+
+ nameIndex := make(map[string]uint64)
+ for nSyms := r.uint64(); nSyms > 0; nSyms-- {
+ name := p.stringAt(r.uint64())
+ nameIndex[name] = r.uint64()
+ }
+
+ p.pkgIndex[pkg] = nameIndex
+ pkgList[i] = pkg
+ }
+
+ localpkg := pkgList[0]
+
+ names := make([]string, 0, len(p.pkgIndex[localpkg]))
+ for name := range p.pkgIndex[localpkg] {
+ names = append(names, name)
+ }
+ sort.Strings(names)
+ for _, name := range names {
+ p.doDecl(localpkg, name)
+ }
+
+ for _, typ := range p.interfaceList {
+ typ.Complete()
+ }
+
+ // record all referenced packages as imports
+ list := append(([]*types.Package)(nil), pkgList[1:]...)
+ sort.Sort(byPath(list))
+ localpkg.SetImports(list)
+
+ // package was imported completely and without errors
+ localpkg.MarkComplete()
+
+ consumed, _ := r.Seek(0, io.SeekCurrent)
+ return int(consumed), localpkg, nil
+}
+
+type iimporter struct {
+ ipath string
+
+ stringData []byte
+ stringCache map[uint64]string
+ pkgCache map[uint64]*types.Package
+
+ declData []byte
+ pkgIndex map[*types.Package]map[string]uint64
+ typCache map[uint64]types.Type
+
+ fake fakeFileSet
+ interfaceList []*types.Interface
+}
+
+func (p *iimporter) doDecl(pkg *types.Package, name string) {
+ // See if we've already imported this declaration.
+ if obj := pkg.Scope().Lookup(name); obj != nil {
+ return
+ }
+
+ off, ok := p.pkgIndex[pkg][name]
+ if !ok {
+ errorf("%v.%v not in index", pkg, name)
+ }
+
+ r := &importReader{p: p, currPkg: pkg}
+ r.declReader.Reset(p.declData[off:])
+
+ r.obj(name)
+}
+
+func (p *iimporter) stringAt(off uint64) string {
+ if s, ok := p.stringCache[off]; ok {
+ return s
+ }
+
+ slen, n := binary.Uvarint(p.stringData[off:])
+ if n <= 0 {
+ errorf("varint failed")
+ }
+ spos := off + uint64(n)
+ s := string(p.stringData[spos : spos+slen])
+ p.stringCache[off] = s
+ return s
+}
+
+func (p *iimporter) pkgAt(off uint64) *types.Package {
+ if pkg, ok := p.pkgCache[off]; ok {
+ return pkg
+ }
+ path := p.stringAt(off)
+ errorf("missing package %q in %q", path, p.ipath)
+ return nil
+}
+
+func (p *iimporter) typAt(off uint64, base *types.Named) types.Type {
+ if t, ok := p.typCache[off]; ok && (base == nil || !isInterface(t)) {
+ return t
+ }
+
+ if off < predeclReserved {
+ errorf("predeclared type missing from cache: %v", off)
+ }
+
+ r := &importReader{p: p}
+ r.declReader.Reset(p.declData[off-predeclReserved:])
+ t := r.doType(base)
+
+ if base == nil || !isInterface(t) {
+ p.typCache[off] = t
+ }
+ return t
+}
+
+type importReader struct {
+ p *iimporter
+ declReader bytes.Reader
+ currPkg *types.Package
+ prevFile string
+ prevLine int64
+}
+
+func (r *importReader) obj(name string) {
+ tag := r.byte()
+ pos := r.pos()
+
+ switch tag {
+ case 'A':
+ typ := r.typ()
+
+ r.declare(types.NewTypeName(pos, r.currPkg, name, typ))
+
+ case 'C':
+ typ, val := r.value()
+
+ r.declare(types.NewConst(pos, r.currPkg, name, typ, val))
+
+ case 'F':
+ sig := r.signature(nil)
+
+ r.declare(types.NewFunc(pos, r.currPkg, name, sig))
+
+ case 'T':
+ // Types can be recursive. We need to setup a stub
+ // declaration before recursing.
+ obj := types.NewTypeName(pos, r.currPkg, name, nil)
+ named := types.NewNamed(obj, nil, nil)
+ r.declare(obj)
+
+ underlying := r.p.typAt(r.uint64(), named).Underlying()
+ named.SetUnderlying(underlying)
+
+ if !isInterface(underlying) {
+ for n := r.uint64(); n > 0; n-- {
+ mpos := r.pos()
+ mname := r.ident()
+ recv := r.param()
+ msig := r.signature(recv)
+
+ named.AddMethod(types.NewFunc(mpos, r.currPkg, mname, msig))
+ }
+ }
+
+ case 'V':
+ typ := r.typ()
+
+ r.declare(types.NewVar(pos, r.currPkg, name, typ))
+
+ default:
+ errorf("unexpected tag: %v", tag)
+ }
+}
+
+func (r *importReader) declare(obj types.Object) {
+ obj.Pkg().Scope().Insert(obj)
+}
+
+func (r *importReader) value() (typ types.Type, val constant.Value) {
+ typ = r.typ()
+
+ switch b := typ.Underlying().(*types.Basic); b.Info() & types.IsConstType {
+ case types.IsBoolean:
+ val = constant.MakeBool(r.bool())
+
+ case types.IsString:
+ val = constant.MakeString(r.string())
+
+ case types.IsInteger:
+ val = r.mpint(b)
+
+ case types.IsFloat:
+ val = r.mpfloat(b)
+
+ case types.IsComplex:
+ re := r.mpfloat(b)
+ im := r.mpfloat(b)
+ val = constant.BinaryOp(re, token.ADD, constant.MakeImag(im))
+
+ default:
+ errorf("unexpected type %v", typ) // panics
+ panic("unreachable")
+ }
+
+ return
+}
+
+func intSize(b *types.Basic) (signed bool, maxBytes uint) {
+ if (b.Info() & types.IsUntyped) != 0 {
+ return true, 64
+ }
+
+ switch b.Kind() {
+ case types.Float32, types.Complex64:
+ return true, 3
+ case types.Float64, types.Complex128:
+ return true, 7
+ }
+
+ signed = (b.Info() & types.IsUnsigned) == 0
+ switch b.Kind() {
+ case types.Int8, types.Uint8:
+ maxBytes = 1
+ case types.Int16, types.Uint16:
+ maxBytes = 2
+ case types.Int32, types.Uint32:
+ maxBytes = 4
+ default:
+ maxBytes = 8
+ }
+
+ return
+}
+
+func (r *importReader) mpint(b *types.Basic) constant.Value {
+ signed, maxBytes := intSize(b)
+
+ maxSmall := 256 - maxBytes
+ if signed {
+ maxSmall = 256 - 2*maxBytes
+ }
+ if maxBytes == 1 {
+ maxSmall = 256
+ }
+
+ n, _ := r.declReader.ReadByte()
+ if uint(n) < maxSmall {
+ v := int64(n)
+ if signed {
+ v >>= 1
+ if n&1 != 0 {
+ v = ^v
+ }
+ }
+ return constant.MakeInt64(v)
+ }
+
+ v := -n
+ if signed {
+ v = -(n &^ 1) >> 1
+ }
+ if v < 1 || uint(v) > maxBytes {
+ errorf("weird decoding: %v, %v => %v", n, signed, v)
+ }
+
+ buf := make([]byte, v)
+ io.ReadFull(&r.declReader, buf)
+
+ // convert to little endian
+ // TODO(gri) go/constant should have a more direct conversion function
+ // (e.g., once it supports a big.Float based implementation)
+ for i, j := 0, len(buf)-1; i < j; i, j = i+1, j-1 {
+ buf[i], buf[j] = buf[j], buf[i]
+ }
+
+ x := constant.MakeFromBytes(buf)
+ if signed && n&1 != 0 {
+ x = constant.UnaryOp(token.SUB, x, 0)
+ }
+ return x
+}
+
+func (r *importReader) mpfloat(b *types.Basic) constant.Value {
+ x := r.mpint(b)
+ if constant.Sign(x) == 0 {
+ return x
+ }
+
+ exp := r.int64()
+ switch {
+ case exp > 0:
+ x = constant.Shift(x, token.SHL, uint(exp))
+ case exp < 0:
+ d := constant.Shift(constant.MakeInt64(1), token.SHL, uint(-exp))
+ x = constant.BinaryOp(x, token.QUO, d)
+ }
+ return x
+}
+
+func (r *importReader) ident() string {
+ return r.string()
+}
+
+func (r *importReader) qualifiedIdent() (*types.Package, string) {
+ name := r.string()
+ pkg := r.pkg()
+ return pkg, name
+}
+
+func (r *importReader) pos() token.Pos {
+ delta := r.int64()
+ if delta != deltaNewFile {
+ r.prevLine += delta
+ } else if l := r.int64(); l == -1 {
+ r.prevLine += deltaNewFile
+ } else {
+ r.prevFile = r.string()
+ r.prevLine = l
+ }
+
+ if r.prevFile == "" && r.prevLine == 0 {
+ return token.NoPos
+ }
+
+ return r.p.fake.pos(r.prevFile, int(r.prevLine))
+}
+
+func (r *importReader) typ() types.Type {
+ return r.p.typAt(r.uint64(), nil)
+}
+
+func isInterface(t types.Type) bool {
+ _, ok := t.(*types.Interface)
+ return ok
+}
+
+func (r *importReader) pkg() *types.Package { return r.p.pkgAt(r.uint64()) }
+func (r *importReader) string() string { return r.p.stringAt(r.uint64()) }
+
+func (r *importReader) doType(base *types.Named) types.Type {
+ switch k := r.kind(); k {
+ default:
+ errorf("unexpected kind tag in %q: %v", r.p.ipath, k)
+ return nil
+
+ case definedType:
+ pkg, name := r.qualifiedIdent()
+ r.p.doDecl(pkg, name)
+ return pkg.Scope().Lookup(name).(*types.TypeName).Type()
+ case pointerType:
+ return types.NewPointer(r.typ())
+ case sliceType:
+ return types.NewSlice(r.typ())
+ case arrayType:
+ n := r.uint64()
+ return types.NewArray(r.typ(), int64(n))
+ case chanType:
+ dir := chanDir(int(r.uint64()))
+ return types.NewChan(dir, r.typ())
+ case mapType:
+ return types.NewMap(r.typ(), r.typ())
+ case signatureType:
+ r.currPkg = r.pkg()
+ return r.signature(nil)
+
+ case structType:
+ r.currPkg = r.pkg()
+
+ fields := make([]*types.Var, r.uint64())
+ tags := make([]string, len(fields))
+ for i := range fields {
+ fpos := r.pos()
+ fname := r.ident()
+ ftyp := r.typ()
+ emb := r.bool()
+ tag := r.string()
+
+ fields[i] = types.NewField(fpos, r.currPkg, fname, ftyp, emb)
+ tags[i] = tag
+ }
+ return types.NewStruct(fields, tags)
+
+ case interfaceType:
+ r.currPkg = r.pkg()
+
+ embeddeds := make([]types.Type, r.uint64())
+ for i := range embeddeds {
+ _ = r.pos()
+ embeddeds[i] = r.typ()
+ }
+
+ methods := make([]*types.Func, r.uint64())
+ for i := range methods {
+ mpos := r.pos()
+ mname := r.ident()
+
+ // TODO(mdempsky): Matches bimport.go, but I
+ // don't agree with this.
+ var recv *types.Var
+ if base != nil {
+ recv = types.NewVar(token.NoPos, r.currPkg, "", base)
+ }
+
+ msig := r.signature(recv)
+ methods[i] = types.NewFunc(mpos, r.currPkg, mname, msig)
+ }
+
+ typ := newInterface(methods, embeddeds)
+ r.p.interfaceList = append(r.p.interfaceList, typ)
+ return typ
+ }
+}
+
+func (r *importReader) kind() itag {
+ return itag(r.uint64())
+}
+
+func (r *importReader) signature(recv *types.Var) *types.Signature {
+ params := r.paramList()
+ results := r.paramList()
+ variadic := params.Len() > 0 && r.bool()
+ return types.NewSignature(recv, params, results, variadic)
+}
+
+func (r *importReader) paramList() *types.Tuple {
+ xs := make([]*types.Var, r.uint64())
+ for i := range xs {
+ xs[i] = r.param()
+ }
+ return types.NewTuple(xs...)
+}
+
+func (r *importReader) param() *types.Var {
+ pos := r.pos()
+ name := r.ident()
+ typ := r.typ()
+ return types.NewParam(pos, r.currPkg, name, typ)
+}
+
+func (r *importReader) bool() bool {
+ return r.uint64() != 0
+}
+
+func (r *importReader) int64() int64 {
+ n, err := binary.ReadVarint(&r.declReader)
+ if err != nil {
+ errorf("readVarint: %v", err)
+ }
+ return n
+}
+
+func (r *importReader) uint64() uint64 {
+ n, err := binary.ReadUvarint(&r.declReader)
+ if err != nil {
+ errorf("readUvarint: %v", err)
+ }
+ return n
+}
+
+func (r *importReader) byte() byte {
+ x, err := r.declReader.ReadByte()
+ if err != nil {
+ errorf("declReader.ReadByte: %v", err)
+ }
+ return x
+}
diff --git a/vendor/golang.org/x/tools/go/internal/gcimporter/newInterface10.go b/vendor/golang.org/x/tools/go/internal/gcimporter/newInterface10.go
new file mode 100644
index 0000000..463f252
--- /dev/null
+++ b/vendor/golang.org/x/tools/go/internal/gcimporter/newInterface10.go
@@ -0,0 +1,21 @@
+// Copyright 2018 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// +build !go1.11
+
+package gcimporter
+
+import "go/types"
+
+func newInterface(methods []*types.Func, embeddeds []types.Type) *types.Interface {
+ named := make([]*types.Named, len(embeddeds))
+ for i, e := range embeddeds {
+ var ok bool
+ named[i], ok = e.(*types.Named)
+ if !ok {
+ panic("embedding of non-defined interfaces in interfaces is not supported before Go 1.11")
+ }
+ }
+ return types.NewInterface(methods, named)
+}
diff --git a/vendor/golang.org/x/tools/go/internal/gcimporter/newInterface11.go b/vendor/golang.org/x/tools/go/internal/gcimporter/newInterface11.go
new file mode 100644
index 0000000..ab28b95
--- /dev/null
+++ b/vendor/golang.org/x/tools/go/internal/gcimporter/newInterface11.go
@@ -0,0 +1,13 @@
+// Copyright 2018 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// +build go1.11
+
+package gcimporter
+
+import "go/types"
+
+func newInterface(methods []*types.Func, embeddeds []types.Type) *types.Interface {
+ return types.NewInterfaceType(methods, embeddeds)
+}
diff --git a/vendor/modules.txt b/vendor/modules.txt
new file mode 100644
index 0000000..26bf476
--- /dev/null
+++ b/vendor/modules.txt
@@ -0,0 +1,16 @@
+# github.com/client9/misspell v0.3.4
+github.com/client9/misspell/cmd/misspell
+github.com/client9/misspell
+# github.com/fzipp/gocyclo v0.0.0-20150627053110-6acd4345c835
+github.com/fzipp/gocyclo
+# github.com/gordonklaus/ineffassign v0.0.0-20180909121442-1003c8bd00dc
+github.com/gordonklaus/ineffassign
+# github.com/karalabe/xgo v0.0.0-20181007145344-72da7d1d3970
+github.com/karalabe/xgo
+# golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3
+golang.org/x/lint/golint
+golang.org/x/lint
+# golang.org/x/tools v0.0.0-20181128225727-c5b00d9557fd
+golang.org/x/tools/go/ast/astutil
+golang.org/x/tools/go/gcexportdata
+golang.org/x/tools/go/internal/gcimporter