github.com/thanos-io/thanos@v0.32.5/pkg/store/storepb/rpc.pb.go (about)

     1  // Code generated by protoc-gen-gogo. DO NOT EDIT.
     2  // source: store/storepb/rpc.proto
     3  
     4  package storepb
     5  
     6  import (
     7  	context "context"
     8  	fmt "fmt"
     9  	io "io"
    10  	math "math"
    11  	math_bits "math/bits"
    12  
    13  	_ "github.com/gogo/protobuf/gogoproto"
    14  	proto "github.com/gogo/protobuf/proto"
    15  	types "github.com/gogo/protobuf/types"
    16  	github_com_thanos_io_thanos_pkg_store_labelpb "github.com/thanos-io/thanos/pkg/store/labelpb"
    17  	labelpb "github.com/thanos-io/thanos/pkg/store/labelpb"
    18  	prompb "github.com/thanos-io/thanos/pkg/store/storepb/prompb"
    19  	grpc "google.golang.org/grpc"
    20  	codes "google.golang.org/grpc/codes"
    21  	status "google.golang.org/grpc/status"
    22  )
    23  
    24  // Reference imports to suppress errors if they are not otherwise used.
    25  var _ = proto.Marshal
    26  var _ = fmt.Errorf
    27  var _ = math.Inf
    28  
    29  // This is a compile-time assertion to ensure that this generated file
    30  // is compatible with the proto package it is being compiled against.
    31  // A compilation error at this line likely means your copy of the
    32  // proto package needs to be updated.
    33  const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
    34  
    35  // Deprecated. Use `thanos.info` instead.
    36  type StoreType int32
    37  
    38  const (
    39  	StoreType_UNKNOWN StoreType = 0
    40  	StoreType_QUERY   StoreType = 1
    41  	StoreType_RULE    StoreType = 2
    42  	StoreType_SIDECAR StoreType = 3
    43  	StoreType_STORE   StoreType = 4
    44  	StoreType_RECEIVE StoreType = 5
    45  	// DEBUG represents some debug StoreAPI components e.g. thanos tools store-api-serve.
    46  	StoreType_DEBUG StoreType = 6
    47  )
    48  
    49  var StoreType_name = map[int32]string{
    50  	0: "UNKNOWN",
    51  	1: "QUERY",
    52  	2: "RULE",
    53  	3: "SIDECAR",
    54  	4: "STORE",
    55  	5: "RECEIVE",
    56  	6: "DEBUG",
    57  }
    58  
    59  var StoreType_value = map[string]int32{
    60  	"UNKNOWN": 0,
    61  	"QUERY":   1,
    62  	"RULE":    2,
    63  	"SIDECAR": 3,
    64  	"STORE":   4,
    65  	"RECEIVE": 5,
    66  	"DEBUG":   6,
    67  }
    68  
    69  func (x StoreType) String() string {
    70  	return proto.EnumName(StoreType_name, int32(x))
    71  }
    72  
    73  func (StoreType) EnumDescriptor() ([]byte, []int) {
    74  	return fileDescriptor_a938d55a388af629, []int{0}
    75  }
    76  
    77  type Aggr int32
    78  
    79  const (
    80  	Aggr_RAW     Aggr = 0
    81  	Aggr_COUNT   Aggr = 1
    82  	Aggr_SUM     Aggr = 2
    83  	Aggr_MIN     Aggr = 3
    84  	Aggr_MAX     Aggr = 4
    85  	Aggr_COUNTER Aggr = 5
    86  )
    87  
    88  var Aggr_name = map[int32]string{
    89  	0: "RAW",
    90  	1: "COUNT",
    91  	2: "SUM",
    92  	3: "MIN",
    93  	4: "MAX",
    94  	5: "COUNTER",
    95  }
    96  
    97  var Aggr_value = map[string]int32{
    98  	"RAW":     0,
    99  	"COUNT":   1,
   100  	"SUM":     2,
   101  	"MIN":     3,
   102  	"MAX":     4,
   103  	"COUNTER": 5,
   104  }
   105  
   106  func (x Aggr) String() string {
   107  	return proto.EnumName(Aggr_name, int32(x))
   108  }
   109  
   110  func (Aggr) EnumDescriptor() ([]byte, []int) {
   111  	return fileDescriptor_a938d55a388af629, []int{1}
   112  }
   113  
   114  type WriteResponse struct {
   115  }
   116  
   117  func (m *WriteResponse) Reset()         { *m = WriteResponse{} }
   118  func (m *WriteResponse) String() string { return proto.CompactTextString(m) }
   119  func (*WriteResponse) ProtoMessage()    {}
   120  func (*WriteResponse) Descriptor() ([]byte, []int) {
   121  	return fileDescriptor_a938d55a388af629, []int{0}
   122  }
   123  func (m *WriteResponse) XXX_Unmarshal(b []byte) error {
   124  	return m.Unmarshal(b)
   125  }
   126  func (m *WriteResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   127  	if deterministic {
   128  		return xxx_messageInfo_WriteResponse.Marshal(b, m, deterministic)
   129  	} else {
   130  		b = b[:cap(b)]
   131  		n, err := m.MarshalToSizedBuffer(b)
   132  		if err != nil {
   133  			return nil, err
   134  		}
   135  		return b[:n], nil
   136  	}
   137  }
   138  func (m *WriteResponse) XXX_Merge(src proto.Message) {
   139  	xxx_messageInfo_WriteResponse.Merge(m, src)
   140  }
   141  func (m *WriteResponse) XXX_Size() int {
   142  	return m.Size()
   143  }
   144  func (m *WriteResponse) XXX_DiscardUnknown() {
   145  	xxx_messageInfo_WriteResponse.DiscardUnknown(m)
   146  }
   147  
   148  var xxx_messageInfo_WriteResponse proto.InternalMessageInfo
   149  
   150  type WriteRequest struct {
   151  	Timeseries []prompb.TimeSeries `protobuf:"bytes,1,rep,name=timeseries,proto3" json:"timeseries"`
   152  	Tenant     string              `protobuf:"bytes,2,opt,name=tenant,proto3" json:"tenant,omitempty"`
   153  	Replica    int64               `protobuf:"varint,3,opt,name=replica,proto3" json:"replica,omitempty"`
   154  }
   155  
   156  func (m *WriteRequest) Reset()         { *m = WriteRequest{} }
   157  func (m *WriteRequest) String() string { return proto.CompactTextString(m) }
   158  func (*WriteRequest) ProtoMessage()    {}
   159  func (*WriteRequest) Descriptor() ([]byte, []int) {
   160  	return fileDescriptor_a938d55a388af629, []int{1}
   161  }
   162  func (m *WriteRequest) XXX_Unmarshal(b []byte) error {
   163  	return m.Unmarshal(b)
   164  }
   165  func (m *WriteRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   166  	if deterministic {
   167  		return xxx_messageInfo_WriteRequest.Marshal(b, m, deterministic)
   168  	} else {
   169  		b = b[:cap(b)]
   170  		n, err := m.MarshalToSizedBuffer(b)
   171  		if err != nil {
   172  			return nil, err
   173  		}
   174  		return b[:n], nil
   175  	}
   176  }
   177  func (m *WriteRequest) XXX_Merge(src proto.Message) {
   178  	xxx_messageInfo_WriteRequest.Merge(m, src)
   179  }
   180  func (m *WriteRequest) XXX_Size() int {
   181  	return m.Size()
   182  }
   183  func (m *WriteRequest) XXX_DiscardUnknown() {
   184  	xxx_messageInfo_WriteRequest.DiscardUnknown(m)
   185  }
   186  
   187  var xxx_messageInfo_WriteRequest proto.InternalMessageInfo
   188  
   189  // Deprecated. Use `thanos.info` instead.
   190  type InfoRequest struct {
   191  }
   192  
   193  func (m *InfoRequest) Reset()         { *m = InfoRequest{} }
   194  func (m *InfoRequest) String() string { return proto.CompactTextString(m) }
   195  func (*InfoRequest) ProtoMessage()    {}
   196  func (*InfoRequest) Descriptor() ([]byte, []int) {
   197  	return fileDescriptor_a938d55a388af629, []int{2}
   198  }
   199  func (m *InfoRequest) XXX_Unmarshal(b []byte) error {
   200  	return m.Unmarshal(b)
   201  }
   202  func (m *InfoRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   203  	if deterministic {
   204  		return xxx_messageInfo_InfoRequest.Marshal(b, m, deterministic)
   205  	} else {
   206  		b = b[:cap(b)]
   207  		n, err := m.MarshalToSizedBuffer(b)
   208  		if err != nil {
   209  			return nil, err
   210  		}
   211  		return b[:n], nil
   212  	}
   213  }
   214  func (m *InfoRequest) XXX_Merge(src proto.Message) {
   215  	xxx_messageInfo_InfoRequest.Merge(m, src)
   216  }
   217  func (m *InfoRequest) XXX_Size() int {
   218  	return m.Size()
   219  }
   220  func (m *InfoRequest) XXX_DiscardUnknown() {
   221  	xxx_messageInfo_InfoRequest.DiscardUnknown(m)
   222  }
   223  
   224  var xxx_messageInfo_InfoRequest proto.InternalMessageInfo
   225  
   226  // Deprecated. Use `thanos.info` instead.
   227  type InfoResponse struct {
   228  	// Deprecated. Use label_sets instead.
   229  	Labels    []github_com_thanos_io_thanos_pkg_store_labelpb.ZLabel `protobuf:"bytes,1,rep,name=labels,proto3,customtype=github.com/thanos-io/thanos/pkg/store/labelpb.ZLabel" json:"labels"`
   230  	MinTime   int64                                                  `protobuf:"varint,2,opt,name=min_time,json=minTime,proto3" json:"min_time,omitempty"`
   231  	MaxTime   int64                                                  `protobuf:"varint,3,opt,name=max_time,json=maxTime,proto3" json:"max_time,omitempty"`
   232  	StoreType StoreType                                              `protobuf:"varint,4,opt,name=storeType,proto3,enum=thanos.StoreType" json:"storeType,omitempty"`
   233  	// label_sets is an unsorted list of `ZLabelSet`s.
   234  	LabelSets []labelpb.ZLabelSet `protobuf:"bytes,5,rep,name=label_sets,json=labelSets,proto3" json:"label_sets"`
   235  }
   236  
   237  func (m *InfoResponse) Reset()         { *m = InfoResponse{} }
   238  func (m *InfoResponse) String() string { return proto.CompactTextString(m) }
   239  func (*InfoResponse) ProtoMessage()    {}
   240  func (*InfoResponse) Descriptor() ([]byte, []int) {
   241  	return fileDescriptor_a938d55a388af629, []int{3}
   242  }
   243  func (m *InfoResponse) XXX_Unmarshal(b []byte) error {
   244  	return m.Unmarshal(b)
   245  }
   246  func (m *InfoResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   247  	if deterministic {
   248  		return xxx_messageInfo_InfoResponse.Marshal(b, m, deterministic)
   249  	} else {
   250  		b = b[:cap(b)]
   251  		n, err := m.MarshalToSizedBuffer(b)
   252  		if err != nil {
   253  			return nil, err
   254  		}
   255  		return b[:n], nil
   256  	}
   257  }
   258  func (m *InfoResponse) XXX_Merge(src proto.Message) {
   259  	xxx_messageInfo_InfoResponse.Merge(m, src)
   260  }
   261  func (m *InfoResponse) XXX_Size() int {
   262  	return m.Size()
   263  }
   264  func (m *InfoResponse) XXX_DiscardUnknown() {
   265  	xxx_messageInfo_InfoResponse.DiscardUnknown(m)
   266  }
   267  
   268  var xxx_messageInfo_InfoResponse proto.InternalMessageInfo
   269  
   270  type SeriesRequest struct {
   271  	MinTime             int64          `protobuf:"varint,1,opt,name=min_time,json=minTime,proto3" json:"min_time,omitempty"`
   272  	MaxTime             int64          `protobuf:"varint,2,opt,name=max_time,json=maxTime,proto3" json:"max_time,omitempty"`
   273  	Matchers            []LabelMatcher `protobuf:"bytes,3,rep,name=matchers,proto3" json:"matchers"`
   274  	MaxResolutionWindow int64          `protobuf:"varint,4,opt,name=max_resolution_window,json=maxResolutionWindow,proto3" json:"max_resolution_window,omitempty"`
   275  	Aggregates          []Aggr         `protobuf:"varint,5,rep,packed,name=aggregates,proto3,enum=thanos.Aggr" json:"aggregates,omitempty"`
   276  	// Deprecated. Use partial_response_strategy instead.
   277  	PartialResponseDisabled bool `protobuf:"varint,6,opt,name=partial_response_disabled,json=partialResponseDisabled,proto3" json:"partial_response_disabled,omitempty"`
   278  	// TODO(bwplotka): Move Thanos components to use strategy instead. Including QueryAPI.
   279  	PartialResponseStrategy PartialResponseStrategy `protobuf:"varint,7,opt,name=partial_response_strategy,json=partialResponseStrategy,proto3,enum=thanos.PartialResponseStrategy" json:"partial_response_strategy,omitempty"`
   280  	// skip_chunks controls whether sending chunks or not in series responses.
   281  	SkipChunks bool `protobuf:"varint,8,opt,name=skip_chunks,json=skipChunks,proto3" json:"skip_chunks,omitempty"`
   282  	// hints is an opaque data structure that can be used to carry additional information.
   283  	// The content of this field and whether it's supported depends on the
   284  	// implementation of a specific store.
   285  	Hints *types.Any `protobuf:"bytes,9,opt,name=hints,proto3" json:"hints,omitempty"`
   286  	// Query step size in milliseconds.
   287  	// Deprecated: Use query_hints instead.
   288  	Step int64 `protobuf:"varint,10,opt,name=step,proto3" json:"step,omitempty"`
   289  	// Range vector selector range in milliseconds.
   290  	// Deprecated: Use query_hints instead.
   291  	Range int64 `protobuf:"varint,11,opt,name=range,proto3" json:"range,omitempty"`
   292  	// query_hints are the hints coming from the PromQL engine when
   293  	// requesting a storage.SeriesSet for a given expression.
   294  	// As hints name suggest using those is best effort.
   295  	QueryHints *QueryHints `protobuf:"bytes,12,opt,name=query_hints,json=queryHints,proto3" json:"query_hints,omitempty"`
   296  	// shard_info is used by the querier to request a specific
   297  	// shard of blocks instead of entire blocks.
   298  	ShardInfo *ShardInfo `protobuf:"bytes,13,opt,name=shard_info,json=shardInfo,proto3" json:"shard_info,omitempty"`
   299  	// without_replica_labels are replica labels which have to be excluded from series set results.
   300  	// The sorting requirement has to be preserved, so series should be sorted without those labels.
   301  	// If the requested label is NOT a replica label (labels that identify replication group) it should be not affected by
   302  	// this setting (label should be included in sorting and response).
   303  	// It is the server responsibility to detect and track what is replica label and what is not.
   304  	// This allows faster deduplication by clients.
   305  	// NOTE(bwplotka): thanos.info.store.supports_without_replica_labels field has to return true to let client knows
   306  	// server supports it.
   307  	WithoutReplicaLabels []string `protobuf:"bytes,14,rep,name=without_replica_labels,json=withoutReplicaLabels,proto3" json:"without_replica_labels,omitempty"`
   308  }
   309  
   310  func (m *SeriesRequest) Reset()         { *m = SeriesRequest{} }
   311  func (m *SeriesRequest) String() string { return proto.CompactTextString(m) }
   312  func (*SeriesRequest) ProtoMessage()    {}
   313  func (*SeriesRequest) Descriptor() ([]byte, []int) {
   314  	return fileDescriptor_a938d55a388af629, []int{4}
   315  }
   316  func (m *SeriesRequest) XXX_Unmarshal(b []byte) error {
   317  	return m.Unmarshal(b)
   318  }
   319  func (m *SeriesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   320  	if deterministic {
   321  		return xxx_messageInfo_SeriesRequest.Marshal(b, m, deterministic)
   322  	} else {
   323  		b = b[:cap(b)]
   324  		n, err := m.MarshalToSizedBuffer(b)
   325  		if err != nil {
   326  			return nil, err
   327  		}
   328  		return b[:n], nil
   329  	}
   330  }
   331  func (m *SeriesRequest) XXX_Merge(src proto.Message) {
   332  	xxx_messageInfo_SeriesRequest.Merge(m, src)
   333  }
   334  func (m *SeriesRequest) XXX_Size() int {
   335  	return m.Size()
   336  }
   337  func (m *SeriesRequest) XXX_DiscardUnknown() {
   338  	xxx_messageInfo_SeriesRequest.DiscardUnknown(m)
   339  }
   340  
   341  var xxx_messageInfo_SeriesRequest proto.InternalMessageInfo
   342  
   343  // QueryHints represents hints from PromQL that might help to
   344  // pre-aggregate or prepare series for faster use by clients.
   345  // Analogous to storage.SelectHints plus additional info.
   346  // As "hints" name suggests all of the items here are best effort.
   347  type QueryHints struct {
   348  	// Query step size in milliseconds.
   349  	StepMillis int64 `protobuf:"varint,1,opt,name=step_millis,json=stepMillis,proto3" json:"step_millis,omitempty"`
   350  	// The surrounding function or aggregation.
   351  	Func *Func `protobuf:"bytes,2,opt,name=func,proto3" json:"func,omitempty"`
   352  	// The grouping expression
   353  	Grouping *Grouping `protobuf:"bytes,4,opt,name=grouping,proto3" json:"grouping,omitempty"`
   354  	// Range vector selector.
   355  	Range *Range `protobuf:"bytes,5,opt,name=range,proto3" json:"range,omitempty"`
   356  }
   357  
   358  func (m *QueryHints) Reset()         { *m = QueryHints{} }
   359  func (m *QueryHints) String() string { return proto.CompactTextString(m) }
   360  func (*QueryHints) ProtoMessage()    {}
   361  func (*QueryHints) Descriptor() ([]byte, []int) {
   362  	return fileDescriptor_a938d55a388af629, []int{5}
   363  }
   364  func (m *QueryHints) XXX_Unmarshal(b []byte) error {
   365  	return m.Unmarshal(b)
   366  }
   367  func (m *QueryHints) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   368  	if deterministic {
   369  		return xxx_messageInfo_QueryHints.Marshal(b, m, deterministic)
   370  	} else {
   371  		b = b[:cap(b)]
   372  		n, err := m.MarshalToSizedBuffer(b)
   373  		if err != nil {
   374  			return nil, err
   375  		}
   376  		return b[:n], nil
   377  	}
   378  }
   379  func (m *QueryHints) XXX_Merge(src proto.Message) {
   380  	xxx_messageInfo_QueryHints.Merge(m, src)
   381  }
   382  func (m *QueryHints) XXX_Size() int {
   383  	return m.Size()
   384  }
   385  func (m *QueryHints) XXX_DiscardUnknown() {
   386  	xxx_messageInfo_QueryHints.DiscardUnknown(m)
   387  }
   388  
   389  var xxx_messageInfo_QueryHints proto.InternalMessageInfo
   390  
   391  // ShardInfo are the parameters used to shard series in Stores.
   392  type ShardInfo struct {
   393  	// The index of the current shard.
   394  	ShardIndex int64 `protobuf:"varint,1,opt,name=shard_index,json=shardIndex,proto3" json:"shard_index,omitempty"`
   395  	// The total number of shards.
   396  	TotalShards int64 `protobuf:"varint,2,opt,name=total_shards,json=totalShards,proto3" json:"total_shards,omitempty"`
   397  	// Group by or without labels.
   398  	By bool `protobuf:"varint,3,opt,name=by,proto3" json:"by,omitempty"`
   399  	// Labels on which to partition series.
   400  	Labels []string `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty"`
   401  }
   402  
   403  func (m *ShardInfo) Reset()         { *m = ShardInfo{} }
   404  func (m *ShardInfo) String() string { return proto.CompactTextString(m) }
   405  func (*ShardInfo) ProtoMessage()    {}
   406  func (*ShardInfo) Descriptor() ([]byte, []int) {
   407  	return fileDescriptor_a938d55a388af629, []int{6}
   408  }
   409  func (m *ShardInfo) XXX_Unmarshal(b []byte) error {
   410  	return m.Unmarshal(b)
   411  }
   412  func (m *ShardInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   413  	if deterministic {
   414  		return xxx_messageInfo_ShardInfo.Marshal(b, m, deterministic)
   415  	} else {
   416  		b = b[:cap(b)]
   417  		n, err := m.MarshalToSizedBuffer(b)
   418  		if err != nil {
   419  			return nil, err
   420  		}
   421  		return b[:n], nil
   422  	}
   423  }
   424  func (m *ShardInfo) XXX_Merge(src proto.Message) {
   425  	xxx_messageInfo_ShardInfo.Merge(m, src)
   426  }
   427  func (m *ShardInfo) XXX_Size() int {
   428  	return m.Size()
   429  }
   430  func (m *ShardInfo) XXX_DiscardUnknown() {
   431  	xxx_messageInfo_ShardInfo.DiscardUnknown(m)
   432  }
   433  
   434  var xxx_messageInfo_ShardInfo proto.InternalMessageInfo
   435  
   436  type Func struct {
   437  	// The function or aggregation name
   438  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   439  }
   440  
   441  func (m *Func) Reset()         { *m = Func{} }
   442  func (m *Func) String() string { return proto.CompactTextString(m) }
   443  func (*Func) ProtoMessage()    {}
   444  func (*Func) Descriptor() ([]byte, []int) {
   445  	return fileDescriptor_a938d55a388af629, []int{7}
   446  }
   447  func (m *Func) XXX_Unmarshal(b []byte) error {
   448  	return m.Unmarshal(b)
   449  }
   450  func (m *Func) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   451  	if deterministic {
   452  		return xxx_messageInfo_Func.Marshal(b, m, deterministic)
   453  	} else {
   454  		b = b[:cap(b)]
   455  		n, err := m.MarshalToSizedBuffer(b)
   456  		if err != nil {
   457  			return nil, err
   458  		}
   459  		return b[:n], nil
   460  	}
   461  }
   462  func (m *Func) XXX_Merge(src proto.Message) {
   463  	xxx_messageInfo_Func.Merge(m, src)
   464  }
   465  func (m *Func) XXX_Size() int {
   466  	return m.Size()
   467  }
   468  func (m *Func) XXX_DiscardUnknown() {
   469  	xxx_messageInfo_Func.DiscardUnknown(m)
   470  }
   471  
   472  var xxx_messageInfo_Func proto.InternalMessageInfo
   473  
   474  type Grouping struct {
   475  	// Indicate whether it is without or by.
   476  	By bool `protobuf:"varint,1,opt,name=by,proto3" json:"by,omitempty"`
   477  	// List of label names used in the grouping.
   478  	Labels []string `protobuf:"bytes,3,rep,name=labels,proto3" json:"labels,omitempty"`
   479  }
   480  
   481  func (m *Grouping) Reset()         { *m = Grouping{} }
   482  func (m *Grouping) String() string { return proto.CompactTextString(m) }
   483  func (*Grouping) ProtoMessage()    {}
   484  func (*Grouping) Descriptor() ([]byte, []int) {
   485  	return fileDescriptor_a938d55a388af629, []int{8}
   486  }
   487  func (m *Grouping) XXX_Unmarshal(b []byte) error {
   488  	return m.Unmarshal(b)
   489  }
   490  func (m *Grouping) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   491  	if deterministic {
   492  		return xxx_messageInfo_Grouping.Marshal(b, m, deterministic)
   493  	} else {
   494  		b = b[:cap(b)]
   495  		n, err := m.MarshalToSizedBuffer(b)
   496  		if err != nil {
   497  			return nil, err
   498  		}
   499  		return b[:n], nil
   500  	}
   501  }
   502  func (m *Grouping) XXX_Merge(src proto.Message) {
   503  	xxx_messageInfo_Grouping.Merge(m, src)
   504  }
   505  func (m *Grouping) XXX_Size() int {
   506  	return m.Size()
   507  }
   508  func (m *Grouping) XXX_DiscardUnknown() {
   509  	xxx_messageInfo_Grouping.DiscardUnknown(m)
   510  }
   511  
   512  var xxx_messageInfo_Grouping proto.InternalMessageInfo
   513  
   514  type Range struct {
   515  	Millis int64 `protobuf:"varint,1,opt,name=millis,proto3" json:"millis,omitempty"`
   516  }
   517  
   518  func (m *Range) Reset()         { *m = Range{} }
   519  func (m *Range) String() string { return proto.CompactTextString(m) }
   520  func (*Range) ProtoMessage()    {}
   521  func (*Range) Descriptor() ([]byte, []int) {
   522  	return fileDescriptor_a938d55a388af629, []int{9}
   523  }
   524  func (m *Range) XXX_Unmarshal(b []byte) error {
   525  	return m.Unmarshal(b)
   526  }
   527  func (m *Range) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   528  	if deterministic {
   529  		return xxx_messageInfo_Range.Marshal(b, m, deterministic)
   530  	} else {
   531  		b = b[:cap(b)]
   532  		n, err := m.MarshalToSizedBuffer(b)
   533  		if err != nil {
   534  			return nil, err
   535  		}
   536  		return b[:n], nil
   537  	}
   538  }
   539  func (m *Range) XXX_Merge(src proto.Message) {
   540  	xxx_messageInfo_Range.Merge(m, src)
   541  }
   542  func (m *Range) XXX_Size() int {
   543  	return m.Size()
   544  }
   545  func (m *Range) XXX_DiscardUnknown() {
   546  	xxx_messageInfo_Range.DiscardUnknown(m)
   547  }
   548  
   549  var xxx_messageInfo_Range proto.InternalMessageInfo
   550  
   551  type SeriesResponse struct {
   552  	// Types that are valid to be assigned to Result:
   553  	//	*SeriesResponse_Series
   554  	//	*SeriesResponse_Warning
   555  	//	*SeriesResponse_Hints
   556  	Result isSeriesResponse_Result `protobuf_oneof:"result"`
   557  }
   558  
   559  func (m *SeriesResponse) Reset()         { *m = SeriesResponse{} }
   560  func (m *SeriesResponse) String() string { return proto.CompactTextString(m) }
   561  func (*SeriesResponse) ProtoMessage()    {}
   562  func (*SeriesResponse) Descriptor() ([]byte, []int) {
   563  	return fileDescriptor_a938d55a388af629, []int{10}
   564  }
   565  func (m *SeriesResponse) XXX_Unmarshal(b []byte) error {
   566  	return m.Unmarshal(b)
   567  }
   568  func (m *SeriesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   569  	if deterministic {
   570  		return xxx_messageInfo_SeriesResponse.Marshal(b, m, deterministic)
   571  	} else {
   572  		b = b[:cap(b)]
   573  		n, err := m.MarshalToSizedBuffer(b)
   574  		if err != nil {
   575  			return nil, err
   576  		}
   577  		return b[:n], nil
   578  	}
   579  }
   580  func (m *SeriesResponse) XXX_Merge(src proto.Message) {
   581  	xxx_messageInfo_SeriesResponse.Merge(m, src)
   582  }
   583  func (m *SeriesResponse) XXX_Size() int {
   584  	return m.Size()
   585  }
   586  func (m *SeriesResponse) XXX_DiscardUnknown() {
   587  	xxx_messageInfo_SeriesResponse.DiscardUnknown(m)
   588  }
   589  
   590  var xxx_messageInfo_SeriesResponse proto.InternalMessageInfo
   591  
   592  type isSeriesResponse_Result interface {
   593  	isSeriesResponse_Result()
   594  	MarshalTo([]byte) (int, error)
   595  	Size() int
   596  }
   597  
   598  type SeriesResponse_Series struct {
   599  	Series *Series `protobuf:"bytes,1,opt,name=series,proto3,oneof" json:"series,omitempty"`
   600  }
   601  type SeriesResponse_Warning struct {
   602  	Warning string `protobuf:"bytes,2,opt,name=warning,proto3,oneof" json:"warning,omitempty"`
   603  }
   604  type SeriesResponse_Hints struct {
   605  	Hints *types.Any `protobuf:"bytes,3,opt,name=hints,proto3,oneof" json:"hints,omitempty"`
   606  }
   607  
   608  func (*SeriesResponse_Series) isSeriesResponse_Result()  {}
   609  func (*SeriesResponse_Warning) isSeriesResponse_Result() {}
   610  func (*SeriesResponse_Hints) isSeriesResponse_Result()   {}
   611  
   612  func (m *SeriesResponse) GetResult() isSeriesResponse_Result {
   613  	if m != nil {
   614  		return m.Result
   615  	}
   616  	return nil
   617  }
   618  
   619  func (m *SeriesResponse) GetSeries() *Series {
   620  	if x, ok := m.GetResult().(*SeriesResponse_Series); ok {
   621  		return x.Series
   622  	}
   623  	return nil
   624  }
   625  
   626  func (m *SeriesResponse) GetWarning() string {
   627  	if x, ok := m.GetResult().(*SeriesResponse_Warning); ok {
   628  		return x.Warning
   629  	}
   630  	return ""
   631  }
   632  
   633  func (m *SeriesResponse) GetHints() *types.Any {
   634  	if x, ok := m.GetResult().(*SeriesResponse_Hints); ok {
   635  		return x.Hints
   636  	}
   637  	return nil
   638  }
   639  
   640  // XXX_OneofWrappers is for the internal use of the proto package.
   641  func (*SeriesResponse) XXX_OneofWrappers() []interface{} {
   642  	return []interface{}{
   643  		(*SeriesResponse_Series)(nil),
   644  		(*SeriesResponse_Warning)(nil),
   645  		(*SeriesResponse_Hints)(nil),
   646  	}
   647  }
   648  
   649  type LabelNamesRequest struct {
   650  	PartialResponseDisabled bool `protobuf:"varint,1,opt,name=partial_response_disabled,json=partialResponseDisabled,proto3" json:"partial_response_disabled,omitempty"`
   651  	// TODO(bwplotka): Move Thanos components to use strategy instead. Including QueryAPI.
   652  	PartialResponseStrategy PartialResponseStrategy `protobuf:"varint,2,opt,name=partial_response_strategy,json=partialResponseStrategy,proto3,enum=thanos.PartialResponseStrategy" json:"partial_response_strategy,omitempty"`
   653  	Start                   int64                   `protobuf:"varint,3,opt,name=start,proto3" json:"start,omitempty"`
   654  	End                     int64                   `protobuf:"varint,4,opt,name=end,proto3" json:"end,omitempty"`
   655  	// hints is an opaque data structure that can be used to carry additional information.
   656  	// The content of this field and whether it's supported depends on the
   657  	// implementation of a specific store.
   658  	Hints    *types.Any     `protobuf:"bytes,5,opt,name=hints,proto3" json:"hints,omitempty"`
   659  	Matchers []LabelMatcher `protobuf:"bytes,6,rep,name=matchers,proto3" json:"matchers"`
   660  }
   661  
   662  func (m *LabelNamesRequest) Reset()         { *m = LabelNamesRequest{} }
   663  func (m *LabelNamesRequest) String() string { return proto.CompactTextString(m) }
   664  func (*LabelNamesRequest) ProtoMessage()    {}
   665  func (*LabelNamesRequest) Descriptor() ([]byte, []int) {
   666  	return fileDescriptor_a938d55a388af629, []int{11}
   667  }
   668  func (m *LabelNamesRequest) XXX_Unmarshal(b []byte) error {
   669  	return m.Unmarshal(b)
   670  }
   671  func (m *LabelNamesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   672  	if deterministic {
   673  		return xxx_messageInfo_LabelNamesRequest.Marshal(b, m, deterministic)
   674  	} else {
   675  		b = b[:cap(b)]
   676  		n, err := m.MarshalToSizedBuffer(b)
   677  		if err != nil {
   678  			return nil, err
   679  		}
   680  		return b[:n], nil
   681  	}
   682  }
   683  func (m *LabelNamesRequest) XXX_Merge(src proto.Message) {
   684  	xxx_messageInfo_LabelNamesRequest.Merge(m, src)
   685  }
   686  func (m *LabelNamesRequest) XXX_Size() int {
   687  	return m.Size()
   688  }
   689  func (m *LabelNamesRequest) XXX_DiscardUnknown() {
   690  	xxx_messageInfo_LabelNamesRequest.DiscardUnknown(m)
   691  }
   692  
   693  var xxx_messageInfo_LabelNamesRequest proto.InternalMessageInfo
   694  
   695  type LabelNamesResponse struct {
   696  	Names    []string `protobuf:"bytes,1,rep,name=names,proto3" json:"names,omitempty"`
   697  	Warnings []string `protobuf:"bytes,2,rep,name=warnings,proto3" json:"warnings,omitempty"`
   698  	/// hints is an opaque data structure that can be used to carry additional information from
   699  	/// the store. The content of this field and whether it's supported depends on the
   700  	/// implementation of a specific store.
   701  	Hints *types.Any `protobuf:"bytes,3,opt,name=hints,proto3" json:"hints,omitempty"`
   702  }
   703  
   704  func (m *LabelNamesResponse) Reset()         { *m = LabelNamesResponse{} }
   705  func (m *LabelNamesResponse) String() string { return proto.CompactTextString(m) }
   706  func (*LabelNamesResponse) ProtoMessage()    {}
   707  func (*LabelNamesResponse) Descriptor() ([]byte, []int) {
   708  	return fileDescriptor_a938d55a388af629, []int{12}
   709  }
   710  func (m *LabelNamesResponse) XXX_Unmarshal(b []byte) error {
   711  	return m.Unmarshal(b)
   712  }
   713  func (m *LabelNamesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   714  	if deterministic {
   715  		return xxx_messageInfo_LabelNamesResponse.Marshal(b, m, deterministic)
   716  	} else {
   717  		b = b[:cap(b)]
   718  		n, err := m.MarshalToSizedBuffer(b)
   719  		if err != nil {
   720  			return nil, err
   721  		}
   722  		return b[:n], nil
   723  	}
   724  }
   725  func (m *LabelNamesResponse) XXX_Merge(src proto.Message) {
   726  	xxx_messageInfo_LabelNamesResponse.Merge(m, src)
   727  }
   728  func (m *LabelNamesResponse) XXX_Size() int {
   729  	return m.Size()
   730  }
   731  func (m *LabelNamesResponse) XXX_DiscardUnknown() {
   732  	xxx_messageInfo_LabelNamesResponse.DiscardUnknown(m)
   733  }
   734  
   735  var xxx_messageInfo_LabelNamesResponse proto.InternalMessageInfo
   736  
   737  type LabelValuesRequest struct {
   738  	Label                   string `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty"`
   739  	PartialResponseDisabled bool   `protobuf:"varint,2,opt,name=partial_response_disabled,json=partialResponseDisabled,proto3" json:"partial_response_disabled,omitempty"`
   740  	// TODO(bwplotka): Move Thanos components to use strategy instead. Including QueryAPI.
   741  	PartialResponseStrategy PartialResponseStrategy `protobuf:"varint,3,opt,name=partial_response_strategy,json=partialResponseStrategy,proto3,enum=thanos.PartialResponseStrategy" json:"partial_response_strategy,omitempty"`
   742  	Start                   int64                   `protobuf:"varint,4,opt,name=start,proto3" json:"start,omitempty"`
   743  	End                     int64                   `protobuf:"varint,5,opt,name=end,proto3" json:"end,omitempty"`
   744  	// hints is an opaque data structure that can be used to carry additional information.
   745  	// The content of this field and whether it's supported depends on the
   746  	// implementation of a specific store.
   747  	Hints    *types.Any     `protobuf:"bytes,6,opt,name=hints,proto3" json:"hints,omitempty"`
   748  	Matchers []LabelMatcher `protobuf:"bytes,7,rep,name=matchers,proto3" json:"matchers"`
   749  }
   750  
   751  func (m *LabelValuesRequest) Reset()         { *m = LabelValuesRequest{} }
   752  func (m *LabelValuesRequest) String() string { return proto.CompactTextString(m) }
   753  func (*LabelValuesRequest) ProtoMessage()    {}
   754  func (*LabelValuesRequest) Descriptor() ([]byte, []int) {
   755  	return fileDescriptor_a938d55a388af629, []int{13}
   756  }
   757  func (m *LabelValuesRequest) XXX_Unmarshal(b []byte) error {
   758  	return m.Unmarshal(b)
   759  }
   760  func (m *LabelValuesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   761  	if deterministic {
   762  		return xxx_messageInfo_LabelValuesRequest.Marshal(b, m, deterministic)
   763  	} else {
   764  		b = b[:cap(b)]
   765  		n, err := m.MarshalToSizedBuffer(b)
   766  		if err != nil {
   767  			return nil, err
   768  		}
   769  		return b[:n], nil
   770  	}
   771  }
   772  func (m *LabelValuesRequest) XXX_Merge(src proto.Message) {
   773  	xxx_messageInfo_LabelValuesRequest.Merge(m, src)
   774  }
   775  func (m *LabelValuesRequest) XXX_Size() int {
   776  	return m.Size()
   777  }
   778  func (m *LabelValuesRequest) XXX_DiscardUnknown() {
   779  	xxx_messageInfo_LabelValuesRequest.DiscardUnknown(m)
   780  }
   781  
   782  var xxx_messageInfo_LabelValuesRequest proto.InternalMessageInfo
   783  
   784  type LabelValuesResponse struct {
   785  	Values   []string `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"`
   786  	Warnings []string `protobuf:"bytes,2,rep,name=warnings,proto3" json:"warnings,omitempty"`
   787  	/// hints is an opaque data structure that can be used to carry additional information from
   788  	/// the store. The content of this field and whether it's supported depends on the
   789  	/// implementation of a specific store.
   790  	Hints *types.Any `protobuf:"bytes,3,opt,name=hints,proto3" json:"hints,omitempty"`
   791  }
   792  
   793  func (m *LabelValuesResponse) Reset()         { *m = LabelValuesResponse{} }
   794  func (m *LabelValuesResponse) String() string { return proto.CompactTextString(m) }
   795  func (*LabelValuesResponse) ProtoMessage()    {}
   796  func (*LabelValuesResponse) Descriptor() ([]byte, []int) {
   797  	return fileDescriptor_a938d55a388af629, []int{14}
   798  }
   799  func (m *LabelValuesResponse) XXX_Unmarshal(b []byte) error {
   800  	return m.Unmarshal(b)
   801  }
   802  func (m *LabelValuesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   803  	if deterministic {
   804  		return xxx_messageInfo_LabelValuesResponse.Marshal(b, m, deterministic)
   805  	} else {
   806  		b = b[:cap(b)]
   807  		n, err := m.MarshalToSizedBuffer(b)
   808  		if err != nil {
   809  			return nil, err
   810  		}
   811  		return b[:n], nil
   812  	}
   813  }
   814  func (m *LabelValuesResponse) XXX_Merge(src proto.Message) {
   815  	xxx_messageInfo_LabelValuesResponse.Merge(m, src)
   816  }
   817  func (m *LabelValuesResponse) XXX_Size() int {
   818  	return m.Size()
   819  }
   820  func (m *LabelValuesResponse) XXX_DiscardUnknown() {
   821  	xxx_messageInfo_LabelValuesResponse.DiscardUnknown(m)
   822  }
   823  
   824  var xxx_messageInfo_LabelValuesResponse proto.InternalMessageInfo
   825  
   826  func init() {
   827  	proto.RegisterEnum("thanos.StoreType", StoreType_name, StoreType_value)
   828  	proto.RegisterEnum("thanos.Aggr", Aggr_name, Aggr_value)
   829  	proto.RegisterType((*WriteResponse)(nil), "thanos.WriteResponse")
   830  	proto.RegisterType((*WriteRequest)(nil), "thanos.WriteRequest")
   831  	proto.RegisterType((*InfoRequest)(nil), "thanos.InfoRequest")
   832  	proto.RegisterType((*InfoResponse)(nil), "thanos.InfoResponse")
   833  	proto.RegisterType((*SeriesRequest)(nil), "thanos.SeriesRequest")
   834  	proto.RegisterType((*QueryHints)(nil), "thanos.QueryHints")
   835  	proto.RegisterType((*ShardInfo)(nil), "thanos.ShardInfo")
   836  	proto.RegisterType((*Func)(nil), "thanos.Func")
   837  	proto.RegisterType((*Grouping)(nil), "thanos.Grouping")
   838  	proto.RegisterType((*Range)(nil), "thanos.Range")
   839  	proto.RegisterType((*SeriesResponse)(nil), "thanos.SeriesResponse")
   840  	proto.RegisterType((*LabelNamesRequest)(nil), "thanos.LabelNamesRequest")
   841  	proto.RegisterType((*LabelNamesResponse)(nil), "thanos.LabelNamesResponse")
   842  	proto.RegisterType((*LabelValuesRequest)(nil), "thanos.LabelValuesRequest")
   843  	proto.RegisterType((*LabelValuesResponse)(nil), "thanos.LabelValuesResponse")
   844  }
   845  
   846  func init() { proto.RegisterFile("store/storepb/rpc.proto", fileDescriptor_a938d55a388af629) }
   847  
   848  var fileDescriptor_a938d55a388af629 = []byte{
   849  	// 1323 bytes of a gzipped FileDescriptorProto
   850  	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x57, 0xdd, 0x6e, 0x13, 0xc7,
   851  	0x17, 0xf7, 0x7a, 0xbd, 0xfe, 0x38, 0x4e, 0xf2, 0x37, 0x83, 0x09, 0x1b, 0x23, 0x39, 0xfe, 0xbb,
   852  	0xaa, 0x64, 0x21, 0x6a, 0x53, 0x83, 0x90, 0x5a, 0x71, 0x93, 0x04, 0x43, 0xa2, 0x12, 0x53, 0xc6,
   853  	0x09, 0x69, 0xa9, 0x2a, 0x6b, 0x6d, 0x4f, 0xd6, 0x2b, 0xec, 0xdd, 0x65, 0x67, 0xb6, 0x89, 0x6f,
   854  	0xdb, 0xdb, 0xaa, 0xaa, 0xfa, 0x08, 0x7d, 0x8a, 0x3e, 0x02, 0x77, 0xe5, 0xb2, 0xea, 0x05, 0x6a,
   855  	0xe1, 0x45, 0xaa, 0x39, 0x3b, 0x6b, 0x7b, 0xd3, 0x00, 0x45, 0x70, 0x13, 0xcd, 0xf9, 0xfd, 0xce,
   856  	0x9c, 0x39, 0xdf, 0xde, 0xc0, 0x65, 0x2e, 0xbc, 0x80, 0xb5, 0xf0, 0xaf, 0x3f, 0x68, 0x05, 0xfe,
   857  	0xb0, 0xe9, 0x07, 0x9e, 0xf0, 0x48, 0x56, 0x8c, 0x2d, 0xd7, 0xe3, 0x95, 0x8d, 0xa4, 0x82, 0x98,
   858  	0xf9, 0x8c, 0x47, 0x2a, 0x95, 0xb2, 0xed, 0xd9, 0x1e, 0x1e, 0x5b, 0xf2, 0xa4, 0xd0, 0x5a, 0xf2,
   859  	0x82, 0x1f, 0x78, 0xd3, 0x33, 0xf7, 0x94, 0xc9, 0x89, 0x35, 0x60, 0x93, 0xb3, 0x94, 0xed, 0x79,
   860  	0xf6, 0x84, 0xb5, 0x50, 0x1a, 0x84, 0xc7, 0x2d, 0xcb, 0x9d, 0x45, 0x54, 0xfd, 0x7f, 0xb0, 0x7a,
   861  	0x14, 0x38, 0x82, 0x51, 0xc6, 0x7d, 0xcf, 0xe5, 0xac, 0xfe, 0x83, 0x06, 0x2b, 0x0a, 0x79, 0x1a,
   862  	0x32, 0x2e, 0xc8, 0x16, 0x80, 0x70, 0xa6, 0x8c, 0xb3, 0xc0, 0x61, 0xdc, 0xd4, 0x6a, 0x7a, 0xa3,
   863  	0xd8, 0xbe, 0x22, 0x6f, 0x4f, 0x99, 0x18, 0xb3, 0x90, 0xf7, 0x87, 0x9e, 0x3f, 0x6b, 0x1e, 0x38,
   864  	0x53, 0xd6, 0x43, 0x95, 0xed, 0xcc, 0xb3, 0x17, 0x9b, 0x29, 0xba, 0x74, 0x89, 0xac, 0x43, 0x56,
   865  	0x30, 0xd7, 0x72, 0x85, 0x99, 0xae, 0x69, 0x8d, 0x02, 0x55, 0x12, 0x31, 0x21, 0x17, 0x30, 0x7f,
   866  	0xe2, 0x0c, 0x2d, 0x53, 0xaf, 0x69, 0x0d, 0x9d, 0xc6, 0x62, 0x7d, 0x15, 0x8a, 0x7b, 0xee, 0xb1,
   867  	0xa7, 0x7c, 0xa8, 0xff, 0x92, 0x86, 0x95, 0x48, 0x8e, 0xbc, 0x24, 0x43, 0xc8, 0x62, 0xa0, 0xb1,
   868  	0x43, 0xab, 0xcd, 0x28, 0xb1, 0xcd, 0xfb, 0x12, 0xdd, 0xbe, 0x2d, 0x5d, 0xf8, 0xf3, 0xc5, 0xe6,
   869  	0x4d, 0xdb, 0x11, 0xe3, 0x70, 0xd0, 0x1c, 0x7a, 0xd3, 0x56, 0xa4, 0xf0, 0x89, 0xe3, 0xa9, 0x53,
   870  	0xcb, 0x7f, 0x62, 0xb7, 0x12, 0x39, 0x6b, 0x3e, 0xc6, 0xdb, 0x54, 0x99, 0x26, 0x1b, 0x90, 0x9f,
   871  	0x3a, 0x6e, 0x5f, 0x06, 0x82, 0x8e, 0xeb, 0x34, 0x37, 0x75, 0x5c, 0x19, 0x29, 0x52, 0xd6, 0x69,
   872  	0x44, 0x29, 0xd7, 0xa7, 0xd6, 0x29, 0x52, 0x2d, 0x28, 0xa0, 0xd5, 0x83, 0x99, 0xcf, 0xcc, 0x4c,
   873  	0x4d, 0x6b, 0xac, 0xb5, 0x2f, 0xc4, 0xde, 0xf5, 0x62, 0x82, 0x2e, 0x74, 0xc8, 0x2d, 0x00, 0x7c,
   874  	0xb0, 0xcf, 0x99, 0xe0, 0xa6, 0x81, 0xf1, 0xcc, 0x6f, 0x44, 0x2e, 0xf5, 0x98, 0x50, 0x69, 0x2d,
   875  	0x4c, 0x94, 0xcc, 0xeb, 0x3f, 0x1a, 0xb0, 0x1a, 0xa5, 0x3c, 0x2e, 0xd5, 0xb2, 0xc3, 0xda, 0xeb,
   876  	0x1d, 0x4e, 0x27, 0x1d, 0xbe, 0x25, 0x29, 0x31, 0x1c, 0xb3, 0x80, 0x9b, 0x3a, 0xbe, 0x5e, 0x4e,
   877  	0x64, 0x73, 0x3f, 0x22, 0x95, 0x03, 0x73, 0x5d, 0xd2, 0x86, 0x4b, 0xd2, 0x64, 0xc0, 0xb8, 0x37,
   878  	0x09, 0x85, 0xe3, 0xb9, 0xfd, 0x13, 0xc7, 0x1d, 0x79, 0x27, 0x18, 0xb4, 0x4e, 0x2f, 0x4e, 0xad,
   879  	0x53, 0x3a, 0xe7, 0x8e, 0x90, 0x22, 0xd7, 0x00, 0x2c, 0xdb, 0x0e, 0x98, 0x6d, 0x09, 0x16, 0xc5,
   880  	0xba, 0xd6, 0x5e, 0x89, 0x5f, 0xdb, 0xb2, 0xed, 0x80, 0x2e, 0xf1, 0xe4, 0x73, 0xd8, 0xf0, 0xad,
   881  	0x40, 0x38, 0xd6, 0x44, 0xbe, 0x82, 0x95, 0xef, 0x8f, 0x1c, 0x6e, 0x0d, 0x26, 0x6c, 0x64, 0x66,
   882  	0x6b, 0x5a, 0x23, 0x4f, 0x2f, 0x2b, 0x85, 0xb8, 0x33, 0xee, 0x28, 0x9a, 0x7c, 0x73, 0xce, 0x5d,
   883  	0x2e, 0x02, 0x4b, 0x30, 0x7b, 0x66, 0xe6, 0xb0, 0x2c, 0x9b, 0xf1, 0xc3, 0x5f, 0x26, 0x6d, 0xf4,
   884  	0x94, 0xda, 0xbf, 0x8c, 0xc7, 0x04, 0xd9, 0x84, 0x22, 0x7f, 0xe2, 0xf8, 0xfd, 0xe1, 0x38, 0x74,
   885  	0x9f, 0x70, 0x33, 0x8f, 0xae, 0x80, 0x84, 0x76, 0x10, 0x21, 0x57, 0xc1, 0x18, 0x3b, 0xae, 0xe0,
   886  	0x66, 0xa1, 0xa6, 0x61, 0x42, 0xa3, 0x09, 0x6c, 0xc6, 0x13, 0xd8, 0xdc, 0x72, 0x67, 0x34, 0x52,
   887  	0x21, 0x04, 0x32, 0x5c, 0x30, 0xdf, 0x04, 0x4c, 0x1b, 0x9e, 0x49, 0x19, 0x8c, 0xc0, 0x72, 0x6d,
   888  	0x66, 0x16, 0x11, 0x8c, 0x04, 0x72, 0x03, 0x8a, 0x4f, 0x43, 0x16, 0xcc, 0xfa, 0x91, 0xed, 0x15,
   889  	0xb4, 0x4d, 0xe2, 0x28, 0x1e, 0x4a, 0x6a, 0x57, 0x32, 0x14, 0x9e, 0xce, 0xcf, 0xe4, 0x3a, 0x00,
   890  	0x1f, 0x5b, 0xc1, 0xa8, 0xef, 0xb8, 0xc7, 0x9e, 0xb9, 0x8a, 0x77, 0x16, 0x0d, 0x29, 0x19, 0x9c,
   891  	0xac, 0x02, 0x8f, 0x8f, 0xe4, 0x26, 0xac, 0x9f, 0x38, 0x62, 0xec, 0x85, 0xa2, 0xaf, 0xe6, 0xb1,
   892  	0xaf, 0x86, 0x6d, 0xad, 0xa6, 0x37, 0x0a, 0xb4, 0xac, 0x58, 0x1a, 0x91, 0xd8, 0x24, 0xbc, 0xfe,
   893  	0xab, 0x06, 0xb0, 0x70, 0x01, 0x53, 0x24, 0x98, 0xdf, 0x9f, 0x3a, 0x93, 0x89, 0xc3, 0x55, 0x3b,
   894  	0x82, 0x84, 0xf6, 0x11, 0x21, 0x35, 0xc8, 0x1c, 0x87, 0xee, 0x10, 0xbb, 0xb1, 0xb8, 0x68, 0x82,
   895  	0xbb, 0xa1, 0x3b, 0xa4, 0xc8, 0x90, 0x6b, 0x90, 0xb7, 0x03, 0x2f, 0xf4, 0x1d, 0xd7, 0xc6, 0x9e,
   896  	0x2a, 0xb6, 0x4b, 0xb1, 0xd6, 0x3d, 0x85, 0xd3, 0xb9, 0x06, 0xf9, 0x28, 0x4e, 0x99, 0x81, 0xaa,
   897  	0xf3, 0x8d, 0x40, 0x25, 0xa8, 0x32, 0x58, 0x3f, 0x81, 0xc2, 0x3c, 0x64, 0x74, 0x51, 0x65, 0x66,
   898  	0xc4, 0x4e, 0xe7, 0x2e, 0x46, 0xfc, 0x88, 0x9d, 0x92, 0xff, 0xc3, 0x8a, 0xf0, 0x84, 0x35, 0xe9,
   899  	0x23, 0xc6, 0xd5, 0xe0, 0x14, 0x11, 0x43, 0x33, 0x9c, 0xac, 0x41, 0x7a, 0x30, 0xc3, 0x15, 0x90,
   900  	0xa7, 0xe9, 0xc1, 0x4c, 0xae, 0x3a, 0x95, 0xab, 0x0c, 0xe6, 0x4a, 0x49, 0xf5, 0x0a, 0x64, 0x64,
   901  	0x64, 0xb2, 0xd8, 0xae, 0xa5, 0xc6, 0xb3, 0x40, 0xf1, 0x5c, 0x6f, 0x43, 0x3e, 0x8e, 0x47, 0xd9,
   902  	0xd3, 0xce, 0xb1, 0xa7, 0x27, 0xec, 0x6d, 0x82, 0x81, 0x81, 0x49, 0x85, 0x44, 0x8a, 0x95, 0x54,
   903  	0xff, 0x49, 0x83, 0xb5, 0x78, 0x3b, 0xa8, 0xa5, 0xd9, 0x80, 0xec, 0x7c, 0x8b, 0xcb, 0x14, 0xad,
   904  	0xcd, 0xbb, 0x00, 0xd1, 0xdd, 0x14, 0x55, 0x3c, 0xa9, 0x40, 0xee, 0xc4, 0x0a, 0x5c, 0x99, 0x78,
   905  	0xdc, 0xd8, 0xbb, 0x29, 0x1a, 0x03, 0xe4, 0x5a, 0xdc, 0xda, 0xfa, 0xeb, 0x5b, 0x7b, 0x37, 0xa5,
   906  	0x9a, 0x7b, 0x3b, 0x0f, 0xd9, 0x80, 0xf1, 0x70, 0x22, 0xea, 0xbf, 0xa5, 0xe1, 0x02, 0xb6, 0x4a,
   907  	0xd7, 0x9a, 0x2e, 0x56, 0xd6, 0x1b, 0x47, 0x5c, 0x7b, 0x8f, 0x11, 0x4f, 0xbf, 0xe7, 0x88, 0x97,
   908  	0xc1, 0xe0, 0xc2, 0x0a, 0x84, 0x5a, 0xef, 0x91, 0x40, 0x4a, 0xa0, 0x33, 0x77, 0xa4, 0x36, 0x9c,
   909  	0x3c, 0x2e, 0x26, 0xdd, 0x78, 0xfb, 0xa4, 0x2f, 0x6f, 0xda, 0xec, 0x7f, 0xdf, 0xb4, 0xf5, 0x00,
   910  	0xc8, 0x72, 0xe6, 0x54, 0x39, 0xcb, 0x60, 0xc8, 0xf6, 0x89, 0x7e, 0x02, 0x0b, 0x34, 0x12, 0x48,
   911  	0x05, 0xf2, 0xaa, 0x52, 0xb2, 0x5f, 0x25, 0x31, 0x97, 0x17, 0xbe, 0xea, 0x6f, 0xf5, 0xb5, 0xfe,
   912  	0x7b, 0x5a, 0x3d, 0xfa, 0xc8, 0x9a, 0x84, 0x8b, 0x7a, 0x95, 0xc1, 0xc0, 0x0e, 0x54, 0x0d, 0x1c,
   913  	0x09, 0x6f, 0xae, 0x62, 0xfa, 0x3d, 0xaa, 0xa8, 0x7f, 0xa8, 0x2a, 0x66, 0xce, 0xa9, 0xa2, 0x71,
   914  	0x4e, 0x15, 0xb3, 0xef, 0x56, 0xc5, 0xdc, 0x3b, 0x54, 0x31, 0x84, 0x8b, 0x89, 0x84, 0xaa, 0x32,
   915  	0xae, 0x43, 0xf6, 0x3b, 0x44, 0x54, 0x1d, 0x95, 0xf4, 0xa1, 0x0a, 0x79, 0xf5, 0x5b, 0x28, 0xcc,
   916  	0x3f, 0x3b, 0x48, 0x11, 0x72, 0x87, 0xdd, 0x2f, 0xba, 0x0f, 0x8e, 0xba, 0xa5, 0x14, 0x29, 0x80,
   917  	0xf1, 0xf0, 0xb0, 0x43, 0xbf, 0x2e, 0x69, 0x24, 0x0f, 0x19, 0x7a, 0x78, 0xbf, 0x53, 0x4a, 0x4b,
   918  	0x8d, 0xde, 0xde, 0x9d, 0xce, 0xce, 0x16, 0x2d, 0xe9, 0x52, 0xa3, 0x77, 0xf0, 0x80, 0x76, 0x4a,
   919  	0x19, 0x89, 0xd3, 0xce, 0x4e, 0x67, 0xef, 0x51, 0xa7, 0x64, 0x48, 0xfc, 0x4e, 0x67, 0xfb, 0xf0,
   920  	0x5e, 0x29, 0x7b, 0x75, 0x1b, 0x32, 0xf2, 0x77, 0x9b, 0xe4, 0x40, 0xa7, 0x5b, 0x47, 0x91, 0xd5,
   921  	0x9d, 0x07, 0x87, 0xdd, 0x83, 0x92, 0x26, 0xb1, 0xde, 0xe1, 0x7e, 0x29, 0x2d, 0x0f, 0xfb, 0x7b,
   922  	0xdd, 0x92, 0x8e, 0x87, 0xad, 0xaf, 0x22, 0x73, 0xa8, 0xd5, 0xa1, 0x25, 0xa3, 0xfd, 0x7d, 0x1a,
   923  	0x0c, 0xf4, 0x91, 0x7c, 0x0a, 0x19, 0x5c, 0xcd, 0x17, 0xe3, 0x8c, 0x2e, 0x7d, 0x05, 0x56, 0xca,
   924  	0x49, 0x50, 0xe5, 0xef, 0x33, 0xc8, 0x46, 0xfb, 0x8b, 0x5c, 0x4a, 0xee, 0xb3, 0xf8, 0xda, 0xfa,
   925  	0x59, 0x38, 0xba, 0x78, 0x5d, 0x23, 0x3b, 0x00, 0x8b, 0xb9, 0x22, 0x1b, 0x89, 0x2a, 0x2e, 0x6f,
   926  	0xa9, 0x4a, 0xe5, 0x3c, 0x4a, 0xbd, 0x7f, 0x17, 0x8a, 0x4b, 0x65, 0x25, 0x49, 0xd5, 0xc4, 0xf0,
   927  	0x54, 0xae, 0x9c, 0xcb, 0x45, 0x76, 0xda, 0x5d, 0x58, 0xc3, 0xef, 0x6e, 0x39, 0x15, 0x51, 0x32,
   928  	0x6e, 0x43, 0x91, 0xb2, 0xa9, 0x27, 0x18, 0xe2, 0x64, 0x1e, 0xfe, 0xf2, 0xe7, 0x79, 0xe5, 0xd2,
   929  	0x19, 0x54, 0x7d, 0xc6, 0xa7, 0xb6, 0x3f, 0x7e, 0xf6, 0x77, 0x35, 0xf5, 0xec, 0x65, 0x55, 0x7b,
   930  	0xfe, 0xb2, 0xaa, 0xfd, 0xf5, 0xb2, 0xaa, 0xfd, 0xfc, 0xaa, 0x9a, 0x7a, 0xfe, 0xaa, 0x9a, 0xfa,
   931  	0xe3, 0x55, 0x35, 0xf5, 0x38, 0xa7, 0xfe, 0x93, 0x18, 0x64, 0xb1, 0x67, 0x6e, 0xfc, 0x13, 0x00,
   932  	0x00, 0xff, 0xff, 0x73, 0x1f, 0x05, 0x4d, 0xb3, 0x0c, 0x00, 0x00,
   933  }
   934  
   935  // Reference imports to suppress errors if they are not otherwise used.
   936  var _ context.Context
   937  var _ grpc.ClientConn
   938  
   939  // This is a compile-time assertion to ensure that this generated file
   940  // is compatible with the grpc package it is being compiled against.
   941  const _ = grpc.SupportPackageIsVersion4
   942  
   943  // StoreClient is the client API for Store service.
   944  //
   945  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
   946  type StoreClient interface {
   947  	/// Info returns meta information about a store e.g labels that makes that store unique as well as time range that is
   948  	/// available.
   949  	/// Deprecated. Use `thanos.info` instead.
   950  	Info(ctx context.Context, in *InfoRequest, opts ...grpc.CallOption) (*InfoResponse, error)
   951  	/// Series streams each Series (Labels and chunk/downsampling chunk) for given label matchers and time range.
   952  	///
   953  	/// Series should strictly stream full series after series, optionally split by time. This means that a single frame can contain
   954  	/// partition of the single series, but once a new series is started to be streamed it means that no more data will
   955  	/// be sent for previous one.
   956  	/// Series has to be sorted.
   957  	///
   958  	/// There is no requirements on chunk sorting, however it is recommended to have chunk sorted by chunk min time.
   959  	/// This heavily optimizes the resource usage on Querier / Federated Queries.
   960  	Series(ctx context.Context, in *SeriesRequest, opts ...grpc.CallOption) (Store_SeriesClient, error)
   961  	/// LabelNames returns all label names constrained by the given matchers.
   962  	LabelNames(ctx context.Context, in *LabelNamesRequest, opts ...grpc.CallOption) (*LabelNamesResponse, error)
   963  	/// LabelValues returns all label values for given label name.
   964  	LabelValues(ctx context.Context, in *LabelValuesRequest, opts ...grpc.CallOption) (*LabelValuesResponse, error)
   965  }
   966  
   967  type storeClient struct {
   968  	cc *grpc.ClientConn
   969  }
   970  
   971  func NewStoreClient(cc *grpc.ClientConn) StoreClient {
   972  	return &storeClient{cc}
   973  }
   974  
   975  func (c *storeClient) Info(ctx context.Context, in *InfoRequest, opts ...grpc.CallOption) (*InfoResponse, error) {
   976  	out := new(InfoResponse)
   977  	err := c.cc.Invoke(ctx, "/thanos.Store/Info", in, out, opts...)
   978  	if err != nil {
   979  		return nil, err
   980  	}
   981  	return out, nil
   982  }
   983  
   984  func (c *storeClient) Series(ctx context.Context, in *SeriesRequest, opts ...grpc.CallOption) (Store_SeriesClient, error) {
   985  	stream, err := c.cc.NewStream(ctx, &_Store_serviceDesc.Streams[0], "/thanos.Store/Series", opts...)
   986  	if err != nil {
   987  		return nil, err
   988  	}
   989  	x := &storeSeriesClient{stream}
   990  	if err := x.ClientStream.SendMsg(in); err != nil {
   991  		return nil, err
   992  	}
   993  	if err := x.ClientStream.CloseSend(); err != nil {
   994  		return nil, err
   995  	}
   996  	return x, nil
   997  }
   998  
   999  type Store_SeriesClient interface {
  1000  	Recv() (*SeriesResponse, error)
  1001  	grpc.ClientStream
  1002  }
  1003  
  1004  type storeSeriesClient struct {
  1005  	grpc.ClientStream
  1006  }
  1007  
  1008  func (x *storeSeriesClient) Recv() (*SeriesResponse, error) {
  1009  	m := new(SeriesResponse)
  1010  	if err := x.ClientStream.RecvMsg(m); err != nil {
  1011  		return nil, err
  1012  	}
  1013  	return m, nil
  1014  }
  1015  
  1016  func (c *storeClient) LabelNames(ctx context.Context, in *LabelNamesRequest, opts ...grpc.CallOption) (*LabelNamesResponse, error) {
  1017  	out := new(LabelNamesResponse)
  1018  	err := c.cc.Invoke(ctx, "/thanos.Store/LabelNames", in, out, opts...)
  1019  	if err != nil {
  1020  		return nil, err
  1021  	}
  1022  	return out, nil
  1023  }
  1024  
  1025  func (c *storeClient) LabelValues(ctx context.Context, in *LabelValuesRequest, opts ...grpc.CallOption) (*LabelValuesResponse, error) {
  1026  	out := new(LabelValuesResponse)
  1027  	err := c.cc.Invoke(ctx, "/thanos.Store/LabelValues", in, out, opts...)
  1028  	if err != nil {
  1029  		return nil, err
  1030  	}
  1031  	return out, nil
  1032  }
  1033  
  1034  // StoreServer is the server API for Store service.
  1035  type StoreServer interface {
  1036  	/// Info returns meta information about a store e.g labels that makes that store unique as well as time range that is
  1037  	/// available.
  1038  	/// Deprecated. Use `thanos.info` instead.
  1039  	Info(context.Context, *InfoRequest) (*InfoResponse, error)
  1040  	/// Series streams each Series (Labels and chunk/downsampling chunk) for given label matchers and time range.
  1041  	///
  1042  	/// Series should strictly stream full series after series, optionally split by time. This means that a single frame can contain
  1043  	/// partition of the single series, but once a new series is started to be streamed it means that no more data will
  1044  	/// be sent for previous one.
  1045  	/// Series has to be sorted.
  1046  	///
  1047  	/// There is no requirements on chunk sorting, however it is recommended to have chunk sorted by chunk min time.
  1048  	/// This heavily optimizes the resource usage on Querier / Federated Queries.
  1049  	Series(*SeriesRequest, Store_SeriesServer) error
  1050  	/// LabelNames returns all label names constrained by the given matchers.
  1051  	LabelNames(context.Context, *LabelNamesRequest) (*LabelNamesResponse, error)
  1052  	/// LabelValues returns all label values for given label name.
  1053  	LabelValues(context.Context, *LabelValuesRequest) (*LabelValuesResponse, error)
  1054  }
  1055  
  1056  // UnimplementedStoreServer can be embedded to have forward compatible implementations.
  1057  type UnimplementedStoreServer struct {
  1058  }
  1059  
  1060  func (*UnimplementedStoreServer) Info(ctx context.Context, req *InfoRequest) (*InfoResponse, error) {
  1061  	return nil, status.Errorf(codes.Unimplemented, "method Info not implemented")
  1062  }
  1063  func (*UnimplementedStoreServer) Series(req *SeriesRequest, srv Store_SeriesServer) error {
  1064  	return status.Errorf(codes.Unimplemented, "method Series not implemented")
  1065  }
  1066  func (*UnimplementedStoreServer) LabelNames(ctx context.Context, req *LabelNamesRequest) (*LabelNamesResponse, error) {
  1067  	return nil, status.Errorf(codes.Unimplemented, "method LabelNames not implemented")
  1068  }
  1069  func (*UnimplementedStoreServer) LabelValues(ctx context.Context, req *LabelValuesRequest) (*LabelValuesResponse, error) {
  1070  	return nil, status.Errorf(codes.Unimplemented, "method LabelValues not implemented")
  1071  }
  1072  
  1073  func RegisterStoreServer(s *grpc.Server, srv StoreServer) {
  1074  	s.RegisterService(&_Store_serviceDesc, srv)
  1075  }
  1076  
  1077  func _Store_Info_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1078  	in := new(InfoRequest)
  1079  	if err := dec(in); err != nil {
  1080  		return nil, err
  1081  	}
  1082  	if interceptor == nil {
  1083  		return srv.(StoreServer).Info(ctx, in)
  1084  	}
  1085  	info := &grpc.UnaryServerInfo{
  1086  		Server:     srv,
  1087  		FullMethod: "/thanos.Store/Info",
  1088  	}
  1089  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1090  		return srv.(StoreServer).Info(ctx, req.(*InfoRequest))
  1091  	}
  1092  	return interceptor(ctx, in, info, handler)
  1093  }
  1094  
  1095  func _Store_Series_Handler(srv interface{}, stream grpc.ServerStream) error {
  1096  	m := new(SeriesRequest)
  1097  	if err := stream.RecvMsg(m); err != nil {
  1098  		return err
  1099  	}
  1100  	return srv.(StoreServer).Series(m, &storeSeriesServer{stream})
  1101  }
  1102  
  1103  type Store_SeriesServer interface {
  1104  	Send(*SeriesResponse) error
  1105  	grpc.ServerStream
  1106  }
  1107  
  1108  type storeSeriesServer struct {
  1109  	grpc.ServerStream
  1110  }
  1111  
  1112  func (x *storeSeriesServer) Send(m *SeriesResponse) error {
  1113  	return x.ServerStream.SendMsg(m)
  1114  }
  1115  
  1116  func _Store_LabelNames_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1117  	in := new(LabelNamesRequest)
  1118  	if err := dec(in); err != nil {
  1119  		return nil, err
  1120  	}
  1121  	if interceptor == nil {
  1122  		return srv.(StoreServer).LabelNames(ctx, in)
  1123  	}
  1124  	info := &grpc.UnaryServerInfo{
  1125  		Server:     srv,
  1126  		FullMethod: "/thanos.Store/LabelNames",
  1127  	}
  1128  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1129  		return srv.(StoreServer).LabelNames(ctx, req.(*LabelNamesRequest))
  1130  	}
  1131  	return interceptor(ctx, in, info, handler)
  1132  }
  1133  
  1134  func _Store_LabelValues_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1135  	in := new(LabelValuesRequest)
  1136  	if err := dec(in); err != nil {
  1137  		return nil, err
  1138  	}
  1139  	if interceptor == nil {
  1140  		return srv.(StoreServer).LabelValues(ctx, in)
  1141  	}
  1142  	info := &grpc.UnaryServerInfo{
  1143  		Server:     srv,
  1144  		FullMethod: "/thanos.Store/LabelValues",
  1145  	}
  1146  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1147  		return srv.(StoreServer).LabelValues(ctx, req.(*LabelValuesRequest))
  1148  	}
  1149  	return interceptor(ctx, in, info, handler)
  1150  }
  1151  
  1152  var _Store_serviceDesc = grpc.ServiceDesc{
  1153  	ServiceName: "thanos.Store",
  1154  	HandlerType: (*StoreServer)(nil),
  1155  	Methods: []grpc.MethodDesc{
  1156  		{
  1157  			MethodName: "Info",
  1158  			Handler:    _Store_Info_Handler,
  1159  		},
  1160  		{
  1161  			MethodName: "LabelNames",
  1162  			Handler:    _Store_LabelNames_Handler,
  1163  		},
  1164  		{
  1165  			MethodName: "LabelValues",
  1166  			Handler:    _Store_LabelValues_Handler,
  1167  		},
  1168  	},
  1169  	Streams: []grpc.StreamDesc{
  1170  		{
  1171  			StreamName:    "Series",
  1172  			Handler:       _Store_Series_Handler,
  1173  			ServerStreams: true,
  1174  		},
  1175  	},
  1176  	Metadata: "store/storepb/rpc.proto",
  1177  }
  1178  
  1179  // WriteableStoreClient is the client API for WriteableStore service.
  1180  //
  1181  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
  1182  type WriteableStoreClient interface {
  1183  	// WriteRequest allows you to write metrics to this store via remote write
  1184  	RemoteWrite(ctx context.Context, in *WriteRequest, opts ...grpc.CallOption) (*WriteResponse, error)
  1185  }
  1186  
  1187  type writeableStoreClient struct {
  1188  	cc *grpc.ClientConn
  1189  }
  1190  
  1191  func NewWriteableStoreClient(cc *grpc.ClientConn) WriteableStoreClient {
  1192  	return &writeableStoreClient{cc}
  1193  }
  1194  
  1195  func (c *writeableStoreClient) RemoteWrite(ctx context.Context, in *WriteRequest, opts ...grpc.CallOption) (*WriteResponse, error) {
  1196  	out := new(WriteResponse)
  1197  	err := c.cc.Invoke(ctx, "/thanos.WriteableStore/RemoteWrite", in, out, opts...)
  1198  	if err != nil {
  1199  		return nil, err
  1200  	}
  1201  	return out, nil
  1202  }
  1203  
  1204  // WriteableStoreServer is the server API for WriteableStore service.
  1205  type WriteableStoreServer interface {
  1206  	// WriteRequest allows you to write metrics to this store via remote write
  1207  	RemoteWrite(context.Context, *WriteRequest) (*WriteResponse, error)
  1208  }
  1209  
  1210  // UnimplementedWriteableStoreServer can be embedded to have forward compatible implementations.
  1211  type UnimplementedWriteableStoreServer struct {
  1212  }
  1213  
  1214  func (*UnimplementedWriteableStoreServer) RemoteWrite(ctx context.Context, req *WriteRequest) (*WriteResponse, error) {
  1215  	return nil, status.Errorf(codes.Unimplemented, "method RemoteWrite not implemented")
  1216  }
  1217  
  1218  func RegisterWriteableStoreServer(s *grpc.Server, srv WriteableStoreServer) {
  1219  	s.RegisterService(&_WriteableStore_serviceDesc, srv)
  1220  }
  1221  
  1222  func _WriteableStore_RemoteWrite_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1223  	in := new(WriteRequest)
  1224  	if err := dec(in); err != nil {
  1225  		return nil, err
  1226  	}
  1227  	if interceptor == nil {
  1228  		return srv.(WriteableStoreServer).RemoteWrite(ctx, in)
  1229  	}
  1230  	info := &grpc.UnaryServerInfo{
  1231  		Server:     srv,
  1232  		FullMethod: "/thanos.WriteableStore/RemoteWrite",
  1233  	}
  1234  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1235  		return srv.(WriteableStoreServer).RemoteWrite(ctx, req.(*WriteRequest))
  1236  	}
  1237  	return interceptor(ctx, in, info, handler)
  1238  }
  1239  
  1240  var _WriteableStore_serviceDesc = grpc.ServiceDesc{
  1241  	ServiceName: "thanos.WriteableStore",
  1242  	HandlerType: (*WriteableStoreServer)(nil),
  1243  	Methods: []grpc.MethodDesc{
  1244  		{
  1245  			MethodName: "RemoteWrite",
  1246  			Handler:    _WriteableStore_RemoteWrite_Handler,
  1247  		},
  1248  	},
  1249  	Streams:  []grpc.StreamDesc{},
  1250  	Metadata: "store/storepb/rpc.proto",
  1251  }
  1252  
  1253  func (m *WriteResponse) Marshal() (dAtA []byte, err error) {
  1254  	size := m.Size()
  1255  	dAtA = make([]byte, size)
  1256  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1257  	if err != nil {
  1258  		return nil, err
  1259  	}
  1260  	return dAtA[:n], nil
  1261  }
  1262  
  1263  func (m *WriteResponse) MarshalTo(dAtA []byte) (int, error) {
  1264  	size := m.Size()
  1265  	return m.MarshalToSizedBuffer(dAtA[:size])
  1266  }
  1267  
  1268  func (m *WriteResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1269  	i := len(dAtA)
  1270  	_ = i
  1271  	var l int
  1272  	_ = l
  1273  	return len(dAtA) - i, nil
  1274  }
  1275  
  1276  func (m *WriteRequest) Marshal() (dAtA []byte, err error) {
  1277  	size := m.Size()
  1278  	dAtA = make([]byte, size)
  1279  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1280  	if err != nil {
  1281  		return nil, err
  1282  	}
  1283  	return dAtA[:n], nil
  1284  }
  1285  
  1286  func (m *WriteRequest) MarshalTo(dAtA []byte) (int, error) {
  1287  	size := m.Size()
  1288  	return m.MarshalToSizedBuffer(dAtA[:size])
  1289  }
  1290  
  1291  func (m *WriteRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1292  	i := len(dAtA)
  1293  	_ = i
  1294  	var l int
  1295  	_ = l
  1296  	if m.Replica != 0 {
  1297  		i = encodeVarintRpc(dAtA, i, uint64(m.Replica))
  1298  		i--
  1299  		dAtA[i] = 0x18
  1300  	}
  1301  	if len(m.Tenant) > 0 {
  1302  		i -= len(m.Tenant)
  1303  		copy(dAtA[i:], m.Tenant)
  1304  		i = encodeVarintRpc(dAtA, i, uint64(len(m.Tenant)))
  1305  		i--
  1306  		dAtA[i] = 0x12
  1307  	}
  1308  	if len(m.Timeseries) > 0 {
  1309  		for iNdEx := len(m.Timeseries) - 1; iNdEx >= 0; iNdEx-- {
  1310  			{
  1311  				size, err := m.Timeseries[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  1312  				if err != nil {
  1313  					return 0, err
  1314  				}
  1315  				i -= size
  1316  				i = encodeVarintRpc(dAtA, i, uint64(size))
  1317  			}
  1318  			i--
  1319  			dAtA[i] = 0xa
  1320  		}
  1321  	}
  1322  	return len(dAtA) - i, nil
  1323  }
  1324  
  1325  func (m *InfoRequest) Marshal() (dAtA []byte, err error) {
  1326  	size := m.Size()
  1327  	dAtA = make([]byte, size)
  1328  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1329  	if err != nil {
  1330  		return nil, err
  1331  	}
  1332  	return dAtA[:n], nil
  1333  }
  1334  
  1335  func (m *InfoRequest) MarshalTo(dAtA []byte) (int, error) {
  1336  	size := m.Size()
  1337  	return m.MarshalToSizedBuffer(dAtA[:size])
  1338  }
  1339  
  1340  func (m *InfoRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1341  	i := len(dAtA)
  1342  	_ = i
  1343  	var l int
  1344  	_ = l
  1345  	return len(dAtA) - i, nil
  1346  }
  1347  
  1348  func (m *InfoResponse) Marshal() (dAtA []byte, err error) {
  1349  	size := m.Size()
  1350  	dAtA = make([]byte, size)
  1351  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1352  	if err != nil {
  1353  		return nil, err
  1354  	}
  1355  	return dAtA[:n], nil
  1356  }
  1357  
  1358  func (m *InfoResponse) MarshalTo(dAtA []byte) (int, error) {
  1359  	size := m.Size()
  1360  	return m.MarshalToSizedBuffer(dAtA[:size])
  1361  }
  1362  
  1363  func (m *InfoResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1364  	i := len(dAtA)
  1365  	_ = i
  1366  	var l int
  1367  	_ = l
  1368  	if len(m.LabelSets) > 0 {
  1369  		for iNdEx := len(m.LabelSets) - 1; iNdEx >= 0; iNdEx-- {
  1370  			{
  1371  				size, err := m.LabelSets[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  1372  				if err != nil {
  1373  					return 0, err
  1374  				}
  1375  				i -= size
  1376  				i = encodeVarintRpc(dAtA, i, uint64(size))
  1377  			}
  1378  			i--
  1379  			dAtA[i] = 0x2a
  1380  		}
  1381  	}
  1382  	if m.StoreType != 0 {
  1383  		i = encodeVarintRpc(dAtA, i, uint64(m.StoreType))
  1384  		i--
  1385  		dAtA[i] = 0x20
  1386  	}
  1387  	if m.MaxTime != 0 {
  1388  		i = encodeVarintRpc(dAtA, i, uint64(m.MaxTime))
  1389  		i--
  1390  		dAtA[i] = 0x18
  1391  	}
  1392  	if m.MinTime != 0 {
  1393  		i = encodeVarintRpc(dAtA, i, uint64(m.MinTime))
  1394  		i--
  1395  		dAtA[i] = 0x10
  1396  	}
  1397  	if len(m.Labels) > 0 {
  1398  		for iNdEx := len(m.Labels) - 1; iNdEx >= 0; iNdEx-- {
  1399  			{
  1400  				size := m.Labels[iNdEx].Size()
  1401  				i -= size
  1402  				if _, err := m.Labels[iNdEx].MarshalTo(dAtA[i:]); err != nil {
  1403  					return 0, err
  1404  				}
  1405  				i = encodeVarintRpc(dAtA, i, uint64(size))
  1406  			}
  1407  			i--
  1408  			dAtA[i] = 0xa
  1409  		}
  1410  	}
  1411  	return len(dAtA) - i, nil
  1412  }
  1413  
  1414  func (m *SeriesRequest) Marshal() (dAtA []byte, err error) {
  1415  	size := m.Size()
  1416  	dAtA = make([]byte, size)
  1417  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1418  	if err != nil {
  1419  		return nil, err
  1420  	}
  1421  	return dAtA[:n], nil
  1422  }
  1423  
  1424  func (m *SeriesRequest) MarshalTo(dAtA []byte) (int, error) {
  1425  	size := m.Size()
  1426  	return m.MarshalToSizedBuffer(dAtA[:size])
  1427  }
  1428  
  1429  func (m *SeriesRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1430  	i := len(dAtA)
  1431  	_ = i
  1432  	var l int
  1433  	_ = l
  1434  	if len(m.WithoutReplicaLabels) > 0 {
  1435  		for iNdEx := len(m.WithoutReplicaLabels) - 1; iNdEx >= 0; iNdEx-- {
  1436  			i -= len(m.WithoutReplicaLabels[iNdEx])
  1437  			copy(dAtA[i:], m.WithoutReplicaLabels[iNdEx])
  1438  			i = encodeVarintRpc(dAtA, i, uint64(len(m.WithoutReplicaLabels[iNdEx])))
  1439  			i--
  1440  			dAtA[i] = 0x72
  1441  		}
  1442  	}
  1443  	if m.ShardInfo != nil {
  1444  		{
  1445  			size, err := m.ShardInfo.MarshalToSizedBuffer(dAtA[:i])
  1446  			if err != nil {
  1447  				return 0, err
  1448  			}
  1449  			i -= size
  1450  			i = encodeVarintRpc(dAtA, i, uint64(size))
  1451  		}
  1452  		i--
  1453  		dAtA[i] = 0x6a
  1454  	}
  1455  	if m.QueryHints != nil {
  1456  		{
  1457  			size, err := m.QueryHints.MarshalToSizedBuffer(dAtA[:i])
  1458  			if err != nil {
  1459  				return 0, err
  1460  			}
  1461  			i -= size
  1462  			i = encodeVarintRpc(dAtA, i, uint64(size))
  1463  		}
  1464  		i--
  1465  		dAtA[i] = 0x62
  1466  	}
  1467  	if m.Range != 0 {
  1468  		i = encodeVarintRpc(dAtA, i, uint64(m.Range))
  1469  		i--
  1470  		dAtA[i] = 0x58
  1471  	}
  1472  	if m.Step != 0 {
  1473  		i = encodeVarintRpc(dAtA, i, uint64(m.Step))
  1474  		i--
  1475  		dAtA[i] = 0x50
  1476  	}
  1477  	if m.Hints != nil {
  1478  		{
  1479  			size, err := m.Hints.MarshalToSizedBuffer(dAtA[:i])
  1480  			if err != nil {
  1481  				return 0, err
  1482  			}
  1483  			i -= size
  1484  			i = encodeVarintRpc(dAtA, i, uint64(size))
  1485  		}
  1486  		i--
  1487  		dAtA[i] = 0x4a
  1488  	}
  1489  	if m.SkipChunks {
  1490  		i--
  1491  		if m.SkipChunks {
  1492  			dAtA[i] = 1
  1493  		} else {
  1494  			dAtA[i] = 0
  1495  		}
  1496  		i--
  1497  		dAtA[i] = 0x40
  1498  	}
  1499  	if m.PartialResponseStrategy != 0 {
  1500  		i = encodeVarintRpc(dAtA, i, uint64(m.PartialResponseStrategy))
  1501  		i--
  1502  		dAtA[i] = 0x38
  1503  	}
  1504  	if m.PartialResponseDisabled {
  1505  		i--
  1506  		if m.PartialResponseDisabled {
  1507  			dAtA[i] = 1
  1508  		} else {
  1509  			dAtA[i] = 0
  1510  		}
  1511  		i--
  1512  		dAtA[i] = 0x30
  1513  	}
  1514  	if len(m.Aggregates) > 0 {
  1515  		dAtA5 := make([]byte, len(m.Aggregates)*10)
  1516  		var j4 int
  1517  		for _, num := range m.Aggregates {
  1518  			for num >= 1<<7 {
  1519  				dAtA5[j4] = uint8(uint64(num)&0x7f | 0x80)
  1520  				num >>= 7
  1521  				j4++
  1522  			}
  1523  			dAtA5[j4] = uint8(num)
  1524  			j4++
  1525  		}
  1526  		i -= j4
  1527  		copy(dAtA[i:], dAtA5[:j4])
  1528  		i = encodeVarintRpc(dAtA, i, uint64(j4))
  1529  		i--
  1530  		dAtA[i] = 0x2a
  1531  	}
  1532  	if m.MaxResolutionWindow != 0 {
  1533  		i = encodeVarintRpc(dAtA, i, uint64(m.MaxResolutionWindow))
  1534  		i--
  1535  		dAtA[i] = 0x20
  1536  	}
  1537  	if len(m.Matchers) > 0 {
  1538  		for iNdEx := len(m.Matchers) - 1; iNdEx >= 0; iNdEx-- {
  1539  			{
  1540  				size, err := m.Matchers[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  1541  				if err != nil {
  1542  					return 0, err
  1543  				}
  1544  				i -= size
  1545  				i = encodeVarintRpc(dAtA, i, uint64(size))
  1546  			}
  1547  			i--
  1548  			dAtA[i] = 0x1a
  1549  		}
  1550  	}
  1551  	if m.MaxTime != 0 {
  1552  		i = encodeVarintRpc(dAtA, i, uint64(m.MaxTime))
  1553  		i--
  1554  		dAtA[i] = 0x10
  1555  	}
  1556  	if m.MinTime != 0 {
  1557  		i = encodeVarintRpc(dAtA, i, uint64(m.MinTime))
  1558  		i--
  1559  		dAtA[i] = 0x8
  1560  	}
  1561  	return len(dAtA) - i, nil
  1562  }
  1563  
  1564  func (m *QueryHints) Marshal() (dAtA []byte, err error) {
  1565  	size := m.Size()
  1566  	dAtA = make([]byte, size)
  1567  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1568  	if err != nil {
  1569  		return nil, err
  1570  	}
  1571  	return dAtA[:n], nil
  1572  }
  1573  
  1574  func (m *QueryHints) MarshalTo(dAtA []byte) (int, error) {
  1575  	size := m.Size()
  1576  	return m.MarshalToSizedBuffer(dAtA[:size])
  1577  }
  1578  
  1579  func (m *QueryHints) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1580  	i := len(dAtA)
  1581  	_ = i
  1582  	var l int
  1583  	_ = l
  1584  	if m.Range != nil {
  1585  		{
  1586  			size, err := m.Range.MarshalToSizedBuffer(dAtA[:i])
  1587  			if err != nil {
  1588  				return 0, err
  1589  			}
  1590  			i -= size
  1591  			i = encodeVarintRpc(dAtA, i, uint64(size))
  1592  		}
  1593  		i--
  1594  		dAtA[i] = 0x2a
  1595  	}
  1596  	if m.Grouping != nil {
  1597  		{
  1598  			size, err := m.Grouping.MarshalToSizedBuffer(dAtA[:i])
  1599  			if err != nil {
  1600  				return 0, err
  1601  			}
  1602  			i -= size
  1603  			i = encodeVarintRpc(dAtA, i, uint64(size))
  1604  		}
  1605  		i--
  1606  		dAtA[i] = 0x22
  1607  	}
  1608  	if m.Func != nil {
  1609  		{
  1610  			size, err := m.Func.MarshalToSizedBuffer(dAtA[:i])
  1611  			if err != nil {
  1612  				return 0, err
  1613  			}
  1614  			i -= size
  1615  			i = encodeVarintRpc(dAtA, i, uint64(size))
  1616  		}
  1617  		i--
  1618  		dAtA[i] = 0x12
  1619  	}
  1620  	if m.StepMillis != 0 {
  1621  		i = encodeVarintRpc(dAtA, i, uint64(m.StepMillis))
  1622  		i--
  1623  		dAtA[i] = 0x8
  1624  	}
  1625  	return len(dAtA) - i, nil
  1626  }
  1627  
  1628  func (m *ShardInfo) Marshal() (dAtA []byte, err error) {
  1629  	size := m.Size()
  1630  	dAtA = make([]byte, size)
  1631  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1632  	if err != nil {
  1633  		return nil, err
  1634  	}
  1635  	return dAtA[:n], nil
  1636  }
  1637  
  1638  func (m *ShardInfo) MarshalTo(dAtA []byte) (int, error) {
  1639  	size := m.Size()
  1640  	return m.MarshalToSizedBuffer(dAtA[:size])
  1641  }
  1642  
  1643  func (m *ShardInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1644  	i := len(dAtA)
  1645  	_ = i
  1646  	var l int
  1647  	_ = l
  1648  	if len(m.Labels) > 0 {
  1649  		for iNdEx := len(m.Labels) - 1; iNdEx >= 0; iNdEx-- {
  1650  			i -= len(m.Labels[iNdEx])
  1651  			copy(dAtA[i:], m.Labels[iNdEx])
  1652  			i = encodeVarintRpc(dAtA, i, uint64(len(m.Labels[iNdEx])))
  1653  			i--
  1654  			dAtA[i] = 0x22
  1655  		}
  1656  	}
  1657  	if m.By {
  1658  		i--
  1659  		if m.By {
  1660  			dAtA[i] = 1
  1661  		} else {
  1662  			dAtA[i] = 0
  1663  		}
  1664  		i--
  1665  		dAtA[i] = 0x18
  1666  	}
  1667  	if m.TotalShards != 0 {
  1668  		i = encodeVarintRpc(dAtA, i, uint64(m.TotalShards))
  1669  		i--
  1670  		dAtA[i] = 0x10
  1671  	}
  1672  	if m.ShardIndex != 0 {
  1673  		i = encodeVarintRpc(dAtA, i, uint64(m.ShardIndex))
  1674  		i--
  1675  		dAtA[i] = 0x8
  1676  	}
  1677  	return len(dAtA) - i, nil
  1678  }
  1679  
  1680  func (m *Func) Marshal() (dAtA []byte, err error) {
  1681  	size := m.Size()
  1682  	dAtA = make([]byte, size)
  1683  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1684  	if err != nil {
  1685  		return nil, err
  1686  	}
  1687  	return dAtA[:n], nil
  1688  }
  1689  
  1690  func (m *Func) MarshalTo(dAtA []byte) (int, error) {
  1691  	size := m.Size()
  1692  	return m.MarshalToSizedBuffer(dAtA[:size])
  1693  }
  1694  
  1695  func (m *Func) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1696  	i := len(dAtA)
  1697  	_ = i
  1698  	var l int
  1699  	_ = l
  1700  	if len(m.Name) > 0 {
  1701  		i -= len(m.Name)
  1702  		copy(dAtA[i:], m.Name)
  1703  		i = encodeVarintRpc(dAtA, i, uint64(len(m.Name)))
  1704  		i--
  1705  		dAtA[i] = 0xa
  1706  	}
  1707  	return len(dAtA) - i, nil
  1708  }
  1709  
  1710  func (m *Grouping) Marshal() (dAtA []byte, err error) {
  1711  	size := m.Size()
  1712  	dAtA = make([]byte, size)
  1713  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1714  	if err != nil {
  1715  		return nil, err
  1716  	}
  1717  	return dAtA[:n], nil
  1718  }
  1719  
  1720  func (m *Grouping) MarshalTo(dAtA []byte) (int, error) {
  1721  	size := m.Size()
  1722  	return m.MarshalToSizedBuffer(dAtA[:size])
  1723  }
  1724  
  1725  func (m *Grouping) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1726  	i := len(dAtA)
  1727  	_ = i
  1728  	var l int
  1729  	_ = l
  1730  	if len(m.Labels) > 0 {
  1731  		for iNdEx := len(m.Labels) - 1; iNdEx >= 0; iNdEx-- {
  1732  			i -= len(m.Labels[iNdEx])
  1733  			copy(dAtA[i:], m.Labels[iNdEx])
  1734  			i = encodeVarintRpc(dAtA, i, uint64(len(m.Labels[iNdEx])))
  1735  			i--
  1736  			dAtA[i] = 0x1a
  1737  		}
  1738  	}
  1739  	if m.By {
  1740  		i--
  1741  		if m.By {
  1742  			dAtA[i] = 1
  1743  		} else {
  1744  			dAtA[i] = 0
  1745  		}
  1746  		i--
  1747  		dAtA[i] = 0x8
  1748  	}
  1749  	return len(dAtA) - i, nil
  1750  }
  1751  
  1752  func (m *Range) Marshal() (dAtA []byte, err error) {
  1753  	size := m.Size()
  1754  	dAtA = make([]byte, size)
  1755  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1756  	if err != nil {
  1757  		return nil, err
  1758  	}
  1759  	return dAtA[:n], nil
  1760  }
  1761  
  1762  func (m *Range) MarshalTo(dAtA []byte) (int, error) {
  1763  	size := m.Size()
  1764  	return m.MarshalToSizedBuffer(dAtA[:size])
  1765  }
  1766  
  1767  func (m *Range) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1768  	i := len(dAtA)
  1769  	_ = i
  1770  	var l int
  1771  	_ = l
  1772  	if m.Millis != 0 {
  1773  		i = encodeVarintRpc(dAtA, i, uint64(m.Millis))
  1774  		i--
  1775  		dAtA[i] = 0x8
  1776  	}
  1777  	return len(dAtA) - i, nil
  1778  }
  1779  
  1780  func (m *SeriesResponse) Marshal() (dAtA []byte, err error) {
  1781  	size := m.Size()
  1782  	dAtA = make([]byte, size)
  1783  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1784  	if err != nil {
  1785  		return nil, err
  1786  	}
  1787  	return dAtA[:n], nil
  1788  }
  1789  
  1790  func (m *SeriesResponse) MarshalTo(dAtA []byte) (int, error) {
  1791  	size := m.Size()
  1792  	return m.MarshalToSizedBuffer(dAtA[:size])
  1793  }
  1794  
  1795  func (m *SeriesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1796  	i := len(dAtA)
  1797  	_ = i
  1798  	var l int
  1799  	_ = l
  1800  	if m.Result != nil {
  1801  		{
  1802  			size := m.Result.Size()
  1803  			i -= size
  1804  			if _, err := m.Result.MarshalTo(dAtA[i:]); err != nil {
  1805  				return 0, err
  1806  			}
  1807  		}
  1808  	}
  1809  	return len(dAtA) - i, nil
  1810  }
  1811  
  1812  func (m *SeriesResponse_Series) MarshalTo(dAtA []byte) (int, error) {
  1813  	size := m.Size()
  1814  	return m.MarshalToSizedBuffer(dAtA[:size])
  1815  }
  1816  
  1817  func (m *SeriesResponse_Series) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1818  	i := len(dAtA)
  1819  	if m.Series != nil {
  1820  		{
  1821  			size, err := m.Series.MarshalToSizedBuffer(dAtA[:i])
  1822  			if err != nil {
  1823  				return 0, err
  1824  			}
  1825  			i -= size
  1826  			i = encodeVarintRpc(dAtA, i, uint64(size))
  1827  		}
  1828  		i--
  1829  		dAtA[i] = 0xa
  1830  	}
  1831  	return len(dAtA) - i, nil
  1832  }
  1833  func (m *SeriesResponse_Warning) MarshalTo(dAtA []byte) (int, error) {
  1834  	size := m.Size()
  1835  	return m.MarshalToSizedBuffer(dAtA[:size])
  1836  }
  1837  
  1838  func (m *SeriesResponse_Warning) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1839  	i := len(dAtA)
  1840  	i -= len(m.Warning)
  1841  	copy(dAtA[i:], m.Warning)
  1842  	i = encodeVarintRpc(dAtA, i, uint64(len(m.Warning)))
  1843  	i--
  1844  	dAtA[i] = 0x12
  1845  	return len(dAtA) - i, nil
  1846  }
  1847  func (m *SeriesResponse_Hints) MarshalTo(dAtA []byte) (int, error) {
  1848  	size := m.Size()
  1849  	return m.MarshalToSizedBuffer(dAtA[:size])
  1850  }
  1851  
  1852  func (m *SeriesResponse_Hints) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1853  	i := len(dAtA)
  1854  	if m.Hints != nil {
  1855  		{
  1856  			size, err := m.Hints.MarshalToSizedBuffer(dAtA[:i])
  1857  			if err != nil {
  1858  				return 0, err
  1859  			}
  1860  			i -= size
  1861  			i = encodeVarintRpc(dAtA, i, uint64(size))
  1862  		}
  1863  		i--
  1864  		dAtA[i] = 0x1a
  1865  	}
  1866  	return len(dAtA) - i, nil
  1867  }
  1868  func (m *LabelNamesRequest) Marshal() (dAtA []byte, err error) {
  1869  	size := m.Size()
  1870  	dAtA = make([]byte, size)
  1871  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1872  	if err != nil {
  1873  		return nil, err
  1874  	}
  1875  	return dAtA[:n], nil
  1876  }
  1877  
  1878  func (m *LabelNamesRequest) MarshalTo(dAtA []byte) (int, error) {
  1879  	size := m.Size()
  1880  	return m.MarshalToSizedBuffer(dAtA[:size])
  1881  }
  1882  
  1883  func (m *LabelNamesRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1884  	i := len(dAtA)
  1885  	_ = i
  1886  	var l int
  1887  	_ = l
  1888  	if len(m.Matchers) > 0 {
  1889  		for iNdEx := len(m.Matchers) - 1; iNdEx >= 0; iNdEx-- {
  1890  			{
  1891  				size, err := m.Matchers[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  1892  				if err != nil {
  1893  					return 0, err
  1894  				}
  1895  				i -= size
  1896  				i = encodeVarintRpc(dAtA, i, uint64(size))
  1897  			}
  1898  			i--
  1899  			dAtA[i] = 0x32
  1900  		}
  1901  	}
  1902  	if m.Hints != nil {
  1903  		{
  1904  			size, err := m.Hints.MarshalToSizedBuffer(dAtA[:i])
  1905  			if err != nil {
  1906  				return 0, err
  1907  			}
  1908  			i -= size
  1909  			i = encodeVarintRpc(dAtA, i, uint64(size))
  1910  		}
  1911  		i--
  1912  		dAtA[i] = 0x2a
  1913  	}
  1914  	if m.End != 0 {
  1915  		i = encodeVarintRpc(dAtA, i, uint64(m.End))
  1916  		i--
  1917  		dAtA[i] = 0x20
  1918  	}
  1919  	if m.Start != 0 {
  1920  		i = encodeVarintRpc(dAtA, i, uint64(m.Start))
  1921  		i--
  1922  		dAtA[i] = 0x18
  1923  	}
  1924  	if m.PartialResponseStrategy != 0 {
  1925  		i = encodeVarintRpc(dAtA, i, uint64(m.PartialResponseStrategy))
  1926  		i--
  1927  		dAtA[i] = 0x10
  1928  	}
  1929  	if m.PartialResponseDisabled {
  1930  		i--
  1931  		if m.PartialResponseDisabled {
  1932  			dAtA[i] = 1
  1933  		} else {
  1934  			dAtA[i] = 0
  1935  		}
  1936  		i--
  1937  		dAtA[i] = 0x8
  1938  	}
  1939  	return len(dAtA) - i, nil
  1940  }
  1941  
  1942  func (m *LabelNamesResponse) Marshal() (dAtA []byte, err error) {
  1943  	size := m.Size()
  1944  	dAtA = make([]byte, size)
  1945  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1946  	if err != nil {
  1947  		return nil, err
  1948  	}
  1949  	return dAtA[:n], nil
  1950  }
  1951  
  1952  func (m *LabelNamesResponse) MarshalTo(dAtA []byte) (int, error) {
  1953  	size := m.Size()
  1954  	return m.MarshalToSizedBuffer(dAtA[:size])
  1955  }
  1956  
  1957  func (m *LabelNamesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1958  	i := len(dAtA)
  1959  	_ = i
  1960  	var l int
  1961  	_ = l
  1962  	if m.Hints != nil {
  1963  		{
  1964  			size, err := m.Hints.MarshalToSizedBuffer(dAtA[:i])
  1965  			if err != nil {
  1966  				return 0, err
  1967  			}
  1968  			i -= size
  1969  			i = encodeVarintRpc(dAtA, i, uint64(size))
  1970  		}
  1971  		i--
  1972  		dAtA[i] = 0x1a
  1973  	}
  1974  	if len(m.Warnings) > 0 {
  1975  		for iNdEx := len(m.Warnings) - 1; iNdEx >= 0; iNdEx-- {
  1976  			i -= len(m.Warnings[iNdEx])
  1977  			copy(dAtA[i:], m.Warnings[iNdEx])
  1978  			i = encodeVarintRpc(dAtA, i, uint64(len(m.Warnings[iNdEx])))
  1979  			i--
  1980  			dAtA[i] = 0x12
  1981  		}
  1982  	}
  1983  	if len(m.Names) > 0 {
  1984  		for iNdEx := len(m.Names) - 1; iNdEx >= 0; iNdEx-- {
  1985  			i -= len(m.Names[iNdEx])
  1986  			copy(dAtA[i:], m.Names[iNdEx])
  1987  			i = encodeVarintRpc(dAtA, i, uint64(len(m.Names[iNdEx])))
  1988  			i--
  1989  			dAtA[i] = 0xa
  1990  		}
  1991  	}
  1992  	return len(dAtA) - i, nil
  1993  }
  1994  
  1995  func (m *LabelValuesRequest) Marshal() (dAtA []byte, err error) {
  1996  	size := m.Size()
  1997  	dAtA = make([]byte, size)
  1998  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1999  	if err != nil {
  2000  		return nil, err
  2001  	}
  2002  	return dAtA[:n], nil
  2003  }
  2004  
  2005  func (m *LabelValuesRequest) MarshalTo(dAtA []byte) (int, error) {
  2006  	size := m.Size()
  2007  	return m.MarshalToSizedBuffer(dAtA[:size])
  2008  }
  2009  
  2010  func (m *LabelValuesRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  2011  	i := len(dAtA)
  2012  	_ = i
  2013  	var l int
  2014  	_ = l
  2015  	if len(m.Matchers) > 0 {
  2016  		for iNdEx := len(m.Matchers) - 1; iNdEx >= 0; iNdEx-- {
  2017  			{
  2018  				size, err := m.Matchers[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  2019  				if err != nil {
  2020  					return 0, err
  2021  				}
  2022  				i -= size
  2023  				i = encodeVarintRpc(dAtA, i, uint64(size))
  2024  			}
  2025  			i--
  2026  			dAtA[i] = 0x3a
  2027  		}
  2028  	}
  2029  	if m.Hints != nil {
  2030  		{
  2031  			size, err := m.Hints.MarshalToSizedBuffer(dAtA[:i])
  2032  			if err != nil {
  2033  				return 0, err
  2034  			}
  2035  			i -= size
  2036  			i = encodeVarintRpc(dAtA, i, uint64(size))
  2037  		}
  2038  		i--
  2039  		dAtA[i] = 0x32
  2040  	}
  2041  	if m.End != 0 {
  2042  		i = encodeVarintRpc(dAtA, i, uint64(m.End))
  2043  		i--
  2044  		dAtA[i] = 0x28
  2045  	}
  2046  	if m.Start != 0 {
  2047  		i = encodeVarintRpc(dAtA, i, uint64(m.Start))
  2048  		i--
  2049  		dAtA[i] = 0x20
  2050  	}
  2051  	if m.PartialResponseStrategy != 0 {
  2052  		i = encodeVarintRpc(dAtA, i, uint64(m.PartialResponseStrategy))
  2053  		i--
  2054  		dAtA[i] = 0x18
  2055  	}
  2056  	if m.PartialResponseDisabled {
  2057  		i--
  2058  		if m.PartialResponseDisabled {
  2059  			dAtA[i] = 1
  2060  		} else {
  2061  			dAtA[i] = 0
  2062  		}
  2063  		i--
  2064  		dAtA[i] = 0x10
  2065  	}
  2066  	if len(m.Label) > 0 {
  2067  		i -= len(m.Label)
  2068  		copy(dAtA[i:], m.Label)
  2069  		i = encodeVarintRpc(dAtA, i, uint64(len(m.Label)))
  2070  		i--
  2071  		dAtA[i] = 0xa
  2072  	}
  2073  	return len(dAtA) - i, nil
  2074  }
  2075  
  2076  func (m *LabelValuesResponse) Marshal() (dAtA []byte, err error) {
  2077  	size := m.Size()
  2078  	dAtA = make([]byte, size)
  2079  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  2080  	if err != nil {
  2081  		return nil, err
  2082  	}
  2083  	return dAtA[:n], nil
  2084  }
  2085  
  2086  func (m *LabelValuesResponse) MarshalTo(dAtA []byte) (int, error) {
  2087  	size := m.Size()
  2088  	return m.MarshalToSizedBuffer(dAtA[:size])
  2089  }
  2090  
  2091  func (m *LabelValuesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  2092  	i := len(dAtA)
  2093  	_ = i
  2094  	var l int
  2095  	_ = l
  2096  	if m.Hints != nil {
  2097  		{
  2098  			size, err := m.Hints.MarshalToSizedBuffer(dAtA[:i])
  2099  			if err != nil {
  2100  				return 0, err
  2101  			}
  2102  			i -= size
  2103  			i = encodeVarintRpc(dAtA, i, uint64(size))
  2104  		}
  2105  		i--
  2106  		dAtA[i] = 0x1a
  2107  	}
  2108  	if len(m.Warnings) > 0 {
  2109  		for iNdEx := len(m.Warnings) - 1; iNdEx >= 0; iNdEx-- {
  2110  			i -= len(m.Warnings[iNdEx])
  2111  			copy(dAtA[i:], m.Warnings[iNdEx])
  2112  			i = encodeVarintRpc(dAtA, i, uint64(len(m.Warnings[iNdEx])))
  2113  			i--
  2114  			dAtA[i] = 0x12
  2115  		}
  2116  	}
  2117  	if len(m.Values) > 0 {
  2118  		for iNdEx := len(m.Values) - 1; iNdEx >= 0; iNdEx-- {
  2119  			i -= len(m.Values[iNdEx])
  2120  			copy(dAtA[i:], m.Values[iNdEx])
  2121  			i = encodeVarintRpc(dAtA, i, uint64(len(m.Values[iNdEx])))
  2122  			i--
  2123  			dAtA[i] = 0xa
  2124  		}
  2125  	}
  2126  	return len(dAtA) - i, nil
  2127  }
  2128  
  2129  func encodeVarintRpc(dAtA []byte, offset int, v uint64) int {
  2130  	offset -= sovRpc(v)
  2131  	base := offset
  2132  	for v >= 1<<7 {
  2133  		dAtA[offset] = uint8(v&0x7f | 0x80)
  2134  		v >>= 7
  2135  		offset++
  2136  	}
  2137  	dAtA[offset] = uint8(v)
  2138  	return base
  2139  }
  2140  func (m *WriteResponse) Size() (n int) {
  2141  	if m == nil {
  2142  		return 0
  2143  	}
  2144  	var l int
  2145  	_ = l
  2146  	return n
  2147  }
  2148  
  2149  func (m *WriteRequest) Size() (n int) {
  2150  	if m == nil {
  2151  		return 0
  2152  	}
  2153  	var l int
  2154  	_ = l
  2155  	if len(m.Timeseries) > 0 {
  2156  		for _, e := range m.Timeseries {
  2157  			l = e.Size()
  2158  			n += 1 + l + sovRpc(uint64(l))
  2159  		}
  2160  	}
  2161  	l = len(m.Tenant)
  2162  	if l > 0 {
  2163  		n += 1 + l + sovRpc(uint64(l))
  2164  	}
  2165  	if m.Replica != 0 {
  2166  		n += 1 + sovRpc(uint64(m.Replica))
  2167  	}
  2168  	return n
  2169  }
  2170  
  2171  func (m *InfoRequest) Size() (n int) {
  2172  	if m == nil {
  2173  		return 0
  2174  	}
  2175  	var l int
  2176  	_ = l
  2177  	return n
  2178  }
  2179  
  2180  func (m *InfoResponse) Size() (n int) {
  2181  	if m == nil {
  2182  		return 0
  2183  	}
  2184  	var l int
  2185  	_ = l
  2186  	if len(m.Labels) > 0 {
  2187  		for _, e := range m.Labels {
  2188  			l = e.Size()
  2189  			n += 1 + l + sovRpc(uint64(l))
  2190  		}
  2191  	}
  2192  	if m.MinTime != 0 {
  2193  		n += 1 + sovRpc(uint64(m.MinTime))
  2194  	}
  2195  	if m.MaxTime != 0 {
  2196  		n += 1 + sovRpc(uint64(m.MaxTime))
  2197  	}
  2198  	if m.StoreType != 0 {
  2199  		n += 1 + sovRpc(uint64(m.StoreType))
  2200  	}
  2201  	if len(m.LabelSets) > 0 {
  2202  		for _, e := range m.LabelSets {
  2203  			l = e.Size()
  2204  			n += 1 + l + sovRpc(uint64(l))
  2205  		}
  2206  	}
  2207  	return n
  2208  }
  2209  
  2210  func (m *SeriesRequest) Size() (n int) {
  2211  	if m == nil {
  2212  		return 0
  2213  	}
  2214  	var l int
  2215  	_ = l
  2216  	if m.MinTime != 0 {
  2217  		n += 1 + sovRpc(uint64(m.MinTime))
  2218  	}
  2219  	if m.MaxTime != 0 {
  2220  		n += 1 + sovRpc(uint64(m.MaxTime))
  2221  	}
  2222  	if len(m.Matchers) > 0 {
  2223  		for _, e := range m.Matchers {
  2224  			l = e.Size()
  2225  			n += 1 + l + sovRpc(uint64(l))
  2226  		}
  2227  	}
  2228  	if m.MaxResolutionWindow != 0 {
  2229  		n += 1 + sovRpc(uint64(m.MaxResolutionWindow))
  2230  	}
  2231  	if len(m.Aggregates) > 0 {
  2232  		l = 0
  2233  		for _, e := range m.Aggregates {
  2234  			l += sovRpc(uint64(e))
  2235  		}
  2236  		n += 1 + sovRpc(uint64(l)) + l
  2237  	}
  2238  	if m.PartialResponseDisabled {
  2239  		n += 2
  2240  	}
  2241  	if m.PartialResponseStrategy != 0 {
  2242  		n += 1 + sovRpc(uint64(m.PartialResponseStrategy))
  2243  	}
  2244  	if m.SkipChunks {
  2245  		n += 2
  2246  	}
  2247  	if m.Hints != nil {
  2248  		l = m.Hints.Size()
  2249  		n += 1 + l + sovRpc(uint64(l))
  2250  	}
  2251  	if m.Step != 0 {
  2252  		n += 1 + sovRpc(uint64(m.Step))
  2253  	}
  2254  	if m.Range != 0 {
  2255  		n += 1 + sovRpc(uint64(m.Range))
  2256  	}
  2257  	if m.QueryHints != nil {
  2258  		l = m.QueryHints.Size()
  2259  		n += 1 + l + sovRpc(uint64(l))
  2260  	}
  2261  	if m.ShardInfo != nil {
  2262  		l = m.ShardInfo.Size()
  2263  		n += 1 + l + sovRpc(uint64(l))
  2264  	}
  2265  	if len(m.WithoutReplicaLabels) > 0 {
  2266  		for _, s := range m.WithoutReplicaLabels {
  2267  			l = len(s)
  2268  			n += 1 + l + sovRpc(uint64(l))
  2269  		}
  2270  	}
  2271  	return n
  2272  }
  2273  
  2274  func (m *QueryHints) Size() (n int) {
  2275  	if m == nil {
  2276  		return 0
  2277  	}
  2278  	var l int
  2279  	_ = l
  2280  	if m.StepMillis != 0 {
  2281  		n += 1 + sovRpc(uint64(m.StepMillis))
  2282  	}
  2283  	if m.Func != nil {
  2284  		l = m.Func.Size()
  2285  		n += 1 + l + sovRpc(uint64(l))
  2286  	}
  2287  	if m.Grouping != nil {
  2288  		l = m.Grouping.Size()
  2289  		n += 1 + l + sovRpc(uint64(l))
  2290  	}
  2291  	if m.Range != nil {
  2292  		l = m.Range.Size()
  2293  		n += 1 + l + sovRpc(uint64(l))
  2294  	}
  2295  	return n
  2296  }
  2297  
  2298  func (m *ShardInfo) Size() (n int) {
  2299  	if m == nil {
  2300  		return 0
  2301  	}
  2302  	var l int
  2303  	_ = l
  2304  	if m.ShardIndex != 0 {
  2305  		n += 1 + sovRpc(uint64(m.ShardIndex))
  2306  	}
  2307  	if m.TotalShards != 0 {
  2308  		n += 1 + sovRpc(uint64(m.TotalShards))
  2309  	}
  2310  	if m.By {
  2311  		n += 2
  2312  	}
  2313  	if len(m.Labels) > 0 {
  2314  		for _, s := range m.Labels {
  2315  			l = len(s)
  2316  			n += 1 + l + sovRpc(uint64(l))
  2317  		}
  2318  	}
  2319  	return n
  2320  }
  2321  
  2322  func (m *Func) Size() (n int) {
  2323  	if m == nil {
  2324  		return 0
  2325  	}
  2326  	var l int
  2327  	_ = l
  2328  	l = len(m.Name)
  2329  	if l > 0 {
  2330  		n += 1 + l + sovRpc(uint64(l))
  2331  	}
  2332  	return n
  2333  }
  2334  
  2335  func (m *Grouping) Size() (n int) {
  2336  	if m == nil {
  2337  		return 0
  2338  	}
  2339  	var l int
  2340  	_ = l
  2341  	if m.By {
  2342  		n += 2
  2343  	}
  2344  	if len(m.Labels) > 0 {
  2345  		for _, s := range m.Labels {
  2346  			l = len(s)
  2347  			n += 1 + l + sovRpc(uint64(l))
  2348  		}
  2349  	}
  2350  	return n
  2351  }
  2352  
  2353  func (m *Range) Size() (n int) {
  2354  	if m == nil {
  2355  		return 0
  2356  	}
  2357  	var l int
  2358  	_ = l
  2359  	if m.Millis != 0 {
  2360  		n += 1 + sovRpc(uint64(m.Millis))
  2361  	}
  2362  	return n
  2363  }
  2364  
  2365  func (m *SeriesResponse) Size() (n int) {
  2366  	if m == nil {
  2367  		return 0
  2368  	}
  2369  	var l int
  2370  	_ = l
  2371  	if m.Result != nil {
  2372  		n += m.Result.Size()
  2373  	}
  2374  	return n
  2375  }
  2376  
  2377  func (m *SeriesResponse_Series) Size() (n int) {
  2378  	if m == nil {
  2379  		return 0
  2380  	}
  2381  	var l int
  2382  	_ = l
  2383  	if m.Series != nil {
  2384  		l = m.Series.Size()
  2385  		n += 1 + l + sovRpc(uint64(l))
  2386  	}
  2387  	return n
  2388  }
  2389  func (m *SeriesResponse_Warning) Size() (n int) {
  2390  	if m == nil {
  2391  		return 0
  2392  	}
  2393  	var l int
  2394  	_ = l
  2395  	l = len(m.Warning)
  2396  	n += 1 + l + sovRpc(uint64(l))
  2397  	return n
  2398  }
  2399  func (m *SeriesResponse_Hints) Size() (n int) {
  2400  	if m == nil {
  2401  		return 0
  2402  	}
  2403  	var l int
  2404  	_ = l
  2405  	if m.Hints != nil {
  2406  		l = m.Hints.Size()
  2407  		n += 1 + l + sovRpc(uint64(l))
  2408  	}
  2409  	return n
  2410  }
  2411  func (m *LabelNamesRequest) Size() (n int) {
  2412  	if m == nil {
  2413  		return 0
  2414  	}
  2415  	var l int
  2416  	_ = l
  2417  	if m.PartialResponseDisabled {
  2418  		n += 2
  2419  	}
  2420  	if m.PartialResponseStrategy != 0 {
  2421  		n += 1 + sovRpc(uint64(m.PartialResponseStrategy))
  2422  	}
  2423  	if m.Start != 0 {
  2424  		n += 1 + sovRpc(uint64(m.Start))
  2425  	}
  2426  	if m.End != 0 {
  2427  		n += 1 + sovRpc(uint64(m.End))
  2428  	}
  2429  	if m.Hints != nil {
  2430  		l = m.Hints.Size()
  2431  		n += 1 + l + sovRpc(uint64(l))
  2432  	}
  2433  	if len(m.Matchers) > 0 {
  2434  		for _, e := range m.Matchers {
  2435  			l = e.Size()
  2436  			n += 1 + l + sovRpc(uint64(l))
  2437  		}
  2438  	}
  2439  	return n
  2440  }
  2441  
  2442  func (m *LabelNamesResponse) Size() (n int) {
  2443  	if m == nil {
  2444  		return 0
  2445  	}
  2446  	var l int
  2447  	_ = l
  2448  	if len(m.Names) > 0 {
  2449  		for _, s := range m.Names {
  2450  			l = len(s)
  2451  			n += 1 + l + sovRpc(uint64(l))
  2452  		}
  2453  	}
  2454  	if len(m.Warnings) > 0 {
  2455  		for _, s := range m.Warnings {
  2456  			l = len(s)
  2457  			n += 1 + l + sovRpc(uint64(l))
  2458  		}
  2459  	}
  2460  	if m.Hints != nil {
  2461  		l = m.Hints.Size()
  2462  		n += 1 + l + sovRpc(uint64(l))
  2463  	}
  2464  	return n
  2465  }
  2466  
  2467  func (m *LabelValuesRequest) Size() (n int) {
  2468  	if m == nil {
  2469  		return 0
  2470  	}
  2471  	var l int
  2472  	_ = l
  2473  	l = len(m.Label)
  2474  	if l > 0 {
  2475  		n += 1 + l + sovRpc(uint64(l))
  2476  	}
  2477  	if m.PartialResponseDisabled {
  2478  		n += 2
  2479  	}
  2480  	if m.PartialResponseStrategy != 0 {
  2481  		n += 1 + sovRpc(uint64(m.PartialResponseStrategy))
  2482  	}
  2483  	if m.Start != 0 {
  2484  		n += 1 + sovRpc(uint64(m.Start))
  2485  	}
  2486  	if m.End != 0 {
  2487  		n += 1 + sovRpc(uint64(m.End))
  2488  	}
  2489  	if m.Hints != nil {
  2490  		l = m.Hints.Size()
  2491  		n += 1 + l + sovRpc(uint64(l))
  2492  	}
  2493  	if len(m.Matchers) > 0 {
  2494  		for _, e := range m.Matchers {
  2495  			l = e.Size()
  2496  			n += 1 + l + sovRpc(uint64(l))
  2497  		}
  2498  	}
  2499  	return n
  2500  }
  2501  
  2502  func (m *LabelValuesResponse) Size() (n int) {
  2503  	if m == nil {
  2504  		return 0
  2505  	}
  2506  	var l int
  2507  	_ = l
  2508  	if len(m.Values) > 0 {
  2509  		for _, s := range m.Values {
  2510  			l = len(s)
  2511  			n += 1 + l + sovRpc(uint64(l))
  2512  		}
  2513  	}
  2514  	if len(m.Warnings) > 0 {
  2515  		for _, s := range m.Warnings {
  2516  			l = len(s)
  2517  			n += 1 + l + sovRpc(uint64(l))
  2518  		}
  2519  	}
  2520  	if m.Hints != nil {
  2521  		l = m.Hints.Size()
  2522  		n += 1 + l + sovRpc(uint64(l))
  2523  	}
  2524  	return n
  2525  }
  2526  
  2527  func sovRpc(x uint64) (n int) {
  2528  	return (math_bits.Len64(x|1) + 6) / 7
  2529  }
  2530  func sozRpc(x uint64) (n int) {
  2531  	return sovRpc(uint64((x << 1) ^ uint64((int64(x) >> 63))))
  2532  }
  2533  func (m *WriteResponse) Unmarshal(dAtA []byte) error {
  2534  	l := len(dAtA)
  2535  	iNdEx := 0
  2536  	for iNdEx < l {
  2537  		preIndex := iNdEx
  2538  		var wire uint64
  2539  		for shift := uint(0); ; shift += 7 {
  2540  			if shift >= 64 {
  2541  				return ErrIntOverflowRpc
  2542  			}
  2543  			if iNdEx >= l {
  2544  				return io.ErrUnexpectedEOF
  2545  			}
  2546  			b := dAtA[iNdEx]
  2547  			iNdEx++
  2548  			wire |= uint64(b&0x7F) << shift
  2549  			if b < 0x80 {
  2550  				break
  2551  			}
  2552  		}
  2553  		fieldNum := int32(wire >> 3)
  2554  		wireType := int(wire & 0x7)
  2555  		if wireType == 4 {
  2556  			return fmt.Errorf("proto: WriteResponse: wiretype end group for non-group")
  2557  		}
  2558  		if fieldNum <= 0 {
  2559  			return fmt.Errorf("proto: WriteResponse: illegal tag %d (wire type %d)", fieldNum, wire)
  2560  		}
  2561  		switch fieldNum {
  2562  		default:
  2563  			iNdEx = preIndex
  2564  			skippy, err := skipRpc(dAtA[iNdEx:])
  2565  			if err != nil {
  2566  				return err
  2567  			}
  2568  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  2569  				return ErrInvalidLengthRpc
  2570  			}
  2571  			if (iNdEx + skippy) > l {
  2572  				return io.ErrUnexpectedEOF
  2573  			}
  2574  			iNdEx += skippy
  2575  		}
  2576  	}
  2577  
  2578  	if iNdEx > l {
  2579  		return io.ErrUnexpectedEOF
  2580  	}
  2581  	return nil
  2582  }
  2583  func (m *WriteRequest) Unmarshal(dAtA []byte) error {
  2584  	l := len(dAtA)
  2585  	iNdEx := 0
  2586  	for iNdEx < l {
  2587  		preIndex := iNdEx
  2588  		var wire uint64
  2589  		for shift := uint(0); ; shift += 7 {
  2590  			if shift >= 64 {
  2591  				return ErrIntOverflowRpc
  2592  			}
  2593  			if iNdEx >= l {
  2594  				return io.ErrUnexpectedEOF
  2595  			}
  2596  			b := dAtA[iNdEx]
  2597  			iNdEx++
  2598  			wire |= uint64(b&0x7F) << shift
  2599  			if b < 0x80 {
  2600  				break
  2601  			}
  2602  		}
  2603  		fieldNum := int32(wire >> 3)
  2604  		wireType := int(wire & 0x7)
  2605  		if wireType == 4 {
  2606  			return fmt.Errorf("proto: WriteRequest: wiretype end group for non-group")
  2607  		}
  2608  		if fieldNum <= 0 {
  2609  			return fmt.Errorf("proto: WriteRequest: illegal tag %d (wire type %d)", fieldNum, wire)
  2610  		}
  2611  		switch fieldNum {
  2612  		case 1:
  2613  			if wireType != 2 {
  2614  				return fmt.Errorf("proto: wrong wireType = %d for field Timeseries", wireType)
  2615  			}
  2616  			var msglen int
  2617  			for shift := uint(0); ; shift += 7 {
  2618  				if shift >= 64 {
  2619  					return ErrIntOverflowRpc
  2620  				}
  2621  				if iNdEx >= l {
  2622  					return io.ErrUnexpectedEOF
  2623  				}
  2624  				b := dAtA[iNdEx]
  2625  				iNdEx++
  2626  				msglen |= int(b&0x7F) << shift
  2627  				if b < 0x80 {
  2628  					break
  2629  				}
  2630  			}
  2631  			if msglen < 0 {
  2632  				return ErrInvalidLengthRpc
  2633  			}
  2634  			postIndex := iNdEx + msglen
  2635  			if postIndex < 0 {
  2636  				return ErrInvalidLengthRpc
  2637  			}
  2638  			if postIndex > l {
  2639  				return io.ErrUnexpectedEOF
  2640  			}
  2641  			m.Timeseries = append(m.Timeseries, prompb.TimeSeries{})
  2642  			if err := m.Timeseries[len(m.Timeseries)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2643  				return err
  2644  			}
  2645  			iNdEx = postIndex
  2646  		case 2:
  2647  			if wireType != 2 {
  2648  				return fmt.Errorf("proto: wrong wireType = %d for field Tenant", wireType)
  2649  			}
  2650  			var stringLen uint64
  2651  			for shift := uint(0); ; shift += 7 {
  2652  				if shift >= 64 {
  2653  					return ErrIntOverflowRpc
  2654  				}
  2655  				if iNdEx >= l {
  2656  					return io.ErrUnexpectedEOF
  2657  				}
  2658  				b := dAtA[iNdEx]
  2659  				iNdEx++
  2660  				stringLen |= uint64(b&0x7F) << shift
  2661  				if b < 0x80 {
  2662  					break
  2663  				}
  2664  			}
  2665  			intStringLen := int(stringLen)
  2666  			if intStringLen < 0 {
  2667  				return ErrInvalidLengthRpc
  2668  			}
  2669  			postIndex := iNdEx + intStringLen
  2670  			if postIndex < 0 {
  2671  				return ErrInvalidLengthRpc
  2672  			}
  2673  			if postIndex > l {
  2674  				return io.ErrUnexpectedEOF
  2675  			}
  2676  			m.Tenant = string(dAtA[iNdEx:postIndex])
  2677  			iNdEx = postIndex
  2678  		case 3:
  2679  			if wireType != 0 {
  2680  				return fmt.Errorf("proto: wrong wireType = %d for field Replica", wireType)
  2681  			}
  2682  			m.Replica = 0
  2683  			for shift := uint(0); ; shift += 7 {
  2684  				if shift >= 64 {
  2685  					return ErrIntOverflowRpc
  2686  				}
  2687  				if iNdEx >= l {
  2688  					return io.ErrUnexpectedEOF
  2689  				}
  2690  				b := dAtA[iNdEx]
  2691  				iNdEx++
  2692  				m.Replica |= int64(b&0x7F) << shift
  2693  				if b < 0x80 {
  2694  					break
  2695  				}
  2696  			}
  2697  		default:
  2698  			iNdEx = preIndex
  2699  			skippy, err := skipRpc(dAtA[iNdEx:])
  2700  			if err != nil {
  2701  				return err
  2702  			}
  2703  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  2704  				return ErrInvalidLengthRpc
  2705  			}
  2706  			if (iNdEx + skippy) > l {
  2707  				return io.ErrUnexpectedEOF
  2708  			}
  2709  			iNdEx += skippy
  2710  		}
  2711  	}
  2712  
  2713  	if iNdEx > l {
  2714  		return io.ErrUnexpectedEOF
  2715  	}
  2716  	return nil
  2717  }
  2718  func (m *InfoRequest) Unmarshal(dAtA []byte) error {
  2719  	l := len(dAtA)
  2720  	iNdEx := 0
  2721  	for iNdEx < l {
  2722  		preIndex := iNdEx
  2723  		var wire uint64
  2724  		for shift := uint(0); ; shift += 7 {
  2725  			if shift >= 64 {
  2726  				return ErrIntOverflowRpc
  2727  			}
  2728  			if iNdEx >= l {
  2729  				return io.ErrUnexpectedEOF
  2730  			}
  2731  			b := dAtA[iNdEx]
  2732  			iNdEx++
  2733  			wire |= uint64(b&0x7F) << shift
  2734  			if b < 0x80 {
  2735  				break
  2736  			}
  2737  		}
  2738  		fieldNum := int32(wire >> 3)
  2739  		wireType := int(wire & 0x7)
  2740  		if wireType == 4 {
  2741  			return fmt.Errorf("proto: InfoRequest: wiretype end group for non-group")
  2742  		}
  2743  		if fieldNum <= 0 {
  2744  			return fmt.Errorf("proto: InfoRequest: illegal tag %d (wire type %d)", fieldNum, wire)
  2745  		}
  2746  		switch fieldNum {
  2747  		default:
  2748  			iNdEx = preIndex
  2749  			skippy, err := skipRpc(dAtA[iNdEx:])
  2750  			if err != nil {
  2751  				return err
  2752  			}
  2753  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  2754  				return ErrInvalidLengthRpc
  2755  			}
  2756  			if (iNdEx + skippy) > l {
  2757  				return io.ErrUnexpectedEOF
  2758  			}
  2759  			iNdEx += skippy
  2760  		}
  2761  	}
  2762  
  2763  	if iNdEx > l {
  2764  		return io.ErrUnexpectedEOF
  2765  	}
  2766  	return nil
  2767  }
  2768  func (m *InfoResponse) Unmarshal(dAtA []byte) error {
  2769  	l := len(dAtA)
  2770  	iNdEx := 0
  2771  	for iNdEx < l {
  2772  		preIndex := iNdEx
  2773  		var wire uint64
  2774  		for shift := uint(0); ; shift += 7 {
  2775  			if shift >= 64 {
  2776  				return ErrIntOverflowRpc
  2777  			}
  2778  			if iNdEx >= l {
  2779  				return io.ErrUnexpectedEOF
  2780  			}
  2781  			b := dAtA[iNdEx]
  2782  			iNdEx++
  2783  			wire |= uint64(b&0x7F) << shift
  2784  			if b < 0x80 {
  2785  				break
  2786  			}
  2787  		}
  2788  		fieldNum := int32(wire >> 3)
  2789  		wireType := int(wire & 0x7)
  2790  		if wireType == 4 {
  2791  			return fmt.Errorf("proto: InfoResponse: wiretype end group for non-group")
  2792  		}
  2793  		if fieldNum <= 0 {
  2794  			return fmt.Errorf("proto: InfoResponse: illegal tag %d (wire type %d)", fieldNum, wire)
  2795  		}
  2796  		switch fieldNum {
  2797  		case 1:
  2798  			if wireType != 2 {
  2799  				return fmt.Errorf("proto: wrong wireType = %d for field Labels", wireType)
  2800  			}
  2801  			var msglen int
  2802  			for shift := uint(0); ; shift += 7 {
  2803  				if shift >= 64 {
  2804  					return ErrIntOverflowRpc
  2805  				}
  2806  				if iNdEx >= l {
  2807  					return io.ErrUnexpectedEOF
  2808  				}
  2809  				b := dAtA[iNdEx]
  2810  				iNdEx++
  2811  				msglen |= int(b&0x7F) << shift
  2812  				if b < 0x80 {
  2813  					break
  2814  				}
  2815  			}
  2816  			if msglen < 0 {
  2817  				return ErrInvalidLengthRpc
  2818  			}
  2819  			postIndex := iNdEx + msglen
  2820  			if postIndex < 0 {
  2821  				return ErrInvalidLengthRpc
  2822  			}
  2823  			if postIndex > l {
  2824  				return io.ErrUnexpectedEOF
  2825  			}
  2826  			m.Labels = append(m.Labels, github_com_thanos_io_thanos_pkg_store_labelpb.ZLabel{})
  2827  			if err := m.Labels[len(m.Labels)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2828  				return err
  2829  			}
  2830  			iNdEx = postIndex
  2831  		case 2:
  2832  			if wireType != 0 {
  2833  				return fmt.Errorf("proto: wrong wireType = %d for field MinTime", wireType)
  2834  			}
  2835  			m.MinTime = 0
  2836  			for shift := uint(0); ; shift += 7 {
  2837  				if shift >= 64 {
  2838  					return ErrIntOverflowRpc
  2839  				}
  2840  				if iNdEx >= l {
  2841  					return io.ErrUnexpectedEOF
  2842  				}
  2843  				b := dAtA[iNdEx]
  2844  				iNdEx++
  2845  				m.MinTime |= int64(b&0x7F) << shift
  2846  				if b < 0x80 {
  2847  					break
  2848  				}
  2849  			}
  2850  		case 3:
  2851  			if wireType != 0 {
  2852  				return fmt.Errorf("proto: wrong wireType = %d for field MaxTime", wireType)
  2853  			}
  2854  			m.MaxTime = 0
  2855  			for shift := uint(0); ; shift += 7 {
  2856  				if shift >= 64 {
  2857  					return ErrIntOverflowRpc
  2858  				}
  2859  				if iNdEx >= l {
  2860  					return io.ErrUnexpectedEOF
  2861  				}
  2862  				b := dAtA[iNdEx]
  2863  				iNdEx++
  2864  				m.MaxTime |= int64(b&0x7F) << shift
  2865  				if b < 0x80 {
  2866  					break
  2867  				}
  2868  			}
  2869  		case 4:
  2870  			if wireType != 0 {
  2871  				return fmt.Errorf("proto: wrong wireType = %d for field StoreType", wireType)
  2872  			}
  2873  			m.StoreType = 0
  2874  			for shift := uint(0); ; shift += 7 {
  2875  				if shift >= 64 {
  2876  					return ErrIntOverflowRpc
  2877  				}
  2878  				if iNdEx >= l {
  2879  					return io.ErrUnexpectedEOF
  2880  				}
  2881  				b := dAtA[iNdEx]
  2882  				iNdEx++
  2883  				m.StoreType |= StoreType(b&0x7F) << shift
  2884  				if b < 0x80 {
  2885  					break
  2886  				}
  2887  			}
  2888  		case 5:
  2889  			if wireType != 2 {
  2890  				return fmt.Errorf("proto: wrong wireType = %d for field LabelSets", wireType)
  2891  			}
  2892  			var msglen int
  2893  			for shift := uint(0); ; shift += 7 {
  2894  				if shift >= 64 {
  2895  					return ErrIntOverflowRpc
  2896  				}
  2897  				if iNdEx >= l {
  2898  					return io.ErrUnexpectedEOF
  2899  				}
  2900  				b := dAtA[iNdEx]
  2901  				iNdEx++
  2902  				msglen |= int(b&0x7F) << shift
  2903  				if b < 0x80 {
  2904  					break
  2905  				}
  2906  			}
  2907  			if msglen < 0 {
  2908  				return ErrInvalidLengthRpc
  2909  			}
  2910  			postIndex := iNdEx + msglen
  2911  			if postIndex < 0 {
  2912  				return ErrInvalidLengthRpc
  2913  			}
  2914  			if postIndex > l {
  2915  				return io.ErrUnexpectedEOF
  2916  			}
  2917  			m.LabelSets = append(m.LabelSets, labelpb.ZLabelSet{})
  2918  			if err := m.LabelSets[len(m.LabelSets)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2919  				return err
  2920  			}
  2921  			iNdEx = postIndex
  2922  		default:
  2923  			iNdEx = preIndex
  2924  			skippy, err := skipRpc(dAtA[iNdEx:])
  2925  			if err != nil {
  2926  				return err
  2927  			}
  2928  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  2929  				return ErrInvalidLengthRpc
  2930  			}
  2931  			if (iNdEx + skippy) > l {
  2932  				return io.ErrUnexpectedEOF
  2933  			}
  2934  			iNdEx += skippy
  2935  		}
  2936  	}
  2937  
  2938  	if iNdEx > l {
  2939  		return io.ErrUnexpectedEOF
  2940  	}
  2941  	return nil
  2942  }
  2943  func (m *SeriesRequest) Unmarshal(dAtA []byte) error {
  2944  	l := len(dAtA)
  2945  	iNdEx := 0
  2946  	for iNdEx < l {
  2947  		preIndex := iNdEx
  2948  		var wire uint64
  2949  		for shift := uint(0); ; shift += 7 {
  2950  			if shift >= 64 {
  2951  				return ErrIntOverflowRpc
  2952  			}
  2953  			if iNdEx >= l {
  2954  				return io.ErrUnexpectedEOF
  2955  			}
  2956  			b := dAtA[iNdEx]
  2957  			iNdEx++
  2958  			wire |= uint64(b&0x7F) << shift
  2959  			if b < 0x80 {
  2960  				break
  2961  			}
  2962  		}
  2963  		fieldNum := int32(wire >> 3)
  2964  		wireType := int(wire & 0x7)
  2965  		if wireType == 4 {
  2966  			return fmt.Errorf("proto: SeriesRequest: wiretype end group for non-group")
  2967  		}
  2968  		if fieldNum <= 0 {
  2969  			return fmt.Errorf("proto: SeriesRequest: illegal tag %d (wire type %d)", fieldNum, wire)
  2970  		}
  2971  		switch fieldNum {
  2972  		case 1:
  2973  			if wireType != 0 {
  2974  				return fmt.Errorf("proto: wrong wireType = %d for field MinTime", wireType)
  2975  			}
  2976  			m.MinTime = 0
  2977  			for shift := uint(0); ; shift += 7 {
  2978  				if shift >= 64 {
  2979  					return ErrIntOverflowRpc
  2980  				}
  2981  				if iNdEx >= l {
  2982  					return io.ErrUnexpectedEOF
  2983  				}
  2984  				b := dAtA[iNdEx]
  2985  				iNdEx++
  2986  				m.MinTime |= int64(b&0x7F) << shift
  2987  				if b < 0x80 {
  2988  					break
  2989  				}
  2990  			}
  2991  		case 2:
  2992  			if wireType != 0 {
  2993  				return fmt.Errorf("proto: wrong wireType = %d for field MaxTime", wireType)
  2994  			}
  2995  			m.MaxTime = 0
  2996  			for shift := uint(0); ; shift += 7 {
  2997  				if shift >= 64 {
  2998  					return ErrIntOverflowRpc
  2999  				}
  3000  				if iNdEx >= l {
  3001  					return io.ErrUnexpectedEOF
  3002  				}
  3003  				b := dAtA[iNdEx]
  3004  				iNdEx++
  3005  				m.MaxTime |= int64(b&0x7F) << shift
  3006  				if b < 0x80 {
  3007  					break
  3008  				}
  3009  			}
  3010  		case 3:
  3011  			if wireType != 2 {
  3012  				return fmt.Errorf("proto: wrong wireType = %d for field Matchers", wireType)
  3013  			}
  3014  			var msglen int
  3015  			for shift := uint(0); ; shift += 7 {
  3016  				if shift >= 64 {
  3017  					return ErrIntOverflowRpc
  3018  				}
  3019  				if iNdEx >= l {
  3020  					return io.ErrUnexpectedEOF
  3021  				}
  3022  				b := dAtA[iNdEx]
  3023  				iNdEx++
  3024  				msglen |= int(b&0x7F) << shift
  3025  				if b < 0x80 {
  3026  					break
  3027  				}
  3028  			}
  3029  			if msglen < 0 {
  3030  				return ErrInvalidLengthRpc
  3031  			}
  3032  			postIndex := iNdEx + msglen
  3033  			if postIndex < 0 {
  3034  				return ErrInvalidLengthRpc
  3035  			}
  3036  			if postIndex > l {
  3037  				return io.ErrUnexpectedEOF
  3038  			}
  3039  			m.Matchers = append(m.Matchers, LabelMatcher{})
  3040  			if err := m.Matchers[len(m.Matchers)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3041  				return err
  3042  			}
  3043  			iNdEx = postIndex
  3044  		case 4:
  3045  			if wireType != 0 {
  3046  				return fmt.Errorf("proto: wrong wireType = %d for field MaxResolutionWindow", wireType)
  3047  			}
  3048  			m.MaxResolutionWindow = 0
  3049  			for shift := uint(0); ; shift += 7 {
  3050  				if shift >= 64 {
  3051  					return ErrIntOverflowRpc
  3052  				}
  3053  				if iNdEx >= l {
  3054  					return io.ErrUnexpectedEOF
  3055  				}
  3056  				b := dAtA[iNdEx]
  3057  				iNdEx++
  3058  				m.MaxResolutionWindow |= int64(b&0x7F) << shift
  3059  				if b < 0x80 {
  3060  					break
  3061  				}
  3062  			}
  3063  		case 5:
  3064  			if wireType == 0 {
  3065  				var v Aggr
  3066  				for shift := uint(0); ; shift += 7 {
  3067  					if shift >= 64 {
  3068  						return ErrIntOverflowRpc
  3069  					}
  3070  					if iNdEx >= l {
  3071  						return io.ErrUnexpectedEOF
  3072  					}
  3073  					b := dAtA[iNdEx]
  3074  					iNdEx++
  3075  					v |= Aggr(b&0x7F) << shift
  3076  					if b < 0x80 {
  3077  						break
  3078  					}
  3079  				}
  3080  				m.Aggregates = append(m.Aggregates, v)
  3081  			} else if wireType == 2 {
  3082  				var packedLen int
  3083  				for shift := uint(0); ; shift += 7 {
  3084  					if shift >= 64 {
  3085  						return ErrIntOverflowRpc
  3086  					}
  3087  					if iNdEx >= l {
  3088  						return io.ErrUnexpectedEOF
  3089  					}
  3090  					b := dAtA[iNdEx]
  3091  					iNdEx++
  3092  					packedLen |= int(b&0x7F) << shift
  3093  					if b < 0x80 {
  3094  						break
  3095  					}
  3096  				}
  3097  				if packedLen < 0 {
  3098  					return ErrInvalidLengthRpc
  3099  				}
  3100  				postIndex := iNdEx + packedLen
  3101  				if postIndex < 0 {
  3102  					return ErrInvalidLengthRpc
  3103  				}
  3104  				if postIndex > l {
  3105  					return io.ErrUnexpectedEOF
  3106  				}
  3107  				var elementCount int
  3108  				if elementCount != 0 && len(m.Aggregates) == 0 {
  3109  					m.Aggregates = make([]Aggr, 0, elementCount)
  3110  				}
  3111  				for iNdEx < postIndex {
  3112  					var v Aggr
  3113  					for shift := uint(0); ; shift += 7 {
  3114  						if shift >= 64 {
  3115  							return ErrIntOverflowRpc
  3116  						}
  3117  						if iNdEx >= l {
  3118  							return io.ErrUnexpectedEOF
  3119  						}
  3120  						b := dAtA[iNdEx]
  3121  						iNdEx++
  3122  						v |= Aggr(b&0x7F) << shift
  3123  						if b < 0x80 {
  3124  							break
  3125  						}
  3126  					}
  3127  					m.Aggregates = append(m.Aggregates, v)
  3128  				}
  3129  			} else {
  3130  				return fmt.Errorf("proto: wrong wireType = %d for field Aggregates", wireType)
  3131  			}
  3132  		case 6:
  3133  			if wireType != 0 {
  3134  				return fmt.Errorf("proto: wrong wireType = %d for field PartialResponseDisabled", wireType)
  3135  			}
  3136  			var v int
  3137  			for shift := uint(0); ; shift += 7 {
  3138  				if shift >= 64 {
  3139  					return ErrIntOverflowRpc
  3140  				}
  3141  				if iNdEx >= l {
  3142  					return io.ErrUnexpectedEOF
  3143  				}
  3144  				b := dAtA[iNdEx]
  3145  				iNdEx++
  3146  				v |= int(b&0x7F) << shift
  3147  				if b < 0x80 {
  3148  					break
  3149  				}
  3150  			}
  3151  			m.PartialResponseDisabled = bool(v != 0)
  3152  		case 7:
  3153  			if wireType != 0 {
  3154  				return fmt.Errorf("proto: wrong wireType = %d for field PartialResponseStrategy", wireType)
  3155  			}
  3156  			m.PartialResponseStrategy = 0
  3157  			for shift := uint(0); ; shift += 7 {
  3158  				if shift >= 64 {
  3159  					return ErrIntOverflowRpc
  3160  				}
  3161  				if iNdEx >= l {
  3162  					return io.ErrUnexpectedEOF
  3163  				}
  3164  				b := dAtA[iNdEx]
  3165  				iNdEx++
  3166  				m.PartialResponseStrategy |= PartialResponseStrategy(b&0x7F) << shift
  3167  				if b < 0x80 {
  3168  					break
  3169  				}
  3170  			}
  3171  		case 8:
  3172  			if wireType != 0 {
  3173  				return fmt.Errorf("proto: wrong wireType = %d for field SkipChunks", wireType)
  3174  			}
  3175  			var v int
  3176  			for shift := uint(0); ; shift += 7 {
  3177  				if shift >= 64 {
  3178  					return ErrIntOverflowRpc
  3179  				}
  3180  				if iNdEx >= l {
  3181  					return io.ErrUnexpectedEOF
  3182  				}
  3183  				b := dAtA[iNdEx]
  3184  				iNdEx++
  3185  				v |= int(b&0x7F) << shift
  3186  				if b < 0x80 {
  3187  					break
  3188  				}
  3189  			}
  3190  			m.SkipChunks = bool(v != 0)
  3191  		case 9:
  3192  			if wireType != 2 {
  3193  				return fmt.Errorf("proto: wrong wireType = %d for field Hints", wireType)
  3194  			}
  3195  			var msglen int
  3196  			for shift := uint(0); ; shift += 7 {
  3197  				if shift >= 64 {
  3198  					return ErrIntOverflowRpc
  3199  				}
  3200  				if iNdEx >= l {
  3201  					return io.ErrUnexpectedEOF
  3202  				}
  3203  				b := dAtA[iNdEx]
  3204  				iNdEx++
  3205  				msglen |= int(b&0x7F) << shift
  3206  				if b < 0x80 {
  3207  					break
  3208  				}
  3209  			}
  3210  			if msglen < 0 {
  3211  				return ErrInvalidLengthRpc
  3212  			}
  3213  			postIndex := iNdEx + msglen
  3214  			if postIndex < 0 {
  3215  				return ErrInvalidLengthRpc
  3216  			}
  3217  			if postIndex > l {
  3218  				return io.ErrUnexpectedEOF
  3219  			}
  3220  			if m.Hints == nil {
  3221  				m.Hints = &types.Any{}
  3222  			}
  3223  			if err := m.Hints.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3224  				return err
  3225  			}
  3226  			iNdEx = postIndex
  3227  		case 10:
  3228  			if wireType != 0 {
  3229  				return fmt.Errorf("proto: wrong wireType = %d for field Step", wireType)
  3230  			}
  3231  			m.Step = 0
  3232  			for shift := uint(0); ; shift += 7 {
  3233  				if shift >= 64 {
  3234  					return ErrIntOverflowRpc
  3235  				}
  3236  				if iNdEx >= l {
  3237  					return io.ErrUnexpectedEOF
  3238  				}
  3239  				b := dAtA[iNdEx]
  3240  				iNdEx++
  3241  				m.Step |= int64(b&0x7F) << shift
  3242  				if b < 0x80 {
  3243  					break
  3244  				}
  3245  			}
  3246  		case 11:
  3247  			if wireType != 0 {
  3248  				return fmt.Errorf("proto: wrong wireType = %d for field Range", wireType)
  3249  			}
  3250  			m.Range = 0
  3251  			for shift := uint(0); ; shift += 7 {
  3252  				if shift >= 64 {
  3253  					return ErrIntOverflowRpc
  3254  				}
  3255  				if iNdEx >= l {
  3256  					return io.ErrUnexpectedEOF
  3257  				}
  3258  				b := dAtA[iNdEx]
  3259  				iNdEx++
  3260  				m.Range |= int64(b&0x7F) << shift
  3261  				if b < 0x80 {
  3262  					break
  3263  				}
  3264  			}
  3265  		case 12:
  3266  			if wireType != 2 {
  3267  				return fmt.Errorf("proto: wrong wireType = %d for field QueryHints", wireType)
  3268  			}
  3269  			var msglen int
  3270  			for shift := uint(0); ; shift += 7 {
  3271  				if shift >= 64 {
  3272  					return ErrIntOverflowRpc
  3273  				}
  3274  				if iNdEx >= l {
  3275  					return io.ErrUnexpectedEOF
  3276  				}
  3277  				b := dAtA[iNdEx]
  3278  				iNdEx++
  3279  				msglen |= int(b&0x7F) << shift
  3280  				if b < 0x80 {
  3281  					break
  3282  				}
  3283  			}
  3284  			if msglen < 0 {
  3285  				return ErrInvalidLengthRpc
  3286  			}
  3287  			postIndex := iNdEx + msglen
  3288  			if postIndex < 0 {
  3289  				return ErrInvalidLengthRpc
  3290  			}
  3291  			if postIndex > l {
  3292  				return io.ErrUnexpectedEOF
  3293  			}
  3294  			if m.QueryHints == nil {
  3295  				m.QueryHints = &QueryHints{}
  3296  			}
  3297  			if err := m.QueryHints.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3298  				return err
  3299  			}
  3300  			iNdEx = postIndex
  3301  		case 13:
  3302  			if wireType != 2 {
  3303  				return fmt.Errorf("proto: wrong wireType = %d for field ShardInfo", wireType)
  3304  			}
  3305  			var msglen int
  3306  			for shift := uint(0); ; shift += 7 {
  3307  				if shift >= 64 {
  3308  					return ErrIntOverflowRpc
  3309  				}
  3310  				if iNdEx >= l {
  3311  					return io.ErrUnexpectedEOF
  3312  				}
  3313  				b := dAtA[iNdEx]
  3314  				iNdEx++
  3315  				msglen |= int(b&0x7F) << shift
  3316  				if b < 0x80 {
  3317  					break
  3318  				}
  3319  			}
  3320  			if msglen < 0 {
  3321  				return ErrInvalidLengthRpc
  3322  			}
  3323  			postIndex := iNdEx + msglen
  3324  			if postIndex < 0 {
  3325  				return ErrInvalidLengthRpc
  3326  			}
  3327  			if postIndex > l {
  3328  				return io.ErrUnexpectedEOF
  3329  			}
  3330  			if m.ShardInfo == nil {
  3331  				m.ShardInfo = &ShardInfo{}
  3332  			}
  3333  			if err := m.ShardInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3334  				return err
  3335  			}
  3336  			iNdEx = postIndex
  3337  		case 14:
  3338  			if wireType != 2 {
  3339  				return fmt.Errorf("proto: wrong wireType = %d for field WithoutReplicaLabels", wireType)
  3340  			}
  3341  			var stringLen uint64
  3342  			for shift := uint(0); ; shift += 7 {
  3343  				if shift >= 64 {
  3344  					return ErrIntOverflowRpc
  3345  				}
  3346  				if iNdEx >= l {
  3347  					return io.ErrUnexpectedEOF
  3348  				}
  3349  				b := dAtA[iNdEx]
  3350  				iNdEx++
  3351  				stringLen |= uint64(b&0x7F) << shift
  3352  				if b < 0x80 {
  3353  					break
  3354  				}
  3355  			}
  3356  			intStringLen := int(stringLen)
  3357  			if intStringLen < 0 {
  3358  				return ErrInvalidLengthRpc
  3359  			}
  3360  			postIndex := iNdEx + intStringLen
  3361  			if postIndex < 0 {
  3362  				return ErrInvalidLengthRpc
  3363  			}
  3364  			if postIndex > l {
  3365  				return io.ErrUnexpectedEOF
  3366  			}
  3367  			m.WithoutReplicaLabels = append(m.WithoutReplicaLabels, string(dAtA[iNdEx:postIndex]))
  3368  			iNdEx = postIndex
  3369  		default:
  3370  			iNdEx = preIndex
  3371  			skippy, err := skipRpc(dAtA[iNdEx:])
  3372  			if err != nil {
  3373  				return err
  3374  			}
  3375  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  3376  				return ErrInvalidLengthRpc
  3377  			}
  3378  			if (iNdEx + skippy) > l {
  3379  				return io.ErrUnexpectedEOF
  3380  			}
  3381  			iNdEx += skippy
  3382  		}
  3383  	}
  3384  
  3385  	if iNdEx > l {
  3386  		return io.ErrUnexpectedEOF
  3387  	}
  3388  	return nil
  3389  }
  3390  func (m *QueryHints) Unmarshal(dAtA []byte) error {
  3391  	l := len(dAtA)
  3392  	iNdEx := 0
  3393  	for iNdEx < l {
  3394  		preIndex := iNdEx
  3395  		var wire uint64
  3396  		for shift := uint(0); ; shift += 7 {
  3397  			if shift >= 64 {
  3398  				return ErrIntOverflowRpc
  3399  			}
  3400  			if iNdEx >= l {
  3401  				return io.ErrUnexpectedEOF
  3402  			}
  3403  			b := dAtA[iNdEx]
  3404  			iNdEx++
  3405  			wire |= uint64(b&0x7F) << shift
  3406  			if b < 0x80 {
  3407  				break
  3408  			}
  3409  		}
  3410  		fieldNum := int32(wire >> 3)
  3411  		wireType := int(wire & 0x7)
  3412  		if wireType == 4 {
  3413  			return fmt.Errorf("proto: QueryHints: wiretype end group for non-group")
  3414  		}
  3415  		if fieldNum <= 0 {
  3416  			return fmt.Errorf("proto: QueryHints: illegal tag %d (wire type %d)", fieldNum, wire)
  3417  		}
  3418  		switch fieldNum {
  3419  		case 1:
  3420  			if wireType != 0 {
  3421  				return fmt.Errorf("proto: wrong wireType = %d for field StepMillis", wireType)
  3422  			}
  3423  			m.StepMillis = 0
  3424  			for shift := uint(0); ; shift += 7 {
  3425  				if shift >= 64 {
  3426  					return ErrIntOverflowRpc
  3427  				}
  3428  				if iNdEx >= l {
  3429  					return io.ErrUnexpectedEOF
  3430  				}
  3431  				b := dAtA[iNdEx]
  3432  				iNdEx++
  3433  				m.StepMillis |= int64(b&0x7F) << shift
  3434  				if b < 0x80 {
  3435  					break
  3436  				}
  3437  			}
  3438  		case 2:
  3439  			if wireType != 2 {
  3440  				return fmt.Errorf("proto: wrong wireType = %d for field Func", wireType)
  3441  			}
  3442  			var msglen int
  3443  			for shift := uint(0); ; shift += 7 {
  3444  				if shift >= 64 {
  3445  					return ErrIntOverflowRpc
  3446  				}
  3447  				if iNdEx >= l {
  3448  					return io.ErrUnexpectedEOF
  3449  				}
  3450  				b := dAtA[iNdEx]
  3451  				iNdEx++
  3452  				msglen |= int(b&0x7F) << shift
  3453  				if b < 0x80 {
  3454  					break
  3455  				}
  3456  			}
  3457  			if msglen < 0 {
  3458  				return ErrInvalidLengthRpc
  3459  			}
  3460  			postIndex := iNdEx + msglen
  3461  			if postIndex < 0 {
  3462  				return ErrInvalidLengthRpc
  3463  			}
  3464  			if postIndex > l {
  3465  				return io.ErrUnexpectedEOF
  3466  			}
  3467  			if m.Func == nil {
  3468  				m.Func = &Func{}
  3469  			}
  3470  			if err := m.Func.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3471  				return err
  3472  			}
  3473  			iNdEx = postIndex
  3474  		case 4:
  3475  			if wireType != 2 {
  3476  				return fmt.Errorf("proto: wrong wireType = %d for field Grouping", wireType)
  3477  			}
  3478  			var msglen int
  3479  			for shift := uint(0); ; shift += 7 {
  3480  				if shift >= 64 {
  3481  					return ErrIntOverflowRpc
  3482  				}
  3483  				if iNdEx >= l {
  3484  					return io.ErrUnexpectedEOF
  3485  				}
  3486  				b := dAtA[iNdEx]
  3487  				iNdEx++
  3488  				msglen |= int(b&0x7F) << shift
  3489  				if b < 0x80 {
  3490  					break
  3491  				}
  3492  			}
  3493  			if msglen < 0 {
  3494  				return ErrInvalidLengthRpc
  3495  			}
  3496  			postIndex := iNdEx + msglen
  3497  			if postIndex < 0 {
  3498  				return ErrInvalidLengthRpc
  3499  			}
  3500  			if postIndex > l {
  3501  				return io.ErrUnexpectedEOF
  3502  			}
  3503  			if m.Grouping == nil {
  3504  				m.Grouping = &Grouping{}
  3505  			}
  3506  			if err := m.Grouping.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3507  				return err
  3508  			}
  3509  			iNdEx = postIndex
  3510  		case 5:
  3511  			if wireType != 2 {
  3512  				return fmt.Errorf("proto: wrong wireType = %d for field Range", wireType)
  3513  			}
  3514  			var msglen int
  3515  			for shift := uint(0); ; shift += 7 {
  3516  				if shift >= 64 {
  3517  					return ErrIntOverflowRpc
  3518  				}
  3519  				if iNdEx >= l {
  3520  					return io.ErrUnexpectedEOF
  3521  				}
  3522  				b := dAtA[iNdEx]
  3523  				iNdEx++
  3524  				msglen |= int(b&0x7F) << shift
  3525  				if b < 0x80 {
  3526  					break
  3527  				}
  3528  			}
  3529  			if msglen < 0 {
  3530  				return ErrInvalidLengthRpc
  3531  			}
  3532  			postIndex := iNdEx + msglen
  3533  			if postIndex < 0 {
  3534  				return ErrInvalidLengthRpc
  3535  			}
  3536  			if postIndex > l {
  3537  				return io.ErrUnexpectedEOF
  3538  			}
  3539  			if m.Range == nil {
  3540  				m.Range = &Range{}
  3541  			}
  3542  			if err := m.Range.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3543  				return err
  3544  			}
  3545  			iNdEx = postIndex
  3546  		default:
  3547  			iNdEx = preIndex
  3548  			skippy, err := skipRpc(dAtA[iNdEx:])
  3549  			if err != nil {
  3550  				return err
  3551  			}
  3552  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  3553  				return ErrInvalidLengthRpc
  3554  			}
  3555  			if (iNdEx + skippy) > l {
  3556  				return io.ErrUnexpectedEOF
  3557  			}
  3558  			iNdEx += skippy
  3559  		}
  3560  	}
  3561  
  3562  	if iNdEx > l {
  3563  		return io.ErrUnexpectedEOF
  3564  	}
  3565  	return nil
  3566  }
  3567  func (m *ShardInfo) Unmarshal(dAtA []byte) error {
  3568  	l := len(dAtA)
  3569  	iNdEx := 0
  3570  	for iNdEx < l {
  3571  		preIndex := iNdEx
  3572  		var wire uint64
  3573  		for shift := uint(0); ; shift += 7 {
  3574  			if shift >= 64 {
  3575  				return ErrIntOverflowRpc
  3576  			}
  3577  			if iNdEx >= l {
  3578  				return io.ErrUnexpectedEOF
  3579  			}
  3580  			b := dAtA[iNdEx]
  3581  			iNdEx++
  3582  			wire |= uint64(b&0x7F) << shift
  3583  			if b < 0x80 {
  3584  				break
  3585  			}
  3586  		}
  3587  		fieldNum := int32(wire >> 3)
  3588  		wireType := int(wire & 0x7)
  3589  		if wireType == 4 {
  3590  			return fmt.Errorf("proto: ShardInfo: wiretype end group for non-group")
  3591  		}
  3592  		if fieldNum <= 0 {
  3593  			return fmt.Errorf("proto: ShardInfo: illegal tag %d (wire type %d)", fieldNum, wire)
  3594  		}
  3595  		switch fieldNum {
  3596  		case 1:
  3597  			if wireType != 0 {
  3598  				return fmt.Errorf("proto: wrong wireType = %d for field ShardIndex", wireType)
  3599  			}
  3600  			m.ShardIndex = 0
  3601  			for shift := uint(0); ; shift += 7 {
  3602  				if shift >= 64 {
  3603  					return ErrIntOverflowRpc
  3604  				}
  3605  				if iNdEx >= l {
  3606  					return io.ErrUnexpectedEOF
  3607  				}
  3608  				b := dAtA[iNdEx]
  3609  				iNdEx++
  3610  				m.ShardIndex |= int64(b&0x7F) << shift
  3611  				if b < 0x80 {
  3612  					break
  3613  				}
  3614  			}
  3615  		case 2:
  3616  			if wireType != 0 {
  3617  				return fmt.Errorf("proto: wrong wireType = %d for field TotalShards", wireType)
  3618  			}
  3619  			m.TotalShards = 0
  3620  			for shift := uint(0); ; shift += 7 {
  3621  				if shift >= 64 {
  3622  					return ErrIntOverflowRpc
  3623  				}
  3624  				if iNdEx >= l {
  3625  					return io.ErrUnexpectedEOF
  3626  				}
  3627  				b := dAtA[iNdEx]
  3628  				iNdEx++
  3629  				m.TotalShards |= int64(b&0x7F) << shift
  3630  				if b < 0x80 {
  3631  					break
  3632  				}
  3633  			}
  3634  		case 3:
  3635  			if wireType != 0 {
  3636  				return fmt.Errorf("proto: wrong wireType = %d for field By", wireType)
  3637  			}
  3638  			var v int
  3639  			for shift := uint(0); ; shift += 7 {
  3640  				if shift >= 64 {
  3641  					return ErrIntOverflowRpc
  3642  				}
  3643  				if iNdEx >= l {
  3644  					return io.ErrUnexpectedEOF
  3645  				}
  3646  				b := dAtA[iNdEx]
  3647  				iNdEx++
  3648  				v |= int(b&0x7F) << shift
  3649  				if b < 0x80 {
  3650  					break
  3651  				}
  3652  			}
  3653  			m.By = bool(v != 0)
  3654  		case 4:
  3655  			if wireType != 2 {
  3656  				return fmt.Errorf("proto: wrong wireType = %d for field Labels", wireType)
  3657  			}
  3658  			var stringLen uint64
  3659  			for shift := uint(0); ; shift += 7 {
  3660  				if shift >= 64 {
  3661  					return ErrIntOverflowRpc
  3662  				}
  3663  				if iNdEx >= l {
  3664  					return io.ErrUnexpectedEOF
  3665  				}
  3666  				b := dAtA[iNdEx]
  3667  				iNdEx++
  3668  				stringLen |= uint64(b&0x7F) << shift
  3669  				if b < 0x80 {
  3670  					break
  3671  				}
  3672  			}
  3673  			intStringLen := int(stringLen)
  3674  			if intStringLen < 0 {
  3675  				return ErrInvalidLengthRpc
  3676  			}
  3677  			postIndex := iNdEx + intStringLen
  3678  			if postIndex < 0 {
  3679  				return ErrInvalidLengthRpc
  3680  			}
  3681  			if postIndex > l {
  3682  				return io.ErrUnexpectedEOF
  3683  			}
  3684  			m.Labels = append(m.Labels, string(dAtA[iNdEx:postIndex]))
  3685  			iNdEx = postIndex
  3686  		default:
  3687  			iNdEx = preIndex
  3688  			skippy, err := skipRpc(dAtA[iNdEx:])
  3689  			if err != nil {
  3690  				return err
  3691  			}
  3692  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  3693  				return ErrInvalidLengthRpc
  3694  			}
  3695  			if (iNdEx + skippy) > l {
  3696  				return io.ErrUnexpectedEOF
  3697  			}
  3698  			iNdEx += skippy
  3699  		}
  3700  	}
  3701  
  3702  	if iNdEx > l {
  3703  		return io.ErrUnexpectedEOF
  3704  	}
  3705  	return nil
  3706  }
  3707  func (m *Func) Unmarshal(dAtA []byte) error {
  3708  	l := len(dAtA)
  3709  	iNdEx := 0
  3710  	for iNdEx < l {
  3711  		preIndex := iNdEx
  3712  		var wire uint64
  3713  		for shift := uint(0); ; shift += 7 {
  3714  			if shift >= 64 {
  3715  				return ErrIntOverflowRpc
  3716  			}
  3717  			if iNdEx >= l {
  3718  				return io.ErrUnexpectedEOF
  3719  			}
  3720  			b := dAtA[iNdEx]
  3721  			iNdEx++
  3722  			wire |= uint64(b&0x7F) << shift
  3723  			if b < 0x80 {
  3724  				break
  3725  			}
  3726  		}
  3727  		fieldNum := int32(wire >> 3)
  3728  		wireType := int(wire & 0x7)
  3729  		if wireType == 4 {
  3730  			return fmt.Errorf("proto: Func: wiretype end group for non-group")
  3731  		}
  3732  		if fieldNum <= 0 {
  3733  			return fmt.Errorf("proto: Func: illegal tag %d (wire type %d)", fieldNum, wire)
  3734  		}
  3735  		switch fieldNum {
  3736  		case 1:
  3737  			if wireType != 2 {
  3738  				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
  3739  			}
  3740  			var stringLen uint64
  3741  			for shift := uint(0); ; shift += 7 {
  3742  				if shift >= 64 {
  3743  					return ErrIntOverflowRpc
  3744  				}
  3745  				if iNdEx >= l {
  3746  					return io.ErrUnexpectedEOF
  3747  				}
  3748  				b := dAtA[iNdEx]
  3749  				iNdEx++
  3750  				stringLen |= uint64(b&0x7F) << shift
  3751  				if b < 0x80 {
  3752  					break
  3753  				}
  3754  			}
  3755  			intStringLen := int(stringLen)
  3756  			if intStringLen < 0 {
  3757  				return ErrInvalidLengthRpc
  3758  			}
  3759  			postIndex := iNdEx + intStringLen
  3760  			if postIndex < 0 {
  3761  				return ErrInvalidLengthRpc
  3762  			}
  3763  			if postIndex > l {
  3764  				return io.ErrUnexpectedEOF
  3765  			}
  3766  			m.Name = string(dAtA[iNdEx:postIndex])
  3767  			iNdEx = postIndex
  3768  		default:
  3769  			iNdEx = preIndex
  3770  			skippy, err := skipRpc(dAtA[iNdEx:])
  3771  			if err != nil {
  3772  				return err
  3773  			}
  3774  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  3775  				return ErrInvalidLengthRpc
  3776  			}
  3777  			if (iNdEx + skippy) > l {
  3778  				return io.ErrUnexpectedEOF
  3779  			}
  3780  			iNdEx += skippy
  3781  		}
  3782  	}
  3783  
  3784  	if iNdEx > l {
  3785  		return io.ErrUnexpectedEOF
  3786  	}
  3787  	return nil
  3788  }
  3789  func (m *Grouping) Unmarshal(dAtA []byte) error {
  3790  	l := len(dAtA)
  3791  	iNdEx := 0
  3792  	for iNdEx < l {
  3793  		preIndex := iNdEx
  3794  		var wire uint64
  3795  		for shift := uint(0); ; shift += 7 {
  3796  			if shift >= 64 {
  3797  				return ErrIntOverflowRpc
  3798  			}
  3799  			if iNdEx >= l {
  3800  				return io.ErrUnexpectedEOF
  3801  			}
  3802  			b := dAtA[iNdEx]
  3803  			iNdEx++
  3804  			wire |= uint64(b&0x7F) << shift
  3805  			if b < 0x80 {
  3806  				break
  3807  			}
  3808  		}
  3809  		fieldNum := int32(wire >> 3)
  3810  		wireType := int(wire & 0x7)
  3811  		if wireType == 4 {
  3812  			return fmt.Errorf("proto: Grouping: wiretype end group for non-group")
  3813  		}
  3814  		if fieldNum <= 0 {
  3815  			return fmt.Errorf("proto: Grouping: illegal tag %d (wire type %d)", fieldNum, wire)
  3816  		}
  3817  		switch fieldNum {
  3818  		case 1:
  3819  			if wireType != 0 {
  3820  				return fmt.Errorf("proto: wrong wireType = %d for field By", wireType)
  3821  			}
  3822  			var v int
  3823  			for shift := uint(0); ; shift += 7 {
  3824  				if shift >= 64 {
  3825  					return ErrIntOverflowRpc
  3826  				}
  3827  				if iNdEx >= l {
  3828  					return io.ErrUnexpectedEOF
  3829  				}
  3830  				b := dAtA[iNdEx]
  3831  				iNdEx++
  3832  				v |= int(b&0x7F) << shift
  3833  				if b < 0x80 {
  3834  					break
  3835  				}
  3836  			}
  3837  			m.By = bool(v != 0)
  3838  		case 3:
  3839  			if wireType != 2 {
  3840  				return fmt.Errorf("proto: wrong wireType = %d for field Labels", wireType)
  3841  			}
  3842  			var stringLen uint64
  3843  			for shift := uint(0); ; shift += 7 {
  3844  				if shift >= 64 {
  3845  					return ErrIntOverflowRpc
  3846  				}
  3847  				if iNdEx >= l {
  3848  					return io.ErrUnexpectedEOF
  3849  				}
  3850  				b := dAtA[iNdEx]
  3851  				iNdEx++
  3852  				stringLen |= uint64(b&0x7F) << shift
  3853  				if b < 0x80 {
  3854  					break
  3855  				}
  3856  			}
  3857  			intStringLen := int(stringLen)
  3858  			if intStringLen < 0 {
  3859  				return ErrInvalidLengthRpc
  3860  			}
  3861  			postIndex := iNdEx + intStringLen
  3862  			if postIndex < 0 {
  3863  				return ErrInvalidLengthRpc
  3864  			}
  3865  			if postIndex > l {
  3866  				return io.ErrUnexpectedEOF
  3867  			}
  3868  			m.Labels = append(m.Labels, string(dAtA[iNdEx:postIndex]))
  3869  			iNdEx = postIndex
  3870  		default:
  3871  			iNdEx = preIndex
  3872  			skippy, err := skipRpc(dAtA[iNdEx:])
  3873  			if err != nil {
  3874  				return err
  3875  			}
  3876  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  3877  				return ErrInvalidLengthRpc
  3878  			}
  3879  			if (iNdEx + skippy) > l {
  3880  				return io.ErrUnexpectedEOF
  3881  			}
  3882  			iNdEx += skippy
  3883  		}
  3884  	}
  3885  
  3886  	if iNdEx > l {
  3887  		return io.ErrUnexpectedEOF
  3888  	}
  3889  	return nil
  3890  }
  3891  func (m *Range) Unmarshal(dAtA []byte) error {
  3892  	l := len(dAtA)
  3893  	iNdEx := 0
  3894  	for iNdEx < l {
  3895  		preIndex := iNdEx
  3896  		var wire uint64
  3897  		for shift := uint(0); ; shift += 7 {
  3898  			if shift >= 64 {
  3899  				return ErrIntOverflowRpc
  3900  			}
  3901  			if iNdEx >= l {
  3902  				return io.ErrUnexpectedEOF
  3903  			}
  3904  			b := dAtA[iNdEx]
  3905  			iNdEx++
  3906  			wire |= uint64(b&0x7F) << shift
  3907  			if b < 0x80 {
  3908  				break
  3909  			}
  3910  		}
  3911  		fieldNum := int32(wire >> 3)
  3912  		wireType := int(wire & 0x7)
  3913  		if wireType == 4 {
  3914  			return fmt.Errorf("proto: Range: wiretype end group for non-group")
  3915  		}
  3916  		if fieldNum <= 0 {
  3917  			return fmt.Errorf("proto: Range: illegal tag %d (wire type %d)", fieldNum, wire)
  3918  		}
  3919  		switch fieldNum {
  3920  		case 1:
  3921  			if wireType != 0 {
  3922  				return fmt.Errorf("proto: wrong wireType = %d for field Millis", wireType)
  3923  			}
  3924  			m.Millis = 0
  3925  			for shift := uint(0); ; shift += 7 {
  3926  				if shift >= 64 {
  3927  					return ErrIntOverflowRpc
  3928  				}
  3929  				if iNdEx >= l {
  3930  					return io.ErrUnexpectedEOF
  3931  				}
  3932  				b := dAtA[iNdEx]
  3933  				iNdEx++
  3934  				m.Millis |= int64(b&0x7F) << shift
  3935  				if b < 0x80 {
  3936  					break
  3937  				}
  3938  			}
  3939  		default:
  3940  			iNdEx = preIndex
  3941  			skippy, err := skipRpc(dAtA[iNdEx:])
  3942  			if err != nil {
  3943  				return err
  3944  			}
  3945  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  3946  				return ErrInvalidLengthRpc
  3947  			}
  3948  			if (iNdEx + skippy) > l {
  3949  				return io.ErrUnexpectedEOF
  3950  			}
  3951  			iNdEx += skippy
  3952  		}
  3953  	}
  3954  
  3955  	if iNdEx > l {
  3956  		return io.ErrUnexpectedEOF
  3957  	}
  3958  	return nil
  3959  }
  3960  func (m *SeriesResponse) Unmarshal(dAtA []byte) error {
  3961  	l := len(dAtA)
  3962  	iNdEx := 0
  3963  	for iNdEx < l {
  3964  		preIndex := iNdEx
  3965  		var wire uint64
  3966  		for shift := uint(0); ; shift += 7 {
  3967  			if shift >= 64 {
  3968  				return ErrIntOverflowRpc
  3969  			}
  3970  			if iNdEx >= l {
  3971  				return io.ErrUnexpectedEOF
  3972  			}
  3973  			b := dAtA[iNdEx]
  3974  			iNdEx++
  3975  			wire |= uint64(b&0x7F) << shift
  3976  			if b < 0x80 {
  3977  				break
  3978  			}
  3979  		}
  3980  		fieldNum := int32(wire >> 3)
  3981  		wireType := int(wire & 0x7)
  3982  		if wireType == 4 {
  3983  			return fmt.Errorf("proto: SeriesResponse: wiretype end group for non-group")
  3984  		}
  3985  		if fieldNum <= 0 {
  3986  			return fmt.Errorf("proto: SeriesResponse: illegal tag %d (wire type %d)", fieldNum, wire)
  3987  		}
  3988  		switch fieldNum {
  3989  		case 1:
  3990  			if wireType != 2 {
  3991  				return fmt.Errorf("proto: wrong wireType = %d for field Series", wireType)
  3992  			}
  3993  			var msglen int
  3994  			for shift := uint(0); ; shift += 7 {
  3995  				if shift >= 64 {
  3996  					return ErrIntOverflowRpc
  3997  				}
  3998  				if iNdEx >= l {
  3999  					return io.ErrUnexpectedEOF
  4000  				}
  4001  				b := dAtA[iNdEx]
  4002  				iNdEx++
  4003  				msglen |= int(b&0x7F) << shift
  4004  				if b < 0x80 {
  4005  					break
  4006  				}
  4007  			}
  4008  			if msglen < 0 {
  4009  				return ErrInvalidLengthRpc
  4010  			}
  4011  			postIndex := iNdEx + msglen
  4012  			if postIndex < 0 {
  4013  				return ErrInvalidLengthRpc
  4014  			}
  4015  			if postIndex > l {
  4016  				return io.ErrUnexpectedEOF
  4017  			}
  4018  			v := &Series{}
  4019  			if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  4020  				return err
  4021  			}
  4022  			m.Result = &SeriesResponse_Series{v}
  4023  			iNdEx = postIndex
  4024  		case 2:
  4025  			if wireType != 2 {
  4026  				return fmt.Errorf("proto: wrong wireType = %d for field Warning", wireType)
  4027  			}
  4028  			var stringLen uint64
  4029  			for shift := uint(0); ; shift += 7 {
  4030  				if shift >= 64 {
  4031  					return ErrIntOverflowRpc
  4032  				}
  4033  				if iNdEx >= l {
  4034  					return io.ErrUnexpectedEOF
  4035  				}
  4036  				b := dAtA[iNdEx]
  4037  				iNdEx++
  4038  				stringLen |= uint64(b&0x7F) << shift
  4039  				if b < 0x80 {
  4040  					break
  4041  				}
  4042  			}
  4043  			intStringLen := int(stringLen)
  4044  			if intStringLen < 0 {
  4045  				return ErrInvalidLengthRpc
  4046  			}
  4047  			postIndex := iNdEx + intStringLen
  4048  			if postIndex < 0 {
  4049  				return ErrInvalidLengthRpc
  4050  			}
  4051  			if postIndex > l {
  4052  				return io.ErrUnexpectedEOF
  4053  			}
  4054  			m.Result = &SeriesResponse_Warning{string(dAtA[iNdEx:postIndex])}
  4055  			iNdEx = postIndex
  4056  		case 3:
  4057  			if wireType != 2 {
  4058  				return fmt.Errorf("proto: wrong wireType = %d for field Hints", wireType)
  4059  			}
  4060  			var msglen int
  4061  			for shift := uint(0); ; shift += 7 {
  4062  				if shift >= 64 {
  4063  					return ErrIntOverflowRpc
  4064  				}
  4065  				if iNdEx >= l {
  4066  					return io.ErrUnexpectedEOF
  4067  				}
  4068  				b := dAtA[iNdEx]
  4069  				iNdEx++
  4070  				msglen |= int(b&0x7F) << shift
  4071  				if b < 0x80 {
  4072  					break
  4073  				}
  4074  			}
  4075  			if msglen < 0 {
  4076  				return ErrInvalidLengthRpc
  4077  			}
  4078  			postIndex := iNdEx + msglen
  4079  			if postIndex < 0 {
  4080  				return ErrInvalidLengthRpc
  4081  			}
  4082  			if postIndex > l {
  4083  				return io.ErrUnexpectedEOF
  4084  			}
  4085  			v := &types.Any{}
  4086  			if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  4087  				return err
  4088  			}
  4089  			m.Result = &SeriesResponse_Hints{v}
  4090  			iNdEx = postIndex
  4091  		default:
  4092  			iNdEx = preIndex
  4093  			skippy, err := skipRpc(dAtA[iNdEx:])
  4094  			if err != nil {
  4095  				return err
  4096  			}
  4097  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  4098  				return ErrInvalidLengthRpc
  4099  			}
  4100  			if (iNdEx + skippy) > l {
  4101  				return io.ErrUnexpectedEOF
  4102  			}
  4103  			iNdEx += skippy
  4104  		}
  4105  	}
  4106  
  4107  	if iNdEx > l {
  4108  		return io.ErrUnexpectedEOF
  4109  	}
  4110  	return nil
  4111  }
  4112  func (m *LabelNamesRequest) Unmarshal(dAtA []byte) error {
  4113  	l := len(dAtA)
  4114  	iNdEx := 0
  4115  	for iNdEx < l {
  4116  		preIndex := iNdEx
  4117  		var wire uint64
  4118  		for shift := uint(0); ; shift += 7 {
  4119  			if shift >= 64 {
  4120  				return ErrIntOverflowRpc
  4121  			}
  4122  			if iNdEx >= l {
  4123  				return io.ErrUnexpectedEOF
  4124  			}
  4125  			b := dAtA[iNdEx]
  4126  			iNdEx++
  4127  			wire |= uint64(b&0x7F) << shift
  4128  			if b < 0x80 {
  4129  				break
  4130  			}
  4131  		}
  4132  		fieldNum := int32(wire >> 3)
  4133  		wireType := int(wire & 0x7)
  4134  		if wireType == 4 {
  4135  			return fmt.Errorf("proto: LabelNamesRequest: wiretype end group for non-group")
  4136  		}
  4137  		if fieldNum <= 0 {
  4138  			return fmt.Errorf("proto: LabelNamesRequest: illegal tag %d (wire type %d)", fieldNum, wire)
  4139  		}
  4140  		switch fieldNum {
  4141  		case 1:
  4142  			if wireType != 0 {
  4143  				return fmt.Errorf("proto: wrong wireType = %d for field PartialResponseDisabled", wireType)
  4144  			}
  4145  			var v int
  4146  			for shift := uint(0); ; shift += 7 {
  4147  				if shift >= 64 {
  4148  					return ErrIntOverflowRpc
  4149  				}
  4150  				if iNdEx >= l {
  4151  					return io.ErrUnexpectedEOF
  4152  				}
  4153  				b := dAtA[iNdEx]
  4154  				iNdEx++
  4155  				v |= int(b&0x7F) << shift
  4156  				if b < 0x80 {
  4157  					break
  4158  				}
  4159  			}
  4160  			m.PartialResponseDisabled = bool(v != 0)
  4161  		case 2:
  4162  			if wireType != 0 {
  4163  				return fmt.Errorf("proto: wrong wireType = %d for field PartialResponseStrategy", wireType)
  4164  			}
  4165  			m.PartialResponseStrategy = 0
  4166  			for shift := uint(0); ; shift += 7 {
  4167  				if shift >= 64 {
  4168  					return ErrIntOverflowRpc
  4169  				}
  4170  				if iNdEx >= l {
  4171  					return io.ErrUnexpectedEOF
  4172  				}
  4173  				b := dAtA[iNdEx]
  4174  				iNdEx++
  4175  				m.PartialResponseStrategy |= PartialResponseStrategy(b&0x7F) << shift
  4176  				if b < 0x80 {
  4177  					break
  4178  				}
  4179  			}
  4180  		case 3:
  4181  			if wireType != 0 {
  4182  				return fmt.Errorf("proto: wrong wireType = %d for field Start", wireType)
  4183  			}
  4184  			m.Start = 0
  4185  			for shift := uint(0); ; shift += 7 {
  4186  				if shift >= 64 {
  4187  					return ErrIntOverflowRpc
  4188  				}
  4189  				if iNdEx >= l {
  4190  					return io.ErrUnexpectedEOF
  4191  				}
  4192  				b := dAtA[iNdEx]
  4193  				iNdEx++
  4194  				m.Start |= int64(b&0x7F) << shift
  4195  				if b < 0x80 {
  4196  					break
  4197  				}
  4198  			}
  4199  		case 4:
  4200  			if wireType != 0 {
  4201  				return fmt.Errorf("proto: wrong wireType = %d for field End", wireType)
  4202  			}
  4203  			m.End = 0
  4204  			for shift := uint(0); ; shift += 7 {
  4205  				if shift >= 64 {
  4206  					return ErrIntOverflowRpc
  4207  				}
  4208  				if iNdEx >= l {
  4209  					return io.ErrUnexpectedEOF
  4210  				}
  4211  				b := dAtA[iNdEx]
  4212  				iNdEx++
  4213  				m.End |= int64(b&0x7F) << shift
  4214  				if b < 0x80 {
  4215  					break
  4216  				}
  4217  			}
  4218  		case 5:
  4219  			if wireType != 2 {
  4220  				return fmt.Errorf("proto: wrong wireType = %d for field Hints", wireType)
  4221  			}
  4222  			var msglen int
  4223  			for shift := uint(0); ; shift += 7 {
  4224  				if shift >= 64 {
  4225  					return ErrIntOverflowRpc
  4226  				}
  4227  				if iNdEx >= l {
  4228  					return io.ErrUnexpectedEOF
  4229  				}
  4230  				b := dAtA[iNdEx]
  4231  				iNdEx++
  4232  				msglen |= int(b&0x7F) << shift
  4233  				if b < 0x80 {
  4234  					break
  4235  				}
  4236  			}
  4237  			if msglen < 0 {
  4238  				return ErrInvalidLengthRpc
  4239  			}
  4240  			postIndex := iNdEx + msglen
  4241  			if postIndex < 0 {
  4242  				return ErrInvalidLengthRpc
  4243  			}
  4244  			if postIndex > l {
  4245  				return io.ErrUnexpectedEOF
  4246  			}
  4247  			if m.Hints == nil {
  4248  				m.Hints = &types.Any{}
  4249  			}
  4250  			if err := m.Hints.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  4251  				return err
  4252  			}
  4253  			iNdEx = postIndex
  4254  		case 6:
  4255  			if wireType != 2 {
  4256  				return fmt.Errorf("proto: wrong wireType = %d for field Matchers", wireType)
  4257  			}
  4258  			var msglen int
  4259  			for shift := uint(0); ; shift += 7 {
  4260  				if shift >= 64 {
  4261  					return ErrIntOverflowRpc
  4262  				}
  4263  				if iNdEx >= l {
  4264  					return io.ErrUnexpectedEOF
  4265  				}
  4266  				b := dAtA[iNdEx]
  4267  				iNdEx++
  4268  				msglen |= int(b&0x7F) << shift
  4269  				if b < 0x80 {
  4270  					break
  4271  				}
  4272  			}
  4273  			if msglen < 0 {
  4274  				return ErrInvalidLengthRpc
  4275  			}
  4276  			postIndex := iNdEx + msglen
  4277  			if postIndex < 0 {
  4278  				return ErrInvalidLengthRpc
  4279  			}
  4280  			if postIndex > l {
  4281  				return io.ErrUnexpectedEOF
  4282  			}
  4283  			m.Matchers = append(m.Matchers, LabelMatcher{})
  4284  			if err := m.Matchers[len(m.Matchers)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  4285  				return err
  4286  			}
  4287  			iNdEx = postIndex
  4288  		default:
  4289  			iNdEx = preIndex
  4290  			skippy, err := skipRpc(dAtA[iNdEx:])
  4291  			if err != nil {
  4292  				return err
  4293  			}
  4294  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  4295  				return ErrInvalidLengthRpc
  4296  			}
  4297  			if (iNdEx + skippy) > l {
  4298  				return io.ErrUnexpectedEOF
  4299  			}
  4300  			iNdEx += skippy
  4301  		}
  4302  	}
  4303  
  4304  	if iNdEx > l {
  4305  		return io.ErrUnexpectedEOF
  4306  	}
  4307  	return nil
  4308  }
  4309  func (m *LabelNamesResponse) Unmarshal(dAtA []byte) error {
  4310  	l := len(dAtA)
  4311  	iNdEx := 0
  4312  	for iNdEx < l {
  4313  		preIndex := iNdEx
  4314  		var wire uint64
  4315  		for shift := uint(0); ; shift += 7 {
  4316  			if shift >= 64 {
  4317  				return ErrIntOverflowRpc
  4318  			}
  4319  			if iNdEx >= l {
  4320  				return io.ErrUnexpectedEOF
  4321  			}
  4322  			b := dAtA[iNdEx]
  4323  			iNdEx++
  4324  			wire |= uint64(b&0x7F) << shift
  4325  			if b < 0x80 {
  4326  				break
  4327  			}
  4328  		}
  4329  		fieldNum := int32(wire >> 3)
  4330  		wireType := int(wire & 0x7)
  4331  		if wireType == 4 {
  4332  			return fmt.Errorf("proto: LabelNamesResponse: wiretype end group for non-group")
  4333  		}
  4334  		if fieldNum <= 0 {
  4335  			return fmt.Errorf("proto: LabelNamesResponse: illegal tag %d (wire type %d)", fieldNum, wire)
  4336  		}
  4337  		switch fieldNum {
  4338  		case 1:
  4339  			if wireType != 2 {
  4340  				return fmt.Errorf("proto: wrong wireType = %d for field Names", wireType)
  4341  			}
  4342  			var stringLen uint64
  4343  			for shift := uint(0); ; shift += 7 {
  4344  				if shift >= 64 {
  4345  					return ErrIntOverflowRpc
  4346  				}
  4347  				if iNdEx >= l {
  4348  					return io.ErrUnexpectedEOF
  4349  				}
  4350  				b := dAtA[iNdEx]
  4351  				iNdEx++
  4352  				stringLen |= uint64(b&0x7F) << shift
  4353  				if b < 0x80 {
  4354  					break
  4355  				}
  4356  			}
  4357  			intStringLen := int(stringLen)
  4358  			if intStringLen < 0 {
  4359  				return ErrInvalidLengthRpc
  4360  			}
  4361  			postIndex := iNdEx + intStringLen
  4362  			if postIndex < 0 {
  4363  				return ErrInvalidLengthRpc
  4364  			}
  4365  			if postIndex > l {
  4366  				return io.ErrUnexpectedEOF
  4367  			}
  4368  			m.Names = append(m.Names, string(dAtA[iNdEx:postIndex]))
  4369  			iNdEx = postIndex
  4370  		case 2:
  4371  			if wireType != 2 {
  4372  				return fmt.Errorf("proto: wrong wireType = %d for field Warnings", wireType)
  4373  			}
  4374  			var stringLen uint64
  4375  			for shift := uint(0); ; shift += 7 {
  4376  				if shift >= 64 {
  4377  					return ErrIntOverflowRpc
  4378  				}
  4379  				if iNdEx >= l {
  4380  					return io.ErrUnexpectedEOF
  4381  				}
  4382  				b := dAtA[iNdEx]
  4383  				iNdEx++
  4384  				stringLen |= uint64(b&0x7F) << shift
  4385  				if b < 0x80 {
  4386  					break
  4387  				}
  4388  			}
  4389  			intStringLen := int(stringLen)
  4390  			if intStringLen < 0 {
  4391  				return ErrInvalidLengthRpc
  4392  			}
  4393  			postIndex := iNdEx + intStringLen
  4394  			if postIndex < 0 {
  4395  				return ErrInvalidLengthRpc
  4396  			}
  4397  			if postIndex > l {
  4398  				return io.ErrUnexpectedEOF
  4399  			}
  4400  			m.Warnings = append(m.Warnings, string(dAtA[iNdEx:postIndex]))
  4401  			iNdEx = postIndex
  4402  		case 3:
  4403  			if wireType != 2 {
  4404  				return fmt.Errorf("proto: wrong wireType = %d for field Hints", wireType)
  4405  			}
  4406  			var msglen int
  4407  			for shift := uint(0); ; shift += 7 {
  4408  				if shift >= 64 {
  4409  					return ErrIntOverflowRpc
  4410  				}
  4411  				if iNdEx >= l {
  4412  					return io.ErrUnexpectedEOF
  4413  				}
  4414  				b := dAtA[iNdEx]
  4415  				iNdEx++
  4416  				msglen |= int(b&0x7F) << shift
  4417  				if b < 0x80 {
  4418  					break
  4419  				}
  4420  			}
  4421  			if msglen < 0 {
  4422  				return ErrInvalidLengthRpc
  4423  			}
  4424  			postIndex := iNdEx + msglen
  4425  			if postIndex < 0 {
  4426  				return ErrInvalidLengthRpc
  4427  			}
  4428  			if postIndex > l {
  4429  				return io.ErrUnexpectedEOF
  4430  			}
  4431  			if m.Hints == nil {
  4432  				m.Hints = &types.Any{}
  4433  			}
  4434  			if err := m.Hints.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  4435  				return err
  4436  			}
  4437  			iNdEx = postIndex
  4438  		default:
  4439  			iNdEx = preIndex
  4440  			skippy, err := skipRpc(dAtA[iNdEx:])
  4441  			if err != nil {
  4442  				return err
  4443  			}
  4444  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  4445  				return ErrInvalidLengthRpc
  4446  			}
  4447  			if (iNdEx + skippy) > l {
  4448  				return io.ErrUnexpectedEOF
  4449  			}
  4450  			iNdEx += skippy
  4451  		}
  4452  	}
  4453  
  4454  	if iNdEx > l {
  4455  		return io.ErrUnexpectedEOF
  4456  	}
  4457  	return nil
  4458  }
  4459  func (m *LabelValuesRequest) Unmarshal(dAtA []byte) error {
  4460  	l := len(dAtA)
  4461  	iNdEx := 0
  4462  	for iNdEx < l {
  4463  		preIndex := iNdEx
  4464  		var wire uint64
  4465  		for shift := uint(0); ; shift += 7 {
  4466  			if shift >= 64 {
  4467  				return ErrIntOverflowRpc
  4468  			}
  4469  			if iNdEx >= l {
  4470  				return io.ErrUnexpectedEOF
  4471  			}
  4472  			b := dAtA[iNdEx]
  4473  			iNdEx++
  4474  			wire |= uint64(b&0x7F) << shift
  4475  			if b < 0x80 {
  4476  				break
  4477  			}
  4478  		}
  4479  		fieldNum := int32(wire >> 3)
  4480  		wireType := int(wire & 0x7)
  4481  		if wireType == 4 {
  4482  			return fmt.Errorf("proto: LabelValuesRequest: wiretype end group for non-group")
  4483  		}
  4484  		if fieldNum <= 0 {
  4485  			return fmt.Errorf("proto: LabelValuesRequest: illegal tag %d (wire type %d)", fieldNum, wire)
  4486  		}
  4487  		switch fieldNum {
  4488  		case 1:
  4489  			if wireType != 2 {
  4490  				return fmt.Errorf("proto: wrong wireType = %d for field Label", wireType)
  4491  			}
  4492  			var stringLen uint64
  4493  			for shift := uint(0); ; shift += 7 {
  4494  				if shift >= 64 {
  4495  					return ErrIntOverflowRpc
  4496  				}
  4497  				if iNdEx >= l {
  4498  					return io.ErrUnexpectedEOF
  4499  				}
  4500  				b := dAtA[iNdEx]
  4501  				iNdEx++
  4502  				stringLen |= uint64(b&0x7F) << shift
  4503  				if b < 0x80 {
  4504  					break
  4505  				}
  4506  			}
  4507  			intStringLen := int(stringLen)
  4508  			if intStringLen < 0 {
  4509  				return ErrInvalidLengthRpc
  4510  			}
  4511  			postIndex := iNdEx + intStringLen
  4512  			if postIndex < 0 {
  4513  				return ErrInvalidLengthRpc
  4514  			}
  4515  			if postIndex > l {
  4516  				return io.ErrUnexpectedEOF
  4517  			}
  4518  			m.Label = string(dAtA[iNdEx:postIndex])
  4519  			iNdEx = postIndex
  4520  		case 2:
  4521  			if wireType != 0 {
  4522  				return fmt.Errorf("proto: wrong wireType = %d for field PartialResponseDisabled", wireType)
  4523  			}
  4524  			var v int
  4525  			for shift := uint(0); ; shift += 7 {
  4526  				if shift >= 64 {
  4527  					return ErrIntOverflowRpc
  4528  				}
  4529  				if iNdEx >= l {
  4530  					return io.ErrUnexpectedEOF
  4531  				}
  4532  				b := dAtA[iNdEx]
  4533  				iNdEx++
  4534  				v |= int(b&0x7F) << shift
  4535  				if b < 0x80 {
  4536  					break
  4537  				}
  4538  			}
  4539  			m.PartialResponseDisabled = bool(v != 0)
  4540  		case 3:
  4541  			if wireType != 0 {
  4542  				return fmt.Errorf("proto: wrong wireType = %d for field PartialResponseStrategy", wireType)
  4543  			}
  4544  			m.PartialResponseStrategy = 0
  4545  			for shift := uint(0); ; shift += 7 {
  4546  				if shift >= 64 {
  4547  					return ErrIntOverflowRpc
  4548  				}
  4549  				if iNdEx >= l {
  4550  					return io.ErrUnexpectedEOF
  4551  				}
  4552  				b := dAtA[iNdEx]
  4553  				iNdEx++
  4554  				m.PartialResponseStrategy |= PartialResponseStrategy(b&0x7F) << shift
  4555  				if b < 0x80 {
  4556  					break
  4557  				}
  4558  			}
  4559  		case 4:
  4560  			if wireType != 0 {
  4561  				return fmt.Errorf("proto: wrong wireType = %d for field Start", wireType)
  4562  			}
  4563  			m.Start = 0
  4564  			for shift := uint(0); ; shift += 7 {
  4565  				if shift >= 64 {
  4566  					return ErrIntOverflowRpc
  4567  				}
  4568  				if iNdEx >= l {
  4569  					return io.ErrUnexpectedEOF
  4570  				}
  4571  				b := dAtA[iNdEx]
  4572  				iNdEx++
  4573  				m.Start |= int64(b&0x7F) << shift
  4574  				if b < 0x80 {
  4575  					break
  4576  				}
  4577  			}
  4578  		case 5:
  4579  			if wireType != 0 {
  4580  				return fmt.Errorf("proto: wrong wireType = %d for field End", wireType)
  4581  			}
  4582  			m.End = 0
  4583  			for shift := uint(0); ; shift += 7 {
  4584  				if shift >= 64 {
  4585  					return ErrIntOverflowRpc
  4586  				}
  4587  				if iNdEx >= l {
  4588  					return io.ErrUnexpectedEOF
  4589  				}
  4590  				b := dAtA[iNdEx]
  4591  				iNdEx++
  4592  				m.End |= int64(b&0x7F) << shift
  4593  				if b < 0x80 {
  4594  					break
  4595  				}
  4596  			}
  4597  		case 6:
  4598  			if wireType != 2 {
  4599  				return fmt.Errorf("proto: wrong wireType = %d for field Hints", wireType)
  4600  			}
  4601  			var msglen int
  4602  			for shift := uint(0); ; shift += 7 {
  4603  				if shift >= 64 {
  4604  					return ErrIntOverflowRpc
  4605  				}
  4606  				if iNdEx >= l {
  4607  					return io.ErrUnexpectedEOF
  4608  				}
  4609  				b := dAtA[iNdEx]
  4610  				iNdEx++
  4611  				msglen |= int(b&0x7F) << shift
  4612  				if b < 0x80 {
  4613  					break
  4614  				}
  4615  			}
  4616  			if msglen < 0 {
  4617  				return ErrInvalidLengthRpc
  4618  			}
  4619  			postIndex := iNdEx + msglen
  4620  			if postIndex < 0 {
  4621  				return ErrInvalidLengthRpc
  4622  			}
  4623  			if postIndex > l {
  4624  				return io.ErrUnexpectedEOF
  4625  			}
  4626  			if m.Hints == nil {
  4627  				m.Hints = &types.Any{}
  4628  			}
  4629  			if err := m.Hints.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  4630  				return err
  4631  			}
  4632  			iNdEx = postIndex
  4633  		case 7:
  4634  			if wireType != 2 {
  4635  				return fmt.Errorf("proto: wrong wireType = %d for field Matchers", wireType)
  4636  			}
  4637  			var msglen int
  4638  			for shift := uint(0); ; shift += 7 {
  4639  				if shift >= 64 {
  4640  					return ErrIntOverflowRpc
  4641  				}
  4642  				if iNdEx >= l {
  4643  					return io.ErrUnexpectedEOF
  4644  				}
  4645  				b := dAtA[iNdEx]
  4646  				iNdEx++
  4647  				msglen |= int(b&0x7F) << shift
  4648  				if b < 0x80 {
  4649  					break
  4650  				}
  4651  			}
  4652  			if msglen < 0 {
  4653  				return ErrInvalidLengthRpc
  4654  			}
  4655  			postIndex := iNdEx + msglen
  4656  			if postIndex < 0 {
  4657  				return ErrInvalidLengthRpc
  4658  			}
  4659  			if postIndex > l {
  4660  				return io.ErrUnexpectedEOF
  4661  			}
  4662  			m.Matchers = append(m.Matchers, LabelMatcher{})
  4663  			if err := m.Matchers[len(m.Matchers)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  4664  				return err
  4665  			}
  4666  			iNdEx = postIndex
  4667  		default:
  4668  			iNdEx = preIndex
  4669  			skippy, err := skipRpc(dAtA[iNdEx:])
  4670  			if err != nil {
  4671  				return err
  4672  			}
  4673  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  4674  				return ErrInvalidLengthRpc
  4675  			}
  4676  			if (iNdEx + skippy) > l {
  4677  				return io.ErrUnexpectedEOF
  4678  			}
  4679  			iNdEx += skippy
  4680  		}
  4681  	}
  4682  
  4683  	if iNdEx > l {
  4684  		return io.ErrUnexpectedEOF
  4685  	}
  4686  	return nil
  4687  }
  4688  func (m *LabelValuesResponse) Unmarshal(dAtA []byte) error {
  4689  	l := len(dAtA)
  4690  	iNdEx := 0
  4691  	for iNdEx < l {
  4692  		preIndex := iNdEx
  4693  		var wire uint64
  4694  		for shift := uint(0); ; shift += 7 {
  4695  			if shift >= 64 {
  4696  				return ErrIntOverflowRpc
  4697  			}
  4698  			if iNdEx >= l {
  4699  				return io.ErrUnexpectedEOF
  4700  			}
  4701  			b := dAtA[iNdEx]
  4702  			iNdEx++
  4703  			wire |= uint64(b&0x7F) << shift
  4704  			if b < 0x80 {
  4705  				break
  4706  			}
  4707  		}
  4708  		fieldNum := int32(wire >> 3)
  4709  		wireType := int(wire & 0x7)
  4710  		if wireType == 4 {
  4711  			return fmt.Errorf("proto: LabelValuesResponse: wiretype end group for non-group")
  4712  		}
  4713  		if fieldNum <= 0 {
  4714  			return fmt.Errorf("proto: LabelValuesResponse: illegal tag %d (wire type %d)", fieldNum, wire)
  4715  		}
  4716  		switch fieldNum {
  4717  		case 1:
  4718  			if wireType != 2 {
  4719  				return fmt.Errorf("proto: wrong wireType = %d for field Values", wireType)
  4720  			}
  4721  			var stringLen uint64
  4722  			for shift := uint(0); ; shift += 7 {
  4723  				if shift >= 64 {
  4724  					return ErrIntOverflowRpc
  4725  				}
  4726  				if iNdEx >= l {
  4727  					return io.ErrUnexpectedEOF
  4728  				}
  4729  				b := dAtA[iNdEx]
  4730  				iNdEx++
  4731  				stringLen |= uint64(b&0x7F) << shift
  4732  				if b < 0x80 {
  4733  					break
  4734  				}
  4735  			}
  4736  			intStringLen := int(stringLen)
  4737  			if intStringLen < 0 {
  4738  				return ErrInvalidLengthRpc
  4739  			}
  4740  			postIndex := iNdEx + intStringLen
  4741  			if postIndex < 0 {
  4742  				return ErrInvalidLengthRpc
  4743  			}
  4744  			if postIndex > l {
  4745  				return io.ErrUnexpectedEOF
  4746  			}
  4747  			m.Values = append(m.Values, string(dAtA[iNdEx:postIndex]))
  4748  			iNdEx = postIndex
  4749  		case 2:
  4750  			if wireType != 2 {
  4751  				return fmt.Errorf("proto: wrong wireType = %d for field Warnings", wireType)
  4752  			}
  4753  			var stringLen uint64
  4754  			for shift := uint(0); ; shift += 7 {
  4755  				if shift >= 64 {
  4756  					return ErrIntOverflowRpc
  4757  				}
  4758  				if iNdEx >= l {
  4759  					return io.ErrUnexpectedEOF
  4760  				}
  4761  				b := dAtA[iNdEx]
  4762  				iNdEx++
  4763  				stringLen |= uint64(b&0x7F) << shift
  4764  				if b < 0x80 {
  4765  					break
  4766  				}
  4767  			}
  4768  			intStringLen := int(stringLen)
  4769  			if intStringLen < 0 {
  4770  				return ErrInvalidLengthRpc
  4771  			}
  4772  			postIndex := iNdEx + intStringLen
  4773  			if postIndex < 0 {
  4774  				return ErrInvalidLengthRpc
  4775  			}
  4776  			if postIndex > l {
  4777  				return io.ErrUnexpectedEOF
  4778  			}
  4779  			m.Warnings = append(m.Warnings, string(dAtA[iNdEx:postIndex]))
  4780  			iNdEx = postIndex
  4781  		case 3:
  4782  			if wireType != 2 {
  4783  				return fmt.Errorf("proto: wrong wireType = %d for field Hints", wireType)
  4784  			}
  4785  			var msglen int
  4786  			for shift := uint(0); ; shift += 7 {
  4787  				if shift >= 64 {
  4788  					return ErrIntOverflowRpc
  4789  				}
  4790  				if iNdEx >= l {
  4791  					return io.ErrUnexpectedEOF
  4792  				}
  4793  				b := dAtA[iNdEx]
  4794  				iNdEx++
  4795  				msglen |= int(b&0x7F) << shift
  4796  				if b < 0x80 {
  4797  					break
  4798  				}
  4799  			}
  4800  			if msglen < 0 {
  4801  				return ErrInvalidLengthRpc
  4802  			}
  4803  			postIndex := iNdEx + msglen
  4804  			if postIndex < 0 {
  4805  				return ErrInvalidLengthRpc
  4806  			}
  4807  			if postIndex > l {
  4808  				return io.ErrUnexpectedEOF
  4809  			}
  4810  			if m.Hints == nil {
  4811  				m.Hints = &types.Any{}
  4812  			}
  4813  			if err := m.Hints.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  4814  				return err
  4815  			}
  4816  			iNdEx = postIndex
  4817  		default:
  4818  			iNdEx = preIndex
  4819  			skippy, err := skipRpc(dAtA[iNdEx:])
  4820  			if err != nil {
  4821  				return err
  4822  			}
  4823  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  4824  				return ErrInvalidLengthRpc
  4825  			}
  4826  			if (iNdEx + skippy) > l {
  4827  				return io.ErrUnexpectedEOF
  4828  			}
  4829  			iNdEx += skippy
  4830  		}
  4831  	}
  4832  
  4833  	if iNdEx > l {
  4834  		return io.ErrUnexpectedEOF
  4835  	}
  4836  	return nil
  4837  }
  4838  func skipRpc(dAtA []byte) (n int, err error) {
  4839  	l := len(dAtA)
  4840  	iNdEx := 0
  4841  	depth := 0
  4842  	for iNdEx < l {
  4843  		var wire uint64
  4844  		for shift := uint(0); ; shift += 7 {
  4845  			if shift >= 64 {
  4846  				return 0, ErrIntOverflowRpc
  4847  			}
  4848  			if iNdEx >= l {
  4849  				return 0, io.ErrUnexpectedEOF
  4850  			}
  4851  			b := dAtA[iNdEx]
  4852  			iNdEx++
  4853  			wire |= (uint64(b) & 0x7F) << shift
  4854  			if b < 0x80 {
  4855  				break
  4856  			}
  4857  		}
  4858  		wireType := int(wire & 0x7)
  4859  		switch wireType {
  4860  		case 0:
  4861  			for shift := uint(0); ; shift += 7 {
  4862  				if shift >= 64 {
  4863  					return 0, ErrIntOverflowRpc
  4864  				}
  4865  				if iNdEx >= l {
  4866  					return 0, io.ErrUnexpectedEOF
  4867  				}
  4868  				iNdEx++
  4869  				if dAtA[iNdEx-1] < 0x80 {
  4870  					break
  4871  				}
  4872  			}
  4873  		case 1:
  4874  			iNdEx += 8
  4875  		case 2:
  4876  			var length int
  4877  			for shift := uint(0); ; shift += 7 {
  4878  				if shift >= 64 {
  4879  					return 0, ErrIntOverflowRpc
  4880  				}
  4881  				if iNdEx >= l {
  4882  					return 0, io.ErrUnexpectedEOF
  4883  				}
  4884  				b := dAtA[iNdEx]
  4885  				iNdEx++
  4886  				length |= (int(b) & 0x7F) << shift
  4887  				if b < 0x80 {
  4888  					break
  4889  				}
  4890  			}
  4891  			if length < 0 {
  4892  				return 0, ErrInvalidLengthRpc
  4893  			}
  4894  			iNdEx += length
  4895  		case 3:
  4896  			depth++
  4897  		case 4:
  4898  			if depth == 0 {
  4899  				return 0, ErrUnexpectedEndOfGroupRpc
  4900  			}
  4901  			depth--
  4902  		case 5:
  4903  			iNdEx += 4
  4904  		default:
  4905  			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
  4906  		}
  4907  		if iNdEx < 0 {
  4908  			return 0, ErrInvalidLengthRpc
  4909  		}
  4910  		if depth == 0 {
  4911  			return iNdEx, nil
  4912  		}
  4913  	}
  4914  	return 0, io.ErrUnexpectedEOF
  4915  }
  4916  
  4917  var (
  4918  	ErrInvalidLengthRpc        = fmt.Errorf("proto: negative length found during unmarshaling")
  4919  	ErrIntOverflowRpc          = fmt.Errorf("proto: integer overflow")
  4920  	ErrUnexpectedEndOfGroupRpc = fmt.Errorf("proto: unexpected end of group")
  4921  )