digraph {
	graph [splines=ortho colorscheme=svg label=<<u>Module Hierarchy</u>> labelloc=t fontsize=18.0]
	node [shape=box style="filled, rounded" margin=0.1]

	blake256 [label="crypto/blake256" fillcolor=cornflowerblue]
	ripemd160 [label="crypto/ripemd160" fillcolor=darkturquoise]
	rand [label="crypto/rand" fillcolor=lavender]
	certgen [label="certgen" fillcolor=darkkhaki]
	bech32 [label="bech32" fillcolor=antiquewhite3]
	chainhash [label="chaincfg/chainhash" fillcolor=aquamarine]
	dcrjson [label="dcrjson/v4" fillcolor=indianred]
	types [label="rpc/jsonrpc/types/v4" fillcolor=tomato]
	wire [label="wire" fillcolor=coral]
	chaincfg [label="chaincfg/v3" fillcolor=cadetblue]
	dcrec [label="dcrec" fillcolor=mediumpurple]
	edwards [label="dcrec/edwards/v2" fillcolor=lightseagreen]
	secp256k1 [label="dcrec/secp256k1/v4" fillcolor=mediumvioletred]
	dcrutil [label="dcrutil/v4" fillcolor=burlywood]
	mixing [label="mixing" fillcolor=lawngreen]
	database [label="database/v3" fillcolor=dodgerblue]
	hdkeychain [label="hdkeychain/v3" fillcolor=deepskyblue]
	txscript [label="txscript/v4" fillcolor=mediumspringgreen]
	stake [label="blockchain/stake/v5" fillcolor=bisque]
	gcs [label="gcs/v4" fillcolor=gold]
	standalone [label="blockchain/standalone/v2" fillcolor=firebrick4]
	lru [label="container/lru" fillcolor=royalblue3]
	peer [label="peer/v3" fillcolor=khaki]
	rpcclient [label="rpcclient/v8" fillcolor=mediumseagreen]
	addrmgr [label="addrmgr/v2" fillcolor=lightsalmon]
	connmgr [label="connmgr/v3" fillcolor=mistyrose]
	blockchain [label="blockchain/v5" fillcolor=orchid]
	apbf [label="container/apbf" fillcolor=goldenrod]
	uint256  [label="math/uint256" fillcolor=lightgreen]
	dcrd [label="dcrd" fillcolor=chocolate]

	{rank=same blake256 chainhash}
	{rank=same dcrec secp256k1}
	{rank=same certgen bech32 apbf uint256 mixing}
	{rank=same addrmgr connmgr hdkeychain peer blockchain standalone rpcclient}

	certgen
	bech32
	blake256 -> chainhash [dir=back color=cornflowerblue]
	blake256 -> secp256k1 [dir=back color=cornflowerblue]
	chaincfg -> txscript [dir=back color=cadetblue]
	chainhash -> dcrjson [dir=back color=aquamarine]
	chainhash -> wire [dir=back color=aquamarine]
	wire -> addrmgr [dir=back color=coral]
	wire -> chaincfg [dir=back color=coral]
	wire -> connmgr [dir=back color=coral]
	wire -> standalone [dir=back color=coral]
	ripemd160 -> txscript [dir=back color=darkturquoise]
	dcrec -> txscript [dir=back color=mediumpurple]
	edwards -> txscript [dir=back color=lightseagreen]
	secp256k1 -> txscript [dir=back color=mediumvioletred]
	txscript -> dcrutil [dir=back color=mediumspringgreen]
	txscript -> hdkeychain [dir=back color=mediumspringgreen]
	txscript -> peer [dir=back color=mediumspringgreen]
	dcrutil -> blockchain [dir=back color=burlywood]
	dcrutil -> database [dir=back color=burlywood]
	dcrutil -> mixing [dir=back color=burlywood]
	database -> stake [dir=back color=dodgerblue]
	stake -> gcs [dir=back color=bisque]
	gcs -> rpcclient [dir=back color=gold]

	lru -> peer [dir=back color=royalblue3]
	dcrjson -> types [dir=back color=indianred]
	types -> rpcclient [dir=back color=tomato]

	rand -> dcrd [dir=back color=lavender]
	blockchain -> dcrd [dir=back color=orchid]
	mixing -> dcrd [dir=back color=lawngreen]
	standalone -> dcrd [dir=back color=firebrick]
	certgen -> dcrd [dir=back color=darkkhaki]
	bech32 -> dcrd [dir=back color=antiquewhite3]
	addrmgr -> dcrd [dir=back color=lightsalmon]
	hdkeychain -> dcrd [dir=back color=deepskyblue]
	connmgr -> dcrd [dir=back color=mistyrose]
	rpcclient -> dcrd [dir=back color=mediumseagreen]
	peer -> dcrd [dir=back color=khaki]
	apbf -> dcrd [dir=back color=goldenrod]
	uint256 -> dcrd [dir=back color=lightgreen]
}
