diff --git a/VERSION b/VERSION
index 1809198..47b322c 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-3.4.0
+3.4.1
diff --git a/go/afrouter/afrouter.pb.go b/go/afrouter/afrouter.pb.go
deleted file mode 100644
index ffe8dc3..0000000
--- a/go/afrouter/afrouter.pb.go
+++ /dev/null
@@ -1,494 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// source: voltha_protos/afrouter.proto
-
-package afrouter
-
-import (
-	context "context"
-	fmt "fmt"
-	proto "github.com/golang/protobuf/proto"
-	_ "github.com/opencord/voltha-protos/v3/go/common"
-	grpc "google.golang.org/grpc"
-	math "math"
-)
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
-// 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
-
-type Result struct {
-	Success              bool     `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
-	Error                string   `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`
-	Info                 string   `protobuf:"bytes,3,opt,name=info,proto3" json:"info,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *Result) Reset()         { *m = Result{} }
-func (m *Result) String() string { return proto.CompactTextString(m) }
-func (*Result) ProtoMessage()    {}
-func (*Result) Descriptor() ([]byte, []int) {
-	return fileDescriptor_be7e2f565b9e1c96, []int{0}
-}
-
-func (m *Result) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Result.Unmarshal(m, b)
-}
-func (m *Result) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Result.Marshal(b, m, deterministic)
-}
-func (m *Result) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Result.Merge(m, src)
-}
-func (m *Result) XXX_Size() int {
-	return xxx_messageInfo_Result.Size(m)
-}
-func (m *Result) XXX_DiscardUnknown() {
-	xxx_messageInfo_Result.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Result proto.InternalMessageInfo
-
-func (m *Result) GetSuccess() bool {
-	if m != nil {
-		return m.Success
-	}
-	return false
-}
-
-func (m *Result) GetError() string {
-	if m != nil {
-		return m.Error
-	}
-	return ""
-}
-
-func (m *Result) GetInfo() string {
-	if m != nil {
-		return m.Info
-	}
-	return ""
-}
-
-type Empty struct {
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *Empty) Reset()         { *m = Empty{} }
-func (m *Empty) String() string { return proto.CompactTextString(m) }
-func (*Empty) ProtoMessage()    {}
-func (*Empty) Descriptor() ([]byte, []int) {
-	return fileDescriptor_be7e2f565b9e1c96, []int{1}
-}
-
-func (m *Empty) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Empty.Unmarshal(m, b)
-}
-func (m *Empty) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Empty.Marshal(b, m, deterministic)
-}
-func (m *Empty) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Empty.Merge(m, src)
-}
-func (m *Empty) XXX_Size() int {
-	return xxx_messageInfo_Empty.Size(m)
-}
-func (m *Empty) XXX_DiscardUnknown() {
-	xxx_messageInfo_Empty.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Empty proto.InternalMessageInfo
-
-type Count struct {
-	Count                uint32   `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *Count) Reset()         { *m = Count{} }
-func (m *Count) String() string { return proto.CompactTextString(m) }
-func (*Count) ProtoMessage()    {}
-func (*Count) Descriptor() ([]byte, []int) {
-	return fileDescriptor_be7e2f565b9e1c96, []int{2}
-}
-
-func (m *Count) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Count.Unmarshal(m, b)
-}
-func (m *Count) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Count.Marshal(b, m, deterministic)
-}
-func (m *Count) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Count.Merge(m, src)
-}
-func (m *Count) XXX_Size() int {
-	return xxx_messageInfo_Count.Size(m)
-}
-func (m *Count) XXX_DiscardUnknown() {
-	xxx_messageInfo_Count.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Count proto.InternalMessageInfo
-
-func (m *Count) GetCount() uint32 {
-	if m != nil {
-		return m.Count
-	}
-	return 0
-}
-
-type Conn struct {
-	Server               string   `protobuf:"bytes,1,opt,name=server,proto3" json:"server,omitempty"`
-	Pkg                  string   `protobuf:"bytes,2,opt,name=pkg,proto3" json:"pkg,omitempty"`
-	Svc                  string   `protobuf:"bytes,3,opt,name=svc,proto3" json:"svc,omitempty"`
-	Cluster              string   `protobuf:"bytes,4,opt,name=cluster,proto3" json:"cluster,omitempty"`
-	Backend              string   `protobuf:"bytes,5,opt,name=backend,proto3" json:"backend,omitempty"`
-	Connection           string   `protobuf:"bytes,6,opt,name=connection,proto3" json:"connection,omitempty"`
-	Addr                 string   `protobuf:"bytes,7,opt,name=addr,proto3" json:"addr,omitempty"`
-	Port                 uint64   `protobuf:"varint,8,opt,name=port,proto3" json:"port,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *Conn) Reset()         { *m = Conn{} }
-func (m *Conn) String() string { return proto.CompactTextString(m) }
-func (*Conn) ProtoMessage()    {}
-func (*Conn) Descriptor() ([]byte, []int) {
-	return fileDescriptor_be7e2f565b9e1c96, []int{3}
-}
-
-func (m *Conn) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Conn.Unmarshal(m, b)
-}
-func (m *Conn) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Conn.Marshal(b, m, deterministic)
-}
-func (m *Conn) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Conn.Merge(m, src)
-}
-func (m *Conn) XXX_Size() int {
-	return xxx_messageInfo_Conn.Size(m)
-}
-func (m *Conn) XXX_DiscardUnknown() {
-	xxx_messageInfo_Conn.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Conn proto.InternalMessageInfo
-
-func (m *Conn) GetServer() string {
-	if m != nil {
-		return m.Server
-	}
-	return ""
-}
-
-func (m *Conn) GetPkg() string {
-	if m != nil {
-		return m.Pkg
-	}
-	return ""
-}
-
-func (m *Conn) GetSvc() string {
-	if m != nil {
-		return m.Svc
-	}
-	return ""
-}
-
-func (m *Conn) GetCluster() string {
-	if m != nil {
-		return m.Cluster
-	}
-	return ""
-}
-
-func (m *Conn) GetBackend() string {
-	if m != nil {
-		return m.Backend
-	}
-	return ""
-}
-
-func (m *Conn) GetConnection() string {
-	if m != nil {
-		return m.Connection
-	}
-	return ""
-}
-
-func (m *Conn) GetAddr() string {
-	if m != nil {
-		return m.Addr
-	}
-	return ""
-}
-
-func (m *Conn) GetPort() uint64 {
-	if m != nil {
-		return m.Port
-	}
-	return 0
-}
-
-type Affinity struct {
-	Router               string   `protobuf:"bytes,1,opt,name=router,proto3" json:"router,omitempty"`
-	Route                string   `protobuf:"bytes,2,opt,name=route,proto3" json:"route,omitempty"`
-	Cluster              string   `protobuf:"bytes,3,opt,name=cluster,proto3" json:"cluster,omitempty"`
-	Backend              string   `protobuf:"bytes,4,opt,name=backend,proto3" json:"backend,omitempty"`
-	Id                   string   `protobuf:"bytes,5,opt,name=id,proto3" json:"id,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
-}
-
-func (m *Affinity) Reset()         { *m = Affinity{} }
-func (m *Affinity) String() string { return proto.CompactTextString(m) }
-func (*Affinity) ProtoMessage()    {}
-func (*Affinity) Descriptor() ([]byte, []int) {
-	return fileDescriptor_be7e2f565b9e1c96, []int{4}
-}
-
-func (m *Affinity) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_Affinity.Unmarshal(m, b)
-}
-func (m *Affinity) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_Affinity.Marshal(b, m, deterministic)
-}
-func (m *Affinity) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_Affinity.Merge(m, src)
-}
-func (m *Affinity) XXX_Size() int {
-	return xxx_messageInfo_Affinity.Size(m)
-}
-func (m *Affinity) XXX_DiscardUnknown() {
-	xxx_messageInfo_Affinity.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_Affinity proto.InternalMessageInfo
-
-func (m *Affinity) GetRouter() string {
-	if m != nil {
-		return m.Router
-	}
-	return ""
-}
-
-func (m *Affinity) GetRoute() string {
-	if m != nil {
-		return m.Route
-	}
-	return ""
-}
-
-func (m *Affinity) GetCluster() string {
-	if m != nil {
-		return m.Cluster
-	}
-	return ""
-}
-
-func (m *Affinity) GetBackend() string {
-	if m != nil {
-		return m.Backend
-	}
-	return ""
-}
-
-func (m *Affinity) GetId() string {
-	if m != nil {
-		return m.Id
-	}
-	return ""
-}
-
-func init() {
-	proto.RegisterType((*Result)(nil), "afrouter.Result")
-	proto.RegisterType((*Empty)(nil), "afrouter.Empty")
-	proto.RegisterType((*Count)(nil), "afrouter.Count")
-	proto.RegisterType((*Conn)(nil), "afrouter.Conn")
-	proto.RegisterType((*Affinity)(nil), "afrouter.Affinity")
-}
-
-func init() { proto.RegisterFile("voltha_protos/afrouter.proto", fileDescriptor_be7e2f565b9e1c96) }
-
-var fileDescriptor_be7e2f565b9e1c96 = []byte{
-	// 420 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x52, 0x4d, 0x8f, 0xd3, 0x30,
-	0x10, 0xdd, 0xb4, 0xe9, 0xc7, 0x0e, 0xea, 0xee, 0x62, 0x10, 0xb2, 0x2a, 0x40, 0x55, 0x4e, 0xbd,
-	0x90, 0x22, 0x2a, 0xc4, 0x19, 0x2a, 0xd4, 0x0b, 0xa7, 0xec, 0x8d, 0x0b, 0x4a, 0x1d, 0x27, 0x6b,
-	0x6d, 0xe3, 0x89, 0x6c, 0x27, 0xd2, 0x4a, 0xfc, 0x2c, 0xce, 0xfc, 0x36, 0x64, 0x3b, 0x6e, 0x5a,
-	0x89, 0xbd, 0xbd, 0x8f, 0x49, 0xfc, 0x9e, 0x3d, 0xf0, 0xb6, 0xc3, 0xa3, 0x79, 0xc8, 0x7f, 0x35,
-	0x0a, 0x0d, 0xea, 0x4d, 0x5e, 0x2a, 0x6c, 0x0d, 0x57, 0xa9, 0xe3, 0x64, 0x1e, 0xf8, 0x72, 0x79,
-	0x39, 0xc7, 0xb0, 0xae, 0x51, 0xfa, 0xa9, 0xe4, 0x07, 0x4c, 0x33, 0xae, 0xdb, 0xa3, 0x21, 0x14,
-	0x66, 0xba, 0x65, 0x8c, 0x6b, 0x4d, 0xa3, 0x55, 0xb4, 0x9e, 0x67, 0x81, 0x92, 0xd7, 0x30, 0xe1,
-	0x4a, 0xa1, 0xa2, 0xa3, 0x55, 0xb4, 0xbe, 0xce, 0x3c, 0x21, 0x04, 0x62, 0x21, 0x4b, 0xa4, 0x63,
-	0x27, 0x3a, 0x9c, 0xcc, 0x60, 0xf2, 0xbd, 0x6e, 0xcc, 0x53, 0xf2, 0x0e, 0x26, 0x3b, 0x6c, 0xa5,
-	0xb1, 0xdf, 0x32, 0x0b, 0xdc, 0x3f, 0x17, 0x99, 0x27, 0xc9, 0xdf, 0x08, 0xe2, 0x1d, 0x4a, 0x49,
-	0xde, 0xc0, 0x54, 0x73, 0xd5, 0x71, 0xe5, 0xfc, 0xeb, 0xac, 0x67, 0xe4, 0x0e, 0xc6, 0xcd, 0x63,
-	0xd5, 0x1f, 0x68, 0xa1, 0x55, 0x74, 0xc7, 0xfa, 0xd3, 0x2c, 0xb4, 0x81, 0xd9, 0xb1, 0xd5, 0x86,
-	0x2b, 0x1a, 0x3b, 0x35, 0x50, 0xeb, 0x1c, 0x72, 0xf6, 0xc8, 0x65, 0x41, 0x27, 0xde, 0xe9, 0x29,
-	0x79, 0x0f, 0xc0, 0x50, 0x4a, 0xce, 0x8c, 0x40, 0x49, 0xa7, 0xce, 0x3c, 0x53, 0x6c, 0xa9, 0xbc,
-	0x28, 0x14, 0x9d, 0xf9, 0x52, 0x16, 0x5b, 0xad, 0x41, 0x65, 0xe8, 0x7c, 0x15, 0xad, 0xe3, 0xcc,
-	0xe1, 0xe4, 0x37, 0xcc, 0xbf, 0x96, 0xa5, 0x90, 0xc2, 0x3c, 0xd9, 0x0e, 0xfe, 0xa2, 0x43, 0x07,
-	0xcf, 0x6c, 0x75, 0x87, 0xc2, 0xb5, 0x39, 0x72, 0x9e, 0x7a, 0xfc, 0x6c, 0xea, 0xf8, 0x32, 0xf5,
-	0x0d, 0x8c, 0x44, 0xa8, 0x32, 0x12, 0xc5, 0xa7, 0x3f, 0x11, 0x2c, 0x76, 0x28, 0x4b, 0x51, 0xb5,
-	0x2a, 0x77, 0xb9, 0xb7, 0xb0, 0xb8, 0xe7, 0x66, 0x37, 0x14, 0xb9, 0x49, 0x4f, 0xeb, 0x60, 0xd5,
-	0xe5, 0xdd, 0xc0, 0xfd, 0x7b, 0x27, 0x57, 0xe4, 0x33, 0xbc, 0xb8, 0xe7, 0xe6, 0xd4, 0x83, 0x0c,
-	0x23, 0x41, 0xfb, 0xef, 0x67, 0x5f, 0xe0, 0xe5, 0x9e, 0x9b, 0x3d, 0x5a, 0x5d, 0x48, 0xee, 0xdf,
-	0xf9, 0x76, 0x18, 0x74, 0x1b, 0xb0, 0xbc, 0x3d, 0x0f, 0x60, 0xdf, 0xfc, 0xea, 0xdb, 0x1e, 0x5e,
-	0xa1, 0xaa, 0x52, 0x6c, 0xb8, 0x64, 0xa8, 0x8a, 0xd4, 0xaf, 0xe5, 0xcf, 0x8f, 0x95, 0x30, 0x0f,
-	0xed, 0x21, 0x65, 0x58, 0x6f, 0x82, 0xb7, 0xf1, 0xde, 0x87, 0x7e, 0x65, 0xbb, 0xed, 0xa6, 0xc2,
-	0xd3, 0x82, 0x1f, 0xa6, 0x4e, 0xde, 0xfe, 0x0b, 0x00, 0x00, 0xff, 0xff, 0x5d, 0x28, 0xe9, 0x22,
-	0x01, 0x03, 0x00, 0x00,
-}
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ context.Context
-var _ grpc.ClientConn
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the grpc package it is being compiled against.
-const _ = grpc.SupportPackageIsVersion4
-
-// ConfigurationClient is the client API for Configuration service.
-//
-// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
-type ConfigurationClient interface {
-	SetConnection(ctx context.Context, in *Conn, opts ...grpc.CallOption) (*Result, error)
-	SetAffinity(ctx context.Context, in *Affinity, opts ...grpc.CallOption) (*Result, error)
-	GetGoroutineCount(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Count, error)
-}
-
-type configurationClient struct {
-	cc *grpc.ClientConn
-}
-
-func NewConfigurationClient(cc *grpc.ClientConn) ConfigurationClient {
-	return &configurationClient{cc}
-}
-
-func (c *configurationClient) SetConnection(ctx context.Context, in *Conn, opts ...grpc.CallOption) (*Result, error) {
-	out := new(Result)
-	err := c.cc.Invoke(ctx, "/afrouter.Configuration/SetConnection", in, out, opts...)
-	if err != nil {
-		return nil, err
-	}
-	return out, nil
-}
-
-func (c *configurationClient) SetAffinity(ctx context.Context, in *Affinity, opts ...grpc.CallOption) (*Result, error) {
-	out := new(Result)
-	err := c.cc.Invoke(ctx, "/afrouter.Configuration/SetAffinity", in, out, opts...)
-	if err != nil {
-		return nil, err
-	}
-	return out, nil
-}
-
-func (c *configurationClient) GetGoroutineCount(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Count, error) {
-	out := new(Count)
-	err := c.cc.Invoke(ctx, "/afrouter.Configuration/GetGoroutineCount", in, out, opts...)
-	if err != nil {
-		return nil, err
-	}
-	return out, nil
-}
-
-// ConfigurationServer is the server API for Configuration service.
-type ConfigurationServer interface {
-	SetConnection(context.Context, *Conn) (*Result, error)
-	SetAffinity(context.Context, *Affinity) (*Result, error)
-	GetGoroutineCount(context.Context, *Empty) (*Count, error)
-}
-
-func RegisterConfigurationServer(s *grpc.Server, srv ConfigurationServer) {
-	s.RegisterService(&_Configuration_serviceDesc, srv)
-}
-
-func _Configuration_SetConnection_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(Conn)
-	if err := dec(in); err != nil {
-		return nil, err
-	}
-	if interceptor == nil {
-		return srv.(ConfigurationServer).SetConnection(ctx, in)
-	}
-	info := &grpc.UnaryServerInfo{
-		Server:     srv,
-		FullMethod: "/afrouter.Configuration/SetConnection",
-	}
-	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(ConfigurationServer).SetConnection(ctx, req.(*Conn))
-	}
-	return interceptor(ctx, in, info, handler)
-}
-
-func _Configuration_SetAffinity_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(Affinity)
-	if err := dec(in); err != nil {
-		return nil, err
-	}
-	if interceptor == nil {
-		return srv.(ConfigurationServer).SetAffinity(ctx, in)
-	}
-	info := &grpc.UnaryServerInfo{
-		Server:     srv,
-		FullMethod: "/afrouter.Configuration/SetAffinity",
-	}
-	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(ConfigurationServer).SetAffinity(ctx, req.(*Affinity))
-	}
-	return interceptor(ctx, in, info, handler)
-}
-
-func _Configuration_GetGoroutineCount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(Empty)
-	if err := dec(in); err != nil {
-		return nil, err
-	}
-	if interceptor == nil {
-		return srv.(ConfigurationServer).GetGoroutineCount(ctx, in)
-	}
-	info := &grpc.UnaryServerInfo{
-		Server:     srv,
-		FullMethod: "/afrouter.Configuration/GetGoroutineCount",
-	}
-	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(ConfigurationServer).GetGoroutineCount(ctx, req.(*Empty))
-	}
-	return interceptor(ctx, in, info, handler)
-}
-
-var _Configuration_serviceDesc = grpc.ServiceDesc{
-	ServiceName: "afrouter.Configuration",
-	HandlerType: (*ConfigurationServer)(nil),
-	Methods: []grpc.MethodDesc{
-		{
-			MethodName: "SetConnection",
-			Handler:    _Configuration_SetConnection_Handler,
-		},
-		{
-			MethodName: "SetAffinity",
-			Handler:    _Configuration_SetAffinity_Handler,
-		},
-		{
-			MethodName: "GetGoroutineCount",
-			Handler:    _Configuration_GetGoroutineCount_Handler,
-		},
-	},
-	Streams:  []grpc.StreamDesc{},
-	Metadata: "voltha_protos/afrouter.proto",
-}
diff --git a/go/voltha/adapter.pb.go b/go/voltha/adapter.pb.go
index 9359dc1..3d12f3f 100644
--- a/go/voltha/adapter.pb.go
+++ b/go/voltha/adapter.pb.go
@@ -238,34 +238,34 @@
 func init() { proto.RegisterFile("voltha_protos/adapter.proto", fileDescriptor_7e998ce153307274) }
 
 var fileDescriptor_7e998ce153307274 = []byte{
-	// 463 bytes of a gzipped FileDescriptorProto
+	// 455 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x52, 0xdd, 0x6e, 0xd3, 0x30,
-	0x14, 0x56, 0xda, 0x35, 0x6d, 0x3d, 0x15, 0x3a, 0x43, 0x91, 0x09, 0x9a, 0x16, 0x55, 0x80, 0x72,
-	0xc1, 0x12, 0xb1, 0xbd, 0x00, 0xed, 0x76, 0xb3, 0x5b, 0x6b, 0xe2, 0x82, 0x9b, 0xca, 0xb5, 0xbd,
-	0xcc, 0x52, 0xe2, 0x13, 0xc5, 0x6e, 0xa4, 0x3e, 0x24, 0x2f, 0xc0, 0x13, 0xf0, 0x04, 0x5c, 0xa3,
-	0x3a, 0x0e, 0xfd, 0x41, 0xda, 0x55, 0x72, 0xbe, 0xef, 0x3b, 0xdf, 0xf9, 0x33, 0xfa, 0xd0, 0x40,
-	0x61, 0x9f, 0xd9, 0xaa, 0xaa, 0xc1, 0x82, 0xc9, 0x98, 0x60, 0x95, 0x95, 0x75, 0xea, 0x42, 0x1c,
-	0xb6, 0x64, 0xf4, 0x3e, 0x07, 0xc8, 0x0b, 0x99, 0x39, 0x74, 0xbd, 0x79, 0xca, 0x98, 0xde, 0xb6,
-	0x92, 0x28, 0x3a, 0xce, 0xe7, 0x50, 0x96, 0xa0, 0x3d, 0x47, 0x8e, 0xb9, 0x52, 0x5a, 0xe6, 0x99,
-	0xab, 0x53, 0x43, 0xab, 0x4a, 0x69, 0x2c, 0x2b, 0xab, 0x56, 0x30, 0xa7, 0x68, 0xb2, 0x68, 0x5b,
-	0xb9, 0x03, 0xfd, 0xa4, 0x72, 0xbc, 0x40, 0x17, 0x4c, 0x08, 0x65, 0x15, 0x68, 0x56, 0xac, 0xb8,
-	0x03, 0xc9, 0xb7, 0x38, 0x48, 0xce, 0x6f, 0xde, 0xa6, 0xad, 0x5b, 0xda, 0xb9, 0xa5, 0x0b, 0xbd,
-	0xa5, 0xd3, 0xbd, 0xbc, 0xb5, 0x98, 0xff, 0xea, 0xa3, 0xa1, 0x37, 0xc5, 0x33, 0xd4, 0x53, 0x82,
-	0x04, 0x71, 0x90, 0x8c, 0x97, 0x83, 0xdf, 0x7f, 0x7e, 0x5e, 0x06, 0xb4, 0xa7, 0x04, 0xbe, 0x44,
-	0x61, 0x23, 0xb5, 0x80, 0x9a, 0xf4, 0x0e, 0x29, 0x0f, 0xe2, 0x2b, 0x34, 0x6c, 0x64, 0x6d, 0x14,
-	0x68, 0xd2, 0x3f, 0xe4, 0x3b, 0x14, 0x5f, 0xa3, 0xd0, 0xb7, 0x36, 0x75, 0xad, 0xcd, 0xd2, 0x76,
-	0x05, 0xe9, 0xd1, 0x30, 0xd4, 0x8b, 0x30, 0x45, 0xef, 0x0e, 0x86, 0x12, 0xd2, 0xf0, 0x5a, 0x55,
-	0xbb, 0xe8, 0xa5, 0xc9, 0xba, 0xa2, 0xb3, 0x7d, 0xea, 0xfd, 0x3e, 0x13, 0x7f, 0x41, 0xb8, 0x80,
-	0x5c, 0x71, 0x67, 0xd8, 0x28, 0x2e, 0x57, 0x4a, 0x18, 0x72, 0x16, 0xf7, 0x93, 0x31, 0x9d, 0x7a,
-	0xe6, 0xde, 0x11, 0x0f, 0xc2, 0xe0, 0x07, 0x84, 0x0b, 0x66, 0xec, 0x6a, 0x77, 0xb7, 0x8d, 0x56,
-	0x9c, 0xb9, 0xea, 0x03, 0x57, 0x3d, 0xfa, 0xaf, 0xfa, 0x63, 0x77, 0x25, 0x7a, 0xb1, 0xcb, 0xba,
-	0x3b, 0x4c, 0xc2, 0x9f, 0xd1, 0x2b, 0xbe, 0xa9, 0x6b, 0xa9, 0x2d, 0x95, 0x55, 0xa1, 0x38, 0x23,
-	0x61, 0x1c, 0x24, 0x03, 0x7a, 0x82, 0xe2, 0x8f, 0x68, 0x62, 0xc1, 0xb2, 0xc2, 0xc7, 0x86, 0x0c,
-	0x9d, 0xec, 0x18, 0xc4, 0x11, 0x1a, 0x49, 0x2d, 0x2a, 0x50, 0xda, 0x92, 0xd1, 0x6e, 0xd7, 0xf4,
-	0x5f, 0x8c, 0x31, 0x3a, 0xb3, 0xdb, 0x4a, 0x92, 0xb1, 0xc3, 0xdd, 0xff, 0xfc, 0x2b, 0x1a, 0xf9,
-	0x1d, 0x1b, 0xfc, 0x09, 0x0d, 0x94, 0x95, 0xa5, 0x21, 0x41, 0xdc, 0x4f, 0xce, 0x6f, 0x5e, 0x9f,
-	0x1c, 0x81, 0xb6, 0xec, 0xf2, 0x11, 0xbd, 0x81, 0x3a, 0x4f, 0xa1, 0x92, 0x9a, 0x43, 0x2d, 0xbc,
-	0x6a, 0x39, 0xf9, 0xee, 0xbe, 0x5e, 0xfc, 0x23, 0xcd, 0x95, 0x7d, 0xde, 0xac, 0x53, 0x0e, 0x65,
-	0xd6, 0x49, 0xb3, 0x56, 0x7a, 0xed, 0x1f, 0x76, 0x73, 0x9b, 0xe5, 0xe0, 0xb1, 0x75, 0xe8, 0xc0,
-	0xdb, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xef, 0x64, 0x5e, 0x10, 0x59, 0x03, 0x00, 0x00,
+	0x14, 0x56, 0xda, 0xf5, 0xcf, 0x53, 0xa1, 0x33, 0x14, 0x99, 0xa2, 0x69, 0x51, 0x05, 0x28, 0x17,
+	0x2c, 0x11, 0xdb, 0x0b, 0xd0, 0x6e, 0x37, 0xbb, 0xb5, 0x26, 0x2e, 0xb8, 0xa9, 0x5c, 0xdb, 0xcb,
+	0x2c, 0x25, 0x3e, 0x51, 0xec, 0x46, 0xea, 0x43, 0xf2, 0x02, 0x3c, 0x01, 0x4f, 0xc0, 0x35, 0xaa,
+	0xed, 0xd0, 0x1f, 0xa4, 0x5d, 0x25, 0xe7, 0xfb, 0x39, 0x9f, 0xcf, 0xb1, 0xd1, 0x87, 0x06, 0x0a,
+	0xfb, 0xcc, 0x56, 0x55, 0x0d, 0x16, 0x4c, 0xc6, 0x04, 0xab, 0xac, 0xac, 0x53, 0x57, 0xe2, 0xbe,
+	0x27, 0x67, 0xef, 0x73, 0x80, 0xbc, 0x90, 0x99, 0x43, 0xd7, 0x9b, 0xa7, 0x8c, 0xe9, 0xad, 0x97,
+	0xcc, 0xc8, 0xb1, 0xbf, 0x94, 0x96, 0x05, 0xe6, 0xea, 0xd4, 0x64, 0x55, 0x29, 0x8d, 0x65, 0x65,
+	0xe5, 0x05, 0x73, 0x8a, 0xc6, 0x0b, 0x1f, 0x77, 0x07, 0xfa, 0x49, 0xe5, 0x78, 0x81, 0x2e, 0x98,
+	0x10, 0xca, 0x2a, 0xd0, 0xac, 0x58, 0x71, 0x07, 0x92, 0x6f, 0x71, 0x94, 0x9c, 0xdf, 0xbc, 0x4d,
+	0x7d, 0xb7, 0xb4, 0xed, 0x96, 0x2e, 0xf4, 0x96, 0x4e, 0xf6, 0x72, 0xdf, 0x62, 0xfe, 0xab, 0x8b,
+	0x06, 0xa1, 0x29, 0x9e, 0xa2, 0x8e, 0x12, 0x24, 0x8a, 0xa3, 0x64, 0xb4, 0xec, 0xfd, 0xfe, 0xf3,
+	0xf3, 0x32, 0xa2, 0x1d, 0x25, 0xf0, 0x25, 0xea, 0x37, 0x52, 0x0b, 0xa8, 0x49, 0xe7, 0x90, 0x0a,
+	0x20, 0xbe, 0x42, 0x83, 0x46, 0xd6, 0x46, 0x81, 0x26, 0xdd, 0x43, 0xbe, 0x45, 0xf1, 0x35, 0xea,
+	0x87, 0xa3, 0x4d, 0xdc, 0xd1, 0xa6, 0xa9, 0x5f, 0x41, 0x7a, 0x34, 0x0c, 0x0d, 0x22, 0x4c, 0xd1,
+	0xbb, 0x83, 0xa1, 0x84, 0x34, 0xbc, 0x56, 0xd5, 0xae, 0x7a, 0x69, 0xb2, 0x36, 0x74, 0xba, 0xb7,
+	0xde, 0xef, 0x9d, 0xf8, 0x0b, 0xc2, 0x05, 0xe4, 0x8a, 0xbb, 0x86, 0x8d, 0xe2, 0x72, 0xa5, 0x84,
+	0x21, 0x67, 0x71, 0x37, 0x19, 0xd1, 0x49, 0x60, 0xee, 0x1d, 0xf1, 0x20, 0x0c, 0x7e, 0x40, 0xb8,
+	0x60, 0xc6, 0xae, 0x38, 0x94, 0xe5, 0x46, 0x2b, 0xce, 0x5c, 0x7a, 0xcf, 0xa5, 0xcf, 0xfe, 0x4b,
+	0x7f, 0x6c, 0x6f, 0x89, 0x5e, 0xec, 0x5c, 0x77, 0x87, 0x26, 0xfc, 0x19, 0xbd, 0xe2, 0x9b, 0xba,
+	0x96, 0xda, 0x52, 0x59, 0x15, 0x8a, 0x33, 0xd2, 0x8f, 0xa3, 0xa4, 0x47, 0x4f, 0x50, 0xfc, 0x11,
+	0x8d, 0x2d, 0x58, 0x56, 0x84, 0xda, 0x90, 0x81, 0x93, 0x1d, 0x83, 0x78, 0x86, 0x86, 0x52, 0x8b,
+	0x0a, 0x94, 0xb6, 0x64, 0xb8, 0xdb, 0x35, 0xfd, 0x57, 0x63, 0x8c, 0xce, 0xec, 0xb6, 0x92, 0x64,
+	0xe4, 0x70, 0xf7, 0x3f, 0xff, 0x8a, 0x86, 0x61, 0xc7, 0x06, 0x7f, 0x42, 0x3d, 0x65, 0x65, 0x69,
+	0x48, 0x14, 0x77, 0x93, 0xf3, 0x9b, 0xd7, 0x27, 0x97, 0x40, 0x3d, 0xbb, 0x7c, 0x44, 0x6f, 0xa0,
+	0xce, 0x53, 0xa8, 0xa4, 0xe6, 0x50, 0x8b, 0xa0, 0x5a, 0x8e, 0xbf, 0xbb, 0x6f, 0x10, 0xff, 0x48,
+	0x73, 0x65, 0x9f, 0x37, 0xeb, 0x94, 0x43, 0x99, 0xb5, 0xd2, 0xcc, 0x4b, 0xaf, 0xc3, 0xc3, 0x6e,
+	0x6e, 0xb3, 0x1c, 0x02, 0xb6, 0xee, 0x3b, 0xf0, 0xf6, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x4c,
+	0x2f, 0x33, 0x61, 0x3d, 0x03, 0x00, 0x00,
 }
diff --git a/go/voltha/device.pb.go b/go/voltha/device.pb.go
index 5d0d344..764edcf 100644
--- a/go/voltha/device.pb.go
+++ b/go/voltha/device.pb.go
@@ -720,6 +720,7 @@
 	return nil
 }
 
+//TODO: ImageDownload is not actively used (05/19/2020).  When this is tackled, can remove extra/unnecessary fields.
 type ImageDownload struct {
 	// Device Identifier
 	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
@@ -1180,10 +1181,7 @@
 	Reason        string                     `protobuf:"bytes,22,opt,name=reason,proto3" json:"reason,omitempty"`
 	ConnectStatus common.ConnectStatus_Types `protobuf:"varint,18,opt,name=connect_status,json=connectStatus,proto3,enum=common.ConnectStatus_Types" json:"connect_status,omitempty"`
 	// Device type specific attributes
-	Custom     *any.Any                `protobuf:"bytes,64,opt,name=custom,proto3" json:"custom,omitempty"`
-	Ports      []*Port                 `protobuf:"bytes,128,rep,name=ports,proto3" json:"ports,omitempty"`
-	Flows      *openflow_13.Flows      `protobuf:"bytes,129,opt,name=flows,proto3" json:"flows,omitempty"`
-	FlowGroups *openflow_13.FlowGroups `protobuf:"bytes,130,opt,name=flow_groups,json=flowGroups,proto3" json:"flow_groups,omitempty"`
+	Custom *any.Any `protobuf:"bytes,64,opt,name=custom,proto3" json:"custom,omitempty"`
 	// PmConfigs will eventually converted to a child node of the
 	// device to falicitata callbacks and to simplify manipulation.
 	PmConfigs            *PmConfigs       `protobuf:"bytes,131,opt,name=pm_configs,json=pmConfigs,proto3" json:"pm_configs,omitempty"`
@@ -1422,27 +1420,6 @@
 	return nil
 }
 
-func (m *Device) GetPorts() []*Port {
-	if m != nil {
-		return m.Ports
-	}
-	return nil
-}
-
-func (m *Device) GetFlows() *openflow_13.Flows {
-	if m != nil {
-		return m.Flows
-	}
-	return nil
-}
-
-func (m *Device) GetFlowGroups() *openflow_13.FlowGroups {
-	if m != nil {
-		return m.FlowGroups
-	}
-	return nil
-}
-
 func (m *Device) GetPmConfigs() *PmConfigs {
 	if m != nil {
 		return m.PmConfigs
@@ -1732,156 +1709,152 @@
 func init() { proto.RegisterFile("voltha_protos/device.proto", fileDescriptor_200940f73d155856) }
 
 var fileDescriptor_200940f73d155856 = []byte{
-	// 2402 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x58, 0x4d, 0x73, 0xdb, 0xc6,
-	0xf9, 0x37, 0x29, 0x11, 0x24, 0x1e, 0xbe, 0x08, 0x5e, 0xcb, 0x31, 0x6c, 0xfd, 0x35, 0xf6, 0x9f,
-	0x4e, 0xa7, 0x8a, 0x53, 0x4b, 0x6e, 0xdc, 0x49, 0xd2, 0x43, 0x67, 0x4c, 0x91, 0xb0, 0x8d, 0xa9,
-	0x4a, 0xa9, 0x4b, 0x52, 0x69, 0x7b, 0xc1, 0x40, 0xc4, 0x52, 0xc2, 0x18, 0xc0, 0xd2, 0x0b, 0x90,
-	0x92, 0x73, 0x6a, 0x9a, 0x69, 0x4f, 0xbd, 0xf5, 0x4b, 0xf4, 0x1b, 0xe4, 0xd8, 0xce, 0xf4, 0x9c,
-	0xe9, 0x77, 0x68, 0x2f, 0xfd, 0x04, 0x39, 0x77, 0xf6, 0x59, 0x2c, 0x09, 0xc8, 0xae, 0xd3, 0x5e,
-	0x24, 0xee, 0xef, 0x79, 0xd9, 0xdd, 0xdf, 0xee, 0x3e, 0x2f, 0x80, 0x7b, 0x4b, 0x1e, 0x65, 0x17,
-	0xbe, 0x37, 0x17, 0x3c, 0xe3, 0xe9, 0x41, 0xc0, 0x96, 0xe1, 0x94, 0xed, 0xe3, 0x88, 0x18, 0x4a,
-	0x76, 0xef, 0xee, 0x39, 0xe7, 0xe7, 0x11, 0x3b, 0x40, 0xf4, 0x6c, 0x31, 0x3b, 0xf0, 0x93, 0x37,
-	0x4a, 0xe5, 0xde, 0x35, 0xf3, 0x29, 0x8f, 0x63, 0x9e, 0xe4, 0x32, 0xbb, 0x2c, 0x8b, 0x59, 0xe6,
-	0xe7, 0x92, 0xfb, 0x65, 0x09, 0x9f, 0xb3, 0x64, 0x16, 0xf1, 0x4b, 0xef, 0xc7, 0x4f, 0x95, 0x42,
-	0xf7, 0x2f, 0x55, 0x80, 0x01, 0x2e, 0x65, 0xfc, 0x66, 0xce, 0x48, 0x07, 0xaa, 0x61, 0x60, 0x57,
-	0x1e, 0x54, 0xf6, 0x4c, 0x5a, 0x0d, 0x03, 0xb2, 0x03, 0xe6, 0x92, 0x25, 0x01, 0x17, 0x5e, 0x18,
-	0xd8, 0x35, 0x84, 0x1b, 0x0a, 0x70, 0x03, 0xb2, 0x0b, 0xb0, 0x12, 0xa6, 0xb6, 0xf1, 0x60, 0x63,
-	0xcf, 0xa4, 0xa6, 0x96, 0xa6, 0xc4, 0x86, 0xba, 0x1f, 0xf8, 0xf3, 0x8c, 0x09, 0xbb, 0x8a, 0x96,
-	0x7a, 0x48, 0x3e, 0x03, 0xdb, 0x9f, 0x4e, 0xd9, 0x3c, 0x4b, 0xbd, 0xb3, 0x45, 0xf4, 0xca, 0xc3,
-	0x25, 0x2d, 0xe6, 0x81, 0x9f, 0x31, 0x7b, 0xe3, 0x41, 0x65, 0xaf, 0x41, 0x6f, 0xe7, 0xf2, 0xc3,
-	0x45, 0xf4, 0xea, 0x79, 0xc4, 0x2f, 0x27, 0x28, 0x24, 0x03, 0xb8, 0xaf, 0x0d, 0xfd, 0x20, 0xf0,
-	0x04, 0x8b, 0xf9, 0x92, 0x15, 0xcd, 0x53, 0x7b, 0x13, 0xed, 0x77, 0x72, 0xb5, 0x5e, 0x10, 0x50,
-	0x54, 0x5a, 0x3b, 0x49, 0xc9, 0x11, 0x3c, 0xd4, 0x5e, 0x82, 0x50, 0xb0, 0x69, 0xe6, 0x45, 0xfc,
-	0x3c, 0x9c, 0xfa, 0x11, 0x7a, 0x4a, 0xf5, 0x4a, 0xea, 0xe8, 0x49, 0x4f, 0x38, 0x40, 0xcd, 0x23,
-	0xa5, 0x28, 0xbd, 0xa5, 0xca, 0x5d, 0xf7, 0x33, 0x68, 0xae, 0x09, 0x4c, 0xc9, 0x1e, 0xd4, 0xc2,
-	0x8c, 0xc5, 0xa9, 0x5d, 0x79, 0xb0, 0xb1, 0xd7, 0xfc, 0x84, 0xec, 0xab, 0x13, 0xd8, 0x5f, 0xeb,
-	0x50, 0xa5, 0xd0, 0xfd, 0x6b, 0x05, 0x1a, 0x27, 0x71, 0x9f, 0x27, 0xb3, 0xf0, 0x9c, 0x10, 0xd8,
-	0x4c, 0xfc, 0x98, 0xe5, 0xd4, 0xe3, 0x6f, 0xf2, 0x31, 0x6c, 0x66, 0x6f, 0xe6, 0x0c, 0xd9, 0xeb,
-	0x7c, 0x72, 0x47, 0x7b, 0xd2, 0x36, 0xfb, 0x27, 0x31, 0xba, 0x43, 0x25, 0xc9, 0x36, 0x4b, 0xfc,
-	0xb3, 0x88, 0x05, 0x39, 0x85, 0x7a, 0x48, 0xee, 0x43, 0x33, 0xf5, 0xe3, 0x79, 0xc4, 0xbc, 0x99,
-	0x60, 0xaf, 0x91, 0xa0, 0x36, 0x05, 0x05, 0x3d, 0x17, 0xec, 0x75, 0xf7, 0x73, 0x30, 0x94, 0x2b,
-	0xd2, 0x84, 0x7a, 0xff, 0x78, 0x32, 0x1c, 0x3b, 0xd4, 0xba, 0x41, 0x4c, 0xa8, 0xbd, 0xe8, 0x4d,
-	0x5e, 0x38, 0x56, 0x45, 0xfe, 0x1c, 0x8d, 0x7b, 0x63, 0xc7, 0xaa, 0x2a, 0x95, 0xe1, 0xd8, 0xf9,
-	0xd5, 0xd8, 0xda, 0xe8, 0xfe, 0xa9, 0x02, 0xed, 0x93, 0xf8, 0x85, 0xe0, 0x8b, 0x79, 0xbe, 0x8f,
-	0x5d, 0x80, 0x73, 0x39, 0xf4, 0x0a, 0xbb, 0x31, 0x11, 0x19, 0xca, 0x2d, 0xad, 0xc4, 0xb8, 0x94,
-	0x2a, 0x2e, 0x45, 0x89, 0xe5, 0x4a, 0xde, 0xb3, 0x89, 0x47, 0x50, 0x8f, 0x59, 0x26, 0xc2, 0xa9,
-	0x3c, 0x61, 0x49, 0xac, 0x75, 0x9d, 0x0e, 0xaa, 0x15, 0xba, 0x5f, 0x55, 0xc1, 0xd4, 0x68, 0xfa,
-	0xd6, 0x95, 0xfe, 0x7f, 0x68, 0x05, 0x6c, 0xe6, 0x2f, 0xa2, 0xac, 0xb8, 0x88, 0x66, 0x8e, 0xe1,
-	0x32, 0xee, 0x43, 0x1d, 0xd7, 0xa4, 0x97, 0x71, 0x58, 0xfb, 0xd7, 0x77, 0xdf, 0xee, 0x56, 0xa8,
-	0x46, 0xc9, 0x23, 0x68, 0x4b, 0x5b, 0x8f, 0x2f, 0x99, 0x10, 0x61, 0xc0, 0xd4, 0xad, 0xd3, 0x6a,
-	0x2d, 0x29, 0x3b, 0xce, 0x45, 0xe4, 0x31, 0x18, 0x68, 0x96, 0xda, 0x35, 0x5c, 0xf8, 0xed, 0xf5,
-	0xc2, 0x0b, 0xc4, 0xd1, 0x5c, 0xa9, 0xb8, 0x51, 0xe3, 0x7b, 0x36, 0x4a, 0xee, 0x42, 0x23, 0xf6,
-	0xaf, 0xbc, 0xf4, 0x15, 0xbb, 0xc4, 0xdb, 0xda, 0xa6, 0xf5, 0xd8, 0xbf, 0x1a, 0xbd, 0x62, 0x97,
-	0xdd, 0xbf, 0x57, 0xa0, 0xe6, 0xc6, 0xfe, 0x39, 0x7b, 0xe7, 0xcd, 0xb2, 0xa1, 0xbe, 0x64, 0x22,
-	0x0d, 0x79, 0xa2, 0x9f, 0x66, 0x3e, 0x94, 0xda, 0x17, 0x7e, 0x7a, 0x81, 0xfb, 0x36, 0x29, 0xfe,
-	0x26, 0x1f, 0x81, 0x15, 0x26, 0x69, 0xe6, 0x47, 0x91, 0x27, 0x6f, 0x7c, 0x16, 0xc6, 0x6a, 0xc3,
-	0x26, 0xdd, 0xca, 0xf1, 0x41, 0x0e, 0xcb, 0x78, 0x11, 0xa6, 0x9e, 0x3f, 0xcd, 0xc2, 0x25, 0xc3,
-	0x78, 0xd1, 0xa0, 0x8d, 0x30, 0xed, 0xe1, 0x58, 0x32, 0x1f, 0xa6, 0x9e, 0x8c, 0x5c, 0x61, 0x96,
-	0xb1, 0xc0, 0x36, 0x50, 0xde, 0x0c, 0xd3, 0xbe, 0x86, 0xe4, 0x8e, 0xc2, 0xd4, 0x5b, 0xfa, 0x51,
-	0x18, 0xe4, 0xef, 0xaf, 0x1e, 0xa6, 0xa7, 0x72, 0xd8, 0x7d, 0x0c, 0x06, 0x6e, 0x28, 0x25, 0x0f,
-	0xa1, 0x16, 0xca, 0x5f, 0xf9, 0x13, 0x6b, 0x6b, 0x82, 0x50, 0x4c, 0x95, 0xac, 0xfb, 0xcf, 0x3a,
-	0xb4, 0x11, 0x18, 0xf0, 0xcb, 0x24, 0xe2, 0x7e, 0xf0, 0xd6, 0x45, 0xd0, 0xc4, 0x54, 0x0b, 0xc4,
-	0x58, 0xb0, 0xb1, 0x10, 0x51, 0xbe, 0x7b, 0xf9, 0x53, 0x22, 0x53, 0x31, 0xcd, 0x5f, 0x8d, 0xfc,
-	0x49, 0x8e, 0xa1, 0x13, 0xe4, 0x3e, 0xbd, 0x34, 0x93, 0x91, 0xa2, 0x86, 0x0f, 0x74, 0xaf, 0xb4,
-	0x0e, 0x3d, 0x6d, 0x79, 0x34, 0x92, 0xfa, 0xb4, 0x1d, 0x14, 0x87, 0xe4, 0x21, 0xb4, 0x71, 0xcd,
-	0x9e, 0x3e, 0x13, 0x03, 0xa7, 0x6f, 0x21, 0x78, 0x9a, 0x1f, 0xcc, 0x47, 0x60, 0x69, 0x2b, 0x16,
-	0x78, 0x67, 0x6f, 0x64, 0xac, 0x53, 0x67, 0xbe, 0xb5, 0xc6, 0x0f, 0x25, 0x4c, 0x5e, 0x82, 0x21,
-	0x98, 0x9f, 0xf2, 0xc4, 0x6e, 0xe0, 0xc2, 0x9e, 0xfc, 0x17, 0x0b, 0x7b, 0xee, 0x87, 0xd1, 0x42,
-	0x30, 0x8a, 0x76, 0x34, 0xb7, 0x27, 0x3f, 0x84, 0x2d, 0x3f, 0x08, 0xc2, 0x2c, 0xe4, 0x89, 0x1f,
-	0x79, 0x61, 0x32, 0xe3, 0xb6, 0x89, 0x6b, 0xeb, 0xac, 0x61, 0x37, 0x99, 0x71, 0x15, 0x63, 0x96,
-	0xcc, 0x9b, 0xe2, 0x0d, 0xb5, 0x01, 0x8f, 0x0e, 0x24, 0x94, 0xc7, 0x85, 0x1d, 0x30, 0x23, 0x2e,
-	0x43, 0x6c, 0x10, 0x0a, 0xbb, 0xa9, 0x12, 0x09, 0x02, 0x83, 0x50, 0x10, 0x17, 0x9a, 0x8a, 0x00,
-	0x45, 0x67, 0xeb, 0x7b, 0xe9, 0xc4, 0x0b, 0xe5, 0x67, 0x4c, 0xd1, 0x09, 0x68, 0xac, 0xb8, 0xdc,
-	0x01, 0x73, 0x16, 0x46, 0xcc, 0x4b, 0xc3, 0x2f, 0x99, 0xdd, 0x46, 0x7e, 0x1a, 0x12, 0x18, 0x85,
-	0x5f, 0xb2, 0xee, 0x37, 0x15, 0x20, 0x6f, 0x1f, 0x07, 0xd9, 0x06, 0x6b, 0x70, 0xfc, 0xc5, 0xf0,
-	0xe8, 0xb8, 0x37, 0xf0, 0x26, 0xc3, 0x9f, 0x0f, 0x8f, 0xbf, 0x18, 0x5a, 0x37, 0xc8, 0x07, 0x40,
-	0x56, 0xe8, 0x68, 0xd2, 0xef, 0x3b, 0xce, 0xc0, 0x19, 0x58, 0x95, 0x12, 0x4e, 0x9d, 0x5f, 0x4e,
-	0x9c, 0xd1, 0xd8, 0x19, 0x58, 0xd5, 0x92, 0x97, 0xd1, 0xb8, 0x47, 0x25, 0xba, 0x41, 0x6e, 0xc1,
-	0xd6, 0x0a, 0x7d, 0xde, 0x73, 0x8f, 0x9c, 0x81, 0xb5, 0x49, 0x6c, 0xd8, 0x2e, 0x4c, 0x38, 0x9a,
-	0x9c, 0x9c, 0x1c, 0xa3, 0x7a, 0xad, 0xe4, 0xbc, 0xdf, 0x1b, 0xf6, 0x9d, 0x23, 0x69, 0x61, 0x74,
-	0xff, 0x50, 0x81, 0x7b, 0xff, 0xf9, 0xbc, 0x48, 0x0b, 0x1a, 0xc3, 0x63, 0xcf, 0xa1, 0xf4, 0x58,
-	0x06, 0xee, 0x2d, 0x68, 0xba, 0xc3, 0xd3, 0xde, 0x91, 0x3b, 0xf0, 0x26, 0xf4, 0xc8, 0xaa, 0x48,
-	0x60, 0xe0, 0x9c, 0xba, 0x7d, 0xc7, 0x3b, 0x9c, 0x8c, 0x7e, 0x6d, 0x55, 0xe5, 0x34, 0xee, 0x70,
-	0x34, 0x79, 0xfe, 0xdc, 0xed, 0xbb, 0xce, 0x70, 0xec, 0x8d, 0x4e, 0x7a, 0x7d, 0xc7, 0xda, 0x20,
-	0x37, 0xa1, 0x9d, 0x13, 0x90, 0x3b, 0xdb, 0x24, 0x6d, 0x30, 0xd7, 0x0b, 0xa9, 0x75, 0xff, 0xa8,
-	0x29, 0x2c, 0x1d, 0x81, 0x34, 0x74, 0x7f, 0xd1, 0x7b, 0xe1, 0x14, 0xf8, 0x23, 0xd0, 0x51, 0x90,
-	0x3b, 0xec, 0xf5, 0xc7, 0xee, 0xa9, 0xcc, 0x23, 0xdb, 0x60, 0x29, 0x0c, 0x91, 0xde, 0xd8, 0x1d,
-	0xbe, 0xb0, 0xaa, 0xc4, 0x82, 0x56, 0x01, 0x75, 0x14, 0x6b, 0x0a, 0xa1, 0xce, 0xa9, 0x43, 0x51,
-	0x6d, 0x73, 0xed, 0x50, 0x81, 0xb8, 0x9c, 0x9f, 0x41, 0xa7, 0x44, 0x4b, 0x4a, 0x3e, 0xd6, 0xf9,
-	0xb7, 0x5a, 0x8e, 0xb6, 0x25, 0x35, 0x9d, 0x82, 0xbf, 0xa9, 0xc1, 0xe6, 0x09, 0x17, 0x19, 0xb9,
-	0x03, 0xf5, 0x39, 0x17, 0x99, 0x97, 0x70, 0x0c, 0x10, 0x6d, 0x6a, 0xc8, 0xe1, 0x90, 0x93, 0x6d,
-	0xa8, 0x45, 0xfe, 0x19, 0x8b, 0xf2, 0x28, 0xa1, 0x06, 0xe4, 0xa3, 0x3c, 0x33, 0x6f, 0xe0, 0x4d,
-	0x5d, 0x47, 0x74, 0x2e, 0x32, 0xfc, 0x53, 0xc8, 0xcb, 0x3f, 0x85, 0xa6, 0x1f, 0xc4, 0x61, 0x52,
-	0x0a, 0x15, 0xf6, 0x7e, 0x5e, 0xbf, 0xf5, 0xa4, 0x08, 0x29, 0xdc, 0xc7, 0xf2, 0x81, 0x82, 0xbf,
-	0x42, 0xa4, 0x29, 0x9f, 0x33, 0x81, 0x96, 0x8b, 0x14, 0xa3, 0x42, 0xc1, 0xf4, 0x78, 0xce, 0xc4,
-	0x08, 0x25, 0xda, 0x94, 0xaf, 0x10, 0xf9, 0x0c, 0x54, 0x81, 0xe9, 0xe5, 0x81, 0xd4, 0xa4, 0x0d,
-	0x05, 0xb8, 0x81, 0xa4, 0x68, 0xce, 0x98, 0x48, 0xed, 0xc6, 0xb5, 0x84, 0x84, 0xcb, 0x67, 0x4c,
-	0xc8, 0x1f, 0x54, 0xe9, 0xc8, 0x8c, 0x2d, 0xae, 0xbc, 0xb9, 0x3f, 0x7d, 0xc5, 0xb2, 0x14, 0x5f,
-	0xbf, 0x41, 0x4d, 0x71, 0x75, 0xa2, 0x00, 0x19, 0xb0, 0xc5, 0x55, 0x1e, 0x8e, 0x00, 0x85, 0x75,
-	0x71, 0xa5, 0xc2, 0xd0, 0x0e, 0x98, 0xe2, 0xca, 0x63, 0x42, 0x70, 0x91, 0xe2, 0x93, 0x37, 0x68,
-	0x43, 0x5c, 0x39, 0x38, 0x96, 0x6e, 0xb3, 0xb5, 0xdb, 0x96, 0x72, 0x9b, 0x15, 0xdd, 0x66, 0xda,
-	0x6d, 0x5b, 0xb9, 0xcd, 0xd6, 0x6e, 0xb3, 0x95, 0xdb, 0x8e, 0x72, 0x9b, 0x69, 0xb7, 0x4f, 0xa0,
-	0xc1, 0x67, 0x73, 0x4f, 0x1e, 0x9e, 0xbd, 0xf5, 0xa0, 0x82, 0xbb, 0x2b, 0x16, 0xbd, 0x5a, 0x48,
-	0xeb, 0x7c, 0x36, 0x97, 0xdb, 0xbc, 0xf7, 0x0c, 0x1a, 0x7a, 0xcb, 0x65, 0xd6, 0x2a, 0xd7, 0x58,
-	0x2b, 0x5c, 0x91, 0x6a, 0xf1, 0x8a, 0x74, 0x53, 0x68, 0xe8, 0x33, 0x97, 0xd5, 0xd1, 0xfa, 0x05,
-	0x58, 0xd0, 0x72, 0xc6, 0x2f, 0x1d, 0x3a, 0x74, 0xc6, 0xde, 0x70, 0xe8, 0x5a, 0x95, 0x12, 0x32,
-	0x19, 0xba, 0xaa, 0x9c, 0x3a, 0x39, 0x1e, 0x7a, 0xc7, 0x47, 0x63, 0x6b, 0x63, 0x35, 0x18, 0x4e,
-	0xd4, 0xc3, 0x3b, 0x75, 0xa4, 0xa2, 0x94, 0xd5, 0x0a, 0xc3, 0xe1, 0xc4, 0x32, 0xba, 0x1f, 0x43,
-	0x4d, 0x4e, 0x9a, 0x92, 0x6e, 0xb9, 0xde, 0x6c, 0x15, 0x0f, 0x53, 0x5f, 0xf3, 0xbf, 0xb5, 0xc0,
-	0x50, 0xf5, 0x27, 0xb9, 0xbd, 0x4e, 0x82, 0xba, 0x5c, 0x91, 0xb9, 0xf0, 0x6e, 0xa1, 0xd4, 0x5c,
-	0x09, 0xd4, 0x05, 0xbe, 0x0b, 0x9b, 0x82, 0xf3, 0xac, 0x5c, 0x09, 0x21, 0x44, 0xba, 0x60, 0xce,
-	0x7d, 0xc1, 0x92, 0x4c, 0xf2, 0xb5, 0x59, 0x34, 0x6d, 0x28, 0x1c, 0x2f, 0x5b, 0x27, 0xd7, 0xd1,
-	0xec, 0x6d, 0x4b, 0xf6, 0x56, 0xb5, 0x92, 0x12, 0x9e, 0xa8, 0xd7, 0xb6, 0x0b, 0x86, 0xea, 0x1f,
-	0x54, 0xaf, 0xa1, 0x95, 0x72, 0x90, 0xec, 0x40, 0x2d, 0xe6, 0x01, 0x8b, 0x54, 0x82, 0xd4, 0x52,
-	0x85, 0x91, 0x27, 0x60, 0x5d, 0xf8, 0x22, 0xb8, 0xf4, 0xc5, 0x3a, 0x91, 0xd6, 0x8b, 0x7a, 0x5b,
-	0x5a, 0xac, 0x53, 0xea, 0x13, 0xb0, 0x66, 0xa1, 0x88, 0x4b, 0x16, 0x8d, 0x92, 0x85, 0x16, 0x6b,
-	0x8b, 0xc7, 0x60, 0x60, 0xae, 0x51, 0x0f, 0xa1, 0xf9, 0x49, 0xa7, 0x14, 0x5d, 0xd2, 0xd5, 0x7a,
-	0x95, 0x92, 0x2c, 0x13, 0x53, 0x26, 0x42, 0x3f, 0xf2, 0x92, 0x45, 0x7c, 0xc6, 0x04, 0xbe, 0x90,
-	0x95, 0xf7, 0x96, 0x92, 0x0d, 0x51, 0x24, 0xb9, 0x5c, 0x77, 0x5a, 0x76, 0x89, 0xcb, 0x55, 0xc3,
-	0x75, 0x7f, 0xdd, 0x51, 0x35, 0x8b, 0x1a, 0xab, 0xc6, 0x8a, 0xc0, 0xe6, 0x32, 0xf2, 0x13, 0x7c,
-	0x4f, 0x6d, 0x8a, 0xbf, 0x65, 0x6a, 0x8e, 0xfd, 0xa9, 0xec, 0x97, 0x04, 0x4b, 0xd5, 0x6b, 0x32,
-	0x29, 0xc4, 0xfe, 0xb4, 0xa7, 0x10, 0xf2, 0x10, 0x5a, 0xe1, 0x7c, 0xf9, 0x93, 0x95, 0x86, 0x7c,
-	0x53, 0xe6, 0xcb, 0x1b, 0xb4, 0x29, 0xd1, 0xb2, 0xd2, 0xa7, 0x2b, 0xa5, 0xad, 0x82, 0xd2, 0xa7,
-	0x5a, 0xe9, 0x43, 0x68, 0x5f, 0xf0, 0x34, 0xf3, 0xfc, 0x24, 0x50, 0x4f, 0xf0, 0xb6, 0xd6, 0x92,
-	0x70, 0x2f, 0x09, 0xf0, 0x95, 0xed, 0x02, 0xb0, 0xab, 0x4c, 0xf8, 0x9e, 0x2f, 0xce, 0x53, 0xfb,
-	0x8e, 0x6a, 0x11, 0x10, 0xe9, 0x89, 0xf3, 0x94, 0x3c, 0x83, 0xf6, 0x5c, 0xf0, 0xab, 0x37, 0xab,
-	0xa9, 0x6e, 0x21, 0xd5, 0x3b, 0xe5, 0x46, 0x6a, 0xff, 0x44, 0xea, 0xe4, 0x13, 0xd3, 0xd6, 0xbc,
-	0x30, 0xba, 0x1e, 0x72, 0xad, 0xff, 0x21, 0xe4, 0x3e, 0x2b, 0x87, 0xdc, 0x9b, 0xef, 0x0f, 0xb9,
-	0x9a, 0xff, 0x62, 0xe4, 0xdd, 0x5d, 0x15, 0x5f, 0x1f, 0x94, 0xae, 0x70, 0x5e, 0x51, 0xb9, 0xd0,
-	0x99, 0xf2, 0x24, 0x91, 0x4d, 0x67, 0x3e, 0x07, 0xc1, 0x39, 0x76, 0xf4, 0x1c, 0x7d, 0x25, 0x7d,
-	0xd7, 0x34, 0xed, 0x69, 0x51, 0x46, 0x7e, 0x04, 0xc6, 0x74, 0x91, 0x66, 0x3c, 0xb6, 0x9f, 0x21,
-	0x43, 0xdb, 0xfb, 0xea, 0xeb, 0xc1, 0xbe, 0xfe, 0x7a, 0xb0, 0xdf, 0x4b, 0xde, 0xd0, 0x5c, 0x87,
-	0x3c, 0x85, 0x9a, 0x3c, 0x92, 0xd4, 0xfe, 0xed, 0x3b, 0x02, 0xc5, 0x61, 0xe7, 0x1f, 0xdf, 0x7d,
-	0xbb, 0x6b, 0xae, 0x22, 0x1c, 0x55, 0xba, 0xe4, 0x09, 0xd4, 0xb0, 0x25, 0xb6, 0xbf, 0xaa, 0xe0,
-	0x14, 0xa4, 0x14, 0x4c, 0xb1, 0x0b, 0x3e, 0xac, 0x49, 0xd3, 0x1b, 0x54, 0x29, 0x4a, 0x02, 0x51,
-	0x9c, 0xb7, 0x3c, 0xbf, 0x53, 0x76, 0x77, 0xde, 0xb2, 0xc3, 0xd6, 0x67, 0x65, 0x0c, 0xb3, 0x15,
-	0x44, 0x3e, 0x07, 0x98, 0xc7, 0x79, 0x21, 0x99, 0xda, 0x5f, 0x2b, 0x07, 0x37, 0xaf, 0x37, 0x41,
-	0x2b, 0x53, 0x73, 0xbe, 0xea, 0xf4, 0x8e, 0x60, 0x4b, 0x95, 0x91, 0xba, 0x20, 0x4e, 0xed, 0xdf,
-	0x57, 0xde, 0x53, 0x05, 0x1c, 0x36, 0xa5, 0x0b, 0x43, 0xb5, 0x01, 0xb4, 0x13, 0x96, 0x0a, 0x89,
-	0x7b, 0x5f, 0x57, 0xa1, 0x55, 0xbc, 0x64, 0xef, 0xcf, 0x0e, 0xf7, 0xa1, 0x99, 0x0b, 0xd7, 0x71,
-	0x94, 0x42, 0xb0, 0xfe, 0xb2, 0xb2, 0x0b, 0x30, 0xbd, 0xf0, 0x93, 0x84, 0x45, 0xd2, 0x7c, 0x43,
-	0x75, 0xbe, 0x39, 0xe2, 0x06, 0x64, 0x0f, 0x2c, 0x2d, 0x56, 0x0d, 0x72, 0x1e, 0x51, 0xdb, 0xb4,
-	0x93, 0xe3, 0x48, 0x8f, 0x1b, 0x90, 0x03, 0xb8, 0xa5, 0x35, 0x33, 0x26, 0xe2, 0x30, 0xf1, 0x65,
-	0x1d, 0x9e, 0x7f, 0x9c, 0x21, 0xb9, 0x68, 0xbc, 0x96, 0x90, 0xdb, 0x60, 0xf0, 0x64, 0x21, 0x1d,
-	0x1a, 0xe8, 0xb0, 0xc6, 0x93, 0x85, 0x1b, 0x90, 0x0f, 0xa1, 0x23, 0xe1, 0x94, 0xa5, 0x32, 0xb4,
-	0xe9, 0x3a, 0xa1, 0x4d, 0x5b, 0x3c, 0x59, 0x8c, 0x14, 0xe8, 0x06, 0x87, 0xa6, 0x0c, 0x39, 0xb8,
-	0xff, 0xee, 0x01, 0xd4, 0xd5, 0xdb, 0x93, 0x0f, 0xbd, 0x94, 0x74, 0x3a, 0xe5, 0xb7, 0xa9, 0xd3,
-	0xce, 0x9f, 0x37, 0x60, 0x7b, 0x14, 0xc6, 0x8b, 0xc8, 0xcf, 0x58, 0x2f, 0xf2, 0x45, 0x4c, 0xd9,
-	0xeb, 0x05, 0x4b, 0xb3, 0xb7, 0x3a, 0xb1, 0xff, 0x03, 0x33, 0x4c, 0x82, 0x70, 0xea, 0x67, 0x5c,
-	0x7f, 0x2b, 0x5a, 0x03, 0x32, 0xf1, 0x86, 0x49, 0x36, 0xd3, 0xb4, 0x99, 0xd4, 0x90, 0x43, 0xb5,
-	0x03, 0xbc, 0xaf, 0x92, 0x71, 0xf5, 0xbd, 0x41, 0x75, 0xa5, 0xad, 0x79, 0x9e, 0x8e, 0xf1, 0x93,
-	0x43, 0x17, 0xda, 0x72, 0x9f, 0xeb, 0xa3, 0x53, 0x4c, 0x35, 0x79, 0xb2, 0x18, 0xe8, 0xd3, 0x7b,
-	0x0a, 0x1f, 0x84, 0x89, 0x4c, 0x01, 0xcc, 0x3b, 0x0b, 0x33, 0x55, 0x5c, 0x78, 0x42, 0x06, 0x0f,
-	0x49, 0x59, 0x8d, 0xde, 0xca, 0xa5, 0x87, 0x61, 0x86, 0x85, 0x06, 0x55, 0x6d, 0x43, 0x2d, 0x10,
-	0xe1, 0x2c, 0x43, 0xde, 0x6a, 0x54, 0x0d, 0xe4, 0x6a, 0x13, 0x76, 0xe9, 0xb1, 0xd7, 0x01, 0xe6,
-	0x92, 0x1a, 0x35, 0x12, 0x76, 0xe9, 0xbc, 0x0e, 0xc8, 0x23, 0xb8, 0xa9, 0xf8, 0x2e, 0x26, 0x04,
-	0xd5, 0x4d, 0x6d, 0x21, 0xe5, 0x85, 0x64, 0xf0, 0x12, 0x4c, 0x19, 0x52, 0xd4, 0xc9, 0x02, 0x06,
-	0x88, 0x47, 0x9a, 0xe3, 0x77, 0x31, 0x8a, 0x91, 0x09, 0xb5, 0xb1, 0xf2, 0x5c, 0x1b, 0x77, 0x7f,
-	0x00, 0xed, 0x92, 0x8c, 0x98, 0x50, 0xa3, 0x3d, 0x77, 0xe4, 0xa8, 0x0f, 0x3c, 0xfd, 0x23, 0xa7,
-	0x47, 0xad, 0xca, 0xe1, 0x08, 0x6e, 0x71, 0x71, 0x8e, 0xaf, 0x74, 0xca, 0x45, 0x90, 0xcf, 0x75,
-	0xd8, 0x3a, 0xc5, 0xff, 0x8a, 0xa7, 0xdf, 0xec, 0x9f, 0x87, 0xd9, 0xc5, 0xe2, 0x4c, 0x46, 0xaa,
-	0x03, 0xad, 0x79, 0xa0, 0x34, 0x1f, 0xe7, 0x1f, 0x18, 0x97, 0x4f, 0x0f, 0xce, 0x79, 0x8e, 0x9d,
-	0x19, 0x08, 0x3e, 0xfd, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0x23, 0x0e, 0xba, 0x2c, 0xfa, 0x14,
-	0x00, 0x00,
+	// 2341 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x58, 0xcd, 0x72, 0x1b, 0xb7,
+	0x1d, 0x37, 0x29, 0x71, 0xc9, 0xfd, 0xf3, 0x43, 0x6b, 0x58, 0x4e, 0xd6, 0x56, 0x35, 0x76, 0xe9,
+	0x74, 0xaa, 0x24, 0xb5, 0xe4, 0xc6, 0x9d, 0x24, 0x3d, 0x74, 0xc6, 0x14, 0xb9, 0xb6, 0x77, 0xaa,
+	0x92, 0x2a, 0x48, 0x2a, 0x6d, 0x2f, 0x3b, 0x2b, 0x2e, 0x28, 0x61, 0xbc, 0xbb, 0xa0, 0x81, 0x25,
+	0x25, 0xe7, 0xd6, 0xc9, 0xb4, 0xa7, 0xde, 0x7a, 0xeb, 0x13, 0xf4, 0x0d, 0x72, 0x6c, 0x5f, 0x20,
+	0xd3, 0x77, 0x68, 0x2f, 0x7d, 0x82, 0x9c, 0x3b, 0x00, 0x16, 0xe4, 0xae, 0x9c, 0x3a, 0xed, 0x45,
+	0x5a, 0xfc, 0xfe, 0x1f, 0x00, 0x7e, 0xc0, 0xff, 0x03, 0x84, 0xfb, 0x2b, 0x16, 0x67, 0x97, 0x61,
+	0xb0, 0xe0, 0x2c, 0x63, 0xe2, 0x28, 0x22, 0x2b, 0x3a, 0x23, 0x87, 0x6a, 0x84, 0x2c, 0x2d, 0xbb,
+	0x7f, 0xef, 0x82, 0xb1, 0x8b, 0x98, 0x1c, 0x29, 0xf4, 0x7c, 0x39, 0x3f, 0x0a, 0xd3, 0x37, 0x5a,
+	0xe5, 0xfe, 0x0d, 0xf3, 0x19, 0x4b, 0x12, 0x96, 0xe6, 0x32, 0xb7, 0x2c, 0x4b, 0x48, 0x16, 0xe6,
+	0x92, 0x07, 0x65, 0x09, 0x5b, 0x90, 0x74, 0x1e, 0xb3, 0xab, 0xe0, 0xa7, 0x4f, 0xb5, 0x42, 0xf7,
+	0x6f, 0x55, 0x80, 0x81, 0x5a, 0xca, 0xe4, 0xcd, 0x82, 0xa0, 0x0e, 0x54, 0x69, 0xe4, 0x56, 0x1e,
+	0x56, 0x0e, 0x6c, 0x5c, 0xa5, 0x11, 0xda, 0x03, 0x7b, 0x45, 0xd2, 0x88, 0xf1, 0x80, 0x46, 0x6e,
+	0x4d, 0xc1, 0x0d, 0x0d, 0xf8, 0x11, 0xda, 0x07, 0x58, 0x0b, 0x85, 0x6b, 0x3d, 0xdc, 0x3a, 0xb0,
+	0xb1, 0x6d, 0xa4, 0x02, 0xb9, 0x50, 0x0f, 0xa3, 0x70, 0x91, 0x11, 0xee, 0x56, 0x95, 0xa5, 0x19,
+	0xa2, 0xcf, 0xc0, 0x0d, 0x67, 0x33, 0xb2, 0xc8, 0x44, 0x70, 0xbe, 0x8c, 0x5f, 0x05, 0x6a, 0x49,
+	0xcb, 0x45, 0x14, 0x66, 0xc4, 0xdd, 0x7a, 0x58, 0x39, 0x68, 0xe0, 0xbb, 0xb9, 0xfc, 0x78, 0x19,
+	0xbf, 0x7a, 0x1e, 0xb3, 0xab, 0xa9, 0x12, 0xa2, 0x01, 0x3c, 0x30, 0x86, 0x61, 0x14, 0x05, 0x9c,
+	0x24, 0x6c, 0x45, 0x8a, 0xe6, 0xc2, 0xdd, 0x56, 0xf6, 0x7b, 0xb9, 0x5a, 0x2f, 0x8a, 0xb0, 0x52,
+	0xda, 0x38, 0x11, 0xe8, 0x04, 0x1e, 0x19, 0x2f, 0x11, 0xe5, 0x64, 0x96, 0x05, 0x31, 0xbb, 0xa0,
+	0xb3, 0x30, 0x56, 0x9e, 0x84, 0x59, 0x49, 0x5d, 0x79, 0x32, 0x13, 0x0e, 0x94, 0xe6, 0x89, 0x56,
+	0x94, 0xde, 0x84, 0x76, 0xd7, 0xfd, 0x0c, 0x9a, 0x1b, 0x02, 0x05, 0x3a, 0x80, 0x1a, 0xcd, 0x48,
+	0x22, 0xdc, 0xca, 0xc3, 0xad, 0x83, 0xe6, 0x27, 0xe8, 0x50, 0x9f, 0xc0, 0xe1, 0x46, 0x07, 0x6b,
+	0x85, 0xee, 0xdf, 0x2b, 0xd0, 0x38, 0x4d, 0xfa, 0x2c, 0x9d, 0xd3, 0x0b, 0x84, 0x60, 0x3b, 0x0d,
+	0x13, 0x92, 0x53, 0xaf, 0xbe, 0xd1, 0xc7, 0xb0, 0x9d, 0xbd, 0x59, 0x10, 0xc5, 0x5e, 0xe7, 0x93,
+	0xf7, 0x8d, 0x27, 0x63, 0x73, 0x78, 0x9a, 0x28, 0x77, 0x4a, 0x49, 0xb2, 0x4d, 0xd2, 0xf0, 0x3c,
+	0x26, 0x51, 0x4e, 0xa1, 0x19, 0xa2, 0x07, 0xd0, 0x14, 0x61, 0xb2, 0x88, 0x49, 0x30, 0xe7, 0xe4,
+	0xb5, 0x22, 0xa8, 0x8d, 0x41, 0x43, 0xcf, 0x39, 0x79, 0xdd, 0xfd, 0x1c, 0x2c, 0xed, 0x0a, 0x35,
+	0xa1, 0xde, 0x1f, 0x4d, 0x87, 0x13, 0x0f, 0x3b, 0xb7, 0x90, 0x0d, 0xb5, 0x17, 0xbd, 0xe9, 0x0b,
+	0xcf, 0xa9, 0xc8, 0xcf, 0xf1, 0xa4, 0x37, 0xf1, 0x9c, 0xaa, 0x56, 0x19, 0x4e, 0xbc, 0xdf, 0x4c,
+	0x9c, 0xad, 0xee, 0x9f, 0x2b, 0xd0, 0x3e, 0x4d, 0x5e, 0x70, 0xb6, 0x5c, 0xe4, 0xfb, 0xd8, 0x07,
+	0xb8, 0x90, 0xc3, 0xa0, 0xb0, 0x1b, 0x5b, 0x21, 0x43, 0xb9, 0xa5, 0xb5, 0x58, 0x2d, 0xa5, 0xaa,
+	0x96, 0xa2, 0xc5, 0x72, 0x25, 0xef, 0xd8, 0xc4, 0x47, 0x50, 0x4f, 0x48, 0xc6, 0xe9, 0x4c, 0x9e,
+	0xb0, 0x24, 0xd6, 0xb9, 0x49, 0x07, 0x36, 0x0a, 0xdd, 0xdf, 0x57, 0xc1, 0x36, 0xa8, 0x78, 0xeb,
+	0x4a, 0xff, 0x10, 0x5a, 0x11, 0x99, 0x87, 0xcb, 0x38, 0x2b, 0x2e, 0xa2, 0x99, 0x63, 0x6a, 0x19,
+	0x0f, 0xa0, 0xae, 0xd6, 0x64, 0x96, 0x71, 0x5c, 0xfb, 0xf7, 0xb7, 0xdf, 0xec, 0x57, 0xb0, 0x41,
+	0xd1, 0x47, 0xd0, 0x96, 0xb6, 0x01, 0x5b, 0x11, 0xce, 0x69, 0x44, 0xf4, 0xad, 0x33, 0x6a, 0x2d,
+	0x29, 0x1b, 0xe5, 0x22, 0xf4, 0x18, 0x2c, 0x65, 0x26, 0xdc, 0x9a, 0x5a, 0xf8, 0xdd, 0xcd, 0xc2,
+	0x0b, 0xc4, 0xe1, 0x5c, 0xa9, 0xb8, 0x51, 0xeb, 0x7b, 0x36, 0x8a, 0xee, 0x41, 0x23, 0x09, 0xaf,
+	0x03, 0xf1, 0x8a, 0x5c, 0xa9, 0xdb, 0xda, 0xc6, 0xf5, 0x24, 0xbc, 0x1e, 0xbf, 0x22, 0x57, 0xdd,
+	0x7f, 0x54, 0xa0, 0xe6, 0x27, 0xe1, 0x05, 0xf9, 0xce, 0x9b, 0xe5, 0x42, 0x7d, 0x45, 0xb8, 0xa0,
+	0x2c, 0x35, 0xa1, 0x99, 0x0f, 0xa5, 0xf6, 0x65, 0x28, 0x2e, 0xd5, 0xbe, 0x6d, 0xac, 0xbe, 0xd1,
+	0x87, 0xe0, 0xd0, 0x54, 0x64, 0x61, 0x1c, 0x07, 0xf2, 0xc6, 0x67, 0x34, 0xd1, 0x1b, 0xb6, 0xf1,
+	0x4e, 0x8e, 0x0f, 0x72, 0x58, 0xe6, 0x0b, 0x2a, 0x82, 0x70, 0x96, 0xd1, 0x15, 0x51, 0xf9, 0xa2,
+	0x81, 0x1b, 0x54, 0xf4, 0xd4, 0x58, 0x32, 0x4f, 0x45, 0x20, 0x33, 0x17, 0xcd, 0x32, 0x12, 0xb9,
+	0x96, 0x92, 0x37, 0xa9, 0xe8, 0x1b, 0x48, 0xee, 0x88, 0x8a, 0x60, 0x15, 0xc6, 0x34, 0xca, 0xe3,
+	0xaf, 0x4e, 0xc5, 0x99, 0x1c, 0x76, 0x1f, 0x83, 0xa5, 0x36, 0x24, 0xd0, 0x23, 0xa8, 0x51, 0xf9,
+	0x95, 0x87, 0x58, 0xdb, 0x10, 0xa4, 0xc4, 0x58, 0xcb, 0xba, 0xff, 0xaa, 0x43, 0x5b, 0x01, 0x03,
+	0x76, 0x95, 0xc6, 0x2c, 0x8c, 0xde, 0xba, 0x08, 0x86, 0x98, 0x6a, 0x81, 0x18, 0x07, 0xb6, 0x96,
+	0x3c, 0xce, 0x77, 0x2f, 0x3f, 0x25, 0x32, 0xe3, 0xb3, 0x3c, 0x6a, 0xe4, 0x27, 0x1a, 0x41, 0x27,
+	0xca, 0x7d, 0x06, 0x22, 0x93, 0x99, 0xa2, 0xa6, 0x02, 0xf4, 0xa0, 0xb4, 0x0e, 0x33, 0x6d, 0x79,
+	0x34, 0x96, 0xfa, 0xb8, 0x1d, 0x15, 0x87, 0xe8, 0x11, 0xb4, 0xd5, 0x9a, 0x03, 0x73, 0x26, 0x96,
+	0x9a, 0xbe, 0xa5, 0xc0, 0xb3, 0xfc, 0x60, 0x3e, 0x04, 0xc7, 0x58, 0x91, 0x28, 0x38, 0x7f, 0x23,
+	0x73, 0x9d, 0x3e, 0xf3, 0x9d, 0x0d, 0x7e, 0x2c, 0x61, 0xf4, 0x12, 0x2c, 0x4e, 0x42, 0xc1, 0x52,
+	0xb7, 0xa1, 0x16, 0xf6, 0xe4, 0x7f, 0x58, 0xd8, 0xf3, 0x90, 0xc6, 0x4b, 0x4e, 0xb0, 0xb2, 0xc3,
+	0xb9, 0x3d, 0xfa, 0x31, 0xec, 0x84, 0x51, 0x44, 0x33, 0xca, 0xd2, 0x30, 0x0e, 0x68, 0x3a, 0x67,
+	0xae, 0xad, 0xd6, 0xd6, 0xd9, 0xc0, 0x7e, 0x3a, 0x67, 0x3a, 0xc7, 0xac, 0x48, 0x30, 0x53, 0x37,
+	0xd4, 0x05, 0x75, 0x74, 0x20, 0xa1, 0x3c, 0x2f, 0xec, 0x81, 0x1d, 0x33, 0x99, 0x62, 0x23, 0xca,
+	0xdd, 0xa6, 0x2e, 0x24, 0x0a, 0x18, 0x50, 0x8e, 0x7c, 0x68, 0x6a, 0x02, 0x34, 0x9d, 0xad, 0xef,
+	0xa5, 0x53, 0x5d, 0xa8, 0x30, 0x23, 0x9a, 0x4e, 0x50, 0xc6, 0x9a, 0xcb, 0x3d, 0xb0, 0xe7, 0x34,
+	0x26, 0x81, 0xa0, 0x5f, 0x12, 0xb7, 0xad, 0xf8, 0x69, 0x48, 0x60, 0x4c, 0xbf, 0x24, 0xdd, 0xaf,
+	0x2b, 0x80, 0xde, 0x3e, 0x0e, 0xb4, 0x0b, 0xce, 0x60, 0xf4, 0xc5, 0xf0, 0x64, 0xd4, 0x1b, 0x04,
+	0xd3, 0xe1, 0x2f, 0x87, 0xa3, 0x2f, 0x86, 0xce, 0x2d, 0xf4, 0x1e, 0xa0, 0x35, 0x3a, 0x9e, 0xf6,
+	0xfb, 0x9e, 0x37, 0xf0, 0x06, 0x4e, 0xa5, 0x84, 0x63, 0xef, 0xd7, 0x53, 0x6f, 0x3c, 0xf1, 0x06,
+	0x4e, 0xb5, 0xe4, 0x65, 0x3c, 0xe9, 0x61, 0x89, 0x6e, 0xa1, 0x3b, 0xb0, 0xb3, 0x46, 0x9f, 0xf7,
+	0xfc, 0x13, 0x6f, 0xe0, 0x6c, 0x23, 0x17, 0x76, 0x0b, 0x13, 0x8e, 0xa7, 0xa7, 0xa7, 0x23, 0xa5,
+	0x5e, 0x2b, 0x39, 0xef, 0xf7, 0x86, 0x7d, 0xef, 0x44, 0x5a, 0x58, 0xdd, 0x3f, 0x56, 0xe0, 0xfe,
+	0x7f, 0x3f, 0x2f, 0xd4, 0x82, 0xc6, 0x70, 0x14, 0x78, 0x18, 0x8f, 0x64, 0xe2, 0xde, 0x81, 0xa6,
+	0x3f, 0x3c, 0xeb, 0x9d, 0xf8, 0x83, 0x60, 0x8a, 0x4f, 0x9c, 0x8a, 0x04, 0x06, 0xde, 0x99, 0xdf,
+	0xf7, 0x82, 0xe3, 0xe9, 0xf8, 0xb7, 0x4e, 0x55, 0x4e, 0xe3, 0x0f, 0xc7, 0xd3, 0xe7, 0xcf, 0xfd,
+	0xbe, 0xef, 0x0d, 0x27, 0xc1, 0xf8, 0xb4, 0xd7, 0xf7, 0x9c, 0x2d, 0x74, 0x1b, 0xda, 0x39, 0x01,
+	0xb9, 0xb3, 0x6d, 0xd4, 0x06, 0x7b, 0xb3, 0x90, 0x5a, 0xf7, 0x4f, 0x86, 0xc2, 0xd2, 0x11, 0x48,
+	0x43, 0xff, 0x57, 0xbd, 0x17, 0x5e, 0x81, 0x3f, 0x04, 0x1d, 0x0d, 0xf9, 0xc3, 0x5e, 0x7f, 0xe2,
+	0x9f, 0xc9, 0x3a, 0xb2, 0x0b, 0x8e, 0xc6, 0x14, 0xd2, 0x9b, 0xf8, 0xc3, 0x17, 0x4e, 0x15, 0x39,
+	0xd0, 0x2a, 0xa0, 0x9e, 0x66, 0x4d, 0x23, 0xd8, 0x3b, 0xf3, 0xb0, 0x52, 0xdb, 0xde, 0x38, 0xd4,
+	0xa0, 0x5a, 0xce, 0x2f, 0xa0, 0x53, 0xa2, 0x45, 0xa0, 0x8f, 0x4d, 0xfd, 0xad, 0x96, 0xb3, 0x6d,
+	0x49, 0xcd, 0x94, 0xe0, 0xaf, 0x6b, 0xb0, 0x7d, 0xca, 0x78, 0x86, 0xde, 0x87, 0xfa, 0x82, 0xf1,
+	0x2c, 0x48, 0x99, 0x4a, 0x10, 0x6d, 0x6c, 0xc9, 0xe1, 0x90, 0xa1, 0x5d, 0xa8, 0xc5, 0xe1, 0x39,
+	0x89, 0xf3, 0x2c, 0xa1, 0x07, 0xe8, 0xc3, 0xbc, 0x32, 0x6f, 0xa9, 0x9b, 0xba, 0xc9, 0xe8, 0x8c,
+	0x67, 0xea, 0x4f, 0xa1, 0x2e, 0xff, 0x1c, 0x9a, 0x61, 0x94, 0xd0, 0xb4, 0x94, 0x2a, 0xdc, 0xc3,
+	0xbc, 0x7f, 0xeb, 0x49, 0x91, 0xa2, 0xf0, 0x50, 0xb5, 0x0f, 0x18, 0xc2, 0x35, 0x22, 0x4d, 0xd9,
+	0x82, 0x70, 0x65, 0xb9, 0x14, 0x2a, 0x2b, 0x14, 0x4c, 0x47, 0x0b, 0xc2, 0xc7, 0x4a, 0x62, 0x4c,
+	0xd9, 0x1a, 0x91, 0x61, 0xa0, 0x1b, 0xcc, 0x20, 0x4f, 0xa4, 0x36, 0x6e, 0x68, 0xc0, 0x8f, 0x24,
+	0x45, 0x0b, 0x42, 0xb8, 0x70, 0x1b, 0x37, 0x0a, 0x92, 0x5a, 0x3e, 0x21, 0x5c, 0x7e, 0x60, 0xad,
+	0x23, 0x2b, 0x36, 0xbf, 0x0e, 0x16, 0xe1, 0xec, 0x15, 0xc9, 0x84, 0x8a, 0x7e, 0x0b, 0xdb, 0xfc,
+	0xfa, 0x54, 0x03, 0x32, 0x61, 0xf3, 0xeb, 0x3c, 0x1d, 0x81, 0x12, 0xd6, 0xf9, 0xb5, 0x4e, 0x43,
+	0x7b, 0x60, 0xf3, 0xeb, 0x80, 0x70, 0xce, 0xb8, 0x50, 0x21, 0x6f, 0xe1, 0x06, 0xbf, 0xf6, 0xd4,
+	0x58, 0xba, 0xcd, 0x36, 0x6e, 0x5b, 0xda, 0x6d, 0x56, 0x74, 0x9b, 0x19, 0xb7, 0x6d, 0xed, 0x36,
+	0xdb, 0xb8, 0xcd, 0xd6, 0x6e, 0x3b, 0xda, 0x6d, 0x66, 0xdc, 0x3e, 0x81, 0x06, 0x9b, 0x2f, 0x02,
+	0x79, 0x78, 0xee, 0xce, 0xc3, 0x8a, 0xda, 0x5d, 0xb1, 0xe9, 0x35, 0x42, 0x5c, 0x67, 0xf3, 0x85,
+	0xdc, 0xe6, 0xfd, 0x67, 0xd0, 0x30, 0x5b, 0x2e, 0xb3, 0x56, 0xb9, 0xc1, 0x5a, 0xe1, 0x8a, 0x54,
+	0x8b, 0x57, 0xa4, 0x2b, 0xa0, 0x61, 0xce, 0x5c, 0x76, 0x47, 0x9b, 0x08, 0x70, 0xa0, 0xe5, 0x4d,
+	0x5e, 0x7a, 0x78, 0xe8, 0x4d, 0x82, 0xe1, 0xd0, 0x77, 0x2a, 0x25, 0x64, 0x3a, 0xf4, 0x75, 0x3b,
+	0x75, 0x3a, 0x1a, 0x06, 0xa3, 0x93, 0x89, 0xb3, 0xb5, 0x1e, 0x0c, 0xa7, 0x3a, 0xf0, 0xce, 0x3c,
+	0xa9, 0x28, 0x65, 0xb5, 0xc2, 0x70, 0x38, 0x75, 0xac, 0xee, 0xc7, 0x50, 0x93, 0x93, 0x0a, 0xd4,
+	0x2d, 0xf7, 0x9b, 0xad, 0xe2, 0x61, 0x9a, 0x6b, 0xfe, 0x97, 0x26, 0x58, 0xba, 0xff, 0x44, 0x77,
+	0x37, 0x45, 0xd0, 0xb4, 0x2b, 0xb2, 0x16, 0xde, 0x2b, 0xb4, 0x9a, 0x6b, 0x81, 0xbe, 0xc0, 0xf7,
+	0x60, 0x9b, 0x33, 0x96, 0x95, 0x3b, 0x21, 0x05, 0xa1, 0x2e, 0xd8, 0x8b, 0x90, 0x93, 0x34, 0x93,
+	0x7c, 0x6d, 0x17, 0x4d, 0x1b, 0x1a, 0x57, 0x97, 0xad, 0x93, 0xeb, 0x18, 0xf6, 0x76, 0x25, 0x7b,
+	0xeb, 0x5e, 0x49, 0x0b, 0x4f, 0x75, 0xb4, 0xed, 0x83, 0xa5, 0xdf, 0x0f, 0xfa, 0xad, 0x61, 0x94,
+	0x72, 0x10, 0xed, 0x41, 0x2d, 0x61, 0x11, 0x89, 0x75, 0x81, 0x34, 0x52, 0x8d, 0xa1, 0x27, 0xe0,
+	0x5c, 0x86, 0x3c, 0xba, 0x0a, 0xf9, 0xa6, 0x90, 0xd6, 0x8b, 0x7a, 0x3b, 0x46, 0x6c, 0x4a, 0xea,
+	0x13, 0x70, 0xe6, 0x94, 0x27, 0x25, 0x8b, 0x46, 0xc9, 0xc2, 0x88, 0x8d, 0xc5, 0x63, 0xb0, 0x54,
+	0xad, 0xd1, 0x81, 0xd0, 0xfc, 0xa4, 0x53, 0xca, 0x2e, 0x62, 0xbd, 0x5e, 0xad, 0x24, 0xdb, 0x44,
+	0x41, 0x38, 0x0d, 0xe3, 0x20, 0x5d, 0x26, 0xe7, 0x84, 0xab, 0x08, 0x59, 0x7b, 0x6f, 0x69, 0xd9,
+	0x50, 0x89, 0x24, 0x97, 0x9b, 0x97, 0x96, 0x5b, 0xe2, 0x72, 0xfd, 0xe0, 0x7a, 0xb0, 0x79, 0x51,
+	0x35, 0x8b, 0x1a, 0xeb, 0x87, 0x15, 0x82, 0xed, 0x55, 0x1c, 0xa6, 0x2a, 0x9e, 0xda, 0x58, 0x7d,
+	0xcb, 0xd2, 0x9c, 0x84, 0x33, 0xf9, 0x5e, 0xe2, 0x44, 0xe8, 0x68, 0xb2, 0x31, 0x24, 0xe1, 0xac,
+	0xa7, 0x11, 0xf4, 0x08, 0x5a, 0x74, 0xb1, 0xfa, 0xd9, 0x5a, 0x43, 0xc6, 0x94, 0xfd, 0xf2, 0x16,
+	0x6e, 0x4a, 0xb4, 0xac, 0xf4, 0xe9, 0x5a, 0x69, 0xa7, 0xa0, 0xf4, 0xa9, 0x51, 0xfa, 0x00, 0xda,
+	0x97, 0x4c, 0x64, 0x41, 0x98, 0x46, 0x3a, 0x04, 0xef, 0x1a, 0x2d, 0x09, 0xf7, 0xd2, 0x48, 0x45,
+	0xd9, 0x3e, 0x00, 0xb9, 0xce, 0x78, 0x18, 0x84, 0xfc, 0x42, 0xb8, 0xef, 0xeb, 0x27, 0x82, 0x42,
+	0x7a, 0xfc, 0x42, 0xa0, 0x67, 0xd0, 0x5e, 0x70, 0x76, 0xfd, 0x66, 0x3d, 0xd5, 0x1d, 0x45, 0xf5,
+	0x5e, 0xf9, 0x21, 0x75, 0x78, 0x2a, 0x75, 0xf2, 0x89, 0x71, 0x6b, 0x51, 0x18, 0xdd, 0x4c, 0xb9,
+	0xce, 0xff, 0x91, 0x72, 0x9f, 0x95, 0x53, 0xee, 0xed, 0x77, 0xa7, 0x5c, 0xc3, 0x7f, 0x31, 0xf3,
+	0xee, 0xaf, 0x9b, 0xaf, 0xf7, 0x4a, 0x57, 0x38, 0xef, 0xa8, 0x7c, 0xe8, 0xcc, 0x58, 0x9a, 0xca,
+	0x47, 0x67, 0x3e, 0x07, 0x52, 0x73, 0xec, 0x99, 0x39, 0xfa, 0x5a, 0xfa, 0x5d, 0xd3, 0xb4, 0x67,
+	0x45, 0x19, 0xfa, 0x09, 0x58, 0xb3, 0xa5, 0xc8, 0x58, 0xe2, 0x3e, 0x53, 0x0c, 0xed, 0x1e, 0xea,
+	0x5f, 0x0f, 0x0e, 0xcd, 0xaf, 0x07, 0x87, 0xbd, 0xf4, 0x0d, 0xce, 0x75, 0xd0, 0xe7, 0x00, 0x8b,
+	0x24, 0xef, 0xcf, 0x84, 0xfb, 0x55, 0x45, 0x99, 0xdc, 0xbe, 0xf9, 0xb6, 0x10, 0xc7, 0xb5, 0x7f,
+	0x7e, 0xfb, 0xcd, 0xfe, 0x2d, 0x6c, 0x2f, 0xd6, 0x0f, 0xa8, 0x13, 0xd8, 0xd1, 0xdd, 0x99, 0xe9,
+	0x33, 0x85, 0xfb, 0x87, 0xca, 0x3b, 0x8a, 0xeb, 0x71, 0x53, 0xba, 0xb0, 0x74, 0x77, 0x8d, 0x3b,
+	0xb4, 0x54, 0x9f, 0xef, 0x7f, 0x55, 0x85, 0x56, 0xf1, 0xec, 0xde, 0x9d, 0x74, 0x1f, 0x40, 0x33,
+	0x17, 0x6e, 0xd2, 0x13, 0x86, 0x68, 0xf3, 0x83, 0xc5, 0x3e, 0xc0, 0xec, 0x32, 0x4c, 0x53, 0x12,
+	0x4b, 0xf3, 0x2d, 0xfd, 0xa0, 0xcc, 0x11, 0x3f, 0x42, 0x07, 0xe0, 0x18, 0xb1, 0x7e, 0x77, 0xe6,
+	0x89, 0xaa, 0x8d, 0x3b, 0x39, 0xae, 0xde, 0x60, 0x7e, 0x84, 0x8e, 0xe0, 0x8e, 0xd1, 0xcc, 0x08,
+	0x4f, 0x68, 0x1a, 0xca, 0xf6, 0x36, 0xff, 0xcd, 0x03, 0xe5, 0xa2, 0xc9, 0x46, 0x82, 0xee, 0x82,
+	0xc5, 0xd2, 0xa5, 0x74, 0x68, 0x29, 0x87, 0x35, 0x96, 0x2e, 0xfd, 0x08, 0x7d, 0x00, 0x1d, 0x09,
+	0x0b, 0x22, 0x64, 0xc6, 0x30, 0xe5, 0xb7, 0x8d, 0x5b, 0x2c, 0x5d, 0x8e, 0x35, 0xe8, 0x47, 0xc7,
+	0xb6, 0x8c, 0x64, 0xb5, 0xff, 0xee, 0x11, 0xd4, 0xf5, 0x95, 0x96, 0xf1, 0x53, 0xca, 0xe5, 0x9d,
+	0xf2, 0x95, 0x37, 0xd9, 0xfc, 0xaf, 0x5b, 0xb0, 0x3b, 0xa6, 0xc9, 0x32, 0x0e, 0x33, 0xd2, 0x8b,
+	0x43, 0x9e, 0x60, 0xf2, 0x7a, 0x49, 0x44, 0xf6, 0xd6, 0x03, 0xe7, 0x07, 0x60, 0xd3, 0x34, 0xa2,
+	0xb3, 0x30, 0x63, 0xe6, 0x27, 0x98, 0x0d, 0x20, 0xeb, 0x19, 0x4d, 0xb3, 0xb9, 0xa1, 0xcd, 0xc6,
+	0x96, 0x1c, 0xea, 0x1d, 0xa8, 0x54, 0x2d, 0x19, 0xd7, 0xcf, 0x78, 0xfd, 0xd8, 0x6b, 0x2d, 0xf2,
+	0x2a, 0xa7, 0x5e, 0xf2, 0x5d, 0x68, 0xcb, 0x7d, 0x6e, 0x8e, 0x4e, 0x33, 0xd5, 0x64, 0xe9, 0x72,
+	0x60, 0x4e, 0xef, 0x29, 0xbc, 0x47, 0x53, 0x99, 0x59, 0x49, 0x70, 0x4e, 0x33, 0x5d, 0xb3, 0x03,
+	0x2e, 0x63, 0x52, 0x52, 0x56, 0xc3, 0x77, 0x72, 0xe9, 0x31, 0xcd, 0x54, 0xfd, 0xc6, 0xba, 0x1b,
+	0xaf, 0x45, 0x9c, 0xce, 0x33, 0xc5, 0x5b, 0x0d, 0xeb, 0x81, 0x5c, 0x6d, 0x4a, 0xae, 0x02, 0xf2,
+	0x3a, 0x52, 0x29, 0xba, 0x86, 0xad, 0x94, 0x5c, 0x79, 0xaf, 0xe5, 0x53, 0xfc, 0xb6, 0xe6, 0xbb,
+	0x98, 0x67, 0xf5, 0x23, 0x65, 0x47, 0x51, 0x5e, 0xc8, 0xb1, 0x2f, 0xc1, 0x96, 0x91, 0xaa, 0x4f,
+	0x16, 0x54, 0xdc, 0x7d, 0x64, 0x38, 0xfe, 0x2e, 0x46, 0x55, 0xc0, 0x2b, 0x6d, 0xd5, 0xd0, 0x6d,
+	0x8c, 0xbb, 0x3f, 0x82, 0x76, 0x49, 0x86, 0x6c, 0xa8, 0xe1, 0x9e, 0x3f, 0xf6, 0xf4, 0xef, 0x26,
+	0xfd, 0x13, 0xaf, 0x87, 0x9d, 0xca, 0xf1, 0x18, 0xee, 0x30, 0x7e, 0xa1, 0x3a, 0x90, 0x19, 0xe3,
+	0x51, 0x3e, 0xd7, 0x71, 0xeb, 0x4c, 0xfd, 0xd7, 0x3c, 0xfd, 0xee, 0xf0, 0x82, 0x66, 0x97, 0xcb,
+	0x73, 0x99, 0x00, 0x8e, 0x8c, 0xe6, 0x91, 0xd6, 0x7c, 0x9c, 0xff, 0x6e, 0xb7, 0x7a, 0x7a, 0x74,
+	0xc1, 0x72, 0xec, 0xdc, 0x52, 0xe0, 0xd3, 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0xc5, 0x1d, 0x9a,
+	0xe9, 0x51, 0x14, 0x00, 0x00,
 }
diff --git a/go/voltha/logical_device.pb.go b/go/voltha/logical_device.pb.go
index 8ebaa02..7aef243 100644
--- a/go/voltha/logical_device.pb.go
+++ b/go/voltha/logical_device.pb.go
@@ -200,18 +200,10 @@
 	// device features
 	SwitchFeatures *openflow_13.OfpSwitchFeatures `protobuf:"bytes,4,opt,name=switch_features,json=switchFeatures,proto3" json:"switch_features,omitempty"`
 	// name of the root device anchoring logical device
-	RootDeviceId string `protobuf:"bytes,5,opt,name=root_device_id,json=rootDeviceId,proto3" json:"root_device_id,omitempty"`
-	// logical device ports
-	Ports []*LogicalPort `protobuf:"bytes,128,rep,name=ports,proto3" json:"ports,omitempty"`
-	// flows configured on the logical device
-	Flows *openflow_13.Flows `protobuf:"bytes,129,opt,name=flows,proto3" json:"flows,omitempty"`
-	// flow groups configured on the logical device
-	FlowGroups *openflow_13.FlowGroups `protobuf:"bytes,130,opt,name=flow_groups,json=flowGroups,proto3" json:"flow_groups,omitempty"`
-	// meters configured on the logical device
-	Meters               *openflow_13.Meters `protobuf:"bytes,131,opt,name=meters,proto3" json:"meters,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
-	XXX_unrecognized     []byte              `json:"-"`
-	XXX_sizecache        int32               `json:"-"`
+	RootDeviceId         string   `protobuf:"bytes,5,opt,name=root_device_id,json=rootDeviceId,proto3" json:"root_device_id,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
 }
 
 func (m *LogicalDevice) Reset()         { *m = LogicalDevice{} }
@@ -274,34 +266,6 @@
 	return ""
 }
 
-func (m *LogicalDevice) GetPorts() []*LogicalPort {
-	if m != nil {
-		return m.Ports
-	}
-	return nil
-}
-
-func (m *LogicalDevice) GetFlows() *openflow_13.Flows {
-	if m != nil {
-		return m.Flows
-	}
-	return nil
-}
-
-func (m *LogicalDevice) GetFlowGroups() *openflow_13.FlowGroups {
-	if m != nil {
-		return m.FlowGroups
-	}
-	return nil
-}
-
-func (m *LogicalDevice) GetMeters() *openflow_13.Meters {
-	if m != nil {
-		return m.Meters
-	}
-	return nil
-}
-
 type LogicalDevices struct {
 	Items                []*LogicalDevice `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
 	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
@@ -352,40 +316,34 @@
 func init() { proto.RegisterFile("voltha_protos/logical_device.proto", fileDescriptor_caf139ab3abc8240) }
 
 var fileDescriptor_caf139ab3abc8240 = []byte{
-	// 550 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x93, 0xcf, 0x6a, 0xdb, 0x40,
-	0x10, 0xc6, 0xab, 0xd8, 0x72, 0xec, 0x91, 0xe3, 0xc0, 0x9a, 0x10, 0x91, 0xb4, 0xc4, 0x88, 0x1e,
-	0x1c, 0x4a, 0xa5, 0xd4, 0xa6, 0xd0, 0x1e, 0x0a, 0xad, 0x09, 0x2e, 0x86, 0xfe, 0x63, 0x0b, 0x3d,
-	0xf4, 0x22, 0x36, 0xd2, 0x5a, 0x16, 0xd8, 0x1a, 0xa1, 0x5d, 0x3b, 0xd7, 0xfe, 0x79, 0xad, 0xbe,
-	0x42, 0x5f, 0xa2, 0x8f, 0xd0, 0x43, 0xcf, 0x65, 0x77, 0xa5, 0xd4, 0x8a, 0xd3, 0xa3, 0xbe, 0xf9,
-	0x7d, 0x33, 0xb3, 0xdf, 0x20, 0xf0, 0x36, 0xb8, 0x94, 0x0b, 0x16, 0xe6, 0x05, 0x4a, 0x14, 0xc1,
-	0x12, 0x93, 0x34, 0x62, 0xcb, 0x30, 0xe6, 0x9b, 0x34, 0xe2, 0xbe, 0x56, 0x49, 0xcb, 0x30, 0x27,
-	0xf7, 0x13, 0xc4, 0x64, 0xc9, 0x03, 0x96, 0xa7, 0x01, 0xcb, 0x32, 0x94, 0x4c, 0xa6, 0x98, 0x09,
-	0x43, 0x9d, 0xb8, 0xf5, 0x4e, 0x2b, 0x2e, 0x59, 0x59, 0x39, 0xab, 0x57, 0x30, 0xe7, 0xd9, 0x7c,
-	0x89, 0xd7, 0xe1, 0x93, 0xb1, 0x01, 0xbc, 0x67, 0x70, 0xf0, 0xc6, 0x0c, 0xfe, 0x80, 0x85, 0x9c,
-	0xc5, 0xa4, 0x07, 0x7b, 0x69, 0xec, 0x5a, 0x03, 0x6b, 0xd8, 0xa1, 0x7b, 0x69, 0x4c, 0x8e, 0x61,
-	0x3f, 0xc7, 0x42, 0x86, 0x69, 0xec, 0xee, 0x69, 0xb1, 0x95, 0x6b, 0xd0, 0xfb, 0x6d, 0x81, 0xb3,
-	0x65, 0xdd, 0x31, 0x5e, 0x40, 0x1b, 0xe7, 0x79, 0xa8, 0x68, 0xed, 0x74, 0x46, 0x47, 0xfe, 0xf6,
-	0xfc, 0xaa, 0x48, 0xf7, 0x71, 0x9e, 0xeb, 0x0e, 0xa7, 0xd0, 0x31, 0x8f, 0x57, 0xc3, 0x1a, 0xba,
-	0x51, 0xdb, 0x08, 0xb3, 0x98, 0x3c, 0x84, 0x5e, 0x59, 0xd4, 0xeb, 0x64, 0xe8, 0x36, 0x07, 0xd6,
-	0xf0, 0x80, 0x76, 0x8d, 0xaa, 0x1a, 0xbc, 0x43, 0xd5, 0xa2, 0x40, 0x94, 0x66, 0xaa, 0x3d, 0xb0,
-	0x86, 0x6d, 0xda, 0x56, 0x82, 0xee, 0xff, 0x0a, 0x7a, 0xd5, 0xd0, 0x50, 0x48, 0x26, 0x85, 0xdb,
-	0xd2, 0x7b, 0x9d, 0xde, 0xb9, 0x97, 0x41, 0x68, 0xb7, 0xdc, 0xee, 0xa3, 0xfa, 0xf2, 0x9e, 0x43,
-	0x77, 0xeb, 0xcd, 0x82, 0x9c, 0x83, 0x9d, 0x4a, 0xbe, 0x12, 0xae, 0x35, 0x68, 0x0c, 0x9d, 0x51,
-	0xdf, 0x37, 0x79, 0xfb, 0x5b, 0x10, 0x35, 0x84, 0xf7, 0xa3, 0x71, 0x13, 0xf5, 0xa5, 0x5e, 0x79,
-	0x27, 0xb1, 0x33, 0x70, 0x62, 0x26, 0x59, 0xce, 0xe4, 0xa2, 0x8a, 0xbb, 0x49, 0xa1, 0x92, 0x66,
-	0x31, 0x39, 0x87, 0x66, 0xcc, 0x45, 0xa4, 0xb3, 0xb9, 0x2b, 0x4e, 0x55, 0xa4, 0x1a, 0x21, 0x33,
-	0x38, 0x14, 0xd7, 0xa9, 0x8c, 0x16, 0xe1, 0x9c, 0x33, 0xb9, 0x2e, 0xb8, 0xd0, 0x79, 0x39, 0xa3,
-	0xc1, 0x8e, 0xeb, 0x16, 0x47, 0x7b, 0x46, 0x98, 0x96, 0xdf, 0x2a, 0x79, 0x9d, 0xe9, 0xbf, 0xdb,
-	0xd8, 0x7a, 0xe5, 0xae, 0x52, 0x2f, 0xab, 0xfb, 0x3c, 0x05, 0x5b, 0xa5, 0x26, 0xdc, 0x2f, 0xff,
-	0x8f, 0x62, 0xd2, 0xf9, 0xf5, 0xe7, 0xe7, 0x83, 0xa6, 0x7a, 0x36, 0x35, 0x34, 0xb9, 0x00, 0x5b,
-	0xed, 0x22, 0xdc, 0xaf, 0x96, 0x5e, 0x8f, 0xd4, 0xd6, 0x9b, 0xaa, 0xd2, 0xc4, 0x56, 0xae, 0x7b,
-	0xd4, 0x80, 0xe4, 0x25, 0x38, 0xba, 0x9c, 0x14, 0xb8, 0xce, 0x85, 0xfb, 0xcd, 0xf8, 0x8e, 0x77,
-	0x7c, 0xaf, 0x75, 0xbd, 0x32, 0xc3, 0xfc, 0x46, 0x22, 0x63, 0x68, 0xad, 0xb8, 0xe4, 0x85, 0x70,
-	0xbf, 0x1b, 0x73, 0xbf, 0x66, 0x7e, 0xab, 0x6b, 0x95, 0xb1, 0x44, 0xbd, 0x17, 0xd0, 0xab, 0x5d,
-	0x4f, 0x90, 0x47, 0xf5, 0xdb, 0x1f, 0xdd, 0x7a, 0xb0, 0xc1, 0xca, 0xeb, 0x4f, 0x3e, 0x41, 0x1f,
-	0x8b, 0x44, 0xcf, 0x89, 0xb0, 0x88, 0x4b, 0x76, 0x72, 0xf8, 0x7e, 0x5a, 0xc3, 0x3f, 0xfb, 0x49,
-	0x2a, 0x17, 0xeb, 0x2b, 0x3f, 0xc2, 0x55, 0x50, 0xc1, 0x81, 0x81, 0x1f, 0x97, 0x3f, 0xf1, 0x66,
-	0x1c, 0x24, 0x58, 0x6a, 0x57, 0x2d, 0x2d, 0x8e, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0xdd, 0xad,
-	0x36, 0xdf, 0x4d, 0x04, 0x00, 0x00,
+	// 456 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x92, 0xc1, 0x6a, 0xdb, 0x40,
+	0x10, 0x86, 0x91, 0x63, 0x3b, 0xce, 0xca, 0x51, 0x40, 0x21, 0x54, 0x24, 0x85, 0x08, 0xd1, 0x83,
+	0x43, 0xa9, 0xd4, 0xda, 0x97, 0xf6, 0xd0, 0x43, 0x43, 0x08, 0x18, 0x4a, 0x5b, 0xb6, 0xd0, 0x43,
+	0x2f, 0x62, 0xa3, 0x5d, 0xcb, 0x0b, 0xb2, 0x46, 0x68, 0x37, 0xce, 0xcb, 0xf6, 0x29, 0xfa, 0x04,
+	0x65, 0x67, 0x57, 0x8d, 0x15, 0xfb, 0xa8, 0x7f, 0xbe, 0x99, 0xf9, 0xe7, 0x5f, 0x91, 0x64, 0x0b,
+	0x95, 0x5e, 0xb3, 0xbc, 0x69, 0x41, 0x83, 0xca, 0x2a, 0x28, 0x65, 0xc1, 0xaa, 0x9c, 0x8b, 0xad,
+	0x2c, 0x44, 0x8a, 0x6a, 0x38, 0xb6, 0xcc, 0xe5, 0xeb, 0x12, 0xa0, 0xac, 0x44, 0xc6, 0x1a, 0x99,
+	0xb1, 0xba, 0x06, 0xcd, 0xb4, 0x84, 0x5a, 0x59, 0xea, 0x32, 0xea, 0x4f, 0xda, 0x08, 0xcd, 0x5c,
+	0xe5, 0xba, 0x5f, 0x81, 0x46, 0xd4, 0xab, 0x0a, 0x9e, 0xf2, 0x0f, 0x0b, 0x0b, 0x24, 0x1f, 0xc9,
+	0xe9, 0x57, 0xbb, 0xf8, 0x07, 0xb4, 0x7a, 0xc9, 0xc3, 0x80, 0x0c, 0x24, 0x8f, 0xbc, 0xd8, 0x9b,
+	0x9d, 0xd0, 0x81, 0xe4, 0xe1, 0x2b, 0x72, 0xdc, 0x40, 0xab, 0x73, 0xc9, 0xa3, 0x01, 0x8a, 0xe3,
+	0x06, 0xc1, 0xe4, 0xaf, 0x47, 0xfc, 0x9d, 0xd6, 0xbd, 0xc6, 0xf7, 0x64, 0x02, 0xab, 0x26, 0x37,
+	0x34, 0x76, 0xfa, 0xf3, 0x8b, 0x74, 0x77, 0x7f, 0x57, 0xa4, 0xc7, 0xb0, 0x6a, 0x70, 0xc2, 0x15,
+	0x39, 0xb1, 0xc7, 0x9b, 0x65, 0x47, 0x38, 0x68, 0x62, 0x85, 0x25, 0x0f, 0xdf, 0x90, 0xc0, 0x15,
+	0xd1, 0x4e, 0x0d, 0xd1, 0x30, 0xf6, 0x66, 0xa7, 0x74, 0x6a, 0x55, 0x33, 0xe0, 0x1b, 0x98, 0x11,
+	0x2d, 0x80, 0xb6, 0x5b, 0x47, 0xb1, 0x37, 0x9b, 0xd0, 0x89, 0x11, 0x70, 0xfe, 0x17, 0x12, 0x74,
+	0x4b, 0x73, 0xa5, 0x99, 0x56, 0xd1, 0x18, 0x7d, 0x5d, 0x1d, 0xf4, 0x65, 0x11, 0x3a, 0x75, 0xee,
+	0x7e, 0x9a, 0xaf, 0xe4, 0x13, 0x99, 0xee, 0xdc, 0xac, 0xc2, 0x1b, 0x32, 0x92, 0x5a, 0x6c, 0x54,
+	0xe4, 0xc5, 0x47, 0x33, 0x7f, 0x7e, 0x9e, 0xda, 0xbc, 0xd3, 0x1d, 0x88, 0x5a, 0x22, 0xf9, 0xe3,
+	0xfd, 0x8f, 0xfa, 0x0e, 0x2d, 0xef, 0x25, 0x76, 0x4d, 0x7c, 0xce, 0x34, 0x6b, 0x98, 0x5e, 0x77,
+	0x71, 0x0f, 0x29, 0xe9, 0xa4, 0x25, 0x0f, 0x6f, 0xc8, 0x90, 0x0b, 0x55, 0x60, 0x36, 0x87, 0xe2,
+	0x34, 0x45, 0x8a, 0x48, 0xb8, 0x24, 0x67, 0xea, 0x49, 0xea, 0x62, 0x9d, 0xaf, 0x04, 0xd3, 0x8f,
+	0xad, 0x50, 0x98, 0x97, 0x3f, 0x8f, 0xf7, 0xba, 0x5e, 0x70, 0x34, 0xb0, 0xc2, 0xbd, 0xfb, 0x36,
+	0xc9, 0x63, 0xa6, 0xcf, 0x6f, 0x33, 0x42, 0xcb, 0x53, 0xa3, 0xde, 0xb9, 0xf7, 0x49, 0x3e, 0x93,
+	0xa0, 0x77, 0x9d, 0x0a, 0xdf, 0xf6, 0xb3, 0xb9, 0x78, 0x91, 0x8d, 0xc5, 0x5c, 0x3a, 0xb7, 0xbf,
+	0xc8, 0x39, 0xb4, 0x25, 0x7a, 0x2b, 0xa0, 0xe5, 0x8e, 0xbd, 0x3d, 0xfb, 0x7e, 0xdf, 0xc3, 0x7f,
+	0xa7, 0xa5, 0xd4, 0xeb, 0xc7, 0x87, 0xb4, 0x80, 0x4d, 0xd6, 0xc1, 0x99, 0x85, 0xdf, 0xb9, 0x9f,
+	0x7c, 0xbb, 0xc8, 0x4a, 0x70, 0xda, 0xc3, 0x18, 0xc5, 0xc5, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff,
+	0x91, 0x0c, 0xf4, 0xf2, 0x6d, 0x03, 0x00, 0x00,
 }
diff --git a/protos/voltha_protos/adapter.proto b/protos/voltha_protos/adapter.proto
index 5580784..175d8a9 100644
--- a/protos/voltha_protos/adapter.proto
+++ b/protos/voltha_protos/adapter.proto
@@ -7,7 +7,6 @@
 package voltha;
 
 import "google/protobuf/any.proto";
-import "voltha_protos/common.proto";
 import "voltha_protos/meta.proto";
 import "google/protobuf/timestamp.proto";
 
diff --git a/protos/voltha_protos/afrouter.proto b/protos/voltha_protos/afrouter.proto
deleted file mode 100644
index 14f07ed..0000000
--- a/protos/voltha_protos/afrouter.proto
+++ /dev/null
@@ -1,50 +0,0 @@
-// protoc -I echo/ echo/*.proto --go_out=plugins=grpc:echo
-
-syntax = "proto3";
-
-option go_package = "github.com/opencord/voltha-protos/v3/go/afrouter";
-option java_package = "org.opencord.voltha";
-
-package afrouter;
-
-// For logging
-import "voltha_protos/common.proto";
-
-service Configuration {
-   	rpc SetConnection (Conn) returns (Result) {}
-	rpc SetAffinity(Affinity) returns (Result) {}
-	rpc GetGoroutineCount(Empty) returns (Count) {}
-}
-
-message Result {
-	bool success = 1;
-	string error = 2;
-	string info = 3;
-}
-
-message Empty {
-}
-
-message Count {
-    uint32 count = 1;
-}
-
-message Conn {
-	string server = 1;
-	string pkg = 2;
-	string svc = 3;
-	string cluster = 4;
-	string backend = 5;
-	string connection = 6;
-	string addr = 7;
-	uint64 port = 8;
-}
-
-message Affinity {
-	string router = 1;
-	string route = 2;
-	string cluster = 3;
-	string backend = 4;
-	string id = 5;
-}
-
diff --git a/protos/voltha_protos/device.proto b/protos/voltha_protos/device.proto
index 0baf1bc..1245e58 100644
--- a/protos/voltha_protos/device.proto
+++ b/protos/voltha_protos/device.proto
@@ -101,6 +101,7 @@
     repeated Image image = 1;
 }
 
+//TODO: ImageDownload is not actively used (05/19/2020).  When this is tackled, can remove extra/unnecessary fields.
 message ImageDownload {
     enum ImageDownloadState {
         DOWNLOAD_UNKNOWN = 0;
@@ -166,7 +167,7 @@
 
     // Image activation state
     ImageActivateState image_state = 12;
-    
+
     // Image file size
     uint32 file_size = 13;
 }
@@ -296,9 +297,6 @@
     // Device type specific attributes
     google.protobuf.Any custom = 64;
 
-    repeated Port ports = 128  [(child_node) = {key: "port_no"}];
-    openflow_13.Flows flows = 129 [(child_node) = {}];
-    openflow_13.FlowGroups flow_groups = 130 [(child_node) = {}];
     // PmConfigs will eventually converted to a child node of the
     // device to falicitata callbacks and to simplify manipulation.
     PmConfigs pm_configs = 131 [(child_node) = {}];
diff --git a/protos/voltha_protos/logical_device.proto b/protos/voltha_protos/logical_device.proto
index 3205778..88de026 100644
--- a/protos/voltha_protos/logical_device.proto
+++ b/protos/voltha_protos/logical_device.proto
@@ -47,20 +47,6 @@
 
     // name of the root device anchoring logical device
     string root_device_id = 5;
-
-    // logical device ports
-    repeated LogicalPort ports = 128 [(child_node) = {key: "id"}];
-
-    // flows configured on the logical device
-    openflow_13.Flows flows = 129 [(child_node) = {}];
-
-    // flow groups configured on the logical device
-    openflow_13.FlowGroups flow_groups = 130 [(child_node) = {}];
-
-    // meters configured on the logical device
-    openflow_13.Meters meters = 131 [(child_node) = {}];
-
-
 }
 
 message LogicalDevices {
diff --git a/voltha.pb b/voltha.pb
index b8dd25a..d4f36a9 100644
--- a/voltha.pb
+++ b/voltha.pb
Binary files differ
