 ***************************************************************************************************************************
 * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file *
 * distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file        *
 * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance            *
 * with the License.  You may obtain a copy of the License at                                                              *
 *                                                                                                                         *
 *  http://www.apache.org/licenses/LICENSE-2.0                                                                             *
 *                                                                                                                         *
 * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an  *
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the        *
 * specific language governing permissions and limitations under the License.                                              *
 ***************************************************************************************************************************
aaa
ab
abbr
abbrev
accessor
addr
admin
andandand
anywhereville
apache
api
appendable
apr
arg
args
attr
aug
auth
barack
barney
barry
batchfile
baz
bbb
bc
bcode
bcode
bdi
bdo
billy
birthdate
blockquote
blog
bm
bognar
br
byteranges
ca
caceres
cacheable
callable
cc
ce
centric
cert
cf
charset
chrome
chunked
ck
classloader
classpath
cloudant
cm
cmd
codec
codepoint
cognos
col
colgroup
colspan
com
concat
config
configfile
cont
cookbook
coords
costas
covariant
cp
crawford
cs
css
csv
ctx
cv
da
danish
datalist
dataset
datatype
dd
dec
decapitalize
def
deflate
del
demoted
deserialize
dfn
differentiable
dir
discoverable
discriminator
div
dl
doclink
docs
doctree
doctype
doe
ds
dt
duper
dvi
dyna
em
en
endian
enum
enums
envfile
etag
ethel
ext
extlink
favicon
feb
fico
fieldset
figcaption
filesystem
firefox
firewall
fixarray
fixext
fixint
fixmap
fixnum
fixstr
foo
foo
foobar
fred
fín
gatewayed
gb
gecko
genericized
generics
george
gif
gigabytes
globalizable
globalized
gzip
hashcode
hashmap
hashsums
hostname
hr
href
hreflang
htdocs
htm
html
htmldoc
http
httpclient
httpcore
httpmime
https
hussein
hv
hyperlink
hyperlinks
iframe
img
impl
inbound
init
instanceof
int
int
intercepters
interceptors
introspectable
introspector
io
iri
iso
iter
iterable
iterables
ja
jackson
jan
jane
janesmith
javadoc
javadocs
javascript
jc
jd
jena
jetty
jf
jk
jp
jpeg
js
jsa
jsf
jsm
json
jss
jt
jul
jun
juneau
juneaubp
juno
kbd
keygen
l
lang
lax
li
lib
libwww
lifecycle
locales
localhost
logo
lossless
losslessly
lowercase
lowercased
ls
lucy
maori
marshalled
marshalling
maxage
mertz
metadata
metamodel
metamodels
metas
mf
mi
microservice
microservices
min
mk
mkdirs
mod
mozilla
mpeg
msg
msgpack
multi
multipart
mv
myarg
mybeans
mydiv
mydocs
myentry
myform
myheader
mymethod
myobject
myparam
myproperty
myproxy
myresource
mystyles
mytable
mytype
myurl
namespace
namespaces
nav
neg
nls
noscript
nosniff
nov
nowrap
ns
nutshell
obama
oct
octets
ol
onload
onmouseover
op
optgroup
ordinality
org
orig
ororor
outbound
outerdata
overridable
param
params
parsable
payload
pb
pg
pl
playback
png
pojo
pos
pp
pragma
pre
prev
println
properties
proxies
proxy
ps
pseudonym
pseudonyms
pw
qs
queryable
qvalue
qvalues
rb
rc
rd
rdf
readonly
reconstitute
ref
referer
rel
relativize
relativized
relativizes
remoteable
req
resp
retryable
revalidate
revalidating
ricky
rp
rs
rt
rtc
rv
samp
scratchpad
scratchpads
se
seemlessly
seg
sept
serializable
serializer
serializers
servlet
servlets
sf
sic
sorta
souped
spec
specs
sq
sql
src
ss
ssl
ssv
stacktrace
stateless
str
streamable
struct
stylesheet
stylesheets
subclassed
subdirectories
sublink
subpackages
subpath
subtype
subtypes
superclasses
superinterfaces
swappable
tbody
td
tee
templating
testcases
textarea
tfoot
th
thead
threadid
throwables
thu
timestamp
timezone
tm
tomcat
tooltips
tr
traversable
tsv
tumblr
txt
typecasting
ua
uint
uk
ul
ultra
un
uncacheable
unencoded
unicode
unswap
uon
uri
url
urlencoded
urlencoding
us
usemap
username
utf
val
validator
vals
var
vars
waitangi
wbr
webmaster
website
websocket
writeable
ws
wss
www
xa
xc
xhtml
xml
xmlabbrev
xmlbase
xmlns
xs
xt
xv
xxx
xyz
xyzzy
yyy
yyyy
zip
zipped
zzz
mylink
myimage
myalert
onclick
popup
hyperlinked
bpx
bpi
tooltip
templated
marshall
dto
svl
mantra
strived
protobuf
maven
configurability
navlinks
fav
transactional
rollback
enablement
stacktraces
timezones
beanp
