diff --git a/README.md b/README.md index e65d06d..12f8e3b 100644 --- a/README.md +++ b/README.md @@ -170,13 +170,13 @@ Represents oboe setting message | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| type | [OboeSettingType](#collector-OboeSettingType) | | oboe setting type struct, always DEFAULT_SAMPLE_RATE | +| type | [OboeSettingType](#collector-OboeSettingType) | | **Deprecated.** oboe setting type struct, always DEFAULT_SAMPLE_RATE | | flags | [bytes](#bytes) | | flags where { OK=0x0, INVALID=0x1, OVERRIDE=0x2, SAMPLE_START=0x4, SAMPLE_THROUGH=0x8, SAMPLE_THROUGH_ALWAYS=0x10, TRIGGERED_TRACE=0x20 }. e.g. 54 means OK or OVERRIDE or SAMPLE_START or SAMPLE_THROUGH_ALWAYS or TRIGGERED_TRACE | | timestamp | [int64](#int64) | | Epoch timestamp | | value | [int64](#int64) | | Sampling rate, 1000000 means 100% | -| layer | [bytes](#bytes) | | layer name, not set since type is always DEFAULT_SAMPLE_RATE | +| layer | [bytes](#bytes) | | **Deprecated.** layer name, not set since type is always DEFAULT_SAMPLE_RATE | | arguments | [OboeSetting.ArgumentsEntry](#collector-OboeSetting-ArgumentsEntry) | repeated | key-value pairs. Keys can be [`BucketCapacity`, `BucketRate`, `TriggerRelaxedBucketCapacity`, `TriggerRelaxedBucketRate`, `TriggerStrictBucketCapacity`, `TriggerStrictBucketRate`, `SignatureKey`] | -| ttl | [int64](#int64) | | time to live for this setting struct | +| ttl | [int64](#int64) | | time to live for this setting struct, in seconds | diff --git a/collector.proto b/collector.proto index 6bcdf23..98126ed 100644 --- a/collector.proto +++ b/collector.proto @@ -111,13 +111,13 @@ enum OboeSettingType { * Represents oboe setting message */ message OboeSetting { - OboeSettingType type = 1; // oboe setting type struct, always DEFAULT_SAMPLE_RATE + OboeSettingType type = 1 [deprecated = true]; // oboe setting type struct, always DEFAULT_SAMPLE_RATE bytes flags = 2; // flags where { OK=0x0, INVALID=0x1, OVERRIDE=0x2, SAMPLE_START=0x4, SAMPLE_THROUGH=0x8, SAMPLE_THROUGH_ALWAYS=0x10, TRIGGERED_TRACE=0x20 }. e.g. 54 means OK or OVERRIDE or SAMPLE_START or SAMPLE_THROUGH_ALWAYS or TRIGGERED_TRACE int64 timestamp = 3; // Epoch timestamp int64 value = 4; // Sampling rate, 1000000 means 100% - bytes layer = 5; // layer name, not set since type is always DEFAULT_SAMPLE_RATE + bytes layer = 5 [deprecated = true]; // layer name, not set since type is always DEFAULT_SAMPLE_RATE map arguments = 7; // key-value pairs. Keys can be [`BucketCapacity`, `BucketRate`, `TriggerRelaxedBucketCapacity`, `TriggerRelaxedBucketRate`, `TriggerStrictBucketCapacity`, `TriggerStrictBucketRate`, `SignatureKey`] - int64 ttl = 8; // time to live for this setting struct + int64 ttl = 8; // time to live for this setting struct, in seconds } /** diff --git a/cpp/collector.pb.cc b/cpp/collector.pb.cc index b24d327..ed93991 100644 --- a/cpp/collector.pb.cc +++ b/cpp/collector.pb.cc @@ -399,48 +399,48 @@ const char descriptor_table_protodef_collector_2eproto[] PROTOBUF_SECTION_VARIAB "\022\024\n\014uamsClientID\030\014 \001(\t\022#\n\013awsMetadata\030\r " "\001(\0132\016.collector.Aws\022\'\n\razureMetadata\030\016 \001" "(\0132\020.collector.Azure\022#\n\013k8sMetadata\030\017 \001(" - "\0132\016.collector.K8s\"\360\001\n\013OboeSetting\022(\n\004typ" - "e\030\001 \001(\0162\032.collector.OboeSettingType\022\r\n\005f" - "lags\030\002 \001(\014\022\021\n\ttimestamp\030\003 \001(\003\022\r\n\005value\030\004" - " \001(\003\022\r\n\005layer\030\005 \001(\014\0228\n\targuments\030\007 \003(\0132%" - ".collector.OboeSetting.ArgumentsEntry\022\013\n" - "\003ttl\030\010 \001(\003\0320\n\016ArgumentsEntry\022\013\n\003key\030\001 \001(" - "\t\022\r\n\005value\030\002 \001(\014:\0028\001\"\203\001\n\016MessageRequest\022" - "\017\n\007api_key\030\001 \001(\t\022\020\n\010messages\030\002 \003(\014\022)\n\010en" - "coding\030\003 \001(\0162\027.collector.EncodingType\022#\n" - "\010identity\030\004 \001(\0132\021.collector.HostID\"T\n\rMe" - "ssageResult\022%\n\006result\030\001 \001(\0162\025.collector." - "ResultCode\022\013\n\003arg\030\002 \001(\t\022\017\n\007warning\030\004 \001(\t" - "\"^\n\017SettingsRequest\022\017\n\007api_key\030\001 \001(\t\022#\n\010" - "identity\030\002 \001(\0132\021.collector.HostID\022\025\n\rcli" - "entVersion\030\003 \001(\t\"\177\n\016SettingsResult\022%\n\006re" - "sult\030\001 \001(\0162\025.collector.ResultCode\022\013\n\003arg" - "\030\002 \001(\t\022(\n\010settings\030\003 \003(\0132\026.collector.Obo" - "eSetting\022\017\n\007warning\030\004 \001(\t\"\036\n\013PingRequest" - "\022\017\n\007api_key\030\001 \001(\t*Z\n\nResultCode\022\006\n\002OK\020\000\022" - "\r\n\tTRY_LATER\020\001\022\023\n\017INVALID_API_KEY\020\002\022\022\n\016L" - "IMIT_EXCEEDED\020\003\022\014\n\010REDIRECT\020\004*&\n\014Encodin" - "gType\022\010\n\004BSON\020\000\022\014\n\010PROTOBUF\020\001**\n\010HostTyp" - "e\022\016\n\nPERSISTENT\020\000\022\016\n\nAWS_LAMBDA\020\001*\237\001\n\017Ob" - "oeSettingType\022\027\n\023DEFAULT_SAMPLE_RATE\020\000\022\025" - "\n\021LAYER_SAMPLE_RATE\020\001\022\031\n\025LAYER_APP_SAMPL" - "E_RATE\020\002\022\036\n\032LAYER_HTTPHOST_SAMPLE_RATE\020\003" - "\022\021\n\rCONFIG_STRING\020\004\022\016\n\nCONFIG_INT\020\0052\344\002\n\016" - "TraceCollector\022C\n\npostEvents\022\031.collector" - ".MessageRequest\032\030.collector.MessageResul" - "t\"\000\022D\n\013postMetrics\022\031.collector.MessageRe" - "quest\032\030.collector.MessageResult\"\000\022C\n\npos" - "tStatus\022\031.collector.MessageRequest\032\030.col" - "lector.MessageResult\"\000\022F\n\013getSettings\022\032." - "collector.SettingsRequest\032\031.collector.Se" - "ttingsResult\"\000\022:\n\004ping\022\026.collector.PingR" - "equest\032\030.collector.MessageResult\"\000B5\n$co" - "m.solarwinds.trace.ingestion.protoZ\r./co" - "llectorpbb\006proto3" + "\0132\016.collector.K8s\"\370\001\n\013OboeSetting\022,\n\004typ" + "e\030\001 \001(\0162\032.collector.OboeSettingTypeB\002\030\001\022" + "\r\n\005flags\030\002 \001(\014\022\021\n\ttimestamp\030\003 \001(\003\022\r\n\005val" + "ue\030\004 \001(\003\022\021\n\005layer\030\005 \001(\014B\002\030\001\0228\n\targuments" + "\030\007 \003(\0132%.collector.OboeSetting.Arguments" + "Entry\022\013\n\003ttl\030\010 \001(\003\0320\n\016ArgumentsEntry\022\013\n\003" + "key\030\001 \001(\t\022\r\n\005value\030\002 \001(\014:\0028\001\"\203\001\n\016Message" + "Request\022\017\n\007api_key\030\001 \001(\t\022\020\n\010messages\030\002 \003" + "(\014\022)\n\010encoding\030\003 \001(\0162\027.collector.Encodin" + "gType\022#\n\010identity\030\004 \001(\0132\021.collector.Host" + "ID\"T\n\rMessageResult\022%\n\006result\030\001 \001(\0162\025.co" + "llector.ResultCode\022\013\n\003arg\030\002 \001(\t\022\017\n\007warni" + "ng\030\004 \001(\t\"^\n\017SettingsRequest\022\017\n\007api_key\030\001" + " \001(\t\022#\n\010identity\030\002 \001(\0132\021.collector.HostI" + "D\022\025\n\rclientVersion\030\003 \001(\t\"\177\n\016SettingsResu" + "lt\022%\n\006result\030\001 \001(\0162\025.collector.ResultCod" + "e\022\013\n\003arg\030\002 \001(\t\022(\n\010settings\030\003 \003(\0132\026.colle" + "ctor.OboeSetting\022\017\n\007warning\030\004 \001(\t\"\036\n\013Pin" + "gRequest\022\017\n\007api_key\030\001 \001(\t*Z\n\nResultCode\022" + "\006\n\002OK\020\000\022\r\n\tTRY_LATER\020\001\022\023\n\017INVALID_API_KE" + "Y\020\002\022\022\n\016LIMIT_EXCEEDED\020\003\022\014\n\010REDIRECT\020\004*&\n" + "\014EncodingType\022\010\n\004BSON\020\000\022\014\n\010PROTOBUF\020\001**\n" + "\010HostType\022\016\n\nPERSISTENT\020\000\022\016\n\nAWS_LAMBDA\020" + "\001*\237\001\n\017OboeSettingType\022\027\n\023DEFAULT_SAMPLE_" + "RATE\020\000\022\025\n\021LAYER_SAMPLE_RATE\020\001\022\031\n\025LAYER_A" + "PP_SAMPLE_RATE\020\002\022\036\n\032LAYER_HTTPHOST_SAMPL" + "E_RATE\020\003\022\021\n\rCONFIG_STRING\020\004\022\016\n\nCONFIG_IN" + "T\020\0052\344\002\n\016TraceCollector\022C\n\npostEvents\022\031.c" + "ollector.MessageRequest\032\030.collector.Mess" + "ageResult\"\000\022D\n\013postMetrics\022\031.collector.M" + "essageRequest\032\030.collector.MessageResult\"" + "\000\022C\n\npostStatus\022\031.collector.MessageReque" + "st\032\030.collector.MessageResult\"\000\022F\n\013getSet" + "tings\022\032.collector.SettingsRequest\032\031.coll" + "ector.SettingsResult\"\000\022:\n\004ping\022\026.collect" + "or.PingRequest\032\030.collector.MessageResult" + "\"\000B5\n$com.solarwinds.trace.ingestion.pro" + "toZ\r./collectorpbb\006proto3" ; static ::_pbi::once_flag descriptor_table_collector_2eproto_once; const ::_pbi::DescriptorTable descriptor_table_collector_2eproto = { - false, false, 2417, descriptor_table_protodef_collector_2eproto, + false, false, 2425, descriptor_table_protodef_collector_2eproto, "collector.proto", &descriptor_table_collector_2eproto_once, nullptr, 0, 11, schemas, file_default_instances, TableStruct_collector_2eproto::offsets, @@ -3031,7 +3031,7 @@ const char* OboeSetting::_InternalParse(const char* ptr, ::_pbi::ParseContext* c uint32_t tag; ptr = ::_pbi::ReadTag(ptr, &tag); switch (tag >> 3) { - // .collector.OboeSettingType type = 1; + // .collector.OboeSettingType type = 1 [deprecated = true]; case 1: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 8)) { uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); @@ -3065,7 +3065,7 @@ const char* OboeSetting::_InternalParse(const char* ptr, ::_pbi::ParseContext* c } else goto handle_unusual; continue; - // bytes layer = 5; + // bytes layer = 5 [deprecated = true]; case 5: if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 42)) { auto str = _internal_mutable_layer(); @@ -3124,7 +3124,7 @@ uint8_t* OboeSetting::_InternalSerialize( uint32_t cached_has_bits = 0; (void) cached_has_bits; - // .collector.OboeSettingType type = 1; + // .collector.OboeSettingType type = 1 [deprecated = true]; if (this->_internal_type() != 0) { target = stream->EnsureSpace(target); target = ::_pbi::WireFormatLite::WriteEnumToArray( @@ -3149,7 +3149,7 @@ uint8_t* OboeSetting::_InternalSerialize( target = ::_pbi::WireFormatLite::WriteInt64ToArray(4, this->_internal_value(), target); } - // bytes layer = 5; + // bytes layer = 5 [deprecated = true]; if (!this->_internal_layer().empty()) { target = stream->WriteBytesMaybeAliased( 5, this->_internal_layer(), target); @@ -3219,7 +3219,7 @@ size_t OboeSetting::ByteSizeLong() const { this->_internal_flags()); } - // bytes layer = 5; + // bytes layer = 5 [deprecated = true]; if (!this->_internal_layer().empty()) { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize( @@ -3241,7 +3241,7 @@ size_t OboeSetting::ByteSizeLong() const { total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(this->_internal_ttl()); } - // .collector.OboeSettingType type = 1; + // .collector.OboeSettingType type = 1 [deprecated = true]; if (this->_internal_type() != 0) { total_size += 1 + ::_pbi::WireFormatLite::EnumSize(this->_internal_type()); diff --git a/cpp/collector.pb.h b/cpp/collector.pb.h index f788d8e..f42754c 100644 --- a/cpp/collector.pb.h +++ b/cpp/collector.pb.h @@ -1558,14 +1558,14 @@ class OboeSetting final : std::string* _internal_mutable_flags(); public: - // bytes layer = 5; - void clear_layer(); - const std::string& layer() const; + // bytes layer = 5 [deprecated = true]; + PROTOBUF_DEPRECATED void clear_layer(); + PROTOBUF_DEPRECATED const std::string& layer() const; template - void set_layer(ArgT0&& arg0, ArgT... args); - std::string* mutable_layer(); - PROTOBUF_NODISCARD std::string* release_layer(); - void set_allocated_layer(std::string* layer); + PROTOBUF_DEPRECATED void set_layer(ArgT0&& arg0, ArgT... args); + PROTOBUF_DEPRECATED std::string* mutable_layer(); + PROTOBUF_NODISCARD PROTOBUF_DEPRECATED std::string* release_layer(); + PROTOBUF_DEPRECATED void set_allocated_layer(std::string* layer); private: const std::string& _internal_layer() const; inline PROTOBUF_ALWAYS_INLINE void _internal_set_layer(const std::string& value); @@ -1599,10 +1599,10 @@ class OboeSetting final : void _internal_set_ttl(int64_t value); public: - // .collector.OboeSettingType type = 1; - void clear_type(); - ::collector::OboeSettingType type() const; - void set_type(::collector::OboeSettingType value); + // .collector.OboeSettingType type = 1 [deprecated = true]; + PROTOBUF_DEPRECATED void clear_type(); + PROTOBUF_DEPRECATED ::collector::OboeSettingType type() const; + PROTOBUF_DEPRECATED void set_type(::collector::OboeSettingType value); private: ::collector::OboeSettingType _internal_type() const; void _internal_set_type(::collector::OboeSettingType value); @@ -4553,7 +4553,7 @@ inline void HostID::set_allocated_k8smetadata(::collector::K8s* k8smetadata) { // OboeSetting -// .collector.OboeSettingType type = 1; +// .collector.OboeSettingType type = 1 [deprecated = true]; inline void OboeSetting::clear_type() { _impl_.type_ = 0; } @@ -4663,7 +4663,7 @@ inline void OboeSetting::set_value(int64_t value) { // @@protoc_insertion_point(field_set:collector.OboeSetting.value) } -// bytes layer = 5; +// bytes layer = 5 [deprecated = true]; inline void OboeSetting::clear_layer() { _impl_.layer_.ClearToEmpty(); } diff --git a/go/collectorpb/collector.pb.go b/go/collectorpb/collector.pb.go index 650d332..f6e53e6 100644 --- a/go/collectorpb/collector.pb.go +++ b/go/collectorpb/collector.pb.go @@ -703,13 +703,15 @@ type OboeSetting struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Type OboeSettingType `protobuf:"varint,1,opt,name=type,proto3,enum=collector.OboeSettingType" json:"type,omitempty"` // oboe setting type struct, always DEFAULT_SAMPLE_RATE - Flags []byte `protobuf:"bytes,2,opt,name=flags,proto3" json:"flags,omitempty"` // flags where { OK=0x0, INVALID=0x1, OVERRIDE=0x2, SAMPLE_START=0x4, SAMPLE_THROUGH=0x8, SAMPLE_THROUGH_ALWAYS=0x10, TRIGGERED_TRACE=0x20 }. e.g. 54 means OK or OVERRIDE or SAMPLE_START or SAMPLE_THROUGH_ALWAYS or TRIGGERED_TRACE - Timestamp int64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Epoch timestamp - Value int64 `protobuf:"varint,4,opt,name=value,proto3" json:"value,omitempty"` // Sampling rate, 1000000 means 100% + // Deprecated: Do not use. + Type OboeSettingType `protobuf:"varint,1,opt,name=type,proto3,enum=collector.OboeSettingType" json:"type,omitempty"` // oboe setting type struct, always DEFAULT_SAMPLE_RATE + Flags []byte `protobuf:"bytes,2,opt,name=flags,proto3" json:"flags,omitempty"` // flags where { OK=0x0, INVALID=0x1, OVERRIDE=0x2, SAMPLE_START=0x4, SAMPLE_THROUGH=0x8, SAMPLE_THROUGH_ALWAYS=0x10, TRIGGERED_TRACE=0x20 }. e.g. 54 means OK or OVERRIDE or SAMPLE_START or SAMPLE_THROUGH_ALWAYS or TRIGGERED_TRACE + Timestamp int64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Epoch timestamp + Value int64 `protobuf:"varint,4,opt,name=value,proto3" json:"value,omitempty"` // Sampling rate, 1000000 means 100% + // Deprecated: Do not use. Layer []byte `protobuf:"bytes,5,opt,name=layer,proto3" json:"layer,omitempty"` // layer name, not set since type is always DEFAULT_SAMPLE_RATE Arguments map[string][]byte `protobuf:"bytes,7,rep,name=arguments,proto3" json:"arguments,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // key-value pairs. Keys can be [`BucketCapacity`, `BucketRate`, `TriggerRelaxedBucketCapacity`, `TriggerRelaxedBucketRate`, `TriggerStrictBucketCapacity`, `TriggerStrictBucketRate`, `SignatureKey`] - Ttl int64 `protobuf:"varint,8,opt,name=ttl,proto3" json:"ttl,omitempty"` // time to live for this setting struct + Ttl int64 `protobuf:"varint,8,opt,name=ttl,proto3" json:"ttl,omitempty"` // time to live for this setting struct, in seconds } func (x *OboeSetting) Reset() { @@ -744,6 +746,7 @@ func (*OboeSetting) Descriptor() ([]byte, []int) { return file_collector_proto_rawDescGZIP(), []int{4} } +// Deprecated: Do not use. func (x *OboeSetting) GetType() OboeSettingType { if x != nil { return x.Type @@ -772,6 +775,7 @@ func (x *OboeSetting) GetValue() int64 { return 0 } +// Deprecated: Do not use. func (x *OboeSetting) GetLayer() []byte { if x != nil { return x.Layer @@ -1211,112 +1215,112 @@ var file_collector_proto_rawDesc = []byte{ 0x12, 0x30, 0x0a, 0x0b, 0x6b, 0x38, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4b, 0x38, 0x73, 0x52, 0x0b, 0x6b, 0x38, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x22, 0xb2, 0x02, 0x0a, 0x0b, 0x4f, 0x62, 0x6f, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, + 0x74, 0x61, 0x22, 0xba, 0x02, 0x0a, 0x0b, 0x4f, 0x62, 0x6f, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x12, 0x32, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4f, 0x62, 0x6f, - 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x12, 0x43, 0x0a, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, - 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x2e, 0x4f, 0x62, 0x6f, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x41, 0x72, - 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x61, 0x72, - 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x1a, 0x3c, 0x0a, 0x0e, 0x41, 0x72, 0x67, - 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa9, 0x01, 0x0a, 0x0e, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x70, - 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x70, 0x69, - 0x4b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, - 0x33, 0x0a, 0x08, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x17, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x45, 0x6e, - 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x65, 0x6e, 0x63, 0x6f, - 0x64, 0x69, 0x6e, 0x67, 0x12, 0x2d, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x49, 0x44, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x22, 0x6a, 0x0a, 0x0d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2d, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, - 0x7f, 0x0a, 0x0f, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x42, 0x02, 0x18, 0x01, + 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1c, 0x0a, 0x09, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x12, 0x18, 0x0a, 0x05, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x42, + 0x02, 0x18, 0x01, 0x52, 0x05, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x43, 0x0a, 0x09, 0x61, 0x72, + 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, + 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4f, 0x62, 0x6f, 0x65, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, + 0x10, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x74, 0x74, + 0x6c, 0x1a, 0x3c, 0x0a, 0x0e, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, + 0xa9, 0x01, 0x0a, 0x0e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x08, 0x69, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, - 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x49, 0x44, - 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x22, 0x9f, 0x01, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x12, 0x2d, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x61, 0x72, 0x67, 0x12, 0x32, 0x0a, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x2e, 0x4f, 0x62, 0x6f, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x08, - 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x22, 0x26, 0x0a, 0x0b, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x70, 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x2a, 0x5a, 0x0a, 0x0a, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x06, 0x0a, 0x02, 0x4f, 0x4b, 0x10, 0x00, - 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x52, 0x59, 0x5f, 0x4c, 0x41, 0x54, 0x45, 0x52, 0x10, 0x01, 0x12, - 0x13, 0x0a, 0x0f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x4b, - 0x45, 0x59, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x45, 0x58, - 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x45, 0x44, 0x49, - 0x52, 0x45, 0x43, 0x54, 0x10, 0x04, 0x2a, 0x26, 0x0a, 0x0c, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, - 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x53, 0x4f, 0x4e, 0x10, 0x00, - 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x42, 0x55, 0x46, 0x10, 0x01, 0x2a, 0x2a, - 0x0a, 0x08, 0x48, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x45, - 0x52, 0x53, 0x49, 0x53, 0x54, 0x45, 0x4e, 0x54, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x41, 0x57, - 0x53, 0x5f, 0x4c, 0x41, 0x4d, 0x42, 0x44, 0x41, 0x10, 0x01, 0x2a, 0x9f, 0x01, 0x0a, 0x0f, 0x4f, - 0x62, 0x6f, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, - 0x0a, 0x13, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, - 0x5f, 0x52, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x4c, 0x41, 0x59, 0x45, 0x52, - 0x5f, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x52, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x19, - 0x0a, 0x15, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x41, 0x50, 0x50, 0x5f, 0x53, 0x41, 0x4d, 0x50, - 0x4c, 0x45, 0x5f, 0x52, 0x41, 0x54, 0x45, 0x10, 0x02, 0x12, 0x1e, 0x0a, 0x1a, 0x4c, 0x41, 0x59, - 0x45, 0x52, 0x5f, 0x48, 0x54, 0x54, 0x50, 0x48, 0x4f, 0x53, 0x54, 0x5f, 0x53, 0x41, 0x4d, 0x50, - 0x4c, 0x45, 0x5f, 0x52, 0x41, 0x54, 0x45, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x4f, 0x4e, - 0x46, 0x49, 0x47, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, - 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x49, 0x4e, 0x54, 0x10, 0x05, 0x32, 0xe4, 0x02, 0x0a, - 0x0e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, - 0x43, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x19, 0x2e, - 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x72, - 0x69, 0x63, 0x73, 0x12, 0x19, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, - 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x0a, 0x70, 0x6f, - 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x19, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, - 0x46, 0x0a, 0x0b, 0x67, 0x65, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1a, - 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x63, 0x6f, 0x6c, - 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, 0x3a, 0x0a, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x12, - 0x16, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x50, 0x69, 0x6e, 0x67, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x22, 0x00, 0x42, 0x35, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x6f, 0x6c, 0x61, 0x72, - 0x77, 0x69, 0x6e, 0x64, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x69, 0x6e, 0x67, 0x65, - 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x5a, 0x0d, 0x2e, 0x2f, 0x63, - 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x08, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x33, 0x0a, 0x08, 0x65, 0x6e, 0x63, 0x6f, 0x64, + 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x08, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x2d, 0x0a, 0x08, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, + 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x49, + 0x44, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x6a, 0x0a, 0x0d, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2d, 0x0a, 0x06, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x63, + 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, + 0x6f, 0x64, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x61, + 0x72, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, 0x18, 0x0a, + 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x7f, 0x0a, 0x0f, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x70, + 0x69, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x70, 0x69, + 0x4b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x49, 0x44, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x9f, 0x01, 0x0a, 0x0e, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2d, 0x0a, 0x06, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x63, 0x6f, + 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, + 0x64, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x72, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, 0x32, 0x0a, 0x08, + 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, + 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4f, 0x62, 0x6f, 0x65, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, + 0x12, 0x18, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x26, 0x0a, 0x0b, 0x50, 0x69, + 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x70, 0x69, + 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x70, 0x69, 0x4b, + 0x65, 0x79, 0x2a, 0x5a, 0x0a, 0x0a, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, + 0x12, 0x06, 0x0a, 0x02, 0x4f, 0x4b, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x52, 0x59, 0x5f, + 0x4c, 0x41, 0x54, 0x45, 0x52, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x4e, 0x56, 0x41, 0x4c, + 0x49, 0x44, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x4b, 0x45, 0x59, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, + 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x03, + 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x45, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x10, 0x04, 0x2a, 0x26, + 0x0a, 0x0c, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, + 0x0a, 0x04, 0x42, 0x53, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x52, 0x4f, 0x54, + 0x4f, 0x42, 0x55, 0x46, 0x10, 0x01, 0x2a, 0x2a, 0x0a, 0x08, 0x48, 0x6f, 0x73, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x45, 0x52, 0x53, 0x49, 0x53, 0x54, 0x45, 0x4e, 0x54, + 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x41, 0x57, 0x53, 0x5f, 0x4c, 0x41, 0x4d, 0x42, 0x44, 0x41, + 0x10, 0x01, 0x2a, 0x9f, 0x01, 0x0a, 0x0f, 0x4f, 0x62, 0x6f, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, + 0x54, 0x5f, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x52, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, + 0x15, 0x0a, 0x11, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, + 0x52, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, + 0x41, 0x50, 0x50, 0x5f, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x52, 0x41, 0x54, 0x45, 0x10, + 0x02, 0x12, 0x1e, 0x0a, 0x1a, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x48, 0x54, 0x54, 0x50, 0x48, + 0x4f, 0x53, 0x54, 0x5f, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x5f, 0x52, 0x41, 0x54, 0x45, 0x10, + 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x53, 0x54, 0x52, 0x49, + 0x4e, 0x47, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x49, + 0x4e, 0x54, 0x10, 0x05, 0x32, 0xe4, 0x02, 0x0a, 0x0e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x43, 0x6f, + 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x43, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x74, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x19, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x18, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x0b, + 0x70, 0x6f, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x19, 0x2e, 0x63, 0x6f, + 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x22, 0x00, 0x12, 0x43, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x19, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x63, 0x6f, + 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, 0x46, 0x0a, 0x0b, 0x67, 0x65, 0x74, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1a, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, + 0x3a, 0x0a, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x18, 0x2e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x42, 0x35, 0x0a, 0x24, 0x63, + 0x6f, 0x6d, 0x2e, 0x73, 0x6f, 0x6c, 0x61, 0x72, 0x77, 0x69, 0x6e, 0x64, 0x73, 0x2e, 0x74, 0x72, + 0x61, 0x63, 0x65, 0x2e, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x5a, 0x0d, 0x2e, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var (