zhangmeng
2019-05-24 ce8c0f2b14dd1c657b6904415f0266d05372531f
protomsg.pb.go
@@ -82,6 +82,7 @@
   return 0
}
//SdkMessage struct test
type SdkMessage struct {
   Cid     string     `protobuf:"bytes,1,opt,name=cid,proto3" json:"cid,omitempty"`
   Tasklab *TaskLabel `protobuf:"bytes,2,opt,name=tasklab,proto3" json:"tasklab,omitempty"`
@@ -413,6 +414,59 @@
   return ""
}
//摄像机的任务信息
type CameraAndTaskInfo struct {
   Camera *Camera `protobuf:"bytes,1,opt,name=camera,proto3" json:"camera,omitempty"`
   Tasks  []*Task `protobuf:"bytes,2,rep,name=tasks,proto3" json:"tasks,omitempty"`
}
func (m *CameraAndTaskInfo) Reset()         { *m = CameraAndTaskInfo{} }
func (m *CameraAndTaskInfo) String() string { return proto.CompactTextString(m) }
func (*CameraAndTaskInfo) ProtoMessage()    {}
func (*CameraAndTaskInfo) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{5}
}
func (m *CameraAndTaskInfo) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
}
func (m *CameraAndTaskInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   if deterministic {
      return xxx_messageInfo_CameraAndTaskInfo.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 *CameraAndTaskInfo) XXX_Merge(src proto.Message) {
   xxx_messageInfo_CameraAndTaskInfo.Merge(m, src)
}
func (m *CameraAndTaskInfo) XXX_Size() int {
   return m.Size()
}
func (m *CameraAndTaskInfo) XXX_DiscardUnknown() {
   xxx_messageInfo_CameraAndTaskInfo.DiscardUnknown(m)
}
var xxx_messageInfo_CameraAndTaskInfo proto.InternalMessageInfo
func (m *CameraAndTaskInfo) GetCamera() *Camera {
   if m != nil {
      return m.Camera
   }
   return nil
}
func (m *CameraAndTaskInfo) GetTasks() []*Task {
   if m != nil {
      return m.Tasks
   }
   return nil
}
//Task结构体
type Task struct {
   Taskid   string `protobuf:"bytes,1,opt,name=taskid,proto3" json:"taskid,omitempty"`
@@ -429,7 +483,7 @@
func (m *Task) String() string { return proto.CompactTextString(m) }
func (*Task) ProtoMessage()    {}
func (*Task) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{5}
   return fileDescriptor_32de24555f916688, []int{6}
}
func (m *Task) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -523,7 +577,7 @@
func (m *TaskSdkInfo) String() string { return proto.CompactTextString(m) }
func (*TaskSdkInfo) ProtoMessage()    {}
func (*TaskSdkInfo) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{6}
   return fileDescriptor_32de24555f916688, []int{7}
}
func (m *TaskSdkInfo) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -586,7 +640,7 @@
func (m *CameraTask) String() string { return proto.CompactTextString(m) }
func (*CameraTask) ProtoMessage()    {}
func (*CameraTask) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{7}
   return fileDescriptor_32de24555f916688, []int{8}
}
func (m *CameraTask) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -709,7 +763,7 @@
func (m *DayCtl) String() string { return proto.CompactTextString(m) }
func (*DayCtl) ProtoMessage()    {}
func (*DayCtl) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{8}
   return fileDescriptor_32de24555f916688, []int{9}
}
func (m *DayCtl) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -762,7 +816,7 @@
func (m *TimeRange) String() string { return proto.CompactTextString(m) }
func (*TimeRange) ProtoMessage()    {}
func (*TimeRange) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{9}
   return fileDescriptor_32de24555f916688, []int{10}
}
func (m *TimeRange) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -816,7 +870,7 @@
func (m *Polygon) String() string { return proto.CompactTextString(m) }
func (*Polygon) ProtoMessage()    {}
func (*Polygon) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{10}
   return fileDescriptor_32de24555f916688, []int{11}
}
func (m *Polygon) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -885,7 +939,7 @@
func (m *CameraTaskArgs) String() string { return proto.CompactTextString(m) }
func (*CameraTaskArgs) ProtoMessage()    {}
func (*CameraTaskArgs) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{11}
   return fileDescriptor_32de24555f916688, []int{12}
}
func (m *CameraTaskArgs) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -1017,7 +1071,7 @@
func (m *Sdk) String() string { return proto.CompactTextString(m) }
func (*Sdk) ProtoMessage()    {}
func (*Sdk) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{12}
   return fileDescriptor_32de24555f916688, []int{13}
}
func (m *Sdk) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -1137,7 +1191,7 @@
func (m *SdkArg) String() string { return proto.CompactTextString(m) }
func (*SdkArg) ProtoMessage()    {}
func (*SdkArg) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{13}
   return fileDescriptor_32de24555f916688, []int{14}
}
func (m *SdkArg) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -1218,7 +1272,7 @@
func (m *Point) String() string { return proto.CompactTextString(m) }
func (*Point) ProtoMessage()    {}
func (*Point) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{14}
   return fileDescriptor_32de24555f916688, []int{15}
}
func (m *Point) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -1272,7 +1326,7 @@
func (m *Rect) String() string { return proto.CompactTextString(m) }
func (*Rect) ProtoMessage()    {}
func (*Rect) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{15}
   return fileDescriptor_32de24555f916688, []int{16}
}
func (m *Rect) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -1340,7 +1394,7 @@
func (m *FaceAngle) String() string { return proto.CompactTextString(m) }
func (*FaceAngle) ProtoMessage()    {}
func (*FaceAngle) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{16}
   return fileDescriptor_32de24555f916688, []int{17}
}
func (m *FaceAngle) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -1409,7 +1463,7 @@
func (m *ThftResult) String() string { return proto.CompactTextString(m) }
func (*ThftResult) ProtoMessage()    {}
func (*ThftResult) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{17}
   return fileDescriptor_32de24555f916688, []int{18}
}
func (m *ThftResult) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -1488,7 +1542,7 @@
func (m *FacePos) String() string { return proto.CompactTextString(m) }
func (*FacePos) ProtoMessage()    {}
func (*FacePos) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{18}
   return fileDescriptor_32de24555f916688, []int{19}
}
func (m *FacePos) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -1589,7 +1643,7 @@
func (m *FaceInfo) String() string { return proto.CompactTextString(m) }
func (*FaceInfo) ProtoMessage()    {}
func (*FaceInfo) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{19}
   return fileDescriptor_32de24555f916688, []int{20}
}
func (m *FaceInfo) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -1691,7 +1745,7 @@
func (m *ObjInfo) String() string { return proto.CompactTextString(m) }
func (*ObjInfo) ProtoMessage()    {}
func (*ObjInfo) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{20}
   return fileDescriptor_32de24555f916688, []int{21}
}
func (m *ObjInfo) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -1742,23 +1796,23 @@
}
// sdk face property
type ParamFaceProperty struct {
type ParamFacePos struct {
   Pos *FacePos `protobuf:"bytes,1,opt,name=pos,proto3" json:"pos,omitempty"`
   Img *Image   `protobuf:"bytes,2,opt,name=img,proto3" json:"img,omitempty"`
}
func (m *ParamFaceProperty) Reset()         { *m = ParamFaceProperty{} }
func (m *ParamFaceProperty) String() string { return proto.CompactTextString(m) }
func (*ParamFaceProperty) ProtoMessage()    {}
func (*ParamFaceProperty) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{21}
func (m *ParamFacePos) Reset()         { *m = ParamFacePos{} }
func (m *ParamFacePos) String() string { return proto.CompactTextString(m) }
func (*ParamFacePos) ProtoMessage()    {}
func (*ParamFacePos) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{22}
}
func (m *ParamFaceProperty) XXX_Unmarshal(b []byte) error {
func (m *ParamFacePos) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
}
func (m *ParamFaceProperty) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
func (m *ParamFacePos) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   if deterministic {
      return xxx_messageInfo_ParamFaceProperty.Marshal(b, m, deterministic)
      return xxx_messageInfo_ParamFacePos.Marshal(b, m, deterministic)
   } else {
      b = b[:cap(b)]
      n, err := m.MarshalTo(b)
@@ -1768,26 +1822,26 @@
      return b[:n], nil
   }
}
func (m *ParamFaceProperty) XXX_Merge(src proto.Message) {
   xxx_messageInfo_ParamFaceProperty.Merge(m, src)
func (m *ParamFacePos) XXX_Merge(src proto.Message) {
   xxx_messageInfo_ParamFacePos.Merge(m, src)
}
func (m *ParamFaceProperty) XXX_Size() int {
func (m *ParamFacePos) XXX_Size() int {
   return m.Size()
}
func (m *ParamFaceProperty) XXX_DiscardUnknown() {
   xxx_messageInfo_ParamFaceProperty.DiscardUnknown(m)
func (m *ParamFacePos) XXX_DiscardUnknown() {
   xxx_messageInfo_ParamFacePos.DiscardUnknown(m)
}
var xxx_messageInfo_ParamFaceProperty proto.InternalMessageInfo
var xxx_messageInfo_ParamFacePos proto.InternalMessageInfo
func (m *ParamFaceProperty) GetPos() *FacePos {
func (m *ParamFacePos) GetPos() *FacePos {
   if m != nil {
      return m.Pos
   }
   return nil
}
func (m *ParamFaceProperty) GetImg() *Image {
func (m *ParamFacePos) GetImg() *Image {
   if m != nil {
      return m.Img
   }
@@ -1804,7 +1858,7 @@
func (m *ParamFaceCompare) String() string { return proto.CompactTextString(m) }
func (*ParamFaceCompare) ProtoMessage()    {}
func (*ParamFaceCompare) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{22}
   return fileDescriptor_32de24555f916688, []int{23}
}
func (m *ParamFaceCompare) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
@@ -1847,12 +1901,119 @@
   return nil
}
// sdk face property
type ParamFaceProperty struct {
   Result *ThftResult `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"`
   Img    *Image      `protobuf:"bytes,2,opt,name=img,proto3" json:"img,omitempty"`
}
func (m *ParamFaceProperty) Reset()         { *m = ParamFaceProperty{} }
func (m *ParamFaceProperty) String() string { return proto.CompactTextString(m) }
func (*ParamFaceProperty) ProtoMessage()    {}
func (*ParamFaceProperty) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{24}
}
func (m *ParamFaceProperty) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
}
func (m *ParamFaceProperty) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   if deterministic {
      return xxx_messageInfo_ParamFaceProperty.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 *ParamFaceProperty) XXX_Merge(src proto.Message) {
   xxx_messageInfo_ParamFaceProperty.Merge(m, src)
}
func (m *ParamFaceProperty) XXX_Size() int {
   return m.Size()
}
func (m *ParamFaceProperty) XXX_DiscardUnknown() {
   xxx_messageInfo_ParamFaceProperty.DiscardUnknown(m)
}
var xxx_messageInfo_ParamFaceProperty proto.InternalMessageInfo
func (m *ParamFaceProperty) GetResult() *ThftResult {
   if m != nil {
      return m.Result
   }
   return nil
}
func (m *ParamFaceProperty) GetImg() *Image {
   if m != nil {
      return m.Img
   }
   return nil
}
// sdk yolo detect
type ParamYoloObj struct {
   Infos []*ObjInfo `protobuf:"bytes,1,rep,name=infos,proto3" json:"infos,omitempty"`
   Img   *Image     `protobuf:"bytes,2,opt,name=img,proto3" json:"img,omitempty"`
}
func (m *ParamYoloObj) Reset()         { *m = ParamYoloObj{} }
func (m *ParamYoloObj) String() string { return proto.CompactTextString(m) }
func (*ParamYoloObj) ProtoMessage()    {}
func (*ParamYoloObj) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{25}
}
func (m *ParamYoloObj) XXX_Unmarshal(b []byte) error {
   return m.Unmarshal(b)
}
func (m *ParamYoloObj) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   if deterministic {
      return xxx_messageInfo_ParamYoloObj.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 *ParamYoloObj) XXX_Merge(src proto.Message) {
   xxx_messageInfo_ParamYoloObj.Merge(m, src)
}
func (m *ParamYoloObj) XXX_Size() int {
   return m.Size()
}
func (m *ParamYoloObj) XXX_DiscardUnknown() {
   xxx_messageInfo_ParamYoloObj.DiscardUnknown(m)
}
var xxx_messageInfo_ParamYoloObj proto.InternalMessageInfo
func (m *ParamYoloObj) GetInfos() []*ObjInfo {
   if m != nil {
      return m.Infos
   }
   return nil
}
func (m *ParamYoloObj) GetImg() *Image {
   if m != nil {
      return m.Img
   }
   return nil
}
func init() {
   proto.RegisterType((*TaskLabel)(nil), "protomsg.TaskLabel")
   proto.RegisterType((*SdkMessage)(nil), "protomsg.SdkMessage")
   proto.RegisterType((*Image)(nil), "protomsg.Image")
   proto.RegisterType((*Area)(nil), "protomsg.Area")
   proto.RegisterType((*Camera)(nil), "protomsg.Camera")
   proto.RegisterType((*CameraAndTaskInfo)(nil), "protomsg.CameraAndTaskInfo")
   proto.RegisterType((*Task)(nil), "protomsg.Task")
   proto.RegisterType((*TaskSdkInfo)(nil), "protomsg.TaskSdkInfo")
   proto.RegisterType((*CameraTask)(nil), "protomsg.CameraTask")
@@ -1869,110 +2030,117 @@
   proto.RegisterType((*FacePos)(nil), "protomsg.FacePos")
   proto.RegisterType((*FaceInfo)(nil), "protomsg.FaceInfo")
   proto.RegisterType((*ObjInfo)(nil), "protomsg.ObjInfo")
   proto.RegisterType((*ParamFaceProperty)(nil), "protomsg.ParamFaceProperty")
   proto.RegisterType((*ParamFacePos)(nil), "protomsg.ParamFacePos")
   proto.RegisterType((*ParamFaceCompare)(nil), "protomsg.ParamFaceCompare")
   proto.RegisterType((*ParamFaceProperty)(nil), "protomsg.ParamFaceProperty")
   proto.RegisterType((*ParamYoloObj)(nil), "protomsg.ParamYoloObj")
}
func init() { proto.RegisterFile("protomsg.proto", fileDescriptor_32de24555f916688) }
var fileDescriptor_32de24555f916688 = []byte{
   // 1535 bytes of a gzipped FileDescriptorProto
   0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x57, 0xcd, 0x6e, 0xdc, 0x46,
   0x12, 0xf6, 0xfc, 0x0f, 0x6b, 0x46, 0x5a, 0x9b, 0xeb, 0xdd, 0xa5, 0xbd, 0xbb, 0x5a, 0x99, 0x16,
   0x76, 0xb5, 0x58, 0xac, 0x83, 0xc8, 0xf7, 0x00, 0xb2, 0x15, 0x05, 0x03, 0xd8, 0xb2, 0xd2, 0x52,
   0x1c, 0x20, 0x39, 0x0c, 0x7a, 0xd8, 0x3d, 0x1c, 0x7a, 0x38, 0x24, 0xd3, 0xdd, 0x63, 0x89, 0xf7,
   0x3c, 0x40, 0xde, 0x23, 0x2f, 0xe2, 0x43, 0x0e, 0x3e, 0xe6, 0x96, 0xc0, 0x46, 0x2e, 0x79, 0x81,
   0x5c, 0x83, 0xaa, 0x6e, 0x72, 0x66, 0x2c, 0x19, 0x08, 0x90, 0x6b, 0x6e, 0xf5, 0xc7, 0xea, 0xaa,
   0xaf, 0x7e, 0xba, 0x09, 0xdb, 0x85, 0xca, 0x4d, 0xbe, 0xd0, 0xf1, 0x03, 0x22, 0xfc, 0x7e, 0xc5,
   0x87, 0x9f, 0x82, 0x77, 0xce, 0xf5, 0xfc, 0x09, 0x9f, 0xc8, 0xd4, 0xff, 0x2b, 0x74, 0x0d, 0xd7,
   0xf3, 0x44, 0x04, 0x8d, 0xdd, 0xc6, 0xbe, 0xc7, 0x1c, 0x87, 0x72, 0x2d, 0xe6, 0x89, 0xd0, 0x41,
   0x73, 0xb7, 0x85, 0x72, 0xcb, 0xf9, 0xb7, 0xa1, 0x93, 0x64, 0x42, 0x5e, 0x06, 0xad, 0xdd, 0xc6,
   0x7e, 0x87, 0x59, 0x26, 0xe4, 0x00, 0x67, 0x62, 0xfe, 0x54, 0x6a, 0xcd, 0x63, 0xe9, 0xdf, 0x84,
   0x56, 0x54, 0x3b, 0x44, 0xd2, 0xff, 0x3f, 0xf4, 0xd0, 0x6f, 0xca, 0x27, 0x41, 0x73, 0xb7, 0xb1,
   0x3f, 0x38, 0xf8, 0xf3, 0x83, 0x3a, 0xbc, 0x3a, 0x16, 0x56, 0xd9, 0xf8, 0x3e, 0xb4, 0x05, 0x37,
   0x9c, 0xce, 0x18, 0x32, 0xa2, 0xc3, 0x11, 0x74, 0x46, 0x0b, 0xf4, 0x7e, 0x1b, 0x3a, 0x17, 0x89,
   0x30, 0x33, 0xf2, 0xdf, 0x61, 0x96, 0xc1, 0x78, 0x67, 0x32, 0x89, 0x67, 0x86, 0x0e, 0xe8, 0x30,
   0xc7, 0x5d, 0xeb, 0xea, 0x18, 0xda, 0x87, 0x4a, 0x72, 0x7f, 0x1b, 0x9a, 0x2e, 0xcc, 0x0e, 0x6b,
   0x26, 0xc2, 0xbf, 0x0b, 0xfd, 0x82, 0x2b, 0x99, 0x99, 0x44, 0x38, 0x2f, 0x35, 0x8f, 0x7e, 0x32,
   0xbe, 0x90, 0xe4, 0xc7, 0x63, 0x44, 0x87, 0xaf, 0x9a, 0xd0, 0x7d, 0xcc, 0x17, 0x52, 0xad, 0xbb,
   0xf2, 0xc8, 0x55, 0x65, 0xde, 0x5c, 0x99, 0xa3, 0xcc, 0x94, 0x85, 0x74, 0xc8, 0x11, 0x8d, 0x32,
   0x2e, 0x84, 0x0a, 0xda, 0xd6, 0x0e, 0x69, 0x4c, 0x85, 0x2b, 0xc9, 0x13, 0x11, 0x74, 0x6c, 0x2a,
   0x96, 0xf3, 0xff, 0x01, 0x5e, 0x9a, 0x67, 0x71, 0x62, 0x96, 0x42, 0x06, 0xdd, 0xdd, 0xc6, 0x7e,
   0x93, 0xad, 0x04, 0x18, 0x7c, 0xca, 0x8d, 0x55, 0xf6, 0x48, 0x59, 0xf3, 0x78, 0x8a, 0x32, 0xba,
   0x08, 0xfa, 0xf6, 0x14, 0xa4, 0x29, 0xe2, 0x22, 0xf0, 0x5c, 0xc4, 0x05, 0xda, 0x14, 0xb9, 0x32,
   0x01, 0xd8, 0xe8, 0x90, 0x46, 0x9f, 0x4b, 0x2d, 0x15, 0x65, 0x32, 0x20, 0xcb, 0x9a, 0xb7, 0x60,
   0x69, 0x7d, 0x91, 0x2b, 0x11, 0x0c, 0xad, 0xae, 0xe2, 0xb1, 0x44, 0x13, 0xc5, 0x33, 0x11, 0x6c,
   0x91, 0xc2, 0x32, 0xf8, 0x85, 0x92, 0x5a, 0xaa, 0x97, 0x52, 0x04, 0xdb, 0xf6, 0x8b, 0x8a, 0x0f,
   0x7f, 0x68, 0x40, 0x1b, 0x1b, 0xe1, 0xbd, 0xfd, 0x78, 0x17, 0xfa, 0x48, 0xad, 0x81, 0x5a, 0xf3,
   0xfe, 0xdf, 0xc1, 0x8b, 0x94, 0xe4, 0x46, 0x8e, 0xb9, 0x71, 0x05, 0xea, 0x5b, 0xc1, 0xa1, 0x59,
   0x53, 0x4e, 0x4a, 0x07, 0xb3, 0x53, 0x3e, 0x2a, 0x51, 0xb9, 0x2c, 0x84, 0xfb, 0xb2, 0xe3, 0x32,
   0x24, 0xc1, 0xa1, 0xc1, 0x50, 0x64, 0xc6, 0x27, 0xa9, 0x05, 0xbb, 0xcf, 0x1c, 0xe7, 0xdf, 0x81,
   0x7e, 0xa2, 0xc7, 0x3c, 0xe5, 0x6a, 0x41, 0x48, 0xf7, 0x59, 0x2f, 0xd1, 0x87, 0xc8, 0xa2, 0x4a,
   0xc8, 0x74, 0x3c, 0x4d, 0x79, 0x4c, 0x60, 0xf7, 0x59, 0x4f, 0xc8, 0xf4, 0x38, 0xe5, 0x71, 0x78,
   0x0e, 0x03, 0x4c, 0xf0, 0x4c, 0xcc, 0x47, 0xd9, 0x34, 0xf7, 0x43, 0x68, 0x63, 0xfc, 0x94, 0xe5,
   0xe0, 0x60, 0x7b, 0x73, 0x1c, 0x18, 0xe9, 0xfc, 0x7b, 0xd0, 0xd6, 0x62, 0x6e, 0x27, 0x70, 0x70,
   0xb0, 0xb5, 0xb2, 0x39, 0x13, 0x73, 0x46, 0xaa, 0xf0, 0xe7, 0x26, 0x80, 0x6d, 0x41, 0x42, 0xef,
   0xdd, 0x36, 0xfc, 0x27, 0x40, 0x44, 0xda, 0xb1, 0x9d, 0x64, 0x94, 0x7b, 0x56, 0x32, 0x12, 0xda,
   0xff, 0x9b, 0x1d, 0xcb, 0x71, 0x22, 0x1c, 0x6c, 0x84, 0xf6, 0x08, 0xe7, 0xd5, 0x33, 0xc9, 0x42,
   0x8e, 0xd5, 0x32, 0x95, 0x41, 0x9b, 0x8e, 0xbf, 0xb9, 0x3a, 0xfe, 0x88, 0x97, 0x8f, 0x4d, 0xca,
   0xfa, 0x68, 0xc2, 0x96, 0xa9, 0xc4, 0x63, 0x94, 0xe4, 0x91, 0xb1, 0xf6, 0x16, 0x47, 0x8f, 0x24,
   0xa4, 0xbe, 0x07, 0x43, 0xab, 0x16, 0xf2, 0x65, 0x12, 0x59, 0x38, 0x3d, 0x36, 0x20, 0xd9, 0x11,
   0x89, 0x36, 0x80, 0xeb, 0x6d, 0x00, 0xe7, 0xff, 0x0b, 0x06, 0xae, 0x46, 0x6b, 0xb0, 0x82, 0x15,
   0x91, 0xc1, 0xaa, 0x4e, 0xde, 0x46, 0x9d, 0x7c, 0x68, 0xeb, 0xb5, 0x8e, 0x46, 0x1a, 0x33, 0x4e,
   0xf4, 0x78, 0xba, 0x4c, 0x53, 0x6a, 0xe8, 0x3e, 0xeb, 0x26, 0xfa, 0x78, 0x99, 0xa6, 0x7e, 0x08,
   0x5b, 0x69, 0x92, 0xcd, 0xc7, 0xb1, 0xca, 0x97, 0x05, 0x02, 0x62, 0x7b, 0x7a, 0x80, 0xc2, 0x4f,
   0x50, 0x36, 0x12, 0xe1, 0x09, 0x74, 0x6d, 0xea, 0xb8, 0xe1, 0x04, 0x2f, 0xdd, 0xea, 0x40, 0xd2,
   0x3f, 0x00, 0xb0, 0x88, 0xf1, 0x2c, 0x96, 0xae, 0x62, 0xeb, 0x4b, 0x0e, 0xa1, 0x42, 0x15, 0x23,
   0x60, 0x89, 0x0c, 0x1f, 0x82, 0x57, 0xcb, 0x71, 0x66, 0xb4, 0xe1, 0xca, 0xb8, 0xea, 0x59, 0x06,
   0x0f, 0x92, 0x99, 0x70, 0x95, 0x43, 0x32, 0x7c, 0x0e, 0xbd, 0xd3, 0x3c, 0x2d, 0xe3, 0x3c, 0xfb,
   0x4d, 0x4b, 0xe7, 0x3f, 0xd0, 0x2d, 0xf2, 0x24, 0x33, 0xda, 0x95, 0xf1, 0x4f, 0xab, 0x98, 0x4e,
   0x51, 0xce, 0x9c, 0x3a, 0xfc, 0xa5, 0x09, 0xdb, 0xab, 0x4e, 0x3a, 0x54, 0xb1, 0xbe, 0xe2, 0x7f,
   0x0f, 0xb6, 0x5d, 0x37, 0x55, 0x5d, 0x63, 0x4f, 0x1a, 0x46, 0xf5, 0x77, 0x23, 0x41, 0x03, 0x57,
   0xf5, 0x5c, 0x3d, 0x8d, 0xae, 0xe5, 0xb0, 0x53, 0x0a, 0x1b, 0x3d, 0x6a, 0xed, 0x38, 0x7a, 0x4e,
   0x32, 0x12, 0xfe, 0x5f, 0xe8, 0xd6, 0x19, 0xbb, 0xd5, 0x87, 0x28, 0x08, 0x74, 0x19, 0xc2, 0x16,
   0x8a, 0xb9, 0x8a, 0xc7, 0x3c, 0x4d, 0xb8, 0xae, 0x3a, 0x48, 0x0b, 0x0c, 0xf4, 0x10, 0x45, 0xb8,
   0x20, 0xf2, 0x42, 0x2a, 0x6e, 0x72, 0x45, 0x1d, 0xe4, 0xb1, 0x9a, 0xf7, 0xef, 0xc3, 0x56, 0x45,
   0x8f, 0x69, 0x05, 0xdb, 0x45, 0x38, 0xac, 0x84, 0xe7, 0xb8, 0x8a, 0xd7, 0x0e, 0x79, 0xc9, 0xd3,
   0xa5, 0x74, 0xbb, 0xd1, 0x1d, 0xf2, 0x1c, 0x45, 0xd7, 0xb6, 0xd4, 0x1e, 0x6c, 0x63, 0xdb, 0x8f,
   0x2f, 0x12, 0x33, 0x1b, 0x67, 0xf2, 0xd2, 0xb8, 0x55, 0x39, 0x44, 0xe9, 0xe7, 0x89, 0x99, 0x9d,
   0xc8, 0x4b, 0x83, 0x0d, 0xfe, 0x4e, 0x6b, 0xf5, 0x62, 0xd7, 0x56, 0xdf, 0x36, 0xa1, 0x75, 0x26,
   0xae, 0x0e, 0xef, 0x1d, 0xe8, 0x63, 0x40, 0x14, 0xb0, 0x05, 0xba, 0xa7, 0xc5, 0x9c, 0x62, 0x75,
   0xaa, 0xb5, 0x1b, 0x09, 0x55, 0x27, 0x58, 0xf0, 0x3d, 0x68, 0x73, 0x15, 0xeb, 0xab, 0x53, 0x7b,
   0x46, 0x79, 0x30, 0xd2, 0x62, 0x22, 0x49, 0x94, 0x67, 0x0e, 0x66, 0xa2, 0xb1, 0xd7, 0x96, 0x2a,
   0x75, 0xd8, 0x22, 0x89, 0xa3, 0xe7, 0x76, 0x27, 0x36, 0xad, 0x83, 0x15, 0xac, 0x08, 0x3b, 0x77,
   0x6d, 0x36, 0xc9, 0xc0, 0xc2, 0xea, 0x66, 0x93, 0x0c, 0x36, 0xb6, 0xaf, 0xf7, 0xce, 0xf6, 0x0d,
   // 1616 bytes of a gzipped FileDescriptorProto
   0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x57, 0xcd, 0x6e, 0xdc, 0xc8,
   0x11, 0xf6, 0xfc, 0x0f, 0x6b, 0x46, 0x8a, 0xcd, 0x38, 0x09, 0xed, 0x24, 0x8a, 0x4c, 0x0b, 0xb1,
   0x82, 0x24, 0x0e, 0x22, 0xdf, 0x03, 0x8c, 0xad, 0x28, 0x18, 0xc0, 0x96, 0x95, 0x96, 0xe2, 0x20,
   0xbe, 0x0c, 0x7a, 0xd8, 0x3d, 0x1c, 0x5a, 0x1c, 0x92, 0xe9, 0xee, 0xb1, 0xc4, 0x7b, 0x1e, 0x20,
   0xef, 0xb1, 0x2f, 0xe2, 0xc3, 0x1e, 0x7c, 0xdc, 0xdb, 0x2e, 0x6c, 0xec, 0x65, 0x5f, 0x60, 0xaf,
   0x8b, 0xaa, 0x6e, 0x72, 0x66, 0x24, 0x19, 0x30, 0xb0, 0xd7, 0xbd, 0xd5, 0x1f, 0xab, 0xab, 0xbe,
   0xfa, 0xe9, 0x26, 0x6c, 0x17, 0x2a, 0x37, 0xf9, 0x42, 0xc7, 0x8f, 0x89, 0xf0, 0xfb, 0x15, 0x1f,
   0xfe, 0x13, 0xbc, 0x33, 0xae, 0xcf, 0x9f, 0xf3, 0xa9, 0x4c, 0xfd, 0x5f, 0x42, 0xd7, 0x70, 0x7d,
   0x9e, 0x88, 0xa0, 0xb1, 0xdb, 0xd8, 0xf7, 0x98, 0xe3, 0x50, 0xae, 0xc5, 0x79, 0x22, 0x74, 0xd0,
   0xdc, 0x6d, 0xa1, 0xdc, 0x72, 0xfe, 0x5d, 0xe8, 0x24, 0x99, 0x90, 0x97, 0x41, 0x6b, 0xb7, 0xb1,
   0xdf, 0x61, 0x96, 0x09, 0x39, 0xc0, 0xa9, 0x38, 0x7f, 0x21, 0xb5, 0xe6, 0xb1, 0xf4, 0x6f, 0x43,
   0x2b, 0xaa, 0x1d, 0x22, 0xe9, 0xff, 0x19, 0x7a, 0xe8, 0x37, 0xe5, 0xd3, 0xa0, 0xb9, 0xdb, 0xd8,
   0x1f, 0x1c, 0xfc, 0xfc, 0x71, 0x1d, 0x5e, 0x1d, 0x0b, 0xab, 0x6c, 0x7c, 0x1f, 0xda, 0x82, 0x1b,
   0x4e, 0x67, 0x0c, 0x19, 0xd1, 0xe1, 0x18, 0x3a, 0xe3, 0x05, 0x7a, 0xbf, 0x0b, 0x9d, 0x8b, 0x44,
   0x98, 0x39, 0xf9, 0xef, 0x30, 0xcb, 0x60, 0xbc, 0x73, 0x99, 0xc4, 0x73, 0x43, 0x07, 0x74, 0x98,
   0xe3, 0x6e, 0x74, 0x75, 0x04, 0xed, 0x91, 0x92, 0xdc, 0xdf, 0x86, 0xa6, 0x0b, 0xb3, 0xc3, 0x9a,
   0x89, 0xf0, 0xef, 0x43, 0xbf, 0xe0, 0x4a, 0x66, 0x26, 0x11, 0xce, 0x4b, 0xcd, 0xa3, 0x9f, 0x8c,
   0x2f, 0x24, 0xf9, 0xf1, 0x18, 0xd1, 0xe1, 0xbb, 0x26, 0x74, 0x9f, 0xf1, 0x85, 0x54, 0xeb, 0xae,
   0x3c, 0x72, 0x55, 0x99, 0x37, 0x57, 0xe6, 0x28, 0x33, 0x65, 0x21, 0x1d, 0x72, 0x44, 0xa3, 0x8c,
   0x0b, 0xa1, 0x82, 0xb6, 0xb5, 0x43, 0x1a, 0x53, 0xe1, 0x4a, 0xf2, 0x44, 0x04, 0x1d, 0x9b, 0x8a,
   0xe5, 0xfc, 0xdf, 0x80, 0x97, 0xe6, 0x59, 0x9c, 0x98, 0xa5, 0x90, 0x41, 0x77, 0xb7, 0xb1, 0xdf,
   0x64, 0x2b, 0x01, 0x06, 0x9f, 0x72, 0x63, 0x95, 0x3d, 0x52, 0xd6, 0x3c, 0x9e, 0xa2, 0x8c, 0x2e,
   0x82, 0xbe, 0x3d, 0x05, 0x69, 0x8a, 0xb8, 0x08, 0x3c, 0x17, 0x71, 0x81, 0x36, 0x45, 0xae, 0x4c,
   0x00, 0x36, 0x3a, 0xa4, 0xd1, 0xe7, 0x52, 0x4b, 0x45, 0x99, 0x0c, 0xc8, 0xb2, 0xe6, 0x2d, 0x58,
   0x5a, 0x5f, 0xe4, 0x4a, 0x04, 0x43, 0xab, 0xab, 0x78, 0x2c, 0xd1, 0x54, 0xf1, 0x4c, 0x04, 0x5b,
   0xa4, 0xb0, 0x0c, 0x7e, 0xa1, 0xa4, 0x96, 0xea, 0xad, 0x14, 0xc1, 0xb6, 0xfd, 0xa2, 0xe2, 0xc3,
   0x08, 0xee, 0x58, 0x24, 0x47, 0x99, 0xc0, 0x86, 0x18, 0x67, 0xb3, 0xdc, 0xdf, 0x87, 0x6e, 0x44,
   0x42, 0x02, 0x76, 0x70, 0x70, 0x7b, 0xd5, 0x34, 0xd6, 0x98, 0x39, 0xbd, 0xbf, 0x07, 0x1d, 0xec,
   0x1d, 0xdb, 0xac, 0x83, 0x83, 0xed, 0xcd, 0xee, 0x62, 0x56, 0x19, 0x7e, 0xdd, 0x80, 0x36, 0xf2,
   0x9f, 0x6c, 0xfa, 0xfb, 0xd0, 0x47, 0x6a, 0xad, 0x72, 0x35, 0xef, 0xff, 0x1a, 0xbc, 0x48, 0x49,
   0x6e, 0xe4, 0x84, 0x1b, 0xd7, 0x05, 0x7d, 0x2b, 0x18, 0x99, 0x35, 0xe5, 0xb4, 0x74, 0xb5, 0x74,
   0xca, 0xa7, 0x25, 0x2a, 0x97, 0x85, 0x70, 0x5f, 0x76, 0x1c, 0x8c, 0x24, 0x18, 0x19, 0x0c, 0x45,
   0x66, 0x7c, 0x9a, 0xda, 0x8a, 0xf6, 0x99, 0xe3, 0xfc, 0x7b, 0xd0, 0x4f, 0xf4, 0x84, 0xa7, 0x5c,
   0x2d, 0xa8, 0x9c, 0x7d, 0xd6, 0x4b, 0xf4, 0x08, 0x59, 0x54, 0x09, 0x99, 0x4e, 0x66, 0x29, 0x8f,
   0xa9, 0xa2, 0x7d, 0xd6, 0x13, 0x32, 0x3d, 0x4a, 0x79, 0x1c, 0x9e, 0xc1, 0x00, 0x13, 0x3c, 0x15,
   0x16, 0xc0, 0x10, 0xda, 0x18, 0xbf, 0x83, 0xef, 0x2a, 0x2a, 0xa4, 0xf3, 0x1f, 0x40, 0x5b, 0x8b,
   0x1a, 0xb9, 0xad, 0x95, 0xcd, 0xa9, 0x38, 0x67, 0xa4, 0x0a, 0xbf, 0x6b, 0x02, 0x58, 0xc0, 0x09,
   0xbd, 0xab, 0xbd, 0xfe, 0x5b, 0x00, 0x5b, 0x86, 0x89, 0x5d, 0x17, 0x28, 0xf7, 0xac, 0x64, 0x2c,
   0xb4, 0xff, 0x2b, 0x3b, 0xfb, 0x93, 0x44, 0x38, 0xd8, 0x08, 0xed, 0x31, 0x2e, 0x05, 0xcf, 0x24,
   0x0b, 0x39, 0x51, 0xcb, 0x54, 0x06, 0x6d, 0x3a, 0x7e, 0xad, 0xc2, 0x87, 0xbc, 0x7c, 0x66, 0x52,
   0xd6, 0x47, 0x13, 0xb6, 0x4c, 0x25, 0x1e, 0xa3, 0x24, 0x8f, 0x8c, 0xb5, 0xb7, 0x38, 0x7a, 0x24,
   0x21, 0xf5, 0x03, 0x18, 0x5a, 0xb5, 0x90, 0x6f, 0x93, 0xc8, 0xc2, 0xe9, 0xb1, 0x01, 0xc9, 0x0e,
   0x49, 0xb4, 0x01, 0x5c, 0x6f, 0x03, 0x38, 0xff, 0x77, 0x30, 0x70, 0x35, 0x5a, 0x83, 0x15, 0xac,
   0x88, 0x0c, 0x56, 0x75, 0xf2, 0x36, 0xea, 0xe4, 0x43, 0x5b, 0xaf, 0x8d, 0x0d, 0xd2, 0x98, 0x71,
   0xa2, 0x27, 0xb3, 0x65, 0x9a, 0xd2, 0xd4, 0xf4, 0x59, 0x37, 0xd1, 0x47, 0xcb, 0x34, 0xf5, 0x43,
   0xd8, 0x4a, 0x93, 0xec, 0x7c, 0x12, 0xab, 0x7c, 0x59, 0x20, 0x20, 0x76, 0x70, 0x06, 0x28, 0xfc,
   0x07, 0xca, 0xc6, 0x22, 0x3c, 0x86, 0xae, 0x4d, 0x1d, 0xd7, 0xa8, 0xe0, 0xa5, 0xdb, 0x4f, 0x48,
   0xfa, 0x07, 0x00, 0x16, 0x31, 0x9e, 0xc5, 0xd2, 0x55, 0x6c, 0x7d, 0x93, 0x22, 0x54, 0xa8, 0x62,
   0x04, 0x2c, 0x91, 0xe1, 0x13, 0xf0, 0x6a, 0x39, 0x0e, 0xa6, 0x36, 0x5c, 0x19, 0x57, 0x3d, 0xcb,
   0xe0, 0x41, 0x32, 0x13, 0xae, 0x72, 0x48, 0x86, 0xaf, 0xa0, 0x77, 0x92, 0xa7, 0x65, 0x9c, 0x67,
   0x9f, 0xb5, 0xd9, 0x1e, 0x41, 0xb7, 0xc8, 0x93, 0xcc, 0x68, 0x57, 0xc6, 0x9f, 0xad, 0x62, 0x3a,
   0x41, 0x39, 0x73, 0xea, 0xf0, 0xfb, 0x26, 0x6c, 0xaf, 0x3a, 0x69, 0xa4, 0x62, 0x7d, 0xcd, 0xff,
   0x1e, 0x6c, 0xbb, 0x6e, 0xaa, 0xba, 0xc6, 0x9e, 0x34, 0x8c, 0xea, 0xef, 0xc6, 0x82, 0x06, 0xae,
   0xea, 0xb9, 0x7a, 0x1a, 0x5d, 0xcb, 0x61, 0xa7, 0x14, 0x36, 0x7a, 0xd4, 0xda, 0x71, 0xf4, 0x9c,
   0x64, 0x2c, 0xfc, 0x5f, 0xd0, 0xd5, 0x36, 0x71, 0xfb, 0x15, 0x51, 0x10, 0xe8, 0x32, 0x84, 0x2d,
   0x14, 0x73, 0x15, 0x4f, 0x78, 0x9a, 0x70, 0x5d, 0x75, 0x90, 0x16, 0x18, 0xe8, 0x08, 0x45, 0xb8,
   0x20, 0xf2, 0x42, 0x2a, 0x6e, 0x72, 0x45, 0x1d, 0xe4, 0xb1, 0x9a, 0xf7, 0x1f, 0xc2, 0x56, 0x45,
   0x4f, 0x68, 0xcf, 0xdb, 0x6d, 0x3b, 0xac, 0x84, 0x67, 0xb8, 0xef, 0xd7, 0x0e, 0x79, 0xcb, 0xd3,
   0xa5, 0x74, 0x0b, 0xd8, 0x1d, 0xf2, 0x0a, 0x45, 0x37, 0xb6, 0xd4, 0x1e, 0x6c, 0x63, 0xdb, 0x4f,
   0x2e, 0x12, 0x33, 0x9f, 0x64, 0xf2, 0xd2, 0xb8, 0x7d, 0x3c, 0x44, 0xe9, 0xbf, 0x13, 0x33, 0x3f,
   0x96, 0x97, 0x06, 0x1b, 0xfc, 0x4a, 0x6b, 0xf5, 0x62, 0xd7, 0x56, 0x5f, 0x34, 0xa1, 0x75, 0x2a,
   0xae, 0x0f, 0xef, 0x3d, 0xe8, 0x63, 0x40, 0x14, 0xb0, 0x05, 0xba, 0xa7, 0xc5, 0x39, 0xc5, 0xea,
   0x54, 0x6b, 0xd7, 0x1e, 0xaa, 0x8e, 0xb1, 0xe0, 0x7b, 0xd0, 0xe6, 0x2a, 0xd6, 0xd7, 0xa7, 0xf6,
   0x94, 0xf2, 0x60, 0xa4, 0xc5, 0x44, 0x92, 0x28, 0xcf, 0x1c, 0xcc, 0x44, 0x63, 0xaf, 0x2d, 0x55,
   0xea, 0xb0, 0x45, 0x12, 0x47, 0xcf, 0xed, 0x4e, 0x6c, 0x5a, 0x07, 0x2b, 0x58, 0x11, 0x76, 0xee,
   0xda, 0x6c, 0x92, 0x81, 0x85, 0xd5, 0xcd, 0x26, 0x19, 0x6c, 0x6c, 0x5f, 0xef, 0xca, 0xf6, 0x0d,
   0xa0, 0x67, 0x47, 0x55, 0x10, 0xa0, 0x1e, 0xab, 0xd8, 0x8d, 0x75, 0x60, 0xd1, 0xac, 0xf7, 0xe8,
   0xd7, 0x0d, 0xe8, 0xda, 0x54, 0x70, 0x64, 0x6c, 0x3b, 0x58, 0x74, 0x2c, 0x73, 0xdd, 0x4d, 0x5d,
   0x5f, 0xbd, 0xee, 0x9a, 0xad, 0xae, 0xde, 0xc5, 0x52, 0xdb, 0xb5, 0xdf, 0x67, 0x44, 0xa3, 0x47,
   0x3b, 0xc0, 0x16, 0x04, 0xcb, 0xd4, 0x55, 0xef, 0xad, 0xaa, 0x1e, 0xde, 0x87, 0x0e, 0xcd, 0x8f,
   0x3f, 0x84, 0xc6, 0xa5, 0x5b, 0x04, 0x8d, 0x4b, 0xe4, 0x4a, 0xf7, 0x76, 0x68, 0x94, 0xe1, 0x17,
   0xd0, 0x66, 0x32, 0xa2, 0x47, 0x48, 0x2a, 0xa7, 0xc6, 0x99, 0x11, 0x8d, 0x68, 0x9b, 0xbc, 0x70,
   0xb6, 0x48, 0xd2, 0xe1, 0xf4, 0x82, 0x71, 0x4f, 0x2b, 0x62, 0x70, 0xbb, 0x4d, 0x72, 0x63, 0xf2,
   0x05, 0x05, 0xdf, 0x61, 0x8e, 0x0b, 0x63, 0xf0, 0x8e, 0x79, 0x24, 0x0f, 0xb3, 0x38, 0xa5, 0x17,
   0x57, 0xc9, 0x2f, 0xaa, 0x7d, 0x54, 0xf2, 0x0b, 0x74, 0x56, 0x24, 0x26, 0x9a, 0xb9, 0x03, 0x2c,
   0x43, 0x0f, 0x81, 0x3c, 0x4d, 0xab, 0x27, 0x08, 0xd2, 0xfe, 0x0e, 0x40, 0x94, 0x67, 0xd3, 0x44,
   0xc8, 0x2c, 0xb2, 0x08, 0x35, 0xd9, 0x9a, 0x24, 0xbc, 0x04, 0x38, 0x9f, 0x4d, 0x0d, 0x93, 0x7a,
   0xff, 0x1a, 0xd0, 0xb5, 0xa9, 0xe0, 0xc8, 0xd8, 0x76, 0xb0, 0xe8, 0x58, 0xe6, 0xa6, 0xe7, 0x40,
   0x7d, 0xbf, 0xbb, 0xbb, 0xbc, 0xba, 0xdf, 0x17, 0x4b, 0x6d, 0xd7, 0x7e, 0x9f, 0x11, 0x8d, 0x1e,
   0xed, 0x00, 0x5b, 0x10, 0x2c, 0x53, 0x57, 0xbd, 0xb7, 0xaa, 0x7a, 0xf8, 0x10, 0x3a, 0x34, 0x3f,
   0xfe, 0x10, 0x1a, 0x97, 0x6e, 0x11, 0x34, 0x2e, 0x91, 0x2b, 0xdd, 0x03, 0xa5, 0x51, 0x86, 0xaf,
   0xa1, 0xcd, 0x64, 0x44, 0x2f, 0x9d, 0x54, 0xce, 0x8c, 0x33, 0x23, 0x1a, 0xd1, 0x36, 0x79, 0xe1,
   0x6c, 0x91, 0xa4, 0xc3, 0xe9, 0x99, 0xe4, 0xde, 0x6f, 0xc4, 0xe0, 0x76, 0x9b, 0xe6, 0xc6, 0xe4,
   0x0b, 0x0a, 0xbe, 0xc3, 0x1c, 0x17, 0xc6, 0xe0, 0x1d, 0xf1, 0x48, 0x8e, 0xb2, 0x38, 0xa5, 0x67,
   0x5d, 0xc9, 0x2f, 0xaa, 0x7d, 0x54, 0xf2, 0x0b, 0x74, 0x56, 0x24, 0x26, 0x9a, 0xbb, 0x03, 0x2c,
   0x43, 0xaf, 0x8d, 0x3c, 0x4d, 0xab, 0x77, 0x0e, 0xd2, 0xfe, 0x0e, 0x40, 0x94, 0x67, 0xb3, 0x44,
   0xc8, 0x2c, 0xb2, 0x08, 0x35, 0xd9, 0x9a, 0x24, 0xbc, 0x04, 0x38, 0x9b, 0xcf, 0x0c, 0x93, 0x7a,
   0x99, 0x52, 0x38, 0xb1, 0xcc, 0x84, 0x54, 0xee, 0x30, 0xc7, 0x61, 0x04, 0x3c, 0x96, 0x55, 0x3a,
   0xdc, 0xa2, 0xa6, 0x78, 0x54, 0x3f, 0x77, 0x90, 0xa6, 0x64, 0x24, 0x5f, 0x9a, 0xb2, 0x4e, 0x86,
   0x38, 0x5a, 0x7e, 0x8b, 0xc4, 0xdd, 0x1d, 0x1d, 0x66, 0x99, 0xf0, 0xbb, 0x26, 0xf4, 0x30, 0xc7,
   0xd3, 0x5c, 0xfb, 0xff, 0x86, 0xae, 0x8a, 0x90, 0xb9, 0x7a, 0x63, 0x22, 0xc4, 0xcc, 0x69, 0xf1,
   0xe6, 0x2a, 0xcc, 0x13, 0x39, 0x35, 0x1f, 0x97, 0xd2, 0xbd, 0x35, 0xaf, 0xac, 0xbc, 0x95, 0x85,
   0xff, 0x01, 0x40, 0x61, 0x18, 0x02, 0x8d, 0xf6, 0xad, 0xeb, 0xed, 0xd7, 0x4c, 0xfc, 0xff, 0x42,
   0xaf, 0x30, 0x4f, 0xf3, 0xa5, 0x99, 0x51, 0x0a, 0xd7, 0x58, 0x57, 0x7a, 0x5a, 0xbd, 0xe6, 0x24,
   0xd7, 0x36, 0xab, 0x6b, 0x57, 0x2f, 0xa9, 0xfd, 0xff, 0x41, 0x77, 0x4a, 0x75, 0xa4, 0xb6, 0xdb,
   0xb8, 0x37, 0xea, 0x12, 0x33, 0x67, 0x82, 0x43, 0xf3, 0xd5, 0x92, 0xa7, 0x89, 0x29, 0x5d, 0x3f,
   0x56, 0x2c, 0x16, 0x72, 0xca, 0xa3, 0x84, 0xa7, 0x47, 0xf8, 0xe0, 0xed, 0xd3, 0x83, 0x77, 0x4d,
   0x12, 0xfe, 0xd4, 0x84, 0x3e, 0xfa, 0xa3, 0xf7, 0xc7, 0x1f, 0x78, 0xfe, 0x5e, 0x3c, 0xb1, 0x99,
   0xa7, 0x08, 0xe7, 0x11, 0x2d, 0xb6, 0x16, 0x73, 0x5c, 0xf8, 0x19, 0xf4, 0x9e, 0x4d, 0x5e, 0x10,
   0xca, 0x7b, 0xd0, 0x51, 0xd1, 0xb3, 0xc9, 0x8b, 0xf7, 0x80, 0x6c, 0x95, 0xb4, 0x0a, 0xca, 0xd5,
   0x2a, 0x28, 0xed, 0x63, 0x5c, 0xe5, 0x13, 0x02, 0xb0, 0xc9, 0x88, 0x0e, 0xbf, 0x84, 0x5b, 0xa7,
   0x5c, 0xf1, 0x05, 0x4d, 0x84, 0xc2, 0xab, 0xcb, 0x94, 0xfe, 0x7d, 0x68, 0x15, 0xb9, 0x76, 0xee,
   0x6f, 0x6d, 0xe6, 0x79, 0x9a, 0x6b, 0x86, 0x5a, 0xff, 0x1e, 0xb4, 0x92, 0x45, 0x7c, 0xb5, 0x7a,
   0xf4, 0x3f, 0xc5, 0x50, 0x17, 0x7e, 0x04, 0x37, 0x6b, 0xe7, 0x8f, 0xf3, 0x05, 0xfe, 0xf6, 0xe0,
   0x50, 0x4e, 0x25, 0x37, 0x1f, 0x92, 0xf7, 0x21, 0xb3, 0x4c, 0x25, 0x3d, 0x20, 0x77, 0x4e, 0x7a,
   0xf0, 0x28, 0x78, 0xf5, 0x66, 0xa7, 0xf1, 0xfa, 0xcd, 0x4e, 0xe3, 0xc7, 0x37, 0x3b, 0x8d, 0x6f,
   0xde, 0xee, 0xdc, 0x78, 0xfd, 0x76, 0xe7, 0xc6, 0xf7, 0x6f, 0x77, 0x6e, 0x4c, 0xba, 0x74, 0xdc,
   0xc3, 0x5f, 0x03, 0x00, 0x00, 0xff, 0xff, 0xe5, 0xc9, 0x09, 0x8f, 0x90, 0x0e, 0x00, 0x00,
   0xdc, 0xa2, 0xa6, 0x78, 0x54, 0xbf, 0xa9, 0x90, 0xa6, 0x64, 0x24, 0x5f, 0x9a, 0xb2, 0x4e, 0x86,
   0x38, 0x5a, 0x7e, 0x8b, 0xc4, 0xdd, 0x1d, 0x1d, 0x66, 0x99, 0xf0, 0xcb, 0x26, 0xf4, 0x30, 0xc7,
   0x93, 0x5c, 0xfb, 0xbf, 0x87, 0xae, 0x8a, 0x90, 0xb9, 0x7e, 0x63, 0x22, 0xc4, 0xcc, 0x69, 0xf1,
   0xe6, 0x2a, 0xcc, 0x73, 0x39, 0x33, 0x7f, 0x2f, 0xa5, 0x7b, 0xd0, 0x5e, 0x5b, 0x79, 0x2b, 0x0b,
   0xff, 0x2f, 0x00, 0x85, 0x61, 0x08, 0x34, 0xda, 0xb7, 0x6e, 0xb6, 0x5f, 0x33, 0xf1, 0xff, 0x00,
   0xbd, 0xc2, 0xbc, 0xc8, 0x97, 0x66, 0x4e, 0x29, 0xdc, 0x60, 0x5d, 0xe9, 0x69, 0xf5, 0x9a, 0xe3,
   0x5c, 0xdb, 0xac, 0x6e, 0x5c, 0xbd, 0xa4, 0xf6, 0xff, 0x08, 0xdd, 0x19, 0xd5, 0x91, 0xda, 0x6e,
   0xe3, 0xde, 0xa8, 0x4b, 0xcc, 0x9c, 0x09, 0x0e, 0xcd, 0x7f, 0x97, 0x3c, 0x4d, 0x4c, 0xe9, 0xfa,
   0xb1, 0x62, 0xb1, 0x90, 0x33, 0x1e, 0x25, 0x3c, 0x3d, 0xc4, 0x57, 0x75, 0x9f, 0x5e, 0xd5, 0x6b,
   0x92, 0xf0, 0xdb, 0x26, 0xf4, 0xd1, 0x1f, 0xbd, 0x3f, 0x7e, 0xc2, 0xf3, 0xc7, 0xe2, 0x89, 0xcd,
   0x3c, 0x43, 0x38, 0x0f, 0x69, 0xb1, 0xb5, 0x98, 0xe3, 0xc2, 0x7f, 0x41, 0xef, 0xe5, 0xf4, 0x0d,
   0xa1, 0xbc, 0x07, 0x1d, 0x15, 0xbd, 0x9c, 0xbe, 0xf9, 0x04, 0xc8, 0x56, 0x49, 0xab, 0xa0, 0x5c,
   0xad, 0x82, 0xd2, 0xbe, 0xf8, 0x55, 0x3e, 0x25, 0x00, 0x9b, 0x8c, 0xe8, 0xf0, 0x15, 0x0c, 0x4f,
   0xb8, 0xe2, 0x8b, 0x6a, 0x22, 0x1e, 0x42, 0xab, 0xc8, 0xb5, 0xf3, 0x7c, 0x67, 0x33, 0xc5, 0x93,
   0x5c, 0x33, 0xd4, 0xfa, 0x0f, 0xa0, 0x95, 0x2c, 0xe2, 0xeb, 0x85, 0xa3, 0xff, 0x35, 0x86, 0xba,
   0xf0, 0x6f, 0x70, 0xbb, 0xf6, 0xfb, 0x2c, 0x5f, 0xe0, 0x6f, 0x15, 0xce, 0xe3, 0x4c, 0x72, 0xf3,
   0x57, 0xf2, 0x3e, 0x64, 0x96, 0xa9, 0xa4, 0x07, 0xe4, 0xce, 0x49, 0x0f, 0x42, 0x01, 0x77, 0x56,
   0x71, 0x29, 0xbc, 0x52, 0x4d, 0xe9, 0xff, 0x09, 0xba, 0x8a, 0x16, 0x86, 0x8b, 0xef, 0xee, 0xda,
   0x53, 0xa8, 0x5e, 0x26, 0xcc, 0xd9, 0x7c, 0x4e, 0x94, 0xaf, 0x5d, 0xf6, 0xff, 0xc9, 0xd3, 0x1c,
   0x31, 0x7b, 0x84, 0x3f, 0xbb, 0x33, 0xca, 0xbf, 0xb5, 0x99, 0xbf, 0xc3, 0x9e, 0x59, 0xfd, 0x67,
   0xf8, 0x7e, 0x1a, 0xbc, 0xfb, 0xb0, 0xd3, 0x78, 0xff, 0x61, 0xa7, 0xf1, 0xcd, 0x87, 0x9d, 0xc6,
   0xff, 0x3f, 0xee, 0xdc, 0x7a, 0xff, 0x71, 0xe7, 0xd6, 0x57, 0x1f, 0x77, 0x6e, 0x4d, 0xbb, 0x64,
   0xfe, 0xe4, 0x87, 0x00, 0x00, 0x00, 0xff, 0xff, 0x0b, 0xba, 0x75, 0x22, 0xb2, 0x0f, 0x00, 0x00,
}
func (m *TaskLabel) Marshal() (dAtA []byte, err error) {
@@ -2226,6 +2394,46 @@
   return i, nil
}
func (m *CameraAndTaskInfo) 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 *CameraAndTaskInfo) MarshalTo(dAtA []byte) (int, error) {
   var i int
   _ = i
   var l int
   _ = l
   if m.Camera != nil {
      dAtA[i] = 0xa
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(m.Camera.Size()))
      n2, err2 := m.Camera.MarshalTo(dAtA[i:])
      if err2 != nil {
         return 0, err2
      }
      i += n2
   }
   if len(m.Tasks) > 0 {
      for _, msg := range m.Tasks {
         dAtA[i] = 0x12
         i++
         i = encodeVarintProtomsg(dAtA, i, uint64(msg.Size()))
         n, err := msg.MarshalTo(dAtA[i:])
         if err != nil {
            return 0, err
         }
         i += n
      }
   }
   return i, nil
}
func (m *Task) Marshal() (dAtA []byte, err error) {
   size := m.Size()
   dAtA = make([]byte, size)
@@ -2323,11 +2531,11 @@
      dAtA[i] = 0xa
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(m.Task.Size()))
      n2, err2 := m.Task.MarshalTo(dAtA[i:])
      if err2 != nil {
         return 0, err2
      n3, err3 := m.Task.MarshalTo(dAtA[i:])
      if err3 != nil {
         return 0, err3
      }
      i += n2
      i += n3
   }
   if len(m.Sdks) > 0 {
      for _, msg := range m.Sdks {
@@ -2965,61 +3173,61 @@
      dAtA[i] = 0xa
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(m.RcFace.Size()))
      n3, err3 := m.RcFace.MarshalTo(dAtA[i:])
      if err3 != nil {
         return 0, err3
      }
      i += n3
   }
   if m.PtLeftEye != nil {
      dAtA[i] = 0x12
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(m.PtLeftEye.Size()))
      n4, err4 := m.PtLeftEye.MarshalTo(dAtA[i:])
      n4, err4 := m.RcFace.MarshalTo(dAtA[i:])
      if err4 != nil {
         return 0, err4
      }
      i += n4
   }
   if m.PtRightEye != nil {
      dAtA[i] = 0x1a
   if m.PtLeftEye != nil {
      dAtA[i] = 0x12
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(m.PtRightEye.Size()))
      n5, err5 := m.PtRightEye.MarshalTo(dAtA[i:])
      i = encodeVarintProtomsg(dAtA, i, uint64(m.PtLeftEye.Size()))
      n5, err5 := m.PtLeftEye.MarshalTo(dAtA[i:])
      if err5 != nil {
         return 0, err5
      }
      i += n5
   }
   if m.PtMouth != nil {
      dAtA[i] = 0x22
   if m.PtRightEye != nil {
      dAtA[i] = 0x1a
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(m.PtMouth.Size()))
      n6, err6 := m.PtMouth.MarshalTo(dAtA[i:])
      i = encodeVarintProtomsg(dAtA, i, uint64(m.PtRightEye.Size()))
      n6, err6 := m.PtRightEye.MarshalTo(dAtA[i:])
      if err6 != nil {
         return 0, err6
      }
      i += n6
   }
   if m.PtNose != nil {
      dAtA[i] = 0x2a
   if m.PtMouth != nil {
      dAtA[i] = 0x22
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(m.PtNose.Size()))
      n7, err7 := m.PtNose.MarshalTo(dAtA[i:])
      i = encodeVarintProtomsg(dAtA, i, uint64(m.PtMouth.Size()))
      n7, err7 := m.PtMouth.MarshalTo(dAtA[i:])
      if err7 != nil {
         return 0, err7
      }
      i += n7
   }
   if m.FAngle != nil {
      dAtA[i] = 0x32
   if m.PtNose != nil {
      dAtA[i] = 0x2a
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(m.FAngle.Size()))
      n8, err8 := m.FAngle.MarshalTo(dAtA[i:])
      i = encodeVarintProtomsg(dAtA, i, uint64(m.PtNose.Size()))
      n8, err8 := m.PtNose.MarshalTo(dAtA[i:])
      if err8 != nil {
         return 0, err8
      }
      i += n8
   }
   if m.FAngle != nil {
      dAtA[i] = 0x32
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(m.FAngle.Size()))
      n9, err9 := m.FAngle.MarshalTo(dAtA[i:])
      if err9 != nil {
         return 0, err9
      }
      i += n9
   }
   if m.Quality != 0 {
      dAtA[i] = 0x38
@@ -3054,61 +3262,61 @@
      dAtA[i] = 0xa
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(m.RcFace.Size()))
      n9, err9 := m.RcFace.MarshalTo(dAtA[i:])
      if err9 != nil {
         return 0, err9
      }
      i += n9
   }
   if m.PtLeftEye != nil {
      dAtA[i] = 0x12
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(m.PtLeftEye.Size()))
      n10, err10 := m.PtLeftEye.MarshalTo(dAtA[i:])
      n10, err10 := m.RcFace.MarshalTo(dAtA[i:])
      if err10 != nil {
         return 0, err10
      }
      i += n10
   }
   if m.PtRightEye != nil {
      dAtA[i] = 0x1a
   if m.PtLeftEye != nil {
      dAtA[i] = 0x12
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(m.PtRightEye.Size()))
      n11, err11 := m.PtRightEye.MarshalTo(dAtA[i:])
      i = encodeVarintProtomsg(dAtA, i, uint64(m.PtLeftEye.Size()))
      n11, err11 := m.PtLeftEye.MarshalTo(dAtA[i:])
      if err11 != nil {
         return 0, err11
      }
      i += n11
   }
   if m.PtMouth != nil {
      dAtA[i] = 0x22
   if m.PtRightEye != nil {
      dAtA[i] = 0x1a
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(m.PtMouth.Size()))
      n12, err12 := m.PtMouth.MarshalTo(dAtA[i:])
      i = encodeVarintProtomsg(dAtA, i, uint64(m.PtRightEye.Size()))
      n12, err12 := m.PtRightEye.MarshalTo(dAtA[i:])
      if err12 != nil {
         return 0, err12
      }
      i += n12
   }
   if m.PtNose != nil {
      dAtA[i] = 0x2a
   if m.PtMouth != nil {
      dAtA[i] = 0x22
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(m.PtNose.Size()))
      n13, err13 := m.PtNose.MarshalTo(dAtA[i:])
      i = encodeVarintProtomsg(dAtA, i, uint64(m.PtMouth.Size()))
      n13, err13 := m.PtMouth.MarshalTo(dAtA[i:])
      if err13 != nil {
         return 0, err13
      }
      i += n13
   }
   if m.FAngle != nil {
      dAtA[i] = 0x32
   if m.PtNose != nil {
      dAtA[i] = 0x2a
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(m.FAngle.Size()))
      n14, err14 := m.FAngle.MarshalTo(dAtA[i:])
      i = encodeVarintProtomsg(dAtA, i, uint64(m.PtNose.Size()))
      n14, err14 := m.PtNose.MarshalTo(dAtA[i:])
      if err14 != nil {
         return 0, err14
      }
      i += n14
   }
   if m.FAngle != nil {
      dAtA[i] = 0x32
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(m.FAngle.Size()))
      n15, err15 := m.FAngle.MarshalTo(dAtA[i:])
      if err15 != nil {
         return 0, err15
      }
      i += n15
   }
   if m.Quality != 0 {
      dAtA[i] = 0x38
@@ -3148,11 +3356,11 @@
      dAtA[i] = 0xa
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(m.RcObj.Size()))
      n15, err15 := m.RcObj.MarshalTo(dAtA[i:])
      if err15 != nil {
         return 0, err15
      n16, err16 := m.RcObj.MarshalTo(dAtA[i:])
      if err16 != nil {
         return 0, err16
      }
      i += n15
      i += n16
   }
   if m.Typ != 0 {
      dAtA[i] = 0x10
@@ -3168,7 +3376,7 @@
   return i, nil
}
func (m *ParamFaceProperty) Marshal() (dAtA []byte, err error) {
func (m *ParamFacePos) Marshal() (dAtA []byte, err error) {
   size := m.Size()
   dAtA = make([]byte, size)
   n, err := m.MarshalTo(dAtA)
@@ -3178,7 +3386,7 @@
   return dAtA[:n], nil
}
func (m *ParamFaceProperty) MarshalTo(dAtA []byte) (int, error) {
func (m *ParamFacePos) MarshalTo(dAtA []byte) (int, error) {
   var i int
   _ = i
   var l int
@@ -3187,21 +3395,21 @@
      dAtA[i] = 0xa
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(m.Pos.Size()))
      n16, err16 := m.Pos.MarshalTo(dAtA[i:])
      if err16 != nil {
         return 0, err16
      n17, err17 := m.Pos.MarshalTo(dAtA[i:])
      if err17 != nil {
         return 0, err17
      }
      i += n16
      i += n17
   }
   if m.Img != nil {
      dAtA[i] = 0x12
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(m.Img.Size()))
      n17, err17 := m.Img.MarshalTo(dAtA[i:])
      if err17 != nil {
         return 0, err17
      n18, err18 := m.Img.MarshalTo(dAtA[i:])
      if err18 != nil {
         return 0, err18
      }
      i += n17
      i += n18
   }
   return i, nil
}
@@ -3232,6 +3440,84 @@
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(len(m.Feat2)))
      i += copy(dAtA[i:], m.Feat2)
   }
   return i, nil
}
func (m *ParamFaceProperty) 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 *ParamFaceProperty) MarshalTo(dAtA []byte) (int, error) {
   var i int
   _ = i
   var l int
   _ = l
   if m.Result != nil {
      dAtA[i] = 0xa
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(m.Result.Size()))
      n19, err19 := m.Result.MarshalTo(dAtA[i:])
      if err19 != nil {
         return 0, err19
      }
      i += n19
   }
   if m.Img != nil {
      dAtA[i] = 0x12
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(m.Img.Size()))
      n20, err20 := m.Img.MarshalTo(dAtA[i:])
      if err20 != nil {
         return 0, err20
      }
      i += n20
   }
   return i, nil
}
func (m *ParamYoloObj) 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 *ParamYoloObj) MarshalTo(dAtA []byte) (int, error) {
   var i int
   _ = i
   var l int
   _ = l
   if len(m.Infos) > 0 {
      for _, msg := range m.Infos {
         dAtA[i] = 0xa
         i++
         i = encodeVarintProtomsg(dAtA, i, uint64(msg.Size()))
         n, err := msg.MarshalTo(dAtA[i:])
         if err != nil {
            return 0, err
         }
         i += n
      }
   }
   if m.Img != nil {
      dAtA[i] = 0x12
      i++
      i = encodeVarintProtomsg(dAtA, i, uint64(m.Img.Size()))
      n21, err21 := m.Img.MarshalTo(dAtA[i:])
      if err21 != nil {
         return 0, err21
      }
      i += n21
   }
   return i, nil
}
@@ -3382,6 +3668,25 @@
   l = len(m.Reserved)
   if l > 0 {
      n += 1 + l + sovProtomsg(uint64(l))
   }
   return n
}
func (m *CameraAndTaskInfo) Size() (n int) {
   if m == nil {
      return 0
   }
   var l int
   _ = l
   if m.Camera != nil {
      l = m.Camera.Size()
      n += 1 + l + sovProtomsg(uint64(l))
   }
   if len(m.Tasks) > 0 {
      for _, e := range m.Tasks {
         l = e.Size()
         n += 1 + l + sovProtomsg(uint64(l))
      }
   }
   return n
}
@@ -3880,7 +4185,7 @@
   return n
}
func (m *ParamFaceProperty) Size() (n int) {
func (m *ParamFacePos) Size() (n int) {
   if m == nil {
      return 0
   }
@@ -3909,6 +4214,42 @@
   }
   l = len(m.Feat2)
   if l > 0 {
      n += 1 + l + sovProtomsg(uint64(l))
   }
   return n
}
func (m *ParamFaceProperty) Size() (n int) {
   if m == nil {
      return 0
   }
   var l int
   _ = l
   if m.Result != nil {
      l = m.Result.Size()
      n += 1 + l + sovProtomsg(uint64(l))
   }
   if m.Img != nil {
      l = m.Img.Size()
      n += 1 + l + sovProtomsg(uint64(l))
   }
   return n
}
func (m *ParamYoloObj) Size() (n int) {
   if m == nil {
      return 0
   }
   var l int
   _ = l
   if len(m.Infos) > 0 {
      for _, e := range m.Infos {
         l = e.Size()
         n += 1 + l + sovProtomsg(uint64(l))
      }
   }
   if m.Img != nil {
      l = m.Img.Size()
      n += 1 + l + sovProtomsg(uint64(l))
   }
   return n
@@ -4861,6 +5202,129 @@
            return io.ErrUnexpectedEOF
         }
         m.Reserved = string(dAtA[iNdEx:postIndex])
         iNdEx = postIndex
      default:
         iNdEx = preIndex
         skippy, err := skipProtomsg(dAtA[iNdEx:])
         if err != nil {
            return err
         }
         if skippy < 0 {
            return ErrInvalidLengthProtomsg
         }
         if (iNdEx + skippy) < 0 {
            return ErrInvalidLengthProtomsg
         }
         if (iNdEx + skippy) > l {
            return io.ErrUnexpectedEOF
         }
         iNdEx += skippy
      }
   }
   if iNdEx > l {
      return io.ErrUnexpectedEOF
   }
   return nil
}
func (m *CameraAndTaskInfo) 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 ErrIntOverflowProtomsg
         }
         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: CameraAndTaskInfo: wiretype end group for non-group")
      }
      if fieldNum <= 0 {
         return fmt.Errorf("proto: CameraAndTaskInfo: illegal tag %d (wire type %d)", fieldNum, wire)
      }
      switch fieldNum {
      case 1:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field Camera", wireType)
         }
         var msglen int
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowProtomsg
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            msglen |= int(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
         if msglen < 0 {
            return ErrInvalidLengthProtomsg
         }
         postIndex := iNdEx + msglen
         if postIndex < 0 {
            return ErrInvalidLengthProtomsg
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         if m.Camera == nil {
            m.Camera = &Camera{}
         }
         if err := m.Camera.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
            return err
         }
         iNdEx = postIndex
      case 2:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field Tasks", wireType)
         }
         var msglen int
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowProtomsg
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            msglen |= int(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
         if msglen < 0 {
            return ErrInvalidLengthProtomsg
         }
         postIndex := iNdEx + msglen
         if postIndex < 0 {
            return ErrInvalidLengthProtomsg
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         m.Tasks = append(m.Tasks, &Task{})
         if err := m.Tasks[len(m.Tasks)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
            return err
         }
         iNdEx = postIndex
      default:
         iNdEx = preIndex
@@ -8356,7 +8820,7 @@
   }
   return nil
}
func (m *ParamFaceProperty) Unmarshal(dAtA []byte) error {
func (m *ParamFacePos) Unmarshal(dAtA []byte) error {
   l := len(dAtA)
   iNdEx := 0
   for iNdEx < l {
@@ -8379,10 +8843,10 @@
      fieldNum := int32(wire >> 3)
      wireType := int(wire & 0x7)
      if wireType == 4 {
         return fmt.Errorf("proto: ParamFaceProperty: wiretype end group for non-group")
         return fmt.Errorf("proto: ParamFacePos: wiretype end group for non-group")
      }
      if fieldNum <= 0 {
         return fmt.Errorf("proto: ParamFaceProperty: illegal tag %d (wire type %d)", fieldNum, wire)
         return fmt.Errorf("proto: ParamFacePos: illegal tag %d (wire type %d)", fieldNum, wire)
      }
      switch fieldNum {
      case 1:
@@ -8602,6 +9066,254 @@
   }
   return nil
}
func (m *ParamFaceProperty) 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 ErrIntOverflowProtomsg
         }
         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: ParamFaceProperty: wiretype end group for non-group")
      }
      if fieldNum <= 0 {
         return fmt.Errorf("proto: ParamFaceProperty: illegal tag %d (wire type %d)", fieldNum, wire)
      }
      switch fieldNum {
      case 1:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field Result", wireType)
         }
         var msglen int
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowProtomsg
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            msglen |= int(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
         if msglen < 0 {
            return ErrInvalidLengthProtomsg
         }
         postIndex := iNdEx + msglen
         if postIndex < 0 {
            return ErrInvalidLengthProtomsg
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         if m.Result == nil {
            m.Result = &ThftResult{}
         }
         if err := m.Result.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
            return err
         }
         iNdEx = postIndex
      case 2:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field Img", wireType)
         }
         var msglen int
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowProtomsg
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            msglen |= int(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
         if msglen < 0 {
            return ErrInvalidLengthProtomsg
         }
         postIndex := iNdEx + msglen
         if postIndex < 0 {
            return ErrInvalidLengthProtomsg
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         if m.Img == nil {
            m.Img = &Image{}
         }
         if err := m.Img.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
            return err
         }
         iNdEx = postIndex
      default:
         iNdEx = preIndex
         skippy, err := skipProtomsg(dAtA[iNdEx:])
         if err != nil {
            return err
         }
         if skippy < 0 {
            return ErrInvalidLengthProtomsg
         }
         if (iNdEx + skippy) < 0 {
            return ErrInvalidLengthProtomsg
         }
         if (iNdEx + skippy) > l {
            return io.ErrUnexpectedEOF
         }
         iNdEx += skippy
      }
   }
   if iNdEx > l {
      return io.ErrUnexpectedEOF
   }
   return nil
}
func (m *ParamYoloObj) 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 ErrIntOverflowProtomsg
         }
         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: ParamYoloObj: wiretype end group for non-group")
      }
      if fieldNum <= 0 {
         return fmt.Errorf("proto: ParamYoloObj: illegal tag %d (wire type %d)", fieldNum, wire)
      }
      switch fieldNum {
      case 1:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field Infos", wireType)
         }
         var msglen int
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowProtomsg
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            msglen |= int(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
         if msglen < 0 {
            return ErrInvalidLengthProtomsg
         }
         postIndex := iNdEx + msglen
         if postIndex < 0 {
            return ErrInvalidLengthProtomsg
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         m.Infos = append(m.Infos, &ObjInfo{})
         if err := m.Infos[len(m.Infos)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
            return err
         }
         iNdEx = postIndex
      case 2:
         if wireType != 2 {
            return fmt.Errorf("proto: wrong wireType = %d for field Img", wireType)
         }
         var msglen int
         for shift := uint(0); ; shift += 7 {
            if shift >= 64 {
               return ErrIntOverflowProtomsg
            }
            if iNdEx >= l {
               return io.ErrUnexpectedEOF
            }
            b := dAtA[iNdEx]
            iNdEx++
            msglen |= int(b&0x7F) << shift
            if b < 0x80 {
               break
            }
         }
         if msglen < 0 {
            return ErrInvalidLengthProtomsg
         }
         postIndex := iNdEx + msglen
         if postIndex < 0 {
            return ErrInvalidLengthProtomsg
         }
         if postIndex > l {
            return io.ErrUnexpectedEOF
         }
         if m.Img == nil {
            m.Img = &Image{}
         }
         if err := m.Img.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
            return err
         }
         iNdEx = postIndex
      default:
         iNdEx = preIndex
         skippy, err := skipProtomsg(dAtA[iNdEx:])
         if err != nil {
            return err
         }
         if skippy < 0 {
            return ErrInvalidLengthProtomsg
         }
         if (iNdEx + skippy) < 0 {
            return ErrInvalidLengthProtomsg
         }
         if (iNdEx + skippy) > l {
            return io.ErrUnexpectedEOF
         }
         iNdEx += skippy
      }
   }
   if iNdEx > l {
      return io.ErrUnexpectedEOF
   }
   return nil
}
func skipProtomsg(dAtA []byte) (n int, err error) {
   l := len(dAtA)
   iNdEx := 0