# Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.

# Blank lines and comments are ignored.
# Comments can also be inline like 'correct # this is ok'.
# Note that at least one space before the hash is required.

# Comments on a line by itself will be considered a header of the file and
# automatic tools might move it to the top of the file.

aa
aaa
abcompile
adapter
adaptor
adopted
advantages
albeit
aligns
allocations
allowlist
allowlisting
alt
amend
amended
amortized
analyses
andahalf
animal
animated
annoying
anon
aoo
applier
approval
approximation
arbitrarily
asdf
asserter
assure
asterisk
atomic
auth
authority
autobianchi
automatic
averaged
averages
axis
ba
baba
backed
background
bail
bailing
bailout
bar'baz
bar\'baz
barbar
bash
bat
bazbaz
bbb
bc
bench
benchmarker
benchmarkers
besides
beta
bigger
bitmask
bkonyi
bla
blah
blorp
bold
boo
bots
boundarykey
bowtie
boz
bq
brand
brave
brown
bt
btw
builddir
bulkcompile
busy
busywait
bye
c's
ca
cafebabe
calloc
camel
capitalized
categorization
causal
cb
cc
ccc
cdee
certificate
cf
characteristics
charset
checkme
checkout
chunked
cipd
circular
cloneable
cm
cmd
cmp
cnn
coded
codepath
collisions
columns
commented
commit
commits
companion
comparative
comparer
compiler's
complement
complicated
concurrently
confidence
confident
confirm
consecutive
considering
constr
constrains
consts
contract
conversions
coo
corge
corners
cov
coverages
cp
csi
ct
ctrl
cumulative
cursor
cuts
cx
da
dacoharkes
dadd
daemon
dart$doc$test$tester
dart\$doc\$test\$tester
dartanalyzer
dartdocs
dartdoctest
dartdoctestrun
dartfile
dartfmt
darttest
dash
datatype
datatypes
day
days
db
ddart
dds
debugger
declarative
decrease
decrements
dectcem
defintions
deleting
denylist
depended
depfile
desc
descending
descriptors
deviation
dfast
dfuzz
di
diagnosticable
dictionaries
dictionary
differentiate
dijkstra
dijkstras
dinteractive
dirname
disagree
disagreement
disconnect
discovering
discrepancies
dispatcher
dispose
dist
div
divergent
doctest
doctype
doesnt
dog
donly
doo
downstream
draw
dry
dsemi
dumping
dumps
dupe
durations
dw
e's
ea
ease
ec
echo
edits
ei
einst
elapse
elegantly
ell
emethod
entrypoints
eoo
epoch
equally
erase
err
esc
estat
et
everytime
evicting
exceed
excess
exe
exercised
exercises
exitcode
exiting
expanded
expansive
explainer
extern
f\u
fac
faking
falling
favors
fi
fibonacci
filesystem
filler
filters
fisk
five
fl
floor
fluctuate
foo'bar'baz
foos
forbidden
forces
foreground
forrest
forty
foundation
fox
frequency
frozen
fulfill
func
futu
futures
fuzz
fuzzed
fuzzing
fx
gallery
gamma
gave
gc
gcd
gesture
gi
gm
goo
google
graphic
grault
greeting
gtgt
gulp
gunk
hackish
hardly
hest
heuristics
hi
hints
hits
hkt
home
hoo
hook
hosted
hosting
hot
hotreload
hunk
hurray
i'm
ia
identification
idle
ikg
illustrate
image
images
implementor
implementors
imprecision
inclosure
inconsistencies
increasing
incrementally
increments
indents
ing
inlinable
inlineable
insights
instrument
insufficient
intdiv
interactive
interchangeable
internet
interpolate
introducer
inv
ioo
ish
it'll
italic
iter
jlcontreras
joo
jumped
kernels
kitty
ko
koo
la
launch
launching
law
le
legs
lengths
lightly
likewise
lily
linebreaks
lints
listening
listing
ln
logd
logs
loo
lookahead
loopback
mac
maker
matters
mds
meaningless
measured
measurement
mf
mfs
micro
minimize
minimizer
minimizing
minitest
minst
mintty
minutes
mis
mismatched
misnamed
miss
misses
misspelled
mistake
mistakes
mmethod
mod
modelled
month
moo
mouse
mstat
mul
mx
mxn
mysdk
naively
naturally
negatable
newworld
ninja
noisy
nominal
nondefault
nonexisting
noo
noted
nottest
null'ed
numerator
ob
obool
observable
offers
oh
okay
ol
onull
oo
oobar
oocf
ooo
oovf
opacity
operate
ops
optimal
oracle
outbound
outliers
overhead
overlay
overly
ox
pack
paging
paint
parallax
parameterized
partfoo
party
pause
paused
pc
periodic
periodically
person
phrase
pink
placement
planned
plug
policy
pooled
population
portions
pp
preliminary
prematurely
press
pretends
printouts
processes
processors
producer
profile
profiler
proportional
protected
proved
proxy
pseudocode
pubspec
pv
px
py
python
quicker
quit
quot
quux
quuz
reality
recompiles
redir
redirections
rediscover
reducer
reenable
referential
refusing
regards
regenerate
regressions
reify
reject
remap
remaps
rendition
reorder
reordering
repaint
repro
reproduce
reproduction
resuming
retaining
retainingpath
rev
revealed
risky
rk
row
rows
runtimes
rv
sanitize
saves
scans
scenarios
scheduler
screen
scripts
scroll
sdkroot
sdks
secondary
secondtest
segment
selection
semifuzz
sensitive
series
services
setups
severe
sheets
shipped
shortest
shot
sidebar
sigint
signalled
sigwinch
slashes
slight
sliver
smoke
snull
somehow
sorter
spans
spell
spellcheck
spelled
spelling
spent
spills
splay
splitting
spurious
sqrt
squared
sssp
stacks
stashed
stat
stats
stay
std
stress
stringy
strip
strongest
stub's
stupid
subcommand
subdir
subfolder
subtool
subtools
successes
summarization
summarized
sup
supermixin
supplement
suspension
t\b\f\u
t\u
ta
tails
templates
theoretically
thereof
thread
ticks
timed
timeout
timer
timings
tinv
tk
told
touch
tpt
transitively
translators
transparent
triangle
triggers
trimming
tripped
tripping
truncated
tt
tta
ttest
ttta
tttta
txt
typeargs
typeparam
typeparambounds
ugly
unassignment
unawaited
unbreak
unconverted
uncover
uncovers
underline
undocumented
unpacked
unpatched
unpaused
unregistered
unsurprisingly
untransformed
untrimmed
unusual
unversioned
upload
upward
uuid
val
verbatim
versioned
vf
vp
vt
vte
waited
waits
walt
warmup
week
weekly
wherever
whiskers
wins
wording
workflow
worlds
wrongly
ws
x's
xlate
xrequired
xxx
xxxxxxxx
xxxxxxxxxxxx
xyz
y's
year
yxxx
yy
zipf's
zyx
zz
