liuxiaolong
2019-06-13 a617e6201b1c5e25d06077fe9916c98df87ca629
protomsg.pb.go
@@ -61,6 +61,34 @@
   return fileDescriptor_32de24555f916688, []int{0}
}
type DbAction int32
const (
   DbAction_Insert DbAction = 0
   DbAction_Update DbAction = 1
   DbAction_Delete DbAction = 2
)
var DbAction_name = map[int32]string{
   0: "Insert",
   1: "Update",
   2: "Delete",
}
var DbAction_value = map[string]int32{
   "Insert": 0,
   "Update": 1,
   "Delete": 2,
}
func (x DbAction) String() string {
   return proto.EnumName(DbAction_name, int32(x))
}
func (DbAction) EnumDescriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{1}
}
type TaskLabel struct {
   Taskid               string   `protobuf:"bytes,1,opt,name=taskid,proto3" json:"taskid,omitempty"`
   Sdkids               []string `protobuf:"bytes,2,rep,name=sdkids,proto3" json:"sdkids,omitempty"`
@@ -747,6 +775,70 @@
   return ""
}
//摄像机布防的时间规则,可以设置多个,用id关联到具体的规则配置中
type CameraTimerule struct {
   Id                   string    `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   Name                 string    `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
   CameraId             string    `protobuf:"bytes,3,opt,name=camera_id,json=cameraId,proto3" json:"camera_id,omitempty"`
   TimeRule             []*DayCtl `protobuf:"bytes,4,rep,name=time_rule,json=timeRule,proto3" json:"time_rule,omitempty"`
   XXX_NoUnkeyedLiteral struct{}  `json:"-"`
   XXX_unrecognized     []byte    `json:"-"`
   XXX_sizecache        int32     `json:"-"`
}
func (m *CameraTimerule) Reset()         { *m = CameraTimerule{} }
func (m *CameraTimerule) String() string { return proto.CompactTextString(m) }
func (*CameraTimerule) ProtoMessage()    {}
func (*CameraTimerule) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{9}
}
func (m *CameraTimerule) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_CameraTimerule.Unmarshal(m, b)
}
func (m *CameraTimerule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_CameraTimerule.Marshal(b, m, deterministic)
}
func (m *CameraTimerule) XXX_Merge(src proto.Message) {
   xxx_messageInfo_CameraTimerule.Merge(m, src)
}
func (m *CameraTimerule) XXX_Size() int {
   return xxx_messageInfo_CameraTimerule.Size(m)
}
func (m *CameraTimerule) XXX_DiscardUnknown() {
   xxx_messageInfo_CameraTimerule.DiscardUnknown(m)
}
var xxx_messageInfo_CameraTimerule proto.InternalMessageInfo
func (m *CameraTimerule) GetId() string {
   if m != nil {
      return m.Id
   }
   return ""
}
func (m *CameraTimerule) GetName() string {
   if m != nil {
      return m.Name
   }
   return ""
}
func (m *CameraTimerule) GetCameraId() string {
   if m != nil {
      return m.CameraId
   }
   return ""
}
func (m *CameraTimerule) GetTimeRule() []*DayCtl {
   if m != nil {
      return m.TimeRule
   }
   return nil
}
//DayCtl struct   每天的时间控制规则
type DayCtl struct {
   Day                  int32        `protobuf:"varint,1,opt,name=day,proto3" json:"day,omitempty"`
@@ -760,7 +852,7 @@
func (m *DayCtl) String() string { return proto.CompactTextString(m) }
func (*DayCtl) ProtoMessage()    {}
func (*DayCtl) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{9}
   return fileDescriptor_32de24555f916688, []int{10}
}
func (m *DayCtl) XXX_Unmarshal(b []byte) error {
@@ -808,7 +900,7 @@
func (m *TimeRange) String() string { return proto.CompactTextString(m) }
func (*TimeRange) ProtoMessage()    {}
func (*TimeRange) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{10}
   return fileDescriptor_32de24555f916688, []int{11}
}
func (m *TimeRange) XXX_Unmarshal(b []byte) error {
@@ -857,7 +949,7 @@
func (m *Polygon) String() string { return proto.CompactTextString(m) }
func (*Polygon) ProtoMessage()    {}
func (*Polygon) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{11}
   return fileDescriptor_32de24555f916688, []int{12}
}
func (m *Polygon) XXX_Unmarshal(b []byte) error {
@@ -921,7 +1013,7 @@
func (m *CameraTaskArgs) String() string { return proto.CompactTextString(m) }
func (*CameraTaskArgs) ProtoMessage()    {}
func (*CameraTaskArgs) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{12}
   return fileDescriptor_32de24555f916688, []int{13}
}
func (m *CameraTaskArgs) XXX_Unmarshal(b []byte) error {
@@ -1048,7 +1140,7 @@
func (m *Sdk) String() string { return proto.CompactTextString(m) }
func (*Sdk) ProtoMessage()    {}
func (*Sdk) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{13}
   return fileDescriptor_32de24555f916688, []int{14}
}
func (m *Sdk) XXX_Unmarshal(b []byte) error {
@@ -1163,7 +1255,7 @@
func (m *SdkArg) String() string { return proto.CompactTextString(m) }
func (*SdkArg) ProtoMessage()    {}
func (*SdkArg) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{14}
   return fileDescriptor_32de24555f916688, []int{15}
}
func (m *SdkArg) XXX_Unmarshal(b []byte) error {
@@ -1239,7 +1331,7 @@
func (m *Point) String() string { return proto.CompactTextString(m) }
func (*Point) ProtoMessage()    {}
func (*Point) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{15}
   return fileDescriptor_32de24555f916688, []int{16}
}
func (m *Point) XXX_Unmarshal(b []byte) error {
@@ -1288,7 +1380,7 @@
func (m *Rect) String() string { return proto.CompactTextString(m) }
func (*Rect) ProtoMessage()    {}
func (*Rect) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{16}
   return fileDescriptor_32de24555f916688, []int{17}
}
func (m *Rect) XXX_Unmarshal(b []byte) error {
@@ -1351,7 +1443,7 @@
func (m *FaceAngle) String() string { return proto.CompactTextString(m) }
func (*FaceAngle) ProtoMessage()    {}
func (*FaceAngle) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{17}
   return fileDescriptor_32de24555f916688, []int{18}
}
func (m *FaceAngle) XXX_Unmarshal(b []byte) error {
@@ -1415,7 +1507,7 @@
func (m *ThftResult) String() string { return proto.CompactTextString(m) }
func (*ThftResult) ProtoMessage()    {}
func (*ThftResult) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{18}
   return fileDescriptor_32de24555f916688, []int{19}
}
func (m *ThftResult) XXX_Unmarshal(b []byte) error {
@@ -1489,7 +1581,7 @@
func (m *FacePos) String() string { return proto.CompactTextString(m) }
func (*FacePos) ProtoMessage()    {}
func (*FacePos) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{19}
   return fileDescriptor_32de24555f916688, []int{20}
}
func (m *FacePos) XXX_Unmarshal(b []byte) error {
@@ -1585,7 +1677,7 @@
func (m *FaceInfo) String() string { return proto.CompactTextString(m) }
func (*FaceInfo) ProtoMessage()    {}
func (*FaceInfo) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{20}
   return fileDescriptor_32de24555f916688, []int{21}
}
func (m *FaceInfo) XXX_Unmarshal(b []byte) error {
@@ -1682,7 +1774,7 @@
func (m *ObjInfo) String() string { return proto.CompactTextString(m) }
func (*ObjInfo) ProtoMessage()    {}
func (*ObjInfo) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{21}
   return fileDescriptor_32de24555f916688, []int{22}
}
func (m *ObjInfo) XXX_Unmarshal(b []byte) error {
@@ -1737,7 +1829,7 @@
func (m *ParamFacePos) String() string { return proto.CompactTextString(m) }
func (*ParamFacePos) ProtoMessage()    {}
func (*ParamFacePos) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{22}
   return fileDescriptor_32de24555f916688, []int{23}
}
func (m *ParamFacePos) XXX_Unmarshal(b []byte) error {
@@ -1785,7 +1877,7 @@
func (m *ParamFaceCompare) String() string { return proto.CompactTextString(m) }
func (*ParamFaceCompare) ProtoMessage()    {}
func (*ParamFaceCompare) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{23}
   return fileDescriptor_32de24555f916688, []int{24}
}
func (m *ParamFaceCompare) XXX_Unmarshal(b []byte) error {
@@ -1833,7 +1925,7 @@
func (m *ParamFaceProperty) String() string { return proto.CompactTextString(m) }
func (*ParamFaceProperty) ProtoMessage()    {}
func (*ParamFaceProperty) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{24}
   return fileDescriptor_32de24555f916688, []int{25}
}
func (m *ParamFaceProperty) XXX_Unmarshal(b []byte) error {
@@ -1881,7 +1973,7 @@
func (m *ParamYoloObj) String() string { return proto.CompactTextString(m) }
func (*ParamYoloObj) ProtoMessage()    {}
func (*ParamYoloObj) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{25}
   return fileDescriptor_32de24555f916688, []int{26}
}
func (m *ParamYoloObj) XXX_Unmarshal(b []byte) error {
@@ -1916,56 +2008,358 @@
   return nil
}
//广播消息
type PublishMessage struct {
//publish db change message
type DbChangeMessage struct {
   Table                TableChanged `protobuf:"varint,1,opt,name=table,proto3,enum=protomsg.TableChanged" json:"table,omitempty"`
   Id                   string       `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
   Action               DbAction     `protobuf:"varint,3,opt,name=action,proto3,enum=protomsg.DbAction" json:"action,omitempty"`
   Info                 string       `protobuf:"bytes,4,opt,name=info,proto3" json:"info,omitempty"`
   XXX_NoUnkeyedLiteral struct{}     `json:"-"`
   XXX_unrecognized     []byte       `json:"-"`
   XXX_sizecache        int32        `json:"-"`
}
func (m *PublishMessage) Reset()         { *m = PublishMessage{} }
func (m *PublishMessage) String() string { return proto.CompactTextString(m) }
func (*PublishMessage) ProtoMessage()    {}
func (*PublishMessage) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{26}
func (m *DbChangeMessage) Reset()         { *m = DbChangeMessage{} }
func (m *DbChangeMessage) String() string { return proto.CompactTextString(m) }
func (*DbChangeMessage) ProtoMessage()    {}
func (*DbChangeMessage) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{27}
}
func (m *PublishMessage) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_PublishMessage.Unmarshal(m, b)
func (m *DbChangeMessage) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_DbChangeMessage.Unmarshal(m, b)
}
func (m *PublishMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_PublishMessage.Marshal(b, m, deterministic)
func (m *DbChangeMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_DbChangeMessage.Marshal(b, m, deterministic)
}
func (m *PublishMessage) XXX_Merge(src proto.Message) {
   xxx_messageInfo_PublishMessage.Merge(m, src)
func (m *DbChangeMessage) XXX_Merge(src proto.Message) {
   xxx_messageInfo_DbChangeMessage.Merge(m, src)
}
func (m *PublishMessage) XXX_Size() int {
   return xxx_messageInfo_PublishMessage.Size(m)
func (m *DbChangeMessage) XXX_Size() int {
   return xxx_messageInfo_DbChangeMessage.Size(m)
}
func (m *PublishMessage) XXX_DiscardUnknown() {
   xxx_messageInfo_PublishMessage.DiscardUnknown(m)
func (m *DbChangeMessage) XXX_DiscardUnknown() {
   xxx_messageInfo_DbChangeMessage.DiscardUnknown(m)
}
var xxx_messageInfo_PublishMessage proto.InternalMessageInfo
var xxx_messageInfo_DbChangeMessage proto.InternalMessageInfo
func (m *PublishMessage) GetTable() TableChanged {
func (m *DbChangeMessage) GetTable() TableChanged {
   if m != nil {
      return m.Table
   }
   return TableChanged_T_Camera
}
func (m *PublishMessage) GetInfo() string {
func (m *DbChangeMessage) GetId() string {
   if m != nil {
      return m.Id
   }
   return ""
}
func (m *DbChangeMessage) GetAction() DbAction {
   if m != nil {
      return m.Action
   }
   return DbAction_Insert
}
func (m *DbChangeMessage) GetInfo() string {
   if m != nil {
      return m.Info
   }
   return ""
}
type CameraPolygon struct {
   Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   CameraId             string   `protobuf:"bytes,2,opt,name=camera_id,json=cameraId,proto3" json:"camera_id,omitempty"`
   Name                 string   `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
   Polygon              string   `protobuf:"bytes,4,opt,name=polygon,proto3" json:"polygon,omitempty"`
   TriggerLine          string   `protobuf:"bytes,5,opt,name=trigger_line,json=triggerLine,proto3" json:"trigger_line,omitempty"`
   DirectionLine        string   `protobuf:"bytes,6,opt,name=direction_line,json=directionLine,proto3" json:"direction_line,omitempty"`
   Type                 string   `protobuf:"bytes,7,opt,name=type,proto3" json:"type,omitempty"`
   DefenceState         int32    `protobuf:"varint,8,opt,name=defence_state,json=defenceState,proto3" json:"defence_state,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *CameraPolygon) Reset()         { *m = CameraPolygon{} }
func (m *CameraPolygon) String() string { return proto.CompactTextString(m) }
func (*CameraPolygon) ProtoMessage()    {}
func (*CameraPolygon) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{28}
}
func (m *CameraPolygon) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_CameraPolygon.Unmarshal(m, b)
}
func (m *CameraPolygon) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_CameraPolygon.Marshal(b, m, deterministic)
}
func (m *CameraPolygon) XXX_Merge(src proto.Message) {
   xxx_messageInfo_CameraPolygon.Merge(m, src)
}
func (m *CameraPolygon) XXX_Size() int {
   return xxx_messageInfo_CameraPolygon.Size(m)
}
func (m *CameraPolygon) XXX_DiscardUnknown() {
   xxx_messageInfo_CameraPolygon.DiscardUnknown(m)
}
var xxx_messageInfo_CameraPolygon proto.InternalMessageInfo
func (m *CameraPolygon) GetId() string {
   if m != nil {
      return m.Id
   }
   return ""
}
func (m *CameraPolygon) GetCameraId() string {
   if m != nil {
      return m.CameraId
   }
   return ""
}
func (m *CameraPolygon) GetName() string {
   if m != nil {
      return m.Name
   }
   return ""
}
func (m *CameraPolygon) GetPolygon() string {
   if m != nil {
      return m.Polygon
   }
   return ""
}
func (m *CameraPolygon) GetTriggerLine() string {
   if m != nil {
      return m.TriggerLine
   }
   return ""
}
func (m *CameraPolygon) GetDirectionLine() string {
   if m != nil {
      return m.DirectionLine
   }
   return ""
}
func (m *CameraPolygon) GetType() string {
   if m != nil {
      return m.Type
   }
   return ""
}
func (m *CameraPolygon) GetDefenceState() int32 {
   if m != nil {
      return m.DefenceState
   }
   return 0
}
type CameraTaskArg struct {
   Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   CameraTaskId         string   `protobuf:"bytes,2,opt,name=camera_task_id,json=cameraTaskId,proto3" json:"camera_task_id,omitempty"`
   CameraId             string   `protobuf:"bytes,3,opt,name=camera_id,json=cameraId,proto3" json:"camera_id,omitempty"`
   PolygonId            string   `protobuf:"bytes,4,opt,name=polygon_id,json=polygonId,proto3" json:"polygon_id,omitempty"`
   SdkId                string   `protobuf:"bytes,5,opt,name=sdk_id,json=sdkId,proto3" json:"sdk_id,omitempty"`
   SdkArgAlias          string   `protobuf:"bytes,6,opt,name=sdk_arg_alias,json=sdkArgAlias,proto3" json:"sdk_arg_alias,omitempty"`
   Operator             string   `protobuf:"bytes,7,opt,name=operator,proto3" json:"operator,omitempty"`
   OperatorType         string   `protobuf:"bytes,8,opt,name=operator_type,json=operatorType,proto3" json:"operator_type,omitempty"`
   SdkArgValue          string   `protobuf:"bytes,9,opt,name=sdk_arg_value,json=sdkArgValue,proto3" json:"sdk_arg_value,omitempty"`
   Sort                 int32    `protobuf:"varint,10,opt,name=sort,proto3" json:"sort,omitempty"`
   RuleWithPre          string   `protobuf:"bytes,11,opt,name=rule_with_pre,json=ruleWithPre,proto3" json:"rule_with_pre,omitempty"`
   GroupId              string   `protobuf:"bytes,12,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *CameraTaskArg) Reset()         { *m = CameraTaskArg{} }
func (m *CameraTaskArg) String() string { return proto.CompactTextString(m) }
func (*CameraTaskArg) ProtoMessage()    {}
func (*CameraTaskArg) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{29}
}
func (m *CameraTaskArg) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_CameraTaskArg.Unmarshal(m, b)
}
func (m *CameraTaskArg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_CameraTaskArg.Marshal(b, m, deterministic)
}
func (m *CameraTaskArg) XXX_Merge(src proto.Message) {
   xxx_messageInfo_CameraTaskArg.Merge(m, src)
}
func (m *CameraTaskArg) XXX_Size() int {
   return xxx_messageInfo_CameraTaskArg.Size(m)
}
func (m *CameraTaskArg) XXX_DiscardUnknown() {
   xxx_messageInfo_CameraTaskArg.DiscardUnknown(m)
}
var xxx_messageInfo_CameraTaskArg proto.InternalMessageInfo
func (m *CameraTaskArg) GetId() string {
   if m != nil {
      return m.Id
   }
   return ""
}
func (m *CameraTaskArg) GetCameraTaskId() string {
   if m != nil {
      return m.CameraTaskId
   }
   return ""
}
func (m *CameraTaskArg) GetCameraId() string {
   if m != nil {
      return m.CameraId
   }
   return ""
}
func (m *CameraTaskArg) GetPolygonId() string {
   if m != nil {
      return m.PolygonId
   }
   return ""
}
func (m *CameraTaskArg) GetSdkId() string {
   if m != nil {
      return m.SdkId
   }
   return ""
}
func (m *CameraTaskArg) GetSdkArgAlias() string {
   if m != nil {
      return m.SdkArgAlias
   }
   return ""
}
func (m *CameraTaskArg) GetOperator() string {
   if m != nil {
      return m.Operator
   }
   return ""
}
func (m *CameraTaskArg) GetOperatorType() string {
   if m != nil {
      return m.OperatorType
   }
   return ""
}
func (m *CameraTaskArg) GetSdkArgValue() string {
   if m != nil {
      return m.SdkArgValue
   }
   return ""
}
func (m *CameraTaskArg) GetSort() int32 {
   if m != nil {
      return m.Sort
   }
   return 0
}
func (m *CameraTaskArg) GetRuleWithPre() string {
   if m != nil {
      return m.RuleWithPre
   }
   return ""
}
func (m *CameraTaskArg) GetGroupId() string {
   if m != nil {
      return m.GroupId
   }
   return ""
}
type CameraTimeRule struct {
   Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   CameraId             string   `protobuf:"bytes,2,opt,name=camera_id,json=cameraId,proto3" json:"camera_id,omitempty"`
   Name                 string   `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
   TimeRule             string   `protobuf:"bytes,4,opt,name=time_rule,json=timeRule,proto3" json:"time_rule,omitempty"`
   XXX_NoUnkeyedLiteral struct{} `json:"-"`
   XXX_unrecognized     []byte   `json:"-"`
   XXX_sizecache        int32    `json:"-"`
}
func (m *CameraTimeRule) Reset()         { *m = CameraTimeRule{} }
func (m *CameraTimeRule) String() string { return proto.CompactTextString(m) }
func (*CameraTimeRule) ProtoMessage()    {}
func (*CameraTimeRule) Descriptor() ([]byte, []int) {
   return fileDescriptor_32de24555f916688, []int{30}
}
func (m *CameraTimeRule) XXX_Unmarshal(b []byte) error {
   return xxx_messageInfo_CameraTimeRule.Unmarshal(m, b)
}
func (m *CameraTimeRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   return xxx_messageInfo_CameraTimeRule.Marshal(b, m, deterministic)
}
func (m *CameraTimeRule) XXX_Merge(src proto.Message) {
   xxx_messageInfo_CameraTimeRule.Merge(m, src)
}
func (m *CameraTimeRule) XXX_Size() int {
   return xxx_messageInfo_CameraTimeRule.Size(m)
}
func (m *CameraTimeRule) XXX_DiscardUnknown() {
   xxx_messageInfo_CameraTimeRule.DiscardUnknown(m)
}
var xxx_messageInfo_CameraTimeRule proto.InternalMessageInfo
func (m *CameraTimeRule) GetId() string {
   if m != nil {
      return m.Id
   }
   return ""
}
func (m *CameraTimeRule) GetCameraId() string {
   if m != nil {
      return m.CameraId
   }
   return ""
}
func (m *CameraTimeRule) GetName() string {
   if m != nil {
      return m.Name
   }
   return ""
}
func (m *CameraTimeRule) GetTimeRule() string {
   if m != nil {
      return m.TimeRule
   }
   return ""
}
func init() {
   proto.RegisterEnum("protomsg.TableChanged", TableChanged_name, TableChanged_value)
   proto.RegisterEnum("protomsg.DbAction", DbAction_name, DbAction_value)
   proto.RegisterType((*TaskLabel)(nil), "protomsg.TaskLabel")
   proto.RegisterType((*SdkMessage)(nil), "protomsg.SdkMessage")
   proto.RegisterType((*Image)(nil), "protomsg.Image")
@@ -1975,6 +2369,7 @@
   proto.RegisterType((*Task)(nil), "protomsg.Task")
   proto.RegisterType((*TaskSdkInfo)(nil), "protomsg.TaskSdkInfo")
   proto.RegisterType((*CameraTask)(nil), "protomsg.CameraTask")
   proto.RegisterType((*CameraTimerule)(nil), "protomsg.CameraTimerule")
   proto.RegisterType((*DayCtl)(nil), "protomsg.DayCtl")
   proto.RegisterType((*TimeRange)(nil), "protomsg.TimeRange")
   proto.RegisterType((*Polygon)(nil), "protomsg.Polygon")
@@ -1992,117 +2387,133 @@
   proto.RegisterType((*ParamFaceCompare)(nil), "protomsg.ParamFaceCompare")
   proto.RegisterType((*ParamFaceProperty)(nil), "protomsg.ParamFaceProperty")
   proto.RegisterType((*ParamYoloObj)(nil), "protomsg.ParamYoloObj")
   proto.RegisterType((*PublishMessage)(nil), "protomsg.PublishMessage")
   proto.RegisterType((*DbChangeMessage)(nil), "protomsg.DbChangeMessage")
   proto.RegisterType((*CameraPolygon)(nil), "protomsg.CameraPolygon")
   proto.RegisterType((*CameraTaskArg)(nil), "protomsg.CameraTaskArg")
   proto.RegisterType((*CameraTimeRule)(nil), "protomsg.CameraTimeRule")
}
func init() { proto.RegisterFile("protomsg.proto", fileDescriptor_32de24555f916688) }
var fileDescriptor_32de24555f916688 = []byte{
   // 1687 bytes of a gzipped FileDescriptorProto
   0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x57, 0xcd, 0x72, 0xe4, 0x48,
   0x11, 0xa6, 0xff, 0x5b, 0xe9, 0x76, 0xd3, 0x53, 0x0c, 0x4b, 0xef, 0xf2, 0xe7, 0xd1, 0x38, 0x58,
   0x03, 0xcb, 0x12, 0x78, 0xef, 0x44, 0x98, 0x19, 0x86, 0x70, 0xc4, 0xee, 0xac, 0x29, 0x9b, 0x21,
   0xd8, 0x4b, 0x47, 0xb5, 0xaa, 0x5a, 0xad, 0x75, 0xb5, 0x24, 0xaa, 0x4a, 0x63, 0xeb, 0xc0, 0x8d,
   0xb7, 0xe1, 0x45, 0x38, 0xf0, 0x0e, 0x9c, 0xb8, 0xf0, 0x02, 0x5c, 0x89, 0xcc, 0x2a, 0xa9, 0xd5,
   0x63, 0x6f, 0xc4, 0x44, 0x70, 0xe5, 0x96, 0x7f, 0xca, 0xca, 0xfa, 0xf2, 0xa7, 0x52, 0x30, 0x2f,
   0x4d, 0xe1, 0x8a, 0x9d, 0x4d, 0x3f, 0x25, 0x82, 0x4d, 0x1b, 0x3e, 0xfe, 0x3d, 0x44, 0x37, 0xc2,
   0xde, 0x7e, 0x2e, 0xd6, 0x4a, 0xb3, 0x0f, 0x60, 0xec, 0x84, 0xbd, 0xcd, 0xe4, 0xb2, 0x77, 0xd2,
   0x3b, 0x8b, 0x78, 0xe0, 0x50, 0x6e, 0xe5, 0x6d, 0x26, 0xed, 0xb2, 0x7f, 0x32, 0x40, 0xb9, 0xe7,
   0xd8, 0x53, 0x18, 0x65, 0xb9, 0x54, 0xf7, 0xcb, 0xc1, 0x49, 0xef, 0x6c, 0xc4, 0x3d, 0x13, 0x0b,
   0x80, 0x6b, 0x79, 0xfb, 0x85, 0xb2, 0x56, 0xa4, 0x8a, 0x2d, 0x60, 0x90, 0xb4, 0x0e, 0x91, 0x64,
   0xbf, 0x80, 0x09, 0xfa, 0xd5, 0x62, 0xbd, 0xec, 0x9f, 0xf4, 0xce, 0x8e, 0xce, 0xbf, 0xf3, 0x69,
   0x1b, 0x5e, 0x1b, 0x0b, 0x6f, 0x6c, 0x18, 0x83, 0xa1, 0x14, 0x4e, 0xd0, 0x19, 0x33, 0x4e, 0x74,
   0x7c, 0x09, 0xa3, 0xcb, 0x1d, 0x7a, 0x7f, 0x0a, 0xa3, 0xbb, 0x4c, 0xba, 0x2d, 0xf9, 0x1f, 0x71,
   0xcf, 0x60, 0xbc, 0x5b, 0x95, 0xa5, 0x5b, 0x47, 0x07, 0x8c, 0x78, 0xe0, 0x1e, 0x75, 0xf5, 0x0a,
   0x86, 0x17, 0x46, 0x09, 0x36, 0x87, 0x7e, 0x08, 0x73, 0xc4, 0xfb, 0x99, 0x64, 0x1f, 0xc1, 0xb4,
   0x14, 0x46, 0xe5, 0x2e, 0x93, 0xc1, 0x4b, 0xcb, 0xa3, 0x9f, 0x5c, 0xec, 0x14, 0xf9, 0x89, 0x38,
   0xd1, 0xf1, 0xdf, 0xfb, 0x30, 0x7e, 0x21, 0x76, 0xca, 0x74, 0x5d, 0x45, 0xe4, 0xaa, 0x31, 0xef,
   0xef, 0xcd, 0x51, 0xe6, 0xea, 0x52, 0x05, 0xe4, 0x88, 0x46, 0x99, 0x90, 0xd2, 0x2c, 0x87, 0xde,
   0x0e, 0x69, 0xbc, 0x8a, 0x30, 0x4a, 0x64, 0x72, 0x39, 0xf2, 0x57, 0xf1, 0x1c, 0xfb, 0x01, 0x44,
   0xba, 0xc8, 0xd3, 0xcc, 0x55, 0x52, 0x2d, 0xc7, 0x27, 0xbd, 0xb3, 0x3e, 0xdf, 0x0b, 0x30, 0x78,
   0x2d, 0x9c, 0x57, 0x4e, 0x48, 0xd9, 0xf2, 0x78, 0x8a, 0x71, 0xb6, 0x5c, 0x4e, 0xfd, 0x29, 0x48,
   0x53, 0xc4, 0xe5, 0x32, 0x0a, 0x11, 0x97, 0x68, 0x53, 0x16, 0xc6, 0x2d, 0xc1, 0x47, 0x87, 0x34,
   0xfa, 0xac, 0xac, 0x32, 0x74, 0x93, 0x23, 0xb2, 0x6c, 0x79, 0x0f, 0x96, 0xb5, 0x77, 0x85, 0x91,
   0xcb, 0x99, 0xd7, 0x35, 0x3c, 0xa6, 0x68, 0x6d, 0x44, 0x2e, 0x97, 0xc7, 0xa4, 0xf0, 0x0c, 0x7e,
   0x61, 0x94, 0x55, 0xe6, 0xad, 0x92, 0xcb, 0xb9, 0xff, 0xa2, 0xe1, 0xe3, 0x04, 0x9e, 0x78, 0x24,
   0x2f, 0x72, 0x89, 0x05, 0x71, 0x99, 0x6f, 0x0a, 0x76, 0x06, 0xe3, 0x84, 0x84, 0x04, 0xec, 0xd1,
   0xf9, 0x62, 0x5f, 0x34, 0xde, 0x98, 0x07, 0x3d, 0x3b, 0x85, 0x11, 0xd6, 0x8e, 0x2f, 0xd6, 0xa3,
   0xf3, 0xf9, 0x61, 0x75, 0x71, 0xaf, 0x8c, 0xff, 0xd9, 0x83, 0x21, 0xf2, 0xdf, 0x58, 0xf4, 0x1f,
   0xc1, 0x14, 0xa9, 0x4e, 0xe6, 0x5a, 0x9e, 0x7d, 0x1f, 0xa2, 0xc4, 0x28, 0xe1, 0xd4, 0x4a, 0xb8,
   0x50, 0x05, 0x53, 0x2f, 0xb8, 0x70, 0x1d, 0xe5, 0xba, 0x0e, 0xb9, 0x0c, 0xca, 0xdf, 0xd4, 0xa8,
   0xac, 0x4a, 0x19, 0xbe, 0x1c, 0x05, 0x18, 0x49, 0x70, 0xe1, 0x30, 0x14, 0x95, 0x8b, 0xb5, 0xf6,
   0x19, 0x9d, 0xf2, 0xc0, 0xb1, 0x0f, 0x61, 0x9a, 0xd9, 0x95, 0xd0, 0xc2, 0xec, 0x28, 0x9d, 0x53,
   0x3e, 0xc9, 0xec, 0x05, 0xb2, 0xa8, 0x92, 0x4a, 0xaf, 0x36, 0x5a, 0xa4, 0x94, 0xd1, 0x29, 0x9f,
   0x48, 0xa5, 0x5f, 0x69, 0x91, 0xc6, 0x37, 0x70, 0x84, 0x17, 0xbc, 0x96, 0x1e, 0xc0, 0x18, 0x86,
   0x18, 0x7f, 0x80, 0xef, 0x5d, 0x54, 0x48, 0xc7, 0x9e, 0xc1, 0xd0, 0xca, 0x16, 0xb9, 0xe3, 0xbd,
   0xcd, 0xb5, 0xbc, 0xe5, 0xa4, 0x8a, 0xff, 0xdd, 0x07, 0xf0, 0x80, 0x13, 0x7a, 0xef, 0xd6, 0xfa,
   0x0f, 0x01, 0x7c, 0x1a, 0x56, 0x7e, 0x5c, 0xa0, 0x3c, 0xf2, 0x92, 0x4b, 0x69, 0xd9, 0xf7, 0x7c,
   0xef, 0xaf, 0x32, 0x19, 0x60, 0x23, 0xb4, 0x2f, 0x71, 0x28, 0x44, 0x2e, 0xdb, 0xa9, 0x95, 0xa9,
   0xb4, 0x5a, 0x0e, 0xe9, 0xf8, 0x4e, 0x86, 0x5f, 0x8a, 0xfa, 0x85, 0xd3, 0x7c, 0x8a, 0x26, 0xbc,
   0xd2, 0x0a, 0x8f, 0x31, 0x4a, 0x24, 0xce, 0xdb, 0x7b, 0x1c, 0x23, 0x92, 0x90, 0xfa, 0x19, 0xcc,
   0xbc, 0x5a, 0xaa, 0xb7, 0x59, 0xe2, 0xe1, 0x8c, 0xf8, 0x11, 0xc9, 0x5e, 0x92, 0xe8, 0x00, 0xb8,
   0xc9, 0x01, 0x70, 0xec, 0xc7, 0x70, 0x14, 0x72, 0xd4, 0x81, 0x15, 0xbc, 0x88, 0x0c, 0xf6, 0x79,
   0x8a, 0x0e, 0xf2, 0xc4, 0x60, 0x68, 0x3b, 0x6d, 0x83, 0x34, 0xde, 0x38, 0xb3, 0xab, 0x4d, 0xa5,
   0x35, 0x75, 0xcd, 0x94, 0x8f, 0x33, 0xfb, 0xaa, 0xd2, 0x9a, 0xc5, 0x70, 0xac, 0xb3, 0xfc, 0x76,
   0x95, 0x9a, 0xa2, 0x2a, 0x11, 0x10, 0xdf, 0x38, 0x47, 0x28, 0xfc, 0x1d, 0xca, 0x2e, 0x65, 0xfc,
   0x1a, 0xc6, 0xfe, 0xea, 0x38, 0x46, 0xa5, 0xa8, 0xc3, 0x7c, 0x42, 0x92, 0x9d, 0x03, 0x78, 0xc4,
   0x44, 0x9e, 0xaa, 0x90, 0xb1, 0xee, 0x24, 0x45, 0xa8, 0x50, 0xc5, 0x09, 0x58, 0x22, 0xe3, 0xcf,
   0x20, 0x6a, 0xe5, 0xd8, 0x98, 0xd6, 0x09, 0xe3, 0x42, 0xf6, 0x3c, 0x83, 0x07, 0xa9, 0x5c, 0x86,
   0xcc, 0x21, 0x19, 0xbf, 0x81, 0xc9, 0x55, 0xa1, 0xeb, 0xb4, 0xc8, 0xdf, 0x6b, 0xb2, 0x7d, 0x0c,
   0xe3, 0xb2, 0xc8, 0x72, 0x67, 0x43, 0x1a, 0xbf, 0xbd, 0x8f, 0xe9, 0x0a, 0xe5, 0x3c, 0xa8, 0xe3,
   0xff, 0xf4, 0x61, 0xbe, 0xaf, 0xa4, 0x0b, 0x93, 0xda, 0x07, 0xfe, 0x4f, 0x61, 0x1e, 0xaa, 0xa9,
   0xa9, 0x1a, 0x7f, 0xd2, 0x2c, 0x69, 0xbf, 0xbb, 0x94, 0xd4, 0x70, 0x4d, 0xcd, 0xb5, 0xdd, 0x18,
   0x4a, 0x0e, 0x2b, 0xa5, 0xf4, 0xd1, 0xa3, 0xd6, 0xb7, 0x63, 0x14, 0x24, 0x97, 0x92, 0x7d, 0x97,
   0x9e, 0xb6, 0x55, 0x98, 0xaf, 0x88, 0x82, 0x44, 0x97, 0x31, 0x1c, 0xa3, 0x58, 0x98, 0x74, 0x25,
   0x74, 0x26, 0x6c, 0x53, 0x41, 0x56, 0x62, 0xa0, 0x17, 0x28, 0xc2, 0x01, 0x51, 0x94, 0xca, 0x08,
   0x57, 0x18, 0xaa, 0xa0, 0x88, 0xb7, 0x3c, 0x7b, 0x0e, 0xc7, 0x0d, 0xbd, 0xa2, 0x39, 0xef, 0xa7,
   0xed, 0xac, 0x11, 0xde, 0xe0, 0xbc, 0xef, 0x1c, 0xf2, 0x56, 0xe8, 0x4a, 0x85, 0x01, 0x1c, 0x0e,
   0x79, 0x83, 0xa2, 0x47, 0x4b, 0xea, 0x14, 0xe6, 0x58, 0xf6, 0xab, 0xbb, 0xcc, 0x6d, 0x57, 0xb9,
   0xba, 0x77, 0x61, 0x1e, 0xcf, 0x50, 0xfa, 0xc7, 0xcc, 0x6d, 0x5f, 0xab, 0x7b, 0x87, 0x05, 0xfe,
   0x4e, 0x69, 0x4d, 0xd2, 0x50, 0x56, 0x7f, 0xeb, 0xc3, 0xe0, 0x5a, 0x3e, 0x6c, 0xde, 0x0f, 0x61,
   0x8a, 0x01, 0x51, 0xc0, 0x1e, 0xe8, 0x89, 0x95, 0xb7, 0x14, 0x6b, 0x50, 0x75, 0x9e, 0x3d, 0x54,
   0xbd, 0xc6, 0x84, 0x9f, 0xc2, 0x50, 0x98, 0xd4, 0x3e, 0xec, 0xda, 0x6b, 0xba, 0x07, 0x27, 0x2d,
   0x5e, 0x24, 0x4b, 0x8a, 0x3c, 0xc0, 0x4c, 0x34, 0xd6, 0x5a, 0x65, 0x74, 0xc0, 0x16, 0x49, 0x6c,
   0xbd, 0x30, 0x3b, 0xb1, 0x68, 0x03, 0xac, 0xe0, 0x45, 0x58, 0xb9, 0x9d, 0xde, 0x24, 0x03, 0x0f,
   0x6b, 0xe8, 0x4d, 0x32, 0x38, 0x98, 0xbe, 0xd1, 0x3b, 0xd3, 0x77, 0x09, 0x13, 0xdf, 0xaa, 0x92,
   0x00, 0x8d, 0x78, 0xc3, 0x1e, 0x8c, 0x03, 0x8f, 0x66, 0x3b, 0x47, 0xff, 0xda, 0x83, 0xb1, 0xbf,
   0x0a, 0xb6, 0x8c, 0x2f, 0x07, 0x8f, 0x8e, 0x67, 0x1e, 0x5b, 0x07, 0xda, 0xf7, 0x3d, 0xbc, 0xe5,
   0xcd, 0xfb, 0xbe, 0xab, 0xac, 0x1f, 0xfb, 0x53, 0x4e, 0x34, 0x7a, 0xf4, 0x0d, 0xec, 0x41, 0xf0,
   0x4c, 0x9b, 0xf5, 0xc9, 0x3e, 0xeb, 0xf1, 0x73, 0x18, 0x51, 0xff, 0xb0, 0x19, 0xf4, 0xee, 0xc3,
   0x20, 0xe8, 0xdd, 0x23, 0x57, 0x87, 0x05, 0xa5, 0x57, 0xc7, 0x5f, 0xc1, 0x90, 0xab, 0x84, 0x36,
   0x1d, 0xad, 0x36, 0x2e, 0x98, 0x11, 0x8d, 0x68, 0xbb, 0xa2, 0x0c, 0xb6, 0x48, 0xd2, 0xe1, 0xb4,
   0x26, 0x85, 0xfd, 0x8d, 0x18, 0x9c, 0x6e, 0xeb, 0xc2, 0xb9, 0x62, 0x47, 0xc1, 0x8f, 0x78, 0xe0,
   0xe2, 0x14, 0xa2, 0x57, 0x22, 0x51, 0x17, 0x79, 0xaa, 0x69, 0xad, 0xab, 0xc5, 0x5d, 0x33, 0x8f,
   0x6a, 0x71, 0x87, 0xce, 0xca, 0xcc, 0x25, 0xdb, 0x70, 0x80, 0x67, 0x68, 0xdb, 0x28, 0xb4, 0x6e,
   0xf6, 0x1c, 0xa4, 0xd9, 0x8f, 0x00, 0x92, 0x22, 0xdf, 0x64, 0x52, 0xe5, 0x89, 0x47, 0xa8, 0xcf,
   0x3b, 0x92, 0xf8, 0x1e, 0xe0, 0x66, 0xbb, 0x71, 0x5c, 0xd9, 0x4a, 0x53, 0x38, 0xa9, 0xca, 0xa5,
   0x32, 0xe1, 0xb0, 0xc0, 0x61, 0x04, 0x22, 0x55, 0xcd, 0x75, 0x84, 0x47, 0xcd, 0x88, 0xa4, 0xdd,
   0xa9, 0x90, 0xa6, 0xcb, 0x28, 0x51, 0xb9, 0xba, 0xbd, 0x0c, 0x71, 0x34, 0xfc, 0x76, 0x59, 0x78,
   0x3b, 0x46, 0xdc, 0x33, 0xf1, 0x3f, 0xfa, 0x30, 0xc1, 0x3b, 0x5e, 0x15, 0x96, 0xfd, 0x04, 0xc6,
   0x26, 0x41, 0xe6, 0xe1, 0x8b, 0x89, 0x10, 0xf3, 0xa0, 0xc5, 0x97, 0xab, 0x74, 0x9f, 0xab, 0x8d,
   0xfb, 0x6d, 0xad, 0xc2, 0x42, 0xfb, 0x60, 0xe4, 0xed, 0x2d, 0xd8, 0x2f, 0x01, 0x4a, 0xc7, 0x11,
   0x68, 0xb4, 0x1f, 0x3c, 0x6e, 0xdf, 0x31, 0x61, 0x3f, 0x85, 0x49, 0xe9, 0xbe, 0x28, 0x2a, 0xb7,
   0xa5, 0x2b, 0x3c, 0x62, 0xdd, 0xe8, 0x69, 0xf4, 0xba, 0xd7, 0x85, 0xf5, 0xb7, 0x7a, 0x74, 0xf4,
   0x92, 0x9a, 0xfd, 0x1c, 0xc6, 0x1b, 0xca, 0x23, 0x95, 0xdd, 0xc1, 0xbb, 0xd1, 0xa6, 0x98, 0x07,
   0x13, 0x6c, 0x9a, 0x3f, 0x57, 0x42, 0x67, 0xae, 0x0e, 0xf5, 0xd8, 0xb0, 0x98, 0xc8, 0x8d, 0x48,
   0x32, 0xa1, 0x5f, 0xe2, 0x56, 0x3d, 0xa5, 0xad, 0xba, 0x23, 0x89, 0xff, 0xd5, 0x87, 0x29, 0xfa,
   0xa3, 0xfd, 0xe3, 0xff, 0x78, 0xfe, 0xaf, 0x78, 0x62, 0x31, 0x6f, 0x10, 0xce, 0x97, 0x34, 0xd8,
   0x06, 0x3c, 0x70, 0xf1, 0x1f, 0x60, 0xf2, 0xe5, 0xfa, 0x6b, 0x42, 0xf9, 0x14, 0x46, 0x26, 0xf9,
   0x72, 0xfd, 0xf5, 0x37, 0x80, 0xec, 0x95, 0x34, 0x0a, 0xea, 0xfd, 0x28, 0xa8, 0xfd, 0xc6, 0x6f,
   0x8a, 0x35, 0x01, 0xd8, 0xe7, 0x44, 0xc7, 0x6f, 0x60, 0x76, 0x25, 0x8c, 0xd8, 0x35, 0x1d, 0xf1,
   0x1c, 0x06, 0x65, 0x61, 0x83, 0xe7, 0x27, 0x87, 0x57, 0xbc, 0x2a, 0x2c, 0x47, 0x2d, 0x7b, 0x06,
   0x83, 0x6c, 0x97, 0x3e, 0x4c, 0x1c, 0xfd, 0xaf, 0x71, 0xd4, 0xc5, 0xbf, 0x86, 0x45, 0xeb, 0xf7,
   0x45, 0xb1, 0xc3, 0xdf, 0x2a, 0xec, 0xc7, 0x8d, 0x12, 0xee, 0x57, 0xe4, 0x7d, 0xc6, 0x3d, 0xd3,
   0x48, 0xcf, 0xc9, 0x5d, 0x90, 0x9e, 0xc7, 0x12, 0x9e, 0xec, 0xe3, 0x32, 0xf8, 0xa4, 0xba, 0x9a,
   0x7d, 0x02, 0x63, 0x43, 0x03, 0x23, 0xc4, 0xf7, 0xb4, 0xb3, 0x0a, 0xb5, 0xc3, 0x84, 0x07, 0x9b,
   0xf7, 0x89, 0xf2, 0xab, 0x70, 0xfb, 0x3f, 0x15, 0xba, 0x40, 0xcc, 0x3e, 0xc6, 0x9f, 0xdd, 0x0d,
   0xdd, 0x7f, 0x70, 0x78, 0xff, 0x80, 0x3d, 0xf7, 0xfa, 0xf7, 0xf1, 0xcd, 0x61, 0x7e, 0x55, 0xad,
   0x75, 0x66, 0xb7, 0xcd, 0x6f, 0xf2, 0x27, 0xf8, 0xd3, 0x82, 0x1b, 0x25, 0x46, 0x3f, 0x3f, 0xff,
   0xa0, 0xbb, 0x9e, 0xaf, 0xb5, 0x7a, 0xb1, 0xc5, 0x77, 0x41, 0x72, 0x6f, 0x44, 0x8f, 0x69, 0xbe,
   0x29, 0x9a, 0xd7, 0x05, 0xe9, 0x9f, 0xfd, 0x05, 0x66, 0x5d, 0x53, 0x36, 0x83, 0xe9, 0xcd, 0xca,
   0xef, 0x57, 0x8b, 0x6f, 0xb1, 0x05, 0xcc, 0x1a, 0x0e, 0xb7, 0xa6, 0x45, 0x8f, 0x3d, 0x85, 0x45,
   0x57, 0x82, 0xfb, 0xd7, 0xa2, 0xcf, 0x00, 0xc6, 0x37, 0x2b, 0xb2, 0x18, 0xb0, 0x63, 0x88, 0x3c,
   0x7d, 0x2d, 0x6f, 0x17, 0x43, 0xf6, 0x04, 0x8e, 0x5b, 0x16, 0xb7, 0xec, 0xc5, 0x88, 0x45, 0x30,
   0xba, 0x59, 0xa1, 0x76, 0xbc, 0x1e, 0x53, 0xc0, 0x9f, 0xfd, 0x37, 0x00, 0x00, 0xff, 0xff, 0x0c,
   0x9e, 0x92, 0xde, 0x6b, 0x10, 0x00, 0x00,
   // 1904 bytes of a gzipped FileDescriptorProto
   0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x58, 0xcd, 0x92, 0x23, 0x47,
   0x11, 0xb6, 0x5a, 0xbf, 0x9d, 0xfa, 0xb1, 0xb6, 0x58, 0x8c, 0x6c, 0x63, 0xd8, 0xed, 0x1d, 0xf0,
   0xb0, 0x98, 0x25, 0x18, 0xdf, 0x89, 0x18, 0x76, 0x58, 0x42, 0x11, 0xeb, 0xf5, 0x50, 0x33, 0x5e,
   0x02, 0x5f, 0x3a, 0x4a, 0x5d, 0xa5, 0x56, 0x5b, 0xad, 0xee, 0xa6, 0xba, 0xb4, 0x33, 0x3a, 0x10,
   0xc1, 0x81, 0x3b, 0x0f, 0xc2, 0x8b, 0x70, 0xe0, 0x1d, 0x38, 0x71, 0x21, 0x82, 0x1b, 0x11, 0x5c,
   0x89, 0xcc, 0xaa, 0x6e, 0xb5, 0x66, 0x66, 0x1d, 0xe3, 0xe0, 0xea, 0x5b, 0xfe, 0x29, 0x2b, 0xf3,
   0xab, 0xac, 0xcc, 0x6c, 0xc1, 0xa4, 0xd0, 0xb9, 0xc9, 0x37, 0x65, 0xfc, 0x8c, 0x08, 0x36, 0xa8,
   0xf8, 0xe0, 0xb7, 0xe0, 0x5f, 0x8a, 0x72, 0xfd, 0x52, 0x2c, 0x54, 0xca, 0xde, 0x83, 0x9e, 0x11,
   0xe5, 0x3a, 0x91, 0xb3, 0xd6, 0xa3, 0xd6, 0xb1, 0xcf, 0x1d, 0x87, 0xf2, 0x52, 0xae, 0x13, 0x59,
   0xce, 0xbc, 0x47, 0x6d, 0x94, 0x5b, 0x8e, 0x3d, 0x84, 0x6e, 0x92, 0x49, 0x75, 0x3d, 0x6b, 0x3f,
   0x6a, 0x1d, 0x77, 0xb9, 0x65, 0x02, 0x01, 0x70, 0x21, 0xd7, 0x9f, 0xa9, 0xb2, 0x14, 0xb1, 0x62,
   0x53, 0x68, 0x47, 0xb5, 0x43, 0x24, 0xd9, 0xcf, 0xa0, 0x8f, 0x7e, 0x53, 0xb1, 0x98, 0x79, 0x8f,
   0x5a, 0xc7, 0xc3, 0x93, 0xef, 0x3c, 0xab, 0xc3, 0xab, 0x63, 0xe1, 0x95, 0x0d, 0x63, 0xd0, 0x91,
   0xc2, 0x08, 0x3a, 0x63, 0xc4, 0x89, 0x0e, 0xe6, 0xd0, 0x9d, 0x6f, 0xd0, 0xfb, 0x43, 0xe8, 0x5e,
   0x25, 0xd2, 0xac, 0xc8, 0x7f, 0x97, 0x5b, 0x06, 0xe3, 0x5d, 0xa9, 0x24, 0x5e, 0x19, 0x3a, 0xa0,
   0xcb, 0x1d, 0x77, 0xa7, 0xab, 0x17, 0xd0, 0x39, 0xd5, 0x4a, 0xb0, 0x09, 0x78, 0x2e, 0xcc, 0x2e,
   0xf7, 0x12, 0xc9, 0x3e, 0x80, 0x41, 0x21, 0xb4, 0xca, 0x4c, 0x22, 0x9d, 0x97, 0x9a, 0x47, 0x3f,
   0x99, 0xd8, 0x28, 0xf2, 0xe3, 0x73, 0xa2, 0x83, 0xbf, 0x79, 0xd0, 0x7b, 0x2e, 0x36, 0x4a, 0x37,
   0x5d, 0xf9, 0xe4, 0xaa, 0x32, 0xf7, 0xf6, 0xe6, 0x28, 0x33, 0xbb, 0x42, 0x39, 0xe4, 0x88, 0x46,
   0x99, 0x90, 0x52, 0xcf, 0x3a, 0xd6, 0x0e, 0x69, 0x4c, 0x45, 0x68, 0x25, 0x12, 0x39, 0xeb, 0xda,
   0x54, 0x2c, 0xc7, 0xbe, 0x0f, 0x7e, 0x9a, 0x67, 0x71, 0x62, 0xb6, 0x52, 0xcd, 0x7a, 0x8f, 0x5a,
   0xc7, 0x1e, 0xdf, 0x0b, 0x30, 0xf8, 0x54, 0x18, 0xab, 0xec, 0x93, 0xb2, 0xe6, 0xf1, 0x14, 0x6d,
   0xca, 0x62, 0x36, 0xb0, 0xa7, 0x20, 0x4d, 0x11, 0x17, 0x33, 0xdf, 0x45, 0x5c, 0xa0, 0x4d, 0x91,
   0x6b, 0x33, 0x03, 0x1b, 0x1d, 0xd2, 0xe8, 0x73, 0x5b, 0x2a, 0x4d, 0x99, 0x0c, 0xc9, 0xb2, 0xe6,
   0x2d, 0x58, 0x65, 0x79, 0x95, 0x6b, 0x39, 0x1b, 0x59, 0x5d, 0xc5, 0xe3, 0x15, 0x2d, 0xb4, 0xc8,
   0xe4, 0x6c, 0x4c, 0x0a, 0xcb, 0xe0, 0x2f, 0xb4, 0x2a, 0x95, 0x7e, 0xa3, 0xe4, 0x6c, 0x62, 0x7f,
   0x51, 0xf1, 0x41, 0x04, 0x0f, 0x2c, 0x92, 0xa7, 0x99, 0xc4, 0x82, 0x98, 0x67, 0xcb, 0x9c, 0x1d,
   0x43, 0x2f, 0x22, 0x21, 0x01, 0x3b, 0x3c, 0x99, 0xee, 0x8b, 0xc6, 0x1a, 0x73, 0xa7, 0x67, 0x47,
   0xd0, 0xc5, 0xda, 0xb1, 0xc5, 0x3a, 0x3c, 0x99, 0x1c, 0x56, 0x17, 0xb7, 0xca, 0xe0, 0x1f, 0x2d,
   0xe8, 0x20, 0xff, 0xd6, 0xa2, 0xff, 0x00, 0x06, 0x48, 0x35, 0x6e, 0xae, 0xe6, 0xd9, 0x87, 0xe0,
   0x47, 0x5a, 0x09, 0xa3, 0x42, 0x61, 0x5c, 0x15, 0x0c, 0xac, 0xe0, 0xd4, 0x34, 0x94, 0x8b, 0x9d,
   0xbb, 0x4b, 0xa7, 0xfc, 0xd5, 0x0e, 0x95, 0xdb, 0x42, 0xba, 0x5f, 0x76, 0x1d, 0x8c, 0x24, 0x38,
   0x35, 0x18, 0x8a, 0xca, 0xc4, 0x22, 0xb5, 0x37, 0x3a, 0xe0, 0x8e, 0x63, 0xef, 0xc3, 0x20, 0x29,
   0x43, 0x91, 0x0a, 0xbd, 0xa1, 0xeb, 0x1c, 0xf0, 0x7e, 0x52, 0x9e, 0x22, 0x8b, 0x2a, 0xa9, 0xd2,
   0x70, 0x99, 0x8a, 0x98, 0x6e, 0x74, 0xc0, 0xfb, 0x52, 0xa5, 0x2f, 0x52, 0x11, 0x07, 0x97, 0x30,
   0xc4, 0x04, 0x2f, 0xa4, 0x05, 0x30, 0x80, 0x0e, 0xc6, 0xef, 0xe0, 0xbb, 0x89, 0x0a, 0xe9, 0xd8,
   0x63, 0xe8, 0x94, 0xb2, 0x46, 0x6e, 0xbc, 0xb7, 0xb9, 0x90, 0x6b, 0x4e, 0xaa, 0xe0, 0x5f, 0x1e,
   0x80, 0x05, 0x9c, 0xd0, 0xbb, 0x59, 0xeb, 0x1f, 0x01, 0xd8, 0x6b, 0x08, 0x6d, 0xbb, 0x40, 0xb9,
   0x6f, 0x25, 0x73, 0x59, 0xb2, 0xef, 0xd9, 0xb7, 0x1f, 0x26, 0xd2, 0xc1, 0x46, 0x68, 0xcf, 0xb1,
   0x29, 0xf8, 0x26, 0xd9, 0xa8, 0x50, 0x6f, 0x53, 0x35, 0xeb, 0xd0, 0xf1, 0x8d, 0x1b, 0x3e, 0x13,
   0xbb, 0xe7, 0x26, 0xe5, 0x03, 0x34, 0xe1, 0xdb, 0x54, 0xe1, 0x31, 0x5a, 0x89, 0xc8, 0x58, 0x7b,
   0x8b, 0xa3, 0x4f, 0x12, 0x52, 0x3f, 0x86, 0x91, 0x55, 0x4b, 0xf5, 0x26, 0x89, 0x2c, 0x9c, 0x3e,
   0x1f, 0x92, 0xec, 0x8c, 0x44, 0x07, 0xc0, 0xf5, 0x0f, 0x80, 0x63, 0x3f, 0x84, 0xa1, 0xbb, 0xa3,
   0x06, 0xac, 0x60, 0x45, 0x64, 0xb0, 0xbf, 0x27, 0xff, 0xe0, 0x9e, 0x18, 0x74, 0xca, 0xc6, 0xb3,
   0x41, 0x1a, 0x33, 0x4e, 0xca, 0x70, 0xb9, 0x4d, 0x53, 0x7a, 0x35, 0x03, 0xde, 0x4b, 0xca, 0x17,
   0xdb, 0x34, 0x65, 0x01, 0x8c, 0xd3, 0x24, 0x5b, 0x87, 0xb1, 0xce, 0xb7, 0x05, 0x02, 0x62, 0x1f,
   0xce, 0x10, 0x85, 0xbf, 0x41, 0xd9, 0x5c, 0x06, 0x7f, 0x6a, 0xc1, 0xc4, 0x81, 0x9d, 0x6c, 0x14,
   0xe6, 0x7a, 0xaf, 0xe6, 0x82, 0x15, 0x58, 0x5d, 0x42, 0x5d, 0x9e, 0xee, 0x0e, 0xbe, 0x21, 0xd2,
   0xc1, 0x2b, 0xe8, 0x59, 0x19, 0x76, 0x72, 0x29, 0x76, 0xae, 0x45, 0x22, 0xc9, 0x4e, 0x00, 0xac,
   0x2b, 0x91, 0xc5, 0xca, 0x15, 0x4d, 0xb3, 0x99, 0xa3, 0x0f, 0x54, 0x71, 0x3a, 0x91, 0xc8, 0xe0,
   0x53, 0xf0, 0x6b, 0x39, 0xf6, 0x86, 0xd2, 0x08, 0x6d, 0x5c, 0x3e, 0x96, 0xc1, 0x83, 0x54, 0x26,
   0x5d, 0x46, 0x48, 0x06, 0xaf, 0xa1, 0x7f, 0x9e, 0xa7, 0xbb, 0x38, 0xcf, 0xee, 0x95, 0xff, 0xc7,
   0xd0, 0x2b, 0xf2, 0x24, 0x33, 0xa5, 0xcb, 0xef, 0xdd, 0x7d, 0x4c, 0xe7, 0x28, 0xe7, 0x4e, 0x1d,
   0xfc, 0xd7, 0xab, 0xf1, 0x15, 0xe5, 0xfa, 0x54, 0xc7, 0xe5, 0x2d, 0xff, 0x47, 0x30, 0x71, 0x58,
   0x56, 0x85, 0x6b, 0x4f, 0x1a, 0x45, 0xf5, 0xef, 0xe6, 0xf2, 0xeb, 0x11, 0xff, 0x08, 0xa0, 0xb0,
   0xd1, 0xa3, 0xd6, 0x76, 0x04, 0xdf, 0x49, 0xe6, 0x92, 0x7d, 0x97, 0xa6, 0x6b, 0xe8, 0x5a, 0x3c,
   0xa2, 0x20, 0xd1, 0x65, 0x00, 0x63, 0x14, 0x0b, 0x1d, 0x87, 0x22, 0x4d, 0x44, 0x59, 0x15, 0x71,
   0x29, 0x31, 0xd0, 0x53, 0x14, 0x61, 0x8f, 0xca, 0x0b, 0xa5, 0x85, 0xc9, 0x35, 0x15, 0xb1, 0xcf,
   0x6b, 0x9e, 0x3d, 0x81, 0x71, 0x45, 0x87, 0x34, 0x6a, 0x6c, 0xc3, 0x1f, 0x55, 0xc2, 0x4b, 0x1c,
   0x39, 0x8d, 0x43, 0xde, 0x88, 0x74, 0xab, 0xdc, 0x0c, 0x70, 0x87, 0xbc, 0x46, 0xd1, 0x9d, 0x55,
   0x7d, 0x04, 0x13, 0xac, 0x9f, 0xf0, 0x2a, 0x31, 0xab, 0x30, 0x53, 0xd7, 0xc6, 0x8d, 0x84, 0x11,
   0x4a, 0x7f, 0x97, 0x98, 0xd5, 0x2b, 0x75, 0x6d, 0xf0, 0x8d, 0xdd, 0xa8, 0xee, 0x7e, 0xec, 0x2a,
   0xfb, 0xaf, 0x1e, 0xb4, 0x2f, 0xe4, 0xed, 0xfe, 0xf1, 0x3e, 0x0c, 0x30, 0x20, 0x0a, 0xd8, 0x02,
   0xdd, 0x2f, 0xe5, 0x9a, 0x62, 0x75, 0xaa, 0xc6, 0xe4, 0x45, 0xd5, 0x2b, 0xbc, 0xf0, 0x23, 0xe8,
   0x08, 0x1d, 0x97, 0xb7, 0xcb, 0xf9, 0x82, 0xf2, 0xe0, 0xa4, 0xc5, 0x44, 0x92, 0x28, 0xcf, 0x1c,
   0xcc, 0x44, 0x63, 0xad, 0x6d, 0x75, 0xea, 0xb0, 0x45, 0x12, 0x5f, 0xbf, 0x6b, 0xdf, 0x58, 0xb4,
   0x0e, 0x56, 0xb0, 0x22, 0xac, 0xdc, 0x46, 0x7b, 0x20, 0x03, 0x0b, 0xab, 0x6b, 0x0f, 0x64, 0x70,
   0x30, 0x00, 0xfc, 0x1b, 0x03, 0x60, 0x06, 0x7d, 0xdb, 0x2d, 0x24, 0x01, 0xea, 0xf3, 0x8a, 0x3d,
   0xe8, 0x48, 0x16, 0xcd, 0xba, 0x95, 0xff, 0xb9, 0x05, 0x3d, 0x9b, 0x0a, 0x3e, 0x19, 0x5b, 0x0e,
   0x16, 0x1d, 0xcb, 0xdc, 0xb5, 0x91, 0xd4, 0x2b, 0x86, 0x5b, 0x27, 0xaa, 0x15, 0x63, 0xb3, 0x2d,
   0xed, 0xe4, 0x19, 0x70, 0xa2, 0xd1, 0xa3, 0x7d, 0xc0, 0x16, 0x04, 0xcb, 0xd4, 0xb7, 0xde, 0xdf,
   0xdf, 0x7a, 0xf0, 0x04, 0xba, 0xf4, 0x7e, 0xd8, 0x08, 0x5a, 0xd7, 0xae, 0x11, 0xb4, 0xae, 0x91,
   0xdb, 0xb9, 0x1d, 0xa9, 0xb5, 0x0b, 0xbe, 0x84, 0x0e, 0x57, 0x11, 0x2d, 0x5b, 0xa9, 0x5a, 0x1a,
   0x67, 0x46, 0x34, 0xa2, 0x6d, 0xf2, 0xc2, 0xd9, 0x22, 0x49, 0x87, 0xd3, 0xa6, 0xe6, 0x56, 0x48,
   0x62, 0xb0, 0xc1, 0x2e, 0x72, 0x63, 0xf2, 0x0d, 0x05, 0xdf, 0xe5, 0x8e, 0x0b, 0x62, 0xf0, 0x5f,
   0x88, 0x48, 0x9d, 0x66, 0x71, 0x4a, 0x9b, 0xe5, 0x4e, 0x5c, 0x55, 0xfd, 0x68, 0x27, 0xae, 0xd0,
   0x59, 0x91, 0x98, 0x68, 0xe5, 0x0e, 0xb0, 0x0c, 0x2d, 0x3c, 0x79, 0x9a, 0x56, 0xab, 0x16, 0xd2,
   0xec, 0x07, 0x00, 0x51, 0x9e, 0x2d, 0x13, 0xa9, 0xb2, 0xc8, 0x22, 0xe4, 0xf1, 0x86, 0x24, 0xb8,
   0x06, 0xb8, 0x5c, 0x2d, 0x0d, 0x57, 0xe5, 0x36, 0xa5, 0x70, 0x62, 0x95, 0x49, 0xa5, 0xdd, 0x61,
   0x8e, 0xc3, 0x08, 0x44, 0xac, 0xaa, 0x74, 0x84, 0x45, 0x4d, 0x8b, 0xa8, 0x5e, 0xeb, 0x90, 0xa6,
   0x64, 0x94, 0xd8, 0x9a, 0x5d, 0x9d, 0x0c, 0x71, 0xd4, 0xfc, 0x36, 0x89, 0x1b, 0x5f, 0x5d, 0x6e,
   0x99, 0xe0, 0xef, 0x1e, 0xf4, 0x31, 0xc7, 0xf3, 0xbc, 0x64, 0x3f, 0x86, 0x9e, 0x8e, 0x90, 0xb9,
   0x3d, 0xb4, 0x11, 0x62, 0xee, 0xb4, 0xd8, 0xd2, 0x0b, 0xf3, 0x52, 0x2d, 0xcd, 0xaf, 0x77, 0xca,
   0xed, 0xd4, 0xb7, 0x5a, 0xde, 0xde, 0x82, 0xfd, 0x1c, 0xa0, 0x30, 0x1c, 0x81, 0x46, 0xfb, 0xf6,
   0xdd, 0xf6, 0x0d, 0x13, 0xf6, 0x13, 0xe8, 0x17, 0xe6, 0xb3, 0x7c, 0x6b, 0x56, 0x94, 0xc2, 0x1d,
   0xd6, 0x95, 0x9e, 0x5a, 0xaf, 0x79, 0x95, 0x97, 0x36, 0xab, 0x3b, 0x5b, 0x2f, 0xa9, 0xd9, 0x4f,
   0xa1, 0xb7, 0xa4, 0x7b, 0xa4, 0xb2, 0x3b, 0x98, 0x1b, 0xf5, 0x15, 0x73, 0x67, 0x82, 0x8f, 0xe6,
   0x0f, 0x5b, 0x91, 0x26, 0x66, 0xe7, 0xea, 0xb1, 0x62, 0xf1, 0x22, 0x97, 0x22, 0x4a, 0x44, 0x7a,
   0x86, 0x8b, 0xfd, 0x80, 0x16, 0xfb, 0x86, 0x24, 0xf8, 0xa7, 0x07, 0x03, 0xf4, 0x47, 0x2b, 0xd0,
   0xb7, 0x78, 0xfe, 0xbf, 0x78, 0x62, 0x31, 0x2f, 0x11, 0xce, 0x33, 0x6a, 0x6c, 0x6d, 0xee, 0xb8,
   0xe0, 0x0b, 0xe8, 0x7f, 0xbe, 0xf8, 0x8a, 0x50, 0x3e, 0x82, 0xae, 0x8e, 0x3e, 0x5f, 0x7c, 0xf5,
   0x16, 0x90, 0xad, 0x92, 0x5a, 0xc1, 0x6e, 0xdf, 0x0a, 0x76, 0xf6, 0xa3, 0x43, 0xe7, 0x0b, 0x02,
   0xd0, 0xe3, 0x44, 0x07, 0xaf, 0x61, 0x74, 0x2e, 0xb4, 0xd8, 0x54, 0x2f, 0xe2, 0x09, 0xb4, 0x8b,
   0xbc, 0x74, 0x9e, 0x1f, 0x1c, 0xa6, 0x78, 0x9e, 0x97, 0x1c, 0xb5, 0xec, 0x31, 0xb4, 0x93, 0x4d,
   0x7c, 0xfb, 0xe2, 0xe8, 0x93, 0x91, 0xa3, 0x2e, 0xf8, 0x25, 0x4c, 0x6b, 0xbf, 0xcf, 0xf3, 0x0d,
   0x7e, 0xd9, 0xe1, 0x7b, 0x5c, 0x2a, 0x61, 0x7e, 0x41, 0xde, 0x47, 0xdc, 0x32, 0x95, 0xf4, 0x84,
   0xdc, 0x39, 0xe9, 0x49, 0x20, 0xe1, 0xc1, 0x3e, 0x2e, 0x8d, 0x23, 0xd5, 0xec, 0xd8, 0x27, 0xd0,
   0xd3, 0xd4, 0x30, 0x5c, 0x7c, 0x0f, 0x1b, 0xab, 0x50, 0xdd, 0x4c, 0xb8, 0xb3, 0xb9, 0x4f, 0x94,
   0x5f, 0xba, 0xec, 0x7f, 0x9f, 0xa7, 0x39, 0x62, 0xf6, 0x31, 0x7e, 0x6f, 0x2f, 0x29, 0xff, 0xf6,
   0x61, 0xfe, 0x0e, 0x7b, 0x6e, 0xf5, 0xf7, 0xf1, 0xfd, 0x97, 0x16, 0xbc, 0x7b, 0xb6, 0x78, 0xbe,
   0xc2, 0x66, 0x5f, 0x7d, 0xab, 0x7f, 0x82, 0x5f, 0x4e, 0xb8, 0xd6, 0x62, 0xfc, 0x93, 0x93, 0xf7,
   0x9a, 0xdf, 0x08, 0x8b, 0x54, 0x59, 0x63, 0xc9, 0xad, 0x91, 0x1b, 0xdd, 0x5e, 0x3d, 0xba, 0x9f,
   0x42, 0x4f, 0x44, 0x26, 0xc9, 0x33, 0xba, 0xc1, 0xc9, 0x09, 0x6b, 0x6c, 0x95, 0x8b, 0x53, 0xd2,
   0x70, 0x67, 0x41, 0xa3, 0x38, 0x5b, 0xe6, 0xd5, 0x6c, 0x42, 0x3a, 0xf8, 0x77, 0x0b, 0xc6, 0x76,
   0x19, 0x7b, 0xdb, 0xae, 0x77, 0xb0, 0x65, 0x79, 0x37, 0xb6, 0xac, 0xbb, 0x46, 0xe0, 0x0c, 0xfa,
   0x6e, 0xcf, 0x72, 0x27, 0x55, 0x2c, 0x7e, 0x21, 0x18, 0x9d, 0xc4, 0xb1, 0xd2, 0x61, 0x9a, 0x64,
   0xd5, 0x27, 0xc4, 0xd0, 0xc9, 0x5e, 0x26, 0x99, 0x62, 0x3f, 0x82, 0x89, 0x4c, 0xb4, 0xa2, 0x80,
   0xad, 0x91, 0x1d, 0x90, 0xe3, 0x5a, 0x4a, 0x66, 0xd5, 0x98, 0xed, 0x37, 0xc6, 0xec, 0x13, 0x18,
   0x4b, 0xb5, 0xc4, 0x49, 0x12, 0x96, 0x46, 0x18, 0xbb, 0x24, 0x74, 0xf9, 0xc8, 0x09, 0x2f, 0x50,
   0x16, 0xfc, 0xc7, 0xab, 0xf2, 0x75, 0xcb, 0xe7, 0xb7, 0xbb, 0xe7, 0xbd, 0x76, 0xcf, 0x00, 0xc6,
   0xfb, 0xdd, 0xb3, 0xd0, 0xd5, 0xbf, 0x11, 0xc3, 0x6a, 0xf5, 0x3c, 0xd7, 0xea, 0xeb, 0x36, 0xcf,
   0xac, 0xf9, 0x49, 0xc5, 0xef, 0xfa, 0xa4, 0xfa, 0xc6, 0x65, 0xf6, 0xe1, 0xe1, 0x27, 0x95, 0xfd,
   0xaf, 0xc0, 0x79, 0x7f, 0xfa, 0x47, 0x18, 0x35, 0x5f, 0x0f, 0x1b, 0xc1, 0xe0, 0x32, 0xb4, 0x11,
   0x4c, 0xdf, 0x61, 0x53, 0x18, 0x55, 0x1c, 0x5e, 0xe7, 0xb4, 0xc5, 0x1e, 0xc2, 0xb4, 0x29, 0xc1,
   0x8f, 0x92, 0xa9, 0xc7, 0x00, 0x7a, 0x97, 0x21, 0x59, 0xb4, 0xd9, 0x18, 0x7c, 0x4b, 0x5f, 0xc8,
   0xf5, 0xb4, 0xc3, 0x1e, 0xc0, 0xb8, 0x66, 0xf1, 0xc4, 0x69, 0x97, 0xf9, 0xd0, 0xbd, 0x0c, 0x51,
   0xdb, 0x7b, 0xfa, 0x0c, 0x06, 0xd5, 0xeb, 0x43, 0x27, 0xf3, 0xac, 0x54, 0xda, 0x4c, 0xdf, 0x41,
   0xfa, 0x0b, 0x5a, 0x59, 0xa7, 0x2d, 0xa4, 0xcf, 0x54, 0xaa, 0x8c, 0x9a, 0x7a, 0x8b, 0x1e, 0x3d,
   0xda, 0x4f, 0xff, 0x17, 0x00, 0x00, 0xff, 0xff, 0x19, 0x0d, 0x0b, 0x20, 0x33, 0x14, 0x00, 0x00,
}