cheliequan
2023-02-07 e5826a0b7cc29d176f69ec34fec83f7146cd1d30
es.pb.go
@@ -1,12 +1,15 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// Code generated by protoc-gen-gogo. DO NOT EDIT.
// source: es.proto
package protomsg
import (
   encoding_binary "encoding/binary"
   fmt "fmt"
   proto "github.com/golang/protobuf/proto"
   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.
@@ -18,18 +21,16 @@
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
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"`
   Enable               int32    `protobuf:"varint,5,opt,name=enable,proto3" json:"enable,omitempty"`
   AnalyServerId        string   `protobuf:"bytes,6,opt,name=analyServerId,proto3" json:"analyServerId,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
   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{} }
@@ -38,18 +39,26 @@
func (*Esinfo) Descriptor() ([]byte, []int) {
   return fileDescriptor_718db5c20d0f3738, []int{0}
}
func (m *Esinfo) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_Esinfo.Unmarshal(m, b)
   return m.Unmarshal(b)
}
func (m *Esinfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_Esinfo.Marshal(b, m, deterministic)
   if deterministic {
      return xxx_messageInfo_Esinfo.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 *Esinfo) XXX_Merge(src proto.Message) {
   xxx_messageInfo_Esinfo.Merge(m, src)
}
func (m *Esinfo) XXX_Size() int {
   return xxx_messageInfo_Esinfo.Size(m)
   return m.Size()
}
func (m *Esinfo) XXX_DiscardUnknown() {
   xxx_messageInfo_Esinfo.DiscardUnknown(m)
@@ -99,15 +108,19 @@
   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"`
   XXX_NoUnkeyedLiteral struct{}        `json:"-"`
   XXX_unrecognized     []byte          `json:"-"`
   XXX_sizecache        int32           `json:"-"`
   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{} }
