From c5cf390e19bb2251e2146c4ea7f061e2241a1c2c Mon Sep 17 00:00:00 2001
From: zhangmeng <775834166@qq.com>
Date: 星期五, 21 六月 2019 17:01:07 +0800
Subject: [PATCH] update

---
 sdk.pb.go      |  270 +++++-----------
 base.pb.go     |   45 --
 protomsg.pb.go |  627 +++++++++++++--------------------------
 3 files changed, 302 insertions(+), 640 deletions(-)

diff --git a/base.pb.go b/base.pb.go
index 610d731..2034d85 100644
--- a/base.pb.go
+++ b/base.pb.go
@@ -5,7 +5,7 @@
 
 import (
 	fmt "fmt"
-	proto "github.com/golang/protobuf/proto"
+	proto "github.com/gogo/protobuf/proto"
 	io "io"
 	math "math"
 )
@@ -19,15 +19,12 @@
 // is compatible with the proto package it is being compiled against.
 // A compilation error at this line likely means your copy of the
 // proto package needs to be updated.
-const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
+const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
 
 // struct for sdk
 type Point struct {
-	X                    int32    `protobuf:"varint,1,opt,name=x,proto3" json:"x,omitempty"`
-	Y                    int32    `protobuf:"varint,2,opt,name=y,proto3" json:"y,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	X int32 `protobuf:"varint,1,opt,name=x,proto3" json:"x,omitempty"`
+	Y int32 `protobuf:"varint,2,opt,name=y,proto3" json:"y,omitempty"`
 }
 
 func (m *Point) Reset()         { *m = Point{} }
@@ -78,13 +75,10 @@
 }
 
 type Rect struct {
-	Left                 int32    `protobuf:"varint,1,opt,name=left,proto3" json:"left,omitempty"`
-	Top                  int32    `protobuf:"varint,2,opt,name=top,proto3" json:"top,omitempty"`
-	Right                int32    `protobuf:"varint,3,opt,name=right,proto3" json:"right,omitempty"`
-	Bottom               int32    `protobuf:"varint,4,opt,name=bottom,proto3" json:"bottom,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	Left   int32 `protobuf:"varint,1,opt,name=left,proto3" json:"left,omitempty"`
+	Top    int32 `protobuf:"varint,2,opt,name=top,proto3" json:"top,omitempty"`
+	Right  int32 `protobuf:"varint,3,opt,name=right,proto3" json:"right,omitempty"`
+	Bottom int32 `protobuf:"varint,4,opt,name=bottom,proto3" json:"bottom,omitempty"`
 }
 
 func (m *Rect) Reset()         { *m = Rect{} }
@@ -156,7 +150,7 @@
 func init() { proto.RegisterFile("base.proto", fileDescriptor_db1b6b0986796150) }
 
 var fileDescriptor_db1b6b0986796150 = []byte{
-	// 158 bytes of a gzipped FileDescriptorProto
+	// 167 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x4a, 0x4a, 0x2c, 0x4e,
 	0xd5, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x00, 0x53, 0xb9, 0xc5, 0xe9, 0x4a, 0xca, 0x5c,
 	0xac, 0x01, 0xf9, 0x99, 0x79, 0x25, 0x42, 0x3c, 0x5c, 0x8c, 0x15, 0x12, 0x8c, 0x0a, 0x8c, 0x1a,
@@ -164,9 +158,10 @@
 	0x94, 0x9a, 0x5c, 0x22, 0x24, 0xc4, 0xc5, 0x92, 0x93, 0x9a, 0x56, 0x02, 0x55, 0x06, 0x66, 0x0b,
 	0x09, 0x70, 0x31, 0x97, 0xe4, 0x17, 0x40, 0xd5, 0x82, 0x98, 0x42, 0x22, 0x5c, 0xac, 0x45, 0x99,
 	0xe9, 0x19, 0x25, 0x12, 0xcc, 0x60, 0x31, 0x08, 0x47, 0x48, 0x8c, 0x8b, 0x2d, 0x29, 0xbf, 0xa4,
-	0x24, 0x3f, 0x57, 0x82, 0x05, 0x2c, 0x0c, 0xe5, 0x39, 0x09, 0x9c, 0x78, 0x24, 0xc7, 0x78, 0xe1,
-	0x91, 0x1c, 0xe3, 0x83, 0x47, 0x72, 0x8c, 0x33, 0x1e, 0xcb, 0x31, 0x24, 0xb1, 0x81, 0x1d, 0x67,
-	0x0c, 0x08, 0x00, 0x00, 0xff, 0xff, 0xb3, 0xb0, 0xbd, 0x0b, 0xb1, 0x00, 0x00, 0x00,
+	0x24, 0x3f, 0x57, 0x82, 0x05, 0x2c, 0x0c, 0xe5, 0x39, 0x49, 0x9c, 0x78, 0x24, 0xc7, 0x78, 0xe1,
+	0x91, 0x1c, 0xe3, 0x83, 0x47, 0x72, 0x8c, 0x13, 0x1e, 0xcb, 0x31, 0x5c, 0x78, 0x2c, 0xc7, 0x70,
+	0xe3, 0xb1, 0x1c, 0x43, 0x12, 0x1b, 0xd8, 0x91, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0xa5,
+	0xe9, 0x4a, 0x5f, 0xb9, 0x00, 0x00, 0x00,
 }
 
 func (m *Point) Marshal() (dAtA []byte, err error) {
@@ -193,9 +188,6 @@
 		dAtA[i] = 0x10
 		i++
 		i = encodeVarintBase(dAtA, i, uint64(m.Y))
-	}
-	if m.XXX_unrecognized != nil {
-		i += copy(dAtA[i:], m.XXX_unrecognized)
 	}
 	return i, nil
 }
@@ -235,9 +227,6 @@
 		i++
 		i = encodeVarintBase(dAtA, i, uint64(m.Bottom))
 	}
-	if m.XXX_unrecognized != nil {
-		i += copy(dAtA[i:], m.XXX_unrecognized)
-	}
 	return i, nil
 }
 
@@ -262,9 +251,6 @@
 	if m.Y != 0 {
 		n += 1 + sovBase(uint64(m.Y))
 	}
-	if m.XXX_unrecognized != nil {
-		n += len(m.XXX_unrecognized)
-	}
 	return n
 }
 
@@ -285,9 +271,6 @@
 	}
 	if m.Bottom != 0 {
 		n += 1 + sovBase(uint64(m.Bottom))
-	}
-	if m.XXX_unrecognized != nil {
-		n += len(m.XXX_unrecognized)
 	}
 	return n
 }
@@ -387,7 +370,6 @@
 			if (iNdEx + skippy) > l {
 				return io.ErrUnexpectedEOF
 			}
-			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
 			iNdEx += skippy
 		}
 	}
@@ -517,7 +499,6 @@
 			if (iNdEx + skippy) > l {
 				return io.ErrUnexpectedEOF
 			}
-			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
 			iNdEx += skippy
 		}
 	}
diff --git a/protomsg.pb.go b/protomsg.pb.go
index 5b054d2..04adfa0 100644
--- a/protomsg.pb.go
+++ b/protomsg.pb.go
@@ -6,7 +6,7 @@
 import (
 	encoding_binary "encoding/binary"
 	fmt "fmt"
-	proto "github.com/golang/protobuf/proto"
+	proto "github.com/gogo/protobuf/proto"
 	io "io"
 	math "math"
 )
@@ -20,7 +20,7 @@
 // is compatible with the proto package it is being compiled against.
 // A compilation error at this line likely means your copy of the
 // proto package needs to be updated.
-const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
+const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
 
 //TableChanged enum
 type TableChanged int32
@@ -92,13 +92,10 @@
 }
 
 type SdkmsgWithTask struct {
-	Sdkid                string   `protobuf:"bytes,1,opt,name=sdkid,proto3" json:"sdkid,omitempty"`
-	Sdktype              string   `protobuf:"bytes,2,opt,name=sdktype,proto3" json:"sdktype,omitempty"`
-	SdkName              string   `protobuf:"bytes,3,opt,name=sdkName,proto3" json:"sdkName,omitempty"`
-	Sdkdata              []byte   `protobuf:"bytes,4,opt,name=sdkdata,proto3" json:"sdkdata,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	Sdkid   string `protobuf:"bytes,1,opt,name=sdkid,proto3" json:"sdkid,omitempty"`
+	Sdktype string `protobuf:"bytes,2,opt,name=sdktype,proto3" json:"sdktype,omitempty"`
+	SdkName string `protobuf:"bytes,3,opt,name=sdkName,proto3" json:"sdkName,omitempty"`
+	Sdkdata []byte `protobuf:"bytes,4,opt,name=sdkdata,proto3" json:"sdkdata,omitempty"`
 }
 
 func (m *SdkmsgWithTask) Reset()         { *m = SdkmsgWithTask{} }
@@ -163,13 +160,10 @@
 }
 
 type TaskLabel struct {
-	Taskid               string            `protobuf:"bytes,1,opt,name=taskid,proto3" json:"taskid,omitempty"`
-	Taskname             string            `protobuf:"bytes,2,opt,name=taskname,proto3" json:"taskname,omitempty"`
-	Sdkinfos             []*SdkmsgWithTask `protobuf:"bytes,3,rep,name=sdkinfos,proto3" json:"sdkinfos,omitempty"`
-	Index                int32             `protobuf:"varint,4,opt,name=index,proto3" json:"index,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
-	XXX_unrecognized     []byte            `json:"-"`
-	XXX_sizecache        int32             `json:"-"`
+	Taskid   string            `protobuf:"bytes,1,opt,name=taskid,proto3" json:"taskid,omitempty"`
+	Taskname string            `protobuf:"bytes,2,opt,name=taskname,proto3" json:"taskname,omitempty"`
+	Sdkinfos []*SdkmsgWithTask `protobuf:"bytes,3,rep,name=sdkinfos,proto3" json:"sdkinfos,omitempty"`
+	Index    int32             `protobuf:"varint,4,opt,name=index,proto3" json:"index,omitempty"`
 }
 
 func (m *TaskLabel) Reset()         { *m = TaskLabel{} }
@@ -235,13 +229,10 @@
 
 //SdkMessage struct test
 type SdkMessage struct {
-	Cid                  string     `protobuf:"bytes,1,opt,name=cid,proto3" json:"cid,omitempty"`
-	Caddr                string     `protobuf:"bytes,2,opt,name=caddr,proto3" json:"caddr,omitempty"`
-	Tasklab              *TaskLabel `protobuf:"bytes,3,opt,name=tasklab,proto3" json:"tasklab,omitempty"`
-	Data                 []byte     `protobuf:"bytes,4,opt,name=data,proto3" json:"data,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
-	XXX_unrecognized     []byte     `json:"-"`
-	XXX_sizecache        int32      `json:"-"`
+	Cid     string     `protobuf:"bytes,1,opt,name=cid,proto3" json:"cid,omitempty"`
+	Caddr   string     `protobuf:"bytes,2,opt,name=caddr,proto3" json:"caddr,omitempty"`
+	Tasklab *TaskLabel `protobuf:"bytes,3,opt,name=tasklab,proto3" json:"tasklab,omitempty"`
+	Data    []byte     `protobuf:"bytes,4,opt,name=data,proto3" json:"data,omitempty"`
 }
 
 func (m *SdkMessage) Reset()         { *m = SdkMessage{} }
@@ -307,12 +298,9 @@
 
 //Area缁撴瀯浣�
 type Area struct {
-	Id                   int32    `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
-	Parentid             int32    `protobuf:"varint,2,opt,name=parentid,proto3" json:"parentid,omitempty"`
-	Name                 string   `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	Id       int32  `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
+	Parentid int32  `protobuf:"varint,2,opt,name=parentid,proto3" json:"parentid,omitempty"`
+	Name     string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
 }
 
 func (m *Area) Reset()         { *m = Area{} }
@@ -371,23 +359,20 @@
 
 //Camera缁撴瀯浣�
 type Camera 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"`
-	Type                 int32    `protobuf:"varint,3,opt,name=type,proto3" json:"type,omitempty"`
-	Addr                 string   `protobuf:"bytes,4,opt,name=addr,proto3" json:"addr,omitempty"`
-	Areaid               int32    `protobuf:"varint,5,opt,name=areaid,proto3" json:"areaid,omitempty"`
-	Longitude            float32  `protobuf:"fixed32,6,opt,name=longitude,proto3" json:"longitude,omitempty"`
-	Latitude             float32  `protobuf:"fixed32,7,opt,name=latitude,proto3" json:"latitude,omitempty"`
-	Rtsp                 string   `protobuf:"bytes,8,opt,name=rtsp,proto3" json:"rtsp,omitempty"`
-	Ip                   string   `protobuf:"bytes,9,opt,name=ip,proto3" json:"ip,omitempty"`
-	Port                 int32    `protobuf:"varint,10,opt,name=port,proto3" json:"port,omitempty"`
-	Username             string   `protobuf:"bytes,11,opt,name=username,proto3" json:"username,omitempty"`
-	Password             string   `protobuf:"bytes,12,opt,name=password,proto3" json:"password,omitempty"`
-	Brand                string   `protobuf:"bytes,13,opt,name=brand,proto3" json:"brand,omitempty"`
-	Reserved             string   `protobuf:"bytes,14,opt,name=reserved,proto3" json:"reserved,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	Id        string  `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+	Name      string  `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
+	Type      int32   `protobuf:"varint,3,opt,name=type,proto3" json:"type,omitempty"`
+	Addr      string  `protobuf:"bytes,4,opt,name=addr,proto3" json:"addr,omitempty"`
+	Areaid    int32   `protobuf:"varint,5,opt,name=areaid,proto3" json:"areaid,omitempty"`
+	Longitude float32 `protobuf:"fixed32,6,opt,name=longitude,proto3" json:"longitude,omitempty"`
+	Latitude  float32 `protobuf:"fixed32,7,opt,name=latitude,proto3" json:"latitude,omitempty"`
+	Rtsp      string  `protobuf:"bytes,8,opt,name=rtsp,proto3" json:"rtsp,omitempty"`
+	Ip        string  `protobuf:"bytes,9,opt,name=ip,proto3" json:"ip,omitempty"`
+	Port      int32   `protobuf:"varint,10,opt,name=port,proto3" json:"port,omitempty"`
+	Username  string  `protobuf:"bytes,11,opt,name=username,proto3" json:"username,omitempty"`
+	Password  string  `protobuf:"bytes,12,opt,name=password,proto3" json:"password,omitempty"`
+	Brand     string  `protobuf:"bytes,13,opt,name=brand,proto3" json:"brand,omitempty"`
+	Reserved  string  `protobuf:"bytes,14,opt,name=reserved,proto3" json:"reserved,omitempty"`
 }
 
 func (m *Camera) Reset()         { *m = Camera{} }
@@ -523,11 +508,8 @@
 
 //鎽勫儚鏈虹殑浠诲姟淇℃伅
 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"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	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{} }
@@ -579,17 +561,14 @@
 
 //Task缁撴瀯浣�
 type Task struct {
-	Taskid               string   `protobuf:"bytes,1,opt,name=taskid,proto3" json:"taskid,omitempty"`
-	Taskname             string   `protobuf:"bytes,2,opt,name=taskname,proto3" json:"taskname,omitempty"`
-	CreateAt             string   `protobuf:"bytes,3,opt,name=create_at,json=createAt,proto3" json:"create_at,omitempty"`
-	CreateBy             string   `protobuf:"bytes,4,opt,name=create_by,json=createBy,proto3" json:"create_by,omitempty"`
-	UpdateAt             string   `protobuf:"bytes,5,opt,name=update_at,json=updateAt,proto3" json:"update_at,omitempty"`
-	Enable               bool     `protobuf:"varint,6,opt,name=enable,proto3" json:"enable,omitempty"`
-	IsAlarm              bool     `protobuf:"varint,7,opt,name=is_alarm,json=isAlarm,proto3" json:"is_alarm,omitempty"`
-	DelFlag              bool     `protobuf:"varint,8,opt,name=del_flag,json=delFlag,proto3" json:"del_flag,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	Taskid   string `protobuf:"bytes,1,opt,name=taskid,proto3" json:"taskid,omitempty"`
+	Taskname string `protobuf:"bytes,2,opt,name=taskname,proto3" json:"taskname,omitempty"`
+	CreateAt string `protobuf:"bytes,3,opt,name=create_at,json=createAt,proto3" json:"create_at,omitempty"`
+	CreateBy string `protobuf:"bytes,4,opt,name=create_by,json=createBy,proto3" json:"create_by,omitempty"`
+	UpdateAt string `protobuf:"bytes,5,opt,name=update_at,json=updateAt,proto3" json:"update_at,omitempty"`
+	Enable   bool   `protobuf:"varint,6,opt,name=enable,proto3" json:"enable,omitempty"`
+	IsAlarm  bool   `protobuf:"varint,7,opt,name=is_alarm,json=isAlarm,proto3" json:"is_alarm,omitempty"`
+	DelFlag  bool   `protobuf:"varint,8,opt,name=del_flag,json=delFlag,proto3" json:"del_flag,omitempty"`
 }
 
 func (m *Task) Reset()         { *m = Task{} }
