cheliequan
2023-02-10 54747b4c57f1c44b5c973ad585768c83049429de
es.pb.go
@@ -9,6 +9,7 @@
   proto "github.com/gogo/protobuf/proto"
   io "io"
   math "math"
   math_bits "math/bits"
)
// Reference imports to suppress errors if they are not otherwise used.
@@ -23,10 +24,13 @@
const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
type Esinfo struct {
   Id           string  `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   Tableid      string  `protobuf:"bytes,2,opt,name=tableid,proto3" json:"tableid,omitempty"`
   FaceFeature  string  `protobuf:"bytes,3,opt,name=faceFeature,proto3" json:"faceFeature,omitempty"`
   CompareScore float32 `protobuf:"fixed32,4,opt,name=compareScore,proto3" json:"compareScore,omitempty"`
   Id            string  `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   Tableid       string  `protobuf:"bytes,2,opt,name=tableid,proto3" json:"tableid,omitempty"`
   FaceFeature   string  `protobuf:"bytes,3,opt,name=faceFeature,proto3" json:"faceFeature,omitempty"`
   CompareScore  float32 `protobuf:"fixed32,4,opt,name=compareScore,proto3" json:"compareScore,omitempty"`
   Enable        int32   `protobuf:"varint,5,opt,name=enable,proto3" json:"enable,omitempty"`
   AnalyServerId string  `protobuf:"bytes,6,opt,name=analyServerId,proto3" json:"analyServerId,omitempty"`
   CarNo         string  `protobuf:"bytes,7,opt,name=carNo,proto3" json:"carNo,omitempty"`
}
func (m *Esinfo) Reset()         { *m = Esinfo{} }
@@ -90,6 +94,171 @@
   return 0
}
func (m *Esinfo) GetEnable() int32 {
   if m != nil {
      return m.Enable
   }
   return 0
}
func (m *Esinfo) GetAnalyServerId() string {
   if m != nil {
      return m.AnalyServerId
   }
   return ""
}
func (m *Esinfo) GetCarNo() string {
   if m != nil {
      return m.CarNo
   }
   return ""
}
type MultiFeaCache struct {
   EsInfo         *Esinfo         `protobuf:"bytes,1,opt,name=esInfo,proto3" json:"esInfo,omitempty"`
   AttachFeature  string          `protobuf:"bytes,2,opt,name=attachFeature,proto3" json:"attachFeature,omitempty"`
   CameraId       string          `protobuf:"bytes,3,opt,name=cameraId,proto3" json:"cameraId,omitempty"`
   LinkEsInfo     []*LinkEsInfo   `protobuf:"bytes,4,rep,name=linkEsInfo,proto3" json:"linkEsInfo,omitempty"`
   TargetLocation *TargetLocation `protobuf:"bytes,5,opt,name=targetLocation,proto3" json:"targetLocation,omitempty"`
}
func (m *MultiFeaCache) Reset()         { *m = MultiFeaCache{} }
func (m *MultiFeaCache) String() string { return proto.CompactTextString(m) }
func (*MultiFeaCache) ProtoMessage()    {}
func (*MultiFeaCache) Descriptor() ([]byte, []int) {
   return fileDescriptor_718db5c20d0f3738, []int{1}
}
func (m *MultiFeaCache) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
}
func (m *MultiFeaCache) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   if deterministic {
      return xxx_messageInfo_MultiFeaCache.Marshal(b, m, deterministic)
   } else {
      b = b[:cap(b)]
      n, err := m.MarshalTo(b)
      if err != nil {
         return nil, err
      }
      return b[:n], nil
   }
}
func (m *MultiFeaCache) XXX_Merge(src proto.Message) {
   xxx_messageInfo_MultiFeaCache.Merge(m, src)
}
func (m *MultiFeaCache) XXX_Size() int {
   return m.Size()
}
func (m *MultiFeaCache) XXX_DiscardUnknown() {
   xxx_messageInfo_MultiFeaCache.DiscardUnknown(m)
}
var xxx_messageInfo_MultiFeaCache proto.InternalMessageInfo
func (m *MultiFeaCache) GetEsInfo() *Esinfo {
   if m != nil {
      return m.EsInfo
   }
   return nil
}
func (m *MultiFeaCache) GetAttachFeature() string {
   if m != nil {
      return m.AttachFeature
   }
   return ""
}
func (m *MultiFeaCache) GetCameraId() string {
   if m != nil {
      return m.CameraId
   }
   return ""
}
func (m *MultiFeaCache) GetLinkEsInfo() []*LinkEsInfo {
   if m != nil {
      return m.LinkEsInfo
   }
   return nil
}
func (m *MultiFeaCache) GetTargetLocation() *TargetLocation {
   if m != nil {
      return m.TargetLocation
   }
   return nil
}
type LinkEsInfo struct {
   CameraId       string          `protobuf:"bytes,1,opt,name=cameraId,proto3" json:"cameraId,omitempty"`
   Feature        string          `protobuf:"bytes,2,opt,name=feature,proto3" json:"feature,omitempty"`
   AttachFeature  string          `protobuf:"bytes,3,opt,name=attachFeature,proto3" json:"attachFeature,omitempty"`
   TargetLocation *TargetLocation `protobuf:"bytes,4,opt,name=targetLocation,proto3" json:"targetLocation,omitempty"`
}
func (m *LinkEsInfo) Reset()         { *m = LinkEsInfo{} }
func (m *LinkEsInfo) String() string { return proto.CompactTextString(m) }
func (*LinkEsInfo) ProtoMessage()    {}
func (*LinkEsInfo) Descriptor() ([]byte, []int) {
   return fileDescriptor_718db5c20d0f3738, []int{2}
}
func (m *LinkEsInfo) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
}
func (m *LinkEsInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   if deterministic {
      return xxx_messageInfo_LinkEsInfo.Marshal(b, m, deterministic)
   } else {
      b = b[:cap(b)]
      n, err := m.MarshalTo(b)
      if err != nil {
         return nil, err
      }
      return b[:n], nil
   }
}
func (m *LinkEsInfo) XXX_Merge(src proto.Message) {
   xxx_messageInfo_LinkEsInfo.Merge(m, src)
}
func (m *LinkEsInfo) XXX_Size() int {
   return m.Size()
}
func (m *LinkEsInfo) XXX_DiscardUnknown() {
   xxx_messageInfo_LinkEsInfo.DiscardUnknown(m)
}
var xxx_messageInfo_LinkEsInfo proto.InternalMessageInfo
func (m *LinkEsInfo) GetCameraId() string {
   if m != nil {
      return m.CameraId
   }
   return ""
}
func (m *LinkEsInfo) GetFeature() string {
   if m != nil {
      return m.Feature
   }
   return ""
}
func (m *LinkEsInfo) GetAttachFeature() string {
   if m != nil {
      return m.AttachFeature
   }
   return ""
}
func (m *LinkEsInfo) GetTargetLocation() *TargetLocation {
   if m != nil {
      return m.TargetLocation
   }
   return nil
}
type Dbperson struct {
   Id           string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   TableId      string `protobuf:"bytes,2,opt,name=tableId,proto3" json:"tableId,omitempty"`
@@ -108,13 +277,18 @@
   MonitorLevel string `protobuf:"bytes,15,opt,name=monitorLevel,proto3" json:"monitorLevel,omitempty"`
   Enable       int32  `protobuf:"varint,16,opt,name=enable,proto3" json:"enable,omitempty"`
   Reserved     string `protobuf:"bytes,17,opt,name=reserved,proto3" json:"reserved,omitempty"`
   CarNo        string `protobuf:"bytes,18,opt,name=carNo,proto3" json:"carNo,omitempty"`
   CarPicUrls   string `protobuf:"bytes,19,opt,name=carPicUrls,proto3" json:"carPicUrls,omitempty"`
   CarType      int32  `protobuf:"varint,20,opt,name=carType,proto3" json:"carType,omitempty"`
   CarBrand     int32  `protobuf:"varint,21,opt,name=carBrand,proto3" json:"carBrand,omitempty"`
   CarColor     int32  `protobuf:"varint,22,opt,name=carColor,proto3" json:"carColor,omitempty"`
}
func (m *Dbperson) Reset()         { *m = Dbperson{} }
func (m *Dbperson) String() string { return proto.CompactTextString(m) }
func (*Dbperson) ProtoMessage()    {}
func (*Dbperson) Descriptor() ([]byte, []int) {
   return fileDescriptor_718db5c20d0f3738, []int{1}
   return fileDescriptor_718db5c20d0f3738, []int{3}
}
func (m *Dbperson) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -262,6 +436,41 @@
   return ""
}
func (m *Dbperson) GetCarNo() string {
   if m != nil {
      return m.CarNo
   }
   return ""
}
func (m *Dbperson) GetCarPicUrls() string {
   if m != nil {
      return m.CarPicUrls
   }
   return ""
}
func (m *Dbperson) GetCarType() int32 {
   if m != nil {
      return m.CarType
   }
   return 0
}
func (m *Dbperson) GetCarBrand() int32 {
   if m != nil {
      return m.CarBrand
   }
   return 0
}
func (m *Dbperson) GetCarColor() int32 {
   if m != nil {
      return m.CarColor
   }
   return 0
}
type Dbtable struct {
   Id            string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   TableName     string `protobuf:"bytes,2,opt,name=tableName,proto3" json:"tableName,omitempty"`
@@ -284,7 +493,7 @@
func (m *Dbtable) String() string { return proto.CompactTextString(m) }
func (*Dbtable) ProtoMessage()    {}
func (*Dbtable) Descriptor() ([]byte, []int) {
   return fileDescriptor_718db5c20d0f3738, []int{2}
   return fileDescriptor_718db5c20d0f3738, []int{4}
}
func (m *Dbtable) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -420,6 +629,8 @@
func init() {
   proto.RegisterType((*Esinfo)(nil), "protomsg.Esinfo")
   proto.RegisterType((*MultiFeaCache)(nil), "protomsg.MultiFeaCache")
   proto.RegisterType((*LinkEsInfo)(nil), "protomsg.LinkEsInfo")
   proto.RegisterType((*Dbperson)(nil), "protomsg.Dbperson")
   proto.RegisterType((*Dbtable)(nil), "protomsg.Dbtable")
}
@@ -427,39 +638,53 @@
func init() { proto.RegisterFile("es.proto", fileDescriptor_718db5c20d0f3738) }
var fileDescriptor_718db5c20d0f3738 = []byte{
   // 500 bytes of a gzipped FileDescriptorProto
   0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x94, 0x41, 0x8e, 0xd3, 0x30,
   0x14, 0x86, 0x9b, 0x86, 0x69, 0x13, 0x77, 0x3a, 0x0c, 0x5e, 0x20, 0x0b, 0x8d, 0xa2, 0xaa, 0x62,
   0xd1, 0x15, 0x1b, 0x6e, 0x30, 0x94, 0x91, 0x2a, 0xa1, 0x11, 0x6a, 0x87, 0x03, 0x38, 0xf1, 0x9b,
   0xc1, 0x52, 0x12, 0x47, 0x76, 0x5a, 0xda, 0x5b, 0x70, 0x13, 0xae, 0xc1, 0x72, 0x96, 0x2c, 0x58,
   0xa0, 0xf6, 0x22, 0xc8, 0xcf, 0x49, 0x93, 0x0c, 0xa2, 0xb0, 0x6a, 0xff, 0xff, 0xb7, 0xdf, 0x7b,
   0x7d, 0x9f, 0x55, 0x12, 0x80, 0x79, 0x53, 0x68, 0x55, 0x2a, 0x1a, 0xe0, 0x47, 0x66, 0x1e, 0xa6,
   0x5b, 0x32, 0x78, 0x6f, 0x64, 0x7e, 0xaf, 0xe8, 0x05, 0xe9, 0x4b, 0xc1, 0xbc, 0x89, 0x37, 0x0b,
   0x97, 0x7d, 0x29, 0x28, 0x23, 0xc3, 0x92, 0xc7, 0x29, 0x48, 0xc1, 0xfa, 0x68, 0xd6, 0x92, 0x4e,
   0xc8, 0xe8, 0x9e, 0x27, 0x70, 0x03, 0xbc, 0x5c, 0x6b, 0x60, 0x3e, 0xa6, 0x6d, 0x8b, 0x4e, 0xc9,
   0x79, 0xa2, 0xb2, 0x82, 0x6b, 0x58, 0x25, 0x4a, 0x03, 0x7b, 0x36, 0xf1, 0x66, 0xfd, 0x65, 0xc7,
   0x9b, 0xfe, 0xf4, 0x49, 0x30, 0x8f, 0x0b, 0xd0, 0x46, 0xe5, 0x7f, 0x6d, 0xbe, 0xe8, 0x36, 0x5f,
   0xfc, 0x67, 0x73, 0x57, 0xf5, 0xa3, 0x4c, 0x3e, 0xe9, 0x14, 0x9b, 0x87, 0xcb, 0x8e, 0x47, 0x23,
   0x42, 0x9c, 0xbe, 0xe5, 0x19, 0xb0, 0x33, 0x3c, 0xd1, 0x72, 0xe8, 0x25, 0xf1, 0xf9, 0x03, 0xb0,
   0x01, 0x06, 0xf6, 0xab, 0x75, 0x0c, 0x6c, 0xd9, 0xd0, 0x39, 0x06, 0xb6, 0xf4, 0x25, 0x19, 0x48,
   0xf1, 0x8e, 0x6b, 0xc1, 0x02, 0x34, 0x2b, 0x65, 0x67, 0x2f, 0x64, 0x32, 0x07, 0x93, 0xb0, 0xd0,
   0xcd, 0x5e, 0x49, 0xfa, 0x8a, 0x04, 0xc5, 0x67, 0x95, 0xc3, 0xed, 0x3a, 0x63, 0x04, 0xa3, 0xa3,
   0xb6, 0x13, 0x25, 0x1a, 0x78, 0x09, 0x77, 0x32, 0x03, 0x36, 0x72, 0x13, 0x35, 0x8e, 0xcd, 0xd7,
   0x85, 0xa8, 0xf3, 0x73, 0x97, 0x37, 0x8e, 0xad, 0xed, 0x4e, 0x5f, 0xef, 0xd8, 0xd8, 0xd5, 0xae,
   0xb5, 0xcd, 0xa4, 0x99, 0x43, 0x0a, 0x25, 0xb0, 0x8b, 0x89, 0x37, 0x3b, 0x5b, 0x1e, 0xb5, 0xdd,
   0x56, 0xa6, 0x72, 0x59, 0x2a, 0xfd, 0x01, 0x36, 0x90, 0xb2, 0xe7, 0x6e, 0x5b, 0x6d, 0xcf, 0xfe,
   0x52, 0xc8, 0xed, 0xfe, 0xd9, 0x25, 0xde, 0xae, 0x94, 0xad, 0xab, 0xc1, 0x80, 0xde, 0x80, 0x60,
   0x2f, 0x5c, 0xcf, 0x5a, 0x4f, 0xbf, 0xf9, 0x64, 0x38, 0x8f, 0x91, 0xda, 0x1f, 0x74, 0xaf, 0x48,
   0x88, 0x01, 0x2e, 0xdf, 0xf1, 0x6d, 0x8c, 0x63, 0x8a, 0x1b, 0xf4, 0x5b, 0x29, 0xee, 0xb0, 0x4e,
   0xef, 0x76, 0x05, 0x54, 0x68, 0x1b, 0xc3, 0x4e, 0x1a, 0x7f, 0xc1, 0xc8, 0x31, 0xad, 0x94, 0xbd,
   0x65, 0x4a, 0xae, 0x4b, 0x5c, 0x9e, 0xa3, 0xda, 0x18, 0x96, 0x18, 0xe4, 0x02, 0x33, 0xc7, 0xb7,
   0x96, 0x4f, 0xa8, 0x04, 0xff, 0xa0, 0x12, 0x9e, 0xa4, 0x42, 0x4e, 0x50, 0x19, 0x3d, 0xa1, 0x72,
   0x45, 0x42, 0x69, 0x6e, 0x94, 0x86, 0x0d, 0xe8, 0x0a, 0x76, 0x63, 0xb4, 0x78, 0x8c, 0x3b, 0x3c,
   0xec, 0x8b, 0x34, 0xab, 0x5d, 0x9e, 0x20, 0x65, 0xfb, 0x22, 0x51, 0xd1, 0xd7, 0x64, 0xcc, 0x73,
   0x9e, 0xee, 0x56, 0x16, 0x8d, 0x5e, 0x88, 0x0a, 0x72, 0xd7, 0xbc, 0x66, 0xdf, 0xf7, 0x91, 0xf7,
   0xb8, 0x8f, 0xbc, 0x5f, 0xfb, 0xc8, 0xfb, 0x7a, 0x88, 0x7a, 0x8f, 0x87, 0xa8, 0xf7, 0xe3, 0x10,
   0xf5, 0xe2, 0x01, 0xfe, 0x5d, 0xbc, 0xfd, 0x1d, 0x00, 0x00, 0xff, 0xff, 0x22, 0xde, 0x39, 0x6b,
   0x41, 0x04, 0x00, 0x00,
   // 732 bytes of a gzipped FileDescriptorProto
   0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x54, 0xcd, 0x4e, 0xdb, 0x4a,
   0x14, 0xc6, 0x49, 0xc8, 0xcf, 0x09, 0x01, 0xee, 0x5c, 0x2e, 0x1a, 0x21, 0x14, 0x45, 0xd1, 0x5d,
   0x64, 0xc5, 0x82, 0x7b, 0x1f, 0xa0, 0x82, 0x80, 0x14, 0x89, 0xa2, 0xca, 0xd0, 0x07, 0x98, 0x8c,
   0x4f, 0x60, 0x54, 0xc7, 0x13, 0x8d, 0x1d, 0xda, 0xbc, 0x45, 0x9f, 0xa3, 0x9b, 0xbe, 0x46, 0x17,
   0x5d, 0xb0, 0xec, 0xb2, 0x82, 0xbe, 0x41, 0x5f, 0xa0, 0x9a, 0x33, 0x76, 0x6c, 0x27, 0x94, 0xb6,
   0xab, 0xe4, 0xfb, 0x3e, 0x7b, 0xce, 0xf9, 0xe6, 0x7c, 0xc7, 0xd0, 0xc4, 0xf8, 0x68, 0x66, 0x74,
   0xa2, 0x59, 0x93, 0x7e, 0xa6, 0xf1, 0xcd, 0x41, 0x47, 0x28, 0x2d, 0x51, 0x44, 0x4e, 0xe8, 0x7f,
   0xf6, 0xa0, 0x7e, 0x16, 0xab, 0x68, 0xa2, 0xd9, 0x36, 0x54, 0x54, 0xc0, 0xbd, 0x9e, 0x37, 0x68,
   0xf9, 0x15, 0x15, 0x30, 0x0e, 0x8d, 0x44, 0x8c, 0x43, 0x54, 0x01, 0xaf, 0x10, 0x99, 0x41, 0xd6,
   0x83, 0xf6, 0x44, 0x48, 0x3c, 0x47, 0x91, 0xcc, 0x0d, 0xf2, 0x2a, 0xa9, 0x45, 0x8a, 0xf5, 0x61,
   0x4b, 0xea, 0xe9, 0x4c, 0x18, 0xbc, 0x92, 0xda, 0x20, 0xaf, 0xf5, 0xbc, 0x41, 0xc5, 0x2f, 0x71,
   0x6c, 0x1f, 0xea, 0x18, 0xd9, 0x13, 0xf9, 0x66, 0xcf, 0x1b, 0x6c, 0xfa, 0x29, 0x62, 0xff, 0x42,
   0x47, 0x44, 0x22, 0x5c, 0x5c, 0xa1, 0xb9, 0x43, 0x33, 0x0a, 0x78, 0x9d, 0xce, 0x2f, 0x93, 0x6c,
   0x0f, 0x36, 0xa5, 0x30, 0x97, 0x9a, 0x37, 0x48, 0x75, 0xa0, 0xff, 0xdd, 0x83, 0xce, 0xcb, 0x79,
   0x98, 0xa8, 0x73, 0x14, 0xa7, 0x42, 0xde, 0x22, 0x1b, 0x40, 0x1d, 0xe3, 0x51, 0x34, 0xd1, 0xe4,
   0xac, 0x7d, 0xbc, 0x7b, 0x94, 0x5d, 0xc5, 0x91, 0xf3, 0xed, 0xa7, 0x3a, 0xd5, 0x4d, 0x12, 0x21,
   0x6f, 0x33, 0x5f, 0x95, 0xb4, 0x6e, 0x91, 0x64, 0x07, 0xd0, 0x94, 0x62, 0x8a, 0x46, 0x8c, 0x82,
   0xd4, 0xf8, 0x12, 0xb3, 0xff, 0x01, 0x42, 0x15, 0xbd, 0x39, 0x73, 0xf5, 0x6a, 0xbd, 0xea, 0xa0,
   0x7d, 0xbc, 0x97, 0xd7, 0xbb, 0x58, 0x6a, 0x7e, 0xe1, 0x39, 0xf6, 0x02, 0xb6, 0x13, 0x61, 0x6e,
   0x30, 0xb9, 0xd0, 0x52, 0x24, 0x4a, 0x47, 0x74, 0x1f, 0xed, 0x63, 0x9e, 0xbf, 0x79, 0x5d, 0xd2,
   0xfd, 0x95, 0xe7, 0xfb, 0x1f, 0x3c, 0x80, 0xfc, 0xf0, 0x52, 0x8b, 0xde, 0x4a, 0x8b, 0x1c, 0x1a,
   0x93, 0x92, 0xbd, 0x0c, 0xae, 0xdb, 0xaf, 0x3e, 0x65, 0x7f, 0xbd, 0xd9, 0xda, 0x1f, 0x36, 0xfb,
   0xad, 0x06, 0xcd, 0xe1, 0x78, 0x86, 0x26, 0xd6, 0xd1, 0x4f, 0x33, 0x37, 0x2a, 0x67, 0x6e, 0xf4,
   0x9b, 0x99, 0x73, 0xa7, 0xbe, 0x52, 0xf2, 0xb5, 0x09, 0xa9, 0xb1, 0x96, 0x5f, 0xe2, 0x58, 0x17,
   0xc0, 0xe1, 0x4b, 0x31, 0x75, 0xb9, 0x6b, 0xf9, 0x05, 0x86, 0xed, 0x42, 0x55, 0xdc, 0x60, 0x9a,
   0x38, 0xfb, 0xd7, 0x32, 0x31, 0xbe, 0x4b, 0x53, 0x66, 0xff, 0xda, 0xdc, 0xaa, 0xe0, 0x54, 0x98,
   0x80, 0x37, 0x89, 0x4c, 0x91, 0xed, 0x7d, 0xa6, 0xe4, 0x10, 0x63, 0xc9, 0x5b, 0xae, 0xf7, 0x14,
   0xda, 0x81, 0xcc, 0x6e, 0x75, 0x84, 0x97, 0xf3, 0x29, 0x07, 0x37, 0x90, 0x0c, 0xdb, 0x8e, 0xa4,
   0x41, 0x91, 0xe0, 0xb5, 0x9a, 0x22, 0x6f, 0xbb, 0x8e, 0x72, 0xc6, 0xea, 0xf3, 0x59, 0x90, 0xe9,
   0x5b, 0x4e, 0xcf, 0x19, 0x1a, 0x36, 0x3d, 0x7d, 0xb2, 0xe0, 0x9d, 0x74, 0xd8, 0x29, 0xb6, 0x9a,
   0x8a, 0x87, 0x18, 0x62, 0x82, 0x7c, 0x9b, 0x76, 0x6c, 0x89, 0xed, 0x6d, 0x4d, 0x75, 0xa4, 0x12,
   0x6d, 0x2e, 0xf0, 0x0e, 0x43, 0xbe, 0xe3, 0x6e, 0xab, 0xc8, 0x15, 0x36, 0x74, 0xb7, 0xb4, 0xa1,
   0x07, 0xd0, 0x34, 0x18, 0xdb, 0x4d, 0x0c, 0xf8, 0x5f, 0xae, 0x66, 0x86, 0xf3, 0xbd, 0x64, 0x85,
   0xbd, 0x24, 0x97, 0xc2, 0xb8, 0x21, 0xc4, 0xfc, 0xef, 0xd4, 0xe5, 0x92, 0xb1, 0x77, 0x27, 0x85,
   0xb9, 0x5e, 0xcc, 0x90, 0xef, 0x51, 0xa9, 0x0c, 0xba, 0x30, 0x9b, 0x13, 0x23, 0xa2, 0x80, 0xff,
   0xe3, 0x3c, 0x64, 0x38, 0xd5, 0x4e, 0x75, 0xa8, 0x0d, 0xdf, 0x5f, 0x6a, 0x84, 0xfb, 0x1f, 0xab,
   0xd0, 0x18, 0x8e, 0x29, 0x3d, 0x6b, 0x29, 0x3b, 0x84, 0x16, 0x09, 0x14, 0x02, 0x97, 0xb3, 0x9c,
   0x58, 0xaa, 0x34, 0xc9, 0x6a, 0x41, 0xa5, 0x59, 0x66, 0x2a, 0xf5, 0x5a, 0x2b, 0xa8, 0xd4, 0xed,
   0x3e, 0xd4, 0xc7, 0x6f, 0x49, 0x72, 0xd9, 0x4a, 0x91, 0x7d, 0x2b, 0x4e, 0x84, 0x49, 0x68, 0x88,
   0x2e, 0x5d, 0x39, 0x61, 0xdd, 0x63, 0x14, 0x90, 0xe6, 0x72, 0x96, 0xc1, 0x95, 0x74, 0x34, 0x7f,
   0x91, 0x8e, 0xd6, 0xb3, 0xe9, 0x80, 0x67, 0xd2, 0xd1, 0x5e, 0x49, 0xc7, 0x21, 0xb4, 0x54, 0x7c,
   0xae, 0x0d, 0xde, 0xa1, 0x49, 0x43, 0x97, 0x13, 0x85, 0x5c, 0x74, 0x4a, 0xb9, 0xb0, 0x9b, 0x11,
   0x5f, 0x2d, 0x22, 0x49, 0x69, 0xb3, 0x9b, 0x41, 0x68, 0xfd, 0x8b, 0xbe, 0xf3, 0xc4, 0x17, 0xfd,
   0x84, 0x7f, 0x7a, 0xe8, 0x7a, 0xf7, 0x0f, 0x5d, 0xef, 0xeb, 0x43, 0xd7, 0x7b, 0xff, 0xd8, 0xdd,
   0xb8, 0x7f, 0xec, 0x6e, 0x7c, 0x79, 0xec, 0x6e, 0x8c, 0xeb, 0xf4, 0x6d, 0xf9, 0xef, 0x47, 0x00,
   0x00, 0x00, 0xff, 0xff, 0x61, 0x99, 0xc4, 0x66, 0xd0, 0x06, 0x00, 0x00,
}
func (m *Esinfo) Marshal() (dAtA []byte, err error) {
@@ -500,6 +725,131 @@
      i++
      encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.CompareScore))))
      i += 4
   }
   if m.Enable != 0 {
      dAtA[i] = 0x28
      i++
      i = encodeVarintEs(dAtA, i, uint64(m.Enable))
   }
   if len(m.AnalyServerId) > 0 {
      dAtA[i] = 0x32
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.AnalyServerId)))
      i += copy(dAtA[i:], m.AnalyServerId)
   }
   if len(m.CarNo) > 0 {
      dAtA[i] = 0x3a
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.CarNo)))
      i += copy(dAtA[i:], m.CarNo)
   }
   return i, nil
}
func (m *MultiFeaCache) Marshal() (dAtA []byte, err error) {
   size := m.Size()
   dAtA = make([]byte, size)
   n, err := m.MarshalTo(dAtA)
   if err != nil {
      return nil, err
   }
   return dAtA[:n], nil
}
func (m *MultiFeaCache) MarshalTo(dAtA []byte) (int, error) {
   var i int
   _ = i
   var l int
   _ = l
   if m.EsInfo != nil {
      dAtA[i] = 0xa
      i++
      i = encodeVarintEs(dAtA, i, uint64(m.EsInfo.Size()))
      n1, err1 := m.EsInfo.MarshalTo(dAtA[i:])
      if err1 != nil {
         return 0, err1
      }
      i += n1
   }
   if len(m.AttachFeature) > 0 {
      dAtA[i] = 0x12
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.AttachFeature)))
      i += copy(dAtA[i:], m.AttachFeature)
   }
   if len(m.CameraId) > 0 {
      dAtA[i] = 0x1a
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.CameraId)))
      i += copy(dAtA[i:], m.CameraId)
   }
   if len(m.LinkEsInfo) > 0 {
      for _, msg := range m.LinkEsInfo {
         dAtA[i] = 0x22
         i++
         i = encodeVarintEs(dAtA, i, uint64(msg.Size()))
         n, err := msg.MarshalTo(dAtA[i:])
         if err != nil {
            return 0, err
         }
         i += n
      }
   }
   if m.TargetLocation != nil {
      dAtA[i] = 0x2a
      i++
      i = encodeVarintEs(dAtA, i, uint64(m.TargetLocation.Size()))
      n2, err2 := m.TargetLocation.MarshalTo(dAtA[i:])
      if err2 != nil {
         return 0, err2
      }
      i += n2
   }
   return i, nil
}
func (m *LinkEsInfo) Marshal() (dAtA []byte, err error) {
   size := m.Size()
   dAtA = make([]byte, size)
   n, err := m.MarshalTo(dAtA)
   if err != nil {
      return nil, err
   }
   return dAtA[:n], nil
}
func (m *LinkEsInfo) MarshalTo(dAtA []byte) (int, error) {
   var i int
   _ = i
   var l int
   _ = l
   if len(m.CameraId) > 0 {
      dAtA[i] = 0xa
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.CameraId)))
      i += copy(dAtA[i:], m.CameraId)
   }
   if len(m.Feature) > 0 {
      dAtA[i] = 0x12
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.Feature)))
      i += copy(dAtA[i:], m.Feature)
   }
   if len(m.AttachFeature) > 0 {
      dAtA[i] = 0x1a
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.AttachFeature)))
      i += copy(dAtA[i:], m.AttachFeature)
   }
   if m.TargetLocation != nil {
      dAtA[i] = 0x22
      i++
      i = encodeVarintEs(dAtA, i, uint64(m.TargetLocation.Size()))
      n3, err3 := m.TargetLocation.MarshalTo(dAtA[i:])
      if err3 != nil {
         return 0, err3
      }
      i += n3
   }
   return i, nil
}
@@ -622,6 +972,43 @@
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.Reserved)))
      i += copy(dAtA[i:], m.Reserved)
   }
   if len(m.CarNo) > 0 {
      dAtA[i] = 0x92
      i++
      dAtA[i] = 0x1
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.CarNo)))
      i += copy(dAtA[i:], m.CarNo)
   }
   if len(m.CarPicUrls) > 0 {
      dAtA[i] = 0x9a
      i++
      dAtA[i] = 0x1
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.CarPicUrls)))
      i += copy(dAtA[i:], m.CarPicUrls)
   }
   if m.CarType != 0 {
      dAtA[i] = 0xa0
      i++
      dAtA[i] = 0x1
      i++
      i = encodeVarintEs(dAtA, i, uint64(m.CarType))
   }
   if m.CarBrand != 0 {
      dAtA[i] = 0xa8
      i++
      dAtA[i] = 0x1
      i++
      i = encodeVarintEs(dAtA, i, uint64(m.CarBrand))
   }
   if m.CarColor != 0 {
      dAtA[i] = 0xb0
      i++
      dAtA[i] = 0x1
      i++
      i = encodeVarintEs(dAtA, i, uint64(m.CarColor))
   }
   return i, nil
}
@@ -762,6 +1149,73 @@
   if m.CompareScore != 0 {
      n += 5
   }
   if m.Enable != 0 {
      n += 1 + sovEs(uint64(m.Enable))
   }
   l = len(m.AnalyServerId)
   if l > 0 {
      n += 1 + l + sovEs(uint64(l))
   }
   l = len(m.CarNo)
   if l > 0 {
      n += 1 + l + sovEs(uint64(l))
   }
   return n
}
func (m *MultiFeaCache) Size() (n int) {
   if m == nil {
      return 0
   }
   var l int
   _ = l
   if m.EsInfo != nil {
      l = m.EsInfo.Size()
      n += 1 + l + sovEs(uint64(l))
   }
   l = len(m.AttachFeature)
   if l > 0 {
      n += 1 + l + sovEs(uint64(l))
   }
   l = len(m.CameraId)
   if l > 0 {
      n += 1 + l + sovEs(uint64(l))
   }
   if len(m.LinkEsInfo) > 0 {
      for _, e := range m.LinkEsInfo {
         l = e.Size()
         n += 1 + l + sovEs(uint64(l))
      }
   }
   if m.TargetLocation != nil {
      l = m.TargetLocation.Size()
      n += 1 + l + sovEs(uint64(l))
   }
   return n
}
func (m *LinkEsInfo) Size() (n int) {
   if m == nil {
      return 0
   }
   var l int
   _ = l
   l = len(m.CameraId)
   if l > 0 {
      n += 1 + l + sovEs(uint64(l))
   }
   l = len(m.Feature)
   if l > 0 {
      n += 1 + l + sovEs(uint64(l))
   }
   l = len(m.AttachFeature)
   if l > 0 {
      n += 1 + l + sovEs(uint64(l))
   }
   if m.TargetLocation != nil {
      l = m.TargetLocation.Size()
      n += 1 + l + sovEs(uint64(l))
   }
   return n
}
@@ -837,6 +1291,23 @@
   if l > 0 {
      n += 2 + l + sovEs(uint64(l))
   }
   l = len(m.CarNo)
   if l > 0 {
      n += 2 + l + sovEs(uint64(l))
   }
   l = len(m.CarPicUrls)
   if l > 0 {
      n += 2 + l + sovEs(uint64(l))
   }
   if m.CarType != 0 {
      n += 2 + sovEs(uint64(m.CarType))
   }
   if m.CarBrand != 0 {
      n += 2 + sovEs(uint64(m.CarBrand))
   }
   if m.CarColor != 0 {
      n += 2 + sovEs(uint64(m.CarColor))
   }
   return n
}
@@ -908,14 +1379,7 @@
}
func sovEs(x uint64) (n int) {
   for {
      n++
      x >>= 7
      if x == 0 {
         break
      }
   }
   return n
   return (math_bits.Len64(x|1) + 6) / 7
}
func sozEs(x uint64) (n int) {
   return sovEs(uint64((x << 1) ^ uint64((int64(x) >> 63))))
@@ -1056,6 +1520,497 @@
         v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:]))
         iNdEx += 4
         m.CompareScore = float32(math.Float32frombits(v))
      case 5:
         if wireType != 0 {
            return fmt.Errorf("proto: wrong wireType = %d for field Enable", wireType)
         }
         m.Enable = 0
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowEs
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            m.Enable |= int32(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
      case 6:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field AnalyServerId", wireType)
         }
         var stringLen uint64
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowEs
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            stringLen |= uint64(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
         intStringLen := int(stringLen)
         if intStringLen < 0 {
            return ErrInvalidLengthEs
         }
         postIndex := iNdEx + intStringLen
         if postIndex < 0 {
            return ErrInvalidLengthEs
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         m.AnalyServerId = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 7:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field CarNo", wireType)
         }
         var stringLen uint64
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowEs
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            stringLen |= uint64(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
         intStringLen := int(stringLen)
         if intStringLen < 0 {
            return ErrInvalidLengthEs
         }
         postIndex := iNdEx + intStringLen
         if postIndex < 0 {
            return ErrInvalidLengthEs
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         m.CarNo = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      default:
         iNdEx = preIndex
         skippy, err := skipEs(dAtA[iNdEx:])
         if err != nil {
            return err
         }
         if skippy < 0 {
            return ErrInvalidLengthEs
         }
         if (iNdEx + skippy) < 0 {
            return ErrInvalidLengthEs
         }
         if (iNdEx + skippy) > l {
            return io.ErrUnexpectedEOF
         }
         iNdEx += skippy
      }
   }
   if iNdEx > l {
      return io.ErrUnexpectedEOF
   }
   return nil
}
func (m *MultiFeaCache) Unmarshal(dAtA []byte) error {
   l := len(dAtA)
   iNdEx := 0
   for iNdEx < l {
      preIndex := iNdEx
      var wire uint64
      for shift := uint(0); ; shift += 7 {
         if shift >= 64 {
            return ErrIntOverflowEs
         }
         if iNdEx >= l {
            return io.ErrUnexpectedEOF
         }
         b := dAtA[iNdEx]
         iNdEx++
         wire |= uint64(b&0x7F) << shift
         if b < 0x80 {
            break
         }
      }
      fieldNum := int32(wire >> 3)
      wireType := int(wire & 0x7)
      if wireType == 4 {
         return fmt.Errorf("proto: MultiFeaCache: wiretype end group for non-group")
      }
      if fieldNum <= 0 {
         return fmt.Errorf("proto: MultiFeaCache: illegal tag %d (wire type %d)", fieldNum, wire)
      }
      switch fieldNum {
      case 1:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field EsInfo", wireType)
         }
         var msglen int
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowEs
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            msglen |= int(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
         if msglen < 0 {
            return ErrInvalidLengthEs
         }
         postIndex := iNdEx + msglen
         if postIndex < 0 {
            return ErrInvalidLengthEs
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         if m.EsInfo == nil {
            m.EsInfo = &Esinfo{}
         }
         if err := m.EsInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
            return err
         }
         iNdEx = postIndex
      case 2:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field AttachFeature", wireType)
         }
         var stringLen uint64
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowEs
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            stringLen |= uint64(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
         intStringLen := int(stringLen)
         if intStringLen < 0 {
            return ErrInvalidLengthEs
         }
         postIndex := iNdEx + intStringLen
         if postIndex < 0 {
            return ErrInvalidLengthEs
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         m.AttachFeature = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 3:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field CameraId", wireType)
         }
         var stringLen uint64
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowEs
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            stringLen |= uint64(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
         intStringLen := int(stringLen)
         if intStringLen < 0 {
            return ErrInvalidLengthEs
         }
         postIndex := iNdEx + intStringLen
         if postIndex < 0 {
            return ErrInvalidLengthEs
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         m.CameraId = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 4:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field LinkEsInfo", wireType)
         }
         var msglen int
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowEs
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            msglen |= int(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
         if msglen < 0 {
            return ErrInvalidLengthEs
         }
         postIndex := iNdEx + msglen
         if postIndex < 0 {
            return ErrInvalidLengthEs
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         m.LinkEsInfo = append(m.LinkEsInfo, &LinkEsInfo{})
         if err := m.LinkEsInfo[len(m.LinkEsInfo)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
            return err
         }
         iNdEx = postIndex
      case 5:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field TargetLocation", wireType)
         }
         var msglen int
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowEs
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            msglen |= int(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
         if msglen < 0 {
            return ErrInvalidLengthEs
         }
         postIndex := iNdEx + msglen
         if postIndex < 0 {
            return ErrInvalidLengthEs
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         if m.TargetLocation == nil {
            m.TargetLocation = &TargetLocation{}
         }
         if err := m.TargetLocation.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
            return err
         }
         iNdEx = postIndex
      default:
         iNdEx = preIndex
         skippy, err := skipEs(dAtA[iNdEx:])
         if err != nil {
            return err
         }
         if skippy < 0 {
            return ErrInvalidLengthEs
         }
         if (iNdEx + skippy) < 0 {
            return ErrInvalidLengthEs
         }
         if (iNdEx + skippy) > l {
            return io.ErrUnexpectedEOF
         }
         iNdEx += skippy
      }
   }
   if iNdEx > l {
      return io.ErrUnexpectedEOF
   }
   return nil
}
func (m *LinkEsInfo) Unmarshal(dAtA []byte) error {
   l := len(dAtA)
   iNdEx := 0
   for iNdEx < l {
      preIndex := iNdEx
      var wire uint64
      for shift := uint(0); ; shift += 7 {
         if shift >= 64 {
            return ErrIntOverflowEs
         }
         if iNdEx >= l {
            return io.ErrUnexpectedEOF
         }
         b := dAtA[iNdEx]
         iNdEx++
         wire |= uint64(b&0x7F) << shift
         if b < 0x80 {
            break
         }
      }
      fieldNum := int32(wire >> 3)
      wireType := int(wire & 0x7)
      if wireType == 4 {
         return fmt.Errorf("proto: LinkEsInfo: wiretype end group for non-group")
      }
      if fieldNum <= 0 {
         return fmt.Errorf("proto: LinkEsInfo: illegal tag %d (wire type %d)", fieldNum, wire)
      }
      switch fieldNum {
      case 1:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field CameraId", wireType)
         }
         var stringLen uint64
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowEs
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            stringLen |= uint64(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
         intStringLen := int(stringLen)
         if intStringLen < 0 {
            return ErrInvalidLengthEs
         }
         postIndex := iNdEx + intStringLen
         if postIndex < 0 {
            return ErrInvalidLengthEs
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         m.CameraId = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 2:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field Feature", wireType)
         }
         var stringLen uint64
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowEs
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            stringLen |= uint64(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
         intStringLen := int(stringLen)
         if intStringLen < 0 {
            return ErrInvalidLengthEs
         }
         postIndex := iNdEx + intStringLen
         if postIndex < 0 {
            return ErrInvalidLengthEs
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         m.Feature = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 3:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field AttachFeature", wireType)
         }
         var stringLen uint64
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowEs
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            stringLen |= uint64(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
         intStringLen := int(stringLen)
         if intStringLen < 0 {
            return ErrInvalidLengthEs
         }
         postIndex := iNdEx + intStringLen
         if postIndex < 0 {
            return ErrInvalidLengthEs
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         m.AttachFeature = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 4:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field TargetLocation", wireType)
         }
         var msglen int
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowEs
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            msglen |= int(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
         if msglen < 0 {
            return ErrInvalidLengthEs
         }
         postIndex := iNdEx + msglen
         if postIndex < 0 {
            return ErrInvalidLengthEs
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         if m.TargetLocation == nil {
            m.TargetLocation = &TargetLocation{}
         }
         if err := m.TargetLocation.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
            return err
         }
         iNdEx = postIndex
      default:
         iNdEx = preIndex
         skippy, err := skipEs(dAtA[iNdEx:])
@@ -1627,6 +2582,127 @@
         }
         m.Reserved = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 18:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field CarNo", wireType)
         }
         var stringLen uint64
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowEs
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            stringLen |= uint64(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
         intStringLen := int(stringLen)
         if intStringLen < 0 {
            return ErrInvalidLengthEs
         }
         postIndex := iNdEx + intStringLen
         if postIndex < 0 {
            return ErrInvalidLengthEs
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         m.CarNo = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 19:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field CarPicUrls", wireType)
         }
         var stringLen uint64
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowEs
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            stringLen |= uint64(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
         intStringLen := int(stringLen)
         if intStringLen < 0 {
            return ErrInvalidLengthEs
         }
         postIndex := iNdEx + intStringLen
         if postIndex < 0 {
            return ErrInvalidLengthEs
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         m.CarPicUrls = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 20:
         if wireType != 0 {
            return fmt.Errorf("proto: wrong wireType = %d for field CarType", wireType)
         }
         m.CarType = 0
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowEs
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            m.CarType |= int32(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
      case 21:
         if wireType != 0 {
            return fmt.Errorf("proto: wrong wireType = %d for field CarBrand", wireType)
         }
         m.CarBrand = 0
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowEs
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            m.CarBrand |= int32(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
      case 22:
         if wireType != 0 {
            return fmt.Errorf("proto: wrong wireType = %d for field CarColor", wireType)
         }
         m.CarColor = 0
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowEs
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            m.CarColor |= int32(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
      default:
         iNdEx = preIndex
         skippy, err := skipEs(dAtA[iNdEx:])