# 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
actions
adopted
affected
albeit
allocations
allowlist
allowlisting
alt
amortized
analyses
animal
anon
aoo
approval
approximation
arbitrarily
asdf
asserter
assure
auth
authority
auto
autobianchi
automatic
b0x
b1x
b2x
ba
baba
backed
bail
bailout
bash
bat
bbb
bc
bench
benchmark
besides
beta
bigger
bkonyi
blah
blindly
blocked
blorp
boo
bootstrap
bots
bowtie
boz
bq
brand
brave
brown
builddir
bulk2
bulkcompile
c's
ca
cafebabe
callable
camel
capitalized
casing
causal
cb
cc
ccc
charcode
charset
checkme
checkout
cipd
circular
class1a
class1b
class2c
class2d
class2e
class2f
class3d
class5a
class5b
class5c
class5d
cli
cloneable
cmp
cnn
coded
codepath
collisions
commented
commit
companion
comparator
comparer
comparisons
compilations
compiler's
complement
completers
confidence
confident
confirm
consecutive
considering
consolidated
constrains
consts
contract
conversion
conversions
coo
cov
crashes
cumulative
cx
dacoharkes
dadd
daemon
dartanalyzer
dartfile
dartfmt
dash
dashes
day
db
dds
debugger
decrease
decrements
def
deleting
denylist
depended
depfile
desc
descriptors
detector
deviation
dfast
di
dictionaries
dictionary
differences
differs
dijkstra
dijkstras
dillfile
dills
dinteractive
dirname
disagree
disagreement
disallowed
disconnect
discovering
dispatcher
dispose
dist
divergent
doctype
doesnt
dog
doo
downstream
dumping
dupe
durations
dw
dyn
e's
e2e
ease
ec
edits
elapse
ell
entrypoint
entrypoints
eoo
epoch
err
everytime
evicting
exceed
excess
exe
execute
exercised
exercises
exitcode
exiting
exits
expanded
expands
expansion
expansive
explain
extern
fac
faking
falling
favors
fetched
fi
fibonacci
filesystem
filler
finder
fisk
five
flagged
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
foreign
forrest
foundation
fox
fulfill
func
futures
fx
gallery
gamma
gave
gc
gen
generators
git
goo
google
greeting
gtgt
gulp
gunk
hackish
harness
helper2
hest
heuristics
hi
hints
home
hoo
hosting
hot
hotreload
hunk
hurray
i'm
ia
ikg
illustrate
image
images
implementor
inclosure
increased
incrementally
increments
infinity
inspect
insufficient
intact
interactive
internet
interpolate
inv
invalidating
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
iter
joo
jumped
kernels
kill
ko
koo
la
launching
lc
ld
le
legs
lengths
lightly
likewise
lily
linebreaks
lints
linux
listening
ll
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
mc
mds
measured
met
metric
metrics
mf
micro
minimize
minutes
mismatched
misnamed
miss
misspelled
mistake
mistakes
mod
modelled
month
moo
mul
mx
mysdk
naturally
negatable
newest
newworld
nil
ninja
nondefault
nonexisting
noo
numerator
observable
observatory
oh
okay
ooo
operate
ops
optimal
oracle
outbound
overlay
pack
party
pause
paused
pc
periodic
periodically
person
phrase
pink
places
plug
pointed
policy
pooled
population
portions
pp
preliminary
prematurely
pretends
producer
profile
profiler
promotes
propagated
protected
proved
provider
pseudocode
pubspec
pv
px
py
python
quot
quux
qux
r"
r"\s
r"k
r"tools
rd
reachability
reality
recompile
recompiles
redir
redirections
reducer
referring
reflectee
reflective
regenerate
regressions
reify
reload
remap
remaps
repeating
repro
resource
respected
response
retaining
retainingpath
retains
rev
risky
runtimes
say
scans
scheduler
screen
scripts
sdkroot
sdks
secondary
segment
sensitive
services
severe
sheets
shipped
shortest
shot
signalled
slight
smoke
somehow
spans
spawn
spell
spellcheck
spelled
spelling
spent
splay
splitting
spurious
sqrt
squared
sssp
stacks
stashed
stat
stats
std
stdio
strip
strongest
stub's
stupid
subcommand
subdir
subtool
subtools
subtyping1a
subtyping1b
subtyping2a
subtyping2b
suite
summarization
summarized
superinterface
supermixin
supplement
suspension
t\b\f\u
t\u0008\f\u
tails
talk
templates
test3a
test3b
thereof
thing
threw
timeout
timer
timing
timings
tinv
title
tpt
transitively
translators
triangle
trigger
triggers
trimming
tripped
tripping
trivially
truncated
tt
ttest
txt
typeargs
typeparam
typeparambounds
ugly
unassignment
unawaited
unbreak
unpacked
unregistered
untransformed
untrimmed
unusual
upload
uppercase
upward
uses8
usual
val
vars
verbatim
versioning
waiting
walt
warmup
wherever
whiskers
wins
workflow
worlds
wrongly
ws
x's
xlate
xrequired
xxx
y's
year
