From 06368cd030028f8f81e7d25420fa132dee79fc47 Mon Sep 17 00:00:00 2001 From: Yannick Huber Date: Mon, 18 Nov 2024 12:37:28 +0100 Subject: [PATCH] Bugfix: segment anonymize not filling AddrAnon fields --- go.mod | 2 +- pb/enrichedflow.pb.go | 725 +++++++++++++------------ pb/enrichedflow.proto | 3 + segments/modify/anonymize/anonymize.go | 4 + 4 files changed, 375 insertions(+), 359 deletions(-) diff --git a/go.mod b/go.mod index 1928f1a..ec97f55 100644 --- a/go.mod +++ b/go.mod @@ -19,6 +19,7 @@ require ( github.com/google/gopacket v1.1.19 github.com/hashicorp/logutils v1.0.0 github.com/influxdata/influxdb-client-go/v2 v2.12.2 + github.com/klauspost/compress v1.15.15 github.com/mattn/go-sqlite3 v1.14.16 github.com/netsampler/goflow2 v1.1.1 github.com/oschwald/maxminddb-golang v1.10.0 @@ -64,7 +65,6 @@ require ( github.com/json-iterator/go v1.1.12 // indirect github.com/k-sone/critbitgo v1.4.0 // indirect github.com/kaorimatz/go-mrt v0.0.0-20210326003454-aa11f3646f93 // indirect - github.com/klauspost/compress v1.15.15 // indirect github.com/libp2p/go-reuseport v0.2.0 // indirect github.com/magiconair/properties v1.8.7 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect diff --git a/pb/enrichedflow.pb.go b/pb/enrichedflow.pb.go index a64ec93..393cc5c 100644 --- a/pb/enrichedflow.pb.go +++ b/pb/enrichedflow.pb.go @@ -1,8 +1,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 -// protoc v4.23.2 -// source: pb/enrichedflow.proto +// protoc-gen-go v1.35.1 +// protoc v3.21.12 +// source: enrichedflow.proto package pb @@ -62,11 +62,11 @@ func (x EnrichedFlow_FlowType) String() string { } func (EnrichedFlow_FlowType) Descriptor() protoreflect.EnumDescriptor { - return file_pb_enrichedflow_proto_enumTypes[0].Descriptor() + return file_enrichedflow_proto_enumTypes[0].Descriptor() } func (EnrichedFlow_FlowType) Type() protoreflect.EnumType { - return &file_pb_enrichedflow_proto_enumTypes[0] + return &file_enrichedflow_proto_enumTypes[0] } func (x EnrichedFlow_FlowType) Number() protoreflect.EnumNumber { @@ -75,7 +75,7 @@ func (x EnrichedFlow_FlowType) Number() protoreflect.EnumNumber { // Deprecated: Use EnrichedFlow_FlowType.Descriptor instead. func (EnrichedFlow_FlowType) EnumDescriptor() ([]byte, []int) { - return file_pb_enrichedflow_proto_rawDescGZIP(), []int{0, 0} + return file_enrichedflow_proto_rawDescGZIP(), []int{0, 0} } // modify/anonymize @@ -109,11 +109,11 @@ func (x EnrichedFlow_AnonymizedType) String() string { } func (EnrichedFlow_AnonymizedType) Descriptor() protoreflect.EnumDescriptor { - return file_pb_enrichedflow_proto_enumTypes[1].Descriptor() + return file_enrichedflow_proto_enumTypes[1].Descriptor() } func (EnrichedFlow_AnonymizedType) Type() protoreflect.EnumType { - return &file_pb_enrichedflow_proto_enumTypes[1] + return &file_enrichedflow_proto_enumTypes[1] } func (x EnrichedFlow_AnonymizedType) Number() protoreflect.EnumNumber { @@ -122,7 +122,7 @@ func (x EnrichedFlow_AnonymizedType) Number() protoreflect.EnumNumber { // Deprecated: Use EnrichedFlow_AnonymizedType.Descriptor instead. func (EnrichedFlow_AnonymizedType) EnumDescriptor() ([]byte, []int) { - return file_pb_enrichedflow_proto_rawDescGZIP(), []int{0, 1} + return file_enrichedflow_proto_rawDescGZIP(), []int{0, 1} } type EnrichedFlow_ValidationStatusType int32 @@ -161,11 +161,11 @@ func (x EnrichedFlow_ValidationStatusType) String() string { } func (EnrichedFlow_ValidationStatusType) Descriptor() protoreflect.EnumDescriptor { - return file_pb_enrichedflow_proto_enumTypes[2].Descriptor() + return file_enrichedflow_proto_enumTypes[2].Descriptor() } func (EnrichedFlow_ValidationStatusType) Type() protoreflect.EnumType { - return &file_pb_enrichedflow_proto_enumTypes[2] + return &file_enrichedflow_proto_enumTypes[2] } func (x EnrichedFlow_ValidationStatusType) Number() protoreflect.EnumNumber { @@ -174,7 +174,7 @@ func (x EnrichedFlow_ValidationStatusType) Number() protoreflect.EnumNumber { // Deprecated: Use EnrichedFlow_ValidationStatusType.Descriptor instead. func (EnrichedFlow_ValidationStatusType) EnumDescriptor() ([]byte, []int) { - return file_pb_enrichedflow_proto_rawDescGZIP(), []int{0, 2} + return file_enrichedflow_proto_rawDescGZIP(), []int{0, 2} } // modify/normalize @@ -208,11 +208,11 @@ func (x EnrichedFlow_NormalizedType) String() string { } func (EnrichedFlow_NormalizedType) Descriptor() protoreflect.EnumDescriptor { - return file_pb_enrichedflow_proto_enumTypes[3].Descriptor() + return file_enrichedflow_proto_enumTypes[3].Descriptor() } func (EnrichedFlow_NormalizedType) Type() protoreflect.EnumType { - return &file_pb_enrichedflow_proto_enumTypes[3] + return &file_enrichedflow_proto_enumTypes[3] } func (x EnrichedFlow_NormalizedType) Number() protoreflect.EnumNumber { @@ -221,7 +221,7 @@ func (x EnrichedFlow_NormalizedType) Number() protoreflect.EnumNumber { // Deprecated: Use EnrichedFlow_NormalizedType.Descriptor instead. func (EnrichedFlow_NormalizedType) EnumDescriptor() ([]byte, []int) { - return file_pb_enrichedflow_proto_rawDescGZIP(), []int{0, 3} + return file_enrichedflow_proto_rawDescGZIP(), []int{0, 3} } // modify/remoteaddress @@ -258,11 +258,11 @@ func (x EnrichedFlow_RemoteAddrType) String() string { } func (EnrichedFlow_RemoteAddrType) Descriptor() protoreflect.EnumDescriptor { - return file_pb_enrichedflow_proto_enumTypes[4].Descriptor() + return file_enrichedflow_proto_enumTypes[4].Descriptor() } func (EnrichedFlow_RemoteAddrType) Type() protoreflect.EnumType { - return &file_pb_enrichedflow_proto_enumTypes[4] + return &file_enrichedflow_proto_enumTypes[4] } func (x EnrichedFlow_RemoteAddrType) Number() protoreflect.EnumNumber { @@ -271,7 +271,7 @@ func (x EnrichedFlow_RemoteAddrType) Number() protoreflect.EnumNumber { // Deprecated: Use EnrichedFlow_RemoteAddrType.Descriptor instead. func (EnrichedFlow_RemoteAddrType) EnumDescriptor() ([]byte, []int) { - return file_pb_enrichedflow_proto_rawDescGZIP(), []int{0, 4} + return file_enrichedflow_proto_rawDescGZIP(), []int{0, 4} } type EnrichedFlow struct { @@ -384,6 +384,8 @@ type EnrichedFlow struct { DstAddrPreservedLen uint32 `protobuf:"varint,1163,opt,name=DstAddrPreservedLen,proto3" json:"DstAddrPreservedLen,omitempty"` SamplerAddrAnon EnrichedFlow_AnonymizedType `protobuf:"varint,1164,opt,name=SamplerAddrAnon,proto3,enum=flowpb.EnrichedFlow_AnonymizedType" json:"SamplerAddrAnon,omitempty"` SamplerAddrAnonPreservedPrefixLen uint32 `protobuf:"varint,1165,opt,name=SamplerAddrAnonPreservedPrefixLen,proto3" json:"SamplerAddrAnonPreservedPrefixLen,omitempty"` + NextHopAnon EnrichedFlow_AnonymizedType `protobuf:"varint,2166,opt,name=NextHopAnon,proto3,enum=flowpb.EnrichedFlow_AnonymizedType" json:"NextHopAnon,omitempty"` + NextHopAnonPreservedPrefixLen uint32 `protobuf:"varint,2167,opt,name=NextHopAnonPreservedPrefixLen,proto3" json:"NextHopAnonPreservedPrefixLen,omitempty"` // modify/bgp // as done by a number of Netflow implementations, these refer to the destination ASPath []uint32 `protobuf:"varint,1171,rep,packed,name=ASPath,proto3" json:"ASPath,omitempty"` @@ -426,11 +428,9 @@ type EnrichedFlow struct { func (x *EnrichedFlow) Reset() { *x = EnrichedFlow{} - if protoimpl.UnsafeEnabled { - mi := &file_pb_enrichedflow_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_enrichedflow_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *EnrichedFlow) String() string { @@ -440,8 +440,8 @@ func (x *EnrichedFlow) String() string { func (*EnrichedFlow) ProtoMessage() {} func (x *EnrichedFlow) ProtoReflect() protoreflect.Message { - mi := &file_pb_enrichedflow_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_enrichedflow_proto_msgTypes[0] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -453,7 +453,7 @@ func (x *EnrichedFlow) ProtoReflect() protoreflect.Message { // Deprecated: Use EnrichedFlow.ProtoReflect.Descriptor instead. func (*EnrichedFlow) Descriptor() ([]byte, []int) { - return file_pb_enrichedflow_proto_rawDescGZIP(), []int{0} + return file_enrichedflow_proto_rawDescGZIP(), []int{0} } func (x *EnrichedFlow) GetType() EnrichedFlow_FlowType { @@ -1065,6 +1065,20 @@ func (x *EnrichedFlow) GetSamplerAddrAnonPreservedPrefixLen() uint32 { return 0 } +func (x *EnrichedFlow) GetNextHopAnon() EnrichedFlow_AnonymizedType { + if x != nil { + return x.NextHopAnon + } + return EnrichedFlow_NotAnonymized +} + +func (x *EnrichedFlow) GetNextHopAnonPreservedPrefixLen() uint32 { + if x != nil { + return x.NextHopAnonPreservedPrefixLen + } + return 0 +} + func (x *EnrichedFlow) GetASPath() []uint32 { if x != nil { return x.ASPath @@ -1275,311 +1289,319 @@ func (x *EnrichedFlow) GetDestinationMAC() string { return "" } -var File_pb_enrichedflow_proto protoreflect.FileDescriptor - -var file_pb_enrichedflow_proto_rawDesc = []byte{ - 0x0a, 0x15, 0x70, 0x62, 0x2f, 0x65, 0x6e, 0x72, 0x69, 0x63, 0x68, 0x65, 0x64, 0x66, 0x6c, 0x6f, - 0x77, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x66, 0x6c, 0x6f, 0x77, 0x70, 0x62, 0x22, - 0xf1, 0x22, 0x0a, 0x0c, 0x45, 0x6e, 0x72, 0x69, 0x63, 0x68, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x77, - 0x12, 0x31, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, - 0x2e, 0x66, 0x6c, 0x6f, 0x77, 0x70, 0x62, 0x2e, 0x45, 0x6e, 0x72, 0x69, 0x63, 0x68, 0x65, 0x64, - 0x46, 0x6c, 0x6f, 0x77, 0x2e, 0x46, 0x6c, 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, - 0x76, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x54, 0x69, 0x6d, 0x65, 0x52, - 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x65, 0x71, 0x75, 0x65, - 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x53, 0x65, - 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x53, 0x61, 0x6d, - 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0c, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, - 0x0d, 0x46, 0x6c, 0x6f, 0x77, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x2a, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x46, 0x6c, 0x6f, 0x77, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0e, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x53, 0x61, 0x6d, - 0x70, 0x6c, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x54, - 0x69, 0x6d, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x72, 0x74, 0x18, 0x26, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x0d, 0x54, 0x69, 0x6d, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x72, - 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x54, 0x69, 0x6d, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x45, 0x6e, 0x64, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x54, 0x69, 0x6d, 0x65, 0x46, 0x6c, 0x6f, 0x77, - 0x45, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x05, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x50, 0x61, 0x63, - 0x6b, 0x65, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x50, 0x61, 0x63, 0x6b, - 0x65, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x72, 0x63, 0x41, 0x64, 0x64, 0x72, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x53, 0x72, 0x63, 0x41, 0x64, 0x64, 0x72, 0x12, 0x18, 0x0a, - 0x07, 0x44, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, - 0x44, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x45, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x72, 0x63, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x15, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x53, 0x72, 0x63, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x18, 0x0a, - 0x07, 0x44, 0x73, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, - 0x44, 0x73, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x49, 0x6e, 0x49, 0x66, 0x18, - 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x49, 0x6e, 0x49, 0x66, 0x12, 0x14, 0x0a, 0x05, 0x4f, - 0x75, 0x74, 0x49, 0x66, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x4f, 0x75, 0x74, 0x49, - 0x66, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x72, 0x63, 0x4d, 0x61, 0x63, 0x18, 0x1b, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x06, 0x53, 0x72, 0x63, 0x4d, 0x61, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x73, 0x74, - 0x4d, 0x61, 0x63, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x44, 0x73, 0x74, 0x4d, 0x61, - 0x63, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x72, 0x63, 0x56, 0x6c, 0x61, 0x6e, 0x18, 0x21, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x07, 0x53, 0x72, 0x63, 0x56, 0x6c, 0x61, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x44, - 0x73, 0x74, 0x56, 0x6c, 0x61, 0x6e, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x44, 0x73, - 0x74, 0x56, 0x6c, 0x61, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x56, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x18, - 0x1d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x56, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x22, 0x0a, - 0x0c, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x56, 0x72, 0x66, 0x49, 0x44, 0x18, 0x27, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x56, 0x72, 0x66, 0x49, - 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x56, 0x72, 0x66, 0x49, 0x44, - 0x18, 0x28, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x56, 0x72, - 0x66, 0x49, 0x44, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x50, 0x54, 0x6f, 0x73, 0x18, 0x17, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x05, 0x49, 0x50, 0x54, 0x6f, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x46, 0x6f, 0x72, - 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x18, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x10, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x50, 0x54, 0x54, 0x4c, 0x18, 0x19, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x49, 0x50, 0x54, 0x54, 0x4c, 0x12, 0x1a, 0x0a, 0x08, 0x54, - 0x43, 0x50, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x54, - 0x43, 0x50, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x63, 0x6d, 0x70, 0x54, - 0x79, 0x70, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x49, 0x63, 0x6d, 0x70, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x63, 0x6d, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, - 0x20, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x49, 0x63, 0x6d, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, - 0x24, 0x0a, 0x0d, 0x49, 0x50, 0x76, 0x36, 0x46, 0x6c, 0x6f, 0x77, 0x4c, 0x61, 0x62, 0x65, 0x6c, - 0x18, 0x25, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x49, 0x50, 0x76, 0x36, 0x46, 0x6c, 0x6f, 0x77, - 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, - 0x74, 0x49, 0x64, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x46, 0x72, 0x61, 0x67, 0x6d, - 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, - 0x74, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x46, - 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x28, 0x0a, - 0x0f, 0x42, 0x69, 0x46, 0x6c, 0x6f, 0x77, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x29, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x42, 0x69, 0x46, 0x6c, 0x6f, 0x77, 0x44, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x72, 0x63, 0x41, 0x53, - 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x53, 0x72, 0x63, 0x41, 0x53, 0x12, 0x14, 0x0a, - 0x05, 0x44, 0x73, 0x74, 0x41, 0x53, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x44, 0x73, - 0x74, 0x41, 0x53, 0x12, 0x18, 0x0a, 0x07, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x12, 0x1c, 0x0a, - 0x09, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x41, 0x53, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x09, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x41, 0x53, 0x12, 0x16, 0x0a, 0x06, 0x53, - 0x72, 0x63, 0x4e, 0x65, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x53, 0x72, 0x63, - 0x4e, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x18, 0x11, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x06, 0x44, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x48, - 0x61, 0x73, 0x4d, 0x50, 0x4c, 0x53, 0x18, 0x35, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x48, 0x61, - 0x73, 0x4d, 0x50, 0x4c, 0x53, 0x12, 0x1c, 0x0a, 0x09, 0x4d, 0x50, 0x4c, 0x53, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x36, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x4d, 0x50, 0x4c, 0x53, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x50, 0x4c, 0x53, 0x31, 0x54, 0x54, 0x4c, 0x18, - 0x37, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x4d, 0x50, 0x4c, 0x53, 0x31, 0x54, 0x54, 0x4c, 0x12, - 0x1e, 0x0a, 0x0a, 0x4d, 0x50, 0x4c, 0x53, 0x31, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x38, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x4d, 0x50, 0x4c, 0x53, 0x31, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, - 0x1a, 0x0a, 0x08, 0x4d, 0x50, 0x4c, 0x53, 0x32, 0x54, 0x54, 0x4c, 0x18, 0x39, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x08, 0x4d, 0x50, 0x4c, 0x53, 0x32, 0x54, 0x54, 0x4c, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, - 0x50, 0x4c, 0x53, 0x32, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x3a, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0a, 0x4d, 0x50, 0x4c, 0x53, 0x32, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x4d, - 0x50, 0x4c, 0x53, 0x33, 0x54, 0x54, 0x4c, 0x18, 0x3b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x4d, - 0x50, 0x4c, 0x53, 0x33, 0x54, 0x54, 0x4c, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x50, 0x4c, 0x53, 0x33, - 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x4d, 0x50, 0x4c, - 0x53, 0x33, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x4d, 0x50, 0x4c, 0x53, 0x4c, - 0x61, 0x73, 0x74, 0x54, 0x54, 0x4c, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x4d, 0x50, - 0x4c, 0x53, 0x4c, 0x61, 0x73, 0x74, 0x54, 0x54, 0x4c, 0x12, 0x24, 0x0a, 0x0d, 0x4d, 0x50, 0x4c, - 0x53, 0x4c, 0x61, 0x73, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x3e, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0d, 0x4d, 0x50, 0x4c, 0x53, 0x4c, 0x61, 0x73, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, - 0x27, 0x0a, 0x0e, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x4d, 0x69, - 0x6e, 0x18, 0xcc, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, - 0x42, 0x79, 0x74, 0x65, 0x73, 0x4d, 0x69, 0x6e, 0x12, 0x27, 0x0a, 0x0e, 0x50, 0x61, 0x63, 0x6b, - 0x65, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x4d, 0x61, 0x78, 0x18, 0xcd, 0x08, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0e, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x4d, 0x61, - 0x78, 0x12, 0x29, 0x0a, 0x0f, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, - 0x4d, 0x65, 0x61, 0x6e, 0x18, 0xce, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x50, 0x61, 0x63, - 0x6b, 0x65, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x4d, 0x65, 0x61, 0x6e, 0x12, 0x2d, 0x0a, 0x11, - 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x53, 0x74, 0x64, 0x44, 0x65, - 0x76, 0x18, 0xcf, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, - 0x42, 0x79, 0x74, 0x65, 0x73, 0x53, 0x74, 0x64, 0x44, 0x65, 0x76, 0x12, 0x23, 0x0a, 0x0c, 0x50, - 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x41, 0x54, 0x4d, 0x69, 0x6e, 0x18, 0xd6, 0x08, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x0c, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x41, 0x54, 0x4d, 0x69, 0x6e, - 0x12, 0x23, 0x0a, 0x0c, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x41, 0x54, 0x4d, 0x61, 0x78, - 0x18, 0xd7, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, - 0x41, 0x54, 0x4d, 0x61, 0x78, 0x12, 0x25, 0x0a, 0x0d, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, - 0x41, 0x54, 0x4d, 0x65, 0x61, 0x6e, 0x18, 0xd8, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x50, - 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x41, 0x54, 0x4d, 0x65, 0x61, 0x6e, 0x12, 0x29, 0x0a, 0x0f, - 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x41, 0x54, 0x53, 0x74, 0x64, 0x44, 0x65, 0x76, 0x18, - 0xd9, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x41, - 0x54, 0x53, 0x74, 0x64, 0x44, 0x65, 0x76, 0x12, 0x21, 0x0a, 0x0b, 0x48, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0xe0, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x48, - 0x65, 0x61, 0x64, 0x65, 0x72, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0c, 0x46, 0x49, - 0x4e, 0x46, 0x6c, 0x61, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0xea, 0x08, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x0c, 0x46, 0x49, 0x4e, 0x46, 0x6c, 0x61, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x23, 0x0a, 0x0c, 0x53, 0x59, 0x4e, 0x46, 0x6c, 0x61, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0xeb, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x53, 0x59, 0x4e, 0x46, 0x6c, 0x61, 0x67, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0c, 0x52, 0x53, 0x54, 0x46, 0x6c, 0x61, 0x67, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0xec, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x52, 0x53, 0x54, - 0x46, 0x6c, 0x61, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0c, 0x50, 0x53, 0x48, - 0x46, 0x6c, 0x61, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0xed, 0x08, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x0c, 0x50, 0x53, 0x48, 0x46, 0x6c, 0x61, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, - 0x0a, 0x0c, 0x41, 0x43, 0x4b, 0x46, 0x6c, 0x61, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0xee, - 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x41, 0x43, 0x4b, 0x46, 0x6c, 0x61, 0x67, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0c, 0x55, 0x52, 0x47, 0x46, 0x6c, 0x61, 0x67, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0xef, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x55, 0x52, 0x47, 0x46, - 0x6c, 0x61, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0c, 0x43, 0x57, 0x52, 0x46, - 0x6c, 0x61, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0xf0, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0c, 0x43, 0x57, 0x52, 0x46, 0x6c, 0x61, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, - 0x0c, 0x45, 0x43, 0x45, 0x46, 0x6c, 0x61, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0xf1, 0x08, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x45, 0x43, 0x45, 0x46, 0x6c, 0x61, 0x67, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x0e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x61, 0x63, - 0x6b, 0x65, 0x74, 0x73, 0x18, 0xf4, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x50, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0d, 0x54, - 0x69, 0x6d, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x69, 0x6e, 0x18, 0xfe, 0x08, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x0d, 0x54, 0x69, 0x6d, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, - 0x69, 0x6e, 0x12, 0x25, 0x0a, 0x0d, 0x54, 0x69, 0x6d, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x4d, 0x61, 0x78, 0x18, 0xff, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x54, 0x69, 0x6d, 0x65, - 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x61, 0x78, 0x12, 0x27, 0x0a, 0x0e, 0x54, 0x69, 0x6d, - 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x61, 0x6e, 0x18, 0x80, 0x09, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x0e, 0x54, 0x69, 0x6d, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x65, - 0x61, 0x6e, 0x12, 0x2b, 0x0a, 0x10, 0x54, 0x69, 0x6d, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x53, 0x74, 0x64, 0x44, 0x65, 0x76, 0x18, 0x81, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x54, - 0x69, 0x6d, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x64, 0x44, 0x65, 0x76, 0x12, - 0x21, 0x0a, 0x0b, 0x54, 0x69, 0x6d, 0x65, 0x49, 0x64, 0x6c, 0x65, 0x4d, 0x69, 0x6e, 0x18, 0x82, +var File_enrichedflow_proto protoreflect.FileDescriptor + +var file_enrichedflow_proto_rawDesc = []byte{ + 0x0a, 0x12, 0x65, 0x6e, 0x72, 0x69, 0x63, 0x68, 0x65, 0x64, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x66, 0x6c, 0x6f, 0x77, 0x70, 0x62, 0x22, 0x80, 0x24, 0x0a, + 0x0c, 0x45, 0x6e, 0x72, 0x69, 0x63, 0x68, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x12, 0x31, 0x0a, + 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x66, 0x6c, + 0x6f, 0x77, 0x70, 0x62, 0x2e, 0x45, 0x6e, 0x72, 0x69, 0x63, 0x68, 0x65, 0x64, 0x46, 0x6c, 0x6f, + 0x77, 0x2e, 0x46, 0x6c, 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x22, 0x0a, 0x0c, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x63, 0x65, + 0x69, 0x76, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, + 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x53, 0x65, 0x71, 0x75, 0x65, + 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x69, + 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x53, 0x61, + 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x46, 0x6c, + 0x6f, 0x77, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x2a, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0d, 0x46, 0x6c, 0x6f, 0x77, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x26, 0x0a, 0x0e, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, + 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x69, 0x6d, 0x65, + 0x46, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x72, 0x74, 0x18, 0x26, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0d, 0x54, 0x69, 0x6d, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x20, + 0x0a, 0x0b, 0x54, 0x69, 0x6d, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x45, 0x6e, 0x64, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x0b, 0x54, 0x69, 0x6d, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x45, 0x6e, 0x64, + 0x12, 0x14, 0x0a, 0x05, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x05, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, + 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, + 0x12, 0x18, 0x0a, 0x07, 0x53, 0x72, 0x63, 0x41, 0x64, 0x64, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x07, 0x53, 0x72, 0x63, 0x41, 0x64, 0x64, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x44, 0x73, + 0x74, 0x41, 0x64, 0x64, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x44, 0x73, 0x74, + 0x41, 0x64, 0x64, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x74, 0x79, 0x70, 0x65, 0x18, 0x1e, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x05, 0x45, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x18, 0x0a, 0x07, 0x53, 0x72, 0x63, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x07, 0x53, 0x72, 0x63, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x44, 0x73, + 0x74, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x44, 0x73, 0x74, + 0x50, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x49, 0x6e, 0x49, 0x66, 0x18, 0x12, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x04, 0x49, 0x6e, 0x49, 0x66, 0x12, 0x14, 0x0a, 0x05, 0x4f, 0x75, 0x74, 0x49, + 0x66, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x4f, 0x75, 0x74, 0x49, 0x66, 0x12, 0x16, + 0x0a, 0x06, 0x53, 0x72, 0x63, 0x4d, 0x61, 0x63, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, + 0x53, 0x72, 0x63, 0x4d, 0x61, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x73, 0x74, 0x4d, 0x61, 0x63, + 0x18, 0x1c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x44, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x12, 0x18, + 0x0a, 0x07, 0x53, 0x72, 0x63, 0x56, 0x6c, 0x61, 0x6e, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x07, 0x53, 0x72, 0x63, 0x56, 0x6c, 0x61, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x44, 0x73, 0x74, 0x56, + 0x6c, 0x61, 0x6e, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x44, 0x73, 0x74, 0x56, 0x6c, + 0x61, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x56, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x18, 0x1d, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x06, 0x56, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x49, 0x6e, + 0x67, 0x72, 0x65, 0x73, 0x73, 0x56, 0x72, 0x66, 0x49, 0x44, 0x18, 0x27, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0c, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x56, 0x72, 0x66, 0x49, 0x44, 0x12, 0x20, + 0x0a, 0x0b, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x56, 0x72, 0x66, 0x49, 0x44, 0x18, 0x28, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x56, 0x72, 0x66, 0x49, 0x44, + 0x12, 0x14, 0x0a, 0x05, 0x49, 0x50, 0x54, 0x6f, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x05, 0x49, 0x50, 0x54, 0x6f, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, + 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x10, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x50, 0x54, 0x54, 0x4c, 0x18, 0x19, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x05, 0x49, 0x50, 0x54, 0x54, 0x4c, 0x12, 0x1a, 0x0a, 0x08, 0x54, 0x43, 0x50, 0x46, + 0x6c, 0x61, 0x67, 0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x54, 0x43, 0x50, 0x46, + 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x63, 0x6d, 0x70, 0x54, 0x79, 0x70, 0x65, + 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x49, 0x63, 0x6d, 0x70, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x63, 0x6d, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x20, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x08, 0x49, 0x63, 0x6d, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0d, + 0x49, 0x50, 0x76, 0x36, 0x46, 0x6c, 0x6f, 0x77, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x25, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x49, 0x50, 0x76, 0x36, 0x46, 0x6c, 0x6f, 0x77, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, + 0x18, 0x23, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, + 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x66, + 0x66, 0x73, 0x65, 0x74, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x46, 0x72, 0x61, 0x67, + 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x42, 0x69, + 0x46, 0x6c, 0x6f, 0x77, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x29, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x42, 0x69, 0x46, 0x6c, 0x6f, 0x77, 0x44, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x72, 0x63, 0x41, 0x53, 0x18, 0x0e, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x05, 0x53, 0x72, 0x63, 0x41, 0x53, 0x12, 0x14, 0x0a, 0x05, 0x44, 0x73, + 0x74, 0x41, 0x53, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x44, 0x73, 0x74, 0x41, 0x53, + 0x12, 0x18, 0x0a, 0x07, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x07, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x4e, 0x65, + 0x78, 0x74, 0x48, 0x6f, 0x70, 0x41, 0x53, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x4e, + 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x41, 0x53, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x72, 0x63, 0x4e, + 0x65, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x53, 0x72, 0x63, 0x4e, 0x65, 0x74, + 0x12, 0x16, 0x0a, 0x06, 0x44, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x06, 0x44, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x48, 0x61, 0x73, 0x4d, + 0x50, 0x4c, 0x53, 0x18, 0x35, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x48, 0x61, 0x73, 0x4d, 0x50, + 0x4c, 0x53, 0x12, 0x1c, 0x0a, 0x09, 0x4d, 0x50, 0x4c, 0x53, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x36, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x4d, 0x50, 0x4c, 0x53, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x50, 0x4c, 0x53, 0x31, 0x54, 0x54, 0x4c, 0x18, 0x37, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x08, 0x4d, 0x50, 0x4c, 0x53, 0x31, 0x54, 0x54, 0x4c, 0x12, 0x1e, 0x0a, 0x0a, + 0x4d, 0x50, 0x4c, 0x53, 0x31, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x38, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0a, 0x4d, 0x50, 0x4c, 0x53, 0x31, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08, + 0x4d, 0x50, 0x4c, 0x53, 0x32, 0x54, 0x54, 0x4c, 0x18, 0x39, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, + 0x4d, 0x50, 0x4c, 0x53, 0x32, 0x54, 0x54, 0x4c, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x50, 0x4c, 0x53, + 0x32, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x3a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x4d, 0x50, + 0x4c, 0x53, 0x32, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x50, 0x4c, 0x53, + 0x33, 0x54, 0x54, 0x4c, 0x18, 0x3b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x4d, 0x50, 0x4c, 0x53, + 0x33, 0x54, 0x54, 0x4c, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x50, 0x4c, 0x53, 0x33, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x4d, 0x50, 0x4c, 0x53, 0x33, 0x4c, + 0x61, 0x62, 0x65, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x4d, 0x50, 0x4c, 0x53, 0x4c, 0x61, 0x73, 0x74, + 0x54, 0x54, 0x4c, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x4d, 0x50, 0x4c, 0x53, 0x4c, + 0x61, 0x73, 0x74, 0x54, 0x54, 0x4c, 0x12, 0x24, 0x0a, 0x0d, 0x4d, 0x50, 0x4c, 0x53, 0x4c, 0x61, + 0x73, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x3e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x4d, + 0x50, 0x4c, 0x53, 0x4c, 0x61, 0x73, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x27, 0x0a, 0x0e, + 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x4d, 0x69, 0x6e, 0x18, 0xcc, + 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x79, 0x74, + 0x65, 0x73, 0x4d, 0x69, 0x6e, 0x12, 0x27, 0x0a, 0x0e, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x42, + 0x79, 0x74, 0x65, 0x73, 0x4d, 0x61, 0x78, 0x18, 0xcd, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, + 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x4d, 0x61, 0x78, 0x12, 0x29, + 0x0a, 0x0f, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x4d, 0x65, 0x61, + 0x6e, 0x18, 0xce, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, + 0x42, 0x79, 0x74, 0x65, 0x73, 0x4d, 0x65, 0x61, 0x6e, 0x12, 0x2d, 0x0a, 0x11, 0x50, 0x61, 0x63, + 0x6b, 0x65, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x53, 0x74, 0x64, 0x44, 0x65, 0x76, 0x18, 0xcf, + 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x79, 0x74, + 0x65, 0x73, 0x53, 0x74, 0x64, 0x44, 0x65, 0x76, 0x12, 0x23, 0x0a, 0x0c, 0x50, 0x61, 0x63, 0x6b, + 0x65, 0x74, 0x49, 0x41, 0x54, 0x4d, 0x69, 0x6e, 0x18, 0xd6, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0c, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x41, 0x54, 0x4d, 0x69, 0x6e, 0x12, 0x23, 0x0a, + 0x0c, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x41, 0x54, 0x4d, 0x61, 0x78, 0x18, 0xd7, 0x08, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x41, 0x54, 0x4d, + 0x61, 0x78, 0x12, 0x25, 0x0a, 0x0d, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x41, 0x54, 0x4d, + 0x65, 0x61, 0x6e, 0x18, 0xd8, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x50, 0x61, 0x63, 0x6b, + 0x65, 0x74, 0x49, 0x41, 0x54, 0x4d, 0x65, 0x61, 0x6e, 0x12, 0x29, 0x0a, 0x0f, 0x50, 0x61, 0x63, + 0x6b, 0x65, 0x74, 0x49, 0x41, 0x54, 0x53, 0x74, 0x64, 0x44, 0x65, 0x76, 0x18, 0xd9, 0x08, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x0f, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x41, 0x54, 0x53, 0x74, + 0x64, 0x44, 0x65, 0x76, 0x12, 0x21, 0x0a, 0x0b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x42, 0x79, + 0x74, 0x65, 0x73, 0x18, 0xe0, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x48, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0c, 0x46, 0x49, 0x4e, 0x46, 0x6c, + 0x61, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0xea, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, + 0x46, 0x49, 0x4e, 0x46, 0x6c, 0x61, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0c, + 0x53, 0x59, 0x4e, 0x46, 0x6c, 0x61, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0xeb, 0x08, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x0c, 0x53, 0x59, 0x4e, 0x46, 0x6c, 0x61, 0x67, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x23, 0x0a, 0x0c, 0x52, 0x53, 0x54, 0x46, 0x6c, 0x61, 0x67, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0xec, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x52, 0x53, 0x54, 0x46, 0x6c, 0x61, + 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0c, 0x50, 0x53, 0x48, 0x46, 0x6c, 0x61, + 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0xed, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x50, + 0x53, 0x48, 0x46, 0x6c, 0x61, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0c, 0x41, + 0x43, 0x4b, 0x46, 0x6c, 0x61, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0xee, 0x08, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x0c, 0x41, 0x43, 0x4b, 0x46, 0x6c, 0x61, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x23, 0x0a, 0x0c, 0x55, 0x52, 0x47, 0x46, 0x6c, 0x61, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0xef, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x55, 0x52, 0x47, 0x46, 0x6c, 0x61, 0x67, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0c, 0x43, 0x57, 0x52, 0x46, 0x6c, 0x61, 0x67, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0xf0, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x43, 0x57, + 0x52, 0x46, 0x6c, 0x61, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0c, 0x45, 0x43, + 0x45, 0x46, 0x6c, 0x61, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0xf1, 0x08, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x0c, 0x45, 0x43, 0x45, 0x46, 0x6c, 0x61, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x27, 0x0a, 0x0e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, + 0x73, 0x18, 0xf4, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0d, 0x54, 0x69, 0x6d, 0x65, + 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x69, 0x6e, 0x18, 0xfe, 0x08, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x0d, 0x54, 0x69, 0x6d, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x69, 0x6e, 0x12, + 0x25, 0x0a, 0x0d, 0x54, 0x69, 0x6d, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x61, 0x78, + 0x18, 0xff, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x54, 0x69, 0x6d, 0x65, 0x41, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x4d, 0x61, 0x78, 0x12, 0x27, 0x0a, 0x0e, 0x54, 0x69, 0x6d, 0x65, 0x41, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x61, 0x6e, 0x18, 0x80, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0e, 0x54, 0x69, 0x6d, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x61, 0x6e, 0x12, + 0x2b, 0x0a, 0x10, 0x54, 0x69, 0x6d, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x64, + 0x44, 0x65, 0x76, 0x18, 0x81, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x54, 0x69, 0x6d, 0x65, + 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x64, 0x44, 0x65, 0x76, 0x12, 0x21, 0x0a, 0x0b, + 0x54, 0x69, 0x6d, 0x65, 0x49, 0x64, 0x6c, 0x65, 0x4d, 0x69, 0x6e, 0x18, 0x82, 0x09, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x0b, 0x54, 0x69, 0x6d, 0x65, 0x49, 0x64, 0x6c, 0x65, 0x4d, 0x69, 0x6e, 0x12, + 0x21, 0x0a, 0x0b, 0x54, 0x69, 0x6d, 0x65, 0x49, 0x64, 0x6c, 0x65, 0x4d, 0x61, 0x78, 0x18, 0x83, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x54, 0x69, 0x6d, 0x65, 0x49, 0x64, 0x6c, 0x65, 0x4d, - 0x69, 0x6e, 0x12, 0x21, 0x0a, 0x0b, 0x54, 0x69, 0x6d, 0x65, 0x49, 0x64, 0x6c, 0x65, 0x4d, 0x61, - 0x78, 0x18, 0x83, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x54, 0x69, 0x6d, 0x65, 0x49, 0x64, - 0x6c, 0x65, 0x4d, 0x61, 0x78, 0x12, 0x23, 0x0a, 0x0c, 0x54, 0x69, 0x6d, 0x65, 0x49, 0x64, 0x6c, - 0x65, 0x4d, 0x65, 0x61, 0x6e, 0x18, 0x84, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x54, 0x69, - 0x6d, 0x65, 0x49, 0x64, 0x6c, 0x65, 0x4d, 0x65, 0x61, 0x6e, 0x12, 0x27, 0x0a, 0x0e, 0x54, 0x69, - 0x6d, 0x65, 0x49, 0x64, 0x6c, 0x65, 0x53, 0x74, 0x64, 0x44, 0x65, 0x76, 0x18, 0x85, 0x09, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x0e, 0x54, 0x69, 0x6d, 0x65, 0x49, 0x64, 0x6c, 0x65, 0x53, 0x74, 0x64, - 0x44, 0x65, 0x76, 0x12, 0x11, 0x0a, 0x03, 0x43, 0x69, 0x64, 0x18, 0xe8, 0x07, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x03, 0x43, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x09, 0x43, 0x69, 0x64, 0x53, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x18, 0xe9, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x43, 0x69, 0x64, 0x53, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x17, 0x0a, 0x06, 0x53, 0x72, 0x63, 0x43, 0x69, 0x64, 0x18, - 0xf4, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x53, 0x72, 0x63, 0x43, 0x69, 0x64, 0x12, 0x17, - 0x0a, 0x06, 0x44, 0x73, 0x74, 0x43, 0x69, 0x64, 0x18, 0xf5, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x06, 0x44, 0x73, 0x74, 0x43, 0x69, 0x64, 0x12, 0x46, 0x0a, 0x0b, 0x53, 0x72, 0x63, 0x41, 0x64, - 0x64, 0x72, 0x41, 0x6e, 0x6f, 0x6e, 0x18, 0x88, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, - 0x66, 0x6c, 0x6f, 0x77, 0x70, 0x62, 0x2e, 0x45, 0x6e, 0x72, 0x69, 0x63, 0x68, 0x65, 0x64, 0x46, - 0x6c, 0x6f, 0x77, 0x2e, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x0b, 0x53, 0x72, 0x63, 0x41, 0x64, 0x64, 0x72, 0x41, 0x6e, 0x6f, 0x6e, 0x12, - 0x46, 0x0a, 0x0b, 0x44, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x41, 0x6e, 0x6f, 0x6e, 0x18, 0x89, - 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x66, 0x6c, 0x6f, 0x77, 0x70, 0x62, 0x2e, 0x45, - 0x6e, 0x72, 0x69, 0x63, 0x68, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x2e, 0x41, 0x6e, 0x6f, 0x6e, - 0x79, 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x44, 0x73, 0x74, 0x41, - 0x64, 0x64, 0x72, 0x41, 0x6e, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x13, 0x53, 0x72, 0x63, 0x41, 0x64, - 0x64, 0x72, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x4c, 0x65, 0x6e, 0x18, 0x8a, - 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x53, 0x72, 0x63, 0x41, 0x64, 0x64, 0x72, 0x50, 0x72, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x4c, 0x65, 0x6e, 0x12, 0x31, 0x0a, 0x13, 0x44, 0x73, - 0x74, 0x41, 0x64, 0x64, 0x72, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x4c, 0x65, - 0x6e, 0x18, 0x8b, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x44, 0x73, 0x74, 0x41, 0x64, 0x64, - 0x72, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x4c, 0x65, 0x6e, 0x12, 0x4e, 0x0a, - 0x0f, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x41, 0x6e, 0x6f, 0x6e, - 0x18, 0x8c, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x66, 0x6c, 0x6f, 0x77, 0x70, 0x62, - 0x2e, 0x45, 0x6e, 0x72, 0x69, 0x63, 0x68, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x2e, 0x41, 0x6e, - 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0f, 0x53, 0x61, - 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x41, 0x6e, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, - 0x21, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x41, 0x6e, 0x6f, 0x6e, - 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, - 0x65, 0x6e, 0x18, 0x8d, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x21, 0x53, 0x61, 0x6d, 0x70, 0x6c, - 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x41, 0x6e, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x12, 0x17, 0x0a, 0x06, - 0x41, 0x53, 0x50, 0x61, 0x74, 0x68, 0x18, 0x93, 0x09, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x06, 0x41, - 0x53, 0x50, 0x61, 0x74, 0x68, 0x12, 0x11, 0x0a, 0x03, 0x4d, 0x65, 0x64, 0x18, 0x94, 0x09, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x03, 0x4d, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x09, 0x4c, 0x6f, 0x63, 0x61, - 0x6c, 0x50, 0x72, 0x65, 0x66, 0x18, 0x95, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x4c, 0x6f, - 0x63, 0x61, 0x6c, 0x50, 0x72, 0x65, 0x66, 0x12, 0x56, 0x0a, 0x10, 0x56, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x96, 0x09, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x66, 0x6c, 0x6f, 0x77, 0x70, 0x62, 0x2e, 0x45, 0x6e, 0x72, 0x69, - 0x63, 0x68, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x79, 0x70, 0x65, 0x52, 0x10, 0x56, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x25, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, - 0x18, 0xf2, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0a, 0x53, 0x72, 0x63, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x72, 0x79, 0x18, 0xf6, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x53, 0x72, 0x63, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0a, 0x44, 0x73, 0x74, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0xf7, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x44, 0x73, - 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x44, 0x0a, 0x0a, 0x4e, 0x6f, 0x72, 0x6d, - 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, 0xea, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, - 0x66, 0x6c, 0x6f, 0x77, 0x70, 0x62, 0x2e, 0x45, 0x6e, 0x72, 0x69, 0x63, 0x68, 0x65, 0x64, 0x46, - 0x6c, 0x6f, 0x77, 0x2e, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x0a, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x1d, - 0x0a, 0x09, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0xf1, 0x07, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x44, 0x0a, - 0x0a, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x18, 0xf3, 0x07, 0x20, 0x01, + 0x61, 0x78, 0x12, 0x23, 0x0a, 0x0c, 0x54, 0x69, 0x6d, 0x65, 0x49, 0x64, 0x6c, 0x65, 0x4d, 0x65, + 0x61, 0x6e, 0x18, 0x84, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x54, 0x69, 0x6d, 0x65, 0x49, + 0x64, 0x6c, 0x65, 0x4d, 0x65, 0x61, 0x6e, 0x12, 0x27, 0x0a, 0x0e, 0x54, 0x69, 0x6d, 0x65, 0x49, + 0x64, 0x6c, 0x65, 0x53, 0x74, 0x64, 0x44, 0x65, 0x76, 0x18, 0x85, 0x09, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x0e, 0x54, 0x69, 0x6d, 0x65, 0x49, 0x64, 0x6c, 0x65, 0x53, 0x74, 0x64, 0x44, 0x65, 0x76, + 0x12, 0x11, 0x0a, 0x03, 0x43, 0x69, 0x64, 0x18, 0xe8, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, + 0x43, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x09, 0x43, 0x69, 0x64, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x18, 0xe9, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x43, 0x69, 0x64, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x12, 0x17, 0x0a, 0x06, 0x53, 0x72, 0x63, 0x43, 0x69, 0x64, 0x18, 0xf4, 0x07, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x06, 0x53, 0x72, 0x63, 0x43, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x06, 0x44, + 0x73, 0x74, 0x43, 0x69, 0x64, 0x18, 0xf5, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x44, 0x73, + 0x74, 0x43, 0x69, 0x64, 0x12, 0x46, 0x0a, 0x0b, 0x53, 0x72, 0x63, 0x41, 0x64, 0x64, 0x72, 0x41, + 0x6e, 0x6f, 0x6e, 0x18, 0x88, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x66, 0x6c, 0x6f, + 0x77, 0x70, 0x62, 0x2e, 0x45, 0x6e, 0x72, 0x69, 0x63, 0x68, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x77, + 0x2e, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x0b, 0x53, 0x72, 0x63, 0x41, 0x64, 0x64, 0x72, 0x41, 0x6e, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x0b, + 0x44, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x41, 0x6e, 0x6f, 0x6e, 0x18, 0x89, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x66, 0x6c, 0x6f, 0x77, 0x70, 0x62, 0x2e, 0x45, 0x6e, 0x72, 0x69, - 0x63, 0x68, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, - 0x64, 0x64, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, - 0x64, 0x64, 0x72, 0x12, 0x21, 0x0a, 0x0b, 0x53, 0x72, 0x63, 0x48, 0x6f, 0x73, 0x74, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x9c, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x53, 0x72, 0x63, 0x48, 0x6f, - 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x44, 0x73, 0x74, 0x48, 0x6f, 0x73, - 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x9d, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x44, 0x73, - 0x74, 0x48, 0x6f, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x0f, 0x4e, 0x65, 0x78, - 0x74, 0x48, 0x6f, 0x70, 0x48, 0x6f, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x9e, 0x09, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0f, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x48, 0x6f, 0x73, 0x74, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x53, 0x72, 0x63, 0x41, 0x53, 0x4e, 0x61, 0x6d, - 0x65, 0x18, 0x9f, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x53, 0x72, 0x63, 0x41, 0x53, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x44, 0x73, 0x74, 0x41, 0x53, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0xa0, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x44, 0x73, 0x74, 0x41, 0x53, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0d, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x41, 0x53, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0xa1, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x4e, 0x65, 0x78, 0x74, - 0x48, 0x6f, 0x70, 0x41, 0x53, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x0f, 0x53, 0x61, 0x6d, - 0x70, 0x6c, 0x65, 0x72, 0x48, 0x6f, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0xa2, 0x09, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0f, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x48, 0x6f, 0x73, 0x74, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x53, 0x72, 0x63, 0x49, 0x66, 0x4e, 0x61, 0x6d, - 0x65, 0x18, 0xeb, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x53, 0x72, 0x63, 0x49, 0x66, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x53, 0x72, 0x63, 0x49, 0x66, 0x44, 0x65, 0x73, 0x63, - 0x18, 0xec, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x53, 0x72, 0x63, 0x49, 0x66, 0x44, 0x65, - 0x73, 0x63, 0x12, 0x1f, 0x0a, 0x0a, 0x53, 0x72, 0x63, 0x49, 0x66, 0x53, 0x70, 0x65, 0x65, 0x64, - 0x18, 0xed, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x53, 0x72, 0x63, 0x49, 0x66, 0x53, 0x70, - 0x65, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x09, 0x44, 0x73, 0x74, 0x49, 0x66, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0xee, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x44, 0x73, 0x74, 0x49, 0x66, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x44, 0x73, 0x74, 0x49, 0x66, 0x44, 0x65, 0x73, 0x63, 0x18, - 0xef, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x44, 0x73, 0x74, 0x49, 0x66, 0x44, 0x65, 0x73, - 0x63, 0x12, 0x1f, 0x0a, 0x0a, 0x44, 0x73, 0x74, 0x49, 0x66, 0x53, 0x70, 0x65, 0x65, 0x64, 0x18, - 0xf0, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x44, 0x73, 0x74, 0x49, 0x66, 0x53, 0x70, 0x65, - 0x65, 0x64, 0x12, 0x13, 0x0a, 0x04, 0x4e, 0x6f, 0x74, 0x65, 0x18, 0xf8, 0x07, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x4e, 0x6f, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x08, 0x53, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x49, 0x50, 0x18, 0x8a, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x53, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x49, 0x50, 0x12, 0x25, 0x0a, 0x0d, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x50, 0x18, 0x8b, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x44, 0x65, - 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x50, 0x12, 0x1d, 0x0a, 0x09, 0x4e, - 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x49, 0x50, 0x18, 0x8c, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x49, 0x50, 0x12, 0x1d, 0x0a, 0x09, 0x53, 0x61, - 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x49, 0x50, 0x18, 0x8d, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x49, 0x50, 0x12, 0x1d, 0x0a, 0x09, 0x53, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x4d, 0x41, 0x43, 0x18, 0x8e, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x53, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x41, 0x43, 0x12, 0x27, 0x0a, 0x0e, 0x44, 0x65, 0x73, 0x74, - 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x41, 0x43, 0x18, 0x8f, 0x0a, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x41, - 0x43, 0x22, 0x5d, 0x0a, 0x08, 0x46, 0x6c, 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, - 0x0b, 0x46, 0x4c, 0x4f, 0x57, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, - 0x0a, 0x07, 0x53, 0x46, 0x4c, 0x4f, 0x57, 0x5f, 0x35, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, - 0x45, 0x54, 0x46, 0x4c, 0x4f, 0x57, 0x5f, 0x56, 0x35, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, - 0x45, 0x54, 0x46, 0x4c, 0x4f, 0x57, 0x5f, 0x56, 0x39, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x49, - 0x50, 0x46, 0x49, 0x58, 0x10, 0x04, 0x12, 0x08, 0x0a, 0x04, 0x45, 0x42, 0x50, 0x46, 0x10, 0x05, - 0x22, 0x32, 0x0a, 0x0e, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x11, 0x0a, 0x0d, 0x4e, 0x6f, 0x74, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, - 0x7a, 0x65, 0x64, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x50, - 0x41, 0x4e, 0x10, 0x01, 0x22, 0x49, 0x0a, 0x14, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, - 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, - 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x03, 0x22, - 0x21, 0x0a, 0x0e, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x06, 0x0a, 0x02, 0x4e, 0x6f, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x59, 0x65, 0x73, - 0x10, 0x01, 0x22, 0x2f, 0x0a, 0x0e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x4e, 0x65, 0x69, 0x74, 0x68, 0x65, 0x72, 0x10, - 0x00, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x72, 0x63, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x44, 0x73, - 0x74, 0x10, 0x02, 0x42, 0x27, 0x5a, 0x25, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x62, 0x77, 0x4e, 0x65, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x2f, 0x66, 0x6c, 0x6f, 0x77, - 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x2f, 0x70, 0x62, 0x3b, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x63, 0x68, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x2e, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, + 0x7a, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x44, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, + 0x41, 0x6e, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x13, 0x53, 0x72, 0x63, 0x41, 0x64, 0x64, 0x72, 0x50, + 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x4c, 0x65, 0x6e, 0x18, 0x8a, 0x09, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x13, 0x53, 0x72, 0x63, 0x41, 0x64, 0x64, 0x72, 0x50, 0x72, 0x65, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x64, 0x4c, 0x65, 0x6e, 0x12, 0x31, 0x0a, 0x13, 0x44, 0x73, 0x74, 0x41, 0x64, + 0x64, 0x72, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x4c, 0x65, 0x6e, 0x18, 0x8b, + 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x44, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x50, 0x72, + 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x4c, 0x65, 0x6e, 0x12, 0x4e, 0x0a, 0x0f, 0x53, 0x61, + 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x41, 0x6e, 0x6f, 0x6e, 0x18, 0x8c, 0x09, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x66, 0x6c, 0x6f, 0x77, 0x70, 0x62, 0x2e, 0x45, 0x6e, + 0x72, 0x69, 0x63, 0x68, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x2e, 0x41, 0x6e, 0x6f, 0x6e, 0x79, + 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0f, 0x53, 0x61, 0x6d, 0x70, 0x6c, + 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x41, 0x6e, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x21, 0x53, 0x61, + 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x41, 0x6e, 0x6f, 0x6e, 0x50, 0x72, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x18, + 0x8d, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x21, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x41, + 0x64, 0x64, 0x72, 0x41, 0x6e, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, + 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x12, 0x46, 0x0a, 0x0b, 0x4e, 0x65, 0x78, + 0x74, 0x48, 0x6f, 0x70, 0x41, 0x6e, 0x6f, 0x6e, 0x18, 0xf6, 0x10, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x23, 0x2e, 0x66, 0x6c, 0x6f, 0x77, 0x70, 0x62, 0x2e, 0x45, 0x6e, 0x72, 0x69, 0x63, 0x68, 0x65, + 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x2e, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x7a, 0x65, 0x64, + 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x41, 0x6e, 0x6f, + 0x6e, 0x12, 0x45, 0x0a, 0x1d, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x41, 0x6e, 0x6f, 0x6e, + 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, + 0x65, 0x6e, 0x18, 0xf7, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1d, 0x4e, 0x65, 0x78, 0x74, 0x48, + 0x6f, 0x70, 0x41, 0x6e, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x50, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x12, 0x17, 0x0a, 0x06, 0x41, 0x53, 0x50, 0x61, + 0x74, 0x68, 0x18, 0x93, 0x09, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x06, 0x41, 0x53, 0x50, 0x61, 0x74, + 0x68, 0x12, 0x11, 0x0a, 0x03, 0x4d, 0x65, 0x64, 0x18, 0x94, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x03, 0x4d, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x09, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x50, 0x72, 0x65, + 0x66, 0x18, 0x95, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x50, + 0x72, 0x65, 0x66, 0x12, 0x56, 0x0a, 0x10, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x96, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, + 0x2e, 0x66, 0x6c, 0x6f, 0x77, 0x70, 0x62, 0x2e, 0x45, 0x6e, 0x72, 0x69, 0x63, 0x68, 0x65, 0x64, + 0x46, 0x6c, 0x6f, 0x77, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x79, 0x70, 0x65, 0x52, 0x10, 0x56, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x25, 0x0a, 0x0d, 0x52, + 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0xf2, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0a, 0x53, 0x72, 0x63, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, + 0x18, 0xf6, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x53, 0x72, 0x63, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0a, 0x44, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, + 0x79, 0x18, 0xf7, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x44, 0x73, 0x74, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x44, 0x0a, 0x0a, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, + 0x65, 0x64, 0x18, 0xea, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x66, 0x6c, 0x6f, 0x77, + 0x70, 0x62, 0x2e, 0x45, 0x6e, 0x72, 0x69, 0x63, 0x68, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x2e, + 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, + 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x09, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0xf1, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x52, 0x65, 0x6d, + 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x18, 0xf3, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, + 0x2e, 0x66, 0x6c, 0x6f, 0x77, 0x70, 0x62, 0x2e, 0x45, 0x6e, 0x72, 0x69, 0x63, 0x68, 0x65, 0x64, + 0x46, 0x6c, 0x6f, 0x77, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x54, + 0x79, 0x70, 0x65, 0x52, 0x0a, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x12, + 0x21, 0x0a, 0x0b, 0x53, 0x72, 0x63, 0x48, 0x6f, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x9c, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x53, 0x72, 0x63, 0x48, 0x6f, 0x73, 0x74, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x44, 0x73, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x9d, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x44, 0x73, 0x74, 0x48, 0x6f, 0x73, + 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x0f, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, + 0x48, 0x6f, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x9e, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0f, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x48, 0x6f, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x1d, 0x0a, 0x09, 0x53, 0x72, 0x63, 0x41, 0x53, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x9f, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x53, 0x72, 0x63, 0x41, 0x53, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x1d, 0x0a, 0x09, 0x44, 0x73, 0x74, 0x41, 0x53, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0xa0, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x44, 0x73, 0x74, 0x41, 0x53, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, + 0x0a, 0x0d, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x41, 0x53, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0xa1, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x41, + 0x53, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x0f, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, + 0x48, 0x6f, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0xa2, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0f, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x48, 0x6f, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x1d, 0x0a, 0x09, 0x53, 0x72, 0x63, 0x49, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0xeb, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x53, 0x72, 0x63, 0x49, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x1d, 0x0a, 0x09, 0x53, 0x72, 0x63, 0x49, 0x66, 0x44, 0x65, 0x73, 0x63, 0x18, 0xec, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x53, 0x72, 0x63, 0x49, 0x66, 0x44, 0x65, 0x73, 0x63, 0x12, 0x1f, + 0x0a, 0x0a, 0x53, 0x72, 0x63, 0x49, 0x66, 0x53, 0x70, 0x65, 0x65, 0x64, 0x18, 0xed, 0x07, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x53, 0x72, 0x63, 0x49, 0x66, 0x53, 0x70, 0x65, 0x65, 0x64, 0x12, + 0x1d, 0x0a, 0x09, 0x44, 0x73, 0x74, 0x49, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0xee, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x44, 0x73, 0x74, 0x49, 0x66, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, + 0x0a, 0x09, 0x44, 0x73, 0x74, 0x49, 0x66, 0x44, 0x65, 0x73, 0x63, 0x18, 0xef, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x44, 0x73, 0x74, 0x49, 0x66, 0x44, 0x65, 0x73, 0x63, 0x12, 0x1f, 0x0a, + 0x0a, 0x44, 0x73, 0x74, 0x49, 0x66, 0x53, 0x70, 0x65, 0x65, 0x64, 0x18, 0xf0, 0x07, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0a, 0x44, 0x73, 0x74, 0x49, 0x66, 0x53, 0x70, 0x65, 0x65, 0x64, 0x12, 0x13, + 0x0a, 0x04, 0x4e, 0x6f, 0x74, 0x65, 0x18, 0xf8, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, + 0x6f, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x08, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x50, 0x18, + 0x8a, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x50, + 0x12, 0x25, 0x0a, 0x0d, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x50, 0x18, 0x8b, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x50, 0x12, 0x1d, 0x0a, 0x09, 0x4e, 0x65, 0x78, 0x74, 0x48, + 0x6f, 0x70, 0x49, 0x50, 0x18, 0x8c, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4e, 0x65, 0x78, + 0x74, 0x48, 0x6f, 0x70, 0x49, 0x50, 0x12, 0x1d, 0x0a, 0x09, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, + 0x72, 0x49, 0x50, 0x18, 0x8d, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x53, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x72, 0x49, 0x50, 0x12, 0x1d, 0x0a, 0x09, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, + 0x41, 0x43, 0x18, 0x8e, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x4d, 0x41, 0x43, 0x12, 0x27, 0x0a, 0x0e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x41, 0x43, 0x18, 0x8f, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x44, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x41, 0x43, 0x22, 0x5d, 0x0a, + 0x08, 0x46, 0x6c, 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x4c, 0x4f, + 0x57, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x46, + 0x4c, 0x4f, 0x57, 0x5f, 0x35, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x45, 0x54, 0x46, 0x4c, + 0x4f, 0x57, 0x5f, 0x56, 0x35, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x45, 0x54, 0x46, 0x4c, + 0x4f, 0x57, 0x5f, 0x56, 0x39, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x49, 0x50, 0x46, 0x49, 0x58, + 0x10, 0x04, 0x12, 0x08, 0x0a, 0x04, 0x45, 0x42, 0x50, 0x46, 0x10, 0x05, 0x22, 0x32, 0x0a, 0x0e, + 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x11, + 0x0a, 0x0d, 0x4e, 0x6f, 0x74, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x10, + 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x50, 0x41, 0x4e, 0x10, 0x01, + 0x22, 0x49, 0x0a, 0x14, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x6e, 0x6b, 0x6e, + 0x6f, 0x77, 0x6e, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x01, + 0x12, 0x0c, 0x0a, 0x08, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0x02, 0x12, 0x0b, + 0x0a, 0x07, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x03, 0x22, 0x21, 0x0a, 0x0e, 0x4e, + 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x06, 0x0a, + 0x02, 0x4e, 0x6f, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x59, 0x65, 0x73, 0x10, 0x01, 0x22, 0x2f, + 0x0a, 0x0e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x0b, 0x0a, 0x07, 0x4e, 0x65, 0x69, 0x74, 0x68, 0x65, 0x72, 0x10, 0x00, 0x12, 0x07, 0x0a, + 0x03, 0x53, 0x72, 0x63, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x44, 0x73, 0x74, 0x10, 0x02, 0x42, + 0x27, 0x5a, 0x25, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x77, + 0x4e, 0x65, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x2f, 0x66, 0x6c, 0x6f, 0x77, 0x70, 0x69, 0x70, 0x65, + 0x6c, 0x69, 0x6e, 0x65, 0x2f, 0x70, 0x62, 0x3b, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( - file_pb_enrichedflow_proto_rawDescOnce sync.Once - file_pb_enrichedflow_proto_rawDescData = file_pb_enrichedflow_proto_rawDesc + file_enrichedflow_proto_rawDescOnce sync.Once + file_enrichedflow_proto_rawDescData = file_enrichedflow_proto_rawDesc ) -func file_pb_enrichedflow_proto_rawDescGZIP() []byte { - file_pb_enrichedflow_proto_rawDescOnce.Do(func() { - file_pb_enrichedflow_proto_rawDescData = protoimpl.X.CompressGZIP(file_pb_enrichedflow_proto_rawDescData) +func file_enrichedflow_proto_rawDescGZIP() []byte { + file_enrichedflow_proto_rawDescOnce.Do(func() { + file_enrichedflow_proto_rawDescData = protoimpl.X.CompressGZIP(file_enrichedflow_proto_rawDescData) }) - return file_pb_enrichedflow_proto_rawDescData + return file_enrichedflow_proto_rawDescData } -var file_pb_enrichedflow_proto_enumTypes = make([]protoimpl.EnumInfo, 5) -var file_pb_enrichedflow_proto_msgTypes = make([]protoimpl.MessageInfo, 1) -var file_pb_enrichedflow_proto_goTypes = []interface{}{ +var file_enrichedflow_proto_enumTypes = make([]protoimpl.EnumInfo, 5) +var file_enrichedflow_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_enrichedflow_proto_goTypes = []any{ (EnrichedFlow_FlowType)(0), // 0: flowpb.EnrichedFlow.FlowType (EnrichedFlow_AnonymizedType)(0), // 1: flowpb.EnrichedFlow.AnonymizedType (EnrichedFlow_ValidationStatusType)(0), // 2: flowpb.EnrichedFlow.ValidationStatusType @@ -1587,57 +1609,44 @@ var file_pb_enrichedflow_proto_goTypes = []interface{}{ (EnrichedFlow_RemoteAddrType)(0), // 4: flowpb.EnrichedFlow.RemoteAddrType (*EnrichedFlow)(nil), // 5: flowpb.EnrichedFlow } -var file_pb_enrichedflow_proto_depIdxs = []int32{ +var file_enrichedflow_proto_depIdxs = []int32{ 0, // 0: flowpb.EnrichedFlow.Type:type_name -> flowpb.EnrichedFlow.FlowType 1, // 1: flowpb.EnrichedFlow.SrcAddrAnon:type_name -> flowpb.EnrichedFlow.AnonymizedType 1, // 2: flowpb.EnrichedFlow.DstAddrAnon:type_name -> flowpb.EnrichedFlow.AnonymizedType 1, // 3: flowpb.EnrichedFlow.SamplerAddrAnon:type_name -> flowpb.EnrichedFlow.AnonymizedType - 2, // 4: flowpb.EnrichedFlow.ValidationStatus:type_name -> flowpb.EnrichedFlow.ValidationStatusType - 3, // 5: flowpb.EnrichedFlow.Normalized:type_name -> flowpb.EnrichedFlow.NormalizedType - 4, // 6: flowpb.EnrichedFlow.RemoteAddr:type_name -> flowpb.EnrichedFlow.RemoteAddrType - 7, // [7:7] is the sub-list for method output_type - 7, // [7:7] is the sub-list for method input_type - 7, // [7:7] is the sub-list for extension type_name - 7, // [7:7] is the sub-list for extension extendee - 0, // [0:7] is the sub-list for field type_name -} - -func init() { file_pb_enrichedflow_proto_init() } -func file_pb_enrichedflow_proto_init() { - if File_pb_enrichedflow_proto != nil { + 1, // 4: flowpb.EnrichedFlow.NextHopAnon:type_name -> flowpb.EnrichedFlow.AnonymizedType + 2, // 5: flowpb.EnrichedFlow.ValidationStatus:type_name -> flowpb.EnrichedFlow.ValidationStatusType + 3, // 6: flowpb.EnrichedFlow.Normalized:type_name -> flowpb.EnrichedFlow.NormalizedType + 4, // 7: flowpb.EnrichedFlow.RemoteAddr:type_name -> flowpb.EnrichedFlow.RemoteAddrType + 8, // [8:8] is the sub-list for method output_type + 8, // [8:8] is the sub-list for method input_type + 8, // [8:8] is the sub-list for extension type_name + 8, // [8:8] is the sub-list for extension extendee + 0, // [0:8] is the sub-list for field type_name +} + +func init() { file_enrichedflow_proto_init() } +func file_enrichedflow_proto_init() { + if File_enrichedflow_proto != nil { return } - if !protoimpl.UnsafeEnabled { - file_pb_enrichedflow_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EnrichedFlow); 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_pb_enrichedflow_proto_rawDesc, + RawDescriptor: file_enrichedflow_proto_rawDesc, NumEnums: 5, NumMessages: 1, NumExtensions: 0, NumServices: 0, }, - GoTypes: file_pb_enrichedflow_proto_goTypes, - DependencyIndexes: file_pb_enrichedflow_proto_depIdxs, - EnumInfos: file_pb_enrichedflow_proto_enumTypes, - MessageInfos: file_pb_enrichedflow_proto_msgTypes, + GoTypes: file_enrichedflow_proto_goTypes, + DependencyIndexes: file_enrichedflow_proto_depIdxs, + EnumInfos: file_enrichedflow_proto_enumTypes, + MessageInfos: file_enrichedflow_proto_msgTypes, }.Build() - File_pb_enrichedflow_proto = out.File - file_pb_enrichedflow_proto_rawDesc = nil - file_pb_enrichedflow_proto_goTypes = nil - file_pb_enrichedflow_proto_depIdxs = nil + File_enrichedflow_proto = out.File + file_enrichedflow_proto_rawDesc = nil + file_enrichedflow_proto_goTypes = nil + file_enrichedflow_proto_depIdxs = nil } diff --git a/pb/enrichedflow.proto b/pb/enrichedflow.proto index 705312d..10a902b 100644 --- a/pb/enrichedflow.proto +++ b/pb/enrichedflow.proto @@ -158,6 +158,9 @@ message EnrichedFlow { AnonymizedType SamplerAddrAnon = 1164; uint32 SamplerAddrAnonPreservedPrefixLen = 1165; + AnonymizedType NextHopAnon = 2166; + uint32 NextHopAnonPreservedPrefixLen = 2167; + // modify/bgp // as done by a number of Netflow implementations, these refer to the destination repeated uint32 ASPath = 1171; diff --git a/segments/modify/anonymize/anonymize.go b/segments/modify/anonymize/anonymize.go index 13a3d98..618d818 100644 --- a/segments/modify/anonymize/anonymize.go +++ b/segments/modify/anonymize/anonymize.go @@ -77,21 +77,25 @@ func (segment *Anonymize) Run(wg *sync.WaitGroup) { continue } msg.SrcAddr = segment.anonymizer.Anonymize(msg.SrcAddr) + msg.SrcAddrAnon = 1 case "DstAddr": if msg.DstAddrObj() == nil { continue } msg.DstAddr = segment.anonymizer.Anonymize(msg.DstAddr) + msg.DstAddrAnon = 1 case "SamplerAddress": if msg.SamplerAddressObj() == nil { continue } msg.SamplerAddress = segment.anonymizer.Anonymize(msg.SamplerAddress) + msg.SamplerAddrAnon = 1 case "NextHop": if msg.NextHopObj() == nil { continue } msg.NextHop = segment.anonymizer.Anonymize(msg.NextHop) + msg.NextHopAnon = 1 } } segment.Out <- msg