@@ -682,11 +661,8 @@
 }
 
 type TaskSdkInfo struct {
-	Task                 *Task    `protobuf:"bytes,1,opt,name=task,proto3" json:"task,omitempty"`
-	Sdks                 []*Sdk   `protobuf:"bytes,2,rep,name=sdks,proto3" json:"sdks,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	Task *Task  `protobuf:"bytes,1,opt,name=task,proto3" json:"task,omitempty"`
+	Sdks []*Sdk `protobuf:"bytes,2,rep,name=sdks,proto3" json:"sdks,omitempty"`
 }
 
 func (m *TaskSdkInfo) Reset()         { *m = TaskSdkInfo{} }
@@ -738,21 +714,18 @@
 
 //鎽勫儚鏈轰换鍔�
 type CameraTask 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"`
-	TaskId               string    `protobuf:"bytes,3,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
-	TimeRule             []*DayCtl `protobuf:"bytes,4,rep,name=time_rule,json=timeRule,proto3" json:"time_rule,omitempty"`
-	ReactRule            string    `protobuf:"bytes,5,opt,name=react_rule,json=reactRule,proto3" json:"react_rule,omitempty"`
-	ReactDevice          string    `protobuf:"bytes,6,opt,name=react_device,json=reactDevice,proto3" json:"react_device,omitempty"`
-	DelFlag              bool      `protobuf:"varint,7,opt,name=del_flag,json=delFlag,proto3" json:"del_flag,omitempty"`
-	UpdateFlag           bool      `protobuf:"varint,8,opt,name=update_flag,json=updateFlag,proto3" json:"update_flag,omitempty"`
-	Enable               bool      `protobuf:"varint,9,opt,name=enable,proto3" json:"enable,omitempty"`
-	Sort                 int32     `protobuf:"varint,10,opt,name=sort,proto3" json:"sort,omitempty"`
-	IsFull               bool      `protobuf:"varint,11,opt,name=is_full,json=isFull,proto3" json:"is_full,omitempty"`
-	LinkTaskId           string    `protobuf:"bytes,12,opt,name=link_task_id,json=linkTaskId,proto3" json:"link_task_id,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
-	XXX_unrecognized     []byte    `json:"-"`
-	XXX_sizecache        int32     `json:"-"`
+	Id          string    `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+	CameraId    string    `protobuf:"bytes,2,opt,name=camera_id,json=cameraId,proto3" json:"camera_id,omitempty"`
+	TaskId      string    `protobuf:"bytes,3,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
+	TimeRule    []*DayCtl `protobuf:"bytes,4,rep,name=time_rule,json=timeRule,proto3" json:"time_rule,omitempty"`
+	ReactRule   string    `protobuf:"bytes,5,opt,name=react_rule,json=reactRule,proto3" json:"react_rule,omitempty"`
+	ReactDevice string    `protobuf:"bytes,6,opt,name=react_device,json=reactDevice,proto3" json:"react_device,omitempty"`
+	DelFlag     bool      `protobuf:"varint,7,opt,name=del_flag,json=delFlag,proto3" json:"del_flag,omitempty"`
+	UpdateFlag  bool      `protobuf:"varint,8,opt,name=update_flag,json=updateFlag,proto3" json:"update_flag,omitempty"`
+	Enable      bool      `protobuf:"varint,9,opt,name=enable,proto3" json:"enable,omitempty"`
+	Sort        int32     `protobuf:"varint,10,opt,name=sort,proto3" json:"sort,omitempty"`
+	IsFull      bool      `protobuf:"varint,11,opt,name=is_full,json=isFull,proto3" json:"is_full,omitempty"`
+	LinkTaskId  string    `protobuf:"bytes,12,opt,name=link_task_id,json=linkTaskId,proto3" json:"link_task_id,omitempty"`
 }
 
 func (m *CameraTask) Reset()         { *m = CameraTask{} }
@@ -874,12 +847,9 @@
 
 //鎽勫儚鏈哄竷闃茬殑鏃堕棿瑙勫垯锛屽彲浠ヨ缃涓�,鐢╥d鍏宠仈鍒板叿浣撶殑瑙勫垯閰嶇疆涓�
 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"`
-	TimeRule             string   `protobuf:"bytes,3,opt,name=time_rule,json=timeRule,proto3" json:"time_rule,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	Id       string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+	Name     string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
+	TimeRule string `protobuf:"bytes,3,opt,name=time_rule,json=timeRule,proto3" json:"time_rule,omitempty"`
 }
 
 func (m *CameraTimerule) Reset()         { *m = CameraTimerule{} }
@@ -938,11 +908,8 @@
 
 //DayCtl struct   姣忓ぉ鐨勬椂闂存帶鍒惰鍒�
 type DayCtl struct {
-	Day                  int32        `protobuf:"varint,1,opt,name=day,proto3" json:"day,omitempty"`
-	TimeRange            []*TimeRange `protobuf:"bytes,2,rep,name=time_range,json=timeRange,proto3" json:"time_range,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
-	XXX_unrecognized     []byte       `json:"-"`
-	XXX_sizecache        int32        `json:"-"`
+	Day       int32        `protobuf:"varint,1,opt,name=day,proto3" json:"day,omitempty"`
+	TimeRange []*TimeRange `protobuf:"bytes,2,rep,name=time_range,json=timeRange,proto3" json:"time_range,omitempty"`
 }
 
 func (m *DayCtl) Reset()         { *m = DayCtl{} }
@@ -994,11 +961,8 @@
 
 //鏃堕棿璧峰鑼冨洿
 type TimeRange struct {
-	Start                string   `protobuf:"bytes,1,opt,name=start,proto3" json:"start,omitempty"`
-	End                  string   `protobuf:"bytes,2,opt,name=end,proto3" json:"end,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	Start string `protobuf:"bytes,1,opt,name=start,proto3" json:"start,omitempty"`
+	End   string `protobuf:"bytes,2,opt,name=end,proto3" json:"end,omitempty"`
 }
 
 func (m *TimeRange) Reset()         { *m = TimeRange{} }
@@ -1050,12 +1014,9 @@
 
 //Polygon struct
 type Polygon 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"`
-	Points               []*Point `protobuf:"bytes,3,rep,name=points,proto3" json:"points,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	Id     string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+	Name   string   `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
+	Points []*Point `protobuf:"bytes,3,rep,name=points,proto3" json:"points,omitempty"`
 }
 
 func (m *Polygon) Reset()         { *m = Polygon{} }
@@ -1113,11 +1074,8 @@
 }
 
 type CameraTaskArgs struct {
-	CameraId             string           `protobuf:"bytes,1,opt,name=camera_id,json=cameraId,proto3" json:"camera_id,omitempty"`
-	TaskArgs             []*TaskGroupArgs `protobuf:"bytes,2,rep,name=task_args,json=taskArgs,proto3" json:"task_args,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
-	XXX_unrecognized     []byte           `json:"-"`
-	XXX_sizecache        int32            `json:"-"`
+	CameraId string           `protobuf:"bytes,1,opt,name=camera_id,json=cameraId,proto3" json:"camera_id,omitempty"`
+	TaskArgs []*TaskGroupArgs `protobuf:"bytes,2,rep,name=task_args,json=taskArgs,proto3" json:"task_args,omitempty"`
 }
 
 func (m *CameraTaskArgs) Reset()         { *m = CameraTaskArgs{} }
@@ -1168,11 +1126,8 @@
 }
 
 type TaskGroupArgs struct {
-	TaskId               string       `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
-	GroupRules           []*GroupRule `protobuf:"bytes,2,rep,name=group_rules,json=groupRules,proto3" json:"group_rules,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
-	XXX_unrecognized     []byte       `json:"-"`
-	XXX_sizecache        int32        `json:"-"`
+	TaskId     string       `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
+	GroupRules []*GroupRule `protobuf:"bytes,2,rep,name=group_rules,json=groupRules,proto3" json:"group_rules,omitempty"`
 }
 
 func (m *TaskGroupArgs) Reset()         { *m = TaskGroupArgs{} }
@@ -1223,11 +1178,8 @@
 }
 
 type GroupRule struct {
-	GroupId              string   `protobuf:"bytes,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
-	Rules                []*Rule  `protobuf:"bytes,2,rep,name=rules,proto3" json:"rules,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	GroupId string  `protobuf:"bytes,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+	Rules   []*Rule `protobuf:"bytes,2,rep,name=rules,proto3" json:"rules,omitempty"`
 }
 
 func (m *GroupRule) Reset()         { *m = GroupRule{} }
@@ -1278,21 +1230,18 @@
 }
 
 type Rule 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:"-"`
+	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"`
 }
 
 func (m *Rule) Reset()         { *m = Rule{} }
@@ -1414,20 +1363,17 @@
 
 //Sdk struct
 type Sdk struct {
-	Id                   string    `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
-	SdkType              string    `protobuf:"bytes,2,opt,name=sdk_type,json=sdkType,proto3" json:"sdk_type,omitempty"`
-	SdkName              string    `protobuf:"bytes,3,opt,name=sdk_name,json=sdkName,proto3" json:"sdk_name,omitempty"`
-	Args                 []*SdkArg `protobuf:"bytes,4,rep,name=args,proto3" json:"args,omitempty"`
-	Icon                 string    `protobuf:"bytes,5,opt,name=icon,proto3" json:"icon,omitempty"`
-	Url                  string    `protobuf:"bytes,6,opt,name=url,proto3" json:"url,omitempty"`
-	CreateTime           string    `protobuf:"bytes,7,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
-	UpdateTime           string    `protobuf:"bytes,8,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
-	CreateBy             string    `protobuf:"bytes,9,opt,name=create_by,json=createBy,proto3" json:"create_by,omitempty"`
-	Enable               bool      `protobuf:"varint,10,opt,name=enable,proto3" json:"enable,omitempty"`
-	DelFlag              int32     `protobuf:"varint,11,opt,name=del_flag,json=delFlag,proto3" json:"del_flag,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
-	XXX_unrecognized     []byte    `json:"-"`
-	XXX_sizecache        int32     `json:"-"`
+	Id         string    `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+	SdkType    string    `protobuf:"bytes,2,opt,name=sdk_type,json=sdkType,proto3" json:"sdk_type,omitempty"`
+	SdkName    string    `protobuf:"bytes,3,opt,name=sdk_name,json=sdkName,proto3" json:"sdk_name,omitempty"`
+	Args       []*SdkArg `protobuf:"bytes,4,rep,name=args,proto3" json:"args,omitempty"`
+	Icon       string    `protobuf:"bytes,5,opt,name=icon,proto3" json:"icon,omitempty"`
+	Url        string    `protobuf:"bytes,6,opt,name=url,proto3" json:"url,omitempty"`
+	CreateTime string    `protobuf:"bytes,7,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
+	UpdateTime string    `protobuf:"bytes,8,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
+	CreateBy   string    `protobuf:"bytes,9,opt,name=create_by,json=createBy,proto3" json:"create_by,omitempty"`
+	Enable     bool      `protobuf:"varint,10,opt,name=enable,proto3" json:"enable,omitempty"`
+	DelFlag    int32     `protobuf:"varint,11,opt,name=del_flag,json=delFlag,proto3" json:"del_flag,omitempty"`
 }
 
 func (m *Sdk) Reset()         { *m = Sdk{} }
@@ -1542,16 +1488,13 @@
 
 //SdkArg struct
 type SdkArg struct {
-	Alias                string   `protobuf:"bytes,1,opt,name=alias,proto3" json:"alias,omitempty"`
-	Name                 string   `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
-	Type                 string   `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"`
-	Must                 bool     `protobuf:"varint,4,opt,name=must,proto3" json:"must,omitempty"`
-	Unit                 string   `protobuf:"bytes,5,opt,name=unit,proto3" json:"unit,omitempty"`
-	Range                string   `protobuf:"bytes,6,opt,name=range,proto3" json:"range,omitempty"`
-	Sort                 int32    `protobuf:"varint,7,opt,name=sort,proto3" json:"sort,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	Alias string `protobuf:"bytes,1,opt,name=alias,proto3" json:"alias,omitempty"`
+	Name  string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
+	Type  string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"`
+	Must  bool   `protobuf:"varint,4,opt,name=must,proto3" json:"must,omitempty"`
+	Unit  string `protobuf:"bytes,5,opt,name=unit,proto3" json:"unit,omitempty"`
+	Range string `protobuf:"bytes,6,opt,name=range,proto3" json:"range,omitempty"`
+	Sort  int32  `protobuf:"varint,7,opt,name=sort,proto3" json:"sort,omitempty"`
 }
 
 func (m *SdkArg) Reset()         { *m = SdkArg{} }
@@ -1638,13 +1581,10 @@
 
 //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:"-"`
+	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"`
 }
 
 func (m *DbChangeMessage) Reset()         { *m = DbChangeMessage{} }
@@ -1709,17 +1649,14 @@
 }
 
 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:"-"`
+	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"`
 }
 
 func (m *CameraPolygon) Reset()         { *m = CameraPolygon{} }
