github.com/LagrangeDev/LagrangeGo@v0.0.0-20240512064304-ad4a85e10cb4/client/packets/pb/message/element.pb.go (about)

     1  // Code generated by protoc-gen-golite. DO NOT EDIT.
     2  // source: pb/message/element.proto
     3  
     4  package message
     5  
     6  import (
     7  	proto "github.com/RomiChan/protobuf/proto"
     8  )
     9  
    10  type Elem struct {
    11  	Text                  *Text                  `protobuf:"bytes,1,opt"`
    12  	Face                  *Face                  `protobuf:"bytes,2,opt"`
    13  	OnlineImage           *OnlineImage           `protobuf:"bytes,3,opt"`
    14  	NotOnlineImage        *NotOnlineImage        `protobuf:"bytes,4,opt"`
    15  	TransElem             *TransElem             `protobuf:"bytes,5,opt"`
    16  	MarketFace            *MarketFace            `protobuf:"bytes,6,opt"`
    17  	CustomFace            *CustomFace            `protobuf:"bytes,8,opt"`
    18  	ElemFlags2            *ElemFlags2            `protobuf:"bytes,9,opt"`
    19  	RichMsg               *RichMsg               `protobuf:"bytes,12,opt"`
    20  	GroupFile             *GroupFile             `protobuf:"bytes,13,opt"`
    21  	ExtraInfo             *ExtraInfo             `protobuf:"bytes,16,opt"`
    22  	VideoFile             *VideoFile             `protobuf:"bytes,19,opt"`
    23  	AnonymousGroupMessage *AnonymousGroupMessage `protobuf:"bytes,21,opt"`
    24  	QQWalletMsg           *QQWalletMsg           `protobuf:"bytes,24,opt"`
    25  	CustomElem            *CustomElem            `protobuf:"bytes,31,opt"`
    26  	GeneralFlags          *GeneralFlags          `protobuf:"bytes,37,opt"`
    27  	SrcMsg                *SrcMsg                `protobuf:"bytes,45,opt"`
    28  	LightAppElem          *LightAppElem          `protobuf:"bytes,51,opt"`
    29  	CommonElem            *CommonElem            `protobuf:"bytes,53,opt"`
    30  	_                     [0]func()
    31  }
    32  
    33  type AnonymousGroupMessage struct {
    34  	Flags        int32  `protobuf:"varint,1,opt"`
    35  	AnonId       []byte `protobuf:"bytes,2,opt"`
    36  	AnonNick     []byte `protobuf:"bytes,3,opt"`
    37  	HeadPortrait int32  `protobuf:"varint,4,opt"`
    38  	ExpireTime   int32  `protobuf:"varint,5,opt"`
    39  	BubbleId     int32  `protobuf:"varint,6,opt"`
    40  	RankColor    []byte `protobuf:"bytes,7,opt"`
    41  }
    42  
    43  type CommonElem struct {
    44  	ServiceType  int32  `protobuf:"varint,1,opt"`
    45  	PbElem       []byte `protobuf:"bytes,2,opt"`
    46  	BusinessType uint32 `protobuf:"varint,3,opt"`
    47  }
    48  
    49  type CustomElem struct {
    50  	Desc     []byte `protobuf:"bytes,1,opt"`
    51  	Data     []byte `protobuf:"bytes,2,opt"`
    52  	EnumType int32  `protobuf:"varint,3,opt"`
    53  	Ext      []byte `protobuf:"bytes,4,opt"`
    54  	Sound    []byte `protobuf:"bytes,5,opt"`
    55  }
    56  
    57  type CustomFace struct {
    58  	Guid        []byte               `protobuf:"bytes,1,opt"`
    59  	FilePath    string               `protobuf:"bytes,2,opt"`
    60  	Shortcut    string               `protobuf:"bytes,3,opt"`
    61  	Buffer      []byte               `protobuf:"bytes,4,opt"`
    62  	Flag        []byte               `protobuf:"bytes,5,opt"`
    63  	OldData     []byte               `protobuf:"bytes,6,opt"`
    64  	FileId      uint32               `protobuf:"varint,7,opt"`
    65  	ServerIp    proto.Option[int32]  `protobuf:"varint,8,opt"`
    66  	ServerPort  proto.Option[int32]  `protobuf:"varint,9,opt"`
    67  	FileType    int32                `protobuf:"varint,10,opt"`
    68  	Signature   []byte               `protobuf:"bytes,11,opt"`
    69  	Useful      int32                `protobuf:"varint,12,opt"`
    70  	Md5         []byte               `protobuf:"bytes,13,opt"`
    71  	ThumbUrl    string               `protobuf:"bytes,14,opt"`
    72  	BigUrl      string               `protobuf:"bytes,15,opt"`
    73  	OrigUrl     string               `protobuf:"bytes,16,opt"`
    74  	BizType     int32                `protobuf:"varint,17,opt"`
    75  	RepeatIndex int32                `protobuf:"varint,18,opt"`
    76  	RepeatImage int32                `protobuf:"varint,19,opt"`
    77  	ImageType   int32                `protobuf:"varint,20,opt"`
    78  	Index       int32                `protobuf:"varint,21,opt"`
    79  	Width       int32                `protobuf:"varint,22,opt"`
    80  	Height      int32                `protobuf:"varint,23,opt"`
    81  	Source      int32                `protobuf:"varint,24,opt"`
    82  	Size        uint32               `protobuf:"varint,25,opt"`
    83  	Origin      int32                `protobuf:"varint,26,opt"`
    84  	ThumbWidth  proto.Option[int32]  `protobuf:"varint,27,opt"`
    85  	ThumbHeight proto.Option[int32]  `protobuf:"varint,28,opt"`
    86  	ShowLen     int32                `protobuf:"varint,29,opt"`
    87  	DownloadLen int32                `protobuf:"varint,30,opt"`
    88  	X400Url     proto.Option[string] `protobuf:"bytes,31,opt"`
    89  	X400Width   int32                `protobuf:"varint,32,opt"`
    90  	X400Height  int32                `protobuf:"varint,33,opt"`
    91  	PbReserve   []byte               `protobuf:"bytes,34,opt"`
    92  }
    93  
    94  type ElemFlags2 struct {
    95  	ColorTextId      uint32               `protobuf:"varint,1,opt"`
    96  	MsgId            uint64               `protobuf:"varint,2,opt"`
    97  	WhisperSessionId uint32               `protobuf:"varint,3,opt"`
    98  	PttChangeBit     uint32               `protobuf:"varint,4,opt"`
    99  	VipStatus        uint32               `protobuf:"varint,5,opt"`
   100  	CompatibleId     uint32               `protobuf:"varint,6,opt"`
   101  	Insts            []*Instance          `protobuf:"bytes,7,rep"`
   102  	MsgRptCnt        uint32               `protobuf:"varint,8,opt"`
   103  	SrcInst          *Instance            `protobuf:"bytes,9,opt"`
   104  	Longtitude       uint32               `protobuf:"varint,10,opt"`
   105  	Latitude         uint32               `protobuf:"varint,11,opt"`
   106  	CustomFont       uint32               `protobuf:"varint,12,opt"`
   107  	PcSupportDef     *PcSupportDef        `protobuf:"bytes,13,opt"`
   108  	CrmFlags         proto.Option[uint32] `protobuf:"varint,14,opt"`
   109  }
   110  
   111  type PcSupportDef struct {
   112  	PcPtlBegin     uint32   `protobuf:"varint,1,opt"`
   113  	PcPtlEnd       uint32   `protobuf:"varint,2,opt"`
   114  	MacPtlBegin    uint32   `protobuf:"varint,3,opt"`
   115  	MacPtlEnd      uint32   `protobuf:"varint,4,opt"`
   116  	PtlsSupport    []int32  `protobuf:"varint,5,rep"`
   117  	PtlsNotSupport []uint32 `protobuf:"varint,6,rep"`
   118  }
   119  
   120  type Instance struct {
   121  	AppId  uint32 `protobuf:"varint,1,opt"`
   122  	InstId uint32 `protobuf:"varint,2,opt"`
   123  	_      [0]func()
   124  }
   125  
   126  type ExtraInfo struct {
   127  	Nick          []byte `protobuf:"bytes,1,opt"`
   128  	GroupCard     []byte `protobuf:"bytes,2,opt"`
   129  	Level         int32  `protobuf:"varint,3,opt"`
   130  	Flags         int32  `protobuf:"varint,4,opt"`
   131  	GroupMask     int32  `protobuf:"varint,5,opt"`
   132  	MsgTailId     int32  `protobuf:"varint,6,opt"`
   133  	SenderTitle   []byte `protobuf:"bytes,7,opt"`
   134  	ApnsTips      []byte `protobuf:"bytes,8,opt"`
   135  	Uin           uint64 `protobuf:"varint,9,opt"`
   136  	MsgStateFlag  int32  `protobuf:"varint,10,opt"`
   137  	ApnsSoundType int32  `protobuf:"varint,11,opt"`
   138  	NewGroupFlag  int32  `protobuf:"varint,12,opt"`
   139  }
   140  
   141  type Face struct {
   142  	Index proto.Option[int32] `protobuf:"varint,1,opt"`
   143  	Old   []byte              `protobuf:"bytes,2,opt"`
   144  	Buf   []byte              `protobuf:"bytes,11,opt"`
   145  }
   146  
   147  type GeneralFlags struct {
   148  	BubbleDiyTextId     int32                `protobuf:"varint,1,opt"`
   149  	GroupFlagNew        int32                `protobuf:"varint,2,opt"`
   150  	Uin                 uint64               `protobuf:"varint,3,opt"`
   151  	RpId                []byte               `protobuf:"bytes,4,opt"`
   152  	PrpFold             int32                `protobuf:"varint,5,opt"`
   153  	LongTextFlag        int32                `protobuf:"varint,6,opt"`
   154  	LongTextResId       proto.Option[string] `protobuf:"bytes,7,opt"`
   155  	GroupType           int32                `protobuf:"varint,8,opt"`
   156  	ToUinFlag           int32                `protobuf:"varint,9,opt"`
   157  	GlamourLevel        int32                `protobuf:"varint,10,opt"`
   158  	MemberLevel         int32                `protobuf:"varint,11,opt"`
   159  	GroupRankSeq        uint64               `protobuf:"varint,12,opt"`
   160  	OlympicTorch        int32                `protobuf:"varint,13,opt"`
   161  	BabyqGuideMsgCookie []byte               `protobuf:"bytes,14,opt"`
   162  	Uin32ExpertFlag     int32                `protobuf:"varint,15,opt"`
   163  	BubbleSubId         int32                `protobuf:"varint,16,opt"`
   164  	PendantId           uint64               `protobuf:"varint,17,opt"`
   165  	RpIndex             []byte               `protobuf:"bytes,18,opt"`
   166  	PbReserve           []byte               `protobuf:"bytes,19,opt"`
   167  }
   168  
   169  type GroupFile struct {
   170  	Filename    []byte `protobuf:"bytes,1,opt"`
   171  	FileSize    uint64 `protobuf:"varint,2,opt"`
   172  	FileId      []byte `protobuf:"bytes,3,opt"`
   173  	BatchId     []byte `protobuf:"bytes,4,opt"`
   174  	FileKey     []byte `protobuf:"bytes,5,opt"`
   175  	Mark        []byte `protobuf:"bytes,6,opt"`
   176  	Sequence    uint64 `protobuf:"varint,7,opt"`
   177  	BatchItemId []byte `protobuf:"bytes,8,opt"`
   178  	FeedMsgTime int32  `protobuf:"varint,9,opt"`
   179  	PbReserve   []byte `protobuf:"bytes,10,opt"`
   180  }
   181  
   182  type LightAppElem struct {
   183  	Data     []byte `protobuf:"bytes,1,opt"`
   184  	MsgResid []byte `protobuf:"bytes,2,opt"`
   185  }
   186  
   187  type MarketFace struct {
   188  	FaceName    []byte `protobuf:"bytes,1,opt"`
   189  	ItemType    int32  `protobuf:"varint,2,opt"`
   190  	FaceInfo    int32  `protobuf:"varint,3,opt"`
   191  	FaceId      []byte `protobuf:"bytes,4,opt"`
   192  	TabId       int32  `protobuf:"varint,5,opt"`
   193  	SubType     int32  `protobuf:"varint,6,opt"`
   194  	Key         []byte `protobuf:"bytes,7,opt"`
   195  	Param       []byte `protobuf:"bytes,8,opt"`
   196  	MediaType   int32  `protobuf:"varint,9,opt"`
   197  	ImageWidth  int32  `protobuf:"varint,10,opt"`
   198  	ImageHeight int32  `protobuf:"varint,11,opt"`
   199  	Mobileparam []byte `protobuf:"bytes,12,opt"`
   200  	PbReserve   []byte `protobuf:"bytes,13,opt"`
   201  }
   202  
   203  type NotOnlineImage struct {
   204  	FilePath       string `protobuf:"bytes,1,opt"`
   205  	FileLen        uint32 `protobuf:"varint,2,opt"`
   206  	DownloadPath   string `protobuf:"bytes,3,opt"`
   207  	OldVerSendFile []byte `protobuf:"bytes,4,opt"`
   208  	ImgType        int32  `protobuf:"varint,5,opt"`
   209  	PreviewsImage  []byte `protobuf:"bytes,6,opt"`
   210  	PicMd5         []byte `protobuf:"bytes,7,opt"`
   211  	PicHeight      uint32 `protobuf:"varint,8,opt"`
   212  	PicWidth       uint32 `protobuf:"varint,9,opt"`
   213  	ResId          string `protobuf:"bytes,10,opt"`
   214  	Flag           []byte `protobuf:"bytes,11,opt"`
   215  	ThumbUrl       string `protobuf:"bytes,12,opt"`
   216  	Original       int32  `protobuf:"varint,13,opt"`
   217  	BigUrl         string `protobuf:"bytes,14,opt"`
   218  	OrigUrl        string `protobuf:"bytes,15,opt"`
   219  	BizType        int32  `protobuf:"varint,16,opt"`
   220  	Result         int32  `protobuf:"varint,17,opt"`
   221  	Index          int32  `protobuf:"varint,18,opt"`
   222  	OpFaceBuf      []byte `protobuf:"bytes,19,opt"`
   223  	OldPicMd5      bool   `protobuf:"varint,20,opt"`
   224  	ThumbWidth     int32  `protobuf:"varint,21,opt"`
   225  	ThumbHeight    int32  `protobuf:"varint,22,opt"`
   226  	FileId         int32  `protobuf:"varint,23,opt"`
   227  	ShowLen        uint32 `protobuf:"varint,24,opt"`
   228  	DownloadLen    uint32 `protobuf:"varint,25,opt"`
   229  	PbRes          []byte `protobuf:"bytes,26,opt"`
   230  }
   231  
   232  type OnlineImage struct {
   233  	Guid           []byte `protobuf:"bytes,1,opt"`
   234  	FilePath       []byte `protobuf:"bytes,2,opt"`
   235  	OldVerSendFile []byte `protobuf:"bytes,3,opt"`
   236  }
   237  
   238  type QQWalletMsg struct {
   239  	Type *QQWalletAioBody `protobuf:"bytes,1,opt"`
   240  	_    [0]func()
   241  }
   242  
   243  type QQWalletAioBody struct {
   244  	SendUin     uint64           `protobuf:"varint,1,opt"`
   245  	Sender      *QQWalletAioElem `protobuf:"bytes,2,opt"`
   246  	Receiver    *QQWalletAioElem `protobuf:"bytes,3,opt"`
   247  	ChannelId   int32            `protobuf:"zigzag32,4,opt"`
   248  	TemplateId  int32            `protobuf:"zigzag32,5,opt"`
   249  	Resend      uint32           `protobuf:"varint,6,opt"`
   250  	MsgPriority uint32           `protobuf:"varint,7,opt"`
   251  	RedType     int32            `protobuf:"zigzag32,8,opt"`
   252  	BillNo      []byte           `protobuf:"bytes,9,opt"`
   253  	AuthKey     []byte           `protobuf:"bytes,10,opt"`
   254  	SessionType int32            `protobuf:"zigzag32,11,opt"`
   255  	MsgType     int32            `protobuf:"zigzag32,12,opt"`
   256  	EnvelOpeId  int32            `protobuf:"zigzag32,13,opt"`
   257  	Name        []byte           `protobuf:"bytes,14,opt"`
   258  	ConfType    int32            `protobuf:"zigzag32,15,opt"`
   259  	MsgFrom     int32            `protobuf:"zigzag32,16,opt"`
   260  	PcBody      []byte           `protobuf:"bytes,17,opt"`
   261  	Index       []byte           `protobuf:"bytes,18,opt"`
   262  	RedChannel  uint32           `protobuf:"varint,19,opt"`
   263  	GrapUin     uint64           `protobuf:"varint,20,opt"`
   264  	PbReserve   []byte           `protobuf:"bytes,21,opt"`
   265  }
   266  
   267  type QQWalletAioElem struct {
   268  	Background      uint32 `protobuf:"varint,1,opt"`
   269  	Icon            uint32 `protobuf:"varint,2,opt"`
   270  	Title           string `protobuf:"bytes,3,opt"`
   271  	Subtitle        string `protobuf:"bytes,4,opt"`
   272  	Content         string `protobuf:"bytes,5,opt"`
   273  	LinkUrl         []byte `protobuf:"bytes,6,opt"`
   274  	BlackStripe     []byte `protobuf:"bytes,7,opt"`
   275  	Notice          []byte `protobuf:"bytes,8,opt"`
   276  	TitleColor      uint32 `protobuf:"varint,9,opt"`
   277  	SubtitleColor   uint32 `protobuf:"varint,10,opt"`
   278  	ActionsPriority []byte `protobuf:"bytes,11,opt"`
   279  	JumpUrl         []byte `protobuf:"bytes,12,opt"`
   280  	NativeIos       []byte `protobuf:"bytes,13,opt"`
   281  	NativeAndroid   []byte `protobuf:"bytes,14,opt"`
   282  	IconUrl         []byte `protobuf:"bytes,15,opt"`
   283  	ContentColor    uint32 `protobuf:"varint,16,opt"`
   284  	ContentBgColor  uint32 `protobuf:"varint,17,opt"`
   285  	AioImageLeft    []byte `protobuf:"bytes,18,opt"`
   286  	AioImageRight   []byte `protobuf:"bytes,19,opt"`
   287  	CftImage        []byte `protobuf:"bytes,20,opt"`
   288  	PbReserve       []byte `protobuf:"bytes,21,opt"`
   289  }
   290  
   291  type RedBagInfo struct {
   292  	RedBagType proto.Option[uint32] `protobuf:"varint,1,opt"`
   293  	_          [0]func()
   294  }
   295  
   296  type RichMsg struct {
   297  	Template1 []byte               `protobuf:"bytes,1,opt"`
   298  	ServiceId proto.Option[int32]  `protobuf:"varint,2,opt"`
   299  	MsgResId  []byte               `protobuf:"bytes,3,opt"`
   300  	Rand      proto.Option[int32]  `protobuf:"varint,4,opt"`
   301  	Seq       proto.Option[uint32] `protobuf:"varint,5,opt"`
   302  }
   303  
   304  type SrcMsg struct {
   305  	OrigSeqs  []uint32             `protobuf:"varint,1,rep"`
   306  	SenderUin uint64               `protobuf:"varint,2,opt"`
   307  	Time      proto.Option[int32]  `protobuf:"varint,3,opt"`
   308  	Flag      proto.Option[int32]  `protobuf:"varint,4,opt"`
   309  	Elems     []*Elem              `protobuf:"bytes,5,rep"`
   310  	Type      proto.Option[int32]  `protobuf:"varint,6,opt"`
   311  	RichMsg   []byte               `protobuf:"bytes,7,opt"`
   312  	PbReserve []byte               `protobuf:"bytes,8,opt"`
   313  	SourceMsg []byte               `protobuf:"bytes,9,opt"`
   314  	ToUin     proto.Option[uint64] `protobuf:"varint,10,opt"`
   315  	TroopName []byte               `protobuf:"bytes,11,opt"`
   316  }
   317  
   318  type Preserve struct {
   319  	MessageId      uint64 `protobuf:"varint,3,opt"`
   320  	SenderUid      string `protobuf:"bytes,6,opt"`
   321  	ReceiverUid    string `protobuf:"bytes,7,opt"`
   322  	ClientSequence uint32 `protobuf:"varint,8,opt"`
   323  	_              [0]func()
   324  }
   325  
   326  type Text struct {
   327  	Str       proto.Option[string] `protobuf:"bytes,1,opt"`
   328  	Lint      proto.Option[string] `protobuf:"bytes,2,opt"`
   329  	Attr6Buf  []byte               `protobuf:"bytes,3,opt"`
   330  	Attr7Buf  []byte               `protobuf:"bytes,4,opt"`
   331  	Buf       []byte               `protobuf:"bytes,11,opt"`
   332  	PbReserve []byte               `protobuf:"bytes,12,opt"`
   333  }
   334  
   335  type TransElem struct {
   336  	ElemType  int32  `protobuf:"varint,1,opt"`
   337  	ElemValue []byte `protobuf:"bytes,2,opt"`
   338  }
   339  
   340  type VideoFile struct {
   341  	FileUuid               string   `protobuf:"bytes,1,opt"`
   342  	FileMd5                []byte   `protobuf:"bytes,2,opt"`
   343  	FileName               string   `protobuf:"bytes,3,opt"`
   344  	FileFormat             int32    `protobuf:"varint,4,opt"`
   345  	FileTime               int32    `protobuf:"varint,5,opt"`
   346  	FileSize               int32    `protobuf:"varint,6,opt"`
   347  	ThumbWidth             int32    `protobuf:"varint,7,opt"`
   348  	ThumbHeight            int32    `protobuf:"varint,8,opt"`
   349  	ThumbFileMd5           []byte   `protobuf:"bytes,9,opt"`
   350  	Source                 []byte   `protobuf:"bytes,10,opt"`
   351  	ThumbFileSize          int32    `protobuf:"varint,11,opt"`
   352  	BusiType               int32    `protobuf:"varint,12,opt"`
   353  	FromChatType           int32    `protobuf:"varint,13,opt"`
   354  	ToChatType             int32    `protobuf:"varint,14,opt"`
   355  	BoolSupportProgressive bool     `protobuf:"varint,15,opt"`
   356  	FileWidth              int32    `protobuf:"varint,16,opt"`
   357  	FileHeight             int32    `protobuf:"varint,17,opt"`
   358  	SubBusiType            int32    `protobuf:"varint,18,opt"`
   359  	VideoAttr              int32    `protobuf:"varint,19,opt"`
   360  	BytesThumbFileUrls     [][]byte `protobuf:"bytes,20,rep"`
   361  	BytesVideoFileUrls     [][]byte `protobuf:"bytes,21,rep"`
   362  	ThumbDownloadFlag      int32    `protobuf:"varint,22,opt"`
   363  	VideoDownloadFlag      int32    `protobuf:"varint,23,opt"`
   364  	PbReserve              []byte   `protobuf:"bytes,24,opt"`
   365  }
   366  
   367  type CustomFaceExtra struct {
   368  	Hash proto.Option[string] `protobuf:"bytes,31,opt"`
   369  	_    [0]func()
   370  }
   371  
   372  type FaceExtra struct {
   373  	FaceId proto.Option[int32] `protobuf:"varint,1,opt"`
   374  	_      [0]func()
   375  }
   376  
   377  type ImageExtra struct {
   378  	Field85 uint32 `protobuf:"varint,85,opt"`
   379  	_       [0]func()
   380  }
   381  
   382  type MentionExtra struct {
   383  	Type   proto.Option[int32]  `protobuf:"varint,3,opt"`
   384  	Uin    proto.Option[uint32] `protobuf:"varint,4,opt"`
   385  	Field5 proto.Option[int32]  `protobuf:"varint,5,opt"`
   386  	Uid    proto.Option[string] `protobuf:"bytes,9,opt"`
   387  	_      [0]func()
   388  }
   389  
   390  type QFaceExtra struct {
   391  	Field1  proto.Option[string] `protobuf:"bytes,1,opt"`
   392  	Field2  proto.Option[string] `protobuf:"bytes,2,opt"`
   393  	FaceId  proto.Option[int32]  `protobuf:"varint,3,opt"`
   394  	Field4  proto.Option[int32]  `protobuf:"varint,4,opt"`
   395  	Field5  proto.Option[int32]  `protobuf:"varint,5,opt"`
   396  	Field6  proto.Option[string] `protobuf:"bytes,6,opt"`
   397  	Preview proto.Option[string] `protobuf:"bytes,7,opt"`
   398  	Field9  proto.Option[int32]  `protobuf:"varint,9,opt"`
   399  	_       [0]func()
   400  }
   401  
   402  type QSmallFaceExtra struct {
   403  	FaceId   uint32 `protobuf:"varint,1,opt"`
   404  	Preview  string `protobuf:"bytes,2,opt"`
   405  	Preview2 string `protobuf:"bytes,3,opt"`
   406  	_        [0]func()
   407  }