# Copyright 2021 The Go Authors. All rights reserved.
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.

# Modules that are expected to return a 200.
github.com/apache/thrift@v0.14.1
github.com/apache/thrift@v0.14.2
github.com/creack/pty@v1.1.11
github.com/creack/pty@v1.1.13
github.com/envoyproxy/go-control-plane@v0.9.8
github.com/envoyproxy/go-control-plane@v0.9.9
github.com/hashicorp/vault/api@v1.0.3
github.com/hashicorp/vault/api@v1.1.1
github.com/hashicorp/vault/api/auth/approle@latest
github.com/hashicorp/vault/api/auth/kubernetes@latest
github.com/jackc/pgx/v4@v4.11.0
github.com/jba/bit@v0.2.0
github.com/julieqiu/api-demo@all
github.com/tendermint/tendermint@v0.34.10
github.com/tendermint/tendermint@v0.34.11
gocloud.dev@v0.22.0
gocloud.dev@v0.23.0
golang.org/x/tools@v0.1.1
golang.org/x/tools@v0.1.2
k8s.io/client-go@v0.21.3
k8s.io/client-go@v1.5.2
golang.org/x/tools/gopls@v0.6.11
github.com/jackc/pgx@v3.6.2+incompatible
rsc.io/quote@v0.9.9-pre1
rsc.io/quote@all
rsc.io/quote/v2@all
rsc.io/quote/v3@all
std@v1.0.0
std@v1.8.0
std@v1.13.0
std@v1.16.3
std@v1.16.4

# This module is expected to return a 404, so that  the path will redirect
# to github.com/jackc/pgx/v4/pgxpool.
github.com/jackc/pgx/pgxpool@v3.6.2+incompatible