@@ -1840,101 +1777,102 @@
 func init() { proto.RegisterFile("protomsg.proto", fileDescriptor_32de24555f916688) }
 
 var fileDescriptor_32de24555f916688 = []byte{
-	// 1496 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x57, 0xcd, 0x8e, 0xd4, 0x46,
-	0x10, 0xc6, 0xf3, 0xef, 0x9a, 0x1f, 0x86, 0x0e, 0x01, 0x03, 0x61, 0xb3, 0x18, 0xa2, 0xac, 0x50,
-	0xe0, 0xb0, 0xf0, 0x02, 0x03, 0x2b, 0xa2, 0x91, 0x08, 0x22, 0xde, 0x0d, 0xb9, 0xc5, 0xea, 0x99,
-	0xee, 0x35, 0xd6, 0x78, 0xec, 0x51, 0x77, 0x0f, 0x64, 0x0f, 0x79, 0x82, 0x1c, 0x72, 0xe5, 0x15,
-	0xf2, 0x26, 0x1c, 0xf3, 0x06, 0x89, 0x88, 0x94, 0x4b, 0x94, 0x77, 0x88, 0xaa, 0xba, 0xed, 0xf1,
-	0x0c, 0x9b, 0x04, 0xe5, 0x56, 0x7f, 0xee, 0xae, 0xfa, 0xea, 0xaf, 0x0d, 0xa3, 0x95, 0x2a, 0x4c,
-	0xb1, 0xd4, 0xc9, 0x7d, 0x22, 0x58, 0xaf, 0xe4, 0xaf, 0xc3, 0x8c, 0x6b, 0x69, 0xa5, 0xa1, 0x81,
-	0xd1, 0xb1, 0x58, 0x2c, 0x75, 0xf2, 0x6d, 0x6a, 0x5e, 0x9e, 0x70, 0xbd, 0x60, 0x97, 0xa1, 0xad,
-	0xc5, 0x22, 0x15, 0x81, 0xb7, 0xef, 0x1d, 0xf8, 0x91, 0x65, 0x58, 0x00, 0x5d, 0x2d, 0x16, 0xe6,
-	0x6c, 0x25, 0x83, 0x06, 0xc9, 0x4b, 0xd6, 0x69, 0x9e, 0xf1, 0xa5, 0x0c, 0x9a, 0x95, 0x06, 0x59,
-	0xa7, 0x11, 0xdc, 0xf0, 0xa0, 0xb5, 0xef, 0x1d, 0x0c, 0xa2, 0x92, 0x0d, 0x7f, 0xf4, 0xc0, 0xc7,
-	0xcb, 0x9e, 0xf2, 0x99, 0xcc, 0xd8, 0x15, 0xe8, 0x18, 0xae, 0x37, 0x57, 0x3a, 0x8e, 0x5d, 0x87,
-	0x1e, 0x52, 0x39, 0x1e, 0x6d, 0x2f, 0xad, 0x78, 0xf6, 0x10, 0x7a, 0xe8, 0x58, 0x7e, 0x5a, 0xe8,
-	0xa0, 0xb9, 0xdf, 0x3c, 0xe8, 0x1f, 0x06, 0xf7, 0xab, 0x80, 0xb7, 0x23, 0x8a, 0x2a, 0x4b, 0x8c,
-	0x2d, 0xcd, 0x85, 0xfc, 0x9e, 0xfc, 0x69, 0x47, 0x96, 0x09, 0x5f, 0x03, 0x1c, 0x8b, 0xc5, 0x57,
-	0x52, 0x6b, 0x9e, 0x48, 0x36, 0x86, 0xe6, 0xbc, 0x72, 0x05, 0x49, 0xfc, 0x6a, 0xce, 0x85, 0x50,
-	0xce, 0x09, 0xcb, 0xb0, 0x7b, 0xd0, 0x45, 0x6f, 0x32, 0x3e, 0xa3, 0xb8, 0xfb, 0x87, 0x1f, 0x6d,
-	0x1c, 0xa8, 0x62, 0x8b, 0x4a, 0x1b, 0xc6, 0xa0, 0x55, 0x43, 0x82, 0xe8, 0xf0, 0x09, 0xb4, 0x26,
-	0x4a, 0x72, 0x36, 0x82, 0x86, 0xbb, 0xb1, 0x1d, 0x35, 0x6c, 0xe0, 0x2b, 0xae, 0x64, 0x6e, 0x52,
-	0x41, 0x77, 0xb6, 0xa3, 0x8a, 0xc7, 0x73, 0xf2, 0x0d, 0xd6, 0x44, 0x87, 0x6f, 0x1b, 0xd0, 0x79,
-	0xcc, 0x97, 0x52, 0xd5, 0x8f, 0xf2, 0xe9, 0xa8, 0xd2, 0xbc, 0xb1, 0x31, 0x47, 0x19, 0x25, 0xb2,
-	0x49, 0x47, 0x13, 0x8d, 0x32, 0x0a, 0xb1, 0x65, 0xed, 0x28, 0xc2, 0x2b, 0xd0, 0xe1, 0x4a, 0xf2,
-	0x54, 0x04, 0x6d, 0xb2, 0x74, 0x1c, 0xfb, 0x04, 0xfc, 0xac, 0xc8, 0x93, 0xd4, 0xac, 0x85, 0x0c,
-	0x3a, 0xfb, 0xde, 0x41, 0x23, 0xda, 0x08, 0xd0, 0xf9, 0x8c, 0x1b, 0xab, 0xec, 0x92, 0xb2, 0xe2,
-	0xf1, 0x16, 0x65, 0xf4, 0x2a, 0xe8, 0xd9, 0x5b, 0x90, 0x26, 0x8f, 0x57, 0x81, 0xef, 0x3c, 0x5e,
-	0xa1, 0xcd, 0xaa, 0x50, 0x26, 0x00, 0xeb, 0x1d, 0xd2, 0x78, 0xe6, 0x5a, 0x4b, 0x45, 0x91, 0xf4,
-	0x6d, 0x25, 0x94, 0xbc, 0x05, 0x4b, 0xeb, 0xd7, 0x85, 0x12, 0xc1, 0xc0, 0xea, 0x4a, 0x1e, 0x33,
-	0x37, 0x53, 0x3c, 0x17, 0xc1, 0xd0, 0x66, 0x8e, 0x18, 0xfc, 0x42, 0x49, 0x2d, 0xd5, 0x2b, 0x29,
-	0x82, 0x91, 0xfd, 0xa2, 0xe4, 0xc3, 0x39, 0x5c, 0xb2, 0x48, 0x4e, 0x72, 0x81, 0x59, 0x9c, 0xe6,
-	0xa7, 0x05, 0x3b, 0x80, 0xce, 0x9c, 0x84, 0x04, 0x6c, 0xff, 0x70, 0xbc, 0xc9, 0xb4, 0x35, 0x8e,
-	0x9c, 0x9e, 0xdd, 0x81, 0x36, 0x26, 0x5c, 0x07, 0x0d, 0xaa, 0xc9, 0xd1, 0x76, 0x49, 0x44, 0x56,
-	0x19, 0xfe, 0xea, 0x41, 0x8b, 0x7a, 0xed, 0xff, 0x54, 0xfe, 0x0d, 0xf0, 0xe7, 0x4a, 0x72, 0x23,
-	0x63, 0x6e, 0x5c, 0x15, 0xf4, 0xac, 0x60, 0x62, 0x6a, 0xca, 0xd9, 0x99, 0xcb, 0xa5, 0x53, 0x3e,
-	0x3a, 0x43, 0xe5, 0x7a, 0x25, 0xdc, 0x97, 0x6d, 0x07, 0x23, 0x09, 0x26, 0x06, 0x5d, 0x91, 0x39,
-	0x9f, 0x65, 0x36, 0xa3, 0xbd, 0xc8, 0x71, 0xec, 0x1a, 0xf4, 0x52, 0x1d, 0xf3, 0x8c, 0xab, 0x25,
-	0xa5, 0xb3, 0x17, 0x75, 0x53, 0x3d, 0x41, 0x16, 0x55, 0x42, 0x66, 0xf1, 0x69, 0xc6, 0x13, 0xca,
-	0x68, 0x2f, 0xea, 0x0a, 0x99, 0x3d, 0xc9, 0x78, 0x12, 0x9e, 0x40, 0x1f, 0x03, 0x3c, 0x16, 0x16,
-	0xc0, 0x10, 0x5a, 0xe8, 0xbf, 0x83, 0x6f, 0x17, 0x15, 0xd2, 0xb1, 0x5b, 0xd0, 0xd2, 0xa2, 0x42,
-	0x6e, 0xb8, 0xd5, 0xcd, 0x11, 0xa9, 0xc2, 0x3f, 0x1a, 0x00, 0x16, 0x70, 0x42, 0x6f, 0xb7, 0xd6,
-	0x31, 0x78, 0xd2, 0xc6, 0xae, 0x6f, 0x30, 0x78, 0x12, 0x4c, 0x05, 0xbb, 0x6a, 0xdb, 0x15, 0x55,
-	0xcd, 0x0d, 0xd6, 0x53, 0xc1, 0xee, 0x81, 0x6f, 0xd2, 0xa5, 0x8c, 0xd5, 0x3a, 0x93, 0x41, 0x8b,
-	0x2e, 0xaf, 0xe5, 0xf7, 0x88, 0x9f, 0x3d, 0x36, 0x59, 0xd4, 0x43, 0x93, 0x68, 0x9d, 0x49, 0x76,
-	0x13, 0x40, 0x49, 0x3e, 0x37, 0xd6, 0xde, 0xa2, 0xe8, 0x93, 0x84, 0xd4, 0xb7, 0x60, 0x60, 0xd5,
-	0x42, 0xbe, 0x4a, 0xe7, 0x16, 0x4c, 0x3f, 0xea, 0x93, 0xec, 0x88, 0x44, 0x5b, 0xb0, 0x75, 0xb7,
-	0x60, 0x63, 0x9f, 0x42, 0xdf, 0x65, 0xa8, 0x06, 0x2a, 0x58, 0x11, 0x19, 0x6c, 0xb2, 0xe4, 0x6f,
-	0x65, 0x89, 0x41, 0x4b, 0xd7, 0x9a, 0x06, 0x69, 0x8c, 0x38, 0xd5, 0xf1, 0xe9, 0x3a, 0xcb, 0xa8,
-	0x67, 0x7a, 0x51, 0x27, 0xd5, 0x4f, 0xd6, 0x59, 0xc6, 0xf6, 0x61, 0x90, 0xa5, 0xf9, 0x22, 0x2e,
-	0xf1, 0xb0, 0x5d, 0x03, 0x28, 0xa3, 0x92, 0x17, 0xe1, 0xd7, 0x30, 0x72, 0x38, 0xa7, 0x4b, 0x89,
-	0x81, 0x7e, 0xd0, 0x5c, 0xb9, 0x51, 0x47, 0xd2, 0x55, 0x66, 0x89, 0x5b, 0xf8, 0x0c, 0x3a, 0x16,
-	0x4b, 0x1c, 0xb0, 0x82, 0x9f, 0xb9, 0x71, 0x87, 0x24, 0x3b, 0x04, 0xb0, 0x1f, 0xf2, 0x3c, 0x91,
-	0xae, 0x00, 0xea, 0xd3, 0x14, 0xcf, 0x40, 0x55, 0x44, 0xe7, 0x13, 0x19, 0x3e, 0x00, 0xbf, 0x92,
-	0xd3, 0xce, 0x32, 0x5c, 0x99, 0x6a, 0x67, 0x21, 0x83, 0x17, 0xc9, 0xbc, 0xac, 0x04, 0x24, 0xc3,
-	0x17, 0xd0, 0x7d, 0x5e, 0x64, 0x67, 0x49, 0x91, 0x7f, 0x50, 0x40, 0x9f, 0x43, 0x67, 0x55, 0xa4,
-	0xb9, 0x29, 0x57, 0xcc, 0xc5, 0x8d, 0x4f, 0xcf, 0x51, 0x1e, 0x39, 0x75, 0x38, 0xaf, 0xf0, 0xe2,
-	0x7a, 0x31, 0x51, 0x89, 0xde, 0xae, 0x45, 0x6f, 0xa7, 0x16, 0x1f, 0x82, 0x4f, 0xd8, 0x73, 0x95,
-	0x94, 0xf5, 0x7e, 0x75, 0xbb, 0x27, 0xbe, 0x54, 0xc5, 0x7a, 0x85, 0x07, 0xd9, 0xc6, 0x47, 0x2a,
-	0xfc, 0x0e, 0x86, 0x5b, 0xaa, 0x7a, 0x49, 0x7b, 0x5b, 0x25, 0xfd, 0x10, 0xfa, 0x09, 0x5a, 0x51,
-	0x26, 0xf4, 0xfb, 0x80, 0xd2, 0x11, 0x98, 0x95, 0x08, 0x92, 0x92, 0xd4, 0xe1, 0x53, 0xf0, 0x2b,
-	0x05, 0x16, 0xa9, 0x3d, 0xa2, 0x3a, 0xbc, 0x4b, 0xfc, 0x54, 0xe0, 0x8c, 0xab, 0x9f, 0x5b, 0xeb,
-	0x66, 0x3a, 0xd2, 0x2a, 0xc3, 0x3f, 0x1b, 0xd0, 0x8a, 0xce, 0xab, 0x9c, 0x3b, 0x30, 0x72, 0xc8,
-	0x94, 0xce, 0x5b, 0xc8, 0x07, 0xf3, 0x0a, 0xc1, 0xe9, 0x4e, 0x2f, 0x37, 0x77, 0xf0, 0xbb, 0x09,
-	0xb0, 0xb2, 0x69, 0x44, 0xad, 0x1d, 0x73, 0xbe, 0x93, 0x4c, 0x05, 0xfb, 0x18, 0x3a, 0x5a, 0xd0,
-	0xc9, 0xed, 0xea, 0x09, 0x33, 0x15, 0x2c, 0x84, 0x21, 0x8a, 0xb9, 0x4a, 0x62, 0x9e, 0xa5, 0x5c,
-	0x97, 0xbd, 0xa9, 0x05, 0xe2, 0x3b, 0x41, 0x11, 0x0e, 0xde, 0x62, 0x25, 0x15, 0x37, 0x85, 0xa2,
-	0xde, 0xf4, 0xa3, 0x8a, 0x67, 0xb7, 0x61, 0x58, 0xd2, 0x31, 0xed, 0x4f, 0xbb, 0xc5, 0x06, 0xa5,
-	0xf0, 0x04, 0xf7, 0x68, 0xed, 0x92, 0x57, 0x3c, 0x5b, 0x4b, 0xb7, 0xd8, 0xdc, 0x25, 0x2f, 0x50,
-	0x74, 0x6e, 0xb3, 0x86, 0x30, 0x44, 0xdc, 0xe2, 0xd7, 0xa9, 0x79, 0x19, 0xaf, 0x54, 0xb9, 0xe6,
-	0xfa, 0x28, 0xc4, 0x87, 0xcc, 0x73, 0xb5, 0x9d, 0x93, 0xc1, 0x56, 0x4e, 0xc2, 0x9f, 0x1b, 0xd0,
-	0x3c, 0x16, 0xef, 0x8f, 0xc4, 0x6b, 0xf4, 0x4c, 0x8a, 0x77, 0xde, 0x6d, 0xe4, 0xa9, 0x53, 0xe5,
-	0xe7, 0x3c, 0xdc, 0xee, 0x40, 0x8b, 0x4a, 0xf3, 0xbd, 0x69, 0x78, 0x4c, 0x51, 0x44, 0xa4, 0xc5,
-	0x30, 0xd2, 0x79, 0x91, 0x3b, 0x90, 0x89, 0xc6, 0x96, 0x5b, 0xab, 0xcc, 0x21, 0x8b, 0x24, 0x8e,
-	0x34, 0xb7, 0x91, 0xb0, 0x77, 0x1d, 0xa8, 0x60, 0x45, 0xd8, 0xc0, 0xb5, 0x99, 0x47, 0x06, 0x16,
-	0x54, 0x37, 0xf3, 0xc8, 0x60, 0x6b, 0xa7, 0xf9, 0x3b, 0x3b, 0x6d, 0x33, 0x10, 0x61, 0x77, 0x6d,
-	0x55, 0x43, 0xb6, 0x4f, 0x38, 0x57, 0xbb, 0xe9, 0x8d, 0x07, 0x1d, 0x1b, 0x08, 0xce, 0x0d, 0x5b,
-	0x0a, 0x6e, 0x6e, 0x10, 0xf3, 0x9f, 0x6f, 0x26, 0x7f, 0xf3, 0x66, 0x5a, 0xae, 0xb5, 0xa1, 0x02,
-	0xec, 0x45, 0x44, 0xa3, 0x6c, 0x9d, 0xa7, 0xe5, 0x7a, 0x25, 0x1a, 0x6f, 0xb1, 0x93, 0xcd, 0xc2,
-	0x62, 0x99, 0xaa, 0x0a, 0xba, 0x9b, 0x2a, 0x08, 0x7f, 0xf2, 0xe0, 0xe2, 0xd1, 0xec, 0xf1, 0x4b,
-	0x34, 0x28, 0xdf, 0xa3, 0x5f, 0xe0, 0x93, 0x02, 0x03, 0x44, 0x1f, 0x47, 0x87, 0x57, 0xea, 0x83,
-	0x62, 0x96, 0x49, 0x6b, 0x2c, 0x22, 0x6b, 0xe4, 0x0a, 0xa0, 0x51, 0x15, 0xc0, 0x5d, 0xe8, 0xf0,
-	0xb9, 0x49, 0x8b, 0x9c, 0x3c, 0x1f, 0x1d, 0xb2, 0xda, 0x6a, 0x9b, 0x4d, 0x48, 0x13, 0x39, 0x0b,
-	0x4a, 0x68, 0x7e, 0x5a, 0x94, 0x6f, 0x40, 0xa4, 0xc3, 0xbf, 0x3c, 0x18, 0xda, 0xd1, 0xf6, 0x4f,
-	0x83, 0xf3, 0x5f, 0xb7, 0xee, 0x39, 0xaf, 0x55, 0xfc, 0x2d, 0x70, 0xbd, 0xea, 0x6e, 0x2a, 0x59,
-	0x5c, 0x9e, 0x46, 0xa5, 0x49, 0x22, 0x55, 0x9c, 0xa5, 0x79, 0xb9, 0x5d, 0xfb, 0x4e, 0xf6, 0x34,
-	0xcd, 0x25, 0xfb, 0x0c, 0x46, 0x22, 0x55, 0x92, 0x1c, 0xb6, 0x46, 0x16, 0xd4, 0x61, 0x25, 0x25,
-	0xb3, 0x32, 0x5d, 0xdd, 0x5a, 0xba, 0x6e, 0xc3, 0x50, 0xc8, 0x53, 0x99, 0xcf, 0x65, 0xac, 0x0d,
-	0x37, 0xb6, 0xd4, 0xda, 0xd1, 0xc0, 0x09, 0x8f, 0x51, 0x76, 0xf7, 0x07, 0x18, 0xd4, 0x61, 0x65,
-	0x03, 0xe8, 0x9d, 0xc4, 0x16, 0x80, 0xf1, 0x05, 0x36, 0x86, 0x41, 0xc9, 0xe1, 0x9c, 0x1a, 0x7b,
-	0xec, 0x32, 0x8c, 0xeb, 0x12, 0x9c, 0xcb, 0xe3, 0x06, 0x03, 0xe8, 0x9c, 0xc4, 0x64, 0xd1, 0x64,
-	0x43, 0xf0, 0x2d, 0x7d, 0x2c, 0x16, 0xe3, 0x16, 0xbb, 0x04, 0xc3, 0x8a, 0xc5, 0xf9, 0x38, 0x6e,
-	0x33, 0x1f, 0xda, 0x27, 0x31, 0x6a, 0x3b, 0x77, 0xef, 0x43, 0xaf, 0x4c, 0x0b, 0x1e, 0x32, 0xcd,
-	0xb5, 0x54, 0x66, 0x7c, 0x01, 0xe9, 0x6f, 0xa8, 0x23, 0xc6, 0x1e, 0xd2, 0x47, 0x32, 0x93, 0x46,
-	0x8e, 0x1b, 0x8f, 0xc6, 0x6f, 0xdf, 0xed, 0x79, 0xbf, 0xbc, 0xdb, 0xf3, 0x7e, 0x7b, 0xb7, 0xe7,
-	0xbd, 0xf9, 0x7d, 0xef, 0xc2, 0xac, 0x43, 0xf9, 0x7d, 0xf0, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff,
-	0xab, 0x95, 0xc4, 0x27, 0xff, 0x0d, 0x00, 0x00,
+	// 1509 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x57, 0xcd, 0x8e, 0x14, 0x47,
+	0x12, 0x9e, 0xea, 0xff, 0x8a, 0xfe, 0xa1, 0xc9, 0x65, 0xa1, 0x80, 0x65, 0x76, 0x28, 0x58, 0xed,
+	0x08, 0x2d, 0x1c, 0x06, 0x5e, 0xa0, 0x61, 0xc4, 0xaa, 0x25, 0x16, 0xb1, 0x35, 0x63, 0x7c, 0x73,
+	0x29, 0xbb, 0x33, 0xa7, 0x28, 0x75, 0x75, 0x55, 0x2b, 0x33, 0x1b, 0x3c, 0x07, 0x3f, 0x81, 0x0f,
+	0xf6, 0xd1, 0xaf, 0xe0, 0x37, 0xe1, 0xc8, 0xd1, 0x37, 0x5b, 0x20, 0xf9, 0x62, 0xf9, 0x1d, 0xac,
+	0x88, 0xcc, 0xaa, 0xae, 0x6e, 0xc6, 0x36, 0xf2, 0x2d, 0xfe, 0x2a, 0x33, 0xe2, 0x8b, 0xbf, 0x2c,
+	0x18, 0xad, 0x54, 0x61, 0x8a, 0xa5, 0x4e, 0x1e, 0x10, 0xc1, 0x7a, 0x25, 0x7f, 0x03, 0x66, 0x5c,
+	0x4b, 0x2b, 0x0d, 0x0d, 0x8c, 0x4e, 0xc4, 0x62, 0xa9, 0x93, 0xcf, 0x53, 0xf3, 0xea, 0x94, 0xeb,
+	0x05, 0xbb, 0x02, 0x6d, 0x2d, 0x16, 0xa9, 0x08, 0xbc, 0x03, 0xef, 0xd0, 0x8f, 0x2c, 0xc3, 0x02,
+	0xe8, 0x6a, 0xb1, 0x30, 0xe7, 0x2b, 0x19, 0x34, 0x48, 0x5e, 0xb2, 0x4e, 0xf3, 0x9c, 0x2f, 0x65,
+	0xd0, 0xac, 0x34, 0xc8, 0x3a, 0x8d, 0xe0, 0x86, 0x07, 0xad, 0x03, 0xef, 0x70, 0x10, 0x95, 0x6c,
+	0xf8, 0xb5, 0x07, 0x3e, 0x5e, 0xf6, 0x8c, 0xcf, 0x64, 0xc6, 0xae, 0x42, 0xc7, 0x70, 0xbd, 0xb9,
+	0xd2, 0x71, 0xec, 0x06, 0xf4, 0x90, 0xca, 0xf1, 0x68, 0x7b, 0x69, 0xc5, 0xb3, 0x47, 0xd0, 0x43,
+	0xc7, 0xf2, 0xb3, 0x42, 0x07, 0xcd, 0x83, 0xe6, 0x61, 0xff, 0x28, 0x78, 0x50, 0x05, 0xbc, 0x1d,
+	0x51, 0x54, 0x59, 0x62, 0x6c, 0x69, 0x2e, 0xe4, 0x97, 0xe4, 0x4f, 0x3b, 0xb2, 0x4c, 0xf8, 0x06,
+	0xe0, 0x44, 0x2c, 0xfe, 0x27, 0xb5, 0xe6, 0x89, 0x64, 0x63, 0x68, 0xce, 0x2b, 0x57, 0x90, 0xc4,
+	0xaf, 0xe6, 0x5c, 0x08, 0xe5, 0x9c, 0xb0, 0x0c, 0xbb, 0x0f, 0x5d, 0xf4, 0x26, 0xe3, 0x33, 0x8a,
+	0xbb, 0x7f, 0xf4, 0xb7, 0x8d, 0x03, 0x55, 0x6c, 0x51, 0x69, 0xc3, 0x18, 0xb4, 0x6a, 0x48, 0x10,
+	0x1d, 0x3e, 0x85, 0xd6, 0x44, 0x49, 0xce, 0x46, 0xd0, 0x70, 0x37, 0xb6, 0xa3, 0x86, 0x0d, 0x7c,
+	0xc5, 0x95, 0xcc, 0x4d, 0x2a, 0xe8, 0xce, 0x76, 0x54, 0xf1, 0x78, 0x4e, 0xbe, 0xc1, 0x9a, 0xe8,
+	0xf0, 0x6d, 0x03, 0x3a, 0x4f, 0xf8, 0x52, 0xaa, 0xfa, 0x51, 0x3e, 0x1d, 0x55, 0x9a, 0x37, 0x36,
+	0xe6, 0x28, 0xa3, 0x44, 0x36, 0xe9, 0x68, 0xa2, 0x51, 0x46, 0x21, 0xb6, 0xac, 0x1d, 0x45, 0x78,
+	0x15, 0x3a, 0x5c, 0x49, 0x9e, 0x8a, 0xa0, 0x4d, 0x96, 0x8e, 0x63, 0xff, 0x00, 0x3f, 0x2b, 0xf2,
+	0x24, 0x35, 0x6b, 0x21, 0x83, 0xce, 0x81, 0x77, 0xd8, 0x88, 0x36, 0x02, 0x74, 0x3e, 0xe3, 0xc6,
+	0x2a, 0xbb, 0xa4, 0xac, 0x78, 0xbc, 0x45, 0x19, 0xbd, 0x0a, 0x7a, 0xf6, 0x16, 0xa4, 0xc9, 0xe3,
+	0x55, 0xe0, 0x3b, 0x8f, 0x57, 0x68, 0xb3, 0x2a, 0x94, 0x09, 0xc0, 0x7a, 0x87, 0x34, 0x9e, 0xb9,
+	0xd6, 0x52, 0x51, 0x24, 0x7d, 0x5b, 0x09, 0x25, 0x6f, 0xc1, 0xd2, 0xfa, 0x4d, 0xa1, 0x44, 0x30,
+	0xb0, 0xba, 0x92, 0xc7, 0xcc, 0xcd, 0x14, 0xcf, 0x45, 0x30, 0xb4, 0x99, 0x23, 0x06, 0xbf, 0x50,
+	0x52, 0x4b, 0xf5, 0x5a, 0x8a, 0x60, 0x64, 0xbf, 0x28, 0xf9, 0x70, 0x0e, 0x97, 0x2d, 0x92, 0x93,
+	0x5c, 0x60, 0x16, 0xa7, 0xf9, 0x59, 0xc1, 0x0e, 0xa1, 0x33, 0x27, 0x21, 0x01, 0xdb, 0x3f, 0x1a,
+	0x6f, 0x32, 0x6d, 0x8d, 0x23, 0xa7, 0x67, 0x77, 0xa1, 0x8d, 0x09, 0xd7, 0x41, 0x83, 0x6a, 0x72,
+	0xb4, 0x5d, 0x12, 0x91, 0x55, 0x86, 0x3f, 0x7a, 0xd0, 0xa2, 0x5e, 0xfb, 0x2b, 0x95, 0x7f, 0x13,
+	0xfc, 0xb9, 0x92, 0xdc, 0xc8, 0x98, 0x1b, 0x57, 0x05, 0x3d, 0x2b, 0x98, 0x98, 0x9a, 0x72, 0x76,
+	0xee, 0x72, 0xe9, 0x94, 0x8f, 0xcf, 0x51, 0xb9, 0x5e, 0x09, 0xf7, 0x65, 0xdb, 0xc1, 0x48, 0x82,
+	0x89, 0x41, 0x57, 0x64, 0xce, 0x67, 0x99, 0xcd, 0x68, 0x2f, 0x72, 0x1c, 0xbb, 0x0e, 0xbd, 0x54,
+	0xc7, 0x3c, 0xe3, 0x6a, 0x49, 0xe9, 0xec, 0x45, 0xdd, 0x54, 0x4f, 0x90, 0x45, 0x95, 0x90, 0x59,
+	0x7c, 0x96, 0xf1, 0x84, 0x32, 0xda, 0x8b, 0xba, 0x42, 0x66, 0x4f, 0x33, 0x9e, 0x84, 0xa7, 0xd0,
+	0xc7, 0x00, 0x4f, 0x84, 0x05, 0x30, 0x84, 0x16, 0xfa, 0xef, 0xe0, 0xdb, 0x45, 0x85, 0x74, 0xec,
+	0x36, 0xb4, 0xb4, 0xa8, 0x90, 0x1b, 0x6e, 0x75, 0x73, 0x44, 0xaa, 0xf0, 0xe7, 0x06, 0x80, 0x05,
+	0x9c, 0xd0, 0xdb, 0xad, 0x75, 0x0c, 0x9e, 0xb4, 0xb1, 0xeb, 0x1b, 0x0c, 0x9e, 0x04, 0x53, 0xc1,
+	0xae, 0xd9, 0x76, 0x45, 0x55, 0x73, 0x83, 0xf5, 0x54, 0xb0, 0xfb, 0xe0, 0x9b, 0x74, 0x29, 0x63,
+	0xb5, 0xce, 0x64, 0xd0, 0xa2, 0xcb, 0x6b, 0xf9, 0x3d, 0xe6, 0xe7, 0x4f, 0x4c, 0x16, 0xf5, 0xd0,
+	0x24, 0x5a, 0x67, 0x92, 0xdd, 0x02, 0x50, 0x92, 0xcf, 0x8d, 0xb5, 0xb7, 0x28, 0xfa, 0x24, 0x21,
+	0xf5, 0x6d, 0x18, 0x58, 0xb5, 0x90, 0xaf, 0xd3, 0xb9, 0x05, 0xd3, 0x8f, 0xfa, 0x24, 0x3b, 0x26,
+	0xd1, 0x16, 0x6c, 0xdd, 0x2d, 0xd8, 0xd8, 0x3f, 0xa1, 0xef, 0x32, 0x54, 0x03, 0x15, 0xac, 0x88,
+	0x0c, 0x36, 0x59, 0xf2, 0xb7, 0xb2, 0xc4, 0xa0, 0xa5, 0x6b, 0x4d, 0x83, 0x34, 0x46, 0x9c, 0xea,
+	0xf8, 0x6c, 0x9d, 0x65, 0xd4, 0x33, 0xbd, 0xa8, 0x93, 0xea, 0xa7, 0xeb, 0x2c, 0x63, 0x07, 0x30,
+	0xc8, 0xd2, 0x7c, 0x11, 0x97, 0x78, 0xd8, 0xae, 0x01, 0x94, 0x51, 0xc9, 0x8b, 0xf0, 0xff, 0x30,
+	0x72, 0x38, 0xa7, 0x4b, 0x89, 0x81, 0x7e, 0xd2, 0x5c, 0xb9, 0x59, 0x47, 0xd2, 0x55, 0x66, 0x89,
+	0x5b, 0xf8, 0x1c, 0x3a, 0x16, 0x4b, 0x1c, 0xb0, 0x82, 0x9f, 0xbb, 0x71, 0x87, 0x24, 0x3b, 0x02,
+	0xb0, 0x1f, 0xf2, 0x3c, 0x91, 0xae, 0x00, 0xea, 0xd3, 0x14, 0xcf, 0x40, 0x55, 0x44, 0xe7, 0x13,
+	0x19, 0x3e, 0x04, 0xbf, 0x92, 0xd3, 0xce, 0x32, 0x5c, 0x99, 0x6a, 0x67, 0x21, 0x83, 0x17, 0xc9,
+	0xbc, 0xac, 0x04, 0x24, 0xc3, 0x97, 0xd0, 0x7d, 0x51, 0x64, 0xe7, 0x49, 0x91, 0x7f, 0x52, 0x40,
+	0xff, 0x86, 0xce, 0xaa, 0x48, 0x73, 0x53, 0xae, 0x98, 0x4b, 0x1b, 0x9f, 0x5e, 0xa0, 0x3c, 0x72,
+	0xea, 0x70, 0x5e, 0xe1, 0xc5, 0xf5, 0x62, 0xa2, 0x12, 0xbd, 0x5d, 0x8b, 0xde, 0x4e, 0x2d, 0x3e,
+	0x02, 0x9f, 0xb0, 0xe7, 0x2a, 0x29, 0xeb, 0xfd, 0xda, 0x76, 0x4f, 0xfc, 0x57, 0x15, 0xeb, 0x15,
+	0x1e, 0x64, 0x1b, 0x1f, 0xa9, 0xf0, 0x0b, 0x18, 0x6e, 0xa9, 0xea, 0x25, 0xed, 0x6d, 0x95, 0xf4,
+	0x23, 0xe8, 0x27, 0x68, 0x45, 0x99, 0xd0, 0x1f, 0x03, 0x4a, 0x47, 0x60, 0x56, 0x22, 0x48, 0x4a,
+	0x52, 0x87, 0xcf, 0xc0, 0xaf, 0x14, 0x58, 0xa4, 0xf6, 0x88, 0xea, 0xf0, 0x2e, 0xf1, 0x53, 0x81,
+	0x33, 0xae, 0x7e, 0x6e, 0xad, 0x9b, 0xe9, 0x48, 0xab, 0x0c, 0x7f, 0x69, 0x40, 0x2b, 0xba, 0xa8,
+	0x72, 0xee, 0xc2, 0xc8, 0x21, 0x53, 0x3a, 0x6f, 0x21, 0x1f, 0xcc, 0x2b, 0x04, 0xa7, 0x3b, 0xbd,
+	0xdc, 0xdc, 0xc1, 0xef, 0x16, 0xc0, 0xca, 0xa6, 0x11, 0xb5, 0x76, 0xcc, 0xf9, 0x4e, 0x32, 0x15,
+	0xec, 0xef, 0xd0, 0xd1, 0x82, 0x4e, 0x6e, 0x57, 0x4f, 0x98, 0xa9, 0x60, 0x21, 0x0c, 0x51, 0xcc,
+	0x55, 0x12, 0xf3, 0x2c, 0xe5, 0xba, 0xec, 0x4d, 0x2d, 0x10, 0xdf, 0x09, 0x8a, 0x70, 0xf0, 0x16,
+	0x2b, 0xa9, 0xb8, 0x29, 0x14, 0xf5, 0xa6, 0x1f, 0x55, 0x3c, 0xbb, 0x03, 0xc3, 0x92, 0x8e, 0x69,
+	0x7f, 0xda, 0x2d, 0x36, 0x28, 0x85, 0xa7, 0xb8, 0x47, 0x6b, 0x97, 0xbc, 0xe6, 0xd9, 0x5a, 0xba,
+	0xc5, 0xe6, 0x2e, 0x79, 0x89, 0xa2, 0x0b, 0x9b, 0x35, 0x84, 0x21, 0xe2, 0x16, 0xbf, 0x49, 0xcd,
+	0xab, 0x78, 0xa5, 0xca, 0x35, 0xd7, 0x47, 0x21, 0x3e, 0x64, 0x5e, 0xa8, 0xed, 0x9c, 0x0c, 0xb6,
+	0x72, 0x12, 0x7e, 0xdf, 0x80, 0xe6, 0x89, 0xf8, 0x78, 0x24, 0x5e, 0xa7, 0x67, 0x52, 0xbc, 0xf3,
+	0x6e, 0x23, 0x4f, 0x9d, 0x2a, 0xbf, 0xe0, 0xe1, 0x76, 0x17, 0x5a, 0x54, 0x9a, 0x1f, 0x4d, 0xc3,
+	0x13, 0x8a, 0x22, 0x22, 0x2d, 0x86, 0x91, 0xce, 0x8b, 0xdc, 0x81, 0x4c, 0x34, 0xb6, 0xdc, 0x5a,
+	0x65, 0x0e, 0x59, 0x24, 0x71, 0xa4, 0xb9, 0x8d, 0x84, 0xbd, 0xeb, 0x40, 0x05, 0x2b, 0xc2, 0x06,
+	0xae, 0xcd, 0x3c, 0x32, 0xb0, 0xa0, 0xba, 0x99, 0x47, 0x06, 0x5b, 0x3b, 0xcd, 0xdf, 0xd9, 0x69,
+	0x9b, 0x81, 0x08, 0xbb, 0x6b, 0xab, 0x1a, 0xb2, 0x7d, 0xc2, 0xb9, 0xda, 0x4d, 0xdf, 0x79, 0xd0,
+	0xb1, 0x81, 0xe0, 0xdc, 0xb0, 0xa5, 0xe0, 0xe6, 0x06, 0x31, 0x7f, 0xfa, 0x66, 0xf2, 0x37, 0x6f,
+	0xa6, 0xe5, 0x5a, 0x1b, 0x2a, 0xc0, 0x5e, 0x44, 0x34, 0xca, 0xd6, 0x79, 0x5a, 0xae, 0x57, 0xa2,
+	0xf1, 0x16, 0x3b, 0xd9, 0x2c, 0x2c, 0x96, 0xa9, 0xaa, 0xa0, 0xbb, 0xa9, 0x82, 0xf0, 0x1b, 0x0f,
+	0x2e, 0x1d, 0xcf, 0x9e, 0xbc, 0x42, 0x83, 0xf2, 0x3d, 0xfa, 0x1f, 0x7c, 0x52, 0x60, 0x80, 0xe8,
+	0xe3, 0xe8, 0xe8, 0x6a, 0x7d, 0x50, 0xcc, 0x32, 0x69, 0x8d, 0x45, 0x64, 0x8d, 0x5c, 0x01, 0x34,
+	0xaa, 0x02, 0xb8, 0x07, 0x1d, 0x3e, 0x37, 0x69, 0x91, 0x93, 0xe7, 0xa3, 0x23, 0x56, 0x5b, 0x6d,
+	0xb3, 0x09, 0x69, 0x22, 0x67, 0x41, 0x09, 0xcd, 0xcf, 0x8a, 0xf2, 0x0d, 0x88, 0x74, 0xf8, 0xab,
+	0x07, 0x43, 0x3b, 0xda, 0x7e, 0x6f, 0x70, 0xfe, 0xe1, 0xd6, 0xbd, 0xe0, 0xb5, 0x8a, 0xbf, 0x05,
+	0xae, 0x57, 0xdd, 0x4d, 0x25, 0x8b, 0xcb, 0xd3, 0xa8, 0x34, 0x49, 0xa4, 0x8a, 0xb3, 0x34, 0x2f,
+	0xb7, 0x6b, 0xdf, 0xc9, 0x9e, 0xa5, 0xb9, 0x64, 0xff, 0x82, 0x91, 0x48, 0x95, 0x24, 0x87, 0xad,
+	0x91, 0x05, 0x75, 0x58, 0x49, 0xc9, 0xac, 0x4c, 0x57, 0xb7, 0x96, 0xae, 0x3b, 0x30, 0x14, 0xf2,
+	0x4c, 0xe6, 0x73, 0x19, 0x6b, 0xc3, 0x8d, 0x2d, 0xb5, 0x76, 0x34, 0x70, 0xc2, 0x13, 0x94, 0xdd,
+	0xfb, 0x0a, 0x06, 0x75, 0x58, 0xd9, 0x00, 0x7a, 0xa7, 0xb1, 0x05, 0x60, 0xbc, 0xc7, 0xc6, 0x30,
+	0x28, 0x39, 0x9c, 0x53, 0x63, 0x8f, 0x5d, 0x81, 0x71, 0x5d, 0x82, 0x73, 0x79, 0xdc, 0x60, 0x00,
+	0x9d, 0xd3, 0x98, 0x2c, 0x9a, 0x6c, 0x08, 0xbe, 0xa5, 0x4f, 0xc4, 0x62, 0xdc, 0x62, 0x97, 0x61,
+	0x58, 0xb1, 0x38, 0x1f, 0xc7, 0x6d, 0xe6, 0x43, 0xfb, 0x34, 0x46, 0x6d, 0xe7, 0xde, 0x03, 0xe8,
+	0x95, 0x69, 0xc1, 0x43, 0xa6, 0xb9, 0x96, 0xca, 0x8c, 0xf7, 0x90, 0xfe, 0x8c, 0x3a, 0x62, 0xec,
+	0x21, 0x7d, 0x2c, 0x33, 0x69, 0xe4, 0xb8, 0xf1, 0x38, 0x78, 0xfb, 0x7e, 0xdf, 0x7b, 0xf7, 0x7e,
+	0xdf, 0xfb, 0xe9, 0xfd, 0xbe, 0xf7, 0xed, 0x87, 0xfd, 0xbd, 0x77, 0x1f, 0xf6, 0xf7, 0x7e, 0xf8,
+	0xb0, 0xbf, 0x37, 0xeb, 0x50, 0x9e, 0x1f, 0xfe, 0x16, 0x00, 0x00, 0xff, 0xff, 0x0c, 0x4b, 0x8d,
+	0x45, 0x07, 0x0e, 0x00, 0x00,
 }
 
 func (m *SdkmsgWithTask) Marshal() (dAtA []byte, err error) {
@@ -1975,9 +1913,6 @@
 		i++
 		i = encodeVarintProtomsg(dAtA, i, uint64(len(m.Sdkdata)))
 		i += copy(dAtA[i:], m.Sdkdata)
-	}
-	if m.XXX_unrecognized != nil {
-		i += copy(dAtA[i:], m.XXX_unrecognized)
 	}
 	return i, nil
 }
