cheliequan
2023-02-07 e5826a0b7cc29d176f69ec34fec83f7146cd1d30
sdk.pb.go
@@ -9,7 +9,6 @@
   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.
@@ -21,16 +20,19 @@
// 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.GoGoProtoPackageIsVersion3 // please upgrade the proto package
const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
// Image ipc struct
type Image struct {
   Width     int32  `protobuf:"varint,1,opt,name=width,proto3" json:"width,omitempty"`
   Height    int32  `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"`
   Data      []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
   Timestamp string `protobuf:"bytes,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
   Id        int64  `protobuf:"varint,5,opt,name=id,proto3" json:"id,omitempty"`
   Cid       string `protobuf:"bytes,6,opt,name=cid,proto3" json:"cid,omitempty"`
   Width        int32  `protobuf:"varint,1,opt,name=width,proto3" json:"width,omitempty"`
   Height       int32  `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"`
   Data         []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
   Timestamp    string `protobuf:"bytes,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
   Id           int64  `protobuf:"varint,5,opt,name=id,proto3" json:"id,omitempty"`
   Cid          string `protobuf:"bytes,6,opt,name=cid,proto3" json:"cid,omitempty"`
   Cname        string `protobuf:"bytes,7,opt,name=cname,proto3" json:"cname,omitempty"`
   Channel      int32  `protobuf:"varint,8,opt,name=channel,proto3" json:"channel,omitempty"`
   I64Timestamp int64  `protobuf:"varint,9,opt,name=i64timestamp,proto3" json:"i64timestamp,omitempty"`
}
func (m *Image) Reset()         { *m = Image{} }
@@ -47,7 +49,7 @@
      return xxx_messageInfo_Image.Marshal(b, m, deterministic)
   } else {
      b = b[:cap(b)]
      n, err := m.MarshalToSizedBuffer(b)
      n, err := m.MarshalTo(b)
      if err != nil {
         return nil, err
      }
@@ -108,6 +110,247 @@
   return ""
}
func (m *Image) GetCname() string {
   if m != nil {
      return m.Cname
   }
   return ""
}
func (m *Image) GetChannel() int32 {
   if m != nil {
      return m.Channel
   }
   return 0
}
func (m *Image) GetI64Timestamp() int64 {
   if m != nil {
      return m.I64Timestamp
   }
   return 0
}
type Target struct {
   Id         uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
   Type       string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
   Confidence int32  `protobuf:"varint,3,opt,name=confidence,proto3" json:"confidence,omitempty"`
   Rect       *Rect  `protobuf:"bytes,4,opt,name=rect,proto3" json:"rect,omitempty"`
   Feature    []byte `protobuf:"bytes,5,opt,name=feature,proto3" json:"feature,omitempty"`
   Attribute  []byte `protobuf:"bytes,6,opt,name=attribute,proto3" json:"attribute,omitempty"`
}
func (m *Target) Reset()         { *m = Target{} }
func (m *Target) String() string { return proto.CompactTextString(m) }
func (*Target) ProtoMessage()    {}
func (*Target) Descriptor() ([]byte, []int) {
   return fileDescriptor_70decb0fb6f436df, []int{1}
}
func (m *Target) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
}
func (m *Target) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   if deterministic {
      return xxx_messageInfo_Target.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 *Target) XXX_Merge(src proto.Message) {
   xxx_messageInfo_Target.Merge(m, src)
}
func (m *Target) XXX_Size() int {
   return m.Size()
}
func (m *Target) XXX_DiscardUnknown() {
   xxx_messageInfo_Target.DiscardUnknown(m)
}
var xxx_messageInfo_Target proto.InternalMessageInfo
func (m *Target) GetId() uint64 {
   if m != nil {
      return m.Id
   }
   return 0
}
func (m *Target) GetType() string {
   if m != nil {
      return m.Type
   }
   return ""
}
func (m *Target) GetConfidence() int32 {
   if m != nil {
      return m.Confidence
   }
   return 0
}
func (m *Target) GetRect() *Rect {
   if m != nil {
      return m.Rect
   }
   return nil
}
func (m *Target) GetFeature() []byte {
   if m != nil {
      return m.Feature
   }
   return nil
}
func (m *Target) GetAttribute() []byte {
   if m != nil {
      return m.Attribute
   }
   return nil
}
type NewSDKMessage struct {
   SdkID     string    `protobuf:"bytes,1,opt,name=sdkID,proto3" json:"sdkID,omitempty"`
   SdkType   string    `protobuf:"bytes,2,opt,name=sdkType,proto3" json:"sdkType,omitempty"`
   SdkName   string    `protobuf:"bytes,3,opt,name=sdkName,proto3" json:"sdkName,omitempty"`
   Target    []*Target `protobuf:"bytes,4,rep,name=target,proto3" json:"target,omitempty"`
   Timestamp string    `protobuf:"bytes,5,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
}
func (m *NewSDKMessage) Reset()         { *m = NewSDKMessage{} }
func (m *NewSDKMessage) String() string { return proto.CompactTextString(m) }
func (*NewSDKMessage) ProtoMessage()    {}
func (*NewSDKMessage) Descriptor() ([]byte, []int) {
   return fileDescriptor_70decb0fb6f436df, []int{2}
}
func (m *NewSDKMessage) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
}
func (m *NewSDKMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   if deterministic {
      return xxx_messageInfo_NewSDKMessage.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 *NewSDKMessage) XXX_Merge(src proto.Message) {
   xxx_messageInfo_NewSDKMessage.Merge(m, src)
}
func (m *NewSDKMessage) XXX_Size() int {
   return m.Size()
}
func (m *NewSDKMessage) XXX_DiscardUnknown() {
   xxx_messageInfo_NewSDKMessage.DiscardUnknown(m)
}
var xxx_messageInfo_NewSDKMessage proto.InternalMessageInfo
func (m *NewSDKMessage) GetSdkID() string {
   if m != nil {
      return m.SdkID
   }
   return ""
}
func (m *NewSDKMessage) GetSdkType() string {
   if m != nil {
      return m.SdkType
   }
   return ""
}
func (m *NewSDKMessage) GetSdkName() string {
   if m != nil {
      return m.SdkName
   }
   return ""
}
func (m *NewSDKMessage) GetTarget() []*Target {
   if m != nil {
      return m.Target
   }
   return nil
}
func (m *NewSDKMessage) GetTimestamp() string {
   if m != nil {
      return m.Timestamp
   }
   return ""
}
type NewRuleMessage struct {
   DataType    string           `protobuf:"bytes,1,opt,name=dataType,proto3" json:"dataType,omitempty"`
   HandleTrack string           `protobuf:"bytes,2,opt,name=handleTrack,proto3" json:"handleTrack,omitempty"`
   Message     []*NewSDKMessage `protobuf:"bytes,3,rep,name=message,proto3" json:"message,omitempty"`
}
func (m *NewRuleMessage) Reset()         { *m = NewRuleMessage{} }
func (m *NewRuleMessage) String() string { return proto.CompactTextString(m) }
func (*NewRuleMessage) ProtoMessage()    {}
func (*NewRuleMessage) Descriptor() ([]byte, []int) {
   return fileDescriptor_70decb0fb6f436df, []int{3}
}
func (m *NewRuleMessage) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
}
func (m *NewRuleMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   if deterministic {
      return xxx_messageInfo_NewRuleMessage.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 *NewRuleMessage) XXX_Merge(src proto.Message) {
   xxx_messageInfo_NewRuleMessage.Merge(m, src)
}
func (m *NewRuleMessage) XXX_Size() int {
   return m.Size()
}
func (m *NewRuleMessage) XXX_DiscardUnknown() {
   xxx_messageInfo_NewRuleMessage.DiscardUnknown(m)
}
var xxx_messageInfo_NewRuleMessage proto.InternalMessageInfo
func (m *NewRuleMessage) GetDataType() string {
   if m != nil {
      return m.DataType
   }
   return ""
}
func (m *NewRuleMessage) GetHandleTrack() string {
   if m != nil {
      return m.HandleTrack
   }
   return ""
}
func (m *NewRuleMessage) GetMessage() []*NewSDKMessage {
   if m != nil {
      return m.Message
   }
   return nil
}
type FaceAngle struct {
   Yaw        int32   `protobuf:"varint,1,opt,name=yaw,proto3" json:"yaw,omitempty"`
   Pitch      int32   `protobuf:"varint,2,opt,name=pitch,proto3" json:"pitch,omitempty"`
@@ -119,7 +362,7 @@
func (m *FaceAngle) String() string { return proto.CompactTextString(m) }
func (*FaceAngle) ProtoMessage()    {}
func (*FaceAngle) Descriptor() ([]byte, []int) {
   return fileDescriptor_70decb0fb6f436df, []int{1}
   return fileDescriptor_70decb0fb6f436df, []int{4}
}
func (m *FaceAngle) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -129,7 +372,7 @@
      return xxx_messageInfo_FaceAngle.Marshal(b, m, deterministic)
   } else {
      b = b[:cap(b)]
      n, err := m.MarshalToSizedBuffer(b)
      n, err := m.MarshalTo(b)
      if err != nil {
         return nil, err
      }
@@ -188,7 +431,7 @@
func (m *ThftResult) String() string { return proto.CompactTextString(m) }
func (*ThftResult) ProtoMessage()    {}
func (*ThftResult) Descriptor() ([]byte, []int) {
   return fileDescriptor_70decb0fb6f436df, []int{2}
   return fileDescriptor_70decb0fb6f436df, []int{5}
}
func (m *ThftResult) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -198,7 +441,7 @@
      return xxx_messageInfo_ThftResult.Marshal(b, m, deterministic)
   } else {
      b = b[:cap(b)]
      n, err := m.MarshalToSizedBuffer(b)
      n, err := m.MarshalTo(b)
      if err != nil {
         return nil, err
      }
@@ -268,7 +511,7 @@
func (m *FacePos) String() string { return proto.CompactTextString(m) }
func (*FacePos) ProtoMessage()    {}
func (*FacePos) Descriptor() ([]byte, []int) {
   return fileDescriptor_70decb0fb6f436df, []int{3}
   return fileDescriptor_70decb0fb6f436df, []int{6}
}
func (m *FacePos) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -278,7 +521,7 @@
      return xxx_messageInfo_FacePos.Marshal(b, m, deterministic)
   } else {
      b = b[:cap(b)]
      n, err := m.MarshalToSizedBuffer(b)
      n, err := m.MarshalTo(b)
      if err != nil {
         return nil, err
      }
@@ -376,7 +619,7 @@
func (m *FaceInfo) String() string { return proto.CompactTextString(m) }
func (*FaceInfo) ProtoMessage()    {}
func (*FaceInfo) Descriptor() ([]byte, []int) {
   return fileDescriptor_70decb0fb6f436df, []int{4}
   return fileDescriptor_70decb0fb6f436df, []int{7}
}
func (m *FaceInfo) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -386,7 +629,7 @@
      return xxx_messageInfo_FaceInfo.Marshal(b, m, deterministic)
   } else {
      b = b[:cap(b)]
      n, err := m.MarshalToSizedBuffer(b)
      n, err := m.MarshalTo(b)
      if err != nil {
         return nil, err
      }
@@ -479,7 +722,7 @@
func (m *ObjInfo) String() string { return proto.CompactTextString(m) }
func (*ObjInfo) ProtoMessage()    {}
func (*ObjInfo) Descriptor() ([]byte, []int) {
   return fileDescriptor_70decb0fb6f436df, []int{5}
   return fileDescriptor_70decb0fb6f436df, []int{8}
}
func (m *ObjInfo) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -489,7 +732,7 @@
      return xxx_messageInfo_ObjInfo.Marshal(b, m, deterministic)
   } else {
      b = b[:cap(b)]
      n, err := m.MarshalToSizedBuffer(b)
      n, err := m.MarshalTo(b)
      if err != nil {
         return nil, err
      }
@@ -547,7 +790,7 @@
func (m *ResultFaceDetect) String() string { return proto.CompactTextString(m) }
func (*ResultFaceDetect) ProtoMessage()    {}
func (*ResultFaceDetect) Descriptor() ([]byte, []int) {
   return fileDescriptor_70decb0fb6f436df, []int{6}
   return fileDescriptor_70decb0fb6f436df, []int{9}
}
func (m *ResultFaceDetect) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -557,7 +800,7 @@
      return xxx_messageInfo_ResultFaceDetect.Marshal(b, m, deterministic)
   } else {
      b = b[:cap(b)]
      n, err := m.MarshalToSizedBuffer(b)
      n, err := m.MarshalTo(b)
      if err != nil {
         return nil, err
      }
@@ -605,7 +848,7 @@
func (m *ParamFacePos) String() string { return proto.CompactTextString(m) }
func (*ParamFacePos) ProtoMessage()    {}
func (*ParamFacePos) Descriptor() ([]byte, []int) {
   return fileDescriptor_70decb0fb6f436df, []int{7}
   return fileDescriptor_70decb0fb6f436df, []int{10}
}
func (m *ParamFacePos) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -615,7 +858,7 @@
      return xxx_messageInfo_ParamFacePos.Marshal(b, m, deterministic)
   } else {
      b = b[:cap(b)]
      n, err := m.MarshalToSizedBuffer(b)
      n, err := m.MarshalTo(b)
      if err != nil {
         return nil, err
      }
@@ -651,7 +894,7 @@
func (m *ResultFaceExtCom) String() string { return proto.CompactTextString(m) }
func (*ResultFaceExtCom) ProtoMessage()    {}
func (*ResultFaceExtCom) Descriptor() ([]byte, []int) {
   return fileDescriptor_70decb0fb6f436df, []int{8}
   return fileDescriptor_70decb0fb6f436df, []int{11}
}
func (m *ResultFaceExtCom) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -661,7 +904,7 @@
      return xxx_messageInfo_ResultFaceExtCom.Marshal(b, m, deterministic)
   } else {
      b = b[:cap(b)]
      n, err := m.MarshalToSizedBuffer(b)
      n, err := m.MarshalTo(b)
      if err != nil {
         return nil, err
      }
@@ -709,7 +952,7 @@
func (m *ParamFaceFeature) String() string { return proto.CompactTextString(m) }
func (*ParamFaceFeature) ProtoMessage()    {}
func (*ParamFaceFeature) Descriptor() ([]byte, []int) {
   return fileDescriptor_70decb0fb6f436df, []int{9}
   return fileDescriptor_70decb0fb6f436df, []int{12}
}
func (m *ParamFaceFeature) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -719,7 +962,7 @@
      return xxx_messageInfo_ParamFaceFeature.Marshal(b, m, deterministic)
   } else {
      b = b[:cap(b)]
      n, err := m.MarshalToSizedBuffer(b)
      n, err := m.MarshalTo(b)
      if err != nil {
         return nil, err
      }
@@ -754,7 +997,7 @@
func (m *ParamYoloObj) String() string { return proto.CompactTextString(m) }
func (*ParamYoloObj) ProtoMessage()    {}
func (*ParamYoloObj) Descriptor() ([]byte, []int) {
   return fileDescriptor_70decb0fb6f436df, []int{10}
   return fileDescriptor_70decb0fb6f436df, []int{13}
}
func (m *ParamYoloObj) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -764,7 +1007,7 @@
      return xxx_messageInfo_ParamYoloObj.Marshal(b, m, deterministic)
   } else {
      b = b[:cap(b)]
      n, err := m.MarshalToSizedBuffer(b)
      n, err := m.MarshalTo(b)
      if err != nil {
         return nil, err
      }
@@ -800,7 +1043,7 @@
func (m *SoInfo) String() string { return proto.CompactTextString(m) }
func (*SoInfo) ProtoMessage()    {}
func (*SoInfo) Descriptor() ([]byte, []int) {
   return fileDescriptor_70decb0fb6f436df, []int{11}
   return fileDescriptor_70decb0fb6f436df, []int{14}
}
func (m *SoInfo) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -810,7 +1053,7 @@
      return xxx_messageInfo_SoInfo.Marshal(b, m, deterministic)
   } else {
      b = b[:cap(b)]
      n, err := m.MarshalToSizedBuffer(b)
      n, err := m.MarshalTo(b)
      if err != nil {
         return nil, err
      }
@@ -877,7 +1120,7 @@
func (m *PlateID) String() string { return proto.CompactTextString(m) }
func (*PlateID) ProtoMessage()    {}
func (*PlateID) Descriptor() ([]byte, []int) {
   return fileDescriptor_70decb0fb6f436df, []int{12}
   return fileDescriptor_70decb0fb6f436df, []int{15}
}
func (m *PlateID) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -887,7 +1130,7 @@
      return xxx_messageInfo_PlateID.Marshal(b, m, deterministic)
   } else {
      b = b[:cap(b)]
      n, err := m.MarshalToSizedBuffer(b)
      n, err := m.MarshalTo(b)
      if err != nil {
         return nil, err
      }
@@ -1060,7 +1303,7 @@
func (m *PlateIDCloud) String() string { return proto.CompactTextString(m) }
func (*PlateIDCloud) ProtoMessage()    {}
func (*PlateIDCloud) Descriptor() ([]byte, []int) {
   return fileDescriptor_70decb0fb6f436df, []int{13}
   return fileDescriptor_70decb0fb6f436df, []int{16}
}
func (m *PlateIDCloud) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -1070,7 +1313,7 @@
      return xxx_messageInfo_PlateIDCloud.Marshal(b, m, deterministic)
   } else {
      b = b[:cap(b)]
      n, err := m.MarshalToSizedBuffer(b)
      n, err := m.MarshalTo(b)
      if err != nil {
         return nil, err
      }
@@ -1206,7 +1449,7 @@
func (m *PlateIDVehicle) String() string { return proto.CompactTextString(m) }
func (*PlateIDVehicle) ProtoMessage()    {}
func (*PlateIDVehicle) Descriptor() ([]byte, []int) {
   return fileDescriptor_70decb0fb6f436df, []int{14}
   return fileDescriptor_70decb0fb6f436df, []int{17}
}
func (m *PlateIDVehicle) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -1216,7 +1459,7 @@
      return xxx_messageInfo_PlateIDVehicle.Marshal(b, m, deterministic)
   } else {
      b = b[:cap(b)]
      n, err := m.MarshalToSizedBuffer(b)
      n, err := m.MarshalTo(b)
      if err != nil {
         return nil, err
      }
@@ -1378,7 +1621,7 @@
func (m *PlateIDResult) String() string { return proto.CompactTextString(m) }
func (*PlateIDResult) ProtoMessage()    {}
func (*PlateIDResult) Descriptor() ([]byte, []int) {
   return fileDescriptor_70decb0fb6f436df, []int{15}
   return fileDescriptor_70decb0fb6f436df, []int{18}
}
func (m *PlateIDResult) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -1388,7 +1631,7 @@
      return xxx_messageInfo_PlateIDResult.Marshal(b, m, deterministic)
   } else {
      b = b[:cap(b)]
      n, err := m.MarshalToSizedBuffer(b)
      n, err := m.MarshalTo(b)
      if err != nil {
         return nil, err
      }
@@ -1427,7 +1670,7 @@
func (m *HumanTrack) String() string { return proto.CompactTextString(m) }
func (*HumanTrack) ProtoMessage()    {}
func (*HumanTrack) Descriptor() ([]byte, []int) {
   return fileDescriptor_70decb0fb6f436df, []int{16}
   return fileDescriptor_70decb0fb6f436df, []int{19}
}
func (m *HumanTrack) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -1437,7 +1680,7 @@
      return xxx_messageInfo_HumanTrack.Marshal(b, m, deterministic)
   } else {
      b = b[:cap(b)]
      n, err := m.MarshalToSizedBuffer(b)
      n, err := m.MarshalTo(b)
      if err != nil {
         return nil, err
      }
@@ -1506,7 +1749,7 @@
func (m *HumanTrackResult) String() string { return proto.CompactTextString(m) }
func (*HumanTrackResult) ProtoMessage()    {}
func (*HumanTrackResult) Descriptor() ([]byte, []int) {
   return fileDescriptor_70decb0fb6f436df, []int{17}
   return fileDescriptor_70decb0fb6f436df, []int{20}
}
func (m *HumanTrackResult) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -1516,7 +1759,7 @@
      return xxx_messageInfo_HumanTrackResult.Marshal(b, m, deterministic)
   } else {
      b = b[:cap(b)]
      n, err := m.MarshalToSizedBuffer(b)
      n, err := m.MarshalTo(b)
      if err != nil {
         return nil, err
      }
@@ -1544,6 +1787,9 @@
func init() {
   proto.RegisterType((*Image)(nil), "protomsg.Image")
   proto.RegisterType((*Target)(nil), "protomsg.Target")
   proto.RegisterType((*NewSDKMessage)(nil), "protomsg.NewSDKMessage")
   proto.RegisterType((*NewRuleMessage)(nil), "protomsg.NewRuleMessage")
   proto.RegisterType((*FaceAngle)(nil), "protomsg.FaceAngle")
   proto.RegisterType((*ThftResult)(nil), "protomsg.ThftResult")
   proto.RegisterType((*FacePos)(nil), "protomsg.FacePos")
@@ -1566,100 +1812,112 @@
func init() { proto.RegisterFile("sdk.proto", fileDescriptor_70decb0fb6f436df) }
var fileDescriptor_70decb0fb6f436df = []byte{
   // 1379 bytes of a gzipped FileDescriptorProto
   0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x57, 0xcd, 0x6e, 0xdb, 0xc6,
   0x13, 0x0f, 0x25, 0x53, 0x1f, 0x63, 0xc5, 0x56, 0x36, 0xc1, 0x1f, 0x84, 0xf1, 0x87, 0x20, 0xb0,
   0x45, 0xa2, 0xb6, 0xa9, 0x9b, 0xb8, 0x41, 0x7b, 0x4d, 0x6c, 0x27, 0x88, 0x81, 0xc4, 0x31, 0x36,
   0x41, 0x8a, 0x1e, 0x57, 0xe4, 0x4a, 0xa2, 0x4d, 0x72, 0x55, 0x6a, 0x95, 0x58, 0xe8, 0x13, 0xf4,
   0xd6, 0x07, 0xe8, 0xb1, 0xe7, 0x3e, 0x47, 0x8f, 0x39, 0xf6, 0x58, 0x24, 0xed, 0x23, 0xf4, 0x5e,
   0xcc, 0xec, 0xf2, 0x43, 0xb2, 0x9c, 0xa0, 0x40, 0x8f, 0x3d, 0x69, 0x7f, 0xb3, 0xa3, 0x9d, 0xaf,
   0xdf, 0xcc, 0x2e, 0xa1, 0x3d, 0x0b, 0xcf, 0x76, 0xa7, 0x99, 0xd2, 0x8a, 0xb5, 0xe8, 0x27, 0x99,
   0x8d, 0x77, 0x60, 0x28, 0x66, 0xd2, 0x48, 0xfd, 0x1f, 0x1c, 0x70, 0x8f, 0x12, 0x31, 0x96, 0xec,
   0x06, 0xb8, 0xaf, 0xa3, 0x50, 0x4f, 0x3c, 0xa7, 0xef, 0x0c, 0x5c, 0x6e, 0x00, 0xfb, 0x1f, 0x34,
   0x26, 0x32, 0x1a, 0x4f, 0xb4, 0x57, 0x23, 0xb1, 0x45, 0x8c, 0xc1, 0x46, 0x28, 0xb4, 0xf0, 0xea,
   0x7d, 0x67, 0xd0, 0xe1, 0xb4, 0x66, 0xff, 0x87, 0xb6, 0x8e, 0x12, 0x39, 0xd3, 0x22, 0x99, 0x7a,
   0x1b, 0x7d, 0x67, 0xd0, 0xe6, 0xa5, 0x80, 0x6d, 0x41, 0x2d, 0x0a, 0x3d, 0xb7, 0xef, 0x0c, 0xea,
   0xbc, 0x16, 0x85, 0xac, 0x0b, 0xf5, 0x20, 0x0a, 0xbd, 0x06, 0xe9, 0xe1, 0xd2, 0x1f, 0x43, 0xfb,
   0x91, 0x08, 0xe4, 0x83, 0x74, 0x1c, 0x4b, 0xdc, 0x5e, 0x88, 0xd7, 0xd6, 0x19, 0x5c, 0xa2, 0x83,
   0xd3, 0x48, 0x07, 0x13, 0xeb, 0x89, 0x01, 0xe8, 0x48, 0xa6, 0xe2, 0x98, 0x1c, 0x71, 0x39, 0xad,
   0x59, 0x0f, 0x20, 0x50, 0xe9, 0x28, 0x0a, 0x65, 0x1a, 0x48, 0xf2, 0xa4, 0xc6, 0x2b, 0x12, 0xff,
   0x1c, 0xe0, 0xc5, 0x64, 0xa4, 0xb9, 0x9c, 0xcd, 0x63, 0x8d, 0x21, 0x8e, 0x65, 0x1a, 0xca, 0xcc,
   0x1a, 0xb3, 0x08, 0x3d, 0x10, 0x63, 0x69, 0xad, 0xe1, 0x92, 0x6c, 0x89, 0x40, 0x16, 0xb6, 0x44,
   0x20, 0xf1, 0xdf, 0x43, 0x29, 0xe6, 0x7a, 0x41, 0x76, 0x5c, 0x6e, 0x11, 0x7a, 0x3b, 0x4b, 0xa2,
   0x58, 0x52, 0xc4, 0x2e, 0x37, 0xc0, 0xff, 0xa3, 0x06, 0x4d, 0x8c, 0xf1, 0x44, 0xcd, 0xd8, 0x4d,
   0x68, 0x64, 0x01, 0x02, 0xb2, 0xbb, 0xb9, 0xb7, 0xb5, 0x9b, 0x57, 0x68, 0x97, 0xcb, 0x40, 0x73,
   0xbb, 0xcb, 0x3e, 0x87, 0xf6, 0x54, 0x3f, 0x91, 0x23, 0xfd, 0x70, 0x61, 0xbc, 0xd9, 0xdc, 0xdb,
   0x2e, 0x55, 0x4f, 0x54, 0x94, 0x6a, 0x5e, 0x6a, 0xb0, 0x2f, 0x00, 0xa6, 0x9a, 0x63, 0x91, 0x50,
   0xbf, 0xbe, 0x5e, 0xbf, 0xa2, 0xc2, 0x3e, 0x81, 0xe6, 0x54, 0x3f, 0x55, 0x73, 0x3d, 0xa1, 0x10,
   0xd6, 0x68, 0xe7, 0xfb, 0xec, 0x16, 0x34, 0xa6, 0xfa, 0x58, 0xcd, 0x4c, 0x54, 0x6b, 0x34, 0xed,
   0x36, 0xfb, 0x0c, 0x1a, 0x23, 0xaa, 0x23, 0xd5, 0x77, 0x73, 0xef, 0x7a, 0xa9, 0x58, 0x94, 0x98,
   0x5b, 0x15, 0xe6, 0x41, 0xf3, 0xbb, 0xb9, 0x88, 0x23, 0xbd, 0xf0, 0x9a, 0x94, 0xac, 0x1c, 0x62,
   0x21, 0x47, 0x22, 0x88, 0x44, 0x7c, 0x88, 0x5c, 0x6b, 0x11, 0xd7, 0x2a, 0x12, 0x4c, 0xfe, 0x48,
   0x04, 0xf2, 0xe8, 0xd0, 0x6b, 0xf7, 0x9d, 0xc1, 0x06, 0xb7, 0xc8, 0xff, 0xb3, 0x06, 0x2d, 0xb4,
   0x73, 0x94, 0x8e, 0xd4, 0x7f, 0x79, 0xfe, 0xb7, 0xf3, 0x5c, 0x2f, 0xf2, 0x7c, 0x06, 0xcd, 0x67,
   0xc3, 0x53, 0xca, 0xf2, 0xc7, 0xe0, 0x66, 0xc1, 0xb3, 0xe1, 0xe9, 0x25, 0x49, 0x36, 0x9b, 0xd8,
   0x53, 0x7a, 0x31, 0xcd, 0x7b, 0x4a, 0x2f, 0xa6, 0xd8, 0x53, 0xd3, 0x4c, 0x0d, 0x29, 0x81, 0x35,
   0x4e, 0x6b, 0xec, 0x1d, 0x35, 0x3c, 0x3d, 0x3a, 0xa4, 0x3c, 0x6d, 0x70, 0x03, 0xfc, 0xef, 0xa1,
   0x6b, 0x3a, 0x16, 0x23, 0x3b, 0x94, 0x5a, 0x06, 0x9a, 0x7d, 0x04, 0xf5, 0xa9, 0x9a, 0x59, 0x9b,
   0xd7, 0x96, 0x83, 0x3f, 0x51, 0x33, 0x8e, 0xbb, 0xec, 0x36, 0x34, 0x32, 0xfa, 0xa3, 0xad, 0xea,
   0x8d, 0x52, 0xaf, 0x1c, 0x03, 0xdc, 0xea, 0xa0, 0xf1, 0x91, 0x14, 0x7a, 0x66, 0x47, 0x9b, 0x01,
   0xfe, 0x7d, 0xe8, 0x9c, 0x88, 0x4c, 0x24, 0x79, 0xf3, 0xde, 0x01, 0x17, 0x73, 0x80, 0xa6, 0xeb,
   0x83, 0xcd, 0xbd, 0x9d, 0x6a, 0xb8, 0xcb, 0x3e, 0x72, 0xa3, 0xe8, 0x9f, 0x56, 0xdd, 0x7f, 0x78,
   0xae, 0x0f, 0x54, 0x52, 0xda, 0x72, 0x2a, 0xb6, 0x30, 0x25, 0x81, 0x4a, 0x4c, 0x96, 0x3a, 0x9c,
   0xd6, 0xec, 0xb6, 0x09, 0xd4, 0xd0, 0xec, 0x7d, 0xd6, 0x50, 0xcd, 0x7f, 0x0c, 0xdd, 0xc2, 0xdb,
   0x47, 0x52, 0xe8, 0x79, 0x26, 0xd9, 0x3d, 0x68, 0x4a, 0xb2, 0x8a, 0x07, 0x5f, 0xea, 0xb3, 0x71,
   0x8c, 0xe7, 0xaa, 0xfe, 0xd7, 0x36, 0xee, 0x6f, 0x55, 0xac, 0xb0, 0x80, 0xb7, 0xc0, 0x8d, 0xd2,
   0x91, 0xca, 0xe3, 0xae, 0xa4, 0xdc, 0x12, 0x81, 0x9b, 0x7d, 0xff, 0x11, 0x34, 0x9e, 0x2b, 0x62,
   0x86, 0x19, 0xfc, 0x0e, 0xcd, 0x79, 0x1c, 0xfc, 0x38, 0x19, 0xc3, 0xb3, 0xa3, 0x90, 0xe2, 0x6b,
   0x73, 0x03, 0x90, 0x62, 0x33, 0x75, 0x2c, 0x12, 0xd3, 0x4a, 0x6d, 0x6e, 0x91, 0xff, 0xd7, 0x06,
   0x34, 0x4f, 0x62, 0xa1, 0xe5, 0xd1, 0x21, 0x12, 0x38, 0x8e, 0x02, 0x99, 0xce, 0xa4, 0x3d, 0x2e,
   0x87, 0x78, 0x66, 0xa0, 0x62, 0x95, 0xe5, 0x67, 0x12, 0xc0, 0x33, 0xd3, 0x03, 0x12, 0x9b, 0x89,
   0x6d, 0x11, 0x6a, 0xa7, 0x2f, 0x16, 0x53, 0x69, 0x47, 0xb6, 0x01, 0xac, 0x0f, 0x9b, 0xe9, 0x41,
   0x79, 0x6d, 0x98, 0xb9, 0x5d, 0x15, 0xa1, 0xfd, 0x74, 0x3f, 0xa3, 0xdb, 0xb0, 0x61, 0x1a, 0xc8,
   0x42, 0x6c, 0xa0, 0xf4, 0x30, 0xca, 0x64, 0xa0, 0x23, 0x95, 0xda, 0xee, 0xaa, 0x48, 0xd8, 0x2e,
   0x40, 0x16, 0x3c, 0x51, 0x81, 0xa0, 0xfd, 0xd6, 0xda, 0x16, 0xa9, 0x68, 0x18, 0x0f, 0xa3, 0x44,
   0x52, 0xbf, 0x91, 0x87, 0x51, 0x22, 0xc9, 0xca, 0x81, 0xc8, 0xac, 0x0b, 0x60, 0xad, 0x14, 0x12,
   0xbc, 0x80, 0x8f, 0x0f, 0x44, 0x66, 0x42, 0xde, 0xa4, 0xed, 0x52, 0xc0, 0x76, 0xa0, 0x85, 0xba,
   0x4f, 0xd4, 0x58, 0x79, 0x1d, 0xda, 0x2c, 0x70, 0xbe, 0x47, 0x49, 0xb9, 0x5a, 0xee, 0x51, 0x5e,
   0x76, 0xa0, 0x35, 0xc5, 0x02, 0xec, 0x47, 0xa9, 0xb7, 0x45, 0x94, 0x2c, 0x30, 0xbb, 0x09, 0x5b,
   0xe9, 0x7e, 0x94, 0x52, 0x81, 0xbe, 0xa1, 0xd7, 0xc3, 0x36, 0x69, 0xac, 0x48, 0xd9, 0x00, 0xb6,
   0x0b, 0xc9, 0x63, 0xf3, 0x9e, 0xe8, 0x92, 0xe2, 0xaa, 0x98, 0x7d, 0x05, 0x5b, 0x98, 0x87, 0xb1,
   0x2a, 0xb2, 0x75, 0x6d, 0x6d, 0xb6, 0x56, 0xb4, 0x30, 0x76, 0xf4, 0xf8, 0xa9, 0x0a, 0x65, 0xec,
   0x31, 0x3a, 0xbb, 0x14, 0xb0, 0x3b, 0x70, 0xbd, 0x00, 0x95, 0x1a, 0x5f, 0x27, 0xbd, 0x75, 0x5b,
   0xfe, 0xcf, 0x75, 0xe8, 0x58, 0xde, 0x1d, 0xc4, 0x6a, 0x1e, 0xbe, 0x87, 0x7c, 0xcb, 0xc5, 0xad,
   0x7d, 0xb0, 0xb8, 0x2b, 0x44, 0xab, 0x5f, 0x24, 0xda, 0x7a, 0x82, 0x2e, 0x93, 0xcc, 0xbd, 0x40,
   0x32, 0x9b, 0x02, 0x53, 0x7e, 0x43, 0xd0, 0x52, 0x90, 0x93, 0x87, 0xc0, 0xdd, 0x82, 0xa2, 0x85,
   0x64, 0x85, 0x5c, 0xad, 0x0b, 0xe4, 0xf2, 0xa0, 0x39, 0xca, 0x44, 0x22, 0x8f, 0x95, 0x25, 0x65,
   0x0e, 0xd1, 0x2e, 0x8e, 0x38, 0x53, 0x7f, 0xc3, 0xca, 0x52, 0x60, 0xef, 0x96, 0xbc, 0xea, 0x86,
   0x95, 0x15, 0x09, 0xf3, 0xa1, 0x33, 0xce, 0xc4, 0x82, 0x46, 0x55, 0x2c, 0xc6, 0x96, 0x9a, 0x4b,
   0x32, 0xb4, 0x1d, 0x4c, 0x44, 0x76, 0x3c, 0x4f, 0x2c, 0x3b, 0x73, 0xe8, 0xff, 0xe2, 0xc2, 0x96,
   0x2d, 0xd3, 0x4b, 0x39, 0x89, 0x82, 0xd8, 0xa4, 0x89, 0x44, 0x74, 0x9c, 0x63, 0x03, 0x29, 0x24,
   0x95, 0xa9, 0x50, 0x5b, 0x3f, 0x15, 0xea, 0xd5, 0xa4, 0x57, 0xca, 0xbe, 0xb1, 0x5c, 0xf6, 0x0f,
   0xcf, 0x0b, 0xea, 0x2a, 0xeb, 0x77, 0x23, 0xef, 0x2a, 0x83, 0xa9, 0x23, 0x70, 0x5d, 0x39, 0xa1,
   0xd9, 0xaf, 0x0f, 0x5c, 0xbe, 0x2a, 0xfe, 0xc7, 0xb3, 0xe3, 0x1e, 0x5c, 0xcd, 0x02, 0x6a, 0x6c,
   0xfb, 0x97, 0xf6, 0xda, 0xbf, 0x2c, 0x2b, 0x61, 0x34, 0xaf, 0x4c, 0x02, 0x29, 0x07, 0x40, 0xb1,
   0x56, 0x45, 0x58, 0x28, 0x0b, 0xf7, 0x33, 0x91, 0x86, 0x54, 0xca, 0x36, 0x5f, 0x92, 0x61, 0xee,
   0x2d, 0x7e, 0x3e, 0x1f, 0x52, 0x29, 0xdb, 0xbc, 0x22, 0xa9, 0x9c, 0x81, 0x47, 0xde, 0xa5, 0x6a,
   0x96, 0x67, 0x90, 0x8c, 0x88, 0xf6, 0x2a, 0xc4, 0x04, 0xd0, 0xb8, 0xa9, 0xf1, 0x1c, 0x12, 0x95,
   0x70, 0x61, 0xd2, 0xb5, 0x6d, 0xde, 0xf5, 0xa5, 0x84, 0x7d, 0x0a, 0xdd, 0xf4, 0x65, 0x61, 0xcc,
   0x8c, 0x82, 0x2e, 0xe5, 0xfd, 0x82, 0x9c, 0x26, 0xd7, 0xcb, 0xdc, 0x75, 0xa2, 0xe6, 0x35, 0xd2,
   0x5c, 0x91, 0x56, 0xf5, 0x6c, 0xeb, 0xb0, 0x65, 0x3d, 0xdb, 0x3e, 0xab, 0x7a, 0x7b, 0x34, 0x5c,
   0x56, 0xf5, 0xf6, 0xfc, 0x07, 0x70, 0xd5, 0xf2, 0xd5, 0x7e, 0x7e, 0xdc, 0x29, 0x5e, 0x27, 0xe6,
   0x4a, 0xf5, 0x2a, 0x6f, 0xbd, 0x25, 0x62, 0xe7, 0x2f, 0x14, 0xff, 0x27, 0x07, 0xe0, 0xf1, 0x3c,
   0x11, 0xe9, 0x8b, 0x4c, 0x04, 0x67, 0x6c, 0x00, 0xcd, 0x2c, 0x20, 0x7c, 0xc9, 0xdb, 0x2b, 0xdf,
   0x5e, 0xf9, 0x2e, 0xaa, 0xad, 0x7e, 0x17, 0xb1, 0x0e, 0x38, 0xe7, 0x96, 0xfd, 0xce, 0x39, 0xa2,
   0xfc, 0xa3, 0xc6, 0x59, 0x54, 0x3e, 0xdf, 0x5c, 0xba, 0xc5, 0xb1, 0x4a, 0xe6, 0x65, 0xe1, 0x35,
   0xfa, 0x75, 0xaa, 0x92, 0x81, 0xfe, 0x7d, 0xe8, 0x96, 0xde, 0xd9, 0x20, 0x6f, 0xaf, 0x04, 0x59,
   0x79, 0x82, 0x55, 0x74, 0xad, 0xce, 0xbe, 0xf7, 0xeb, 0xdb, 0x9e, 0xf3, 0xe6, 0x6d, 0xcf, 0xf9,
   0xfd, 0x6d, 0xcf, 0xf9, 0xf1, 0x5d, 0xef, 0xca, 0x9b, 0x77, 0xbd, 0x2b, 0xbf, 0xbd, 0xeb, 0x5d,
   0x19, 0x36, 0xe8, 0x6f, 0x5f, 0xfe, 0x1d, 0x00, 0x00, 0xff, 0xff, 0xa3, 0x90, 0x69, 0x91, 0xd8,
   0x0e, 0x00, 0x00,
   // 1580 bytes of a gzipped FileDescriptorProto
   0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x57, 0xcd, 0x6e, 0x1b, 0x47,
   0x12, 0xf6, 0x90, 0x1c, 0xfe, 0x94, 0x28, 0x89, 0x6e, 0x1b, 0xbb, 0x03, 0x61, 0x21, 0x10, 0xb3,
   0x0b, 0x9b, 0x9b, 0x38, 0x8a, 0xad, 0x18, 0xce, 0xd5, 0x96, 0x64, 0xc3, 0x42, 0x6c, 0x59, 0x68,
   0x0b, 0x0e, 0x72, 0x6c, 0xce, 0x34, 0xc9, 0x91, 0xe6, 0x87, 0x99, 0x69, 0x5a, 0x22, 0x72, 0xca,
   0x1b, 0xe4, 0x01, 0x72, 0x09, 0x90, 0x43, 0x4e, 0x79, 0x8e, 0x1c, 0x7d, 0xcc, 0x25, 0x40, 0x60,
   0x27, 0x8f, 0x90, 0x7b, 0x50, 0xd5, 0x3d, 0x3f, 0xa4, 0x68, 0x1b, 0x01, 0x72, 0xcc, 0x89, 0xfd,
   0x55, 0x17, 0xbb, 0xfe, 0xbe, 0xaa, 0xee, 0x81, 0x4e, 0xe6, 0x9f, 0xed, 0x4c, 0xd3, 0x44, 0x25,
   0xac, 0x4d, 0x3f, 0x51, 0x36, 0xde, 0x82, 0xa1, 0xc8, 0xa4, 0x96, 0xba, 0xbf, 0x58, 0x60, 0x1f,
   0x46, 0x62, 0x2c, 0xd9, 0x75, 0xb0, 0xcf, 0x03, 0x5f, 0x4d, 0x1c, 0xab, 0x6f, 0x0d, 0x6c, 0xae,
   0x01, 0xfb, 0x17, 0x34, 0x27, 0x32, 0x18, 0x4f, 0x94, 0x53, 0x23, 0xb1, 0x41, 0x8c, 0x41, 0xc3,
   0x17, 0x4a, 0x38, 0xf5, 0xbe, 0x35, 0xe8, 0x72, 0x5a, 0xb3, 0xff, 0x40, 0x47, 0x05, 0x91, 0xcc,
   0x94, 0x88, 0xa6, 0x4e, 0xa3, 0x6f, 0x0d, 0x3a, 0xbc, 0x14, 0xb0, 0x0d, 0xa8, 0x05, 0xbe, 0x63,
   0xf7, 0xad, 0x41, 0x9d, 0xd7, 0x02, 0x9f, 0xf5, 0xa0, 0xee, 0x05, 0xbe, 0xd3, 0x24, 0x3d, 0x5c,
   0xa2, 0x07, 0x5e, 0x2c, 0x22, 0xe9, 0xb4, 0x48, 0xa6, 0x01, 0x73, 0xa0, 0xe5, 0x4d, 0x44, 0x1c,
   0xcb, 0xd0, 0x69, 0x93, 0x0b, 0x39, 0x64, 0x2e, 0x74, 0x83, 0x7b, 0x77, 0x4b, 0x93, 0x1d, 0x3a,
   0x7b, 0x41, 0xe6, 0xfe, 0x60, 0x41, 0xf3, 0x44, 0xa4, 0x63, 0xa9, 0x8c, 0x03, 0x18, 0x5d, 0x83,
   0x1c, 0x60, 0xd0, 0x50, 0xf3, 0xa9, 0xa4, 0xc0, 0x3a, 0x9c, 0xd6, 0x6c, 0x1b, 0xc0, 0x4b, 0xe2,
   0x51, 0xe0, 0xcb, 0xd8, 0x93, 0x14, 0x9c, 0xcd, 0x2b, 0x12, 0xe6, 0x42, 0x23, 0x95, 0x9e, 0xa2,
   0xe8, 0xd6, 0x76, 0x37, 0x76, 0xf2, 0x9c, 0xee, 0x70, 0xe9, 0x29, 0x4e, 0x7b, 0xe8, 0xf0, 0x48,
   0x0a, 0x35, 0x4b, 0x25, 0x45, 0xdb, 0xe5, 0x39, 0xc4, 0x04, 0x09, 0xa5, 0xd2, 0x60, 0x38, 0x53,
   0x92, 0x02, 0xef, 0xf2, 0x52, 0xe0, 0x7e, 0x67, 0xc1, 0xfa, 0x91, 0x3c, 0x7f, 0x7e, 0xf0, 0xd9,
   0x53, 0x99, 0x65, 0xa6, 0x24, 0x99, 0x7f, 0x76, 0x78, 0x40, 0x4e, 0x77, 0xb8, 0x06, 0x78, 0x7e,
   0xe6, 0x9f, 0x9d, 0x94, 0xae, 0xe7, 0xd0, 0xec, 0x1c, 0x61, 0x0a, 0xeb, 0xc5, 0x0e, 0x42, 0x36,
   0x80, 0xa6, 0xa2, 0x2c, 0x38, 0x8d, 0x7e, 0x7d, 0xb0, 0xb6, 0xdb, 0x2b, 0x3d, 0xd7, 0xd9, 0xe1,
   0x66, 0x7f, 0xb1, 0x88, 0xf6, 0x52, 0x11, 0xdd, 0xaf, 0x2d, 0xd8, 0x38, 0x92, 0xe7, 0x7c, 0x16,
   0xca, 0xdc, 0xc9, 0x2d, 0x68, 0x63, 0xf5, 0xc9, 0x1f, 0xed, 0x67, 0x81, 0x59, 0x1f, 0xd6, 0x26,
   0x22, 0xf6, 0x43, 0x79, 0x92, 0x0a, 0xef, 0xcc, 0xb8, 0x5b, 0x15, 0xb1, 0x3b, 0xd0, 0x8a, 0xf4,
   0x41, 0x4e, 0x9d, 0x3c, 0xfb, 0x77, 0xe9, 0xd9, 0x42, 0x32, 0x78, 0xae, 0xe7, 0x8e, 0xa1, 0xf3,
   0x48, 0x78, 0xf2, 0x41, 0x3c, 0x0e, 0x25, 0xb2, 0x68, 0x2e, 0xce, 0x0d, 0x67, 0x71, 0x89, 0x49,
   0x9b, 0x06, 0xca, 0x9b, 0x18, 0xc2, 0x6a, 0x80, 0xc5, 0x4e, 0x93, 0x30, 0x34, 0x25, 0xa5, 0xf5,
   0x52, 0xb1, 0xb1, 0xa4, 0xb5, 0x6a, 0xb1, 0xdd, 0x0b, 0x80, 0x93, 0xc9, 0x48, 0x71, 0x99, 0xcd,
   0x42, 0x85, 0x9d, 0x30, 0x96, 0xb1, 0x2f, 0x53, 0x63, 0xcc, 0x20, 0xf4, 0x00, 0xbd, 0xd7, 0xd6,
   0x70, 0x49, 0xb6, 0x44, 0x41, 0x1f, 0x5a, 0xe3, 0xbf, 0x87, 0x52, 0xcc, 0xd4, 0x9c, 0xec, 0xd8,
   0xdc, 0x20, 0x2a, 0x71, 0x14, 0x84, 0x9a, 0x2a, 0x36, 0xd7, 0xc0, 0xfd, 0xad, 0x06, 0x2d, 0x8c,
   0xf1, 0x38, 0xc9, 0xd8, 0x0d, 0x68, 0xa6, 0x1e, 0x02, 0xb2, 0x7b, 0x99, 0x74, 0x66, 0x97, 0x7d,
   0x04, 0x9d, 0xa9, 0x7a, 0x22, 0x47, 0xea, 0xe1, 0x5c, 0x7b, 0xb3, 0xb6, 0xbb, 0x59, 0xaa, 0x1e,
   0x27, 0x41, 0xac, 0x78, 0xa9, 0xc1, 0x3e, 0x06, 0x98, 0x2a, 0x8e, 0xbd, 0x8c, 0xfa, 0xf5, 0xd5,
   0xfa, 0x15, 0x15, 0xf6, 0x7f, 0x68, 0x4d, 0xd5, 0xd3, 0x64, 0xa6, 0x26, 0x86, 0xfd, 0x97, 0xb4,
   0xf3, 0x7d, 0x76, 0x13, 0x9a, 0x53, 0x75, 0x94, 0x64, 0x3a, 0xaa, 0x15, 0x9a, 0x66, 0x9b, 0x7d,
   0x08, 0xcd, 0x11, 0xd5, 0x91, 0xba, 0x61, 0x6d, 0xf7, 0x5a, 0xa9, 0x58, 0x94, 0x98, 0x1b, 0x15,
   0x64, 0xf7, 0x97, 0x33, 0x11, 0x06, 0x6a, 0x4e, 0x03, 0xc2, 0xe6, 0x39, 0xc4, 0x42, 0x8e, 0x84,
   0x17, 0x88, 0xf0, 0x00, 0x47, 0x52, 0x9b, 0x1a, 0xab, 0x22, 0xc1, 0xe4, 0x8f, 0x84, 0x27, 0x0f,
   0x0f, 0x68, 0x44, 0x34, 0xb8, 0x41, 0xee, 0xef, 0x35, 0x68, 0xa3, 0x9d, 0xc3, 0x78, 0x94, 0xfc,
   0x93, 0xe7, 0xbf, 0x3b, 0xcf, 0xf5, 0x22, 0xcf, 0x67, 0xd0, 0x7a, 0x36, 0x3c, 0xa5, 0x2c, 0xff,
   0x0f, 0xec, 0xd4, 0x7b, 0x36, 0x3c, 0x7d, 0x4b, 0x92, 0xf5, 0x26, 0xf6, 0x94, 0x9a, 0x4f, 0xf3,
   0x9e, 0x52, 0xf3, 0x29, 0xf6, 0xd4, 0x34, 0x4d, 0x86, 0x94, 0xc0, 0x1a, 0xa7, 0x35, 0xf6, 0x4e,
   0x32, 0x3c, 0x3d, 0x3c, 0xa0, 0x3c, 0x35, 0xb8, 0x06, 0xee, 0x57, 0xd0, 0xd3, 0x1d, 0x8b, 0x91,
   0x1d, 0x48, 0x85, 0x23, 0xf9, 0xbf, 0x50, 0x9f, 0x26, 0x99, 0xb1, 0x79, 0x75, 0x31, 0xf8, 0xe3,
   0x24, 0xe3, 0xb8, 0xcb, 0x6e, 0x41, 0x33, 0xa5, 0x3f, 0x9a, 0xaa, 0x5e, 0xaf, 0xcc, 0xc8, 0x62,
   0x0c, 0x70, 0xa3, 0x83, 0xc6, 0x71, 0xac, 0x67, 0xe6, 0x06, 0xd4, 0xc0, 0xbd, 0x0f, 0xdd, 0x63,
   0x91, 0x8a, 0x28, 0x6f, 0xde, 0xdb, 0x60, 0x63, 0x0e, 0xd0, 0x34, 0x0e, 0xb7, 0xad, 0x6a, 0xb8,
   0x8b, 0x3e, 0x72, 0xad, 0xe8, 0x9e, 0x56, 0xdd, 0x7f, 0x78, 0xa1, 0xf6, 0x93, 0xa8, 0xb4, 0x65,
   0x55, 0x6c, 0x61, 0x4a, 0xbc, 0x24, 0xd2, 0x59, 0xea, 0x72, 0x5a, 0xb3, 0x5b, 0x3a, 0x50, 0x4d,
   0xb3, 0x77, 0x59, 0x43, 0x35, 0xf7, 0x31, 0xf4, 0x0a, 0x6f, 0x1f, 0x99, 0x3b, 0xea, 0x2e, 0xb4,
   0x24, 0x59, 0xc5, 0x83, 0xdf, 0xea, 0xb3, 0x76, 0x8c, 0xe7, 0xaa, 0xee, 0xa7, 0x26, 0xee, 0x2f,
   0x92, 0x30, 0xc1, 0x02, 0xde, 0x04, 0x3b, 0x88, 0x47, 0x49, 0x1e, 0x77, 0x25, 0xe5, 0x86, 0x08,
   0x5c, 0xef, 0xbb, 0x8f, 0xa0, 0xf9, 0x3c, 0x21, 0x66, 0x94, 0xd7, 0x73, 0x87, 0xae, 0x67, 0x73,
   0xf9, 0xf9, 0xe6, 0xd6, 0xd0, 0x00, 0x29, 0x96, 0x25, 0x95, 0x1b, 0xce, 0x20, 0xf7, 0x8f, 0x06,
   0xb4, 0x8e, 0x43, 0xa1, 0xa4, 0xbe, 0x20, 0xc3, 0xc0, 0x93, 0x71, 0x96, 0x5f, 0x48, 0x39, 0xa4,
   0x17, 0x46, 0x12, 0x26, 0x69, 0x7e, 0x26, 0x01, 0x3c, 0x33, 0xde, 0x27, 0xb1, 0x9e, 0xd8, 0x06,
   0xa1, 0x76, 0x4c, 0xd7, 0x9a, 0x1e, 0xd9, 0x1a, 0xe0, 0x9d, 0x16, 0xef, 0x97, 0xd7, 0x86, 0x9e,
   0xdb, 0x55, 0x11, 0xda, 0x8f, 0xf7, 0x52, 0x7a, 0x34, 0x35, 0x75, 0x03, 0x19, 0x88, 0x0d, 0x14,
   0x1f, 0x04, 0xf8, 0x4a, 0x08, 0x92, 0xd8, 0x74, 0x57, 0x45, 0xc2, 0x76, 0x00, 0x52, 0xef, 0x49,
   0xe2, 0x09, 0xda, 0x6f, 0xaf, 0x6c, 0x91, 0x8a, 0x86, 0xf6, 0x30, 0x88, 0x24, 0xf5, 0x1b, 0x79,
   0x18, 0x44, 0xf4, 0x88, 0x89, 0xf7, 0x45, 0x6a, 0x5c, 0x00, 0x63, 0xa5, 0x90, 0xe0, 0x15, 0x7f,
   0xb4, 0x2f, 0x52, 0x1d, 0xf2, 0x1a, 0x6d, 0x97, 0x02, 0xbc, 0xcf, 0x51, 0xf7, 0x49, 0x32, 0x4e,
   0x9c, 0x2e, 0x6d, 0x16, 0x38, 0xdf, 0xa3, 0xa4, 0xac, 0x97, 0x7b, 0x94, 0x97, 0x2d, 0x68, 0x4f,
   0xb1, 0x00, 0x7b, 0x41, 0xec, 0x6c, 0x10, 0x25, 0x0b, 0xcc, 0x6e, 0xc0, 0x46, 0xbc, 0x17, 0xc4,
   0x54, 0xa0, 0xcf, 0xe9, 0x91, 0xb9, 0x49, 0x1a, 0x4b, 0x52, 0x36, 0x80, 0xcd, 0x42, 0xf2, 0x58,
   0x3f, 0x3b, 0x7b, 0xa4, 0xb8, 0x2c, 0x66, 0xf7, 0x60, 0x03, 0xf3, 0x30, 0x4e, 0x8a, 0x6c, 0x5d,
   0x5d, 0x99, 0xad, 0x25, 0x2d, 0x8c, 0x1d, 0x3d, 0x7e, 0x9a, 0xf8, 0x32, 0x74, 0x98, 0x7e, 0x82,
   0x15, 0x02, 0x76, 0x1b, 0xae, 0x15, 0xa0, 0x52, 0xe3, 0x6b, 0xa4, 0xb7, 0x6a, 0xcb, 0xfd, 0xbe,
   0x0e, 0x5d, 0xc3, 0xbb, 0xfd, 0x30, 0x99, 0xf9, 0xef, 0x20, 0xdf, 0x62, 0x71, 0x6b, 0xef, 0x2d,
   0xee, 0x12, 0xd1, 0xea, 0x97, 0x89, 0xb6, 0x9a, 0xa0, 0x8b, 0x24, 0xb3, 0x2f, 0x91, 0xcc, 0xa4,
   0x40, 0x97, 0x5f, 0x13, 0xb4, 0x14, 0xe4, 0xe4, 0x21, 0x70, 0xa7, 0xa0, 0x68, 0x21, 0x59, 0x22,
   0x57, 0xfb, 0x12, 0xb9, 0xf0, 0xf5, 0x9b, 0x8a, 0x48, 0x1e, 0x25, 0x86, 0x94, 0x39, 0x44, 0xbb,
   0x38, 0xe2, 0x74, 0xfd, 0x35, 0x2b, 0x4b, 0x81, 0xb9, 0x5b, 0xf2, 0xaa, 0x6b, 0x56, 0x56, 0x24,
   0xf8, 0xd8, 0x1f, 0xa7, 0x62, 0x4e, 0xa3, 0x2a, 0x14, 0x63, 0x43, 0xcd, 0x05, 0x99, 0xf9, 0x54,
   0x48, 0x8f, 0x66, 0x91, 0x61, 0x67, 0x0e, 0xdd, 0x1f, 0x6d, 0xd8, 0x30, 0x65, 0x7a, 0x21, 0x27,
   0x81, 0x17, 0xea, 0x34, 0x91, 0x88, 0x8e, 0xb3, 0x4c, 0x20, 0x85, 0xa4, 0x32, 0x15, 0x6a, 0xab,
   0xa7, 0x42, 0xbd, 0x9a, 0xf4, 0x4a, 0xd9, 0x1b, 0x8b, 0x65, 0x7f, 0xff, 0xbc, 0xa0, 0xae, 0x32,
   0x7e, 0x37, 0xf3, 0xae, 0xd2, 0x98, 0x3a, 0x02, 0xd7, 0x95, 0x13, 0x5a, 0xfd, 0xfa, 0xc0, 0xe6,
   0xcb, 0xe2, 0xbf, 0x3c, 0x3b, 0xee, 0xc2, 0x7a, 0xea, 0x51, 0x63, 0x9b, 0xbf, 0x74, 0x56, 0xfe,
   0x65, 0x51, 0x09, 0xa3, 0x79, 0xa9, 0x13, 0x48, 0x39, 0x00, 0xfd, 0xa2, 0xaf, 0x88, 0xb0, 0x50,
   0x06, 0xee, 0xa5, 0x22, 0xf6, 0xa9, 0x94, 0x1d, 0xbe, 0x20, 0xc3, 0xdc, 0x1b, 0xfc, 0x7c, 0x36,
   0xa4, 0x52, 0x76, 0x78, 0x45, 0x52, 0x39, 0x03, 0x8f, 0xbc, 0x43, 0xd5, 0x2c, 0xcf, 0x20, 0x19,
   0x11, 0xed, 0xa5, 0x8f, 0x09, 0xa0, 0x71, 0x53, 0xe3, 0x39, 0x24, 0x2a, 0xe1, 0x42, 0xa7, 0x6b,
   0x53, 0xbf, 0xeb, 0x4b, 0x09, 0xfb, 0x00, 0x7a, 0xf1, 0x8b, 0xc2, 0x98, 0x1e, 0x05, 0x3d, 0xca,
   0xfb, 0x25, 0x39, 0x4d, 0xae, 0x17, 0xb9, 0xeb, 0x44, 0xcd, 0xab, 0xa4, 0xb9, 0x24, 0xad, 0xea,
   0x99, 0xd6, 0x61, 0x8b, 0x7a, 0xa6, 0x7d, 0x96, 0xf5, 0x76, 0x69, 0xb8, 0x2c, 0xeb, 0xed, 0xba,
   0x0f, 0x60, 0xdd, 0xf0, 0xd5, 0x7c, 0x7e, 0xdc, 0x2e, 0x5e, 0x27, 0xfa, 0x4a, 0x75, 0x2a, 0x6f,
   0xbd, 0x05, 0x62, 0xe7, 0x2f, 0x14, 0xf7, 0x5b, 0x0b, 0xe0, 0xf1, 0x2c, 0x12, 0xb1, 0xfe, 0xd2,
   0x1a, 0x40, 0x2b, 0xf5, 0x08, 0xbf, 0xe5, 0xed, 0x95, 0x6f, 0x2f, 0x7d, 0x17, 0xd5, 0x96, 0xbf,
   0x8b, 0x58, 0x17, 0xac, 0x0b, 0xc3, 0x7e, 0xeb, 0x02, 0x51, 0xfe, 0x51, 0x63, 0xcd, 0x2b, 0x5f,
   0xf9, 0x36, 0xdd, 0xe2, 0x95, 0x8f, 0xe1, 0x66, 0xbf, 0x4e, 0x55, 0xd2, 0xd0, 0xbd, 0x0f, 0xbd,
   0xd2, 0x3b, 0x13, 0xe4, 0xad, 0xa5, 0x20, 0x2b, 0x4f, 0xb0, 0x8a, 0xae, 0xd1, 0xd9, 0x73, 0x7e,
   0x7a, 0xbd, 0x6d, 0xbd, 0x7a, 0xbd, 0x6d, 0xfd, 0xfa, 0x7a, 0xdb, 0xfa, 0xe6, 0xcd, 0xf6, 0x95,
   0x57, 0x6f, 0xb6, 0xaf, 0xfc, 0xfc, 0x66, 0xfb, 0xca, 0xb0, 0x49, 0x7f, 0xfb, 0xe4, 0xcf, 0x00,
   0x00, 0x00, 0xff, 0xff, 0x6b, 0x6e, 0xc8, 0x6f, 0xff, 0x10, 0x00, 0x00,
}
func (m *Image) Marshal() (dAtA []byte, err error) {
   size := m.Size()
   dAtA = make([]byte, size)
   n, err := m.MarshalToSizedBuffer(dAtA[:size])
   n, err := m.MarshalTo(dAtA)
   if err != nil {
      return nil, err
   }
@@ -1667,58 +1925,218 @@
}
func (m *Image) MarshalTo(dAtA []byte) (int, error) {
   size := m.Size()
   return m.MarshalToSizedBuffer(dAtA[:size])
}
func (m *Image) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   i := len(dAtA)
   var i int
   _ = i
   var l int
   _ = l
   if len(m.Cid) > 0 {
      i -= len(m.Cid)
      copy(dAtA[i:], m.Cid)
      i = encodeVarintSdk(dAtA, i, uint64(len(m.Cid)))
      i--
      dAtA[i] = 0x32
   }
   if m.Id != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.Id))
      i--
      dAtA[i] = 0x28
   }
   if len(m.Timestamp) > 0 {
      i -= len(m.Timestamp)
      copy(dAtA[i:], m.Timestamp)
      i = encodeVarintSdk(dAtA, i, uint64(len(m.Timestamp)))
      i--
      dAtA[i] = 0x22
   }
   if len(m.Data) > 0 {
      i -= len(m.Data)
      copy(dAtA[i:], m.Data)
      i = encodeVarintSdk(dAtA, i, uint64(len(m.Data)))
      i--
      dAtA[i] = 0x1a
   if m.Width != 0 {
      dAtA[i] = 0x8
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.Width))
   }
   if m.Height != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.Height))
      i--
      dAtA[i] = 0x10
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.Height))
   }
   if m.Width != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.Width))
      i--
   if len(m.Data) > 0 {
      dAtA[i] = 0x1a
      i++
      i = encodeVarintSdk(dAtA, i, uint64(len(m.Data)))
      i += copy(dAtA[i:], m.Data)
   }
   if len(m.Timestamp) > 0 {
      dAtA[i] = 0x22
      i++
      i = encodeVarintSdk(dAtA, i, uint64(len(m.Timestamp)))
      i += copy(dAtA[i:], m.Timestamp)
   }
   if m.Id != 0 {
      dAtA[i] = 0x28
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.Id))
   }
   if len(m.Cid) > 0 {
      dAtA[i] = 0x32
      i++
      i = encodeVarintSdk(dAtA, i, uint64(len(m.Cid)))
      i += copy(dAtA[i:], m.Cid)
   }
   if len(m.Cname) > 0 {
      dAtA[i] = 0x3a
      i++
      i = encodeVarintSdk(dAtA, i, uint64(len(m.Cname)))
      i += copy(dAtA[i:], m.Cname)
   }
   if m.Channel != 0 {
      dAtA[i] = 0x40
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.Channel))
   }
   if m.I64Timestamp != 0 {
      dAtA[i] = 0x48
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.I64Timestamp))
   }
   return i, nil
}
func (m *Target) 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 *Target) MarshalTo(dAtA []byte) (int, error) {
   var i int
   _ = i
   var l int
   _ = l
   if m.Id != 0 {
      dAtA[i] = 0x8
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.Id))
   }
   return len(dAtA) - i, nil
   if len(m.Type) > 0 {
      dAtA[i] = 0x12
      i++
      i = encodeVarintSdk(dAtA, i, uint64(len(m.Type)))
      i += copy(dAtA[i:], m.Type)
   }
   if m.Confidence != 0 {
      dAtA[i] = 0x18
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.Confidence))
   }
   if m.Rect != nil {
      dAtA[i] = 0x22
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.Rect.Size()))
      n1, err1 := m.Rect.MarshalTo(dAtA[i:])
      if err1 != nil {
         return 0, err1
      }
      i += n1
   }
   if len(m.Feature) > 0 {
      dAtA[i] = 0x2a
      i++
      i = encodeVarintSdk(dAtA, i, uint64(len(m.Feature)))
      i += copy(dAtA[i:], m.Feature)
   }
   if len(m.Attribute) > 0 {
      dAtA[i] = 0x32
      i++
      i = encodeVarintSdk(dAtA, i, uint64(len(m.Attribute)))
      i += copy(dAtA[i:], m.Attribute)
   }
   return i, nil
}
func (m *NewSDKMessage) 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 *NewSDKMessage) MarshalTo(dAtA []byte) (int, error) {
   var i int
   _ = i
   var l int
   _ = l
   if len(m.SdkID) > 0 {
      dAtA[i] = 0xa
      i++
      i = encodeVarintSdk(dAtA, i, uint64(len(m.SdkID)))
      i += copy(dAtA[i:], m.SdkID)
   }
   if len(m.SdkType) > 0 {
      dAtA[i] = 0x12
      i++
      i = encodeVarintSdk(dAtA, i, uint64(len(m.SdkType)))
      i += copy(dAtA[i:], m.SdkType)
   }
   if len(m.SdkName) > 0 {
      dAtA[i] = 0x1a
      i++
      i = encodeVarintSdk(dAtA, i, uint64(len(m.SdkName)))
      i += copy(dAtA[i:], m.SdkName)
   }
   if len(m.Target) > 0 {
      for _, msg := range m.Target {
         dAtA[i] = 0x22
         i++
         i = encodeVarintSdk(dAtA, i, uint64(msg.Size()))
         n, err := msg.MarshalTo(dAtA[i:])
         if err != nil {
            return 0, err
         }
         i += n
      }
   }
   if len(m.Timestamp) > 0 {
      dAtA[i] = 0x2a
      i++
      i = encodeVarintSdk(dAtA, i, uint64(len(m.Timestamp)))
      i += copy(dAtA[i:], m.Timestamp)
   }
   return i, nil
}
func (m *NewRuleMessage) 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 *NewRuleMessage) MarshalTo(dAtA []byte) (int, error) {
   var i int
   _ = i
   var l int
   _ = l
   if len(m.DataType) > 0 {
      dAtA[i] = 0xa
      i++
      i = encodeVarintSdk(dAtA, i, uint64(len(m.DataType)))
      i += copy(dAtA[i:], m.DataType)
   }
   if len(m.HandleTrack) > 0 {
      dAtA[i] = 0x12
      i++
      i = encodeVarintSdk(dAtA, i, uint64(len(m.HandleTrack)))
      i += copy(dAtA[i:], m.HandleTrack)
   }
   if len(m.Message) > 0 {
      for _, msg := range m.Message {
         dAtA[i] = 0x1a
         i++
         i = encodeVarintSdk(dAtA, i, uint64(msg.Size()))
         n, err := msg.MarshalTo(dAtA[i:])
         if err != nil {
            return 0, err
         }
         i += n
      }
   }
   return i, nil
}
func (m *FaceAngle) Marshal() (dAtA []byte, err error) {
   size := m.Size()
   dAtA = make([]byte, size)
   n, err := m.MarshalToSizedBuffer(dAtA[:size])
   n, err := m.MarshalTo(dAtA)
   if err != nil {
      return nil, err
   }
@@ -1726,43 +2144,38 @@
}
func (m *FaceAngle) MarshalTo(dAtA []byte) (int, error) {
   size := m.Size()
   return m.MarshalToSizedBuffer(dAtA[:size])
}
func (m *FaceAngle) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   i := len(dAtA)
   var i int
   _ = i
   var l int
   _ = l
   if m.Confidence != 0 {
      i -= 4
      encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Confidence))))
      i--
      dAtA[i] = 0x25
   }
   if m.Roll != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.Roll))
      i--
      dAtA[i] = 0x18
   if m.Yaw != 0 {
      dAtA[i] = 0x8
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.Yaw))
   }
   if m.Pitch != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.Pitch))
      i--
      dAtA[i] = 0x10
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.Pitch))
   }
   if m.Yaw != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.Yaw))
      i--
      dAtA[i] = 0x8
   if m.Roll != 0 {
      dAtA[i] = 0x18
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.Roll))
   }
   return len(dAtA) - i, nil
   if m.Confidence != 0 {
      dAtA[i] = 0x25
      i++
      encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Confidence))))
      i += 4
   }
   return i, nil
}
func (m *ThftResult) Marshal() (dAtA []byte, err error) {
   size := m.Size()
   dAtA = make([]byte, size)
   n, err := m.MarshalToSizedBuffer(dAtA[:size])
   n, err := m.MarshalTo(dAtA)
   if err != nil {
      return nil, err
   }
@@ -1770,47 +2183,42 @@
}
func (m *ThftResult) MarshalTo(dAtA []byte) (int, error) {
   size := m.Size()
   return m.MarshalToSizedBuffer(dAtA[:size])
}
func (m *ThftResult) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   i := len(dAtA)
   var i int
   _ = i
   var l int
   _ = l
   if m.Smile != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.Smile))
      i--
      dAtA[i] = 0x28
   }
   if m.Beauty != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.Beauty))
      i--
      dAtA[i] = 0x20
   }
   if m.Race != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.Race))
      i--
      dAtA[i] = 0x18
   if m.Gender != 0 {
      dAtA[i] = 0x8
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.Gender))
   }
   if m.Age != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.Age))
      i--
      dAtA[i] = 0x10
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.Age))
   }
   if m.Gender != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.Gender))
      i--
      dAtA[i] = 0x8
   if m.Race != 0 {
      dAtA[i] = 0x18
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.Race))
   }
   return len(dAtA) - i, nil
   if m.Beauty != 0 {
      dAtA[i] = 0x20
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.Beauty))
   }
   if m.Smile != 0 {
      dAtA[i] = 0x28
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.Smile))
   }
   return i, nil
}
func (m *FacePos) Marshal() (dAtA []byte, err error) {
   size := m.Size()
   dAtA = make([]byte, size)
   n, err := m.MarshalToSizedBuffer(dAtA[:size])
   n, err := m.MarshalTo(dAtA)
   if err != nil {
      return nil, err
   }
@@ -1818,111 +2226,93 @@
}
func (m *FacePos) MarshalTo(dAtA []byte) (int, error) {
   size := m.Size()
   return m.MarshalToSizedBuffer(dAtA[:size])
}
func (m *FacePos) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   i := len(dAtA)
   var i int
   _ = i
   var l int
   _ = l
   if m.FaceID != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.FaceID))
      i--
      dAtA[i] = 0x48
   }
   if len(m.FacialData) > 0 {
      i -= len(m.FacialData)
      copy(dAtA[i:], m.FacialData)
      i = encodeVarintSdk(dAtA, i, uint64(len(m.FacialData)))
      i--
      dAtA[i] = 0x42
   }
   if m.Quality != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.Quality))
      i--
      dAtA[i] = 0x38
   }
   if m.FAngle != nil {
      {
         size, err := m.FAngle.MarshalToSizedBuffer(dAtA[:i])
         if err != nil {
            return 0, err
         }
         i -= size
         i = encodeVarintSdk(dAtA, i, uint64(size))
   if m.RcFace != nil {
      dAtA[i] = 0xa
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.RcFace.Size()))
      n2, err2 := m.RcFace.MarshalTo(dAtA[i:])
      if err2 != nil {
         return 0, err2
      }
      i--
      dAtA[i] = 0x32
   }
   if m.PtNose != nil {
      {
         size, err := m.PtNose.MarshalToSizedBuffer(dAtA[:i])
         if err != nil {
            return 0, err
         }
         i -= size
         i = encodeVarintSdk(dAtA, i, uint64(size))
      }
      i--
      dAtA[i] = 0x2a
   }
   if m.PtMouth != nil {
      {
         size, err := m.PtMouth.MarshalToSizedBuffer(dAtA[:i])
         if err != nil {
            return 0, err
         }
         i -= size
         i = encodeVarintSdk(dAtA, i, uint64(size))
      }
      i--
      dAtA[i] = 0x22
   }
   if m.PtRightEye != nil {
      {
         size, err := m.PtRightEye.MarshalToSizedBuffer(dAtA[:i])
         if err != nil {
            return 0, err
         }
         i -= size
         i = encodeVarintSdk(dAtA, i, uint64(size))
      }
      i--
      dAtA[i] = 0x1a
      i += n2
   }
   if m.PtLeftEye != nil {
      {
         size, err := m.PtLeftEye.MarshalToSizedBuffer(dAtA[:i])
         if err != nil {
            return 0, err
         }
         i -= size
         i = encodeVarintSdk(dAtA, i, uint64(size))
      }
      i--
      dAtA[i] = 0x12
   }
   if m.RcFace != nil {
      {
         size, err := m.RcFace.MarshalToSizedBuffer(dAtA[:i])
         if err != nil {
            return 0, err
         }
         i -= size
         i = encodeVarintSdk(dAtA, i, uint64(size))
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.PtLeftEye.Size()))
      n3, err3 := m.PtLeftEye.MarshalTo(dAtA[i:])
      if err3 != nil {
         return 0, err3
      }
      i--
      dAtA[i] = 0xa
      i += n3
   }
   return len(dAtA) - i, nil
   if m.PtRightEye != nil {
      dAtA[i] = 0x1a
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.PtRightEye.Size()))
      n4, err4 := m.PtRightEye.MarshalTo(dAtA[i:])
      if err4 != nil {
         return 0, err4
      }
      i += n4
   }
   if m.PtMouth != nil {
      dAtA[i] = 0x22
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.PtMouth.Size()))
      n5, err5 := m.PtMouth.MarshalTo(dAtA[i:])
      if err5 != nil {
         return 0, err5
      }
      i += n5
   }
   if m.PtNose != nil {
      dAtA[i] = 0x2a
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.PtNose.Size()))
      n6, err6 := m.PtNose.MarshalTo(dAtA[i:])
      if err6 != nil {
         return 0, err6
      }
      i += n6
   }
   if m.FAngle != nil {
      dAtA[i] = 0x32
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.FAngle.Size()))
      n7, err7 := m.FAngle.MarshalTo(dAtA[i:])
      if err7 != nil {
         return 0, err7
      }
      i += n7
   }
   if m.Quality != 0 {
      dAtA[i] = 0x38
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.Quality))
   }
   if len(m.FacialData) > 0 {
      dAtA[i] = 0x42
      i++
      i = encodeVarintSdk(dAtA, i, uint64(len(m.FacialData)))
      i += copy(dAtA[i:], m.FacialData)
   }
   if m.FaceID != 0 {
      dAtA[i] = 0x48
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.FaceID))
   }
   return i, nil
}
func (m *FaceInfo) Marshal() (dAtA []byte, err error) {
   size := m.Size()
   dAtA = make([]byte, size)
   n, err := m.MarshalToSizedBuffer(dAtA[:size])
   n, err := m.MarshalTo(dAtA)
   if err != nil {
      return nil, err
   }
@@ -1930,111 +2320,93 @@
}
func (m *FaceInfo) MarshalTo(dAtA []byte) (int, error) {
   size := m.Size()
   return m.MarshalToSizedBuffer(dAtA[:size])
}
func (m *FaceInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   i := len(dAtA)
   var i int
   _ = i
   var l int
   _ = l
   if m.FaceID != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.FaceID))
      i--
      dAtA[i] = 0x48
   }
   if len(m.FacialData) > 0 {
      i -= len(m.FacialData)
      copy(dAtA[i:], m.FacialData)
      i = encodeVarintSdk(dAtA, i, uint64(len(m.FacialData)))
      i--
      dAtA[i] = 0x42
   }
   if m.Quality != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.Quality))
      i--
      dAtA[i] = 0x38
   }
   if m.FAngle != nil {
      {
         size, err := m.FAngle.MarshalToSizedBuffer(dAtA[:i])
         if err != nil {
            return 0, err
         }
         i -= size
         i = encodeVarintSdk(dAtA, i, uint64(size))
   if m.RcFace != nil {
      dAtA[i] = 0xa
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.RcFace.Size()))
      n8, err8 := m.RcFace.MarshalTo(dAtA[i:])
      if err8 != nil {
         return 0, err8
      }
      i--
      dAtA[i] = 0x32
   }
   if m.PtNose != nil {
      {
         size, err := m.PtNose.MarshalToSizedBuffer(dAtA[:i])
         if err != nil {
            return 0, err
         }
         i -= size
         i = encodeVarintSdk(dAtA, i, uint64(size))
      }
      i--
      dAtA[i] = 0x2a
   }
   if m.PtMouth != nil {
      {
         size, err := m.PtMouth.MarshalToSizedBuffer(dAtA[:i])
         if err != nil {
            return 0, err
         }
         i -= size
         i = encodeVarintSdk(dAtA, i, uint64(size))
      }
      i--
      dAtA[i] = 0x22
   }
   if m.PtRightEye != nil {
      {
         size, err := m.PtRightEye.MarshalToSizedBuffer(dAtA[:i])
         if err != nil {
            return 0, err
         }
         i -= size
         i = encodeVarintSdk(dAtA, i, uint64(size))
      }
      i--
      dAtA[i] = 0x1a
      i += n8
   }
   if m.PtLeftEye != nil {
      {
         size, err := m.PtLeftEye.MarshalToSizedBuffer(dAtA[:i])
         if err != nil {
            return 0, err
         }
         i -= size
         i = encodeVarintSdk(dAtA, i, uint64(size))
      }
      i--
      dAtA[i] = 0x12
   }
   if m.RcFace != nil {
      {
         size, err := m.RcFace.MarshalToSizedBuffer(dAtA[:i])
         if err != nil {
            return 0, err
         }
         i -= size
         i = encodeVarintSdk(dAtA, i, uint64(size))
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.PtLeftEye.Size()))
      n9, err9 := m.PtLeftEye.MarshalTo(dAtA[i:])
      if err9 != nil {
         return 0, err9
      }
      i--
      dAtA[i] = 0xa
      i += n9
   }
   return len(dAtA) - i, nil
   if m.PtRightEye != nil {
      dAtA[i] = 0x1a
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.PtRightEye.Size()))
      n10, err10 := m.PtRightEye.MarshalTo(dAtA[i:])
      if err10 != nil {
         return 0, err10
      }
      i += n10
   }
   if m.PtMouth != nil {
      dAtA[i] = 0x22
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.PtMouth.Size()))
      n11, err11 := m.PtMouth.MarshalTo(dAtA[i:])
      if err11 != nil {
         return 0, err11
      }
      i += n11
   }
   if m.PtNose != nil {
      dAtA[i] = 0x2a
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.PtNose.Size()))
      n12, err12 := m.PtNose.MarshalTo(dAtA[i:])
      if err12 != nil {
         return 0, err12
      }
      i += n12
   }
   if m.FAngle != nil {
      dAtA[i] = 0x32
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.FAngle.Size()))
      n13, err13 := m.FAngle.MarshalTo(dAtA[i:])
      if err13 != nil {
         return 0, err13
      }
      i += n13
   }
   if m.Quality != 0 {
      dAtA[i] = 0x38
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.Quality))
   }
   if len(m.FacialData) > 0 {
      dAtA[i] = 0x42
      i++
      i = encodeVarintSdk(dAtA, i, uint64(len(m.FacialData)))
      i += copy(dAtA[i:], m.FacialData)
   }
   if m.FaceID != 0 {
      dAtA[i] = 0x48
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.FaceID))
   }
   return i, nil
}
func (m *ObjInfo) Marshal() (dAtA []byte, err error) {
   size := m.Size()
   dAtA = make([]byte, size)
   n, err := m.MarshalToSizedBuffer(dAtA[:size])
   n, err := m.MarshalTo(dAtA)
   if err != nil {
      return nil, err
   }
@@ -2042,50 +2414,43 @@
}
func (m *ObjInfo) MarshalTo(dAtA []byte) (int, error) {
   size := m.Size()
   return m.MarshalToSizedBuffer(dAtA[:size])
}
func (m *ObjInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   i := len(dAtA)
   var i int
   _ = i
   var l int
   _ = l
   if m.ObjID != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.ObjID))
      i--
      dAtA[i] = 0x20
   }
   if m.Prob != 0 {
      i -= 4
      encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Prob))))
      i--
      dAtA[i] = 0x1d
   if m.RcObj != nil {
      dAtA[i] = 0xa
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.RcObj.Size()))
      n14, err14 := m.RcObj.MarshalTo(dAtA[i:])
      if err14 != nil {
         return 0, err14
      }
      i += n14
   }
   if m.Typ != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.Typ))
      i--
      dAtA[i] = 0x10
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.Typ))
   }
   if m.RcObj != nil {
      {
         size, err := m.RcObj.MarshalToSizedBuffer(dAtA[:i])
         if err != nil {
            return 0, err
         }
         i -= size
         i = encodeVarintSdk(dAtA, i, uint64(size))
      }
      i--
      dAtA[i] = 0xa
   if m.Prob != 0 {
      dAtA[i] = 0x1d
      i++
      encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Prob))))
      i += 4
   }
   return len(dAtA) - i, nil
   if m.ObjID != 0 {
      dAtA[i] = 0x20
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.ObjID))
   }
   return i, nil
}
func (m *ResultFaceDetect) Marshal() (dAtA []byte, err error) {
   size := m.Size()
   dAtA = make([]byte, size)
   n, err := m.MarshalToSizedBuffer(dAtA[:size])
   n, err := m.MarshalTo(dAtA)
   if err != nil {
      return nil, err
   }
@@ -2093,53 +2458,43 @@
}
func (m *ResultFaceDetect) MarshalTo(dAtA []byte) (int, error) {
   size := m.Size()
   return m.MarshalToSizedBuffer(dAtA[:size])
}
func (m *ResultFaceDetect) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   i := len(dAtA)
   var i int
   _ = i
   var l int
   _ = l
   if len(m.Feats) > 0 {
      i -= len(m.Feats)
      copy(dAtA[i:], m.Feats)
      i = encodeVarintSdk(dAtA, i, uint64(len(m.Feats)))
      i--
      dAtA[i] = 0x1a
   if m.Pos != nil {
      dAtA[i] = 0xa
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.Pos.Size()))
      n15, err15 := m.Pos.MarshalTo(dAtA[i:])
      if err15 != nil {
         return 0, err15
      }
      i += n15
   }
   if m.Result != nil {
      {
         size, err := m.Result.MarshalToSizedBuffer(dAtA[:i])
         if err != nil {
            return 0, err
         }
         i -= size
         i = encodeVarintSdk(dAtA, i, uint64(size))
      }
      i--
      dAtA[i] = 0x12
   }
   if m.Pos != nil {
      {
         size, err := m.Pos.MarshalToSizedBuffer(dAtA[:i])
         if err != nil {
            return 0, err
         }
         i -= size
         i = encodeVarintSdk(dAtA, i, uint64(size))
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.Result.Size()))
      n16, err16 := m.Result.MarshalTo(dAtA[i:])
      if err16 != nil {
         return 0, err16
      }
      i--
      dAtA[i] = 0xa
      i += n16
   }
   return len(dAtA) - i, nil
   if len(m.Feats) > 0 {
      dAtA[i] = 0x1a
      i++
      i = encodeVarintSdk(dAtA, i, uint64(len(m.Feats)))
      i += copy(dAtA[i:], m.Feats)
   }
   return i, nil
}
func (m *ParamFacePos) Marshal() (dAtA []byte, err error) {
   size := m.Size()
   dAtA = make([]byte, size)
   n, err := m.MarshalToSizedBuffer(dAtA[:size])
   n, err := m.MarshalTo(dAtA)
   if err != nil {
      return nil, err
   }
@@ -2147,36 +2502,29 @@
}
func (m *ParamFacePos) MarshalTo(dAtA []byte) (int, error) {
   size := m.Size()
   return m.MarshalToSizedBuffer(dAtA[:size])
}
func (m *ParamFacePos) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   i := len(dAtA)
   var i int
   _ = i
   var l int
   _ = l
   if len(m.Faces) > 0 {
      for iNdEx := len(m.Faces) - 1; iNdEx >= 0; iNdEx-- {
         {
            size, err := m.Faces[iNdEx].MarshalToSizedBuffer(dAtA[:i])
            if err != nil {
               return 0, err
            }
            i -= size
            i = encodeVarintSdk(dAtA, i, uint64(size))
         }
         i--
      for _, msg := range m.Faces {
         dAtA[i] = 0xa
         i++
         i = encodeVarintSdk(dAtA, i, uint64(msg.Size()))
         n, err := msg.MarshalTo(dAtA[i:])
         if err != nil {
            return 0, err
         }
         i += n
      }
   }
   return len(dAtA) - i, nil
   return i, nil
}
func (m *ResultFaceExtCom) Marshal() (dAtA []byte, err error) {
   size := m.Size()
   dAtA = make([]byte, size)
   n, err := m.MarshalToSizedBuffer(dAtA[:size])
   n, err := m.MarshalTo(dAtA)
   if err != nil {
      return nil, err
   }
@@ -2184,48 +2532,39 @@
}
func (m *ResultFaceExtCom) MarshalTo(dAtA []byte) (int, error) {
   size := m.Size()
   return m.MarshalToSizedBuffer(dAtA[:size])
}
func (m *ResultFaceExtCom) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   i := len(dAtA)
   var i int
   _ = i
   var l int
   _ = l
   if m.Pos != nil {
      {
         size, err := m.Pos.MarshalToSizedBuffer(dAtA[:i])
         if err != nil {
            return 0, err
         }
         i -= size
         i = encodeVarintSdk(dAtA, i, uint64(size))
      }
      i--
      dAtA[i] = 0x1a
   if len(m.Feats) > 0 {
      dAtA[i] = 0xa
      i++
      i = encodeVarintSdk(dAtA, i, uint64(len(m.Feats)))
      i += copy(dAtA[i:], m.Feats)
   }
   if len(m.Comp) > 0 {
      i -= len(m.Comp)
      copy(dAtA[i:], m.Comp)
      i = encodeVarintSdk(dAtA, i, uint64(len(m.Comp)))
      i--
      dAtA[i] = 0x12
      i++
      i = encodeVarintSdk(dAtA, i, uint64(len(m.Comp)))
      i += copy(dAtA[i:], m.Comp)
   }
   if len(m.Feats) > 0 {
      i -= len(m.Feats)
      copy(dAtA[i:], m.Feats)
      i = encodeVarintSdk(dAtA, i, uint64(len(m.Feats)))
      i--
      dAtA[i] = 0xa
   if m.Pos != nil {
      dAtA[i] = 0x1a
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.Pos.Size()))
      n17, err17 := m.Pos.MarshalTo(dAtA[i:])
      if err17 != nil {
         return 0, err17
      }
      i += n17
   }
   return len(dAtA) - i, nil
   return i, nil
}
func (m *ParamFaceFeature) Marshal() (dAtA []byte, err error) {
   size := m.Size()
   dAtA = make([]byte, size)
   n, err := m.MarshalToSizedBuffer(dAtA[:size])
   n, err := m.MarshalTo(dAtA)
   if err != nil {
      return nil, err
   }
@@ -2233,36 +2572,29 @@
}
func (m *ParamFaceFeature) MarshalTo(dAtA []byte) (int, error) {
   size := m.Size()
   return m.MarshalToSizedBuffer(dAtA[:size])
}
func (m *ParamFaceFeature) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   i := len(dAtA)
   var i int
   _ = i
   var l int
   _ = l
   if len(m.ExtComp) > 0 {
      for iNdEx := len(m.ExtComp) - 1; iNdEx >= 0; iNdEx-- {
         {
            size, err := m.ExtComp[iNdEx].MarshalToSizedBuffer(dAtA[:i])
            if err != nil {
               return 0, err
            }
            i -= size
            i = encodeVarintSdk(dAtA, i, uint64(size))
         }
         i--
      for _, msg := range m.ExtComp {
         dAtA[i] = 0x12
         i++
         i = encodeVarintSdk(dAtA, i, uint64(msg.Size()))
         n, err := msg.MarshalTo(dAtA[i:])
         if err != nil {
            return 0, err
         }
         i += n
      }
   }
   return len(dAtA) - i, nil
   return i, nil
}
func (m *ParamYoloObj) Marshal() (dAtA []byte, err error) {
   size := m.Size()
   dAtA = make([]byte, size)
   n, err := m.MarshalToSizedBuffer(dAtA[:size])
   n, err := m.MarshalTo(dAtA)
   if err != nil {
      return nil, err
   }
@@ -2270,36 +2602,29 @@
}
func (m *ParamYoloObj) MarshalTo(dAtA []byte) (int, error) {
   size := m.Size()
   return m.MarshalToSizedBuffer(dAtA[:size])
}
func (m *ParamYoloObj) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   i := len(dAtA)
   var i int
   _ = i
   var l int
   _ = l
   if len(m.Infos) > 0 {
      for iNdEx := len(m.Infos) - 1; iNdEx >= 0; iNdEx-- {
         {
            size, err := m.Infos[iNdEx].MarshalToSizedBuffer(dAtA[:i])
            if err != nil {
               return 0, err
            }
            i -= size
            i = encodeVarintSdk(dAtA, i, uint64(size))
         }
         i--
      for _, msg := range m.Infos {
         dAtA[i] = 0xa
         i++
         i = encodeVarintSdk(dAtA, i, uint64(msg.Size()))
         n, err := msg.MarshalTo(dAtA[i:])
         if err != nil {
            return 0, err
         }
         i += n
      }
   }
   return len(dAtA) - i, nil
   return i, nil
}
func (m *SoInfo) Marshal() (dAtA []byte, err error) {
   size := m.Size()
   dAtA = make([]byte, size)
   n, err := m.MarshalToSizedBuffer(dAtA[:size])
   n, err := m.MarshalTo(dAtA)
   if err != nil {
      return nil, err
   }
@@ -2307,43 +2632,35 @@
}
func (m *SoInfo) MarshalTo(dAtA []byte) (int, error) {
   size := m.Size()
   return m.MarshalToSizedBuffer(dAtA[:size])
}
func (m *SoInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   i := len(dAtA)
   var i int
   _ = i
   var l int
   _ = l
   if len(m.SoName) > 0 {
      i -= len(m.SoName)
      copy(dAtA[i:], m.SoName)
      i = encodeVarintSdk(dAtA, i, uint64(len(m.SoName)))
      i--
      dAtA[i] = 0x1a
   if len(m.Id) > 0 {
      dAtA[i] = 0xa
      i++
      i = encodeVarintSdk(dAtA, i, uint64(len(m.Id)))
      i += copy(dAtA[i:], m.Id)
   }
   if len(m.SdkId) > 0 {
      i -= len(m.SdkId)
      copy(dAtA[i:], m.SdkId)
      i = encodeVarintSdk(dAtA, i, uint64(len(m.SdkId)))
      i--
      dAtA[i] = 0x12
      i++
      i = encodeVarintSdk(dAtA, i, uint64(len(m.SdkId)))
      i += copy(dAtA[i:], m.SdkId)
   }
   if len(m.Id) > 0 {
      i -= len(m.Id)
      copy(dAtA[i:], m.Id)
      i = encodeVarintSdk(dAtA, i, uint64(len(m.Id)))
      i--
      dAtA[i] = 0xa
   if len(m.SoName) > 0 {
      dAtA[i] = 0x1a
      i++
      i = encodeVarintSdk(dAtA, i, uint64(len(m.SoName)))
      i += copy(dAtA[i:], m.SoName)
   }
   return len(dAtA) - i, nil
   return i, nil
}
func (m *PlateID) Marshal() (dAtA []byte, err error) {
   size := m.Size()
   dAtA = make([]byte, size)
   n, err := m.MarshalToSizedBuffer(dAtA[:size])
   n, err := m.MarshalTo(dAtA)
   if err != nil {
      return nil, err
   }
@@ -2351,153 +2668,137 @@
}
func (m *PlateID) MarshalTo(dAtA []byte) (int, error) {
   size := m.Size()
   return m.MarshalToSizedBuffer(dAtA[:size])
}
func (m *PlateID) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   i := len(dAtA)
   var i int
   _ = i
   var l int
   _ = l
   if len(m.NCarModelConfidence) > 0 {
      i -= len(m.NCarModelConfidence)
      copy(dAtA[i:], m.NCarModelConfidence)
      i = encodeVarintSdk(dAtA, i, uint64(len(m.NCarModelConfidence)))
      i--
      dAtA[i] = 0x1
      i--
      dAtA[i] = 0x9a
   }
   if len(m.NCarModel) > 0 {
      i -= len(m.NCarModel)
      copy(dAtA[i:], m.NCarModel)
      i = encodeVarintSdk(dAtA, i, uint64(len(m.NCarModel)))
      i--
      dAtA[i] = 0x1
      i--
      dAtA[i] = 0x92
   }
   if m.RcLogoLocation != nil {
      {
         size, err := m.RcLogoLocation.MarshalToSizedBuffer(dAtA[:i])
         if err != nil {
            return 0, err
         }
         i -= size
         i = encodeVarintSdk(dAtA, i, uint64(size))
      }
      i--
      dAtA[i] = 0x1
      i--
      dAtA[i] = 0x8a
   }
   if len(m.NBinPlateHeight) > 0 {
      i -= len(m.NBinPlateHeight)
      copy(dAtA[i:], m.NBinPlateHeight)
      i = encodeVarintSdk(dAtA, i, uint64(len(m.NBinPlateHeight)))
      i--
      dAtA[i] = 0x1
      i--
      dAtA[i] = 0x82
   }
   if len(m.NBinPlateWidth) > 0 {
      i -= len(m.NBinPlateWidth)
      copy(dAtA[i:], m.NBinPlateWidth)
      i = encodeVarintSdk(dAtA, i, uint64(len(m.NBinPlateWidth)))
      i--
      dAtA[i] = 0x7a
   }
   if len(m.PlateBin) > 0 {
      i -= len(m.PlateBin)
      copy(dAtA[i:], m.PlateBin)
      i = encodeVarintSdk(dAtA, i, uint64(len(m.PlateBin)))
      i--
      dAtA[i] = 0x72
   }
   if m.NCarType != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.NCarType))
      i--
      dAtA[i] = 0x68
   }
   if m.NCarLogo != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.NCarLogo))
      i--
      dAtA[i] = 0x60
   }
   if m.NCarColor != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.NCarColor))
      i--
      dAtA[i] = 0x58
   }
   if m.NCarBright != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.NCarBright))
      i--
      dAtA[i] = 0x50
   }
   if m.NTime != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.NTime))
      i--
      dAtA[i] = 0x48
   }
   if m.RcLocation != nil {
      {
         size, err := m.RcLocation.MarshalToSizedBuffer(dAtA[:i])
         if err != nil {
            return 0, err
         }
         i -= size
         i = encodeVarintSdk(dAtA, i, uint64(size))
      }
      i--
      dAtA[i] = 0x42
   }
   if m.NDirection != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.NDirection))
      i--
      dAtA[i] = 0x38
   }
   if m.NBright != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.NBright))
      i--
      dAtA[i] = 0x30
   }
   if m.NConfidence != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.NConfidence))
      i--
      dAtA[i] = 0x28
   }
   if m.NType != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.NType))
      i--
      dAtA[i] = 0x20
   }
   if m.NColor != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.NColor))
      i--
      dAtA[i] = 0x18
   if len(m.License) > 0 {
      dAtA[i] = 0xa
      i++
      i = encodeVarintSdk(dAtA, i, uint64(len(m.License)))
      i += copy(dAtA[i:], m.License)
   }
   if len(m.Color) > 0 {
      i -= len(m.Color)
      copy(dAtA[i:], m.Color)
      i = encodeVarintSdk(dAtA, i, uint64(len(m.Color)))
      i--
      dAtA[i] = 0x12
      i++
      i = encodeVarintSdk(dAtA, i, uint64(len(m.Color)))
      i += copy(dAtA[i:], m.Color)
   }
   if len(m.License) > 0 {
      i -= len(m.License)
      copy(dAtA[i:], m.License)
      i = encodeVarintSdk(dAtA, i, uint64(len(m.License)))
      i--
      dAtA[i] = 0xa
   if m.NColor != 0 {
      dAtA[i] = 0x18
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.NColor))
   }
   return len(dAtA) - i, nil
   if m.NType != 0 {
      dAtA[i] = 0x20
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.NType))
   }
   if m.NConfidence != 0 {
      dAtA[i] = 0x28
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.NConfidence))
   }
   if m.NBright != 0 {
      dAtA[i] = 0x30
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.NBright))
   }
   if m.NDirection != 0 {
      dAtA[i] = 0x38
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.NDirection))
   }
   if m.RcLocation != nil {
      dAtA[i] = 0x42
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.RcLocation.Size()))
      n18, err18 := m.RcLocation.MarshalTo(dAtA[i:])
      if err18 != nil {
         return 0, err18
      }
      i += n18
   }
   if m.NTime != 0 {
      dAtA[i] = 0x48
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.NTime))
   }
   if m.NCarBright != 0 {
      dAtA[i] = 0x50
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.NCarBright))
   }
   if m.NCarColor != 0 {
      dAtA[i] = 0x58
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.NCarColor))
   }
   if m.NCarLogo != 0 {
      dAtA[i] = 0x60
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.NCarLogo))
   }
   if m.NCarType != 0 {
      dAtA[i] = 0x68
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.NCarType))
   }
   if len(m.PlateBin) > 0 {
      dAtA[i] = 0x72
      i++
      i = encodeVarintSdk(dAtA, i, uint64(len(m.PlateBin)))
      i += copy(dAtA[i:], m.PlateBin)
   }
   if len(m.NBinPlateWidth) > 0 {
      dAtA[i] = 0x7a
      i++
      i = encodeVarintSdk(dAtA, i, uint64(len(m.NBinPlateWidth)))
      i += copy(dAtA[i:], m.NBinPlateWidth)
   }
   if len(m.NBinPlateHeight) > 0 {
      dAtA[i] = 0x82
      i++
      dAtA[i] = 0x1
      i++
      i = encodeVarintSdk(dAtA, i, uint64(len(m.NBinPlateHeight)))
      i += copy(dAtA[i:], m.NBinPlateHeight)
   }
   if m.RcLogoLocation != nil {
      dAtA[i] = 0x8a
      i++
      dAtA[i] = 0x1
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.RcLogoLocation.Size()))
      n19, err19 := m.RcLogoLocation.MarshalTo(dAtA[i:])
      if err19 != nil {
         return 0, err19
      }
      i += n19
   }
   if len(m.NCarModel) > 0 {
      dAtA[i] = 0x92
      i++
      dAtA[i] = 0x1
      i++
      i = encodeVarintSdk(dAtA, i, uint64(len(m.NCarModel)))
      i += copy(dAtA[i:], m.NCarModel)
   }
   if len(m.NCarModelConfidence) > 0 {
      dAtA[i] = 0x9a
      i++
      dAtA[i] = 0x1
      i++
      i = encodeVarintSdk(dAtA, i, uint64(len(m.NCarModelConfidence)))
      i += copy(dAtA[i:], m.NCarModelConfidence)
   }
   return i, nil
}
func (m *PlateIDCloud) Marshal() (dAtA []byte, err error) {
   size := m.Size()
   dAtA = make([]byte, size)
   n, err := m.MarshalToSizedBuffer(dAtA[:size])
   n, err := m.MarshalTo(dAtA)
   if err != nil {
      return nil, err
   }
@@ -2505,96 +2806,88 @@
}
func (m *PlateIDCloud) MarshalTo(dAtA []byte) (int, error) {
   size := m.Size()
   return m.MarshalToSizedBuffer(dAtA[:size])
}
func (m *PlateIDCloud) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   i := len(dAtA)
   var i int
   _ = i
   var l int
   _ = l
   if m.CharNum != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.CharNum))
      i--
      dAtA[i] = 0x68
   }
   if m.GrayFaceFlag != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.GrayFaceFlag))
      i--
      dAtA[i] = 0x60
   }
   if m.FaceHeight != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.FaceHeight))
      i--
      dAtA[i] = 0x58
   }
   if m.FaceWidth != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.FaceWidth))
      i--
      dAtA[i] = 0x50
   }
   if m.FrameNo != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.FrameNo))
      i--
      dAtA[i] = 0x48
   }
   if m.NCarBright != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.NCarBright))
      i--
      dAtA[i] = 0x40
   }
   if m.NCarColor1 != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.NCarColor1))
      i--
      dAtA[i] = 0x38
   }
   if m.NCarColor != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.NCarColor))
      i--
      dAtA[i] = 0x30
   }
   if m.NDirection != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.NDirection))
      i--
      dAtA[i] = 0x28
   }
   if m.NType != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.NType))
      i--
      dAtA[i] = 0x20
   }
   if m.NConfidence != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.NConfidence))
      i--
      dAtA[i] = 0x18
   if len(m.License) > 0 {
      dAtA[i] = 0xa
      i++
      i = encodeVarintSdk(dAtA, i, uint64(len(m.License)))
      i += copy(dAtA[i:], m.License)
   }
   if m.RcLocation != nil {
      {
         size, err := m.RcLocation.MarshalToSizedBuffer(dAtA[:i])
         if err != nil {
            return 0, err
         }
         i -= size
         i = encodeVarintSdk(dAtA, i, uint64(size))
      }
      i--
      dAtA[i] = 0x12
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.RcLocation.Size()))
      n20, err20 := m.RcLocation.MarshalTo(dAtA[i:])
      if err20 != nil {
         return 0, err20
      }
      i += n20
   }
   if len(m.License) > 0 {
      i -= len(m.License)
      copy(dAtA[i:], m.License)
      i = encodeVarintSdk(dAtA, i, uint64(len(m.License)))
      i--
      dAtA[i] = 0xa
   if m.NConfidence != 0 {
      dAtA[i] = 0x18
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.NConfidence))
   }
   return len(dAtA) - i, nil
   if m.NType != 0 {
      dAtA[i] = 0x20
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.NType))
   }
   if m.NDirection != 0 {
      dAtA[i] = 0x28
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.NDirection))
   }
   if m.NCarColor != 0 {
      dAtA[i] = 0x30
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.NCarColor))
   }
   if m.NCarColor1 != 0 {
      dAtA[i] = 0x38
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.NCarColor1))
   }
   if m.NCarBright != 0 {
      dAtA[i] = 0x40
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.NCarBright))
   }
   if m.FrameNo != 0 {
      dAtA[i] = 0x48
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.FrameNo))
   }
   if m.FaceWidth != 0 {
      dAtA[i] = 0x50
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.FaceWidth))
   }
   if m.FaceHeight != 0 {
      dAtA[i] = 0x58
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.FaceHeight))
   }
   if m.GrayFaceFlag != 0 {
      dAtA[i] = 0x60
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.GrayFaceFlag))
   }
   if m.CharNum != 0 {
      dAtA[i] = 0x68
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.CharNum))
   }
   return i, nil
}
func (m *PlateIDVehicle) Marshal() (dAtA []byte, err error) {
   size := m.Size()
   dAtA = make([]byte, size)
   n, err := m.MarshalToSizedBuffer(dAtA[:size])
   n, err := m.MarshalTo(dAtA)
   if err != nil {
      return nil, err
   }
@@ -2602,165 +2895,150 @@
}
func (m *PlateIDVehicle) MarshalTo(dAtA []byte) (int, error) {
   size := m.Size()
   return m.MarshalToSizedBuffer(dAtA[:size])
}
func (m *PlateIDVehicle) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   i := len(dAtA)
   var i int
   _ = i
   var l int
   _ = l
   if m.NVehicleColor2 != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.NVehicleColor2))
      i--
      dAtA[i] = 0x1
      i--
      dAtA[i] = 0x98
   if m.NPlateFlag != 0 {
      dAtA[i] = 0x8
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.NPlateFlag))
   }
   if m.NVehicleColor1 != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.NVehicleColor1))
      i--
      dAtA[i] = 0x1
      i--
      dAtA[i] = 0x90
   if m.NColor != 0 {
      dAtA[i] = 0x10
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.NColor))
   }
   if m.NVehicleBright != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.NVehicleBright))
      i--
      dAtA[i] = 0x1
      i--
      dAtA[i] = 0x88
   if m.NType != 0 {
      dAtA[i] = 0x18
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.NType))
   }
   if m.NVehicleSubModel != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.NVehicleSubModel))
      i--
      dAtA[i] = 0x1
      i--
      dAtA[i] = 0x80
   if len(m.License) > 0 {
      dAtA[i] = 0x22
      i++
      i = encodeVarintSdk(dAtA, i, uint64(len(m.License)))
      i += copy(dAtA[i:], m.License)
   }
   if m.FConfdence != 0 {
      i -= 4
      encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.FConfdence))))
      i--
      dAtA[i] = 0x7d
   if m.NConfidence != 0 {
      dAtA[i] = 0x28
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.NConfidence))
   }
   if m.FvdConf != 0 {
      i -= 4
      encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.FvdConf))))
      i--
      dAtA[i] = 0x75
   }
   if len(m.VehicleType1) > 0 {
      i -= len(m.VehicleType1)
      copy(dAtA[i:], m.VehicleType1)
      i = encodeVarintSdk(dAtA, i, uint64(len(m.VehicleType1)))
      i--
      dAtA[i] = 0x6a
   }
   if len(m.VehicleSub) > 0 {
      i -= len(m.VehicleSub)
      copy(dAtA[i:], m.VehicleSub)
      i = encodeVarintSdk(dAtA, i, uint64(len(m.VehicleSub)))
      i--
      dAtA[i] = 0x62
   }
   if len(m.VehicleBrand) > 0 {
      i -= len(m.VehicleBrand)
      copy(dAtA[i:], m.VehicleBrand)
      i = encodeVarintSdk(dAtA, i, uint64(len(m.VehicleBrand)))
      i--
      dAtA[i] = 0x5a
   }
   if len(m.VehicleType) > 0 {
      i -= len(m.VehicleType)
      copy(dAtA[i:], m.VehicleType)
      i = encodeVarintSdk(dAtA, i, uint64(len(m.VehicleType)))
      i--
      dAtA[i] = 0x52
   }
   if m.RcCarLocation != nil {
      {
         size, err := m.RcCarLocation.MarshalToSizedBuffer(dAtA[:i])
         if err != nil {
            return 0, err
         }
         i -= size
         i = encodeVarintSdk(dAtA, i, uint64(size))
      }
      i--
      dAtA[i] = 0x4a
   }
   if m.RcLocation != nil {
      {
         size, err := m.RcLocation.MarshalToSizedBuffer(dAtA[:i])
         if err != nil {
            return 0, err
         }
         i -= size
         i = encodeVarintSdk(dAtA, i, uint64(size))
      }
      i--
      dAtA[i] = 0x42
   if m.NCharNum != 0 {
      dAtA[i] = 0x30
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.NCharNum))
   }
   if len(m.NCharConfidence) > 0 {
      dAtA23 := make([]byte, len(m.NCharConfidence)*10)
      var j22 int
      dAtA22 := make([]byte, len(m.NCharConfidence)*10)
      var j21 int
      for _, num1 := range m.NCharConfidence {
         num := uint64(num1)
         for num >= 1<<7 {
            dAtA23[j22] = uint8(uint64(num)&0x7f | 0x80)
            dAtA22[j21] = uint8(uint64(num)&0x7f | 0x80)
            num >>= 7
            j22++
            j21++
         }
         dAtA23[j22] = uint8(num)
         j22++
         dAtA22[j21] = uint8(num)
         j21++
      }
      i -= j22
      copy(dAtA[i:], dAtA23[:j22])
      i = encodeVarintSdk(dAtA, i, uint64(j22))
      i--
      dAtA[i] = 0x3a
      i++
      i = encodeVarintSdk(dAtA, i, uint64(j21))
      i += copy(dAtA[i:], dAtA22[:j21])
   }
   if m.NCharNum != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.NCharNum))
      i--
      dAtA[i] = 0x30
   if m.RcLocation != nil {
      dAtA[i] = 0x42
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.RcLocation.Size()))
      n23, err23 := m.RcLocation.MarshalTo(dAtA[i:])
      if err23 != nil {
         return 0, err23
      }
      i += n23
   }
   if m.NConfidence != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.NConfidence))
      i--
      dAtA[i] = 0x28
   if m.RcCarLocation != nil {
      dAtA[i] = 0x4a
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.RcCarLocation.Size()))
      n24, err24 := m.RcCarLocation.MarshalTo(dAtA[i:])
      if err24 != nil {
         return 0, err24
      }
      i += n24
   }
   if len(m.License) > 0 {
      i -= len(m.License)
      copy(dAtA[i:], m.License)
      i = encodeVarintSdk(dAtA, i, uint64(len(m.License)))
      i--
      dAtA[i] = 0x22
   if len(m.VehicleType) > 0 {
      dAtA[i] = 0x52
      i++
      i = encodeVarintSdk(dAtA, i, uint64(len(m.VehicleType)))
      i += copy(dAtA[i:], m.VehicleType)
   }
   if m.NType != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.NType))
      i--
      dAtA[i] = 0x18
   if len(m.VehicleBrand) > 0 {
      dAtA[i] = 0x5a
      i++
      i = encodeVarintSdk(dAtA, i, uint64(len(m.VehicleBrand)))
      i += copy(dAtA[i:], m.VehicleBrand)
   }
   if m.NColor != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.NColor))
      i--
      dAtA[i] = 0x10
   if len(m.VehicleSub) > 0 {
      dAtA[i] = 0x62
      i++
      i = encodeVarintSdk(dAtA, i, uint64(len(m.VehicleSub)))
      i += copy(dAtA[i:], m.VehicleSub)
   }
   if m.NPlateFlag != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.NPlateFlag))
      i--
      dAtA[i] = 0x8
   if len(m.VehicleType1) > 0 {
      dAtA[i] = 0x6a
      i++
      i = encodeVarintSdk(dAtA, i, uint64(len(m.VehicleType1)))
      i += copy(dAtA[i:], m.VehicleType1)
   }
   return len(dAtA) - i, nil
   if m.FvdConf != 0 {
      dAtA[i] = 0x75
      i++
      encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.FvdConf))))
      i += 4
   }
   if m.FConfdence != 0 {
      dAtA[i] = 0x7d
      i++
      encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.FConfdence))))
      i += 4
   }
   if m.NVehicleSubModel != 0 {
      dAtA[i] = 0x80
      i++
      dAtA[i] = 0x1
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.NVehicleSubModel))
   }
   if m.NVehicleBright != 0 {
      dAtA[i] = 0x88
      i++
      dAtA[i] = 0x1
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.NVehicleBright))
   }
   if m.NVehicleColor1 != 0 {
      dAtA[i] = 0x90
      i++
      dAtA[i] = 0x1
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.NVehicleColor1))
   }
   if m.NVehicleColor2 != 0 {
      dAtA[i] = 0x98
      i++
      dAtA[i] = 0x1
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.NVehicleColor2))
   }
   return i, nil
}
func (m *PlateIDResult) Marshal() (dAtA []byte, err error) {
   size := m.Size()
   dAtA = make([]byte, size)
   n, err := m.MarshalToSizedBuffer(dAtA[:size])
   n, err := m.MarshalTo(dAtA)
   if err != nil {
      return nil, err
   }
@@ -2768,36 +3046,29 @@
}
func (m *PlateIDResult) MarshalTo(dAtA []byte) (int, error) {
   size := m.Size()
   return m.MarshalToSizedBuffer(dAtA[:size])
}
func (m *PlateIDResult) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   i := len(dAtA)
   var i int
   _ = i
   var l int
   _ = l
   if len(m.Result) > 0 {
      for iNdEx := len(m.Result) - 1; iNdEx >= 0; iNdEx-- {
         {
            size, err := m.Result[iNdEx].MarshalToSizedBuffer(dAtA[:i])
            if err != nil {
               return 0, err
            }
            i -= size
            i = encodeVarintSdk(dAtA, i, uint64(size))
         }
         i--
      for _, msg := range m.Result {
         dAtA[i] = 0xa
         i++
         i = encodeVarintSdk(dAtA, i, uint64(msg.Size()))
         n, err := msg.MarshalTo(dAtA[i:])
         if err != nil {
            return 0, err
         }
         i += n
      }
   }
   return len(dAtA) - i, nil
   return i, nil
}
func (m *HumanTrack) Marshal() (dAtA []byte, err error) {
   size := m.Size()
   dAtA = make([]byte, size)
   n, err := m.MarshalToSizedBuffer(dAtA[:size])
   n, err := m.MarshalTo(dAtA)
   if err != nil {
      return nil, err
   }
@@ -2805,65 +3076,58 @@
}
func (m *HumanTrack) MarshalTo(dAtA []byte) (int, error) {
   size := m.Size()
   return m.MarshalToSizedBuffer(dAtA[:size])
}
func (m *HumanTrack) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   i := len(dAtA)
   var i int
   _ = i
   var l int
   _ = l
   if len(m.Feature) > 0 {
      for iNdEx := len(m.Feature) - 1; iNdEx >= 0; iNdEx-- {
         f24 := math.Float32bits(float32(m.Feature[iNdEx]))
         i -= 4
         encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(f24))
   if m.RcHuman != nil {
      dAtA[i] = 0xa
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.RcHuman.Size()))
      n25, err25 := m.RcHuman.MarshalTo(dAtA[i:])
      if err25 != nil {
         return 0, err25
      }
      i = encodeVarintSdk(dAtA, i, uint64(len(m.Feature)*4))
      i--
      dAtA[i] = 0x32
   }
   if m.Id != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.Id))
      i--
      dAtA[i] = 0x28
   }
   if m.Y != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.Y))
      i--
      dAtA[i] = 0x20
   }
   if m.X != 0 {
      i = encodeVarintSdk(dAtA, i, uint64(m.X))
      i--
      dAtA[i] = 0x18
      i += n25
   }
   if m.Confidence != 0 {
      i -= 4
      encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Confidence))))
      i--
      dAtA[i] = 0x15
      i++
      encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Confidence))))
      i += 4
   }
   if m.RcHuman != nil {
      {
         size, err := m.RcHuman.MarshalToSizedBuffer(dAtA[:i])
         if err != nil {
            return 0, err
         }
         i -= size
         i = encodeVarintSdk(dAtA, i, uint64(size))
   if m.X != 0 {
      dAtA[i] = 0x18
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.X))
   }
   if m.Y != 0 {
      dAtA[i] = 0x20
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.Y))
   }
   if m.Id != 0 {
      dAtA[i] = 0x28
      i++
      i = encodeVarintSdk(dAtA, i, uint64(m.Id))
   }
   if len(m.Feature) > 0 {
      dAtA[i] = 0x32
      i++
      i = encodeVarintSdk(dAtA, i, uint64(len(m.Feature)*4))
      for _, num := range m.Feature {
         f26 := math.Float32bits(float32(num))
         encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(f26))
         i += 4
      }
      i--
      dAtA[i] = 0xa
   }
   return len(dAtA) - i, nil
   return i, nil
}
func (m *HumanTrackResult) Marshal() (dAtA []byte, err error) {
   size := m.Size()
   dAtA = make([]byte, size)
   n, err := m.MarshalToSizedBuffer(dAtA[:size])
   n, err := m.MarshalTo(dAtA)
   if err != nil {
      return nil, err
   }
@@ -2871,42 +3135,33 @@
}
func (m *HumanTrackResult) MarshalTo(dAtA []byte) (int, error) {
   size := m.Size()
   return m.MarshalToSizedBuffer(dAtA[:size])
}
func (m *HumanTrackResult) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   i := len(dAtA)
   var i int
   _ = i
   var l int
   _ = l
   if len(m.Result) > 0 {
      for iNdEx := len(m.Result) - 1; iNdEx >= 0; iNdEx-- {
         {
            size, err := m.Result[iNdEx].MarshalToSizedBuffer(dAtA[:i])
            if err != nil {
               return 0, err
            }
            i -= size
            i = encodeVarintSdk(dAtA, i, uint64(size))
         }
         i--
      for _, msg := range m.Result {
         dAtA[i] = 0xa
         i++
         i = encodeVarintSdk(dAtA, i, uint64(msg.Size()))
         n, err := msg.MarshalTo(dAtA[i:])
         if err != nil {
            return 0, err
         }
         i += n
      }
   }
   return len(dAtA) - i, nil
   return i, nil
}
func encodeVarintSdk(dAtA []byte, offset int, v uint64) int {
   offset -= sovSdk(v)
   base := offset
   for v >= 1<<7 {
      dAtA[offset] = uint8(v&0x7f | 0x80)
      v >>= 7
      offset++
   }
   dAtA[offset] = uint8(v)
   return base
   return offset + 1
}
func (m *Image) Size() (n int) {
   if m == nil {
@@ -2934,6 +3189,101 @@
   l = len(m.Cid)
   if l > 0 {
      n += 1 + l + sovSdk(uint64(l))
   }
   l = len(m.Cname)
   if l > 0 {
      n += 1 + l + sovSdk(uint64(l))
   }
   if m.Channel != 0 {
      n += 1 + sovSdk(uint64(m.Channel))
   }
   if m.I64Timestamp != 0 {
      n += 1 + sovSdk(uint64(m.I64Timestamp))
   }
   return n
}
func (m *Target) Size() (n int) {
   if m == nil {
      return 0
   }
   var l int
   _ = l
   if m.Id != 0 {
      n += 1 + sovSdk(uint64(m.Id))
   }
   l = len(m.Type)
   if l > 0 {
      n += 1 + l + sovSdk(uint64(l))
   }
   if m.Confidence != 0 {
      n += 1 + sovSdk(uint64(m.Confidence))
   }
   if m.Rect != nil {
      l = m.Rect.Size()
      n += 1 + l + sovSdk(uint64(l))
   }
   l = len(m.Feature)
   if l > 0 {
      n += 1 + l + sovSdk(uint64(l))
   }
   l = len(m.Attribute)
   if l > 0 {
      n += 1 + l + sovSdk(uint64(l))
   }
   return n
}
func (m *NewSDKMessage) Size() (n int) {
   if m == nil {
      return 0
   }
   var l int
   _ = l
   l = len(m.SdkID)
   if l > 0 {
      n += 1 + l + sovSdk(uint64(l))
   }
   l = len(m.SdkType)
   if l > 0 {
      n += 1 + l + sovSdk(uint64(l))
   }
   l = len(m.SdkName)
   if l > 0 {
      n += 1 + l + sovSdk(uint64(l))
   }
   if len(m.Target) > 0 {
      for _, e := range m.Target {
         l = e.Size()
         n += 1 + l + sovSdk(uint64(l))
      }
   }
   l = len(m.Timestamp)
   if l > 0 {
      n += 1 + l + sovSdk(uint64(l))
   }
   return n
}
func (m *NewRuleMessage) Size() (n int) {
   if m == nil {
      return 0
   }
   var l int
   _ = l
   l = len(m.DataType)
   if l > 0 {
      n += 1 + l + sovSdk(uint64(l))
   }
   l = len(m.HandleTrack)
   if l > 0 {
      n += 1 + l + sovSdk(uint64(l))
   }
   if len(m.Message) > 0 {
      for _, e := range m.Message {
         l = e.Size()
         n += 1 + l + sovSdk(uint64(l))
      }
   }
   return n
}
@@ -3460,7 +3810,14 @@
}
func sovSdk(x uint64) (n int) {
   return (math_bits.Len64(x|1) + 6) / 7
   for {
      n++
      x >>= 7
      if x == 0 {
         break
      }
   }
   return n
}
func sozSdk(x uint64) (n int) {
   return sovSdk(uint64((x << 1) ^ uint64((int64(x) >> 63))))
@@ -3648,6 +4005,669 @@
            return io.ErrUnexpectedEOF
         }
         m.Cid = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 7:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field Cname", wireType)
         }
         var stringLen uint64
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowSdk
            }
            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 ErrInvalidLengthSdk
         }
         postIndex := iNdEx + intStringLen
         if postIndex < 0 {
            return ErrInvalidLengthSdk
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         m.Cname = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 8:
         if wireType != 0 {
            return fmt.Errorf("proto: wrong wireType = %d for field Channel", wireType)
         }
         m.Channel = 0
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowSdk
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            m.Channel |= int32(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
      case 9:
         if wireType != 0 {
            return fmt.Errorf("proto: wrong wireType = %d for field I64Timestamp", wireType)
         }
         m.I64Timestamp = 0
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowSdk
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            m.I64Timestamp |= int64(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
      default:
         iNdEx = preIndex
         skippy, err := skipSdk(dAtA[iNdEx:])
         if err != nil {
            return err
         }
         if skippy < 0 {
            return ErrInvalidLengthSdk
         }
         if (iNdEx + skippy) < 0 {
            return ErrInvalidLengthSdk
         }
         if (iNdEx + skippy) > l {
            return io.ErrUnexpectedEOF
         }
         iNdEx += skippy
      }
   }
   if iNdEx > l {
      return io.ErrUnexpectedEOF
   }
   return nil
}
func (m *Target) 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 ErrIntOverflowSdk
         }
         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: Target: wiretype end group for non-group")
      }
      if fieldNum <= 0 {
         return fmt.Errorf("proto: Target: illegal tag %d (wire type %d)", fieldNum, wire)
      }
      switch fieldNum {
      case 1:
         if wireType != 0 {
            return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
         }
         m.Id = 0
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowSdk
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            m.Id |= uint64(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
      case 2:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
         }
         var stringLen uint64
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowSdk
            }
            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 ErrInvalidLengthSdk
         }
         postIndex := iNdEx + intStringLen
         if postIndex < 0 {
            return ErrInvalidLengthSdk
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         m.Type = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 3:
         if wireType != 0 {
            return fmt.Errorf("proto: wrong wireType = %d for field Confidence", wireType)
         }
         m.Confidence = 0
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowSdk
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            m.Confidence |= int32(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
      case 4:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field Rect", wireType)
         }
         var msglen int
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowSdk
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            msglen |= int(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
         if msglen < 0 {
            return ErrInvalidLengthSdk
         }
         postIndex := iNdEx + msglen
         if postIndex < 0 {
            return ErrInvalidLengthSdk
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         if m.Rect == nil {
            m.Rect = &Rect{}
         }
         if err := m.Rect.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
            return err
         }
         iNdEx = postIndex
      case 5:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field Feature", wireType)
         }
         var byteLen int
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowSdk
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            byteLen |= int(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
         if byteLen < 0 {
            return ErrInvalidLengthSdk
         }
         postIndex := iNdEx + byteLen
         if postIndex < 0 {
            return ErrInvalidLengthSdk
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         m.Feature = append(m.Feature[:0], dAtA[iNdEx:postIndex]...)
         if m.Feature == nil {
            m.Feature = []byte{}
         }
         iNdEx = postIndex
      case 6:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field Attribute", wireType)
         }
         var byteLen int
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowSdk
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            byteLen |= int(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
         if byteLen < 0 {
            return ErrInvalidLengthSdk
         }
         postIndex := iNdEx + byteLen
         if postIndex < 0 {
            return ErrInvalidLengthSdk
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         m.Attribute = append(m.Attribute[:0], dAtA[iNdEx:postIndex]...)
         if m.Attribute == nil {
            m.Attribute = []byte{}
         }
         iNdEx = postIndex
      default:
         iNdEx = preIndex
         skippy, err := skipSdk(dAtA[iNdEx:])
         if err != nil {
            return err
         }
         if skippy < 0 {
            return ErrInvalidLengthSdk
         }
         if (iNdEx + skippy) < 0 {
            return ErrInvalidLengthSdk
         }
         if (iNdEx + skippy) > l {
            return io.ErrUnexpectedEOF
         }
         iNdEx += skippy
      }
   }
   if iNdEx > l {
      return io.ErrUnexpectedEOF
   }
   return nil
}
func (m *NewSDKMessage) 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 ErrIntOverflowSdk
         }
         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: NewSDKMessage: wiretype end group for non-group")
      }
      if fieldNum <= 0 {
         return fmt.Errorf("proto: NewSDKMessage: illegal tag %d (wire type %d)", fieldNum, wire)
      }
      switch fieldNum {
      case 1:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field SdkID", wireType)
         }
         var stringLen uint64
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowSdk
            }
            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 ErrInvalidLengthSdk
         }
         postIndex := iNdEx + intStringLen
         if postIndex < 0 {
            return ErrInvalidLengthSdk
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         m.SdkID = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 2:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field SdkType", wireType)
         }
         var stringLen uint64
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowSdk
            }
            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 ErrInvalidLengthSdk
         }
         postIndex := iNdEx + intStringLen
         if postIndex < 0 {
            return ErrInvalidLengthSdk
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         m.SdkType = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 3:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field SdkName", wireType)
         }
         var stringLen uint64
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowSdk
            }
            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 ErrInvalidLengthSdk
         }
         postIndex := iNdEx + intStringLen
         if postIndex < 0 {
            return ErrInvalidLengthSdk
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         m.SdkName = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 4:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field Target", wireType)
         }
         var msglen int
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowSdk
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            msglen |= int(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
         if msglen < 0 {
            return ErrInvalidLengthSdk
         }
         postIndex := iNdEx + msglen
         if postIndex < 0 {
            return ErrInvalidLengthSdk
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         m.Target = append(m.Target, &Target{})
         if err := m.Target[len(m.Target)-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 Timestamp", wireType)
         }
         var stringLen uint64
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowSdk
            }
            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 ErrInvalidLengthSdk
         }
         postIndex := iNdEx + intStringLen
         if postIndex < 0 {
            return ErrInvalidLengthSdk
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         m.Timestamp = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      default:
         iNdEx = preIndex
         skippy, err := skipSdk(dAtA[iNdEx:])
         if err != nil {
            return err
         }
         if skippy < 0 {
            return ErrInvalidLengthSdk
         }
         if (iNdEx + skippy) < 0 {
            return ErrInvalidLengthSdk
         }
         if (iNdEx + skippy) > l {
            return io.ErrUnexpectedEOF
         }
         iNdEx += skippy
      }
   }
   if iNdEx > l {
      return io.ErrUnexpectedEOF
   }
   return nil
}
func (m *NewRuleMessage) 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 ErrIntOverflowSdk
         }
         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: NewRuleMessage: wiretype end group for non-group")
      }
      if fieldNum <= 0 {
         return fmt.Errorf("proto: NewRuleMessage: illegal tag %d (wire type %d)", fieldNum, wire)
      }
      switch fieldNum {
      case 1:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field DataType", wireType)
         }
         var stringLen uint64
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowSdk
            }
            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 ErrInvalidLengthSdk
         }
         postIndex := iNdEx + intStringLen
         if postIndex < 0 {
            return ErrInvalidLengthSdk
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         m.DataType = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 2:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field HandleTrack", wireType)
         }
         var stringLen uint64
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowSdk
            }
            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 ErrInvalidLengthSdk
         }
         postIndex := iNdEx + intStringLen
         if postIndex < 0 {
            return ErrInvalidLengthSdk
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         m.HandleTrack = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      case 3:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType)
         }
         var msglen int
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowSdk
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            msglen |= int(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
         if msglen < 0 {
            return ErrInvalidLengthSdk
         }
         postIndex := iNdEx + msglen
         if postIndex < 0 {
            return ErrInvalidLengthSdk
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         m.Message = append(m.Message, &NewSDKMessage{})
         if err := m.Message[len(m.Message)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
            return err
         }
         iNdEx = postIndex
      default:
         iNdEx = preIndex
@@ -7309,7 +8329,6 @@
func skipSdk(dAtA []byte) (n int, err error) {
   l := len(dAtA)
   iNdEx := 0
   depth := 0
   for iNdEx < l {
      var wire uint64
      for shift := uint(0); ; shift += 7 {
@@ -7341,8 +8360,10 @@
               break
            }
         }
         return iNdEx, nil
      case 1:
         iNdEx += 8
         return iNdEx, nil
      case 2:
         var length int
         for shift := uint(0); ; shift += 7 {
@@ -7363,30 +8384,55 @@
            return 0, ErrInvalidLengthSdk
         }
         iNdEx += length
      case 3:
         depth++
      case 4:
         if depth == 0 {
            return 0, ErrUnexpectedEndOfGroupSdk
         if iNdEx < 0 {
            return 0, ErrInvalidLengthSdk
         }
         depth--
         return iNdEx, nil
      case 3:
         for {
            var innerWire uint64
            var start int = iNdEx
            for shift := uint(0); ; shift += 7 {
               if shift >= 64 {
                  return 0, ErrIntOverflowSdk
               }
               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 := skipSdk(dAtA[start:])
            if err != nil {
               return 0, err
            }
            iNdEx = start + next
            if iNdEx < 0 {
               return 0, ErrInvalidLengthSdk
            }
         }
         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)
      }
      if iNdEx < 0 {
         return 0, ErrInvalidLengthSdk
      }
      if depth == 0 {
         return iNdEx, nil
      }
   }
   return 0, io.ErrUnexpectedEOF
   panic("unreachable")
}
var (
   ErrInvalidLengthSdk        = fmt.Errorf("proto: negative length found during unmarshaling")
   ErrIntOverflowSdk          = fmt.Errorf("proto: integer overflow")
   ErrUnexpectedEndOfGroupSdk = fmt.Errorf("proto: unexpected end of group")
   ErrInvalidLengthSdk = fmt.Errorf("proto: negative length found during unmarshaling")
   ErrIntOverflowSdk   = fmt.Errorf("proto: integer overflow")
)