# 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.

a0x
a1x
a2x
aa
aaa
abc
abcompile
adopted
albeit
allocations
allowlist
allowlisting
alt
amortized
analyses
animal
anon
aoo
approval
approximation
arbitrarily
asdf
asserter
assure
auth
authority
autobianchi
automatic
b0x
b1x
b2x
ba
baba
backed
background
bail
bailing
bailout
bash
bat
bbb
bc
bench
besides
beta
bigger
bkonyi
bla
blah
blindly
blocked
blorp
bold
boo
bootstrap
bots
boundarykey
bowtie
boz
bq
brand
brave
brown
bt
bt3a
bt3b
bt4a
bt4b
btw
builddir
bulk2
bulkcompile
bye
c's
c59cdee365b94ce066344840f9e3412d642019b
ca
cafebabe
camel
capitalized
causal
cb
cc
ccc
cell
charset
checkme
checkout
cipd
circular
class1a
class1b
class2c
class2d
class2e
class2f
class3d
class5a
class5b
class5c
class5d
cloneable
cmd
cmp
cnn
coded
codepath
collisions
columns
commented
commit
companion
comparer
compilations
compiler's
complement
completers
confidence
confident
confirm
consecutive
considering
constrains
consts
contract
conversion
conversions
coo
corners
costly
cov
coverage
coverages
cp
csi
ct3a
ct3b
ct4a
ct4b
ctrl
cumulative
cursor
cx
dacoharkes
dadd
daemon
dartanalyzer
dartfile
dartfmt
dash
dashes
day
db
ddart
dds
debugger
decrease
decrements
dectcem
deduplication
defaulting
defintions
deleting
denylist
depended
depfile
desc
descriptors
detector
deviation
dfast
di
diagnosticable
dictionaries
dictionary
differences
differs
dijkstra
dijkstras
dillfile
dinteractive
dirname
disagree
disagreement
disallowed
disconnect
discovering
dispatcher
dispose
dist
div
divergent
doctype
doesnt
dog
donly
doo
downstream
draw
dumping
dumps
dupe
durations
dw
dyn
e's
e2e
ease
ec
echo
edits
elapse
ell
entrypoint
entrypoints
eoo
epoch
erase
erased
err
esc
everytime
evicting
exceed
excess
exe
execute
exercised
exercises
existence
exitcode
exiting
expanded
expansive
extern
fac
faking
falling
favors
fi
fibonacci
field1c
field2a
field2b
field2c
field3a
field3b
field3c
field4a
field4b
filesystem
filler
fisk
five
floor
fluctuate
foo"bar"baz
foo'bar'baz
foo1
foo10
foo12
foo13
foo14
foo15
foo2
foo4
foo5
foo6
foo7
foo8
foo9
foo\"bar'baz
foo\"bar\"baz
foo\"bar\'baz
foos
forbidden
forces
foreground
forrest
forty
foundation
fox
fulfill
func
futures
fx
gallery
gamma
gave
gc
gcd
getter1c
getter1d
getter1e
goo
google
graphic
greeting
gtgt
gulp
gunk
hackish
helper2
hest
heuristics
hi
hints
hits
home
hoo
hosted
hosting
hot
hotreload
hunk
hurray
i'm
ia
idle
ikg
illustrate
image
images
implementor
in1
in2
inclosure
increased
incrementally
increments
indents
initializer2
instance2
insufficient
intdiv
interactive
internet
interpolate
introducer
inv
invocation1a
invocation1b
invocation2a
invocation2b
invocation3a
invocation3b
invocation4a
invocation4b
invocation5a
invocation5b
invocation6a
invocation6b
invocation7a
invocation7b
invocation7c
invocation7d
invocation7e
ioo
isolate
isolates
issue41210b
issue41436c
issue41496b
issue41498b
issue41499b
it'll
italic
iter
jlcontreras
joo
jumped
kernels
kill
kitty
ko
koo
la
launch
launching
le
legs
lengths
lightly
likewise
lily
linebreaks
lints
linux
listening
literal2
ln
local1a
local1b
local1c
local1d
local1e
local1f
local1g
local1h
local1i
local2a
local2b
local2c
local2d
local2e
local2f
local2g
local2h
local3a
local3b
local3c
local3d
local3e
local3f
local3g
local3h
logd
logs
loo
loopback
mac
maker
matters
mds
measured
method1d
metric
metrics
mf
micro
minimize
mintty
minutes
mismatched
misnamed
miss
misses
misspelled
mistake
mistakes
mod
modelled
month
moo
mul
mx
mysdk
naturally
negatable
newworld
nil
ninja
nondefault
nonexisting
noo
numerator
ob
obool
observable
oh
okay
ol
onull
ooo
operate
ops
optimal
oracle
out1
out2
outbound
overlay
ox
pack
paging
paint
party
pause
paused
pc
periodic
periodically
person
phrase
pink
placement
plug
pointed
policy
pooled
population
portions
pp
preliminary
prematurely
press
pretends
producer
profile
profiler
propagated
property2a
property2b
property4a
property4b
property5a
property5b
property8a
property8b
protected
proved
provider
pseudocode
pubspec
pv
px
py
python
quicker
quit
quot
quux
quuz
qux
r"
r"\s
r"k
r"tools
rd
reachability
reality
recompile
recompiles
redir
redirections
reducer
referring
reflectee
refusing
regenerate
regressions
reify
reload
remap
remaps
rendition
repaint
repro
response
result1
result2
resuming
retaining
retainingpath
retains
rev
risky
rk
row
rows
runtimes
rv
scans
scheduler
screen
scripts
sdkroot
sdks
secondary
segment
selection
sensitive
services
setter1a
setter1b
setter1c
setter1d
setter1e
setups
severe
sheets
shipped
shortest
shot
sigint
signalled
sigwinch
slight
smoke
snull
somehow
spans
spawn
spell
spellcheck
spelled
spelling
spent
splay
splitting
spurious
sqrt
squared
sssp
stacks
stashed
stat
stats
stay
std
stress
string2
strip
strongest
stub's
stupid
subcommand
subdir
subfolder
subtool
subtools
subtyping1a
subtyping1b
subtyping2a
subtyping2b
successes
suite
summarization
summarized
supermixin
supplement
suspension
symbolic
t3a
t3b
t4a
t4b
t\b\f\u
t\u0008\f\u
tails
talk
templates
test3a
test3b
theoretically
thereof
timed
timeout
timer
timings
tinv
tpt
transitively
translators
triangle
triggers
trimming
tripped
tripping
trivially
truncated
tt
ttest
txt
typeargs
typeparam
typeparambounds
u250c
ugly
unassignment
unawaited
unbreak
unconverted
underline
unpacked
unpatched
unpaused
unregistered
untransformed
untrimmed
unusual
unversioned
upload
upward
uses8
uuid
v1
v2
val
vars
verbatim
versioned
vp
vt
vte
waited
waiting
waits
walt
warmup
week
wherever
whiskers
wins
workflow
worlds
wrongly
ws
x's
xlate
xrequired
xxx
xxxxxxxx
xxxxxxxxxxxx
y's
year
yxxx
yy