@@ -2026,9 +1961,6 @@
 		i++
 		i = encodeVarintProtomsg(dAtA, i, uint64(m.Index))
 	}
-	if m.XXX_unrecognized != nil {
-		i += copy(dAtA[i:], m.XXX_unrecognized)
-	}
 	return i, nil
 }
 
@@ -2075,9 +2007,6 @@
 		i = encodeVarintProtomsg(dAtA, i, uint64(len(m.Data)))
 		i += copy(dAtA[i:], m.Data)
 	}
-	if m.XXX_unrecognized != nil {
-		i += copy(dAtA[i:], m.XXX_unrecognized)
-	}
 	return i, nil
 }
 
@@ -2111,9 +2040,6 @@
 		i++
 		i = encodeVarintProtomsg(dAtA, i, uint64(len(m.Name)))
 		i += copy(dAtA[i:], m.Name)
-	}
-	if m.XXX_unrecognized != nil {
-		i += copy(dAtA[i:], m.XXX_unrecognized)
 	}
 	return i, nil
 }
@@ -2214,9 +2140,6 @@
 		i = encodeVarintProtomsg(dAtA, i, uint64(len(m.Reserved)))
 		i += copy(dAtA[i:], m.Reserved)
 	}
-	if m.XXX_unrecognized != nil {
-		i += copy(dAtA[i:], m.XXX_unrecognized)
-	}
 	return i, nil
 }
 
