Skip to content

Instantly share code, notes, and snippets.

@vikstrous
Forked from jbenet/imports.json
Last active May 25, 2016 03:29
Show Gist options
  • Save vikstrous/75748938e260ef5fee6bacb04b537cb7 to your computer and use it in GitHub Desktop.
Save vikstrous/75748938e260ef5fee6bacb04b537cb7 to your computer and use it in GitHub Desktop.

docker deamon imports

Mouseover any of the nodes in this network to see the incoming links (dependants) in green and the outgoing links (dependencies) in red.

How to do for your package?

go get github.com/jbenet/graphpkg
graphpkg -format=d3json <pkgname> > imports.json

Then (this part to be automated):

Thanks to:

[{"name":"github.com/docker/docker/pkg/proxy","size":1000,"imports":["encoding/binary","fmt","github.com/Sirupsen/logrus","io","net","strings","sync","syscall","time"]}
,{"name":"github.com/docker/docker/pkg/random","size":1000,"imports":["crypto/rand","io","math","math/big","math/rand","sync","time"]}
,{"name":"hash/fnv","size":1000,"imports":["hash"]}
,{"name":"github.com/docker/docker/daemon/links","size":1000,"imports":["fmt","github.com/docker/go-connections/nat","path","strings"]}
,{"name":"github.com/docker/docker/registry","size":1000,"imports":["bytes","crypto/sha256","crypto/sha512","crypto/tls","crypto/x509","encoding/hex","encoding/json","errors","fmt","github.com/Sirupsen/logrus","github.com/docker/distribution/digest","github.com/docker/distribution/registry/api/errcode","github.com/docker/distribution/registry/client/auth","github.com/docker/distribution/registry/client/transport","github.com/docker/docker/opts","github.com/docker/docker/pkg/httputils","github.com/docker/docker/pkg/ioutils","github.com/docker/docker/pkg/mflag","github.com/docker/docker/pkg/stringid","github.com/docker/docker/pkg/tarsum","github.com/docker/docker/reference","github.com/docker/engine-api/types","github.com/docker/engine-api/types/registry","github.com/docker/go-connections/sockets","github.com/docker/go-connections/tlsconfig","io","io/ioutil","net","net/http","net/http/cookiejar","net/url","os","path/filepath","strconv","strings","sync","time"]}
,{"name":"github.com/docker/docker/daemon","size":1000,"imports":["bufio","bytes","encoding/json","errors","fmt","github.com/Sirupsen/logrus","github.com/docker/containerd/api/grpc/types","github.com/docker/distribution/digest","github.com/docker/docker/api","github.com/docker/docker/api/types/backend","github.com/docker/docker/builder","github.com/docker/docker/builder/dockerfile","github.com/docker/docker/container","github.com/docker/docker/daemon/caps","github.com/docker/docker/daemon/events","github.com/docker/docker/daemon/exec","github.com/docker/docker/daemon/graphdriver/register","github.com/docker/docker/daemon/links","github.com/docker/docker/daemon/logger","github.com/docker/docker/daemon/logger/awslogs","github.com/docker/docker/daemon/logger/fluentd","github.com/docker/docker/daemon/logger/gcplogs","github.com/docker/docker/daemon/logger/gelf","github.com/docker/docker/daemon/logger/journald","github.com/docker/docker/daemon/logger/jsonfilelog","github.com/docker/docker/daemon/logger/splunk","github.com/docker/docker/daemon/logger/syslog","github.com/docker/docker/daemon/network","github.com/docker/docker/distribution","github.com/docker/docker/distribution/metadata","github.com/docker/docker/distribution/xfer","github.com/docker/docker/dockerversion","github.com/docker/docker/errors","github.com/docker/docker/image","github.com/docker/docker/image/tarexport","github.com/docker/docker/layer","github.com/docker/docker/libcontainerd","github.com/docker/docker/migrate/v1","github.com/docker/docker/oci","github.com/docker/docker/opts","github.com/docker/docker/pkg/archive","github.com/docker/docker/pkg/chrootarchive","github.com/docker/docker/pkg/discovery","github.com/docker/docker/pkg/discovery/kv","github.com/docker/docker/pkg/fileutils","github.com/docker/docker/pkg/graphdb","github.com/docker/docker/pkg/httputils","github.com/docker/docker/pkg/idtools","github.com/docker/docker/pkg/ioutils","github.com/docker/docker/pkg/mflag","github.com/docker/docker/pkg/mount","github.com/docker/docker/pkg/namesgenerator","github.com/docker/docker/pkg/parsers","github.com/docker/docker/pkg/parsers/kernel","github.com/docker/docker/pkg/parsers/operatingsystem","github.com/docker/docker/pkg/platform","github.com/docker/docker/pkg/pools","github.com/docker/docker/pkg/progress","github.com/docker/docker/pkg/pubsub","github.com/docker/docker/pkg/registrar","github.com/docker/docker/pkg/signal","github.com/docker/docker/pkg/stdcopy","github.com/docker/docker/pkg/streamformatter","github.com/docker/docker/pkg/stringid","github.com/docker/docker/pkg/stringutils","github.com/docker/docker/pkg/symlink","github.com/docker/docker/pkg/sysinfo","github.com/docker/docker/pkg/system","github.com/docker/docker/pkg/term","github.com/docker/docker/pkg/truncindex","github.com/docker/docker/profiles/apparmor","github.com/docker/docker/reference","github.com/docker/docker/registry","github.com/docker/docker/runconfig","github.com/docker/docker/runconfig/opts","github.com/docker/docker/utils","github.com/docker/docker/volume","github.com/docker/docker/volume/drivers","github.com/docker/docker/volume/local","github.com/docker/docker/volume/store","github.com/docker/engine-api/types","github.com/docker/engine-api/types/blkiodev","github.com/docker/engine-api/types/container","github.com/docker/engine-api/types/events","github.com/docker/engine-api/types/filters","github.com/docker/engine-api/types/network","github.com/docker/engine-api/types/registry","github.com/docker/engine-api/types/strslice","github.com/docker/engine-api/types/time","github.com/docker/engine-api/types/versions","github.com/docker/engine-api/types/versions/v1p19","github.com/docker/engine-api/types/versions/v1p20","github.com/docker/go-connections/nat","github.com/docker/go-connections/sockets","github.com/docker/go-units","github.com/docker/libnetwork","github.com/docker/libnetwork/config","github.com/docker/libnetwork/drivers/bridge","github.com/docker/libnetwork/netlabel","github.com/docker/libnetwork/netutils","github.com/docker/libnetwork/options","github.com/docker/libnetwork/types","github.com/docker/libtrust","github.com/imdario/mergo","github.com/opencontainers/runc/libcontainer/apparmor","github.com/opencontainers/runc/libcontainer/configs","github.com/opencontainers/runc/libcontainer/devices","github.com/opencontainers/runc/libcontainer/label","github.com/opencontainers/runc/libcontainer/selinux","github.com/opencontainers/runc/libcontainer/system","github.com/opencontainers/runc/libcontainer/user","github.com/opencontainers/specs/specs-go","golang.org/x/net/context","io","io/ioutil","net","net/http","net/url","os","os/exec","os/signal","path","path/filepath","reflect","regexp","runtime","runtime/debug","sort","strconv","strings","sync","sync/atomic","syscall","time"]}
,{"name":"golang.org/x/oauth2/jwt","size":1000,"imports":["encoding/json","fmt","golang.org/x/net/context","golang.org/x/oauth2","golang.org/x/oauth2/internal","golang.org/x/oauth2/jws","io","io/ioutil","net/http","net/url","strings","time"]}
,{"name":"github.com/docker/docker/pkg/fileutils","size":1000,"imports":["errors","fmt","github.com/Sirupsen/logrus","io","io/ioutil","os","path/filepath","regexp","strings","text/scanner"]}
,{"name":"encoding/hex","size":1000,"imports":["bytes","errors","fmt","io"]}
,{"name":"github.com/opencontainers/runc/libcontainer/cgroups/fs","size":1000,"imports":["bufio","bytes","errors","fmt","github.com/opencontainers/runc/libcontainer/cgroups","github.com/opencontainers/runc/libcontainer/configs","github.com/opencontainers/runc/libcontainer/system","io","io/ioutil","os","path/filepath","strconv","strings","sync","time"]}
,{"name":"github.com/aws/aws-sdk-go/aws/request","size":1000,"imports":["bytes","fmt","github.com/aws/aws-sdk-go/aws","github.com/aws/aws-sdk-go/aws/awserr","github.com/aws/aws-sdk-go/aws/awsutil","github.com/aws/aws-sdk-go/aws/client/metadata","io","io/ioutil","net/http","net/url","reflect","strings","time"]}
,{"name":"github.com/opencontainers/runc/libcontainer/apparmor","size":1000,"imports":["errors"]}
,{"name":"github.com/docker/docker/pkg/httputils","size":1000,"imports":["errors","fmt","github.com/Sirupsen/logrus","github.com/docker/docker/pkg/jsonmessage","io","mime","net/http","regexp","strings","time"]}
,{"name":"github.com/aws/aws-sdk-go/aws/client/metadata","size":1000}
,{"name":"github.com/docker/distribution","size":1000,"imports":["errors","fmt","github.com/docker/distribution/context","github.com/docker/distribution/digest","github.com/docker/distribution/reference","io","mime","net/http","strings","time"]}
,{"name":"github.com/docker/libnetwork/types","size":1000,"imports":["bytes","fmt","net","strconv","strings"]}
,{"name":"github.com/docker/docker/reference","size":1000,"imports":["encoding/json","errors","fmt","github.com/docker/distribution/digest","github.com/docker/distribution/reference","github.com/docker/docker/image","github.com/docker/docker/image/v1","github.com/docker/docker/pkg/ioutils","os","path/filepath","sort","strings","sync"]}
,{"name":"github.com/docker/docker/pkg/loopback","size":1000,"imports":["C","errors","fmt","github.com/Sirupsen/logrus","os","syscall","unsafe"]}
,{"name":"os/user","size":1000,"imports":["C","fmt","strconv","strings","syscall","unsafe"]}
,{"name":"net/http/httputil","size":1000,"imports":["bufio","bytes","errors","fmt","io","io/ioutil","log","net","net/http","net/http/internal","net/textproto","net/url","strings","sync","time"]}
,{"name":"github.com/docker/docker/daemon/logger/splunk","size":1000,"imports":["bytes","crypto/tls","crypto/x509","encoding/json","fmt","github.com/Sirupsen/logrus","github.com/docker/docker/daemon/logger","github.com/docker/docker/daemon/logger/loggerutils","github.com/docker/docker/pkg/urlutil","io","io/ioutil","net/http","net/url","strconv"]}
,{"name":"github.com/docker/docker/oci","size":1000,"imports":["github.com/opencontainers/specs/specs-go","os","runtime"]}
,{"name":"database/sql/driver","size":1000,"imports":["errors","fmt","reflect","strconv","time"]}
,{"name":"github.com/docker/docker/container","size":1000,"imports":["encoding/json","fmt","github.com/Sirupsen/logrus","github.com/docker/docker/daemon/exec","github.com/docker/docker/daemon/logger","github.com/docker/docker/daemon/logger/jsonfilelog","github.com/docker/docker/daemon/network","github.com/docker/docker/image","github.com/docker/docker/layer","github.com/docker/docker/pkg/archive","github.com/docker/docker/pkg/chrootarchive","github.com/docker/docker/pkg/idtools","github.com/docker/docker/pkg/ioutils","github.com/docker/docker/pkg/promise","github.com/docker/docker/pkg/signal","github.com/docker/docker/pkg/stringid","github.com/docker/docker/pkg/symlink","github.com/docker/docker/pkg/system","github.com/docker/docker/restartmanager","github.com/docker/docker/runconfig","github.com/docker/docker/runconfig/opts","github.com/docker/docker/utils","github.com/docker/docker/volume","github.com/docker/engine-api/types","github.com/docker/engine-api/types/container","github.com/docker/engine-api/types/network","github.com/docker/go-connections/nat","github.com/docker/go-units","github.com/docker/libnetwork","github.com/docker/libnetwork/netlabel","github.com/docker/libnetwork/options","github.com/docker/libnetwork/types","github.com/opencontainers/runc/libcontainer/label","golang.org/x/net/context","io","io/ioutil","net","os","path/filepath","sort","strconv","strings","sync","syscall","time"]}
,{"name":"golang.org/x/net/context/ctxhttp","size":1000,"imports":["golang.org/x/net/context","io","net/http","net/url","strings"]}
,{"name":"github.com/mistifyio/go-zfs","size":1000,"imports":["bytes","errors","fmt","github.com/pborman/uuid","io","os/exec","regexp","strconv","strings"]}
,{"name":"github.com/docker/docker/daemon/graphdriver/aufs","size":1000,"imports":["bufio","fmt","github.com/Sirupsen/logrus","github.com/docker/docker/daemon/graphdriver","github.com/docker/docker/pkg/archive","github.com/docker/docker/pkg/chrootarchive","github.com/docker/docker/pkg/directory","github.com/docker/docker/pkg/idtools","github.com/docker/docker/pkg/mount","github.com/docker/docker/pkg/stringid","github.com/opencontainers/runc/libcontainer/label","github.com/opencontainers/runc/libcontainer/system","github.com/vbatts/tar-split/tar/storage","io/ioutil","os","os/exec","path","path/filepath","strings","sync","syscall"]}
,{"name":"golang.org/x/net/http2/hpack","size":1000,"imports":["bytes","errors","fmt","io","sync"]}
,{"name":"github.com/miekg/dns","size":1000,"imports":["bufio","bytes","crypto","crypto/dsa","crypto/ecdsa","crypto/elliptic","crypto/hmac","crypto/md5","crypto/rand","crypto/rsa","crypto/sha1","crypto/sha256","crypto/sha512","crypto/tls","crypto/x509","encoding/asn1","encoding/base32","encoding/base64","encoding/hex","errors","fmt","hash","io","log","math/big","math/rand","net","os","reflect","sort","strconv","strings","sync","syscall","text/scanner","time"]}
,{"name":"github.com/docker/docker/pkg/gitutils","size":1000,"imports":["fmt","github.com/docker/docker/pkg/symlink","github.com/docker/docker/pkg/urlutil","io/ioutil","net/http","net/url","os","os/exec","path/filepath","strings"]}
,{"name":"github.com/docker/docker/pkg/registrar","size":1000,"imports":["errors","sync"]}
,{"name":"github.com/imdario/mergo","size":1000,"imports":["errors","fmt","reflect","unicode","unicode/utf8"]}
,{"name":"github.com/docker/docker/image/v1","size":1000,"imports":["encoding/json","fmt","github.com/Sirupsen/logrus","github.com/docker/distribution/digest","github.com/docker/docker/image","github.com/docker/docker/layer","github.com/docker/engine-api/types/versions","reflect","regexp","strings"]}
,{"name":"github.com/docker/docker/daemon/logger/jsonfilelog","size":1000,"imports":["bytes","encoding/json","fmt","github.com/Sirupsen/logrus","github.com/docker/docker/daemon/logger","github.com/docker/docker/daemon/logger/loggerutils","github.com/docker/docker/pkg/filenotify","github.com/docker/docker/pkg/ioutils","github.com/docker/docker/pkg/jsonlog","github.com/docker/docker/pkg/tailfile","github.com/docker/go-units","io","os","strconv","sync","time"]}
,{"name":"github.com/docker/docker/utils/templates","size":1000,"imports":["encoding/json","strings","text/template"]}
,{"name":"google.golang.org/cloud/logging","size":1000,"imports":["errors","golang.org/x/net/context","google.golang.org/api/logging/v1beta3","google.golang.org/cloud","google.golang.org/cloud/internal/transport","io","log","sync","time"]}
,{"name":"go/token","size":1000,"imports":["fmt","sort","strconv","sync"]}
,{"name":"github.com/docker/docker/daemon/graphdriver","size":1000,"imports":["errors","fmt","github.com/Sirupsen/logrus","github.com/docker/docker/pkg/archive","github.com/docker/docker/pkg/chrootarchive","github.com/docker/docker/pkg/idtools","github.com/docker/docker/pkg/ioutils","github.com/docker/docker/pkg/mount","github.com/vbatts/tar-split/tar/storage","os","path/filepath","strings","sync","syscall","time"]}
,{"name":"github.com/opencontainers/runc/libcontainer/devices","size":1000,"imports":["errors","fmt","github.com/opencontainers/runc/libcontainer/configs","io/ioutil","os","path/filepath","syscall"]}
,{"name":"github.com/docker/libnetwork/etchosts","size":1000,"imports":["bufio","bytes","fmt","io","io/ioutil","os","regexp","sync"]}
,{"name":"github.com/docker/libnetwork/drivers/bridge","size":1000,"imports":["bytes","encoding/json","errors","fmt","github.com/Sirupsen/logrus","github.com/docker/docker/pkg/parsers/kernel","github.com/docker/libkv/store","github.com/docker/libkv/store/boltdb","github.com/docker/libnetwork/datastore","github.com/docker/libnetwork/discoverapi","github.com/docker/libnetwork/driverapi","github.com/docker/libnetwork/iptables","github.com/docker/libnetwork/netlabel","github.com/docker/libnetwork/netutils","github.com/docker/libnetwork/options","github.com/docker/libnetwork/osl","github.com/docker/libnetwork/portmapper","github.com/docker/libnetwork/types","github.com/vishvananda/netlink","io/ioutil","math/rand","net","os","os/exec","path/filepath","regexp","strconv","strings","sync","syscall","time","unsafe"]}
,{"name":"github.com/opencontainers/runc/libcontainer/system","size":1000,"imports":["C","bufio","fmt","io/ioutil","os","os/exec","path/filepath","runtime","strconv","strings","syscall","unsafe"]}
,{"name":"errors","size":1000}
,{"name":"internal/syscall/unix","size":1000,"imports":["sync/atomic","syscall","unsafe"]}
,{"name":"github.com/docker/docker/builder/dockerignore","size":1000,"imports":["bufio","fmt","io","path/filepath","strings"]}
,{"name":"mime/quotedprintable","size":1000,"imports":["bufio","bytes","fmt","io"]}
,{"name":"github.com/docker/docker/pkg/mount","size":1000,"imports":["bufio","fmt","io","os","strings","syscall","time"]}
,{"name":"google.golang.org/api/logging/v1beta3","size":1000,"imports":["bytes","encoding/json","errors","fmt","golang.org/x/net/context","golang.org/x/net/context/ctxhttp","google.golang.org/api/gensupport","google.golang.org/api/googleapi","io","net/http","net/url","strconv","strings"]}
,{"name":"github.com/docker/distribution/context","size":1000,"imports":["errors","fmt","github.com/Sirupsen/logrus","github.com/docker/distribution/uuid","github.com/gorilla/mux","golang.org/x/net/context","net","net/http","runtime","strings","sync","time"]}
,{"name":"encoding/json","size":1000,"imports":["bytes","encoding","encoding/base64","errors","fmt","io","math","reflect","runtime","sort","strconv","strings","sync","unicode","unicode/utf16","unicode/utf8"]}
,{"name":"github.com/docker/docker/daemon/logger/gcplogs","size":1000,"imports":["fmt","github.com/Sirupsen/logrus","github.com/docker/docker/daemon/logger","golang.org/x/net/context","google.golang.org/cloud/compute/metadata","google.golang.org/cloud/logging","sync","sync/atomic","time"]}
,{"name":"io/ioutil","size":1000,"imports":["bytes","io","os","path/filepath","sort","strconv","sync","time"]}
,{"name":"github.com/docker/libnetwork/drivers/null","size":1000,"imports":["github.com/docker/libnetwork/datastore","github.com/docker/libnetwork/discoverapi","github.com/docker/libnetwork/driverapi","github.com/docker/libnetwork/types","sync"]}
,{"name":"encoding/asn1","size":1000,"imports":["bytes","errors","fmt","io","math/big","reflect","strconv","strings","time","unicode/utf8"]}
,{"name":"github.com/aws/aws-sdk-go/private/protocol/json/jsonutil","size":1000,"imports":["bytes","encoding/base64","encoding/json","fmt","github.com/aws/aws-sdk-go/private/protocol","io","io/ioutil","reflect","sort","strconv","time"]}
,{"name":"github.com/docker/docker/pkg/namesgenerator","size":1000,"imports":["fmt","github.com/docker/docker/pkg/random"]}
,{"name":"github.com/opencontainers/runc/libcontainer/label","size":1000}
,{"name":"github.com/docker/docker/pkg/streamformatter","size":1000,"imports":["encoding/json","fmt","github.com/docker/docker/pkg/jsonmessage","github.com/docker/docker/pkg/progress","io"]}
,{"name":"github.com/docker/docker/pkg/pubsub","size":1000,"imports":["sync","time"]}
,{"name":"compress/lzw","size":1000,"imports":["bufio","errors","fmt","io"]}
,{"name":"github.com/docker/docker/pkg/plugins","size":1000,"imports":["bytes","encoding/json","errors","fmt","github.com/Sirupsen/logrus","github.com/docker/docker/pkg/plugins/transport","github.com/docker/go-connections/sockets","github.com/docker/go-connections/tlsconfig","io","io/ioutil","net/http","net/url","os","path/filepath","strings","sync","time"]}
,{"name":"github.com/docker/docker/daemon/logger/loggerutils","size":1000,"imports":["bytes","github.com/docker/docker/daemon/logger","github.com/docker/docker/pkg/pubsub","github.com/docker/docker/utils/templates","os","strconv","sync"]}
,{"name":"github.com/docker/docker/pkg/progress","size":1000,"imports":["fmt","io"]}
,{"name":"github.com/docker/docker/pkg/discovery","size":1000,"imports":["errors","fmt","github.com/Sirupsen/logrus","net","regexp","strconv","strings","time"]}
,{"name":"github.com/vishvananda/netlink/nl","size":1000,"imports":["bytes","encoding/binary","fmt","net","sync/atomic","syscall","unsafe"]}
,{"name":"github.com/docker/go-connections/tlsconfig","size":1000,"imports":["crypto/tls","crypto/x509","fmt","github.com/Sirupsen/logrus","io/ioutil","os"]}
,{"name":"golang.org/x/net/proxy","size":1000,"imports":["errors","io","net","net/url","os","strconv","strings"]}
,{"name":"sync","size":1000,"imports":["internal/race","runtime","sync/atomic","unsafe"]}
,{"name":"github.com/opencontainers/runc/libcontainer/configs","size":1000,"imports":["bytes","encoding/json","fmt","os","os/exec","syscall"]}
,{"name":"compress/zlib","size":1000,"imports":["bufio","compress/flate","errors","fmt","hash","hash/adler32","io"]}
,{"name":"github.com/docker/docker/pkg/tailfile","size":1000,"imports":["bytes","errors","io","os"]}
,{"name":"github.com/docker/docker/daemon/logger/awslogs","size":1000,"imports":["errors","fmt","github.com/Sirupsen/logrus","github.com/aws/aws-sdk-go/aws","github.com/aws/aws-sdk-go/aws/awserr","github.com/aws/aws-sdk-go/aws/defaults","github.com/aws/aws-sdk-go/aws/ec2metadata","github.com/aws/aws-sdk-go/aws/request","github.com/aws/aws-sdk-go/service/cloudwatchlogs","github.com/docker/docker/daemon/logger","github.com/docker/docker/dockerversion","os","runtime","sort","strings","sync","time"]}
,{"name":"mime","size":1000,"imports":["bufio","bytes","encoding/base64","errors","fmt","io","os","sort","strings","sync","unicode","unicode/utf8"]}
,{"name":"github.com/docker/distribution/uuid","size":1000,"imports":["crypto/rand","fmt","io","os","syscall","time"]}
,{"name":"github.com/docker/docker/daemon/caps","size":1000,"imports":["fmt","github.com/docker/docker/pkg/stringutils","github.com/syndtr/gocapability/capability","strings"]}
,{"name":"github.com/docker/docker/pkg/broadcaster","size":1000,"imports":["io","sync"]}
,{"name":"github.com/docker/docker/pkg/truncindex","size":1000,"imports":["errors","fmt","github.com/tchap/go-patricia/patricia","strings","sync"]}
,{"name":"github.com/docker/libnetwork/ipams/builtin","size":1000,"imports":["fmt","github.com/docker/libnetwork/datastore","github.com/docker/libnetwork/ipam","github.com/docker/libnetwork/ipamapi"]}
,{"name":"github.com/docker/libnetwork/drivers/remote","size":1000,"imports":["fmt","github.com/Sirupsen/logrus","github.com/docker/docker/pkg/plugins","github.com/docker/libnetwork/datastore","github.com/docker/libnetwork/discoverapi","github.com/docker/libnetwork/driverapi","github.com/docker/libnetwork/drivers/remote/api","github.com/docker/libnetwork/types","net"]}
,{"name":"net/http","size":1000,"imports":["bufio","bytes","compress/gzip","crypto/tls","encoding/base64","encoding/binary","errors","fmt","internal/golang.org/x/net/http2/hpack","io","io/ioutil","log","mime","mime/multipart","net","net/http/internal","net/textproto","net/url","os","path","path/filepath","reflect","runtime","sort","strconv","strings","sync","sync/atomic","time","unicode/utf8"]}
,{"name":"google.golang.org/grpc/grpclog","size":1000,"imports":["log","os"]}
,{"name":"github.com/docker/docker/pkg/archive","size":1000,"imports":["archive/tar","bufio","bytes","compress/bzip2","compress/gzip","errors","fmt","github.com/Sirupsen/logrus","github.com/docker/docker/pkg/fileutils","github.com/docker/docker/pkg/idtools","github.com/docker/docker/pkg/ioutils","github.com/docker/docker/pkg/pools","github.com/docker/docker/pkg/promise","github.com/docker/docker/pkg/system","io","io/ioutil","os","os/exec","path/filepath","runtime","sort","strings","syscall","time","unsafe"]}
,{"name":"golang.org/x/oauth2","size":1000,"imports":["bytes","errors","golang.org/x/net/context","golang.org/x/oauth2/internal","io","net/http","net/url","strconv","strings","sync","time"]}
,{"name":"crypto/cipher","size":1000,"imports":["crypto/subtle","errors","io","runtime","unsafe"]}
,{"name":"regexp/syntax","size":1000,"imports":["bytes","sort","strconv","strings","unicode","unicode/utf8"]}
,{"name":"github.com/docker/docker/pkg/mflag","size":1000,"imports":["errors","fmt","github.com/docker/docker/pkg/homedir","io","os","runtime","sort","strconv","strings","text/tabwriter","time"]}
,{"name":"path","size":1000,"imports":["errors","strings","unicode/utf8"]}
,{"name":"github.com/docker/distribution/registry/client","size":1000,"imports":["bytes","encoding/json","errors","fmt","github.com/docker/distribution","github.com/docker/distribution/context","github.com/docker/distribution/digest","github.com/docker/distribution/reference","github.com/docker/distribution/registry/api/errcode","github.com/docker/distribution/registry/api/v2","github.com/docker/distribution/registry/client/transport","github.com/docker/distribution/registry/storage/cache","github.com/docker/distribution/registry/storage/cache/memory","io","io/ioutil","net/http","net/url","strconv","time"]}
,{"name":"crypto/des","size":1000,"imports":["crypto/cipher","encoding/binary","strconv"]}
,{"name":"github.com/docker/distribution/manifest/manifestlist","size":1000,"imports":["encoding/json","errors","fmt","github.com/docker/distribution","github.com/docker/distribution/digest","github.com/docker/distribution/manifest"]}
,{"name":"github.com/BurntSushi/toml","size":1000,"imports":["bufio","encoding","errors","fmt","io","io/ioutil","log","math","reflect","sort","strconv","strings","sync","time","unicode","unicode/utf8"]}
,{"name":"github.com/RackSec/srslog","size":1000,"imports":["crypto/tls","crypto/x509","errors","fmt","io","io/ioutil","log","net","os","strings","sync","time"]}
,{"name":"github.com/docker/engine-api/types","size":1000,"imports":["bufio","github.com/docker/engine-api/types/container","github.com/docker/engine-api/types/filters","github.com/docker/engine-api/types/network","github.com/docker/engine-api/types/registry","github.com/docker/go-connections/nat","github.com/docker/go-units","io","net","os","time"]}
,{"name":"gopkg.in/fsnotify.v1","size":1000,"imports":["bytes","errors","fmt","io","os","path/filepath","strings","sync","syscall","unsafe"]}
,{"name":"bytes","size":1000,"imports":["errors","io","unicode","unicode/utf8"]}
,{"name":"github.com/aws/aws-sdk-go/aws/awsutil","size":1000,"imports":["bytes","fmt","github.com/jmespath/go-jmespath","io","reflect","regexp","strconv","strings"]}
,{"name":"github.com/vishvananda/netlink","size":1000,"imports":["bytes","encoding/binary","errors","fmt","github.com/vishvananda/netlink/nl","io/ioutil","math","net","os","strconv","strings","syscall","unsafe"]}
,{"name":"github.com/docker/docker/pkg/term","size":1000,"imports":["C","errors","fmt","io","os","os/signal","strings","syscall","unsafe"]}
,{"name":"github.com/docker/libkv/store/etcd","size":1000,"imports":["crypto/tls","errors","github.com/coreos/etcd/client","github.com/docker/libkv","github.com/docker/libkv/store","golang.org/x/net/context","log","net","net/http","strings","time"]}
,{"name":"crypto/sha512","size":1000,"imports":["crypto","hash"]}
,{"name":"github.com/docker/docker/pkg/pools","size":1000,"imports":["bufio","github.com/docker/docker/pkg/ioutils","io","sync"]}
,{"name":"golang.org/x/net/context","size":1000,"imports":["errors","fmt","sync","time"]}
,{"name":"github.com/docker/libnetwork/ipamapi","size":1000,"imports":["github.com/docker/libnetwork/types","net"]}
,{"name":"github.com/coreos/etcd/Godeps/_workspace/src/golang.org/x/net/context","size":1000,"imports":["errors","fmt","sync","time"]}
,{"name":"github.com/docker/docker/builder","size":1000,"imports":["bufio","bytes","errors","fmt","github.com/docker/docker/api/types/backend","github.com/docker/docker/builder/dockerignore","github.com/docker/docker/image","github.com/docker/docker/pkg/archive","github.com/docker/docker/pkg/chrootarchive","github.com/docker/docker/pkg/fileutils","github.com/docker/docker/pkg/gitutils","github.com/docker/docker/pkg/httputils","github.com/docker/docker/pkg/ioutils","github.com/docker/docker/pkg/progress","github.com/docker/docker/pkg/streamformatter","github.com/docker/docker/pkg/symlink","github.com/docker/docker/pkg/tarsum","github.com/docker/docker/pkg/urlutil","github.com/docker/docker/reference","github.com/docker/engine-api/types","github.com/docker/engine-api/types/container","golang.org/x/net/context","io","io/ioutil","os","os/exec","path/filepath","regexp","runtime","strings","time"]}
,{"name":"github.com/jmespath/go-jmespath","size":1000,"imports":["bytes","encoding/json","errors","fmt","math","reflect","sort","strconv","strings","unicode","unicode/utf8"]}
,{"name":"google.golang.org/grpc/peer","size":1000,"imports":["golang.org/x/net/context","google.golang.org/grpc/credentials","net"]}
,{"name":"github.com/docker/distribution/registry/storage/cache/memory","size":1000,"imports":["github.com/docker/distribution","github.com/docker/distribution/context","github.com/docker/distribution/digest","github.com/docker/distribution/reference","github.com/docker/distribution/registry/storage/cache","sync"]}
,{"name":"github.com/docker/docker/pkg/ioutils","size":1000,"imports":["bytes","crypto/sha256","encoding/hex","errors","fmt","golang.org/x/net/context","io","io/ioutil","os","path/filepath","sync"]}
,{"name":"github.com/docker/docker/daemon/events","size":1000,"imports":["github.com/docker/docker/pkg/pubsub","github.com/docker/docker/reference","github.com/docker/engine-api/types/events","github.com/docker/engine-api/types/filters","sync","time"]}
,{"name":"github.com/tchap/go-patricia/patricia","size":1000,"imports":["bytes","errors","fmt","io","sort","strings"]}
,{"name":"github.com/docker/libnetwork/resolvconf/dns","size":1000,"imports":["regexp"]}
,{"name":"crypto/tls","size":1000,"imports":["bytes","container/list","crypto","crypto/aes","crypto/cipher","crypto/des","crypto/ecdsa","crypto/elliptic","crypto/hmac","crypto/md5","crypto/rand","crypto/rc4","crypto/rsa","crypto/sha1","crypto/sha256","crypto/sha512","crypto/subtle","crypto/x509","encoding/asn1","encoding/pem","errors","fmt","hash","io","io/ioutil","math/big","net","strconv","strings","sync","sync/atomic","time"]}
,{"name":"github.com/Sirupsen/logrus","size":1000,"imports":["bufio","bytes","encoding/json","fmt","io","log","os","runtime","sort","strings","sync","syscall","time","unsafe"]}
,{"name":"github.com/docker/docker/layer","size":1000,"imports":["archive/tar","bytes","compress/gzip","errors","fmt","github.com/Sirupsen/logrus","github.com/docker/distribution/digest","github.com/docker/docker/daemon/graphdriver","github.com/docker/docker/pkg/archive","github.com/docker/docker/pkg/idtools","github.com/docker/docker/pkg/ioutils","github.com/docker/docker/pkg/stringid","github.com/vbatts/tar-split/tar/asm","github.com/vbatts/tar-split/tar/storage","io","io/ioutil","os","path/filepath","regexp","strconv","strings","sync"]}
,{"name":"internal/golang.org/x/net/http2/hpack","size":1000,"imports":["bytes","errors","fmt","io","sync"]}
,{"name":"github.com/docker/libnetwork/bitseq","size":1000,"imports":["encoding/binary","encoding/json","fmt","github.com/Sirupsen/logrus","github.com/docker/libnetwork/datastore","github.com/docker/libnetwork/types","sync"]}
,{"name":"flag","size":1000,"imports":["errors","fmt","io","os","sort","strconv","time"]}
,{"name":"github.com/docker/docker/distribution","size":1000,"imports":["bufio","compress/gzip","encoding/json","errors","fmt","github.com/Sirupsen/logrus","github.com/docker/distribution","github.com/docker/distribution/digest","github.com/docker/distribution/manifest/manifestlist","github.com/docker/distribution/manifest/schema1","github.com/docker/distribution/manifest/schema2","github.com/docker/distribution/reference","github.com/docker/distribution/registry/api/errcode","github.com/docker/distribution/registry/api/v2","github.com/docker/distribution/registry/client","github.com/docker/distribution/registry/client/auth","github.com/docker/distribution/registry/client/transport","github.com/docker/docker/api","github.com/docker/docker/distribution/metadata","github.com/docker/docker/distribution/xfer","github.com/docker/docker/dockerversion","github.com/docker/docker/image","github.com/docker/docker/image/v1","github.com/docker/docker/layer","github.com/docker/docker/pkg/ioutils","github.com/docker/docker/pkg/progress","github.com/docker/docker/pkg/stringid","github.com/docker/docker/reference","github.com/docker/docker/registry","github.com/docker/engine-api/types","github.com/docker/go-connections/sockets","github.com/docker/libtrust","golang.org/x/net/context","io","io/ioutil","net","net/http","net/url","os","runtime","strings","sync","syscall","time"]}
,{"name":"github.com/docker/docker/pkg/tarsum","size":1000,"imports":["archive/tar","bytes","compress/gzip","crypto","crypto/sha256","encoding/hex","errors","fmt","hash","io","path","sort","strconv","strings"]}
,{"name":"github.com/coreos/etcd/pkg/types","size":1000,"imports":["errors","fmt","net","net/url","reflect","sort","strconv","strings","sync"]}
,{"name":"github.com/opencontainers/runc/libcontainer/configs/validate","size":1000,"imports":["fmt","github.com/opencontainers/runc/libcontainer/configs","os","path/filepath"]}
,{"name":"text/tabwriter","size":1000,"imports":["bytes","io","unicode/utf8"]}
,{"name":"github.com/docker/libnetwork/ipams/remote/api","size":1000,"imports":["github.com/docker/libnetwork/ipamapi"]}
,{"name":"github.com/docker/libnetwork/config","size":1000,"imports":["github.com/BurntSushi/toml","github.com/Sirupsen/logrus","github.com/docker/docker/pkg/discovery","github.com/docker/docker/pkg/tlsconfig","github.com/docker/libkv/store","github.com/docker/libnetwork/datastore","github.com/docker/libnetwork/netlabel","strings"]}
,{"name":"github.com/docker/docker/pkg/system","size":1000,"imports":["bufio","errors","github.com/docker/go-units","io","os","path/filepath","strconv","strings","syscall","time","unsafe"]}
,{"name":"github.com/docker/docker/pkg/reexec","size":1000,"imports":["fmt","os","os/exec","path/filepath","syscall"]}
,{"name":"sync/atomic","size":1000,"imports":["unsafe"]}
,{"name":"github.com/tinylib/msgp/msgp","size":1000,"imports":["bufio","bytes","encoding/base64","encoding/binary","encoding/json","errors","fmt","github.com/philhofer/fwd","io","math","os","reflect","strconv","sync","syscall","time","unicode/utf8","unsafe"]}
,{"name":"github.com/docker/docker/daemon/network","size":1000,"imports":["fmt","github.com/docker/docker/runconfig","github.com/docker/engine-api/types/filters","github.com/docker/engine-api/types/network","github.com/docker/go-connections/nat","github.com/docker/libnetwork"]}
,{"name":"github.com/docker/distribution/manifest/schema2","size":1000,"imports":["encoding/json","errors","fmt","github.com/docker/distribution","github.com/docker/distribution/context","github.com/docker/distribution/digest","github.com/docker/distribution/manifest"]}
,{"name":"github.com/docker/go-units","size":1000,"imports":["fmt","regexp","strconv","strings","time"]}
,{"name":"bufio","size":1000,"imports":["bytes","errors","io","unicode/utf8"]}
,{"name":"github.com/aws/aws-sdk-go/aws","size":1000,"imports":["github.com/aws/aws-sdk-go/aws/awserr","github.com/aws/aws-sdk-go/aws/credentials","io","log","net/http","os","sync","time"]}
,{"name":"github.com/docker/libtrust","size":1000,"imports":["bytes","crypto","crypto/ecdsa","crypto/elliptic","crypto/rand","crypto/rsa","crypto/sha256","crypto/sha512","crypto/tls","crypto/x509","crypto/x509/pkix","encoding/base32","encoding/base64","encoding/binary","encoding/json","encoding/pem","errors","fmt","io","io/ioutil","math/big","net","net/url","os","path","path/filepath","sort","strings","sync","time","unicode"]}
,{"name":"hash/adler32","size":1000,"imports":["hash"]}
,{"name":"github.com/docker/docker/pkg/urlutil","size":1000,"imports":["regexp","strings"]}
,{"name":"github.com/docker/distribution/manifest","size":1000}
,{"name":"github.com/opencontainers/runc/libcontainer/criurpc","size":1000,"imports":["github.com/golang/protobuf/proto","math"]}
,{"name":"github.com/docker/distribution/reference","size":1000,"imports":["errors","fmt","github.com/docker/distribution/digest","regexp"]}
,{"name":"log","size":1000,"imports":["fmt","io","os","runtime","sync","time"]}
,{"name":"strings","size":1000,"imports":["errors","io","unicode","unicode/utf8"]}
,{"name":"github.com/docker/docker/api/server/httputils","size":1000,"imports":["encoding/json","fmt","github.com/Sirupsen/logrus","github.com/docker/docker/api","github.com/docker/engine-api/types/container","github.com/docker/engine-api/types/network","golang.org/x/net/context","io","net/http","path/filepath","strconv","strings"]}
,{"name":"google.golang.org/cloud/compute/metadata","size":1000,"imports":["encoding/json","fmt","google.golang.org/cloud/internal","io/ioutil","net","net/http","net/url","os","strings","sync","time"]}
,{"name":"github.com/docker/docker/pkg/tlsconfig","size":1000,"imports":["crypto/tls","crypto/x509","fmt","github.com/Sirupsen/logrus","io/ioutil","os"]}
,{"name":"crypto/aes","size":1000,"imports":["crypto/cipher","crypto/subtle","errors","strconv"]}
,{"name":"github.com/docker/libkv","size":1000,"imports":["fmt","github.com/docker/libkv/store","sort","strings"]}
,{"name":"github.com/boltdb/bolt","size":1000,"imports":["bytes","errors","fmt","hash/fnv","io","os","runtime","runtime/debug","sort","strings","sync","syscall","time","unsafe"]}
,{"name":"github.com/docker/engine-api/types/container","size":1000,"imports":["github.com/docker/engine-api/types/blkiodev","github.com/docker/engine-api/types/strslice","github.com/docker/go-connections/nat","github.com/docker/go-units","strings"]}
,{"name":"github.com/docker/docker/daemon/logger","size":1000,"imports":["bufio","bytes","errors","fmt","github.com/Sirupsen/logrus","github.com/docker/docker/pkg/jsonlog","io","os","sort","strings","sync","time"]}
,{"name":"github.com/docker/libnetwork/hostdiscovery","size":1000,"imports":["github.com/Sirupsen/logrus","github.com/deckarep/golang-set","github.com/docker/docker/pkg/discovery","github.com/docker/docker/pkg/discovery/kv","github.com/docker/libkv/store/consul","github.com/docker/libkv/store/etcd","github.com/docker/libkv/store/zookeeper","github.com/docker/libnetwork/types","net","sync"]}
,{"name":"github.com/docker/docker/pkg/devicemapper","size":1000,"imports":["C","errors","fmt","github.com/Sirupsen/logrus","os","reflect","runtime","strings","syscall","unsafe"]}
,{"name":"github.com/docker/docker/errors","size":1000,"imports":["net/http"]}
,{"name":"crypto/x509","size":1000,"imports":["bytes","crypto","crypto/aes","crypto/cipher","crypto/des","crypto/dsa","crypto/ecdsa","crypto/elliptic","crypto/md5","crypto/rsa","crypto/sha1","crypto/sha256","crypto/sha512","crypto/x509/pkix","encoding/asn1","encoding/hex","encoding/pem","errors","fmt","io","io/ioutil","math/big","net","runtime","strconv","strings","sync","time","unicode/utf8"]}
,{"name":"github.com/opencontainers/runc/libcontainer/utils","size":1000,"imports":["crypto/rand","encoding/hex","encoding/json","io","io/ioutil","path/filepath","strconv","syscall"]}
,{"name":"mime/multipart","size":1000,"imports":["bufio","bytes","crypto/rand","errors","fmt","io","io/ioutil","mime","mime/quotedprintable","net/textproto","os","strings"]}
,{"name":"github.com/docker/docker/dockerversion","size":1000,"imports":["fmt","github.com/docker/docker/api/server/httputils","github.com/docker/docker/pkg/parsers/kernel","github.com/docker/docker/pkg/useragent","golang.org/x/net/context","runtime"]}
,{"name":"github.com/docker/engine-api/types/registry","size":1000,"imports":["encoding/json","net"]}
,{"name":"runtime","size":1000,"imports":["runtime/internal/atomic","runtime/internal/sys","unsafe"]}
,{"name":"encoding","size":1000}
,{"name":"unsafe","size":1000}
,{"name":"golang.org/x/oauth2/jws","size":1000,"imports":["bytes","crypto","crypto/rand","crypto/rsa","crypto/sha256","encoding/base64","encoding/json","errors","fmt","strings","time"]}
,{"name":"html/template","size":1000,"imports":["bytes","encoding/json","fmt","html","io","io/ioutil","path/filepath","reflect","strings","sync","text/template","text/template/parse","unicode","unicode/utf8"]}
,{"name":"github.com/docker/docker/daemon/graphdriver/register","size":1000,"imports":["github.com/docker/docker/daemon/graphdriver/aufs","github.com/docker/docker/daemon/graphdriver/btrfs","github.com/docker/docker/daemon/graphdriver/devmapper","github.com/docker/docker/daemon/graphdriver/overlay","github.com/docker/docker/daemon/graphdriver/vfs","github.com/docker/docker/daemon/graphdriver/zfs"]}
,{"name":"compress/bzip2","size":1000,"imports":["bufio","io","sort"]}
,{"name":"google.golang.org/api/gensupport","size":1000,"imports":["bytes","encoding/json","fmt","golang.org/x/net/context","golang.org/x/net/context/ctxhttp","google.golang.org/api/googleapi","io","io/ioutil","math/rand","mime/multipart","net","net/http","net/textproto","net/url","reflect","strings","sync","time"]}
,{"name":"github.com/hashicorp/serf/coordinate","size":1000,"imports":["fmt","math","math/rand","sort","sync","time"]}
,{"name":"github.com/docker/docker/pkg/symlink","size":1000,"imports":["bytes","errors","github.com/docker/docker/pkg/system","os","path/filepath","strings"]}
,{"name":"go/parser","size":1000,"imports":["bytes","errors","fmt","go/ast","go/scanner","go/token","io","io/ioutil","os","path/filepath","strconv","strings","unicode"]}
,{"name":"github.com/docker/docker/profiles/apparmor","size":1000,"imports":["bufio","github.com/docker/docker/pkg/aaparser","github.com/docker/docker/utils/templates","io","os","path","strings"]}
,{"name":"os/signal","size":1000,"imports":["os","sync","syscall"]}
,{"name":"github.com/coreos/etcd/client","size":1000,"imports":["bytes","encoding/json","errors","fmt","github.com/coreos/etcd/Godeps/_workspace/src/github.com/ugorji/go/codec","github.com/coreos/etcd/Godeps/_workspace/src/golang.org/x/net/context","github.com/coreos/etcd/pkg/pathutil","github.com/coreos/etcd/pkg/types","io/ioutil","math/rand","net","net/http","net/url","os","path","reflect","runtime","sort","strconv","strings","sync","time"]}
,{"name":"github.com/vbatts/tar-split/tar/asm","size":1000,"imports":["bytes","fmt","github.com/vbatts/tar-split/archive/tar","github.com/vbatts/tar-split/tar/storage","hash","hash/crc64","io","io/ioutil","sync"]}
,{"name":"google.golang.org/grpc/internal","size":1000}
,{"name":"github.com/docker/libnetwork/datastore","size":1000,"imports":["errors","fmt","github.com/docker/libkv","github.com/docker/libkv/store","github.com/docker/libkv/store/boltdb","github.com/docker/libkv/store/consul","github.com/docker/libkv/store/etcd","github.com/docker/libkv/store/zookeeper","github.com/docker/libnetwork/types","log","reflect","strings","sync"]}
,{"name":"encoding/base32","size":1000,"imports":["bytes","io","strconv","strings"]}
,{"name":"github.com/docker/docker/daemon/graphdriver/overlay","size":1000,"imports":["bufio","fmt","github.com/Sirupsen/logrus","github.com/docker/docker/daemon/graphdriver","github.com/docker/docker/pkg/archive","github.com/docker/docker/pkg/chrootarchive","github.com/docker/docker/pkg/idtools","github.com/docker/docker/pkg/mount","github.com/docker/docker/pkg/pools","github.com/docker/docker/pkg/system","github.com/opencontainers/runc/libcontainer/label","io/ioutil","os","os/exec","path","path/filepath","syscall","time"]}
,{"name":"github.com/docker/engine-api/types/events","size":1000}
,{"name":"path/filepath","size":1000,"imports":["errors","os","runtime","sort","strings","unicode/utf8"]}
,{"name":"github.com/aws/aws-sdk-go/aws/client","size":1000,"imports":["fmt","github.com/aws/aws-sdk-go/aws","github.com/aws/aws-sdk-go/aws/client/metadata","github.com/aws/aws-sdk-go/aws/request","io/ioutil","math","math/rand","net/http/httputil","time"]}
,{"name":"unicode/utf16","size":1000}
,{"name":"net/rpc","size":1000,"imports":["bufio","encoding/gob","errors","fmt","html/template","io","log","net","net/http","reflect","sort","strings","sync","unicode","unicode/utf8"]}
,{"name":"internal/race","size":1000,"imports":["unsafe"]}
,{"name":"go/scanner","size":1000,"imports":["bytes","fmt","go/token","io","path/filepath","sort","strconv","unicode","unicode/utf8"]}
,{"name":"math","size":1000,"imports":["unsafe"]}
,{"name":"github.com/docker/docker/distribution/xfer","size":1000,"imports":["errors","fmt","github.com/Sirupsen/logrus","github.com/docker/distribution","github.com/docker/docker/image","github.com/docker/docker/layer","github.com/docker/docker/pkg/archive","github.com/docker/docker/pkg/ioutils","github.com/docker/docker/pkg/progress","golang.org/x/net/context","io","runtime","sync","time"]}
,{"name":"github.com/aws/aws-sdk-go/service/cloudwatchlogs","size":1000,"imports":["github.com/aws/aws-sdk-go/aws","github.com/aws/aws-sdk-go/aws/awsutil","github.com/aws/aws-sdk-go/aws/client","github.com/aws/aws-sdk-go/aws/client/metadata","github.com/aws/aws-sdk-go/aws/request","github.com/aws/aws-sdk-go/private/protocol","github.com/aws/aws-sdk-go/private/protocol/jsonrpc","github.com/aws/aws-sdk-go/private/signer/v4"]}
,{"name":"github.com/docker/engine-api/types/versions/v1p20","size":1000,"imports":["github.com/docker/engine-api/types","github.com/docker/engine-api/types/container","github.com/docker/go-connections/nat"]}
,{"name":"github.com/docker/docker/pkg/plugins/transport","size":1000,"imports":["io","net/http","strings"]}
,{"name":"github.com/docker/docker/pkg/stdcopy","size":1000,"imports":["bytes","encoding/binary","errors","fmt","github.com/Sirupsen/logrus","io","sync"]}
,{"name":"hash/crc32","size":1000,"imports":["hash","sync"]}
,{"name":"math/big","size":1000,"imports":["bytes","encoding/binary","errors","fmt","io","math","math/rand","strconv","strings","sync"]}
,{"name":"github.com/hashicorp/go-msgpack/codec","size":1000,"imports":["bufio","encoding/binary","errors","fmt","io","math","net/rpc","reflect","sort","strings","sync","time","unicode","unicode/utf8"]}
,{"name":"strconv","size":1000,"imports":["errors","math","unicode/utf8"]}
,{"name":"github.com/docker/libnetwork/ipam","size":1000,"imports":["encoding/json","fmt","github.com/Sirupsen/logrus","github.com/docker/libnetwork/bitseq","github.com/docker/libnetwork/datastore","github.com/docker/libnetwork/ipamapi","github.com/docker/libnetwork/ipamutils","github.com/docker/libnetwork/types","net","strings","sync"]}
,{"name":"github.com/hashicorp/go-cleanhttp","size":1000,"imports":["net","net/http","runtime","time"]}
,{"name":"github.com/aws/aws-sdk-go/aws/credentials","size":1000,"imports":["fmt","github.com/aws/aws-sdk-go/aws/awserr","github.com/go-ini/ini","os","path/filepath","sync","time"]}
,{"name":"github.com/aws/aws-sdk-go/private/protocol","size":1000,"imports":["crypto/rand","fmt","github.com/aws/aws-sdk-go/aws/request","io","io/ioutil","reflect"]}
,{"name":"google.golang.org/cloud/internal/transport","size":1000,"imports":["bytes","errors","fmt","github.com/golang/protobuf/proto","golang.org/x/net/context","golang.org/x/oauth2","golang.org/x/oauth2/google","google.golang.org/cloud","google.golang.org/cloud/internal/opts","google.golang.org/grpc","google.golang.org/grpc/credentials","google.golang.org/grpc/credentials/oauth","io/ioutil","net/http"]}
,{"name":"github.com/opencontainers/runc/libcontainer/cgroups","size":1000,"imports":["bufio","fmt","github.com/docker/docker/pkg/mount","github.com/docker/go-units","github.com/opencontainers/runc/libcontainer/configs","io/ioutil","os","path/filepath","strconv","strings","time"]}
,{"name":"container/heap","size":1000,"imports":["sort"]}
,{"name":"text/template/parse","size":1000,"imports":["bytes","fmt","runtime","strconv","strings","unicode","unicode/utf8"]}
,{"name":"github.com/docker/docker/daemon/graphdriver/btrfs","size":1000,"imports":["C","fmt","github.com/docker/docker/daemon/graphdriver","github.com/docker/docker/pkg/idtools","github.com/docker/docker/pkg/mount","github.com/docker/docker/pkg/parsers","github.com/docker/go-units","github.com/opencontainers/runc/libcontainer/label","os","path","path/filepath","strings","syscall","unsafe"]}
,{"name":"github.com/docker/docker/pkg/useragent","size":1000,"imports":["strings"]}
,{"name":"github.com/docker/docker/pkg/parsers/operatingsystem","size":1000,"imports":["bufio","bytes","fmt","github.com/mattn/go-shellwords","io/ioutil","os","strings"]}
,{"name":"github.com/docker/docker/daemon/logger/gelf","size":1000,"imports":["bytes","compress/flate","encoding/json","fmt","github.com/Graylog2/go-gelf/gelf","github.com/Sirupsen/logrus","github.com/docker/docker/daemon/logger","github.com/docker/docker/daemon/logger/loggerutils","github.com/docker/docker/pkg/urlutil","net","net/url","strconv","time"]}
,{"name":"github.com/docker/docker/volume/drivers","size":1000,"imports":["errors","fmt","github.com/docker/docker/pkg/locker","github.com/docker/docker/pkg/plugins","github.com/docker/docker/volume","sync"]}
,{"name":"github.com/docker/docker/daemon/logger/syslog","size":1000,"imports":["crypto/tls","errors","fmt","github.com/RackSec/srslog","github.com/Sirupsen/logrus","github.com/docker/docker/daemon/logger","github.com/docker/docker/daemon/logger/loggerutils","github.com/docker/docker/pkg/urlutil","github.com/docker/go-connections/tlsconfig","net","net/url","os","path","strconv","strings","time"]}
,{"name":"runtime/internal/atomic","size":1000,"imports":["unsafe"]}
,{"name":"github.com/docker/docker/pkg/discovery/kv","size":1000,"imports":["fmt","github.com/Sirupsen/logrus","github.com/docker/docker/pkg/discovery","github.com/docker/go-connections/tlsconfig","github.com/docker/libkv","github.com/docker/libkv/store","github.com/docker/libkv/store/consul","github.com/docker/libkv/store/etcd","github.com/docker/libkv/store/zookeeper","path","strings","time"]}
,{"name":"net/textproto","size":1000,"imports":["bufio","bytes","fmt","io","io/ioutil","net","strconv","strings","sync"]}
,{"name":"github.com/docker/engine-api/types/blkiodev","size":1000,"imports":["fmt"]}
,{"name":"github.com/docker/docker/pkg/signal","size":1000,"imports":["fmt","github.com/Sirupsen/logrus","os","os/signal","runtime","strconv","strings","sync/atomic","syscall"]}
,{"name":"net/http/internal","size":1000,"imports":["bufio","bytes","errors","fmt","io"]}
,{"name":"math/rand","size":1000,"imports":["math","sync"]}
,{"name":"github.com/opencontainers/runc/libcontainer/cgroups/systemd","size":1000,"imports":["errors","fmt","github.com/coreos/go-systemd/dbus","github.com/coreos/go-systemd/util","github.com/godbus/dbus","github.com/opencontainers/runc/libcontainer/cgroups","github.com/opencontainers/runc/libcontainer/cgroups/fs","github.com/opencontainers/runc/libcontainer/configs","io/ioutil","os","path/filepath","strconv","strings","sync","time"]}
,{"name":"github.com/docker/libnetwork/netlabel","size":1000,"imports":["strings"]}
,{"name":"github.com/docker/docker/pkg/jsonlog","size":1000,"imports":["bytes","encoding/json","errors","fmt","time","unicode/utf8"]}
,{"name":"github.com/opencontainers/runc/libcontainer/user","size":1000,"imports":["bufio","errors","fmt","io","os","strconv","strings","syscall"]}
,{"name":"github.com/syndtr/gocapability/capability","size":1000,"imports":["bufio","errors","fmt","io","os","strings","syscall","unsafe"]}
,{"name":"github.com/docker/docker/volume/store","size":1000,"imports":["bytes","encoding/json","errors","github.com/Sirupsen/logrus","github.com/boltdb/bolt","github.com/docker/docker/pkg/locker","github.com/docker/docker/volume","github.com/docker/docker/volume/drivers","os","path/filepath","strings","sync","time"]}
,{"name":"golang.org/x/oauth2/google","size":1000,"imports":["crypto/rsa","encoding/json","errors","fmt","golang.org/x/net/context","golang.org/x/oauth2","golang.org/x/oauth2/internal","golang.org/x/oauth2/jws","golang.org/x/oauth2/jwt","google.golang.org/cloud/compute/metadata","io/ioutil","net/http","os","os/user","path/filepath","runtime","sort","strings","sync","time"]}
,{"name":"github.com/docker/engine-api/types/network","size":1000}
,{"name":"github.com/docker/libnetwork/drivers/overlay","size":1000,"imports":["encoding/json","fmt","github.com/Sirupsen/logrus","github.com/docker/libkv/store","github.com/docker/libnetwork/datastore","github.com/docker/libnetwork/discoverapi","github.com/docker/libnetwork/driverapi","github.com/docker/libnetwork/idm","github.com/docker/libnetwork/iptables","github.com/docker/libnetwork/netlabel","github.com/docker/libnetwork/netutils","github.com/docker/libnetwork/osl","github.com/docker/libnetwork/resolvconf","github.com/docker/libnetwork/types","github.com/hashicorp/serf/serf","github.com/vishvananda/netlink","github.com/vishvananda/netlink/nl","net","os","path/filepath","strings","sync","syscall","time"]}
,{"name":"github.com/docker/docker/daemon/graphdriver/vfs","size":1000,"imports":["fmt","github.com/docker/docker/daemon/graphdriver","github.com/docker/docker/pkg/chrootarchive","github.com/docker/docker/pkg/idtools","github.com/opencontainers/runc/libcontainer/label","os","path/filepath"]}
,{"name":"github.com/docker/docker/restartmanager","size":1000,"imports":["errors","fmt","github.com/docker/engine-api/types/container","sync","time"]}
,{"name":"github.com/docker/engine-api/types/versions","size":1000,"imports":["strconv","strings"]}
,{"name":"crypto/dsa","size":1000,"imports":["errors","io","math/big"]}
,{"name":"github.com/docker/docker/builder/dockerfile/command","size":1000}
,{"name":"crypto/sha1","size":1000,"imports":["crypto","hash"]}
,{"name":"net","size":1000,"imports":["C","errors","internal/singleflight","io","math/rand","os","runtime","sort","sync","sync/atomic","syscall","time","unsafe"]}
,{"name":"github.com/docker/docker/pkg/sysinfo","size":1000,"imports":["fmt","github.com/Sirupsen/logrus","github.com/docker/docker/pkg/parsers","github.com/opencontainers/runc/libcontainer/cgroups","io/ioutil","os","path","strings","syscall"]}
,{"name":"github.com/docker/docker/api/types/backend","size":1000,"imports":["github.com/docker/docker/pkg/streamformatter","github.com/docker/engine-api/types","io"]}
,{"name":"github.com/docker/libnetwork/ipamutils","size":1000,"imports":["fmt","github.com/docker/libnetwork/netutils","github.com/docker/libnetwork/osl","github.com/docker/libnetwork/resolvconf","github.com/vishvananda/netlink","net"]}
,{"name":"github.com/docker/docker/pkg/homedir","size":1000,"imports":["github.com/opencontainers/runc/libcontainer/user","os","runtime"]}
,{"name":"github.com/docker/docker/daemon/graphdriver/zfs","size":1000,"imports":["fmt","github.com/Sirupsen/logrus","github.com/docker/docker/daemon/graphdriver","github.com/docker/docker/pkg/idtools","github.com/docker/docker/pkg/mount","github.com/docker/docker/pkg/parsers","github.com/mistifyio/go-zfs","github.com/opencontainers/runc/libcontainer/label","os","os/exec","path","strconv","strings","sync","syscall","time"]}
,{"name":"github.com/docker/docker/api","size":1000,"imports":["fmt","github.com/Sirupsen/logrus","github.com/docker/docker/pkg/system","github.com/docker/engine-api/types","github.com/docker/libtrust","mime","path/filepath","sort","strconv","strings"]}
,{"name":"github.com/opencontainers/runc/libcontainer/seccomp","size":1000,"imports":["errors","fmt","github.com/opencontainers/runc/libcontainer/configs"]}
,{"name":"github.com/coreos/go-systemd/util","size":1000,"imports":["C","errors","fmt","io/ioutil","os","strings","syscall","unsafe"]}
,{"name":"github.com/docker/distribution/registry/api/v2","size":1000,"imports":["github.com/docker/distribution/digest","github.com/docker/distribution/reference","github.com/docker/distribution/registry/api/errcode","github.com/gorilla/mux","net/http","net/url","regexp","strings"]}
,{"name":"github.com/docker/libnetwork/netutils","size":1000,"imports":["crypto/rand","encoding/hex","errors","fmt","github.com/docker/libnetwork/types","github.com/vishvananda/netlink","io","net","strings"]}
,{"name":"os/exec","size":1000,"imports":["bytes","errors","io","os","path/filepath","runtime","strconv","strings","sync","syscall"]}
,{"name":"github.com/coreos/etcd/Godeps/_workspace/src/github.com/ugorji/go/codec","size":1000,"imports":["bufio","bytes","encoding","encoding/base64","encoding/binary","errors","fmt","go/format","io","io/ioutil","math","math/rand","net/rpc","os","reflect","regexp","sort","strconv","strings","sync","text/template","time","unicode","unicode/utf16","unicode/utf8"]}
,{"name":"github.com/opencontainers/runc/libcontainer/stacktrace","size":1000,"imports":["path/filepath","runtime","strings"]}
,{"name":"reflect","size":1000,"imports":["math","runtime","strconv","sync","unsafe"]}
,{"name":"github.com/docker/distribution/manifest/schema1","size":1000,"imports":["crypto/sha512","crypto/x509","encoding/json","errors","fmt","github.com/Sirupsen/logrus","github.com/docker/distribution","github.com/docker/distribution/context","github.com/docker/distribution/digest","github.com/docker/distribution/manifest","github.com/docker/distribution/reference","github.com/docker/libtrust","time"]}
,{"name":"github.com/docker/docker/pkg/aaparser","size":1000,"imports":["fmt","os/exec","path/filepath","strconv","strings"]}
,{"name":"github.com/aws/aws-sdk-go/private/protocol/rest","size":1000,"imports":["bytes","encoding/base64","fmt","github.com/aws/aws-sdk-go/aws","github.com/aws/aws-sdk-go/aws/awserr","github.com/aws/aws-sdk-go/aws/request","io","io/ioutil","net/http","net/url","path","reflect","strconv","strings","time"]}
,{"name":"github.com/docker/distribution/registry/api/errcode","size":1000,"imports":["encoding/json","fmt","net/http","sort","strings","sync"]}
,{"name":"time","size":1000,"imports":["errors","runtime","sync","syscall"]}
,{"name":"github.com/docker/docker/pkg/stringutils","size":1000,"imports":["bytes","github.com/docker/docker/pkg/random","math/rand","strings"]}
,{"name":"github.com/opencontainers/runc/libcontainer","size":1000,"imports":["bytes","encoding/json","errors","fmt","github.com/Sirupsen/logrus","github.com/docker/docker/pkg/mount","github.com/docker/docker/pkg/symlink","github.com/golang/protobuf/proto","github.com/opencontainers/runc/libcontainer/apparmor","github.com/opencontainers/runc/libcontainer/cgroups","github.com/opencontainers/runc/libcontainer/cgroups/fs","github.com/opencontainers/runc/libcontainer/cgroups/systemd","github.com/opencontainers/runc/libcontainer/configs","github.com/opencontainers/runc/libcontainer/configs/validate","github.com/opencontainers/runc/libcontainer/criurpc","github.com/opencontainers/runc/libcontainer/label","github.com/opencontainers/runc/libcontainer/seccomp","github.com/opencontainers/runc/libcontainer/stacktrace","github.com/opencontainers/runc/libcontainer/system","github.com/opencontainers/runc/libcontainer/user","github.com/opencontainers/runc/libcontainer/utils","github.com/syndtr/gocapability/capability","github.com/vishvananda/netlink","github.com/vishvananda/netlink/nl","io","io/ioutil","math","net","os","os/exec","path","path/filepath","reflect","regexp","strconv","strings","sync","syscall","text/template","time","unsafe"]}
,{"name":"google.golang.org/api/googleapi/internal/uritemplates","size":1000,"imports":["bytes","errors","regexp","strconv","strings"]}
,{"name":"google.golang.org/grpc/credentials/oauth","size":1000,"imports":["fmt","golang.org/x/net/context","golang.org/x/oauth2","golang.org/x/oauth2/google","golang.org/x/oauth2/jwt","google.golang.org/grpc/credentials","io/ioutil"]}
,{"name":"github.com/mattn/go-sqlite3","size":1000,"imports":["C","database/sql","database/sql/driver","errors","fmt","io","math","net/url","reflect","runtime","strconv","strings","sync","time","unsafe"]}
,{"name":"crypto/subtle","size":1000}
,{"name":"C","size":1000}
,{"name":"encoding/binary","size":1000,"imports":["errors","io","math","reflect"]}
,{"name":"github.com/armon/go-metrics","size":1000,"imports":["bufio","bytes","fmt","io","log","math","net","os","os/signal","runtime","strings","sync","syscall","time"]}
,{"name":"compress/gzip","size":1000,"imports":["bufio","compress/flate","errors","fmt","hash","hash/crc32","io","time"]}
,{"name":"github.com/docker/docker/libcontainerd","size":1000,"imports":["encoding/json","fmt","github.com/Sirupsen/logrus","github.com/docker/containerd/api/grpc/types","github.com/docker/docker/pkg/idtools","github.com/docker/docker/pkg/ioutils","github.com/docker/docker/pkg/locker","github.com/docker/docker/pkg/mount","github.com/docker/docker/pkg/system","github.com/docker/docker/restartmanager","github.com/docker/docker/utils","github.com/opencontainers/specs/specs-go","golang.org/x/net/context","google.golang.org/grpc","google.golang.org/grpc/grpclog","google.golang.org/grpc/transport","io","io/ioutil","log","net","os","os/exec","path/filepath","strconv","strings","sync","syscall","time"]}
,{"name":"github.com/docker/docker/pkg/parsers","size":1000,"imports":["fmt","strconv","strings"]}
,{"name":"github.com/docker/libnetwork/idm","size":1000,"imports":["fmt","github.com/docker/libnetwork/bitseq","github.com/docker/libnetwork/datastore"]}
,{"name":"github.com/aws/aws-sdk-go/aws/awserr","size":1000,"imports":["fmt"]}
,{"name":"google.golang.org/cloud/internal/opts","size":1000,"imports":["golang.org/x/oauth2","google.golang.org/grpc","net/http"]}
,{"name":"github.com/docker/docker/pkg/chrootarchive","size":1000,"imports":["bytes","encoding/json","flag","fmt","github.com/docker/docker/pkg/archive","github.com/docker/docker/pkg/idtools","github.com/docker/docker/pkg/reexec","github.com/docker/docker/pkg/system","io","io/ioutil","os","path/filepath","runtime","syscall"]}
,{"name":"github.com/docker/engine-api/types/filters","size":1000,"imports":["encoding/json","errors","fmt","github.com/docker/engine-api/types/versions","regexp","strings"]}
,{"name":"github.com/docker/engine-api/types/time","size":1000,"imports":["fmt","math","strconv","strings","time"]}
,{"name":"github.com/docker/libnetwork/ns","size":1000,"imports":["fmt","github.com/Sirupsen/logrus","github.com/vishvananda/netns","os","syscall"]}
,{"name":"github.com/docker/docker/distribution/metadata","size":1000,"imports":["encoding/json","github.com/docker/distribution/digest","github.com/docker/docker/image/v1","github.com/docker/docker/layer","github.com/docker/docker/pkg/ioutils","io/ioutil","os","path/filepath","sync"]}
,{"name":"github.com/docker/libnetwork/resolvconf","size":1000,"imports":["bytes","github.com/Sirupsen/logrus","github.com/docker/docker/pkg/ioutils","github.com/docker/libnetwork/netutils","github.com/docker/libnetwork/resolvconf/dns","io/ioutil","regexp","strings","sync"]}
,{"name":"github.com/docker/libnetwork/drivers/remote/api","size":1000,"imports":["github.com/docker/libnetwork/discoverapi","github.com/docker/libnetwork/driverapi","net"]}
,{"name":"github.com/docker/docker/volume/local","size":1000,"imports":["encoding/json","fmt","github.com/Sirupsen/logrus","github.com/docker/docker/pkg/idtools","github.com/docker/docker/pkg/mount","github.com/docker/docker/utils","github.com/docker/docker/volume","io/ioutil","os","path/filepath","strings","sync"]}
,{"name":"github.com/gorilla/context","size":1000,"imports":["net/http","sync","time"]}
,{"name":"github.com/docker/libkv/store","size":1000,"imports":["crypto/tls","errors","strings","time"]}
,{"name":"crypto/x509/pkix","size":1000,"imports":["encoding/asn1","math/big","time"]}
,{"name":"github.com/aws/aws-sdk-go/aws/defaults","size":1000,"imports":["github.com/aws/aws-sdk-go/aws","github.com/aws/aws-sdk-go/aws/corehandlers","github.com/aws/aws-sdk-go/aws/credentials","github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds","github.com/aws/aws-sdk-go/aws/ec2metadata","github.com/aws/aws-sdk-go/aws/request","github.com/aws/aws-sdk-go/private/endpoints","net/http","os","time"]}
,{"name":"github.com/go-ini/ini","size":1000,"imports":["bufio","bytes","errors","fmt","io","os","reflect","regexp","runtime","strconv","strings","sync","time","unicode"]}
,{"name":"github.com/docker/libnetwork","size":1000,"imports":["container/heap","encoding/json","fmt","github.com/Sirupsen/logrus","github.com/docker/docker/pkg/discovery","github.com/docker/docker/pkg/plugins","github.com/docker/docker/pkg/reexec","github.com/docker/docker/pkg/stringid","github.com/docker/libnetwork/config","github.com/docker/libnetwork/datastore","github.com/docker/libnetwork/discoverapi","github.com/docker/libnetwork/driverapi","github.com/docker/libnetwork/drivers/bridge","github.com/docker/libnetwork/drivers/host","github.com/docker/libnetwork/drivers/null","github.com/docker/libnetwork/drivers/overlay","github.com/docker/libnetwork/drivers/remote","github.com/docker/libnetwork/etchosts","github.com/docker/libnetwork/hostdiscovery","github.com/docker/libnetwork/ipamapi","github.com/docker/libnetwork/ipams/builtin","github.com/docker/libnetwork/ipams/remote","github.com/docker/libnetwork/iptables","github.com/docker/libnetwork/netlabel","github.com/docker/libnetwork/netutils","github.com/docker/libnetwork/options","github.com/docker/libnetwork/osl","github.com/docker/libnetwork/resolvconf","github.com/docker/libnetwork/types","github.com/miekg/dns","github.com/opencontainers/runc/libcontainer","github.com/opencontainers/runc/libcontainer/configs","io","io/ioutil","net","os","path","path/filepath","strconv","strings","sync"]}
,{"name":"google.golang.org/grpc/credentials","size":1000,"imports":["crypto/tls","crypto/x509","fmt","golang.org/x/net/context","io/ioutil","net","strings","time"]}
,{"name":"github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds","size":1000,"imports":["bufio","encoding/json","fmt","github.com/aws/aws-sdk-go/aws/awserr","github.com/aws/aws-sdk-go/aws/client","github.com/aws/aws-sdk-go/aws/credentials","github.com/aws/aws-sdk-go/aws/ec2metadata","path","strings","time"]}
,{"name":"github.com/docker/docker/daemon/logger/fluentd","size":1000,"imports":["fmt","github.com/Sirupsen/logrus","github.com/docker/docker/daemon/logger","github.com/docker/docker/daemon/logger/loggerutils","github.com/docker/go-units","github.com/fluent/fluent-logger-golang/fluent","math","net","strconv","strings","time"]}
,{"name":"github.com/docker/distribution/digest","size":1000,"imports":["crypto","errors","fmt","hash","io","regexp","sort","strings","sync"]}
,{"name":"github.com/docker/docker/migrate/v1","size":1000,"imports":["encoding/json","errors","fmt","github.com/Sirupsen/logrus","github.com/docker/distribution/digest","github.com/docker/docker/distribution/metadata","github.com/docker/docker/image","github.com/docker/docker/image/v1","github.com/docker/docker/layer","github.com/docker/docker/pkg/ioutils","github.com/docker/docker/reference","io/ioutil","os","path/filepath","runtime","strconv","sync","time"]}
,{"name":"github.com/docker/docker/image","size":1000,"imports":["encoding/json","errors","fmt","github.com/Sirupsen/logrus","github.com/docker/distribution/digest","github.com/docker/docker/layer","github.com/docker/docker/pkg/ioutils","github.com/docker/engine-api/types/container","io","io/ioutil","os","path/filepath","sync","time"]}
,{"name":"go/printer","size":1000,"imports":["bytes","fmt","go/ast","go/token","io","os","strconv","strings","text/tabwriter","unicode","unicode/utf8"]}
,{"name":"github.com/vishvananda/netns","size":1000,"imports":["fmt","io/ioutil","os","path/filepath","runtime","strconv","strings","syscall"]}
,{"name":"github.com/docker/libkv/store/boltdb","size":1000,"imports":["bytes","encoding/binary","errors","github.com/boltdb/bolt","github.com/docker/libkv","github.com/docker/libkv/store","os","path/filepath","sync","sync/atomic","time"]}
,{"name":"github.com/godbus/dbus","size":1000,"imports":["bufio","bytes","crypto/rand","crypto/sha1","encoding/binary","encoding/hex","errors","fmt","io","net","os","os/exec","os/user","reflect","sort","strconv","strings","sync","syscall","unicode","unicode/utf8"]}
,{"name":"github.com/opencontainers/runc/libcontainer/selinux","size":1000,"imports":["bufio","crypto/rand","encoding/binary","fmt","github.com/docker/docker/pkg/mount","github.com/opencontainers/runc/libcontainer/system","io","os","path/filepath","regexp","strconv","strings","syscall"]}
,{"name":"github.com/docker/libnetwork/options","size":1000,"imports":["fmt","reflect"]}
,{"name":"github.com/fluent/fluent-logger-golang/fluent","size":1000,"imports":["encoding/json","errors","fmt","github.com/tinylib/msgp/msgp","io","math","net","reflect","strconv","sync","time"]}
,{"name":"github.com/docker/libkv/store/zookeeper","size":1000,"imports":["github.com/docker/libkv","github.com/docker/libkv/store","github.com/samuel/go-zookeeper/zk","strings","time"]}
,{"name":"github.com/hashicorp/memberlist","size":1000,"imports":["bufio","bytes","compress/lzw","crypto/aes","crypto/cipher","crypto/rand","encoding/binary","fmt","github.com/armon/go-metrics","github.com/hashicorp/go-msgpack/codec","io","log","math","math/rand","net","os","sort","strconv","sync","sync/atomic","time"]}
,{"name":"github.com/docker/containerd/api/grpc/types","size":1000,"imports":["fmt","github.com/golang/protobuf/proto","golang.org/x/net/context","google.golang.org/grpc","math"]}
,{"name":"compress/flate","size":1000,"imports":["bufio","fmt","io","math","sort","strconv","sync"]}
,{"name":"runtime/debug","size":1000,"imports":["os","runtime","sort","time"]}
,{"name":"github.com/docker/docker/opts","size":1000,"imports":["fmt","net","net/url","regexp","strconv","strings"]}
,{"name":"github.com/docker/libnetwork/portallocator","size":1000,"imports":["bufio","errors","fmt","net","os","sync"]}
,{"name":"syscall","size":1000,"imports":["internal/race","runtime","sync","unsafe"]}
,{"name":"github.com/docker/libnetwork/discoverapi","size":1000}
,{"name":"internal/singleflight","size":1000,"imports":["sync"]}
,{"name":"google.golang.org/cloud","size":1000,"imports":["golang.org/x/net/context","golang.org/x/oauth2","google.golang.org/cloud/internal","google.golang.org/cloud/internal/opts","google.golang.org/grpc","net/http"]}
,{"name":"github.com/docker/docker/pkg/stringid","size":1000,"imports":["crypto/rand","encoding/hex","github.com/docker/docker/pkg/random","io","regexp","strconv","strings"]}
,{"name":"github.com/docker/docker/pkg/graphdb","size":1000,"imports":["database/sql","fmt","github.com/mattn/go-sqlite3","path","sort","strings","sync"]}
,{"name":"fmt","size":1000,"imports":["errors","io","math","os","reflect","strconv","sync","unicode/utf8"]}
,{"name":"go/format","size":1000,"imports":["bytes","fmt","go/ast","go/parser","go/printer","go/token","io","strings"]}
,{"name":"hash/crc64","size":1000,"imports":["hash"]}
,{"name":"net/http/cookiejar","size":1000,"imports":["errors","fmt","net","net/http","net/url","sort","strings","sync","time","unicode/utf8"]}
,{"name":"github.com/docker/docker/builder/dockerfile/parser","size":1000,"imports":["bufio","encoding/json","errors","fmt","github.com/docker/docker/builder/dockerfile/command","io","regexp","strconv","strings","unicode"]}
,{"name":"github.com/docker/libnetwork/driverapi","size":1000,"imports":["encoding/json","fmt","github.com/docker/libnetwork/discoverapi","github.com/docker/libnetwork/types","net"]}
,{"name":"github.com/docker/libnetwork/portmapper","size":1000,"imports":["errors","flag","fmt","github.com/Sirupsen/logrus","github.com/docker/docker/pkg/proxy","github.com/docker/docker/pkg/reexec","github.com/docker/libnetwork/iptables","github.com/docker/libnetwork/portallocator","io","io/ioutil","log","net","os","os/exec","os/signal","strconv","sync","syscall","time"]}
,{"name":"text/scanner","size":1000,"imports":["bytes","fmt","io","os","unicode","unicode/utf8"]}
,{"name":"container/list","size":1000}
,{"name":"github.com/hashicorp/consul/api","size":1000,"imports":["bytes","crypto/tls","encoding/json","errors","fmt","github.com/hashicorp/go-cleanhttp","github.com/hashicorp/serf/coordinate","io","log","net","net/http","net/url","os","path","strconv","strings","sync","time"]}
,{"name":"google.golang.org/grpc/transport","size":1000,"imports":["bufio","bytes","errors","fmt","golang.org/x/net/context","golang.org/x/net/http2","golang.org/x/net/http2/hpack","golang.org/x/net/trace","google.golang.org/grpc/codes","google.golang.org/grpc/credentials","google.golang.org/grpc/grpclog","google.golang.org/grpc/metadata","google.golang.org/grpc/peer","io","math","net","net/http","strconv","strings","sync","sync/atomic","time"]}
,{"name":"github.com/docker/libnetwork/osl","size":1000,"imports":["bytes","fmt","github.com/Sirupsen/logrus","github.com/docker/docker/pkg/reexec","github.com/docker/libnetwork/ns","github.com/docker/libnetwork/types","github.com/vishvananda/netlink","github.com/vishvananda/netns","net","os","os/exec","regexp","runtime","sync","syscall","time"]}
,{"name":"google.golang.org/grpc/metadata","size":1000,"imports":["encoding/base64","fmt","golang.org/x/net/context","strings"]}
,{"name":"google.golang.org/grpc/codes","size":1000,"imports":["fmt"]}
,{"name":"github.com/samuel/go-zookeeper/zk","size":1000,"imports":["bufio","bytes","crypto/rand","crypto/sha1","encoding/base64","encoding/binary","errors","fmt","io","io/ioutil","log","math/big","math/rand","net","os","os/exec","path/filepath","reflect","regexp","runtime","strconv","strings","sync","sync/atomic","time"]}
,{"name":"github.com/aws/aws-sdk-go/aws/ec2metadata","size":1000,"imports":["github.com/aws/aws-sdk-go/aws","github.com/aws/aws-sdk-go/aws/awserr","github.com/aws/aws-sdk-go/aws/client","github.com/aws/aws-sdk-go/aws/client/metadata","github.com/aws/aws-sdk-go/aws/request","io/ioutil","net/http","path","time"]}
,{"name":"github.com/docker/docker/pkg/parsers/kernel","size":1000,"imports":["bytes","errors","fmt","syscall"]}
,{"name":"unicode/utf8","size":1000}
,{"name":"golang.org/x/net/trace","size":1000,"imports":["bytes","fmt","golang.org/x/net/context","golang.org/x/net/internal/timeseries","html/template","io","log","math","net","net/http","runtime","sort","strconv","strings","sync","sync/atomic","text/tabwriter","time"]}
,{"name":"github.com/docker/docker/image/tarexport","size":1000,"imports":["encoding/json","fmt","github.com/Sirupsen/logrus","github.com/docker/distribution/digest","github.com/docker/docker/image","github.com/docker/docker/image/v1","github.com/docker/docker/layer","github.com/docker/docker/pkg/archive","github.com/docker/docker/pkg/chrootarchive","github.com/docker/docker/pkg/progress","github.com/docker/docker/pkg/streamformatter","github.com/docker/docker/pkg/stringid","github.com/docker/docker/pkg/symlink","github.com/docker/docker/pkg/system","github.com/docker/docker/reference","io","io/ioutil","os","path/filepath","reflect","time"]}
,{"name":"regexp","size":1000,"imports":["bytes","io","regexp/syntax","sort","strconv","strings","sync","unicode","unicode/utf8"]}
,{"name":"github.com/docker/docker/runconfig/opts","size":1000,"imports":["bufio","bytes","encoding/json","fmt","github.com/docker/docker/opts","github.com/docker/docker/pkg/mflag","github.com/docker/docker/pkg/mount","github.com/docker/docker/pkg/signal","github.com/docker/engine-api/types/blkiodev","github.com/docker/engine-api/types/container","github.com/docker/engine-api/types/network","github.com/docker/engine-api/types/strslice","github.com/docker/go-connections/nat","github.com/docker/go-units","io/ioutil","net","os","path","strconv","strings"]}
,{"name":"github.com/docker/distribution/registry/storage/cache","size":1000,"imports":["fmt","github.com/docker/distribution","github.com/docker/distribution/context","github.com/docker/distribution/digest"]}
,{"name":"crypto/md5","size":1000,"imports":["crypto","hash","runtime","unsafe"]}
,{"name":"github.com/docker/docker/daemon/graphdriver/devmapper","size":1000,"imports":["bufio","bytes","encoding/json","errors","fmt","github.com/Sirupsen/logrus","github.com/docker/docker/daemon/graphdriver","github.com/docker/docker/dockerversion","github.com/docker/docker/pkg/devicemapper","github.com/docker/docker/pkg/idtools","github.com/docker/docker/pkg/loopback","github.com/docker/docker/pkg/mount","github.com/docker/docker/pkg/parsers","github.com/docker/go-units","github.com/opencontainers/runc/libcontainer/label","io","io/ioutil","os","os/exec","path","path/filepath","strconv","strings","sync","syscall","time"]}
,{"name":"github.com/golang/protobuf/proto","size":1000,"imports":["bufio","bytes","encoding","encoding/json","errors","fmt","io","log","math","os","reflect","sort","strconv","strings","sync","unicode/utf8","unsafe"]}
,{"name":"crypto/rc4","size":1000,"imports":["strconv"]}
,{"name":"io","size":1000,"imports":["errors","sync"]}
,{"name":"github.com/docker/docker/runconfig","size":1000,"imports":["encoding/json","fmt","github.com/docker/docker/pkg/broadcaster","github.com/docker/docker/pkg/ioutils","github.com/docker/docker/volume","github.com/docker/engine-api/types/container","github.com/docker/engine-api/types/network","io","io/ioutil","runtime","strings","sync"]}
,{"name":"net/url","size":1000,"imports":["bytes","errors","fmt","sort","strconv","strings"]}
,{"name":"html","size":1000,"imports":["strings","unicode/utf8"]}
,{"name":"crypto/hmac","size":1000,"imports":["crypto/subtle","hash"]}
,{"name":"github.com/vbatts/tar-split/archive/tar","size":1000,"imports":["bytes","errors","fmt","io","io/ioutil","math","os","path","sort","strconv","strings","syscall","time"]}
,{"name":"database/sql","size":1000,"imports":["database/sql/driver","errors","fmt","io","reflect","runtime","sort","strconv","sync","sync/atomic","time"]}
,{"name":"sort","size":1000}
,{"name":"github.com/docker/docker/pkg/jsonmessage","size":1000,"imports":["encoding/json","fmt","github.com/docker/docker/pkg/jsonlog","github.com/docker/docker/pkg/term","github.com/docker/go-units","io","strings","time"]}
,{"name":"crypto/elliptic","size":1000,"imports":["io","math/big","sync"]}
,{"name":"runtime/internal/sys","size":1000}
,{"name":"github.com/aws/aws-sdk-go/private/protocol/jsonrpc","size":1000,"imports":["encoding/json","github.com/aws/aws-sdk-go/aws/awserr","github.com/aws/aws-sdk-go/aws/request","github.com/aws/aws-sdk-go/private/protocol/json/jsonutil","github.com/aws/aws-sdk-go/private/protocol/rest","io/ioutil","strings"]}
,{"name":"unicode","size":1000}
,{"name":"github.com/docker/libnetwork/ipams/remote","size":1000,"imports":["fmt","github.com/Sirupsen/logrus","github.com/docker/docker/pkg/plugins","github.com/docker/libnetwork/ipamapi","github.com/docker/libnetwork/ipams/remote/api","github.com/docker/libnetwork/types","net"]}
,{"name":"github.com/Graylog2/go-gelf/gelf","size":1000,"imports":["bytes","compress/flate","compress/gzip","compress/zlib","crypto/rand","encoding/json","fmt","io","net","os","path","runtime","strings","sync","time"]}
,{"name":"os","size":1000,"imports":["errors","io","runtime","sync","sync/atomic","syscall","time"]}
,{"name":"golang.org/x/oauth2/internal","size":1000,"imports":["bufio","crypto/rsa","crypto/x509","encoding/json","encoding/pem","errors","fmt","golang.org/x/net/context","io","io/ioutil","mime","net/http","net/url","strconv","strings","time"]}
,{"name":"github.com/gorilla/mux","size":1000,"imports":["bytes","errors","fmt","github.com/gorilla/context","net/http","net/url","path","regexp","strings"]}
,{"name":"github.com/docker/docker/pkg/directory","size":1000,"imports":["io/ioutil","os","path/filepath","syscall"]}
,{"name":"github.com/docker/libnetwork/iptables","size":1000,"imports":["errors","fmt","github.com/Sirupsen/logrus","github.com/godbus/dbus","net","os/exec","strconv","strings","sync"]}
,{"name":"encoding/pem","size":1000,"imports":["bytes","encoding/base64","errors","io","sort","strings"]}
,{"name":"github.com/aws/aws-sdk-go/private/endpoints","size":1000,"imports":["fmt","regexp","strings"]}
,{"name":"google.golang.org/api/googleapi","size":1000,"imports":["bytes","encoding/json","fmt","google.golang.org/api/googleapi/internal/uritemplates","io","io/ioutil","net/http","net/url","strconv","strings"]}
,{"name":"encoding/gob","size":1000,"imports":["bufio","encoding","errors","fmt","io","math","os","reflect","sync","sync/atomic","unicode","unicode/utf8"]}
,{"name":"github.com/aws/aws-sdk-go/private/signer/v4","size":1000,"imports":["crypto/hmac","crypto/sha256","encoding/hex","fmt","github.com/aws/aws-sdk-go/aws","github.com/aws/aws-sdk-go/aws/credentials","github.com/aws/aws-sdk-go/aws/request","github.com/aws/aws-sdk-go/private/protocol/rest","io","net/http","net/url","sort","strconv","strings","time"]}
,{"name":"github.com/philhofer/fwd","size":1000,"imports":["io","reflect","unsafe"]}
,{"name":"hash","size":1000,"imports":["io"]}
,{"name":"github.com/pborman/uuid","size":1000,"imports":["bytes","crypto/md5","crypto/rand","crypto/sha1","encoding/binary","errors","fmt","hash","io","net","os","strings","sync","time"]}
,{"name":"encoding/base64","size":1000,"imports":["io","strconv"]}
,{"name":"github.com/docker/docker/pkg/promise","size":1000}
,{"name":"github.com/docker/docker/daemon/exec","size":1000,"imports":["github.com/docker/docker/pkg/stringid","github.com/docker/docker/runconfig","sync"]}
,{"name":"google.golang.org/cloud/internal","size":1000,"imports":["fmt","golang.org/x/net/context","net/http","sync"]}
,{"name":"github.com/aws/aws-sdk-go/aws/corehandlers","size":1000,"imports":["bytes","fmt","github.com/aws/aws-sdk-go/aws","github.com/aws/aws-sdk-go/aws/awserr","github.com/aws/aws-sdk-go/aws/request","io","io/ioutil","net/http","net/url","reflect","regexp","runtime","strconv","strings"]}
,{"name":"text/template","size":1000,"imports":["bytes","errors","fmt","io","io/ioutil","net/url","path/filepath","reflect","runtime","sort","strings","sync","text/template/parse","unicode","unicode/utf8"]}
,{"name":"github.com/docker/distribution/registry/client/auth","size":1000,"imports":["encoding/json","errors","fmt","github.com/Sirupsen/logrus","github.com/docker/distribution/registry/client","github.com/docker/distribution/registry/client/transport","net/http","net/url","strings","sync","time"]}
,{"name":"github.com/docker/libkv/store/consul","size":1000,"imports":["crypto/tls","errors","github.com/docker/libkv","github.com/docker/libkv/store","github.com/hashicorp/consul/api","net/http","strings","sync","time"]}
,{"name":"github.com/deckarep/golang-set","size":1000,"imports":["fmt","reflect","strings","sync"]}
,{"name":"github.com/docker/distribution/registry/client/transport","size":1000,"imports":["errors","fmt","io","net/http","os","regexp","strconv","sync"]}
,{"name":"github.com/docker/docker/pkg/filenotify","size":1000,"imports":["errors","fmt","github.com/Sirupsen/logrus","gopkg.in/fsnotify.v1","os","sync","time"]}
,{"name":"github.com/docker/docker/pkg/platform","size":1000,"imports":["github.com/Sirupsen/logrus","runtime","syscall"]}
,{"name":"github.com/docker/docker/utils","size":1000,"imports":["fmt","github.com/Sirupsen/logrus","github.com/docker/docker/pkg/archive","github.com/docker/docker/pkg/stringid","io/ioutil","os","regexp","runtime","strings","syscall"]}
,{"name":"github.com/coreos/go-systemd/journal","size":1000,"imports":["bytes","encoding/binary","errors","fmt","io","io/ioutil","net","os","strconv","strings","syscall"]}
,{"name":"crypto","size":1000,"imports":["hash","io","strconv"]}
,{"name":"github.com/hashicorp/serf/serf","size":1000,"imports":["bufio","bytes","encoding/base64","encoding/json","errors","fmt","github.com/armon/go-metrics","github.com/hashicorp/go-msgpack/codec","github.com/hashicorp/memberlist","github.com/hashicorp/serf/coordinate","io","io/ioutil","log","math","math/rand","net","os","regexp","strconv","strings","sync","sync/atomic","time"]}
,{"name":"github.com/vbatts/tar-split/tar/storage","size":1000,"imports":["bytes","encoding/json","errors","hash/crc64","io","os","path/filepath","unicode/utf8"]}
,{"name":"github.com/docker/engine-api/types/strslice","size":1000,"imports":["encoding/json"]}
,{"name":"github.com/mattn/go-shellwords","size":1000,"imports":["errors","os","os/exec","regexp","strings"]}
,{"name":"github.com/coreos/etcd/pkg/pathutil","size":1000,"imports":["path"]}
,{"name":"crypto/rsa","size":1000,"imports":["bytes","crypto","crypto/rand","crypto/subtle","errors","hash","io","math/big"]}
,{"name":"github.com/docker/go-connections/sockets","size":1000,"imports":["crypto/tls","errors","fmt","github.com/Sirupsen/logrus","github.com/opencontainers/runc/libcontainer/user","golang.org/x/net/proxy","net","net/http","net/url","os","strconv","strings","sync","syscall","time"]}
,{"name":"crypto/ecdsa","size":1000,"imports":["crypto","crypto/aes","crypto/cipher","crypto/elliptic","crypto/sha512","encoding/asn1","errors","io","math/big"]}
,{"name":"github.com/docker/docker/builder/dockerfile","size":1000,"imports":["bytes","crypto/sha256","encoding/hex","errors","fmt","github.com/Sirupsen/logrus","github.com/docker/docker/api","github.com/docker/docker/api/types/backend","github.com/docker/docker/builder","github.com/docker/docker/builder/dockerfile/command","github.com/docker/docker/builder/dockerfile/parser","github.com/docker/docker/image","github.com/docker/docker/pkg/archive","github.com/docker/docker/pkg/httputils","github.com/docker/docker/pkg/ioutils","github.com/docker/docker/pkg/jsonmessage","github.com/docker/docker/pkg/progress","github.com/docker/docker/pkg/signal","github.com/docker/docker/pkg/streamformatter","github.com/docker/docker/pkg/stringid","github.com/docker/docker/pkg/system","github.com/docker/docker/pkg/tarsum","github.com/docker/docker/pkg/urlutil","github.com/docker/docker/reference","github.com/docker/docker/runconfig/opts","github.com/docker/engine-api/types","github.com/docker/engine-api/types/container","github.com/docker/engine-api/types/strslice","github.com/docker/go-connections/nat","golang.org/x/net/context","io","io/ioutil","net/http","net/url","os","path/filepath","regexp","runtime","sort","strings","sync","text/scanner","time","unicode"]}
,{"name":"github.com/docker/docker/pkg/idtools","size":1000,"imports":["bufio","fmt","github.com/docker/docker/pkg/system","os","os/exec","path/filepath","regexp","sort","strconv","strings","sync"]}
,{"name":"google.golang.org/grpc","size":1000,"imports":["bytes","compress/gzip","container/list","encoding/binary","errors","fmt","github.com/golang/protobuf/proto","golang.org/x/net/context","golang.org/x/net/http2","golang.org/x/net/trace","google.golang.org/grpc/codes","google.golang.org/grpc/credentials","google.golang.org/grpc/grpclog","google.golang.org/grpc/internal","google.golang.org/grpc/metadata","google.golang.org/grpc/naming","google.golang.org/grpc/transport","io","io/ioutil","math","math/rand","net","net/http","os","reflect","runtime","strings","sync","time"]}
,{"name":"archive/tar","size":1000,"imports":["bytes","errors","fmt","io","io/ioutil","math","os","path","sort","strconv","strings","syscall","time"]}
,{"name":"github.com/coreos/go-systemd/dbus","size":1000,"imports":["errors","fmt","github.com/godbus/dbus","os","path","strconv","strings","sync","time"]}
,{"name":"google.golang.org/grpc/naming","size":1000}
,{"name":"golang.org/x/net/internal/timeseries","size":1000,"imports":["fmt","log","time"]}
,{"name":"github.com/docker/docker/pkg/locker","size":1000,"imports":["errors","sync","sync/atomic"]}
,{"name":"github.com/opencontainers/specs/specs-go","size":1000,"imports":["fmt","os"]}
,{"name":"github.com/docker/docker/daemon/logger/journald","size":1000,"imports":["fmt","github.com/Sirupsen/logrus","github.com/coreos/go-systemd/journal","github.com/docker/docker/daemon/logger","github.com/docker/docker/daemon/logger/loggerutils","strings","sync"]}
,{"name":"go/ast","size":1000,"imports":["bytes","fmt","go/scanner","go/token","io","os","reflect","sort","strconv","strings","unicode","unicode/utf8"]}
,{"name":"crypto/rand","size":1000,"imports":["bufio","crypto/aes","crypto/cipher","errors","internal/syscall/unix","io","math/big","os","runtime","sync","syscall","time"]}
,{"name":"github.com/docker/libnetwork/drivers/host","size":1000,"imports":["github.com/docker/libnetwork/datastore","github.com/docker/libnetwork/discoverapi","github.com/docker/libnetwork/driverapi","github.com/docker/libnetwork/types","sync"]}
,{"name":"crypto/sha256","size":1000,"imports":["crypto","hash"]}
,{"name":"github.com/docker/engine-api/types/versions/v1p19","size":1000,"imports":["github.com/docker/engine-api/types","github.com/docker/engine-api/types/container","github.com/docker/engine-api/types/versions/v1p20","github.com/docker/go-connections/nat"]}
,{"name":"github.com/docker/docker/volume","size":1000,"imports":["fmt","github.com/docker/docker/pkg/stringid","github.com/docker/docker/pkg/system","os","path/filepath","strings"]}
,{"name":"golang.org/x/net/http2","size":1000,"imports":["bufio","bytes","compress/gzip","crypto/tls","encoding/binary","errors","fmt","golang.org/x/net/http2/hpack","io","io/ioutil","log","net","net/http","net/textproto","net/url","os","reflect","runtime","sort","strconv","strings","sync","time"]}
,{"name":"github.com/docker/go-connections/nat","size":1000,"imports":["fmt","net","sort","strconv","strings"]}
]
<!DOCTYPE html>
<meta charset="utf-8">
<style>
.node {
font: 300 11px "Helvetica Neue", Helvetica, Arial, sans-serif;
fill: #bbb;
}
.node:hover {
fill: #000;
}
.link {
stroke: steelblue;
stroke-opacity: .4;
fill: none;
pointer-events: none;
}
.node:hover,
.node--source,
.node--target {
font-weight: 700;
}
.node--source {
fill: #2ca02c;
}
.node--target {
fill: #d62728;
}
.link--source,
.link--target {
stroke-opacity: 1;
stroke-width: 2px;
}
.link--source {
stroke: #d62728;
}
.link--target {
stroke: #2ca02c;
}
</style>
<body>
<script src="http://d3js.org/d3.v3.min.js"></script>
<script>
var diameter = 960,
radius = diameter / 2,
innerRadius = radius - 120;
var cluster = d3.layout.cluster()
.size([360, innerRadius])
.sort(null)
.value(function(d) { return d.size; });
var bundle = d3.layout.bundle();
var line = d3.svg.line.radial()
.interpolate("bundle")
.tension(.85)
.radius(function(d) { return d.y; })
.angle(function(d) { return d.x / 180 * Math.PI; });
var svg = d3.select("body").append("svg")
.attr("width", diameter)
.attr("height", diameter)
.append("g")
.attr("transform", "translate(" + radius + "," + radius + ")");
var link = svg.append("g").selectAll(".link"),
node = svg.append("g").selectAll(".node");
d3.json("imports.json", function(error, classes) {
var nodes = cluster.nodes(packageHierarchy(classes)),
links = packageImports(nodes);
link = link
.data(bundle(links))
.enter().append("path")
.each(function(d) { d.source = d[0], d.target = d[d.length - 1]; })
.attr("class", "link")
.attr("d", line);
node = node
.data(nodes.filter(function(n) { return !n.children; }))
.enter().append("text")
.attr("class", "node")
.attr("dy", ".31em")
.attr("transform", function(d) { return "rotate(" + (d.x - 90) + ")translate(" + (d.y + 8) + ",0)" + (d.x < 180 ? "" : "rotate(180)"); })
.style("text-anchor", function(d) { return d.x < 180 ? "start" : "end"; })
.text(function(d) { return d.key; })
.on("mouseover", mouseovered)
.on("mouseout", mouseouted);
});
function mouseovered(d) {
node
.each(function(n) { n.target = n.source = false; });
link
.classed("link--target", function(l) { if (l.target === d) return l.source.source = true; })
.classed("link--source", function(l) { if (l.source === d) return l.target.target = true; })
.filter(function(l) { return l.target === d || l.source === d; })
.each(function() { this.parentNode.appendChild(this); });
node
.classed("node--target", function(n) { return n.target; })
.classed("node--source", function(n) { return n.source; });
}
function mouseouted(d) {
link
.classed("link--target", false)
.classed("link--source", false);
node
.classed("node--target", false)
.classed("node--source", false);
}
d3.select(self.frameElement).style("height", diameter + "px");
// Lazily construct the package hierarchy from class names.
function packageHierarchy(classes) {
var map = {};
function find(name, data) {
var node = map[name], i;
if (!node) {
node = map[name] = data || {name: name, children: []};
if (name.length) {
node.parent = find(name.substring(0, i = name.lastIndexOf(".")));
node.parent.children.push(node);
node.key = name.substring(i + 1);
}
}
return node;
}
classes.forEach(function(d) {
find(d.name, d);
});
return map[""];
}
// Return a list of imports for the given array of nodes.
function packageImports(nodes) {
var map = {},
imports = [];
// Compute a map from name to node.
nodes.forEach(function(d) {
map[d.name] = d;
});
// For each import, construct a link from the source to target node.
nodes.forEach(function(d) {
if (d.imports) d.imports.forEach(function(i) {
imports.push({source: map[d.name], target: map[i]});
});
});
return imports;
}
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment