2020-08-25 06:11:14 +00:00
// Code generated by protoc-gen-gogo. DO NOT EDIT.
// source: lib/config/deviceconfiguration.proto
package config
import (
fmt "fmt"
proto "github.com/gogo/protobuf/proto"
github_com_syncthing_syncthing_lib_protocol "github.com/syncthing/syncthing/lib/protocol"
protocol "github.com/syncthing/syncthing/lib/protocol"
_ "github.com/syncthing/syncthing/proto/ext"
2020-10-02 06:07:05 +00:00
io "io"
2020-08-25 06:11:14 +00:00
math "math"
math_bits "math/bits"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto . Marshal
var _ = fmt . Errorf
var _ = math . Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto . GoGoProtoPackageIsVersion3 // please upgrade the proto package
type DeviceConfiguration struct {
DeviceID github_com_syncthing_syncthing_lib_protocol . DeviceID ` protobuf:"bytes,1,opt,name=device_id,json=deviceId,proto3,customtype=github.com/syncthing/syncthing/lib/protocol.DeviceID" json:"deviceID" xml:"id,attr" `
Name string ` protobuf:"bytes,2,opt,name=name,proto3" json:"name" xml:"name,attr,omitempty" `
Addresses [ ] string ` protobuf:"bytes,3,rep,name=addresses,proto3" json:"addresses" xml:"address,omitempty" default:"dynamic" `
Compression protocol . Compression ` protobuf:"varint,4,opt,name=compression,proto3,enum=protocol.Compression" json:"compression" xml:"compression,attr" `
CertName string ` protobuf:"bytes,5,opt,name=cert_name,json=certName,proto3" json:"certName" xml:"certName,attr,omitempty" `
Introducer bool ` protobuf:"varint,6,opt,name=introducer,proto3" json:"introducer" xml:"introducer,attr" `
SkipIntroductionRemovals bool ` protobuf:"varint,7,opt,name=skip_introduction_removals,json=skipIntroductionRemovals,proto3" json:"skipIntroductionRemovals" xml:"skipIntroductionRemovals,attr" `
IntroducedBy github_com_syncthing_syncthing_lib_protocol . DeviceID ` protobuf:"bytes,8,opt,name=introduced_by,json=introducedBy,proto3,customtype=github.com/syncthing/syncthing/lib/protocol.DeviceID" json:"introducedBy" xml:"introducedBy,attr" `
Paused bool ` protobuf:"varint,9,opt,name=paused,proto3" json:"paused" xml:"paused" `
AllowedNetworks [ ] string ` protobuf:"bytes,10,rep,name=allowed_networks,json=allowedNetworks,proto3" json:"allowedNetworks" xml:"allowedNetwork,omitempty" `
AutoAcceptFolders bool ` protobuf:"varint,11,opt,name=auto_accept_folders,json=autoAcceptFolders,proto3" json:"autoAcceptFolders" xml:"autoAcceptFolders" `
MaxSendKbps int ` protobuf:"varint,12,opt,name=max_send_kbps,json=maxSendKbps,proto3,casttype=int" json:"maxSendKbps" xml:"maxSendKbps" `
MaxRecvKbps int ` protobuf:"varint,13,opt,name=max_recv_kbps,json=maxRecvKbps,proto3,casttype=int" json:"maxRecvKbps" xml:"maxRecvKbps" `
IgnoredFolders [ ] ObservedFolder ` protobuf:"bytes,14,rep,name=ignored_folders,json=ignoredFolders,proto3" json:"ignoredFolders" xml:"ignoredFolder" `
2020-12-17 18:54:31 +00:00
DeprecatedPendingFolders [ ] ObservedFolder ` protobuf:"bytes,15,rep,name=pending_folders,json=pendingFolders,proto3" json:"-" xml:"pendingFolder,omitempty" ` // Deprecated: Do not use.
2020-08-25 06:11:14 +00:00
MaxRequestKiB int ` protobuf:"varint,16,opt,name=max_request_kib,json=maxRequestKib,proto3,casttype=int" json:"maxRequestKiB" xml:"maxRequestKiB" `
2020-11-09 14:33:32 +00:00
Untrusted bool ` protobuf:"varint,17,opt,name=untrusted,proto3" json:"untrusted" xml:"untrusted" `
2020-11-10 08:24:11 +00:00
RemoteGUIPort int ` protobuf:"varint,18,opt,name=remote_gui_port,json=remoteGuiPort,proto3,casttype=int" json:"remoteGUIPort" xml:"remoteGUIPort" `
2020-08-25 06:11:14 +00:00
}
func ( m * DeviceConfiguration ) Reset ( ) { * m = DeviceConfiguration { } }
func ( m * DeviceConfiguration ) String ( ) string { return proto . CompactTextString ( m ) }
func ( * DeviceConfiguration ) ProtoMessage ( ) { }
func ( * DeviceConfiguration ) Descriptor ( ) ( [ ] byte , [ ] int ) {
return fileDescriptor_744b782bd13071dd , [ ] int { 0 }
}
func ( m * DeviceConfiguration ) XXX_Unmarshal ( b [ ] byte ) error {
2020-10-02 06:07:05 +00:00
return m . Unmarshal ( b )
2020-08-25 06:11:14 +00:00
}
func ( m * DeviceConfiguration ) XXX_Marshal ( b [ ] byte , deterministic bool ) ( [ ] byte , error ) {
2020-10-02 06:07:05 +00:00
if deterministic {
return xxx_messageInfo_DeviceConfiguration . Marshal ( b , m , deterministic )
} else {
b = b [ : cap ( b ) ]
n , err := m . MarshalToSizedBuffer ( b )
if err != nil {
return nil , err
}
return b [ : n ] , nil
}
2020-08-25 06:11:14 +00:00
}
func ( m * DeviceConfiguration ) XXX_Merge ( src proto . Message ) {
xxx_messageInfo_DeviceConfiguration . Merge ( m , src )
}
func ( m * DeviceConfiguration ) XXX_Size ( ) int {
2020-10-02 06:07:05 +00:00
return m . ProtoSize ( )
2020-08-25 06:11:14 +00:00
}
func ( m * DeviceConfiguration ) XXX_DiscardUnknown ( ) {
xxx_messageInfo_DeviceConfiguration . DiscardUnknown ( m )
}
var xxx_messageInfo_DeviceConfiguration proto . InternalMessageInfo
func init ( ) {
proto . RegisterType ( ( * DeviceConfiguration ) ( nil ) , "config.DeviceConfiguration" )
}
func init ( ) {
proto . RegisterFile ( "lib/config/deviceconfiguration.proto" , fileDescriptor_744b782bd13071dd )
}
var fileDescriptor_744b782bd13071dd = [ ] byte {
2020-12-17 18:54:31 +00:00
// 1009 bytes of a gzipped FileDescriptorProto
0x1f , 0x8b , 0x08 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x02 , 0xff , 0xa4 , 0x55 , 0xbd , 0x6f , 0xdb , 0x46 ,
0x1c , 0x15 , 0xeb , 0xc4 , 0xb6 , 0xce , 0x96 , 0x65 , 0xd3 , 0x88 , 0xc3 , 0x18 , 0x88 , 0x4e , 0x50 , 0x35 ,
0x28 , 0x68 , 0x22 , 0x17 , 0x6e , 0x27 , 0xa3 , 0x2d , 0x50 , 0xc6 , 0x68 , 0x63 , 0x18 , 0x4d , 0xdc , 0x2b ,
0xba , 0x78 , 0x61 , 0x49 , 0xde , 0x59 , 0x39 , 0x58 , 0xfc , 0x28 , 0x79 , 0x54 , 0x2c , 0xa0 , 0x43 , 0xc7 ,
0x16 , 0xe8 , 0x50 , 0x64 , 0xed , 0x52 , 0x74 , 0xe8 , 0xd0 , 0xff , 0xa3 , 0x80 , 0x37 , 0x6b , 0x2c , 0x3a ,
0x1c , 0x10 , 0x7b , 0xe3 , 0xc8 , 0x31 , 0x53 , 0x71 , 0x47 , 0x8a , 0x3a , 0xca , 0x71 , 0x50 , 0x20 , 0xdb ,
0xdd , 0x7b , 0xef , 0xde , 0xef , 0x83 , 0xbf , 0x3b , 0x82 , 0xee , 0x90 , 0x3a , 0x3b , 0x6e , 0xe0 , 0x9f ,
0xd0 , 0xc1 , 0x0e , 0x26 , 0x23 , 0xea , 0x92 , 0x7c , 0x93 , 0x44 , 0x36 , 0xa3 , 0x81 , 0xdf , 0x0f , 0xa3 ,
0x80 , 0x05 , 0xfa , 0x62 , 0x0e , 0x6e , 0x6f , 0x09 , 0xb5 , 0x84 , 0xdc , 0x60 , 0xb8 , 0xe3 , 0x90 , 0x30 ,
0xe7 , 0xb7 , 0xef , 0x29 , 0x2e , 0x81 , 0x13 , 0x93 , 0x68 , 0x44 , 0x70 , 0x41 , 0xd5 , 0xc9 , 0x19 , 0xcb ,
0x97 , 0x9d , 0xbf , 0xd7 , 0xc1 , 0xe6 , 0xbe , 0x8c , 0xf1 , 0x58 , 0x8d , 0xa1 , 0xff , 0xa5 , 0x81 , 0x7a ,
0x1e , 0xdb , 0xa2 , 0xd8 , 0xd0 , 0xda , 0x5a , 0x6f , 0xd5 , 0xfc , 0x45 , 0x3b , 0xe7 , 0xb0 , 0xf6 , 0x2f ,
0x87 , 0x1f , 0x0f , 0x28 , 0x7b , 0x9e , 0x38 , 0x7d , 0x37 , 0xf0 , 0x76 , 0xe2 , 0xb1 , 0xef , 0xb2 , 0xe7 ,
0xd4 , 0x1f , 0x28 , 0x2b , 0x35 , 0xa3 , 0x7e , 0xee , 0x7e , 0xb0 , 0x7f , 0xc9 , 0xe1 , 0xf2 , 0x74 , 0x9d ,
0x72 , 0xb8 , 0x8c , 0x8b , 0x75 , 0xc6 , 0x61 , 0xe3 , 0xcc , 0x1b , 0xee , 0x75 , 0x28 , 0x7e , 0x68 , 0x33 ,
0x16 , 0x75 , 0xd2 , 0x8b , 0xee , 0x52 , 0xb1 , 0xce , 0x2e , 0xba , 0xa5 , 0xee , 0xa7 , 0x49 , 0x57 , 0x7b ,
0x39 , 0xe9 , 0x96 , 0x1e , 0x68 , 0xca , 0x60 , 0xfd , 0x08 , 0xdc , 0xf2 , 0x6d , 0x8f , 0x18 , 0xef , 0xb5 ,
0xb5 , 0x5e , 0xdd , 0xfc , 0x24 , 0xe5 , 0x50 , 0xee , 0x33 , 0x0e , 0xef , 0x49 , 0x67 , 0xb1 , 0x91 , 0x7e ,
0x0f , 0x03 , 0x8f , 0x32 , 0xe2 , 0x85 , 0x6c , 0x2c , 0xa2 , 0x6c , 0xbe , 0x01 , 0x47 , 0xf2 , 0xa4 , 0x7e ,
0x06 , 0xea , 0x36 , 0xc6 , 0x11 , 0x89 , 0x63 , 0x12 , 0x1b , 0x0b , 0xed , 0x85 , 0x5e , 0xdd , 0x3c , 0x4e ,
0x39 , 0x9c , 0x81 , 0x19 , 0x87 , 0x0f , 0xa4 , 0x77 , 0x81 , 0x28 , 0xce , 0x6d , 0x4c , 0x4e , 0xec , 0x64 ,
0xc8 , 0xf6 , 0x3a , 0x78 , 0xec , 0xdb , 0x1e , 0x75 , 0x45 , 0xac , 0x8d , 0x6b , 0xba , 0xd7 , 0x17 , 0xdd ,
0xa5 , 0x42 , 0x80 , 0x66 , 0xbe , 0xfa , 0x08 , 0xac , 0xb8 , 0x81 , 0x17 , 0x8a , 0x1d , 0x0d , 0x7c , 0xe3 ,
0x56 , 0x5b , 0xeb , 0xad , 0xed , 0xde , 0xe9 , 0x97 , 0xed , 0x7c , 0x3c , 0x23 , 0xcd , 0x4f , 0x53 , 0x0e ,
0x55 , 0x75 , 0xc6 , 0xe1 , 0x96 , 0x4c , 0x4a , 0xc1 , 0xca , 0x9e , 0xae , 0xcf , 0x83 , 0x48 , 0x3d , 0xaa ,
0x13 , 0x50 , 0x77 , 0x49 , 0xc4 , 0x2c , 0xd9 , 0xc8 , 0xdb , 0xb2 , 0x91 , 0x4f , 0xc4 , 0x67 , 0x12 , 0xe0 ,
0xd3 , 0xbc , 0x99 , 0xf7 , 0x73 , 0xef , 0x02 , 0x78 , 0x43 , 0x43 , 0xef , 0xde , 0xc0 , 0xa1 , 0xd2 , 0x45 ,
0x3f , 0x06 , 0x80 , 0xfa , 0x2c , 0x0a , 0x70 , 0xe2 , 0x92 , 0xc8 , 0x58 , 0x6c , 0x6b , 0xbd , 0x65 , 0x73 ,
0x2f , 0xe5 , 0x50 , 0x41 , 0x33 , 0x0e , 0xef , 0xe4 , 0x03 , 0x51 , 0x42 , 0x65 , 0x11 , 0xcd , 0x39 , 0x0c ,
0x29 , 0xe7 , 0xf4 , 0x3f , 0x34 , 0xb0 , 0x1d , 0x9f , 0xd2 , 0xd0 , 0x9a , 0x62 , 0x62 , 0x92 , 0xad , 0x88 ,
0x78 , 0xc1 , 0xc8 , 0x1e , 0xc6 , 0xc6 , 0x92 , 0x0c , 0x86 , 0x53 , 0x0e , 0x0d , 0xa1 , 0x3a , 0x50 , 0x44 ,
0xa8 , 0xd0 , 0x64 , 0x1c , 0xbe , 0x2f , 0x43 , 0xdf , 0x24 , 0x28 , 0x13 , 0xb9 , 0xff , 0x56 , 0x05 , 0xba ,
0x31 , 0x82 , 0xfe , 0xa7 , 0x06 , 0x1a , 0x65 , 0xce , 0xd8 , 0x72 , 0xc6 , 0xc6 , 0xb2 , 0xbc , 0x5c , 0x3f ,
0xbe , 0xd3 , 0xe5 , 0x4a , 0x39 , 0x5c , 0x9d , 0xb9 , 0x9a , 0xe3 , 0x8c , 0xc3 , 0xbb , 0xd5 , 0x1e , 0x62 ,
0x73 , 0x5c , 0x26 , 0xbf , 0x71 , 0x0d , 0x15 , 0x97 , 0x0b , 0x55 , 0x1c , 0xf4 , 0x5d , 0xb0 , 0x18 , 0xda ,
0x49 , 0x4c , 0xb0 , 0x51 , 0x97 , 0x8d , 0xdb , 0x4e , 0x39 , 0x2c , 0x90 , 0x8c , 0xc3 , 0x55 , 0xe9 , 0x9e ,
0x6f , 0x3b , 0xa8 , 0xc0 , 0xf5 , 0x1f , 0xc0 , 0xba , 0x3d , 0x1c , 0x06 , 0x2f , 0x08 , 0xb6 , 0x7c , 0xc2 ,
0x5e , 0x04 , 0xd1 , 0x69 , 0x6c , 0x00 , 0x79 , 0x7b , 0xbe , 0x4e , 0x39 , 0x6c , 0x16 , 0xdc , 0xd3 , 0x82 ,
0xca , 0x38 , 0x6c , 0xe5 , 0x77 , 0xa8 , 0x82 , 0x57 , 0x67 , 0xca , 0xb8 , 0x89 , 0x44 , 0xf3 , 0x76 , 0xfa ,
0x77 , 0x60 , 0xd3 , 0x4e , 0x58 , 0x60 , 0xd9 , 0xae , 0x4b , 0x42 , 0x66 , 0x9d , 0x04 , 0x43 , 0x4c , 0xa2 ,
0xd8 , 0x58 , 0x91 , 0xe9 , 0x7f , 0x98 , 0x72 , 0xb8 , 0x21 , 0xe8 , 0xcf , 0x25 , 0xfb , 0x45 , 0x4e , 0x96 ,
0x7d , 0xba , 0xc6 , 0x74 , 0xd0 , 0x75 , 0xb5 , 0xfe , 0x0c , 0x34 , 0x3c , 0xfb , 0xcc , 0x8a , 0x89 , 0x8f ,
0xad , 0x53 , 0x27 , 0x8c , 0x8d , 0xd5 , 0xb6 , 0xd6 , 0xbb , 0x6d , 0x7e , 0x20 , 0xee , 0xa1 , 0x67 , 0x9f ,
0x7d , 0x43 , 0x7c , 0x7c , 0xe8 , 0x84 , 0xc2 , 0x75 , 0x43 , 0xba , 0x2a , 0x58 , 0xe7 , 0x35 , 0x87 , 0x0b ,
0xd4 , 0x67 , 0x48 , 0x15 , 0x4e , 0x0d , 0x23 , 0xe2 , 0x8e , 0x72 , 0xc3 , 0x46 , 0xc5 , 0x10 , 0x11 , 0x77 ,
0x34 , 0x6f , 0x38 , 0xc5 , 0x2a , 0x86 , 0x53 , 0x50 , 0xf7 , 0x41 , 0x93 , 0x0e , 0xfc , 0x20 , 0x22 , 0xb8 ,
0xac , 0x7f , 0xad , 0xbd , 0xd0 , 0x5b , 0xd9 , 0xdd , 0xea , 0xe7 , 0xff , 0x82 , 0xfe , 0xb3 , 0xe2 , 0x5f ,
0x90 , 0xd7 , 0x64 , 0x3e , 0x12 , 0x63 , 0x97 , 0x72 , 0xb8 , 0x56 , 0x1c , 0x9b , 0x35 , 0x66 , 0x33 , 0x1f ,
0x20 , 0x15 , 0xee , 0xa0 , 0x39 , 0x99 , 0xfe , 0xb3 , 0x06 , 0x9a , 0x21 , 0xf1 , 0x31 , 0xf5 , 0x07 , 0x65 ,
0xc0 , 0xe6 , 0x5b , 0x03 , 0x3e , 0x11 , 0x01 , 0x2f , 0x39 , 0x34 , 0xf6 , 0x49 , 0x18 , 0x11 , 0xd7 , 0x66 ,
0x04 , 0x1f , 0xe5 , 0x06 , 0x85 , 0x67 , 0xca , 0xa1 , 0xf6 , 0xa8 , 0x7c , 0x6e , 0x42 , 0x95 , 0x53 , 0x46 ,
0xc3 , 0xd0 , 0xd0 , 0x5a , 0x85 , 0x8b , 0xf5 , 0xdf , 0x34 , 0xd0 , 0xcc , 0xbb , 0xf9 , 0x7d , 0x42 , 0x62 ,
0x66 , 0x9d , 0x52 , 0xc7 , 0x58 , 0x97 , 0xfd , 0x8c , 0x2f , 0x39 , 0x6c , 0x7c , 0x25 , 0xda , 0x24 , 0x99 ,
0x43 , 0x6a , 0xa6 , 0x1c , 0x36 , 0x3c , 0x15 , 0x28 , 0x0b , 0xae , 0xa0 , 0xd3 , 0x26 , 0xa7 , 0x17 , 0xdd ,
0x39 , 0xf9 , 0x3c , 0xf0 , 0x72 , 0xd2 , 0xad , 0x46 , 0x40 , 0x15 , 0xde , 0xd1 , 0x3f , 0x03 , 0xf5 , 0xc4 ,
0x67 , 0x51 , 0x12 , 0x33 , 0x82 , 0x8d , 0x0d , 0x39 , 0x93 , 0x6d , 0xf1 , 0x4b , 0x29 , 0xc1 , 0x8c , 0xc3 ,
0xa6 , 0xcc , 0xa0 , 0x44 , 0x3a , 0x68 , 0xc6 , 0xca , 0xea , 0xc4 , 0x5b , 0xc6 , 0x88 , 0x35 , 0x48 , 0xa8 ,
0x15 , 0x06 , 0x11 , 0x33 , 0xf4 , 0x59 , 0x75 , 0x48 , 0x52 , 0x5f , 0x7e , 0x7b , 0x70 , 0x14 , 0x44 , 0x4c ,
0x54 , 0x17 , 0xa9 , 0x40 , 0x59 , 0x5d , 0x05 , 0x55 , 0xab , 0xab , 0xca , 0xe7 , 0x01 , 0x51 , 0x5d , 0x25 ,
0x02 , 0x9a , 0xf2 , 0x09 , 0x15 , 0x5b , 0xf3 , 0xf0 , 0xfc , 0x55 , 0xab , 0x36 , 0x79 , 0xd5 , 0xaa , 0x9d ,
0x5f , 0xb6 , 0xb4 , 0xc9 , 0x65 , 0x4b , 0xfb , 0xf5 , 0xaa , 0x55 , 0xfb , 0xfd , 0xaa , 0xa5 , 0x4d , 0xae ,
0x5a , 0xb5 , 0x7f , 0xae , 0x5a , 0xb5 , 0xe3 , 0x07 , 0xff , 0xe3 , 0x5d , 0xcb , 0x27 , 0xc6 , 0x59 , 0x94 ,
0xef , 0xdb , 0x47 , 0xff , 0x05 , 0x00 , 0x00 , 0xff , 0xff , 0x1d , 0x01 , 0x84 , 0xd4 , 0x09 , 0x09 , 0x00 ,
0x00 ,
2020-10-02 06:07:05 +00:00
}
func ( m * DeviceConfiguration ) Marshal ( ) ( dAtA [ ] byte , err error ) {
size := m . ProtoSize ( )
dAtA = make ( [ ] byte , size )
n , err := m . MarshalToSizedBuffer ( dAtA [ : size ] )
if err != nil {
return nil , err
}
return dAtA [ : n ] , nil
2020-08-25 06:11:14 +00:00
}
2020-10-02 06:07:05 +00:00
func ( m * DeviceConfiguration ) MarshalTo ( dAtA [ ] byte ) ( int , error ) {
size := m . ProtoSize ( )
return m . MarshalToSizedBuffer ( dAtA [ : size ] )
}
func ( m * DeviceConfiguration ) MarshalToSizedBuffer ( dAtA [ ] byte ) ( int , error ) {
i := len ( dAtA )
_ = i
var l int
_ = l
2020-11-10 08:24:11 +00:00
if m . RemoteGUIPort != 0 {
i = encodeVarintDeviceconfiguration ( dAtA , i , uint64 ( m . RemoteGUIPort ) )
i --
dAtA [ i ] = 0x1
i --
dAtA [ i ] = 0x90
}
2020-11-09 14:33:32 +00:00
if m . Untrusted {
i --
if m . Untrusted {
dAtA [ i ] = 1
} else {
dAtA [ i ] = 0
}
i --
dAtA [ i ] = 0x1
i --
dAtA [ i ] = 0x88
}
2020-10-02 06:07:05 +00:00
if m . MaxRequestKiB != 0 {
i = encodeVarintDeviceconfiguration ( dAtA , i , uint64 ( m . MaxRequestKiB ) )
i --
dAtA [ i ] = 0x1
i --
dAtA [ i ] = 0x80
}
2020-12-17 18:54:31 +00:00
if len ( m . DeprecatedPendingFolders ) > 0 {
for iNdEx := len ( m . DeprecatedPendingFolders ) - 1 ; iNdEx >= 0 ; iNdEx -- {
2020-10-02 06:07:05 +00:00
{
2020-12-17 18:54:31 +00:00
size , err := m . DeprecatedPendingFolders [ iNdEx ] . MarshalToSizedBuffer ( dAtA [ : i ] )
2020-10-02 06:07:05 +00:00
if err != nil {
return 0 , err
}
i -= size
i = encodeVarintDeviceconfiguration ( dAtA , i , uint64 ( size ) )
}
i --
dAtA [ i ] = 0x7a
}
}
if len ( m . IgnoredFolders ) > 0 {
for iNdEx := len ( m . IgnoredFolders ) - 1 ; iNdEx >= 0 ; iNdEx -- {
{
size , err := m . IgnoredFolders [ iNdEx ] . MarshalToSizedBuffer ( dAtA [ : i ] )
if err != nil {
return 0 , err
}
i -= size
i = encodeVarintDeviceconfiguration ( dAtA , i , uint64 ( size ) )
}
i --
dAtA [ i ] = 0x72
}
}
if m . MaxRecvKbps != 0 {
i = encodeVarintDeviceconfiguration ( dAtA , i , uint64 ( m . MaxRecvKbps ) )
i --
dAtA [ i ] = 0x68
}
if m . MaxSendKbps != 0 {
i = encodeVarintDeviceconfiguration ( dAtA , i , uint64 ( m . MaxSendKbps ) )
i --
dAtA [ i ] = 0x60
}
if m . AutoAcceptFolders {
i --
if m . AutoAcceptFolders {
dAtA [ i ] = 1
} else {
dAtA [ i ] = 0
}
i --
dAtA [ i ] = 0x58
}
if len ( m . AllowedNetworks ) > 0 {
for iNdEx := len ( m . AllowedNetworks ) - 1 ; iNdEx >= 0 ; iNdEx -- {
i -= len ( m . AllowedNetworks [ iNdEx ] )
copy ( dAtA [ i : ] , m . AllowedNetworks [ iNdEx ] )
i = encodeVarintDeviceconfiguration ( dAtA , i , uint64 ( len ( m . AllowedNetworks [ iNdEx ] ) ) )
i --
dAtA [ i ] = 0x52
}
}
if m . Paused {
i --
if m . Paused {
dAtA [ i ] = 1
} else {
dAtA [ i ] = 0
}
i --
dAtA [ i ] = 0x48
}
{
size := m . IntroducedBy . ProtoSize ( )
i -= size
if _ , err := m . IntroducedBy . MarshalTo ( dAtA [ i : ] ) ; err != nil {
return 0 , err
}
i = encodeVarintDeviceconfiguration ( dAtA , i , uint64 ( size ) )
}
i --
dAtA [ i ] = 0x42
if m . SkipIntroductionRemovals {
i --
if m . SkipIntroductionRemovals {
dAtA [ i ] = 1
} else {
dAtA [ i ] = 0
}
i --
dAtA [ i ] = 0x38
}
if m . Introducer {
i --
if m . Introducer {
dAtA [ i ] = 1
} else {
dAtA [ i ] = 0
}
i --
dAtA [ i ] = 0x30
}
if len ( m . CertName ) > 0 {
i -= len ( m . CertName )
copy ( dAtA [ i : ] , m . CertName )
i = encodeVarintDeviceconfiguration ( dAtA , i , uint64 ( len ( m . CertName ) ) )
i --
dAtA [ i ] = 0x2a
}
if m . Compression != 0 {
i = encodeVarintDeviceconfiguration ( dAtA , i , uint64 ( m . Compression ) )
i --
dAtA [ i ] = 0x20
}
if len ( m . Addresses ) > 0 {
for iNdEx := len ( m . Addresses ) - 1 ; iNdEx >= 0 ; iNdEx -- {
i -= len ( m . Addresses [ iNdEx ] )
copy ( dAtA [ i : ] , m . Addresses [ iNdEx ] )
i = encodeVarintDeviceconfiguration ( dAtA , i , uint64 ( len ( m . Addresses [ iNdEx ] ) ) )
i --
dAtA [ i ] = 0x1a
}
}
if len ( m . Name ) > 0 {
i -= len ( m . Name )
copy ( dAtA [ i : ] , m . Name )
i = encodeVarintDeviceconfiguration ( dAtA , i , uint64 ( len ( m . Name ) ) )
i --
dAtA [ i ] = 0x12
}
{
size := m . DeviceID . ProtoSize ( )
i -= size
if _ , err := m . DeviceID . MarshalTo ( dAtA [ i : ] ) ; err != nil {
return 0 , err
}
i = encodeVarintDeviceconfiguration ( dAtA , i , uint64 ( size ) )
}
i --
dAtA [ i ] = 0xa
return len ( dAtA ) - i , nil
}
func encodeVarintDeviceconfiguration ( dAtA [ ] byte , offset int , v uint64 ) int {
offset -= sovDeviceconfiguration ( v )
base := offset
for v >= 1 << 7 {
dAtA [ offset ] = uint8 ( v & 0x7f | 0x80 )
v >>= 7
offset ++
}
dAtA [ offset ] = uint8 ( v )
return base
}
2020-08-25 06:11:14 +00:00
func ( m * DeviceConfiguration ) ProtoSize ( ) ( n int ) {
if m == nil {
return 0
}
var l int
_ = l
l = m . DeviceID . ProtoSize ( )
n += 1 + l + sovDeviceconfiguration ( uint64 ( l ) )
l = len ( m . Name )
if l > 0 {
n += 1 + l + sovDeviceconfiguration ( uint64 ( l ) )
}
if len ( m . Addresses ) > 0 {
for _ , s := range m . Addresses {
l = len ( s )
n += 1 + l + sovDeviceconfiguration ( uint64 ( l ) )
}
}
if m . Compression != 0 {
n += 1 + sovDeviceconfiguration ( uint64 ( m . Compression ) )
}
l = len ( m . CertName )
if l > 0 {
n += 1 + l + sovDeviceconfiguration ( uint64 ( l ) )
}
if m . Introducer {
n += 2
}
if m . SkipIntroductionRemovals {
n += 2
}
l = m . IntroducedBy . ProtoSize ( )
n += 1 + l + sovDeviceconfiguration ( uint64 ( l ) )
if m . Paused {
n += 2
}
if len ( m . AllowedNetworks ) > 0 {
for _ , s := range m . AllowedNetworks {
l = len ( s )
n += 1 + l + sovDeviceconfiguration ( uint64 ( l ) )
}
}
if m . AutoAcceptFolders {
n += 2
}
if m . MaxSendKbps != 0 {
n += 1 + sovDeviceconfiguration ( uint64 ( m . MaxSendKbps ) )
}
if m . MaxRecvKbps != 0 {
n += 1 + sovDeviceconfiguration ( uint64 ( m . MaxRecvKbps ) )
}
if len ( m . IgnoredFolders ) > 0 {
for _ , e := range m . IgnoredFolders {
l = e . ProtoSize ( )
n += 1 + l + sovDeviceconfiguration ( uint64 ( l ) )
}
}
2020-12-17 18:54:31 +00:00
if len ( m . DeprecatedPendingFolders ) > 0 {
for _ , e := range m . DeprecatedPendingFolders {
2020-08-25 06:11:14 +00:00
l = e . ProtoSize ( )
n += 1 + l + sovDeviceconfiguration ( uint64 ( l ) )
}
}
if m . MaxRequestKiB != 0 {
n += 2 + sovDeviceconfiguration ( uint64 ( m . MaxRequestKiB ) )
}
2020-11-09 14:33:32 +00:00
if m . Untrusted {
n += 3
}
2020-11-10 08:24:11 +00:00
if m . RemoteGUIPort != 0 {
n += 2 + sovDeviceconfiguration ( uint64 ( m . RemoteGUIPort ) )
}
2020-08-25 06:11:14 +00:00
return n
}
func sovDeviceconfiguration ( x uint64 ) ( n int ) {
return ( math_bits . Len64 ( x | 1 ) + 6 ) / 7
}
func sozDeviceconfiguration ( x uint64 ) ( n int ) {
return sovDeviceconfiguration ( uint64 ( ( x << 1 ) ^ uint64 ( ( int64 ( x ) >> 63 ) ) ) )
}
2020-10-02 06:07:05 +00:00
func ( m * DeviceConfiguration ) Unmarshal ( dAtA [ ] byte ) error {
l := len ( dAtA )
iNdEx := 0
for iNdEx < l {
preIndex := iNdEx
var wire uint64
for shift := uint ( 0 ) ; ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowDeviceconfiguration
}
if iNdEx >= l {
return io . ErrUnexpectedEOF
}
b := dAtA [ iNdEx ]
iNdEx ++
wire |= uint64 ( b & 0x7F ) << shift
if b < 0x80 {
break
}
}
fieldNum := int32 ( wire >> 3 )
wireType := int ( wire & 0x7 )
if wireType == 4 {
return fmt . Errorf ( "proto: DeviceConfiguration: wiretype end group for non-group" )
}
if fieldNum <= 0 {
return fmt . Errorf ( "proto: DeviceConfiguration: illegal tag %d (wire type %d)" , fieldNum , wire )
}
switch fieldNum {
case 1 :
if wireType != 2 {
return fmt . Errorf ( "proto: wrong wireType = %d for field DeviceID" , wireType )
}
var byteLen int
for shift := uint ( 0 ) ; ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowDeviceconfiguration
}
if iNdEx >= l {
return io . ErrUnexpectedEOF
}
b := dAtA [ iNdEx ]
iNdEx ++
byteLen |= int ( b & 0x7F ) << shift
if b < 0x80 {
break
}
}
if byteLen < 0 {
return ErrInvalidLengthDeviceconfiguration
}
postIndex := iNdEx + byteLen
if postIndex < 0 {
return ErrInvalidLengthDeviceconfiguration
}
if postIndex > l {
return io . ErrUnexpectedEOF
}
if err := m . DeviceID . Unmarshal ( dAtA [ iNdEx : postIndex ] ) ; err != nil {
return err
}
iNdEx = postIndex
case 2 :
if wireType != 2 {
return fmt . Errorf ( "proto: wrong wireType = %d for field Name" , wireType )
}
var stringLen uint64
for shift := uint ( 0 ) ; ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowDeviceconfiguration
}
if iNdEx >= l {
return io . ErrUnexpectedEOF
}
b := dAtA [ iNdEx ]
iNdEx ++
stringLen |= uint64 ( b & 0x7F ) << shift
if b < 0x80 {
break
}
}
intStringLen := int ( stringLen )
if intStringLen < 0 {
return ErrInvalidLengthDeviceconfiguration
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthDeviceconfiguration
}
if postIndex > l {
return io . ErrUnexpectedEOF
}
m . Name = string ( dAtA [ iNdEx : postIndex ] )
iNdEx = postIndex
case 3 :
if wireType != 2 {
return fmt . Errorf ( "proto: wrong wireType = %d for field Addresses" , wireType )
}
var stringLen uint64
for shift := uint ( 0 ) ; ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowDeviceconfiguration
}
if iNdEx >= l {
return io . ErrUnexpectedEOF
}
b := dAtA [ iNdEx ]
iNdEx ++
stringLen |= uint64 ( b & 0x7F ) << shift
if b < 0x80 {
break
}
}
intStringLen := int ( stringLen )
if intStringLen < 0 {
return ErrInvalidLengthDeviceconfiguration
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthDeviceconfiguration
}
if postIndex > l {
return io . ErrUnexpectedEOF
}
m . Addresses = append ( m . Addresses , string ( dAtA [ iNdEx : postIndex ] ) )
iNdEx = postIndex
case 4 :
if wireType != 0 {
return fmt . Errorf ( "proto: wrong wireType = %d for field Compression" , wireType )
}
m . Compression = 0
for shift := uint ( 0 ) ; ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowDeviceconfiguration
}
if iNdEx >= l {
return io . ErrUnexpectedEOF
}
b := dAtA [ iNdEx ]
iNdEx ++
m . Compression |= protocol . Compression ( b & 0x7F ) << shift
if b < 0x80 {
break
}
}
case 5 :
if wireType != 2 {
return fmt . Errorf ( "proto: wrong wireType = %d for field CertName" , wireType )
}
var stringLen uint64
for shift := uint ( 0 ) ; ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowDeviceconfiguration
}
if iNdEx >= l {
return io . ErrUnexpectedEOF
}
b := dAtA [ iNdEx ]
iNdEx ++
stringLen |= uint64 ( b & 0x7F ) << shift
if b < 0x80 {
break
}
}
intStringLen := int ( stringLen )
if intStringLen < 0 {
return ErrInvalidLengthDeviceconfiguration
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthDeviceconfiguration
}
if postIndex > l {
return io . ErrUnexpectedEOF
}
m . CertName = string ( dAtA [ iNdEx : postIndex ] )
iNdEx = postIndex
case 6 :
if wireType != 0 {
return fmt . Errorf ( "proto: wrong wireType = %d for field Introducer" , wireType )
}
var v int
for shift := uint ( 0 ) ; ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowDeviceconfiguration
}
if iNdEx >= l {
return io . ErrUnexpectedEOF
}
b := dAtA [ iNdEx ]
iNdEx ++
v |= int ( b & 0x7F ) << shift
if b < 0x80 {
break
}
}
m . Introducer = bool ( v != 0 )
case 7 :
if wireType != 0 {
return fmt . Errorf ( "proto: wrong wireType = %d for field SkipIntroductionRemovals" , wireType )
}
var v int
for shift := uint ( 0 ) ; ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowDeviceconfiguration
}
if iNdEx >= l {
return io . ErrUnexpectedEOF
}
b := dAtA [ iNdEx ]
iNdEx ++
v |= int ( b & 0x7F ) << shift
if b < 0x80 {
break
}
}
m . SkipIntroductionRemovals = bool ( v != 0 )
case 8 :
if wireType != 2 {
return fmt . Errorf ( "proto: wrong wireType = %d for field IntroducedBy" , wireType )
}
var byteLen int
for shift := uint ( 0 ) ; ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowDeviceconfiguration
}
if iNdEx >= l {
return io . ErrUnexpectedEOF
}
b := dAtA [ iNdEx ]
iNdEx ++
byteLen |= int ( b & 0x7F ) << shift
if b < 0x80 {
break
}
}
if byteLen < 0 {
return ErrInvalidLengthDeviceconfiguration
}
postIndex := iNdEx + byteLen
if postIndex < 0 {
return ErrInvalidLengthDeviceconfiguration
}
if postIndex > l {
return io . ErrUnexpectedEOF
}
if err := m . IntroducedBy . Unmarshal ( dAtA [ iNdEx : postIndex ] ) ; err != nil {
return err
}
iNdEx = postIndex
case 9 :
if wireType != 0 {
return fmt . Errorf ( "proto: wrong wireType = %d for field Paused" , wireType )
}
var v int
for shift := uint ( 0 ) ; ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowDeviceconfiguration
}
if iNdEx >= l {
return io . ErrUnexpectedEOF
}
b := dAtA [ iNdEx ]
iNdEx ++
v |= int ( b & 0x7F ) << shift
if b < 0x80 {
break
}
}
m . Paused = bool ( v != 0 )
case 10 :
if wireType != 2 {
return fmt . Errorf ( "proto: wrong wireType = %d for field AllowedNetworks" , wireType )
}
var stringLen uint64
for shift := uint ( 0 ) ; ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowDeviceconfiguration
}
if iNdEx >= l {
return io . ErrUnexpectedEOF
}
b := dAtA [ iNdEx ]
iNdEx ++
stringLen |= uint64 ( b & 0x7F ) << shift
if b < 0x80 {
break
}
}
intStringLen := int ( stringLen )
if intStringLen < 0 {
return ErrInvalidLengthDeviceconfiguration
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthDeviceconfiguration
}
if postIndex > l {
return io . ErrUnexpectedEOF
}
m . AllowedNetworks = append ( m . AllowedNetworks , string ( dAtA [ iNdEx : postIndex ] ) )
iNdEx = postIndex
case 11 :
if wireType != 0 {
return fmt . Errorf ( "proto: wrong wireType = %d for field AutoAcceptFolders" , wireType )
}
var v int
for shift := uint ( 0 ) ; ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowDeviceconfiguration
}
if iNdEx >= l {
return io . ErrUnexpectedEOF
}
b := dAtA [ iNdEx ]
iNdEx ++
v |= int ( b & 0x7F ) << shift
if b < 0x80 {
break
}
}
m . AutoAcceptFolders = bool ( v != 0 )
case 12 :
if wireType != 0 {
return fmt . Errorf ( "proto: wrong wireType = %d for field MaxSendKbps" , wireType )
}
m . MaxSendKbps = 0
for shift := uint ( 0 ) ; ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowDeviceconfiguration
}
if iNdEx >= l {
return io . ErrUnexpectedEOF
}
b := dAtA [ iNdEx ]
iNdEx ++
m . MaxSendKbps |= int ( b & 0x7F ) << shift
if b < 0x80 {
break
}
}
case 13 :
if wireType != 0 {
return fmt . Errorf ( "proto: wrong wireType = %d for field MaxRecvKbps" , wireType )
}
m . MaxRecvKbps = 0
for shift := uint ( 0 ) ; ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowDeviceconfiguration
}
if iNdEx >= l {
return io . ErrUnexpectedEOF
}
b := dAtA [ iNdEx ]
iNdEx ++
m . MaxRecvKbps |= int ( b & 0x7F ) << shift
if b < 0x80 {
break
}
}
case 14 :
if wireType != 2 {
return fmt . Errorf ( "proto: wrong wireType = %d for field IgnoredFolders" , wireType )
}
var msglen int
for shift := uint ( 0 ) ; ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowDeviceconfiguration
}
if iNdEx >= l {
return io . ErrUnexpectedEOF
}
b := dAtA [ iNdEx ]
iNdEx ++
msglen |= int ( b & 0x7F ) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLengthDeviceconfiguration
}
postIndex := iNdEx + msglen
if postIndex < 0 {
return ErrInvalidLengthDeviceconfiguration
}
if postIndex > l {
return io . ErrUnexpectedEOF
}
m . IgnoredFolders = append ( m . IgnoredFolders , ObservedFolder { } )
if err := m . IgnoredFolders [ len ( m . IgnoredFolders ) - 1 ] . Unmarshal ( dAtA [ iNdEx : postIndex ] ) ; err != nil {
return err
}
iNdEx = postIndex
case 15 :
if wireType != 2 {
2020-12-17 18:54:31 +00:00
return fmt . Errorf ( "proto: wrong wireType = %d for field DeprecatedPendingFolders" , wireType )
2020-10-02 06:07:05 +00:00
}
var msglen int
for shift := uint ( 0 ) ; ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowDeviceconfiguration
}
if iNdEx >= l {
return io . ErrUnexpectedEOF
}
b := dAtA [ iNdEx ]
iNdEx ++
msglen |= int ( b & 0x7F ) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLengthDeviceconfiguration
}
postIndex := iNdEx + msglen
if postIndex < 0 {
return ErrInvalidLengthDeviceconfiguration
}
if postIndex > l {
return io . ErrUnexpectedEOF
}
2020-12-17 18:54:31 +00:00
m . DeprecatedPendingFolders = append ( m . DeprecatedPendingFolders , ObservedFolder { } )
if err := m . DeprecatedPendingFolders [ len ( m . DeprecatedPendingFolders ) - 1 ] . Unmarshal ( dAtA [ iNdEx : postIndex ] ) ; err != nil {
2020-10-02 06:07:05 +00:00
return err
}
iNdEx = postIndex
case 16 :
if wireType != 0 {
return fmt . Errorf ( "proto: wrong wireType = %d for field MaxRequestKiB" , wireType )
}
m . MaxRequestKiB = 0
for shift := uint ( 0 ) ; ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowDeviceconfiguration
}
if iNdEx >= l {
return io . ErrUnexpectedEOF
}
b := dAtA [ iNdEx ]
iNdEx ++
m . MaxRequestKiB |= int ( b & 0x7F ) << shift
if b < 0x80 {
break
}
}
2020-11-09 14:33:32 +00:00
case 17 :
if wireType != 0 {
return fmt . Errorf ( "proto: wrong wireType = %d for field Untrusted" , wireType )
}
var v int
for shift := uint ( 0 ) ; ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowDeviceconfiguration
}
if iNdEx >= l {
return io . ErrUnexpectedEOF
}
b := dAtA [ iNdEx ]
iNdEx ++
v |= int ( b & 0x7F ) << shift
if b < 0x80 {
break
}
}
m . Untrusted = bool ( v != 0 )
2020-11-10 08:24:11 +00:00
case 18 :
if wireType != 0 {
return fmt . Errorf ( "proto: wrong wireType = %d for field RemoteGUIPort" , wireType )
}
m . RemoteGUIPort = 0
for shift := uint ( 0 ) ; ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowDeviceconfiguration
}
if iNdEx >= l {
return io . ErrUnexpectedEOF
}
b := dAtA [ iNdEx ]
iNdEx ++
m . RemoteGUIPort |= int ( b & 0x7F ) << shift
if b < 0x80 {
break
}
}
2020-10-02 06:07:05 +00:00
default :
iNdEx = preIndex
skippy , err := skipDeviceconfiguration ( dAtA [ iNdEx : ] )
if err != nil {
return err
}
if skippy < 0 {
return ErrInvalidLengthDeviceconfiguration
}
if ( iNdEx + skippy ) < 0 {
return ErrInvalidLengthDeviceconfiguration
}
if ( iNdEx + skippy ) > l {
return io . ErrUnexpectedEOF
}
iNdEx += skippy
}
}
if iNdEx > l {
return io . ErrUnexpectedEOF
}
return nil
}
func skipDeviceconfiguration ( dAtA [ ] byte ) ( n int , err error ) {
l := len ( dAtA )
iNdEx := 0
depth := 0
for iNdEx < l {
var wire uint64
for shift := uint ( 0 ) ; ; shift += 7 {
if shift >= 64 {
return 0 , ErrIntOverflowDeviceconfiguration
}
if iNdEx >= l {
return 0 , io . ErrUnexpectedEOF
}
b := dAtA [ iNdEx ]
iNdEx ++
wire |= ( uint64 ( b ) & 0x7F ) << shift
if b < 0x80 {
break
}
}
wireType := int ( wire & 0x7 )
switch wireType {
case 0 :
for shift := uint ( 0 ) ; ; shift += 7 {
if shift >= 64 {
return 0 , ErrIntOverflowDeviceconfiguration
}
if iNdEx >= l {
return 0 , io . ErrUnexpectedEOF
}
iNdEx ++
if dAtA [ iNdEx - 1 ] < 0x80 {
break
}
}
case 1 :
iNdEx += 8
case 2 :
var length int
for shift := uint ( 0 ) ; ; shift += 7 {
if shift >= 64 {
return 0 , ErrIntOverflowDeviceconfiguration
}
if iNdEx >= l {
return 0 , io . ErrUnexpectedEOF
}
b := dAtA [ iNdEx ]
iNdEx ++
length |= ( int ( b ) & 0x7F ) << shift
if b < 0x80 {
break
}
}
if length < 0 {
return 0 , ErrInvalidLengthDeviceconfiguration
}
iNdEx += length
case 3 :
depth ++
case 4 :
if depth == 0 {
return 0 , ErrUnexpectedEndOfGroupDeviceconfiguration
}
depth --
case 5 :
iNdEx += 4
default :
return 0 , fmt . Errorf ( "proto: illegal wireType %d" , wireType )
}
if iNdEx < 0 {
return 0 , ErrInvalidLengthDeviceconfiguration
}
if depth == 0 {
return iNdEx , nil
}
}
return 0 , io . ErrUnexpectedEOF
}
var (
ErrInvalidLengthDeviceconfiguration = fmt . Errorf ( "proto: negative length found during unmarshaling" )
ErrIntOverflowDeviceconfiguration = fmt . Errorf ( "proto: integer overflow" )
ErrUnexpectedEndOfGroupDeviceconfiguration = fmt . Errorf ( "proto: unexpected end of group" )
)