@@ -2256,9 +2179,6 @@
 			}
 			i += n
 		}
-	}
-	if m.XXX_unrecognized != nil {
-		i += copy(dAtA[i:], m.XXX_unrecognized)
 	}
 	return i, nil
 }
@@ -2338,9 +2258,6 @@
 		}
 		i++
 	}
-	if m.XXX_unrecognized != nil {
-		i += copy(dAtA[i:], m.XXX_unrecognized)
-	}
 	return i, nil
 }
 
@@ -2380,9 +2297,6 @@
 			}
 			i += n
 		}
-	}
-	if m.XXX_unrecognized != nil {
-		i += copy(dAtA[i:], m.XXX_unrecognized)
 	}
 	return i, nil
 }
@@ -2495,9 +2409,6 @@
 		i = encodeVarintProtomsg(dAtA, i, uint64(len(m.LinkTaskId)))
 		i += copy(dAtA[i:], m.LinkTaskId)
 	}
-	if m.XXX_unrecognized != nil {
-		i += copy(dAtA[i:], m.XXX_unrecognized)
-	}
 	return i, nil
 }
 
@@ -2534,9 +2445,6 @@
 		i = encodeVarintProtomsg(dAtA, i, uint64(len(m.TimeRule)))
 		i += copy(dAtA[i:], m.TimeRule)
 	}
-	if m.XXX_unrecognized != nil {
-		i += copy(dAtA[i:], m.XXX_unrecognized)
-	}
 	return i, nil
 }
 
@@ -2572,9 +2480,6 @@
 			i += n
 		}
 	}
-	if m.XXX_unrecognized != nil {
-		i += copy(dAtA[i:], m.XXX_unrecognized)
-	}
 	return i, nil
 }
 
@@ -2604,9 +2509,6 @@
 		i++
 		i = encodeVarintProtomsg(dAtA, i, uint64(len(m.End)))
 		i += copy(dAtA[i:], m.End)
-	}
-	if m.XXX_unrecognized != nil {
-		i += copy(dAtA[i:], m.XXX_unrecognized)
 	}
 	return i, nil
 }
@@ -2650,9 +2552,6 @@
 			i += n
 		}
 	}
-	if m.XXX_unrecognized != nil {
-		i += copy(dAtA[i:], m.XXX_unrecognized)
-	}
 	return i, nil
 }
 
@@ -2688,9 +2587,6 @@
 			}
 			i += n
 		}
-	}
-	if m.XXX_unrecognized != nil {
-		i += copy(dAtA[i:], m.XXX_unrecognized)
 	}
 	return i, nil
 }
@@ -2728,9 +2624,6 @@
 			i += n
 		}
 	}
-	if m.XXX_unrecognized != nil {
-		i += copy(dAtA[i:], m.XXX_unrecognized)
-	}
 	return i, nil
 }
 
@@ -2766,9 +2659,6 @@
 			}
 			i += n
 		}
-	}
-	if m.XXX_unrecognized != nil {
-		i += copy(dAtA[i:], m.XXX_unrecognized)
 	}
 	return i, nil
 }
@@ -2858,9 +2748,6 @@
 		i++
 		i = encodeVarintProtomsg(dAtA, i, uint64(len(m.GroupId)))
 		i += copy(dAtA[i:], m.GroupId)
-	}
-	if m.XXX_unrecognized != nil {
-		i += copy(dAtA[i:], m.XXX_unrecognized)
 	}
 	return i, nil
 }
@@ -2955,9 +2842,6 @@
 		i++
 		i = encodeVarintProtomsg(dAtA, i, uint64(m.DelFlag))
 	}
-	if m.XXX_unrecognized != nil {
-		i += copy(dAtA[i:], m.XXX_unrecognized)
-	}
 	return i, nil
 }
 
@@ -3021,9 +2905,6 @@
 		i++
 		i = encodeVarintProtomsg(dAtA, i, uint64(m.Sort))
 	}
-	if m.XXX_unrecognized != nil {
-		i += copy(dAtA[i:], m.XXX_unrecognized)
-	}
 	return i, nil
 }
 
@@ -3063,9 +2944,6 @@
 		i++
 		i = encodeVarintProtomsg(dAtA, i, uint64(len(m.Info)))
 		i += copy(dAtA[i:], m.Info)
-	}
-	if m.XXX_unrecognized != nil {
-		i += copy(dAtA[i:], m.XXX_unrecognized)
 	}
 	return i, nil
 }
@@ -3132,9 +3010,6 @@
 		i++
 		i = encodeVarintProtomsg(dAtA, i, uint64(m.DefenceState))
 	}
-	if m.XXX_unrecognized != nil {
-		i += copy(dAtA[i:], m.XXX_unrecognized)
-	}
 	return i, nil
 }
 
@@ -3169,9 +3044,6 @@
 	if l > 0 {
 		n += 1 + l + sovProtomsg(uint64(l))
 	}
-	if m.XXX_unrecognized != nil {
-		n += len(m.XXX_unrecognized)
-	}
 	return n
 }
 
@@ -3198,9 +3070,6 @@
 	if m.Index != 0 {
 		n += 1 + sovProtomsg(uint64(m.Index))
 	}
-	if m.XXX_unrecognized != nil {
-		n += len(m.XXX_unrecognized)
-	}
 	return n
 }
 
@@ -3226,9 +3095,6 @@
 	if l > 0 {
 		n += 1 + l + sovProtomsg(uint64(l))
 	}
-	if m.XXX_unrecognized != nil {
-		n += len(m.XXX_unrecognized)
-	}
 	return n
 }
 
@@ -3247,9 +3113,6 @@
 	l = len(m.Name)
 	if l > 0 {
 		n += 1 + l + sovProtomsg(uint64(l))
-	}
-	if m.XXX_unrecognized != nil {
-		n += len(m.XXX_unrecognized)
 	}
 	return n
 }
@@ -3311,9 +3174,6 @@
 	if l > 0 {
 		n += 1 + l + sovProtomsg(uint64(l))
 	}
-	if m.XXX_unrecognized != nil {
-		n += len(m.XXX_unrecognized)
-	}
 	return n
 }
 
@@ -3332,9 +3192,6 @@
 			l = e.Size()
 			n += 1 + l + sovProtomsg(uint64(l))
 		}
-	}
-	if m.XXX_unrecognized != nil {
-		n += len(m.XXX_unrecognized)
 	}
 	return n
 }
@@ -3374,9 +3231,6 @@
 	if m.DelFlag {
 		n += 2
 	}
-	if m.XXX_unrecognized != nil {
-		n += len(m.XXX_unrecognized)
-	}
 	return n
 }
 
@@ -3395,9 +3249,6 @@
 			l = e.Size()
 			n += 1 + l + sovProtomsg(uint64(l))
 		}
-	}
-	if m.XXX_unrecognized != nil {
-		n += len(m.XXX_unrecognized)
 	}
 	return n
 }
@@ -3453,9 +3304,6 @@
 	if l > 0 {
 		n += 1 + l + sovProtomsg(uint64(l))
 	}
-	if m.XXX_unrecognized != nil {
-		n += len(m.XXX_unrecognized)
-	}
 	return n
 }
 
@@ -3477,9 +3325,6 @@
 	if l > 0 {
 		n += 1 + l + sovProtomsg(uint64(l))
 	}
-	if m.XXX_unrecognized != nil {
-		n += len(m.XXX_unrecognized)
-	}
 	return n
 }
 
@@ -3498,9 +3343,6 @@
 			n += 1 + l + sovProtomsg(uint64(l))
 		}
 	}
-	if m.XXX_unrecognized != nil {
-		n += len(m.XXX_unrecognized)
-	}
 	return n
 }
 
@@ -3517,9 +3359,6 @@
 	l = len(m.End)
 	if l > 0 {
 		n += 1 + l + sovProtomsg(uint64(l))
-	}
-	if m.XXX_unrecognized != nil {
-		n += len(m.XXX_unrecognized)
 	}
 	return n
 }
@@ -3544,9 +3383,6 @@
 			n += 1 + l + sovProtomsg(uint64(l))
 		}
 	}
-	if m.XXX_unrecognized != nil {
-		n += len(m.XXX_unrecognized)
-	}
 	return n
 }
 
@@ -3565,9 +3401,6 @@
 			l = e.Size()
 			n += 1 + l + sovProtomsg(uint64(l))
 		}
-	}
-	if m.XXX_unrecognized != nil {
-		n += len(m.XXX_unrecognized)
 	}
 	return n
 }
@@ -3588,9 +3421,6 @@
 			n += 1 + l + sovProtomsg(uint64(l))
 		}
 	}
-	if m.XXX_unrecognized != nil {
-		n += len(m.XXX_unrecognized)
-	}
 	return n
 }
 
@@ -3609,9 +3439,6 @@
 			l = e.Size()
 			n += 1 + l + sovProtomsg(uint64(l))
 		}
-	}
-	if m.XXX_unrecognized != nil {
-		n += len(m.XXX_unrecognized)
 	}
 	return n
 }
@@ -3669,9 +3496,6 @@
 	if l > 0 {
 		n += 1 + l + sovProtomsg(uint64(l))
 	}
-	if m.XXX_unrecognized != nil {
-		n += len(m.XXX_unrecognized)
-	}
 	return n
 }
 
@@ -3725,9 +3549,6 @@
 	if m.DelFlag != 0 {
 		n += 1 + sovProtomsg(uint64(m.DelFlag))
 	}
-	if m.XXX_unrecognized != nil {
-		n += len(m.XXX_unrecognized)
-	}
 	return n
 }
 
@@ -3763,9 +3584,6 @@
 	if m.Sort != 0 {
 		n += 1 + sovProtomsg(uint64(m.Sort))
 	}
-	if m.XXX_unrecognized != nil {
-		n += len(m.XXX_unrecognized)
-	}
 	return n
 }
 
@@ -3788,9 +3606,6 @@
 	l = len(m.Info)
 	if l > 0 {
 		n += 1 + l + sovProtomsg(uint64(l))
-	}
-	if m.XXX_unrecognized != nil {
-		n += len(m.XXX_unrecognized)
 	}
 	return n
 }
@@ -3831,9 +3646,6 @@
 	}
 	if m.DefenceState != 0 {
 		n += 1 + sovProtomsg(uint64(m.DefenceState))
-	}
-	if m.XXX_unrecognized != nil {
-		n += len(m.XXX_unrecognized)
 	}
 	return n
 }
@@ -4025,7 +3837,6 @@
 			if (iNdEx + skippy) > l {
 				return io.ErrUnexpectedEOF
 			}
-			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
 			iNdEx += skippy
 		}
 	}
@@ -4196,7 +4007,6 @@
 			if (iNdEx + skippy) > l {
 				return io.ErrUnexpectedEOF
 			}
-			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
 			iNdEx += skippy
 		}
 	}
@@ -4384,7 +4194,6 @@
 			if (iNdEx + skippy) > l {
 				return io.ErrUnexpectedEOF
 			}
-			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
 			iNdEx += skippy
 		}
 	}
@@ -4508,7 +4317,6 @@
 			if (iNdEx + skippy) > l {
 				return io.ErrUnexpectedEOF
 			}
-			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
 			iNdEx += skippy
 		}
 	}
@@ -4929,7 +4737,6 @@
 			if (iNdEx + skippy) > l {
 				return io.ErrUnexpectedEOF
 			}
-			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
 			iNdEx += skippy
 		}
 	}
@@ -5053,7 +4860,6 @@
 			if (iNdEx + skippy) > l {
 				return io.ErrUnexpectedEOF
 			}
-			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
 			iNdEx += skippy
 		}
 	}
@@ -5327,7 +5133,6 @@
 			if (iNdEx + skippy) > l {
 				return io.ErrUnexpectedEOF
 			}
-			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
 			iNdEx += skippy
 		}
 	}
@@ -5451,7 +5256,6 @@
 			if (iNdEx + skippy) > l {
 				return io.ErrUnexpectedEOF
 			}
-			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
 			iNdEx += skippy
 		}
 	}
@@ -5830,7 +5634,6 @@
 			if (iNdEx + skippy) > l {
 				return io.ErrUnexpectedEOF
 			}
-			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
 			iNdEx += skippy
 		}
 	}
@@ -5980,7 +5783,6 @@
 			if (iNdEx + skippy) > l {
 				return io.ErrUnexpectedEOF
 			}
-			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
 			iNdEx += skippy
 		}
 	}
@@ -6087,7 +5889,6 @@
 			if (iNdEx + skippy) > l {
 				return io.ErrUnexpectedEOF
 			}
-			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
 			iNdEx += skippy
 		}
 	}
@@ -6205,7 +6006,6 @@
 			if (iNdEx + skippy) > l {
 				return io.ErrUnexpectedEOF
 			}
-			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
 			iNdEx += skippy
 		}
 	}
@@ -6357,7 +6157,6 @@
 			if (iNdEx + skippy) > l {
 				return io.ErrUnexpectedEOF
 			}
-			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
 			iNdEx += skippy
 		}
 	}
@@ -6477,7 +6276,6 @@
 			if (iNdEx + skippy) > l {
 				return io.ErrUnexpectedEOF
 			}
-			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
 			iNdEx += skippy
 		}
 	}
@@ -6597,7 +6395,6 @@
 			if (iNdEx + skippy) > l {
 				return io.ErrUnexpectedEOF
 			}
-			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
 			iNdEx += skippy
 		}
 	}
@@ -6717,7 +6514,6 @@
 			if (iNdEx + skippy) > l {
 				return io.ErrUnexpectedEOF
 			}
-			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
 			iNdEx += skippy
 		}
 	}
@@ -7142,7 +6938,6 @@
 			if (iNdEx + skippy) > l {
 				return io.ErrUnexpectedEOF
 			}
-			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
 			iNdEx += skippy
 		}
 	}
@@ -7525,7 +7320,6 @@
 			if (iNdEx + skippy) > l {
 				return io.ErrUnexpectedEOF
 			}
-			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
 			iNdEx += skippy
 		}
 	}
@@ -7778,7 +7572,6 @@
 			if (iNdEx + skippy) > l {
 				return io.ErrUnexpectedEOF
 			}
-			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
 			iNdEx += skippy
 		}
 	}
@@ -7934,7 +7727,6 @@
 			if (iNdEx + skippy) > l {
 				return io.ErrUnexpectedEOF
 			}
-			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
 			iNdEx += skippy
 		}
 	}
@@ -8231,7 +8023,6 @@
 			if (iNdEx + skippy) > l {
 				return io.ErrUnexpectedEOF
 			}
-			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
 			iNdEx += skippy
 		}
 	}
diff --git a/sdk.pb.go b/sdk.pb.go
index fdf6249..fc9c4ac 100644
--- a/sdk.pb.go
+++ b/sdk.pb.go
@@ -6,7 +6,7 @@
 import (
 	encoding_binary "encoding/binary"
 	fmt "fmt"
-	proto "github.com/golang/protobuf/proto"
+	proto "github.com/gogo/protobuf/proto"
 	io "io"
 	math "math"
 )
@@ -20,16 +20,13 @@
 // is compatible with the proto package it is being compiled against.
 // A compilation error at this line likely means your copy of the
 // proto package needs to be updated.
-const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
+const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
 
 // Image ipc struct
 type Image struct {
-	Width                int32    `protobuf:"varint,1,opt,name=width,proto3" json:"width,omitempty"`
-	Height               int32    `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"`
-	Data                 []byte   `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	Width  int32  `protobuf:"varint,1,opt,name=width,proto3" json:"width,omitempty"`
+	Height int32  `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"`
+	Data   []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
 }
 
 func (m *Image) Reset()         { *m = Image{} }
@@ -87,13 +84,10 @@
 }
 
 type FaceAngle struct {
-	Yaw                  int32    `protobuf:"varint,1,opt,name=yaw,proto3" json:"yaw,omitempty"`
-	Pitch                int32    `protobuf:"varint,2,opt,name=pitch,proto3" json:"pitch,omitempty"`
-	Roll                 int32    `protobuf:"varint,3,opt,name=roll,proto3" json:"roll,omitempty"`
-	Confidence           float32  `protobuf:"fixed32,4,opt,name=confidence,proto3" json:"confidence,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	Yaw        int32   `protobuf:"varint,1,opt,name=yaw,proto3" json:"yaw,omitempty"`
+	Pitch      int32   `protobuf:"varint,2,opt,name=pitch,proto3" json:"pitch,omitempty"`
+	Roll       int32   `protobuf:"varint,3,opt,name=roll,proto3" json:"roll,omitempty"`
+	Confidence float32 `protobuf:"fixed32,4,opt,name=confidence,proto3" json:"confidence,omitempty"`
 }
 
 func (m *FaceAngle) Reset()         { *m = FaceAngle{} }
@@ -158,14 +152,11 @@
 }
 
 type ThftResult struct {
-	Gender               int32    `protobuf:"varint,1,opt,name=gender,proto3" json:"gender,omitempty"`
-	Age                  int32    `protobuf:"varint,2,opt,name=age,proto3" json:"age,omitempty"`
-	Race                 int32    `protobuf:"varint,3,opt,name=race,proto3" json:"race,omitempty"`
-	Beauty               int32    `protobuf:"varint,4,opt,name=beauty,proto3" json:"beauty,omitempty"`
-	Smile                int32    `protobuf:"varint,5,opt,name=smile,proto3" json:"smile,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	Gender int32 `protobuf:"varint,1,opt,name=gender,proto3" json:"gender,omitempty"`
+	Age    int32 `protobuf:"varint,2,opt,name=age,proto3" json:"age,omitempty"`
+	Race   int32 `protobuf:"varint,3,opt,name=race,proto3" json:"race,omitempty"`
+	Beauty int32 `protobuf:"varint,4,opt,name=beauty,proto3" json:"beauty,omitempty"`
+	Smile  int32 `protobuf:"varint,5,opt,name=smile,proto3" json:"smile,omitempty"`
 }
 
 func (m *ThftResult) Reset()         { *m = ThftResult{} }
@@ -237,17 +228,14 @@
 }
 
 type FacePos struct {
-	RcFace               *Rect      `protobuf:"bytes,1,opt,name=rcFace,proto3" json:"rcFace,omitempty"`
-	PtLeftEye            *Point     `protobuf:"bytes,2,opt,name=ptLeftEye,proto3" json:"ptLeftEye,omitempty"`
-	PtRightEye           *Point     `protobuf:"bytes,3,opt,name=ptRightEye,proto3" json:"ptRightEye,omitempty"`
-	PtMouth              *Point     `protobuf:"bytes,4,opt,name=ptMouth,proto3" json:"ptMouth,omitempty"`
-	PtNose               *Point     `protobuf:"bytes,5,opt,name=ptNose,proto3" json:"ptNose,omitempty"`
-	FAngle               *FaceAngle `protobuf:"bytes,6,opt,name=fAngle,proto3" json:"fAngle,omitempty"`
-	Quality              int32      `protobuf:"varint,7,opt,name=quality,proto3" json:"quality,omitempty"`
-	FacialData           []byte     `protobuf:"bytes,8,opt,name=facialData,proto3" json:"facialData,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
-	XXX_unrecognized     []byte     `json:"-"`
-	XXX_sizecache        int32      `json:"-"`
+	RcFace     *Rect      `protobuf:"bytes,1,opt,name=rcFace,proto3" json:"rcFace,omitempty"`
+	PtLeftEye  *Point     `protobuf:"bytes,2,opt,name=ptLeftEye,proto3" json:"ptLeftEye,omitempty"`
+	PtRightEye *Point     `protobuf:"bytes,3,opt,name=ptRightEye,proto3" json:"ptRightEye,omitempty"`
+	PtMouth    *Point     `protobuf:"bytes,4,opt,name=ptMouth,proto3" json:"ptMouth,omitempty"`
+	PtNose     *Point     `protobuf:"bytes,5,opt,name=ptNose,proto3" json:"ptNose,omitempty"`
+	FAngle     *FaceAngle `protobuf:"bytes,6,opt,name=fAngle,proto3" json:"fAngle,omitempty"`
+	Quality    int32      `protobuf:"varint,7,opt,name=quality,proto3" json:"quality,omitempty"`
+	FacialData []byte     `protobuf:"bytes,8,opt,name=facialData,proto3" json:"facialData,omitempty"`
 }
 
 func (m *FacePos) Reset()         { *m = FacePos{} }
@@ -340,18 +328,15 @@
 }
 
 type FaceInfo struct {
-	RcFace               *Rect      `protobuf:"bytes,1,opt,name=rcFace,proto3" json:"rcFace,omitempty"`
-	PtLeftEye            *Point     `protobuf:"bytes,2,opt,name=ptLeftEye,proto3" json:"ptLeftEye,omitempty"`
-	PtRightEye           *Point     `protobuf:"bytes,3,opt,name=ptRightEye,proto3" json:"ptRightEye,omitempty"`
-	PtMouth              *Point     `protobuf:"bytes,4,opt,name=ptMouth,proto3" json:"ptMouth,omitempty"`
-	PtNose               *Point     `protobuf:"bytes,5,opt,name=ptNose,proto3" json:"ptNose,omitempty"`
-	FAngle               *FaceAngle `protobuf:"bytes,6,opt,name=fAngle,proto3" json:"fAngle,omitempty"`
-	Quality              int32      `protobuf:"varint,7,opt,name=quality,proto3" json:"quality,omitempty"`
-	FacialData           []byte     `protobuf:"bytes,8,opt,name=facialData,proto3" json:"facialData,omitempty"`
-	FaceID               int64      `protobuf:"varint,9,opt,name=faceID,proto3" json:"faceID,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
-	XXX_unrecognized     []byte     `json:"-"`
-	XXX_sizecache        int32      `json:"-"`
+	RcFace     *Rect      `protobuf:"bytes,1,opt,name=rcFace,proto3" json:"rcFace,omitempty"`
+	PtLeftEye  *Point     `protobuf:"bytes,2,opt,name=ptLeftEye,proto3" json:"ptLeftEye,omitempty"`
+	PtRightEye *Point     `protobuf:"bytes,3,opt,name=ptRightEye,proto3" json:"ptRightEye,omitempty"`
+	PtMouth    *Point     `protobuf:"bytes,4,opt,name=ptMouth,proto3" json:"ptMouth,omitempty"`
+	PtNose     *Point     `protobuf:"bytes,5,opt,name=ptNose,proto3" json:"ptNose,omitempty"`
+	FAngle     *FaceAngle `protobuf:"bytes,6,opt,name=fAngle,proto3" json:"fAngle,omitempty"`
+	Quality    int32      `protobuf:"varint,7,opt,name=quality,proto3" json:"quality,omitempty"`
+	FacialData []byte     `protobuf:"bytes,8,opt,name=facialData,proto3" json:"facialData,omitempty"`
+	FaceID     int64      `protobuf:"varint,9,opt,name=faceID,proto3" json:"faceID,omitempty"`
 }
 
 func (m *FaceInfo) Reset()         { *m = FaceInfo{} }