@@ -116,18 +129,26 @@
func (*MultiFeaCache) Descriptor() ([]byte, []int) {
   return fileDescriptor_718db5c20d0f3738, []int{1}
}
func (m *MultiFeaCache) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_MultiFeaCache.Unmarshal(m, b)
   return m.Unmarshal(b)
}
func (m *MultiFeaCache) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_MultiFeaCache.Marshal(b, m, deterministic)
   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 xxx_messageInfo_MultiFeaCache.Size(m)
   return m.Size()
}
func (m *MultiFeaCache) XXX_DiscardUnknown() {
   xxx_messageInfo_MultiFeaCache.DiscardUnknown(m)
@@ -170,128 +191,39 @@
   return nil
}
type TargetLocation struct {
   TopLeft              *Location `protobuf:"bytes,1,opt,name=topLeft,proto3" json:"topLeft,omitempty"`
   BottomRight          *Location `protobuf:"bytes,2,opt,name=bottomRight,proto3" json:"bottomRight,omitempty"`
   XXX_NoUnkeyedLiteral struct{}  `json:"-"`
   XXX_unrecognized     []byte    `json:"-"`
   XXX_sizecache        int32     `json:"-"`
}
func (m *TargetLocation) Reset()         { *m = TargetLocation{} }
func (m *TargetLocation) String() string { return proto.CompactTextString(m) }
func (*TargetLocation) ProtoMessage()    {}
func (*TargetLocation) Descriptor() ([]byte, []int) {
   return fileDescriptor_718db5c20d0f3738, []int{2}
}
func (m *TargetLocation) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_TargetLocation.Unmarshal(m, b)
}
func (m *TargetLocation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_TargetLocation.Marshal(b, m, deterministic)
}
func (m *TargetLocation) XXX_Merge(src proto.Message) {
   xxx_messageInfo_TargetLocation.Merge(m, src)
}
func (m *TargetLocation) XXX_Size() int {
   return xxx_messageInfo_TargetLocation.Size(m)
}
func (m *TargetLocation) XXX_DiscardUnknown() {
   xxx_messageInfo_TargetLocation.DiscardUnknown(m)
}
var xxx_messageInfo_TargetLocation proto.InternalMessageInfo
func (m *TargetLocation) GetTopLeft() *Location {
   if m != nil {
      return m.TopLeft
   }
   return nil
}
func (m *TargetLocation) GetBottomRight() *Location {
   if m != nil {
      return m.BottomRight
   }
   return nil
}
type Location struct {
   X                    float64  `protobuf:"fixed64,1,opt,name=x,proto3" json:"x,omitempty"`
   Y                    float64  `protobuf:"fixed64,2,opt,name=y,proto3" json:"y,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *Location) Reset()         { *m = Location{} }
func (m *Location) String() string { return proto.CompactTextString(m) }
func (*Location) ProtoMessage()    {}
func (*Location) Descriptor() ([]byte, []int) {
   return fileDescriptor_718db5c20d0f3738, []int{3}
}
func (m *Location) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_Location.Unmarshal(m, b)
}
func (m *Location) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_Location.Marshal(b, m, deterministic)
}
func (m *Location) XXX_Merge(src proto.Message) {
   xxx_messageInfo_Location.Merge(m, src)
}
func (m *Location) XXX_Size() int {
   return xxx_messageInfo_Location.Size(m)
}
func (m *Location) XXX_DiscardUnknown() {
   xxx_messageInfo_Location.DiscardUnknown(m)
}
var xxx_messageInfo_Location proto.InternalMessageInfo
func (m *Location) GetX() float64 {
   if m != nil {
      return m.X
   }
   return 0
}
func (m *Location) GetY() float64 {
   if m != nil {
      return m.Y
   }
   return 0
}
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"`
   XXX_NoUnkeyedLiteral struct{}        `json:"-"`
   XXX_unrecognized     []byte          `json:"-"`
   XXX_sizecache        int32           `json:"-"`
   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{4}
   return fileDescriptor_718db5c20d0f3738, []int{2}
}
func (m *LinkEsInfo) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_LinkEsInfo.Unmarshal(m, b)
   return m.Unmarshal(b)
}
func (m *LinkEsInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_LinkEsInfo.Marshal(b, m, deterministic)
   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 xxx_messageInfo_LinkEsInfo.Size(m)
   return m.Size()
}
func (m *LinkEsInfo) XXX_DiscardUnknown() {
   xxx_messageInfo_LinkEsInfo.DiscardUnknown(m)
@@ -328,46 +260,56 @@
}
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"`
   FaceFeature          string   `protobuf:"bytes,3,opt,name=faceFeature,proto3" json:"faceFeature,omitempty"`
   PersonPicUrl         string   `protobuf:"bytes,4,opt,name=personPicUrl,proto3" json:"personPicUrl,omitempty"`
   PersonName           string   `protobuf:"bytes,5,opt,name=personName,proto3" json:"personName,omitempty"`
   Age                  string   `protobuf:"bytes,6,opt,name=age,proto3" json:"age,omitempty"`
   Sex                  string   `protobuf:"bytes,7,opt,name=sex,proto3" json:"sex,omitempty"`
   IdCard               string   `protobuf:"bytes,8,opt,name=idCard,proto3" json:"idCard,omitempty"`
   PicDesc              string   `protobuf:"bytes,9,opt,name=picDesc,proto3" json:"picDesc,omitempty"`
   PhoneNum             string   `protobuf:"bytes,10,opt,name=phoneNum,proto3" json:"phoneNum,omitempty"`
   CreateTime           string   `protobuf:"bytes,11,opt,name=createTime,proto3" json:"createTime,omitempty"`
   UpdateTime           string   `protobuf:"bytes,12,opt,name=updateTime,proto3" json:"updateTime,omitempty"`
   CreateBy             string   `protobuf:"bytes,13,opt,name=createBy,proto3" json:"createBy,omitempty"`
   IsDelete             int32    `protobuf:"varint,14,opt,name=isDelete,proto3" json:"isDelete,omitempty"`
   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"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
   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"`
   PersonPicUrl string `protobuf:"bytes,4,opt,name=personPicUrl,proto3" json:"personPicUrl,omitempty"`
   PersonName   string `protobuf:"bytes,5,opt,name=personName,proto3" json:"personName,omitempty"`
   Age          string `protobuf:"bytes,6,opt,name=age,proto3" json:"age,omitempty"`
   Sex          string `protobuf:"bytes,7,opt,name=sex,proto3" json:"sex,omitempty"`
   IdCard       string `protobuf:"bytes,8,opt,name=idCard,proto3" json:"idCard,omitempty"`
   PicDesc      string `protobuf:"bytes,9,opt,name=picDesc,proto3" json:"picDesc,omitempty"`
   PhoneNum     string `protobuf:"bytes,10,opt,name=phoneNum,proto3" json:"phoneNum,omitempty"`
   CreateTime   string `protobuf:"bytes,11,opt,name=createTime,proto3" json:"createTime,omitempty"`
   UpdateTime   string `protobuf:"bytes,12,opt,name=updateTime,proto3" json:"updateTime,omitempty"`
   CreateBy     string `protobuf:"bytes,13,opt,name=createBy,proto3" json:"createBy,omitempty"`
   IsDelete     int32  `protobuf:"varint,14,opt,name=isDelete,proto3" json:"isDelete,omitempty"`
   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{5}
   return fileDescriptor_718db5c20d0f3738, []int{3}
}
func (m *Dbperson) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_Dbperson.Unmarshal(m, b)
   return m.Unmarshal(b)
}
func (m *Dbperson) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_Dbperson.Marshal(b, m, deterministic)
   if deterministic {
      return xxx_messageInfo_Dbperson.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 *Dbperson) XXX_Merge(src proto.Message) {
   xxx_messageInfo_Dbperson.Merge(m, src)
}
func (m *Dbperson) XXX_Size() int {
   return xxx_messageInfo_Dbperson.Size(m)
   return m.Size()
}
func (m *Dbperson) XXX_DiscardUnknown() {
   xxx_messageInfo_Dbperson.DiscardUnknown(m)
@@ -494,45 +436,85 @@
   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"`
   TableDesc            string   `protobuf:"bytes,3,opt,name=tableDesc,proto3" json:"tableDesc,omitempty"`
   TableType            string   `protobuf:"bytes,4,opt,name=tableType,proto3" json:"tableType,omitempty"`
   BwType               string   `protobuf:"bytes,5,opt,name=bwType,proto3" json:"bwType,omitempty"`
   StartTime            string   `protobuf:"bytes,6,opt,name=startTime,proto3" json:"startTime,omitempty"`
   EndTime              string   `protobuf:"bytes,7,opt,name=endTime,proto3" json:"endTime,omitempty"`
   CreateTime           string   `protobuf:"bytes,8,opt,name=createTime,proto3" json:"createTime,omitempty"`
   UpdateTime           string   `protobuf:"bytes,9,opt,name=updateTime,proto3" json:"updateTime,omitempty"`
   CreateBy             string   `protobuf:"bytes,10,opt,name=createBy,proto3" json:"createBy,omitempty"`
   IsDelete             int32    `protobuf:"varint,11,opt,name=isDelete,proto3" json:"isDelete,omitempty"`
   IsForever            string   `protobuf:"bytes,12,opt,name=isForever,proto3" json:"isForever,omitempty"`
   Enable               int32    `protobuf:"varint,13,opt,name=enable,proto3" json:"enable,omitempty"`
   IsSync               string   `protobuf:"bytes,14,opt,name=isSync,proto3" json:"isSync,omitempty"`
   AnalyServerId        string   `protobuf:"bytes,15,opt,name=analyServerId,proto3" json:"analyServerId,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
   Id            string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   TableName     string `protobuf:"bytes,2,opt,name=tableName,proto3" json:"tableName,omitempty"`
   TableDesc     string `protobuf:"bytes,3,opt,name=tableDesc,proto3" json:"tableDesc,omitempty"`
   TableType     string `protobuf:"bytes,4,opt,name=tableType,proto3" json:"tableType,omitempty"`
   BwType        string `protobuf:"bytes,5,opt,name=bwType,proto3" json:"bwType,omitempty"`
   StartTime     string `protobuf:"bytes,6,opt,name=startTime,proto3" json:"startTime,omitempty"`
   EndTime       string `protobuf:"bytes,7,opt,name=endTime,proto3" json:"endTime,omitempty"`
   CreateTime    string `protobuf:"bytes,8,opt,name=createTime,proto3" json:"createTime,omitempty"`
   UpdateTime    string `protobuf:"bytes,9,opt,name=updateTime,proto3" json:"updateTime,omitempty"`
   CreateBy      string `protobuf:"bytes,10,opt,name=createBy,proto3" json:"createBy,omitempty"`
   IsDelete      int32  `protobuf:"varint,11,opt,name=isDelete,proto3" json:"isDelete,omitempty"`
   IsForever     string `protobuf:"bytes,12,opt,name=isForever,proto3" json:"isForever,omitempty"`
   Enable        int32  `protobuf:"varint,13,opt,name=enable,proto3" json:"enable,omitempty"`
   IsSync        string `protobuf:"bytes,14,opt,name=isSync,proto3" json:"isSync,omitempty"`
   AnalyServerId string `protobuf:"bytes,15,opt,name=analyServerId,proto3" json:"analyServerId,omitempty"`
}
func (m *Dbtable) Reset()         { *m = Dbtable{} }
func (m *Dbtable) String() string { return proto.CompactTextString(m) }
func (*Dbtable) ProtoMessage()    {}
func (*Dbtable) Descriptor() ([]byte, []int) {
   return fileDescriptor_718db5c20d0f3738, []int{6}
   return fileDescriptor_718db5c20d0f3738, []int{4}
}
func (m *Dbtable) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_Dbtable.Unmarshal(m, b)
   return m.Unmarshal(b)
}
func (m *Dbtable) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_Dbtable.Marshal(b, m, deterministic)
   if deterministic {
      return xxx_messageInfo_Dbtable.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 *Dbtable) XXX_Merge(src proto.Message) {
   xxx_messageInfo_Dbtable.Merge(m, src)
}
func (m *Dbtable) XXX_Size() int {
   return xxx_messageInfo_Dbtable.Size(m)
   return m.Size()
}
func (m *Dbtable) XXX_DiscardUnknown() {
   xxx_messageInfo_Dbtable.DiscardUnknown(m)
@@ -648,8 +630,6 @@
func init() {
   proto.RegisterType((*Esinfo)(nil), "protomsg.Esinfo")
   proto.RegisterType((*MultiFeaCache)(nil), "protomsg.MultiFeaCache")
   proto.RegisterType((*TargetLocation)(nil), "protomsg.TargetLocation")
   proto.RegisterType((*Location)(nil), "protomsg.Location")
   proto.RegisterType((*LinkEsInfo)(nil), "protomsg.LinkEsInfo")
   proto.RegisterType((*Dbperson)(nil), "protomsg.Dbperson")
   proto.RegisterType((*Dbtable)(nil), "protomsg.Dbtable")
@@ -658,49 +638,2709 @@
func init() { proto.RegisterFile("es.proto", fileDescriptor_718db5c20d0f3738) }
var fileDescriptor_718db5c20d0f3738 = []byte{
   // 689 bytes of a gzipped FileDescriptorProto
   0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x54, 0x4d, 0x6e, 0xdb, 0x38,
   0x14, 0x86, 0xec, 0xc4, 0x96, 0x9e, 0x62, 0x27, 0x43, 0x0c, 0x06, 0x44, 0x10, 0x0c, 0x0c, 0x61,
   0x30, 0xf0, 0xa2, 0xc8, 0x22, 0xcd, 0x01, 0x8a, 0xc6, 0x09, 0x60, 0xc0, 0x0d, 0x0a, 0x25, 0x3d,
   0x00, 0x2d, 0x3d, 0xdb, 0x44, 0x25, 0x51, 0xa0, 0xe8, 0xd4, 0xbe, 0x52, 0x37, 0xdd, 0xf5, 0x34,
   0xbd, 0x45, 0x2f, 0x50, 0x90, 0x94, 0x2c, 0xc9, 0x4e, 0xd3, 0x76, 0x65, 0x7f, 0xdf, 0xf7, 0xc4,
   0xf7, 0xf3, 0x3d, 0x12, 0x5c, 0x2c, 0x2e, 0x73, 0x29, 0x94, 0x20, 0xae, 0xf9, 0x49, 0x8b, 0x65,
   0xf0, 0xd5, 0x81, 0xde, 0x6d, 0xc1, 0xb3, 0x85, 0x20, 0x43, 0xe8, 0xf0, 0x98, 0x3a, 0x23, 0x67,
   0xec, 0x85, 0x1d, 0x1e, 0x13, 0x0a, 0x7d, 0xc5, 0xe6, 0x09, 0xf2, 0x98, 0x76, 0x0c, 0x59, 0x41,
   0x32, 0x02, 0x7f, 0xc1, 0x22, 0xbc, 0x43, 0xa6, 0xd6, 0x12, 0x69, 0xd7, 0xa8, 0x4d, 0x8a, 0x04,
   0x70, 0x12, 0x89, 0x34, 0x67, 0x12, 0x1f, 0x22, 0x21, 0x91, 0x1e, 0x8d, 0x9c, 0x71, 0x27, 0x6c,
   0x71, 0xe4, 0x1f, 0xe8, 0x61, 0xa6, 0x4f, 0xa4, 0xc7, 0x23, 0x67, 0x7c, 0x1c, 0x96, 0x88, 0xfc,
   0x07, 0x03, 0x96, 0xb1, 0x64, 0xfb, 0x80, 0xf2, 0x09, 0xe5, 0x34, 0xa6, 0x3d, 0x73, 0x7e, 0x9b,
   0x0c, 0xbe, 0x3b, 0x30, 0x78, 0xb7, 0x4e, 0x14, 0xbf, 0x43, 0x76, 0xc3, 0xa2, 0x15, 0x92, 0x31,
   0xf4, 0xb0, 0x98, 0x66, 0x0b, 0x61, 0x7a, 0xf0, 0xaf, 0xce, 0x2e, 0xab, 0x2e, 0x2f, 0x6d, 0x87,
   0x61, 0xa9, 0x9b, 0x0c, 0x4a, 0xb1, 0x68, 0x55, 0x75, 0xd0, 0x29, 0x33, 0x34, 0x49, 0x72, 0x0e,
   0x6e, 0xc4, 0x52, 0x94, 0x6c, 0x1a, 0x97, 0x2d, 0xee, 0x30, 0xb9, 0x06, 0x48, 0x78, 0xf6, 0xf1,
   0xd6, 0xe6, 0x3b, 0x1a, 0x75, 0xc7, 0xfe, 0xd5, 0xdf, 0x75, 0xbe, 0xd9, 0x4e, 0x0b, 0x1b, 0x71,
   0xe4, 0x0d, 0x0c, 0x15, 0x93, 0x4b, 0x54, 0x33, 0x11, 0x31, 0xc5, 0x45, 0x66, 0x3a, 0xf7, 0xaf,
   0x68, 0xfd, 0xe5, 0x63, 0x4b, 0x0f, 0xf7, 0xe2, 0x03, 0x05, 0xc3, 0x76, 0x04, 0x79, 0x05, 0x7d,
   0x25, 0xf2, 0x19, 0x2e, 0x54, 0xd9, 0x36, 0x69, 0x94, 0x51, 0x1d, 0x53, 0x85, 0x90, 0x6b, 0xf0,
   0xe7, 0x42, 0x29, 0x91, 0x86, 0x7c, 0xb9, 0x52, 0xa6, 0xef, 0xe7, 0xbf, 0x68, 0x86, 0x05, 0xff,
   0x83, 0xbb, 0xcb, 0x77, 0x02, 0xce, 0xc6, 0x64, 0x72, 0x42, 0x67, 0xa3, 0xd1, 0xd6, 0x9c, 0xe2,
   0x84, 0xce, 0x36, 0xf8, 0xec, 0x00, 0xd4, 0xad, 0xb7, 0x06, 0xe8, 0xec, 0x0d, 0x90, 0x42, 0x7f,
   0xd1, 0x1a, 0x7e, 0x05, 0x0f, 0xcd, 0xe9, 0x3e, 0x67, 0xce, 0xe1, 0x28, 0x8f, 0xfe, 0x70, 0x94,
   0xdf, 0xba, 0xe0, 0x4e, 0xe6, 0x39, 0xca, 0x42, 0x64, 0x3f, 0xdd, 0xfd, 0x69, 0x7b, 0xf7, 0xa7,
   0xbf, 0xb9, 0xfb, 0xf6, 0xd4, 0xf7, 0x3c, 0xfa, 0x20, 0x13, 0x53, 0x98, 0x17, 0xb6, 0x38, 0xf2,
   0x2f, 0x80, 0xc5, 0xf7, 0x2c, 0xb5, 0xfb, 0xef, 0x85, 0x0d, 0x86, 0x9c, 0x41, 0x97, 0x2d, 0xb1,
   0xdc, 0x7c, 0xfd, 0x57, 0x33, 0x05, 0x6e, 0x68, 0xdf, 0x32, 0x05, 0x6e, 0xf4, 0xfd, 0xe1, 0xf1,
   0x0d, 0x93, 0x31, 0x75, 0x0d, 0x59, 0x22, 0x5d, 0x7b, 0xce, 0xa3, 0x09, 0x16, 0x11, 0xf5, 0x6c,
   0xed, 0x25, 0xd4, 0x86, 0xe4, 0x2b, 0x91, 0xe1, 0xfd, 0x3a, 0xa5, 0x60, 0x0d, 0xa9, 0xb0, 0xae,
   0x28, 0x92, 0xc8, 0x14, 0x3e, 0xf2, 0x14, 0xa9, 0x6f, 0x2b, 0xaa, 0x19, 0xad, 0xaf, 0xf3, 0xb8,
   0xd2, 0x4f, 0xac, 0x5e, 0x33, 0xc6, 0x6c, 0x13, 0xfd, 0x76, 0x4b, 0x07, 0xa5, 0xd9, 0x25, 0xd6,
   0x1a, 0x2f, 0x26, 0x98, 0xa0, 0x42, 0x3a, 0x34, 0x77, 0x7d, 0x87, 0xf5, 0xb4, 0x52, 0x91, 0x71,
   0x25, 0xe4, 0x0c, 0x9f, 0x30, 0xa1, 0xa7, 0x76, 0x5a, 0x4d, 0xae, 0xf1, 0x52, 0x9c, 0xb5, 0x5e,
   0x8a, 0x73, 0x70, 0x25, 0x16, 0xfa, 0x45, 0x88, 0xe9, 0x5f, 0x36, 0x67, 0x85, 0x83, 0x2f, 0x5d,
   0xe8, 0x4f, 0xe6, 0xc6, 0xb5, 0x03, 0x77, 0x2f, 0xc0, 0x33, 0x82, 0x19, 0xbe, 0xf5, 0xb7, 0x26,
   0x76, 0xaa, 0x99, 0x60, 0xb7, 0xa1, 0x9a, 0x19, 0x56, 0xea, 0xe3, 0x36, 0xc7, 0xd2, 0xda, 0x9a,
   0xd0, 0x95, 0xce, 0x3f, 0x19, 0xc9, 0x7a, 0x5a, 0x22, 0xfd, 0x55, 0xa1, 0x98, 0x54, 0x66, 0x78,
   0xd6, 0xd5, 0x9a, 0xd0, 0x8e, 0x61, 0x16, 0x1b, 0xcd, 0xfa, 0x5b, 0xc1, 0x3d, 0x57, 0xdc, 0x5f,
   0xb8, 0xe2, 0xbd, 0xe8, 0x0a, 0xbc, 0xe0, 0x8a, 0xbf, 0xe7, 0xca, 0x05, 0x78, 0xbc, 0xb8, 0x13,
   0x12, 0x9f, 0x50, 0x96, 0x66, 0xd7, 0x44, 0xc3, 0x8f, 0x41, 0xcb, 0x0f, 0xbd, 0x91, 0xc5, 0xc3,
   0x36, 0x8b, 0x8c, 0xcb, 0x7a, 0x23, 0x0d, 0x3a, 0x7c, 0xd1, 0x4f, 0x9f, 0x79, 0xd1, 0xe7, 0x3d,
   0x73, 0x73, 0x5f, 0xff, 0x08, 0x00, 0x00, 0xff, 0xff, 0xf7, 0x5e, 0xe4, 0x00, 0xa7, 0x06, 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) {
   size := m.Size()
   dAtA = make([]byte, size)
   n, err := m.MarshalTo(dAtA)
   if err != nil {
      return nil, err
   }
   return dAtA[:n], nil
}
func (m *Esinfo) MarshalTo(dAtA []byte) (int, error) {
   var i int
   _ = i
   var l int
   _ = l
   if len(m.Id) > 0 {
      dAtA[i] = 0xa
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.Id)))
      i += copy(dAtA[i:], m.Id)
   }
   if len(m.Tableid) > 0 {
      dAtA[i] = 0x12
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.Tableid)))
      i += copy(dAtA[i:], m.Tableid)
   }
   if len(m.FaceFeature) > 0 {
      dAtA[i] = 0x1a
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.FaceFeature)))
      i += copy(dAtA[i:], m.FaceFeature)
   }
   if m.CompareScore != 0 {
      dAtA[i] = 0x25
      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
}
func (m *Dbperson) 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 *Dbperson) MarshalTo(dAtA []byte) (int, error) {
   var i int
   _ = i
   var l int
   _ = l
   if len(m.Id) > 0 {
      dAtA[i] = 0xa
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.Id)))
      i += copy(dAtA[i:], m.Id)
   }
   if len(m.TableId) > 0 {
      dAtA[i] = 0x12
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.TableId)))
      i += copy(dAtA[i:], m.TableId)
   }
   if len(m.FaceFeature) > 0 {
      dAtA[i] = 0x1a
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.FaceFeature)))
      i += copy(dAtA[i:], m.FaceFeature)
   }
   if len(m.PersonPicUrl) > 0 {
      dAtA[i] = 0x22
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.PersonPicUrl)))
      i += copy(dAtA[i:], m.PersonPicUrl)
   }
   if len(m.PersonName) > 0 {
      dAtA[i] = 0x2a
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.PersonName)))
      i += copy(dAtA[i:], m.PersonName)
   }
   if len(m.Age) > 0 {
      dAtA[i] = 0x32
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.Age)))
      i += copy(dAtA[i:], m.Age)
   }
   if len(m.Sex) > 0 {
      dAtA[i] = 0x3a
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.Sex)))
      i += copy(dAtA[i:], m.Sex)
   }
   if len(m.IdCard) > 0 {
      dAtA[i] = 0x42
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.IdCard)))
      i += copy(dAtA[i:], m.IdCard)
   }
   if len(m.PicDesc) > 0 {
      dAtA[i] = 0x4a
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.PicDesc)))
      i += copy(dAtA[i:], m.PicDesc)
   }
   if len(m.PhoneNum) > 0 {
      dAtA[i] = 0x52
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.PhoneNum)))
      i += copy(dAtA[i:], m.PhoneNum)
   }
   if len(m.CreateTime) > 0 {
      dAtA[i] = 0x5a
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.CreateTime)))
      i += copy(dAtA[i:], m.CreateTime)
   }
   if len(m.UpdateTime) > 0 {
      dAtA[i] = 0x62
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.UpdateTime)))
      i += copy(dAtA[i:], m.UpdateTime)
   }
   if len(m.CreateBy) > 0 {
      dAtA[i] = 0x6a
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.CreateBy)))
      i += copy(dAtA[i:], m.CreateBy)
   }
   if m.IsDelete != 0 {
      dAtA[i] = 0x70
      i++
      i = encodeVarintEs(dAtA, i, uint64(m.IsDelete))
   }
   if len(m.MonitorLevel) > 0 {
      dAtA[i] = 0x7a
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.MonitorLevel)))
      i += copy(dAtA[i:], m.MonitorLevel)
   }
   if m.Enable != 0 {
      dAtA[i] = 0x80
      i++
      dAtA[i] = 0x1
      i++
      i = encodeVarintEs(dAtA, i, uint64(m.Enable))
   }
   if len(m.Reserved) > 0 {
      dAtA[i] = 0x8a
      i++
      dAtA[i] = 0x1
      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
}
func (m *Dbtable) 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 *Dbtable) MarshalTo(dAtA []byte) (int, error) {
   var i int
   _ = i
   var l int
   _ = l
   if len(m.Id) > 0 {
      dAtA[i] = 0xa
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.Id)))
      i += copy(dAtA[i:], m.Id)
   }
   if len(m.TableName) > 0 {
      dAtA[i] = 0x12
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.TableName)))
      i += copy(dAtA[i:], m.TableName)
   }
   if len(m.TableDesc) > 0 {
      dAtA[i] = 0x1a
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.TableDesc)))
      i += copy(dAtA[i:], m.TableDesc)
   }
   if len(m.TableType) > 0 {
      dAtA[i] = 0x22
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.TableType)))
      i += copy(dAtA[i:], m.TableType)
   }
   if len(m.BwType) > 0 {
      dAtA[i] = 0x2a
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.BwType)))
      i += copy(dAtA[i:], m.BwType)
   }
   if len(m.StartTime) > 0 {
      dAtA[i] = 0x32
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.StartTime)))
      i += copy(dAtA[i:], m.StartTime)
   }
   if len(m.EndTime) > 0 {
      dAtA[i] = 0x3a
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.EndTime)))
      i += copy(dAtA[i:], m.EndTime)
   }
   if len(m.CreateTime) > 0 {
      dAtA[i] = 0x42
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.CreateTime)))
      i += copy(dAtA[i:], m.CreateTime)
   }
   if len(m.UpdateTime) > 0 {
      dAtA[i] = 0x4a
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.UpdateTime)))
      i += copy(dAtA[i:], m.UpdateTime)
   }
   if len(m.CreateBy) > 0 {
      dAtA[i] = 0x52
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.CreateBy)))
      i += copy(dAtA[i:], m.CreateBy)
   }
   if m.IsDelete != 0 {
      dAtA[i] = 0x58
      i++
      i = encodeVarintEs(dAtA, i, uint64(m.IsDelete))
   }
   if len(m.IsForever) > 0 {
      dAtA[i] = 0x62
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.IsForever)))
      i += copy(dAtA[i:], m.IsForever)
   }
   if m.Enable != 0 {
      dAtA[i] = 0x68
      i++
      i = encodeVarintEs(dAtA, i, uint64(m.Enable))
   }
   if len(m.IsSync) > 0 {
      dAtA[i] = 0x72
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.IsSync)))
      i += copy(dAtA[i:], m.IsSync)
   }
   if len(m.AnalyServerId) > 0 {
      dAtA[i] = 0x7a
      i++
      i = encodeVarintEs(dAtA, i, uint64(len(m.AnalyServerId)))
      i += copy(dAtA[i:], m.AnalyServerId)
   }
   return i, nil
}
func encodeVarintEs(dAtA []byte, offset int, v uint64) int {
   for v >= 1<<7 {
      dAtA[offset] = uint8(v&0x7f | 0x80)
      v >>= 7
      offset++
   }
   dAtA[offset] = uint8(v)
   return offset + 1
}
func (m *Esinfo) Size() (n int) {
   if m == nil {
      return 0
   }
   var l int
   _ = l
   l = len(m.Id)
   if l > 0 {
      n += 1 + l + sovEs(uint64(l))
   }
   l = len(m.Tableid)
   if l > 0 {
      n += 1 + l + sovEs(uint64(l))
   }
   l = len(m.FaceFeature)
   if l > 0 {
      n += 1 + l + sovEs(uint64(l))
   }
   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
}
func (m *Dbperson) Size() (n int) {
   if m == nil {
      return 0
   }
   var l int
   _ = l
   l = len(m.Id)
   if l > 0 {
      n += 1 + l + sovEs(uint64(l))
   }
   l = len(m.TableId)
   if l > 0 {
      n += 1 + l + sovEs(uint64(l))
   }
   l = len(m.FaceFeature)
   if l > 0 {
      n += 1 + l + sovEs(uint64(l))
   }
   l = len(m.PersonPicUrl)
   if l > 0 {
      n += 1 + l + sovEs(uint64(l))
   }
   l = len(m.PersonName)
   if l > 0 {
      n += 1 + l + sovEs(uint64(l))
   }
   l = len(m.Age)
   if l > 0 {
      n += 1 + l + sovEs(uint64(l))
   }
   l = len(m.Sex)
   if l > 0 {
      n += 1 + l + sovEs(uint64(l))
   }
   l = len(m.IdCard)
   if l > 0 {
      n += 1 + l + sovEs(uint64(l))
   }
   l = len(m.PicDesc)
   if l > 0 {
      n += 1 + l + sovEs(uint64(l))
   }
   l = len(m.PhoneNum)
   if l > 0 {
      n += 1 + l + sovEs(uint64(l))
   }
   l = len(m.CreateTime)
   if l > 0 {
      n += 1 + l + sovEs(uint64(l))
   }
   l = len(m.UpdateTime)
   if l > 0 {
      n += 1 + l + sovEs(uint64(l))
   }
   l = len(m.CreateBy)
   if l > 0 {
      n += 1 + l + sovEs(uint64(l))
   }
   if m.IsDelete != 0 {
      n += 1 + sovEs(uint64(m.IsDelete))
   }
   l = len(m.MonitorLevel)
   if l > 0 {
      n += 1 + l + sovEs(uint64(l))
   }
   if m.Enable != 0 {
      n += 2 + sovEs(uint64(m.Enable))
   }
   l = len(m.Reserved)
   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
}
func (m *Dbtable) Size() (n int) {
   if m == nil {
      return 0
   }
   var l int
   _ = l
   l = len(m.Id)
   if l > 0 {
      n += 1 + l + sovEs(uint64(l))
   }
   l = len(m.TableName)
   if l > 0 {
      n += 1 + l + sovEs(uint64(l))
   }
   l = len(m.TableDesc)
   if l > 0 {
      n += 1 + l + sovEs(uint64(l))
   }
   l = len(m.TableType)
   if l > 0 {
      n += 1 + l + sovEs(uint64(l))
   }
   l = len(m.BwType)
   if l > 0 {
      n += 1 + l + sovEs(uint64(l))
   }
   l = len(m.StartTime)
   if l > 0 {
      n += 1 + l + sovEs(uint64(l))
   }
   l = len(m.EndTime)
   if l > 0 {
      n += 1 + l + sovEs(uint64(l))
   }
   l = len(m.CreateTime)
   if l > 0 {
      n += 1 + l + sovEs(uint64(l))
   }
   l = len(m.UpdateTime)
   if l > 0 {
      n += 1 + l + sovEs(uint64(l))
   }
   l = len(m.CreateBy)
   if l > 0 {
      n += 1 + l + sovEs(uint64(l))
   }
   if m.IsDelete != 0 {
      n += 1 + sovEs(uint64(m.IsDelete))
   }
   l = len(m.IsForever)
   if l > 0 {
      n += 1 + l + sovEs(uint64(l))
   }
   if m.Enable != 0 {
      n += 1 + sovEs(uint64(m.Enable))
   }
   l = len(m.IsSync)
   if l > 0 {
      n += 1 + l + sovEs(uint64(l))
   }
   l = len(m.AnalyServerId)
   if l > 0 {
      n += 1 + l + sovEs(uint64(l))
   }
   return n
}
func sovEs(x uint64) (n int) {
   return (math_bits.Len64(x|1) + 6) / 7
}
func sozEs(x uint64) (n int) {
   return sovEs(uint64((x << 1) ^ uint64((int64(x) >> 63))))
}
func (m *Esinfo) 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: Esinfo: wiretype end group for non-group")
      }
      if fieldNum <= 0 {
         return fmt.Errorf("proto: Esinfo: illegal tag %d (wire type %d)", fieldNum, wire)
      }
      switch fieldNum {
      case 1:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field Id", 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.Id = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 2:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field Tableid", 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.Tableid = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 3:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field FaceFeature", 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.FaceFeature = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 4:
         if wireType != 5 {
            return fmt.Errorf("proto: wrong wireType = %d for field CompareScore", wireType)
         }
         var v uint32
         if (iNdEx + 4) > l {
            return io.ErrUnexpectedEOF
         }
         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:])
         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 *Dbperson) 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: Dbperson: wiretype end group for non-group")
      }
      if fieldNum <= 0 {
         return fmt.Errorf("proto: Dbperson: illegal tag %d (wire type %d)", fieldNum, wire)
      }
      switch fieldNum {
      case 1:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field Id", 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.Id = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 2:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field TableId", 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.TableId = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 3:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field FaceFeature", 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.FaceFeature = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 4:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field PersonPicUrl", 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.PersonPicUrl = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 5:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field PersonName", 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.PersonName = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 6:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field Age", 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.Age = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 7:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field Sex", 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.Sex = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 8:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field IdCard", 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.IdCard = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 9:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field PicDesc", 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.PicDesc = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 10:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field PhoneNum", 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.PhoneNum = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 11:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field CreateTime", 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.CreateTime = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 12:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field UpdateTime", 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.UpdateTime = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 13:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field CreateBy", 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.CreateBy = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 14:
         if wireType != 0 {
            return fmt.Errorf("proto: wrong wireType = %d for field IsDelete", wireType)
         }
         m.IsDelete = 0
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowEs
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            m.IsDelete |= int32(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
      case 15:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field MonitorLevel", 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.MonitorLevel = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 16:
         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 17:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field Reserved", 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.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:])
         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 *Dbtable) 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: Dbtable: wiretype end group for non-group")
      }
      if fieldNum <= 0 {
         return fmt.Errorf("proto: Dbtable: illegal tag %d (wire type %d)", fieldNum, wire)
      }
      switch fieldNum {
      case 1:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field Id", 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.Id = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 2:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field TableName", 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.TableName = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 3:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field TableDesc", 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.TableDesc = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 4:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field TableType", 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.TableType = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 5:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field BwType", 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.BwType = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 6:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field StartTime", 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.StartTime = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 7:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field EndTime", 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.EndTime = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 8:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field CreateTime", 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.CreateTime = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 9:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field UpdateTime", 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.UpdateTime = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 10:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field CreateBy", 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.CreateBy = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 11:
         if wireType != 0 {
            return fmt.Errorf("proto: wrong wireType = %d for field IsDelete", wireType)
         }
         m.IsDelete = 0
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowEs
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            m.IsDelete |= int32(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
      case 12:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field IsForever", 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.IsForever = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 13:
         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 14:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field IsSync", 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.IsSync = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 15:
         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
      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 skipEs(dAtA []byte) (n int, err error) {
   l := len(dAtA)
   iNdEx := 0
   for iNdEx < l {
      var wire uint64
      for shift := uint(0); ; shift += 7 {
         if shift >= 64 {
            return 0, ErrIntOverflowEs
         }
         if iNdEx >= l {
            return 0, io.ErrUnexpectedEOF
         }
         b := dAtA[iNdEx]
         iNdEx++
         wire |= (uint64(b) & 0x7F) << shift
         if b < 0x80 {
            break
         }
      }
      wireType := int(wire & 0x7)
      switch wireType {
      case 0:
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return 0, ErrIntOverflowEs
            }
            if iNdEx >= l {
               return 0, io.ErrUnexpectedEOF
            }
            iNdEx++
            if dAtA[iNdEx-1] < 0x80 {
               break
            }
         }
         return iNdEx, nil
      case 1:
         iNdEx += 8
         return iNdEx, nil
      case 2:
         var length int
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return 0, ErrIntOverflowEs
            }
            if iNdEx >= l {
               return 0, io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            length |= (int(b) & 0x7F) << shift
            if b < 0x80 {
               break
            }
         }
         if length < 0 {
            return 0, ErrInvalidLengthEs
         }
         iNdEx += length
         if iNdEx < 0 {
            return 0, ErrInvalidLengthEs
         }
         return iNdEx, nil
      case 3:
         for {
            var innerWire uint64
            var start int = iNdEx
            for shift := uint(0); ; shift += 7 {
               if shift >= 64 {
                  return 0, ErrIntOverflowEs
               }
               if iNdEx >= l {
                  return 0, io.ErrUnexpectedEOF
               }
               b := dAtA[iNdEx]
               iNdEx++
               innerWire |= (uint64(b) & 0x7F) << shift
               if b < 0x80 {
                  break
               }
            }
            innerWireType := int(innerWire & 0x7)
            if innerWireType == 4 {
               break
            }
            next, err := skipEs(dAtA[start:])
            if err != nil {
               return 0, err
            }
            iNdEx = start + next
            if iNdEx < 0 {
               return 0, ErrInvalidLengthEs
            }
         }
         return iNdEx, nil
      case 4:
         return iNdEx, nil
      case 5:
         iNdEx += 4
         return iNdEx, nil
      default:
         return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
      }
   }
   panic("unreachable")
}
var (
   ErrInvalidLengthEs = fmt.Errorf("proto: negative length found during unmarshaling")
   ErrIntOverflowEs   = fmt.Errorf("proto: integer overflow")
)