github.com/onosproject/onos-api/go@v0.10.32/onos/topo/topo.pb.go (about)

     1  // Code generated by protoc-gen-gogo. DO NOT EDIT.
     2  // source: onos/topo/topo.proto
     3  
     4  // Package onos.topo defines interfaces for managing network topology
     5  
     6  package topo
     7  
     8  import (
     9  	context "context"
    10  	fmt "fmt"
    11  	_ "github.com/gogo/protobuf/gogoproto"
    12  	proto "github.com/gogo/protobuf/proto"
    13  	types "github.com/gogo/protobuf/types"
    14  	grpc "google.golang.org/grpc"
    15  	codes "google.golang.org/grpc/codes"
    16  	status "google.golang.org/grpc/status"
    17  	io "io"
    18  	math "math"
    19  	math_bits "math/bits"
    20  )
    21  
    22  // Reference imports to suppress errors if they are not otherwise used.
    23  var _ = proto.Marshal
    24  var _ = fmt.Errorf
    25  var _ = math.Inf
    26  
    27  // This is a compile-time assertion to ensure that this generated file
    28  // is compatible with the proto package it is being compiled against.
    29  // A compilation error at this line likely means your copy of the
    30  // proto package needs to be updated.
    31  const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
    32  
    33  // EventType is a topo operation event type
    34  type EventType int32
    35  
    36  const (
    37  	EventType_NONE    EventType = 0
    38  	EventType_ADDED   EventType = 1
    39  	EventType_UPDATED EventType = 2
    40  	EventType_REMOVED EventType = 3
    41  )
    42  
    43  var EventType_name = map[int32]string{
    44  	0: "NONE",
    45  	1: "ADDED",
    46  	2: "UPDATED",
    47  	3: "REMOVED",
    48  }
    49  
    50  var EventType_value = map[string]int32{
    51  	"NONE":    0,
    52  	"ADDED":   1,
    53  	"UPDATED": 2,
    54  	"REMOVED": 3,
    55  }
    56  
    57  func (x EventType) String() string {
    58  	return proto.EnumName(EventType_name, int32(x))
    59  }
    60  
    61  func (EventType) EnumDescriptor() ([]byte, []int) {
    62  	return fileDescriptor_4aa6a08a9884ea40, []int{0}
    63  }
    64  
    65  type RelationFilterScope int32
    66  
    67  const (
    68  	RelationFilterScope_TARGETS_ONLY          RelationFilterScope = 0
    69  	RelationFilterScope_ALL                   RelationFilterScope = 1
    70  	RelationFilterScope_SOURCE_AND_TARGETS    RelationFilterScope = 2
    71  	RelationFilterScope_RELATIONS_ONLY        RelationFilterScope = 3
    72  	RelationFilterScope_RELATIONS_AND_TARGETS RelationFilterScope = 4
    73  )
    74  
    75  var RelationFilterScope_name = map[int32]string{
    76  	0: "TARGETS_ONLY",
    77  	1: "ALL",
    78  	2: "SOURCE_AND_TARGETS",
    79  	3: "RELATIONS_ONLY",
    80  	4: "RELATIONS_AND_TARGETS",
    81  }
    82  
    83  var RelationFilterScope_value = map[string]int32{
    84  	"TARGETS_ONLY":          0,
    85  	"ALL":                   1,
    86  	"SOURCE_AND_TARGETS":    2,
    87  	"RELATIONS_ONLY":        3,
    88  	"RELATIONS_AND_TARGETS": 4,
    89  }
    90  
    91  func (x RelationFilterScope) String() string {
    92  	return proto.EnumName(RelationFilterScope_name, int32(x))
    93  }
    94  
    95  func (RelationFilterScope) EnumDescriptor() ([]byte, []int) {
    96  	return fileDescriptor_4aa6a08a9884ea40, []int{1}
    97  }
    98  
    99  type SortOrder int32
   100  
   101  const (
   102  	SortOrder_UNORDERED  SortOrder = 0
   103  	SortOrder_ASCENDING  SortOrder = 1
   104  	SortOrder_DESCENDING SortOrder = 2
   105  )
   106  
   107  var SortOrder_name = map[int32]string{
   108  	0: "UNORDERED",
   109  	1: "ASCENDING",
   110  	2: "DESCENDING",
   111  }
   112  
   113  var SortOrder_value = map[string]int32{
   114  	"UNORDERED":  0,
   115  	"ASCENDING":  1,
   116  	"DESCENDING": 2,
   117  }
   118  
   119  func (x SortOrder) String() string {
   120  	return proto.EnumName(SortOrder_name, int32(x))
   121  }
   122  
   123  func (SortOrder) EnumDescriptor() ([]byte, []int) {
   124  	return fileDescriptor_4aa6a08a9884ea40, []int{2}
   125  }
   126  
   127  type Object_Type int32
   128  
   129  const (
   130  	Object_UNSPECIFIED Object_Type = 0
   131  	Object_ENTITY      Object_Type = 1
   132  	Object_RELATION    Object_Type = 2
   133  	Object_KIND        Object_Type = 3
   134  )
   135  
   136  var Object_Type_name = map[int32]string{
   137  	0: "UNSPECIFIED",
   138  	1: "ENTITY",
   139  	2: "RELATION",
   140  	3: "KIND",
   141  }
   142  
   143  var Object_Type_value = map[string]int32{
   144  	"UNSPECIFIED": 0,
   145  	"ENTITY":      1,
   146  	"RELATION":    2,
   147  	"KIND":        3,
   148  }
   149  
   150  func (x Object_Type) String() string {
   151  	return proto.EnumName(Object_Type_name, int32(x))
   152  }
   153  
   154  func (Object_Type) EnumDescriptor() ([]byte, []int) {
   155  	return fileDescriptor_4aa6a08a9884ea40, []int{21, 0}
   156  }
   157  
   158  // Event is a topo operation event
   159  type Event struct {
   160  	Type   EventType `protobuf:"varint,1,opt,name=type,proto3,enum=onos.topo.EventType" json:"type,omitempty"`
   161  	Object Object    `protobuf:"bytes,2,opt,name=object,proto3" json:"object"`
   162  }
   163  
   164  func (m *Event) Reset()         { *m = Event{} }
   165  func (m *Event) String() string { return proto.CompactTextString(m) }
   166  func (*Event) ProtoMessage()    {}
   167  func (*Event) Descriptor() ([]byte, []int) {
   168  	return fileDescriptor_4aa6a08a9884ea40, []int{0}
   169  }
   170  func (m *Event) XXX_Unmarshal(b []byte) error {
   171  	return m.Unmarshal(b)
   172  }
   173  func (m *Event) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   174  	if deterministic {
   175  		return xxx_messageInfo_Event.Marshal(b, m, deterministic)
   176  	} else {
   177  		b = b[:cap(b)]
   178  		n, err := m.MarshalToSizedBuffer(b)
   179  		if err != nil {
   180  			return nil, err
   181  		}
   182  		return b[:n], nil
   183  	}
   184  }
   185  func (m *Event) XXX_Merge(src proto.Message) {
   186  	xxx_messageInfo_Event.Merge(m, src)
   187  }
   188  func (m *Event) XXX_Size() int {
   189  	return m.Size()
   190  }
   191  func (m *Event) XXX_DiscardUnknown() {
   192  	xxx_messageInfo_Event.DiscardUnknown(m)
   193  }
   194  
   195  var xxx_messageInfo_Event proto.InternalMessageInfo
   196  
   197  func (m *Event) GetType() EventType {
   198  	if m != nil {
   199  		return m.Type
   200  	}
   201  	return EventType_NONE
   202  }
   203  
   204  func (m *Event) GetObject() Object {
   205  	if m != nil {
   206  		return m.Object
   207  	}
   208  	return Object{}
   209  }
   210  
   211  type CreateRequest struct {
   212  	Object *Object `protobuf:"bytes,1,opt,name=object,proto3" json:"object,omitempty"`
   213  }
   214  
   215  func (m *CreateRequest) Reset()         { *m = CreateRequest{} }
   216  func (m *CreateRequest) String() string { return proto.CompactTextString(m) }
   217  func (*CreateRequest) ProtoMessage()    {}
   218  func (*CreateRequest) Descriptor() ([]byte, []int) {
   219  	return fileDescriptor_4aa6a08a9884ea40, []int{1}
   220  }
   221  func (m *CreateRequest) XXX_Unmarshal(b []byte) error {
   222  	return m.Unmarshal(b)
   223  }
   224  func (m *CreateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   225  	if deterministic {
   226  		return xxx_messageInfo_CreateRequest.Marshal(b, m, deterministic)
   227  	} else {
   228  		b = b[:cap(b)]
   229  		n, err := m.MarshalToSizedBuffer(b)
   230  		if err != nil {
   231  			return nil, err
   232  		}
   233  		return b[:n], nil
   234  	}
   235  }
   236  func (m *CreateRequest) XXX_Merge(src proto.Message) {
   237  	xxx_messageInfo_CreateRequest.Merge(m, src)
   238  }
   239  func (m *CreateRequest) XXX_Size() int {
   240  	return m.Size()
   241  }
   242  func (m *CreateRequest) XXX_DiscardUnknown() {
   243  	xxx_messageInfo_CreateRequest.DiscardUnknown(m)
   244  }
   245  
   246  var xxx_messageInfo_CreateRequest proto.InternalMessageInfo
   247  
   248  func (m *CreateRequest) GetObject() *Object {
   249  	if m != nil {
   250  		return m.Object
   251  	}
   252  	return nil
   253  }
   254  
   255  type CreateResponse struct {
   256  	Object *Object `protobuf:"bytes,1,opt,name=object,proto3" json:"object,omitempty"`
   257  }
   258  
   259  func (m *CreateResponse) Reset()         { *m = CreateResponse{} }
   260  func (m *CreateResponse) String() string { return proto.CompactTextString(m) }
   261  func (*CreateResponse) ProtoMessage()    {}
   262  func (*CreateResponse) Descriptor() ([]byte, []int) {
   263  	return fileDescriptor_4aa6a08a9884ea40, []int{2}
   264  }
   265  func (m *CreateResponse) XXX_Unmarshal(b []byte) error {
   266  	return m.Unmarshal(b)
   267  }
   268  func (m *CreateResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   269  	if deterministic {
   270  		return xxx_messageInfo_CreateResponse.Marshal(b, m, deterministic)
   271  	} else {
   272  		b = b[:cap(b)]
   273  		n, err := m.MarshalToSizedBuffer(b)
   274  		if err != nil {
   275  			return nil, err
   276  		}
   277  		return b[:n], nil
   278  	}
   279  }
   280  func (m *CreateResponse) XXX_Merge(src proto.Message) {
   281  	xxx_messageInfo_CreateResponse.Merge(m, src)
   282  }
   283  func (m *CreateResponse) XXX_Size() int {
   284  	return m.Size()
   285  }
   286  func (m *CreateResponse) XXX_DiscardUnknown() {
   287  	xxx_messageInfo_CreateResponse.DiscardUnknown(m)
   288  }
   289  
   290  var xxx_messageInfo_CreateResponse proto.InternalMessageInfo
   291  
   292  func (m *CreateResponse) GetObject() *Object {
   293  	if m != nil {
   294  		return m.Object
   295  	}
   296  	return nil
   297  }
   298  
   299  type GetRequest struct {
   300  	ID ID `protobuf:"bytes,1,opt,name=id,proto3,casttype=ID" json:"id,omitempty"`
   301  }
   302  
   303  func (m *GetRequest) Reset()         { *m = GetRequest{} }
   304  func (m *GetRequest) String() string { return proto.CompactTextString(m) }
   305  func (*GetRequest) ProtoMessage()    {}
   306  func (*GetRequest) Descriptor() ([]byte, []int) {
   307  	return fileDescriptor_4aa6a08a9884ea40, []int{3}
   308  }
   309  func (m *GetRequest) XXX_Unmarshal(b []byte) error {
   310  	return m.Unmarshal(b)
   311  }
   312  func (m *GetRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   313  	if deterministic {
   314  		return xxx_messageInfo_GetRequest.Marshal(b, m, deterministic)
   315  	} else {
   316  		b = b[:cap(b)]
   317  		n, err := m.MarshalToSizedBuffer(b)
   318  		if err != nil {
   319  			return nil, err
   320  		}
   321  		return b[:n], nil
   322  	}
   323  }
   324  func (m *GetRequest) XXX_Merge(src proto.Message) {
   325  	xxx_messageInfo_GetRequest.Merge(m, src)
   326  }
   327  func (m *GetRequest) XXX_Size() int {
   328  	return m.Size()
   329  }
   330  func (m *GetRequest) XXX_DiscardUnknown() {
   331  	xxx_messageInfo_GetRequest.DiscardUnknown(m)
   332  }
   333  
   334  var xxx_messageInfo_GetRequest proto.InternalMessageInfo
   335  
   336  func (m *GetRequest) GetID() ID {
   337  	if m != nil {
   338  		return m.ID
   339  	}
   340  	return ""
   341  }
   342  
   343  type GetResponse struct {
   344  	Object *Object `protobuf:"bytes,1,opt,name=object,proto3" json:"object,omitempty"`
   345  }
   346  
   347  func (m *GetResponse) Reset()         { *m = GetResponse{} }
   348  func (m *GetResponse) String() string { return proto.CompactTextString(m) }
   349  func (*GetResponse) ProtoMessage()    {}
   350  func (*GetResponse) Descriptor() ([]byte, []int) {
   351  	return fileDescriptor_4aa6a08a9884ea40, []int{4}
   352  }
   353  func (m *GetResponse) XXX_Unmarshal(b []byte) error {
   354  	return m.Unmarshal(b)
   355  }
   356  func (m *GetResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   357  	if deterministic {
   358  		return xxx_messageInfo_GetResponse.Marshal(b, m, deterministic)
   359  	} else {
   360  		b = b[:cap(b)]
   361  		n, err := m.MarshalToSizedBuffer(b)
   362  		if err != nil {
   363  			return nil, err
   364  		}
   365  		return b[:n], nil
   366  	}
   367  }
   368  func (m *GetResponse) XXX_Merge(src proto.Message) {
   369  	xxx_messageInfo_GetResponse.Merge(m, src)
   370  }
   371  func (m *GetResponse) XXX_Size() int {
   372  	return m.Size()
   373  }
   374  func (m *GetResponse) XXX_DiscardUnknown() {
   375  	xxx_messageInfo_GetResponse.DiscardUnknown(m)
   376  }
   377  
   378  var xxx_messageInfo_GetResponse proto.InternalMessageInfo
   379  
   380  func (m *GetResponse) GetObject() *Object {
   381  	if m != nil {
   382  		return m.Object
   383  	}
   384  	return nil
   385  }
   386  
   387  type UpdateRequest struct {
   388  	Object *Object `protobuf:"bytes,1,opt,name=object,proto3" json:"object,omitempty"`
   389  }
   390  
   391  func (m *UpdateRequest) Reset()         { *m = UpdateRequest{} }
   392  func (m *UpdateRequest) String() string { return proto.CompactTextString(m) }
   393  func (*UpdateRequest) ProtoMessage()    {}
   394  func (*UpdateRequest) Descriptor() ([]byte, []int) {
   395  	return fileDescriptor_4aa6a08a9884ea40, []int{5}
   396  }
   397  func (m *UpdateRequest) XXX_Unmarshal(b []byte) error {
   398  	return m.Unmarshal(b)
   399  }
   400  func (m *UpdateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   401  	if deterministic {
   402  		return xxx_messageInfo_UpdateRequest.Marshal(b, m, deterministic)
   403  	} else {
   404  		b = b[:cap(b)]
   405  		n, err := m.MarshalToSizedBuffer(b)
   406  		if err != nil {
   407  			return nil, err
   408  		}
   409  		return b[:n], nil
   410  	}
   411  }
   412  func (m *UpdateRequest) XXX_Merge(src proto.Message) {
   413  	xxx_messageInfo_UpdateRequest.Merge(m, src)
   414  }
   415  func (m *UpdateRequest) XXX_Size() int {
   416  	return m.Size()
   417  }
   418  func (m *UpdateRequest) XXX_DiscardUnknown() {
   419  	xxx_messageInfo_UpdateRequest.DiscardUnknown(m)
   420  }
   421  
   422  var xxx_messageInfo_UpdateRequest proto.InternalMessageInfo
   423  
   424  func (m *UpdateRequest) GetObject() *Object {
   425  	if m != nil {
   426  		return m.Object
   427  	}
   428  	return nil
   429  }
   430  
   431  type UpdateResponse struct {
   432  	Object *Object `protobuf:"bytes,1,opt,name=object,proto3" json:"object,omitempty"`
   433  }
   434  
   435  func (m *UpdateResponse) Reset()         { *m = UpdateResponse{} }
   436  func (m *UpdateResponse) String() string { return proto.CompactTextString(m) }
   437  func (*UpdateResponse) ProtoMessage()    {}
   438  func (*UpdateResponse) Descriptor() ([]byte, []int) {
   439  	return fileDescriptor_4aa6a08a9884ea40, []int{6}
   440  }
   441  func (m *UpdateResponse) XXX_Unmarshal(b []byte) error {
   442  	return m.Unmarshal(b)
   443  }
   444  func (m *UpdateResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   445  	if deterministic {
   446  		return xxx_messageInfo_UpdateResponse.Marshal(b, m, deterministic)
   447  	} else {
   448  		b = b[:cap(b)]
   449  		n, err := m.MarshalToSizedBuffer(b)
   450  		if err != nil {
   451  			return nil, err
   452  		}
   453  		return b[:n], nil
   454  	}
   455  }
   456  func (m *UpdateResponse) XXX_Merge(src proto.Message) {
   457  	xxx_messageInfo_UpdateResponse.Merge(m, src)
   458  }
   459  func (m *UpdateResponse) XXX_Size() int {
   460  	return m.Size()
   461  }
   462  func (m *UpdateResponse) XXX_DiscardUnknown() {
   463  	xxx_messageInfo_UpdateResponse.DiscardUnknown(m)
   464  }
   465  
   466  var xxx_messageInfo_UpdateResponse proto.InternalMessageInfo
   467  
   468  func (m *UpdateResponse) GetObject() *Object {
   469  	if m != nil {
   470  		return m.Object
   471  	}
   472  	return nil
   473  }
   474  
   475  type DeleteRequest struct {
   476  	ID       ID       `protobuf:"bytes,1,opt,name=id,proto3,casttype=ID" json:"id,omitempty"`
   477  	Revision Revision `protobuf:"varint,2,opt,name=revision,proto3,casttype=Revision" json:"revision,omitempty"`
   478  }
   479  
   480  func (m *DeleteRequest) Reset()         { *m = DeleteRequest{} }
   481  func (m *DeleteRequest) String() string { return proto.CompactTextString(m) }
   482  func (*DeleteRequest) ProtoMessage()    {}
   483  func (*DeleteRequest) Descriptor() ([]byte, []int) {
   484  	return fileDescriptor_4aa6a08a9884ea40, []int{7}
   485  }
   486  func (m *DeleteRequest) XXX_Unmarshal(b []byte) error {
   487  	return m.Unmarshal(b)
   488  }
   489  func (m *DeleteRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   490  	if deterministic {
   491  		return xxx_messageInfo_DeleteRequest.Marshal(b, m, deterministic)
   492  	} else {
   493  		b = b[:cap(b)]
   494  		n, err := m.MarshalToSizedBuffer(b)
   495  		if err != nil {
   496  			return nil, err
   497  		}
   498  		return b[:n], nil
   499  	}
   500  }
   501  func (m *DeleteRequest) XXX_Merge(src proto.Message) {
   502  	xxx_messageInfo_DeleteRequest.Merge(m, src)
   503  }
   504  func (m *DeleteRequest) XXX_Size() int {
   505  	return m.Size()
   506  }
   507  func (m *DeleteRequest) XXX_DiscardUnknown() {
   508  	xxx_messageInfo_DeleteRequest.DiscardUnknown(m)
   509  }
   510  
   511  var xxx_messageInfo_DeleteRequest proto.InternalMessageInfo
   512  
   513  func (m *DeleteRequest) GetID() ID {
   514  	if m != nil {
   515  		return m.ID
   516  	}
   517  	return ""
   518  }
   519  
   520  func (m *DeleteRequest) GetRevision() Revision {
   521  	if m != nil {
   522  		return m.Revision
   523  	}
   524  	return 0
   525  }
   526  
   527  type DeleteResponse struct {
   528  }
   529  
   530  func (m *DeleteResponse) Reset()         { *m = DeleteResponse{} }
   531  func (m *DeleteResponse) String() string { return proto.CompactTextString(m) }
   532  func (*DeleteResponse) ProtoMessage()    {}
   533  func (*DeleteResponse) Descriptor() ([]byte, []int) {
   534  	return fileDescriptor_4aa6a08a9884ea40, []int{8}
   535  }
   536  func (m *DeleteResponse) XXX_Unmarshal(b []byte) error {
   537  	return m.Unmarshal(b)
   538  }
   539  func (m *DeleteResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   540  	if deterministic {
   541  		return xxx_messageInfo_DeleteResponse.Marshal(b, m, deterministic)
   542  	} else {
   543  		b = b[:cap(b)]
   544  		n, err := m.MarshalToSizedBuffer(b)
   545  		if err != nil {
   546  			return nil, err
   547  		}
   548  		return b[:n], nil
   549  	}
   550  }
   551  func (m *DeleteResponse) XXX_Merge(src proto.Message) {
   552  	xxx_messageInfo_DeleteResponse.Merge(m, src)
   553  }
   554  func (m *DeleteResponse) XXX_Size() int {
   555  	return m.Size()
   556  }
   557  func (m *DeleteResponse) XXX_DiscardUnknown() {
   558  	xxx_messageInfo_DeleteResponse.DiscardUnknown(m)
   559  }
   560  
   561  var xxx_messageInfo_DeleteResponse proto.InternalMessageInfo
   562  
   563  type Filter struct {
   564  	// Types that are valid to be assigned to Filter:
   565  	//	*Filter_Equal_
   566  	//	*Filter_Not
   567  	//	*Filter_In
   568  	Filter isFilter_Filter `protobuf_oneof:"filter"`
   569  	Key    string          `protobuf:"bytes,4,opt,name=key,proto3" json:"key,omitempty"`
   570  }
   571  
   572  func (m *Filter) Reset()         { *m = Filter{} }
   573  func (m *Filter) String() string { return proto.CompactTextString(m) }
   574  func (*Filter) ProtoMessage()    {}
   575  func (*Filter) Descriptor() ([]byte, []int) {
   576  	return fileDescriptor_4aa6a08a9884ea40, []int{9}
   577  }
   578  func (m *Filter) XXX_Unmarshal(b []byte) error {
   579  	return m.Unmarshal(b)
   580  }
   581  func (m *Filter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   582  	if deterministic {
   583  		return xxx_messageInfo_Filter.Marshal(b, m, deterministic)
   584  	} else {
   585  		b = b[:cap(b)]
   586  		n, err := m.MarshalToSizedBuffer(b)
   587  		if err != nil {
   588  			return nil, err
   589  		}
   590  		return b[:n], nil
   591  	}
   592  }
   593  func (m *Filter) XXX_Merge(src proto.Message) {
   594  	xxx_messageInfo_Filter.Merge(m, src)
   595  }
   596  func (m *Filter) XXX_Size() int {
   597  	return m.Size()
   598  }
   599  func (m *Filter) XXX_DiscardUnknown() {
   600  	xxx_messageInfo_Filter.DiscardUnknown(m)
   601  }
   602  
   603  var xxx_messageInfo_Filter proto.InternalMessageInfo
   604  
   605  type isFilter_Filter interface {
   606  	isFilter_Filter()
   607  	MarshalTo([]byte) (int, error)
   608  	Size() int
   609  }
   610  
   611  type Filter_Equal_ struct {
   612  	Equal_ *EqualFilter `protobuf:"bytes,1,opt,name=equal,proto3,oneof" json:"equal,omitempty"`
   613  }
   614  type Filter_Not struct {
   615  	Not *NotFilter `protobuf:"bytes,2,opt,name=not,proto3,oneof" json:"not,omitempty"`
   616  }
   617  type Filter_In struct {
   618  	In *InFilter `protobuf:"bytes,3,opt,name=in,proto3,oneof" json:"in,omitempty"`
   619  }
   620  
   621  func (*Filter_Equal_) isFilter_Filter() {}
   622  func (*Filter_Not) isFilter_Filter()    {}
   623  func (*Filter_In) isFilter_Filter()     {}
   624  
   625  func (m *Filter) GetFilter() isFilter_Filter {
   626  	if m != nil {
   627  		return m.Filter
   628  	}
   629  	return nil
   630  }
   631  
   632  func (m *Filter) GetEqual_() *EqualFilter {
   633  	if x, ok := m.GetFilter().(*Filter_Equal_); ok {
   634  		return x.Equal_
   635  	}
   636  	return nil
   637  }
   638  
   639  func (m *Filter) GetNot() *NotFilter {
   640  	if x, ok := m.GetFilter().(*Filter_Not); ok {
   641  		return x.Not
   642  	}
   643  	return nil
   644  }
   645  
   646  func (m *Filter) GetIn() *InFilter {
   647  	if x, ok := m.GetFilter().(*Filter_In); ok {
   648  		return x.In
   649  	}
   650  	return nil
   651  }
   652  
   653  func (m *Filter) GetKey() string {
   654  	if m != nil {
   655  		return m.Key
   656  	}
   657  	return ""
   658  }
   659  
   660  // XXX_OneofWrappers is for the internal use of the proto package.
   661  func (*Filter) XXX_OneofWrappers() []interface{} {
   662  	return []interface{}{
   663  		(*Filter_Equal_)(nil),
   664  		(*Filter_Not)(nil),
   665  		(*Filter_In)(nil),
   666  	}
   667  }
   668  
   669  type EqualFilter struct {
   670  	Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
   671  }
   672  
   673  func (m *EqualFilter) Reset()         { *m = EqualFilter{} }
   674  func (m *EqualFilter) String() string { return proto.CompactTextString(m) }
   675  func (*EqualFilter) ProtoMessage()    {}
   676  func (*EqualFilter) Descriptor() ([]byte, []int) {
   677  	return fileDescriptor_4aa6a08a9884ea40, []int{10}
   678  }
   679  func (m *EqualFilter) XXX_Unmarshal(b []byte) error {
   680  	return m.Unmarshal(b)
   681  }
   682  func (m *EqualFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   683  	if deterministic {
   684  		return xxx_messageInfo_EqualFilter.Marshal(b, m, deterministic)
   685  	} else {
   686  		b = b[:cap(b)]
   687  		n, err := m.MarshalToSizedBuffer(b)
   688  		if err != nil {
   689  			return nil, err
   690  		}
   691  		return b[:n], nil
   692  	}
   693  }
   694  func (m *EqualFilter) XXX_Merge(src proto.Message) {
   695  	xxx_messageInfo_EqualFilter.Merge(m, src)
   696  }
   697  func (m *EqualFilter) XXX_Size() int {
   698  	return m.Size()
   699  }
   700  func (m *EqualFilter) XXX_DiscardUnknown() {
   701  	xxx_messageInfo_EqualFilter.DiscardUnknown(m)
   702  }
   703  
   704  var xxx_messageInfo_EqualFilter proto.InternalMessageInfo
   705  
   706  func (m *EqualFilter) GetValue() string {
   707  	if m != nil {
   708  		return m.Value
   709  	}
   710  	return ""
   711  }
   712  
   713  type InFilter struct {
   714  	Values []string `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"`
   715  }
   716  
   717  func (m *InFilter) Reset()         { *m = InFilter{} }
   718  func (m *InFilter) String() string { return proto.CompactTextString(m) }
   719  func (*InFilter) ProtoMessage()    {}
   720  func (*InFilter) Descriptor() ([]byte, []int) {
   721  	return fileDescriptor_4aa6a08a9884ea40, []int{11}
   722  }
   723  func (m *InFilter) XXX_Unmarshal(b []byte) error {
   724  	return m.Unmarshal(b)
   725  }
   726  func (m *InFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   727  	if deterministic {
   728  		return xxx_messageInfo_InFilter.Marshal(b, m, deterministic)
   729  	} else {
   730  		b = b[:cap(b)]
   731  		n, err := m.MarshalToSizedBuffer(b)
   732  		if err != nil {
   733  			return nil, err
   734  		}
   735  		return b[:n], nil
   736  	}
   737  }
   738  func (m *InFilter) XXX_Merge(src proto.Message) {
   739  	xxx_messageInfo_InFilter.Merge(m, src)
   740  }
   741  func (m *InFilter) XXX_Size() int {
   742  	return m.Size()
   743  }
   744  func (m *InFilter) XXX_DiscardUnknown() {
   745  	xxx_messageInfo_InFilter.DiscardUnknown(m)
   746  }
   747  
   748  var xxx_messageInfo_InFilter proto.InternalMessageInfo
   749  
   750  func (m *InFilter) GetValues() []string {
   751  	if m != nil {
   752  		return m.Values
   753  	}
   754  	return nil
   755  }
   756  
   757  type NotFilter struct {
   758  	Inner *Filter `protobuf:"bytes,1,opt,name=inner,proto3" json:"inner,omitempty"`
   759  }
   760  
   761  func (m *NotFilter) Reset()         { *m = NotFilter{} }
   762  func (m *NotFilter) String() string { return proto.CompactTextString(m) }
   763  func (*NotFilter) ProtoMessage()    {}
   764  func (*NotFilter) Descriptor() ([]byte, []int) {
   765  	return fileDescriptor_4aa6a08a9884ea40, []int{12}
   766  }
   767  func (m *NotFilter) XXX_Unmarshal(b []byte) error {
   768  	return m.Unmarshal(b)
   769  }
   770  func (m *NotFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   771  	if deterministic {
   772  		return xxx_messageInfo_NotFilter.Marshal(b, m, deterministic)
   773  	} else {
   774  		b = b[:cap(b)]
   775  		n, err := m.MarshalToSizedBuffer(b)
   776  		if err != nil {
   777  			return nil, err
   778  		}
   779  		return b[:n], nil
   780  	}
   781  }
   782  func (m *NotFilter) XXX_Merge(src proto.Message) {
   783  	xxx_messageInfo_NotFilter.Merge(m, src)
   784  }
   785  func (m *NotFilter) XXX_Size() int {
   786  	return m.Size()
   787  }
   788  func (m *NotFilter) XXX_DiscardUnknown() {
   789  	xxx_messageInfo_NotFilter.DiscardUnknown(m)
   790  }
   791  
   792  var xxx_messageInfo_NotFilter proto.InternalMessageInfo
   793  
   794  func (m *NotFilter) GetInner() *Filter {
   795  	if m != nil {
   796  		return m.Inner
   797  	}
   798  	return nil
   799  }
   800  
   801  // Filter for targets of given relation kinds and given source ids; optionally, filters by specified target kind
   802  type RelationFilter struct {
   803  	SrcId        string              `protobuf:"bytes,1,opt,name=src_id,json=srcId,proto3" json:"src_id,omitempty"`
   804  	RelationKind string              `protobuf:"bytes,2,opt,name=relation_kind,json=relationKind,proto3" json:"relation_kind,omitempty"`
   805  	TargetKind   string              `protobuf:"bytes,3,opt,name=target_kind,json=targetKind,proto3" json:"target_kind,omitempty"`
   806  	Scope        RelationFilterScope `protobuf:"varint,4,opt,name=scope,proto3,enum=onos.topo.RelationFilterScope" json:"scope,omitempty"`
   807  	TargetId     string              `protobuf:"bytes,5,opt,name=target_id,json=targetId,proto3" json:"target_id,omitempty"`
   808  }
   809  
   810  func (m *RelationFilter) Reset()         { *m = RelationFilter{} }
   811  func (m *RelationFilter) String() string { return proto.CompactTextString(m) }
   812  func (*RelationFilter) ProtoMessage()    {}
   813  func (*RelationFilter) Descriptor() ([]byte, []int) {
   814  	return fileDescriptor_4aa6a08a9884ea40, []int{13}
   815  }
   816  func (m *RelationFilter) XXX_Unmarshal(b []byte) error {
   817  	return m.Unmarshal(b)
   818  }
   819  func (m *RelationFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   820  	if deterministic {
   821  		return xxx_messageInfo_RelationFilter.Marshal(b, m, deterministic)
   822  	} else {
   823  		b = b[:cap(b)]
   824  		n, err := m.MarshalToSizedBuffer(b)
   825  		if err != nil {
   826  			return nil, err
   827  		}
   828  		return b[:n], nil
   829  	}
   830  }
   831  func (m *RelationFilter) XXX_Merge(src proto.Message) {
   832  	xxx_messageInfo_RelationFilter.Merge(m, src)
   833  }
   834  func (m *RelationFilter) XXX_Size() int {
   835  	return m.Size()
   836  }
   837  func (m *RelationFilter) XXX_DiscardUnknown() {
   838  	xxx_messageInfo_RelationFilter.DiscardUnknown(m)
   839  }
   840  
   841  var xxx_messageInfo_RelationFilter proto.InternalMessageInfo
   842  
   843  func (m *RelationFilter) GetSrcId() string {
   844  	if m != nil {
   845  		return m.SrcId
   846  	}
   847  	return ""
   848  }
   849  
   850  func (m *RelationFilter) GetRelationKind() string {
   851  	if m != nil {
   852  		return m.RelationKind
   853  	}
   854  	return ""
   855  }
   856  
   857  func (m *RelationFilter) GetTargetKind() string {
   858  	if m != nil {
   859  		return m.TargetKind
   860  	}
   861  	return ""
   862  }
   863  
   864  func (m *RelationFilter) GetScope() RelationFilterScope {
   865  	if m != nil {
   866  		return m.Scope
   867  	}
   868  	return RelationFilterScope_TARGETS_ONLY
   869  }
   870  
   871  func (m *RelationFilter) GetTargetId() string {
   872  	if m != nil {
   873  		return m.TargetId
   874  	}
   875  	return ""
   876  }
   877  
   878  type Filters struct {
   879  	KindFilter     *Filter         `protobuf:"bytes,1,opt,name=kind_filter,json=kindFilter,proto3" json:"kind_filter,omitempty"`
   880  	LabelFilters   []*Filter       `protobuf:"bytes,2,rep,name=label_filters,json=labelFilters,proto3" json:"label_filters,omitempty"`
   881  	RelationFilter *RelationFilter `protobuf:"bytes,3,opt,name=relation_filter,json=relationFilter,proto3" json:"relation_filter,omitempty"`
   882  	ObjectTypes    []Object_Type   `protobuf:"varint,4,rep,packed,name=object_types,json=objectTypes,proto3,enum=onos.topo.Object_Type" json:"object_types,omitempty"`
   883  	WithAspects    []string        `protobuf:"bytes,6,rep,name=with_aspects,json=withAspects,proto3" json:"with_aspects,omitempty"`
   884  }
   885  
   886  func (m *Filters) Reset()         { *m = Filters{} }
   887  func (m *Filters) String() string { return proto.CompactTextString(m) }
   888  func (*Filters) ProtoMessage()    {}
   889  func (*Filters) Descriptor() ([]byte, []int) {
   890  	return fileDescriptor_4aa6a08a9884ea40, []int{14}
   891  }
   892  func (m *Filters) XXX_Unmarshal(b []byte) error {
   893  	return m.Unmarshal(b)
   894  }
   895  func (m *Filters) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   896  	if deterministic {
   897  		return xxx_messageInfo_Filters.Marshal(b, m, deterministic)
   898  	} else {
   899  		b = b[:cap(b)]
   900  		n, err := m.MarshalToSizedBuffer(b)
   901  		if err != nil {
   902  			return nil, err
   903  		}
   904  		return b[:n], nil
   905  	}
   906  }
   907  func (m *Filters) XXX_Merge(src proto.Message) {
   908  	xxx_messageInfo_Filters.Merge(m, src)
   909  }
   910  func (m *Filters) XXX_Size() int {
   911  	return m.Size()
   912  }
   913  func (m *Filters) XXX_DiscardUnknown() {
   914  	xxx_messageInfo_Filters.DiscardUnknown(m)
   915  }
   916  
   917  var xxx_messageInfo_Filters proto.InternalMessageInfo
   918  
   919  func (m *Filters) GetKindFilter() *Filter {
   920  	if m != nil {
   921  		return m.KindFilter
   922  	}
   923  	return nil
   924  }
   925  
   926  func (m *Filters) GetLabelFilters() []*Filter {
   927  	if m != nil {
   928  		return m.LabelFilters
   929  	}
   930  	return nil
   931  }
   932  
   933  func (m *Filters) GetRelationFilter() *RelationFilter {
   934  	if m != nil {
   935  		return m.RelationFilter
   936  	}
   937  	return nil
   938  }
   939  
   940  func (m *Filters) GetObjectTypes() []Object_Type {
   941  	if m != nil {
   942  		return m.ObjectTypes
   943  	}
   944  	return nil
   945  }
   946  
   947  func (m *Filters) GetWithAspects() []string {
   948  	if m != nil {
   949  		return m.WithAspects
   950  	}
   951  	return nil
   952  }
   953  
   954  type QueryRequest struct {
   955  	Filters *Filters `protobuf:"bytes,1,opt,name=filters,proto3" json:"filters,omitempty"`
   956  }
   957  
   958  func (m *QueryRequest) Reset()         { *m = QueryRequest{} }
   959  func (m *QueryRequest) String() string { return proto.CompactTextString(m) }
   960  func (*QueryRequest) ProtoMessage()    {}
   961  func (*QueryRequest) Descriptor() ([]byte, []int) {
   962  	return fileDescriptor_4aa6a08a9884ea40, []int{15}
   963  }
   964  func (m *QueryRequest) XXX_Unmarshal(b []byte) error {
   965  	return m.Unmarshal(b)
   966  }
   967  func (m *QueryRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   968  	if deterministic {
   969  		return xxx_messageInfo_QueryRequest.Marshal(b, m, deterministic)
   970  	} else {
   971  		b = b[:cap(b)]
   972  		n, err := m.MarshalToSizedBuffer(b)
   973  		if err != nil {
   974  			return nil, err
   975  		}
   976  		return b[:n], nil
   977  	}
   978  }
   979  func (m *QueryRequest) XXX_Merge(src proto.Message) {
   980  	xxx_messageInfo_QueryRequest.Merge(m, src)
   981  }
   982  func (m *QueryRequest) XXX_Size() int {
   983  	return m.Size()
   984  }
   985  func (m *QueryRequest) XXX_DiscardUnknown() {
   986  	xxx_messageInfo_QueryRequest.DiscardUnknown(m)
   987  }
   988  
   989  var xxx_messageInfo_QueryRequest proto.InternalMessageInfo
   990  
   991  func (m *QueryRequest) GetFilters() *Filters {
   992  	if m != nil {
   993  		return m.Filters
   994  	}
   995  	return nil
   996  }
   997  
   998  type QueryResponse struct {
   999  	Object *Object `protobuf:"bytes,1,opt,name=object,proto3" json:"object,omitempty"`
  1000  }
  1001  
  1002  func (m *QueryResponse) Reset()         { *m = QueryResponse{} }
  1003  func (m *QueryResponse) String() string { return proto.CompactTextString(m) }
  1004  func (*QueryResponse) ProtoMessage()    {}
  1005  func (*QueryResponse) Descriptor() ([]byte, []int) {
  1006  	return fileDescriptor_4aa6a08a9884ea40, []int{16}
  1007  }
  1008  func (m *QueryResponse) XXX_Unmarshal(b []byte) error {
  1009  	return m.Unmarshal(b)
  1010  }
  1011  func (m *QueryResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1012  	if deterministic {
  1013  		return xxx_messageInfo_QueryResponse.Marshal(b, m, deterministic)
  1014  	} else {
  1015  		b = b[:cap(b)]
  1016  		n, err := m.MarshalToSizedBuffer(b)
  1017  		if err != nil {
  1018  			return nil, err
  1019  		}
  1020  		return b[:n], nil
  1021  	}
  1022  }
  1023  func (m *QueryResponse) XXX_Merge(src proto.Message) {
  1024  	xxx_messageInfo_QueryResponse.Merge(m, src)
  1025  }
  1026  func (m *QueryResponse) XXX_Size() int {
  1027  	return m.Size()
  1028  }
  1029  func (m *QueryResponse) XXX_DiscardUnknown() {
  1030  	xxx_messageInfo_QueryResponse.DiscardUnknown(m)
  1031  }
  1032  
  1033  var xxx_messageInfo_QueryResponse proto.InternalMessageInfo
  1034  
  1035  func (m *QueryResponse) GetObject() *Object {
  1036  	if m != nil {
  1037  		return m.Object
  1038  	}
  1039  	return nil
  1040  }
  1041  
  1042  // DEPRECATED
  1043  type ListRequest struct {
  1044  	Filters   *Filters  `protobuf:"bytes,1,opt,name=filters,proto3" json:"filters,omitempty"`
  1045  	SortOrder SortOrder `protobuf:"varint,2,opt,name=sort_order,json=sortOrder,proto3,enum=onos.topo.SortOrder" json:"sort_order,omitempty"`
  1046  }
  1047  
  1048  func (m *ListRequest) Reset()         { *m = ListRequest{} }
  1049  func (m *ListRequest) String() string { return proto.CompactTextString(m) }
  1050  func (*ListRequest) ProtoMessage()    {}
  1051  func (*ListRequest) Descriptor() ([]byte, []int) {
  1052  	return fileDescriptor_4aa6a08a9884ea40, []int{17}
  1053  }
  1054  func (m *ListRequest) XXX_Unmarshal(b []byte) error {
  1055  	return m.Unmarshal(b)
  1056  }
  1057  func (m *ListRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1058  	if deterministic {
  1059  		return xxx_messageInfo_ListRequest.Marshal(b, m, deterministic)
  1060  	} else {
  1061  		b = b[:cap(b)]
  1062  		n, err := m.MarshalToSizedBuffer(b)
  1063  		if err != nil {
  1064  			return nil, err
  1065  		}
  1066  		return b[:n], nil
  1067  	}
  1068  }
  1069  func (m *ListRequest) XXX_Merge(src proto.Message) {
  1070  	xxx_messageInfo_ListRequest.Merge(m, src)
  1071  }
  1072  func (m *ListRequest) XXX_Size() int {
  1073  	return m.Size()
  1074  }
  1075  func (m *ListRequest) XXX_DiscardUnknown() {
  1076  	xxx_messageInfo_ListRequest.DiscardUnknown(m)
  1077  }
  1078  
  1079  var xxx_messageInfo_ListRequest proto.InternalMessageInfo
  1080  
  1081  func (m *ListRequest) GetFilters() *Filters {
  1082  	if m != nil {
  1083  		return m.Filters
  1084  	}
  1085  	return nil
  1086  }
  1087  
  1088  func (m *ListRequest) GetSortOrder() SortOrder {
  1089  	if m != nil {
  1090  		return m.SortOrder
  1091  	}
  1092  	return SortOrder_UNORDERED
  1093  }
  1094  
  1095  // DEPRECATED
  1096  type ListResponse struct {
  1097  	Objects []Object `protobuf:"bytes,1,rep,name=objects,proto3" json:"objects"`
  1098  }
  1099  
  1100  func (m *ListResponse) Reset()         { *m = ListResponse{} }
  1101  func (m *ListResponse) String() string { return proto.CompactTextString(m) }
  1102  func (*ListResponse) ProtoMessage()    {}
  1103  func (*ListResponse) Descriptor() ([]byte, []int) {
  1104  	return fileDescriptor_4aa6a08a9884ea40, []int{18}
  1105  }
  1106  func (m *ListResponse) XXX_Unmarshal(b []byte) error {
  1107  	return m.Unmarshal(b)
  1108  }
  1109  func (m *ListResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1110  	if deterministic {
  1111  		return xxx_messageInfo_ListResponse.Marshal(b, m, deterministic)
  1112  	} else {
  1113  		b = b[:cap(b)]
  1114  		n, err := m.MarshalToSizedBuffer(b)
  1115  		if err != nil {
  1116  			return nil, err
  1117  		}
  1118  		return b[:n], nil
  1119  	}
  1120  }
  1121  func (m *ListResponse) XXX_Merge(src proto.Message) {
  1122  	xxx_messageInfo_ListResponse.Merge(m, src)
  1123  }
  1124  func (m *ListResponse) XXX_Size() int {
  1125  	return m.Size()
  1126  }
  1127  func (m *ListResponse) XXX_DiscardUnknown() {
  1128  	xxx_messageInfo_ListResponse.DiscardUnknown(m)
  1129  }
  1130  
  1131  var xxx_messageInfo_ListResponse proto.InternalMessageInfo
  1132  
  1133  func (m *ListResponse) GetObjects() []Object {
  1134  	if m != nil {
  1135  		return m.Objects
  1136  	}
  1137  	return nil
  1138  }
  1139  
  1140  type WatchRequest struct {
  1141  	Filters  *Filters `protobuf:"bytes,1,opt,name=filters,proto3" json:"filters,omitempty"`
  1142  	Noreplay bool     `protobuf:"varint,2,opt,name=noreplay,proto3" json:"noreplay,omitempty"`
  1143  }
  1144  
  1145  func (m *WatchRequest) Reset()         { *m = WatchRequest{} }
  1146  func (m *WatchRequest) String() string { return proto.CompactTextString(m) }
  1147  func (*WatchRequest) ProtoMessage()    {}
  1148  func (*WatchRequest) Descriptor() ([]byte, []int) {
  1149  	return fileDescriptor_4aa6a08a9884ea40, []int{19}
  1150  }
  1151  func (m *WatchRequest) XXX_Unmarshal(b []byte) error {
  1152  	return m.Unmarshal(b)
  1153  }
  1154  func (m *WatchRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1155  	if deterministic {
  1156  		return xxx_messageInfo_WatchRequest.Marshal(b, m, deterministic)
  1157  	} else {
  1158  		b = b[:cap(b)]
  1159  		n, err := m.MarshalToSizedBuffer(b)
  1160  		if err != nil {
  1161  			return nil, err
  1162  		}
  1163  		return b[:n], nil
  1164  	}
  1165  }
  1166  func (m *WatchRequest) XXX_Merge(src proto.Message) {
  1167  	xxx_messageInfo_WatchRequest.Merge(m, src)
  1168  }
  1169  func (m *WatchRequest) XXX_Size() int {
  1170  	return m.Size()
  1171  }
  1172  func (m *WatchRequest) XXX_DiscardUnknown() {
  1173  	xxx_messageInfo_WatchRequest.DiscardUnknown(m)
  1174  }
  1175  
  1176  var xxx_messageInfo_WatchRequest proto.InternalMessageInfo
  1177  
  1178  func (m *WatchRequest) GetFilters() *Filters {
  1179  	if m != nil {
  1180  		return m.Filters
  1181  	}
  1182  	return nil
  1183  }
  1184  
  1185  func (m *WatchRequest) GetNoreplay() bool {
  1186  	if m != nil {
  1187  		return m.Noreplay
  1188  	}
  1189  	return false
  1190  }
  1191  
  1192  type WatchResponse struct {
  1193  	Event Event `protobuf:"bytes,1,opt,name=event,proto3" json:"event"`
  1194  }
  1195  
  1196  func (m *WatchResponse) Reset()         { *m = WatchResponse{} }
  1197  func (m *WatchResponse) String() string { return proto.CompactTextString(m) }
  1198  func (*WatchResponse) ProtoMessage()    {}
  1199  func (*WatchResponse) Descriptor() ([]byte, []int) {
  1200  	return fileDescriptor_4aa6a08a9884ea40, []int{20}
  1201  }
  1202  func (m *WatchResponse) XXX_Unmarshal(b []byte) error {
  1203  	return m.Unmarshal(b)
  1204  }
  1205  func (m *WatchResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1206  	if deterministic {
  1207  		return xxx_messageInfo_WatchResponse.Marshal(b, m, deterministic)
  1208  	} else {
  1209  		b = b[:cap(b)]
  1210  		n, err := m.MarshalToSizedBuffer(b)
  1211  		if err != nil {
  1212  			return nil, err
  1213  		}
  1214  		return b[:n], nil
  1215  	}
  1216  }
  1217  func (m *WatchResponse) XXX_Merge(src proto.Message) {
  1218  	xxx_messageInfo_WatchResponse.Merge(m, src)
  1219  }
  1220  func (m *WatchResponse) XXX_Size() int {
  1221  	return m.Size()
  1222  }
  1223  func (m *WatchResponse) XXX_DiscardUnknown() {
  1224  	xxx_messageInfo_WatchResponse.DiscardUnknown(m)
  1225  }
  1226  
  1227  var xxx_messageInfo_WatchResponse proto.InternalMessageInfo
  1228  
  1229  func (m *WatchResponse) GetEvent() Event {
  1230  	if m != nil {
  1231  		return m.Event
  1232  	}
  1233  	return Event{}
  1234  }
  1235  
  1236  // Object is an one of the following: a kind (archetype of entity or relation), an entity, a relation
  1237  type Object struct {
  1238  	UUID     UUID        `protobuf:"bytes,9,opt,name=uuid,proto3,casttype=UUID" json:"uuid,omitempty"`
  1239  	ID       ID          `protobuf:"bytes,1,opt,name=id,proto3,casttype=ID" json:"id,omitempty"`
  1240  	Revision Revision    `protobuf:"varint,2,opt,name=revision,proto3,casttype=Revision" json:"revision,omitempty"`
  1241  	Type     Object_Type `protobuf:"varint,3,opt,name=type,proto3,enum=onos.topo.Object_Type" json:"type,omitempty"`
  1242  	// Types that are valid to be assigned to Obj:
  1243  	//	*Object_Entity
  1244  	//	*Object_Relation
  1245  	//	*Object_Kind
  1246  	Obj isObject_Obj `protobuf_oneof:"obj"`
  1247  	// Map of aspects as typed values; for kind, these represent expected aspects and their default values
  1248  	Aspects map[string]*types.Any `protobuf:"bytes,7,rep,name=aspects,proto3" json:"aspects,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
  1249  	// Arbitrary labels for classification/search
  1250  	Labels map[string]string `protobuf:"bytes,8,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
  1251  }
  1252  
  1253  func (m *Object) Reset()         { *m = Object{} }
  1254  func (m *Object) String() string { return proto.CompactTextString(m) }
  1255  func (*Object) ProtoMessage()    {}
  1256  func (*Object) Descriptor() ([]byte, []int) {
  1257  	return fileDescriptor_4aa6a08a9884ea40, []int{21}
  1258  }
  1259  func (m *Object) XXX_Unmarshal(b []byte) error {
  1260  	return m.Unmarshal(b)
  1261  }
  1262  func (m *Object) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1263  	if deterministic {
  1264  		return xxx_messageInfo_Object.Marshal(b, m, deterministic)
  1265  	} else {
  1266  		b = b[:cap(b)]
  1267  		n, err := m.MarshalToSizedBuffer(b)
  1268  		if err != nil {
  1269  			return nil, err
  1270  		}
  1271  		return b[:n], nil
  1272  	}
  1273  }
  1274  func (m *Object) XXX_Merge(src proto.Message) {
  1275  	xxx_messageInfo_Object.Merge(m, src)
  1276  }
  1277  func (m *Object) XXX_Size() int {
  1278  	return m.Size()
  1279  }
  1280  func (m *Object) XXX_DiscardUnknown() {
  1281  	xxx_messageInfo_Object.DiscardUnknown(m)
  1282  }
  1283  
  1284  var xxx_messageInfo_Object proto.InternalMessageInfo
  1285  
  1286  type isObject_Obj interface {
  1287  	isObject_Obj()
  1288  	MarshalTo([]byte) (int, error)
  1289  	Size() int
  1290  }
  1291  
  1292  type Object_Entity struct {
  1293  	Entity *Entity `protobuf:"bytes,4,opt,name=entity,proto3,oneof" json:"entity,omitempty"`
  1294  }
  1295  type Object_Relation struct {
  1296  	Relation *Relation `protobuf:"bytes,5,opt,name=relation,proto3,oneof" json:"relation,omitempty"`
  1297  }
  1298  type Object_Kind struct {
  1299  	Kind *Kind `protobuf:"bytes,6,opt,name=kind,proto3,oneof" json:"kind,omitempty"`
  1300  }
  1301  
  1302  func (*Object_Entity) isObject_Obj()   {}
  1303  func (*Object_Relation) isObject_Obj() {}
  1304  func (*Object_Kind) isObject_Obj()     {}
  1305  
  1306  func (m *Object) GetObj() isObject_Obj {
  1307  	if m != nil {
  1308  		return m.Obj
  1309  	}
  1310  	return nil
  1311  }
  1312  
  1313  func (m *Object) GetUUID() UUID {
  1314  	if m != nil {
  1315  		return m.UUID
  1316  	}
  1317  	return ""
  1318  }
  1319  
  1320  func (m *Object) GetID() ID {
  1321  	if m != nil {
  1322  		return m.ID
  1323  	}
  1324  	return ""
  1325  }
  1326  
  1327  func (m *Object) GetRevision() Revision {
  1328  	if m != nil {
  1329  		return m.Revision
  1330  	}
  1331  	return 0
  1332  }
  1333  
  1334  func (m *Object) GetType() Object_Type {
  1335  	if m != nil {
  1336  		return m.Type
  1337  	}
  1338  	return Object_UNSPECIFIED
  1339  }
  1340  
  1341  func (m *Object) GetEntity() *Entity {
  1342  	if x, ok := m.GetObj().(*Object_Entity); ok {
  1343  		return x.Entity
  1344  	}
  1345  	return nil
  1346  }
  1347  
  1348  func (m *Object) GetRelation() *Relation {
  1349  	if x, ok := m.GetObj().(*Object_Relation); ok {
  1350  		return x.Relation
  1351  	}
  1352  	return nil
  1353  }
  1354  
  1355  func (m *Object) GetKind() *Kind {
  1356  	if x, ok := m.GetObj().(*Object_Kind); ok {
  1357  		return x.Kind
  1358  	}
  1359  	return nil
  1360  }
  1361  
  1362  func (m *Object) GetAspects() map[string]*types.Any {
  1363  	if m != nil {
  1364  		return m.Aspects
  1365  	}
  1366  	return nil
  1367  }
  1368  
  1369  func (m *Object) GetLabels() map[string]string {
  1370  	if m != nil {
  1371  		return m.Labels
  1372  	}
  1373  	return nil
  1374  }
  1375  
  1376  // XXX_OneofWrappers is for the internal use of the proto package.
  1377  func (*Object) XXX_OneofWrappers() []interface{} {
  1378  	return []interface{}{
  1379  		(*Object_Entity)(nil),
  1380  		(*Object_Relation)(nil),
  1381  		(*Object_Kind)(nil),
  1382  	}
  1383  }
  1384  
  1385  // Entity represents any "thing" that is represented in the topology
  1386  type Entity struct {
  1387  	// user-defined entity kind
  1388  	KindID ID `protobuf:"bytes,1,opt,name=kind_id,json=kindId,proto3,casttype=ID" json:"kind_id,omitempty"`
  1389  	// these lists are maintained by the system and are provided as read-only values for clients
  1390  	SrcRelationIDs []ID `protobuf:"bytes,2,rep,name=src_relation_ids,json=srcRelationIds,proto3,casttype=ID" json:"src_relation_ids,omitempty"`
  1391  	TgtRelationIDs []ID `protobuf:"bytes,3,rep,name=tgt_relation_ids,json=tgtRelationIds,proto3,casttype=ID" json:"tgt_relation_ids,omitempty"`
  1392  }
  1393  
  1394  func (m *Entity) Reset()         { *m = Entity{} }
  1395  func (m *Entity) String() string { return proto.CompactTextString(m) }
  1396  func (*Entity) ProtoMessage()    {}
  1397  func (*Entity) Descriptor() ([]byte, []int) {
  1398  	return fileDescriptor_4aa6a08a9884ea40, []int{22}
  1399  }
  1400  func (m *Entity) XXX_Unmarshal(b []byte) error {
  1401  	return m.Unmarshal(b)
  1402  }
  1403  func (m *Entity) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1404  	if deterministic {
  1405  		return xxx_messageInfo_Entity.Marshal(b, m, deterministic)
  1406  	} else {
  1407  		b = b[:cap(b)]
  1408  		n, err := m.MarshalToSizedBuffer(b)
  1409  		if err != nil {
  1410  			return nil, err
  1411  		}
  1412  		return b[:n], nil
  1413  	}
  1414  }
  1415  func (m *Entity) XXX_Merge(src proto.Message) {
  1416  	xxx_messageInfo_Entity.Merge(m, src)
  1417  }
  1418  func (m *Entity) XXX_Size() int {
  1419  	return m.Size()
  1420  }
  1421  func (m *Entity) XXX_DiscardUnknown() {
  1422  	xxx_messageInfo_Entity.DiscardUnknown(m)
  1423  }
  1424  
  1425  var xxx_messageInfo_Entity proto.InternalMessageInfo
  1426  
  1427  func (m *Entity) GetKindID() ID {
  1428  	if m != nil {
  1429  		return m.KindID
  1430  	}
  1431  	return ""
  1432  }
  1433  
  1434  func (m *Entity) GetSrcRelationIDs() []ID {
  1435  	if m != nil {
  1436  		return m.SrcRelationIDs
  1437  	}
  1438  	return nil
  1439  }
  1440  
  1441  func (m *Entity) GetTgtRelationIDs() []ID {
  1442  	if m != nil {
  1443  		return m.TgtRelationIDs
  1444  	}
  1445  	return nil
  1446  }
  1447  
  1448  // Relation represents any "relation" between two entitites in the topology.
  1449  type Relation struct {
  1450  	// user defined relation kind
  1451  	KindID      ID `protobuf:"bytes,1,opt,name=kind_id,json=kindId,proto3,casttype=ID" json:"kind_id,omitempty"`
  1452  	SrcEntityID ID `protobuf:"bytes,2,opt,name=src_entity_id,json=srcEntityId,proto3,casttype=ID" json:"src_entity_id,omitempty"`
  1453  	TgtEntityID ID `protobuf:"bytes,3,opt,name=tgt_entity_id,json=tgtEntityId,proto3,casttype=ID" json:"tgt_entity_id,omitempty"`
  1454  }
  1455  
  1456  func (m *Relation) Reset()         { *m = Relation{} }
  1457  func (m *Relation) String() string { return proto.CompactTextString(m) }
  1458  func (*Relation) ProtoMessage()    {}
  1459  func (*Relation) Descriptor() ([]byte, []int) {
  1460  	return fileDescriptor_4aa6a08a9884ea40, []int{23}
  1461  }
  1462  func (m *Relation) XXX_Unmarshal(b []byte) error {
  1463  	return m.Unmarshal(b)
  1464  }
  1465  func (m *Relation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1466  	if deterministic {
  1467  		return xxx_messageInfo_Relation.Marshal(b, m, deterministic)
  1468  	} else {
  1469  		b = b[:cap(b)]
  1470  		n, err := m.MarshalToSizedBuffer(b)
  1471  		if err != nil {
  1472  			return nil, err
  1473  		}
  1474  		return b[:n], nil
  1475  	}
  1476  }
  1477  func (m *Relation) XXX_Merge(src proto.Message) {
  1478  	xxx_messageInfo_Relation.Merge(m, src)
  1479  }
  1480  func (m *Relation) XXX_Size() int {
  1481  	return m.Size()
  1482  }
  1483  func (m *Relation) XXX_DiscardUnknown() {
  1484  	xxx_messageInfo_Relation.DiscardUnknown(m)
  1485  }
  1486  
  1487  var xxx_messageInfo_Relation proto.InternalMessageInfo
  1488  
  1489  func (m *Relation) GetKindID() ID {
  1490  	if m != nil {
  1491  		return m.KindID
  1492  	}
  1493  	return ""
  1494  }
  1495  
  1496  func (m *Relation) GetSrcEntityID() ID {
  1497  	if m != nil {
  1498  		return m.SrcEntityID
  1499  	}
  1500  	return ""
  1501  }
  1502  
  1503  func (m *Relation) GetTgtEntityID() ID {
  1504  	if m != nil {
  1505  		return m.TgtEntityID
  1506  	}
  1507  	return ""
  1508  }
  1509  
  1510  // Kind represents an archetype of an object, i.e. entity or relation
  1511  type Kind struct {
  1512  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  1513  }
  1514  
  1515  func (m *Kind) Reset()         { *m = Kind{} }
  1516  func (m *Kind) String() string { return proto.CompactTextString(m) }
  1517  func (*Kind) ProtoMessage()    {}
  1518  func (*Kind) Descriptor() ([]byte, []int) {
  1519  	return fileDescriptor_4aa6a08a9884ea40, []int{24}
  1520  }
  1521  func (m *Kind) XXX_Unmarshal(b []byte) error {
  1522  	return m.Unmarshal(b)
  1523  }
  1524  func (m *Kind) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1525  	if deterministic {
  1526  		return xxx_messageInfo_Kind.Marshal(b, m, deterministic)
  1527  	} else {
  1528  		b = b[:cap(b)]
  1529  		n, err := m.MarshalToSizedBuffer(b)
  1530  		if err != nil {
  1531  			return nil, err
  1532  		}
  1533  		return b[:n], nil
  1534  	}
  1535  }
  1536  func (m *Kind) XXX_Merge(src proto.Message) {
  1537  	xxx_messageInfo_Kind.Merge(m, src)
  1538  }
  1539  func (m *Kind) XXX_Size() int {
  1540  	return m.Size()
  1541  }
  1542  func (m *Kind) XXX_DiscardUnknown() {
  1543  	xxx_messageInfo_Kind.DiscardUnknown(m)
  1544  }
  1545  
  1546  var xxx_messageInfo_Kind proto.InternalMessageInfo
  1547  
  1548  func (m *Kind) GetName() string {
  1549  	if m != nil {
  1550  		return m.Name
  1551  	}
  1552  	return ""
  1553  }
  1554  
  1555  func init() {
  1556  	proto.RegisterEnum("onos.topo.EventType", EventType_name, EventType_value)
  1557  	proto.RegisterEnum("onos.topo.RelationFilterScope", RelationFilterScope_name, RelationFilterScope_value)
  1558  	proto.RegisterEnum("onos.topo.SortOrder", SortOrder_name, SortOrder_value)
  1559  	proto.RegisterEnum("onos.topo.Object_Type", Object_Type_name, Object_Type_value)
  1560  	proto.RegisterType((*Event)(nil), "onos.topo.Event")
  1561  	proto.RegisterType((*CreateRequest)(nil), "onos.topo.CreateRequest")
  1562  	proto.RegisterType((*CreateResponse)(nil), "onos.topo.CreateResponse")
  1563  	proto.RegisterType((*GetRequest)(nil), "onos.topo.GetRequest")
  1564  	proto.RegisterType((*GetResponse)(nil), "onos.topo.GetResponse")
  1565  	proto.RegisterType((*UpdateRequest)(nil), "onos.topo.UpdateRequest")
  1566  	proto.RegisterType((*UpdateResponse)(nil), "onos.topo.UpdateResponse")
  1567  	proto.RegisterType((*DeleteRequest)(nil), "onos.topo.DeleteRequest")
  1568  	proto.RegisterType((*DeleteResponse)(nil), "onos.topo.DeleteResponse")
  1569  	proto.RegisterType((*Filter)(nil), "onos.topo.Filter")
  1570  	proto.RegisterType((*EqualFilter)(nil), "onos.topo.EqualFilter")
  1571  	proto.RegisterType((*InFilter)(nil), "onos.topo.InFilter")
  1572  	proto.RegisterType((*NotFilter)(nil), "onos.topo.NotFilter")
  1573  	proto.RegisterType((*RelationFilter)(nil), "onos.topo.RelationFilter")
  1574  	proto.RegisterType((*Filters)(nil), "onos.topo.Filters")
  1575  	proto.RegisterType((*QueryRequest)(nil), "onos.topo.QueryRequest")
  1576  	proto.RegisterType((*QueryResponse)(nil), "onos.topo.QueryResponse")
  1577  	proto.RegisterType((*ListRequest)(nil), "onos.topo.ListRequest")
  1578  	proto.RegisterType((*ListResponse)(nil), "onos.topo.ListResponse")
  1579  	proto.RegisterType((*WatchRequest)(nil), "onos.topo.WatchRequest")
  1580  	proto.RegisterType((*WatchResponse)(nil), "onos.topo.WatchResponse")
  1581  	proto.RegisterType((*Object)(nil), "onos.topo.Object")
  1582  	proto.RegisterMapType((map[string]*types.Any)(nil), "onos.topo.Object.AspectsEntry")
  1583  	proto.RegisterMapType((map[string]string)(nil), "onos.topo.Object.LabelsEntry")
  1584  	proto.RegisterType((*Entity)(nil), "onos.topo.Entity")
  1585  	proto.RegisterType((*Relation)(nil), "onos.topo.Relation")
  1586  	proto.RegisterType((*Kind)(nil), "onos.topo.Kind")
  1587  }
  1588  
  1589  func init() { proto.RegisterFile("onos/topo/topo.proto", fileDescriptor_4aa6a08a9884ea40) }
  1590  
  1591  var fileDescriptor_4aa6a08a9884ea40 = []byte{
  1592  	// 1446 bytes of a gzipped FileDescriptorProto
  1593  	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x56, 0x4f, 0x73, 0xd3, 0x46,
  1594  	0x1b, 0xb7, 0x2c, 0x59, 0xb6, 0x1e, 0xff, 0x41, 0xef, 0x92, 0x04, 0xc7, 0xef, 0xfb, 0x3a, 0xa9,
  1595  	0x28, 0xd3, 0x90, 0x32, 0x4e, 0x09, 0x94, 0x21, 0xa1, 0x2d, 0x63, 0x47, 0x22, 0xf1, 0x90, 0xda,
  1596  	0x74, 0xed, 0x94, 0x72, 0xf2, 0x38, 0xd6, 0x62, 0x04, 0xae, 0x64, 0xa4, 0x0d, 0x8c, 0xbf, 0x45,
  1597  	0x6f, 0xfd, 0x04, 0x3d, 0xf5, 0x23, 0xb4, 0x87, 0x1e, 0x39, 0x72, 0xec, 0x29, 0xd3, 0x09, 0xc7,
  1598  	0x7e, 0x03, 0x4e, 0x9d, 0xdd, 0x95, 0x14, 0x29, 0x7f, 0x98, 0x09, 0xd3, 0x8b, 0xad, 0x7d, 0xf6,
  1599  	0xf7, 0x7b, 0x9e, 0x67, 0x77, 0x9f, 0x7f, 0x30, 0xe7, 0xb9, 0x5e, 0xb0, 0x46, 0xbd, 0xa9, 0xc7,
  1600  	0x7f, 0x1a, 0x53, 0xdf, 0xa3, 0x1e, 0xd2, 0x98, 0xb4, 0xc1, 0x04, 0xb5, 0xc5, 0xb1, 0xe7, 0x8d,
  1601  	0x27, 0x64, 0x8d, 0x6f, 0xec, 0x1f, 0x3c, 0x5d, 0x1b, 0xba, 0x33, 0x81, 0xaa, 0xcd, 0x8d, 0xbd,
  1602  	0xb1, 0xc7, 0x3f, 0xd7, 0xd8, 0x97, 0x90, 0x1a, 0xfb, 0x90, 0xb3, 0x5e, 0x11, 0x97, 0xa2, 0x15,
  1603  	0x50, 0xe8, 0x6c, 0x4a, 0xaa, 0xd2, 0xb2, 0xb4, 0x52, 0x59, 0x9f, 0x6b, 0xc4, 0x3a, 0x1b, 0x7c,
  1604  	0xbf, 0x3f, 0x9b, 0x12, 0xcc, 0x11, 0x68, 0x0d, 0x54, 0x6f, 0xff, 0x39, 0x19, 0xd1, 0x6a, 0x76,
  1605  	0x59, 0x5a, 0x29, 0xae, 0xff, 0x27, 0x81, 0xed, 0xf2, 0x8d, 0x96, 0xf2, 0xe6, 0x70, 0x29, 0x83,
  1606  	0x43, 0x98, 0xb1, 0x09, 0xe5, 0x2d, 0x9f, 0x0c, 0x29, 0xc1, 0xe4, 0xe5, 0x01, 0x09, 0x28, 0xba,
  1607  	0x1e, 0x6b, 0x90, 0xce, 0xd1, 0x10, 0x73, 0xef, 0x41, 0x25, 0xe2, 0x06, 0x53, 0xcf, 0x0d, 0xc8,
  1608  	0x45, 0xc8, 0xab, 0x00, 0xdb, 0x84, 0x46, 0x56, 0xff, 0x07, 0x59, 0xc7, 0xe6, 0x24, 0xad, 0x55,
  1609  	0x3a, 0x3a, 0x5c, 0xca, 0xb6, 0xcd, 0xf7, 0xfc, 0x17, 0x67, 0x1d, 0xdb, 0xb8, 0x0b, 0x45, 0x8e,
  1610  	0xbd, 0xb8, 0x95, 0x4d, 0x28, 0xef, 0x4d, 0xed, 0x8f, 0x3e, 0x5e, 0xc4, 0xbd, 0xb8, 0xe1, 0xc7,
  1611  	0x50, 0x36, 0xc9, 0x84, 0x1c, 0x1b, 0xfe, 0xe0, 0x09, 0xd1, 0x0a, 0x14, 0x7c, 0xf2, 0xca, 0x09,
  1612  	0x1c, 0xcf, 0xe5, 0x2f, 0xa7, 0xb4, 0x4a, 0xef, 0x0f, 0x97, 0x0a, 0x38, 0x94, 0xe1, 0x78, 0xd7,
  1613  	0xd0, 0xa1, 0x12, 0x29, 0x16, 0x5e, 0x19, 0xbf, 0x48, 0xa0, 0x3e, 0x70, 0x26, 0x94, 0xf8, 0xa8,
  1614  	0x01, 0x39, 0xf2, 0xf2, 0x60, 0x38, 0x09, 0xfd, 0x5b, 0x48, 0x46, 0x0a, 0x93, 0x0b, 0xd8, 0x4e,
  1615  	0x06, 0x0b, 0x18, 0x5a, 0x01, 0xd9, 0xf5, 0xa2, 0x58, 0x49, 0xc6, 0x55, 0xc7, 0xa3, 0x31, 0x96,
  1616  	0x41, 0xd0, 0x35, 0xc8, 0x3a, 0x6e, 0x55, 0xe6, 0xc0, 0xcb, 0x09, 0x60, 0xdb, 0x8d, 0x71, 0x59,
  1617  	0xc7, 0x45, 0x3a, 0xc8, 0x2f, 0xc8, 0xac, 0xaa, 0xb0, 0x63, 0x62, 0xf6, 0xd9, 0x2a, 0x80, 0xfa,
  1618  	0x94, 0x23, 0x8c, 0xab, 0x50, 0x4c, 0x38, 0x81, 0xe6, 0x20, 0xf7, 0x6a, 0x38, 0x39, 0x10, 0x51,
  1619  	0xad, 0x61, 0xb1, 0x30, 0x0c, 0x28, 0x44, 0x2a, 0xd1, 0x02, 0xa8, 0x5c, 0x18, 0x54, 0xa5, 0x65,
  1620  	0x79, 0x45, 0xc3, 0xe1, 0xca, 0xb8, 0x0d, 0x5a, 0xec, 0x1f, 0xfa, 0x0c, 0x72, 0x8e, 0xeb, 0x12,
  1621  	0xff, 0x8c, 0x27, 0x11, 0x08, 0x2c, 0xf6, 0x8d, 0x3f, 0x24, 0xa8, 0x60, 0x32, 0x19, 0x52, 0xc7,
  1622  	0x8b, 0x0c, 0xcc, 0x83, 0x1a, 0xf8, 0xa3, 0x41, 0xf4, 0x2e, 0x38, 0x17, 0xf8, 0xa3, 0xb6, 0x8d,
  1623  	0xae, 0x42, 0xd9, 0x0f, 0x81, 0x83, 0x17, 0x8e, 0x6b, 0xf3, 0xfb, 0xd1, 0x70, 0x29, 0x12, 0x3e,
  1624  	0x74, 0x5c, 0x1b, 0x2d, 0x41, 0x91, 0x0e, 0xfd, 0x31, 0xa1, 0x02, 0x22, 0x73, 0x08, 0x08, 0x11,
  1625  	0x07, 0xdc, 0x86, 0x5c, 0x30, 0xf2, 0xa6, 0x84, 0x5f, 0x46, 0x65, 0xbd, 0x9e, 0x70, 0x2c, 0xed,
  1626  	0x46, 0x8f, 0xa1, 0xb0, 0x00, 0xa3, 0xff, 0x82, 0x16, 0xaa, 0x75, 0xec, 0x6a, 0x8e, 0x2b, 0x2d,
  1627  	0x08, 0x41, 0xdb, 0x36, 0x7e, 0xce, 0x42, 0x5e, 0x70, 0x02, 0xb4, 0x0e, 0x45, 0x66, 0x78, 0x20,
  1628  	0x2e, 0xf7, 0xfc, 0xd3, 0x03, 0x43, 0x85, 0xe7, 0xbd, 0x03, 0xe5, 0xc9, 0x70, 0x9f, 0x4c, 0x42,
  1629  	0x52, 0x50, 0xcd, 0x2e, 0xcb, 0x67, 0xb3, 0x4a, 0x1c, 0x17, 0xd9, 0x6a, 0xc1, 0xa5, 0xf8, 0x42,
  1630  	0x42, 0x7b, 0x22, 0x12, 0x16, 0xcf, 0x3d, 0x14, 0xae, 0xf8, 0xe9, 0xbb, 0xde, 0x80, 0x92, 0x48,
  1631  	0x8d, 0x01, 0x2b, 0x54, 0x41, 0x55, 0x59, 0x96, 0x57, 0x2a, 0xa9, 0x08, 0x15, 0x19, 0xd4, 0xe0,
  1632  	0xd5, 0xac, 0x28, 0xb0, 0xec, 0x3b, 0x40, 0x9f, 0x40, 0xe9, 0xb5, 0x43, 0x9f, 0x0d, 0x86, 0xc1,
  1633  	0x94, 0x8c, 0x68, 0x50, 0x55, 0x79, 0x34, 0x14, 0x99, 0xac, 0x29, 0x44, 0xc6, 0x57, 0x50, 0xfa,
  1634  	0xee, 0x80, 0xf8, 0xb3, 0x28, 0xdb, 0x6e, 0x40, 0x3e, 0x3a, 0xa3, 0xb8, 0x19, 0x74, 0xea, 0x8c,
  1635  	0x01, 0x8e, 0x20, 0xac, 0x4a, 0x84, 0xec, 0x8b, 0x27, 0xfa, 0x14, 0x8a, 0xbb, 0x4e, 0x40, 0x3f,
  1636  	0xca, 0x30, 0xba, 0x05, 0x10, 0x78, 0x3e, 0x1d, 0x78, 0xbe, 0x4d, 0x7c, 0x1e, 0x66, 0xe9, 0xf2,
  1637  	0xde, 0xf3, 0x7c, 0xda, 0x65, 0x7b, 0x58, 0x0b, 0xa2, 0x4f, 0xa3, 0x09, 0x25, 0x61, 0x31, 0x74,
  1638  	0xf6, 0x26, 0xe4, 0x85, 0x2f, 0x22, 0x4f, 0x3e, 0x50, 0xf4, 0x23, 0x9c, 0xf1, 0x03, 0x94, 0x1e,
  1639  	0x0f, 0xe9, 0xe8, 0xd9, 0xc7, 0x79, 0x5d, 0x83, 0x82, 0xeb, 0xf9, 0x64, 0x3a, 0x19, 0xce, 0xb8,
  1640  	0xcf, 0x05, 0x1c, 0xaf, 0x8d, 0xaf, 0xa1, 0x1c, 0x6a, 0x0e, 0xbd, 0xbb, 0x01, 0x39, 0xc2, 0x9a,
  1641  	0x54, 0xa8, 0x58, 0x3f, 0xd9, 0xbc, 0x42, 0xd7, 0x04, 0xc8, 0xf8, 0x5b, 0x01, 0x55, 0xb8, 0x8c,
  1642  	0x3e, 0x05, 0xe5, 0xe0, 0xc0, 0xb1, 0xab, 0x1a, 0x2f, 0x99, 0xfa, 0xd1, 0xe1, 0x92, 0xb2, 0xb7,
  1643  	0xc7, 0x8b, 0x26, 0xff, 0xc7, 0x7c, 0xf7, 0xdf, 0x2a, 0xab, 0x68, 0x35, 0x6c, 0xb1, 0x32, 0x7f,
  1644  	0x83, 0xf3, 0xc2, 0x52, 0x34, 0xd9, 0xcf, 0x41, 0x25, 0x2e, 0x75, 0xa8, 0xa8, 0x73, 0xe9, 0xfb,
  1645  	0xb6, 0xf8, 0xc6, 0x4e, 0x06, 0x87, 0x10, 0x74, 0x93, 0xb9, 0x20, 0x32, 0x81, 0xe7, 0x73, 0xba,
  1646  	0x7c, 0x46, 0x49, 0xb3, 0x93, 0xc1, 0x31, 0x0c, 0x5d, 0x03, 0x85, 0xd7, 0x14, 0x95, 0xc3, 0x2f,
  1647  	0x25, 0xe0, 0xac, 0xb0, 0xec, 0x64, 0x30, 0xdf, 0x46, 0x77, 0x21, 0x1f, 0x65, 0x44, 0x9e, 0xbf,
  1648  	0x7b, 0xfd, 0xb4, 0xd7, 0x61, 0x7e, 0x58, 0x2e, 0xf5, 0x67, 0x38, 0x82, 0xa3, 0x2f, 0x41, 0xe5,
  1649  	0xf9, 0x1d, 0x54, 0x0b, 0x9c, 0xf8, 0xff, 0xd3, 0xc4, 0x5d, 0xbe, 0x2f, 0x78, 0x21, 0xb8, 0xf6,
  1650  	0x08, 0x4a, 0x49, 0x7d, 0x51, 0xb1, 0x97, 0xe2, 0x62, 0x8f, 0x56, 0xa3, 0x9a, 0x1e, 0x75, 0x14,
  1651  	0x31, 0xf2, 0x34, 0xa2, 0x91, 0xa7, 0xd1, 0x74, 0x67, 0x61, 0xa5, 0xdf, 0xcc, 0xde, 0x95, 0x6a,
  1652  	0x1b, 0x50, 0x4c, 0x18, 0x3a, 0x43, 0xe1, 0x5c, 0x52, 0xa1, 0x96, 0xa0, 0x1a, 0xf7, 0x40, 0x61,
  1653  	0x4f, 0x82, 0x2e, 0x41, 0x71, 0xaf, 0xd3, 0x7b, 0x64, 0x6d, 0xb5, 0x1f, 0xb4, 0x2d, 0x53, 0xcf,
  1654  	0x20, 0x00, 0xd5, 0xea, 0xf4, 0xdb, 0xfd, 0x27, 0xba, 0x84, 0x4a, 0x50, 0xc0, 0xd6, 0x6e, 0xb3,
  1655  	0xdf, 0xee, 0x76, 0xf4, 0x2c, 0x2a, 0x80, 0xf2, 0xb0, 0xdd, 0x31, 0x75, 0xb9, 0x95, 0x03, 0xd9,
  1656  	0xdb, 0x7f, 0x6e, 0xfc, 0x26, 0x81, 0x2a, 0x1e, 0x0c, 0x5d, 0x87, 0x3c, 0x2f, 0xa7, 0x71, 0x30,
  1657  	0xb1, 0x80, 0x53, 0xd9, 0x7d, 0xc7, 0x01, 0xa5, 0x32, 0x40, 0xdb, 0x46, 0x2d, 0xd0, 0x59, 0xd7,
  1658  	0x88, 0x2b, 0xa2, 0x63, 0x8b, 0x42, 0xaa, 0xb5, 0xaa, 0x47, 0x87, 0x4b, 0x95, 0x9e, 0x3f, 0x8a,
  1659  	0x5e, 0xb5, 0x6d, 0x06, 0x21, 0xb7, 0x12, 0x24, 0xa4, 0x36, 0xab, 0xa8, 0x3a, 0x1d, 0xd3, 0xb4,
  1660  	0x0e, 0xf9, 0x58, 0x47, 0x7f, 0x4c, 0xcf, 0xd0, 0x41, 0x13, 0x52, 0x3b, 0x30, 0x7e, 0x95, 0xa0,
  1661  	0x10, 0xad, 0x2f, 0xe2, 0xff, 0x06, 0x94, 0x99, 0xff, 0x22, 0x3e, 0x19, 0x81, 0xdf, 0x6d, 0x6b,
  1662  	0xfe, 0xe8, 0x70, 0xa9, 0xd8, 0xf3, 0x47, 0xe2, 0x42, 0x62, 0x56, 0x31, 0x88, 0x45, 0x9c, 0xca,
  1663  	0xdc, 0x3e, 0xa6, 0xca, 0xc7, 0xd4, 0xfe, 0x98, 0x9e, 0xa4, 0xd2, 0x58, 0x64, 0x1b, 0x35, 0x50,
  1664  	0x78, 0x5b, 0x44, 0xa0, 0xb8, 0xc3, 0x1f, 0xa3, 0xae, 0xcf, 0xbf, 0x57, 0x37, 0x41, 0x8b, 0x07,
  1665  	0x59, 0xf6, 0x4a, 0x9d, 0x6e, 0xc7, 0xd2, 0x33, 0x48, 0x83, 0x5c, 0xd3, 0x34, 0x2d, 0x53, 0x97,
  1666  	0x50, 0x11, 0xf2, 0x7b, 0x8f, 0xcc, 0x66, 0xdf, 0x32, 0xf5, 0x2c, 0x5b, 0x60, 0xeb, 0xdb, 0xee,
  1667  	0xf7, 0x96, 0xa9, 0xcb, 0xab, 0xaf, 0xe1, 0xf2, 0x19, 0xed, 0x14, 0xe9, 0x50, 0xea, 0x37, 0xf1,
  1668  	0xb6, 0xd5, 0xef, 0x0d, 0xba, 0x9d, 0xdd, 0x27, 0x7a, 0x06, 0xe5, 0x41, 0x6e, 0xee, 0xee, 0xea,
  1669  	0x12, 0x5a, 0x00, 0xd4, 0xeb, 0xee, 0xe1, 0x2d, 0x6b, 0xd0, 0xec, 0x98, 0x83, 0x10, 0xa5, 0x67,
  1670  	0x11, 0x82, 0x4a, 0x14, 0x2c, 0x21, 0x49, 0x46, 0x8b, 0x30, 0x7f, 0x2c, 0x4b, 0xc2, 0x95, 0xd5,
  1671  	0x0d, 0xd0, 0xe2, 0xf2, 0x8c, 0xca, 0xa0, 0xed, 0x75, 0xba, 0xd8, 0xb4, 0x30, 0x8f, 0xc1, 0x32,
  1672  	0x68, 0xcd, 0xde, 0x96, 0xd5, 0x31, 0xdb, 0x9d, 0x6d, 0x5d, 0x42, 0x15, 0x00, 0xd3, 0x8a, 0xd7,
  1673  	0xd9, 0xf5, 0xdf, 0x65, 0x50, 0xfa, 0xde, 0xd4, 0x43, 0xf7, 0x41, 0x15, 0x13, 0x34, 0xaa, 0x26,
  1674  	0x52, 0x30, 0x35, 0x90, 0xd7, 0x16, 0xcf, 0xd8, 0x09, 0x27, 0xbf, 0x0c, 0xba, 0x03, 0xf2, 0x36,
  1675  	0xa1, 0x68, 0x3e, 0x81, 0x39, 0x9e, 0xaa, 0x6b, 0x0b, 0x27, 0xc5, 0x31, 0xef, 0x3e, 0xa8, 0x62,
  1676  	0xb6, 0x4d, 0x19, 0x4e, 0x8d, 0xca, 0x29, 0xc3, 0xe9, 0x41, 0x58, 0x28, 0x10, 0x63, 0x68, 0x4a,
  1677  	0x41, 0x6a, 0xe4, 0x4d, 0x29, 0x38, 0x31, 0xb3, 0x66, 0xd0, 0x37, 0x90, 0xe3, 0x3d, 0x17, 0x5d,
  1678  	0x49, 0xa0, 0x92, 0x3d, 0xbc, 0x56, 0x3d, 0xbd, 0x11, 0xb1, 0xbf, 0x90, 0xd0, 0x06, 0x28, 0xac,
  1679  	0x0b, 0xa2, 0xe4, 0x19, 0x13, 0x8d, 0xb8, 0x76, 0xe5, 0x94, 0x3c, 0x69, 0x9a, 0xf7, 0xa8, 0x94,
  1680  	0xe9, 0x64, 0x3f, 0x4c, 0x99, 0x4e, 0xb5, 0x33, 0x66, 0xba, 0x55, 0x7d, 0x73, 0x54, 0x97, 0xde,
  1681  	0x1e, 0xd5, 0xa5, 0xbf, 0x8e, 0xea, 0xd2, 0x4f, 0xef, 0xea, 0x99, 0xb7, 0xef, 0xea, 0x99, 0x3f,
  1682  	0xdf, 0xd5, 0x33, 0xfb, 0x2a, 0x2f, 0x74, 0xb7, 0xfe, 0x09, 0x00, 0x00, 0xff, 0xff, 0x52, 0xde,
  1683  	0xc1, 0x62, 0x0c, 0x0e, 0x00, 0x00,
  1684  }
  1685  
  1686  // Reference imports to suppress errors if they are not otherwise used.
  1687  var _ context.Context
  1688  var _ grpc.ClientConn
  1689  
  1690  // This is a compile-time assertion to ensure that this generated file
  1691  // is compatible with the grpc package it is being compiled against.
  1692  const _ = grpc.SupportPackageIsVersion4
  1693  
  1694  // TopoClient is the client API for Topo service.
  1695  //
  1696  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
  1697  type TopoClient interface {
  1698  	// Create a new topology object
  1699  	Create(ctx context.Context, in *CreateRequest, opts ...grpc.CallOption) (*CreateResponse, error)
  1700  	// Get an object from topology
  1701  	Get(ctx context.Context, in *GetRequest, opts ...grpc.CallOption) (*GetResponse, error)
  1702  	// Update an existing topology object
  1703  	Update(ctx context.Context, in *UpdateRequest, opts ...grpc.CallOption) (*UpdateResponse, error)
  1704  	// Delete an object from topology
  1705  	Delete(ctx context.Context, in *DeleteRequest, opts ...grpc.CallOption) (*DeleteResponse, error)
  1706  	// Query gets a stream of requested objects
  1707  	Query(ctx context.Context, in *QueryRequest, opts ...grpc.CallOption) (Topo_QueryClient, error)
  1708  	// DEPRECATED: List gets a list of requested objects
  1709  	List(ctx context.Context, in *ListRequest, opts ...grpc.CallOption) (*ListResponse, error)
  1710  	// Watch returns a stream of topo change notifications
  1711  	Watch(ctx context.Context, in *WatchRequest, opts ...grpc.CallOption) (Topo_WatchClient, error)
  1712  }
  1713  
  1714  type topoClient struct {
  1715  	cc *grpc.ClientConn
  1716  }
  1717  
  1718  func NewTopoClient(cc *grpc.ClientConn) TopoClient {
  1719  	return &topoClient{cc}
  1720  }
  1721  
  1722  func (c *topoClient) Create(ctx context.Context, in *CreateRequest, opts ...grpc.CallOption) (*CreateResponse, error) {
  1723  	out := new(CreateResponse)
  1724  	err := c.cc.Invoke(ctx, "/onos.topo.Topo/Create", in, out, opts...)
  1725  	if err != nil {
  1726  		return nil, err
  1727  	}
  1728  	return out, nil
  1729  }
  1730  
  1731  func (c *topoClient) Get(ctx context.Context, in *GetRequest, opts ...grpc.CallOption) (*GetResponse, error) {
  1732  	out := new(GetResponse)
  1733  	err := c.cc.Invoke(ctx, "/onos.topo.Topo/Get", in, out, opts...)
  1734  	if err != nil {
  1735  		return nil, err
  1736  	}
  1737  	return out, nil
  1738  }
  1739  
  1740  func (c *topoClient) Update(ctx context.Context, in *UpdateRequest, opts ...grpc.CallOption) (*UpdateResponse, error) {
  1741  	out := new(UpdateResponse)
  1742  	err := c.cc.Invoke(ctx, "/onos.topo.Topo/Update", in, out, opts...)
  1743  	if err != nil {
  1744  		return nil, err
  1745  	}
  1746  	return out, nil
  1747  }
  1748  
  1749  func (c *topoClient) Delete(ctx context.Context, in *DeleteRequest, opts ...grpc.CallOption) (*DeleteResponse, error) {
  1750  	out := new(DeleteResponse)
  1751  	err := c.cc.Invoke(ctx, "/onos.topo.Topo/Delete", in, out, opts...)
  1752  	if err != nil {
  1753  		return nil, err
  1754  	}
  1755  	return out, nil
  1756  }
  1757  
  1758  func (c *topoClient) Query(ctx context.Context, in *QueryRequest, opts ...grpc.CallOption) (Topo_QueryClient, error) {
  1759  	stream, err := c.cc.NewStream(ctx, &_Topo_serviceDesc.Streams[0], "/onos.topo.Topo/Query", opts...)
  1760  	if err != nil {
  1761  		return nil, err
  1762  	}
  1763  	x := &topoQueryClient{stream}
  1764  	if err := x.ClientStream.SendMsg(in); err != nil {
  1765  		return nil, err
  1766  	}
  1767  	if err := x.ClientStream.CloseSend(); err != nil {
  1768  		return nil, err
  1769  	}
  1770  	return x, nil
  1771  }
  1772  
  1773  type Topo_QueryClient interface {
  1774  	Recv() (*QueryResponse, error)
  1775  	grpc.ClientStream
  1776  }
  1777  
  1778  type topoQueryClient struct {
  1779  	grpc.ClientStream
  1780  }
  1781  
  1782  func (x *topoQueryClient) Recv() (*QueryResponse, error) {
  1783  	m := new(QueryResponse)
  1784  	if err := x.ClientStream.RecvMsg(m); err != nil {
  1785  		return nil, err
  1786  	}
  1787  	return m, nil
  1788  }
  1789  
  1790  func (c *topoClient) List(ctx context.Context, in *ListRequest, opts ...grpc.CallOption) (*ListResponse, error) {
  1791  	out := new(ListResponse)
  1792  	err := c.cc.Invoke(ctx, "/onos.topo.Topo/List", in, out, opts...)
  1793  	if err != nil {
  1794  		return nil, err
  1795  	}
  1796  	return out, nil
  1797  }
  1798  
  1799  func (c *topoClient) Watch(ctx context.Context, in *WatchRequest, opts ...grpc.CallOption) (Topo_WatchClient, error) {
  1800  	stream, err := c.cc.NewStream(ctx, &_Topo_serviceDesc.Streams[1], "/onos.topo.Topo/Watch", opts...)
  1801  	if err != nil {
  1802  		return nil, err
  1803  	}
  1804  	x := &topoWatchClient{stream}
  1805  	if err := x.ClientStream.SendMsg(in); err != nil {
  1806  		return nil, err
  1807  	}
  1808  	if err := x.ClientStream.CloseSend(); err != nil {
  1809  		return nil, err
  1810  	}
  1811  	return x, nil
  1812  }
  1813  
  1814  type Topo_WatchClient interface {
  1815  	Recv() (*WatchResponse, error)
  1816  	grpc.ClientStream
  1817  }
  1818  
  1819  type topoWatchClient struct {
  1820  	grpc.ClientStream
  1821  }
  1822  
  1823  func (x *topoWatchClient) Recv() (*WatchResponse, error) {
  1824  	m := new(WatchResponse)
  1825  	if err := x.ClientStream.RecvMsg(m); err != nil {
  1826  		return nil, err
  1827  	}
  1828  	return m, nil
  1829  }
  1830  
  1831  // TopoServer is the server API for Topo service.
  1832  type TopoServer interface {
  1833  	// Create a new topology object
  1834  	Create(context.Context, *CreateRequest) (*CreateResponse, error)
  1835  	// Get an object from topology
  1836  	Get(context.Context, *GetRequest) (*GetResponse, error)
  1837  	// Update an existing topology object
  1838  	Update(context.Context, *UpdateRequest) (*UpdateResponse, error)
  1839  	// Delete an object from topology
  1840  	Delete(context.Context, *DeleteRequest) (*DeleteResponse, error)
  1841  	// Query gets a stream of requested objects
  1842  	Query(*QueryRequest, Topo_QueryServer) error
  1843  	// DEPRECATED: List gets a list of requested objects
  1844  	List(context.Context, *ListRequest) (*ListResponse, error)
  1845  	// Watch returns a stream of topo change notifications
  1846  	Watch(*WatchRequest, Topo_WatchServer) error
  1847  }
  1848  
  1849  // UnimplementedTopoServer can be embedded to have forward compatible implementations.
  1850  type UnimplementedTopoServer struct {
  1851  }
  1852  
  1853  func (*UnimplementedTopoServer) Create(ctx context.Context, req *CreateRequest) (*CreateResponse, error) {
  1854  	return nil, status.Errorf(codes.Unimplemented, "method Create not implemented")
  1855  }
  1856  func (*UnimplementedTopoServer) Get(ctx context.Context, req *GetRequest) (*GetResponse, error) {
  1857  	return nil, status.Errorf(codes.Unimplemented, "method Get not implemented")
  1858  }
  1859  func (*UnimplementedTopoServer) Update(ctx context.Context, req *UpdateRequest) (*UpdateResponse, error) {
  1860  	return nil, status.Errorf(codes.Unimplemented, "method Update not implemented")
  1861  }
  1862  func (*UnimplementedTopoServer) Delete(ctx context.Context, req *DeleteRequest) (*DeleteResponse, error) {
  1863  	return nil, status.Errorf(codes.Unimplemented, "method Delete not implemented")
  1864  }
  1865  func (*UnimplementedTopoServer) Query(req *QueryRequest, srv Topo_QueryServer) error {
  1866  	return status.Errorf(codes.Unimplemented, "method Query not implemented")
  1867  }
  1868  func (*UnimplementedTopoServer) List(ctx context.Context, req *ListRequest) (*ListResponse, error) {
  1869  	return nil, status.Errorf(codes.Unimplemented, "method List not implemented")
  1870  }
  1871  func (*UnimplementedTopoServer) Watch(req *WatchRequest, srv Topo_WatchServer) error {
  1872  	return status.Errorf(codes.Unimplemented, "method Watch not implemented")
  1873  }
  1874  
  1875  func RegisterTopoServer(s *grpc.Server, srv TopoServer) {
  1876  	s.RegisterService(&_Topo_serviceDesc, srv)
  1877  }
  1878  
  1879  func _Topo_Create_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1880  	in := new(CreateRequest)
  1881  	if err := dec(in); err != nil {
  1882  		return nil, err
  1883  	}
  1884  	if interceptor == nil {
  1885  		return srv.(TopoServer).Create(ctx, in)
  1886  	}
  1887  	info := &grpc.UnaryServerInfo{
  1888  		Server:     srv,
  1889  		FullMethod: "/onos.topo.Topo/Create",
  1890  	}
  1891  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1892  		return srv.(TopoServer).Create(ctx, req.(*CreateRequest))
  1893  	}
  1894  	return interceptor(ctx, in, info, handler)
  1895  }
  1896  
  1897  func _Topo_Get_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1898  	in := new(GetRequest)
  1899  	if err := dec(in); err != nil {
  1900  		return nil, err
  1901  	}
  1902  	if interceptor == nil {
  1903  		return srv.(TopoServer).Get(ctx, in)
  1904  	}
  1905  	info := &grpc.UnaryServerInfo{
  1906  		Server:     srv,
  1907  		FullMethod: "/onos.topo.Topo/Get",
  1908  	}
  1909  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1910  		return srv.(TopoServer).Get(ctx, req.(*GetRequest))
  1911  	}
  1912  	return interceptor(ctx, in, info, handler)
  1913  }
  1914  
  1915  func _Topo_Update_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1916  	in := new(UpdateRequest)
  1917  	if err := dec(in); err != nil {
  1918  		return nil, err
  1919  	}
  1920  	if interceptor == nil {
  1921  		return srv.(TopoServer).Update(ctx, in)
  1922  	}
  1923  	info := &grpc.UnaryServerInfo{
  1924  		Server:     srv,
  1925  		FullMethod: "/onos.topo.Topo/Update",
  1926  	}
  1927  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1928  		return srv.(TopoServer).Update(ctx, req.(*UpdateRequest))
  1929  	}
  1930  	return interceptor(ctx, in, info, handler)
  1931  }
  1932  
  1933  func _Topo_Delete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1934  	in := new(DeleteRequest)
  1935  	if err := dec(in); err != nil {
  1936  		return nil, err
  1937  	}
  1938  	if interceptor == nil {
  1939  		return srv.(TopoServer).Delete(ctx, in)
  1940  	}
  1941  	info := &grpc.UnaryServerInfo{
  1942  		Server:     srv,
  1943  		FullMethod: "/onos.topo.Topo/Delete",
  1944  	}
  1945  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1946  		return srv.(TopoServer).Delete(ctx, req.(*DeleteRequest))
  1947  	}
  1948  	return interceptor(ctx, in, info, handler)
  1949  }
  1950  
  1951  func _Topo_Query_Handler(srv interface{}, stream grpc.ServerStream) error {
  1952  	m := new(QueryRequest)
  1953  	if err := stream.RecvMsg(m); err != nil {
  1954  		return err
  1955  	}
  1956  	return srv.(TopoServer).Query(m, &topoQueryServer{stream})
  1957  }
  1958  
  1959  type Topo_QueryServer interface {
  1960  	Send(*QueryResponse) error
  1961  	grpc.ServerStream
  1962  }
  1963  
  1964  type topoQueryServer struct {
  1965  	grpc.ServerStream
  1966  }
  1967  
  1968  func (x *topoQueryServer) Send(m *QueryResponse) error {
  1969  	return x.ServerStream.SendMsg(m)
  1970  }
  1971  
  1972  func _Topo_List_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1973  	in := new(ListRequest)
  1974  	if err := dec(in); err != nil {
  1975  		return nil, err
  1976  	}
  1977  	if interceptor == nil {
  1978  		return srv.(TopoServer).List(ctx, in)
  1979  	}
  1980  	info := &grpc.UnaryServerInfo{
  1981  		Server:     srv,
  1982  		FullMethod: "/onos.topo.Topo/List",
  1983  	}
  1984  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1985  		return srv.(TopoServer).List(ctx, req.(*ListRequest))
  1986  	}
  1987  	return interceptor(ctx, in, info, handler)
  1988  }
  1989  
  1990  func _Topo_Watch_Handler(srv interface{}, stream grpc.ServerStream) error {
  1991  	m := new(WatchRequest)
  1992  	if err := stream.RecvMsg(m); err != nil {
  1993  		return err
  1994  	}
  1995  	return srv.(TopoServer).Watch(m, &topoWatchServer{stream})
  1996  }
  1997  
  1998  type Topo_WatchServer interface {
  1999  	Send(*WatchResponse) error
  2000  	grpc.ServerStream
  2001  }
  2002  
  2003  type topoWatchServer struct {
  2004  	grpc.ServerStream
  2005  }
  2006  
  2007  func (x *topoWatchServer) Send(m *WatchResponse) error {
  2008  	return x.ServerStream.SendMsg(m)
  2009  }
  2010  
  2011  var _Topo_serviceDesc = grpc.ServiceDesc{
  2012  	ServiceName: "onos.topo.Topo",
  2013  	HandlerType: (*TopoServer)(nil),
  2014  	Methods: []grpc.MethodDesc{
  2015  		{
  2016  			MethodName: "Create",
  2017  			Handler:    _Topo_Create_Handler,
  2018  		},
  2019  		{
  2020  			MethodName: "Get",
  2021  			Handler:    _Topo_Get_Handler,
  2022  		},
  2023  		{
  2024  			MethodName: "Update",
  2025  			Handler:    _Topo_Update_Handler,
  2026  		},
  2027  		{
  2028  			MethodName: "Delete",
  2029  			Handler:    _Topo_Delete_Handler,
  2030  		},
  2031  		{
  2032  			MethodName: "List",
  2033  			Handler:    _Topo_List_Handler,
  2034  		},
  2035  	},
  2036  	Streams: []grpc.StreamDesc{
  2037  		{
  2038  			StreamName:    "Query",
  2039  			Handler:       _Topo_Query_Handler,
  2040  			ServerStreams: true,
  2041  		},
  2042  		{
  2043  			StreamName:    "Watch",
  2044  			Handler:       _Topo_Watch_Handler,
  2045  			ServerStreams: true,
  2046  		},
  2047  	},
  2048  	Metadata: "onos/topo/topo.proto",
  2049  }
  2050  
  2051  func (m *Event) Marshal() (dAtA []byte, err error) {
  2052  	size := m.Size()
  2053  	dAtA = make([]byte, size)
  2054  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  2055  	if err != nil {
  2056  		return nil, err
  2057  	}
  2058  	return dAtA[:n], nil
  2059  }
  2060  
  2061  func (m *Event) MarshalTo(dAtA []byte) (int, error) {
  2062  	size := m.Size()
  2063  	return m.MarshalToSizedBuffer(dAtA[:size])
  2064  }
  2065  
  2066  func (m *Event) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  2067  	i := len(dAtA)
  2068  	_ = i
  2069  	var l int
  2070  	_ = l
  2071  	{
  2072  		size, err := m.Object.MarshalToSizedBuffer(dAtA[:i])
  2073  		if err != nil {
  2074  			return 0, err
  2075  		}
  2076  		i -= size
  2077  		i = encodeVarintTopo(dAtA, i, uint64(size))
  2078  	}
  2079  	i--
  2080  	dAtA[i] = 0x12
  2081  	if m.Type != 0 {
  2082  		i = encodeVarintTopo(dAtA, i, uint64(m.Type))
  2083  		i--
  2084  		dAtA[i] = 0x8
  2085  	}
  2086  	return len(dAtA) - i, nil
  2087  }
  2088  
  2089  func (m *CreateRequest) Marshal() (dAtA []byte, err error) {
  2090  	size := m.Size()
  2091  	dAtA = make([]byte, size)
  2092  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  2093  	if err != nil {
  2094  		return nil, err
  2095  	}
  2096  	return dAtA[:n], nil
  2097  }
  2098  
  2099  func (m *CreateRequest) MarshalTo(dAtA []byte) (int, error) {
  2100  	size := m.Size()
  2101  	return m.MarshalToSizedBuffer(dAtA[:size])
  2102  }
  2103  
  2104  func (m *CreateRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  2105  	i := len(dAtA)
  2106  	_ = i
  2107  	var l int
  2108  	_ = l
  2109  	if m.Object != nil {
  2110  		{
  2111  			size, err := m.Object.MarshalToSizedBuffer(dAtA[:i])
  2112  			if err != nil {
  2113  				return 0, err
  2114  			}
  2115  			i -= size
  2116  			i = encodeVarintTopo(dAtA, i, uint64(size))
  2117  		}
  2118  		i--
  2119  		dAtA[i] = 0xa
  2120  	}
  2121  	return len(dAtA) - i, nil
  2122  }
  2123  
  2124  func (m *CreateResponse) Marshal() (dAtA []byte, err error) {
  2125  	size := m.Size()
  2126  	dAtA = make([]byte, size)
  2127  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  2128  	if err != nil {
  2129  		return nil, err
  2130  	}
  2131  	return dAtA[:n], nil
  2132  }
  2133  
  2134  func (m *CreateResponse) MarshalTo(dAtA []byte) (int, error) {
  2135  	size := m.Size()
  2136  	return m.MarshalToSizedBuffer(dAtA[:size])
  2137  }
  2138  
  2139  func (m *CreateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  2140  	i := len(dAtA)
  2141  	_ = i
  2142  	var l int
  2143  	_ = l
  2144  	if m.Object != nil {
  2145  		{
  2146  			size, err := m.Object.MarshalToSizedBuffer(dAtA[:i])
  2147  			if err != nil {
  2148  				return 0, err
  2149  			}
  2150  			i -= size
  2151  			i = encodeVarintTopo(dAtA, i, uint64(size))
  2152  		}
  2153  		i--
  2154  		dAtA[i] = 0xa
  2155  	}
  2156  	return len(dAtA) - i, nil
  2157  }
  2158  
  2159  func (m *GetRequest) Marshal() (dAtA []byte, err error) {
  2160  	size := m.Size()
  2161  	dAtA = make([]byte, size)
  2162  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  2163  	if err != nil {
  2164  		return nil, err
  2165  	}
  2166  	return dAtA[:n], nil
  2167  }
  2168  
  2169  func (m *GetRequest) MarshalTo(dAtA []byte) (int, error) {
  2170  	size := m.Size()
  2171  	return m.MarshalToSizedBuffer(dAtA[:size])
  2172  }
  2173  
  2174  func (m *GetRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  2175  	i := len(dAtA)
  2176  	_ = i
  2177  	var l int
  2178  	_ = l
  2179  	if len(m.ID) > 0 {
  2180  		i -= len(m.ID)
  2181  		copy(dAtA[i:], m.ID)
  2182  		i = encodeVarintTopo(dAtA, i, uint64(len(m.ID)))
  2183  		i--
  2184  		dAtA[i] = 0xa
  2185  	}
  2186  	return len(dAtA) - i, nil
  2187  }
  2188  
  2189  func (m *GetResponse) Marshal() (dAtA []byte, err error) {
  2190  	size := m.Size()
  2191  	dAtA = make([]byte, size)
  2192  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  2193  	if err != nil {
  2194  		return nil, err
  2195  	}
  2196  	return dAtA[:n], nil
  2197  }
  2198  
  2199  func (m *GetResponse) MarshalTo(dAtA []byte) (int, error) {
  2200  	size := m.Size()
  2201  	return m.MarshalToSizedBuffer(dAtA[:size])
  2202  }
  2203  
  2204  func (m *GetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  2205  	i := len(dAtA)
  2206  	_ = i
  2207  	var l int
  2208  	_ = l
  2209  	if m.Object != nil {
  2210  		{
  2211  			size, err := m.Object.MarshalToSizedBuffer(dAtA[:i])
  2212  			if err != nil {
  2213  				return 0, err
  2214  			}
  2215  			i -= size
  2216  			i = encodeVarintTopo(dAtA, i, uint64(size))
  2217  		}
  2218  		i--
  2219  		dAtA[i] = 0xa
  2220  	}
  2221  	return len(dAtA) - i, nil
  2222  }
  2223  
  2224  func (m *UpdateRequest) Marshal() (dAtA []byte, err error) {
  2225  	size := m.Size()
  2226  	dAtA = make([]byte, size)
  2227  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  2228  	if err != nil {
  2229  		return nil, err
  2230  	}
  2231  	return dAtA[:n], nil
  2232  }
  2233  
  2234  func (m *UpdateRequest) MarshalTo(dAtA []byte) (int, error) {
  2235  	size := m.Size()
  2236  	return m.MarshalToSizedBuffer(dAtA[:size])
  2237  }
  2238  
  2239  func (m *UpdateRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  2240  	i := len(dAtA)
  2241  	_ = i
  2242  	var l int
  2243  	_ = l
  2244  	if m.Object != nil {
  2245  		{
  2246  			size, err := m.Object.MarshalToSizedBuffer(dAtA[:i])
  2247  			if err != nil {
  2248  				return 0, err
  2249  			}
  2250  			i -= size
  2251  			i = encodeVarintTopo(dAtA, i, uint64(size))
  2252  		}
  2253  		i--
  2254  		dAtA[i] = 0xa
  2255  	}
  2256  	return len(dAtA) - i, nil
  2257  }
  2258  
  2259  func (m *UpdateResponse) Marshal() (dAtA []byte, err error) {
  2260  	size := m.Size()
  2261  	dAtA = make([]byte, size)
  2262  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  2263  	if err != nil {
  2264  		return nil, err
  2265  	}
  2266  	return dAtA[:n], nil
  2267  }
  2268  
  2269  func (m *UpdateResponse) MarshalTo(dAtA []byte) (int, error) {
  2270  	size := m.Size()
  2271  	return m.MarshalToSizedBuffer(dAtA[:size])
  2272  }
  2273  
  2274  func (m *UpdateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  2275  	i := len(dAtA)
  2276  	_ = i
  2277  	var l int
  2278  	_ = l
  2279  	if m.Object != nil {
  2280  		{
  2281  			size, err := m.Object.MarshalToSizedBuffer(dAtA[:i])
  2282  			if err != nil {
  2283  				return 0, err
  2284  			}
  2285  			i -= size
  2286  			i = encodeVarintTopo(dAtA, i, uint64(size))
  2287  		}
  2288  		i--
  2289  		dAtA[i] = 0xa
  2290  	}
  2291  	return len(dAtA) - i, nil
  2292  }
  2293  
  2294  func (m *DeleteRequest) Marshal() (dAtA []byte, err error) {
  2295  	size := m.Size()
  2296  	dAtA = make([]byte, size)
  2297  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  2298  	if err != nil {
  2299  		return nil, err
  2300  	}
  2301  	return dAtA[:n], nil
  2302  }
  2303  
  2304  func (m *DeleteRequest) MarshalTo(dAtA []byte) (int, error) {
  2305  	size := m.Size()
  2306  	return m.MarshalToSizedBuffer(dAtA[:size])
  2307  }
  2308  
  2309  func (m *DeleteRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  2310  	i := len(dAtA)
  2311  	_ = i
  2312  	var l int
  2313  	_ = l
  2314  	if m.Revision != 0 {
  2315  		i = encodeVarintTopo(dAtA, i, uint64(m.Revision))
  2316  		i--
  2317  		dAtA[i] = 0x10
  2318  	}
  2319  	if len(m.ID) > 0 {
  2320  		i -= len(m.ID)
  2321  		copy(dAtA[i:], m.ID)
  2322  		i = encodeVarintTopo(dAtA, i, uint64(len(m.ID)))
  2323  		i--
  2324  		dAtA[i] = 0xa
  2325  	}
  2326  	return len(dAtA) - i, nil
  2327  }
  2328  
  2329  func (m *DeleteResponse) Marshal() (dAtA []byte, err error) {
  2330  	size := m.Size()
  2331  	dAtA = make([]byte, size)
  2332  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  2333  	if err != nil {
  2334  		return nil, err
  2335  	}
  2336  	return dAtA[:n], nil
  2337  }
  2338  
  2339  func (m *DeleteResponse) MarshalTo(dAtA []byte) (int, error) {
  2340  	size := m.Size()
  2341  	return m.MarshalToSizedBuffer(dAtA[:size])
  2342  }
  2343  
  2344  func (m *DeleteResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  2345  	i := len(dAtA)
  2346  	_ = i
  2347  	var l int
  2348  	_ = l
  2349  	return len(dAtA) - i, nil
  2350  }
  2351  
  2352  func (m *Filter) Marshal() (dAtA []byte, err error) {
  2353  	size := m.Size()
  2354  	dAtA = make([]byte, size)
  2355  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  2356  	if err != nil {
  2357  		return nil, err
  2358  	}
  2359  	return dAtA[:n], nil
  2360  }
  2361  
  2362  func (m *Filter) MarshalTo(dAtA []byte) (int, error) {
  2363  	size := m.Size()
  2364  	return m.MarshalToSizedBuffer(dAtA[:size])
  2365  }
  2366  
  2367  func (m *Filter) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  2368  	i := len(dAtA)
  2369  	_ = i
  2370  	var l int
  2371  	_ = l
  2372  	if len(m.Key) > 0 {
  2373  		i -= len(m.Key)
  2374  		copy(dAtA[i:], m.Key)
  2375  		i = encodeVarintTopo(dAtA, i, uint64(len(m.Key)))
  2376  		i--
  2377  		dAtA[i] = 0x22
  2378  	}
  2379  	if m.Filter != nil {
  2380  		{
  2381  			size := m.Filter.Size()
  2382  			i -= size
  2383  			if _, err := m.Filter.MarshalTo(dAtA[i:]); err != nil {
  2384  				return 0, err
  2385  			}
  2386  		}
  2387  	}
  2388  	return len(dAtA) - i, nil
  2389  }
  2390  
  2391  func (m *Filter_Equal_) MarshalTo(dAtA []byte) (int, error) {
  2392  	size := m.Size()
  2393  	return m.MarshalToSizedBuffer(dAtA[:size])
  2394  }
  2395  
  2396  func (m *Filter_Equal_) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  2397  	i := len(dAtA)
  2398  	if m.Equal_ != nil {
  2399  		{
  2400  			size, err := m.Equal_.MarshalToSizedBuffer(dAtA[:i])
  2401  			if err != nil {
  2402  				return 0, err
  2403  			}
  2404  			i -= size
  2405  			i = encodeVarintTopo(dAtA, i, uint64(size))
  2406  		}
  2407  		i--
  2408  		dAtA[i] = 0xa
  2409  	}
  2410  	return len(dAtA) - i, nil
  2411  }
  2412  func (m *Filter_Not) MarshalTo(dAtA []byte) (int, error) {
  2413  	size := m.Size()
  2414  	return m.MarshalToSizedBuffer(dAtA[:size])
  2415  }
  2416  
  2417  func (m *Filter_Not) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  2418  	i := len(dAtA)
  2419  	if m.Not != nil {
  2420  		{
  2421  			size, err := m.Not.MarshalToSizedBuffer(dAtA[:i])
  2422  			if err != nil {
  2423  				return 0, err
  2424  			}
  2425  			i -= size
  2426  			i = encodeVarintTopo(dAtA, i, uint64(size))
  2427  		}
  2428  		i--
  2429  		dAtA[i] = 0x12
  2430  	}
  2431  	return len(dAtA) - i, nil
  2432  }
  2433  func (m *Filter_In) MarshalTo(dAtA []byte) (int, error) {
  2434  	size := m.Size()
  2435  	return m.MarshalToSizedBuffer(dAtA[:size])
  2436  }
  2437  
  2438  func (m *Filter_In) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  2439  	i := len(dAtA)
  2440  	if m.In != nil {
  2441  		{
  2442  			size, err := m.In.MarshalToSizedBuffer(dAtA[:i])
  2443  			if err != nil {
  2444  				return 0, err
  2445  			}
  2446  			i -= size
  2447  			i = encodeVarintTopo(dAtA, i, uint64(size))
  2448  		}
  2449  		i--
  2450  		dAtA[i] = 0x1a
  2451  	}
  2452  	return len(dAtA) - i, nil
  2453  }
  2454  func (m *EqualFilter) Marshal() (dAtA []byte, err error) {
  2455  	size := m.Size()
  2456  	dAtA = make([]byte, size)
  2457  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  2458  	if err != nil {
  2459  		return nil, err
  2460  	}
  2461  	return dAtA[:n], nil
  2462  }
  2463  
  2464  func (m *EqualFilter) MarshalTo(dAtA []byte) (int, error) {
  2465  	size := m.Size()
  2466  	return m.MarshalToSizedBuffer(dAtA[:size])
  2467  }
  2468  
  2469  func (m *EqualFilter) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  2470  	i := len(dAtA)
  2471  	_ = i
  2472  	var l int
  2473  	_ = l
  2474  	if len(m.Value) > 0 {
  2475  		i -= len(m.Value)
  2476  		copy(dAtA[i:], m.Value)
  2477  		i = encodeVarintTopo(dAtA, i, uint64(len(m.Value)))
  2478  		i--
  2479  		dAtA[i] = 0xa
  2480  	}
  2481  	return len(dAtA) - i, nil
  2482  }
  2483  
  2484  func (m *InFilter) Marshal() (dAtA []byte, err error) {
  2485  	size := m.Size()
  2486  	dAtA = make([]byte, size)
  2487  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  2488  	if err != nil {
  2489  		return nil, err
  2490  	}
  2491  	return dAtA[:n], nil
  2492  }
  2493  
  2494  func (m *InFilter) MarshalTo(dAtA []byte) (int, error) {
  2495  	size := m.Size()
  2496  	return m.MarshalToSizedBuffer(dAtA[:size])
  2497  }
  2498  
  2499  func (m *InFilter) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  2500  	i := len(dAtA)
  2501  	_ = i
  2502  	var l int
  2503  	_ = l
  2504  	if len(m.Values) > 0 {
  2505  		for iNdEx := len(m.Values) - 1; iNdEx >= 0; iNdEx-- {
  2506  			i -= len(m.Values[iNdEx])
  2507  			copy(dAtA[i:], m.Values[iNdEx])
  2508  			i = encodeVarintTopo(dAtA, i, uint64(len(m.Values[iNdEx])))
  2509  			i--
  2510  			dAtA[i] = 0xa
  2511  		}
  2512  	}
  2513  	return len(dAtA) - i, nil
  2514  }
  2515  
  2516  func (m *NotFilter) Marshal() (dAtA []byte, err error) {
  2517  	size := m.Size()
  2518  	dAtA = make([]byte, size)
  2519  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  2520  	if err != nil {
  2521  		return nil, err
  2522  	}
  2523  	return dAtA[:n], nil
  2524  }
  2525  
  2526  func (m *NotFilter) MarshalTo(dAtA []byte) (int, error) {
  2527  	size := m.Size()
  2528  	return m.MarshalToSizedBuffer(dAtA[:size])
  2529  }
  2530  
  2531  func (m *NotFilter) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  2532  	i := len(dAtA)
  2533  	_ = i
  2534  	var l int
  2535  	_ = l
  2536  	if m.Inner != nil {
  2537  		{
  2538  			size, err := m.Inner.MarshalToSizedBuffer(dAtA[:i])
  2539  			if err != nil {
  2540  				return 0, err
  2541  			}
  2542  			i -= size
  2543  			i = encodeVarintTopo(dAtA, i, uint64(size))
  2544  		}
  2545  		i--
  2546  		dAtA[i] = 0xa
  2547  	}
  2548  	return len(dAtA) - i, nil
  2549  }
  2550  
  2551  func (m *RelationFilter) Marshal() (dAtA []byte, err error) {
  2552  	size := m.Size()
  2553  	dAtA = make([]byte, size)
  2554  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  2555  	if err != nil {
  2556  		return nil, err
  2557  	}
  2558  	return dAtA[:n], nil
  2559  }
  2560  
  2561  func (m *RelationFilter) MarshalTo(dAtA []byte) (int, error) {
  2562  	size := m.Size()
  2563  	return m.MarshalToSizedBuffer(dAtA[:size])
  2564  }
  2565  
  2566  func (m *RelationFilter) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  2567  	i := len(dAtA)
  2568  	_ = i
  2569  	var l int
  2570  	_ = l
  2571  	if len(m.TargetId) > 0 {
  2572  		i -= len(m.TargetId)
  2573  		copy(dAtA[i:], m.TargetId)
  2574  		i = encodeVarintTopo(dAtA, i, uint64(len(m.TargetId)))
  2575  		i--
  2576  		dAtA[i] = 0x2a
  2577  	}
  2578  	if m.Scope != 0 {
  2579  		i = encodeVarintTopo(dAtA, i, uint64(m.Scope))
  2580  		i--
  2581  		dAtA[i] = 0x20
  2582  	}
  2583  	if len(m.TargetKind) > 0 {
  2584  		i -= len(m.TargetKind)
  2585  		copy(dAtA[i:], m.TargetKind)
  2586  		i = encodeVarintTopo(dAtA, i, uint64(len(m.TargetKind)))
  2587  		i--
  2588  		dAtA[i] = 0x1a
  2589  	}
  2590  	if len(m.RelationKind) > 0 {
  2591  		i -= len(m.RelationKind)
  2592  		copy(dAtA[i:], m.RelationKind)
  2593  		i = encodeVarintTopo(dAtA, i, uint64(len(m.RelationKind)))
  2594  		i--
  2595  		dAtA[i] = 0x12
  2596  	}
  2597  	if len(m.SrcId) > 0 {
  2598  		i -= len(m.SrcId)
  2599  		copy(dAtA[i:], m.SrcId)
  2600  		i = encodeVarintTopo(dAtA, i, uint64(len(m.SrcId)))
  2601  		i--
  2602  		dAtA[i] = 0xa
  2603  	}
  2604  	return len(dAtA) - i, nil
  2605  }
  2606  
  2607  func (m *Filters) Marshal() (dAtA []byte, err error) {
  2608  	size := m.Size()
  2609  	dAtA = make([]byte, size)
  2610  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  2611  	if err != nil {
  2612  		return nil, err
  2613  	}
  2614  	return dAtA[:n], nil
  2615  }
  2616  
  2617  func (m *Filters) MarshalTo(dAtA []byte) (int, error) {
  2618  	size := m.Size()
  2619  	return m.MarshalToSizedBuffer(dAtA[:size])
  2620  }
  2621  
  2622  func (m *Filters) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  2623  	i := len(dAtA)
  2624  	_ = i
  2625  	var l int
  2626  	_ = l
  2627  	if len(m.WithAspects) > 0 {
  2628  		for iNdEx := len(m.WithAspects) - 1; iNdEx >= 0; iNdEx-- {
  2629  			i -= len(m.WithAspects[iNdEx])
  2630  			copy(dAtA[i:], m.WithAspects[iNdEx])
  2631  			i = encodeVarintTopo(dAtA, i, uint64(len(m.WithAspects[iNdEx])))
  2632  			i--
  2633  			dAtA[i] = 0x32
  2634  		}
  2635  	}
  2636  	if len(m.ObjectTypes) > 0 {
  2637  		dAtA12 := make([]byte, len(m.ObjectTypes)*10)
  2638  		var j11 int
  2639  		for _, num := range m.ObjectTypes {
  2640  			for num >= 1<<7 {
  2641  				dAtA12[j11] = uint8(uint64(num)&0x7f | 0x80)
  2642  				num >>= 7
  2643  				j11++
  2644  			}
  2645  			dAtA12[j11] = uint8(num)
  2646  			j11++
  2647  		}
  2648  		i -= j11
  2649  		copy(dAtA[i:], dAtA12[:j11])
  2650  		i = encodeVarintTopo(dAtA, i, uint64(j11))
  2651  		i--
  2652  		dAtA[i] = 0x22
  2653  	}
  2654  	if m.RelationFilter != nil {
  2655  		{
  2656  			size, err := m.RelationFilter.MarshalToSizedBuffer(dAtA[:i])
  2657  			if err != nil {
  2658  				return 0, err
  2659  			}
  2660  			i -= size
  2661  			i = encodeVarintTopo(dAtA, i, uint64(size))
  2662  		}
  2663  		i--
  2664  		dAtA[i] = 0x1a
  2665  	}
  2666  	if len(m.LabelFilters) > 0 {
  2667  		for iNdEx := len(m.LabelFilters) - 1; iNdEx >= 0; iNdEx-- {
  2668  			{
  2669  				size, err := m.LabelFilters[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  2670  				if err != nil {
  2671  					return 0, err
  2672  				}
  2673  				i -= size
  2674  				i = encodeVarintTopo(dAtA, i, uint64(size))
  2675  			}
  2676  			i--
  2677  			dAtA[i] = 0x12
  2678  		}
  2679  	}
  2680  	if m.KindFilter != nil {
  2681  		{
  2682  			size, err := m.KindFilter.MarshalToSizedBuffer(dAtA[:i])
  2683  			if err != nil {
  2684  				return 0, err
  2685  			}
  2686  			i -= size
  2687  			i = encodeVarintTopo(dAtA, i, uint64(size))
  2688  		}
  2689  		i--
  2690  		dAtA[i] = 0xa
  2691  	}
  2692  	return len(dAtA) - i, nil
  2693  }
  2694  
  2695  func (m *QueryRequest) Marshal() (dAtA []byte, err error) {
  2696  	size := m.Size()
  2697  	dAtA = make([]byte, size)
  2698  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  2699  	if err != nil {
  2700  		return nil, err
  2701  	}
  2702  	return dAtA[:n], nil
  2703  }
  2704  
  2705  func (m *QueryRequest) MarshalTo(dAtA []byte) (int, error) {
  2706  	size := m.Size()
  2707  	return m.MarshalToSizedBuffer(dAtA[:size])
  2708  }
  2709  
  2710  func (m *QueryRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  2711  	i := len(dAtA)
  2712  	_ = i
  2713  	var l int
  2714  	_ = l
  2715  	if m.Filters != nil {
  2716  		{
  2717  			size, err := m.Filters.MarshalToSizedBuffer(dAtA[:i])
  2718  			if err != nil {
  2719  				return 0, err
  2720  			}
  2721  			i -= size
  2722  			i = encodeVarintTopo(dAtA, i, uint64(size))
  2723  		}
  2724  		i--
  2725  		dAtA[i] = 0xa
  2726  	}
  2727  	return len(dAtA) - i, nil
  2728  }
  2729  
  2730  func (m *QueryResponse) Marshal() (dAtA []byte, err error) {
  2731  	size := m.Size()
  2732  	dAtA = make([]byte, size)
  2733  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  2734  	if err != nil {
  2735  		return nil, err
  2736  	}
  2737  	return dAtA[:n], nil
  2738  }
  2739  
  2740  func (m *QueryResponse) MarshalTo(dAtA []byte) (int, error) {
  2741  	size := m.Size()
  2742  	return m.MarshalToSizedBuffer(dAtA[:size])
  2743  }
  2744  
  2745  func (m *QueryResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  2746  	i := len(dAtA)
  2747  	_ = i
  2748  	var l int
  2749  	_ = l
  2750  	if m.Object != nil {
  2751  		{
  2752  			size, err := m.Object.MarshalToSizedBuffer(dAtA[:i])
  2753  			if err != nil {
  2754  				return 0, err
  2755  			}
  2756  			i -= size
  2757  			i = encodeVarintTopo(dAtA, i, uint64(size))
  2758  		}
  2759  		i--
  2760  		dAtA[i] = 0xa
  2761  	}
  2762  	return len(dAtA) - i, nil
  2763  }
  2764  
  2765  func (m *ListRequest) Marshal() (dAtA []byte, err error) {
  2766  	size := m.Size()
  2767  	dAtA = make([]byte, size)
  2768  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  2769  	if err != nil {
  2770  		return nil, err
  2771  	}
  2772  	return dAtA[:n], nil
  2773  }
  2774  
  2775  func (m *ListRequest) MarshalTo(dAtA []byte) (int, error) {
  2776  	size := m.Size()
  2777  	return m.MarshalToSizedBuffer(dAtA[:size])
  2778  }
  2779  
  2780  func (m *ListRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  2781  	i := len(dAtA)
  2782  	_ = i
  2783  	var l int
  2784  	_ = l
  2785  	if m.SortOrder != 0 {
  2786  		i = encodeVarintTopo(dAtA, i, uint64(m.SortOrder))
  2787  		i--
  2788  		dAtA[i] = 0x10
  2789  	}
  2790  	if m.Filters != nil {
  2791  		{
  2792  			size, err := m.Filters.MarshalToSizedBuffer(dAtA[:i])
  2793  			if err != nil {
  2794  				return 0, err
  2795  			}
  2796  			i -= size
  2797  			i = encodeVarintTopo(dAtA, i, uint64(size))
  2798  		}
  2799  		i--
  2800  		dAtA[i] = 0xa
  2801  	}
  2802  	return len(dAtA) - i, nil
  2803  }
  2804  
  2805  func (m *ListResponse) Marshal() (dAtA []byte, err error) {
  2806  	size := m.Size()
  2807  	dAtA = make([]byte, size)
  2808  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  2809  	if err != nil {
  2810  		return nil, err
  2811  	}
  2812  	return dAtA[:n], nil
  2813  }
  2814  
  2815  func (m *ListResponse) MarshalTo(dAtA []byte) (int, error) {
  2816  	size := m.Size()
  2817  	return m.MarshalToSizedBuffer(dAtA[:size])
  2818  }
  2819  
  2820  func (m *ListResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  2821  	i := len(dAtA)
  2822  	_ = i
  2823  	var l int
  2824  	_ = l
  2825  	if len(m.Objects) > 0 {
  2826  		for iNdEx := len(m.Objects) - 1; iNdEx >= 0; iNdEx-- {
  2827  			{
  2828  				size, err := m.Objects[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  2829  				if err != nil {
  2830  					return 0, err
  2831  				}
  2832  				i -= size
  2833  				i = encodeVarintTopo(dAtA, i, uint64(size))
  2834  			}
  2835  			i--
  2836  			dAtA[i] = 0xa
  2837  		}
  2838  	}
  2839  	return len(dAtA) - i, nil
  2840  }
  2841  
  2842  func (m *WatchRequest) Marshal() (dAtA []byte, err error) {
  2843  	size := m.Size()
  2844  	dAtA = make([]byte, size)
  2845  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  2846  	if err != nil {
  2847  		return nil, err
  2848  	}
  2849  	return dAtA[:n], nil
  2850  }
  2851  
  2852  func (m *WatchRequest) MarshalTo(dAtA []byte) (int, error) {
  2853  	size := m.Size()
  2854  	return m.MarshalToSizedBuffer(dAtA[:size])
  2855  }
  2856  
  2857  func (m *WatchRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  2858  	i := len(dAtA)
  2859  	_ = i
  2860  	var l int
  2861  	_ = l
  2862  	if m.Noreplay {
  2863  		i--
  2864  		if m.Noreplay {
  2865  			dAtA[i] = 1
  2866  		} else {
  2867  			dAtA[i] = 0
  2868  		}
  2869  		i--
  2870  		dAtA[i] = 0x10
  2871  	}
  2872  	if m.Filters != nil {
  2873  		{
  2874  			size, err := m.Filters.MarshalToSizedBuffer(dAtA[:i])
  2875  			if err != nil {
  2876  				return 0, err
  2877  			}
  2878  			i -= size
  2879  			i = encodeVarintTopo(dAtA, i, uint64(size))
  2880  		}
  2881  		i--
  2882  		dAtA[i] = 0xa
  2883  	}
  2884  	return len(dAtA) - i, nil
  2885  }
  2886  
  2887  func (m *WatchResponse) Marshal() (dAtA []byte, err error) {
  2888  	size := m.Size()
  2889  	dAtA = make([]byte, size)
  2890  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  2891  	if err != nil {
  2892  		return nil, err
  2893  	}
  2894  	return dAtA[:n], nil
  2895  }
  2896  
  2897  func (m *WatchResponse) MarshalTo(dAtA []byte) (int, error) {
  2898  	size := m.Size()
  2899  	return m.MarshalToSizedBuffer(dAtA[:size])
  2900  }
  2901  
  2902  func (m *WatchResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  2903  	i := len(dAtA)
  2904  	_ = i
  2905  	var l int
  2906  	_ = l
  2907  	{
  2908  		size, err := m.Event.MarshalToSizedBuffer(dAtA[:i])
  2909  		if err != nil {
  2910  			return 0, err
  2911  		}
  2912  		i -= size
  2913  		i = encodeVarintTopo(dAtA, i, uint64(size))
  2914  	}
  2915  	i--
  2916  	dAtA[i] = 0xa
  2917  	return len(dAtA) - i, nil
  2918  }
  2919  
  2920  func (m *Object) Marshal() (dAtA []byte, err error) {
  2921  	size := m.Size()
  2922  	dAtA = make([]byte, size)
  2923  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  2924  	if err != nil {
  2925  		return nil, err
  2926  	}
  2927  	return dAtA[:n], nil
  2928  }
  2929  
  2930  func (m *Object) MarshalTo(dAtA []byte) (int, error) {
  2931  	size := m.Size()
  2932  	return m.MarshalToSizedBuffer(dAtA[:size])
  2933  }
  2934  
  2935  func (m *Object) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  2936  	i := len(dAtA)
  2937  	_ = i
  2938  	var l int
  2939  	_ = l
  2940  	if len(m.UUID) > 0 {
  2941  		i -= len(m.UUID)
  2942  		copy(dAtA[i:], m.UUID)
  2943  		i = encodeVarintTopo(dAtA, i, uint64(len(m.UUID)))
  2944  		i--
  2945  		dAtA[i] = 0x4a
  2946  	}
  2947  	if len(m.Labels) > 0 {
  2948  		for k := range m.Labels {
  2949  			v := m.Labels[k]
  2950  			baseI := i
  2951  			i -= len(v)
  2952  			copy(dAtA[i:], v)
  2953  			i = encodeVarintTopo(dAtA, i, uint64(len(v)))
  2954  			i--
  2955  			dAtA[i] = 0x12
  2956  			i -= len(k)
  2957  			copy(dAtA[i:], k)
  2958  			i = encodeVarintTopo(dAtA, i, uint64(len(k)))
  2959  			i--
  2960  			dAtA[i] = 0xa
  2961  			i = encodeVarintTopo(dAtA, i, uint64(baseI-i))
  2962  			i--
  2963  			dAtA[i] = 0x42
  2964  		}
  2965  	}
  2966  	if len(m.Aspects) > 0 {
  2967  		for k := range m.Aspects {
  2968  			v := m.Aspects[k]
  2969  			baseI := i
  2970  			if v != nil {
  2971  				{
  2972  					size, err := v.MarshalToSizedBuffer(dAtA[:i])
  2973  					if err != nil {
  2974  						return 0, err
  2975  					}
  2976  					i -= size
  2977  					i = encodeVarintTopo(dAtA, i, uint64(size))
  2978  				}
  2979  				i--
  2980  				dAtA[i] = 0x12
  2981  			}
  2982  			i -= len(k)
  2983  			copy(dAtA[i:], k)
  2984  			i = encodeVarintTopo(dAtA, i, uint64(len(k)))
  2985  			i--
  2986  			dAtA[i] = 0xa
  2987  			i = encodeVarintTopo(dAtA, i, uint64(baseI-i))
  2988  			i--
  2989  			dAtA[i] = 0x3a
  2990  		}
  2991  	}
  2992  	if m.Obj != nil {
  2993  		{
  2994  			size := m.Obj.Size()
  2995  			i -= size
  2996  			if _, err := m.Obj.MarshalTo(dAtA[i:]); err != nil {
  2997  				return 0, err
  2998  			}
  2999  		}
  3000  	}
  3001  	if m.Type != 0 {
  3002  		i = encodeVarintTopo(dAtA, i, uint64(m.Type))
  3003  		i--
  3004  		dAtA[i] = 0x18
  3005  	}
  3006  	if m.Revision != 0 {
  3007  		i = encodeVarintTopo(dAtA, i, uint64(m.Revision))
  3008  		i--
  3009  		dAtA[i] = 0x10
  3010  	}
  3011  	if len(m.ID) > 0 {
  3012  		i -= len(m.ID)
  3013  		copy(dAtA[i:], m.ID)
  3014  		i = encodeVarintTopo(dAtA, i, uint64(len(m.ID)))
  3015  		i--
  3016  		dAtA[i] = 0xa
  3017  	}
  3018  	return len(dAtA) - i, nil
  3019  }
  3020  
  3021  func (m *Object_Entity) MarshalTo(dAtA []byte) (int, error) {
  3022  	size := m.Size()
  3023  	return m.MarshalToSizedBuffer(dAtA[:size])
  3024  }
  3025  
  3026  func (m *Object_Entity) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3027  	i := len(dAtA)
  3028  	if m.Entity != nil {
  3029  		{
  3030  			size, err := m.Entity.MarshalToSizedBuffer(dAtA[:i])
  3031  			if err != nil {
  3032  				return 0, err
  3033  			}
  3034  			i -= size
  3035  			i = encodeVarintTopo(dAtA, i, uint64(size))
  3036  		}
  3037  		i--
  3038  		dAtA[i] = 0x22
  3039  	}
  3040  	return len(dAtA) - i, nil
  3041  }
  3042  func (m *Object_Relation) MarshalTo(dAtA []byte) (int, error) {
  3043  	size := m.Size()
  3044  	return m.MarshalToSizedBuffer(dAtA[:size])
  3045  }
  3046  
  3047  func (m *Object_Relation) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3048  	i := len(dAtA)
  3049  	if m.Relation != nil {
  3050  		{
  3051  			size, err := m.Relation.MarshalToSizedBuffer(dAtA[:i])
  3052  			if err != nil {
  3053  				return 0, err
  3054  			}
  3055  			i -= size
  3056  			i = encodeVarintTopo(dAtA, i, uint64(size))
  3057  		}
  3058  		i--
  3059  		dAtA[i] = 0x2a
  3060  	}
  3061  	return len(dAtA) - i, nil
  3062  }
  3063  func (m *Object_Kind) MarshalTo(dAtA []byte) (int, error) {
  3064  	size := m.Size()
  3065  	return m.MarshalToSizedBuffer(dAtA[:size])
  3066  }
  3067  
  3068  func (m *Object_Kind) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3069  	i := len(dAtA)
  3070  	if m.Kind != nil {
  3071  		{
  3072  			size, err := m.Kind.MarshalToSizedBuffer(dAtA[:i])
  3073  			if err != nil {
  3074  				return 0, err
  3075  			}
  3076  			i -= size
  3077  			i = encodeVarintTopo(dAtA, i, uint64(size))
  3078  		}
  3079  		i--
  3080  		dAtA[i] = 0x32
  3081  	}
  3082  	return len(dAtA) - i, nil
  3083  }
  3084  func (m *Entity) Marshal() (dAtA []byte, err error) {
  3085  	size := m.Size()
  3086  	dAtA = make([]byte, size)
  3087  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  3088  	if err != nil {
  3089  		return nil, err
  3090  	}
  3091  	return dAtA[:n], nil
  3092  }
  3093  
  3094  func (m *Entity) MarshalTo(dAtA []byte) (int, error) {
  3095  	size := m.Size()
  3096  	return m.MarshalToSizedBuffer(dAtA[:size])
  3097  }
  3098  
  3099  func (m *Entity) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3100  	i := len(dAtA)
  3101  	_ = i
  3102  	var l int
  3103  	_ = l
  3104  	if len(m.TgtRelationIDs) > 0 {
  3105  		for iNdEx := len(m.TgtRelationIDs) - 1; iNdEx >= 0; iNdEx-- {
  3106  			i -= len(m.TgtRelationIDs[iNdEx])
  3107  			copy(dAtA[i:], m.TgtRelationIDs[iNdEx])
  3108  			i = encodeVarintTopo(dAtA, i, uint64(len(m.TgtRelationIDs[iNdEx])))
  3109  			i--
  3110  			dAtA[i] = 0x1a
  3111  		}
  3112  	}
  3113  	if len(m.SrcRelationIDs) > 0 {
  3114  		for iNdEx := len(m.SrcRelationIDs) - 1; iNdEx >= 0; iNdEx-- {
  3115  			i -= len(m.SrcRelationIDs[iNdEx])
  3116  			copy(dAtA[i:], m.SrcRelationIDs[iNdEx])
  3117  			i = encodeVarintTopo(dAtA, i, uint64(len(m.SrcRelationIDs[iNdEx])))
  3118  			i--
  3119  			dAtA[i] = 0x12
  3120  		}
  3121  	}
  3122  	if len(m.KindID) > 0 {
  3123  		i -= len(m.KindID)
  3124  		copy(dAtA[i:], m.KindID)
  3125  		i = encodeVarintTopo(dAtA, i, uint64(len(m.KindID)))
  3126  		i--
  3127  		dAtA[i] = 0xa
  3128  	}
  3129  	return len(dAtA) - i, nil
  3130  }
  3131  
  3132  func (m *Relation) Marshal() (dAtA []byte, err error) {
  3133  	size := m.Size()
  3134  	dAtA = make([]byte, size)
  3135  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  3136  	if err != nil {
  3137  		return nil, err
  3138  	}
  3139  	return dAtA[:n], nil
  3140  }
  3141  
  3142  func (m *Relation) MarshalTo(dAtA []byte) (int, error) {
  3143  	size := m.Size()
  3144  	return m.MarshalToSizedBuffer(dAtA[:size])
  3145  }
  3146  
  3147  func (m *Relation) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3148  	i := len(dAtA)
  3149  	_ = i
  3150  	var l int
  3151  	_ = l
  3152  	if len(m.TgtEntityID) > 0 {
  3153  		i -= len(m.TgtEntityID)
  3154  		copy(dAtA[i:], m.TgtEntityID)
  3155  		i = encodeVarintTopo(dAtA, i, uint64(len(m.TgtEntityID)))
  3156  		i--
  3157  		dAtA[i] = 0x1a
  3158  	}
  3159  	if len(m.SrcEntityID) > 0 {
  3160  		i -= len(m.SrcEntityID)
  3161  		copy(dAtA[i:], m.SrcEntityID)
  3162  		i = encodeVarintTopo(dAtA, i, uint64(len(m.SrcEntityID)))
  3163  		i--
  3164  		dAtA[i] = 0x12
  3165  	}
  3166  	if len(m.KindID) > 0 {
  3167  		i -= len(m.KindID)
  3168  		copy(dAtA[i:], m.KindID)
  3169  		i = encodeVarintTopo(dAtA, i, uint64(len(m.KindID)))
  3170  		i--
  3171  		dAtA[i] = 0xa
  3172  	}
  3173  	return len(dAtA) - i, nil
  3174  }
  3175  
  3176  func (m *Kind) Marshal() (dAtA []byte, err error) {
  3177  	size := m.Size()
  3178  	dAtA = make([]byte, size)
  3179  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  3180  	if err != nil {
  3181  		return nil, err
  3182  	}
  3183  	return dAtA[:n], nil
  3184  }
  3185  
  3186  func (m *Kind) MarshalTo(dAtA []byte) (int, error) {
  3187  	size := m.Size()
  3188  	return m.MarshalToSizedBuffer(dAtA[:size])
  3189  }
  3190  
  3191  func (m *Kind) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3192  	i := len(dAtA)
  3193  	_ = i
  3194  	var l int
  3195  	_ = l
  3196  	if len(m.Name) > 0 {
  3197  		i -= len(m.Name)
  3198  		copy(dAtA[i:], m.Name)
  3199  		i = encodeVarintTopo(dAtA, i, uint64(len(m.Name)))
  3200  		i--
  3201  		dAtA[i] = 0xa
  3202  	}
  3203  	return len(dAtA) - i, nil
  3204  }
  3205  
  3206  func encodeVarintTopo(dAtA []byte, offset int, v uint64) int {
  3207  	offset -= sovTopo(v)
  3208  	base := offset
  3209  	for v >= 1<<7 {
  3210  		dAtA[offset] = uint8(v&0x7f | 0x80)
  3211  		v >>= 7
  3212  		offset++
  3213  	}
  3214  	dAtA[offset] = uint8(v)
  3215  	return base
  3216  }
  3217  func (m *Event) Size() (n int) {
  3218  	if m == nil {
  3219  		return 0
  3220  	}
  3221  	var l int
  3222  	_ = l
  3223  	if m.Type != 0 {
  3224  		n += 1 + sovTopo(uint64(m.Type))
  3225  	}
  3226  	l = m.Object.Size()
  3227  	n += 1 + l + sovTopo(uint64(l))
  3228  	return n
  3229  }
  3230  
  3231  func (m *CreateRequest) Size() (n int) {
  3232  	if m == nil {
  3233  		return 0
  3234  	}
  3235  	var l int
  3236  	_ = l
  3237  	if m.Object != nil {
  3238  		l = m.Object.Size()
  3239  		n += 1 + l + sovTopo(uint64(l))
  3240  	}
  3241  	return n
  3242  }
  3243  
  3244  func (m *CreateResponse) Size() (n int) {
  3245  	if m == nil {
  3246  		return 0
  3247  	}
  3248  	var l int
  3249  	_ = l
  3250  	if m.Object != nil {
  3251  		l = m.Object.Size()
  3252  		n += 1 + l + sovTopo(uint64(l))
  3253  	}
  3254  	return n
  3255  }
  3256  
  3257  func (m *GetRequest) Size() (n int) {
  3258  	if m == nil {
  3259  		return 0
  3260  	}
  3261  	var l int
  3262  	_ = l
  3263  	l = len(m.ID)
  3264  	if l > 0 {
  3265  		n += 1 + l + sovTopo(uint64(l))
  3266  	}
  3267  	return n
  3268  }
  3269  
  3270  func (m *GetResponse) Size() (n int) {
  3271  	if m == nil {
  3272  		return 0
  3273  	}
  3274  	var l int
  3275  	_ = l
  3276  	if m.Object != nil {
  3277  		l = m.Object.Size()
  3278  		n += 1 + l + sovTopo(uint64(l))
  3279  	}
  3280  	return n
  3281  }
  3282  
  3283  func (m *UpdateRequest) Size() (n int) {
  3284  	if m == nil {
  3285  		return 0
  3286  	}
  3287  	var l int
  3288  	_ = l
  3289  	if m.Object != nil {
  3290  		l = m.Object.Size()
  3291  		n += 1 + l + sovTopo(uint64(l))
  3292  	}
  3293  	return n
  3294  }
  3295  
  3296  func (m *UpdateResponse) Size() (n int) {
  3297  	if m == nil {
  3298  		return 0
  3299  	}
  3300  	var l int
  3301  	_ = l
  3302  	if m.Object != nil {
  3303  		l = m.Object.Size()
  3304  		n += 1 + l + sovTopo(uint64(l))
  3305  	}
  3306  	return n
  3307  }
  3308  
  3309  func (m *DeleteRequest) Size() (n int) {
  3310  	if m == nil {
  3311  		return 0
  3312  	}
  3313  	var l int
  3314  	_ = l
  3315  	l = len(m.ID)
  3316  	if l > 0 {
  3317  		n += 1 + l + sovTopo(uint64(l))
  3318  	}
  3319  	if m.Revision != 0 {
  3320  		n += 1 + sovTopo(uint64(m.Revision))
  3321  	}
  3322  	return n
  3323  }
  3324  
  3325  func (m *DeleteResponse) Size() (n int) {
  3326  	if m == nil {
  3327  		return 0
  3328  	}
  3329  	var l int
  3330  	_ = l
  3331  	return n
  3332  }
  3333  
  3334  func (m *Filter) Size() (n int) {
  3335  	if m == nil {
  3336  		return 0
  3337  	}
  3338  	var l int
  3339  	_ = l
  3340  	if m.Filter != nil {
  3341  		n += m.Filter.Size()
  3342  	}
  3343  	l = len(m.Key)
  3344  	if l > 0 {
  3345  		n += 1 + l + sovTopo(uint64(l))
  3346  	}
  3347  	return n
  3348  }
  3349  
  3350  func (m *Filter_Equal_) Size() (n int) {
  3351  	if m == nil {
  3352  		return 0
  3353  	}
  3354  	var l int
  3355  	_ = l
  3356  	if m.Equal_ != nil {
  3357  		l = m.Equal_.Size()
  3358  		n += 1 + l + sovTopo(uint64(l))
  3359  	}
  3360  	return n
  3361  }
  3362  func (m *Filter_Not) Size() (n int) {
  3363  	if m == nil {
  3364  		return 0
  3365  	}
  3366  	var l int
  3367  	_ = l
  3368  	if m.Not != nil {
  3369  		l = m.Not.Size()
  3370  		n += 1 + l + sovTopo(uint64(l))
  3371  	}
  3372  	return n
  3373  }
  3374  func (m *Filter_In) Size() (n int) {
  3375  	if m == nil {
  3376  		return 0
  3377  	}
  3378  	var l int
  3379  	_ = l
  3380  	if m.In != nil {
  3381  		l = m.In.Size()
  3382  		n += 1 + l + sovTopo(uint64(l))
  3383  	}
  3384  	return n
  3385  }
  3386  func (m *EqualFilter) Size() (n int) {
  3387  	if m == nil {
  3388  		return 0
  3389  	}
  3390  	var l int
  3391  	_ = l
  3392  	l = len(m.Value)
  3393  	if l > 0 {
  3394  		n += 1 + l + sovTopo(uint64(l))
  3395  	}
  3396  	return n
  3397  }
  3398  
  3399  func (m *InFilter) Size() (n int) {
  3400  	if m == nil {
  3401  		return 0
  3402  	}
  3403  	var l int
  3404  	_ = l
  3405  	if len(m.Values) > 0 {
  3406  		for _, s := range m.Values {
  3407  			l = len(s)
  3408  			n += 1 + l + sovTopo(uint64(l))
  3409  		}
  3410  	}
  3411  	return n
  3412  }
  3413  
  3414  func (m *NotFilter) Size() (n int) {
  3415  	if m == nil {
  3416  		return 0
  3417  	}
  3418  	var l int
  3419  	_ = l
  3420  	if m.Inner != nil {
  3421  		l = m.Inner.Size()
  3422  		n += 1 + l + sovTopo(uint64(l))
  3423  	}
  3424  	return n
  3425  }
  3426  
  3427  func (m *RelationFilter) Size() (n int) {
  3428  	if m == nil {
  3429  		return 0
  3430  	}
  3431  	var l int
  3432  	_ = l
  3433  	l = len(m.SrcId)
  3434  	if l > 0 {
  3435  		n += 1 + l + sovTopo(uint64(l))
  3436  	}
  3437  	l = len(m.RelationKind)
  3438  	if l > 0 {
  3439  		n += 1 + l + sovTopo(uint64(l))
  3440  	}
  3441  	l = len(m.TargetKind)
  3442  	if l > 0 {
  3443  		n += 1 + l + sovTopo(uint64(l))
  3444  	}
  3445  	if m.Scope != 0 {
  3446  		n += 1 + sovTopo(uint64(m.Scope))
  3447  	}
  3448  	l = len(m.TargetId)
  3449  	if l > 0 {
  3450  		n += 1 + l + sovTopo(uint64(l))
  3451  	}
  3452  	return n
  3453  }
  3454  
  3455  func (m *Filters) Size() (n int) {
  3456  	if m == nil {
  3457  		return 0
  3458  	}
  3459  	var l int
  3460  	_ = l
  3461  	if m.KindFilter != nil {
  3462  		l = m.KindFilter.Size()
  3463  		n += 1 + l + sovTopo(uint64(l))
  3464  	}
  3465  	if len(m.LabelFilters) > 0 {
  3466  		for _, e := range m.LabelFilters {
  3467  			l = e.Size()
  3468  			n += 1 + l + sovTopo(uint64(l))
  3469  		}
  3470  	}
  3471  	if m.RelationFilter != nil {
  3472  		l = m.RelationFilter.Size()
  3473  		n += 1 + l + sovTopo(uint64(l))
  3474  	}
  3475  	if len(m.ObjectTypes) > 0 {
  3476  		l = 0
  3477  		for _, e := range m.ObjectTypes {
  3478  			l += sovTopo(uint64(e))
  3479  		}
  3480  		n += 1 + sovTopo(uint64(l)) + l
  3481  	}
  3482  	if len(m.WithAspects) > 0 {
  3483  		for _, s := range m.WithAspects {
  3484  			l = len(s)
  3485  			n += 1 + l + sovTopo(uint64(l))
  3486  		}
  3487  	}
  3488  	return n
  3489  }
  3490  
  3491  func (m *QueryRequest) Size() (n int) {
  3492  	if m == nil {
  3493  		return 0
  3494  	}
  3495  	var l int
  3496  	_ = l
  3497  	if m.Filters != nil {
  3498  		l = m.Filters.Size()
  3499  		n += 1 + l + sovTopo(uint64(l))
  3500  	}
  3501  	return n
  3502  }
  3503  
  3504  func (m *QueryResponse) Size() (n int) {
  3505  	if m == nil {
  3506  		return 0
  3507  	}
  3508  	var l int
  3509  	_ = l
  3510  	if m.Object != nil {
  3511  		l = m.Object.Size()
  3512  		n += 1 + l + sovTopo(uint64(l))
  3513  	}
  3514  	return n
  3515  }
  3516  
  3517  func (m *ListRequest) Size() (n int) {
  3518  	if m == nil {
  3519  		return 0
  3520  	}
  3521  	var l int
  3522  	_ = l
  3523  	if m.Filters != nil {
  3524  		l = m.Filters.Size()
  3525  		n += 1 + l + sovTopo(uint64(l))
  3526  	}
  3527  	if m.SortOrder != 0 {
  3528  		n += 1 + sovTopo(uint64(m.SortOrder))
  3529  	}
  3530  	return n
  3531  }
  3532  
  3533  func (m *ListResponse) Size() (n int) {
  3534  	if m == nil {
  3535  		return 0
  3536  	}
  3537  	var l int
  3538  	_ = l
  3539  	if len(m.Objects) > 0 {
  3540  		for _, e := range m.Objects {
  3541  			l = e.Size()
  3542  			n += 1 + l + sovTopo(uint64(l))
  3543  		}
  3544  	}
  3545  	return n
  3546  }
  3547  
  3548  func (m *WatchRequest) Size() (n int) {
  3549  	if m == nil {
  3550  		return 0
  3551  	}
  3552  	var l int
  3553  	_ = l
  3554  	if m.Filters != nil {
  3555  		l = m.Filters.Size()
  3556  		n += 1 + l + sovTopo(uint64(l))
  3557  	}
  3558  	if m.Noreplay {
  3559  		n += 2
  3560  	}
  3561  	return n
  3562  }
  3563  
  3564  func (m *WatchResponse) Size() (n int) {
  3565  	if m == nil {
  3566  		return 0
  3567  	}
  3568  	var l int
  3569  	_ = l
  3570  	l = m.Event.Size()
  3571  	n += 1 + l + sovTopo(uint64(l))
  3572  	return n
  3573  }
  3574  
  3575  func (m *Object) Size() (n int) {
  3576  	if m == nil {
  3577  		return 0
  3578  	}
  3579  	var l int
  3580  	_ = l
  3581  	l = len(m.ID)
  3582  	if l > 0 {
  3583  		n += 1 + l + sovTopo(uint64(l))
  3584  	}
  3585  	if m.Revision != 0 {
  3586  		n += 1 + sovTopo(uint64(m.Revision))
  3587  	}
  3588  	if m.Type != 0 {
  3589  		n += 1 + sovTopo(uint64(m.Type))
  3590  	}
  3591  	if m.Obj != nil {
  3592  		n += m.Obj.Size()
  3593  	}
  3594  	if len(m.Aspects) > 0 {
  3595  		for k, v := range m.Aspects {
  3596  			_ = k
  3597  			_ = v
  3598  			l = 0
  3599  			if v != nil {
  3600  				l = v.Size()
  3601  				l += 1 + sovTopo(uint64(l))
  3602  			}
  3603  			mapEntrySize := 1 + len(k) + sovTopo(uint64(len(k))) + l
  3604  			n += mapEntrySize + 1 + sovTopo(uint64(mapEntrySize))
  3605  		}
  3606  	}
  3607  	if len(m.Labels) > 0 {
  3608  		for k, v := range m.Labels {
  3609  			_ = k
  3610  			_ = v
  3611  			mapEntrySize := 1 + len(k) + sovTopo(uint64(len(k))) + 1 + len(v) + sovTopo(uint64(len(v)))
  3612  			n += mapEntrySize + 1 + sovTopo(uint64(mapEntrySize))
  3613  		}
  3614  	}
  3615  	l = len(m.UUID)
  3616  	if l > 0 {
  3617  		n += 1 + l + sovTopo(uint64(l))
  3618  	}
  3619  	return n
  3620  }
  3621  
  3622  func (m *Object_Entity) Size() (n int) {
  3623  	if m == nil {
  3624  		return 0
  3625  	}
  3626  	var l int
  3627  	_ = l
  3628  	if m.Entity != nil {
  3629  		l = m.Entity.Size()
  3630  		n += 1 + l + sovTopo(uint64(l))
  3631  	}
  3632  	return n
  3633  }
  3634  func (m *Object_Relation) Size() (n int) {
  3635  	if m == nil {
  3636  		return 0
  3637  	}
  3638  	var l int
  3639  	_ = l
  3640  	if m.Relation != nil {
  3641  		l = m.Relation.Size()
  3642  		n += 1 + l + sovTopo(uint64(l))
  3643  	}
  3644  	return n
  3645  }
  3646  func (m *Object_Kind) Size() (n int) {
  3647  	if m == nil {
  3648  		return 0
  3649  	}
  3650  	var l int
  3651  	_ = l
  3652  	if m.Kind != nil {
  3653  		l = m.Kind.Size()
  3654  		n += 1 + l + sovTopo(uint64(l))
  3655  	}
  3656  	return n
  3657  }
  3658  func (m *Entity) Size() (n int) {
  3659  	if m == nil {
  3660  		return 0
  3661  	}
  3662  	var l int
  3663  	_ = l
  3664  	l = len(m.KindID)
  3665  	if l > 0 {
  3666  		n += 1 + l + sovTopo(uint64(l))
  3667  	}
  3668  	if len(m.SrcRelationIDs) > 0 {
  3669  		for _, s := range m.SrcRelationIDs {
  3670  			l = len(s)
  3671  			n += 1 + l + sovTopo(uint64(l))
  3672  		}
  3673  	}
  3674  	if len(m.TgtRelationIDs) > 0 {
  3675  		for _, s := range m.TgtRelationIDs {
  3676  			l = len(s)
  3677  			n += 1 + l + sovTopo(uint64(l))
  3678  		}
  3679  	}
  3680  	return n
  3681  }
  3682  
  3683  func (m *Relation) Size() (n int) {
  3684  	if m == nil {
  3685  		return 0
  3686  	}
  3687  	var l int
  3688  	_ = l
  3689  	l = len(m.KindID)
  3690  	if l > 0 {
  3691  		n += 1 + l + sovTopo(uint64(l))
  3692  	}
  3693  	l = len(m.SrcEntityID)
  3694  	if l > 0 {
  3695  		n += 1 + l + sovTopo(uint64(l))
  3696  	}
  3697  	l = len(m.TgtEntityID)
  3698  	if l > 0 {
  3699  		n += 1 + l + sovTopo(uint64(l))
  3700  	}
  3701  	return n
  3702  }
  3703  
  3704  func (m *Kind) Size() (n int) {
  3705  	if m == nil {
  3706  		return 0
  3707  	}
  3708  	var l int
  3709  	_ = l
  3710  	l = len(m.Name)
  3711  	if l > 0 {
  3712  		n += 1 + l + sovTopo(uint64(l))
  3713  	}
  3714  	return n
  3715  }
  3716  
  3717  func sovTopo(x uint64) (n int) {
  3718  	return (math_bits.Len64(x|1) + 6) / 7
  3719  }
  3720  func sozTopo(x uint64) (n int) {
  3721  	return sovTopo(uint64((x << 1) ^ uint64((int64(x) >> 63))))
  3722  }
  3723  func (m *Event) Unmarshal(dAtA []byte) error {
  3724  	l := len(dAtA)
  3725  	iNdEx := 0
  3726  	for iNdEx < l {
  3727  		preIndex := iNdEx
  3728  		var wire uint64
  3729  		for shift := uint(0); ; shift += 7 {
  3730  			if shift >= 64 {
  3731  				return ErrIntOverflowTopo
  3732  			}
  3733  			if iNdEx >= l {
  3734  				return io.ErrUnexpectedEOF
  3735  			}
  3736  			b := dAtA[iNdEx]
  3737  			iNdEx++
  3738  			wire |= uint64(b&0x7F) << shift
  3739  			if b < 0x80 {
  3740  				break
  3741  			}
  3742  		}
  3743  		fieldNum := int32(wire >> 3)
  3744  		wireType := int(wire & 0x7)
  3745  		if wireType == 4 {
  3746  			return fmt.Errorf("proto: Event: wiretype end group for non-group")
  3747  		}
  3748  		if fieldNum <= 0 {
  3749  			return fmt.Errorf("proto: Event: illegal tag %d (wire type %d)", fieldNum, wire)
  3750  		}
  3751  		switch fieldNum {
  3752  		case 1:
  3753  			if wireType != 0 {
  3754  				return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
  3755  			}
  3756  			m.Type = 0
  3757  			for shift := uint(0); ; shift += 7 {
  3758  				if shift >= 64 {
  3759  					return ErrIntOverflowTopo
  3760  				}
  3761  				if iNdEx >= l {
  3762  					return io.ErrUnexpectedEOF
  3763  				}
  3764  				b := dAtA[iNdEx]
  3765  				iNdEx++
  3766  				m.Type |= EventType(b&0x7F) << shift
  3767  				if b < 0x80 {
  3768  					break
  3769  				}
  3770  			}
  3771  		case 2:
  3772  			if wireType != 2 {
  3773  				return fmt.Errorf("proto: wrong wireType = %d for field Object", wireType)
  3774  			}
  3775  			var msglen int
  3776  			for shift := uint(0); ; shift += 7 {
  3777  				if shift >= 64 {
  3778  					return ErrIntOverflowTopo
  3779  				}
  3780  				if iNdEx >= l {
  3781  					return io.ErrUnexpectedEOF
  3782  				}
  3783  				b := dAtA[iNdEx]
  3784  				iNdEx++
  3785  				msglen |= int(b&0x7F) << shift
  3786  				if b < 0x80 {
  3787  					break
  3788  				}
  3789  			}
  3790  			if msglen < 0 {
  3791  				return ErrInvalidLengthTopo
  3792  			}
  3793  			postIndex := iNdEx + msglen
  3794  			if postIndex < 0 {
  3795  				return ErrInvalidLengthTopo
  3796  			}
  3797  			if postIndex > l {
  3798  				return io.ErrUnexpectedEOF
  3799  			}
  3800  			if err := m.Object.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3801  				return err
  3802  			}
  3803  			iNdEx = postIndex
  3804  		default:
  3805  			iNdEx = preIndex
  3806  			skippy, err := skipTopo(dAtA[iNdEx:])
  3807  			if err != nil {
  3808  				return err
  3809  			}
  3810  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  3811  				return ErrInvalidLengthTopo
  3812  			}
  3813  			if (iNdEx + skippy) > l {
  3814  				return io.ErrUnexpectedEOF
  3815  			}
  3816  			iNdEx += skippy
  3817  		}
  3818  	}
  3819  
  3820  	if iNdEx > l {
  3821  		return io.ErrUnexpectedEOF
  3822  	}
  3823  	return nil
  3824  }
  3825  func (m *CreateRequest) Unmarshal(dAtA []byte) error {
  3826  	l := len(dAtA)
  3827  	iNdEx := 0
  3828  	for iNdEx < l {
  3829  		preIndex := iNdEx
  3830  		var wire uint64
  3831  		for shift := uint(0); ; shift += 7 {
  3832  			if shift >= 64 {
  3833  				return ErrIntOverflowTopo
  3834  			}
  3835  			if iNdEx >= l {
  3836  				return io.ErrUnexpectedEOF
  3837  			}
  3838  			b := dAtA[iNdEx]
  3839  			iNdEx++
  3840  			wire |= uint64(b&0x7F) << shift
  3841  			if b < 0x80 {
  3842  				break
  3843  			}
  3844  		}
  3845  		fieldNum := int32(wire >> 3)
  3846  		wireType := int(wire & 0x7)
  3847  		if wireType == 4 {
  3848  			return fmt.Errorf("proto: CreateRequest: wiretype end group for non-group")
  3849  		}
  3850  		if fieldNum <= 0 {
  3851  			return fmt.Errorf("proto: CreateRequest: illegal tag %d (wire type %d)", fieldNum, wire)
  3852  		}
  3853  		switch fieldNum {
  3854  		case 1:
  3855  			if wireType != 2 {
  3856  				return fmt.Errorf("proto: wrong wireType = %d for field Object", wireType)
  3857  			}
  3858  			var msglen int
  3859  			for shift := uint(0); ; shift += 7 {
  3860  				if shift >= 64 {
  3861  					return ErrIntOverflowTopo
  3862  				}
  3863  				if iNdEx >= l {
  3864  					return io.ErrUnexpectedEOF
  3865  				}
  3866  				b := dAtA[iNdEx]
  3867  				iNdEx++
  3868  				msglen |= int(b&0x7F) << shift
  3869  				if b < 0x80 {
  3870  					break
  3871  				}
  3872  			}
  3873  			if msglen < 0 {
  3874  				return ErrInvalidLengthTopo
  3875  			}
  3876  			postIndex := iNdEx + msglen
  3877  			if postIndex < 0 {
  3878  				return ErrInvalidLengthTopo
  3879  			}
  3880  			if postIndex > l {
  3881  				return io.ErrUnexpectedEOF
  3882  			}
  3883  			if m.Object == nil {
  3884  				m.Object = &Object{}
  3885  			}
  3886  			if err := m.Object.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3887  				return err
  3888  			}
  3889  			iNdEx = postIndex
  3890  		default:
  3891  			iNdEx = preIndex
  3892  			skippy, err := skipTopo(dAtA[iNdEx:])
  3893  			if err != nil {
  3894  				return err
  3895  			}
  3896  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  3897  				return ErrInvalidLengthTopo
  3898  			}
  3899  			if (iNdEx + skippy) > l {
  3900  				return io.ErrUnexpectedEOF
  3901  			}
  3902  			iNdEx += skippy
  3903  		}
  3904  	}
  3905  
  3906  	if iNdEx > l {
  3907  		return io.ErrUnexpectedEOF
  3908  	}
  3909  	return nil
  3910  }
  3911  func (m *CreateResponse) Unmarshal(dAtA []byte) error {
  3912  	l := len(dAtA)
  3913  	iNdEx := 0
  3914  	for iNdEx < l {
  3915  		preIndex := iNdEx
  3916  		var wire uint64
  3917  		for shift := uint(0); ; shift += 7 {
  3918  			if shift >= 64 {
  3919  				return ErrIntOverflowTopo
  3920  			}
  3921  			if iNdEx >= l {
  3922  				return io.ErrUnexpectedEOF
  3923  			}
  3924  			b := dAtA[iNdEx]
  3925  			iNdEx++
  3926  			wire |= uint64(b&0x7F) << shift
  3927  			if b < 0x80 {
  3928  				break
  3929  			}
  3930  		}
  3931  		fieldNum := int32(wire >> 3)
  3932  		wireType := int(wire & 0x7)
  3933  		if wireType == 4 {
  3934  			return fmt.Errorf("proto: CreateResponse: wiretype end group for non-group")
  3935  		}
  3936  		if fieldNum <= 0 {
  3937  			return fmt.Errorf("proto: CreateResponse: illegal tag %d (wire type %d)", fieldNum, wire)
  3938  		}
  3939  		switch fieldNum {
  3940  		case 1:
  3941  			if wireType != 2 {
  3942  				return fmt.Errorf("proto: wrong wireType = %d for field Object", wireType)
  3943  			}
  3944  			var msglen int
  3945  			for shift := uint(0); ; shift += 7 {
  3946  				if shift >= 64 {
  3947  					return ErrIntOverflowTopo
  3948  				}
  3949  				if iNdEx >= l {
  3950  					return io.ErrUnexpectedEOF
  3951  				}
  3952  				b := dAtA[iNdEx]
  3953  				iNdEx++
  3954  				msglen |= int(b&0x7F) << shift
  3955  				if b < 0x80 {
  3956  					break
  3957  				}
  3958  			}
  3959  			if msglen < 0 {
  3960  				return ErrInvalidLengthTopo
  3961  			}
  3962  			postIndex := iNdEx + msglen
  3963  			if postIndex < 0 {
  3964  				return ErrInvalidLengthTopo
  3965  			}
  3966  			if postIndex > l {
  3967  				return io.ErrUnexpectedEOF
  3968  			}
  3969  			if m.Object == nil {
  3970  				m.Object = &Object{}
  3971  			}
  3972  			if err := m.Object.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3973  				return err
  3974  			}
  3975  			iNdEx = postIndex
  3976  		default:
  3977  			iNdEx = preIndex
  3978  			skippy, err := skipTopo(dAtA[iNdEx:])
  3979  			if err != nil {
  3980  				return err
  3981  			}
  3982  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  3983  				return ErrInvalidLengthTopo
  3984  			}
  3985  			if (iNdEx + skippy) > l {
  3986  				return io.ErrUnexpectedEOF
  3987  			}
  3988  			iNdEx += skippy
  3989  		}
  3990  	}
  3991  
  3992  	if iNdEx > l {
  3993  		return io.ErrUnexpectedEOF
  3994  	}
  3995  	return nil
  3996  }
  3997  func (m *GetRequest) Unmarshal(dAtA []byte) error {
  3998  	l := len(dAtA)
  3999  	iNdEx := 0
  4000  	for iNdEx < l {
  4001  		preIndex := iNdEx
  4002  		var wire uint64
  4003  		for shift := uint(0); ; shift += 7 {
  4004  			if shift >= 64 {
  4005  				return ErrIntOverflowTopo
  4006  			}
  4007  			if iNdEx >= l {
  4008  				return io.ErrUnexpectedEOF
  4009  			}
  4010  			b := dAtA[iNdEx]
  4011  			iNdEx++
  4012  			wire |= uint64(b&0x7F) << shift
  4013  			if b < 0x80 {
  4014  				break
  4015  			}
  4016  		}
  4017  		fieldNum := int32(wire >> 3)
  4018  		wireType := int(wire & 0x7)
  4019  		if wireType == 4 {
  4020  			return fmt.Errorf("proto: GetRequest: wiretype end group for non-group")
  4021  		}
  4022  		if fieldNum <= 0 {
  4023  			return fmt.Errorf("proto: GetRequest: illegal tag %d (wire type %d)", fieldNum, wire)
  4024  		}
  4025  		switch fieldNum {
  4026  		case 1:
  4027  			if wireType != 2 {
  4028  				return fmt.Errorf("proto: wrong wireType = %d for field ID", wireType)
  4029  			}
  4030  			var stringLen uint64
  4031  			for shift := uint(0); ; shift += 7 {
  4032  				if shift >= 64 {
  4033  					return ErrIntOverflowTopo
  4034  				}
  4035  				if iNdEx >= l {
  4036  					return io.ErrUnexpectedEOF
  4037  				}
  4038  				b := dAtA[iNdEx]
  4039  				iNdEx++
  4040  				stringLen |= uint64(b&0x7F) << shift
  4041  				if b < 0x80 {
  4042  					break
  4043  				}
  4044  			}
  4045  			intStringLen := int(stringLen)
  4046  			if intStringLen < 0 {
  4047  				return ErrInvalidLengthTopo
  4048  			}
  4049  			postIndex := iNdEx + intStringLen
  4050  			if postIndex < 0 {
  4051  				return ErrInvalidLengthTopo
  4052  			}
  4053  			if postIndex > l {
  4054  				return io.ErrUnexpectedEOF
  4055  			}
  4056  			m.ID = ID(dAtA[iNdEx:postIndex])
  4057  			iNdEx = postIndex
  4058  		default:
  4059  			iNdEx = preIndex
  4060  			skippy, err := skipTopo(dAtA[iNdEx:])
  4061  			if err != nil {
  4062  				return err
  4063  			}
  4064  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  4065  				return ErrInvalidLengthTopo
  4066  			}
  4067  			if (iNdEx + skippy) > l {
  4068  				return io.ErrUnexpectedEOF
  4069  			}
  4070  			iNdEx += skippy
  4071  		}
  4072  	}
  4073  
  4074  	if iNdEx > l {
  4075  		return io.ErrUnexpectedEOF
  4076  	}
  4077  	return nil
  4078  }
  4079  func (m *GetResponse) Unmarshal(dAtA []byte) error {
  4080  	l := len(dAtA)
  4081  	iNdEx := 0
  4082  	for iNdEx < l {
  4083  		preIndex := iNdEx
  4084  		var wire uint64
  4085  		for shift := uint(0); ; shift += 7 {
  4086  			if shift >= 64 {
  4087  				return ErrIntOverflowTopo
  4088  			}
  4089  			if iNdEx >= l {
  4090  				return io.ErrUnexpectedEOF
  4091  			}
  4092  			b := dAtA[iNdEx]
  4093  			iNdEx++
  4094  			wire |= uint64(b&0x7F) << shift
  4095  			if b < 0x80 {
  4096  				break
  4097  			}
  4098  		}
  4099  		fieldNum := int32(wire >> 3)
  4100  		wireType := int(wire & 0x7)
  4101  		if wireType == 4 {
  4102  			return fmt.Errorf("proto: GetResponse: wiretype end group for non-group")
  4103  		}
  4104  		if fieldNum <= 0 {
  4105  			return fmt.Errorf("proto: GetResponse: illegal tag %d (wire type %d)", fieldNum, wire)
  4106  		}
  4107  		switch fieldNum {
  4108  		case 1:
  4109  			if wireType != 2 {
  4110  				return fmt.Errorf("proto: wrong wireType = %d for field Object", wireType)
  4111  			}
  4112  			var msglen int
  4113  			for shift := uint(0); ; shift += 7 {
  4114  				if shift >= 64 {
  4115  					return ErrIntOverflowTopo
  4116  				}
  4117  				if iNdEx >= l {
  4118  					return io.ErrUnexpectedEOF
  4119  				}
  4120  				b := dAtA[iNdEx]
  4121  				iNdEx++
  4122  				msglen |= int(b&0x7F) << shift
  4123  				if b < 0x80 {
  4124  					break
  4125  				}
  4126  			}
  4127  			if msglen < 0 {
  4128  				return ErrInvalidLengthTopo
  4129  			}
  4130  			postIndex := iNdEx + msglen
  4131  			if postIndex < 0 {
  4132  				return ErrInvalidLengthTopo
  4133  			}
  4134  			if postIndex > l {
  4135  				return io.ErrUnexpectedEOF
  4136  			}
  4137  			if m.Object == nil {
  4138  				m.Object = &Object{}
  4139  			}
  4140  			if err := m.Object.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  4141  				return err
  4142  			}
  4143  			iNdEx = postIndex
  4144  		default:
  4145  			iNdEx = preIndex
  4146  			skippy, err := skipTopo(dAtA[iNdEx:])
  4147  			if err != nil {
  4148  				return err
  4149  			}
  4150  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  4151  				return ErrInvalidLengthTopo
  4152  			}
  4153  			if (iNdEx + skippy) > l {
  4154  				return io.ErrUnexpectedEOF
  4155  			}
  4156  			iNdEx += skippy
  4157  		}
  4158  	}
  4159  
  4160  	if iNdEx > l {
  4161  		return io.ErrUnexpectedEOF
  4162  	}
  4163  	return nil
  4164  }
  4165  func (m *UpdateRequest) Unmarshal(dAtA []byte) error {
  4166  	l := len(dAtA)
  4167  	iNdEx := 0
  4168  	for iNdEx < l {
  4169  		preIndex := iNdEx
  4170  		var wire uint64
  4171  		for shift := uint(0); ; shift += 7 {
  4172  			if shift >= 64 {
  4173  				return ErrIntOverflowTopo
  4174  			}
  4175  			if iNdEx >= l {
  4176  				return io.ErrUnexpectedEOF
  4177  			}
  4178  			b := dAtA[iNdEx]
  4179  			iNdEx++
  4180  			wire |= uint64(b&0x7F) << shift
  4181  			if b < 0x80 {
  4182  				break
  4183  			}
  4184  		}
  4185  		fieldNum := int32(wire >> 3)
  4186  		wireType := int(wire & 0x7)
  4187  		if wireType == 4 {
  4188  			return fmt.Errorf("proto: UpdateRequest: wiretype end group for non-group")
  4189  		}
  4190  		if fieldNum <= 0 {
  4191  			return fmt.Errorf("proto: UpdateRequest: illegal tag %d (wire type %d)", fieldNum, wire)
  4192  		}
  4193  		switch fieldNum {
  4194  		case 1:
  4195  			if wireType != 2 {
  4196  				return fmt.Errorf("proto: wrong wireType = %d for field Object", wireType)
  4197  			}
  4198  			var msglen int
  4199  			for shift := uint(0); ; shift += 7 {
  4200  				if shift >= 64 {
  4201  					return ErrIntOverflowTopo
  4202  				}
  4203  				if iNdEx >= l {
  4204  					return io.ErrUnexpectedEOF
  4205  				}
  4206  				b := dAtA[iNdEx]
  4207  				iNdEx++
  4208  				msglen |= int(b&0x7F) << shift
  4209  				if b < 0x80 {
  4210  					break
  4211  				}
  4212  			}
  4213  			if msglen < 0 {
  4214  				return ErrInvalidLengthTopo
  4215  			}
  4216  			postIndex := iNdEx + msglen
  4217  			if postIndex < 0 {
  4218  				return ErrInvalidLengthTopo
  4219  			}
  4220  			if postIndex > l {
  4221  				return io.ErrUnexpectedEOF
  4222  			}
  4223  			if m.Object == nil {
  4224  				m.Object = &Object{}
  4225  			}
  4226  			if err := m.Object.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  4227  				return err
  4228  			}
  4229  			iNdEx = postIndex
  4230  		default:
  4231  			iNdEx = preIndex
  4232  			skippy, err := skipTopo(dAtA[iNdEx:])
  4233  			if err != nil {
  4234  				return err
  4235  			}
  4236  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  4237  				return ErrInvalidLengthTopo
  4238  			}
  4239  			if (iNdEx + skippy) > l {
  4240  				return io.ErrUnexpectedEOF
  4241  			}
  4242  			iNdEx += skippy
  4243  		}
  4244  	}
  4245  
  4246  	if iNdEx > l {
  4247  		return io.ErrUnexpectedEOF
  4248  	}
  4249  	return nil
  4250  }
  4251  func (m *UpdateResponse) Unmarshal(dAtA []byte) error {
  4252  	l := len(dAtA)
  4253  	iNdEx := 0
  4254  	for iNdEx < l {
  4255  		preIndex := iNdEx
  4256  		var wire uint64
  4257  		for shift := uint(0); ; shift += 7 {
  4258  			if shift >= 64 {
  4259  				return ErrIntOverflowTopo
  4260  			}
  4261  			if iNdEx >= l {
  4262  				return io.ErrUnexpectedEOF
  4263  			}
  4264  			b := dAtA[iNdEx]
  4265  			iNdEx++
  4266  			wire |= uint64(b&0x7F) << shift
  4267  			if b < 0x80 {
  4268  				break
  4269  			}
  4270  		}
  4271  		fieldNum := int32(wire >> 3)
  4272  		wireType := int(wire & 0x7)
  4273  		if wireType == 4 {
  4274  			return fmt.Errorf("proto: UpdateResponse: wiretype end group for non-group")
  4275  		}
  4276  		if fieldNum <= 0 {
  4277  			return fmt.Errorf("proto: UpdateResponse: illegal tag %d (wire type %d)", fieldNum, wire)
  4278  		}
  4279  		switch fieldNum {
  4280  		case 1:
  4281  			if wireType != 2 {
  4282  				return fmt.Errorf("proto: wrong wireType = %d for field Object", wireType)
  4283  			}
  4284  			var msglen int
  4285  			for shift := uint(0); ; shift += 7 {
  4286  				if shift >= 64 {
  4287  					return ErrIntOverflowTopo
  4288  				}
  4289  				if iNdEx >= l {
  4290  					return io.ErrUnexpectedEOF
  4291  				}
  4292  				b := dAtA[iNdEx]
  4293  				iNdEx++
  4294  				msglen |= int(b&0x7F) << shift
  4295  				if b < 0x80 {
  4296  					break
  4297  				}
  4298  			}
  4299  			if msglen < 0 {
  4300  				return ErrInvalidLengthTopo
  4301  			}
  4302  			postIndex := iNdEx + msglen
  4303  			if postIndex < 0 {
  4304  				return ErrInvalidLengthTopo
  4305  			}
  4306  			if postIndex > l {
  4307  				return io.ErrUnexpectedEOF
  4308  			}
  4309  			if m.Object == nil {
  4310  				m.Object = &Object{}
  4311  			}
  4312  			if err := m.Object.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  4313  				return err
  4314  			}
  4315  			iNdEx = postIndex
  4316  		default:
  4317  			iNdEx = preIndex
  4318  			skippy, err := skipTopo(dAtA[iNdEx:])
  4319  			if err != nil {
  4320  				return err
  4321  			}
  4322  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  4323  				return ErrInvalidLengthTopo
  4324  			}
  4325  			if (iNdEx + skippy) > l {
  4326  				return io.ErrUnexpectedEOF
  4327  			}
  4328  			iNdEx += skippy
  4329  		}
  4330  	}
  4331  
  4332  	if iNdEx > l {
  4333  		return io.ErrUnexpectedEOF
  4334  	}
  4335  	return nil
  4336  }
  4337  func (m *DeleteRequest) Unmarshal(dAtA []byte) error {
  4338  	l := len(dAtA)
  4339  	iNdEx := 0
  4340  	for iNdEx < l {
  4341  		preIndex := iNdEx
  4342  		var wire uint64
  4343  		for shift := uint(0); ; shift += 7 {
  4344  			if shift >= 64 {
  4345  				return ErrIntOverflowTopo
  4346  			}
  4347  			if iNdEx >= l {
  4348  				return io.ErrUnexpectedEOF
  4349  			}
  4350  			b := dAtA[iNdEx]
  4351  			iNdEx++
  4352  			wire |= uint64(b&0x7F) << shift
  4353  			if b < 0x80 {
  4354  				break
  4355  			}
  4356  		}
  4357  		fieldNum := int32(wire >> 3)
  4358  		wireType := int(wire & 0x7)
  4359  		if wireType == 4 {
  4360  			return fmt.Errorf("proto: DeleteRequest: wiretype end group for non-group")
  4361  		}
  4362  		if fieldNum <= 0 {
  4363  			return fmt.Errorf("proto: DeleteRequest: illegal tag %d (wire type %d)", fieldNum, wire)
  4364  		}
  4365  		switch fieldNum {
  4366  		case 1:
  4367  			if wireType != 2 {
  4368  				return fmt.Errorf("proto: wrong wireType = %d for field ID", wireType)
  4369  			}
  4370  			var stringLen uint64
  4371  			for shift := uint(0); ; shift += 7 {
  4372  				if shift >= 64 {
  4373  					return ErrIntOverflowTopo
  4374  				}
  4375  				if iNdEx >= l {
  4376  					return io.ErrUnexpectedEOF
  4377  				}
  4378  				b := dAtA[iNdEx]
  4379  				iNdEx++
  4380  				stringLen |= uint64(b&0x7F) << shift
  4381  				if b < 0x80 {
  4382  					break
  4383  				}
  4384  			}
  4385  			intStringLen := int(stringLen)
  4386  			if intStringLen < 0 {
  4387  				return ErrInvalidLengthTopo
  4388  			}
  4389  			postIndex := iNdEx + intStringLen
  4390  			if postIndex < 0 {
  4391  				return ErrInvalidLengthTopo
  4392  			}
  4393  			if postIndex > l {
  4394  				return io.ErrUnexpectedEOF
  4395  			}
  4396  			m.ID = ID(dAtA[iNdEx:postIndex])
  4397  			iNdEx = postIndex
  4398  		case 2:
  4399  			if wireType != 0 {
  4400  				return fmt.Errorf("proto: wrong wireType = %d for field Revision", wireType)
  4401  			}
  4402  			m.Revision = 0
  4403  			for shift := uint(0); ; shift += 7 {
  4404  				if shift >= 64 {
  4405  					return ErrIntOverflowTopo
  4406  				}
  4407  				if iNdEx >= l {
  4408  					return io.ErrUnexpectedEOF
  4409  				}
  4410  				b := dAtA[iNdEx]
  4411  				iNdEx++
  4412  				m.Revision |= Revision(b&0x7F) << shift
  4413  				if b < 0x80 {
  4414  					break
  4415  				}
  4416  			}
  4417  		default:
  4418  			iNdEx = preIndex
  4419  			skippy, err := skipTopo(dAtA[iNdEx:])
  4420  			if err != nil {
  4421  				return err
  4422  			}
  4423  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  4424  				return ErrInvalidLengthTopo
  4425  			}
  4426  			if (iNdEx + skippy) > l {
  4427  				return io.ErrUnexpectedEOF
  4428  			}
  4429  			iNdEx += skippy
  4430  		}
  4431  	}
  4432  
  4433  	if iNdEx > l {
  4434  		return io.ErrUnexpectedEOF
  4435  	}
  4436  	return nil
  4437  }
  4438  func (m *DeleteResponse) Unmarshal(dAtA []byte) error {
  4439  	l := len(dAtA)
  4440  	iNdEx := 0
  4441  	for iNdEx < l {
  4442  		preIndex := iNdEx
  4443  		var wire uint64
  4444  		for shift := uint(0); ; shift += 7 {
  4445  			if shift >= 64 {
  4446  				return ErrIntOverflowTopo
  4447  			}
  4448  			if iNdEx >= l {
  4449  				return io.ErrUnexpectedEOF
  4450  			}
  4451  			b := dAtA[iNdEx]
  4452  			iNdEx++
  4453  			wire |= uint64(b&0x7F) << shift
  4454  			if b < 0x80 {
  4455  				break
  4456  			}
  4457  		}
  4458  		fieldNum := int32(wire >> 3)
  4459  		wireType := int(wire & 0x7)
  4460  		if wireType == 4 {
  4461  			return fmt.Errorf("proto: DeleteResponse: wiretype end group for non-group")
  4462  		}
  4463  		if fieldNum <= 0 {
  4464  			return fmt.Errorf("proto: DeleteResponse: illegal tag %d (wire type %d)", fieldNum, wire)
  4465  		}
  4466  		switch fieldNum {
  4467  		default:
  4468  			iNdEx = preIndex
  4469  			skippy, err := skipTopo(dAtA[iNdEx:])
  4470  			if err != nil {
  4471  				return err
  4472  			}
  4473  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  4474  				return ErrInvalidLengthTopo
  4475  			}
  4476  			if (iNdEx + skippy) > l {
  4477  				return io.ErrUnexpectedEOF
  4478  			}
  4479  			iNdEx += skippy
  4480  		}
  4481  	}
  4482  
  4483  	if iNdEx > l {
  4484  		return io.ErrUnexpectedEOF
  4485  	}
  4486  	return nil
  4487  }
  4488  func (m *Filter) Unmarshal(dAtA []byte) error {
  4489  	l := len(dAtA)
  4490  	iNdEx := 0
  4491  	for iNdEx < l {
  4492  		preIndex := iNdEx
  4493  		var wire uint64
  4494  		for shift := uint(0); ; shift += 7 {
  4495  			if shift >= 64 {
  4496  				return ErrIntOverflowTopo
  4497  			}
  4498  			if iNdEx >= l {
  4499  				return io.ErrUnexpectedEOF
  4500  			}
  4501  			b := dAtA[iNdEx]
  4502  			iNdEx++
  4503  			wire |= uint64(b&0x7F) << shift
  4504  			if b < 0x80 {
  4505  				break
  4506  			}
  4507  		}
  4508  		fieldNum := int32(wire >> 3)
  4509  		wireType := int(wire & 0x7)
  4510  		if wireType == 4 {
  4511  			return fmt.Errorf("proto: Filter: wiretype end group for non-group")
  4512  		}
  4513  		if fieldNum <= 0 {
  4514  			return fmt.Errorf("proto: Filter: illegal tag %d (wire type %d)", fieldNum, wire)
  4515  		}
  4516  		switch fieldNum {
  4517  		case 1:
  4518  			if wireType != 2 {
  4519  				return fmt.Errorf("proto: wrong wireType = %d for field Equal_", wireType)
  4520  			}
  4521  			var msglen int
  4522  			for shift := uint(0); ; shift += 7 {
  4523  				if shift >= 64 {
  4524  					return ErrIntOverflowTopo
  4525  				}
  4526  				if iNdEx >= l {
  4527  					return io.ErrUnexpectedEOF
  4528  				}
  4529  				b := dAtA[iNdEx]
  4530  				iNdEx++
  4531  				msglen |= int(b&0x7F) << shift
  4532  				if b < 0x80 {
  4533  					break
  4534  				}
  4535  			}
  4536  			if msglen < 0 {
  4537  				return ErrInvalidLengthTopo
  4538  			}
  4539  			postIndex := iNdEx + msglen
  4540  			if postIndex < 0 {
  4541  				return ErrInvalidLengthTopo
  4542  			}
  4543  			if postIndex > l {
  4544  				return io.ErrUnexpectedEOF
  4545  			}
  4546  			v := &EqualFilter{}
  4547  			if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  4548  				return err
  4549  			}
  4550  			m.Filter = &Filter_Equal_{v}
  4551  			iNdEx = postIndex
  4552  		case 2:
  4553  			if wireType != 2 {
  4554  				return fmt.Errorf("proto: wrong wireType = %d for field Not", wireType)
  4555  			}
  4556  			var msglen int
  4557  			for shift := uint(0); ; shift += 7 {
  4558  				if shift >= 64 {
  4559  					return ErrIntOverflowTopo
  4560  				}
  4561  				if iNdEx >= l {
  4562  					return io.ErrUnexpectedEOF
  4563  				}
  4564  				b := dAtA[iNdEx]
  4565  				iNdEx++
  4566  				msglen |= int(b&0x7F) << shift
  4567  				if b < 0x80 {
  4568  					break
  4569  				}
  4570  			}
  4571  			if msglen < 0 {
  4572  				return ErrInvalidLengthTopo
  4573  			}
  4574  			postIndex := iNdEx + msglen
  4575  			if postIndex < 0 {
  4576  				return ErrInvalidLengthTopo
  4577  			}
  4578  			if postIndex > l {
  4579  				return io.ErrUnexpectedEOF
  4580  			}
  4581  			v := &NotFilter{}
  4582  			if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  4583  				return err
  4584  			}
  4585  			m.Filter = &Filter_Not{v}
  4586  			iNdEx = postIndex
  4587  		case 3:
  4588  			if wireType != 2 {
  4589  				return fmt.Errorf("proto: wrong wireType = %d for field In", wireType)
  4590  			}
  4591  			var msglen int
  4592  			for shift := uint(0); ; shift += 7 {
  4593  				if shift >= 64 {
  4594  					return ErrIntOverflowTopo
  4595  				}
  4596  				if iNdEx >= l {
  4597  					return io.ErrUnexpectedEOF
  4598  				}
  4599  				b := dAtA[iNdEx]
  4600  				iNdEx++
  4601  				msglen |= int(b&0x7F) << shift
  4602  				if b < 0x80 {
  4603  					break
  4604  				}
  4605  			}
  4606  			if msglen < 0 {
  4607  				return ErrInvalidLengthTopo
  4608  			}
  4609  			postIndex := iNdEx + msglen
  4610  			if postIndex < 0 {
  4611  				return ErrInvalidLengthTopo
  4612  			}
  4613  			if postIndex > l {
  4614  				return io.ErrUnexpectedEOF
  4615  			}
  4616  			v := &InFilter{}
  4617  			if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  4618  				return err
  4619  			}
  4620  			m.Filter = &Filter_In{v}
  4621  			iNdEx = postIndex
  4622  		case 4:
  4623  			if wireType != 2 {
  4624  				return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType)
  4625  			}
  4626  			var stringLen uint64
  4627  			for shift := uint(0); ; shift += 7 {
  4628  				if shift >= 64 {
  4629  					return ErrIntOverflowTopo
  4630  				}
  4631  				if iNdEx >= l {
  4632  					return io.ErrUnexpectedEOF
  4633  				}
  4634  				b := dAtA[iNdEx]
  4635  				iNdEx++
  4636  				stringLen |= uint64(b&0x7F) << shift
  4637  				if b < 0x80 {
  4638  					break
  4639  				}
  4640  			}
  4641  			intStringLen := int(stringLen)
  4642  			if intStringLen < 0 {
  4643  				return ErrInvalidLengthTopo
  4644  			}
  4645  			postIndex := iNdEx + intStringLen
  4646  			if postIndex < 0 {
  4647  				return ErrInvalidLengthTopo
  4648  			}
  4649  			if postIndex > l {
  4650  				return io.ErrUnexpectedEOF
  4651  			}
  4652  			m.Key = string(dAtA[iNdEx:postIndex])
  4653  			iNdEx = postIndex
  4654  		default:
  4655  			iNdEx = preIndex
  4656  			skippy, err := skipTopo(dAtA[iNdEx:])
  4657  			if err != nil {
  4658  				return err
  4659  			}
  4660  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  4661  				return ErrInvalidLengthTopo
  4662  			}
  4663  			if (iNdEx + skippy) > l {
  4664  				return io.ErrUnexpectedEOF
  4665  			}
  4666  			iNdEx += skippy
  4667  		}
  4668  	}
  4669  
  4670  	if iNdEx > l {
  4671  		return io.ErrUnexpectedEOF
  4672  	}
  4673  	return nil
  4674  }
  4675  func (m *EqualFilter) Unmarshal(dAtA []byte) error {
  4676  	l := len(dAtA)
  4677  	iNdEx := 0
  4678  	for iNdEx < l {
  4679  		preIndex := iNdEx
  4680  		var wire uint64
  4681  		for shift := uint(0); ; shift += 7 {
  4682  			if shift >= 64 {
  4683  				return ErrIntOverflowTopo
  4684  			}
  4685  			if iNdEx >= l {
  4686  				return io.ErrUnexpectedEOF
  4687  			}
  4688  			b := dAtA[iNdEx]
  4689  			iNdEx++
  4690  			wire |= uint64(b&0x7F) << shift
  4691  			if b < 0x80 {
  4692  				break
  4693  			}
  4694  		}
  4695  		fieldNum := int32(wire >> 3)
  4696  		wireType := int(wire & 0x7)
  4697  		if wireType == 4 {
  4698  			return fmt.Errorf("proto: EqualFilter: wiretype end group for non-group")
  4699  		}
  4700  		if fieldNum <= 0 {
  4701  			return fmt.Errorf("proto: EqualFilter: illegal tag %d (wire type %d)", fieldNum, wire)
  4702  		}
  4703  		switch fieldNum {
  4704  		case 1:
  4705  			if wireType != 2 {
  4706  				return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
  4707  			}
  4708  			var stringLen uint64
  4709  			for shift := uint(0); ; shift += 7 {
  4710  				if shift >= 64 {
  4711  					return ErrIntOverflowTopo
  4712  				}
  4713  				if iNdEx >= l {
  4714  					return io.ErrUnexpectedEOF
  4715  				}
  4716  				b := dAtA[iNdEx]
  4717  				iNdEx++
  4718  				stringLen |= uint64(b&0x7F) << shift
  4719  				if b < 0x80 {
  4720  					break
  4721  				}
  4722  			}
  4723  			intStringLen := int(stringLen)
  4724  			if intStringLen < 0 {
  4725  				return ErrInvalidLengthTopo
  4726  			}
  4727  			postIndex := iNdEx + intStringLen
  4728  			if postIndex < 0 {
  4729  				return ErrInvalidLengthTopo
  4730  			}
  4731  			if postIndex > l {
  4732  				return io.ErrUnexpectedEOF
  4733  			}
  4734  			m.Value = string(dAtA[iNdEx:postIndex])
  4735  			iNdEx = postIndex
  4736  		default:
  4737  			iNdEx = preIndex
  4738  			skippy, err := skipTopo(dAtA[iNdEx:])
  4739  			if err != nil {
  4740  				return err
  4741  			}
  4742  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  4743  				return ErrInvalidLengthTopo
  4744  			}
  4745  			if (iNdEx + skippy) > l {
  4746  				return io.ErrUnexpectedEOF
  4747  			}
  4748  			iNdEx += skippy
  4749  		}
  4750  	}
  4751  
  4752  	if iNdEx > l {
  4753  		return io.ErrUnexpectedEOF
  4754  	}
  4755  	return nil
  4756  }
  4757  func (m *InFilter) Unmarshal(dAtA []byte) error {
  4758  	l := len(dAtA)
  4759  	iNdEx := 0
  4760  	for iNdEx < l {
  4761  		preIndex := iNdEx
  4762  		var wire uint64
  4763  		for shift := uint(0); ; shift += 7 {
  4764  			if shift >= 64 {
  4765  				return ErrIntOverflowTopo
  4766  			}
  4767  			if iNdEx >= l {
  4768  				return io.ErrUnexpectedEOF
  4769  			}
  4770  			b := dAtA[iNdEx]
  4771  			iNdEx++
  4772  			wire |= uint64(b&0x7F) << shift
  4773  			if b < 0x80 {
  4774  				break
  4775  			}
  4776  		}
  4777  		fieldNum := int32(wire >> 3)
  4778  		wireType := int(wire & 0x7)
  4779  		if wireType == 4 {
  4780  			return fmt.Errorf("proto: InFilter: wiretype end group for non-group")
  4781  		}
  4782  		if fieldNum <= 0 {
  4783  			return fmt.Errorf("proto: InFilter: illegal tag %d (wire type %d)", fieldNum, wire)
  4784  		}
  4785  		switch fieldNum {
  4786  		case 1:
  4787  			if wireType != 2 {
  4788  				return fmt.Errorf("proto: wrong wireType = %d for field Values", wireType)
  4789  			}
  4790  			var stringLen uint64
  4791  			for shift := uint(0); ; shift += 7 {
  4792  				if shift >= 64 {
  4793  					return ErrIntOverflowTopo
  4794  				}
  4795  				if iNdEx >= l {
  4796  					return io.ErrUnexpectedEOF
  4797  				}
  4798  				b := dAtA[iNdEx]
  4799  				iNdEx++
  4800  				stringLen |= uint64(b&0x7F) << shift
  4801  				if b < 0x80 {
  4802  					break
  4803  				}
  4804  			}
  4805  			intStringLen := int(stringLen)
  4806  			if intStringLen < 0 {
  4807  				return ErrInvalidLengthTopo
  4808  			}
  4809  			postIndex := iNdEx + intStringLen
  4810  			if postIndex < 0 {
  4811  				return ErrInvalidLengthTopo
  4812  			}
  4813  			if postIndex > l {
  4814  				return io.ErrUnexpectedEOF
  4815  			}
  4816  			m.Values = append(m.Values, string(dAtA[iNdEx:postIndex]))
  4817  			iNdEx = postIndex
  4818  		default:
  4819  			iNdEx = preIndex
  4820  			skippy, err := skipTopo(dAtA[iNdEx:])
  4821  			if err != nil {
  4822  				return err
  4823  			}
  4824  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  4825  				return ErrInvalidLengthTopo
  4826  			}
  4827  			if (iNdEx + skippy) > l {
  4828  				return io.ErrUnexpectedEOF
  4829  			}
  4830  			iNdEx += skippy
  4831  		}
  4832  	}
  4833  
  4834  	if iNdEx > l {
  4835  		return io.ErrUnexpectedEOF
  4836  	}
  4837  	return nil
  4838  }
  4839  func (m *NotFilter) Unmarshal(dAtA []byte) error {
  4840  	l := len(dAtA)
  4841  	iNdEx := 0
  4842  	for iNdEx < l {
  4843  		preIndex := iNdEx
  4844  		var wire uint64
  4845  		for shift := uint(0); ; shift += 7 {
  4846  			if shift >= 64 {
  4847  				return ErrIntOverflowTopo
  4848  			}
  4849  			if iNdEx >= l {
  4850  				return io.ErrUnexpectedEOF
  4851  			}
  4852  			b := dAtA[iNdEx]
  4853  			iNdEx++
  4854  			wire |= uint64(b&0x7F) << shift
  4855  			if b < 0x80 {
  4856  				break
  4857  			}
  4858  		}
  4859  		fieldNum := int32(wire >> 3)
  4860  		wireType := int(wire & 0x7)
  4861  		if wireType == 4 {
  4862  			return fmt.Errorf("proto: NotFilter: wiretype end group for non-group")
  4863  		}
  4864  		if fieldNum <= 0 {
  4865  			return fmt.Errorf("proto: NotFilter: illegal tag %d (wire type %d)", fieldNum, wire)
  4866  		}
  4867  		switch fieldNum {
  4868  		case 1:
  4869  			if wireType != 2 {
  4870  				return fmt.Errorf("proto: wrong wireType = %d for field Inner", wireType)
  4871  			}
  4872  			var msglen int
  4873  			for shift := uint(0); ; shift += 7 {
  4874  				if shift >= 64 {
  4875  					return ErrIntOverflowTopo
  4876  				}
  4877  				if iNdEx >= l {
  4878  					return io.ErrUnexpectedEOF
  4879  				}
  4880  				b := dAtA[iNdEx]
  4881  				iNdEx++
  4882  				msglen |= int(b&0x7F) << shift
  4883  				if b < 0x80 {
  4884  					break
  4885  				}
  4886  			}
  4887  			if msglen < 0 {
  4888  				return ErrInvalidLengthTopo
  4889  			}
  4890  			postIndex := iNdEx + msglen
  4891  			if postIndex < 0 {
  4892  				return ErrInvalidLengthTopo
  4893  			}
  4894  			if postIndex > l {
  4895  				return io.ErrUnexpectedEOF
  4896  			}
  4897  			if m.Inner == nil {
  4898  				m.Inner = &Filter{}
  4899  			}
  4900  			if err := m.Inner.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  4901  				return err
  4902  			}
  4903  			iNdEx = postIndex
  4904  		default:
  4905  			iNdEx = preIndex
  4906  			skippy, err := skipTopo(dAtA[iNdEx:])
  4907  			if err != nil {
  4908  				return err
  4909  			}
  4910  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  4911  				return ErrInvalidLengthTopo
  4912  			}
  4913  			if (iNdEx + skippy) > l {
  4914  				return io.ErrUnexpectedEOF
  4915  			}
  4916  			iNdEx += skippy
  4917  		}
  4918  	}
  4919  
  4920  	if iNdEx > l {
  4921  		return io.ErrUnexpectedEOF
  4922  	}
  4923  	return nil
  4924  }
  4925  func (m *RelationFilter) Unmarshal(dAtA []byte) error {
  4926  	l := len(dAtA)
  4927  	iNdEx := 0
  4928  	for iNdEx < l {
  4929  		preIndex := iNdEx
  4930  		var wire uint64
  4931  		for shift := uint(0); ; shift += 7 {
  4932  			if shift >= 64 {
  4933  				return ErrIntOverflowTopo
  4934  			}
  4935  			if iNdEx >= l {
  4936  				return io.ErrUnexpectedEOF
  4937  			}
  4938  			b := dAtA[iNdEx]
  4939  			iNdEx++
  4940  			wire |= uint64(b&0x7F) << shift
  4941  			if b < 0x80 {
  4942  				break
  4943  			}
  4944  		}
  4945  		fieldNum := int32(wire >> 3)
  4946  		wireType := int(wire & 0x7)
  4947  		if wireType == 4 {
  4948  			return fmt.Errorf("proto: RelationFilter: wiretype end group for non-group")
  4949  		}
  4950  		if fieldNum <= 0 {
  4951  			return fmt.Errorf("proto: RelationFilter: illegal tag %d (wire type %d)", fieldNum, wire)
  4952  		}
  4953  		switch fieldNum {
  4954  		case 1:
  4955  			if wireType != 2 {
  4956  				return fmt.Errorf("proto: wrong wireType = %d for field SrcId", wireType)
  4957  			}
  4958  			var stringLen uint64
  4959  			for shift := uint(0); ; shift += 7 {
  4960  				if shift >= 64 {
  4961  					return ErrIntOverflowTopo
  4962  				}
  4963  				if iNdEx >= l {
  4964  					return io.ErrUnexpectedEOF
  4965  				}
  4966  				b := dAtA[iNdEx]
  4967  				iNdEx++
  4968  				stringLen |= uint64(b&0x7F) << shift
  4969  				if b < 0x80 {
  4970  					break
  4971  				}
  4972  			}
  4973  			intStringLen := int(stringLen)
  4974  			if intStringLen < 0 {
  4975  				return ErrInvalidLengthTopo
  4976  			}
  4977  			postIndex := iNdEx + intStringLen
  4978  			if postIndex < 0 {
  4979  				return ErrInvalidLengthTopo
  4980  			}
  4981  			if postIndex > l {
  4982  				return io.ErrUnexpectedEOF
  4983  			}
  4984  			m.SrcId = string(dAtA[iNdEx:postIndex])
  4985  			iNdEx = postIndex
  4986  		case 2:
  4987  			if wireType != 2 {
  4988  				return fmt.Errorf("proto: wrong wireType = %d for field RelationKind", wireType)
  4989  			}
  4990  			var stringLen uint64
  4991  			for shift := uint(0); ; shift += 7 {
  4992  				if shift >= 64 {
  4993  					return ErrIntOverflowTopo
  4994  				}
  4995  				if iNdEx >= l {
  4996  					return io.ErrUnexpectedEOF
  4997  				}
  4998  				b := dAtA[iNdEx]
  4999  				iNdEx++
  5000  				stringLen |= uint64(b&0x7F) << shift
  5001  				if b < 0x80 {
  5002  					break
  5003  				}
  5004  			}
  5005  			intStringLen := int(stringLen)
  5006  			if intStringLen < 0 {
  5007  				return ErrInvalidLengthTopo
  5008  			}
  5009  			postIndex := iNdEx + intStringLen
  5010  			if postIndex < 0 {
  5011  				return ErrInvalidLengthTopo
  5012  			}
  5013  			if postIndex > l {
  5014  				return io.ErrUnexpectedEOF
  5015  			}
  5016  			m.RelationKind = string(dAtA[iNdEx:postIndex])
  5017  			iNdEx = postIndex
  5018  		case 3:
  5019  			if wireType != 2 {
  5020  				return fmt.Errorf("proto: wrong wireType = %d for field TargetKind", wireType)
  5021  			}
  5022  			var stringLen uint64
  5023  			for shift := uint(0); ; shift += 7 {
  5024  				if shift >= 64 {
  5025  					return ErrIntOverflowTopo
  5026  				}
  5027  				if iNdEx >= l {
  5028  					return io.ErrUnexpectedEOF
  5029  				}
  5030  				b := dAtA[iNdEx]
  5031  				iNdEx++
  5032  				stringLen |= uint64(b&0x7F) << shift
  5033  				if b < 0x80 {
  5034  					break
  5035  				}
  5036  			}
  5037  			intStringLen := int(stringLen)
  5038  			if intStringLen < 0 {
  5039  				return ErrInvalidLengthTopo
  5040  			}
  5041  			postIndex := iNdEx + intStringLen
  5042  			if postIndex < 0 {
  5043  				return ErrInvalidLengthTopo
  5044  			}
  5045  			if postIndex > l {
  5046  				return io.ErrUnexpectedEOF
  5047  			}
  5048  			m.TargetKind = string(dAtA[iNdEx:postIndex])
  5049  			iNdEx = postIndex
  5050  		case 4:
  5051  			if wireType != 0 {
  5052  				return fmt.Errorf("proto: wrong wireType = %d for field Scope", wireType)
  5053  			}
  5054  			m.Scope = 0
  5055  			for shift := uint(0); ; shift += 7 {
  5056  				if shift >= 64 {
  5057  					return ErrIntOverflowTopo
  5058  				}
  5059  				if iNdEx >= l {
  5060  					return io.ErrUnexpectedEOF
  5061  				}
  5062  				b := dAtA[iNdEx]
  5063  				iNdEx++
  5064  				m.Scope |= RelationFilterScope(b&0x7F) << shift
  5065  				if b < 0x80 {
  5066  					break
  5067  				}
  5068  			}
  5069  		case 5:
  5070  			if wireType != 2 {
  5071  				return fmt.Errorf("proto: wrong wireType = %d for field TargetId", wireType)
  5072  			}
  5073  			var stringLen uint64
  5074  			for shift := uint(0); ; shift += 7 {
  5075  				if shift >= 64 {
  5076  					return ErrIntOverflowTopo
  5077  				}
  5078  				if iNdEx >= l {
  5079  					return io.ErrUnexpectedEOF
  5080  				}
  5081  				b := dAtA[iNdEx]
  5082  				iNdEx++
  5083  				stringLen |= uint64(b&0x7F) << shift
  5084  				if b < 0x80 {
  5085  					break
  5086  				}
  5087  			}
  5088  			intStringLen := int(stringLen)
  5089  			if intStringLen < 0 {
  5090  				return ErrInvalidLengthTopo
  5091  			}
  5092  			postIndex := iNdEx + intStringLen
  5093  			if postIndex < 0 {
  5094  				return ErrInvalidLengthTopo
  5095  			}
  5096  			if postIndex > l {
  5097  				return io.ErrUnexpectedEOF
  5098  			}
  5099  			m.TargetId = string(dAtA[iNdEx:postIndex])
  5100  			iNdEx = postIndex
  5101  		default:
  5102  			iNdEx = preIndex
  5103  			skippy, err := skipTopo(dAtA[iNdEx:])
  5104  			if err != nil {
  5105  				return err
  5106  			}
  5107  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  5108  				return ErrInvalidLengthTopo
  5109  			}
  5110  			if (iNdEx + skippy) > l {
  5111  				return io.ErrUnexpectedEOF
  5112  			}
  5113  			iNdEx += skippy
  5114  		}
  5115  	}
  5116  
  5117  	if iNdEx > l {
  5118  		return io.ErrUnexpectedEOF
  5119  	}
  5120  	return nil
  5121  }
  5122  func (m *Filters) Unmarshal(dAtA []byte) error {
  5123  	l := len(dAtA)
  5124  	iNdEx := 0
  5125  	for iNdEx < l {
  5126  		preIndex := iNdEx
  5127  		var wire uint64
  5128  		for shift := uint(0); ; shift += 7 {
  5129  			if shift >= 64 {
  5130  				return ErrIntOverflowTopo
  5131  			}
  5132  			if iNdEx >= l {
  5133  				return io.ErrUnexpectedEOF
  5134  			}
  5135  			b := dAtA[iNdEx]
  5136  			iNdEx++
  5137  			wire |= uint64(b&0x7F) << shift
  5138  			if b < 0x80 {
  5139  				break
  5140  			}
  5141  		}
  5142  		fieldNum := int32(wire >> 3)
  5143  		wireType := int(wire & 0x7)
  5144  		if wireType == 4 {
  5145  			return fmt.Errorf("proto: Filters: wiretype end group for non-group")
  5146  		}
  5147  		if fieldNum <= 0 {
  5148  			return fmt.Errorf("proto: Filters: illegal tag %d (wire type %d)", fieldNum, wire)
  5149  		}
  5150  		switch fieldNum {
  5151  		case 1:
  5152  			if wireType != 2 {
  5153  				return fmt.Errorf("proto: wrong wireType = %d for field KindFilter", wireType)
  5154  			}
  5155  			var msglen int
  5156  			for shift := uint(0); ; shift += 7 {
  5157  				if shift >= 64 {
  5158  					return ErrIntOverflowTopo
  5159  				}
  5160  				if iNdEx >= l {
  5161  					return io.ErrUnexpectedEOF
  5162  				}
  5163  				b := dAtA[iNdEx]
  5164  				iNdEx++
  5165  				msglen |= int(b&0x7F) << shift
  5166  				if b < 0x80 {
  5167  					break
  5168  				}
  5169  			}
  5170  			if msglen < 0 {
  5171  				return ErrInvalidLengthTopo
  5172  			}
  5173  			postIndex := iNdEx + msglen
  5174  			if postIndex < 0 {
  5175  				return ErrInvalidLengthTopo
  5176  			}
  5177  			if postIndex > l {
  5178  				return io.ErrUnexpectedEOF
  5179  			}
  5180  			if m.KindFilter == nil {
  5181  				m.KindFilter = &Filter{}
  5182  			}
  5183  			if err := m.KindFilter.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  5184  				return err
  5185  			}
  5186  			iNdEx = postIndex
  5187  		case 2:
  5188  			if wireType != 2 {
  5189  				return fmt.Errorf("proto: wrong wireType = %d for field LabelFilters", wireType)
  5190  			}
  5191  			var msglen int
  5192  			for shift := uint(0); ; shift += 7 {
  5193  				if shift >= 64 {
  5194  					return ErrIntOverflowTopo
  5195  				}
  5196  				if iNdEx >= l {
  5197  					return io.ErrUnexpectedEOF
  5198  				}
  5199  				b := dAtA[iNdEx]
  5200  				iNdEx++
  5201  				msglen |= int(b&0x7F) << shift
  5202  				if b < 0x80 {
  5203  					break
  5204  				}
  5205  			}
  5206  			if msglen < 0 {
  5207  				return ErrInvalidLengthTopo
  5208  			}
  5209  			postIndex := iNdEx + msglen
  5210  			if postIndex < 0 {
  5211  				return ErrInvalidLengthTopo
  5212  			}
  5213  			if postIndex > l {
  5214  				return io.ErrUnexpectedEOF
  5215  			}
  5216  			m.LabelFilters = append(m.LabelFilters, &Filter{})
  5217  			if err := m.LabelFilters[len(m.LabelFilters)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  5218  				return err
  5219  			}
  5220  			iNdEx = postIndex
  5221  		case 3:
  5222  			if wireType != 2 {
  5223  				return fmt.Errorf("proto: wrong wireType = %d for field RelationFilter", wireType)
  5224  			}
  5225  			var msglen int
  5226  			for shift := uint(0); ; shift += 7 {
  5227  				if shift >= 64 {
  5228  					return ErrIntOverflowTopo
  5229  				}
  5230  				if iNdEx >= l {
  5231  					return io.ErrUnexpectedEOF
  5232  				}
  5233  				b := dAtA[iNdEx]
  5234  				iNdEx++
  5235  				msglen |= int(b&0x7F) << shift
  5236  				if b < 0x80 {
  5237  					break
  5238  				}
  5239  			}
  5240  			if msglen < 0 {
  5241  				return ErrInvalidLengthTopo
  5242  			}
  5243  			postIndex := iNdEx + msglen
  5244  			if postIndex < 0 {
  5245  				return ErrInvalidLengthTopo
  5246  			}
  5247  			if postIndex > l {
  5248  				return io.ErrUnexpectedEOF
  5249  			}
  5250  			if m.RelationFilter == nil {
  5251  				m.RelationFilter = &RelationFilter{}
  5252  			}
  5253  			if err := m.RelationFilter.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  5254  				return err
  5255  			}
  5256  			iNdEx = postIndex
  5257  		case 4:
  5258  			if wireType == 0 {
  5259  				var v Object_Type
  5260  				for shift := uint(0); ; shift += 7 {
  5261  					if shift >= 64 {
  5262  						return ErrIntOverflowTopo
  5263  					}
  5264  					if iNdEx >= l {
  5265  						return io.ErrUnexpectedEOF
  5266  					}
  5267  					b := dAtA[iNdEx]
  5268  					iNdEx++
  5269  					v |= Object_Type(b&0x7F) << shift
  5270  					if b < 0x80 {
  5271  						break
  5272  					}
  5273  				}
  5274  				m.ObjectTypes = append(m.ObjectTypes, v)
  5275  			} else if wireType == 2 {
  5276  				var packedLen int
  5277  				for shift := uint(0); ; shift += 7 {
  5278  					if shift >= 64 {
  5279  						return ErrIntOverflowTopo
  5280  					}
  5281  					if iNdEx >= l {
  5282  						return io.ErrUnexpectedEOF
  5283  					}
  5284  					b := dAtA[iNdEx]
  5285  					iNdEx++
  5286  					packedLen |= int(b&0x7F) << shift
  5287  					if b < 0x80 {
  5288  						break
  5289  					}
  5290  				}
  5291  				if packedLen < 0 {
  5292  					return ErrInvalidLengthTopo
  5293  				}
  5294  				postIndex := iNdEx + packedLen
  5295  				if postIndex < 0 {
  5296  					return ErrInvalidLengthTopo
  5297  				}
  5298  				if postIndex > l {
  5299  					return io.ErrUnexpectedEOF
  5300  				}
  5301  				var elementCount int
  5302  				if elementCount != 0 && len(m.ObjectTypes) == 0 {
  5303  					m.ObjectTypes = make([]Object_Type, 0, elementCount)
  5304  				}
  5305  				for iNdEx < postIndex {
  5306  					var v Object_Type
  5307  					for shift := uint(0); ; shift += 7 {
  5308  						if shift >= 64 {
  5309  							return ErrIntOverflowTopo
  5310  						}
  5311  						if iNdEx >= l {
  5312  							return io.ErrUnexpectedEOF
  5313  						}
  5314  						b := dAtA[iNdEx]
  5315  						iNdEx++
  5316  						v |= Object_Type(b&0x7F) << shift
  5317  						if b < 0x80 {
  5318  							break
  5319  						}
  5320  					}
  5321  					m.ObjectTypes = append(m.ObjectTypes, v)
  5322  				}
  5323  			} else {
  5324  				return fmt.Errorf("proto: wrong wireType = %d for field ObjectTypes", wireType)
  5325  			}
  5326  		case 6:
  5327  			if wireType != 2 {
  5328  				return fmt.Errorf("proto: wrong wireType = %d for field WithAspects", wireType)
  5329  			}
  5330  			var stringLen uint64
  5331  			for shift := uint(0); ; shift += 7 {
  5332  				if shift >= 64 {
  5333  					return ErrIntOverflowTopo
  5334  				}
  5335  				if iNdEx >= l {
  5336  					return io.ErrUnexpectedEOF
  5337  				}
  5338  				b := dAtA[iNdEx]
  5339  				iNdEx++
  5340  				stringLen |= uint64(b&0x7F) << shift
  5341  				if b < 0x80 {
  5342  					break
  5343  				}
  5344  			}
  5345  			intStringLen := int(stringLen)
  5346  			if intStringLen < 0 {
  5347  				return ErrInvalidLengthTopo
  5348  			}
  5349  			postIndex := iNdEx + intStringLen
  5350  			if postIndex < 0 {
  5351  				return ErrInvalidLengthTopo
  5352  			}
  5353  			if postIndex > l {
  5354  				return io.ErrUnexpectedEOF
  5355  			}
  5356  			m.WithAspects = append(m.WithAspects, string(dAtA[iNdEx:postIndex]))
  5357  			iNdEx = postIndex
  5358  		default:
  5359  			iNdEx = preIndex
  5360  			skippy, err := skipTopo(dAtA[iNdEx:])
  5361  			if err != nil {
  5362  				return err
  5363  			}
  5364  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  5365  				return ErrInvalidLengthTopo
  5366  			}
  5367  			if (iNdEx + skippy) > l {
  5368  				return io.ErrUnexpectedEOF
  5369  			}
  5370  			iNdEx += skippy
  5371  		}
  5372  	}
  5373  
  5374  	if iNdEx > l {
  5375  		return io.ErrUnexpectedEOF
  5376  	}
  5377  	return nil
  5378  }
  5379  func (m *QueryRequest) Unmarshal(dAtA []byte) error {
  5380  	l := len(dAtA)
  5381  	iNdEx := 0
  5382  	for iNdEx < l {
  5383  		preIndex := iNdEx
  5384  		var wire uint64
  5385  		for shift := uint(0); ; shift += 7 {
  5386  			if shift >= 64 {
  5387  				return ErrIntOverflowTopo
  5388  			}
  5389  			if iNdEx >= l {
  5390  				return io.ErrUnexpectedEOF
  5391  			}
  5392  			b := dAtA[iNdEx]
  5393  			iNdEx++
  5394  			wire |= uint64(b&0x7F) << shift
  5395  			if b < 0x80 {
  5396  				break
  5397  			}
  5398  		}
  5399  		fieldNum := int32(wire >> 3)
  5400  		wireType := int(wire & 0x7)
  5401  		if wireType == 4 {
  5402  			return fmt.Errorf("proto: QueryRequest: wiretype end group for non-group")
  5403  		}
  5404  		if fieldNum <= 0 {
  5405  			return fmt.Errorf("proto: QueryRequest: illegal tag %d (wire type %d)", fieldNum, wire)
  5406  		}
  5407  		switch fieldNum {
  5408  		case 1:
  5409  			if wireType != 2 {
  5410  				return fmt.Errorf("proto: wrong wireType = %d for field Filters", wireType)
  5411  			}
  5412  			var msglen int
  5413  			for shift := uint(0); ; shift += 7 {
  5414  				if shift >= 64 {
  5415  					return ErrIntOverflowTopo
  5416  				}
  5417  				if iNdEx >= l {
  5418  					return io.ErrUnexpectedEOF
  5419  				}
  5420  				b := dAtA[iNdEx]
  5421  				iNdEx++
  5422  				msglen |= int(b&0x7F) << shift
  5423  				if b < 0x80 {
  5424  					break
  5425  				}
  5426  			}
  5427  			if msglen < 0 {
  5428  				return ErrInvalidLengthTopo
  5429  			}
  5430  			postIndex := iNdEx + msglen
  5431  			if postIndex < 0 {
  5432  				return ErrInvalidLengthTopo
  5433  			}
  5434  			if postIndex > l {
  5435  				return io.ErrUnexpectedEOF
  5436  			}
  5437  			if m.Filters == nil {
  5438  				m.Filters = &Filters{}
  5439  			}
  5440  			if err := m.Filters.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  5441  				return err
  5442  			}
  5443  			iNdEx = postIndex
  5444  		default:
  5445  			iNdEx = preIndex
  5446  			skippy, err := skipTopo(dAtA[iNdEx:])
  5447  			if err != nil {
  5448  				return err
  5449  			}
  5450  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  5451  				return ErrInvalidLengthTopo
  5452  			}
  5453  			if (iNdEx + skippy) > l {
  5454  				return io.ErrUnexpectedEOF
  5455  			}
  5456  			iNdEx += skippy
  5457  		}
  5458  	}
  5459  
  5460  	if iNdEx > l {
  5461  		return io.ErrUnexpectedEOF
  5462  	}
  5463  	return nil
  5464  }
  5465  func (m *QueryResponse) Unmarshal(dAtA []byte) error {
  5466  	l := len(dAtA)
  5467  	iNdEx := 0
  5468  	for iNdEx < l {
  5469  		preIndex := iNdEx
  5470  		var wire uint64
  5471  		for shift := uint(0); ; shift += 7 {
  5472  			if shift >= 64 {
  5473  				return ErrIntOverflowTopo
  5474  			}
  5475  			if iNdEx >= l {
  5476  				return io.ErrUnexpectedEOF
  5477  			}
  5478  			b := dAtA[iNdEx]
  5479  			iNdEx++
  5480  			wire |= uint64(b&0x7F) << shift
  5481  			if b < 0x80 {
  5482  				break
  5483  			}
  5484  		}
  5485  		fieldNum := int32(wire >> 3)
  5486  		wireType := int(wire & 0x7)
  5487  		if wireType == 4 {
  5488  			return fmt.Errorf("proto: QueryResponse: wiretype end group for non-group")
  5489  		}
  5490  		if fieldNum <= 0 {
  5491  			return fmt.Errorf("proto: QueryResponse: illegal tag %d (wire type %d)", fieldNum, wire)
  5492  		}
  5493  		switch fieldNum {
  5494  		case 1:
  5495  			if wireType != 2 {
  5496  				return fmt.Errorf("proto: wrong wireType = %d for field Object", wireType)
  5497  			}
  5498  			var msglen int
  5499  			for shift := uint(0); ; shift += 7 {
  5500  				if shift >= 64 {
  5501  					return ErrIntOverflowTopo
  5502  				}
  5503  				if iNdEx >= l {
  5504  					return io.ErrUnexpectedEOF
  5505  				}
  5506  				b := dAtA[iNdEx]
  5507  				iNdEx++
  5508  				msglen |= int(b&0x7F) << shift
  5509  				if b < 0x80 {
  5510  					break
  5511  				}
  5512  			}
  5513  			if msglen < 0 {
  5514  				return ErrInvalidLengthTopo
  5515  			}
  5516  			postIndex := iNdEx + msglen
  5517  			if postIndex < 0 {
  5518  				return ErrInvalidLengthTopo
  5519  			}
  5520  			if postIndex > l {
  5521  				return io.ErrUnexpectedEOF
  5522  			}
  5523  			if m.Object == nil {
  5524  				m.Object = &Object{}
  5525  			}
  5526  			if err := m.Object.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  5527  				return err
  5528  			}
  5529  			iNdEx = postIndex
  5530  		default:
  5531  			iNdEx = preIndex
  5532  			skippy, err := skipTopo(dAtA[iNdEx:])
  5533  			if err != nil {
  5534  				return err
  5535  			}
  5536  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  5537  				return ErrInvalidLengthTopo
  5538  			}
  5539  			if (iNdEx + skippy) > l {
  5540  				return io.ErrUnexpectedEOF
  5541  			}
  5542  			iNdEx += skippy
  5543  		}
  5544  	}
  5545  
  5546  	if iNdEx > l {
  5547  		return io.ErrUnexpectedEOF
  5548  	}
  5549  	return nil
  5550  }
  5551  func (m *ListRequest) Unmarshal(dAtA []byte) error {
  5552  	l := len(dAtA)
  5553  	iNdEx := 0
  5554  	for iNdEx < l {
  5555  		preIndex := iNdEx
  5556  		var wire uint64
  5557  		for shift := uint(0); ; shift += 7 {
  5558  			if shift >= 64 {
  5559  				return ErrIntOverflowTopo
  5560  			}
  5561  			if iNdEx >= l {
  5562  				return io.ErrUnexpectedEOF
  5563  			}
  5564  			b := dAtA[iNdEx]
  5565  			iNdEx++
  5566  			wire |= uint64(b&0x7F) << shift
  5567  			if b < 0x80 {
  5568  				break
  5569  			}
  5570  		}
  5571  		fieldNum := int32(wire >> 3)
  5572  		wireType := int(wire & 0x7)
  5573  		if wireType == 4 {
  5574  			return fmt.Errorf("proto: ListRequest: wiretype end group for non-group")
  5575  		}
  5576  		if fieldNum <= 0 {
  5577  			return fmt.Errorf("proto: ListRequest: illegal tag %d (wire type %d)", fieldNum, wire)
  5578  		}
  5579  		switch fieldNum {
  5580  		case 1:
  5581  			if wireType != 2 {
  5582  				return fmt.Errorf("proto: wrong wireType = %d for field Filters", wireType)
  5583  			}
  5584  			var msglen int
  5585  			for shift := uint(0); ; shift += 7 {
  5586  				if shift >= 64 {
  5587  					return ErrIntOverflowTopo
  5588  				}
  5589  				if iNdEx >= l {
  5590  					return io.ErrUnexpectedEOF
  5591  				}
  5592  				b := dAtA[iNdEx]
  5593  				iNdEx++
  5594  				msglen |= int(b&0x7F) << shift
  5595  				if b < 0x80 {
  5596  					break
  5597  				}
  5598  			}
  5599  			if msglen < 0 {
  5600  				return ErrInvalidLengthTopo
  5601  			}
  5602  			postIndex := iNdEx + msglen
  5603  			if postIndex < 0 {
  5604  				return ErrInvalidLengthTopo
  5605  			}
  5606  			if postIndex > l {
  5607  				return io.ErrUnexpectedEOF
  5608  			}
  5609  			if m.Filters == nil {
  5610  				m.Filters = &Filters{}
  5611  			}
  5612  			if err := m.Filters.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  5613  				return err
  5614  			}
  5615  			iNdEx = postIndex
  5616  		case 2:
  5617  			if wireType != 0 {
  5618  				return fmt.Errorf("proto: wrong wireType = %d for field SortOrder", wireType)
  5619  			}
  5620  			m.SortOrder = 0
  5621  			for shift := uint(0); ; shift += 7 {
  5622  				if shift >= 64 {
  5623  					return ErrIntOverflowTopo
  5624  				}
  5625  				if iNdEx >= l {
  5626  					return io.ErrUnexpectedEOF
  5627  				}
  5628  				b := dAtA[iNdEx]
  5629  				iNdEx++
  5630  				m.SortOrder |= SortOrder(b&0x7F) << shift
  5631  				if b < 0x80 {
  5632  					break
  5633  				}
  5634  			}
  5635  		default:
  5636  			iNdEx = preIndex
  5637  			skippy, err := skipTopo(dAtA[iNdEx:])
  5638  			if err != nil {
  5639  				return err
  5640  			}
  5641  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  5642  				return ErrInvalidLengthTopo
  5643  			}
  5644  			if (iNdEx + skippy) > l {
  5645  				return io.ErrUnexpectedEOF
  5646  			}
  5647  			iNdEx += skippy
  5648  		}
  5649  	}
  5650  
  5651  	if iNdEx > l {
  5652  		return io.ErrUnexpectedEOF
  5653  	}
  5654  	return nil
  5655  }
  5656  func (m *ListResponse) Unmarshal(dAtA []byte) error {
  5657  	l := len(dAtA)
  5658  	iNdEx := 0
  5659  	for iNdEx < l {
  5660  		preIndex := iNdEx
  5661  		var wire uint64
  5662  		for shift := uint(0); ; shift += 7 {
  5663  			if shift >= 64 {
  5664  				return ErrIntOverflowTopo
  5665  			}
  5666  			if iNdEx >= l {
  5667  				return io.ErrUnexpectedEOF
  5668  			}
  5669  			b := dAtA[iNdEx]
  5670  			iNdEx++
  5671  			wire |= uint64(b&0x7F) << shift
  5672  			if b < 0x80 {
  5673  				break
  5674  			}
  5675  		}
  5676  		fieldNum := int32(wire >> 3)
  5677  		wireType := int(wire & 0x7)
  5678  		if wireType == 4 {
  5679  			return fmt.Errorf("proto: ListResponse: wiretype end group for non-group")
  5680  		}
  5681  		if fieldNum <= 0 {
  5682  			return fmt.Errorf("proto: ListResponse: illegal tag %d (wire type %d)", fieldNum, wire)
  5683  		}
  5684  		switch fieldNum {
  5685  		case 1:
  5686  			if wireType != 2 {
  5687  				return fmt.Errorf("proto: wrong wireType = %d for field Objects", wireType)
  5688  			}
  5689  			var msglen int
  5690  			for shift := uint(0); ; shift += 7 {
  5691  				if shift >= 64 {
  5692  					return ErrIntOverflowTopo
  5693  				}
  5694  				if iNdEx >= l {
  5695  					return io.ErrUnexpectedEOF
  5696  				}
  5697  				b := dAtA[iNdEx]
  5698  				iNdEx++
  5699  				msglen |= int(b&0x7F) << shift
  5700  				if b < 0x80 {
  5701  					break
  5702  				}
  5703  			}
  5704  			if msglen < 0 {
  5705  				return ErrInvalidLengthTopo
  5706  			}
  5707  			postIndex := iNdEx + msglen
  5708  			if postIndex < 0 {
  5709  				return ErrInvalidLengthTopo
  5710  			}
  5711  			if postIndex > l {
  5712  				return io.ErrUnexpectedEOF
  5713  			}
  5714  			m.Objects = append(m.Objects, Object{})
  5715  			if err := m.Objects[len(m.Objects)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  5716  				return err
  5717  			}
  5718  			iNdEx = postIndex
  5719  		default:
  5720  			iNdEx = preIndex
  5721  			skippy, err := skipTopo(dAtA[iNdEx:])
  5722  			if err != nil {
  5723  				return err
  5724  			}
  5725  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  5726  				return ErrInvalidLengthTopo
  5727  			}
  5728  			if (iNdEx + skippy) > l {
  5729  				return io.ErrUnexpectedEOF
  5730  			}
  5731  			iNdEx += skippy
  5732  		}
  5733  	}
  5734  
  5735  	if iNdEx > l {
  5736  		return io.ErrUnexpectedEOF
  5737  	}
  5738  	return nil
  5739  }
  5740  func (m *WatchRequest) Unmarshal(dAtA []byte) error {
  5741  	l := len(dAtA)
  5742  	iNdEx := 0
  5743  	for iNdEx < l {
  5744  		preIndex := iNdEx
  5745  		var wire uint64
  5746  		for shift := uint(0); ; shift += 7 {
  5747  			if shift >= 64 {
  5748  				return ErrIntOverflowTopo
  5749  			}
  5750  			if iNdEx >= l {
  5751  				return io.ErrUnexpectedEOF
  5752  			}
  5753  			b := dAtA[iNdEx]
  5754  			iNdEx++
  5755  			wire |= uint64(b&0x7F) << shift
  5756  			if b < 0x80 {
  5757  				break
  5758  			}
  5759  		}
  5760  		fieldNum := int32(wire >> 3)
  5761  		wireType := int(wire & 0x7)
  5762  		if wireType == 4 {
  5763  			return fmt.Errorf("proto: WatchRequest: wiretype end group for non-group")
  5764  		}
  5765  		if fieldNum <= 0 {
  5766  			return fmt.Errorf("proto: WatchRequest: illegal tag %d (wire type %d)", fieldNum, wire)
  5767  		}
  5768  		switch fieldNum {
  5769  		case 1:
  5770  			if wireType != 2 {
  5771  				return fmt.Errorf("proto: wrong wireType = %d for field Filters", wireType)
  5772  			}
  5773  			var msglen int
  5774  			for shift := uint(0); ; shift += 7 {
  5775  				if shift >= 64 {
  5776  					return ErrIntOverflowTopo
  5777  				}
  5778  				if iNdEx >= l {
  5779  					return io.ErrUnexpectedEOF
  5780  				}
  5781  				b := dAtA[iNdEx]
  5782  				iNdEx++
  5783  				msglen |= int(b&0x7F) << shift
  5784  				if b < 0x80 {
  5785  					break
  5786  				}
  5787  			}
  5788  			if msglen < 0 {
  5789  				return ErrInvalidLengthTopo
  5790  			}
  5791  			postIndex := iNdEx + msglen
  5792  			if postIndex < 0 {
  5793  				return ErrInvalidLengthTopo
  5794  			}
  5795  			if postIndex > l {
  5796  				return io.ErrUnexpectedEOF
  5797  			}
  5798  			if m.Filters == nil {
  5799  				m.Filters = &Filters{}
  5800  			}
  5801  			if err := m.Filters.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  5802  				return err
  5803  			}
  5804  			iNdEx = postIndex
  5805  		case 2:
  5806  			if wireType != 0 {
  5807  				return fmt.Errorf("proto: wrong wireType = %d for field Noreplay", wireType)
  5808  			}
  5809  			var v int
  5810  			for shift := uint(0); ; shift += 7 {
  5811  				if shift >= 64 {
  5812  					return ErrIntOverflowTopo
  5813  				}
  5814  				if iNdEx >= l {
  5815  					return io.ErrUnexpectedEOF
  5816  				}
  5817  				b := dAtA[iNdEx]
  5818  				iNdEx++
  5819  				v |= int(b&0x7F) << shift
  5820  				if b < 0x80 {
  5821  					break
  5822  				}
  5823  			}
  5824  			m.Noreplay = bool(v != 0)
  5825  		default:
  5826  			iNdEx = preIndex
  5827  			skippy, err := skipTopo(dAtA[iNdEx:])
  5828  			if err != nil {
  5829  				return err
  5830  			}
  5831  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  5832  				return ErrInvalidLengthTopo
  5833  			}
  5834  			if (iNdEx + skippy) > l {
  5835  				return io.ErrUnexpectedEOF
  5836  			}
  5837  			iNdEx += skippy
  5838  		}
  5839  	}
  5840  
  5841  	if iNdEx > l {
  5842  		return io.ErrUnexpectedEOF
  5843  	}
  5844  	return nil
  5845  }
  5846  func (m *WatchResponse) Unmarshal(dAtA []byte) error {
  5847  	l := len(dAtA)
  5848  	iNdEx := 0
  5849  	for iNdEx < l {
  5850  		preIndex := iNdEx
  5851  		var wire uint64
  5852  		for shift := uint(0); ; shift += 7 {
  5853  			if shift >= 64 {
  5854  				return ErrIntOverflowTopo
  5855  			}
  5856  			if iNdEx >= l {
  5857  				return io.ErrUnexpectedEOF
  5858  			}
  5859  			b := dAtA[iNdEx]
  5860  			iNdEx++
  5861  			wire |= uint64(b&0x7F) << shift
  5862  			if b < 0x80 {
  5863  				break
  5864  			}
  5865  		}
  5866  		fieldNum := int32(wire >> 3)
  5867  		wireType := int(wire & 0x7)
  5868  		if wireType == 4 {
  5869  			return fmt.Errorf("proto: WatchResponse: wiretype end group for non-group")
  5870  		}
  5871  		if fieldNum <= 0 {
  5872  			return fmt.Errorf("proto: WatchResponse: illegal tag %d (wire type %d)", fieldNum, wire)
  5873  		}
  5874  		switch fieldNum {
  5875  		case 1:
  5876  			if wireType != 2 {
  5877  				return fmt.Errorf("proto: wrong wireType = %d for field Event", wireType)
  5878  			}
  5879  			var msglen int
  5880  			for shift := uint(0); ; shift += 7 {
  5881  				if shift >= 64 {
  5882  					return ErrIntOverflowTopo
  5883  				}
  5884  				if iNdEx >= l {
  5885  					return io.ErrUnexpectedEOF
  5886  				}
  5887  				b := dAtA[iNdEx]
  5888  				iNdEx++
  5889  				msglen |= int(b&0x7F) << shift
  5890  				if b < 0x80 {
  5891  					break
  5892  				}
  5893  			}
  5894  			if msglen < 0 {
  5895  				return ErrInvalidLengthTopo
  5896  			}
  5897  			postIndex := iNdEx + msglen
  5898  			if postIndex < 0 {
  5899  				return ErrInvalidLengthTopo
  5900  			}
  5901  			if postIndex > l {
  5902  				return io.ErrUnexpectedEOF
  5903  			}
  5904  			if err := m.Event.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  5905  				return err
  5906  			}
  5907  			iNdEx = postIndex
  5908  		default:
  5909  			iNdEx = preIndex
  5910  			skippy, err := skipTopo(dAtA[iNdEx:])
  5911  			if err != nil {
  5912  				return err
  5913  			}
  5914  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  5915  				return ErrInvalidLengthTopo
  5916  			}
  5917  			if (iNdEx + skippy) > l {
  5918  				return io.ErrUnexpectedEOF
  5919  			}
  5920  			iNdEx += skippy
  5921  		}
  5922  	}
  5923  
  5924  	if iNdEx > l {
  5925  		return io.ErrUnexpectedEOF
  5926  	}
  5927  	return nil
  5928  }
  5929  func (m *Object) Unmarshal(dAtA []byte) error {
  5930  	l := len(dAtA)
  5931  	iNdEx := 0
  5932  	for iNdEx < l {
  5933  		preIndex := iNdEx
  5934  		var wire uint64
  5935  		for shift := uint(0); ; shift += 7 {
  5936  			if shift >= 64 {
  5937  				return ErrIntOverflowTopo
  5938  			}
  5939  			if iNdEx >= l {
  5940  				return io.ErrUnexpectedEOF
  5941  			}
  5942  			b := dAtA[iNdEx]
  5943  			iNdEx++
  5944  			wire |= uint64(b&0x7F) << shift
  5945  			if b < 0x80 {
  5946  				break
  5947  			}
  5948  		}
  5949  		fieldNum := int32(wire >> 3)
  5950  		wireType := int(wire & 0x7)
  5951  		if wireType == 4 {
  5952  			return fmt.Errorf("proto: Object: wiretype end group for non-group")
  5953  		}
  5954  		if fieldNum <= 0 {
  5955  			return fmt.Errorf("proto: Object: illegal tag %d (wire type %d)", fieldNum, wire)
  5956  		}
  5957  		switch fieldNum {
  5958  		case 1:
  5959  			if wireType != 2 {
  5960  				return fmt.Errorf("proto: wrong wireType = %d for field ID", wireType)
  5961  			}
  5962  			var stringLen uint64
  5963  			for shift := uint(0); ; shift += 7 {
  5964  				if shift >= 64 {
  5965  					return ErrIntOverflowTopo
  5966  				}
  5967  				if iNdEx >= l {
  5968  					return io.ErrUnexpectedEOF
  5969  				}
  5970  				b := dAtA[iNdEx]
  5971  				iNdEx++
  5972  				stringLen |= uint64(b&0x7F) << shift
  5973  				if b < 0x80 {
  5974  					break
  5975  				}
  5976  			}
  5977  			intStringLen := int(stringLen)
  5978  			if intStringLen < 0 {
  5979  				return ErrInvalidLengthTopo
  5980  			}
  5981  			postIndex := iNdEx + intStringLen
  5982  			if postIndex < 0 {
  5983  				return ErrInvalidLengthTopo
  5984  			}
  5985  			if postIndex > l {
  5986  				return io.ErrUnexpectedEOF
  5987  			}
  5988  			m.ID = ID(dAtA[iNdEx:postIndex])
  5989  			iNdEx = postIndex
  5990  		case 2:
  5991  			if wireType != 0 {
  5992  				return fmt.Errorf("proto: wrong wireType = %d for field Revision", wireType)
  5993  			}
  5994  			m.Revision = 0
  5995  			for shift := uint(0); ; shift += 7 {
  5996  				if shift >= 64 {
  5997  					return ErrIntOverflowTopo
  5998  				}
  5999  				if iNdEx >= l {
  6000  					return io.ErrUnexpectedEOF
  6001  				}
  6002  				b := dAtA[iNdEx]
  6003  				iNdEx++
  6004  				m.Revision |= Revision(b&0x7F) << shift
  6005  				if b < 0x80 {
  6006  					break
  6007  				}
  6008  			}
  6009  		case 3:
  6010  			if wireType != 0 {
  6011  				return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
  6012  			}
  6013  			m.Type = 0
  6014  			for shift := uint(0); ; shift += 7 {
  6015  				if shift >= 64 {
  6016  					return ErrIntOverflowTopo
  6017  				}
  6018  				if iNdEx >= l {
  6019  					return io.ErrUnexpectedEOF
  6020  				}
  6021  				b := dAtA[iNdEx]
  6022  				iNdEx++
  6023  				m.Type |= Object_Type(b&0x7F) << shift
  6024  				if b < 0x80 {
  6025  					break
  6026  				}
  6027  			}
  6028  		case 4:
  6029  			if wireType != 2 {
  6030  				return fmt.Errorf("proto: wrong wireType = %d for field Entity", wireType)
  6031  			}
  6032  			var msglen int
  6033  			for shift := uint(0); ; shift += 7 {
  6034  				if shift >= 64 {
  6035  					return ErrIntOverflowTopo
  6036  				}
  6037  				if iNdEx >= l {
  6038  					return io.ErrUnexpectedEOF
  6039  				}
  6040  				b := dAtA[iNdEx]
  6041  				iNdEx++
  6042  				msglen |= int(b&0x7F) << shift
  6043  				if b < 0x80 {
  6044  					break
  6045  				}
  6046  			}
  6047  			if msglen < 0 {
  6048  				return ErrInvalidLengthTopo
  6049  			}
  6050  			postIndex := iNdEx + msglen
  6051  			if postIndex < 0 {
  6052  				return ErrInvalidLengthTopo
  6053  			}
  6054  			if postIndex > l {
  6055  				return io.ErrUnexpectedEOF
  6056  			}
  6057  			v := &Entity{}
  6058  			if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  6059  				return err
  6060  			}
  6061  			m.Obj = &Object_Entity{v}
  6062  			iNdEx = postIndex
  6063  		case 5:
  6064  			if wireType != 2 {
  6065  				return fmt.Errorf("proto: wrong wireType = %d for field Relation", wireType)
  6066  			}
  6067  			var msglen int
  6068  			for shift := uint(0); ; shift += 7 {
  6069  				if shift >= 64 {
  6070  					return ErrIntOverflowTopo
  6071  				}
  6072  				if iNdEx >= l {
  6073  					return io.ErrUnexpectedEOF
  6074  				}
  6075  				b := dAtA[iNdEx]
  6076  				iNdEx++
  6077  				msglen |= int(b&0x7F) << shift
  6078  				if b < 0x80 {
  6079  					break
  6080  				}
  6081  			}
  6082  			if msglen < 0 {
  6083  				return ErrInvalidLengthTopo
  6084  			}
  6085  			postIndex := iNdEx + msglen
  6086  			if postIndex < 0 {
  6087  				return ErrInvalidLengthTopo
  6088  			}
  6089  			if postIndex > l {
  6090  				return io.ErrUnexpectedEOF
  6091  			}
  6092  			v := &Relation{}
  6093  			if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  6094  				return err
  6095  			}
  6096  			m.Obj = &Object_Relation{v}
  6097  			iNdEx = postIndex
  6098  		case 6:
  6099  			if wireType != 2 {
  6100  				return fmt.Errorf("proto: wrong wireType = %d for field Kind", wireType)
  6101  			}
  6102  			var msglen int
  6103  			for shift := uint(0); ; shift += 7 {
  6104  				if shift >= 64 {
  6105  					return ErrIntOverflowTopo
  6106  				}
  6107  				if iNdEx >= l {
  6108  					return io.ErrUnexpectedEOF
  6109  				}
  6110  				b := dAtA[iNdEx]
  6111  				iNdEx++
  6112  				msglen |= int(b&0x7F) << shift
  6113  				if b < 0x80 {
  6114  					break
  6115  				}
  6116  			}
  6117  			if msglen < 0 {
  6118  				return ErrInvalidLengthTopo
  6119  			}
  6120  			postIndex := iNdEx + msglen
  6121  			if postIndex < 0 {
  6122  				return ErrInvalidLengthTopo
  6123  			}
  6124  			if postIndex > l {
  6125  				return io.ErrUnexpectedEOF
  6126  			}
  6127  			v := &Kind{}
  6128  			if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  6129  				return err
  6130  			}
  6131  			m.Obj = &Object_Kind{v}
  6132  			iNdEx = postIndex
  6133  		case 7:
  6134  			if wireType != 2 {
  6135  				return fmt.Errorf("proto: wrong wireType = %d for field Aspects", wireType)
  6136  			}
  6137  			var msglen int
  6138  			for shift := uint(0); ; shift += 7 {
  6139  				if shift >= 64 {
  6140  					return ErrIntOverflowTopo
  6141  				}
  6142  				if iNdEx >= l {
  6143  					return io.ErrUnexpectedEOF
  6144  				}
  6145  				b := dAtA[iNdEx]
  6146  				iNdEx++
  6147  				msglen |= int(b&0x7F) << shift
  6148  				if b < 0x80 {
  6149  					break
  6150  				}
  6151  			}
  6152  			if msglen < 0 {
  6153  				return ErrInvalidLengthTopo
  6154  			}
  6155  			postIndex := iNdEx + msglen
  6156  			if postIndex < 0 {
  6157  				return ErrInvalidLengthTopo
  6158  			}
  6159  			if postIndex > l {
  6160  				return io.ErrUnexpectedEOF
  6161  			}
  6162  			if m.Aspects == nil {
  6163  				m.Aspects = make(map[string]*types.Any)
  6164  			}
  6165  			var mapkey string
  6166  			var mapvalue *types.Any
  6167  			for iNdEx < postIndex {
  6168  				entryPreIndex := iNdEx
  6169  				var wire uint64
  6170  				for shift := uint(0); ; shift += 7 {
  6171  					if shift >= 64 {
  6172  						return ErrIntOverflowTopo
  6173  					}
  6174  					if iNdEx >= l {
  6175  						return io.ErrUnexpectedEOF
  6176  					}
  6177  					b := dAtA[iNdEx]
  6178  					iNdEx++
  6179  					wire |= uint64(b&0x7F) << shift
  6180  					if b < 0x80 {
  6181  						break
  6182  					}
  6183  				}
  6184  				fieldNum := int32(wire >> 3)
  6185  				if fieldNum == 1 {
  6186  					var stringLenmapkey uint64
  6187  					for shift := uint(0); ; shift += 7 {
  6188  						if shift >= 64 {
  6189  							return ErrIntOverflowTopo
  6190  						}
  6191  						if iNdEx >= l {
  6192  							return io.ErrUnexpectedEOF
  6193  						}
  6194  						b := dAtA[iNdEx]
  6195  						iNdEx++
  6196  						stringLenmapkey |= uint64(b&0x7F) << shift
  6197  						if b < 0x80 {
  6198  							break
  6199  						}
  6200  					}
  6201  					intStringLenmapkey := int(stringLenmapkey)
  6202  					if intStringLenmapkey < 0 {
  6203  						return ErrInvalidLengthTopo
  6204  					}
  6205  					postStringIndexmapkey := iNdEx + intStringLenmapkey
  6206  					if postStringIndexmapkey < 0 {
  6207  						return ErrInvalidLengthTopo
  6208  					}
  6209  					if postStringIndexmapkey > l {
  6210  						return io.ErrUnexpectedEOF
  6211  					}
  6212  					mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
  6213  					iNdEx = postStringIndexmapkey
  6214  				} else if fieldNum == 2 {
  6215  					var mapmsglen int
  6216  					for shift := uint(0); ; shift += 7 {
  6217  						if shift >= 64 {
  6218  							return ErrIntOverflowTopo
  6219  						}
  6220  						if iNdEx >= l {
  6221  							return io.ErrUnexpectedEOF
  6222  						}
  6223  						b := dAtA[iNdEx]
  6224  						iNdEx++
  6225  						mapmsglen |= int(b&0x7F) << shift
  6226  						if b < 0x80 {
  6227  							break
  6228  						}
  6229  					}
  6230  					if mapmsglen < 0 {
  6231  						return ErrInvalidLengthTopo
  6232  					}
  6233  					postmsgIndex := iNdEx + mapmsglen
  6234  					if postmsgIndex < 0 {
  6235  						return ErrInvalidLengthTopo
  6236  					}
  6237  					if postmsgIndex > l {
  6238  						return io.ErrUnexpectedEOF
  6239  					}
  6240  					mapvalue = &types.Any{}
  6241  					if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil {
  6242  						return err
  6243  					}
  6244  					iNdEx = postmsgIndex
  6245  				} else {
  6246  					iNdEx = entryPreIndex
  6247  					skippy, err := skipTopo(dAtA[iNdEx:])
  6248  					if err != nil {
  6249  						return err
  6250  					}
  6251  					if (skippy < 0) || (iNdEx+skippy) < 0 {
  6252  						return ErrInvalidLengthTopo
  6253  					}
  6254  					if (iNdEx + skippy) > postIndex {
  6255  						return io.ErrUnexpectedEOF
  6256  					}
  6257  					iNdEx += skippy
  6258  				}
  6259  			}
  6260  			m.Aspects[mapkey] = mapvalue
  6261  			iNdEx = postIndex
  6262  		case 8:
  6263  			if wireType != 2 {
  6264  				return fmt.Errorf("proto: wrong wireType = %d for field Labels", wireType)
  6265  			}
  6266  			var msglen int
  6267  			for shift := uint(0); ; shift += 7 {
  6268  				if shift >= 64 {
  6269  					return ErrIntOverflowTopo
  6270  				}
  6271  				if iNdEx >= l {
  6272  					return io.ErrUnexpectedEOF
  6273  				}
  6274  				b := dAtA[iNdEx]
  6275  				iNdEx++
  6276  				msglen |= int(b&0x7F) << shift
  6277  				if b < 0x80 {
  6278  					break
  6279  				}
  6280  			}
  6281  			if msglen < 0 {
  6282  				return ErrInvalidLengthTopo
  6283  			}
  6284  			postIndex := iNdEx + msglen
  6285  			if postIndex < 0 {
  6286  				return ErrInvalidLengthTopo
  6287  			}
  6288  			if postIndex > l {
  6289  				return io.ErrUnexpectedEOF
  6290  			}
  6291  			if m.Labels == nil {
  6292  				m.Labels = make(map[string]string)
  6293  			}
  6294  			var mapkey string
  6295  			var mapvalue string
  6296  			for iNdEx < postIndex {
  6297  				entryPreIndex := iNdEx
  6298  				var wire uint64
  6299  				for shift := uint(0); ; shift += 7 {
  6300  					if shift >= 64 {
  6301  						return ErrIntOverflowTopo
  6302  					}
  6303  					if iNdEx >= l {
  6304  						return io.ErrUnexpectedEOF
  6305  					}
  6306  					b := dAtA[iNdEx]
  6307  					iNdEx++
  6308  					wire |= uint64(b&0x7F) << shift
  6309  					if b < 0x80 {
  6310  						break
  6311  					}
  6312  				}
  6313  				fieldNum := int32(wire >> 3)
  6314  				if fieldNum == 1 {
  6315  					var stringLenmapkey uint64
  6316  					for shift := uint(0); ; shift += 7 {
  6317  						if shift >= 64 {
  6318  							return ErrIntOverflowTopo
  6319  						}
  6320  						if iNdEx >= l {
  6321  							return io.ErrUnexpectedEOF
  6322  						}
  6323  						b := dAtA[iNdEx]
  6324  						iNdEx++
  6325  						stringLenmapkey |= uint64(b&0x7F) << shift
  6326  						if b < 0x80 {
  6327  							break
  6328  						}
  6329  					}
  6330  					intStringLenmapkey := int(stringLenmapkey)
  6331  					if intStringLenmapkey < 0 {
  6332  						return ErrInvalidLengthTopo
  6333  					}
  6334  					postStringIndexmapkey := iNdEx + intStringLenmapkey
  6335  					if postStringIndexmapkey < 0 {
  6336  						return ErrInvalidLengthTopo
  6337  					}
  6338  					if postStringIndexmapkey > l {
  6339  						return io.ErrUnexpectedEOF
  6340  					}
  6341  					mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
  6342  					iNdEx = postStringIndexmapkey
  6343  				} else if fieldNum == 2 {
  6344  					var stringLenmapvalue uint64
  6345  					for shift := uint(0); ; shift += 7 {
  6346  						if shift >= 64 {
  6347  							return ErrIntOverflowTopo
  6348  						}
  6349  						if iNdEx >= l {
  6350  							return io.ErrUnexpectedEOF
  6351  						}
  6352  						b := dAtA[iNdEx]
  6353  						iNdEx++
  6354  						stringLenmapvalue |= uint64(b&0x7F) << shift
  6355  						if b < 0x80 {
  6356  							break
  6357  						}
  6358  					}
  6359  					intStringLenmapvalue := int(stringLenmapvalue)
  6360  					if intStringLenmapvalue < 0 {
  6361  						return ErrInvalidLengthTopo
  6362  					}
  6363  					postStringIndexmapvalue := iNdEx + intStringLenmapvalue
  6364  					if postStringIndexmapvalue < 0 {
  6365  						return ErrInvalidLengthTopo
  6366  					}
  6367  					if postStringIndexmapvalue > l {
  6368  						return io.ErrUnexpectedEOF
  6369  					}
  6370  					mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue])
  6371  					iNdEx = postStringIndexmapvalue
  6372  				} else {
  6373  					iNdEx = entryPreIndex
  6374  					skippy, err := skipTopo(dAtA[iNdEx:])
  6375  					if err != nil {
  6376  						return err
  6377  					}
  6378  					if (skippy < 0) || (iNdEx+skippy) < 0 {
  6379  						return ErrInvalidLengthTopo
  6380  					}
  6381  					if (iNdEx + skippy) > postIndex {
  6382  						return io.ErrUnexpectedEOF
  6383  					}
  6384  					iNdEx += skippy
  6385  				}
  6386  			}
  6387  			m.Labels[mapkey] = mapvalue
  6388  			iNdEx = postIndex
  6389  		case 9:
  6390  			if wireType != 2 {
  6391  				return fmt.Errorf("proto: wrong wireType = %d for field UUID", wireType)
  6392  			}
  6393  			var stringLen uint64
  6394  			for shift := uint(0); ; shift += 7 {
  6395  				if shift >= 64 {
  6396  					return ErrIntOverflowTopo
  6397  				}
  6398  				if iNdEx >= l {
  6399  					return io.ErrUnexpectedEOF
  6400  				}
  6401  				b := dAtA[iNdEx]
  6402  				iNdEx++
  6403  				stringLen |= uint64(b&0x7F) << shift
  6404  				if b < 0x80 {
  6405  					break
  6406  				}
  6407  			}
  6408  			intStringLen := int(stringLen)
  6409  			if intStringLen < 0 {
  6410  				return ErrInvalidLengthTopo
  6411  			}
  6412  			postIndex := iNdEx + intStringLen
  6413  			if postIndex < 0 {
  6414  				return ErrInvalidLengthTopo
  6415  			}
  6416  			if postIndex > l {
  6417  				return io.ErrUnexpectedEOF
  6418  			}
  6419  			m.UUID = UUID(dAtA[iNdEx:postIndex])
  6420  			iNdEx = postIndex
  6421  		default:
  6422  			iNdEx = preIndex
  6423  			skippy, err := skipTopo(dAtA[iNdEx:])
  6424  			if err != nil {
  6425  				return err
  6426  			}
  6427  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  6428  				return ErrInvalidLengthTopo
  6429  			}
  6430  			if (iNdEx + skippy) > l {
  6431  				return io.ErrUnexpectedEOF
  6432  			}
  6433  			iNdEx += skippy
  6434  		}
  6435  	}
  6436  
  6437  	if iNdEx > l {
  6438  		return io.ErrUnexpectedEOF
  6439  	}
  6440  	return nil
  6441  }
  6442  func (m *Entity) Unmarshal(dAtA []byte) error {
  6443  	l := len(dAtA)
  6444  	iNdEx := 0
  6445  	for iNdEx < l {
  6446  		preIndex := iNdEx
  6447  		var wire uint64
  6448  		for shift := uint(0); ; shift += 7 {
  6449  			if shift >= 64 {
  6450  				return ErrIntOverflowTopo
  6451  			}
  6452  			if iNdEx >= l {
  6453  				return io.ErrUnexpectedEOF
  6454  			}
  6455  			b := dAtA[iNdEx]
  6456  			iNdEx++
  6457  			wire |= uint64(b&0x7F) << shift
  6458  			if b < 0x80 {
  6459  				break
  6460  			}
  6461  		}
  6462  		fieldNum := int32(wire >> 3)
  6463  		wireType := int(wire & 0x7)
  6464  		if wireType == 4 {
  6465  			return fmt.Errorf("proto: Entity: wiretype end group for non-group")
  6466  		}
  6467  		if fieldNum <= 0 {
  6468  			return fmt.Errorf("proto: Entity: illegal tag %d (wire type %d)", fieldNum, wire)
  6469  		}
  6470  		switch fieldNum {
  6471  		case 1:
  6472  			if wireType != 2 {
  6473  				return fmt.Errorf("proto: wrong wireType = %d for field KindID", wireType)
  6474  			}
  6475  			var stringLen uint64
  6476  			for shift := uint(0); ; shift += 7 {
  6477  				if shift >= 64 {
  6478  					return ErrIntOverflowTopo
  6479  				}
  6480  				if iNdEx >= l {
  6481  					return io.ErrUnexpectedEOF
  6482  				}
  6483  				b := dAtA[iNdEx]
  6484  				iNdEx++
  6485  				stringLen |= uint64(b&0x7F) << shift
  6486  				if b < 0x80 {
  6487  					break
  6488  				}
  6489  			}
  6490  			intStringLen := int(stringLen)
  6491  			if intStringLen < 0 {
  6492  				return ErrInvalidLengthTopo
  6493  			}
  6494  			postIndex := iNdEx + intStringLen
  6495  			if postIndex < 0 {
  6496  				return ErrInvalidLengthTopo
  6497  			}
  6498  			if postIndex > l {
  6499  				return io.ErrUnexpectedEOF
  6500  			}
  6501  			m.KindID = ID(dAtA[iNdEx:postIndex])
  6502  			iNdEx = postIndex
  6503  		case 2:
  6504  			if wireType != 2 {
  6505  				return fmt.Errorf("proto: wrong wireType = %d for field SrcRelationIDs", wireType)
  6506  			}
  6507  			var stringLen uint64
  6508  			for shift := uint(0); ; shift += 7 {
  6509  				if shift >= 64 {
  6510  					return ErrIntOverflowTopo
  6511  				}
  6512  				if iNdEx >= l {
  6513  					return io.ErrUnexpectedEOF
  6514  				}
  6515  				b := dAtA[iNdEx]
  6516  				iNdEx++
  6517  				stringLen |= uint64(b&0x7F) << shift
  6518  				if b < 0x80 {
  6519  					break
  6520  				}
  6521  			}
  6522  			intStringLen := int(stringLen)
  6523  			if intStringLen < 0 {
  6524  				return ErrInvalidLengthTopo
  6525  			}
  6526  			postIndex := iNdEx + intStringLen
  6527  			if postIndex < 0 {
  6528  				return ErrInvalidLengthTopo
  6529  			}
  6530  			if postIndex > l {
  6531  				return io.ErrUnexpectedEOF
  6532  			}
  6533  			m.SrcRelationIDs = append(m.SrcRelationIDs, ID(dAtA[iNdEx:postIndex]))
  6534  			iNdEx = postIndex
  6535  		case 3:
  6536  			if wireType != 2 {
  6537  				return fmt.Errorf("proto: wrong wireType = %d for field TgtRelationIDs", wireType)
  6538  			}
  6539  			var stringLen uint64
  6540  			for shift := uint(0); ; shift += 7 {
  6541  				if shift >= 64 {
  6542  					return ErrIntOverflowTopo
  6543  				}
  6544  				if iNdEx >= l {
  6545  					return io.ErrUnexpectedEOF
  6546  				}
  6547  				b := dAtA[iNdEx]
  6548  				iNdEx++
  6549  				stringLen |= uint64(b&0x7F) << shift
  6550  				if b < 0x80 {
  6551  					break
  6552  				}
  6553  			}
  6554  			intStringLen := int(stringLen)
  6555  			if intStringLen < 0 {
  6556  				return ErrInvalidLengthTopo
  6557  			}
  6558  			postIndex := iNdEx + intStringLen
  6559  			if postIndex < 0 {
  6560  				return ErrInvalidLengthTopo
  6561  			}
  6562  			if postIndex > l {
  6563  				return io.ErrUnexpectedEOF
  6564  			}
  6565  			m.TgtRelationIDs = append(m.TgtRelationIDs, ID(dAtA[iNdEx:postIndex]))
  6566  			iNdEx = postIndex
  6567  		default:
  6568  			iNdEx = preIndex
  6569  			skippy, err := skipTopo(dAtA[iNdEx:])
  6570  			if err != nil {
  6571  				return err
  6572  			}
  6573  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  6574  				return ErrInvalidLengthTopo
  6575  			}
  6576  			if (iNdEx + skippy) > l {
  6577  				return io.ErrUnexpectedEOF
  6578  			}
  6579  			iNdEx += skippy
  6580  		}
  6581  	}
  6582  
  6583  	if iNdEx > l {
  6584  		return io.ErrUnexpectedEOF
  6585  	}
  6586  	return nil
  6587  }
  6588  func (m *Relation) Unmarshal(dAtA []byte) error {
  6589  	l := len(dAtA)
  6590  	iNdEx := 0
  6591  	for iNdEx < l {
  6592  		preIndex := iNdEx
  6593  		var wire uint64
  6594  		for shift := uint(0); ; shift += 7 {
  6595  			if shift >= 64 {
  6596  				return ErrIntOverflowTopo
  6597  			}
  6598  			if iNdEx >= l {
  6599  				return io.ErrUnexpectedEOF
  6600  			}
  6601  			b := dAtA[iNdEx]
  6602  			iNdEx++
  6603  			wire |= uint64(b&0x7F) << shift
  6604  			if b < 0x80 {
  6605  				break
  6606  			}
  6607  		}
  6608  		fieldNum := int32(wire >> 3)
  6609  		wireType := int(wire & 0x7)
  6610  		if wireType == 4 {
  6611  			return fmt.Errorf("proto: Relation: wiretype end group for non-group")
  6612  		}
  6613  		if fieldNum <= 0 {
  6614  			return fmt.Errorf("proto: Relation: illegal tag %d (wire type %d)", fieldNum, wire)
  6615  		}
  6616  		switch fieldNum {
  6617  		case 1:
  6618  			if wireType != 2 {
  6619  				return fmt.Errorf("proto: wrong wireType = %d for field KindID", wireType)
  6620  			}
  6621  			var stringLen uint64
  6622  			for shift := uint(0); ; shift += 7 {
  6623  				if shift >= 64 {
  6624  					return ErrIntOverflowTopo
  6625  				}
  6626  				if iNdEx >= l {
  6627  					return io.ErrUnexpectedEOF
  6628  				}
  6629  				b := dAtA[iNdEx]
  6630  				iNdEx++
  6631  				stringLen |= uint64(b&0x7F) << shift
  6632  				if b < 0x80 {
  6633  					break
  6634  				}
  6635  			}
  6636  			intStringLen := int(stringLen)
  6637  			if intStringLen < 0 {
  6638  				return ErrInvalidLengthTopo
  6639  			}
  6640  			postIndex := iNdEx + intStringLen
  6641  			if postIndex < 0 {
  6642  				return ErrInvalidLengthTopo
  6643  			}
  6644  			if postIndex > l {
  6645  				return io.ErrUnexpectedEOF
  6646  			}
  6647  			m.KindID = ID(dAtA[iNdEx:postIndex])
  6648  			iNdEx = postIndex
  6649  		case 2:
  6650  			if wireType != 2 {
  6651  				return fmt.Errorf("proto: wrong wireType = %d for field SrcEntityID", wireType)
  6652  			}
  6653  			var stringLen uint64
  6654  			for shift := uint(0); ; shift += 7 {
  6655  				if shift >= 64 {
  6656  					return ErrIntOverflowTopo
  6657  				}
  6658  				if iNdEx >= l {
  6659  					return io.ErrUnexpectedEOF
  6660  				}
  6661  				b := dAtA[iNdEx]
  6662  				iNdEx++
  6663  				stringLen |= uint64(b&0x7F) << shift
  6664  				if b < 0x80 {
  6665  					break
  6666  				}
  6667  			}
  6668  			intStringLen := int(stringLen)
  6669  			if intStringLen < 0 {
  6670  				return ErrInvalidLengthTopo
  6671  			}
  6672  			postIndex := iNdEx + intStringLen
  6673  			if postIndex < 0 {
  6674  				return ErrInvalidLengthTopo
  6675  			}
  6676  			if postIndex > l {
  6677  				return io.ErrUnexpectedEOF
  6678  			}
  6679  			m.SrcEntityID = ID(dAtA[iNdEx:postIndex])
  6680  			iNdEx = postIndex
  6681  		case 3:
  6682  			if wireType != 2 {
  6683  				return fmt.Errorf("proto: wrong wireType = %d for field TgtEntityID", wireType)
  6684  			}
  6685  			var stringLen uint64
  6686  			for shift := uint(0); ; shift += 7 {
  6687  				if shift >= 64 {
  6688  					return ErrIntOverflowTopo
  6689  				}
  6690  				if iNdEx >= l {
  6691  					return io.ErrUnexpectedEOF
  6692  				}
  6693  				b := dAtA[iNdEx]
  6694  				iNdEx++
  6695  				stringLen |= uint64(b&0x7F) << shift
  6696  				if b < 0x80 {
  6697  					break
  6698  				}
  6699  			}
  6700  			intStringLen := int(stringLen)
  6701  			if intStringLen < 0 {
  6702  				return ErrInvalidLengthTopo
  6703  			}
  6704  			postIndex := iNdEx + intStringLen
  6705  			if postIndex < 0 {
  6706  				return ErrInvalidLengthTopo
  6707  			}
  6708  			if postIndex > l {
  6709  				return io.ErrUnexpectedEOF
  6710  			}
  6711  			m.TgtEntityID = ID(dAtA[iNdEx:postIndex])
  6712  			iNdEx = postIndex
  6713  		default:
  6714  			iNdEx = preIndex
  6715  			skippy, err := skipTopo(dAtA[iNdEx:])
  6716  			if err != nil {
  6717  				return err
  6718  			}
  6719  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  6720  				return ErrInvalidLengthTopo
  6721  			}
  6722  			if (iNdEx + skippy) > l {
  6723  				return io.ErrUnexpectedEOF
  6724  			}
  6725  			iNdEx += skippy
  6726  		}
  6727  	}
  6728  
  6729  	if iNdEx > l {
  6730  		return io.ErrUnexpectedEOF
  6731  	}
  6732  	return nil
  6733  }
  6734  func (m *Kind) Unmarshal(dAtA []byte) error {
  6735  	l := len(dAtA)
  6736  	iNdEx := 0
  6737  	for iNdEx < l {
  6738  		preIndex := iNdEx
  6739  		var wire uint64
  6740  		for shift := uint(0); ; shift += 7 {
  6741  			if shift >= 64 {
  6742  				return ErrIntOverflowTopo
  6743  			}
  6744  			if iNdEx >= l {
  6745  				return io.ErrUnexpectedEOF
  6746  			}
  6747  			b := dAtA[iNdEx]
  6748  			iNdEx++
  6749  			wire |= uint64(b&0x7F) << shift
  6750  			if b < 0x80 {
  6751  				break
  6752  			}
  6753  		}
  6754  		fieldNum := int32(wire >> 3)
  6755  		wireType := int(wire & 0x7)
  6756  		if wireType == 4 {
  6757  			return fmt.Errorf("proto: Kind: wiretype end group for non-group")
  6758  		}
  6759  		if fieldNum <= 0 {
  6760  			return fmt.Errorf("proto: Kind: illegal tag %d (wire type %d)", fieldNum, wire)
  6761  		}
  6762  		switch fieldNum {
  6763  		case 1:
  6764  			if wireType != 2 {
  6765  				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
  6766  			}
  6767  			var stringLen uint64
  6768  			for shift := uint(0); ; shift += 7 {
  6769  				if shift >= 64 {
  6770  					return ErrIntOverflowTopo
  6771  				}
  6772  				if iNdEx >= l {
  6773  					return io.ErrUnexpectedEOF
  6774  				}
  6775  				b := dAtA[iNdEx]
  6776  				iNdEx++
  6777  				stringLen |= uint64(b&0x7F) << shift
  6778  				if b < 0x80 {
  6779  					break
  6780  				}
  6781  			}
  6782  			intStringLen := int(stringLen)
  6783  			if intStringLen < 0 {
  6784  				return ErrInvalidLengthTopo
  6785  			}
  6786  			postIndex := iNdEx + intStringLen
  6787  			if postIndex < 0 {
  6788  				return ErrInvalidLengthTopo
  6789  			}
  6790  			if postIndex > l {
  6791  				return io.ErrUnexpectedEOF
  6792  			}
  6793  			m.Name = string(dAtA[iNdEx:postIndex])
  6794  			iNdEx = postIndex
  6795  		default:
  6796  			iNdEx = preIndex
  6797  			skippy, err := skipTopo(dAtA[iNdEx:])
  6798  			if err != nil {
  6799  				return err
  6800  			}
  6801  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  6802  				return ErrInvalidLengthTopo
  6803  			}
  6804  			if (iNdEx + skippy) > l {
  6805  				return io.ErrUnexpectedEOF
  6806  			}
  6807  			iNdEx += skippy
  6808  		}
  6809  	}
  6810  
  6811  	if iNdEx > l {
  6812  		return io.ErrUnexpectedEOF
  6813  	}
  6814  	return nil
  6815  }
  6816  func skipTopo(dAtA []byte) (n int, err error) {
  6817  	l := len(dAtA)
  6818  	iNdEx := 0
  6819  	depth := 0
  6820  	for iNdEx < l {
  6821  		var wire uint64
  6822  		for shift := uint(0); ; shift += 7 {
  6823  			if shift >= 64 {
  6824  				return 0, ErrIntOverflowTopo
  6825  			}
  6826  			if iNdEx >= l {
  6827  				return 0, io.ErrUnexpectedEOF
  6828  			}
  6829  			b := dAtA[iNdEx]
  6830  			iNdEx++
  6831  			wire |= (uint64(b) & 0x7F) << shift
  6832  			if b < 0x80 {
  6833  				break
  6834  			}
  6835  		}
  6836  		wireType := int(wire & 0x7)
  6837  		switch wireType {
  6838  		case 0:
  6839  			for shift := uint(0); ; shift += 7 {
  6840  				if shift >= 64 {
  6841  					return 0, ErrIntOverflowTopo
  6842  				}
  6843  				if iNdEx >= l {
  6844  					return 0, io.ErrUnexpectedEOF
  6845  				}
  6846  				iNdEx++
  6847  				if dAtA[iNdEx-1] < 0x80 {
  6848  					break
  6849  				}
  6850  			}
  6851  		case 1:
  6852  			iNdEx += 8
  6853  		case 2:
  6854  			var length int
  6855  			for shift := uint(0); ; shift += 7 {
  6856  				if shift >= 64 {
  6857  					return 0, ErrIntOverflowTopo
  6858  				}
  6859  				if iNdEx >= l {
  6860  					return 0, io.ErrUnexpectedEOF
  6861  				}
  6862  				b := dAtA[iNdEx]
  6863  				iNdEx++
  6864  				length |= (int(b) & 0x7F) << shift
  6865  				if b < 0x80 {
  6866  					break
  6867  				}
  6868  			}
  6869  			if length < 0 {
  6870  				return 0, ErrInvalidLengthTopo
  6871  			}
  6872  			iNdEx += length
  6873  		case 3:
  6874  			depth++
  6875  		case 4:
  6876  			if depth == 0 {
  6877  				return 0, ErrUnexpectedEndOfGroupTopo
  6878  			}
  6879  			depth--
  6880  		case 5:
  6881  			iNdEx += 4
  6882  		default:
  6883  			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
  6884  		}
  6885  		if iNdEx < 0 {
  6886  			return 0, ErrInvalidLengthTopo
  6887  		}
  6888  		if depth == 0 {
  6889  			return iNdEx, nil
  6890  		}
  6891  	}
  6892  	return 0, io.ErrUnexpectedEOF
  6893  }
  6894  
  6895  var (
  6896  	ErrInvalidLengthTopo        = fmt.Errorf("proto: negative length found during unmarshaling")
  6897  	ErrIntOverflowTopo          = fmt.Errorf("proto: integer overflow")
  6898  	ErrUnexpectedEndOfGroupTopo = fmt.Errorf("proto: unexpected end of group")
  6899  )