@@ -451,12 +436,9 @@
 }
 
 type ObjInfo struct {
-	RcObj                *Rect    `protobuf:"bytes,1,opt,name=rcObj,proto3" json:"rcObj,omitempty"`
-	Typ                  int32    `protobuf:"varint,2,opt,name=typ,proto3" json:"typ,omitempty"`
-	Prob                 float32  `protobuf:"fixed32,3,opt,name=prob,proto3" json:"prob,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	RcObj *Rect   `protobuf:"bytes,1,opt,name=rcObj,proto3" json:"rcObj,omitempty"`
+	Typ   int32   `protobuf:"varint,2,opt,name=typ,proto3" json:"typ,omitempty"`
+	Prob  float32 `protobuf:"fixed32,3,opt,name=prob,proto3" json:"prob,omitempty"`
 }
 
 func (m *ObjInfo) Reset()         { *m = ObjInfo{} }
@@ -515,11 +497,8 @@
 
 // sdk face property
 type ResultFaceDetect struct {
-	Pos                  *FacePos    `protobuf:"bytes,1,opt,name=pos,proto3" json:"pos,omitempty"`
-	Result               *ThftResult `protobuf:"bytes,2,opt,name=result,proto3" json:"result,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
-	XXX_unrecognized     []byte      `json:"-"`
-	XXX_sizecache        int32       `json:"-"`
+	Pos    *FacePos    `protobuf:"bytes,1,opt,name=pos,proto3" json:"pos,omitempty"`
+	Result *ThftResult `protobuf:"bytes,2,opt,name=result,proto3" json:"result,omitempty"`
 }
 
 func (m *ResultFaceDetect) Reset()         { *m = ResultFaceDetect{} }
@@ -570,10 +549,7 @@
 }
 
 type ParamFacePos struct {
-	Faces                []*ResultFaceDetect `protobuf:"bytes,1,rep,name=faces,proto3" json:"faces,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
-	XXX_unrecognized     []byte              `json:"-"`
-	XXX_sizecache        int32               `json:"-"`
+	Faces []*ResultFaceDetect `protobuf:"bytes,1,rep,name=faces,proto3" json:"faces,omitempty"`
 }
 
 func (m *ParamFacePos) Reset()         { *m = ParamFacePos{} }
@@ -617,10 +593,7 @@
 }
 
 type ParamFaceFeature struct {
-	Feats                [][]byte `protobuf:"bytes,1,rep,name=feats,proto3" json:"feats,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	Feats [][]byte `protobuf:"bytes,1,rep,name=feats,proto3" json:"feats,omitempty"`
 }
 
 func (m *ParamFaceFeature) Reset()         { *m = ParamFaceFeature{} }
@@ -665,11 +638,8 @@
 
 // sdk face extract
 type ParamFaceCompare struct {
-	Feat1                []byte   `protobuf:"bytes,1,opt,name=feat1,proto3" json:"feat1,omitempty"`
-	Feat2                []byte   `protobuf:"bytes,2,opt,name=feat2,proto3" json:"feat2,omitempty"`
-	XXX_NoUnkeyedLiteral struct{} `json:"-"`
-	XXX_unrecognized     []byte   `json:"-"`
-	XXX_sizecache        int32    `json:"-"`
+	Feat1 []byte `protobuf:"bytes,1,opt,name=feat1,proto3" json:"feat1,omitempty"`
+	Feat2 []byte `protobuf:"bytes,2,opt,name=feat2,proto3" json:"feat2,omitempty"`
 }
 
 func (m *ParamFaceCompare) Reset()         { *m = ParamFaceCompare{} }
