Skip to content

Instantly share code, notes, and snippets.

@dims
Last active February 11, 2026 18:19
Show Gist options
  • Select an option

  • Save dims/be341508bb077b30cfb38b6e45a7eac9 to your computer and use it in GitHub Desktop.

Select an option

Save dims/be341508bb077b30cfb38b6e45a7eac9 to your computer and use it in GitHub Desktop.
Containerd Dependency Analysis (v2.2.1) -- depstat

Containerd Dependency Analysis Report

Project: containerd (main branch, commit 35871e04a) Modules: 2 Go modules (github.com/containerd/containerd/v2 + github.com/containerd/containerd/api) Analysis date: February 11, 2026 Tool: depstat (built from source)


1. Executive Summary

Containerd is a CNCF graduated container runtime with a 2-module repository (main + api). This analysis uses depstat to profile dependency scope, depth, cycles, archived dependencies, and version-to-version change trends.

Key Findings

Metric Value
Direct dependencies 152
Transitive dependencies 270
Total dependencies 293
Max dependency depth 11
Non-test dependencies 243
Test-only dependencies 50
Dependency cycles 18 (11 two-node)
Archived dependencies 14

Headlines

  • Broad dependency surface. 293 total dependencies with 152 direct deps reflects containerd's role as an integration point for container ecosystem components (OCI, CRI, CNI, Windows HCS, encryption, NRI, etc.).
  • Moderate cycle count. 18 cycles with 3 containerd-internal (hcsshim, imgcrypt, zfs mutually depend on containerd/v2), plus external OTel, protobuf, and gRPC cycles.
  • Dependency diet from v2.1.0 to v2.2.1. Net reduction of 23 deps (37 removed, 14 added), notably dropping the entire etcd client stack and legacy gRPC middleware.
  • 14 archived dependenciespkg/errors, json-iterator/go, opencensus, golang/mock, and Windows-specific StackExchange/wmi are priorities for replacement.

2. Module Architecture

Containerd uses a 2-module repository (no go.work):

github.com/containerd/containerd/
├── go.mod     -> github.com/containerd/containerd/v2
└── api/go.mod -> github.com/containerd/containerd/api

The main module containerd/v2 has 153 outgoing edges — the largest fan-out node in the graph. It directly depends on a wide array of containerd sub-projects, OCI components, Kubernetes CRI/kubelet APIs, and platform-specific backends (HCS for Windows, ZFS, etc.).

The api module is a lightweight protobuf/gRPC definitions module depended on by the main module.


3. Dependency Statistics

Metric Value
Direct Dependencies 152
Transitive Dependencies 270
Total (deduplicated) 293
Max Dependency Depth 11

Test vs Non-Test Split

Category Count
Non-test 243
Test-only 50
Combined 293

4. Graph Characteristics

Top In-Degree Dependencies (most depended upon)

Rank Module In-Degree Out-Degree
1 go (stdlib) 70 0
2 golang.org/x/sys 65 1
3 github.com/davecgh/go-spew 37 0
4 github.com/stretchr/testify 37 4
5 google.golang.org/protobuf 37 3
6 gopkg.in/yaml.v3 37 1
7 github.com/pmezard/go-difflib 33 0
8 golang.org/x/net 31 5
9 github.com/google/go-cmp 29 1
10 golang.org/x/text 26 4

Top Out-Degree Modules (most fan-out)

Rank Module Out-Degree In-Degree
1 github.com/containerd/containerd/v2 153 3
2 github.com/Microsoft/hcsshim 114 4
3 github.com/containerd/imgcrypt/v2 58 1
4 k8s.io/client-go 54 1
5 github.com/containernetworking/plugins 48 1
6 github.com/intel/goresctrl 46 1
7 k8s.io/apimachinery 43 4
8 github.com/containerd/zfs/v2 35 1
9 google.golang.org/grpc 35 22
10 github.com/containerd/nri 32 1

Figure 1. Full dependency graph:

Full dependency graph


5. Cycles

Metric Value
Total cycles 18
2-node cycles 11

Two-Node Cycles

Cycle Nature
Microsoft/hcsshimcontainerd/containerd/v2 Internal (Windows backend)
containerd/containerd/v2containerd/imgcrypt/v2 Internal (encryption plugin)
containerd/containerd/v2containerd/zfs/v2 Internal (ZFS snapshotter)
golang/protobufgoogle.golang.org/protobuf External (protobuf)
prometheus/client_golangprometheus/common External (Prometheus)
stretchr/objxstretchr/testify External (testing)
opentelemetry.io/auto/sdkopentelemetry.io/otel External (OTel)
opentelemetry.io/otelopentelemetry.io/otel/metric External (OTel)
opentelemetry.io/otelopentelemetry.io/otel/trace External (OTel)
golang.org/x/cryptogolang.org/x/net External (Go stdlib)
genproto/googleapis/apigoogle.golang.org/grpc External (gRPC)

Top Cycle Participants

Module Cycle Count
go.opentelemetry.io/otel 7
github.com/containerd/containerd/v2 6
github.com/Microsoft/hcsshim 4
go.opentelemetry.io/auto/sdk 4
go.opentelemetry.io/otel/metric 4

3 cycles are containerd-internal (hcsshim, imgcrypt, zfs all mutually depend on containerd/v2). The remainder are external ecosystem cycles.


6. Archived Dependencies

14 archived dependencies detected:

Module Version Repository
StackExchange/wmi v0.0.0-2019... GitHub
census-instrumentation/opencensus-proto v0.2.1 GitHub
client9/misspell v0.3.4 GitHub
golang/mock v1.1.1 GitHub
google/btree v1.1.3 GitHub
google/gofuzz v1.2.0 GitHub
gregjones/httpcache v0.0.0-2019... GitHub
json-iterator/go v1.1.12 GitHub
mitchellh/go-homedir v1.1.0 GitHub
mndrix/tap-go v0.0.0-2017... GitHub
pkg/errors v0.9.1 GitHub
rcrowley/go-metrics v0.0.0-2020... GitHub
go.opencensus.io v0.24.0 GitHub
golang/lint v0.0.0-2019... GitHub

Priority replacements:

  • pkg/errors → stdlib errors/fmt.Errorf with %w
  • json-iterator/goencoding/json or go-json
  • opencensus → already being superseded by OTel
  • golang/mockgo.uber.org/mock
  • StackExchange/wmigithub.com/yusufpapurcu/wmi (maintained fork, used by hcsshim)
  • google/gofuzzsigs.k8s.io/randfill (already added in v2.2.1)

7. Release Diff: v2.1.0 → v2.2.1

Summary

Metric v2.1.0 v2.2.1 Delta
Direct Deps 144 152 +8
Transitive Deps 290 264 -26
Total Deps 309 286 -23
Max Depth 11 11 ±0

Module graph: +14 added, -37 removed, ~82 version changes

Major Removals (37 deps removed)

  • Etcd client stack removedgo.etcd.io/etcd/api/v3, client/pkg/v3, client/v2, client/v3, pkg/v3, raft/v3, server/v3 (7 etcd modules)
  • Legacy gRPC ecosystemgrpc-ecosystem/go-grpc-middleware v1, go-grpc-prometheus, grpc-gateway v1
  • Auth/OIDC stackcoreos/go-oidc, pquerna/cachecontrol
  • Misccontainerd/containerd v1 (self-reference), syndtr/gocapability (replaced by moby/sys/capability)

Major Additions (14 deps added)

  • Wasm runtimetetratelabs/wazero (WebAssembly support)
  • Plugin systemknqyf263/go-plugin (Go plugin framework)
  • Securitycyphar/filepath-securejoin, google/certtostore
  • K8s modernizationsigs.k8s.io/randfill, sigs.k8s.io/structured-merge-diff/v6
  • Platformmoby/sys/capability (replaces syndtr/gocapability)

Figure 2. Diff graph (v2.1.0 → v2.2.1):

Diff v2.1.0 to v2.2.1


8. Why-Traces (Key Dependencies)

gRPC (google.golang.org/grpc)

Directly depended on by 23 modules (2 containerd + 21 external).

Core RPC transport for containerd's plugin architecture (ttrpc/gRPC), CRI API, and image services. Both containerd/v2 and containerd/api directly depend on gRPC.

Figure 3. Why-trace for gRPC:

Why gRPC

OpenTelemetry (go.opentelemetry.io/otel)

Directly depended on by 16 modules (1 containerd + 15 external).

Distributed tracing for containerd operations. Only containerd/v2 directly depends on OTel; it also enters via hcsshim, imgcrypt, and gRPC instrumentation.

Figure 4. OTel dependency subgraph:

Why OTel

bbolt (go.etcd.io/bbolt)

Directly depended on by 4 modules: containerd/v2, Microsoft/hcsshim, containerd/zfs/v2, k8s.io/apiserver.

Used for metadata storage. Enters via direct dependency and also through hcsshim and the k8s apiserver stack.

Figure 5. Why-trace for bbolt:

Why bbolt

Prometheus (github.com/prometheus/client_golang)

Directly depended on by 8 modules (1 containerd + 7 external).

Metrics instrumentation. Containerd/v2 directly depends on it; also enters via hcsshim, docker/go-metrics, intel/goresctrl, k8s apiserver/kubelet.

Figure 6. Why-trace for Prometheus client:

Why Prometheus

errdefs (github.com/containerd/errdefs)

Directly depended on by 6 modules (1 containerd + 5 external).

Containerd's error classification library, used by containerd/v2, hcsshim, imgcrypt, zfs, containernetworking/plugins, and errdefs/pkg.

Figure 7. Why-trace for errdefs:

Why errdefs

OCI runtime-spec (github.com/opencontainers/runtime-spec)

Directly depended on by 10 modules (1 containerd + 9 external).

Core OCI runtime specification. Enters through cgroups, go-runc, hcsshim, nri, imgcrypt, intel/goresctrl, and more.

Figure 8. Why-trace for runtime-spec:

Why runtime-spec


9. Recommendations

  1. Replace archived dependencies — prioritize pkg/errors, json-iterator/go, opencensus, and golang/mock (see Section 6).
  2. Address internal cycles — the 3 containerd-internal cycles (hcsshim ↔ containerd, imgcrypt ↔ containerd, zfs ↔ containerd) increase build complexity. Consider extracting shared interfaces to break these cycles.
  3. Track hcsshim fan-outMicrosoft/hcsshim has 114 outgoing edges and is the second-largest dependency node. It brings in significant transitive weight.
  4. Continue etcd removal — v2.2.1 removed the etcd client stack. Verify no residual etcd dependencies remain in transitive paths.
  5. Monitor test-only deps — 50 test-only dependencies is notable; periodic pruning can reduce CI complexity.

10. Reproducibility

All commands run with -d /path/to/containerd:

# Stats
depstat stats --json -d /path/to/containerd
depstat stats --split-test-only --json -d /path/to/containerd

# Graph
depstat graph --svg -d /path/to/containerd > containerd-full-graph.svg
depstat graph --top both -d /path/to/containerd

# Cycles
depstat cycles --summary --json -d /path/to/containerd

# Archived
GITHUB_TOKEN=$(gh auth token) depstat archived --json -d /path/to/containerd

# Diff
depstat diff v2.1.0 v2.2.1 --verbose -d /path/to/containerd
depstat diff v2.1.0 v2.2.1 --svg -d /path/to/containerd > containerd-diff-v21-v221.svg

