From 16dec541cae429cdb3d04ac1d2a2d67be189eed9 Mon Sep 17 00:00:00 2001
From: Jono Wenger <jono@elixxir.io>
Date: Fri, 11 Feb 2022 11:02:07 -0800
Subject: [PATCH] Revert "update deps"

This reverts commit 751f10d5687c58f5f80e51df513868bf9150a7ab.
---
 Makefile                 |   8 +-
 cmd/root.go              |   7 +-
 coupons/couponresp.pb.go | 280 +++++++++++++--------------------------
 coupons/couponresp.proto |   1 -
 coupons/listener.go      |   2 +-
 go.mod                   |  59 +--------
 go.sum                   |  46 +++----
 7 files changed, 130 insertions(+), 273 deletions(-)

diff --git a/Makefile b/Makefile
index ee2f10c..6b2550d 100644
--- a/Makefile
+++ b/Makefile
@@ -3,6 +3,10 @@
 setup:
 	git config --global --add url."git@gitlab.com:".insteadOf "https://gitlab.com/"
 
+version:
+	go run main.go generate
+	mv version_vars.go cmd/version_vars.go
+
 clean:
 	rm -rf vendor/
 	go mod vendor
@@ -31,6 +35,6 @@ update_master:
 	GOFLAGS="" go get gitlab.com/xx_network/comms@master
 	GOFLAGS="" go get gitlab.com/elixxir/client@master
 
-master: update_master clean build
+master: update_master clean build version
 
-release: update_release clean build
+release: update_release clean build version
diff --git a/cmd/root.go b/cmd/root.go
index b931243..8ee2e7b 100644
--- a/cmd/root.go
+++ b/cmd/root.go
@@ -4,6 +4,7 @@ import (
 	"fmt"
 	"git.xx.network/elixxir/coupons/coupons"
 	"git.xx.network/elixxir/coupons/storage"
+	"github.com/golang/protobuf/proto"
 	"github.com/skip2/go-qrcode"
 	"github.com/spf13/cobra"
 	jww "github.com/spf13/jwalterweatherman"
@@ -15,7 +16,6 @@ import (
 	"gitlab.com/elixxir/primitives/fact"
 	"gitlab.com/xx_network/primitives/id"
 	"gitlab.com/xx_network/primitives/utils"
-	"google.golang.org/protobuf/proto"
 	"io/ioutil"
 	"net"
 	"os"
@@ -24,6 +24,7 @@ import (
 
 var (
 	cfgFile, logPath string
+	validConfig      bool
 )
 
 // RootCmd represents the base command when called without any sub-commands
@@ -220,15 +221,18 @@ func init() {
 
 // initConfig reads in config file and ENV variables if set.
 func initConfig() {
+	validConfig = true
 	var err error
 	if cfgFile == "" {
 		cfgFile, err = utils.SearchDefaultLocations("coupons.yaml", "xxnetwork")
 		if err != nil {
+			validConfig = false
 			jww.FATAL.Panicf("Failed to find config file: %+v", err)
 		}
 	} else {
 		cfgFile, err = utils.ExpandPath(cfgFile)
 		if err != nil {
+			validConfig = false
 			jww.FATAL.Panicf("Failed to expand config file path: %+v", err)
 		}
 	}
@@ -238,6 +242,7 @@ func initConfig() {
 	// If a config file is found, read it in.
 	if err := viper.ReadInConfig(); err != nil {
 		fmt.Printf("Unable to read config file (%s): %+v", cfgFile, err.Error())
+		validConfig = false
 	}
 }
 
diff --git a/coupons/couponresp.pb.go b/coupons/couponresp.pb.go
index 83eb5cc..3e9bab1 100644
--- a/coupons/couponresp.pb.go
+++ b/coupons/couponresp.pb.go
@@ -1,237 +1,147 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
-// versions:
-// 	protoc-gen-go v1.27.1
-// 	protoc        v3.19.1
 // source: couponresp.proto
 
 package coupons
 
 import (
-	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
-	reflect "reflect"
-	sync "sync"
+	fmt "fmt"
+	proto "github.com/golang/protobuf/proto"
+	math "math"
 )
 
-const (
-	// Verify that this generated code is sufficiently up-to-date.
-	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
-	// Verify that runtime/protoimpl is sufficiently up-to-date.
-	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
-)
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
 
-type CMIXText struct {
-	state         protoimpl.MessageState
-	sizeCache     protoimpl.SizeCache
-	unknownFields protoimpl.UnknownFields
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
 
-	Version uint32     `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
-	Text    string     `protobuf:"bytes,2,opt,name=text,proto3" json:"text,omitempty"`
-	Reply   *TextReply `protobuf:"bytes,3,opt,name=reply,proto3" json:"reply,omitempty"`
+type CMIXText struct {
+	Version              uint32     `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
+	Text                 string     `protobuf:"bytes,2,opt,name=text,proto3" json:"text,omitempty"`
+	Reply                *TextReply `protobuf:"bytes,3,opt,name=reply,proto3" json:"reply,omitempty"`
+	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
+	XXX_unrecognized     []byte     `json:"-"`
+	XXX_sizecache        int32      `json:"-"`
 }
 
-func (x *CMIXText) Reset() {
-	*x = CMIXText{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_couponresp_proto_msgTypes[0]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+func (m *CMIXText) Reset()         { *m = CMIXText{} }
+func (m *CMIXText) String() string { return proto.CompactTextString(m) }
+func (*CMIXText) ProtoMessage()    {}
+func (*CMIXText) Descriptor() ([]byte, []int) {
+	return fileDescriptor_0df6afd1dcee6c11, []int{0}
 }
 
-func (x *CMIXText) String() string {
-	return protoimpl.X.MessageStringOf(x)
+func (m *CMIXText) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_CMIXText.Unmarshal(m, b)
 }
-
-func (*CMIXText) ProtoMessage() {}
-
-func (x *CMIXText) ProtoReflect() protoreflect.Message {
-	mi := &file_couponresp_proto_msgTypes[0]
-	if protoimpl.UnsafeEnabled && x != nil {
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		if ms.LoadMessageInfo() == nil {
-			ms.StoreMessageInfo(mi)
-		}
-		return ms
-	}
-	return mi.MessageOf(x)
+func (m *CMIXText) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_CMIXText.Marshal(b, m, deterministic)
 }
-
-// Deprecated: Use CMIXText.ProtoReflect.Descriptor instead.
-func (*CMIXText) Descriptor() ([]byte, []int) {
-	return file_couponresp_proto_rawDescGZIP(), []int{0}
+func (m *CMIXText) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_CMIXText.Merge(m, src)
+}
+func (m *CMIXText) XXX_Size() int {
+	return xxx_messageInfo_CMIXText.Size(m)
+}
+func (m *CMIXText) XXX_DiscardUnknown() {
+	xxx_messageInfo_CMIXText.DiscardUnknown(m)
 }
 
-func (x *CMIXText) GetVersion() uint32 {
-	if x != nil {
-		return x.Version
+var xxx_messageInfo_CMIXText proto.InternalMessageInfo
+
+func (m *CMIXText) GetVersion() uint32 {
+	if m != nil {
+		return m.Version
 	}
 	return 0
 }
 
-func (x *CMIXText) GetText() string {
-	if x != nil {
-		return x.Text
+func (m *CMIXText) GetText() string {
+	if m != nil {
+		return m.Text
 	}
 	return ""
 }
 
-func (x *CMIXText) GetReply() *TextReply {
-	if x != nil {
-		return x.Reply
+func (m *CMIXText) GetReply() *TextReply {
+	if m != nil {
+		return m.Reply
 	}
 	return nil
 }
 
 type TextReply struct {
-	state         protoimpl.MessageState
-	sizeCache     protoimpl.SizeCache
-	unknownFields protoimpl.UnknownFields
-
-	MessageId []byte `protobuf:"bytes,1,opt,name=messageId,proto3" json:"messageId,omitempty"`
-	SenderId  []byte `protobuf:"bytes,2,opt,name=senderId,proto3" json:"senderId,omitempty"`
+	MessageId            []byte   `protobuf:"bytes,1,opt,name=messageId,proto3" json:"messageId,omitempty"`
+	SenderId             []byte   `protobuf:"bytes,2,opt,name=senderId,proto3" json:"senderId,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
 }
 
-func (x *TextReply) Reset() {
-	*x = TextReply{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_couponresp_proto_msgTypes[1]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
+func (m *TextReply) Reset()         { *m = TextReply{} }
+func (m *TextReply) String() string { return proto.CompactTextString(m) }
+func (*TextReply) ProtoMessage()    {}
+func (*TextReply) Descriptor() ([]byte, []int) {
+	return fileDescriptor_0df6afd1dcee6c11, []int{1}
 }
 
-func (x *TextReply) String() string {
-	return protoimpl.X.MessageStringOf(x)
+func (m *TextReply) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_TextReply.Unmarshal(m, b)
 }
-
-func (*TextReply) ProtoMessage() {}
-
-func (x *TextReply) ProtoReflect() protoreflect.Message {
-	mi := &file_couponresp_proto_msgTypes[1]
-	if protoimpl.UnsafeEnabled && x != nil {
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		if ms.LoadMessageInfo() == nil {
-			ms.StoreMessageInfo(mi)
-		}
-		return ms
-	}
-	return mi.MessageOf(x)
+func (m *TextReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_TextReply.Marshal(b, m, deterministic)
 }
-
-// Deprecated: Use TextReply.ProtoReflect.Descriptor instead.
-func (*TextReply) Descriptor() ([]byte, []int) {
-	return file_couponresp_proto_rawDescGZIP(), []int{1}
+func (m *TextReply) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_TextReply.Merge(m, src)
+}
+func (m *TextReply) XXX_Size() int {
+	return xxx_messageInfo_TextReply.Size(m)
 }
+func (m *TextReply) XXX_DiscardUnknown() {
+	xxx_messageInfo_TextReply.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_TextReply proto.InternalMessageInfo
 
-func (x *TextReply) GetMessageId() []byte {
-	if x != nil {
-		return x.MessageId
+func (m *TextReply) GetMessageId() []byte {
+	if m != nil {
+		return m.MessageId
 	}
 	return nil
 }
 
-func (x *TextReply) GetSenderId() []byte {
-	if x != nil {
-		return x.SenderId
+func (m *TextReply) GetSenderId() []byte {
+	if m != nil {
+		return m.SenderId
 	}
 	return nil
 }
 
-var File_couponresp_proto protoreflect.FileDescriptor
-
-var file_couponresp_proto_rawDesc = []byte{
-	0x0a, 0x10, 0x63, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x72, 0x65, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
-	0x74, 0x6f, 0x12, 0x07, 0x63, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x73, 0x22, 0x62, 0x0a, 0x08, 0x43,
-	0x4d, 0x49, 0x58, 0x54, 0x65, 0x78, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69,
-	0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
-	0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
-	0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x28, 0x0a, 0x05, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x18, 0x03,
-	0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x73, 0x2e, 0x54,
-	0x65, 0x78, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x05, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x22,
-	0x45, 0x0a, 0x09, 0x54, 0x65, 0x78, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x1c, 0x0a, 0x09,
-	0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52,
-	0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65,
-	0x6e, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x73, 0x65,
-	0x6e, 0x64, 0x65, 0x72, 0x49, 0x64, 0x42, 0x27, 0x5a, 0x25, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62,
-	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, 0x6c, 0x69, 0x78, 0x78, 0x69, 0x72, 0x2f, 0x63, 0x6f, 0x75,
-	0x70, 0x6f, 0x6e, 0x2d, 0x62, 0x6f, 0x74, 0x2f, 0x63, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x73, 0x62,
-	0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
-}
-
-var (
-	file_couponresp_proto_rawDescOnce sync.Once
-	file_couponresp_proto_rawDescData = file_couponresp_proto_rawDesc
-)
-
-func file_couponresp_proto_rawDescGZIP() []byte {
-	file_couponresp_proto_rawDescOnce.Do(func() {
-		file_couponresp_proto_rawDescData = protoimpl.X.CompressGZIP(file_couponresp_proto_rawDescData)
-	})
-	return file_couponresp_proto_rawDescData
+func init() {
+	proto.RegisterType((*CMIXText)(nil), "coupons.CMIXText")
+	proto.RegisterType((*TextReply)(nil), "coupons.TextReply")
 }
 
-var file_couponresp_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
-var file_couponresp_proto_goTypes = []interface{}{
-	(*CMIXText)(nil),  // 0: coupons.CMIXText
-	(*TextReply)(nil), // 1: coupons.TextReply
-}
-var file_couponresp_proto_depIdxs = []int32{
-	1, // 0: coupons.CMIXText.reply:type_name -> coupons.TextReply
-	1, // [1:1] is the sub-list for method output_type
-	1, // [1:1] is the sub-list for method input_type
-	1, // [1:1] is the sub-list for extension type_name
-	1, // [1:1] is the sub-list for extension extendee
-	0, // [0:1] is the sub-list for field type_name
+func init() {
+	proto.RegisterFile("couponresp.proto", fileDescriptor_0df6afd1dcee6c11)
 }
 
-func init() { file_couponresp_proto_init() }
-func file_couponresp_proto_init() {
-	if File_couponresp_proto != nil {
-		return
-	}
-	if !protoimpl.UnsafeEnabled {
-		file_couponresp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*CMIXText); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_couponresp_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*TextReply); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-	}
-	type x struct{}
-	out := protoimpl.TypeBuilder{
-		File: protoimpl.DescBuilder{
-			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
-			RawDescriptor: file_couponresp_proto_rawDesc,
-			NumEnums:      0,
-			NumMessages:   2,
-			NumExtensions: 0,
-			NumServices:   0,
-		},
-		GoTypes:           file_couponresp_proto_goTypes,
-		DependencyIndexes: file_couponresp_proto_depIdxs,
-		MessageInfos:      file_couponresp_proto_msgTypes,
-	}.Build()
-	File_couponresp_proto = out.File
-	file_couponresp_proto_rawDesc = nil
-	file_couponresp_proto_goTypes = nil
-	file_couponresp_proto_depIdxs = nil
+var fileDescriptor_0df6afd1dcee6c11 = []byte{
+	// 173 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x48, 0xce, 0x2f, 0x2d,
+	0xc8, 0xcf, 0x2b, 0x4a, 0x2d, 0x2e, 0xd0, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x87, 0x88,
+	0x14, 0x2b, 0x25, 0x71, 0x71, 0x38, 0xfb, 0x7a, 0x46, 0x84, 0xa4, 0x56, 0x94, 0x08, 0x49, 0x70,
+	0xb1, 0x97, 0xa5, 0x16, 0x15, 0x67, 0xe6, 0xe7, 0x49, 0x30, 0x2a, 0x30, 0x6a, 0xf0, 0x06, 0xc1,
+	0xb8, 0x42, 0x42, 0x5c, 0x2c, 0x25, 0xa9, 0x15, 0x25, 0x12, 0x4c, 0x0a, 0x8c, 0x1a, 0x9c, 0x41,
+	0x60, 0xb6, 0x90, 0x06, 0x17, 0x6b, 0x51, 0x6a, 0x41, 0x4e, 0xa5, 0x04, 0xb3, 0x02, 0xa3, 0x06,
+	0xb7, 0x91, 0x90, 0x1e, 0xd4, 0x48, 0x3d, 0x90, 0x59, 0x41, 0x20, 0x99, 0x20, 0x88, 0x02, 0x25,
+	0x57, 0x2e, 0x4e, 0xb8, 0x98, 0x90, 0x0c, 0x17, 0x67, 0x6e, 0x6a, 0x71, 0x71, 0x62, 0x7a, 0xaa,
+	0x67, 0x0a, 0xd8, 0x1a, 0x9e, 0x20, 0x84, 0x80, 0x90, 0x14, 0x17, 0x47, 0x71, 0x6a, 0x5e, 0x4a,
+	0x6a, 0x91, 0x67, 0x0a, 0xd8, 0x32, 0x9e, 0x20, 0x38, 0x3f, 0x89, 0x0d, 0xec, 0x74, 0x63, 0x40,
+	0x00, 0x00, 0x00, 0xff, 0xff, 0x96, 0x78, 0xf4, 0x8f, 0xce, 0x00, 0x00, 0x00,
 }
diff --git a/coupons/couponresp.proto b/coupons/couponresp.proto
index ca4a7b9..a28fe1c 100644
--- a/coupons/couponresp.proto
+++ b/coupons/couponresp.proto
@@ -1,5 +1,4 @@
 syntax = "proto3";
-option go_package = "gitlab.com/elixxir/coupon-bot/coupons";
 
 package coupons;
 
diff --git a/coupons/listener.go b/coupons/listener.go
index cdf796e..c66d5d9 100644
--- a/coupons/listener.go
+++ b/coupons/listener.go
@@ -4,11 +4,11 @@ import (
 	"errors"
 	"fmt"
 	"git.xx.network/elixxir/coupons/storage"
+	"github.com/golang/protobuf/proto"
 	jww "github.com/spf13/jwalterweatherman"
 	"gitlab.com/elixxir/client/api"
 	"gitlab.com/elixxir/client/interfaces/message"
 	"gitlab.com/elixxir/client/interfaces/params"
-	"google.golang.org/protobuf/proto"
 	"gorm.io/gorm"
 	"strconv"
 	"strings"
diff --git a/go.mod b/go.mod
index efd8ab2..a57385d 100644
--- a/go.mod
+++ b/go.mod
@@ -1,65 +1,18 @@
 module git.xx.network/elixxir/coupons
 
-go 1.17
+go 1.16
 
 require (
+	github.com/golang/protobuf v1.5.2
 	github.com/pkg/errors v0.9.1
 	github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e
 	github.com/spf13/cobra v1.2.1
 	github.com/spf13/jwalterweatherman v1.1.0
 	github.com/spf13/viper v1.9.0
-	gitlab.com/elixxir/client v1.5.1-0.20220209211742-f4e17c72fafb
-	gitlab.com/elixxir/crypto v0.0.7-0.20220210173208-c88f852c79ca
-	gitlab.com/elixxir/primitives v0.0.3-0.20220209225643-ae03845af237
-	gitlab.com/xx_network/primitives v0.0.4-0.20220209215928-ebad9b1d4f04
-	google.golang.org/protobuf v1.27.1
+	gitlab.com/elixxir/client v1.5.1-0.20220202192535-930327652941
+	gitlab.com/elixxir/crypto v0.0.7-0.20220110170041-7e42f2e8b062
+	gitlab.com/elixxir/primitives v0.0.3-0.20220104173924-275cb9d7834f
+	gitlab.com/xx_network/primitives v0.0.4-0.20211222205802-03e9d7d835b0
 	gorm.io/driver/postgres v1.1.2
 	gorm.io/gorm v1.21.15
 )
-
-require (
-	github.com/badoux/checkmail v1.2.1 // indirect
-	github.com/cloudflare/circl v1.0.1-0.20211008185751-59b49bc148ce // indirect
-	github.com/elliotchance/orderedmap v1.4.0 // indirect
-	github.com/fsnotify/fsnotify v1.5.1 // indirect
-	github.com/golang-collections/collections v0.0.0-20130729185459-604e922904d3 // indirect
-	github.com/golang/protobuf v1.5.2 // indirect
-	github.com/hashicorp/hcl v1.0.0 // indirect
-	github.com/inconshreveable/mousetrap v1.0.0 // indirect
-	github.com/jackc/chunkreader/v2 v2.0.1 // indirect
-	github.com/jackc/pgconn v1.10.0 // indirect
-	github.com/jackc/pgio v1.0.0 // indirect
-	github.com/jackc/pgpassfile v1.0.0 // indirect
-	github.com/jackc/pgproto3/v2 v2.1.1 // indirect
-	github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b // indirect
-	github.com/jackc/pgtype v1.8.1 // indirect
-	github.com/jackc/pgx/v4 v4.13.0 // indirect
-	github.com/jinzhu/inflection v1.0.0 // indirect
-	github.com/jinzhu/now v1.1.2 // indirect
-	github.com/magiconair/properties v1.8.5 // indirect
-	github.com/mitchellh/go-homedir v1.1.0 // indirect
-	github.com/mitchellh/mapstructure v1.4.2 // indirect
-	github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 // indirect
-	github.com/pelletier/go-toml v1.9.4 // indirect
-	github.com/spf13/afero v1.6.0 // indirect
-	github.com/spf13/cast v1.4.1 // indirect
-	github.com/spf13/pflag v1.0.5 // indirect
-	github.com/subosito/gotenv v1.2.0 // indirect
-	github.com/ttacon/builder v0.0.0-20170518171403-c099f663e1c2 // indirect
-	github.com/ttacon/libphonenumber v1.2.1 // indirect
-	github.com/tyler-smith/go-bip39 v1.1.0 // indirect
-	gitlab.com/elixxir/bloomfilter v0.0.0-20211222005329-7d931ceead6f // indirect
-	gitlab.com/elixxir/comms v0.0.4-0.20220128193157-34178165415d // indirect
-	gitlab.com/elixxir/ekv v0.1.6 // indirect
-	gitlab.com/xx_network/comms v0.0.4-0.20220209231201-23683af01e4c // indirect
-	gitlab.com/xx_network/crypto v0.0.5-0.20220209220237-f1e27faab497 // indirect
-	gitlab.com/xx_network/ring v0.0.3-0.20210527191221-ce3f170aabd5 // indirect
-	golang.org/x/crypto v0.0.0-20220209195652-db638375bc3a // indirect
-	golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd // indirect
-	golang.org/x/sys v0.0.0-20220209214540-3681064d5158 // indirect
-	golang.org/x/text v0.3.7 // indirect
-	google.golang.org/genproto v0.0.0-20220208230804-65c12eb4c068 // indirect
-	google.golang.org/grpc v1.44.0 // indirect
-	gopkg.in/ini.v1 v1.63.2 // indirect
-	gopkg.in/yaml.v2 v2.4.0 // indirect
-)
diff --git a/go.sum b/go.sum
index fe36a65..52d5502 100644
--- a/go.sum
+++ b/go.sum
@@ -471,42 +471,36 @@ github.com/zeebo/blake3 v0.1.1/go.mod h1:G9pM4qQwjRzF1/v7+vabMj/c5mWpGZ2Wzo3Eb4z
 github.com/zeebo/pcg v0.0.0-20181207190024-3cdc6b625a05/go.mod h1:Gr+78ptB0MwXxm//LBaEvBiaXY7hXJ6KGe2V32X2F6E=
 github.com/zeebo/pcg v1.0.0/go.mod h1:09F0S9iiKrwn9rlI5yjLkmrug154/YRW6KnnXVDM/l4=
 github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q=
-gitlab.com/elixxir/bloomfilter v0.0.0-20211222005329-7d931ceead6f h1:yXGvNBqzZwAhDYlSnxPRbgor6JWoOt1Z7s3z1O9JR40=
-gitlab.com/elixxir/bloomfilter v0.0.0-20211222005329-7d931ceead6f/go.mod h1:H6jztdm0k+wEV2QGK/KYA+MY9nj9Zzatux/qIvDDv3k=
-gitlab.com/elixxir/client v1.5.1-0.20220209211742-f4e17c72fafb h1:nqIOaEp2h4qOzVQESTE3Di0lJGJPDoZaWSmW0Flf91U=
-gitlab.com/elixxir/client v1.5.1-0.20220209211742-f4e17c72fafb/go.mod h1:/sx5AN1SHkMv/xGFcE71MVl6cTsURYpDrYAhLgnpxgE=
+gitlab.com/elixxir/bloomfilter v0.0.0-20200930191214-10e9ac31b228 h1:Gi6rj4mAlK0BJIk1HIzBVMjWNjIUfstrsXC2VqLYPcA=
+gitlab.com/elixxir/bloomfilter v0.0.0-20200930191214-10e9ac31b228/go.mod h1:H6jztdm0k+wEV2QGK/KYA+MY9nj9Zzatux/qIvDDv3k=
+gitlab.com/elixxir/client v1.5.1-0.20220202192535-930327652941 h1:YbVSJyx1T7nD5KY/cykpKE+sDctzWT2yS88GEfrEEXE=
+gitlab.com/elixxir/client v1.5.1-0.20220202192535-930327652941/go.mod h1:Ji6FOGgiVckBV2vaWd5Qh3feoYiMFvro/4PZuPVPILg=
 gitlab.com/elixxir/comms v0.0.4-0.20220128193157-34178165415d h1:207Okb8+amKnRzsKE/4ehl3eb6ZHkWXevq9TimOehzw=
 gitlab.com/elixxir/comms v0.0.4-0.20220128193157-34178165415d/go.mod h1:pj1TXrpHKytF68y53BtCBRYhaiMJWquuVBk4iEN7wkk=
 gitlab.com/elixxir/crypto v0.0.0-20200804182833-984246dea2c4/go.mod h1:ucm9SFKJo+K0N2GwRRpaNr+tKXMIOVWzmyUD0SbOu2c=
 gitlab.com/elixxir/crypto v0.0.3/go.mod h1:ZNgBOblhYToR4m8tj4cMvJ9UsJAUKq+p0gCp07WQmhA=
+gitlab.com/elixxir/crypto v0.0.7-0.20220110170041-7e42f2e8b062 h1:6LLdEX2U/jA3RakJh/cKtjckMYBBjrjyowoBEtIF9L4=
 gitlab.com/elixxir/crypto v0.0.7-0.20220110170041-7e42f2e8b062/go.mod h1:qmW0OGPB21GcaGg1Jvt527/qUw7ke6W8DKCiYBfsx48=
-gitlab.com/elixxir/crypto v0.0.7-0.20220209170739-af304c494917/go.mod h1:WyLFCxOOgaCHElpH0Ha893tfjxg3HXYU7lSJz2M4JUE=
-gitlab.com/elixxir/crypto v0.0.7-0.20220210173208-c88f852c79ca h1:joa8y5yLZqtqJdy33sgj96q0tl8fK1YGZgl2Boz7FVg=
-gitlab.com/elixxir/crypto v0.0.7-0.20220210173208-c88f852c79ca/go.mod h1:q+nNdd3S652c2OVUVa8fbz+pbc24dBazugigc88qdsg=
 gitlab.com/elixxir/ekv v0.1.6 h1:M2hUSNhH/ChxDd+s8xBqSEKgoPtmE6hOEBqQ73KbN6A=
 gitlab.com/elixxir/ekv v0.1.6/go.mod h1:e6WPUt97taFZe5PFLPb1Dupk7tqmDCTQu1kkstqJvw4=
 gitlab.com/elixxir/primitives v0.0.0-20200731184040-494269b53b4d/go.mod h1:OQgUZq7SjnE0b+8+iIAT2eqQF+2IFHn73tOo+aV11mg=
 gitlab.com/elixxir/primitives v0.0.0-20200804170709-a1896d262cd9/go.mod h1:p0VelQda72OzoUckr1O+vPW0AiFe0nyKQ6gYcmFSuF8=
 gitlab.com/elixxir/primitives v0.0.0-20200804182913-788f47bded40/go.mod h1:tzdFFvb1ESmuTCOl1z6+yf6oAICDxH2NPUemVgoNLxc=
 gitlab.com/elixxir/primitives v0.0.1/go.mod h1:kNp47yPqja2lHSiS4DddTvFpB/4D9dB2YKnw5c+LJCE=
+gitlab.com/elixxir/primitives v0.0.3-0.20220104173924-275cb9d7834f h1:zg3oYk+a6Wmq9tGRwka3GjJR1XRZIVCsOMpBGxtF2yc=
 gitlab.com/elixxir/primitives v0.0.3-0.20220104173924-275cb9d7834f/go.mod h1:zA+1Lp9fGPo6pl1QxtMoNPLeZJ1O5m4kcH7HNxePQnQ=
-gitlab.com/elixxir/primitives v0.0.3-0.20220209225643-ae03845af237 h1:Ok1Eyje4sdTd0ffMHwL8z7pu/lfLBm3C6gw+AsZwCVA=
-gitlab.com/elixxir/primitives v0.0.3-0.20220209225643-ae03845af237/go.mod h1:BGKbQL4Iox2D+CHdknZTC46snQfTrOqP+EpCDQ3/GIA=
 gitlab.com/xx_network/comms v0.0.0-20200805174823-841427dd5023/go.mod h1:owEcxTRl7gsoM8c3RQ5KAm5GstxrJp5tn+6JfQ4z5Hw=
+gitlab.com/xx_network/comms v0.0.4-0.20220126231737-fe2338016cce h1:PCOf9nyehdz2IIUsssakxH+YT2q3YQ6OlAFpcOgsd88=
 gitlab.com/xx_network/comms v0.0.4-0.20220126231737-fe2338016cce/go.mod h1:5arueRMa2MNa6dALnfJwyZOhqhV53Gqc+tlHRz+Ycjw=
-gitlab.com/xx_network/comms v0.0.4-0.20220209231201-23683af01e4c h1:+jLHiRdZyGLhMvqpKUdoPeVvQzp15EDO8lsX633iHtQ=
-gitlab.com/xx_network/comms v0.0.4-0.20220209231201-23683af01e4c/go.mod h1:HZZkTaE64MHI2O2muxzjxjhWK7tCsE2RJhC0WgdZcCw=
 gitlab.com/xx_network/crypto v0.0.3/go.mod h1:DF2HYvvCw9wkBybXcXAgQMzX+MiGbFPjwt3t17VRqRE=
 gitlab.com/xx_network/crypto v0.0.4/go.mod h1:+lcQEy+Th4eswFgQDwT0EXKp4AXrlubxalwQFH5O0Mk=
+gitlab.com/xx_network/crypto v0.0.5-0.20211227194420-f311e8920467 h1:LkZtWBYrM2e7QRf5aaBAcy7s7CpYGhAqgXRFVCdBRy4=
 gitlab.com/xx_network/crypto v0.0.5-0.20211227194420-f311e8920467/go.mod h1:c+x0w3Xk6QZe5w2Redn5SiaBpqAhgNSfwBr0JGa/yyo=
-gitlab.com/xx_network/crypto v0.0.5-0.20220209220237-f1e27faab497 h1:Bi4WmC1zEJ6FPPCV/gFywj+UOGxcG7Y8ghpW7J0nR40=
-gitlab.com/xx_network/crypto v0.0.5-0.20220209220237-f1e27faab497/go.mod h1:5AlR+1c8/h7M3slCgPLW3lEeEdkbBb3zgB3wbs/vnhM=
 gitlab.com/xx_network/primitives v0.0.0-20200803231956-9b192c57ea7c/go.mod h1:wtdCMr7DPePz9qwctNoAUzZtbOSHSedcK++3Df3psjA=
 gitlab.com/xx_network/primitives v0.0.0-20200804183002-f99f7a7284da/go.mod h1:OK9xevzWCaPO7b1wiluVJGk7R5ZsuC7pHY5hteZFQug=
 gitlab.com/xx_network/primitives v0.0.2/go.mod h1:cs0QlFpdMDI6lAo61lDRH2JZz+3aVkHy+QogOB6F/qc=
+gitlab.com/xx_network/primitives v0.0.4-0.20211222205802-03e9d7d835b0 h1:IHHb59DJEKk02HgfxddqK2ilvkRMAUdPIBFn8rmjjIg=
 gitlab.com/xx_network/primitives v0.0.4-0.20211222205802-03e9d7d835b0/go.mod h1:9imZHvYwNFobxueSvVtHneZLk9wTK7HQTzxPm+zhFhE=
-gitlab.com/xx_network/primitives v0.0.4-0.20220209215928-ebad9b1d4f04 h1:yv++r3+1W2GmLarXtZY+xxtn2yzplc/+furnWLSKBBA=
-gitlab.com/xx_network/primitives v0.0.4-0.20220209215928-ebad9b1d4f04/go.mod h1:qqZ9b4fmqXsbMnPBHA+KYm2Mvf8WQPV/nl4Ir+g0Y5s=
 gitlab.com/xx_network/ring v0.0.3-0.20210527191221-ce3f170aabd5 h1:FY+4Rh1Q2rgLyv10aKJjhWApuKRCR/054XhreudfAvw=
 gitlab.com/xx_network/ring v0.0.3-0.20210527191221-ce3f170aabd5/go.mod h1:aLzpP2TiZTQut/PVHR40EJAomzugDdHXetbieRClXIM=
 go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
@@ -554,10 +548,8 @@ golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWP
 golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
 golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
 golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
+golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 h1:7I4JAnoQBe7ZtJcBaYHi5UtiO8tQHbUSXxL+pnGRANg=
 golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
-golang.org/x/crypto v0.0.0-20220128200615-198e4374d7ed/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
-golang.org/x/crypto v0.0.0-20220209195652-db638375bc3a h1:atOEWVSedO4ksXBe/UrlbSLVxQQ9RxM/tT2Jy10IaHo=
-golang.org/x/crypto v0.0.0-20220209195652-db638375bc3a/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
 golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
 golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
 golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -634,10 +626,8 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v
 golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc=
 golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
 golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20210525063256-abc453219eb5 h1:wjuX4b5yYQnEQHzd+CBcrcC6OVR2J1CN6mUy0oSxIPo=
 golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
-golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
-golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd h1:O7DYs+zxREGLKzKoMQrtrEacpb0ZVXA5rIwylE2Xchk=
-golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
 golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
 golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
 golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -731,14 +721,10 @@ golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBc
 golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210902050250-f475640dd07b h1:S7hKs0Flbq0bbc9xgYt4stIEG1zNDFqyrPwAX2Wj/sE=
 golang.org/x/sys v0.0.0-20210902050250-f475640dd07b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20220207234003-57398862261d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20220209214540-3681064d5158 h1:rm+CHSpPEEW2IsXUib1ThaHIjuBVZjxNgSKmBLFfD4c=
-golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
-golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
 golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -891,6 +877,7 @@ google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6D
 google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
 google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
 google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20210105202744-fe13368bc0e1/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
 google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
 google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
 google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
@@ -907,9 +894,8 @@ google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKr
 google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48=
 google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w=
 google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
+google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71 h1:z+ErRPu0+KS02Td3fOAgdX+lnPDh/VyaABEJPD4JRQs=
 google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
-google.golang.org/genproto v0.0.0-20220208230804-65c12eb4c068 h1:pwzFiZfBTH/GjBWz1BcDwMBaHBo8mZvpLa7eBKJpFAk=
-google.golang.org/genproto v0.0.0-20220208230804-65c12eb4c068/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI=
 google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
 google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
 google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
@@ -935,8 +921,8 @@ google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQ
 google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE=
 google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE=
 google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34=
-google.golang.org/grpc v1.44.0 h1:weqSxi/TMs1SqFRMHCtBgXRs8k3X39QIDEZ0pRcttUg=
-google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU=
+google.golang.org/grpc v1.42.0 h1:XT2/MFpuPFsEX2fWh3YQtHkZ+WYZFQRfaUgLZYj/p6A=
+google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU=
 google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw=
 google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
 google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
-- 
GitLab