@@ -721,10 +691,7 @@
 
 // sdk yolo detect
 type ParamYoloObj struct {
-	Infos                []*ObjInfo `protobuf:"bytes,1,rep,name=infos,proto3" json:"infos,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
-	XXX_unrecognized     []byte     `json:"-"`
-	XXX_sizecache        int32      `json:"-"`
+	Infos []*ObjInfo `protobuf:"bytes,1,rep,name=infos,proto3" json:"infos,omitempty"`
 }
 
 func (m *ParamYoloObj) Reset()         { *m = ParamYoloObj{} }
@@ -784,46 +751,46 @@
 func init() { proto.RegisterFile("sdk.proto", fileDescriptor_70decb0fb6f436df) }
 
 var fileDescriptor_70decb0fb6f436df = []byte{
-	// 615 bytes of a gzipped FileDescriptorProto
+	// 624 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x54, 0x4d, 0x6f, 0xd3, 0x4c,
-	0x10, 0x7e, 0x1d, 0xd7, 0x4e, 0x33, 0xad, 0x5e, 0xc2, 0x52, 0x21, 0xab, 0x87, 0x28, 0x32, 0x88,
-	0x1a, 0x01, 0x85, 0x86, 0x03, 0x37, 0xc4, 0x47, 0xa9, 0x54, 0x09, 0x68, 0xb4, 0x82, 0x03, 0xc7,
-	0xb5, 0xb3, 0xfe, 0x28, 0x8e, 0xd7, 0xd8, 0x1b, 0x15, 0xff, 0x13, 0x7e, 0x12, 0x07, 0x0e, 0xfc,
-	0x04, 0x54, 0xc4, 0xff, 0x40, 0xb3, 0xbb, 0x8e, 0x5d, 0x29, 0x9c, 0xb8, 0x72, 0xca, 0x3c, 0x33,
-	0x8f, 0xe7, 0xe3, 0x99, 0x9d, 0xc0, 0xa8, 0x5e, 0x7c, 0x3c, 0x2c, 0x2b, 0x21, 0x05, 0xd9, 0x56,
-	0x3f, 0xcb, 0x3a, 0xd9, 0x87, 0x90, 0xd5, 0x5c, 0x7b, 0xfd, 0x53, 0x70, 0x4e, 0x97, 0x2c, 0xe1,
-	0x64, 0x0f, 0x9c, 0x8b, 0x6c, 0x21, 0x53, 0xcf, 0x9a, 0x5a, 0x81, 0x43, 0x35, 0x20, 0x37, 0xc1,
-	0x4d, 0x79, 0x96, 0xa4, 0xd2, 0x1b, 0x28, 0xb7, 0x41, 0x84, 0xc0, 0xd6, 0x82, 0x49, 0xe6, 0xd9,
-	0x53, 0x2b, 0xd8, 0xa5, 0xca, 0xf6, 0x13, 0x18, 0x9d, 0xb0, 0x88, 0x3f, 0x2f, 0x92, 0x9c, 0x93,
-	0x31, 0xd8, 0x0d, 0xbb, 0x30, 0xc9, 0xd0, 0xc4, 0x02, 0x65, 0x26, 0xa3, 0xd4, 0x64, 0xd2, 0x00,
-	0x13, 0x55, 0x22, 0xcf, 0x55, 0x22, 0x87, 0x2a, 0x9b, 0x4c, 0x00, 0x22, 0x51, 0xc4, 0xd9, 0x82,
-	0x17, 0x11, 0xf7, 0xb6, 0xa6, 0x56, 0x30, 0xa0, 0x3d, 0x8f, 0xff, 0x19, 0xe0, 0x5d, 0x1a, 0x4b,
-	0xca, 0xeb, 0x55, 0x2e, 0xb1, 0xc5, 0x84, 0x17, 0x0b, 0x5e, 0x99, 0x62, 0x06, 0x61, 0x07, 0x2c,
-	0xe1, 0xa6, 0x1a, 0x9a, 0xaa, 0x16, 0x8b, 0xf8, 0xba, 0x16, 0x8b, 0x38, 0x7e, 0x1d, 0x72, 0xb6,
-	0x92, 0x8d, 0xaa, 0xe3, 0x50, 0x83, 0xb0, 0xdb, 0x7a, 0x99, 0xe5, 0xdc, 0x73, 0x74, 0xb7, 0x0a,
-	0xf8, 0xdf, 0x06, 0x30, 0xc4, 0x19, 0xe7, 0xa2, 0x26, 0x77, 0xc0, 0xad, 0x22, 0x04, 0xaa, 0xee,
-	0xce, 0xec, 0xff, 0xc3, 0x56, 0xe0, 0x43, 0xca, 0x23, 0x49, 0x4d, 0x94, 0x3c, 0x80, 0x51, 0x29,
-	0x5f, 0xf3, 0x58, 0xbe, 0x6a, 0x74, 0x37, 0x3b, 0xb3, 0x6b, 0x1d, 0x75, 0x2e, 0xb2, 0x42, 0xd2,
-	0x8e, 0x41, 0x1e, 0x02, 0x94, 0x92, 0xa2, 0xc8, 0xc8, 0xb7, 0x37, 0xf3, 0x7b, 0x14, 0x72, 0x17,
-	0x86, 0xa5, 0x7c, 0x23, 0x56, 0x32, 0x55, 0x23, 0x6c, 0x60, 0xb7, 0x71, 0x72, 0x00, 0x6e, 0x29,
-	0xdf, 0x8a, 0x5a, 0x4f, 0xb5, 0x81, 0x69, 0xc2, 0xe4, 0x1e, 0xb8, 0xb1, 0xda, 0xa3, 0xe7, 0x2a,
-	0xe2, 0x8d, 0x8e, 0xb8, 0x5e, 0x31, 0x35, 0x14, 0xe2, 0xc1, 0xf0, 0xd3, 0x8a, 0xe5, 0x99, 0x6c,
-	0xbc, 0xa1, 0x12, 0xab, 0x85, 0xb8, 0xc8, 0x98, 0x45, 0x19, 0xcb, 0x8f, 0xf1, 0xad, 0x6c, 0xab,
-	0xb7, 0xd2, 0xf3, 0xf8, 0xbf, 0x06, 0xb0, 0x8d, 0xf9, 0x4e, 0x8b, 0x58, 0xfc, 0xd3, 0xf3, 0xaf,
-	0xf5, 0xc4, 0xc7, 0x1c, 0xa3, 0x9c, 0xc7, 0xde, 0x68, 0x6a, 0x05, 0x36, 0x35, 0xc8, 0x7f, 0x0f,
-	0xc3, 0xb3, 0xf0, 0x5c, 0xa9, 0x7c, 0x1b, 0x9c, 0x2a, 0x3a, 0x0b, 0xcf, 0xff, 0x20, 0xb2, 0x0e,
-	0xe2, 0xed, 0xc8, 0xa6, 0x6c, 0x6f, 0x47, 0x36, 0x25, 0xde, 0x4e, 0x59, 0x89, 0x50, 0x09, 0x38,
-	0xa0, 0xca, 0xf6, 0x39, 0x8c, 0xf5, 0x0d, 0xe2, 0x0c, 0xc7, 0x5c, 0xf2, 0x48, 0x92, 0x5b, 0x60,
-	0x97, 0xa2, 0x36, 0xd9, 0xaf, 0x5f, 0x1d, 0x73, 0x2e, 0x6a, 0x8a, 0x51, 0x72, 0x1f, 0xdc, 0x4a,
-	0x7d, 0x68, 0xf6, 0xb7, 0xd7, 0xf1, 0xba, 0xc3, 0xa6, 0x86, 0xe3, 0x3f, 0x83, 0xdd, 0x39, 0xab,
-	0xd8, 0xb2, 0x3d, 0xbc, 0x47, 0xe0, 0xe0, 0x5c, 0x58, 0xc4, 0x0e, 0x76, 0x66, 0xfb, 0xfd, 0x11,
-	0xae, 0x76, 0x43, 0x35, 0xd1, 0x0f, 0x60, 0xbc, 0xce, 0x70, 0xc2, 0x99, 0x5c, 0x55, 0xea, 0xff,
-	0x2e, 0xe6, 0x4c, 0xea, 0x2c, 0xbb, 0x54, 0x03, 0xff, 0x69, 0x8f, 0xf9, 0x52, 0x2c, 0x4b, 0xd6,
-	0x31, 0x8f, 0xd4, 0x50, 0x86, 0x79, 0xd4, 0x7a, 0x67, 0x6a, 0x04, 0xe3, 0x9d, 0xf9, 0x4f, 0x4c,
-	0xaf, 0x1f, 0x44, 0x2e, 0x50, 0xc8, 0x03, 0x70, 0xb2, 0x22, 0x16, 0x6d, 0xaf, 0x3d, 0x41, 0xcc,
-	0x42, 0xa8, 0x8e, 0xbf, 0x18, 0x7f, 0xbd, 0x9c, 0x58, 0xdf, 0x2f, 0x27, 0xd6, 0x8f, 0xcb, 0x89,
-	0xf5, 0xe5, 0xe7, 0xe4, 0xbf, 0xd0, 0x55, 0xd4, 0xc7, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x64,
-	0xac, 0xaa, 0x80, 0xc3, 0x05, 0x00, 0x00,
+	0x10, 0xae, 0x93, 0xda, 0x69, 0xa6, 0xd5, 0xfb, 0x96, 0xa5, 0x42, 0x56, 0x0f, 0x56, 0x64, 0x10,
+	0x35, 0x02, 0x0a, 0x0d, 0x07, 0x6e, 0x88, 0x8f, 0x52, 0xa9, 0x12, 0xd0, 0x68, 0x05, 0x07, 0x8e,
+	0x6b, 0x67, 0xfd, 0x51, 0x1c, 0xaf, 0xb1, 0x37, 0x2a, 0xfe, 0x17, 0xfc, 0x2c, 0x0e, 0x1c, 0x7a,
+	0xe4, 0x88, 0x5a, 0xf1, 0x3f, 0xd0, 0xec, 0xae, 0x6b, 0x57, 0x0a, 0x27, 0xae, 0x9c, 0x32, 0xcf,
+	0xcc, 0xe3, 0xf9, 0x78, 0x66, 0x27, 0x30, 0xae, 0xe7, 0x9f, 0xf6, 0xcb, 0x4a, 0x48, 0x41, 0x36,
+	0xd4, 0xcf, 0xa2, 0x4e, 0x76, 0x21, 0x64, 0x35, 0xd7, 0x5e, 0xff, 0x18, 0xec, 0xe3, 0x05, 0x4b,
+	0x38, 0xd9, 0x01, 0xfb, 0x2c, 0x9b, 0xcb, 0xd4, 0xb5, 0x26, 0x56, 0x60, 0x53, 0x0d, 0xc8, 0x2d,
+	0x70, 0x52, 0x9e, 0x25, 0xa9, 0x74, 0x07, 0xca, 0x6d, 0x10, 0x21, 0xb0, 0x3e, 0x67, 0x92, 0xb9,
+	0xc3, 0x89, 0x15, 0x6c, 0x51, 0x65, 0xfb, 0x09, 0x8c, 0x8f, 0x58, 0xc4, 0x5f, 0x14, 0x49, 0xce,
+	0xc9, 0x36, 0x0c, 0x1b, 0x76, 0x66, 0x92, 0xa1, 0x89, 0x05, 0xca, 0x4c, 0x46, 0xa9, 0xc9, 0xa4,
+	0x01, 0x26, 0xaa, 0x44, 0x9e, 0xab, 0x44, 0x36, 0x55, 0x36, 0xf1, 0x00, 0x22, 0x51, 0xc4, 0xd9,
+	0x9c, 0x17, 0x11, 0x77, 0xd7, 0x27, 0x56, 0x30, 0xa0, 0x3d, 0x8f, 0xff, 0x05, 0xe0, 0x7d, 0x1a,
+	0x4b, 0xca, 0xeb, 0x65, 0x2e, 0xb1, 0xc5, 0x84, 0x17, 0x73, 0x5e, 0x99, 0x62, 0x06, 0x61, 0x07,
+	0x2c, 0xe1, 0xa6, 0x1a, 0x9a, 0xaa, 0x16, 0x8b, 0xf8, 0x55, 0x2d, 0x16, 0x71, 0xfc, 0x3a, 0xe4,
+	0x6c, 0x29, 0x1b, 0x55, 0xc7, 0xa6, 0x06, 0x61, 0xb7, 0xf5, 0x22, 0xcb, 0xb9, 0x6b, 0xeb, 0x6e,
+	0x15, 0xf0, 0xbf, 0x0f, 0x60, 0x84, 0x33, 0xce, 0x44, 0x4d, 0xee, 0x82, 0x53, 0x45, 0x08, 0x54,
+	0xdd, 0xcd, 0xe9, 0x7f, 0xfb, 0xad, 0xc0, 0xfb, 0x94, 0x47, 0x92, 0x9a, 0x28, 0x79, 0x08, 0xe3,
+	0x52, 0xbe, 0xe1, 0xb1, 0x7c, 0xdd, 0xe8, 0x6e, 0x36, 0xa7, 0xff, 0x77, 0xd4, 0x99, 0xc8, 0x0a,
+	0x49, 0x3b, 0x06, 0x79, 0x04, 0x50, 0x4a, 0x8a, 0x22, 0x23, 0x7f, 0xb8, 0x9a, 0xdf, 0xa3, 0x90,
+	0x7b, 0x30, 0x2a, 0xe5, 0x5b, 0xb1, 0x94, 0xa9, 0x1a, 0x61, 0x05, 0xbb, 0x8d, 0x93, 0x3d, 0x70,
+	0x4a, 0xf9, 0x4e, 0xd4, 0x7a, 0xaa, 0x15, 0x4c, 0x13, 0x26, 0xf7, 0xc1, 0x89, 0xd5, 0x1e, 0x5d,
+	0x47, 0x11, 0x6f, 0x76, 0xc4, 0xab, 0x15, 0x53, 0x43, 0x21, 0x2e, 0x8c, 0x3e, 0x2f, 0x59, 0x9e,
+	0xc9, 0xc6, 0x1d, 0x29, 0xb1, 0x5a, 0x88, 0x8b, 0x8c, 0x59, 0x94, 0xb1, 0xfc, 0x10, 0xdf, 0xca,
+	0x86, 0x7a, 0x2b, 0x3d, 0x8f, 0xff, 0x6b, 0x00, 0x1b, 0x98, 0xef, 0xb8, 0x88, 0xc5, 0x3f, 0x3d,
+	0xff, 0x5a, 0x4f, 0x7c, 0xcc, 0x31, 0xca, 0x79, 0xe8, 0x8e, 0x27, 0x56, 0x30, 0xa4, 0x06, 0xf9,
+	0x1f, 0x60, 0x74, 0x12, 0x9e, 0x2a, 0x95, 0xef, 0x80, 0x5d, 0x45, 0x27, 0xe1, 0xe9, 0x1f, 0x44,
+	0xd6, 0x41, 0xbc, 0x1d, 0xd9, 0x94, 0xed, 0xed, 0xc8, 0xa6, 0xc4, 0xdb, 0x29, 0x2b, 0x11, 0x2a,
+	0x01, 0x07, 0x54, 0xd9, 0x3e, 0x87, 0x6d, 0x7d, 0x83, 0x38, 0xc3, 0x21, 0x97, 0x3c, 0x92, 0xe4,
+	0x36, 0x0c, 0x4b, 0x51, 0x9b, 0xec, 0x37, 0xae, 0x8f, 0x39, 0x13, 0x35, 0xc5, 0x28, 0x79, 0x00,
+	0x4e, 0xa5, 0x3e, 0x34, 0xfb, 0xdb, 0xe9, 0x78, 0xdd, 0x61, 0x53, 0xc3, 0xf1, 0x9f, 0xc3, 0xd6,
+	0x8c, 0x55, 0x6c, 0xd1, 0x1e, 0xde, 0x63, 0xb0, 0x71, 0x2e, 0x2c, 0x32, 0x0c, 0x36, 0xa7, 0xbb,
+	0xfd, 0x11, 0xae, 0x77, 0x43, 0x35, 0xd1, 0x0f, 0x60, 0xfb, 0x2a, 0xc3, 0x11, 0x67, 0x72, 0x59,
+	0xa9, 0xff, 0xbb, 0x98, 0x33, 0xa9, 0xb3, 0x6c, 0x51, 0x0d, 0xfc, 0x67, 0x3d, 0xe6, 0x2b, 0xb1,
+	0x28, 0x59, 0xc7, 0x3c, 0x50, 0x43, 0x19, 0xe6, 0x41, 0xeb, 0x9d, 0xaa, 0x11, 0x8c, 0x77, 0xea,
+	0x3f, 0x35, 0xbd, 0x7e, 0x14, 0xb9, 0x40, 0x21, 0xf7, 0xc0, 0xce, 0x8a, 0x58, 0xb4, 0xbd, 0xf6,
+	0x04, 0x31, 0x0b, 0xa1, 0x3a, 0xfe, 0xd2, 0xfd, 0x76, 0xe1, 0x59, 0xe7, 0x17, 0x9e, 0xf5, 0xf3,
+	0xc2, 0xb3, 0xbe, 0x5e, 0x7a, 0x6b, 0xe7, 0x97, 0xde, 0xda, 0x8f, 0x4b, 0x6f, 0x2d, 0x74, 0xd4,
+	0x27, 0x4f, 0x7e, 0x07, 0x00, 0x00, 0xff, 0xff, 0xba, 0xd3, 0x09, 0x2b, 0xcb, 0x05, 0x00, 0x00,
 }
 
 func (m *Image) Marshal() (dAtA []byte, err error) {
@@ -856,9 +823,6 @@
 		i++
 		i = encodeVarintSdk(dAtA, i, uint64(len(m.Data)))
 		i += copy(dAtA[i:], m.Data)
-	}
-	if m.XXX_unrecognized != nil {
-		i += copy(dAtA[i:], m.XXX_unrecognized)
 	}
 	return i, nil
 }
@@ -898,9 +862,6 @@
 		i++
 		encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Confidence))))
 		i += 4
-	}
-	if m.XXX_unrecognized != nil {
-		i += copy(dAtA[i:], m.XXX_unrecognized)
 	}
 	return i, nil
 }
@@ -944,9 +905,6 @@
 		dAtA[i] = 0x28
 		i++
 		i = encodeVarintSdk(dAtA, i, uint64(m.Smile))
-	}
-	if m.XXX_unrecognized != nil {
-		i += copy(dAtA[i:], m.XXX_unrecognized)
 	}
 	return i, nil
 }
@@ -1036,9 +994,6 @@
 		i++
 		i = encodeVarintSdk(dAtA, i, uint64(len(m.FacialData)))
 		i += copy(dAtA[i:], m.FacialData)
-	}
-	if m.XXX_unrecognized != nil {
-		i += copy(dAtA[i:], m.XXX_unrecognized)
 	}
 	return i, nil
 }
@@ -1134,9 +1089,6 @@
 		i++
 		i = encodeVarintSdk(dAtA, i, uint64(m.FaceID))
 	}
-	if m.XXX_unrecognized != nil {
-		i += copy(dAtA[i:], m.XXX_unrecognized)
-	}
 	return i, nil
 }
 
@@ -1176,9 +1128,6 @@
 		encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Prob))))
 		i += 4
 	}
-	if m.XXX_unrecognized != nil {
-		i += copy(dAtA[i:], m.XXX_unrecognized)
-	}
 	return i, nil
 }
 
@@ -1217,9 +1166,6 @@
 		}
 		i += n15
 	}
-	if m.XXX_unrecognized != nil {
-		i += copy(dAtA[i:], m.XXX_unrecognized)
-	}
 	return i, nil
 }
 
@@ -1250,9 +1196,6 @@
 			i += n
 		}
 	}
-	if m.XXX_unrecognized != nil {
-		i += copy(dAtA[i:], m.XXX_unrecognized)
-	}
 	return i, nil
 }
 
@@ -1278,9 +1221,6 @@
 			i = encodeVarintSdk(dAtA, i, uint64(len(b)))
 			i += copy(dAtA[i:], b)
 		}
-	}
-	if m.XXX_unrecognized != nil {
-		i += copy(dAtA[i:], m.XXX_unrecognized)
 	}
 	return i, nil
 }
@@ -1312,9 +1252,6 @@
 		i = encodeVarintSdk(dAtA, i, uint64(len(m.Feat2)))
 		i += copy(dAtA[i:], m.Feat2)
 	}
-	if m.XXX_unrecognized != nil {
-		i += copy(dAtA[i:], m.XXX_unrecognized)
-	}
 	return i, nil
 }
 
@@ -1345,9 +1282,6 @@
 			i += n
 		}
 	}
-	if m.XXX_unrecognized != nil {
-		i += copy(dAtA[i:], m.XXX_unrecognized)
-	}
 	return i, nil
 }
 
@@ -1376,9 +1310,6 @@
 	if l > 0 {
 		n += 1 + l + sovSdk(uint64(l))
 	}
-	if m.XXX_unrecognized != nil {
-		n += len(m.XXX_unrecognized)
-	}
 	return n
 }
 
@@ -1399,9 +1330,6 @@
 	}
 	if m.Confidence != 0 {
 		n += 5
-	}
-	if m.XXX_unrecognized != nil {
-		n += len(m.XXX_unrecognized)
 	}
 	return n
 }
@@ -1426,9 +1354,6 @@
 	}
 	if m.Smile != 0 {
 		n += 1 + sovSdk(uint64(m.Smile))
-	}
-	if m.XXX_unrecognized != nil {
-		n += len(m.XXX_unrecognized)
 	}
 	return n
 }
@@ -1469,9 +1394,6 @@
 	l = len(m.FacialData)
 	if l > 0 {
 		n += 1 + l + sovSdk(uint64(l))
-	}
-	if m.XXX_unrecognized != nil {
-		n += len(m.XXX_unrecognized)
 	}
 	return n
 }
@@ -1516,9 +1438,6 @@
 	if m.FaceID != 0 {
 		n += 1 + sovSdk(uint64(m.FaceID))
 	}
-	if m.XXX_unrecognized != nil {
-		n += len(m.XXX_unrecognized)
-	}
 	return n
 }
 
@@ -1538,9 +1457,6 @@
 	if m.Prob != 0 {
 		n += 5
 	}
-	if m.XXX_unrecognized != nil {
-		n += len(m.XXX_unrecognized)
-	}
 	return n
 }
 
@@ -1558,9 +1474,6 @@
 		l = m.Result.Size()
 		n += 1 + l + sovSdk(uint64(l))
 	}
-	if m.XXX_unrecognized != nil {
-		n += len(m.XXX_unrecognized)
-	}
 	return n
 }
 
@@ -1576,9 +1489,6 @@
 			n += 1 + l + sovSdk(uint64(l))
 		}
 	}
-	if m.XXX_unrecognized != nil {
-		n += len(m.XXX_unrecognized)
-	}
 	return n
 }
 
@@ -1593,9 +1503,6 @@
 			l = len(b)
 			n += 1 + l + sovSdk(uint64(l))
 		}
-	}
-	if m.XXX_unrecognized != nil {
-		n += len(m.XXX_unrecognized)
 	}
 	return n
 }
@@ -1614,9 +1521,6 @@
 	if l > 0 {
 		n += 1 + l + sovSdk(uint64(l))
 	}
-	if m.XXX_unrecognized != nil {
-		n += len(m.XXX_unrecognized)
-	}
 	return n
 }
 
@@ -1631,9 +1535,6 @@
 			l = e.Size()
 			n += 1 + l + sovSdk(uint64(l))
 		}
-	}
-	if m.XXX_unrecognized != nil {
-		n += len(m.XXX_unrecognized)
 	}
 	return n
 }
@@ -1767,7 +1668,6 @@
 			if (iNdEx + skippy) > l {
 				return io.ErrUnexpectedEOF
 			}
-			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
 			iNdEx += skippy
 		}
 	}
@@ -1889,7 +1789,6 @@
 			if (iNdEx + skippy) > l {
 				return io.ErrUnexpectedEOF
 			}
-			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
 			iNdEx += skippy
 		}
 	}
@@ -2038,7 +1937,6 @@
 			if (iNdEx + skippy) > l {
 				return io.ErrUnexpectedEOF
 			}
-			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
 			iNdEx += skippy
 		}
 	}
@@ -2361,7 +2259,6 @@
 			if (iNdEx + skippy) > l {
 				return io.ErrUnexpectedEOF
 			}
-			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
 			iNdEx += skippy
 		}
 	}
@@ -2703,7 +2600,6 @@
 			if (iNdEx + skippy) > l {
 				return io.ErrUnexpectedEOF
 			}
-			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
 			iNdEx += skippy
 		}
 	}
@@ -2823,7 +2719,6 @@
 			if (iNdEx + skippy) > l {
 				return io.ErrUnexpectedEOF
 			}
-			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
 			iNdEx += skippy
 		}
 	}
@@ -2949,7 +2844,6 @@
 			if (iNdEx + skippy) > l {
 				return io.ErrUnexpectedEOF
 			}
-			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
 			iNdEx += skippy
 		}
 	}
@@ -3037,7 +2931,6 @@
 			if (iNdEx + skippy) > l {
 				return io.ErrUnexpectedEOF
 			}
-			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
 			iNdEx += skippy
 		}
 	}
@@ -3123,7 +3016,6 @@
 			if (iNdEx + skippy) > l {
 				return io.ErrUnexpectedEOF
 			}
-			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
 			iNdEx += skippy
 		}
 	}
@@ -3245,7 +3137,6 @@
 			if (iNdEx + skippy) > l {
 				return io.ErrUnexpectedEOF
 			}
-			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
 			iNdEx += skippy
 		}
 	}
@@ -3333,7 +3224,6 @@
 			if (iNdEx + skippy) > l {
 				return io.ErrUnexpectedEOF
 			}
-			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
 			iNdEx += skippy
 		}
 	}

--
Gitblit v1.8.0