# Why-traces
depstat why google.golang.org/grpc --svg -d /path/to/containerd > containerd-why-grpc.svg
depstat graph -p go.opentelemetry.io/otel --svg -d /path/to/containerd > containerd-why-otel.svg
depstat why go.etcd.io/bbolt --svg -d /path/to/containerd > containerd-why-bbolt.svg
depstat why github.com/prometheus/client_golang --svg --max-paths 50 -d /path/to/containerd > containerd-why-client_golang.svg
depstat why github.com/containerd/errdefs --svg -d /path/to/containerd > containerd-why-errdefs.svg
depstat why github.com/opencontainers/runtime-spec --svg -d /path/to/containerd > containerd-why-runtime-spec.svg
Display the source blob
Display the rendered blob
Raw
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 13.1.0 (20250701.0955)
-->
<!-- Pages: 1 -->
<svg width="1518pt" height="6071pt"
viewBox="0.00 0.00 1518.00 6071.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 6066.75)">
<polygon fill="white" stroke="none" points="-4,4 -4,-6066.75 1513.5,-6066.75 1513.5,4 -4,4"/>
<text xml:space="preserve" text-anchor="middle" x="754.75" y="-6043.55" font-family="Times,serif" font-size="16.00">Dependency Diff: v2.1.0..v2.2.1</text>
<!-- cel.dev/expr -->
<g id="node1" class="node">
<title>cel.dev/expr</title>
<polygon fill="#ffffcc" stroke="black" points="236.5,-981 138.75,-981 138.75,-945 236.5,-945 236.5,-981"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-966.05" font-family="Times,serif" font-size="11.00">cel.dev/expr</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-952.55" font-family="Times,serif" font-size="11.00">v0.20.0 → v0.24.0</text>
</g>
<!-- dario.cat/mergo -->
<g id="node2" class="node">
<title>dario.cat/mergo</title>
<polygon fill="#ffffcc" stroke="black" points="231.25,-1035 144,-1035 144,-999 231.25,-999 231.25,-1035"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-1020.05" font-family="Times,serif" font-size="11.00">dario.cat/mergo</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-1006.55" font-family="Times,serif" font-size="11.00">v1.0.1 → v1.0.2</text>
</g>
<!-- gopkg.in/yaml.v3 -->
<g id="node145" class="node">
<title>gopkg.in/yaml.v3</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="652.25,-1035 560.5,-1035 560.5,-999 652.25,-999 652.25,-1035"/>
<text xml:space="preserve" text-anchor="middle" x="606.38" y="-1013.3" font-family="Times,serif" font-size="11.00">gopkg.in/yaml.v3</text>
</g>
<!-- dario.cat/mergo&#45;&gt;gopkg.in/yaml.v3 -->
<g id="edge1" class="edge">
<title>dario.cat/mergo&#45;&gt;gopkg.in/yaml.v3</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M231.65,-1017C307.33,-1017 464.21,-1017 548.64,-1017"/>
<polygon fill="red" stroke="red" points="548.55,-1020.5 558.55,-1017 548.55,-1013.5 548.55,-1020.5"/>
</g>
<!-- github.com/BurntSushi/toml -->
<g id="node3" class="node">
<title>github.com/BurntSushi/toml</title>
<polygon fill="#ffffcc" stroke="black" points="257.12,-1153 118.12,-1153 118.12,-1117 257.12,-1117 257.12,-1153"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-1138.05" font-family="Times,serif" font-size="11.00">github.com/BurntSushi/toml</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-1124.55" font-family="Times,serif" font-size="11.00">v1.4.0 → v1.5.0</text>
</g>
<!-- github.com/GoogleCloudPlatform/opentelemetry&#45;operations&#45;go/detectors/gcp -->
<g id="node4" class="node">
<title>github.com/GoogleCloudPlatform/opentelemetry&#45;operations&#45;go/detectors/gcp</title>
<polygon fill="#ffffcc" stroke="black" points="365.88,-1335 9.38,-1335 9.38,-1299 365.88,-1299 365.88,-1335"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-1320.05" font-family="Times,serif" font-size="11.00">github.com/GoogleCloudPlatform/opentelemetry&#45;operations&#45;go/detectors/gcp</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-1306.55" font-family="Times,serif" font-size="11.00">v1.26.0 → v1.29.0</text>
</g>
<!-- github.com/Masterminds/semver/v3 -->
<g id="node5" class="node">
<title>github.com/Masterminds/semver/v3</title>
<polygon fill="#ccffcc" stroke="black" points="274.75,-1645 100.5,-1645 100.5,-1609 274.75,-1609 274.75,-1645"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-1623.3" font-family="Times,serif" font-size="11.00">github.com/Masterminds/semver/v3</text>
</g>
<!-- github.com/Microsoft/hcsshim -->
<g id="node6" class="node">
<title>github.com/Microsoft/hcsshim</title>
<polygon fill="#ffffcc" stroke="black" points="681.5,-3930 531.25,-3930 531.25,-3894 681.5,-3894 681.5,-3930"/>
<text xml:space="preserve" text-anchor="middle" x="606.38" y="-3915.05" font-family="Times,serif" font-size="11.00">github.com/Microsoft/hcsshim</text>
<text xml:space="preserve" text-anchor="middle" x="606.38" y="-3901.55" font-family="Times,serif" font-size="11.00">v0.13.0&#45;rc.3 → v0.14.0&#45;rc.1</text>
</g>
<!-- github.com/containerd/containerd -->
<g id="node16" class="node">
<title>github.com/containerd/containerd</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1105.5,-3984 941.75,-3984 941.75,-3948 1105.5,-3948 1105.5,-3984"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-3962.3" font-family="Times,serif" font-size="11.00">github.com/containerd/containerd</text>
</g>
<!-- github.com/Microsoft/hcsshim&#45;&gt;github.com/containerd/containerd -->
<g id="edge2" class="edge">
<title>github.com/Microsoft/hcsshim&#45;&gt;github.com/containerd/containerd</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M681.61,-3921.65C751.18,-3930.7 855.38,-3944.25 930.28,-3953.99"/>
<polygon fill="red" stroke="red" points="929.71,-3957.45 940.08,-3955.27 930.61,-3950.5 929.71,-3957.45"/>
</g>
<!-- github.com/containerd/containerd/v2 -->
<g id="node18" class="node">
<title>github.com/containerd/containerd/v2</title>
<polygon fill="#ccffcc" stroke="black" points="1112.25,-3930 935,-3930 935,-3894 1112.25,-3894 1112.25,-3930"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-3908.3" font-family="Times,serif" font-size="11.00">github.com/containerd/containerd/v2</text>
</g>
<!-- github.com/Microsoft/hcsshim&#45;&gt;github.com/containerd/containerd/v2 -->
<g id="edge77" class="edge">
<title>github.com/Microsoft/hcsshim&#45;&gt;github.com/containerd/containerd/v2</title>
<path fill="none" stroke="green" stroke-width="2" d="M681.61,-3912C749.07,-3912 849.1,-3912 923.39,-3912"/>
<polygon fill="green" stroke="green" stroke-width="2" points="921.6,-3915.5 931.6,-3912 921.6,-3908.5 921.6,-3915.5"/>
</g>
<!-- github.com/docker/go&#45;events -->
<g id="node31" class="node">
<title>github.com/docker/go&#45;events</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1095.38,-3876 951.88,-3876 951.88,-3840 1095.38,-3840 1095.38,-3876"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-3854.3" font-family="Times,serif" font-size="11.00">github.com/docker/go&#45;events</text>
</g>
<!-- github.com/Microsoft/hcsshim&#45;&gt;github.com/docker/go&#45;events -->
<g id="edge3" class="edge">
<title>github.com/Microsoft/hcsshim&#45;&gt;github.com/docker/go&#45;events</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M681.61,-3902.35C754.28,-3892.9 864.76,-3878.53 940.14,-3868.73"/>
<polygon fill="red" stroke="red" points="940.49,-3872.21 949.96,-3867.45 939.59,-3865.27 940.49,-3872.21"/>
</g>
<!-- github.com/moby/sys/sequential -->
<g id="node69" class="node">
<title>github.com/moby/sys/sequential</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1102.12,-4038 945.12,-4038 945.12,-4002 1102.12,-4002 1102.12,-4038"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-4016.3" font-family="Times,serif" font-size="11.00">github.com/moby/sys/sequential</text>
</g>
<!-- github.com/Microsoft/hcsshim&#45;&gt;github.com/moby/sys/sequential -->
<g id="edge4" class="edge">
<title>github.com/Microsoft/hcsshim&#45;&gt;github.com/moby/sys/sequential</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M651.57,-3930.44C697.34,-3948.85 771.29,-3976.68 837.5,-3993 868.54,-4000.65 903.07,-4006.41 933.82,-4010.6"/>
<polygon fill="red" stroke="red" points="933.1,-4014.03 943.47,-4011.87 934.01,-4007.09 933.1,-4014.03"/>
</g>
<!-- google.golang.org/genproto -->
<g id="node136" class="node">
<title>google.golang.org/genproto</title>
<polygon fill="#ffffcc" stroke="black" points="1209.75,-3498 837.5,-3498 837.5,-3462 1209.75,-3462 1209.75,-3498"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-3483.05" font-family="Times,serif" font-size="11.00">google.golang.org/genproto</text>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-3469.55" font-family="Times,serif" font-size="11.00">v0.0.0&#45;20240227224415&#45;6ceb2ff114de → v0.0.0&#45;20230410155749&#45;daa745c078e1</text>
</g>
<!-- github.com/Microsoft/hcsshim&#45;&gt;google.golang.org/genproto -->
<g id="edge5" class="edge">
<title>github.com/Microsoft/hcsshim&#45;&gt;google.golang.org/genproto</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M642.48,-3893.51C687.44,-3867.81 764.02,-3816.81 801.5,-3750 854.91,-3654.78 760.21,-3584.11 837.5,-3507 837.89,-3506.61 838.28,-3506.23 838.67,-3505.85"/>
<polygon fill="red" stroke="red" points="840.86,-3508.58 846.19,-3499.43 836.32,-3503.26 840.86,-3508.58"/>
</g>
<!-- github.com/NYTimes/gziphandler -->
<g id="node7" class="node">
<title>github.com/NYTimes/gziphandler</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1107,-576 940.25,-576 940.25,-540 1107,-540 1107,-576"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-554.3" font-family="Times,serif" font-size="11.00">github.com/NYTimes/gziphandler</text>
</g>
<!-- github.com/StackExchange/wmi -->
<g id="node8" class="node">
<title>github.com/StackExchange/wmi</title>
<polygon fill="#ccffcc" stroke="black" points="685.62,-3120 527.12,-3120 527.12,-3084 685.62,-3084 685.62,-3120"/>
<text xml:space="preserve" text-anchor="middle" x="606.38" y="-3098.3" font-family="Times,serif" font-size="11.00">github.com/StackExchange/wmi</text>
</g>
<!-- github.com/antlr4&#45;go/antlr/v4 -->
<g id="node9" class="node">
<title>github.com/antlr4&#45;go/antlr/v4</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1095.75,-522 951.5,-522 951.5,-486 1095.75,-486 1095.75,-522"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-500.3" font-family="Times,serif" font-size="11.00">github.com/antlr4&#45;go/antlr/v4</text>
</g>
<!-- github.com/asaskevich/govalidator -->
<g id="node10" class="node">
<title>github.com/asaskevich/govalidator</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1108.12,-468 939.12,-468 939.12,-432 1108.12,-432 1108.12,-468"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-446.3" font-family="Times,serif" font-size="11.00">github.com/asaskevich/govalidator</text>
</g>
<!-- github.com/blang/semver/v4 -->
<g id="node11" class="node">
<title>github.com/blang/semver/v4</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1093.88,-414 953.38,-414 953.38,-378 1093.88,-378 1093.88,-414"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-392.3" font-family="Times,serif" font-size="11.00">github.com/blang/semver/v4</text>
</g>
<!-- github.com/checkpoint&#45;restore/checkpointctl -->
<g id="node12" class="node">
<title>github.com/checkpoint&#45;restore/checkpointctl</title>
<polygon fill="#ffffcc" stroke="black" points="712.62,-3741 500.12,-3741 500.12,-3705 712.62,-3705 712.62,-3741"/>
<text xml:space="preserve" text-anchor="middle" x="606.38" y="-3726.05" font-family="Times,serif" font-size="11.00">github.com/checkpoint&#45;restore/checkpointctl</text>
<text xml:space="preserve" text-anchor="middle" x="606.38" y="-3712.55" font-family="Times,serif" font-size="11.00">v1.3.0 → v1.4.0</text>
</g>
<!-- github.com/mattn/go&#45;runewidth -->
<g id="node66" class="node">
<title>github.com/mattn/go&#45;runewidth</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1100.62,-3768 946.62,-3768 946.62,-3732 1100.62,-3732 1100.62,-3768"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-3746.3" font-family="Times,serif" font-size="11.00">github.com/mattn/go&#45;runewidth</text>
</g>
<!-- github.com/checkpoint&#45;restore/checkpointctl&#45;&gt;github.com/mattn/go&#45;runewidth -->
<g id="edge6" class="edge">
<title>github.com/checkpoint&#45;restore/checkpointctl&#45;&gt;github.com/mattn/go&#45;runewidth</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M712.97,-3729.87C781.65,-3734.33 870.16,-3740.09 934.95,-3744.3"/>
<polygon fill="red" stroke="red" points="934.63,-3747.79 944.84,-3744.94 935.09,-3740.8 934.63,-3747.79"/>
</g>
<!-- github.com/moby/sys/capability -->
<g id="node67" class="node">
<title>github.com/moby/sys/capability</title>
<polygon fill="#ccffcc" stroke="black" points="1101.38,-3714 945.88,-3714 945.88,-3678 1101.38,-3678 1101.38,-3714"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-3692.3" font-family="Times,serif" font-size="11.00">github.com/moby/sys/capability</text>
</g>
<!-- github.com/checkpoint&#45;restore/checkpointctl&#45;&gt;github.com/moby/sys/capability -->
<g id="edge78" class="edge">
<title>github.com/checkpoint&#45;restore/checkpointctl&#45;&gt;github.com/moby/sys/capability</title>
<path fill="none" stroke="green" stroke-width="2" d="M712.97,-3716.13C781.42,-3711.68 869.57,-3705.95 934.3,-3701.74"/>
<polygon fill="green" stroke="green" stroke-width="2" points="932.93,-3705.34 942.68,-3701.2 932.47,-3698.35 932.93,-3705.34"/>
</g>
<!-- github.com/olekukonko/tablewriter -->
<g id="node71" class="node">
<title>github.com/olekukonko/tablewriter</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1108.5,-3822 938.75,-3822 938.75,-3786 1108.5,-3786 1108.5,-3822"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-3800.3" font-family="Times,serif" font-size="11.00">github.com/olekukonko/tablewriter</text>
</g>
<!-- github.com/checkpoint&#45;restore/checkpointctl&#45;&gt;github.com/olekukonko/tablewriter -->
<g id="edge7" class="edge">
<title>github.com/checkpoint&#45;restore/checkpointctl&#45;&gt;github.com/olekukonko/tablewriter</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M679.07,-3741.49C724.31,-3752.75 784.08,-3766.86 837.5,-3777 866.52,-3782.51 898.27,-3787.51 927.17,-3791.67"/>
<polygon fill="red" stroke="red" points="926.62,-3795.13 937.01,-3793.07 927.6,-3788.2 926.62,-3795.13"/>
</g>
<!-- github.com/syndtr/gocapability -->
<g id="node90" class="node">
<title>github.com/syndtr/gocapability</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1099.5,-3606 947.75,-3606 947.75,-3570 1099.5,-3570 1099.5,-3606"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-3584.3" font-family="Times,serif" font-size="11.00">github.com/syndtr/gocapability</text>
</g>
<!-- github.com/checkpoint&#45;restore/checkpointctl&#45;&gt;github.com/syndtr/gocapability -->
<g id="edge8" class="edge">
<title>github.com/checkpoint&#45;restore/checkpointctl&#45;&gt;github.com/syndtr/gocapability</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M638.59,-3704.71C681.78,-3680.26 762.9,-3637.41 837.5,-3615 869.08,-3605.51 904.73,-3599.3 936.26,-3595.27"/>
<polygon fill="red" stroke="red" points="936.66,-3598.74 946.17,-3594.06 935.82,-3591.79 936.66,-3598.74"/>
</g>
<!-- github.com/cncf/xds/go -->
<g id="node13" class="node">
<title>github.com/cncf/xds/go</title>
<polygon fill="#ffffcc" stroke="black" points="373.75,-3282 1.5,-3282 1.5,-3246 373.75,-3246 373.75,-3282"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-3267.05" font-family="Times,serif" font-size="11.00">github.com/cncf/xds/go</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-3253.55" font-family="Times,serif" font-size="11.00">v0.0.0&#45;20250121191232&#45;2f005788dc42 → v0.0.0&#45;20250501225837&#45;2ac532fd4443</text>
</g>
<!-- github.com/containerd/cgroups/v3 -->
<g id="node14" class="node">
<title>github.com/containerd/cgroups/v3</title>
<polygon fill="#ffffcc" stroke="black" points="270.25,-3336 105,-3336 105,-3300 270.25,-3300 270.25,-3336"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-3321.05" font-family="Times,serif" font-size="11.00">github.com/containerd/cgroups/v3</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-3307.55" font-family="Times,serif" font-size="11.00">v3.0.5 → v3.1.2</text>
</g>
<!-- github.com/containerd/console -->
<g id="node15" class="node">
<title>github.com/containerd/console</title>
<polygon fill="#ffffcc" stroke="black" points="263.12,-3390 112.12,-3390 112.12,-3354 263.12,-3354 263.12,-3390"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-3375.05" font-family="Times,serif" font-size="11.00">github.com/containerd/console</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-3361.55" font-family="Times,serif" font-size="11.00">v1.0.4 → v1.0.5</text>
</g>
<!-- github.com/containerd/containerd/api -->
<g id="node17" class="node">
<title>github.com/containerd/containerd/api</title>
<polygon fill="#ffffcc" stroke="black" points="277.75,-3444 97.5,-3444 97.5,-3408 277.75,-3408 277.75,-3444"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-3429.05" font-family="Times,serif" font-size="11.00">github.com/containerd/containerd/api</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-3415.55" font-family="Times,serif" font-size="11.00">v1.9.0 → v1.10.0</text>
</g>
<!-- github.com/containerd/go&#45;cni -->
<g id="node19" class="node">
<title>github.com/containerd/go&#45;cni</title>
<polygon fill="#ffffcc" stroke="black" points="260.12,-3498 115.12,-3498 115.12,-3462 260.12,-3462 260.12,-3498"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-3483.05" font-family="Times,serif" font-size="11.00">github.com/containerd/go&#45;cni</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-3469.55" font-family="Times,serif" font-size="11.00">v1.1.12 → v1.1.13</text>
</g>
<!-- github.com/containerd/nri -->
<g id="node20" class="node">
<title>github.com/containerd/nri</title>
<polygon fill="#ffffcc" stroke="black" points="252.25,-2396 123,-2396 123,-2360 252.25,-2360 252.25,-2396"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-2381.05" font-family="Times,serif" font-size="11.00">github.com/containerd/nri</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-2367.55" font-family="Times,serif" font-size="11.00">v0.8.0 → v0.11.0</text>
</g>
<!-- github.com/knqyf263/go&#45;plugin -->
<g id="node64" class="node">
<title>github.com/knqyf263/go&#45;plugin</title>
<polygon fill="#ccffcc" stroke="black" points="682.62,-2396 530.12,-2396 530.12,-2360 682.62,-2360 682.62,-2396"/>
<text xml:space="preserve" text-anchor="middle" x="606.38" y="-2374.3" font-family="Times,serif" font-size="11.00">github.com/knqyf263/go&#45;plugin</text>
</g>
<!-- github.com/containerd/nri&#45;&gt;github.com/knqyf263/go&#45;plugin -->
<g id="edge79" class="edge">
<title>github.com/containerd/nri&#45;&gt;github.com/knqyf263/go&#45;plugin</title>
<path fill="none" stroke="green" stroke-width="2" d="M252.37,-2378C323.55,-2378 439.15,-2378 518.54,-2378"/>
<polygon fill="green" stroke="green" stroke-width="2" points="516.96,-2381.5 526.96,-2378 516.96,-2374.5 516.96,-2381.5"/>
</g>
<!-- github.com/rogpeppe/go&#45;internal -->
<g id="node82" class="node">
<title>github.com/rogpeppe/go&#45;internal</title>
<polygon fill="#ccffcc" stroke="black" points="686,-2488 526.75,-2488 526.75,-2452 686,-2452 686,-2488"/>
<text xml:space="preserve" text-anchor="middle" x="606.38" y="-2466.3" font-family="Times,serif" font-size="11.00">github.com/rogpeppe/go&#45;internal</text>
</g>
<!-- github.com/containerd/nri&#45;&gt;github.com/rogpeppe/go&#45;internal -->
<g id="edge80" class="edge">
<title>github.com/containerd/nri&#45;&gt;github.com/rogpeppe/go&#45;internal</title>
<path fill="none" stroke="green" stroke-width="2" d="M250.59,-2396.49C295.03,-2409.3 356.48,-2426.14 411.25,-2438 445.14,-2445.34 482.68,-2451.89 515.65,-2457.13"/>
<polygon fill="green" stroke="green" stroke-width="2" points="513.23,-2460.29 523.65,-2458.38 514.31,-2453.37 513.23,-2460.29"/>
</g>
<!-- gopkg.in/yaml.v2 -->
<g id="node144" class="node">
<title>gopkg.in/yaml.v2</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1357.38,-2381 1265.62,-2381 1265.62,-2345 1357.38,-2345 1357.38,-2381"/>
<text xml:space="preserve" text-anchor="middle" x="1311.5" y="-2359.3" font-family="Times,serif" font-size="11.00">gopkg.in/yaml.v2</text>
</g>
<!-- github.com/containerd/nri&#45;&gt;gopkg.in/yaml.v2 -->
<g id="edge9" class="edge">
<title>github.com/containerd/nri&#45;&gt;gopkg.in/yaml.v2</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M252.74,-2368.14C297.12,-2361.83 357.62,-2354.24 411.25,-2351 765.49,-2329.6 855.48,-2329.98 1209.75,-2351 1224.11,-2351.85 1239.56,-2353.38 1253.95,-2355.07"/>
<polygon fill="red" stroke="red" points="1253.36,-2358.52 1263.71,-2356.26 1254.21,-2351.58 1253.36,-2358.52"/>
</g>
<!-- k8s.io/cri&#45;api -->
<g id="node151" class="node">
<title>k8s.io/cri&#45;api</title>
<polygon fill="#ffffcc" stroke="black" points="655.25,-2277 557.5,-2277 557.5,-2241 655.25,-2241 655.25,-2277"/>
<text xml:space="preserve" text-anchor="middle" x="606.38" y="-2262.05" font-family="Times,serif" font-size="11.00">k8s.io/cri&#45;api</text>
<text xml:space="preserve" text-anchor="middle" x="606.38" y="-2248.55" font-family="Times,serif" font-size="11.00">v0.32.3 → v0.34.1</text>
</g>
<!-- github.com/containerd/nri&#45;&gt;k8s.io/cri&#45;api -->
<g id="edge10" class="edge">
<title>github.com/containerd/nri&#45;&gt;k8s.io/cri&#45;api</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M252.37,-2359.8C332.35,-2336.96 468.42,-2298.11 546.19,-2275.9"/>
<polygon fill="red" stroke="red" points="547.12,-2279.28 555.77,-2273.16 545.19,-2272.54 547.12,-2279.28"/>
</g>
<!-- sigs.k8s.io/yaml -->
<g id="node161" class="node">
<title>sigs.k8s.io/yaml</title>
<polygon fill="#ffffcc" stroke="black" points="1067.25,-2504 980,-2504 980,-2468 1067.25,-2468 1067.25,-2504"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-2489.05" font-family="Times,serif" font-size="11.00">sigs.k8s.io/yaml</text>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-2475.55" font-family="Times,serif" font-size="11.00">v1.4.0 → v1.6.0</text>
</g>
<!-- github.com/containerd/nri&#45;&gt;sigs.k8s.io/yaml -->
<g id="edge11" class="edge">
<title>github.com/containerd/nri&#45;&gt;sigs.k8s.io/yaml</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M252.39,-2386.14C296.88,-2391.72 357.65,-2399.14 411.25,-2405 584.48,-2423.94 632.99,-2398.6 801.5,-2443 818.43,-2447.46 820.68,-2454.14 837.5,-2459 880.62,-2471.47 931.14,-2478.35 968.5,-2482.03"/>
<polygon fill="red" stroke="red" points="967.86,-2485.49 978.14,-2482.94 968.51,-2478.52 967.86,-2485.49"/>
</g>
<!-- github.com/containerd/platforms -->
<g id="node21" class="node">
<title>github.com/containerd/platforms</title>
<polygon fill="#ffffcc" stroke="black" points="267.25,-3552 108,-3552 108,-3516 267.25,-3516 267.25,-3552"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-3537.05" font-family="Times,serif" font-size="11.00">github.com/containerd/platforms</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-3523.55" font-family="Times,serif" font-size="11.00">v1.0.0&#45;rc.1 → v1.0.0&#45;rc.2</text>
</g>
<!-- github.com/containerd/zfs/v2 -->
<g id="node22" class="node">
<title>github.com/containerd/zfs/v2</title>
<polygon fill="#ffffcc" stroke="black" points="259.75,-3606 115.5,-3606 115.5,-3570 259.75,-3570 259.75,-3606"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-3591.05" font-family="Times,serif" font-size="11.00">github.com/containerd/zfs/v2</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-3577.55" font-family="Times,serif" font-size="11.00">v2.0.0&#45;rc.0 → v2.0.0</text>
</g>
<!-- github.com/containernetworking/plugins -->
<g id="node23" class="node">
<title>github.com/containernetworking/plugins</title>
<polygon fill="#ffffcc" stroke="black" points="284.12,-3660 91.12,-3660 91.12,-3624 284.12,-3624 284.12,-3660"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-3645.05" font-family="Times,serif" font-size="11.00">github.com/containernetworking/plugins</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-3631.55" font-family="Times,serif" font-size="11.00">v1.7.1 → v1.9.0</text>
</g>
<!-- github.com/containers/storage -->
<g id="node24" class="node">
<title>github.com/containers/storage</title>
<polygon fill="#ffffcc" stroke="black" points="262,-3714 113.25,-3714 113.25,-3678 262,-3678 262,-3714"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-3699.05" font-family="Times,serif" font-size="11.00">github.com/containers/storage</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-3685.55" font-family="Times,serif" font-size="11.00">v1.54.0 → v1.59.1</text>
</g>
<!-- github.com/coreos/go&#45;oidc -->
<g id="node25" class="node">
<title>github.com/coreos/go&#45;oidc</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1090.12,-360 957.12,-360 957.12,-324 1090.12,-324 1090.12,-360"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-338.3" font-family="Times,serif" font-size="11.00">github.com/coreos/go&#45;oidc</text>
</g>
<!-- github.com/coreos/go&#45;semver -->
<g id="node26" class="node">
<title>github.com/coreos/go&#45;semver</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1096.88,-306 950.38,-306 950.38,-270 1096.88,-270 1096.88,-306"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-284.3" font-family="Times,serif" font-size="11.00">github.com/coreos/go&#45;semver</text>
</g>
<!-- github.com/coreos/go&#45;systemd/v22 -->
<g id="node27" class="node">
<title>github.com/coreos/go&#45;systemd/v22</title>
<polygon fill="#ffffcc" stroke="black" points="1108.12,-2196 939.12,-2196 939.12,-2160 1108.12,-2160 1108.12,-2196"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-2181.05" font-family="Times,serif" font-size="11.00">github.com/coreos/go&#45;systemd/v22</text>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-2167.55" font-family="Times,serif" font-size="11.00">v22.5.0 → v22.6.0</text>
</g>
<!-- go -->
<g id="node101" class="node">
<title>go</title>
<polygon fill="#ffffcc" stroke="black" points="1355.12,-2742 1267.88,-2742 1267.88,-2706 1355.12,-2706 1355.12,-2742"/>
<text xml:space="preserve" text-anchor="middle" x="1311.5" y="-2727.05" font-family="Times,serif" font-size="11.00">go</text>
<text xml:space="preserve" text-anchor="middle" x="1311.5" y="-2713.55" font-family="Times,serif" font-size="11.00">1.23.0 → 1.24.3</text>
</g>
<!-- github.com/coreos/go&#45;systemd/v22&#45;&gt;go -->
<g id="edge81" class="edge">
<title>github.com/coreos/go&#45;systemd/v22&#45;&gt;go</title>
<path fill="none" stroke="green" stroke-width="2" d="M1108.48,-2168.75C1144.62,-2169.59 1184.33,-2177.85 1209.75,-2205 1278.92,-2278.87 1203.44,-2567.06 1245.75,-2659 1252.66,-2674.02 1264.62,-2687.55 1276.38,-2698.32"/>
<polygon fill="green" stroke="green" stroke-width="2" points="1272.71,-2699.77 1282.56,-2703.68 1277.3,-2694.48 1272.71,-2699.77"/>
</g>
<!-- github.com/cpuguy83/go&#45;md2man/v2 -->
<g id="node28" class="node">
<title>github.com/cpuguy83/go&#45;md2man/v2</title>
<polygon fill="#ffffcc" stroke="black" points="276.62,-3768 98.62,-3768 98.62,-3732 276.62,-3732 276.62,-3768"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-3753.05" font-family="Times,serif" font-size="11.00">github.com/cpuguy83/go&#45;md2man/v2</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-3739.55" font-family="Times,serif" font-size="11.00">v2.0.5 → v2.0.7</text>
</g>
<!-- github.com/cyphar/filepath&#45;securejoin -->
<g id="node29" class="node">
<title>github.com/cyphar/filepath&#45;securejoin</title>
<polygon fill="#ccffcc" stroke="black" points="698.38,-3228 514.38,-3228 514.38,-3192 698.38,-3192 698.38,-3228"/>
<text xml:space="preserve" text-anchor="middle" x="606.38" y="-3206.3" font-family="Times,serif" font-size="11.00">github.com/cyphar/filepath&#45;securejoin</text>
</g>
<!-- github.com/stretchr/testify -->
<g id="node89" class="node">
<title>github.com/stretchr/testify</title>
<polygon fill="#ffffcc" stroke="black" points="1089.75,-3174 957.5,-3174 957.5,-3138 1089.75,-3138 1089.75,-3174"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-3159.05" font-family="Times,serif" font-size="11.00">github.com/stretchr/testify</text>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-3145.55" font-family="Times,serif" font-size="11.00">v1.10.0 → v1.11.1</text>
</g>
<!-- github.com/cyphar/filepath&#45;securejoin&#45;&gt;github.com/stretchr/testify -->
<g id="edge82" class="edge">
<title>github.com/cyphar/filepath&#45;securejoin&#45;&gt;github.com/stretchr/testify</title>
<path fill="none" stroke="green" stroke-width="2" d="M698.76,-3198.12C772.84,-3188.48 876.05,-3175.06 945.89,-3165.98"/>
<polygon fill="green" stroke="green" stroke-width="2" points="944.77,-3169.65 954.23,-3164.89 943.86,-3162.71 944.77,-3169.65"/>
</g>
<!-- golang.org/x/sys -->
<g id="node129" class="node">
<title>golang.org/x/sys</title>
<polygon fill="#ffffcc" stroke="black" points="1072.5,-3066 974.75,-3066 974.75,-3030 1072.5,-3030 1072.5,-3066"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-3051.05" font-family="Times,serif" font-size="11.00">golang.org/x/sys</text>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-3037.55" font-family="Times,serif" font-size="11.00">v0.33.0 → v0.38.0</text>
</g>
<!-- github.com/cyphar/filepath&#45;securejoin&#45;&gt;golang.org/x/sys -->
<g id="edge83" class="edge">
<title>github.com/cyphar/filepath&#45;securejoin&#45;&gt;golang.org/x/sys</title>
<path fill="none" stroke="green" stroke-width="2" d="M698.73,-3212.72C733.14,-3209.95 771.24,-3201.99 801.5,-3183 825.93,-3167.67 815.39,-3147.53 837.5,-3129 874.36,-3098.1 924.84,-3077.06 963.78,-3064.19"/>
<polygon fill="green" stroke="green" stroke-width="2" points="963.1,-3068.08 971.55,-3061.7 960.96,-3061.42 963.1,-3068.08"/>
</g>
<!-- github.com/docker/docker -->
<g id="node30" class="node">
<title>github.com/docker/docker</title>
<polygon fill="#ffffcc" stroke="black" points="299.5,-3822 75.75,-3822 75.75,-3786 299.5,-3786 299.5,-3822"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-3807.05" font-family="Times,serif" font-size="11.00">github.com/docker/docker</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-3793.55" font-family="Times,serif" font-size="11.00">v27.3.1+incompatible → v24.0.0+incompatible</text>
</g>
<!-- github.com/dustin/go&#45;humanize -->
<g id="node32" class="node">
<title>github.com/dustin/go&#45;humanize</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1100.62,-1440 946.62,-1440 946.62,-1404 1100.62,-1404 1100.62,-1440"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-1418.3" font-family="Times,serif" font-size="11.00">github.com/dustin/go&#45;humanize</text>
</g>
<!-- github.com/emicklei/go&#45;restful/v3 -->
<g id="node33" class="node">
<title>github.com/emicklei/go&#45;restful/v3</title>
<polygon fill="#ffffcc" stroke="black" points="270.25,-3876 105,-3876 105,-3840 270.25,-3840 270.25,-3876"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-3861.05" font-family="Times,serif" font-size="11.00">github.com/emicklei/go&#45;restful/v3</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-3847.55" font-family="Times,serif" font-size="11.00">v3.11.0 → v3.13.0</text>
</g>
<!-- github.com/fsnotify/fsnotify -->
<g id="node34" class="node">
<title>github.com/fsnotify/fsnotify</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1092.75,-1386 954.5,-1386 954.5,-1350 1092.75,-1350 1092.75,-1386"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-1364.3" font-family="Times,serif" font-size="11.00">github.com/fsnotify/fsnotify</text>
</g>
<!-- github.com/fxamacker/cbor/v2 -->
<g id="node35" class="node">
<title>github.com/fxamacker/cbor/v2</title>
<polygon fill="#ffffcc" stroke="black" points="263.12,-3930 112.12,-3930 112.12,-3894 263.12,-3894 263.12,-3930"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-3915.05" font-family="Times,serif" font-size="11.00">github.com/fxamacker/cbor/v2</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-3901.55" font-family="Times,serif" font-size="11.00">v2.7.0 → v2.9.0</text>
</g>
<!-- github.com/go&#45;jose/go&#45;jose/v4 -->
<g id="node36" class="node">
<title>github.com/go&#45;jose/go&#45;jose/v4</title>
<polygon fill="#ffffcc" stroke="black" points="680.75,-2812 532,-2812 532,-2776 680.75,-2776 680.75,-2812"/>
<text xml:space="preserve" text-anchor="middle" x="606.38" y="-2797.05" font-family="Times,serif" font-size="11.00">github.com/go&#45;jose/go&#45;jose/v4</text>
<text xml:space="preserve" text-anchor="middle" x="606.38" y="-2783.55" font-family="Times,serif" font-size="11.00">v4.0.5 → v4.1.2</text>
</g>
<!-- github.com/google/go&#45;cmp -->
<g id="node50" class="node">
<title>github.com/google/go&#45;cmp</title>
<polygon fill="#ccffcc" stroke="black" points="1090.12,-2796 957.12,-2796 957.12,-2760 1090.12,-2760 1090.12,-2796"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-2774.3" font-family="Times,serif" font-size="11.00">github.com/google/go&#45;cmp</text>
</g>
<!-- github.com/go&#45;jose/go&#45;jose/v4&#45;&gt;github.com/google/go&#45;cmp -->
<g id="edge12" class="edge">
<title>github.com/go&#45;jose/go&#45;jose/v4&#45;&gt;github.com/google/go&#45;cmp</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M681.13,-2791.16C755.51,-2788.29 869.83,-2783.89 945.41,-2780.98"/>
<polygon fill="red" stroke="red" points="945.37,-2784.48 955.22,-2780.6 945.1,-2777.48 945.37,-2784.48"/>
</g>
<!-- github.com/go&#45;jose/go&#45;jose/v4&#45;&gt;github.com/stretchr/testify -->
<g id="edge13" class="edge">
<title>github.com/go&#45;jose/go&#45;jose/v4&#45;&gt;github.com/stretchr/testify</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M680.83,-2784.44C721.75,-2783.44 770.54,-2790.12 801.5,-2821 882.23,-2901.52 768.54,-2984.2 837.5,-3075 863.78,-3109.6 907.96,-3129.68 946.58,-3141.19"/>
<polygon fill="red" stroke="red" points="945.27,-3144.46 955.84,-3143.81 947.17,-3137.72 945.27,-3144.46"/>
</g>
<!-- github.com/go&#45;logr/logr -->
<g id="node37" class="node">
<title>github.com/go&#45;logr/logr</title>
<polygon fill="#ffffcc" stroke="black" points="247.38,-3984 127.88,-3984 127.88,-3948 247.38,-3948 247.38,-3984"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-3969.05" font-family="Times,serif" font-size="11.00">github.com/go&#45;logr/logr</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-3955.55" font-family="Times,serif" font-size="11.00">v1.4.2 → v1.4.3</text>
</g>
<!-- github.com/go&#45;ole/go&#45;ole -->
<g id="node38" class="node">
<title>github.com/go&#45;ole/go&#45;ole</title>
<polygon fill="#ccffcc" stroke="black" points="669.5,-3012 543.25,-3012 543.25,-2976 669.5,-2976 669.5,-3012"/>
<text xml:space="preserve" text-anchor="middle" x="606.38" y="-2990.3" font-family="Times,serif" font-size="11.00">github.com/go&#45;ole/go&#45;ole</text>
</g>
<!-- github.com/go&#45;ole/go&#45;ole&#45;&gt;golang.org/x/sys -->
<g id="edge84" class="edge">
<title>github.com/go&#45;ole/go&#45;ole&#45;&gt;golang.org/x/sys</title>
<path fill="none" stroke="green" stroke-width="2" d="M669.99,-3002.14C749.46,-3012.48 885.54,-3030.17 963.37,-3040.29"/>
<polygon fill="green" stroke="green" stroke-width="2" points="961.05,-3043.52 971.42,-3041.34 961.95,-3036.58 961.05,-3043.52"/>
</g>
<!-- github.com/go&#45;task/slim&#45;sprig/v3 -->
<g id="node39" class="node">
<title>github.com/go&#45;task/slim&#45;sprig/v3</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="686.75,-2596 526,-2596 526,-2560 686.75,-2560 686.75,-2596"/>
<text xml:space="preserve" text-anchor="middle" x="606.38" y="-2574.3" font-family="Times,serif" font-size="11.00">github.com/go&#45;task/slim&#45;sprig/v3</text>
</g>
<!-- github.com/gogo/protobuf -->
<g id="node40" class="node">
<title>github.com/gogo/protobuf</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1087.88,-2304 959.38,-2304 959.38,-2268 1087.88,-2268 1087.88,-2304"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-2282.3" font-family="Times,serif" font-size="11.00">github.com/gogo/protobuf</text>
</g>
<!-- github.com/golang&#45;jwt/jwt/v4 -->
<g id="node41" class="node">
<title>github.com/golang&#45;jwt/jwt/v4</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1096.5,-1332 950.75,-1332 950.75,-1296 1096.5,-1296 1096.5,-1332"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-1310.3" font-family="Times,serif" font-size="11.00">github.com/golang&#45;jwt/jwt/v4</text>
</g>
<!-- github.com/golang/glog -->
<g id="node42" class="node">
<title>github.com/golang/glog</title>
<polygon fill="#ffffcc" stroke="black" points="247,-4038 128.25,-4038 128.25,-4002 247,-4002 247,-4038"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-4023.05" font-family="Times,serif" font-size="11.00">github.com/golang/glog</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-4009.55" font-family="Times,serif" font-size="11.00">v1.2.4 → v1.2.5</text>
</g>
<!-- github.com/golang/groupcache -->
<g id="node43" class="node">
<title>github.com/golang/groupcache</title>
<polygon fill="#ffffcc" stroke="black" points="373.75,-4092 1.5,-4092 1.5,-4056 373.75,-4056 373.75,-4092"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-4077.05" font-family="Times,serif" font-size="11.00">github.com/golang/groupcache</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-4063.55" font-family="Times,serif" font-size="11.00">v0.0.0&#45;20210331224755&#45;41bb18bfe9da → v0.0.0&#45;20241129210726&#45;2c02b8208cf8</text>
</g>
<!-- github.com/golang/protobuf -->
<g id="node44" class="node">
<title>github.com/golang/protobuf</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="674.75,-2920 538,-2920 538,-2884 674.75,-2884 674.75,-2920"/>
<text xml:space="preserve" text-anchor="middle" x="606.38" y="-2898.3" font-family="Times,serif" font-size="11.00">github.com/golang/protobuf</text>
</g>
<!-- github.com/google/btree -->
<g id="node45" class="node">
<title>github.com/google/btree</title>
<polygon fill="#ffffcc" stroke="black" points="248.88,-4146 126.38,-4146 126.38,-4110 248.88,-4110 248.88,-4146"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-4131.05" font-family="Times,serif" font-size="11.00">github.com/google/btree</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-4117.55" font-family="Times,serif" font-size="11.00">v1.0.1 → v1.1.3</text>
</g>
<!-- github.com/google/cel&#45;go -->
<g id="node46" class="node">
<title>github.com/google/cel&#45;go</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1087.5,-1278 959.75,-1278 959.75,-1242 1087.5,-1242 1087.5,-1278"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-1256.3" font-family="Times,serif" font-size="11.00">github.com/google/cel&#45;go</text>
</g>
<!-- github.com/google/certtostore -->
<g id="node47" class="node">
<title>github.com/google/certtostore</title>
<polygon fill="#ccffcc" stroke="black" points="261.25,-3093 114,-3093 114,-3057 261.25,-3057 261.25,-3093"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-3071.3" font-family="Times,serif" font-size="11.00">github.com/google/certtostore</text>
</g>
<!-- github.com/google/certtostore&#45;&gt;github.com/StackExchange/wmi -->
<g id="edge85" class="edge">
<title>github.com/google/certtostore&#45;&gt;github.com/StackExchange/wmi</title>
<path fill="none" stroke="green" stroke-width="2" d="M261.69,-3079.73C332.3,-3084.31 439.43,-3091.25 515.29,-3096.16"/>
<polygon fill="green" stroke="green" stroke-width="2" points="513.49,-3099.55 523.69,-3096.71 513.94,-3092.57 513.49,-3099.55"/>
</g>
<!-- github.com/google/certtostore&#45;&gt;github.com/go&#45;ole/go&#45;ole -->
<g id="edge86" class="edge">
<title>github.com/google/certtostore&#45;&gt;github.com/go&#45;ole/go&#45;ole</title>
<path fill="none" stroke="green" stroke-width="2" d="M256.94,-3056.56C300.79,-3045.19 359.09,-3030.93 411.25,-3021 450.93,-3013.45 495.56,-3007.09 532.01,-3002.45"/>
<polygon fill="green" stroke="green" stroke-width="2" points="530.55,-3006.16 540.04,-3001.44 529.68,-2999.21 530.55,-3006.16"/>
</g>
<!-- github.com/google/deck -->
<g id="node48" class="node">
<title>github.com/google/deck</title>
<polygon fill="#ccffcc" stroke="black" points="666.88,-3174 545.88,-3174 545.88,-3138 666.88,-3138 666.88,-3174"/>
<text xml:space="preserve" text-anchor="middle" x="606.38" y="-3152.3" font-family="Times,serif" font-size="11.00">github.com/google/deck</text>
</g>
<!-- github.com/google/certtostore&#45;&gt;github.com/google/deck -->
<g id="edge87" class="edge">
<title>github.com/google/certtostore&#45;&gt;github.com/google/deck</title>
<path fill="none" stroke="green" stroke-width="2" d="M256.94,-3093.44C300.79,-3104.81 359.09,-3119.07 411.25,-3129 451.84,-3136.73 497.61,-3143.2 534.5,-3147.87"/>
<polygon fill="green" stroke="green" stroke-width="2" points="532.29,-3151.12 542.65,-3148.88 533.16,-3144.17 532.29,-3151.12"/>
</g>
<!-- golang.org/x/crypto -->
<g id="node123" class="node">
<title>golang.org/x/crypto</title>
<polygon fill="#ffffcc" stroke="black" points="657.12,-3066 555.62,-3066 555.62,-3030 657.12,-3030 657.12,-3066"/>
<text xml:space="preserve" text-anchor="middle" x="606.38" y="-3051.05" font-family="Times,serif" font-size="11.00">golang.org/x/crypto</text>
<text xml:space="preserve" text-anchor="middle" x="606.38" y="-3037.55" font-family="Times,serif" font-size="11.00">v0.36.0 → v0.45.0</text>
</g>
<!-- github.com/google/certtostore&#45;&gt;golang.org/x/crypto -->
<g id="edge88" class="edge">
<title>github.com/google/certtostore&#45;&gt;golang.org/x/crypto</title>
<path fill="none" stroke="green" stroke-width="2" d="M261.69,-3070.27C341.85,-3065.07 469.07,-3056.83 544.18,-3051.96"/>
<polygon fill="green" stroke="green" stroke-width="2" points="542.54,-3055.58 552.3,-3051.44 542.09,-3048.59 542.54,-3055.58"/>
</g>
<!-- github.com/google/deck&#45;&gt;golang.org/x/sys -->
<g id="edge89" class="edge">
<title>github.com/google/deck&#45;&gt;golang.org/x/sys</title>
<path fill="none" stroke="green" stroke-width="2" d="M667.04,-3151.02C705.77,-3146.98 757.1,-3140.09 801.5,-3129 860.68,-3114.22 925.99,-3089.16 970.18,-3070.82"/>
<polygon fill="green" stroke="green" stroke-width="2" points="970,-3074.69 977.87,-3067.59 967.3,-3068.23 970,-3074.69"/>
</g>
<!-- github.com/google/gnostic&#45;models -->
<g id="node49" class="node">
<title>github.com/google/gnostic&#45;models</title>
<polygon fill="#ffffcc" stroke="black" points="271,-4200 104.25,-4200 104.25,-4164 271,-4164 271,-4200"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-4185.05" font-family="Times,serif" font-size="11.00">github.com/google/gnostic&#45;models</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-4171.55" font-family="Times,serif" font-size="11.00">v0.6.8 → v0.7.0</text>
</g>
<!-- github.com/google/pprof -->
<g id="node51" class="node">
<title>github.com/google/pprof</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="668,-2866 544.75,-2866 544.75,-2830 668,-2830 668,-2866"/>
<text xml:space="preserve" text-anchor="middle" x="606.38" y="-2844.3" font-family="Times,serif" font-size="11.00">github.com/google/pprof</text>
</g>
<!-- github.com/gorilla/websocket -->
<g id="node52" class="node">
<title>github.com/gorilla/websocket</title>
<polygon fill="#ffffcc" stroke="black" points="306.62,-4254 68.62,-4254 68.62,-4218 306.62,-4218 306.62,-4254"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-4239.05" font-family="Times,serif" font-size="11.00">github.com/gorilla/websocket</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-4225.55" font-family="Times,serif" font-size="11.00">v1.5.0 → v1.5.4&#45;0.20250319132907&#45;e064f32e3674</text>
</g>
<!-- golang.org/x/net -->
<g id="node126" class="node">
<title>golang.org/x/net</title>
<polygon fill="#ffffcc" stroke="black" points="655.25,-4254 557.5,-4254 557.5,-4218 655.25,-4218 655.25,-4254"/>
<text xml:space="preserve" text-anchor="middle" x="606.38" y="-4239.05" font-family="Times,serif" font-size="11.00">golang.org/x/net</text>
<text xml:space="preserve" text-anchor="middle" x="606.38" y="-4225.55" font-family="Times,serif" font-size="11.00">v0.38.0 → v0.47.0</text>
</g>
<!-- github.com/gorilla/websocket&#45;&gt;golang.org/x/net -->
<g id="edge90" class="edge">
<title>github.com/gorilla/websocket&#45;&gt;golang.org/x/net</title>
<path fill="none" stroke="green" stroke-width="2" d="M306.93,-4236C384.98,-4236 483.9,-4236 545.93,-4236"/>
<polygon fill="green" stroke="green" stroke-width="2" points="544.04,-4239.5 554.04,-4236 544.04,-4232.5 544.04,-4239.5"/>
</g>
<!-- github.com/grpc&#45;ecosystem/go&#45;grpc&#45;middleware -->
<g id="node53" class="node">
<title>github.com/grpc&#45;ecosystem/go&#45;grpc&#45;middleware</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1138.88,-1224 908.38,-1224 908.38,-1188 1138.88,-1188 1138.88,-1224"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-1202.3" font-family="Times,serif" font-size="11.00">github.com/grpc&#45;ecosystem/go&#45;grpc&#45;middleware</text>
</g>
<!-- github.com/grpc&#45;ecosystem/go&#45;grpc&#45;middleware/providers/prometheus -->
<g id="node54" class="node">
<title>github.com/grpc&#45;ecosystem/go&#45;grpc&#45;middleware/providers/prometheus</title>
<polygon fill="#ffffcc" stroke="black" points="352,-4308 23.25,-4308 23.25,-4272 352,-4272 352,-4308"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-4293.05" font-family="Times,serif" font-size="11.00">github.com/grpc&#45;ecosystem/go&#45;grpc&#45;middleware/providers/prometheus</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-4279.55" font-family="Times,serif" font-size="11.00">v1.0.1 → v1.1.0</text>
</g>
<!-- github.com/grpc&#45;ecosystem/go&#45;grpc&#45;prometheus -->
<g id="node55" class="node">
<title>github.com/grpc&#45;ecosystem/go&#45;grpc&#45;prometheus</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1138.12,-1170 909.12,-1170 909.12,-1134 1138.12,-1134 1138.12,-1170"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-1148.3" font-family="Times,serif" font-size="11.00">github.com/grpc&#45;ecosystem/go&#45;grpc&#45;prometheus</text>
</g>
<!-- github.com/grpc&#45;ecosystem/grpc&#45;gateway -->
<g id="node56" class="node">
<title>github.com/grpc&#45;ecosystem/grpc&#45;gateway</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1124.25,-1116 923,-1116 923,-1080 1124.25,-1080 1124.25,-1116"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-1094.3" font-family="Times,serif" font-size="11.00">github.com/grpc&#45;ecosystem/grpc&#45;gateway</text>
</g>
<!-- github.com/hashicorp/errwrap -->
<g id="node57" class="node">
<title>github.com/hashicorp/errwrap</title>
<polygon fill="#ffffcc" stroke="black" points="1098,-3444 949.25,-3444 949.25,-3408 1098,-3408 1098,-3444"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-3429.05" font-family="Times,serif" font-size="11.00">github.com/hashicorp/errwrap</text>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-3415.55" font-family="Times,serif" font-size="11.00">v1.0.0 → v1.1.0</text>
</g>
<!-- github.com/hashicorp/go&#45;multierror -->
<g id="node58" class="node">
<title>github.com/hashicorp/go&#45;multierror</title>
<polygon fill="white" stroke="black" points="692.38,-3444 520.38,-3444 520.38,-3408 692.38,-3408 692.38,-3444"/>
<text xml:space="preserve" text-anchor="middle" x="606.38" y="-3422.3" font-family="Times,serif" font-size="11.00">github.com/hashicorp/go&#45;multierror</text>
</g>
<!-- github.com/hashicorp/go&#45;multierror&#45;&gt;github.com/hashicorp/errwrap -->
<g id="edge14" class="edge">
<title>github.com/hashicorp/go&#45;multierror&#45;&gt;github.com/hashicorp/errwrap</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M692.66,-3426C764.3,-3426 866.16,-3426 937.7,-3426"/>
<polygon fill="red" stroke="red" points="937.4,-3429.5 947.4,-3426 937.4,-3422.5 937.4,-3429.5"/>
</g>
<!-- github.com/intel/goresctrl -->
<g id="node59" class="node">
<title>github.com/intel/goresctrl</title>
<polygon fill="#ffffcc" stroke="black" points="252.25,-4362 123,-4362 123,-4326 252.25,-4326 252.25,-4362"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-4347.05" font-family="Times,serif" font-size="11.00">github.com/intel/goresctrl</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-4333.55" font-family="Times,serif" font-size="11.00">v0.8.0 → v0.10.0</text>
</g>
<!-- github.com/jonboulle/clockwork -->
<g id="node60" class="node">
<title>github.com/jonboulle/clockwork</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1102.5,-1062 944.75,-1062 944.75,-1026 1102.5,-1026 1102.5,-1062"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-1040.3" font-family="Times,serif" font-size="11.00">github.com/jonboulle/clockwork</text>
</g>
<!-- github.com/josephspurrier/goversioninfo -->
<g id="node61" class="node">
<title>github.com/josephspurrier/goversioninfo</title>
<polygon fill="#ffffcc" stroke="black" points="284.5,-4416 90.75,-4416 90.75,-4380 284.5,-4380 284.5,-4416"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-4401.05" font-family="Times,serif" font-size="11.00">github.com/josephspurrier/goversioninfo</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-4387.55" font-family="Times,serif" font-size="11.00">v1.4.0 → v1.5.0</text>
</g>
<!-- github.com/json&#45;iterator/go -->
<g id="node62" class="node">
<title>github.com/json&#45;iterator/go</title>
<polygon fill="#ccffcc" stroke="black" points="1091.25,-2612 956,-2612 956,-2576 1091.25,-2576 1091.25,-2612"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-2590.3" font-family="Times,serif" font-size="11.00">github.com/json&#45;iterator/go</text>
</g>
<!-- github.com/klauspost/compress -->
<g id="node63" class="node">
<title>github.com/klauspost/compress</title>
<polygon fill="#ffffcc" stroke="black" points="264.62,-4470 110.62,-4470 110.62,-4434 264.62,-4434 264.62,-4470"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-4455.05" font-family="Times,serif" font-size="11.00">github.com/klauspost/compress</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-4441.55" font-family="Times,serif" font-size="11.00">v1.18.0 → v1.18.1</text>
</g>
<!-- github.com/planetscale/vtprotobuf -->
<g id="node76" class="node">
<title>github.com/planetscale/vtprotobuf</title>
<polygon fill="#ffffcc" stroke="black" points="1142.62,-2396 904.62,-2396 904.62,-2360 1142.62,-2360 1142.62,-2396"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-2381.05" font-family="Times,serif" font-size="11.00">github.com/planetscale/vtprotobuf</text>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-2367.55" font-family="Times,serif" font-size="11.00">v0.6.1&#45;0.20240319094008&#45;0393e58bdf10 → v0.4.0</text>
</g>
<!-- github.com/knqyf263/go&#45;plugin&#45;&gt;github.com/planetscale/vtprotobuf -->
<g id="edge91" class="edge">
<title>github.com/knqyf263/go&#45;plugin&#45;&gt;github.com/planetscale/vtprotobuf</title>
<path fill="none" stroke="green" stroke-width="2" d="M683.06,-2378C741.56,-2378 823.92,-2378 892.88,-2378"/>
<polygon fill="green" stroke="green" stroke-width="2" points="891.24,-2381.5 901.24,-2378 891.24,-2374.5 891.24,-2381.5"/>
</g>
<!-- github.com/knqyf263/go&#45;plugin&#45;&gt;github.com/stretchr/testify -->
<g id="edge92" class="edge">
<title>github.com/knqyf263/go&#45;plugin&#45;&gt;github.com/stretchr/testify</title>
<path fill="none" stroke="green" stroke-width="2" d="M682.75,-2383.22C724.59,-2390.34 773.67,-2406.56 801.5,-2443 886.89,-2554.79 757.19,-2959.51 837.5,-3075 862.49,-3110.94 907.1,-3131.08 946.26,-3142.3"/>
<polygon fill="green" stroke="green" stroke-width="2" points="943.65,-3145.22 954.22,-3144.44 945.47,-3138.46 943.65,-3145.22"/>
</g>
<!-- github.com/tetratelabs/wazero -->
<g id="node92" class="node">
<title>github.com/tetratelabs/wazero</title>
<polygon fill="#ccffcc" stroke="black" points="1098.75,-2558 948.5,-2558 948.5,-2522 1098.75,-2522 1098.75,-2558"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-2536.3" font-family="Times,serif" font-size="11.00">github.com/tetratelabs/wazero</text>
</g>
<!-- github.com/knqyf263/go&#45;plugin&#45;&gt;github.com/tetratelabs/wazero -->
<g id="edge93" class="edge">
<title>github.com/knqyf263/go&#45;plugin&#45;&gt;github.com/tetratelabs/wazero</title>
<path fill="none" stroke="green" stroke-width="2" d="M682.79,-2389.23C721.85,-2398.27 768.2,-2414.41 801.5,-2443 828.04,-2465.79 809.03,-2492.66 837.5,-2513 865.99,-2533.35 903.32,-2541.35 936.99,-2543.79"/>
<polygon fill="green" stroke="green" stroke-width="2" points="935.05,-2547.19 945.23,-2544.25 935.43,-2540.2 935.05,-2547.19"/>
</g>
<!-- google.golang.org/protobuf -->
<g id="node140" class="node">
<title>google.golang.org/protobuf</title>
<polygon fill="#ffffcc" stroke="black" points="1090.88,-2450 956.38,-2450 956.38,-2414 1090.88,-2414 1090.88,-2450"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-2435.05" font-family="Times,serif" font-size="11.00">google.golang.org/protobuf</text>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-2421.55" font-family="Times,serif" font-size="11.00">v1.36.6 → v1.36.10</text>
</g>
<!-- github.com/knqyf263/go&#45;plugin&#45;&gt;google.golang.org/protobuf -->
<g id="edge94" class="edge">
<title>github.com/knqyf263/go&#45;plugin&#45;&gt;google.golang.org/protobuf</title>
<path fill="none" stroke="green" stroke-width="2" d="M683.06,-2387.84C757.26,-2397.49 869.86,-2412.13 944.8,-2421.88"/>
<polygon fill="green" stroke="green" stroke-width="2" points="942.66,-2425.13 953.03,-2422.95 943.56,-2418.19 942.66,-2425.13"/>
</g>
<!-- github.com/kr/pretty -->
<g id="node65" class="node">
<title>github.com/kr/pretty</title>
<polygon fill="#ccffcc" stroke="black" points="1076.25,-3228 971,-3228 971,-3192 1076.25,-3192 1076.25,-3228"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-3206.3" font-family="Times,serif" font-size="11.00">github.com/kr/pretty</text>
</g>
<!-- github.com/moby/sys/capability&#45;&gt;go -->
<g id="edge95" class="edge">
<title>github.com/moby/sys/capability&#45;&gt;go</title>
<path fill="none" stroke="green" stroke-width="2" d="M1101.57,-3705.02C1139.3,-3704.96 1182.39,-3697.44 1209.75,-3669 1274.91,-3601.28 1303.89,-2905.63 1309.48,-2753.35"/>
<polygon fill="green" stroke="green" stroke-width="2" points="1312.91,-2755.34 1309.77,-2745.22 1305.91,-2755.09 1312.91,-2755.34"/>
</g>
<!-- github.com/moby/sys/mountinfo -->
<g id="node68" class="node">
<title>github.com/moby/sys/mountinfo</title>
<polygon fill="#ccffcc" stroke="black" points="1101.75,-3390 945.5,-3390 945.5,-3354 1101.75,-3354 1101.75,-3390"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-3368.3" font-family="Times,serif" font-size="11.00">github.com/moby/sys/mountinfo</text>
</g>
<!-- github.com/modern&#45;go/reflect2 -->
<g id="node70" class="node">
<title>github.com/modern&#45;go/reflect2</title>
<polygon fill="#ffffcc" stroke="black" points="307.38,-4524 67.88,-4524 67.88,-4488 307.38,-4488 307.38,-4524"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-4509.05" font-family="Times,serif" font-size="11.00">github.com/modern&#45;go/reflect2</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-4495.55" font-family="Times,serif" font-size="11.00">v1.0.2 → v1.0.3&#45;0.20250322232337&#45;35a7c28c31ee</text>
</g>
<!-- github.com/onsi/ginkgo/v2 -->
<g id="node72" class="node">
<title>github.com/onsi/ginkgo/v2</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1377.25,-792 1245.75,-792 1245.75,-756 1377.25,-756 1377.25,-792"/>
<text xml:space="preserve" text-anchor="middle" x="1311.5" y="-770.3" font-family="Times,serif" font-size="11.00">github.com/onsi/ginkgo/v2</text>
</g>
<!-- github.com/opencontainers/runtime&#45;spec -->
<g id="node73" class="node">
<title>github.com/opencontainers/runtime&#45;spec</title>
<polygon fill="#ffffcc" stroke="black" points="285.25,-4578 90,-4578 90,-4542 285.25,-4542 285.25,-4578"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-4563.05" font-family="Times,serif" font-size="11.00">github.com/opencontainers/runtime&#45;spec</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-4549.55" font-family="Times,serif" font-size="11.00">v1.2.1 → v1.3.0</text>
</g>
<!-- github.com/opencontainers/runtime&#45;tools -->
<g id="node74" class="node">
<title>github.com/opencontainers/runtime&#45;tools</title>
<polygon fill="#ffffcc" stroke="black" points="801.5,-3390 411.25,-3390 411.25,-3354 801.5,-3354 801.5,-3390"/>
<text xml:space="preserve" text-anchor="middle" x="606.38" y="-3375.05" font-family="Times,serif" font-size="11.00">github.com/opencontainers/runtime&#45;tools</text>
<text xml:space="preserve" text-anchor="middle" x="606.38" y="-3361.55" font-family="Times,serif" font-size="11.00">v0.9.1&#45;0.20221107090550&#45;2e043c6bd626 → v0.9.1&#45;0.20251114084447&#45;edf4cb3d2116</text>
</g>
<!-- github.com/opencontainers/runtime&#45;tools&#45;&gt;github.com/hashicorp/errwrap -->
<g id="edge96" class="edge">
<title>github.com/opencontainers/runtime&#45;tools&#45;&gt;github.com/hashicorp/errwrap</title>
<path fill="none" stroke="green" stroke-width="2" d="M749.41,-3390.47C812.01,-3398.61 883.48,-3407.9 937.61,-3414.94"/>
<polygon fill="green" stroke="green" stroke-width="2" points="935.52,-3418.2 945.89,-3416.02 936.43,-3411.26 935.52,-3418.2"/>
</g>
<!-- github.com/opencontainers/runtime&#45;tools&#45;&gt;github.com/moby/sys/capability -->
<g id="edge97" class="edge">
<title>github.com/opencontainers/runtime&#45;tools&#45;&gt;github.com/moby/sys/capability</title>
<path fill="none" stroke="green" stroke-width="2" d="M791.62,-3390.32C795.08,-3392.98 798.38,-3395.86 801.5,-3399 886.86,-3484.85 752.42,-3582.87 837.5,-3669 862.42,-3694.23 899.76,-3702.85 934.39,-3704.44"/>
<polygon fill="green" stroke="green" stroke-width="2" points="932.41,-3707.89 942.49,-3704.64 932.58,-3700.89 932.41,-3707.89"/>
</g>
<!-- github.com/opencontainers/runtime&#45;tools&#45;&gt;github.com/moby/sys/mountinfo -->
<g id="edge98" class="edge">
<title>github.com/opencontainers/runtime&#45;tools&#45;&gt;github.com/moby/sys/mountinfo</title>
<path fill="none" stroke="green" stroke-width="2" d="M801.93,-3372C848.09,-3372 895.12,-3372 933.84,-3372"/>
<polygon fill="green" stroke="green" stroke-width="2" points="932.03,-3375.5 942.03,-3372 932.03,-3368.5 932.03,-3375.5"/>
</g>
<!-- github.com/opencontainers/runtime&#45;tools&#45;&gt;github.com/syndtr/gocapability -->
<g id="edge15" class="edge">
<title>github.com/opencontainers/runtime&#45;tools&#45;&gt;github.com/syndtr/gocapability</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M790.85,-3390.4C794.56,-3393.02 798.12,-3395.89 801.5,-3399 855.71,-3449.01 783.46,-3510.81 837.5,-3561 863.7,-3585.33 901.6,-3593.73 936.29,-3595.4"/>
<polygon fill="red" stroke="red" points="935.82,-3598.89 945.91,-3595.67 936.01,-3591.89 935.82,-3598.89"/>
</g>
<!-- github.com/xeipuuv/gojsonpointer -->
<g id="node97" class="node">
<title>github.com/xeipuuv/gojsonpointer</title>
<polygon fill="#ccffcc" stroke="black" points="1105.88,-3282 941.38,-3282 941.38,-3246 1105.88,-3246 1105.88,-3282"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-3260.3" font-family="Times,serif" font-size="11.00">github.com/xeipuuv/gojsonpointer</text>
</g>
<!-- github.com/opencontainers/runtime&#45;tools&#45;&gt;github.com/xeipuuv/gojsonpointer -->
<g id="edge99" class="edge">
<title>github.com/opencontainers/runtime&#45;tools&#45;&gt;github.com/xeipuuv/gojsonpointer</title>
<path fill="none" stroke="green" stroke-width="2" d="M785.77,-3353.6C791.2,-3351.02 796.46,-3348.17 801.5,-3345 825.93,-3329.67 813.12,-3306.41 837.5,-3291 864.64,-3273.84 898.43,-3265.91 929.68,-3262.63"/>
<polygon fill="green" stroke="green" stroke-width="2" points="928.39,-3266.26 938.04,-3261.9 927.77,-3259.29 928.39,-3266.26"/>
</g>
<!-- github.com/xeipuuv/gojsonreference -->
<g id="node98" class="node">
<title>github.com/xeipuuv/gojsonreference</title>
<polygon fill="#ccffcc" stroke="black" points="1111.88,-3336 935.38,-3336 935.38,-3300 1111.88,-3300 1111.88,-3336"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-3314.3" font-family="Times,serif" font-size="11.00">github.com/xeipuuv/gojsonreference</text>
</g>
<!-- github.com/opencontainers/runtime&#45;tools&#45;&gt;github.com/xeipuuv/gojsonreference -->
<g id="edge100" class="edge">
<title>github.com/opencontainers/runtime&#45;tools&#45;&gt;github.com/xeipuuv/gojsonreference</title>
<path fill="none" stroke="green" stroke-width="2" d="M749.41,-3353.53C806.85,-3346.06 871.75,-3337.62 923.88,-3330.84"/>
<polygon fill="green" stroke="green" stroke-width="2" points="922.67,-3334.53 932.14,-3329.77 921.77,-3327.59 922.67,-3334.53"/>
</g>
<!-- github.com/opencontainers/selinux -->
<g id="node75" class="node">
<title>github.com/opencontainers/selinux</title>
<polygon fill="#ffffcc" stroke="black" points="272.12,-3228 103.12,-3228 103.12,-3192 272.12,-3192 272.12,-3228"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-3213.05" font-family="Times,serif" font-size="11.00">github.com/opencontainers/selinux</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-3199.55" font-family="Times,serif" font-size="11.00">v1.12.0 → v1.13.1</text>
</g>
<!-- github.com/opencontainers/selinux&#45;&gt;github.com/cyphar/filepath&#45;securejoin -->
<g id="edge101" class="edge">
<title>github.com/opencontainers/selinux&#45;&gt;github.com/cyphar/filepath&#45;securejoin</title>
<path fill="none" stroke="green" stroke-width="2" d="M272.46,-3210C338.9,-3210 432.04,-3210 502.91,-3210"/>
<polygon fill="green" stroke="green" stroke-width="2" points="501.05,-3213.5 511.05,-3210 501.05,-3206.5 501.05,-3213.5"/>
</g>
<!-- github.com/pquerna/cachecontrol -->
<g id="node77" class="node">
<title>github.com/pquerna/cachecontrol</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1105.12,-1008 942.12,-1008 942.12,-972 1105.12,-972 1105.12,-1008"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-986.3" font-family="Times,serif" font-size="11.00">github.com/pquerna/cachecontrol</text>
</g>
<!-- github.com/prometheus/client_golang -->
<g id="node78" class="node">
<title>github.com/prometheus/client_golang</title>
<polygon fill="#ffffcc" stroke="black" points="278.12,-4632 97.12,-4632 97.12,-4596 278.12,-4596 278.12,-4632"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-4617.05" font-family="Times,serif" font-size="11.00">github.com/prometheus/client_golang</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-4603.55" font-family="Times,serif" font-size="11.00">v1.22.0 → v1.23.2</text>
</g>
<!-- github.com/prometheus/client_model -->
<g id="node79" class="node">
<title>github.com/prometheus/client_model</title>
<polygon fill="#ffffcc" stroke="black" points="1113,-3552 934.25,-3552 934.25,-3516 1113,-3516 1113,-3552"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-3537.05" font-family="Times,serif" font-size="11.00">github.com/prometheus/client_model</text>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-3523.55" font-family="Times,serif" font-size="11.00">v0.6.1 → v0.6.2</text>
</g>
<!-- github.com/prometheus/client_model&#45;&gt;go -->
<g id="edge102" class="edge">
<title>github.com/prometheus/client_model&#45;&gt;go</title>
<path fill="none" stroke="green" stroke-width="2" d="M1113.09,-3542.49C1147.68,-3540.89 1184.93,-3532.24 1209.75,-3507 1263.79,-3452.04 1300.66,-2889.04 1308.8,-2753.32"/>
<polygon fill="green" stroke="green" stroke-width="2" points="1312.18,-2755.43 1309.28,-2745.24 1305.19,-2755.02 1312.18,-2755.43"/>
</g>
<!-- github.com/prometheus/common -->
<g id="node80" class="node">
<title>github.com/prometheus/common</title>
<polygon fill="#ffffcc" stroke="black" points="267.25,-4686 108,-4686 108,-4650 267.25,-4650 267.25,-4686"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-4671.05" font-family="Times,serif" font-size="11.00">github.com/prometheus/common</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-4657.55" font-family="Times,serif" font-size="11.00">v0.62.0 → v0.66.1</text>
</g>
<!-- github.com/prometheus/procfs -->
<g id="node81" class="node">
<title>github.com/prometheus/procfs</title>
<polygon fill="#ffffcc" stroke="black" points="1098.38,-2742 948.88,-2742 948.88,-2706 1098.38,-2706 1098.38,-2742"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-2727.05" font-family="Times,serif" font-size="11.00">github.com/prometheus/procfs</text>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-2713.55" font-family="Times,serif" font-size="11.00">v0.15.1 → v0.16.1</text>
</g>
<!-- github.com/prometheus/procfs&#45;&gt;go -->
<g id="edge103" class="edge">
<title>github.com/prometheus/procfs&#45;&gt;go</title>
<path fill="none" stroke="green" stroke-width="2" d="M1098.62,-2724C1147.82,-2724 1211.36,-2724 1255.97,-2724"/>
<polygon fill="green" stroke="green" stroke-width="2" points="1254.43,-2727.5 1264.43,-2724 1254.43,-2720.5 1254.43,-2727.5"/>
</g>
<!-- github.com/safchain/ethtool -->
<g id="node83" class="node">
<title>github.com/safchain/ethtool</title>
<polygon fill="#ffffcc" stroke="black" points="256.75,-4740 118.5,-4740 118.5,-4704 256.75,-4704 256.75,-4740"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-4725.05" font-family="Times,serif" font-size="11.00">github.com/safchain/ethtool</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-4711.55" font-family="Times,serif" font-size="11.00">v0.5.10 → v0.6.2</text>
</g>
<!-- github.com/sirupsen/logrus -->
<g id="node84" class="node">
<title>github.com/sirupsen/logrus</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1090.88,-954 956.38,-954 956.38,-918 1090.88,-918 1090.88,-954"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-932.3" font-family="Times,serif" font-size="11.00">github.com/sirupsen/logrus</text>
</g>
<!-- github.com/soheilhy/cmux -->
<g id="node85" class="node">
<title>github.com/soheilhy/cmux</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1089.38,-900 957.88,-900 957.88,-864 1089.38,-864 1089.38,-900"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-878.3" font-family="Times,serif" font-size="11.00">github.com/soheilhy/cmux</text>
</g>
<!-- github.com/spf13/cobra -->
<g id="node86" class="node">
<title>github.com/spf13/cobra</title>
<polygon fill="#ffffcc" stroke="black" points="247.38,-4794 127.88,-4794 127.88,-4758 247.38,-4758 247.38,-4794"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-4779.05" font-family="Times,serif" font-size="11.00">github.com/spf13/cobra</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-4765.55" font-family="Times,serif" font-size="11.00">v1.8.1 → v1.9.1</text>
</g>
<!-- github.com/spf13/pflag -->
<g id="node87" class="node">
<title>github.com/spf13/pflag</title>
<polygon fill="#ffffcc" stroke="black" points="246.25,-4848 129,-4848 129,-4812 246.25,-4812 246.25,-4848"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-4833.05" font-family="Times,serif" font-size="11.00">github.com/spf13/pflag</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-4819.55" font-family="Times,serif" font-size="11.00">v1.0.5 → v1.0.9</text>
</g>
<!-- github.com/stoewer/go&#45;strcase -->
<g id="node88" class="node">
<title>github.com/stoewer/go&#45;strcase</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1099.5,-846 947.75,-846 947.75,-810 1099.5,-810 1099.5,-846"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-824.3" font-family="Times,serif" font-size="11.00">github.com/stoewer/go&#45;strcase</text>
</g>
<!-- github.com/tchap/go&#45;patricia/v2 -->
<g id="node91" class="node">
<title>github.com/tchap/go&#45;patricia/v2</title>
<polygon fill="#ffffcc" stroke="black" points="265.75,-4902 109.5,-4902 109.5,-4866 265.75,-4866 265.75,-4902"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-4887.05" font-family="Times,serif" font-size="11.00">github.com/tchap/go&#45;patricia/v2</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-4873.55" font-family="Times,serif" font-size="11.00">v2.3.2 → v2.3.3</text>
</g>
<!-- github.com/tetratelabs/wazero&#45;&gt;go -->
<g id="edge104" class="edge">
<title>github.com/tetratelabs/wazero&#45;&gt;go</title>
<path fill="none" stroke="green" stroke-width="2" d="M1099.1,-2534.21C1135.94,-2535.19 1178.98,-2542.55 1209.75,-2567 1244.13,-2594.31 1221.75,-2622.23 1245.75,-2659 1255.07,-2673.28 1267.91,-2686.98 1279.7,-2698.09"/>
<polygon fill="green" stroke="green" stroke-width="2" points="1276.06,-2699.5 1285.8,-2703.65 1280.77,-2694.32 1276.06,-2699.5"/>
</g>
<!-- github.com/tmc/grpc&#45;websocket&#45;proxy -->
<g id="node93" class="node">
<title>github.com/tmc/grpc&#45;websocket&#45;proxy</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1116.75,-738 930.5,-738 930.5,-702 1116.75,-702 1116.75,-738"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-716.3" font-family="Times,serif" font-size="11.00">github.com/tmc/grpc&#45;websocket&#45;proxy</text>
</g>
<!-- github.com/ulikunitz/xz -->
<g id="node94" class="node">
<title>github.com/ulikunitz/xz</title>
<polygon fill="#ffffcc" stroke="black" points="247.38,-4956 127.88,-4956 127.88,-4920 247.38,-4920 247.38,-4956"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-4941.05" font-family="Times,serif" font-size="11.00">github.com/ulikunitz/xz</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-4927.55" font-family="Times,serif" font-size="11.00">v0.5.12 → v0.5.15</text>
</g>
<!-- github.com/urfave/cli/v2 -->
<g id="node95" class="node">
<title>github.com/urfave/cli/v2</title>
<polygon fill="#ffffcc" stroke="black" points="249.62,-5010 125.62,-5010 125.62,-4974 249.62,-4974 249.62,-5010"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-4995.05" font-family="Times,serif" font-size="11.00">github.com/urfave/cli/v2</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-4981.55" font-family="Times,serif" font-size="11.00">v2.27.6 → v2.27.7</text>
</g>
<!-- github.com/vishvananda/netlink -->
<g id="node96" class="node">
<title>github.com/vishvananda/netlink</title>
<polygon fill="#ffffcc" stroke="black" points="307.38,-5064 67.88,-5064 67.88,-5028 307.38,-5028 307.38,-5064"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-5049.05" font-family="Times,serif" font-size="11.00">github.com/vishvananda/netlink</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-5035.55" font-family="Times,serif" font-size="11.00">v1.3.1&#45;0.20250303224720&#45;0e7078ed04c8 → v1.3.1</text>
</g>
<!-- github.com/xeipuuv/gojsonschema -->
<g id="node99" class="node">
<title>github.com/xeipuuv/gojsonschema</title>
<polygon fill="white" stroke="black" points="690.12,-3336 522.62,-3336 522.62,-3300 690.12,-3300 690.12,-3336"/>
<text xml:space="preserve" text-anchor="middle" x="606.38" y="-3314.3" font-family="Times,serif" font-size="11.00">github.com/xeipuuv/gojsonschema</text>
</g>
<!-- github.com/xeipuuv/gojsonschema&#45;&gt;github.com/stretchr/testify -->
<g id="edge16" class="edge">
<title>github.com/xeipuuv/gojsonschema&#45;&gt;github.com/stretchr/testify</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M690.33,-3325.26C728.08,-3324.21 771.02,-3316.34 801.5,-3291 840.41,-3258.65 798.7,-3215.48 837.5,-3183 867.18,-3158.16 909.35,-3150.59 945.94,-3149.6"/>
<polygon fill="red" stroke="red" points="945.62,-3153.11 955.58,-3149.51 945.55,-3146.11 945.62,-3153.11"/>
</g>
<!-- github.com/xeipuuv/gojsonschema&#45;&gt;github.com/xeipuuv/gojsonpointer -->
<g id="edge17" class="edge">
<title>github.com/xeipuuv/gojsonschema&#45;&gt;github.com/xeipuuv/gojsonpointer</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M690.41,-3307.2C759.6,-3298.2 858.1,-3285.4 929.87,-3276.06"/>
<polygon fill="red" stroke="red" points="930.18,-3279.55 939.65,-3274.79 929.28,-3272.61 930.18,-3279.55"/>
</g>
<!-- github.com/xeipuuv/gojsonschema&#45;&gt;github.com/xeipuuv/gojsonreference -->
<g id="edge18" class="edge">
<title>github.com/xeipuuv/gojsonschema&#45;&gt;github.com/xeipuuv/gojsonreference</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M690.41,-3318C757.7,-3318 852.68,-3318 923.87,-3318"/>
<polygon fill="red" stroke="red" points="923.57,-3321.5 933.57,-3318 923.57,-3314.5 923.57,-3321.5"/>
</g>
<!-- github.com/xiang90/probing -->
<g id="node100" class="node">
<title>github.com/xiang90/probing</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1092.75,-684 954.5,-684 954.5,-648 1092.75,-648 1092.75,-684"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-662.3" font-family="Times,serif" font-size="11.00">github.com/xiang90/probing</text>
</g>
<!-- go.etcd.io/bbolt -->
<g id="node102" class="node">
<title>go.etcd.io/bbolt</title>
<polygon fill="#ffffcc" stroke="black" points="1067.25,-630 980,-630 980,-594 1067.25,-594 1067.25,-630"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-615.05" font-family="Times,serif" font-size="11.00">go.etcd.io/bbolt</text>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-601.55" font-family="Times,serif" font-size="11.00">v1.4.0 → v1.4.3</text>
</g>
<!-- go.etcd.io/etcd/api/v3 -->
<g id="node103" class="node">
<title>go.etcd.io/etcd/api/v3</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1079.25,-252 968,-252 968,-216 1079.25,-216 1079.25,-252"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-230.3" font-family="Times,serif" font-size="11.00">go.etcd.io/etcd/api/v3</text>
</g>
<!-- go.etcd.io/etcd/client/pkg/v3 -->
<g id="node104" class="node">
<title>go.etcd.io/etcd/client/pkg/v3</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1094.25,-198 953,-198 953,-162 1094.25,-162 1094.25,-198"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-176.3" font-family="Times,serif" font-size="11.00">go.etcd.io/etcd/client/pkg/v3</text>
</g>
<!-- go.etcd.io/etcd/client/v2 -->
<g id="node105" class="node">
<title>go.etcd.io/etcd/client/v2</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1084.88,-144 962.38,-144 962.38,-108 1084.88,-108 1084.88,-144"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-122.3" font-family="Times,serif" font-size="11.00">go.etcd.io/etcd/client/v2</text>
</g>
<!-- go.etcd.io/etcd/client/v3 -->
<g id="node106" class="node">
<title>go.etcd.io/etcd/client/v3</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1084.88,-90 962.38,-90 962.38,-54 1084.88,-54 1084.88,-90"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-68.3" font-family="Times,serif" font-size="11.00">go.etcd.io/etcd/client/v3</text>
</g>
<!-- go.etcd.io/etcd/pkg/v3 -->
<g id="node107" class="node">
<title>go.etcd.io/etcd/pkg/v3</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1080.38,-36 966.88,-36 966.88,0 1080.38,0 1080.38,-36"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-14.3" font-family="Times,serif" font-size="11.00">go.etcd.io/etcd/pkg/v3</text>
</g>
<!-- go.etcd.io/etcd/raft/v3 -->
<g id="node108" class="node">
<title>go.etcd.io/etcd/raft/v3</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1080.38,-2142 966.88,-2142 966.88,-2106 1080.38,-2106 1080.38,-2142"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-2120.3" font-family="Times,serif" font-size="11.00">go.etcd.io/etcd/raft/v3</text>
</g>
<!-- go.etcd.io/etcd/server/v3 -->
<g id="node109" class="node">
<title>go.etcd.io/etcd/server/v3</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1086.38,-2088 960.88,-2088 960.88,-2052 1086.38,-2052 1086.38,-2088"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-2066.3" font-family="Times,serif" font-size="11.00">go.etcd.io/etcd/server/v3</text>
</g>
<!-- go.opentelemetry.io/contrib/detectors/gcp -->
<g id="node110" class="node">
<title>go.opentelemetry.io/contrib/detectors/gcp</title>
<polygon fill="#ffffcc" stroke="black" points="287.12,-5118 88.12,-5118 88.12,-5082 287.12,-5082 287.12,-5118"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-5103.05" font-family="Times,serif" font-size="11.00">go.opentelemetry.io/contrib/detectors/gcp</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-5089.55" font-family="Times,serif" font-size="11.00">v1.34.0 → v1.36.0</text>
</g>
<!-- go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc -->
<g id="node111" class="node">
<title>go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1199.25,-2034 848,-2034 848,-1998 1199.25,-1998 1199.25,-2034"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-2012.3" font-family="Times,serif" font-size="11.00">go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc</text>
</g>
<!-- go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp -->
<g id="node112" class="node">
<title>go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1163.62,-1980 883.62,-1980 883.62,-1944 1163.62,-1944 1163.62,-1980"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-1958.3" font-family="Times,serif" font-size="11.00">go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp</text>
</g>
<!-- go.opentelemetry.io/otel -->
<g id="node113" class="node">
<title>go.opentelemetry.io/otel</title>
<polygon fill="#ffffcc" stroke="black" points="1084.88,-2250 962.38,-2250 962.38,-2214 1084.88,-2214 1084.88,-2250"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-2235.05" font-family="Times,serif" font-size="11.00">go.opentelemetry.io/otel</text>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-2221.55" font-family="Times,serif" font-size="11.00">v1.35.0 → v1.37.0</text>
</g>
<!-- go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc -->
<g id="node114" class="node">
<title>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1168.5,-1926 878.75,-1926 878.75,-1890 1168.5,-1890 1168.5,-1926"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-1904.3" font-family="Times,serif" font-size="11.00">go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc</text>
</g>
<!-- go.opentelemetry.io/otel/metric -->
<g id="node115" class="node">
<title>go.opentelemetry.io/otel/metric</title>
<polygon fill="#ffffcc" stroke="black" points="264.62,-5172 110.62,-5172 110.62,-5136 264.62,-5136 264.62,-5172"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-5157.05" font-family="Times,serif" font-size="11.00">go.opentelemetry.io/otel/metric</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-5143.55" font-family="Times,serif" font-size="11.00">v1.35.0 → v1.37.0</text>
</g>
<!-- go.opentelemetry.io/otel/sdk -->
<g id="node116" class="node">
<title>go.opentelemetry.io/otel/sdk</title>
<polygon fill="#ffffcc" stroke="black" points="257.88,-5226 117.38,-5226 117.38,-5190 257.88,-5190 257.88,-5226"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-5211.05" font-family="Times,serif" font-size="11.00">go.opentelemetry.io/otel/sdk</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-5197.55" font-family="Times,serif" font-size="11.00">v1.35.0 → v1.37.0</text>
</g>
<!-- go.opentelemetry.io/otel/trace -->
<g id="node117" class="node">
<title>go.opentelemetry.io/otel/trace</title>
<polygon fill="#ffffcc" stroke="black" points="261.62,-5280 113.62,-5280 113.62,-5244 261.62,-5244 261.62,-5280"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-5265.05" font-family="Times,serif" font-size="11.00">go.opentelemetry.io/otel/trace</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-5251.55" font-family="Times,serif" font-size="11.00">v1.35.0 → v1.37.0</text>
</g>
<!-- go.uber.org/goleak -->
<g id="node118" class="node">
<title>go.uber.org/goleak</title>
<polygon fill="#ffffcc" stroke="black" points="654.88,-3282 557.88,-3282 557.88,-3246 654.88,-3246 654.88,-3282"/>
<text xml:space="preserve" text-anchor="middle" x="606.38" y="-3267.05" font-family="Times,serif" font-size="11.00">go.uber.org/goleak</text>
<text xml:space="preserve" text-anchor="middle" x="606.38" y="-3253.55" font-family="Times,serif" font-size="11.00">v1.1.12 → v1.3.0</text>
</g>
<!-- go.uber.org/goleak&#45;&gt;github.com/kr/pretty -->
<g id="edge105" class="edge">
<title>go.uber.org/goleak&#45;&gt;github.com/kr/pretty</title>
<path fill="none" stroke="green" stroke-width="2" d="M655.01,-3257.81C729.99,-3248.06 875.59,-3229.12 959.29,-3218.24"/>
<polygon fill="green" stroke="green" stroke-width="2" points="958.21,-3221.91 967.68,-3217.15 957.31,-3214.96 958.21,-3221.91"/>
</g>
<!-- go.uber.org/goleak&#45;&gt;github.com/stretchr/testify -->
<g id="edge106" class="edge">
<title>go.uber.org/goleak&#45;&gt;github.com/stretchr/testify</title>
<path fill="none" stroke="green" stroke-width="2" d="M655.36,-3267.86C697.07,-3268.89 757.55,-3264.59 801.5,-3237 825.93,-3221.67 813.12,-3198.41 837.5,-3183 869.46,-3162.8 910.63,-3155.38 946.02,-3153.31"/>
<polygon fill="green" stroke="green" stroke-width="2" points="944.43,-3156.88 954.27,-3152.94 944.13,-3149.89 944.43,-3156.88"/>
</g>
<!-- go.uber.org/multierr -->
<g id="node119" class="node">
<title>go.uber.org/multierr</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1075.12,-1872 972.12,-1872 972.12,-1836 1075.12,-1836 1075.12,-1872"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-1850.3" font-family="Times,serif" font-size="11.00">go.uber.org/multierr</text>
</g>
<!-- go.uber.org/zap -->
<g id="node120" class="node">
<title>go.uber.org/zap</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1065.38,-1818 981.88,-1818 981.88,-1782 1065.38,-1782 1065.38,-1818"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-1796.3" font-family="Times,serif" font-size="11.00">go.uber.org/zap</text>
</g>
<!-- go.yaml.in/yaml/v2 -->
<g id="node121" class="node">
<title>go.yaml.in/yaml/v2</title>
<polygon fill="#ccffcc" stroke="black" points="1361.88,-2558 1261.12,-2558 1261.12,-2522 1361.88,-2522 1361.88,-2558"/>
<text xml:space="preserve" text-anchor="middle" x="1311.5" y="-2536.3" font-family="Times,serif" font-size="11.00">go.yaml.in/yaml/v2</text>
</g>
<!-- gopkg.in/check.v1 -->
<g id="node141" class="node">
<title>gopkg.in/check.v1</title>
<polygon fill="#ccffcc" stroke="black" points="1509.5,-2458 1413.25,-2458 1413.25,-2422 1509.5,-2422 1509.5,-2458"/>
<text xml:space="preserve" text-anchor="middle" x="1461.38" y="-2436.3" font-family="Times,serif" font-size="11.00">gopkg.in/check.v1</text>
</g>
<!-- go.yaml.in/yaml/v2&#45;&gt;gopkg.in/check.v1 -->
<g id="edge107" class="edge">
<title>go.yaml.in/yaml/v2&#45;&gt;gopkg.in/check.v1</title>
<path fill="none" stroke="green" stroke-width="2" d="M1361.45,-2521.62C1366.91,-2518.98 1372.29,-2516.09 1377.25,-2513 1398.29,-2499.87 1419.24,-2481.42 1434.85,-2466.36"/>
<polygon fill="green" stroke="green" stroke-width="2" points="1436.12,-2470.02 1440.79,-2460.51 1431.2,-2465.04 1436.12,-2470.02"/>
</g>
<!-- go.yaml.in/yaml/v3 -->
<g id="node122" class="node">
<title>go.yaml.in/yaml/v3</title>
<polygon fill="#ccffcc" stroke="black" points="1361.88,-2504 1261.12,-2504 1261.12,-2468 1361.88,-2468 1361.88,-2504"/>
<text xml:space="preserve" text-anchor="middle" x="1311.5" y="-2482.3" font-family="Times,serif" font-size="11.00">go.yaml.in/yaml/v3</text>
</g>
<!-- golang.org/x/exp -->
<g id="node124" class="node">
<title>golang.org/x/exp</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1068.38,-1764 978.88,-1764 978.88,-1728 1068.38,-1728 1068.38,-1764"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-1742.3" font-family="Times,serif" font-size="11.00">golang.org/x/exp</text>
</g>
<!-- golang.org/x/mod -->
<g id="node125" class="node">
<title>golang.org/x/mod</title>
<polygon fill="#ffffcc" stroke="black" points="236.5,-5334 138.75,-5334 138.75,-5298 236.5,-5298 236.5,-5334"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-5319.05" font-family="Times,serif" font-size="11.00">golang.org/x/mod</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-5305.55" font-family="Times,serif" font-size="11.00">v0.24.0 → v0.29.0</text>
</g>
<!-- golang.org/x/oauth2 -->
<g id="node127" class="node">
<title>golang.org/x/oauth2</title>
<polygon fill="#ffffcc" stroke="black" points="657.88,-2758 554.88,-2758 554.88,-2722 657.88,-2722 657.88,-2758"/>
<text xml:space="preserve" text-anchor="middle" x="606.38" y="-2743.05" font-family="Times,serif" font-size="11.00">golang.org/x/oauth2</text>
<text xml:space="preserve" text-anchor="middle" x="606.38" y="-2729.55" font-family="Times,serif" font-size="11.00">v0.27.0 → v0.30.0</text>
</g>
<!-- golang.org/x/oauth2&#45;&gt;github.com/google/go&#45;cmp -->
<g id="edge19" class="edge">
<title>golang.org/x/oauth2&#45;&gt;github.com/google/go&#45;cmp</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M658.29,-2744.66C730.14,-2751.23 861.84,-2763.29 945.67,-2770.96"/>
<polygon fill="red" stroke="red" points="945.13,-2774.42 955.41,-2771.85 945.77,-2767.45 945.13,-2774.42"/>
</g>
<!-- golang.org/x/sync -->
<g id="node128" class="node">
<title>golang.org/x/sync</title>
<polygon fill="#ffffcc" stroke="black" points="236.5,-5388 138.75,-5388 138.75,-5352 236.5,-5352 236.5,-5388"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-5373.05" font-family="Times,serif" font-size="11.00">golang.org/x/sync</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-5359.55" font-family="Times,serif" font-size="11.00">v0.14.0 → v0.18.0</text>
</g>
<!-- golang.org/x/term -->
<g id="node130" class="node">
<title>golang.org/x/term</title>
<polygon fill="#ffffcc" stroke="black" points="236.5,-5442 138.75,-5442 138.75,-5406 236.5,-5406 236.5,-5442"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-5427.05" font-family="Times,serif" font-size="11.00">golang.org/x/term</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-5413.55" font-family="Times,serif" font-size="11.00">v0.30.0 → v0.37.0</text>
</g>
<!-- golang.org/x/text -->
<g id="node131" class="node">
<title>golang.org/x/text</title>
<polygon fill="#ffffcc" stroke="black" points="236.5,-5496 138.75,-5496 138.75,-5460 236.5,-5460 236.5,-5496"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-5481.05" font-family="Times,serif" font-size="11.00">golang.org/x/text</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-5467.55" font-family="Times,serif" font-size="11.00">v0.23.0 → v0.31.0</text>
</g>
<!-- golang.org/x/time -->
<g id="node132" class="node">
<title>golang.org/x/time</title>
<polygon fill="#ffffcc" stroke="black" points="1070.25,-3660 977,-3660 977,-3624 1070.25,-3624 1070.25,-3660"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-3645.05" font-family="Times,serif" font-size="11.00">golang.org/x/time</text>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-3631.55" font-family="Times,serif" font-size="11.00">v0.7.0 → v0.14.0</text>
</g>
<!-- golang.org/x/time&#45;&gt;go -->
<g id="edge108" class="edge">
<title>golang.org/x/time&#45;&gt;go</title>
<path fill="none" stroke="green" stroke-width="2" d="M1070.35,-3649.45C1112.69,-3653.49 1174.28,-3651.63 1209.75,-3615 1271.17,-3551.57 1302.85,-2900.79 1309.27,-2753.52"/>
<polygon fill="green" stroke="green" stroke-width="2" points="1312.69,-2755.48 1309.62,-2745.34 1305.69,-2755.18 1312.69,-2755.48"/>
</g>
<!-- golang.org/x/tools -->
<g id="node133" class="node">
<title>golang.org/x/tools</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="653.75,-2704 559,-2704 559,-2668 653.75,-2668 653.75,-2704"/>
<text xml:space="preserve" text-anchor="middle" x="606.38" y="-2682.3" font-family="Times,serif" font-size="11.00">golang.org/x/tools</text>
</g>
<!-- golang.org/x/xerrors -->
<g id="node134" class="node">
<title>golang.org/x/xerrors</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="240.25,-5550 135,-5550 135,-5514 240.25,-5514 240.25,-5550"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-5528.3" font-family="Times,serif" font-size="11.00">golang.org/x/xerrors</text>
</g>
<!-- gonum.org/v1/gonum -->
<g id="node135" class="node">
<title>gonum.org/v1/gonum</title>
<polygon fill="#ccffcc" stroke="black" points="241.75,-5604 133.5,-5604 133.5,-5568 241.75,-5568 241.75,-5604"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-5582.3" font-family="Times,serif" font-size="11.00">gonum.org/v1/gonum</text>
</g>
<!-- google.golang.org/genproto/googleapis/api -->
<g id="node137" class="node">
<title>google.golang.org/genproto/googleapis/api</title>
<polygon fill="#ffffcc" stroke="black" points="375.25,-5658 0,-5658 0,-5622 375.25,-5622 375.25,-5658"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-5643.05" font-family="Times,serif" font-size="11.00">google.golang.org/genproto/googleapis/api</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-5629.55" font-family="Times,serif" font-size="11.00">v0.0.0&#45;20250218202821&#45;56aae31c358a → v0.0.0&#45;20250804133106&#45;a7a43d27e69b</text>
</g>
<!-- google.golang.org/genproto/googleapis/rpc -->
<g id="node138" class="node">
<title>google.golang.org/genproto/googleapis/rpc</title>
<polygon fill="#ffffcc" stroke="black" points="375.25,-5712 0,-5712 0,-5676 375.25,-5676 375.25,-5712"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-5697.05" font-family="Times,serif" font-size="11.00">google.golang.org/genproto/googleapis/rpc</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-5683.55" font-family="Times,serif" font-size="11.00">v0.0.0&#45;20250218202821&#45;56aae31c358a → v0.0.0&#45;20250804133106&#45;a7a43d27e69b</text>
</g>
<!-- google.golang.org/grpc -->
<g id="node139" class="node">
<title>google.golang.org/grpc</title>
<polygon fill="#ffffcc" stroke="black" points="246.25,-5766 129,-5766 129,-5730 246.25,-5730 246.25,-5766"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-5751.05" font-family="Times,serif" font-size="11.00">google.golang.org/grpc</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-5737.55" font-family="Times,serif" font-size="11.00">v1.72.0 → v1.76.0</text>
</g>
<!-- gopkg.in/natefinch/lumberjack.v2 -->
<g id="node142" class="node">
<title>gopkg.in/natefinch/lumberjack.v2</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1105.5,-1710 941.75,-1710 941.75,-1674 1105.5,-1674 1105.5,-1710"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-1688.3" font-family="Times,serif" font-size="11.00">gopkg.in/natefinch/lumberjack.v2</text>
</g>
<!-- gopkg.in/square/go&#45;jose.v2 -->
<g id="node143" class="node">
<title>gopkg.in/square/go&#45;jose.v2</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1090.88,-1656 956.38,-1656 956.38,-1620 1090.88,-1620 1090.88,-1656"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-1634.3" font-family="Times,serif" font-size="11.00">gopkg.in/square/go&#45;jose.v2</text>
</g>
<!-- gopkg.in/yaml.v2&#45;&gt;gopkg.in/check.v1 -->
<g id="edge20" class="edge">
<title>gopkg.in/yaml.v2&#45;&gt;gopkg.in/check.v1</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M1347.92,-2381.44C1368.06,-2391.93 1393.48,-2405.17 1415.06,-2416.4"/>
<polygon fill="red" stroke="red" points="1413.16,-2419.36 1423.65,-2420.87 1416.39,-2413.15 1413.16,-2419.36"/>
</g>
<!-- k8s.io/api -->
<g id="node146" class="node">
<title>k8s.io/api</title>
<polygon fill="#ffffcc" stroke="black" points="236.5,-2488 138.75,-2488 138.75,-2452 236.5,-2452 236.5,-2488"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-2473.05" font-family="Times,serif" font-size="11.00">k8s.io/api</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-2459.55" font-family="Times,serif" font-size="11.00">v0.32.3 → v0.34.1</text>
</g>
<!-- k8s.io/api&#45;&gt;github.com/rogpeppe/go&#45;internal -->
<g id="edge21" class="edge">
<title>k8s.io/api&#45;&gt;github.com/rogpeppe/go&#45;internal</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M236.84,-2470C304.71,-2470 429.67,-2470 515.1,-2470"/>
<polygon fill="red" stroke="red" points="514.84,-2473.5 524.84,-2470 514.84,-2466.5 514.84,-2473.5"/>
</g>
<!-- k8s.io/apimachinery -->
<g id="node147" class="node">
<title>k8s.io/apimachinery</title>
<polygon fill="#ffffcc" stroke="black" points="240.25,-2677 135,-2677 135,-2641 240.25,-2641 240.25,-2677"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-2662.05" font-family="Times,serif" font-size="11.00">k8s.io/apimachinery</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-2648.55" font-family="Times,serif" font-size="11.00">v0.32.3 → v0.34.1</text>
</g>
<!-- k8s.io/apimachinery&#45;&gt;github.com/go&#45;task/slim&#45;sprig/v3 -->
<g id="edge22" class="edge">
<title>k8s.io/apimachinery&#45;&gt;github.com/go&#45;task/slim&#45;sprig/v3</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M240.48,-2644.87C285.4,-2633 352.25,-2616.23 411.25,-2605 444.74,-2598.63 481.75,-2593.11 514.39,-2588.75"/>
<polygon fill="red" stroke="red" points="514.79,-2592.23 524.24,-2587.45 513.87,-2585.29 514.79,-2592.23"/>
</g>
<!-- k8s.io/apimachinery&#45;&gt;github.com/golang/protobuf -->
<g id="edge23" class="edge">
<title>k8s.io/apimachinery&#45;&gt;github.com/golang/protobuf</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M201.11,-2677.41C231.4,-2720.38 313.5,-2827.27 411.25,-2875 446.72,-2892.32 489.9,-2899.49 526.53,-2902.15"/>
<polygon fill="red" stroke="red" points="525.96,-2905.62 536.15,-2902.74 526.39,-2898.63 525.96,-2905.62"/>
</g>
<!-- k8s.io/apimachinery&#45;&gt;github.com/google/pprof -->
<g id="edge24" class="edge">
<title>k8s.io/apimachinery&#45;&gt;github.com/google/pprof</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M206.89,-2677.33C242.61,-2711.93 325.7,-2786.47 411.25,-2821 449.71,-2836.52 495.56,-2843.39 533.03,-2846.32"/>
<polygon fill="red" stroke="red" points="532.65,-2849.8 542.87,-2847 533.14,-2842.81 532.65,-2849.8"/>
</g>
<!-- k8s.io/apimachinery&#45;&gt;github.com/rogpeppe/go&#45;internal -->
<g id="edge109" class="edge">
<title>k8s.io/apimachinery&#45;&gt;github.com/rogpeppe/go&#45;internal</title>
<path fill="none" stroke="green" stroke-width="2" d="M206.89,-2640.67C242.61,-2606.07 325.7,-2531.53 411.25,-2497 443.85,-2483.84 481.76,-2476.91 515.38,-2473.31"/>
<polygon fill="green" stroke="green" stroke-width="2" points="513.97,-2476.97 523.59,-2472.51 513.29,-2470 513.97,-2476.97"/>
</g>
<!-- k8s.io/apimachinery&#45;&gt;golang.org/x/sys -->
<g id="edge25" class="edge">
<title>k8s.io/apimachinery&#45;&gt;golang.org/x/sys</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M197.23,-2677.29C222.08,-2727.81 299.43,-2869.48 411.25,-2929 565.08,-3010.89 631.59,-2928.27 801.5,-2967 861.53,-2980.68 927.44,-3006.29 971.55,-3025.07"/>
<polygon fill="red" stroke="red" points="970.05,-3028.23 980.61,-3028.96 972.81,-3021.8 970.05,-3028.23"/>
</g>
<!-- k8s.io/apimachinery&#45;&gt;golang.org/x/tools -->
<g id="edge26" class="edge">
<title>k8s.io/apimachinery&#45;&gt;golang.org/x/tools</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M240.56,-2662.36C318.71,-2667.43 466.04,-2676.97 547.52,-2682.25"/>
<polygon fill="red" stroke="red" points="546.85,-2685.72 557.06,-2682.87 547.31,-2678.73 546.85,-2685.72"/>
</g>
<!-- sigs.k8s.io/structured&#45;merge&#45;diff/v4 -->
<g id="node159" class="node">
<title>sigs.k8s.io/structured&#45;merge&#45;diff/v4</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="693.5,-2542 519.25,-2542 519.25,-2506 693.5,-2506 693.5,-2542"/>
<text xml:space="preserve" text-anchor="middle" x="606.38" y="-2520.3" font-family="Times,serif" font-size="11.00">sigs.k8s.io/structured&#45;merge&#45;diff/v4</text>
</g>
<!-- k8s.io/apimachinery&#45;&gt;sigs.k8s.io/structured&#45;merge&#45;diff/v4 -->
<g id="edge27" class="edge">
<title>k8s.io/apimachinery&#45;&gt;sigs.k8s.io/structured&#45;merge&#45;diff/v4</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M218.71,-2640.6C260.37,-2616.03 338.7,-2573.04 411.25,-2551 441.99,-2541.66 476.45,-2535.54 507.72,-2531.53"/>
<polygon fill="red" stroke="red" points="508.07,-2535.01 517.58,-2530.33 507.23,-2528.07 508.07,-2535.01"/>
</g>
<!-- sigs.k8s.io/structured&#45;merge&#45;diff/v6 -->
<g id="node160" class="node">
<title>sigs.k8s.io/structured&#45;merge&#45;diff/v6</title>
<polygon fill="#ccffcc" stroke="black" points="693.5,-2650 519.25,-2650 519.25,-2614 693.5,-2614 693.5,-2650"/>
<text xml:space="preserve" text-anchor="middle" x="606.38" y="-2628.3" font-family="Times,serif" font-size="11.00">sigs.k8s.io/structured&#45;merge&#45;diff/v6</text>
</g>
<!-- k8s.io/apimachinery&#45;&gt;sigs.k8s.io/structured&#45;merge&#45;diff/v6 -->
<g id="edge110" class="edge">
<title>k8s.io/apimachinery&#45;&gt;sigs.k8s.io/structured&#45;merge&#45;diff/v6</title>
<path fill="none" stroke="green" stroke-width="2" d="M240.56,-2655.64C307.21,-2651.32 424.19,-2643.74 507.71,-2638.33"/>
<polygon fill="green" stroke="green" stroke-width="2" points="506.24,-2641.93 515.99,-2637.79 505.78,-2634.95 506.24,-2641.93"/>
</g>
<!-- k8s.io/apiserver -->
<g id="node148" class="node">
<title>k8s.io/apiserver</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="649.62,-1170 563.12,-1170 563.12,-1134 649.62,-1134 649.62,-1170"/>
<text xml:space="preserve" text-anchor="middle" x="606.38" y="-1148.3" font-family="Times,serif" font-size="11.00">k8s.io/apiserver</text>
</g>
<!-- k8s.io/apiserver&#45;&gt;github.com/NYTimes/gziphandler -->
<g id="edge28" class="edge">
<title>k8s.io/apiserver&#45;&gt;github.com/NYTimes/gziphandler</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M650.08,-1141.19C695.99,-1127.11 767.02,-1097.71 801.5,-1044 856.77,-957.9 767.6,-659.71 837.5,-585 860.63,-560.28 895.6,-551.21 928.95,-549.15"/>
<polygon fill="red" stroke="red" points="928.81,-552.66 938.67,-548.77 928.54,-545.67 928.81,-552.66"/>
</g>
<!-- k8s.io/apiserver&#45;&gt;github.com/antlr4&#45;go/antlr/v4 -->
<g id="edge29" class="edge">
<title>k8s.io/apiserver&#45;&gt;github.com/antlr4&#45;go/antlr/v4</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M649.74,-1141.37C695.71,-1127.39 767.14,-1098.02 801.5,-1044 862.84,-947.58 759.77,-614.77 837.5,-531 863.13,-503.38 903.54,-495.25 940.08,-494.61"/>
<polygon fill="red" stroke="red" points="939.75,-498.11 949.76,-494.64 939.77,-491.11 939.75,-498.11"/>
</g>
<!-- k8s.io/apiserver&#45;&gt;github.com/asaskevich/govalidator -->
<g id="edge30" class="edge">
<title>k8s.io/apiserver&#45;&gt;github.com/asaskevich/govalidator</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M649.81,-1141.41C695.84,-1127.47 767.32,-1098.13 801.5,-1044 868.91,-937.25 751.93,-569.83 837.5,-477 860.24,-452.32 894.78,-443.17 927.89,-441.03"/>
<polygon fill="red" stroke="red" points="927.69,-444.54 937.54,-440.62 927.4,-437.54 927.69,-444.54"/>
</g>
<!-- k8s.io/apiserver&#45;&gt;github.com/blang/semver/v4 -->
<g id="edge31" class="edge">
<title>k8s.io/apiserver&#45;&gt;github.com/blang/semver/v4</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M649.86,-1141.45C695.95,-1127.54 767.47,-1098.23 801.5,-1044 874.99,-926.92 744.09,-524.9 837.5,-423 863.36,-394.79 904.62,-386.83 941.64,-386.45"/>
<polygon fill="red" stroke="red" points="941.42,-389.95 951.45,-386.55 941.49,-382.95 941.42,-389.95"/>
</g>
<!-- k8s.io/apiserver&#45;&gt;github.com/coreos/go&#45;oidc -->
<g id="edge32" class="edge">
<title>k8s.io/apiserver&#45;&gt;github.com/coreos/go&#45;oidc</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M649.91,-1141.48C696.03,-1127.59 767.59,-1098.3 801.5,-1044 841.28,-980.29 786.88,-424.48 837.5,-369 864.3,-339.63 907.8,-332.17 945.9,-332.39"/>
<polygon fill="red" stroke="red" points="945.41,-335.88 955.49,-332.63 945.58,-328.88 945.41,-335.88"/>
</g>
<!-- k8s.io/apiserver&#45;&gt;github.com/coreos/go&#45;semver -->
<g id="edge33" class="edge">
<title>k8s.io/apiserver&#45;&gt;github.com/coreos/go&#45;semver</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M649.95,-1141.5C696.11,-1127.64 767.7,-1098.37 801.5,-1044 844.32,-975.13 782.96,-375.02 837.5,-315 862.64,-287.34 902.6,-279.09 938.96,-278.39"/>
<polygon fill="red" stroke="red" points="938.59,-281.89 948.6,-278.4 938.6,-274.89 938.59,-281.89"/>
</g>
<!-- k8s.io/apiserver&#45;&gt;github.com/coreos/go&#45;systemd/v22 -->
<g id="edge34" class="edge">
<title>k8s.io/apiserver&#45;&gt;github.com/coreos/go&#45;systemd/v22</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M608.82,-1170.13C619.05,-1293.6 684.54,-2010.03 837.5,-2151 861.54,-2173.15 895.28,-2182.06 927.39,-2184.71"/>
<polygon fill="red" stroke="red" points="926.95,-2188.19 937.15,-2185.31 927.38,-2181.21 926.95,-2188.19"/>
</g>
<!-- k8s.io/apiserver&#45;&gt;github.com/dustin/go&#45;humanize -->
<g id="edge35" class="edge">
<title>k8s.io/apiserver&#45;&gt;github.com/dustin/go&#45;humanize</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M618.33,-1170.22C647.4,-1216.72 731.52,-1340 837.5,-1395 867.16,-1410.39 902.87,-1417.77 934.99,-1421.1"/>
<polygon fill="red" stroke="red" points="934.4,-1424.56 944.67,-1421.97 935.03,-1417.59 934.4,-1424.56"/>
</g>
<!-- k8s.io/apiserver&#45;&gt;github.com/fsnotify/fsnotify -->
<g id="edge36" class="edge">
<title>k8s.io/apiserver&#45;&gt;github.com/fsnotify/fsnotify</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M623.04,-1170.34C657.41,-1209.19 743.87,-1299.61 837.5,-1341 870.33,-1355.51 909.31,-1362.53 943.02,-1365.81"/>
<polygon fill="red" stroke="red" points="942.46,-1369.28 952.72,-1366.66 943.06,-1362.3 942.46,-1369.28"/>
</g>
<!-- k8s.io/apiserver&#45;&gt;github.com/golang&#45;jwt/jwt/v4 -->
<g id="edge37" class="edge">
<title>k8s.io/apiserver&#45;&gt;github.com/golang&#45;jwt/jwt/v4</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M631.35,-1170.36C671.56,-1200.13 756.21,-1258.46 837.5,-1287 869.71,-1298.31 906.68,-1304.88 939.07,-1308.71"/>
<polygon fill="red" stroke="red" points="938.49,-1312.16 948.81,-1309.78 939.26,-1305.2 938.49,-1312.16"/>
</g>
<!-- k8s.io/apiserver&#45;&gt;github.com/google/cel&#45;go -->
<g id="edge38" class="edge">
<title>k8s.io/apiserver&#45;&gt;github.com/google/cel&#45;go</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M649.88,-1169.76C695.5,-1188.16 770.47,-1216.48 837.5,-1233 873.48,-1241.87 914.17,-1248.19 948.21,-1252.48"/>
<polygon fill="red" stroke="red" points="947.63,-1255.94 957.98,-1253.68 948.48,-1248.99 947.63,-1255.94"/>
</g>
<!-- k8s.io/apiserver&#45;&gt;github.com/grpc&#45;ecosystem/go&#45;grpc&#45;middleware -->
<g id="edge39" class="edge">
<title>k8s.io/apiserver&#45;&gt;github.com/grpc&#45;ecosystem/go&#45;grpc&#45;middleware</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M649.86,-1157.53C707.53,-1165.02 813.02,-1178.74 897.1,-1189.68"/>
<polygon fill="red" stroke="red" points="896.42,-1193.12 906.79,-1190.94 897.32,-1186.18 896.42,-1193.12"/>
</g>
<!-- k8s.io/apiserver&#45;&gt;github.com/grpc&#45;ecosystem/go&#45;grpc&#45;prometheus -->
<g id="edge40" class="edge">
<title>k8s.io/apiserver&#45;&gt;github.com/grpc&#45;ecosystem/go&#45;grpc&#45;prometheus</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M649.86,-1152C707.57,-1152 813.17,-1152 897.28,-1152"/>
<polygon fill="red" stroke="red" points="897.22,-1155.5 907.22,-1152 897.22,-1148.5 897.22,-1155.5"/>
</g>
<!-- k8s.io/apiserver&#45;&gt;github.com/grpc&#45;ecosystem/grpc&#45;gateway -->
<g id="edge41" class="edge">
<title>k8s.io/apiserver&#45;&gt;github.com/grpc&#45;ecosystem/grpc&#45;gateway</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M649.86,-1146.47C710.79,-1138.55 825.12,-1123.68 911.16,-1112.5"/>
<polygon fill="red" stroke="red" points="911.61,-1115.97 921.07,-1111.21 910.7,-1109.03 911.61,-1115.97"/>
</g>
<!-- k8s.io/apiserver&#45;&gt;github.com/jonboulle/clockwork -->
<g id="edge42" class="edge">
<title>k8s.io/apiserver&#45;&gt;github.com/jonboulle/clockwork</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M649.88,-1134.24C695.5,-1115.84 770.47,-1087.52 837.5,-1071 868.4,-1063.39 902.76,-1057.65 933.41,-1053.46"/>
<polygon fill="red" stroke="red" points="933.56,-1056.97 943.02,-1052.19 932.64,-1050.03 933.56,-1056.97"/>
</g>
<!-- k8s.io/apiserver&#45;&gt;github.com/pquerna/cachecontrol -->
<g id="edge43" class="edge">
<title>k8s.io/apiserver&#45;&gt;github.com/pquerna/cachecontrol</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M644.01,-1133.52C683.7,-1113.07 748.44,-1078.43 801.5,-1044 818.28,-1033.11 819.03,-1024.68 837.5,-1017 866.61,-1004.89 900.27,-998.08 930.83,-994.3"/>
<polygon fill="red" stroke="red" points="930.89,-997.81 940.43,-993.21 930.1,-990.86 930.89,-997.81"/>
</g>
<!-- k8s.io/apiserver&#45;&gt;github.com/sirupsen/logrus -->
<g id="edge44" class="edge">
<title>k8s.io/apiserver&#45;&gt;github.com/sirupsen/logrus</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M650.02,-1137.51C693.21,-1120.92 759.47,-1089.97 801.5,-1044 828.08,-1014.93 806.11,-986.8 837.5,-963 867.74,-940.07 908.95,-932.45 944.81,-930.94"/>
<polygon fill="red" stroke="red" points="944.82,-934.44 954.73,-930.69 944.64,-927.44 944.82,-934.44"/>
</g>
<!-- k8s.io/apiserver&#45;&gt;github.com/soheilhy/cmux -->
<g id="edge45" class="edge">
<title>k8s.io/apiserver&#45;&gt;github.com/soheilhy/cmux</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M649.91,-1139.37C694.31,-1124 762.75,-1093.74 801.5,-1044 839.66,-995.01 791.12,-950.3 837.5,-909 866.63,-883.06 909.16,-875.52 946.11,-874.82"/>
<polygon fill="red" stroke="red" points="945.87,-878.32 955.87,-874.81 945.87,-871.32 945.87,-878.32"/>
</g>
<!-- k8s.io/apiserver&#45;&gt;github.com/stoewer/go&#45;strcase -->
<g id="edge46" class="edge">
<title>k8s.io/apiserver&#45;&gt;github.com/stoewer/go&#45;strcase</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M649.81,-1140.18C694.79,-1125.35 764.35,-1095.43 801.5,-1044 851.58,-974.69 775.74,-914.14 837.5,-855 863.43,-830.17 901.48,-821.75 936.36,-820.2"/>
<polygon fill="red" stroke="red" points="936.12,-823.7 946.03,-819.96 935.95,-816.7 936.12,-823.7"/>
</g>
<!-- k8s.io/apiserver&#45;&gt;github.com/tmc/grpc&#45;websocket&#45;proxy -->
<g id="edge47" class="edge">
<title>k8s.io/apiserver&#45;&gt;github.com/tmc/grpc&#45;websocket&#45;proxy</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M650.07,-1140.78C695.62,-1126.41 766,-1096.81 801.5,-1044 875.68,-933.65 744.62,-842.15 837.5,-747 858.62,-725.36 888.87,-715.89 918.81,-712.6"/>
<polygon fill="red" stroke="red" points="919.07,-716.09 928.74,-711.75 918.48,-709.11 919.07,-716.09"/>
</g>
<!-- k8s.io/apiserver&#45;&gt;github.com/xiang90/probing -->
<g id="edge48" class="edge">
<title>k8s.io/apiserver&#45;&gt;github.com/xiang90/probing</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M649.84,-1141.03C695.54,-1126.82 766.38,-1097.3 801.5,-1044 844.64,-978.53 783.25,-749.61 837.5,-693 864.18,-665.16 905.93,-657.33 943.03,-656.95"/>
<polygon fill="red" stroke="red" points="942.83,-660.45 952.86,-657.04 942.89,-653.45 942.83,-660.45"/>
</g>
<!-- k8s.io/apiserver&#45;&gt;go.etcd.io/bbolt -->
<g id="edge49" class="edge">
<title>k8s.io/apiserver&#45;&gt;go.etcd.io/bbolt</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M649.97,-1141.12C695.79,-1126.99 766.74,-1097.53 801.5,-1044 850.7,-968.22 775.43,-704.66 837.5,-639 870.23,-604.37 926.25,-600.57 968.11,-603.63"/>
<polygon fill="red" stroke="red" points="967.73,-607.11 978,-604.52 968.36,-600.14 967.73,-607.11"/>
</g>
<!-- k8s.io/apiserver&#45;&gt;go.etcd.io/etcd/api/v3 -->
<g id="edge50" class="edge">
<title>k8s.io/apiserver&#45;&gt;go.etcd.io/etcd/api/v3</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M649.99,-1141.52C696.17,-1127.68 767.79,-1098.43 801.5,-1044 847.36,-969.96 779.04,-325.55 837.5,-261 866.63,-228.83 915.79,-222.89 956.13,-224.56"/>
<polygon fill="red" stroke="red" points="955.82,-228.05 966.01,-225.15 956.24,-221.06 955.82,-228.05"/>
</g>
<!-- k8s.io/apiserver&#45;&gt;go.etcd.io/etcd/client/pkg/v3 -->
<g id="edge51" class="edge">
<title>k8s.io/apiserver&#45;&gt;go.etcd.io/etcd/client/pkg/v3</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M650.02,-1141.54C696.23,-1127.72 767.87,-1098.48 801.5,-1044 850.4,-964.79 775.11,-276.09 837.5,-207 863.15,-178.6 904.39,-170.62 941.45,-170.28"/>
<polygon fill="red" stroke="red" points="941.25,-173.78 951.28,-170.39 941.32,-166.78 941.25,-173.78"/>
</g>
<!-- k8s.io/apiserver&#45;&gt;go.etcd.io/etcd/client/v2 -->
<g id="edge52" class="edge">
<title>k8s.io/apiserver&#45;&gt;go.etcd.io/etcd/client/v2</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M650.04,-1141.56C696.28,-1127.75 767.94,-1098.52 801.5,-1044 853.44,-959.62 771.19,-226.62 837.5,-153 865.3,-122.14 911.52,-115.37 950.82,-116.33"/>
<polygon fill="red" stroke="red" points="950.57,-119.82 960.72,-116.76 950.88,-112.83 950.57,-119.82"/>
</g>
<!-- k8s.io/apiserver&#45;&gt;go.etcd.io/etcd/client/v3 -->
<g id="edge53" class="edge">
<title>k8s.io/apiserver&#45;&gt;go.etcd.io/etcd/client/v3</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M650.06,-1141.57C696.32,-1127.77 768.01,-1098.56 801.5,-1044 856.47,-954.45 767.27,-177.16 837.5,-99 865.26,-68.11 911.48,-61.34 950.79,-62.3"/>
<polygon fill="red" stroke="red" points="950.55,-65.8 960.69,-62.73 950.85,-58.8 950.55,-65.8"/>
</g>
<!-- k8s.io/apiserver&#45;&gt;go.etcd.io/etcd/pkg/v3 -->
<g id="edge54" class="edge">
<title>k8s.io/apiserver&#45;&gt;go.etcd.io/etcd/pkg/v3</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M650.09,-1141.58C696.36,-1127.8 768.06,-1098.59 801.5,-1044 859.51,-949.28 763.35,-127.69 837.5,-45 866.28,-12.91 914.97,-6.83 955.19,-8.43"/>
<polygon fill="red" stroke="red" points="954.86,-11.91 965.05,-9 955.27,-4.92 954.86,-11.91"/>
</g>
<!-- k8s.io/apiserver&#45;&gt;go.etcd.io/etcd/raft/v3 -->
<g id="edge55" class="edge">
<title>k8s.io/apiserver&#45;&gt;go.etcd.io/etcd/raft/v3</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M609.09,-1170.31C620.73,-1290.38 692.01,-1964.59 837.5,-2097 868.87,-2125.55 916.42,-2132 955.47,-2131.46"/>
<polygon fill="red" stroke="red" points="955.36,-2134.97 965.25,-2131.16 955.15,-2127.97 955.36,-2134.97"/>
</g>
<!-- k8s.io/apiserver&#45;&gt;go.etcd.io/etcd/server/v3 -->
<g id="edge56" class="edge">
<title>k8s.io/apiserver&#45;&gt;go.etcd.io/etcd/server/v3</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M609.38,-1170.38C622.47,-1286.66 699.43,-1919.08 837.5,-2043 867.29,-2069.74 911.31,-2076.99 948.95,-2077.32"/>
<polygon fill="red" stroke="red" points="948.92,-2080.82 958.89,-2077.23 948.85,-2073.82 948.92,-2080.82"/>
</g>
<!-- k8s.io/apiserver&#45;&gt;go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc -->
<g id="edge57" class="edge">
<title>k8s.io/apiserver&#45;&gt;go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M609.7,-1170.36C624.29,-1282.43 706.78,-1873.5 837.5,-1989 838.16,-1989.58 838.83,-1990.16 839.51,-1990.73"/>
<polygon fill="red" stroke="red" points="837.33,-1993.47 847.43,-1996.67 841.53,-1987.87 837.33,-1993.47"/>
</g>
<!-- k8s.io/apiserver&#45;&gt;go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp -->
<g id="edge58" class="edge">
<title>k8s.io/apiserver&#45;&gt;go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M610.05,-1170.22C626.18,-1277.7 714.05,-1827.84 837.5,-1935 847.95,-1944.07 860.05,-1950.87 872.96,-1955.91"/>
<polygon fill="red" stroke="red" points="871.45,-1959.09 882.05,-1959.07 873.76,-1952.48 871.45,-1959.09"/>
</g>
<!-- k8s.io/apiserver&#45;&gt;go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc -->
<g id="edge59" class="edge">
<title>k8s.io/apiserver&#45;&gt;go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M606.73,-1170.43C604.57,-1263.58 608.03,-1685.78 837.5,-1881 846.59,-1888.74 856.89,-1894.81 867.86,-1899.53"/>
<polygon fill="red" stroke="red" points="866.56,-1902.78 877.15,-1903.11 869.08,-1896.25 866.56,-1902.78"/>
</g>
<!-- k8s.io/apiserver&#45;&gt;go.uber.org/multierr -->
<g id="edge60" class="edge">
<title>k8s.io/apiserver&#45;&gt;go.uber.org/multierr</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M607.25,-1170.27C607.72,-1259.01 622.33,-1648.13 837.5,-1827 871.26,-1855.06 920.97,-1861.02 960.39,-1860.39"/>
<polygon fill="red" stroke="red" points="960.33,-1863.89 970.22,-1860.07 960.11,-1856.9 960.33,-1863.89"/>
</g>
<!-- k8s.io/apiserver&#45;&gt;go.uber.org/zap -->
<g id="edge61" class="edge">
<title>k8s.io/apiserver&#45;&gt;go.uber.org/zap</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M607.85,-1170.23C611.09,-1254.67 636.63,-1610.44 837.5,-1773 874.46,-1802.91 929.69,-1807.44 970.2,-1805.84"/>
<polygon fill="red" stroke="red" points="970.17,-1809.35 979.96,-1805.31 969.79,-1802.36 970.17,-1809.35"/>
</g>
<!-- k8s.io/apiserver&#45;&gt;golang.org/x/exp -->
<g id="edge62" class="edge">
<title>k8s.io/apiserver&#45;&gt;golang.org/x/exp</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M608.55,-1170.28C614.74,-1250.35 650.87,-1572.64 837.5,-1719 873.9,-1747.55 927.11,-1752.69 967.15,-1751.63"/>
<polygon fill="red" stroke="red" points="967.24,-1755.13 977.08,-1751.21 966.94,-1748.13 967.24,-1755.13"/>
</g>
<!-- k8s.io/apiserver&#45;&gt;google.golang.org/genproto -->
<g id="edge63" class="edge">
<title>k8s.io/apiserver&#45;&gt;google.golang.org/genproto</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M611.73,-1170.34C636.12,-1273.99 756.26,-1797.14 801.5,-2232 808.52,-2299.5 792.36,-3402.33 837.5,-3453 837.76,-3453.3 838.03,-3453.59 838.29,-3453.88"/>
<polygon fill="red" stroke="red" points="835.74,-3456.28 845.38,-3460.68 840.59,-3451.23 835.74,-3456.28"/>
</g>
<!-- k8s.io/apiserver&#45;&gt;gopkg.in/natefinch/lumberjack.v2 -->
<g id="edge64" class="edge">
<title>k8s.io/apiserver&#45;&gt;gopkg.in/natefinch/lumberjack.v2</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M609.39,-1170.34C618.72,-1245.83 664.98,-1534.67 837.5,-1665 863.7,-1684.79 898.07,-1693.16 930.07,-1696.05"/>
<polygon fill="red" stroke="red" points="929.55,-1699.52 939.77,-1696.74 930.04,-1692.53 929.55,-1699.52"/>
</g>
<!-- k8s.io/apiserver&#45;&gt;gopkg.in/square/go&#45;jose.v2 -->
<g id="edge65" class="edge">
<title>k8s.io/apiserver&#45;&gt;gopkg.in/square/go&#45;jose.v2</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M610.4,-1170.35C623.08,-1240.89 678.87,-1496.45 837.5,-1611 868.15,-1633.13 909.2,-1640.72 944.86,-1642.42"/>
<polygon fill="red" stroke="red" points="944.61,-1645.91 954.71,-1642.72 944.83,-1638.91 944.61,-1645.91"/>
</g>
<!-- k8s.io/client&#45;go -->
<g id="node149" class="node">
<title>k8s.io/client&#45;go</title>
<polygon fill="#ffffcc" stroke="black" points="1072.5,-792 974.75,-792 974.75,-756 1072.5,-756 1072.5,-792"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-777.05" font-family="Times,serif" font-size="11.00">k8s.io/client&#45;go</text>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-763.55" font-family="Times,serif" font-size="11.00">v0.32.3 → v0.34.1</text>
</g>
<!-- k8s.io/apiserver&#45;&gt;k8s.io/client&#45;go -->
<g id="edge66" class="edge">
<title>k8s.io/apiserver&#45;&gt;k8s.io/client&#45;go</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M649.8,-1140.6C695.12,-1126.07 765.3,-1096.34 801.5,-1044 863.6,-954.21 760.21,-878.11 837.5,-801 869.69,-768.88 922.04,-763.82 962.88,-765.82"/>
<polygon fill="red" stroke="red" points="962.61,-769.31 972.82,-766.48 963.07,-762.33 962.61,-769.31"/>
</g>
<!-- k8s.io/component&#45;base -->
<g id="node150" class="node">
<title>k8s.io/component&#45;base</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1082.25,-1602 965,-1602 965,-1566 1082.25,-1566 1082.25,-1602"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-1580.3" font-family="Times,serif" font-size="11.00">k8s.io/component&#45;base</text>
</g>
<!-- k8s.io/apiserver&#45;&gt;k8s.io/component&#45;base -->
<g id="edge67" class="edge">
<title>k8s.io/apiserver&#45;&gt;k8s.io/component&#45;base</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M611.68,-1170.44C628,-1235.83 692.61,-1457.99 837.5,-1557 871.16,-1580 916.31,-1586.94 953.6,-1588.03"/>
<polygon fill="red" stroke="red" points="953.34,-1591.53 963.39,-1588.18 953.44,-1584.53 953.34,-1591.53"/>
</g>
<!-- k8s.io/kms -->
<g id="node152" class="node">
<title>k8s.io/kms</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1055.25,-1548 992,-1548 992,-1512 1055.25,-1512 1055.25,-1548"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-1526.3" font-family="Times,serif" font-size="11.00">k8s.io/kms</text>
</g>
<!-- k8s.io/apiserver&#45;&gt;k8s.io/kms -->
<g id="edge68" class="edge">
<title>k8s.io/apiserver&#45;&gt;k8s.io/kms</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M613.31,-1170.47C633.55,-1230.21 706.02,-1419.16 837.5,-1503 880.53,-1530.44 940.47,-1534.37 980.36,-1533.31"/>
<polygon fill="red" stroke="red" points="980.44,-1536.81 990.29,-1532.91 980.16,-1529.81 980.44,-1536.81"/>
</g>
<!-- sigs.k8s.io/apiserver&#45;network&#45;proxy/konnectivity&#45;client -->
<g id="node156" class="node">
<title>sigs.k8s.io/apiserver&#45;network&#45;proxy/konnectivity&#45;client</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="1153.88,-1494 893.38,-1494 893.38,-1458 1153.88,-1458 1153.88,-1494"/>
<text xml:space="preserve" text-anchor="middle" x="1023.62" y="-1472.3" font-family="Times,serif" font-size="11.00">sigs.k8s.io/apiserver&#45;network&#45;proxy/konnectivity&#45;client</text>
</g>
<!-- k8s.io/apiserver&#45;&gt;sigs.k8s.io/apiserver&#45;network&#45;proxy/konnectivity&#45;client -->
<g id="edge69" class="edge">
<title>k8s.io/apiserver&#45;&gt;sigs.k8s.io/apiserver&#45;network&#45;proxy/konnectivity&#45;client</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M615.36,-1170.25C639.75,-1223.59 718.91,-1379.8 837.5,-1449 851.29,-1457.05 866.61,-1463 882.36,-1467.36"/>
<polygon fill="red" stroke="red" points="881.31,-1470.71 891.86,-1469.77 883.02,-1463.92 881.31,-1470.71"/>
</g>
<!-- k8s.io/client&#45;go&#45;&gt;github.com/onsi/ginkgo/v2 -->
<g id="edge70" class="edge">
<title>k8s.io/client&#45;go&#45;&gt;github.com/onsi/ginkgo/v2</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M1072.8,-774C1116.88,-774 1182.86,-774 1234.12,-774"/>
<polygon fill="red" stroke="red" points="1233.97,-777.5 1243.97,-774 1233.97,-770.5 1233.97,-777.5"/>
</g>
<!-- k8s.io/cri&#45;api&#45;&gt;github.com/gogo/protobuf -->
<g id="edge71" class="edge">
<title>k8s.io/cri&#45;api&#45;&gt;github.com/gogo/protobuf</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M655.42,-2262.12C727.16,-2266.79 862.92,-2275.62 947.75,-2281.13"/>
<polygon fill="red" stroke="red" points="947.4,-2284.62 957.61,-2281.77 947.85,-2277.63 947.4,-2284.62"/>
</g>
<!-- k8s.io/cri&#45;api&#45;&gt;go.opentelemetry.io/otel -->
<g id="edge111" class="edge">
<title>k8s.io/cri&#45;api&#45;&gt;go.opentelemetry.io/otel</title>
<path fill="none" stroke="green" stroke-width="2" d="M655.42,-2255.88C727.98,-2251.16 866.02,-2242.18 950.63,-2236.68"/>
<polygon fill="green" stroke="green" stroke-width="2" points="949.17,-2240.28 958.93,-2236.14 948.72,-2233.3 949.17,-2240.28"/>
</g>
<!-- k8s.io/kube&#45;openapi -->
<g id="node153" class="node">
<title>k8s.io/kube&#45;openapi</title>
<polygon fill="#ffffcc" stroke="black" points="373,-5820 2.25,-5820 2.25,-5784 373,-5784 373,-5820"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-5805.05" font-family="Times,serif" font-size="11.00">k8s.io/kube&#45;openapi</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-5791.55" font-family="Times,serif" font-size="11.00">v0.0.0&#45;20241105132330&#45;32ad38e42d3f → v0.0.0&#45;20250710124328&#45;f3f2b991d03b</text>
</g>
<!-- k8s.io/kubelet -->
<g id="node154" class="node">
<title>k8s.io/kubelet</title>
<polygon fill="#ffcccc" stroke="black" stroke-dasharray="5,2" points="226.38,-2212 148.88,-2212 148.88,-2176 226.38,-2176 226.38,-2212"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-2190.3" font-family="Times,serif" font-size="11.00">k8s.io/kubelet</text>
</g>
<!-- k8s.io/kubelet&#45;&gt;k8s.io/apiserver -->
<g id="edge72" class="edge">
<title>k8s.io/kubelet&#45;&gt;k8s.io/apiserver</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M195.86,-2175.91C245.26,-2052.39 532.81,-1333.44 593.95,-1180.57"/>
<polygon fill="red" stroke="red" points="597.08,-1182.17 597.54,-1171.58 590.58,-1179.57 597.08,-1182.17"/>
</g>
<!-- k8s.io/kubelet&#45;&gt;k8s.io/cri&#45;api -->
<g id="edge73" class="edge">
<title>k8s.io/kubelet&#45;&gt;k8s.io/cri&#45;api</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M226.71,-2199.94C299.5,-2211.29 458.83,-2236.14 545.82,-2249.71"/>
<polygon fill="red" stroke="red" points="545.17,-2253.15 555.59,-2251.23 546.24,-2246.23 545.17,-2253.15"/>
</g>
<!-- k8s.io/utils -->
<g id="node155" class="node">
<title>k8s.io/utils</title>
<polygon fill="#ffffcc" stroke="black" points="374.5,-5874 0.75,-5874 0.75,-5838 374.5,-5838 374.5,-5874"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-5859.05" font-family="Times,serif" font-size="11.00">k8s.io/utils</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-5845.55" font-family="Times,serif" font-size="11.00">v0.0.0&#45;20241104100929&#45;3ea5e8cea738 → v0.0.0&#45;20250604170112&#45;4c0f3b243397</text>
</g>
<!-- sigs.k8s.io/json -->
<g id="node157" class="node">
<title>sigs.k8s.io/json</title>
<polygon fill="#ffffcc" stroke="black" points="374.5,-5928 0.75,-5928 0.75,-5892 374.5,-5892 374.5,-5928"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-5913.05" font-family="Times,serif" font-size="11.00">sigs.k8s.io/json</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-5899.55" font-family="Times,serif" font-size="11.00">v0.0.0&#45;20241010143419&#45;9aa6b5e7a4b3 → v0.0.0&#45;20241014173422&#45;cfa47c3a1cc8</text>
</g>
<!-- sigs.k8s.io/randfill -->
<g id="node158" class="node">
<title>sigs.k8s.io/randfill</title>
<polygon fill="#ccffcc" stroke="black" points="1360.38,-2650 1262.62,-2650 1262.62,-2614 1360.38,-2614 1360.38,-2650"/>
<text xml:space="preserve" text-anchor="middle" x="1311.5" y="-2628.3" font-family="Times,serif" font-size="11.00">sigs.k8s.io/randfill</text>
</g>
<!-- sigs.k8s.io/structured&#45;merge&#45;diff/v4&#45;&gt;github.com/json&#45;iterator/go -->
<g id="edge74" class="edge">
<title>sigs.k8s.io/structured&#45;merge&#45;diff/v4&#45;&gt;github.com/json&#45;iterator/go</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M693.98,-2530.8C727.95,-2534.82 766.98,-2541.14 801.5,-2551 818.34,-2555.81 820.68,-2562.14 837.5,-2567 871.98,-2576.97 911.19,-2583.37 944.62,-2587.41"/>
<polygon fill="red" stroke="red" points="943.88,-2590.85 954.21,-2588.52 944.68,-2583.9 943.88,-2590.85"/>
</g>
<!-- sigs.k8s.io/structured&#45;merge&#45;diff/v4&#45;&gt;sigs.k8s.io/yaml -->
<g id="edge75" class="edge">
<title>sigs.k8s.io/structured&#45;merge&#45;diff/v4&#45;&gt;sigs.k8s.io/yaml</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M693.92,-2516.08C776.66,-2508.51 898.85,-2497.33 968.59,-2490.95"/>
<polygon fill="red" stroke="red" points="968.58,-2494.46 978.22,-2490.06 967.95,-2487.49 968.58,-2494.46"/>
</g>
<!-- sigs.k8s.io/structured&#45;merge&#45;diff/v6&#45;&gt;github.com/google/go&#45;cmp -->
<g id="edge112" class="edge">
<title>sigs.k8s.io/structured&#45;merge&#45;diff/v6&#45;&gt;github.com/google/go&#45;cmp</title>
<path fill="none" stroke="green" stroke-width="2" d="M693.65,-2625.59C730.32,-2627.2 771.45,-2635.29 801.5,-2659 835.97,-2686.2 803.12,-2723.69 837.5,-2751 867.58,-2774.89 909.37,-2782.47 945.64,-2783.71"/>
<polygon fill="green" stroke="green" stroke-width="2" points="943.62,-2787.18 953.68,-2783.85 943.74,-2780.18 943.62,-2787.18"/>
</g>
<!-- sigs.k8s.io/structured&#45;merge&#45;diff/v6&#45;&gt;github.com/json&#45;iterator/go -->
<g id="edge113" class="edge">
<title>sigs.k8s.io/structured&#45;merge&#45;diff/v6&#45;&gt;github.com/json&#45;iterator/go</title>
<path fill="none" stroke="green" stroke-width="2" d="M693.92,-2624.08C767.81,-2617.32 873.15,-2607.68 944.51,-2601.15"/>
<polygon fill="green" stroke="green" stroke-width="2" points="943.01,-2604.8 952.65,-2600.4 942.37,-2597.83 943.01,-2604.8"/>
</g>
<!-- sigs.k8s.io/structured&#45;merge&#45;diff/v6&#45;&gt;go.yaml.in/yaml/v2 -->
<g id="edge114" class="edge">
<title>sigs.k8s.io/structured&#45;merge&#45;diff/v6&#45;&gt;go.yaml.in/yaml/v2</title>
<path fill="none" stroke="green" stroke-width="2" d="M693.88,-2637.24C837.27,-2644.78 1117.56,-2654.41 1209.75,-2621 1240.26,-2609.94 1268.45,-2585.53 1287.2,-2566.38"/>
<polygon fill="green" stroke="green" stroke-width="2" points="1288.46,-2570.15 1292.8,-2560.48 1283.38,-2565.33 1288.46,-2570.15"/>
</g>
<!-- sigs.k8s.io/structured&#45;merge&#45;diff/v6&#45;&gt;sigs.k8s.io/randfill -->
<g id="edge115" class="edge">
<title>sigs.k8s.io/structured&#45;merge&#45;diff/v6&#45;&gt;sigs.k8s.io/randfill</title>
<path fill="none" stroke="green" stroke-width="2" d="M693.94,-2642.95C811.2,-2656 1026.89,-2673.73 1209.75,-2654 1223.24,-2652.54 1237.57,-2650.02 1251.06,-2647.19"/>
<polygon fill="green" stroke="green" stroke-width="2" points="1250.19,-2650.97 1259.21,-2645.41 1248.69,-2644.13 1250.19,-2650.97"/>
</g>
<!-- sigs.k8s.io/yaml&#45;&gt;go -->
<g id="edge116" class="edge">
<title>sigs.k8s.io/yaml&#45;&gt;go</title>
<path fill="none" stroke="green" stroke-width="2" d="M1067.75,-2479.74C1109.36,-2476.28 1171.51,-2478.29 1209.75,-2513 1259.24,-2557.91 1212.97,-2600.76 1245.75,-2659 1253.99,-2673.63 1266.42,-2687.24 1278.19,-2698.18"/>
<polygon fill="green" stroke="green" stroke-width="2" points="1274.53,-2699.6 1284.32,-2703.64 1279.18,-2694.37 1274.53,-2699.6"/>
</g>
<!-- sigs.k8s.io/yaml&#45;&gt;go.yaml.in/yaml/v2 -->
<g id="edge117" class="edge">
<title>sigs.k8s.io/yaml&#45;&gt;go.yaml.in/yaml/v2</title>
<path fill="none" stroke="green" stroke-width="2" d="M1067.52,-2490.81C1105.2,-2495.38 1161.4,-2503.03 1209.75,-2513 1222.84,-2515.7 1236.76,-2519.09 1249.95,-2522.54"/>
<polygon fill="green" stroke="green" stroke-width="2" points="1247.32,-2525.46 1257.89,-2524.67 1249.13,-2518.7 1247.32,-2525.46"/>
</g>
<!-- sigs.k8s.io/yaml&#45;&gt;go.yaml.in/yaml/v3 -->
<g id="edge118" class="edge">
<title>sigs.k8s.io/yaml&#45;&gt;go.yaml.in/yaml/v3</title>
<path fill="none" stroke="green" stroke-width="2" d="M1067.73,-2486C1116.08,-2486 1194.86,-2486 1249.51,-2486"/>
<polygon fill="green" stroke="green" stroke-width="2" points="1247.76,-2489.5 1257.76,-2486 1247.76,-2482.5 1247.76,-2489.5"/>
</g>
<!-- sigs.k8s.io/yaml&#45;&gt;gopkg.in/check.v1 -->
<g id="edge76" class="edge">
<title>sigs.k8s.io/yaml&#45;&gt;gopkg.in/check.v1</title>
<path fill="none" stroke="red" stroke-dasharray="5,2" d="M1067.38,-2480.35C1111.89,-2474.57 1183.63,-2465.54 1245.75,-2459 1298.4,-2453.46 1358.43,-2448.24 1401.59,-2444.67"/>
<polygon fill="red" stroke="red" points="1401.83,-2448.17 1411.51,-2443.86 1401.26,-2441.19 1401.83,-2448.17"/>
</g>
<!-- sigs.k8s.io/yaml&#45;&gt;sigs.k8s.io/randfill -->
<g id="edge119" class="edge">
<title>sigs.k8s.io/yaml&#45;&gt;sigs.k8s.io/randfill</title>
<path fill="none" stroke="green" stroke-width="2" d="M1067.7,-2482.75C1107.55,-2481.82 1166.92,-2485.92 1209.75,-2513 1234.13,-2528.41 1227.48,-2544.68 1245.75,-2567 1256.79,-2580.49 1270.22,-2594.33 1281.99,-2605.75"/>
<polygon fill="green" stroke="green" stroke-width="2" points="1278.36,-2607.12 1288.01,-2611.5 1283.2,-2602.06 1278.36,-2607.12"/>
</g>
<!-- tags.cncf.io/container&#45;device&#45;interface -->
<g id="node162" class="node">
<title>tags.cncf.io/container&#45;device&#45;interface</title>
<polygon fill="#ffffcc" stroke="black" points="281.88,-5982 93.38,-5982 93.38,-5946 281.88,-5946 281.88,-5982"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-5967.05" font-family="Times,serif" font-size="11.00">tags.cncf.io/container&#45;device&#45;interface</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-5953.55" font-family="Times,serif" font-size="11.00">v1.0.1 → v1.1.0</text>
</g>
<!-- tags.cncf.io/container&#45;device&#45;interface/specs&#45;go -->
<g id="node163" class="node">
<title>tags.cncf.io/container&#45;device&#45;interface/specs&#45;go</title>
<polygon fill="#ffffcc" stroke="black" points="302.88,-6036 72.38,-6036 72.38,-6000 302.88,-6000 302.88,-6036"/>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-6021.05" font-family="Times,serif" font-size="11.00">tags.cncf.io/container&#45;device&#45;interface/specs&#45;go</text>
<text xml:space="preserve" text-anchor="middle" x="187.62" y="-6007.55" font-family="Times,serif" font-size="11.00">v1.0.0 → v1.1.0</text>
</g>
</g>
</svg>
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment