1// Code generated by protoc-gen-go. DO NOT EDIT.
2// source: MurmurRPC.proto
3
4package MurmurRPC
5
6import (
7	context "context"
8	fmt "fmt"
9	proto "github.com/golang/protobuf/proto"
10	grpc "google.golang.org/grpc"
11	codes "google.golang.org/grpc/codes"
12	status "google.golang.org/grpc/status"
13	math "math"
14)
15
16// Reference imports to suppress errors if they are not otherwise used.
17var _ = proto.Marshal
18var _ = fmt.Errorf
19var _ = math.Inf
20
21// This is a compile-time assertion to ensure that this generated file
22// is compatible with the proto package it is being compiled against.
23// A compilation error at this line likely means your copy of the
24// proto package needs to be updated.
25const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
26
27type Server_Event_Type int32
28
29const (
30	Server_Event_UserConnected       Server_Event_Type = 0
31	Server_Event_UserDisconnected    Server_Event_Type = 1
32	Server_Event_UserStateChanged    Server_Event_Type = 2
33	Server_Event_UserTextMessage     Server_Event_Type = 3
34	Server_Event_ChannelCreated      Server_Event_Type = 4
35	Server_Event_ChannelRemoved      Server_Event_Type = 5
36	Server_Event_ChannelStateChanged Server_Event_Type = 6
37)
38
39var Server_Event_Type_name = map[int32]string{
40	0: "UserConnected",
41	1: "UserDisconnected",
42	2: "UserStateChanged",
43	3: "UserTextMessage",
44	4: "ChannelCreated",
45	5: "ChannelRemoved",
46	6: "ChannelStateChanged",
47}
48
49var Server_Event_Type_value = map[string]int32{
50	"UserConnected":       0,
51	"UserDisconnected":    1,
52	"UserStateChanged":    2,
53	"UserTextMessage":     3,
54	"ChannelCreated":      4,
55	"ChannelRemoved":      5,
56	"ChannelStateChanged": 6,
57}
58
59func (x Server_Event_Type) Enum() *Server_Event_Type {
60	p := new(Server_Event_Type)
61	*p = x
62	return p
63}
64
65func (x Server_Event_Type) String() string {
66	return proto.EnumName(Server_Event_Type_name, int32(x))
67}
68
69func (x *Server_Event_Type) UnmarshalJSON(data []byte) error {
70	value, err := proto.UnmarshalJSONEnum(Server_Event_Type_value, data, "Server_Event_Type")
71	if err != nil {
72		return err
73	}
74	*x = Server_Event_Type(value)
75	return nil
76}
77
78func (Server_Event_Type) EnumDescriptor() ([]byte, []int) {
79	return fileDescriptor_3bf06070873d1163, []int{3, 0, 0}
80}
81
82type Event_Type int32
83
84const (
85	Event_ServerStopped Event_Type = 0
86	Event_ServerStarted Event_Type = 1
87)
88
89var Event_Type_name = map[int32]string{
90	0: "ServerStopped",
91	1: "ServerStarted",
92}
93
94var Event_Type_value = map[string]int32{
95	"ServerStopped": 0,
96	"ServerStarted": 1,
97}
98
99func (x Event_Type) Enum() *Event_Type {
100	p := new(Event_Type)
101	*p = x
102	return p
103}
104
105func (x Event_Type) String() string {
106	return proto.EnumName(Event_Type_name, int32(x))
107}
108
109func (x *Event_Type) UnmarshalJSON(data []byte) error {
110	value, err := proto.UnmarshalJSONEnum(Event_Type_value, data, "Event_Type")
111	if err != nil {
112		return err
113	}
114	*x = Event_Type(value)
115	return nil
116}
117
118func (Event_Type) EnumDescriptor() ([]byte, []int) {
119	return fileDescriptor_3bf06070873d1163, []int{4, 0}
120}
121
122type ContextAction_Context int32
123
124const (
125	ContextAction_Server  ContextAction_Context = 1
126	ContextAction_Channel ContextAction_Context = 2
127	ContextAction_User    ContextAction_Context = 4
128)
129
130var ContextAction_Context_name = map[int32]string{
131	1: "Server",
132	2: "Channel",
133	4: "User",
134}
135
136var ContextAction_Context_value = map[string]int32{
137	"Server":  1,
138	"Channel": 2,
139	"User":    4,
140}
141
142func (x ContextAction_Context) Enum() *ContextAction_Context {
143	p := new(ContextAction_Context)
144	*p = x
145	return p
146}
147
148func (x ContextAction_Context) String() string {
149	return proto.EnumName(ContextAction_Context_name, int32(x))
150}
151
152func (x *ContextAction_Context) UnmarshalJSON(data []byte) error {
153	value, err := proto.UnmarshalJSONEnum(ContextAction_Context_value, data, "ContextAction_Context")
154	if err != nil {
155		return err
156	}
157	*x = ContextAction_Context(value)
158	return nil
159}
160
161func (ContextAction_Context) EnumDescriptor() ([]byte, []int) {
162	return fileDescriptor_3bf06070873d1163, []int{5, 0}
163}
164
165type TextMessage_Filter_Action int32
166
167const (
168	// Accept the message.
169	TextMessage_Filter_Accept TextMessage_Filter_Action = 0
170	// Reject the message with a permission error.
171	TextMessage_Filter_Reject TextMessage_Filter_Action = 1
172	// Silently drop the message.
173	TextMessage_Filter_Drop TextMessage_Filter_Action = 2
174)
175
176var TextMessage_Filter_Action_name = map[int32]string{
177	0: "Accept",
178	1: "Reject",
179	2: "Drop",
180}
181
182var TextMessage_Filter_Action_value = map[string]int32{
183	"Accept": 0,
184	"Reject": 1,
185	"Drop":   2,
186}
187
188func (x TextMessage_Filter_Action) Enum() *TextMessage_Filter_Action {
189	p := new(TextMessage_Filter_Action)
190	*p = x
191	return p
192}
193
194func (x TextMessage_Filter_Action) String() string {
195	return proto.EnumName(TextMessage_Filter_Action_name, int32(x))
196}
197
198func (x *TextMessage_Filter_Action) UnmarshalJSON(data []byte) error {
199	value, err := proto.UnmarshalJSONEnum(TextMessage_Filter_Action_value, data, "TextMessage_Filter_Action")
200	if err != nil {
201		return err
202	}
203	*x = TextMessage_Filter_Action(value)
204	return nil
205}
206
207func (TextMessage_Filter_Action) EnumDescriptor() ([]byte, []int) {
208	return fileDescriptor_3bf06070873d1163, []int{6, 0, 0}
209}
210
211type ACL_Permission int32
212
213const (
214	ACL_None                 ACL_Permission = 0
215	ACL_Write                ACL_Permission = 1
216	ACL_Traverse             ACL_Permission = 2
217	ACL_Enter                ACL_Permission = 4
218	ACL_Speak                ACL_Permission = 8
219	ACL_Whisper              ACL_Permission = 256
220	ACL_MuteDeafen           ACL_Permission = 16
221	ACL_Move                 ACL_Permission = 32
222	ACL_MakeChannel          ACL_Permission = 64
223	ACL_MakeTemporaryChannel ACL_Permission = 1024
224	ACL_LinkChannel          ACL_Permission = 128
225	ACL_TextMessage          ACL_Permission = 512
226	ACL_Kick                 ACL_Permission = 65536
227	ACL_Ban                  ACL_Permission = 131072
228	ACL_Register             ACL_Permission = 262144
229	ACL_RegisterSelf         ACL_Permission = 524288
230)
231
232var ACL_Permission_name = map[int32]string{
233	0:      "None",
234	1:      "Write",
235	2:      "Traverse",
236	4:      "Enter",
237	8:      "Speak",
238	256:    "Whisper",
239	16:     "MuteDeafen",
240	32:     "Move",
241	64:     "MakeChannel",
242	1024:   "MakeTemporaryChannel",
243	128:    "LinkChannel",
244	512:    "TextMessage",
245	65536:  "Kick",
246	131072: "Ban",
247	262144: "Register",
248	524288: "RegisterSelf",
249}
250
251var ACL_Permission_value = map[string]int32{
252	"None":                 0,
253	"Write":                1,
254	"Traverse":             2,
255	"Enter":                4,
256	"Speak":                8,
257	"Whisper":              256,
258	"MuteDeafen":           16,
259	"Move":                 32,
260	"MakeChannel":          64,
261	"MakeTemporaryChannel": 1024,
262	"LinkChannel":          128,
263	"TextMessage":          512,
264	"Kick":                 65536,
265	"Ban":                  131072,
266	"Register":             262144,
267	"RegisterSelf":         524288,
268}
269
270func (x ACL_Permission) Enum() *ACL_Permission {
271	p := new(ACL_Permission)
272	*p = x
273	return p
274}
275
276func (x ACL_Permission) String() string {
277	return proto.EnumName(ACL_Permission_name, int32(x))
278}
279
280func (x *ACL_Permission) UnmarshalJSON(data []byte) error {
281	value, err := proto.UnmarshalJSONEnum(ACL_Permission_value, data, "ACL_Permission")
282	if err != nil {
283		return err
284	}
285	*x = ACL_Permission(value)
286	return nil
287}
288
289func (ACL_Permission) EnumDescriptor() ([]byte, []int) {
290	return fileDescriptor_3bf06070873d1163, []int{13, 0}
291}
292
293type Authenticator_Response_Status int32
294
295const (
296	// The request should fallthrough to murmur's default action.
297	Authenticator_Response_Fallthrough Authenticator_Response_Status = 0
298	// The request was successful.
299	Authenticator_Response_Success Authenticator_Response_Status = 1
300	// The request failed; there was some error.
301	Authenticator_Response_Failure Authenticator_Response_Status = 2
302	// A temporary failure prevented the request from succeeding (e.g. a
303	// database was unavailable).
304	Authenticator_Response_TemporaryFailure Authenticator_Response_Status = 3
305)
306
307var Authenticator_Response_Status_name = map[int32]string{
308	0: "Fallthrough",
309	1: "Success",
310	2: "Failure",
311	3: "TemporaryFailure",
312}
313
314var Authenticator_Response_Status_value = map[string]int32{
315	"Fallthrough":      0,
316	"Success":          1,
317	"Failure":          2,
318	"TemporaryFailure": 3,
319}
320
321func (x Authenticator_Response_Status) Enum() *Authenticator_Response_Status {
322	p := new(Authenticator_Response_Status)
323	*p = x
324	return p
325}
326
327func (x Authenticator_Response_Status) String() string {
328	return proto.EnumName(Authenticator_Response_Status_name, int32(x))
329}
330
331func (x *Authenticator_Response_Status) UnmarshalJSON(data []byte) error {
332	value, err := proto.UnmarshalJSONEnum(Authenticator_Response_Status_value, data, "Authenticator_Response_Status")
333	if err != nil {
334		return err
335	}
336	*x = Authenticator_Response_Status(value)
337	return nil
338}
339
340func (Authenticator_Response_Status) EnumDescriptor() ([]byte, []int) {
341	return fileDescriptor_3bf06070873d1163, []int{14, 1, 0}
342}
343
344type Void struct {
345	XXX_NoUnkeyedLiteral struct{} `json:"-"`
346	XXX_unrecognized     []byte   `json:"-"`
347	XXX_sizecache        int32    `json:"-"`
348}
349
350func (m *Void) Reset()         { *m = Void{} }
351func (m *Void) String() string { return proto.CompactTextString(m) }
352func (*Void) ProtoMessage()    {}
353func (*Void) Descriptor() ([]byte, []int) {
354	return fileDescriptor_3bf06070873d1163, []int{0}
355}
356
357func (m *Void) XXX_Unmarshal(b []byte) error {
358	return xxx_messageInfo_Void.Unmarshal(m, b)
359}
360func (m *Void) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
361	return xxx_messageInfo_Void.Marshal(b, m, deterministic)
362}
363func (m *Void) XXX_Merge(src proto.Message) {
364	xxx_messageInfo_Void.Merge(m, src)
365}
366func (m *Void) XXX_Size() int {
367	return xxx_messageInfo_Void.Size(m)
368}
369func (m *Void) XXX_DiscardUnknown() {
370	xxx_messageInfo_Void.DiscardUnknown(m)
371}
372
373var xxx_messageInfo_Void proto.InternalMessageInfo
374
375type Version struct {
376	// 2-byte Major, 1-byte Minor and 1-byte Patch version number.
377	Version *uint32 `protobuf:"varint,1,opt,name=version" json:"version,omitempty"`
378	// Client release name.
379	Release *string `protobuf:"bytes,2,opt,name=release" json:"release,omitempty"`
380	// Client OS name.
381	Os *string `protobuf:"bytes,3,opt,name=os" json:"os,omitempty"`
382	// Client OS version.
383	OsVersion            *string  `protobuf:"bytes,4,opt,name=os_version,json=osVersion" json:"os_version,omitempty"`
384	XXX_NoUnkeyedLiteral struct{} `json:"-"`
385	XXX_unrecognized     []byte   `json:"-"`
386	XXX_sizecache        int32    `json:"-"`
387}
388
389func (m *Version) Reset()         { *m = Version{} }
390func (m *Version) String() string { return proto.CompactTextString(m) }
391func (*Version) ProtoMessage()    {}
392func (*Version) Descriptor() ([]byte, []int) {
393	return fileDescriptor_3bf06070873d1163, []int{1}
394}
395
396func (m *Version) XXX_Unmarshal(b []byte) error {
397	return xxx_messageInfo_Version.Unmarshal(m, b)
398}
399func (m *Version) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
400	return xxx_messageInfo_Version.Marshal(b, m, deterministic)
401}
402func (m *Version) XXX_Merge(src proto.Message) {
403	xxx_messageInfo_Version.Merge(m, src)
404}
405func (m *Version) XXX_Size() int {
406	return xxx_messageInfo_Version.Size(m)
407}
408func (m *Version) XXX_DiscardUnknown() {
409	xxx_messageInfo_Version.DiscardUnknown(m)
410}
411
412var xxx_messageInfo_Version proto.InternalMessageInfo
413
414func (m *Version) GetVersion() uint32 {
415	if m != nil && m.Version != nil {
416		return *m.Version
417	}
418	return 0
419}
420
421func (m *Version) GetRelease() string {
422	if m != nil && m.Release != nil {
423		return *m.Release
424	}
425	return ""
426}
427
428func (m *Version) GetOs() string {
429	if m != nil && m.Os != nil {
430		return *m.Os
431	}
432	return ""
433}
434
435func (m *Version) GetOsVersion() string {
436	if m != nil && m.OsVersion != nil {
437		return *m.OsVersion
438	}
439	return ""
440}
441
442type Uptime struct {
443	// The number of seconds from the starting time.
444	Secs                 *uint64  `protobuf:"varint,1,opt,name=secs" json:"secs,omitempty"`
445	XXX_NoUnkeyedLiteral struct{} `json:"-"`
446	XXX_unrecognized     []byte   `json:"-"`
447	XXX_sizecache        int32    `json:"-"`
448}
449
450func (m *Uptime) Reset()         { *m = Uptime{} }
451func (m *Uptime) String() string { return proto.CompactTextString(m) }
452func (*Uptime) ProtoMessage()    {}
453func (*Uptime) Descriptor() ([]byte, []int) {
454	return fileDescriptor_3bf06070873d1163, []int{2}
455}
456
457func (m *Uptime) XXX_Unmarshal(b []byte) error {
458	return xxx_messageInfo_Uptime.Unmarshal(m, b)
459}
460func (m *Uptime) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
461	return xxx_messageInfo_Uptime.Marshal(b, m, deterministic)
462}
463func (m *Uptime) XXX_Merge(src proto.Message) {
464	xxx_messageInfo_Uptime.Merge(m, src)
465}
466func (m *Uptime) XXX_Size() int {
467	return xxx_messageInfo_Uptime.Size(m)
468}
469func (m *Uptime) XXX_DiscardUnknown() {
470	xxx_messageInfo_Uptime.DiscardUnknown(m)
471}
472
473var xxx_messageInfo_Uptime proto.InternalMessageInfo
474
475func (m *Uptime) GetSecs() uint64 {
476	if m != nil && m.Secs != nil {
477		return *m.Secs
478	}
479	return 0
480}
481
482type Server struct {
483	// The unique server ID.
484	Id *uint32 `protobuf:"varint,1,req,name=id" json:"id,omitempty"`
485	// Is the server currently running?
486	Running *bool `protobuf:"varint,2,opt,name=running" json:"running,omitempty"`
487	// The update of the server.
488	Uptime               *Uptime  `protobuf:"bytes,3,opt,name=uptime" json:"uptime,omitempty"`
489	XXX_NoUnkeyedLiteral struct{} `json:"-"`
490	XXX_unrecognized     []byte   `json:"-"`
491	XXX_sizecache        int32    `json:"-"`
492}
493
494func (m *Server) Reset()         { *m = Server{} }
495func (m *Server) String() string { return proto.CompactTextString(m) }
496func (*Server) ProtoMessage()    {}
497func (*Server) Descriptor() ([]byte, []int) {
498	return fileDescriptor_3bf06070873d1163, []int{3}
499}
500
501func (m *Server) XXX_Unmarshal(b []byte) error {
502	return xxx_messageInfo_Server.Unmarshal(m, b)
503}
504func (m *Server) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
505	return xxx_messageInfo_Server.Marshal(b, m, deterministic)
506}
507func (m *Server) XXX_Merge(src proto.Message) {
508	xxx_messageInfo_Server.Merge(m, src)
509}
510func (m *Server) XXX_Size() int {
511	return xxx_messageInfo_Server.Size(m)
512}
513func (m *Server) XXX_DiscardUnknown() {
514	xxx_messageInfo_Server.DiscardUnknown(m)
515}
516
517var xxx_messageInfo_Server proto.InternalMessageInfo
518
519func (m *Server) GetId() uint32 {
520	if m != nil && m.Id != nil {
521		return *m.Id
522	}
523	return 0
524}
525
526func (m *Server) GetRunning() bool {
527	if m != nil && m.Running != nil {
528		return *m.Running
529	}
530	return false
531}
532
533func (m *Server) GetUptime() *Uptime {
534	if m != nil {
535		return m.Uptime
536	}
537	return nil
538}
539
540type Server_Event struct {
541	// The server on which the event happened.
542	Server *Server `protobuf:"bytes,1,opt,name=server" json:"server,omitempty"`
543	// The type of event that happened.
544	Type *Server_Event_Type `protobuf:"varint,2,opt,name=type,enum=MurmurRPC.Server_Event_Type" json:"type,omitempty"`
545	// The user tied to the event (if applicable).
546	User *User `protobuf:"bytes,3,opt,name=user" json:"user,omitempty"`
547	// The text message tied to the event (if applicable).
548	Message *TextMessage `protobuf:"bytes,4,opt,name=message" json:"message,omitempty"`
549	// The channel tied to the event (if applicable).
550	Channel              *Channel `protobuf:"bytes,5,opt,name=channel" json:"channel,omitempty"`
551	XXX_NoUnkeyedLiteral struct{} `json:"-"`
552	XXX_unrecognized     []byte   `json:"-"`
553	XXX_sizecache        int32    `json:"-"`
554}
555
556func (m *Server_Event) Reset()         { *m = Server_Event{} }
557func (m *Server_Event) String() string { return proto.CompactTextString(m) }
558func (*Server_Event) ProtoMessage()    {}
559func (*Server_Event) Descriptor() ([]byte, []int) {
560	return fileDescriptor_3bf06070873d1163, []int{3, 0}
561}
562
563func (m *Server_Event) XXX_Unmarshal(b []byte) error {
564	return xxx_messageInfo_Server_Event.Unmarshal(m, b)
565}
566func (m *Server_Event) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
567	return xxx_messageInfo_Server_Event.Marshal(b, m, deterministic)
568}
569func (m *Server_Event) XXX_Merge(src proto.Message) {
570	xxx_messageInfo_Server_Event.Merge(m, src)
571}
572func (m *Server_Event) XXX_Size() int {
573	return xxx_messageInfo_Server_Event.Size(m)
574}
575func (m *Server_Event) XXX_DiscardUnknown() {
576	xxx_messageInfo_Server_Event.DiscardUnknown(m)
577}
578
579var xxx_messageInfo_Server_Event proto.InternalMessageInfo
580
581func (m *Server_Event) GetServer() *Server {
582	if m != nil {
583		return m.Server
584	}
585	return nil
586}
587
588func (m *Server_Event) GetType() Server_Event_Type {
589	if m != nil && m.Type != nil {
590		return *m.Type
591	}
592	return Server_Event_UserConnected
593}
594
595func (m *Server_Event) GetUser() *User {
596	if m != nil {
597		return m.User
598	}
599	return nil
600}
601
602func (m *Server_Event) GetMessage() *TextMessage {
603	if m != nil {
604		return m.Message
605	}
606	return nil
607}
608
609func (m *Server_Event) GetChannel() *Channel {
610	if m != nil {
611		return m.Channel
612	}
613	return nil
614}
615
616type Server_Query struct {
617	XXX_NoUnkeyedLiteral struct{} `json:"-"`
618	XXX_unrecognized     []byte   `json:"-"`
619	XXX_sizecache        int32    `json:"-"`
620}
621
622func (m *Server_Query) Reset()         { *m = Server_Query{} }
623func (m *Server_Query) String() string { return proto.CompactTextString(m) }
624func (*Server_Query) ProtoMessage()    {}
625func (*Server_Query) Descriptor() ([]byte, []int) {
626	return fileDescriptor_3bf06070873d1163, []int{3, 1}
627}
628
629func (m *Server_Query) XXX_Unmarshal(b []byte) error {
630	return xxx_messageInfo_Server_Query.Unmarshal(m, b)
631}
632func (m *Server_Query) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
633	return xxx_messageInfo_Server_Query.Marshal(b, m, deterministic)
634}
635func (m *Server_Query) XXX_Merge(src proto.Message) {
636	xxx_messageInfo_Server_Query.Merge(m, src)
637}
638func (m *Server_Query) XXX_Size() int {
639	return xxx_messageInfo_Server_Query.Size(m)
640}
641func (m *Server_Query) XXX_DiscardUnknown() {
642	xxx_messageInfo_Server_Query.DiscardUnknown(m)
643}
644
645var xxx_messageInfo_Server_Query proto.InternalMessageInfo
646
647type Server_List struct {
648	// The servers.
649	Servers              []*Server `protobuf:"bytes,1,rep,name=servers" json:"servers,omitempty"`
650	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
651	XXX_unrecognized     []byte    `json:"-"`
652	XXX_sizecache        int32     `json:"-"`
653}
654
655func (m *Server_List) Reset()         { *m = Server_List{} }
656func (m *Server_List) String() string { return proto.CompactTextString(m) }
657func (*Server_List) ProtoMessage()    {}
658func (*Server_List) Descriptor() ([]byte, []int) {
659	return fileDescriptor_3bf06070873d1163, []int{3, 2}
660}
661
662func (m *Server_List) XXX_Unmarshal(b []byte) error {
663	return xxx_messageInfo_Server_List.Unmarshal(m, b)
664}
665func (m *Server_List) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
666	return xxx_messageInfo_Server_List.Marshal(b, m, deterministic)
667}
668func (m *Server_List) XXX_Merge(src proto.Message) {
669	xxx_messageInfo_Server_List.Merge(m, src)
670}
671func (m *Server_List) XXX_Size() int {
672	return xxx_messageInfo_Server_List.Size(m)
673}
674func (m *Server_List) XXX_DiscardUnknown() {
675	xxx_messageInfo_Server_List.DiscardUnknown(m)
676}
677
678var xxx_messageInfo_Server_List proto.InternalMessageInfo
679
680func (m *Server_List) GetServers() []*Server {
681	if m != nil {
682		return m.Servers
683	}
684	return nil
685}
686
687type Event struct {
688	// The server for which the event happened.
689	Server *Server `protobuf:"bytes,1,opt,name=server" json:"server,omitempty"`
690	// The type of event that happened.
691	Type                 *Event_Type `protobuf:"varint,2,opt,name=type,enum=MurmurRPC.Event_Type" json:"type,omitempty"`
692	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
693	XXX_unrecognized     []byte      `json:"-"`
694	XXX_sizecache        int32       `json:"-"`
695}
696
697func (m *Event) Reset()         { *m = Event{} }
698func (m *Event) String() string { return proto.CompactTextString(m) }
699func (*Event) ProtoMessage()    {}
700func (*Event) Descriptor() ([]byte, []int) {
701	return fileDescriptor_3bf06070873d1163, []int{4}
702}
703
704func (m *Event) XXX_Unmarshal(b []byte) error {
705	return xxx_messageInfo_Event.Unmarshal(m, b)
706}
707func (m *Event) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
708	return xxx_messageInfo_Event.Marshal(b, m, deterministic)
709}
710func (m *Event) XXX_Merge(src proto.Message) {
711	xxx_messageInfo_Event.Merge(m, src)
712}
713func (m *Event) XXX_Size() int {
714	return xxx_messageInfo_Event.Size(m)
715}
716func (m *Event) XXX_DiscardUnknown() {
717	xxx_messageInfo_Event.DiscardUnknown(m)
718}
719
720var xxx_messageInfo_Event proto.InternalMessageInfo
721
722func (m *Event) GetServer() *Server {
723	if m != nil {
724		return m.Server
725	}
726	return nil
727}
728
729func (m *Event) GetType() Event_Type {
730	if m != nil && m.Type != nil {
731		return *m.Type
732	}
733	return Event_ServerStopped
734}
735
736type ContextAction struct {
737	// The server on which the action is.
738	Server *Server `protobuf:"bytes,1,opt,name=server" json:"server,omitempty"`
739	// The context in which the action is.
740	Context *uint32 `protobuf:"varint,2,opt,name=context" json:"context,omitempty"`
741	// The action name.
742	Action *string `protobuf:"bytes,3,opt,name=action" json:"action,omitempty"`
743	// The user-visible descriptive name of the action.
744	Text *string `protobuf:"bytes,4,opt,name=text" json:"text,omitempty"`
745	// The user that triggered the ContextAction.
746	Actor *User `protobuf:"bytes,5,opt,name=actor" json:"actor,omitempty"`
747	// The user on which the ContextAction was triggered.
748	User *User `protobuf:"bytes,6,opt,name=user" json:"user,omitempty"`
749	// The channel on which the ContextAction was triggered.
750	Channel              *Channel `protobuf:"bytes,7,opt,name=channel" json:"channel,omitempty"`
751	XXX_NoUnkeyedLiteral struct{} `json:"-"`
752	XXX_unrecognized     []byte   `json:"-"`
753	XXX_sizecache        int32    `json:"-"`
754}
755
756func (m *ContextAction) Reset()         { *m = ContextAction{} }
757func (m *ContextAction) String() string { return proto.CompactTextString(m) }
758func (*ContextAction) ProtoMessage()    {}
759func (*ContextAction) Descriptor() ([]byte, []int) {
760	return fileDescriptor_3bf06070873d1163, []int{5}
761}
762
763func (m *ContextAction) XXX_Unmarshal(b []byte) error {
764	return xxx_messageInfo_ContextAction.Unmarshal(m, b)
765}
766func (m *ContextAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
767	return xxx_messageInfo_ContextAction.Marshal(b, m, deterministic)
768}
769func (m *ContextAction) XXX_Merge(src proto.Message) {
770	xxx_messageInfo_ContextAction.Merge(m, src)
771}
772func (m *ContextAction) XXX_Size() int {
773	return xxx_messageInfo_ContextAction.Size(m)
774}
775func (m *ContextAction) XXX_DiscardUnknown() {
776	xxx_messageInfo_ContextAction.DiscardUnknown(m)
777}
778
779var xxx_messageInfo_ContextAction proto.InternalMessageInfo
780
781func (m *ContextAction) GetServer() *Server {
782	if m != nil {
783		return m.Server
784	}
785	return nil
786}
787
788func (m *ContextAction) GetContext() uint32 {
789	if m != nil && m.Context != nil {
790		return *m.Context
791	}
792	return 0
793}
794
795func (m *ContextAction) GetAction() string {
796	if m != nil && m.Action != nil {
797		return *m.Action
798	}
799	return ""
800}
801
802func (m *ContextAction) GetText() string {
803	if m != nil && m.Text != nil {
804		return *m.Text
805	}
806	return ""
807}
808
809func (m *ContextAction) GetActor() *User {
810	if m != nil {
811		return m.Actor
812	}
813	return nil
814}
815
816func (m *ContextAction) GetUser() *User {
817	if m != nil {
818		return m.User
819	}
820	return nil
821}
822
823func (m *ContextAction) GetChannel() *Channel {
824	if m != nil {
825		return m.Channel
826	}
827	return nil
828}
829
830type TextMessage struct {
831	// The server on which the TextMessage originates.
832	Server *Server `protobuf:"bytes,1,opt,name=server" json:"server,omitempty"`
833	// The user who sent the message.
834	Actor *User `protobuf:"bytes,2,opt,name=actor" json:"actor,omitempty"`
835	// The users to whom the message is sent.
836	Users []*User `protobuf:"bytes,3,rep,name=users" json:"users,omitempty"`
837	// The channels to which the message is sent.
838	Channels []*Channel `protobuf:"bytes,4,rep,name=channels" json:"channels,omitempty"`
839	// The channels to which the message is sent, including the channels'
840	// ancestors.
841	Trees []*Channel `protobuf:"bytes,5,rep,name=trees" json:"trees,omitempty"`
842	// The message body that is sent.
843	Text                 *string  `protobuf:"bytes,6,opt,name=text" json:"text,omitempty"`
844	XXX_NoUnkeyedLiteral struct{} `json:"-"`
845	XXX_unrecognized     []byte   `json:"-"`
846	XXX_sizecache        int32    `json:"-"`
847}
848
849func (m *TextMessage) Reset()         { *m = TextMessage{} }
850func (m *TextMessage) String() string { return proto.CompactTextString(m) }
851func (*TextMessage) ProtoMessage()    {}
852func (*TextMessage) Descriptor() ([]byte, []int) {
853	return fileDescriptor_3bf06070873d1163, []int{6}
854}
855
856func (m *TextMessage) XXX_Unmarshal(b []byte) error {
857	return xxx_messageInfo_TextMessage.Unmarshal(m, b)
858}
859func (m *TextMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
860	return xxx_messageInfo_TextMessage.Marshal(b, m, deterministic)
861}
862func (m *TextMessage) XXX_Merge(src proto.Message) {
863	xxx_messageInfo_TextMessage.Merge(m, src)
864}
865func (m *TextMessage) XXX_Size() int {
866	return xxx_messageInfo_TextMessage.Size(m)
867}
868func (m *TextMessage) XXX_DiscardUnknown() {
869	xxx_messageInfo_TextMessage.DiscardUnknown(m)
870}
871
872var xxx_messageInfo_TextMessage proto.InternalMessageInfo
873
874func (m *TextMessage) GetServer() *Server {
875	if m != nil {
876		return m.Server
877	}
878	return nil
879}
880
881func (m *TextMessage) GetActor() *User {
882	if m != nil {
883		return m.Actor
884	}
885	return nil
886}
887
888func (m *TextMessage) GetUsers() []*User {
889	if m != nil {
890		return m.Users
891	}
892	return nil
893}
894
895func (m *TextMessage) GetChannels() []*Channel {
896	if m != nil {
897		return m.Channels
898	}
899	return nil
900}
901
902func (m *TextMessage) GetTrees() []*Channel {
903	if m != nil {
904		return m.Trees
905	}
906	return nil
907}
908
909func (m *TextMessage) GetText() string {
910	if m != nil && m.Text != nil {
911		return *m.Text
912	}
913	return ""
914}
915
916type TextMessage_Filter struct {
917	// The server on which the message originated.
918	Server *Server `protobuf:"bytes,1,opt,name=server" json:"server,omitempty"`
919	// The action to perform for the message.
920	Action *TextMessage_Filter_Action `protobuf:"varint,2,opt,name=action,enum=MurmurRPC.TextMessage_Filter_Action" json:"action,omitempty"`
921	// The text message.
922	Message              *TextMessage `protobuf:"bytes,3,opt,name=message" json:"message,omitempty"`
923	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
924	XXX_unrecognized     []byte       `json:"-"`
925	XXX_sizecache        int32        `json:"-"`
926}
927
928func (m *TextMessage_Filter) Reset()         { *m = TextMessage_Filter{} }
929func (m *TextMessage_Filter) String() string { return proto.CompactTextString(m) }
930func (*TextMessage_Filter) ProtoMessage()    {}
931func (*TextMessage_Filter) Descriptor() ([]byte, []int) {
932	return fileDescriptor_3bf06070873d1163, []int{6, 0}
933}
934
935func (m *TextMessage_Filter) XXX_Unmarshal(b []byte) error {
936	return xxx_messageInfo_TextMessage_Filter.Unmarshal(m, b)
937}
938func (m *TextMessage_Filter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
939	return xxx_messageInfo_TextMessage_Filter.Marshal(b, m, deterministic)
940}
941func (m *TextMessage_Filter) XXX_Merge(src proto.Message) {
942	xxx_messageInfo_TextMessage_Filter.Merge(m, src)
943}
944func (m *TextMessage_Filter) XXX_Size() int {
945	return xxx_messageInfo_TextMessage_Filter.Size(m)
946}
947func (m *TextMessage_Filter) XXX_DiscardUnknown() {
948	xxx_messageInfo_TextMessage_Filter.DiscardUnknown(m)
949}
950
951var xxx_messageInfo_TextMessage_Filter proto.InternalMessageInfo
952
953func (m *TextMessage_Filter) GetServer() *Server {
954	if m != nil {
955		return m.Server
956	}
957	return nil
958}
959
960func (m *TextMessage_Filter) GetAction() TextMessage_Filter_Action {
961	if m != nil && m.Action != nil {
962		return *m.Action
963	}
964	return TextMessage_Filter_Accept
965}
966
967func (m *TextMessage_Filter) GetMessage() *TextMessage {
968	if m != nil {
969		return m.Message
970	}
971	return nil
972}
973
974type Log struct {
975	// The server on which the log message was generated.
976	Server *Server `protobuf:"bytes,1,opt,name=server" json:"server,omitempty"`
977	// The unix timestamp of when the message was generated.
978	Timestamp *int64 `protobuf:"varint,2,opt,name=timestamp" json:"timestamp,omitempty"`
979	// The log message.
980	Text                 *string  `protobuf:"bytes,3,opt,name=text" json:"text,omitempty"`
981	XXX_NoUnkeyedLiteral struct{} `json:"-"`
982	XXX_unrecognized     []byte   `json:"-"`
983	XXX_sizecache        int32    `json:"-"`
984}
985
986func (m *Log) Reset()         { *m = Log{} }
987func (m *Log) String() string { return proto.CompactTextString(m) }
988func (*Log) ProtoMessage()    {}
989func (*Log) Descriptor() ([]byte, []int) {
990	return fileDescriptor_3bf06070873d1163, []int{7}
991}
992
993func (m *Log) XXX_Unmarshal(b []byte) error {
994	return xxx_messageInfo_Log.Unmarshal(m, b)
995}
996func (m *Log) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
997	return xxx_messageInfo_Log.Marshal(b, m, deterministic)
998}
999func (m *Log) XXX_Merge(src proto.Message) {
1000	xxx_messageInfo_Log.Merge(m, src)
1001}
1002func (m *Log) XXX_Size() int {
1003	return xxx_messageInfo_Log.Size(m)
1004}
1005func (m *Log) XXX_DiscardUnknown() {
1006	xxx_messageInfo_Log.DiscardUnknown(m)
1007}
1008
1009var xxx_messageInfo_Log proto.InternalMessageInfo
1010
1011func (m *Log) GetServer() *Server {
1012	if m != nil {
1013		return m.Server
1014	}
1015	return nil
1016}
1017
1018func (m *Log) GetTimestamp() int64 {
1019	if m != nil && m.Timestamp != nil {
1020		return *m.Timestamp
1021	}
1022	return 0
1023}
1024
1025func (m *Log) GetText() string {
1026	if m != nil && m.Text != nil {
1027		return *m.Text
1028	}
1029	return ""
1030}
1031
1032type Log_Query struct {
1033	// The server whose logs will be queried.
1034	Server *Server `protobuf:"bytes,1,opt,name=server" json:"server,omitempty"`
1035	// The minimum log index to receive.
1036	Min *uint32 `protobuf:"varint,2,opt,name=min" json:"min,omitempty"`
1037	// The maximum log index to receive.
1038	Max                  *uint32  `protobuf:"varint,3,opt,name=max" json:"max,omitempty"`
1039	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1040	XXX_unrecognized     []byte   `json:"-"`
1041	XXX_sizecache        int32    `json:"-"`
1042}
1043
1044func (m *Log_Query) Reset()         { *m = Log_Query{} }
1045func (m *Log_Query) String() string { return proto.CompactTextString(m) }
1046func (*Log_Query) ProtoMessage()    {}
1047func (*Log_Query) Descriptor() ([]byte, []int) {
1048	return fileDescriptor_3bf06070873d1163, []int{7, 0}
1049}
1050
1051func (m *Log_Query) XXX_Unmarshal(b []byte) error {
1052	return xxx_messageInfo_Log_Query.Unmarshal(m, b)
1053}
1054func (m *Log_Query) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1055	return xxx_messageInfo_Log_Query.Marshal(b, m, deterministic)
1056}
1057func (m *Log_Query) XXX_Merge(src proto.Message) {
1058	xxx_messageInfo_Log_Query.Merge(m, src)
1059}
1060func (m *Log_Query) XXX_Size() int {
1061	return xxx_messageInfo_Log_Query.Size(m)
1062}
1063func (m *Log_Query) XXX_DiscardUnknown() {
1064	xxx_messageInfo_Log_Query.DiscardUnknown(m)
1065}
1066
1067var xxx_messageInfo_Log_Query proto.InternalMessageInfo
1068
1069func (m *Log_Query) GetServer() *Server {
1070	if m != nil {
1071		return m.Server
1072	}
1073	return nil
1074}
1075
1076func (m *Log_Query) GetMin() uint32 {
1077	if m != nil && m.Min != nil {
1078		return *m.Min
1079	}
1080	return 0
1081}
1082
1083func (m *Log_Query) GetMax() uint32 {
1084	if m != nil && m.Max != nil {
1085		return *m.Max
1086	}
1087	return 0
1088}
1089
1090type Log_List struct {
1091	// The server where the log entries are from.
1092	Server *Server `protobuf:"bytes,1,opt,name=server" json:"server,omitempty"`
1093	// The total number of logs entries on the server.
1094	Total *uint32 `protobuf:"varint,2,opt,name=total" json:"total,omitempty"`
1095	// The minimum log index that was sent.
1096	Min *uint32 `protobuf:"varint,3,opt,name=min" json:"min,omitempty"`
1097	// The maximum log index that was sent.
1098	Max *uint32 `protobuf:"varint,4,opt,name=max" json:"max,omitempty"`
1099	// The log entries.
1100	Entries              []*Log   `protobuf:"bytes,5,rep,name=entries" json:"entries,omitempty"`
1101	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1102	XXX_unrecognized     []byte   `json:"-"`
1103	XXX_sizecache        int32    `json:"-"`
1104}
1105
1106func (m *Log_List) Reset()         { *m = Log_List{} }
1107func (m *Log_List) String() string { return proto.CompactTextString(m) }
1108func (*Log_List) ProtoMessage()    {}
1109func (*Log_List) Descriptor() ([]byte, []int) {
1110	return fileDescriptor_3bf06070873d1163, []int{7, 1}
1111}
1112
1113func (m *Log_List) XXX_Unmarshal(b []byte) error {
1114	return xxx_messageInfo_Log_List.Unmarshal(m, b)
1115}
1116func (m *Log_List) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1117	return xxx_messageInfo_Log_List.Marshal(b, m, deterministic)
1118}
1119func (m *Log_List) XXX_Merge(src proto.Message) {
1120	xxx_messageInfo_Log_List.Merge(m, src)
1121}
1122func (m *Log_List) XXX_Size() int {
1123	return xxx_messageInfo_Log_List.Size(m)
1124}
1125func (m *Log_List) XXX_DiscardUnknown() {
1126	xxx_messageInfo_Log_List.DiscardUnknown(m)
1127}
1128
1129var xxx_messageInfo_Log_List proto.InternalMessageInfo
1130
1131func (m *Log_List) GetServer() *Server {
1132	if m != nil {
1133		return m.Server
1134	}
1135	return nil
1136}
1137
1138func (m *Log_List) GetTotal() uint32 {
1139	if m != nil && m.Total != nil {
1140		return *m.Total
1141	}
1142	return 0
1143}
1144
1145func (m *Log_List) GetMin() uint32 {
1146	if m != nil && m.Min != nil {
1147		return *m.Min
1148	}
1149	return 0
1150}
1151
1152func (m *Log_List) GetMax() uint32 {
1153	if m != nil && m.Max != nil {
1154		return *m.Max
1155	}
1156	return 0
1157}
1158
1159func (m *Log_List) GetEntries() []*Log {
1160	if m != nil {
1161		return m.Entries
1162	}
1163	return nil
1164}
1165
1166type Config struct {
1167	// The server for which the configuration is for.
1168	Server *Server `protobuf:"bytes,1,opt,name=server" json:"server,omitempty"`
1169	// The configuration keys and values.
1170	Fields               map[string]string `protobuf:"bytes,2,rep,name=fields" json:"fields,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
1171	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
1172	XXX_unrecognized     []byte            `json:"-"`
1173	XXX_sizecache        int32             `json:"-"`
1174}
1175
1176func (m *Config) Reset()         { *m = Config{} }
1177func (m *Config) String() string { return proto.CompactTextString(m) }
1178func (*Config) ProtoMessage()    {}
1179func (*Config) Descriptor() ([]byte, []int) {
1180	return fileDescriptor_3bf06070873d1163, []int{8}
1181}
1182
1183func (m *Config) XXX_Unmarshal(b []byte) error {
1184	return xxx_messageInfo_Config.Unmarshal(m, b)
1185}
1186func (m *Config) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1187	return xxx_messageInfo_Config.Marshal(b, m, deterministic)
1188}
1189func (m *Config) XXX_Merge(src proto.Message) {
1190	xxx_messageInfo_Config.Merge(m, src)
1191}
1192func (m *Config) XXX_Size() int {
1193	return xxx_messageInfo_Config.Size(m)
1194}
1195func (m *Config) XXX_DiscardUnknown() {
1196	xxx_messageInfo_Config.DiscardUnknown(m)
1197}
1198
1199var xxx_messageInfo_Config proto.InternalMessageInfo
1200
1201func (m *Config) GetServer() *Server {
1202	if m != nil {
1203		return m.Server
1204	}
1205	return nil
1206}
1207
1208func (m *Config) GetFields() map[string]string {
1209	if m != nil {
1210		return m.Fields
1211	}
1212	return nil
1213}
1214
1215type Config_Field struct {
1216	// The server for which the configuration field is for.
1217	Server *Server `protobuf:"bytes,1,opt,name=server" json:"server,omitempty"`
1218	// The field key.
1219	Key *string `protobuf:"bytes,2,opt,name=key" json:"key,omitempty"`
1220	// The field value.
1221	Value                *string  `protobuf:"bytes,3,opt,name=value" json:"value,omitempty"`
1222	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1223	XXX_unrecognized     []byte   `json:"-"`
1224	XXX_sizecache        int32    `json:"-"`
1225}
1226
1227func (m *Config_Field) Reset()         { *m = Config_Field{} }
1228func (m *Config_Field) String() string { return proto.CompactTextString(m) }
1229func (*Config_Field) ProtoMessage()    {}
1230func (*Config_Field) Descriptor() ([]byte, []int) {
1231	return fileDescriptor_3bf06070873d1163, []int{8, 1}
1232}
1233
1234func (m *Config_Field) XXX_Unmarshal(b []byte) error {
1235	return xxx_messageInfo_Config_Field.Unmarshal(m, b)
1236}
1237func (m *Config_Field) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1238	return xxx_messageInfo_Config_Field.Marshal(b, m, deterministic)
1239}
1240func (m *Config_Field) XXX_Merge(src proto.Message) {
1241	xxx_messageInfo_Config_Field.Merge(m, src)
1242}
1243func (m *Config_Field) XXX_Size() int {
1244	return xxx_messageInfo_Config_Field.Size(m)
1245}
1246func (m *Config_Field) XXX_DiscardUnknown() {
1247	xxx_messageInfo_Config_Field.DiscardUnknown(m)
1248}
1249
1250var xxx_messageInfo_Config_Field proto.InternalMessageInfo
1251
1252func (m *Config_Field) GetServer() *Server {
1253	if m != nil {
1254		return m.Server
1255	}
1256	return nil
1257}
1258
1259func (m *Config_Field) GetKey() string {
1260	if m != nil && m.Key != nil {
1261		return *m.Key
1262	}
1263	return ""
1264}
1265
1266func (m *Config_Field) GetValue() string {
1267	if m != nil && m.Value != nil {
1268		return *m.Value
1269	}
1270	return ""
1271}
1272
1273type Channel struct {
1274	// The server on which the channel exists.
1275	Server *Server `protobuf:"bytes,1,opt,name=server" json:"server,omitempty"`
1276	// The unique channel identifier.
1277	Id *uint32 `protobuf:"varint,2,opt,name=id" json:"id,omitempty"`
1278	// The channel name.
1279	Name *string `protobuf:"bytes,3,opt,name=name" json:"name,omitempty"`
1280	// The channel's parent.
1281	Parent *Channel `protobuf:"bytes,4,opt,name=parent" json:"parent,omitempty"`
1282	// Linked channels.
1283	Links []*Channel `protobuf:"bytes,5,rep,name=links" json:"links,omitempty"`
1284	// The channel's description.
1285	Description *string `protobuf:"bytes,6,opt,name=description" json:"description,omitempty"`
1286	// Is the channel temporary?
1287	Temporary *bool `protobuf:"varint,7,opt,name=temporary" json:"temporary,omitempty"`
1288	// The position in which the channel should appear in a sorted list.
1289	Position             *int32   `protobuf:"varint,8,opt,name=position" json:"position,omitempty"`
1290	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1291	XXX_unrecognized     []byte   `json:"-"`
1292	XXX_sizecache        int32    `json:"-"`
1293}
1294
1295func (m *Channel) Reset()         { *m = Channel{} }
1296func (m *Channel) String() string { return proto.CompactTextString(m) }
1297func (*Channel) ProtoMessage()    {}
1298func (*Channel) Descriptor() ([]byte, []int) {
1299	return fileDescriptor_3bf06070873d1163, []int{9}
1300}
1301
1302func (m *Channel) XXX_Unmarshal(b []byte) error {
1303	return xxx_messageInfo_Channel.Unmarshal(m, b)
1304}
1305func (m *Channel) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1306	return xxx_messageInfo_Channel.Marshal(b, m, deterministic)
1307}
1308func (m *Channel) XXX_Merge(src proto.Message) {
1309	xxx_messageInfo_Channel.Merge(m, src)
1310}
1311func (m *Channel) XXX_Size() int {
1312	return xxx_messageInfo_Channel.Size(m)
1313}
1314func (m *Channel) XXX_DiscardUnknown() {
1315	xxx_messageInfo_Channel.DiscardUnknown(m)
1316}
1317
1318var xxx_messageInfo_Channel proto.InternalMessageInfo
1319
1320func (m *Channel) GetServer() *Server {
1321	if m != nil {
1322		return m.Server
1323	}
1324	return nil
1325}
1326
1327func (m *Channel) GetId() uint32 {
1328	if m != nil && m.Id != nil {
1329		return *m.Id
1330	}
1331	return 0
1332}
1333
1334func (m *Channel) GetName() string {
1335	if m != nil && m.Name != nil {
1336		return *m.Name
1337	}
1338	return ""
1339}
1340
1341func (m *Channel) GetParent() *Channel {
1342	if m != nil {
1343		return m.Parent
1344	}
1345	return nil
1346}
1347
1348func (m *Channel) GetLinks() []*Channel {
1349	if m != nil {
1350		return m.Links
1351	}
1352	return nil
1353}
1354
1355func (m *Channel) GetDescription() string {
1356	if m != nil && m.Description != nil {
1357		return *m.Description
1358	}
1359	return ""
1360}
1361
1362func (m *Channel) GetTemporary() bool {
1363	if m != nil && m.Temporary != nil {
1364		return *m.Temporary
1365	}
1366	return false
1367}
1368
1369func (m *Channel) GetPosition() int32 {
1370	if m != nil && m.Position != nil {
1371		return *m.Position
1372	}
1373	return 0
1374}
1375
1376type Channel_Query struct {
1377	// The server on which the channels are.
1378	Server               *Server  `protobuf:"bytes,1,opt,name=server" json:"server,omitempty"`
1379	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1380	XXX_unrecognized     []byte   `json:"-"`
1381	XXX_sizecache        int32    `json:"-"`
1382}
1383
1384func (m *Channel_Query) Reset()         { *m = Channel_Query{} }
1385func (m *Channel_Query) String() string { return proto.CompactTextString(m) }
1386func (*Channel_Query) ProtoMessage()    {}
1387func (*Channel_Query) Descriptor() ([]byte, []int) {
1388	return fileDescriptor_3bf06070873d1163, []int{9, 0}
1389}
1390
1391func (m *Channel_Query) XXX_Unmarshal(b []byte) error {
1392	return xxx_messageInfo_Channel_Query.Unmarshal(m, b)
1393}
1394func (m *Channel_Query) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1395	return xxx_messageInfo_Channel_Query.Marshal(b, m, deterministic)
1396}
1397func (m *Channel_Query) XXX_Merge(src proto.Message) {
1398	xxx_messageInfo_Channel_Query.Merge(m, src)
1399}
1400func (m *Channel_Query) XXX_Size() int {
1401	return xxx_messageInfo_Channel_Query.Size(m)
1402}
1403func (m *Channel_Query) XXX_DiscardUnknown() {
1404	xxx_messageInfo_Channel_Query.DiscardUnknown(m)
1405}
1406
1407var xxx_messageInfo_Channel_Query proto.InternalMessageInfo
1408
1409func (m *Channel_Query) GetServer() *Server {
1410	if m != nil {
1411		return m.Server
1412	}
1413	return nil
1414}
1415
1416type Channel_List struct {
1417	// The server on which the channels are.
1418	Server *Server `protobuf:"bytes,1,opt,name=server" json:"server,omitempty"`
1419	// The channels.
1420	Channels             []*Channel `protobuf:"bytes,2,rep,name=channels" json:"channels,omitempty"`
1421	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
1422	XXX_unrecognized     []byte     `json:"-"`
1423	XXX_sizecache        int32      `json:"-"`
1424}
1425
1426func (m *Channel_List) Reset()         { *m = Channel_List{} }
1427func (m *Channel_List) String() string { return proto.CompactTextString(m) }
1428func (*Channel_List) ProtoMessage()    {}
1429func (*Channel_List) Descriptor() ([]byte, []int) {
1430	return fileDescriptor_3bf06070873d1163, []int{9, 1}
1431}
1432
1433func (m *Channel_List) XXX_Unmarshal(b []byte) error {
1434	return xxx_messageInfo_Channel_List.Unmarshal(m, b)
1435}
1436func (m *Channel_List) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1437	return xxx_messageInfo_Channel_List.Marshal(b, m, deterministic)
1438}
1439func (m *Channel_List) XXX_Merge(src proto.Message) {
1440	xxx_messageInfo_Channel_List.Merge(m, src)
1441}
1442func (m *Channel_List) XXX_Size() int {
1443	return xxx_messageInfo_Channel_List.Size(m)
1444}
1445func (m *Channel_List) XXX_DiscardUnknown() {
1446	xxx_messageInfo_Channel_List.DiscardUnknown(m)
1447}
1448
1449var xxx_messageInfo_Channel_List proto.InternalMessageInfo
1450
1451func (m *Channel_List) GetServer() *Server {
1452	if m != nil {
1453		return m.Server
1454	}
1455	return nil
1456}
1457
1458func (m *Channel_List) GetChannels() []*Channel {
1459	if m != nil {
1460		return m.Channels
1461	}
1462	return nil
1463}
1464
1465type User struct {
1466	// The server to which the user is connected.
1467	Server *Server `protobuf:"bytes,1,opt,name=server" json:"server,omitempty"`
1468	// The user's session ID.
1469	Session *uint32 `protobuf:"varint,2,opt,name=session" json:"session,omitempty"`
1470	// The user's registered ID.
1471	Id *uint32 `protobuf:"varint,3,opt,name=id" json:"id,omitempty"`
1472	// The user's name.
1473	Name *string `protobuf:"bytes,4,opt,name=name" json:"name,omitempty"`
1474	// Is the user muted?
1475	Mute *bool `protobuf:"varint,5,opt,name=mute" json:"mute,omitempty"`
1476	// Is the user deafened?
1477	Deaf *bool `protobuf:"varint,6,opt,name=deaf" json:"deaf,omitempty"`
1478	// Is the user suppressed?
1479	Suppress *bool `protobuf:"varint,7,opt,name=suppress" json:"suppress,omitempty"`
1480	// Is the user a priority speaker?
1481	PrioritySpeaker *bool `protobuf:"varint,8,opt,name=priority_speaker,json=prioritySpeaker" json:"priority_speaker,omitempty"`
1482	// Has the user muted him/herself?
1483	SelfMute *bool `protobuf:"varint,9,opt,name=self_mute,json=selfMute" json:"self_mute,omitempty"`
1484	// Has the user muted him/herself?
1485	SelfDeaf *bool `protobuf:"varint,10,opt,name=self_deaf,json=selfDeaf" json:"self_deaf,omitempty"`
1486	// Is the user recording?
1487	Recording *bool `protobuf:"varint,11,opt,name=recording" json:"recording,omitempty"`
1488	// The channel the user is in.
1489	Channel *Channel `protobuf:"bytes,12,opt,name=channel" json:"channel,omitempty"`
1490	// How long the user has been connected to the server.
1491	OnlineSecs *uint32 `protobuf:"varint,13,opt,name=online_secs,json=onlineSecs" json:"online_secs,omitempty"`
1492	// How long the user has been idle on the server.
1493	IdleSecs *uint32 `protobuf:"varint,14,opt,name=idle_secs,json=idleSecs" json:"idle_secs,omitempty"`
1494	// How many bytes per second is the user transmitting to the server.
1495	BytesPerSec *uint32 `protobuf:"varint,15,opt,name=bytes_per_sec,json=bytesPerSec" json:"bytes_per_sec,omitempty"`
1496	// The user's client version.
1497	Version *Version `protobuf:"bytes,16,opt,name=version" json:"version,omitempty"`
1498	// The user's  plugin context.
1499	PluginContext []byte `protobuf:"bytes,17,opt,name=plugin_context,json=pluginContext" json:"plugin_context,omitempty"`
1500	// The user's plugin identity.
1501	PluginIdentity *string `protobuf:"bytes,18,opt,name=plugin_identity,json=pluginIdentity" json:"plugin_identity,omitempty"`
1502	// The user's comment.
1503	Comment *string `protobuf:"bytes,19,opt,name=comment" json:"comment,omitempty"`
1504	// The user's texture.
1505	Texture []byte `protobuf:"bytes,20,opt,name=texture" json:"texture,omitempty"`
1506	// The user's IP address.
1507	Address []byte `protobuf:"bytes,21,opt,name=address" json:"address,omitempty"`
1508	// Is the user in TCP-only mode?
1509	TcpOnly *bool `protobuf:"varint,22,opt,name=tcp_only,json=tcpOnly" json:"tcp_only,omitempty"`
1510	// The user's UDP ping in milliseconds.
1511	UdpPingMsecs *float32 `protobuf:"fixed32,23,opt,name=udp_ping_msecs,json=udpPingMsecs" json:"udp_ping_msecs,omitempty"`
1512	// The user's TCP ping in milliseconds.
1513	TcpPingMsecs         *float32 `protobuf:"fixed32,24,opt,name=tcp_ping_msecs,json=tcpPingMsecs" json:"tcp_ping_msecs,omitempty"`
1514	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1515	XXX_unrecognized     []byte   `json:"-"`
1516	XXX_sizecache        int32    `json:"-"`
1517}
1518
1519func (m *User) Reset()         { *m = User{} }
1520func (m *User) String() string { return proto.CompactTextString(m) }
1521func (*User) ProtoMessage()    {}
1522func (*User) Descriptor() ([]byte, []int) {
1523	return fileDescriptor_3bf06070873d1163, []int{10}
1524}
1525
1526func (m *User) XXX_Unmarshal(b []byte) error {
1527	return xxx_messageInfo_User.Unmarshal(m, b)
1528}
1529func (m *User) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1530	return xxx_messageInfo_User.Marshal(b, m, deterministic)
1531}
1532func (m *User) XXX_Merge(src proto.Message) {
1533	xxx_messageInfo_User.Merge(m, src)
1534}
1535func (m *User) XXX_Size() int {
1536	return xxx_messageInfo_User.Size(m)
1537}
1538func (m *User) XXX_DiscardUnknown() {
1539	xxx_messageInfo_User.DiscardUnknown(m)
1540}
1541
1542var xxx_messageInfo_User proto.InternalMessageInfo
1543
1544func (m *User) GetServer() *Server {
1545	if m != nil {
1546		return m.Server
1547	}
1548	return nil
1549}
1550
1551func (m *User) GetSession() uint32 {
1552	if m != nil && m.Session != nil {
1553		return *m.Session
1554	}
1555	return 0
1556}
1557
1558func (m *User) GetId() uint32 {
1559	if m != nil && m.Id != nil {
1560		return *m.Id
1561	}
1562	return 0
1563}
1564
1565func (m *User) GetName() string {
1566	if m != nil && m.Name != nil {
1567		return *m.Name
1568	}
1569	return ""
1570}
1571
1572func (m *User) GetMute() bool {
1573	if m != nil && m.Mute != nil {
1574		return *m.Mute
1575	}
1576	return false
1577}
1578
1579func (m *User) GetDeaf() bool {
1580	if m != nil && m.Deaf != nil {
1581		return *m.Deaf
1582	}
1583	return false
1584}
1585
1586func (m *User) GetSuppress() bool {
1587	if m != nil && m.Suppress != nil {
1588		return *m.Suppress
1589	}
1590	return false
1591}
1592
1593func (m *User) GetPrioritySpeaker() bool {
1594	if m != nil && m.PrioritySpeaker != nil {
1595		return *m.PrioritySpeaker
1596	}
1597	return false
1598}
1599
1600func (m *User) GetSelfMute() bool {
1601	if m != nil && m.SelfMute != nil {
1602		return *m.SelfMute
1603	}
1604	return false
1605}
1606
1607func (m *User) GetSelfDeaf() bool {
1608	if m != nil && m.SelfDeaf != nil {
1609		return *m.SelfDeaf
1610	}
1611	return false
1612}
1613
1614func (m *User) GetRecording() bool {
1615	if m != nil && m.Recording != nil {
1616		return *m.Recording
1617	}
1618	return false
1619}
1620
1621func (m *User) GetChannel() *Channel {
1622	if m != nil {
1623		return m.Channel
1624	}
1625	return nil
1626}
1627
1628func (m *User) GetOnlineSecs() uint32 {
1629	if m != nil && m.OnlineSecs != nil {
1630		return *m.OnlineSecs
1631	}
1632	return 0
1633}
1634
1635func (m *User) GetIdleSecs() uint32 {
1636	if m != nil && m.IdleSecs != nil {
1637		return *m.IdleSecs
1638	}
1639	return 0
1640}
1641
1642func (m *User) GetBytesPerSec() uint32 {
1643	if m != nil && m.BytesPerSec != nil {
1644		return *m.BytesPerSec
1645	}
1646	return 0
1647}
1648
1649func (m *User) GetVersion() *Version {
1650	if m != nil {
1651		return m.Version
1652	}
1653	return nil
1654}
1655
1656func (m *User) GetPluginContext() []byte {
1657	if m != nil {
1658		return m.PluginContext
1659	}
1660	return nil
1661}
1662
1663func (m *User) GetPluginIdentity() string {
1664	if m != nil && m.PluginIdentity != nil {
1665		return *m.PluginIdentity
1666	}
1667	return ""
1668}
1669
1670func (m *User) GetComment() string {
1671	if m != nil && m.Comment != nil {
1672		return *m.Comment
1673	}
1674	return ""
1675}
1676
1677func (m *User) GetTexture() []byte {
1678	if m != nil {
1679		return m.Texture
1680	}
1681	return nil
1682}
1683
1684func (m *User) GetAddress() []byte {
1685	if m != nil {
1686		return m.Address
1687	}
1688	return nil
1689}
1690
1691func (m *User) GetTcpOnly() bool {
1692	if m != nil && m.TcpOnly != nil {
1693		return *m.TcpOnly
1694	}
1695	return false
1696}
1697
1698func (m *User) GetUdpPingMsecs() float32 {
1699	if m != nil && m.UdpPingMsecs != nil {
1700		return *m.UdpPingMsecs
1701	}
1702	return 0
1703}
1704
1705func (m *User) GetTcpPingMsecs() float32 {
1706	if m != nil && m.TcpPingMsecs != nil {
1707		return *m.TcpPingMsecs
1708	}
1709	return 0
1710}
1711
1712type User_Query struct {
1713	// The server whose users will be queried.
1714	Server               *Server  `protobuf:"bytes,1,opt,name=server" json:"server,omitempty"`
1715	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1716	XXX_unrecognized     []byte   `json:"-"`
1717	XXX_sizecache        int32    `json:"-"`
1718}
1719
1720func (m *User_Query) Reset()         { *m = User_Query{} }
1721func (m *User_Query) String() string { return proto.CompactTextString(m) }
1722func (*User_Query) ProtoMessage()    {}
1723func (*User_Query) Descriptor() ([]byte, []int) {
1724	return fileDescriptor_3bf06070873d1163, []int{10, 0}
1725}
1726
1727func (m *User_Query) XXX_Unmarshal(b []byte) error {
1728	return xxx_messageInfo_User_Query.Unmarshal(m, b)
1729}
1730func (m *User_Query) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1731	return xxx_messageInfo_User_Query.Marshal(b, m, deterministic)
1732}
1733func (m *User_Query) XXX_Merge(src proto.Message) {
1734	xxx_messageInfo_User_Query.Merge(m, src)
1735}
1736func (m *User_Query) XXX_Size() int {
1737	return xxx_messageInfo_User_Query.Size(m)
1738}
1739func (m *User_Query) XXX_DiscardUnknown() {
1740	xxx_messageInfo_User_Query.DiscardUnknown(m)
1741}
1742
1743var xxx_messageInfo_User_Query proto.InternalMessageInfo
1744
1745func (m *User_Query) GetServer() *Server {
1746	if m != nil {
1747		return m.Server
1748	}
1749	return nil
1750}
1751
1752type User_List struct {
1753	// The server to which the users are connected.
1754	Server *Server `protobuf:"bytes,1,opt,name=server" json:"server,omitempty"`
1755	// The users.
1756	Users                []*User  `protobuf:"bytes,2,rep,name=users" json:"users,omitempty"`
1757	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1758	XXX_unrecognized     []byte   `json:"-"`
1759	XXX_sizecache        int32    `json:"-"`
1760}
1761
1762func (m *User_List) Reset()         { *m = User_List{} }
1763func (m *User_List) String() string { return proto.CompactTextString(m) }
1764func (*User_List) ProtoMessage()    {}
1765func (*User_List) Descriptor() ([]byte, []int) {
1766	return fileDescriptor_3bf06070873d1163, []int{10, 1}
1767}
1768
1769func (m *User_List) XXX_Unmarshal(b []byte) error {
1770	return xxx_messageInfo_User_List.Unmarshal(m, b)
1771}
1772func (m *User_List) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1773	return xxx_messageInfo_User_List.Marshal(b, m, deterministic)
1774}
1775func (m *User_List) XXX_Merge(src proto.Message) {
1776	xxx_messageInfo_User_List.Merge(m, src)
1777}
1778func (m *User_List) XXX_Size() int {
1779	return xxx_messageInfo_User_List.Size(m)
1780}
1781func (m *User_List) XXX_DiscardUnknown() {
1782	xxx_messageInfo_User_List.DiscardUnknown(m)
1783}
1784
1785var xxx_messageInfo_User_List proto.InternalMessageInfo
1786
1787func (m *User_List) GetServer() *Server {
1788	if m != nil {
1789		return m.Server
1790	}
1791	return nil
1792}
1793
1794func (m *User_List) GetUsers() []*User {
1795	if m != nil {
1796		return m.Users
1797	}
1798	return nil
1799}
1800
1801type User_Kick struct {
1802	// The server to which the user is connected.
1803	Server *Server `protobuf:"bytes,1,opt,name=server" json:"server,omitempty"`
1804	// The user to kick.
1805	User *User `protobuf:"bytes,2,opt,name=user" json:"user,omitempty"`
1806	// The user who performed the kick.
1807	Actor *User `protobuf:"bytes,3,opt,name=actor" json:"actor,omitempty"`
1808	// The reason for why the user is being kicked.
1809	Reason               *string  `protobuf:"bytes,4,opt,name=reason" json:"reason,omitempty"`
1810	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1811	XXX_unrecognized     []byte   `json:"-"`
1812	XXX_sizecache        int32    `json:"-"`
1813}
1814
1815func (m *User_Kick) Reset()         { *m = User_Kick{} }
1816func (m *User_Kick) String() string { return proto.CompactTextString(m) }
1817func (*User_Kick) ProtoMessage()    {}
1818func (*User_Kick) Descriptor() ([]byte, []int) {
1819	return fileDescriptor_3bf06070873d1163, []int{10, 2}
1820}
1821
1822func (m *User_Kick) XXX_Unmarshal(b []byte) error {
1823	return xxx_messageInfo_User_Kick.Unmarshal(m, b)
1824}
1825func (m *User_Kick) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1826	return xxx_messageInfo_User_Kick.Marshal(b, m, deterministic)
1827}
1828func (m *User_Kick) XXX_Merge(src proto.Message) {
1829	xxx_messageInfo_User_Kick.Merge(m, src)
1830}
1831func (m *User_Kick) XXX_Size() int {
1832	return xxx_messageInfo_User_Kick.Size(m)
1833}
1834func (m *User_Kick) XXX_DiscardUnknown() {
1835	xxx_messageInfo_User_Kick.DiscardUnknown(m)
1836}
1837
1838var xxx_messageInfo_User_Kick proto.InternalMessageInfo
1839
1840func (m *User_Kick) GetServer() *Server {
1841	if m != nil {
1842		return m.Server
1843	}
1844	return nil
1845}
1846
1847func (m *User_Kick) GetUser() *User {
1848	if m != nil {
1849		return m.User
1850	}
1851	return nil
1852}
1853
1854func (m *User_Kick) GetActor() *User {
1855	if m != nil {
1856		return m.Actor
1857	}
1858	return nil
1859}
1860
1861func (m *User_Kick) GetReason() string {
1862	if m != nil && m.Reason != nil {
1863		return *m.Reason
1864	}
1865	return ""
1866}
1867
1868type Tree struct {
1869	// The server which the tree represents.
1870	Server *Server `protobuf:"bytes,1,opt,name=server" json:"server,omitempty"`
1871	// The current channel.
1872	Channel *Channel `protobuf:"bytes,2,opt,name=channel" json:"channel,omitempty"`
1873	// Channels below the current channel.
1874	Children []*Tree `protobuf:"bytes,3,rep,name=children" json:"children,omitempty"`
1875	// The users in the current channel.
1876	Users                []*User  `protobuf:"bytes,4,rep,name=users" json:"users,omitempty"`
1877	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1878	XXX_unrecognized     []byte   `json:"-"`
1879	XXX_sizecache        int32    `json:"-"`
1880}
1881
1882func (m *Tree) Reset()         { *m = Tree{} }
1883func (m *Tree) String() string { return proto.CompactTextString(m) }
1884func (*Tree) ProtoMessage()    {}
1885func (*Tree) Descriptor() ([]byte, []int) {
1886	return fileDescriptor_3bf06070873d1163, []int{11}
1887}
1888
1889func (m *Tree) XXX_Unmarshal(b []byte) error {
1890	return xxx_messageInfo_Tree.Unmarshal(m, b)
1891}
1892func (m *Tree) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1893	return xxx_messageInfo_Tree.Marshal(b, m, deterministic)
1894}
1895func (m *Tree) XXX_Merge(src proto.Message) {
1896	xxx_messageInfo_Tree.Merge(m, src)
1897}
1898func (m *Tree) XXX_Size() int {
1899	return xxx_messageInfo_Tree.Size(m)
1900}
1901func (m *Tree) XXX_DiscardUnknown() {
1902	xxx_messageInfo_Tree.DiscardUnknown(m)
1903}
1904
1905var xxx_messageInfo_Tree proto.InternalMessageInfo
1906
1907func (m *Tree) GetServer() *Server {
1908	if m != nil {
1909		return m.Server
1910	}
1911	return nil
1912}
1913
1914func (m *Tree) GetChannel() *Channel {
1915	if m != nil {
1916		return m.Channel
1917	}
1918	return nil
1919}
1920
1921func (m *Tree) GetChildren() []*Tree {
1922	if m != nil {
1923		return m.Children
1924	}
1925	return nil
1926}
1927
1928func (m *Tree) GetUsers() []*User {
1929	if m != nil {
1930		return m.Users
1931	}
1932	return nil
1933}
1934
1935type Tree_Query struct {
1936	// The server to query.
1937	Server               *Server  `protobuf:"bytes,1,opt,name=server" json:"server,omitempty"`
1938	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1939	XXX_unrecognized     []byte   `json:"-"`
1940	XXX_sizecache        int32    `json:"-"`
1941}
1942
1943func (m *Tree_Query) Reset()         { *m = Tree_Query{} }
1944func (m *Tree_Query) String() string { return proto.CompactTextString(m) }
1945func (*Tree_Query) ProtoMessage()    {}
1946func (*Tree_Query) Descriptor() ([]byte, []int) {
1947	return fileDescriptor_3bf06070873d1163, []int{11, 0}
1948}
1949
1950func (m *Tree_Query) XXX_Unmarshal(b []byte) error {
1951	return xxx_messageInfo_Tree_Query.Unmarshal(m, b)
1952}
1953func (m *Tree_Query) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1954	return xxx_messageInfo_Tree_Query.Marshal(b, m, deterministic)
1955}
1956func (m *Tree_Query) XXX_Merge(src proto.Message) {
1957	xxx_messageInfo_Tree_Query.Merge(m, src)
1958}
1959func (m *Tree_Query) XXX_Size() int {
1960	return xxx_messageInfo_Tree_Query.Size(m)
1961}
1962func (m *Tree_Query) XXX_DiscardUnknown() {
1963	xxx_messageInfo_Tree_Query.DiscardUnknown(m)
1964}
1965
1966var xxx_messageInfo_Tree_Query proto.InternalMessageInfo
1967
1968func (m *Tree_Query) GetServer() *Server {
1969	if m != nil {
1970		return m.Server
1971	}
1972	return nil
1973}
1974
1975type Ban struct {
1976	// The server on which the ban is applied.
1977	Server *Server `protobuf:"bytes,1,opt,name=server" json:"server,omitempty"`
1978	// The banned IP address.
1979	Address []byte `protobuf:"bytes,2,opt,name=address" json:"address,omitempty"`
1980	// The number of leading bits in the address to which the ban applies.
1981	Bits *uint32 `protobuf:"varint,3,opt,name=bits" json:"bits,omitempty"`
1982	// The name of the banned user.
1983	Name *string `protobuf:"bytes,4,opt,name=name" json:"name,omitempty"`
1984	// The certificate hash of the banned user.
1985	Hash *string `protobuf:"bytes,5,opt,name=hash" json:"hash,omitempty"`
1986	// The reason for the ban.
1987	Reason *string `protobuf:"bytes,6,opt,name=reason" json:"reason,omitempty"`
1988	// The ban start time (in epoch form).
1989	Start *int64 `protobuf:"varint,7,opt,name=start" json:"start,omitempty"`
1990	// The ban duration.
1991	DurationSecs         *int64   `protobuf:"varint,8,opt,name=duration_secs,json=durationSecs" json:"duration_secs,omitempty"`
1992	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1993	XXX_unrecognized     []byte   `json:"-"`
1994	XXX_sizecache        int32    `json:"-"`
1995}
1996
1997func (m *Ban) Reset()         { *m = Ban{} }
1998func (m *Ban) String() string { return proto.CompactTextString(m) }
1999func (*Ban) ProtoMessage()    {}
2000func (*Ban) Descriptor() ([]byte, []int) {
2001	return fileDescriptor_3bf06070873d1163, []int{12}
2002}
2003
2004func (m *Ban) XXX_Unmarshal(b []byte) error {
2005	return xxx_messageInfo_Ban.Unmarshal(m, b)
2006}
2007func (m *Ban) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2008	return xxx_messageInfo_Ban.Marshal(b, m, deterministic)
2009}
2010func (m *Ban) XXX_Merge(src proto.Message) {
2011	xxx_messageInfo_Ban.Merge(m, src)
2012}
2013func (m *Ban) XXX_Size() int {
2014	return xxx_messageInfo_Ban.Size(m)
2015}
2016func (m *Ban) XXX_DiscardUnknown() {
2017	xxx_messageInfo_Ban.DiscardUnknown(m)
2018}
2019
2020var xxx_messageInfo_Ban proto.InternalMessageInfo
2021
2022func (m *Ban) GetServer() *Server {
2023	if m != nil {
2024		return m.Server
2025	}
2026	return nil
2027}
2028
2029func (m *Ban) GetAddress() []byte {
2030	if m != nil {
2031		return m.Address
2032	}
2033	return nil
2034}
2035
2036func (m *Ban) GetBits() uint32 {
2037	if m != nil && m.Bits != nil {
2038		return *m.Bits
2039	}
2040	return 0
2041}
2042
2043func (m *Ban) GetName() string {
2044	if m != nil && m.Name != nil {
2045		return *m.Name
2046	}
2047	return ""
2048}
2049
2050func (m *Ban) GetHash() string {
2051	if m != nil && m.Hash != nil {
2052		return *m.Hash
2053	}
2054	return ""
2055}
2056
2057func (m *Ban) GetReason() string {
2058	if m != nil && m.Reason != nil {
2059		return *m.Reason
2060	}
2061	return ""
2062}
2063
2064func (m *Ban) GetStart() int64 {
2065	if m != nil && m.Start != nil {
2066		return *m.Start
2067	}
2068	return 0
2069}
2070
2071func (m *Ban) GetDurationSecs() int64 {
2072	if m != nil && m.DurationSecs != nil {
2073		return *m.DurationSecs
2074	}
2075	return 0
2076}
2077
2078type Ban_Query struct {
2079	// The server whose bans to query.
2080	Server               *Server  `protobuf:"bytes,1,opt,name=server" json:"server,omitempty"`
2081	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2082	XXX_unrecognized     []byte   `json:"-"`
2083	XXX_sizecache        int32    `json:"-"`
2084}
2085
2086func (m *Ban_Query) Reset()         { *m = Ban_Query{} }
2087func (m *Ban_Query) String() string { return proto.CompactTextString(m) }
2088func (*Ban_Query) ProtoMessage()    {}
2089func (*Ban_Query) Descriptor() ([]byte, []int) {
2090	return fileDescriptor_3bf06070873d1163, []int{12, 0}
2091}
2092
2093func (m *Ban_Query) XXX_Unmarshal(b []byte) error {
2094	return xxx_messageInfo_Ban_Query.Unmarshal(m, b)
2095}
2096func (m *Ban_Query) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2097	return xxx_messageInfo_Ban_Query.Marshal(b, m, deterministic)
2098}
2099func (m *Ban_Query) XXX_Merge(src proto.Message) {
2100	xxx_messageInfo_Ban_Query.Merge(m, src)
2101}
2102func (m *Ban_Query) XXX_Size() int {
2103	return xxx_messageInfo_Ban_Query.Size(m)
2104}
2105func (m *Ban_Query) XXX_DiscardUnknown() {
2106	xxx_messageInfo_Ban_Query.DiscardUnknown(m)
2107}
2108
2109var xxx_messageInfo_Ban_Query proto.InternalMessageInfo
2110
2111func (m *Ban_Query) GetServer() *Server {
2112	if m != nil {
2113		return m.Server
2114	}
2115	return nil
2116}
2117
2118type Ban_List struct {
2119	// The server for which the bans apply.
2120	Server *Server `protobuf:"bytes,1,opt,name=server" json:"server,omitempty"`
2121	// The bans.
2122	Bans                 []*Ban   `protobuf:"bytes,2,rep,name=bans" json:"bans,omitempty"`
2123	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2124	XXX_unrecognized     []byte   `json:"-"`
2125	XXX_sizecache        int32    `json:"-"`
2126}
2127
2128func (m *Ban_List) Reset()         { *m = Ban_List{} }
2129func (m *Ban_List) String() string { return proto.CompactTextString(m) }
2130func (*Ban_List) ProtoMessage()    {}
2131func (*Ban_List) Descriptor() ([]byte, []int) {
2132	return fileDescriptor_3bf06070873d1163, []int{12, 1}
2133}
2134
2135func (m *Ban_List) XXX_Unmarshal(b []byte) error {
2136	return xxx_messageInfo_Ban_List.Unmarshal(m, b)
2137}
2138func (m *Ban_List) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2139	return xxx_messageInfo_Ban_List.Marshal(b, m, deterministic)
2140}
2141func (m *Ban_List) XXX_Merge(src proto.Message) {
2142	xxx_messageInfo_Ban_List.Merge(m, src)
2143}
2144func (m *Ban_List) XXX_Size() int {
2145	return xxx_messageInfo_Ban_List.Size(m)
2146}
2147func (m *Ban_List) XXX_DiscardUnknown() {
2148	xxx_messageInfo_Ban_List.DiscardUnknown(m)
2149}
2150
2151var xxx_messageInfo_Ban_List proto.InternalMessageInfo
2152
2153func (m *Ban_List) GetServer() *Server {
2154	if m != nil {
2155		return m.Server
2156	}
2157	return nil
2158}
2159
2160func (m *Ban_List) GetBans() []*Ban {
2161	if m != nil {
2162		return m.Bans
2163	}
2164	return nil
2165}
2166
2167type ACL struct {
2168	// Does the ACL apply to the current channel?
2169	ApplyHere *bool `protobuf:"varint,3,opt,name=apply_here,json=applyHere" json:"apply_here,omitempty"`
2170	// Does the ACL apply to the current channel's sub-channels?
2171	ApplySubs *bool `protobuf:"varint,4,opt,name=apply_subs,json=applySubs" json:"apply_subs,omitempty"`
2172	// Was the ACL inherited?
2173	Inherited *bool `protobuf:"varint,5,opt,name=inherited" json:"inherited,omitempty"`
2174	// The user to whom the ACL applies.
2175	User *DatabaseUser `protobuf:"bytes,6,opt,name=user" json:"user,omitempty"`
2176	// The group to whom the ACL applies.
2177	Group *ACL_Group `protobuf:"bytes,7,opt,name=group" json:"group,omitempty"`
2178	// The permissions granted by the ACL (bitmask of ACL.Permission).
2179	Allow *uint32 `protobuf:"varint,8,opt,name=allow" json:"allow,omitempty"`
2180	// The permissions denied by the ACL (bitmask of ACL.Permission).
2181	Deny                 *uint32  `protobuf:"varint,9,opt,name=deny" json:"deny,omitempty"`
2182	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2183	XXX_unrecognized     []byte   `json:"-"`
2184	XXX_sizecache        int32    `json:"-"`
2185}
2186
2187func (m *ACL) Reset()         { *m = ACL{} }
2188func (m *ACL) String() string { return proto.CompactTextString(m) }
2189func (*ACL) ProtoMessage()    {}
2190func (*ACL) Descriptor() ([]byte, []int) {
2191	return fileDescriptor_3bf06070873d1163, []int{13}
2192}
2193
2194func (m *ACL) XXX_Unmarshal(b []byte) error {
2195	return xxx_messageInfo_ACL.Unmarshal(m, b)
2196}
2197func (m *ACL) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2198	return xxx_messageInfo_ACL.Marshal(b, m, deterministic)
2199}
2200func (m *ACL) XXX_Merge(src proto.Message) {
2201	xxx_messageInfo_ACL.Merge(m, src)
2202}
2203func (m *ACL) XXX_Size() int {
2204	return xxx_messageInfo_ACL.Size(m)
2205}
2206func (m *ACL) XXX_DiscardUnknown() {
2207	xxx_messageInfo_ACL.DiscardUnknown(m)
2208}
2209
2210var xxx_messageInfo_ACL proto.InternalMessageInfo
2211
2212func (m *ACL) GetApplyHere() bool {
2213	if m != nil && m.ApplyHere != nil {
2214		return *m.ApplyHere
2215	}
2216	return false
2217}
2218
2219func (m *ACL) GetApplySubs() bool {
2220	if m != nil && m.ApplySubs != nil {
2221		return *m.ApplySubs
2222	}
2223	return false
2224}
2225
2226func (m *ACL) GetInherited() bool {
2227	if m != nil && m.Inherited != nil {
2228		return *m.Inherited
2229	}
2230	return false
2231}
2232
2233func (m *ACL) GetUser() *DatabaseUser {
2234	if m != nil {
2235		return m.User
2236	}
2237	return nil
2238}
2239
2240func (m *ACL) GetGroup() *ACL_Group {
2241	if m != nil {
2242		return m.Group
2243	}
2244	return nil
2245}
2246
2247func (m *ACL) GetAllow() uint32 {
2248	if m != nil && m.Allow != nil {
2249		return *m.Allow
2250	}
2251	return 0
2252}
2253
2254func (m *ACL) GetDeny() uint32 {
2255	if m != nil && m.Deny != nil {
2256		return *m.Deny
2257	}
2258	return 0
2259}
2260
2261type ACL_Group struct {
2262	// The ACL group name.
2263	Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
2264	// Is the group inherited?
2265	Inherited *bool `protobuf:"varint,2,opt,name=inherited" json:"inherited,omitempty"`
2266	// Does the group inherit members?
2267	Inherit *bool `protobuf:"varint,3,opt,name=inherit" json:"inherit,omitempty"`
2268	// Can this group be inherited by its children?
2269	Inheritable *bool `protobuf:"varint,4,opt,name=inheritable" json:"inheritable,omitempty"`
2270	// The users explicitly added by this group.
2271	UsersAdd []*DatabaseUser `protobuf:"bytes,5,rep,name=users_add,json=usersAdd" json:"users_add,omitempty"`
2272	// The users explicitly removed by this group.
2273	UsersRemove []*DatabaseUser `protobuf:"bytes,6,rep,name=users_remove,json=usersRemove" json:"users_remove,omitempty"`
2274	// All of the users who are part of this group.
2275	Users                []*DatabaseUser `protobuf:"bytes,7,rep,name=users" json:"users,omitempty"`
2276	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
2277	XXX_unrecognized     []byte          `json:"-"`
2278	XXX_sizecache        int32           `json:"-"`
2279}
2280
2281func (m *ACL_Group) Reset()         { *m = ACL_Group{} }
2282func (m *ACL_Group) String() string { return proto.CompactTextString(m) }
2283func (*ACL_Group) ProtoMessage()    {}
2284func (*ACL_Group) Descriptor() ([]byte, []int) {
2285	return fileDescriptor_3bf06070873d1163, []int{13, 0}
2286}
2287
2288func (m *ACL_Group) XXX_Unmarshal(b []byte) error {
2289	return xxx_messageInfo_ACL_Group.Unmarshal(m, b)
2290}
2291func (m *ACL_Group) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2292	return xxx_messageInfo_ACL_Group.Marshal(b, m, deterministic)
2293}
2294func (m *ACL_Group) XXX_Merge(src proto.Message) {
2295	xxx_messageInfo_ACL_Group.Merge(m, src)
2296}
2297func (m *ACL_Group) XXX_Size() int {
2298	return xxx_messageInfo_ACL_Group.Size(m)
2299}
2300func (m *ACL_Group) XXX_DiscardUnknown() {
2301	xxx_messageInfo_ACL_Group.DiscardUnknown(m)
2302}
2303
2304var xxx_messageInfo_ACL_Group proto.InternalMessageInfo
2305
2306func (m *ACL_Group) GetName() string {
2307	if m != nil && m.Name != nil {
2308		return *m.Name
2309	}
2310	return ""
2311}
2312
2313func (m *ACL_Group) GetInherited() bool {
2314	if m != nil && m.Inherited != nil {
2315		return *m.Inherited
2316	}
2317	return false
2318}
2319
2320func (m *ACL_Group) GetInherit() bool {
2321	if m != nil && m.Inherit != nil {
2322		return *m.Inherit
2323	}
2324	return false
2325}
2326
2327func (m *ACL_Group) GetInheritable() bool {
2328	if m != nil && m.Inheritable != nil {
2329		return *m.Inheritable
2330	}
2331	return false
2332}
2333
2334func (m *ACL_Group) GetUsersAdd() []*DatabaseUser {
2335	if m != nil {
2336		return m.UsersAdd
2337	}
2338	return nil
2339}
2340
2341func (m *ACL_Group) GetUsersRemove() []*DatabaseUser {
2342	if m != nil {
2343		return m.UsersRemove
2344	}
2345	return nil
2346}
2347
2348func (m *ACL_Group) GetUsers() []*DatabaseUser {
2349	if m != nil {
2350		return m.Users
2351	}
2352	return nil
2353}
2354
2355type ACL_Query struct {
2356	// The server where the user and channel exist.
2357	Server *Server `protobuf:"bytes,1,opt,name=server" json:"server,omitempty"`
2358	// The user to query.
2359	User *User `protobuf:"bytes,2,opt,name=user" json:"user,omitempty"`
2360	// The channel to query.
2361	Channel              *Channel `protobuf:"bytes,3,opt,name=channel" json:"channel,omitempty"`
2362	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2363	XXX_unrecognized     []byte   `json:"-"`
2364	XXX_sizecache        int32    `json:"-"`
2365}
2366
2367func (m *ACL_Query) Reset()         { *m = ACL_Query{} }
2368func (m *ACL_Query) String() string { return proto.CompactTextString(m) }
2369func (*ACL_Query) ProtoMessage()    {}
2370func (*ACL_Query) Descriptor() ([]byte, []int) {
2371	return fileDescriptor_3bf06070873d1163, []int{13, 1}
2372}
2373
2374func (m *ACL_Query) XXX_Unmarshal(b []byte) error {
2375	return xxx_messageInfo_ACL_Query.Unmarshal(m, b)
2376}
2377func (m *ACL_Query) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2378	return xxx_messageInfo_ACL_Query.Marshal(b, m, deterministic)
2379}
2380func (m *ACL_Query) XXX_Merge(src proto.Message) {
2381	xxx_messageInfo_ACL_Query.Merge(m, src)
2382}
2383func (m *ACL_Query) XXX_Size() int {
2384	return xxx_messageInfo_ACL_Query.Size(m)
2385}
2386func (m *ACL_Query) XXX_DiscardUnknown() {
2387	xxx_messageInfo_ACL_Query.DiscardUnknown(m)
2388}
2389
2390var xxx_messageInfo_ACL_Query proto.InternalMessageInfo
2391
2392func (m *ACL_Query) GetServer() *Server {
2393	if m != nil {
2394		return m.Server
2395	}
2396	return nil
2397}
2398
2399func (m *ACL_Query) GetUser() *User {
2400	if m != nil {
2401		return m.User
2402	}
2403	return nil
2404}
2405
2406func (m *ACL_Query) GetChannel() *Channel {
2407	if m != nil {
2408		return m.Channel
2409	}
2410	return nil
2411}
2412
2413type ACL_List struct {
2414	// The server on which the ACLs exist.
2415	Server *Server `protobuf:"bytes,1,opt,name=server" json:"server,omitempty"`
2416	// The channel to which the ACL refers.
2417	Channel *Channel `protobuf:"bytes,2,opt,name=channel" json:"channel,omitempty"`
2418	// The ACLs part of the given channel.
2419	Acls []*ACL `protobuf:"bytes,3,rep,name=acls" json:"acls,omitempty"`
2420	// The groups part of the given channel.
2421	Groups []*ACL_Group `protobuf:"bytes,4,rep,name=groups" json:"groups,omitempty"`
2422	// Should ACLs be inherited from the parent channel.
2423	Inherit              *bool    `protobuf:"varint,5,opt,name=inherit" json:"inherit,omitempty"`
2424	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2425	XXX_unrecognized     []byte   `json:"-"`
2426	XXX_sizecache        int32    `json:"-"`
2427}
2428
2429func (m *ACL_List) Reset()         { *m = ACL_List{} }
2430func (m *ACL_List) String() string { return proto.CompactTextString(m) }
2431func (*ACL_List) ProtoMessage()    {}
2432func (*ACL_List) Descriptor() ([]byte, []int) {
2433	return fileDescriptor_3bf06070873d1163, []int{13, 2}
2434}
2435
2436func (m *ACL_List) XXX_Unmarshal(b []byte) error {
2437	return xxx_messageInfo_ACL_List.Unmarshal(m, b)
2438}
2439func (m *ACL_List) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2440	return xxx_messageInfo_ACL_List.Marshal(b, m, deterministic)
2441}
2442func (m *ACL_List) XXX_Merge(src proto.Message) {
2443	xxx_messageInfo_ACL_List.Merge(m, src)
2444}
2445func (m *ACL_List) XXX_Size() int {
2446	return xxx_messageInfo_ACL_List.Size(m)
2447}
2448func (m *ACL_List) XXX_DiscardUnknown() {
2449	xxx_messageInfo_ACL_List.DiscardUnknown(m)
2450}
2451
2452var xxx_messageInfo_ACL_List proto.InternalMessageInfo
2453
2454func (m *ACL_List) GetServer() *Server {
2455	if m != nil {
2456		return m.Server
2457	}
2458	return nil
2459}
2460
2461func (m *ACL_List) GetChannel() *Channel {
2462	if m != nil {
2463		return m.Channel
2464	}
2465	return nil
2466}
2467
2468func (m *ACL_List) GetAcls() []*ACL {
2469	if m != nil {
2470		return m.Acls
2471	}
2472	return nil
2473}
2474
2475func (m *ACL_List) GetGroups() []*ACL_Group {
2476	if m != nil {
2477		return m.Groups
2478	}
2479	return nil
2480}
2481
2482func (m *ACL_List) GetInherit() bool {
2483	if m != nil && m.Inherit != nil {
2484		return *m.Inherit
2485	}
2486	return false
2487}
2488
2489type ACL_TemporaryGroup struct {
2490	// The server where the temporary group exists.
2491	Server *Server `protobuf:"bytes,1,opt,name=server" json:"server,omitempty"`
2492	// The channel to which the temporary user group is added.
2493	Channel *Channel `protobuf:"bytes,2,opt,name=channel" json:"channel,omitempty"`
2494	// The user who is added to the group.
2495	User *User `protobuf:"bytes,3,opt,name=user" json:"user,omitempty"`
2496	// The name of the temporary group.
2497	Name                 *string  `protobuf:"bytes,4,opt,name=name" json:"name,omitempty"`
2498	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2499	XXX_unrecognized     []byte   `json:"-"`
2500	XXX_sizecache        int32    `json:"-"`
2501}
2502
2503func (m *ACL_TemporaryGroup) Reset()         { *m = ACL_TemporaryGroup{} }
2504func (m *ACL_TemporaryGroup) String() string { return proto.CompactTextString(m) }
2505func (*ACL_TemporaryGroup) ProtoMessage()    {}
2506func (*ACL_TemporaryGroup) Descriptor() ([]byte, []int) {
2507	return fileDescriptor_3bf06070873d1163, []int{13, 3}
2508}
2509
2510func (m *ACL_TemporaryGroup) XXX_Unmarshal(b []byte) error {
2511	return xxx_messageInfo_ACL_TemporaryGroup.Unmarshal(m, b)
2512}
2513func (m *ACL_TemporaryGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2514	return xxx_messageInfo_ACL_TemporaryGroup.Marshal(b, m, deterministic)
2515}
2516func (m *ACL_TemporaryGroup) XXX_Merge(src proto.Message) {
2517	xxx_messageInfo_ACL_TemporaryGroup.Merge(m, src)
2518}
2519func (m *ACL_TemporaryGroup) XXX_Size() int {
2520	return xxx_messageInfo_ACL_TemporaryGroup.Size(m)
2521}
2522func (m *ACL_TemporaryGroup) XXX_DiscardUnknown() {
2523	xxx_messageInfo_ACL_TemporaryGroup.DiscardUnknown(m)
2524}
2525
2526var xxx_messageInfo_ACL_TemporaryGroup proto.InternalMessageInfo
2527
2528func (m *ACL_TemporaryGroup) GetServer() *Server {
2529	if m != nil {
2530		return m.Server
2531	}
2532	return nil
2533}
2534
2535func (m *ACL_TemporaryGroup) GetChannel() *Channel {
2536	if m != nil {
2537		return m.Channel
2538	}
2539	return nil
2540}
2541
2542func (m *ACL_TemporaryGroup) GetUser() *User {
2543	if m != nil {
2544		return m.User
2545	}
2546	return nil
2547}
2548
2549func (m *ACL_TemporaryGroup) GetName() string {
2550	if m != nil && m.Name != nil {
2551		return *m.Name
2552	}
2553	return ""
2554}
2555
2556type Authenticator struct {
2557	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2558	XXX_unrecognized     []byte   `json:"-"`
2559	XXX_sizecache        int32    `json:"-"`
2560}
2561
2562func (m *Authenticator) Reset()         { *m = Authenticator{} }
2563func (m *Authenticator) String() string { return proto.CompactTextString(m) }
2564func (*Authenticator) ProtoMessage()    {}
2565func (*Authenticator) Descriptor() ([]byte, []int) {
2566	return fileDescriptor_3bf06070873d1163, []int{14}
2567}
2568
2569func (m *Authenticator) XXX_Unmarshal(b []byte) error {
2570	return xxx_messageInfo_Authenticator.Unmarshal(m, b)
2571}
2572func (m *Authenticator) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2573	return xxx_messageInfo_Authenticator.Marshal(b, m, deterministic)
2574}
2575func (m *Authenticator) XXX_Merge(src proto.Message) {
2576	xxx_messageInfo_Authenticator.Merge(m, src)
2577}
2578func (m *Authenticator) XXX_Size() int {
2579	return xxx_messageInfo_Authenticator.Size(m)
2580}
2581func (m *Authenticator) XXX_DiscardUnknown() {
2582	xxx_messageInfo_Authenticator.DiscardUnknown(m)
2583}
2584
2585var xxx_messageInfo_Authenticator proto.InternalMessageInfo
2586
2587type Authenticator_Request struct {
2588	Authenticate         *Authenticator_Request_Authenticate `protobuf:"bytes,1,opt,name=authenticate" json:"authenticate,omitempty"`
2589	Find                 *Authenticator_Request_Find         `protobuf:"bytes,2,opt,name=find" json:"find,omitempty"`
2590	Query                *Authenticator_Request_Query        `protobuf:"bytes,3,opt,name=query" json:"query,omitempty"`
2591	Register             *Authenticator_Request_Register     `protobuf:"bytes,4,opt,name=register" json:"register,omitempty"`
2592	Deregister           *Authenticator_Request_Deregister   `protobuf:"bytes,5,opt,name=deregister" json:"deregister,omitempty"`
2593	Update               *Authenticator_Request_Update       `protobuf:"bytes,6,opt,name=update" json:"update,omitempty"`
2594	XXX_NoUnkeyedLiteral struct{}                            `json:"-"`
2595	XXX_unrecognized     []byte                              `json:"-"`
2596	XXX_sizecache        int32                               `json:"-"`
2597}
2598
2599func (m *Authenticator_Request) Reset()         { *m = Authenticator_Request{} }
2600func (m *Authenticator_Request) String() string { return proto.CompactTextString(m) }
2601func (*Authenticator_Request) ProtoMessage()    {}
2602func (*Authenticator_Request) Descriptor() ([]byte, []int) {
2603	return fileDescriptor_3bf06070873d1163, []int{14, 0}
2604}
2605
2606func (m *Authenticator_Request) XXX_Unmarshal(b []byte) error {
2607	return xxx_messageInfo_Authenticator_Request.Unmarshal(m, b)
2608}
2609func (m *Authenticator_Request) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2610	return xxx_messageInfo_Authenticator_Request.Marshal(b, m, deterministic)
2611}
2612func (m *Authenticator_Request) XXX_Merge(src proto.Message) {
2613	xxx_messageInfo_Authenticator_Request.Merge(m, src)
2614}
2615func (m *Authenticator_Request) XXX_Size() int {
2616	return xxx_messageInfo_Authenticator_Request.Size(m)
2617}
2618func (m *Authenticator_Request) XXX_DiscardUnknown() {
2619	xxx_messageInfo_Authenticator_Request.DiscardUnknown(m)
2620}
2621
2622var xxx_messageInfo_Authenticator_Request proto.InternalMessageInfo
2623
2624func (m *Authenticator_Request) GetAuthenticate() *Authenticator_Request_Authenticate {
2625	if m != nil {
2626		return m.Authenticate
2627	}
2628	return nil
2629}
2630
2631func (m *Authenticator_Request) GetFind() *Authenticator_Request_Find {
2632	if m != nil {
2633		return m.Find
2634	}
2635	return nil
2636}
2637
2638func (m *Authenticator_Request) GetQuery() *Authenticator_Request_Query {
2639	if m != nil {
2640		return m.Query
2641	}
2642	return nil
2643}
2644
2645func (m *Authenticator_Request) GetRegister() *Authenticator_Request_Register {
2646	if m != nil {
2647		return m.Register
2648	}
2649	return nil
2650}
2651
2652func (m *Authenticator_Request) GetDeregister() *Authenticator_Request_Deregister {
2653	if m != nil {
2654		return m.Deregister
2655	}
2656	return nil
2657}
2658
2659func (m *Authenticator_Request) GetUpdate() *Authenticator_Request_Update {
2660	if m != nil {
2661		return m.Update
2662	}
2663	return nil
2664}
2665
2666// An authentication request for a connecting user.
2667type Authenticator_Request_Authenticate struct {
2668	// The user's name.
2669	Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
2670	// The user's password.
2671	Password *string `protobuf:"bytes,2,opt,name=password" json:"password,omitempty"`
2672	// The user's certificate chain in DER format.
2673	Certificates [][]byte `protobuf:"bytes,3,rep,name=certificates" json:"certificates,omitempty"`
2674	// The hexadecimal hash of the user's certificate.
2675	CertificateHash *string `protobuf:"bytes,4,opt,name=certificate_hash,json=certificateHash" json:"certificate_hash,omitempty"`
2676	// If the user is connecting with a strong certificate.
2677	StrongCertificate    *bool    `protobuf:"varint,5,opt,name=strong_certificate,json=strongCertificate" json:"strong_certificate,omitempty"`
2678	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2679	XXX_unrecognized     []byte   `json:"-"`
2680	XXX_sizecache        int32    `json:"-"`
2681}
2682
2683func (m *Authenticator_Request_Authenticate) Reset()         { *m = Authenticator_Request_Authenticate{} }
2684func (m *Authenticator_Request_Authenticate) String() string { return proto.CompactTextString(m) }
2685func (*Authenticator_Request_Authenticate) ProtoMessage()    {}
2686func (*Authenticator_Request_Authenticate) Descriptor() ([]byte, []int) {
2687	return fileDescriptor_3bf06070873d1163, []int{14, 0, 0}
2688}
2689
2690func (m *Authenticator_Request_Authenticate) XXX_Unmarshal(b []byte) error {
2691	return xxx_messageInfo_Authenticator_Request_Authenticate.Unmarshal(m, b)
2692}
2693func (m *Authenticator_Request_Authenticate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2694	return xxx_messageInfo_Authenticator_Request_Authenticate.Marshal(b, m, deterministic)
2695}
2696func (m *Authenticator_Request_Authenticate) XXX_Merge(src proto.Message) {
2697	xxx_messageInfo_Authenticator_Request_Authenticate.Merge(m, src)
2698}
2699func (m *Authenticator_Request_Authenticate) XXX_Size() int {
2700	return xxx_messageInfo_Authenticator_Request_Authenticate.Size(m)
2701}
2702func (m *Authenticator_Request_Authenticate) XXX_DiscardUnknown() {
2703	xxx_messageInfo_Authenticator_Request_Authenticate.DiscardUnknown(m)
2704}
2705
2706var xxx_messageInfo_Authenticator_Request_Authenticate proto.InternalMessageInfo
2707
2708func (m *Authenticator_Request_Authenticate) GetName() string {
2709	if m != nil && m.Name != nil {
2710		return *m.Name
2711	}
2712	return ""
2713}
2714
2715func (m *Authenticator_Request_Authenticate) GetPassword() string {
2716	if m != nil && m.Password != nil {
2717		return *m.Password
2718	}
2719	return ""
2720}
2721
2722func (m *Authenticator_Request_Authenticate) GetCertificates() [][]byte {
2723	if m != nil {
2724		return m.Certificates
2725	}
2726	return nil
2727}
2728
2729func (m *Authenticator_Request_Authenticate) GetCertificateHash() string {
2730	if m != nil && m.CertificateHash != nil {
2731		return *m.CertificateHash
2732	}
2733	return ""
2734}
2735
2736func (m *Authenticator_Request_Authenticate) GetStrongCertificate() bool {
2737	if m != nil && m.StrongCertificate != nil {
2738		return *m.StrongCertificate
2739	}
2740	return false
2741}
2742
2743// A request for information about a user, given by either the user's ID
2744// or name.
2745type Authenticator_Request_Find struct {
2746	// The user's ID used for lookup.
2747	Id *uint32 `protobuf:"varint,1,opt,name=id" json:"id,omitempty"`
2748	// The user's name used for lookup.
2749	Name                 *string  `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
2750	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2751	XXX_unrecognized     []byte   `json:"-"`
2752	XXX_sizecache        int32    `json:"-"`
2753}
2754
2755func (m *Authenticator_Request_Find) Reset()         { *m = Authenticator_Request_Find{} }
2756func (m *Authenticator_Request_Find) String() string { return proto.CompactTextString(m) }
2757func (*Authenticator_Request_Find) ProtoMessage()    {}
2758func (*Authenticator_Request_Find) Descriptor() ([]byte, []int) {
2759	return fileDescriptor_3bf06070873d1163, []int{14, 0, 1}
2760}
2761
2762func (m *Authenticator_Request_Find) XXX_Unmarshal(b []byte) error {
2763	return xxx_messageInfo_Authenticator_Request_Find.Unmarshal(m, b)
2764}
2765func (m *Authenticator_Request_Find) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2766	return xxx_messageInfo_Authenticator_Request_Find.Marshal(b, m, deterministic)
2767}
2768func (m *Authenticator_Request_Find) XXX_Merge(src proto.Message) {
2769	xxx_messageInfo_Authenticator_Request_Find.Merge(m, src)
2770}
2771func (m *Authenticator_Request_Find) XXX_Size() int {
2772	return xxx_messageInfo_Authenticator_Request_Find.Size(m)
2773}
2774func (m *Authenticator_Request_Find) XXX_DiscardUnknown() {
2775	xxx_messageInfo_Authenticator_Request_Find.DiscardUnknown(m)
2776}
2777
2778var xxx_messageInfo_Authenticator_Request_Find proto.InternalMessageInfo
2779
2780func (m *Authenticator_Request_Find) GetId() uint32 {
2781	if m != nil && m.Id != nil {
2782		return *m.Id
2783	}
2784	return 0
2785}
2786
2787func (m *Authenticator_Request_Find) GetName() string {
2788	if m != nil && m.Name != nil {
2789		return *m.Name
2790	}
2791	return ""
2792}
2793
2794// A query of all the registered users, optionally filtered by the given
2795// filter string.
2796type Authenticator_Request_Query struct {
2797	// A user name filter (% is often used as a wildcard)
2798	Filter               *string  `protobuf:"bytes,1,opt,name=filter" json:"filter,omitempty"`
2799	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2800	XXX_unrecognized     []byte   `json:"-"`
2801	XXX_sizecache        int32    `json:"-"`
2802}
2803
2804func (m *Authenticator_Request_Query) Reset()         { *m = Authenticator_Request_Query{} }
2805func (m *Authenticator_Request_Query) String() string { return proto.CompactTextString(m) }
2806func (*Authenticator_Request_Query) ProtoMessage()    {}
2807func (*Authenticator_Request_Query) Descriptor() ([]byte, []int) {
2808	return fileDescriptor_3bf06070873d1163, []int{14, 0, 2}
2809}
2810
2811func (m *Authenticator_Request_Query) XXX_Unmarshal(b []byte) error {
2812	return xxx_messageInfo_Authenticator_Request_Query.Unmarshal(m, b)
2813}
2814func (m *Authenticator_Request_Query) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2815	return xxx_messageInfo_Authenticator_Request_Query.Marshal(b, m, deterministic)
2816}
2817func (m *Authenticator_Request_Query) XXX_Merge(src proto.Message) {
2818	xxx_messageInfo_Authenticator_Request_Query.Merge(m, src)
2819}
2820func (m *Authenticator_Request_Query) XXX_Size() int {
2821	return xxx_messageInfo_Authenticator_Request_Query.Size(m)
2822}
2823func (m *Authenticator_Request_Query) XXX_DiscardUnknown() {
2824	xxx_messageInfo_Authenticator_Request_Query.DiscardUnknown(m)
2825}
2826
2827var xxx_messageInfo_Authenticator_Request_Query proto.InternalMessageInfo
2828
2829func (m *Authenticator_Request_Query) GetFilter() string {
2830	if m != nil && m.Filter != nil {
2831		return *m.Filter
2832	}
2833	return ""
2834}
2835
2836// A request for a new user registration.
2837type Authenticator_Request_Register struct {
2838	// The database user to register.
2839	User                 *DatabaseUser `protobuf:"bytes,1,opt,name=user" json:"user,omitempty"`
2840	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
2841	XXX_unrecognized     []byte        `json:"-"`
2842	XXX_sizecache        int32         `json:"-"`
2843}
2844
2845func (m *Authenticator_Request_Register) Reset()         { *m = Authenticator_Request_Register{} }
2846func (m *Authenticator_Request_Register) String() string { return proto.CompactTextString(m) }
2847func (*Authenticator_Request_Register) ProtoMessage()    {}
2848func (*Authenticator_Request_Register) Descriptor() ([]byte, []int) {
2849	return fileDescriptor_3bf06070873d1163, []int{14, 0, 3}
2850}
2851
2852func (m *Authenticator_Request_Register) XXX_Unmarshal(b []byte) error {
2853	return xxx_messageInfo_Authenticator_Request_Register.Unmarshal(m, b)
2854}
2855func (m *Authenticator_Request_Register) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2856	return xxx_messageInfo_Authenticator_Request_Register.Marshal(b, m, deterministic)
2857}
2858func (m *Authenticator_Request_Register) XXX_Merge(src proto.Message) {
2859	xxx_messageInfo_Authenticator_Request_Register.Merge(m, src)
2860}
2861func (m *Authenticator_Request_Register) XXX_Size() int {
2862	return xxx_messageInfo_Authenticator_Request_Register.Size(m)
2863}
2864func (m *Authenticator_Request_Register) XXX_DiscardUnknown() {
2865	xxx_messageInfo_Authenticator_Request_Register.DiscardUnknown(m)
2866}
2867
2868var xxx_messageInfo_Authenticator_Request_Register proto.InternalMessageInfo
2869
2870func (m *Authenticator_Request_Register) GetUser() *DatabaseUser {
2871	if m != nil {
2872		return m.User
2873	}
2874	return nil
2875}
2876
2877// A request for deregistering a registered user.
2878type Authenticator_Request_Deregister struct {
2879	// The database user to deregister.
2880	User                 *DatabaseUser `protobuf:"bytes,1,opt,name=user" json:"user,omitempty"`
2881	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
2882	XXX_unrecognized     []byte        `json:"-"`
2883	XXX_sizecache        int32         `json:"-"`
2884}
2885
2886func (m *Authenticator_Request_Deregister) Reset()         { *m = Authenticator_Request_Deregister{} }
2887func (m *Authenticator_Request_Deregister) String() string { return proto.CompactTextString(m) }
2888func (*Authenticator_Request_Deregister) ProtoMessage()    {}
2889func (*Authenticator_Request_Deregister) Descriptor() ([]byte, []int) {
2890	return fileDescriptor_3bf06070873d1163, []int{14, 0, 4}
2891}
2892
2893func (m *Authenticator_Request_Deregister) XXX_Unmarshal(b []byte) error {
2894	return xxx_messageInfo_Authenticator_Request_Deregister.Unmarshal(m, b)
2895}
2896func (m *Authenticator_Request_Deregister) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2897	return xxx_messageInfo_Authenticator_Request_Deregister.Marshal(b, m, deterministic)
2898}
2899func (m *Authenticator_Request_Deregister) XXX_Merge(src proto.Message) {
2900	xxx_messageInfo_Authenticator_Request_Deregister.Merge(m, src)
2901}
2902func (m *Authenticator_Request_Deregister) XXX_Size() int {
2903	return xxx_messageInfo_Authenticator_Request_Deregister.Size(m)
2904}
2905func (m *Authenticator_Request_Deregister) XXX_DiscardUnknown() {
2906	xxx_messageInfo_Authenticator_Request_Deregister.DiscardUnknown(m)
2907}
2908
2909var xxx_messageInfo_Authenticator_Request_Deregister proto.InternalMessageInfo
2910
2911func (m *Authenticator_Request_Deregister) GetUser() *DatabaseUser {
2912	if m != nil {
2913		return m.User
2914	}
2915	return nil
2916}
2917
2918// A request to update a registered user's information. The information
2919// provided should be merged with existing data.
2920type Authenticator_Request_Update struct {
2921	// The database user to update.
2922	User                 *DatabaseUser `protobuf:"bytes,1,opt,name=user" json:"user,omitempty"`
2923	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
2924	XXX_unrecognized     []byte        `json:"-"`
2925	XXX_sizecache        int32         `json:"-"`
2926}
2927
2928func (m *Authenticator_Request_Update) Reset()         { *m = Authenticator_Request_Update{} }
2929func (m *Authenticator_Request_Update) String() string { return proto.CompactTextString(m) }
2930func (*Authenticator_Request_Update) ProtoMessage()    {}
2931func (*Authenticator_Request_Update) Descriptor() ([]byte, []int) {
2932	return fileDescriptor_3bf06070873d1163, []int{14, 0, 5}
2933}
2934
2935func (m *Authenticator_Request_Update) XXX_Unmarshal(b []byte) error {
2936	return xxx_messageInfo_Authenticator_Request_Update.Unmarshal(m, b)
2937}
2938func (m *Authenticator_Request_Update) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2939	return xxx_messageInfo_Authenticator_Request_Update.Marshal(b, m, deterministic)
2940}
2941func (m *Authenticator_Request_Update) XXX_Merge(src proto.Message) {
2942	xxx_messageInfo_Authenticator_Request_Update.Merge(m, src)
2943}
2944func (m *Authenticator_Request_Update) XXX_Size() int {
2945	return xxx_messageInfo_Authenticator_Request_Update.Size(m)
2946}
2947func (m *Authenticator_Request_Update) XXX_DiscardUnknown() {
2948	xxx_messageInfo_Authenticator_Request_Update.DiscardUnknown(m)
2949}
2950
2951var xxx_messageInfo_Authenticator_Request_Update proto.InternalMessageInfo
2952
2953func (m *Authenticator_Request_Update) GetUser() *DatabaseUser {
2954	if m != nil {
2955		return m.User
2956	}
2957	return nil
2958}
2959
2960type Authenticator_Response struct {
2961	Initialize           *Authenticator_Response_Initialize   `protobuf:"bytes,1,opt,name=initialize" json:"initialize,omitempty"`
2962	Authenticate         *Authenticator_Response_Authenticate `protobuf:"bytes,2,opt,name=authenticate" json:"authenticate,omitempty"`
2963	Find                 *Authenticator_Response_Find         `protobuf:"bytes,3,opt,name=find" json:"find,omitempty"`
2964	Query                *Authenticator_Response_Query        `protobuf:"bytes,4,opt,name=query" json:"query,omitempty"`
2965	Register             *Authenticator_Response_Register     `protobuf:"bytes,5,opt,name=register" json:"register,omitempty"`
2966	Deregister           *Authenticator_Response_Deregister   `protobuf:"bytes,6,opt,name=deregister" json:"deregister,omitempty"`
2967	Update               *Authenticator_Response_Update       `protobuf:"bytes,7,opt,name=update" json:"update,omitempty"`
2968	XXX_NoUnkeyedLiteral struct{}                             `json:"-"`
2969	XXX_unrecognized     []byte                               `json:"-"`
2970	XXX_sizecache        int32                                `json:"-"`
2971}
2972
2973func (m *Authenticator_Response) Reset()         { *m = Authenticator_Response{} }
2974func (m *Authenticator_Response) String() string { return proto.CompactTextString(m) }
2975func (*Authenticator_Response) ProtoMessage()    {}
2976func (*Authenticator_Response) Descriptor() ([]byte, []int) {
2977	return fileDescriptor_3bf06070873d1163, []int{14, 1}
2978}
2979
2980func (m *Authenticator_Response) XXX_Unmarshal(b []byte) error {
2981	return xxx_messageInfo_Authenticator_Response.Unmarshal(m, b)
2982}
2983func (m *Authenticator_Response) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2984	return xxx_messageInfo_Authenticator_Response.Marshal(b, m, deterministic)
2985}
2986func (m *Authenticator_Response) XXX_Merge(src proto.Message) {
2987	xxx_messageInfo_Authenticator_Response.Merge(m, src)
2988}
2989func (m *Authenticator_Response) XXX_Size() int {
2990	return xxx_messageInfo_Authenticator_Response.Size(m)
2991}
2992func (m *Authenticator_Response) XXX_DiscardUnknown() {
2993	xxx_messageInfo_Authenticator_Response.DiscardUnknown(m)
2994}
2995
2996var xxx_messageInfo_Authenticator_Response proto.InternalMessageInfo
2997
2998func (m *Authenticator_Response) GetInitialize() *Authenticator_Response_Initialize {
2999	if m != nil {
3000		return m.Initialize
3001	}
3002	return nil
3003}
3004
3005func (m *Authenticator_Response) GetAuthenticate() *Authenticator_Response_Authenticate {
3006	if m != nil {
3007		return m.Authenticate
3008	}
3009	return nil
3010}
3011
3012func (m *Authenticator_Response) GetFind() *Authenticator_Response_Find {
3013	if m != nil {
3014		return m.Find
3015	}
3016	return nil
3017}
3018
3019func (m *Authenticator_Response) GetQuery() *Authenticator_Response_Query {
3020	if m != nil {
3021		return m.Query
3022	}
3023	return nil
3024}
3025
3026func (m *Authenticator_Response) GetRegister() *Authenticator_Response_Register {
3027	if m != nil {
3028		return m.Register
3029	}
3030	return nil
3031}
3032
3033func (m *Authenticator_Response) GetDeregister() *Authenticator_Response_Deregister {
3034	if m != nil {
3035		return m.Deregister
3036	}
3037	return nil
3038}
3039
3040func (m *Authenticator_Response) GetUpdate() *Authenticator_Response_Update {
3041	if m != nil {
3042		return m.Update
3043	}
3044	return nil
3045}
3046
3047// The initialization for the authenticator stream. This message must be
3048// sent before authentication requests will start streaming.
3049type Authenticator_Response_Initialize struct {
3050	Server               *Server  `protobuf:"bytes,1,opt,name=server" json:"server,omitempty"`
3051	XXX_NoUnkeyedLiteral struct{} `json:"-"`
3052	XXX_unrecognized     []byte   `json:"-"`
3053	XXX_sizecache        int32    `json:"-"`
3054}
3055
3056func (m *Authenticator_Response_Initialize) Reset()         { *m = Authenticator_Response_Initialize{} }
3057func (m *Authenticator_Response_Initialize) String() string { return proto.CompactTextString(m) }
3058func (*Authenticator_Response_Initialize) ProtoMessage()    {}
3059func (*Authenticator_Response_Initialize) Descriptor() ([]byte, []int) {
3060	return fileDescriptor_3bf06070873d1163, []int{14, 1, 0}
3061}
3062
3063func (m *Authenticator_Response_Initialize) XXX_Unmarshal(b []byte) error {
3064	return xxx_messageInfo_Authenticator_Response_Initialize.Unmarshal(m, b)
3065}
3066func (m *Authenticator_Response_Initialize) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
3067	return xxx_messageInfo_Authenticator_Response_Initialize.Marshal(b, m, deterministic)
3068}
3069func (m *Authenticator_Response_Initialize) XXX_Merge(src proto.Message) {
3070	xxx_messageInfo_Authenticator_Response_Initialize.Merge(m, src)
3071}
3072func (m *Authenticator_Response_Initialize) XXX_Size() int {
3073	return xxx_messageInfo_Authenticator_Response_Initialize.Size(m)
3074}
3075func (m *Authenticator_Response_Initialize) XXX_DiscardUnknown() {
3076	xxx_messageInfo_Authenticator_Response_Initialize.DiscardUnknown(m)
3077}
3078
3079var xxx_messageInfo_Authenticator_Response_Initialize proto.InternalMessageInfo
3080
3081func (m *Authenticator_Response_Initialize) GetServer() *Server {
3082	if m != nil {
3083		return m.Server
3084	}
3085	return nil
3086}
3087
3088type Authenticator_Response_Authenticate struct {
3089	// The status of the request.
3090	Status *Authenticator_Response_Status `protobuf:"varint,1,opt,name=status,enum=MurmurRPC.Authenticator_Response_Status" json:"status,omitempty"`
3091	// The user's registered ID.
3092	Id *uint32 `protobuf:"varint,2,opt,name=id" json:"id,omitempty"`
3093	// The corrected user's name;
3094	Name *string `protobuf:"bytes,3,opt,name=name" json:"name,omitempty"`
3095	// Additional ACL groups that the user belongs too.
3096	Groups               []*ACL_Group `protobuf:"bytes,4,rep,name=groups" json:"groups,omitempty"`
3097	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
3098	XXX_unrecognized     []byte       `json:"-"`
3099	XXX_sizecache        int32        `json:"-"`
3100}
3101
3102func (m *Authenticator_Response_Authenticate) Reset()         { *m = Authenticator_Response_Authenticate{} }
3103func (m *Authenticator_Response_Authenticate) String() string { return proto.CompactTextString(m) }
3104func (*Authenticator_Response_Authenticate) ProtoMessage()    {}
3105func (*Authenticator_Response_Authenticate) Descriptor() ([]byte, []int) {
3106	return fileDescriptor_3bf06070873d1163, []int{14, 1, 1}
3107}
3108
3109func (m *Authenticator_Response_Authenticate) XXX_Unmarshal(b []byte) error {
3110	return xxx_messageInfo_Authenticator_Response_Authenticate.Unmarshal(m, b)
3111}
3112func (m *Authenticator_Response_Authenticate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
3113	return xxx_messageInfo_Authenticator_Response_Authenticate.Marshal(b, m, deterministic)
3114}
3115func (m *Authenticator_Response_Authenticate) XXX_Merge(src proto.Message) {
3116	xxx_messageInfo_Authenticator_Response_Authenticate.Merge(m, src)
3117}
3118func (m *Authenticator_Response_Authenticate) XXX_Size() int {
3119	return xxx_messageInfo_Authenticator_Response_Authenticate.Size(m)
3120}
3121func (m *Authenticator_Response_Authenticate) XXX_DiscardUnknown() {
3122	xxx_messageInfo_Authenticator_Response_Authenticate.DiscardUnknown(m)
3123}
3124
3125var xxx_messageInfo_Authenticator_Response_Authenticate proto.InternalMessageInfo
3126
3127func (m *Authenticator_Response_Authenticate) GetStatus() Authenticator_Response_Status {
3128	if m != nil && m.Status != nil {
3129		return *m.Status
3130	}
3131	return Authenticator_Response_Fallthrough
3132}
3133
3134func (m *Authenticator_Response_Authenticate) GetId() uint32 {
3135	if m != nil && m.Id != nil {
3136		return *m.Id
3137	}
3138	return 0
3139}
3140
3141func (m *Authenticator_Response_Authenticate) GetName() string {
3142	if m != nil && m.Name != nil {
3143		return *m.Name
3144	}
3145	return ""
3146}
3147
3148func (m *Authenticator_Response_Authenticate) GetGroups() []*ACL_Group {
3149	if m != nil {
3150		return m.Groups
3151	}
3152	return nil
3153}
3154
3155type Authenticator_Response_Find struct {
3156	// The database user (if found).
3157	User                 *DatabaseUser `protobuf:"bytes,1,opt,name=user" json:"user,omitempty"`
3158	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
3159	XXX_unrecognized     []byte        `json:"-"`
3160	XXX_sizecache        int32         `json:"-"`
3161}
3162
3163func (m *Authenticator_Response_Find) Reset()         { *m = Authenticator_Response_Find{} }
3164func (m *Authenticator_Response_Find) String() string { return proto.CompactTextString(m) }
3165func (*Authenticator_Response_Find) ProtoMessage()    {}
3166func (*Authenticator_Response_Find) Descriptor() ([]byte, []int) {
3167	return fileDescriptor_3bf06070873d1163, []int{14, 1, 2}
3168}
3169
3170func (m *Authenticator_Response_Find) XXX_Unmarshal(b []byte) error {
3171	return xxx_messageInfo_Authenticator_Response_Find.Unmarshal(m, b)
3172}
3173func (m *Authenticator_Response_Find) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
3174	return xxx_messageInfo_Authenticator_Response_Find.Marshal(b, m, deterministic)
3175}
3176func (m *Authenticator_Response_Find) XXX_Merge(src proto.Message) {
3177	xxx_messageInfo_Authenticator_Response_Find.Merge(m, src)
3178}
3179func (m *Authenticator_Response_Find) XXX_Size() int {
3180	return xxx_messageInfo_Authenticator_Response_Find.Size(m)
3181}
3182func (m *Authenticator_Response_Find) XXX_DiscardUnknown() {
3183	xxx_messageInfo_Authenticator_Response_Find.DiscardUnknown(m)
3184}
3185
3186var xxx_messageInfo_Authenticator_Response_Find proto.InternalMessageInfo
3187
3188func (m *Authenticator_Response_Find) GetUser() *DatabaseUser {
3189	if m != nil {
3190		return m.User
3191	}
3192	return nil
3193}
3194
3195type Authenticator_Response_Query struct {
3196	// The matched database users.
3197	Users                []*DatabaseUser `protobuf:"bytes,1,rep,name=users" json:"users,omitempty"`
3198	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
3199	XXX_unrecognized     []byte          `json:"-"`
3200	XXX_sizecache        int32           `json:"-"`
3201}
3202
3203func (m *Authenticator_Response_Query) Reset()         { *m = Authenticator_Response_Query{} }
3204func (m *Authenticator_Response_Query) String() string { return proto.CompactTextString(m) }
3205func (*Authenticator_Response_Query) ProtoMessage()    {}
3206func (*Authenticator_Response_Query) Descriptor() ([]byte, []int) {
3207	return fileDescriptor_3bf06070873d1163, []int{14, 1, 3}
3208}
3209
3210func (m *Authenticator_Response_Query) XXX_Unmarshal(b []byte) error {
3211	return xxx_messageInfo_Authenticator_Response_Query.Unmarshal(m, b)
3212}
3213func (m *Authenticator_Response_Query) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
3214	return xxx_messageInfo_Authenticator_Response_Query.Marshal(b, m, deterministic)
3215}
3216func (m *Authenticator_Response_Query) XXX_Merge(src proto.Message) {
3217	xxx_messageInfo_Authenticator_Response_Query.Merge(m, src)
3218}
3219func (m *Authenticator_Response_Query) XXX_Size() int {
3220	return xxx_messageInfo_Authenticator_Response_Query.Size(m)
3221}
3222func (m *Authenticator_Response_Query) XXX_DiscardUnknown() {
3223	xxx_messageInfo_Authenticator_Response_Query.DiscardUnknown(m)
3224}
3225
3226var xxx_messageInfo_Authenticator_Response_Query proto.InternalMessageInfo
3227
3228func (m *Authenticator_Response_Query) GetUsers() []*DatabaseUser {
3229	if m != nil {
3230		return m.Users
3231	}
3232	return nil
3233}
3234
3235type Authenticator_Response_Register struct {
3236	// The status of the request.
3237	Status *Authenticator_Response_Status `protobuf:"varint,1,opt,name=status,enum=MurmurRPC.Authenticator_Response_Status" json:"status,omitempty"`
3238	// The registered database user (must contain the registered user's ID).
3239	User                 *DatabaseUser `protobuf:"bytes,2,opt,name=user" json:"user,omitempty"`
3240	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
3241	XXX_unrecognized     []byte        `json:"-"`
3242	XXX_sizecache        int32         `json:"-"`
3243}
3244
3245func (m *Authenticator_Response_Register) Reset()         { *m = Authenticator_Response_Register{} }
3246func (m *Authenticator_Response_Register) String() string { return proto.CompactTextString(m) }
3247func (*Authenticator_Response_Register) ProtoMessage()    {}
3248func (*Authenticator_Response_Register) Descriptor() ([]byte, []int) {
3249	return fileDescriptor_3bf06070873d1163, []int{14, 1, 4}
3250}
3251
3252func (m *Authenticator_Response_Register) XXX_Unmarshal(b []byte) error {
3253	return xxx_messageInfo_Authenticator_Response_Register.Unmarshal(m, b)
3254}
3255func (m *Authenticator_Response_Register) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
3256	return xxx_messageInfo_Authenticator_Response_Register.Marshal(b, m, deterministic)
3257}
3258func (m *Authenticator_Response_Register) XXX_Merge(src proto.Message) {
3259	xxx_messageInfo_Authenticator_Response_Register.Merge(m, src)
3260}
3261func (m *Authenticator_Response_Register) XXX_Size() int {
3262	return xxx_messageInfo_Authenticator_Response_Register.Size(m)
3263}
3264func (m *Authenticator_Response_Register) XXX_DiscardUnknown() {
3265	xxx_messageInfo_Authenticator_Response_Register.DiscardUnknown(m)
3266}
3267
3268var xxx_messageInfo_Authenticator_Response_Register proto.InternalMessageInfo
3269
3270func (m *Authenticator_Response_Register) GetStatus() Authenticator_Response_Status {
3271	if m != nil && m.Status != nil {
3272		return *m.Status
3273	}
3274	return Authenticator_Response_Fallthrough
3275}
3276
3277func (m *Authenticator_Response_Register) GetUser() *DatabaseUser {
3278	if m != nil {
3279		return m.User
3280	}
3281	return nil
3282}
3283
3284type Authenticator_Response_Deregister struct {
3285	// The status of the request.
3286	Status               *Authenticator_Response_Status `protobuf:"varint,1,opt,name=status,enum=MurmurRPC.Authenticator_Response_Status" json:"status,omitempty"`
3287	XXX_NoUnkeyedLiteral struct{}                       `json:"-"`
3288	XXX_unrecognized     []byte                         `json:"-"`
3289	XXX_sizecache        int32                          `json:"-"`
3290}
3291
3292func (m *Authenticator_Response_Deregister) Reset()         { *m = Authenticator_Response_Deregister{} }
3293func (m *Authenticator_Response_Deregister) String() string { return proto.CompactTextString(m) }
3294func (*Authenticator_Response_Deregister) ProtoMessage()    {}
3295func (*Authenticator_Response_Deregister) Descriptor() ([]byte, []int) {
3296	return fileDescriptor_3bf06070873d1163, []int{14, 1, 5}
3297}
3298
3299func (m *Authenticator_Response_Deregister) XXX_Unmarshal(b []byte) error {
3300	return xxx_messageInfo_Authenticator_Response_Deregister.Unmarshal(m, b)
3301}
3302func (m *Authenticator_Response_Deregister) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
3303	return xxx_messageInfo_Authenticator_Response_Deregister.Marshal(b, m, deterministic)
3304}
3305func (m *Authenticator_Response_Deregister) XXX_Merge(src proto.Message) {
3306	xxx_messageInfo_Authenticator_Response_Deregister.Merge(m, src)
3307}
3308func (m *Authenticator_Response_Deregister) XXX_Size() int {
3309	return xxx_messageInfo_Authenticator_Response_Deregister.Size(m)
3310}
3311func (m *Authenticator_Response_Deregister) XXX_DiscardUnknown() {
3312	xxx_messageInfo_Authenticator_Response_Deregister.DiscardUnknown(m)
3313}
3314
3315var xxx_messageInfo_Authenticator_Response_Deregister proto.InternalMessageInfo
3316
3317func (m *Authenticator_Response_Deregister) GetStatus() Authenticator_Response_Status {
3318	if m != nil && m.Status != nil {
3319		return *m.Status
3320	}
3321	return Authenticator_Response_Fallthrough
3322}
3323
3324type Authenticator_Response_Update struct {
3325	// The status of the request.
3326	Status               *Authenticator_Response_Status `protobuf:"varint,1,opt,name=status,enum=MurmurRPC.Authenticator_Response_Status" json:"status,omitempty"`
3327	XXX_NoUnkeyedLiteral struct{}                       `json:"-"`
3328	XXX_unrecognized     []byte                         `json:"-"`
3329	XXX_sizecache        int32                          `json:"-"`
3330}
3331
3332func (m *Authenticator_Response_Update) Reset()         { *m = Authenticator_Response_Update{} }
3333func (m *Authenticator_Response_Update) String() string { return proto.CompactTextString(m) }
3334func (*Authenticator_Response_Update) ProtoMessage()    {}
3335func (*Authenticator_Response_Update) Descriptor() ([]byte, []int) {
3336	return fileDescriptor_3bf06070873d1163, []int{14, 1, 6}
3337}
3338
3339func (m *Authenticator_Response_Update) XXX_Unmarshal(b []byte) error {
3340	return xxx_messageInfo_Authenticator_Response_Update.Unmarshal(m, b)
3341}
3342func (m *Authenticator_Response_Update) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
3343	return xxx_messageInfo_Authenticator_Response_Update.Marshal(b, m, deterministic)
3344}
3345func (m *Authenticator_Response_Update) XXX_Merge(src proto.Message) {
3346	xxx_messageInfo_Authenticator_Response_Update.Merge(m, src)
3347}
3348func (m *Authenticator_Response_Update) XXX_Size() int {
3349	return xxx_messageInfo_Authenticator_Response_Update.Size(m)
3350}
3351func (m *Authenticator_Response_Update) XXX_DiscardUnknown() {
3352	xxx_messageInfo_Authenticator_Response_Update.DiscardUnknown(m)
3353}
3354
3355var xxx_messageInfo_Authenticator_Response_Update proto.InternalMessageInfo
3356
3357func (m *Authenticator_Response_Update) GetStatus() Authenticator_Response_Status {
3358	if m != nil && m.Status != nil {
3359		return *m.Status
3360	}
3361	return Authenticator_Response_Fallthrough
3362}
3363
3364type DatabaseUser struct {
3365	// The server on which the user is registered.
3366	Server *Server `protobuf:"bytes,1,opt,name=server" json:"server,omitempty"`
3367	// The unique user ID.
3368	Id *uint32 `protobuf:"varint,2,opt,name=id" json:"id,omitempty"`
3369	// The user's name.
3370	Name *string `protobuf:"bytes,3,opt,name=name" json:"name,omitempty"`
3371	// The user's email address.
3372	Email *string `protobuf:"bytes,4,opt,name=email" json:"email,omitempty"`
3373	// The user's comment.
3374	Comment *string `protobuf:"bytes,5,opt,name=comment" json:"comment,omitempty"`
3375	// The user's certificate hash.
3376	Hash *string `protobuf:"bytes,6,opt,name=hash" json:"hash,omitempty"`
3377	// The user's password (never sent; used only when updating).
3378	Password *string `protobuf:"bytes,7,opt,name=password" json:"password,omitempty"`
3379	// When the user was last on the server.
3380	LastActive *string `protobuf:"bytes,8,opt,name=last_active,json=lastActive" json:"last_active,omitempty"`
3381	// The user's texture.
3382	Texture              []byte   `protobuf:"bytes,9,opt,name=texture" json:"texture,omitempty"`
3383	XXX_NoUnkeyedLiteral struct{} `json:"-"`
3384	XXX_unrecognized     []byte   `json:"-"`
3385	XXX_sizecache        int32    `json:"-"`
3386}
3387
3388func (m *DatabaseUser) Reset()         { *m = DatabaseUser{} }
3389func (m *DatabaseUser) String() string { return proto.CompactTextString(m) }
3390func (*DatabaseUser) ProtoMessage()    {}
3391func (*DatabaseUser) Descriptor() ([]byte, []int) {
3392	return fileDescriptor_3bf06070873d1163, []int{15}
3393}
3394
3395func (m *DatabaseUser) XXX_Unmarshal(b []byte) error {
3396	return xxx_messageInfo_DatabaseUser.Unmarshal(m, b)
3397}
3398func (m *DatabaseUser) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
3399	return xxx_messageInfo_DatabaseUser.Marshal(b, m, deterministic)
3400}
3401func (m *DatabaseUser) XXX_Merge(src proto.Message) {
3402	xxx_messageInfo_DatabaseUser.Merge(m, src)
3403}
3404func (m *DatabaseUser) XXX_Size() int {
3405	return xxx_messageInfo_DatabaseUser.Size(m)
3406}
3407func (m *DatabaseUser) XXX_DiscardUnknown() {
3408	xxx_messageInfo_DatabaseUser.DiscardUnknown(m)
3409}
3410
3411var xxx_messageInfo_DatabaseUser proto.InternalMessageInfo
3412
3413func (m *DatabaseUser) GetServer() *Server {
3414	if m != nil {
3415		return m.Server
3416	}
3417	return nil
3418}
3419
3420func (m *DatabaseUser) GetId() uint32 {
3421	if m != nil && m.Id != nil {
3422		return *m.Id
3423	}
3424	return 0
3425}
3426
3427func (m *DatabaseUser) GetName() string {
3428	if m != nil && m.Name != nil {
3429		return *m.Name
3430	}
3431	return ""
3432}
3433
3434func (m *DatabaseUser) GetEmail() string {
3435	if m != nil && m.Email != nil {
3436		return *m.Email
3437	}
3438	return ""
3439}
3440
3441func (m *DatabaseUser) GetComment() string {
3442	if m != nil && m.Comment != nil {
3443		return *m.Comment
3444	}
3445	return ""
3446}
3447
3448func (m *DatabaseUser) GetHash() string {
3449	if m != nil && m.Hash != nil {
3450		return *m.Hash
3451	}
3452	return ""
3453}
3454
3455func (m *DatabaseUser) GetPassword() string {
3456	if m != nil && m.Password != nil {
3457		return *m.Password
3458	}
3459	return ""
3460}
3461
3462func (m *DatabaseUser) GetLastActive() string {
3463	if m != nil && m.LastActive != nil {
3464		return *m.LastActive
3465	}
3466	return ""
3467}
3468
3469func (m *DatabaseUser) GetTexture() []byte {
3470	if m != nil {
3471		return m.Texture
3472	}
3473	return nil
3474}
3475
3476type DatabaseUser_Query struct {
3477	// The server whose users will be queried.
3478	Server *Server `protobuf:"bytes,1,opt,name=server" json:"server,omitempty"`
3479	// A string to filter the users by.
3480	Filter               *string  `protobuf:"bytes,2,opt,name=filter" json:"filter,omitempty"`
3481	XXX_NoUnkeyedLiteral struct{} `json:"-"`
3482	XXX_unrecognized     []byte   `json:"-"`
3483	XXX_sizecache        int32    `json:"-"`
3484}
3485
3486func (m *DatabaseUser_Query) Reset()         { *m = DatabaseUser_Query{} }
3487func (m *DatabaseUser_Query) String() string { return proto.CompactTextString(m) }
3488func (*DatabaseUser_Query) ProtoMessage()    {}
3489func (*DatabaseUser_Query) Descriptor() ([]byte, []int) {
3490	return fileDescriptor_3bf06070873d1163, []int{15, 0}
3491}
3492
3493func (m *DatabaseUser_Query) XXX_Unmarshal(b []byte) error {
3494	return xxx_messageInfo_DatabaseUser_Query.Unmarshal(m, b)
3495}
3496func (m *DatabaseUser_Query) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
3497	return xxx_messageInfo_DatabaseUser_Query.Marshal(b, m, deterministic)
3498}
3499func (m *DatabaseUser_Query) XXX_Merge(src proto.Message) {
3500	xxx_messageInfo_DatabaseUser_Query.Merge(m, src)
3501}
3502func (m *DatabaseUser_Query) XXX_Size() int {
3503	return xxx_messageInfo_DatabaseUser_Query.Size(m)
3504}
3505func (m *DatabaseUser_Query) XXX_DiscardUnknown() {
3506	xxx_messageInfo_DatabaseUser_Query.DiscardUnknown(m)
3507}
3508
3509var xxx_messageInfo_DatabaseUser_Query proto.InternalMessageInfo
3510
3511func (m *DatabaseUser_Query) GetServer() *Server {
3512	if m != nil {
3513		return m.Server
3514	}
3515	return nil
3516}
3517
3518func (m *DatabaseUser_Query) GetFilter() string {
3519	if m != nil && m.Filter != nil {
3520		return *m.Filter
3521	}
3522	return ""
3523}
3524
3525type DatabaseUser_List struct {
3526	// The server on which the users are registered.
3527	Server *Server `protobuf:"bytes,1,opt,name=server" json:"server,omitempty"`
3528	// The users.
3529	Users                []*DatabaseUser `protobuf:"bytes,2,rep,name=users" json:"users,omitempty"`
3530	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
3531	XXX_unrecognized     []byte          `json:"-"`
3532	XXX_sizecache        int32           `json:"-"`
3533}
3534
3535func (m *DatabaseUser_List) Reset()         { *m = DatabaseUser_List{} }
3536func (m *DatabaseUser_List) String() string { return proto.CompactTextString(m) }
3537func (*DatabaseUser_List) ProtoMessage()    {}
3538func (*DatabaseUser_List) Descriptor() ([]byte, []int) {
3539	return fileDescriptor_3bf06070873d1163, []int{15, 1}
3540}
3541
3542func (m *DatabaseUser_List) XXX_Unmarshal(b []byte) error {
3543	return xxx_messageInfo_DatabaseUser_List.Unmarshal(m, b)
3544}
3545func (m *DatabaseUser_List) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
3546	return xxx_messageInfo_DatabaseUser_List.Marshal(b, m, deterministic)
3547}
3548func (m *DatabaseUser_List) XXX_Merge(src proto.Message) {
3549	xxx_messageInfo_DatabaseUser_List.Merge(m, src)
3550}
3551func (m *DatabaseUser_List) XXX_Size() int {
3552	return xxx_messageInfo_DatabaseUser_List.Size(m)
3553}
3554func (m *DatabaseUser_List) XXX_DiscardUnknown() {
3555	xxx_messageInfo_DatabaseUser_List.DiscardUnknown(m)
3556}
3557
3558var xxx_messageInfo_DatabaseUser_List proto.InternalMessageInfo
3559
3560func (m *DatabaseUser_List) GetServer() *Server {
3561	if m != nil {
3562		return m.Server
3563	}
3564	return nil
3565}
3566
3567func (m *DatabaseUser_List) GetUsers() []*DatabaseUser {
3568	if m != nil {
3569		return m.Users
3570	}
3571	return nil
3572}
3573
3574type DatabaseUser_Verify struct {
3575	// The server on which the user-password pair will be authenticated.
3576	Server *Server `protobuf:"bytes,1,opt,name=server" json:"server,omitempty"`
3577	// The user's name.
3578	Name *string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
3579	// The user's password.
3580	Password             *string  `protobuf:"bytes,3,opt,name=password" json:"password,omitempty"`
3581	XXX_NoUnkeyedLiteral struct{} `json:"-"`
3582	XXX_unrecognized     []byte   `json:"-"`
3583	XXX_sizecache        int32    `json:"-"`
3584}
3585
3586func (m *DatabaseUser_Verify) Reset()         { *m = DatabaseUser_Verify{} }
3587func (m *DatabaseUser_Verify) String() string { return proto.CompactTextString(m) }
3588func (*DatabaseUser_Verify) ProtoMessage()    {}
3589func (*DatabaseUser_Verify) Descriptor() ([]byte, []int) {
3590	return fileDescriptor_3bf06070873d1163, []int{15, 2}
3591}
3592
3593func (m *DatabaseUser_Verify) XXX_Unmarshal(b []byte) error {
3594	return xxx_messageInfo_DatabaseUser_Verify.Unmarshal(m, b)
3595}
3596func (m *DatabaseUser_Verify) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
3597	return xxx_messageInfo_DatabaseUser_Verify.Marshal(b, m, deterministic)
3598}
3599func (m *DatabaseUser_Verify) XXX_Merge(src proto.Message) {
3600	xxx_messageInfo_DatabaseUser_Verify.Merge(m, src)
3601}
3602func (m *DatabaseUser_Verify) XXX_Size() int {
3603	return xxx_messageInfo_DatabaseUser_Verify.Size(m)
3604}
3605func (m *DatabaseUser_Verify) XXX_DiscardUnknown() {
3606	xxx_messageInfo_DatabaseUser_Verify.DiscardUnknown(m)
3607}
3608
3609var xxx_messageInfo_DatabaseUser_Verify proto.InternalMessageInfo
3610
3611func (m *DatabaseUser_Verify) GetServer() *Server {
3612	if m != nil {
3613		return m.Server
3614	}
3615	return nil
3616}
3617
3618func (m *DatabaseUser_Verify) GetName() string {
3619	if m != nil && m.Name != nil {
3620		return *m.Name
3621	}
3622	return ""
3623}
3624
3625func (m *DatabaseUser_Verify) GetPassword() string {
3626	if m != nil && m.Password != nil {
3627		return *m.Password
3628	}
3629	return ""
3630}
3631
3632type RedirectWhisperGroup struct {
3633	// The server on which the whisper redirection will take place.
3634	Server *Server `protobuf:"bytes,1,opt,name=server" json:"server,omitempty"`
3635	// The user to whom the redirection will be applied.
3636	User *User `protobuf:"bytes,2,opt,name=user" json:"user,omitempty"`
3637	// The source group.
3638	Source *ACL_Group `protobuf:"bytes,3,opt,name=source" json:"source,omitempty"`
3639	// The target group.
3640	Target               *ACL_Group `protobuf:"bytes,4,opt,name=target" json:"target,omitempty"`
3641	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
3642	XXX_unrecognized     []byte     `json:"-"`
3643	XXX_sizecache        int32      `json:"-"`
3644}
3645
3646func (m *RedirectWhisperGroup) Reset()         { *m = RedirectWhisperGroup{} }
3647func (m *RedirectWhisperGroup) String() string { return proto.CompactTextString(m) }
3648func (*RedirectWhisperGroup) ProtoMessage()    {}
3649func (*RedirectWhisperGroup) Descriptor() ([]byte, []int) {
3650	return fileDescriptor_3bf06070873d1163, []int{16}
3651}
3652
3653func (m *RedirectWhisperGroup) XXX_Unmarshal(b []byte) error {
3654	return xxx_messageInfo_RedirectWhisperGroup.Unmarshal(m, b)
3655}
3656func (m *RedirectWhisperGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
3657	return xxx_messageInfo_RedirectWhisperGroup.Marshal(b, m, deterministic)
3658}
3659func (m *RedirectWhisperGroup) XXX_Merge(src proto.Message) {
3660	xxx_messageInfo_RedirectWhisperGroup.Merge(m, src)
3661}
3662func (m *RedirectWhisperGroup) XXX_Size() int {
3663	return xxx_messageInfo_RedirectWhisperGroup.Size(m)
3664}
3665func (m *RedirectWhisperGroup) XXX_DiscardUnknown() {
3666	xxx_messageInfo_RedirectWhisperGroup.DiscardUnknown(m)
3667}
3668
3669var xxx_messageInfo_RedirectWhisperGroup proto.InternalMessageInfo
3670
3671func (m *RedirectWhisperGroup) GetServer() *Server {
3672	if m != nil {
3673		return m.Server
3674	}
3675	return nil
3676}
3677
3678func (m *RedirectWhisperGroup) GetUser() *User {
3679	if m != nil {
3680		return m.User
3681	}
3682	return nil
3683}
3684
3685func (m *RedirectWhisperGroup) GetSource() *ACL_Group {
3686	if m != nil {
3687		return m.Source
3688	}
3689	return nil
3690}
3691
3692func (m *RedirectWhisperGroup) GetTarget() *ACL_Group {
3693	if m != nil {
3694		return m.Target
3695	}
3696	return nil
3697}
3698
3699func init() {
3700	proto.RegisterEnum("MurmurRPC.Server_Event_Type", Server_Event_Type_name, Server_Event_Type_value)
3701	proto.RegisterEnum("MurmurRPC.Event_Type", Event_Type_name, Event_Type_value)
3702	proto.RegisterEnum("MurmurRPC.ContextAction_Context", ContextAction_Context_name, ContextAction_Context_value)
3703	proto.RegisterEnum("MurmurRPC.TextMessage_Filter_Action", TextMessage_Filter_Action_name, TextMessage_Filter_Action_value)
3704	proto.RegisterEnum("MurmurRPC.ACL_Permission", ACL_Permission_name, ACL_Permission_value)
3705	proto.RegisterEnum("MurmurRPC.Authenticator_Response_Status", Authenticator_Response_Status_name, Authenticator_Response_Status_value)
3706	proto.RegisterType((*Void)(nil), "MurmurRPC.Void")
3707	proto.RegisterType((*Version)(nil), "MurmurRPC.Version")
3708	proto.RegisterType((*Uptime)(nil), "MurmurRPC.Uptime")
3709	proto.RegisterType((*Server)(nil), "MurmurRPC.Server")
3710	proto.RegisterType((*Server_Event)(nil), "MurmurRPC.Server.Event")
3711	proto.RegisterType((*Server_Query)(nil), "MurmurRPC.Server.Query")
3712	proto.RegisterType((*Server_List)(nil), "MurmurRPC.Server.List")
3713	proto.RegisterType((*Event)(nil), "MurmurRPC.Event")
3714	proto.RegisterType((*ContextAction)(nil), "MurmurRPC.ContextAction")
3715	proto.RegisterType((*TextMessage)(nil), "MurmurRPC.TextMessage")
3716	proto.RegisterType((*TextMessage_Filter)(nil), "MurmurRPC.TextMessage.Filter")
3717	proto.RegisterType((*Log)(nil), "MurmurRPC.Log")
3718	proto.RegisterType((*Log_Query)(nil), "MurmurRPC.Log.Query")
3719	proto.RegisterType((*Log_List)(nil), "MurmurRPC.Log.List")
3720	proto.RegisterType((*Config)(nil), "MurmurRPC.Config")
3721	proto.RegisterMapType((map[string]string)(nil), "MurmurRPC.Config.FieldsEntry")
3722	proto.RegisterType((*Config_Field)(nil), "MurmurRPC.Config.Field")
3723	proto.RegisterType((*Channel)(nil), "MurmurRPC.Channel")
3724	proto.RegisterType((*Channel_Query)(nil), "MurmurRPC.Channel.Query")
3725	proto.RegisterType((*Channel_List)(nil), "MurmurRPC.Channel.List")
3726	proto.RegisterType((*User)(nil), "MurmurRPC.User")
3727	proto.RegisterType((*User_Query)(nil), "MurmurRPC.User.Query")
3728	proto.RegisterType((*User_List)(nil), "MurmurRPC.User.List")
3729	proto.RegisterType((*User_Kick)(nil), "MurmurRPC.User.Kick")
3730	proto.RegisterType((*Tree)(nil), "MurmurRPC.Tree")
3731	proto.RegisterType((*Tree_Query)(nil), "MurmurRPC.Tree.Query")
3732	proto.RegisterType((*Ban)(nil), "MurmurRPC.Ban")
3733	proto.RegisterType((*Ban_Query)(nil), "MurmurRPC.Ban.Query")
3734	proto.RegisterType((*Ban_List)(nil), "MurmurRPC.Ban.List")
3735	proto.RegisterType((*ACL)(nil), "MurmurRPC.ACL")
3736	proto.RegisterType((*ACL_Group)(nil), "MurmurRPC.ACL.Group")
3737	proto.RegisterType((*ACL_Query)(nil), "MurmurRPC.ACL.Query")
3738	proto.RegisterType((*ACL_List)(nil), "MurmurRPC.ACL.List")
3739	proto.RegisterType((*ACL_TemporaryGroup)(nil), "MurmurRPC.ACL.TemporaryGroup")
3740	proto.RegisterType((*Authenticator)(nil), "MurmurRPC.Authenticator")
3741	proto.RegisterType((*Authenticator_Request)(nil), "MurmurRPC.Authenticator.Request")
3742	proto.RegisterType((*Authenticator_Request_Authenticate)(nil), "MurmurRPC.Authenticator.Request.Authenticate")
3743	proto.RegisterType((*Authenticator_Request_Find)(nil), "MurmurRPC.Authenticator.Request.Find")
3744	proto.RegisterType((*Authenticator_Request_Query)(nil), "MurmurRPC.Authenticator.Request.Query")
3745	proto.RegisterType((*Authenticator_Request_Register)(nil), "MurmurRPC.Authenticator.Request.Register")
3746	proto.RegisterType((*Authenticator_Request_Deregister)(nil), "MurmurRPC.Authenticator.Request.Deregister")
3747	proto.RegisterType((*Authenticator_Request_Update)(nil), "MurmurRPC.Authenticator.Request.Update")
3748	proto.RegisterType((*Authenticator_Response)(nil), "MurmurRPC.Authenticator.Response")
3749	proto.RegisterType((*Authenticator_Response_Initialize)(nil), "MurmurRPC.Authenticator.Response.Initialize")
3750	proto.RegisterType((*Authenticator_Response_Authenticate)(nil), "MurmurRPC.Authenticator.Response.Authenticate")
3751	proto.RegisterType((*Authenticator_Response_Find)(nil), "MurmurRPC.Authenticator.Response.Find")
3752	proto.RegisterType((*Authenticator_Response_Query)(nil), "MurmurRPC.Authenticator.Response.Query")
3753	proto.RegisterType((*Authenticator_Response_Register)(nil), "MurmurRPC.Authenticator.Response.Register")
3754	proto.RegisterType((*Authenticator_Response_Deregister)(nil), "MurmurRPC.Authenticator.Response.Deregister")
3755	proto.RegisterType((*Authenticator_Response_Update)(nil), "MurmurRPC.Authenticator.Response.Update")
3756	proto.RegisterType((*DatabaseUser)(nil), "MurmurRPC.DatabaseUser")
3757	proto.RegisterType((*DatabaseUser_Query)(nil), "MurmurRPC.DatabaseUser.Query")
3758	proto.RegisterType((*DatabaseUser_List)(nil), "MurmurRPC.DatabaseUser.List")
3759	proto.RegisterType((*DatabaseUser_Verify)(nil), "MurmurRPC.DatabaseUser.Verify")
3760	proto.RegisterType((*RedirectWhisperGroup)(nil), "MurmurRPC.RedirectWhisperGroup")
3761}
3762
3763func init() { proto.RegisterFile("MurmurRPC.proto", fileDescriptor_3bf06070873d1163) }
3764
3765var fileDescriptor_3bf06070873d1163 = []byte{
3766	// 3113 bytes of a gzipped FileDescriptorProto
3767	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x1a, 0x4b, 0x73, 0xdb, 0xc6,
3768	0xd9, 0x00, 0x41, 0x90, 0xfc, 0x48, 0x4a, 0xf0, 0x5a, 0x91, 0x18, 0xd4, 0xae, 0x55, 0x26, 0x6e,
3769	0xe4, 0x17, 0x63, 0x3b, 0x6f, 0x4f, 0x92, 0x5a, 0x96, 0x2d, 0xc7, 0xb1, 0x94, 0x3a, 0xa0, 0xed,
3770	0x74, 0x7a, 0x28, 0x0b, 0x11, 0x2b, 0x0a, 0x35, 0x08, 0x20, 0x0b, 0x50, 0x31, 0x7b, 0x52, 0x0f,
3771	0x9d, 0x1c, 0x72, 0x6e, 0x2f, 0x3d, 0x74, 0x9a, 0x99, 0xce, 0xf4, 0xd0, 0x9f, 0xd0, 0x53, 0x0f,
3772	0xbd, 0xf4, 0xd0, 0x99, 0xfe, 0x83, 0xce, 0x74, 0xa6, 0x3f, 0xa0, 0x97, 0x1e, 0x3b, 0xfb, 0x00,
3773	0xb8, 0xe0, 0x1b, 0x72, 0x7b, 0x22, 0xf6, 0x7b, 0xed, 0xb7, 0xdf, 0x6b, 0xbf, 0xdd, 0x25, 0xac,
3774	0xee, 0x0f, 0x48, 0x7f, 0x40, 0xac, 0xc7, 0x3b, 0xad, 0x90, 0x04, 0x71, 0x80, 0x2a, 0x29, 0xa0,
3775	0xa9, 0x83, 0xf6, 0x2c, 0x70, 0x9d, 0xa6, 0x07, 0xa5, 0x67, 0x98, 0x44, 0x6e, 0xe0, 0xa3, 0x06,
3776	0x94, 0x8e, 0xf9, 0x67, 0x43, 0xd9, 0x54, 0xb6, 0xea, 0x56, 0x32, 0xa4, 0x18, 0x82, 0x3d, 0x6c,
3777	0x47, 0xb8, 0xa1, 0x6e, 0x2a, 0x5b, 0x15, 0x2b, 0x19, 0xa2, 0x15, 0x50, 0x83, 0xa8, 0x51, 0x60,
3778	0x40, 0x35, 0x88, 0xd0, 0x05, 0x80, 0x20, 0xea, 0x24, 0x62, 0x34, 0x06, 0xaf, 0x04, 0x91, 0x98,
3779	0xa2, 0x79, 0x1e, 0xf4, 0xa7, 0x61, 0xec, 0xf6, 0x31, 0x42, 0xa0, 0x45, 0xb8, 0x1b, 0xb1, 0x99,
3780	0x34, 0x8b, 0x7d, 0x37, 0x7f, 0xaf, 0x81, 0xde, 0xc6, 0xe4, 0x18, 0x13, 0x2a, 0xd7, 0x75, 0x1a,
3781	0xca, 0xa6, 0xba, 0x55, 0xb7, 0x54, 0xd7, 0x61, 0x1a, 0x0c, 0x7c, 0xdf, 0xf5, 0x7b, 0x4c, 0x83,
3782	0xb2, 0x95, 0x0c, 0xd1, 0x65, 0xd0, 0x07, 0x4c, 0x24, 0xd3, 0xa2, 0x7a, 0xeb, 0x6c, 0x6b, 0xb4,
3783	0x6a, 0x3e, 0x97, 0x25, 0x08, 0xcc, 0xaf, 0x0b, 0x50, 0xbc, 0x7f, 0x8c, 0xfd, 0x98, 0x32, 0x45,
3784	0x6c, 0x22, 0x36, 0x7f, 0x96, 0x89, 0x6b, 0x60, 0x09, 0x02, 0x74, 0x03, 0xb4, 0x78, 0x18, 0xf2,
3785	0x85, 0xaf, 0xdc, 0x3a, 0x3f, 0x41, 0xd8, 0x62, 0x12, 0x5b, 0x4f, 0x86, 0x21, 0xb6, 0x18, 0x25,
3786	0x7a, 0x0d, 0xb4, 0x41, 0x84, 0x89, 0xd0, 0x67, 0x55, 0xd6, 0x27, 0xc2, 0xc4, 0x62, 0x48, 0x74,
3787	0x03, 0x4a, 0x7d, 0x1c, 0x45, 0x76, 0x0f, 0x33, 0x2b, 0x55, 0x6f, 0xad, 0x4b, 0x74, 0x4f, 0xf0,
3788	0x8b, 0x78, 0x9f, 0x63, 0xad, 0x84, 0x0c, 0x5d, 0x83, 0x52, 0xf7, 0xc8, 0xf6, 0x7d, 0xec, 0x35,
3789	0x8a, 0x8c, 0x03, 0x49, 0x1c, 0x3b, 0x1c, 0x63, 0x25, 0x24, 0xcd, 0xdf, 0x28, 0xa0, 0x51, 0x9d,
3790	0xd0, 0x59, 0xa8, 0xd3, 0x69, 0x77, 0x02, 0xdf, 0xc7, 0xdd, 0x18, 0x3b, 0xc6, 0x19, 0xb4, 0x06,
3791	0x06, 0x05, 0xdd, 0x73, 0xa3, 0x6e, 0x0a, 0x55, 0x12, 0x68, 0x3b, 0xb6, 0x63, 0x4c, 0xc5, 0xf5,
3792	0xb0, 0x63, 0xa8, 0xe8, 0x1c, 0xac, 0x52, 0xa8, 0xa4, 0x91, 0x51, 0x40, 0x08, 0x56, 0xc4, 0x84,
3793	0x3b, 0x04, 0xdb, 0x94, 0x5d, 0x93, 0x60, 0x16, 0xee, 0x07, 0xc7, 0xd8, 0x31, 0x8a, 0x68, 0x03,
3794	0xce, 0x09, 0x58, 0x46, 0xaa, 0x6e, 0x96, 0xa0, 0xf8, 0xf9, 0x00, 0x93, 0xa1, 0xf9, 0x16, 0x68,
3795	0x7b, 0x6e, 0x14, 0xa3, 0xab, 0x50, 0xe2, 0xf6, 0xa6, 0x11, 0x51, 0x98, 0xee, 0x91, 0x84, 0xa2,
3796	0xf9, 0x8d, 0x72, 0x0a, 0x3f, 0x5e, 0xce, 0xf8, 0xf1, 0x15, 0x89, 0x70, 0xdc, 0x81, 0xcd, 0x6b,
3797	0x23, 0xd3, 0x71, 0x21, 0xed, 0x38, 0x08, 0x43, 0x66, 0x3a, 0x09, 0x64, 0x13, 0x66, 0xb7, 0xe6,
3798	0x1f, 0x54, 0xa8, 0xef, 0x04, 0x7e, 0x8c, 0x5f, 0xc4, 0xdb, 0xdd, 0x98, 0xa6, 0x4b, 0x0e, 0xad,
3799	0x1a, 0x50, 0xea, 0x72, 0x5e, 0xa6, 0x58, 0xdd, 0x4a, 0x86, 0x68, 0x1d, 0x74, 0x9b, 0x89, 0x13,
3800	0xd9, 0x25, 0x46, 0x34, 0x71, 0x18, 0x39, 0xcf, 0x2d, 0xf6, 0x8d, 0x2e, 0x41, 0xd1, 0xee, 0xc6,
3801	0x01, 0x11, 0x81, 0x31, 0x11, 0x72, 0x1c, 0x9b, 0x06, 0xa6, 0x3e, 0x2f, 0x30, 0xa5, 0x30, 0x2b,
3802	0x2d, 0x0e, 0xb3, 0x6b, 0x50, 0x12, 0x6b, 0x47, 0x90, 0x24, 0xaf, 0xa1, 0xa0, 0x2a, 0x94, 0x04,
3803	0xa9, 0xa1, 0xa2, 0x32, 0x68, 0x54, 0xbe, 0xa1, 0x35, 0xff, 0x52, 0x80, 0xaa, 0x14, 0x49, 0x79,
3804	0x0c, 0x95, 0x2e, 0x51, 0x9d, 0xbb, 0xc4, 0x4b, 0x50, 0xa4, 0xab, 0xa0, 0x25, 0xa9, 0x30, 0x95,
3805	0x8c, 0x61, 0x51, 0x0b, 0xca, 0x62, 0x05, 0x51, 0x43, 0x63, 0x94, 0xd3, 0x56, 0x99, 0xd2, 0xa0,
3806	0x2d, 0x28, 0xc6, 0x04, 0xe3, 0xa8, 0x51, 0x9c, 0x49, 0xcc, 0x09, 0x52, 0xf7, 0xe8, 0x23, 0xf7,
3807	0x98, 0x7f, 0x53, 0x40, 0xdf, 0x75, 0xbd, 0x98, 0x45, 0xe1, 0xd2, 0x2b, 0xfe, 0x30, 0x0d, 0x00,
3808	0x1e, 0xb2, 0xaf, 0x4f, 0x2f, 0x10, 0x2d, 0x2e, 0xb9, 0xc5, 0x63, 0x2f, 0x0d, 0x13, 0xa9, 0xbe,
3809	0x14, 0x96, 0xaa, 0x2f, 0xcd, 0x2b, 0xa0, 0x8b, 0xf8, 0x05, 0xfa, 0xd5, 0xc5, 0x61, 0x6c, 0x9c,
3810	0xa1, 0xdf, 0x16, 0xfe, 0x19, 0xee, 0xc6, 0x86, 0x42, 0x1d, 0x79, 0x8f, 0x04, 0xa1, 0xa1, 0x36,
3811	0xff, 0xae, 0x42, 0x61, 0x2f, 0xe8, 0xe5, 0x59, 0xce, 0x79, 0xa8, 0xd0, 0x22, 0x1c, 0xc5, 0x76,
3812	0x3f, 0x64, 0x2b, 0x2a, 0x58, 0x23, 0x40, 0x6a, 0xb6, 0x82, 0x64, 0xb6, 0x67, 0xa2, 0x48, 0xe4,
3813	0x99, 0xc5, 0x80, 0x42, 0xdf, 0xf5, 0x45, 0x2e, 0xd1, 0x4f, 0x06, 0xb1, 0x5f, 0x30, 0xc1, 0x14,
3814	0x62, 0xbf, 0x30, 0x7f, 0xa5, 0x88, 0xa2, 0x93, 0x43, 0xee, 0x1a, 0x14, 0xe3, 0x20, 0xb6, 0x3d,
3815	0x21, 0x99, 0x0f, 0x92, 0xd9, 0x0a, 0x13, 0xb3, 0x69, 0xe9, 0x6c, 0x68, 0x0b, 0x4a, 0xd8, 0x8f,
3816	0x89, 0x9b, 0x06, 0xcf, 0x8a, 0x34, 0xcb, 0x5e, 0xd0, 0xb3, 0x12, 0x74, 0xf3, 0x17, 0x2a, 0xe8,
3817	0x3b, 0x81, 0x7f, 0xe8, 0xe6, 0xb2, 0xeb, 0x3b, 0xa0, 0x1f, 0xba, 0xd8, 0x73, 0xa2, 0x86, 0xca,
3818	0xc4, 0x5f, 0x90, 0x63, 0x93, 0x49, 0x6b, 0xed, 0x32, 0xfc, 0x7d, 0x3f, 0x26, 0x43, 0x4b, 0x10,
3819	0x9b, 0x1f, 0x40, 0x55, 0x02, 0x53, 0xbd, 0x9f, 0xe3, 0x21, 0x9b, 0xad, 0x62, 0xd1, 0x4f, 0xba,
3820	0xe2, 0x63, 0xdb, 0x1b, 0x24, 0x3b, 0x3e, 0x1f, 0xdc, 0x56, 0xdf, 0x57, 0xcc, 0x1f, 0x43, 0x91,
3821	0xb1, 0xe6, 0xf4, 0x0b, 0x95, 0xaf, 0x4e, 0x91, 0x5f, 0x90, 0xe4, 0x37, 0x7f, 0x57, 0x48, 0x2b,
3822	0x47, 0x1e, 0xf1, 0xbc, 0x5d, 0xe0, 0xbe, 0xa1, 0xed, 0x02, 0x02, 0xcd, 0xb7, 0xfb, 0x89, 0x6c,
3823	0xf6, 0x8d, 0xae, 0x80, 0x1e, 0xda, 0x04, 0xfb, 0xb1, 0xd8, 0x70, 0xa7, 0x25, 0xb1, 0xa0, 0xa0,
3824	0xf9, 0xee, 0xb9, 0xfe, 0xf3, 0xb9, 0xf9, 0xce, 0x08, 0xd0, 0x26, 0x54, 0x1d, 0x1c, 0x75, 0x89,
3825	0x1b, 0xb2, 0x54, 0xe5, 0x69, 0x2f, 0x83, 0x58, 0xe0, 0xe3, 0x7e, 0x18, 0x10, 0x9b, 0x0c, 0x59,
3826	0x49, 0x2d, 0x5b, 0x23, 0x00, 0x32, 0xa1, 0x1c, 0x06, 0x91, 0xcb, 0x98, 0xcb, 0x9b, 0xca, 0x56,
3827	0xd1, 0x4a, 0xc7, 0xe6, 0xad, 0xfc, 0x09, 0x60, 0xda, 0xf9, 0x63, 0x5b, 0x2e, 0x86, 0xea, 0xe2,
3828	0x62, 0xd8, 0xfc, 0xad, 0x28, 0xe8, 0x39, 0xf7, 0xb9, 0x08, 0x47, 0x51, 0x52, 0xcd, 0xea, 0x56,
3829	0x32, 0x14, 0xae, 0x2b, 0x4c, 0xb8, 0x4e, 0x93, 0x5c, 0x87, 0x40, 0xeb, 0x0f, 0x62, 0xcc, 0xb6,
3830	0xb7, 0xb2, 0xc5, 0xbe, 0x29, 0xcc, 0xc1, 0xf6, 0x21, 0xb3, 0x78, 0xd9, 0x62, 0xdf, 0xd4, 0x98,
3831	0xd1, 0x20, 0x0c, 0x09, 0x8e, 0x22, 0x61, 0xe9, 0x74, 0x8c, 0x2e, 0x83, 0x11, 0x12, 0x37, 0x20,
3832	0x6e, 0x3c, 0xec, 0x44, 0x21, 0xb6, 0x9f, 0x63, 0xc2, 0x0c, 0x5e, 0xb6, 0x56, 0x13, 0x78, 0x9b,
3833	0x83, 0xd1, 0x77, 0xa0, 0x12, 0x61, 0xef, 0xb0, 0xc3, 0xe6, 0xac, 0x08, 0x39, 0xd8, 0x3b, 0xdc,
3834	0xa7, 0xf3, 0x26, 0x48, 0x36, 0x39, 0x8c, 0x90, 0xf7, 0xa8, 0x02, 0xe7, 0xa1, 0x42, 0x70, 0x37,
3835	0x20, 0x0e, 0x6d, 0x54, 0xab, 0xdc, 0xd7, 0x29, 0x40, 0xde, 0x5a, 0x6b, 0x0b, 0xb7, 0x56, 0x74,
3836	0x11, 0xaa, 0x81, 0xef, 0xb9, 0x3e, 0xee, 0xb0, 0x46, 0xb9, 0xce, 0x2c, 0x04, 0x1c, 0xd4, 0xc6,
3837	0xdd, 0x88, 0x6a, 0xe2, 0x3a, 0x9e, 0x40, 0xaf, 0x30, 0x74, 0x99, 0x02, 0x18, 0xb2, 0x09, 0xf5,
3838	0x83, 0x61, 0x8c, 0xa3, 0x4e, 0x88, 0x09, 0xa5, 0x68, 0xac, 0x32, 0x82, 0x2a, 0x03, 0x3e, 0xc6,
3839	0xa4, 0x8d, 0xbb, 0x54, 0x9f, 0xa4, 0x53, 0x37, 0x26, 0xf4, 0x11, 0x2d, 0xfb, 0xe8, 0x10, 0x70,
3840	0x09, 0x56, 0x42, 0x6f, 0xd0, 0x73, 0xfd, 0x4e, 0xd2, 0xb1, 0x9c, 0xdd, 0x54, 0xb6, 0x6a, 0x56,
3841	0x9d, 0x43, 0x93, 0x36, 0xe0, 0x0d, 0x58, 0x15, 0x64, 0xae, 0x83, 0xfd, 0xd8, 0x8d, 0x87, 0x0d,
3842	0xc4, 0x5c, 0x29, 0xb8, 0x1f, 0x0a, 0x28, 0x6f, 0x7d, 0xfa, 0x7d, 0x9a, 0x90, 0xe7, 0xf8, 0xa1,
3843	0x42, 0x0c, 0x29, 0x86, 0x8a, 0x1a, 0x10, 0xdc, 0x58, 0x63, 0x53, 0x24, 0x43, 0x8a, 0xb1, 0x1d,
3844	0x87, 0xf9, 0xf7, 0x15, 0x8e, 0x11, 0x43, 0xf4, 0x2a, 0x94, 0xe3, 0x6e, 0xd8, 0x09, 0x7c, 0x6f,
3845	0xd8, 0x58, 0xe7, 0x27, 0x84, 0xb8, 0x1b, 0xfe, 0xd0, 0xf7, 0x86, 0xe8, 0x75, 0x58, 0x19, 0x38,
3846	0x61, 0x27, 0x74, 0xfd, 0x5e, 0xa7, 0xcf, 0x8c, 0xb5, 0xb1, 0xa9, 0x6c, 0xa9, 0x56, 0x6d, 0xe0,
3847	0x84, 0x8f, 0x5d, 0xbf, 0xb7, 0x4f, 0x61, 0x94, 0x8a, 0x0a, 0x90, 0xa8, 0x1a, 0x9c, 0x2a, 0xee,
3848	0x8e, 0xa8, 0x4e, 0x95, 0x92, 0x3f, 0xca, 0x9f, 0x92, 0x69, 0x1b, 0xa3, 0xce, 0x6b, 0x63, 0xd8,
3849	0x4e, 0xf6, 0xc8, 0xed, 0x3e, 0xcf, 0x23, 0x3a, 0x69, 0x02, 0xd5, 0x79, 0x4d, 0x60, 0xda, 0x6d,
3850	0x15, 0xe6, 0x76, 0x5b, 0xeb, 0xa0, 0x13, 0x6c, 0x47, 0xe9, 0x49, 0x4f, 0x8c, 0x9a, 0xff, 0xa2,
3851	0x87, 0x0f, 0x82, 0x73, 0x35, 0x78, 0x52, 0x72, 0xa8, 0x8b, 0x93, 0xe3, 0x2a, 0xad, 0x59, 0xae,
3852	0xe7, 0x10, 0xec, 0x4f, 0x69, 0xf5, 0xe8, 0xdc, 0x56, 0x4a, 0x30, 0xb2, 0xa6, 0x36, 0xd7, 0x9a,
3853	0xa7, 0xf0, 0x6d, 0xf3, 0x9f, 0x2a, 0x14, 0xee, 0xda, 0x79, 0x5b, 0xfe, 0x24, 0x86, 0xd5, 0x6c,
3854	0x0c, 0x23, 0xd0, 0x0e, 0xdc, 0x38, 0x12, 0xc5, 0x90, 0x7d, 0xcf, 0x2a, 0x87, 0x47, 0x76, 0x74,
3855	0xc4, 0xca, 0x61, 0xc5, 0x62, 0xdf, 0x92, 0x2b, 0x74, 0xd9, 0x15, 0x74, 0x9b, 0x8d, 0xe8, 0x51,
3856	0x85, 0xd5, 0xc3, 0x82, 0xc5, 0x07, 0xe8, 0x35, 0xa8, 0x3b, 0x03, 0x62, 0xd3, 0x5d, 0x86, 0x97,
3857	0x8f, 0x32, 0xc3, 0xd6, 0x12, 0x60, 0xfb, 0xb4, 0xb1, 0xfe, 0x34, 0x7f, 0xac, 0x37, 0x41, 0x3b,
3858	0xb0, 0xfd, 0x24, 0xd4, 0xe5, 0xee, 0xe8, 0xae, 0xed, 0x5b, 0x0c, 0xd7, 0xfc, 0x77, 0x05, 0x0a,
3859	0xdb, 0x3b, 0x7b, 0xe8, 0x02, 0x80, 0x1d, 0x86, 0xde, 0xb0, 0x73, 0x84, 0x09, 0xdf, 0xdd, 0xcb,
3860	0x56, 0x85, 0x41, 0x3e, 0xc1, 0x04, 0x8f, 0xd0, 0xd1, 0xe0, 0x20, 0x62, 0x26, 0x4b, 0xd0, 0xed,
3861	0xc1, 0x41, 0x44, 0xab, 0xb3, 0xeb, 0x1f, 0x61, 0xe2, 0xc6, 0xd8, 0x11, 0x7b, 0xc9, 0x08, 0x80,
3862	0xae, 0x66, 0x4e, 0x47, 0x1b, 0x92, 0x1e, 0xf7, 0xec, 0xd8, 0x3e, 0xb0, 0x23, 0x2c, 0x25, 0xc8,
3863	0x15, 0x28, 0xf6, 0x48, 0x30, 0x08, 0xc5, 0x19, 0x69, 0x4d, 0xa2, 0xde, 0xde, 0xd9, 0x6b, 0x3d,
3864	0xa0, 0x38, 0x8b, 0x93, 0x50, 0x17, 0xd8, 0x9e, 0x17, 0x7c, 0xc5, 0x8c, 0x5c, 0xb7, 0xf8, 0x80,
3865	0xef, 0x5f, 0xfe, 0x90, 0xed, 0x2f, 0x75, 0x8b, 0x7d, 0x9b, 0xbf, 0x56, 0xa1, 0xc8, 0x58, 0x53,
3866	0xb7, 0x2b, 0x92, 0xdb, 0x33, 0xea, 0xab, 0xe3, 0xea, 0x37, 0xa0, 0x24, 0x06, 0xc2, 0x2e, 0xc9,
3867	0x90, 0xb6, 0x28, 0xe2, 0xd3, 0x3e, 0xf0, 0xb0, 0x30, 0x8b, 0x0c, 0x42, 0x6f, 0x43, 0x85, 0xa5,
3868	0x40, 0xc7, 0x76, 0x1c, 0xd1, 0xf2, 0xcc, 0x5c, 0x7f, 0x99, 0x51, 0x6e, 0x3b, 0x0e, 0xba, 0x0d,
3869	0x35, 0xce, 0x45, 0xd8, 0x81, 0xbf, 0xa1, 0xcf, 0x67, 0xac, 0x32, 0x62, 0x7e, 0x39, 0x80, 0xae,
3870	0x27, 0x29, 0x59, 0x9a, 0xcf, 0x24, 0x52, 0xf3, 0x97, 0xca, 0x29, 0xce, 0x02, 0x4b, 0x55, 0x3a,
3871	0xa9, 0xec, 0x14, 0x16, 0x96, 0x1d, 0xf3, 0xaf, 0xa7, 0x38, 0x3a, 0xe4, 0x2b, 0x6c, 0x4d, 0xd0,
3872	0xec, 0xae, 0x97, 0x9c, 0x5f, 0x57, 0xb2, 0x71, 0x65, 0x31, 0x1c, 0xba, 0x06, 0x3a, 0x8b, 0xac,
3873	0xa4, 0xa0, 0x4d, 0x8f, 0x3e, 0x41, 0x23, 0x07, 0x46, 0x31, 0x13, 0x18, 0xe6, 0xb7, 0x0a, 0xac,
3874	0x3c, 0x49, 0x3a, 0x51, 0x1e, 0x77, 0xff, 0xb7, 0x75, 0x2d, 0x75, 0x29, 0x36, 0xa5, 0xd8, 0x35,
3875	0xff, 0xa3, 0x00, 0x3c, 0xc6, 0xa4, 0xef, 0xf2, 0x76, 0xb1, 0x0c, 0xda, 0x67, 0x81, 0x8f, 0x8d,
3876	0x33, 0xa8, 0x02, 0xc5, 0x2f, 0x68, 0xe8, 0x1b, 0x0a, 0xaa, 0x41, 0xf9, 0x09, 0xb1, 0x69, 0xa3,
3877	0x82, 0x0d, 0x95, 0x22, 0xee, 0xfb, 0x31, 0x26, 0x86, 0x46, 0x3f, 0x59, 0x53, 0x67, 0x94, 0x51,
3878	0x0d, 0x4a, 0x5f, 0x1c, 0xb9, 0x51, 0x88, 0x89, 0x71, 0xa2, 0xa2, 0x15, 0x00, 0xda, 0xcd, 0xd1,
3879	0xa6, 0x0d, 0xfb, 0x86, 0x41, 0xc5, 0xee, 0x07, 0xc7, 0xd8, 0xd8, 0x44, 0xab, 0x50, 0xdd, 0xb7,
3880	0x9f, 0xe3, 0xe4, 0xfa, 0xe2, 0x0e, 0x7a, 0x15, 0xd6, 0x28, 0x20, 0x35, 0x54, 0x82, 0x39, 0x29,
3881	0x23, 0x03, 0xaa, 0x7b, 0xae, 0xff, 0x3c, 0x85, 0x28, 0x14, 0x22, 0x5f, 0x95, 0x9d, 0x68, 0x08,
3882	0xf8, 0x16, 0x6d, 0x9c, 0x9c, 0x50, 0x75, 0xe8, 0x66, 0x61, 0x9c, 0x9c, 0x94, 0xd1, 0x0a, 0x94,
3883	0x2d, 0xdc, 0x73, 0x23, 0xaa, 0xe7, 0xc9, 0x89, 0x81, 0x10, 0xd4, 0x92, 0x71, 0x1b, 0x7b, 0x87,
3884	0xc6, 0xc9, 0xc9, 0x66, 0xf3, 0x5b, 0x03, 0xea, 0xdb, 0x83, 0xf8, 0x88, 0x36, 0x4c, 0x5d, 0x3b,
3885	0x0e, 0x88, 0xf9, 0x0f, 0x1d, 0x4a, 0x16, 0xfe, 0x72, 0x80, 0xa3, 0x18, 0x7d, 0x0e, 0x35, 0x7b,
3886	0x84, 0xc4, 0xc2, 0x61, 0xd7, 0xe5, 0x58, 0x90, 0x79, 0x5b, 0x82, 0x4f, 0x86, 0x62, 0x2b, 0x23,
3887	0x02, 0x7d, 0x00, 0xda, 0xa1, 0xeb, 0x3b, 0xc2, 0x9f, 0x97, 0x16, 0x8a, 0xda, 0x75, 0x7d, 0xc7,
3888	0x62, 0x2c, 0xe8, 0x43, 0x28, 0x7e, 0x49, 0x13, 0x54, 0x38, 0xf8, 0xfb, 0x0b, 0x79, 0x59, 0x3a,
3889	0x5b, 0x9c, 0x09, 0xdd, 0x87, 0x32, 0x11, 0xab, 0x17, 0xa7, 0xb3, 0xcb, 0x0b, 0x05, 0x24, 0xe6,
3890	0xb2, 0x52, 0x56, 0xf4, 0x08, 0xc0, 0xc1, 0xa9, 0x20, 0x7e, 0x19, 0x76, 0x75, 0xa1, 0xa0, 0x7b,
3891	0x29, 0x8b, 0x25, 0xb1, 0xa3, 0x1f, 0x80, 0x3e, 0x08, 0x1d, 0x6a, 0x59, 0xbe, 0x23, 0xbc, 0xb1,
3892	0x50, 0xd0, 0x53, 0x46, 0x6e, 0x09, 0x36, 0xf3, 0x4f, 0x0a, 0xd4, 0x64, 0x63, 0x4f, 0x2d, 0xea,
3893	0xf4, 0xfc, 0x67, 0x47, 0xd1, 0x57, 0x01, 0x71, 0xc4, 0xe9, 0x38, 0x1d, 0xa3, 0x26, 0xd4, 0xba,
3894	0x98, 0xc4, 0xee, 0x21, 0x63, 0xe7, 0x35, 0xa1, 0x66, 0x65, 0x60, 0xf4, 0x58, 0x23, 0x8d, 0x3b,
3895	0xac, 0x2f, 0xe0, 0xe9, 0xb3, 0x2a, 0xc1, 0x3f, 0xa1, 0x2d, 0xc2, 0x75, 0x40, 0x51, 0x4c, 0x02,
3896	0xbf, 0xd7, 0x91, 0x30, 0xa2, 0x26, 0x9c, 0xe5, 0x98, 0x9d, 0x11, 0xc2, 0xbc, 0x02, 0x1a, 0xf5,
3897	0x6f, 0x7a, 0x15, 0x3f, 0x7e, 0x40, 0x53, 0x47, 0xab, 0x30, 0x2f, 0x26, 0xe5, 0x79, 0x1d, 0xf4,
3898	0x43, 0x76, 0x1f, 0x25, 0x16, 0x29, 0x46, 0xe6, 0x7b, 0xa3, 0x70, 0x4f, 0x37, 0x5a, 0x65, 0x89,
3899	0x8d, 0xd6, 0xfc, 0x00, 0x60, 0xe4, 0x9f, 0x7c, 0xac, 0xef, 0x80, 0xce, 0x3d, 0x92, 0x8f, 0xed,
3900	0x8f, 0x15, 0xaa, 0x6b, 0x14, 0x06, 0x7e, 0x84, 0xd1, 0x1e, 0x80, 0xeb, 0xbb, 0xb1, 0x6b, 0x7b,
3901	0xee, 0xcf, 0x93, 0x14, 0xbb, 0x36, 0x27, 0x10, 0x38, 0x5b, 0xeb, 0x61, 0xca, 0x63, 0x49, 0xfc,
3902	0xc8, 0x1a, 0x4b, 0x59, 0x9e, 0x67, 0xad, 0xc5, 0xf2, 0xe6, 0xe4, 0xec, 0x6d, 0x91, 0xb3, 0x8b,
3903	0xf3, 0x4e, 0xc8, 0x92, 0x92, 0xf6, 0xa3, 0x24, 0x69, 0xb5, 0x85, 0x11, 0x2e, 0x98, 0x33, 0x59,
3904	0xbb, 0x2b, 0x65, 0x2d, 0x4f, 0xb6, 0x2b, 0x8b, 0x25, 0x4c, 0x49, 0xdb, 0xbd, 0x4c, 0xda, 0xea,
3905	0xcb, 0x1a, 0x79, 0x46, 0xde, 0xde, 0x49, 0xf3, 0x96, 0xf7, 0x66, 0x5b, 0x8b, 0x25, 0x8d, 0x25,
3906	0xee, 0x7b, 0x00, 0x23, 0x07, 0xe6, 0xe9, 0x7e, 0xbf, 0x1d, 0xcf, 0xf8, 0x3b, 0xa0, 0x47, 0xb1,
3907	0x1d, 0x0f, 0xf8, 0x3b, 0xd7, 0xca, 0x32, 0xba, 0xb4, 0x19, 0xbd, 0x25, 0xf8, 0x96, 0xba, 0xd9,
3908	0xca, 0xd5, 0x0f, 0x98, 0x6f, 0x89, 0xbc, 0xce, 0x95, 0x14, 0xef, 0x26, 0x09, 0x9e, 0x36, 0x6e,
3909	0xca, 0x52, 0x8d, 0xdb, 0x50, 0xca, 0xfb, 0x97, 0x37, 0xc6, 0xd5, 0x4c, 0x47, 0xb7, 0x40, 0xe5,
3910	0xcf, 0x32, 0x95, 0xe3, 0xa5, 0x27, 0x37, 0x3f, 0x4d, 0xcb, 0xc9, 0x4b, 0xcb, 0x6a, 0x3e, 0x04,
3911	0x9d, 0x43, 0x68, 0xbb, 0xb1, 0x6b, 0x7b, 0x5e, 0x7c, 0x44, 0x82, 0x41, 0xef, 0xc8, 0x38, 0x83,
3912	0xaa, 0x50, 0x6a, 0x0f, 0xba, 0x5d, 0x1c, 0x45, 0xfc, 0x1d, 0x65, 0xd7, 0x76, 0xbd, 0x01, 0xa1,
3913	0x7d, 0xcd, 0x1a, 0x18, 0x69, 0x13, 0x92, 0x40, 0x0b, 0xcd, 0x6f, 0x34, 0xa8, 0xc9, 0xab, 0xff,
3914	0x5f, 0x5f, 0x9b, 0xae, 0x41, 0x11, 0xf7, 0x6d, 0xd7, 0x13, 0xbb, 0x0a, 0x1f, 0xc8, 0x97, 0x37,
3915	0xc5, 0xec, 0xe5, 0x4d, 0x72, 0x38, 0xd5, 0xa5, 0xc3, 0xa9, 0xbc, 0xc9, 0x95, 0xc6, 0x36, 0xb9,
3916	0x8b, 0x50, 0xf5, 0xec, 0x28, 0xee, 0xd8, 0xdd, 0xd8, 0x3d, 0xc6, 0xec, 0x8c, 0x54, 0xb1, 0x80,
3917	0x82, 0xb6, 0x19, 0x44, 0xbe, 0x0d, 0xaa, 0x64, 0x6e, 0x83, 0xcc, 0x4f, 0x4f, 0x71, 0x28, 0x18,
3918	0x6d, 0x50, 0x6a, 0x66, 0x83, 0xfa, 0x69, 0xfe, 0xc6, 0xfe, 0x7a, 0xf6, 0x92, 0x66, 0x51, 0x2a,
3919	0x74, 0x41, 0x7f, 0x86, 0x89, 0x7b, 0x98, 0x4b, 0xdd, 0x29, 0x9b, 0x6d, 0xc6, 0x9a, 0x85, 0xac,
3920	0x35, 0x9b, 0x7f, 0x56, 0x60, 0xcd, 0xc2, 0x8e, 0x4b, 0x70, 0x37, 0x16, 0xed, 0x6e, 0xee, 0xc6,
3921	0x7e, 0xc9, 0x73, 0x93, 0x1e, 0x05, 0x03, 0xd2, 0x4d, 0x9e, 0x97, 0x66, 0xd4, 0x1c, 0x4e, 0x43,
3922	0xa9, 0x63, 0x9b, 0xf4, 0x70, 0x72, 0xf7, 0x3e, 0x83, 0x9a, 0xd3, 0xdc, 0xfa, 0x7a, 0x1d, 0xd4,
3923	0x67, 0x37, 0xd1, 0x9b, 0x50, 0x79, 0x80, 0x63, 0xf1, 0x7f, 0x01, 0x59, 0x8d, 0x67, 0x81, 0xeb,
3924	0x98, 0x93, 0xef, 0xfc, 0xe8, 0x26, 0xc0, 0x03, 0x1c, 0x27, 0x7f, 0x67, 0x98, 0xe0, 0x98, 0x72,
3925	0xbb, 0x89, 0xae, 0x83, 0xce, 0x9e, 0x7f, 0xa3, 0x49, 0x72, 0x63, 0xfc, 0x89, 0xf8, 0x86, 0x82,
3926	0x6e, 0x41, 0x8d, 0x1b, 0x8b, 0xbf, 0x7b, 0xcf, 0xd7, 0x4a, 0xfc, 0x95, 0xe1, 0x63, 0xa8, 0xf2,
3927	0x2f, 0x1e, 0xab, 0x1b, 0x93, 0xff, 0x20, 0xe0, 0x4f, 0xe1, 0xeb, 0x93, 0x08, 0x16, 0x91, 0x37,
3928	0xa1, 0xc2, 0x87, 0x0f, 0x70, 0x8c, 0x26, 0xe5, 0x4f, 0x9b, 0xf2, 0x66, 0x32, 0x25, 0x7b, 0xa5,
3929	0x9e, 0xc6, 0x34, 0xae, 0x38, 0xba, 0x01, 0x30, 0x7a, 0xeb, 0x5e, 0x8a, 0x23, 0xb5, 0x85, 0x38,
3930	0xd2, 0x2f, 0xc3, 0xf3, 0x61, 0xc2, 0x23, 0x8c, 0x3e, 0x85, 0x67, 0x63, 0xc6, 0x3f, 0x2c, 0x6e,
3931	0x28, 0xe8, 0x23, 0x30, 0x32, 0x0f, 0xed, 0xdb, 0x8e, 0x83, 0x1a, 0xd9, 0xe7, 0xae, 0x11, 0x72,
3932	0x72, 0xf2, 0x3b, 0x70, 0x2e, 0x43, 0x21, 0xf4, 0xce, 0x21, 0xe1, 0xd1, 0x98, 0x04, 0xb1, 0x8a,
3933	0xd9, 0x12, 0x66, 0x62, 0x6e, 0x28, 0xe8, 0x36, 0xac, 0x4a, 0x47, 0xc5, 0x36, 0xf6, 0x1d, 0x34,
3934	0xe3, 0x8d, 0x76, 0x52, 0x91, 0xa7, 0x70, 0x56, 0xc2, 0x8b, 0xb7, 0xe5, 0x0b, 0x73, 0x1f, 0x88,
3935	0xcd, 0xf9, 0xe8, 0x2d, 0xe5, 0x86, 0x82, 0xde, 0x81, 0xf2, 0x5e, 0xd0, 0xe3, 0x71, 0xba, 0x96,
3936	0x7d, 0xa6, 0x14, 0x41, 0x7a, 0x6e, 0x0c, 0x9a, 0x44, 0x28, 0x7f, 0x69, 0x5c, 0x22, 0x42, 0xc5,
3937	0x03, 0xe7, 0x5d, 0x58, 0x49, 0x59, 0xf8, 0x63, 0xe2, 0xc6, 0x8c, 0x77, 0x4b, 0x73, 0x16, 0x02,
3938	0xdd, 0x4e, 0x64, 0xb4, 0x17, 0xca, 0x98, 0x30, 0xe0, 0xbb, 0x2c, 0x94, 0xf8, 0xfc, 0xf7, 0xf0,
3939	0xa1, 0x3d, 0xf0, 0xe2, 0xf9, 0xc9, 0x2c, 0xf4, 0xde, 0x86, 0x9a, 0x38, 0xed, 0x73, 0x2b, 0x35,
3940	0x26, 0xef, 0x3c, 0x84, 0xa5, 0x36, 0xa6, 0x60, 0x98, 0xb5, 0xde, 0x06, 0x10, 0x63, 0x6a, 0xae,
3941	0x29, 0x97, 0x26, 0xe6, 0x14, 0x98, 0xc4, 0x45, 0xa3, 0x7e, 0x79, 0xae, 0x7a, 0xe6, 0x4f, 0x39,
3942	0x53, 0x19, 0x27, 0x8c, 0xf3, 0x5e, 0xca, 0x25, 0x1a, 0x9e, 0x65, 0xa7, 0x7b, 0x1f, 0x2a, 0x74,
3943	0x8b, 0xe0, 0xa6, 0x79, 0x65, 0x6c, 0xe3, 0x10, 0x76, 0x59, 0x1b, 0x07, 0x27, 0xff, 0xff, 0xa1,
3944	0x03, 0x6a, 0x91, 0xf1, 0x0d, 0xc7, 0x1c, 0x07, 0xa0, 0x16, 0x00, 0xfd, 0x15, 0xca, 0x2d, 0xa6,
3945	0xbf, 0x09, 0x65, 0xfa, 0xcb, 0x5e, 0x4a, 0x26, 0xa6, 0xa7, 0xd0, 0x49, 0x13, 0xbc, 0x05, 0x95,
3946	0x27, 0x04, 0xe3, 0xc9, 0x95, 0x50, 0xa8, 0x58, 0xc9, 0xf8, 0x8b, 0x03, 0x7a, 0x1b, 0x4a, 0x77,
3947	0x6d, 0x3f, 0xa2, 0x8b, 0x58, 0xcb, 0x5e, 0x63, 0x4f, 0xc9, 0x1e, 0x0a, 0x65, 0x4b, 0x7f, 0x93,
3948	0x73, 0xb5, 0x71, 0x8c, 0xa6, 0xe1, 0x27, 0x75, 0xbb, 0x09, 0xfa, 0xf6, 0xce, 0xde, 0xac, 0xe0,
3949	0x39, 0x37, 0xb6, 0xb5, 0xb2, 0x39, 0x5a, 0x8c, 0x65, 0x7c, 0x8a, 0x04, 0x3d, 0x39, 0xc5, 0x5d,
3950	0x30, 0xf9, 0x14, 0xf7, 0x0f, 0x0f, 0x31, 0x6b, 0xc3, 0x46, 0x57, 0x70, 0x11, 0x1a, 0xdf, 0xbd,
3951	0xf9, 0xe2, 0xc6, 0xee, 0x2a, 0xd1, 0x2e, 0xac, 0x6d, 0xef, 0xec, 0x6d, 0x3b, 0xce, 0xd8, 0x15,
3952	0xe3, 0x85, 0x31, 0xee, 0x2c, 0x7a, 0x52, 0x97, 0x87, 0xb0, 0xb1, 0xbd, 0xb3, 0xc7, 0xe3, 0xf7,
3953	0x25, 0x45, 0xfd, 0x04, 0xce, 0x65, 0xfa, 0xf3, 0x76, 0x4c, 0xb0, 0xdd, 0x47, 0xdf, 0x5b, 0xd8,
3954	0xbf, 0x9b, 0x9b, 0x8b, 0x2e, 0x7f, 0x58, 0xfd, 0x7c, 0x0c, 0x67, 0xe5, 0xce, 0x8f, 0x47, 0xcf,
3955	0x85, 0x19, 0x7d, 0xa1, 0x30, 0xdb, 0xf9, 0x59, 0x68, 0xe6, 0xb8, 0x1d, 0x58, 0x95, 0x81, 0xd4,
3956	0xe9, 0xb3, 0xfa, 0x4c, 0x73, 0x16, 0x02, 0x7d, 0x0c, 0x48, 0x1e, 0x8b, 0xbc, 0x99, 0x29, 0x67,
3957	0xc2, 0x6c, 0x9f, 0xc0, 0x5a, 0xa6, 0xa1, 0x4d, 0xce, 0x54, 0xf9, 0x35, 0xb9, 0x0b, 0xeb, 0xf2,
3958	0x58, 0x3a, 0x9f, 0x2d, 0xaf, 0xcd, 0x7e, 0x76, 0x35, 0xa2, 0xa7, 0xfe, 0xee, 0x2c, 0x33, 0x72,
3959	0xfc, 0x6c, 0x95, 0x1e, 0xc1, 0xc6, 0xb4, 0x86, 0x99, 0x56, 0xd9, 0x8b, 0x12, 0xcf, 0x34, 0x9a,
3960	0x49, 0xdd, 0x3e, 0x03, 0x73, 0x1a, 0xa1, 0x28, 0xbe, 0xb9, 0xe5, 0xfd, 0x37, 0x00, 0x00, 0xff,
3961	0xff, 0xfa, 0x66, 0x13, 0x75, 0xc2, 0x2b, 0x00, 0x00,
3962}
3963
3964// Reference imports to suppress errors if they are not otherwise used.
3965var _ context.Context
3966var _ grpc.ClientConn
3967
3968// This is a compile-time assertion to ensure that this generated file
3969// is compatible with the grpc package it is being compiled against.
3970const _ = grpc.SupportPackageIsVersion4
3971
3972// V1Client is the client API for V1 service.
3973//
3974// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
3975type V1Client interface {
3976	// GetUptime returns murmur's uptime.
3977	GetUptime(ctx context.Context, in *Void, opts ...grpc.CallOption) (*Uptime, error)
3978	// GetVersion returns murmur's version.
3979	GetVersion(ctx context.Context, in *Void, opts ...grpc.CallOption) (*Version, error)
3980	// Events returns a stream of murmur events.
3981	Events(ctx context.Context, in *Void, opts ...grpc.CallOption) (V1_EventsClient, error)
3982	// ServerCreate creates a new virtual server. The returned server object
3983	// contains the newly created server's ID.
3984	ServerCreate(ctx context.Context, in *Void, opts ...grpc.CallOption) (*Server, error)
3985	// ServerQuery returns a list of servers that match the given query.
3986	ServerQuery(ctx context.Context, in *Server_Query, opts ...grpc.CallOption) (*Server_List, error)
3987	// ServerGet returns information about the given server.
3988	ServerGet(ctx context.Context, in *Server, opts ...grpc.CallOption) (*Server, error)
3989	// ServerStart starts the given stopped server.
3990	ServerStart(ctx context.Context, in *Server, opts ...grpc.CallOption) (*Void, error)
3991	// ServerStop stops the given virtual server.
3992	ServerStop(ctx context.Context, in *Server, opts ...grpc.CallOption) (*Void, error)
3993	// ServerRemove removes the given virtual server and its configuration.
3994	ServerRemove(ctx context.Context, in *Server, opts ...grpc.CallOption) (*Void, error)
3995	// ServerEvents returns a stream of events that happen on the given server.
3996	ServerEvents(ctx context.Context, in *Server, opts ...grpc.CallOption) (V1_ServerEventsClient, error)
3997	// ContextActionAdd adds a context action to the given user's client. The
3998	// following ContextAction fields must be set:
3999	//   context, action, text, and user.
4000	//
4001	// Added context actions are valid until:
4002	//  - The context action is removed with ContextActionRemove, or
4003	//  - The user disconnects from the server, or
4004	//  - The server stops.
4005	ContextActionAdd(ctx context.Context, in *ContextAction, opts ...grpc.CallOption) (*Void, error)
4006	// ContextActionRemove removes a context action from the given user's client.
4007	// The following ContextAction must be set:
4008	//   action
4009	// If no user is given, the context action is removed from all users.
4010	ContextActionRemove(ctx context.Context, in *ContextAction, opts ...grpc.CallOption) (*Void, error)
4011	// ContextActionEvents returns a stream of context action events that are
4012	// triggered by users.
4013	ContextActionEvents(ctx context.Context, in *ContextAction, opts ...grpc.CallOption) (V1_ContextActionEventsClient, error)
4014	// TextMessageSend sends the given TextMessage to the server.
4015	//
4016	// If no users, channels, or trees are added to the TextMessage, the message
4017	// will be broadcast the entire server. Otherwise, the message will be
4018	// targeted to the specified users, channels, and trees.
4019	TextMessageSend(ctx context.Context, in *TextMessage, opts ...grpc.CallOption) (*Void, error)
4020	// TextMessageFilter filters text messages for a given server.
4021	//
4022	// When a filter stream is active, text messages sent from users to the
4023	// server are sent over the stream. The RPC client then sends a message back
4024	// on the same stream, containing an action: whether the message should be
4025	// accepted, rejected, or dropped.
4026	//
4027	// To activate the filter stream, an initial TextMessage.Filter message must
4028	// be sent that contains the server on which the filter will be active.
4029	TextMessageFilter(ctx context.Context, opts ...grpc.CallOption) (V1_TextMessageFilterClient, error)
4030	// LogQuery returns a list of log entries from the given server.
4031	//
4032	// To get the total number of log entries, omit min and/or max from the
4033	// query.
4034	LogQuery(ctx context.Context, in *Log_Query, opts ...grpc.CallOption) (*Log_List, error)
4035	// ConfigGet returns the explicitly set configuration for the given server.
4036	ConfigGet(ctx context.Context, in *Server, opts ...grpc.CallOption) (*Config, error)
4037	// ConfigGetField returns the configuration value for the given key.
4038	ConfigGetField(ctx context.Context, in *Config_Field, opts ...grpc.CallOption) (*Config_Field, error)
4039	// ConfigSetField sets the configuration value to the given value.
4040	ConfigSetField(ctx context.Context, in *Config_Field, opts ...grpc.CallOption) (*Void, error)
4041	// ConfigGetDefault returns the default server configuration.
4042	ConfigGetDefault(ctx context.Context, in *Void, opts ...grpc.CallOption) (*Config, error)
4043	// ChannelQuery returns a list of channels that match the given query.
4044	ChannelQuery(ctx context.Context, in *Channel_Query, opts ...grpc.CallOption) (*Channel_List, error)
4045	// ChannelGet returns the channel with the given ID.
4046	ChannelGet(ctx context.Context, in *Channel, opts ...grpc.CallOption) (*Channel, error)
4047	// ChannelAdd adds the channel to the given server. The parent and name of
4048	// the channel must be set.
4049	ChannelAdd(ctx context.Context, in *Channel, opts ...grpc.CallOption) (*Channel, error)
4050	// ChannelRemove removes the given channel from the server.
4051	ChannelRemove(ctx context.Context, in *Channel, opts ...grpc.CallOption) (*Void, error)
4052	// ChannelUpdate updates the given channel's attributes. Only the fields that
4053	// are set will be updated.
4054	ChannelUpdate(ctx context.Context, in *Channel, opts ...grpc.CallOption) (*Channel, error)
4055	// UserQuery returns a list of connected users who match the given query.
4056	UserQuery(ctx context.Context, in *User_Query, opts ...grpc.CallOption) (*User_List, error)
4057	// UserGet returns information on the connected user, given by the user's
4058	// session or name.
4059	UserGet(ctx context.Context, in *User, opts ...grpc.CallOption) (*User, error)
4060	// UserUpdate changes the given user's state. Only the following fields can
4061	// be changed:
4062	//   name, mute, deaf, suppress, priority_speaker, channel, comment.
4063	UserUpdate(ctx context.Context, in *User, opts ...grpc.CallOption) (*User, error)
4064	// UserKick kicks the user from the server.
4065	UserKick(ctx context.Context, in *User_Kick, opts ...grpc.CallOption) (*Void, error)
4066	// TreeQuery returns a representation of the given server's channel/user
4067	// tree.
4068	TreeQuery(ctx context.Context, in *Tree_Query, opts ...grpc.CallOption) (*Tree, error)
4069	// BansGet returns a list of bans for the given server.
4070	BansGet(ctx context.Context, in *Ban_Query, opts ...grpc.CallOption) (*Ban_List, error)
4071	// BansSet replaces the server's ban list with the given list.
4072	BansSet(ctx context.Context, in *Ban_List, opts ...grpc.CallOption) (*Void, error)
4073	// ACLGet returns the ACL for the given channel.
4074	ACLGet(ctx context.Context, in *Channel, opts ...grpc.CallOption) (*ACL_List, error)
4075	// ACLSet overrides the ACL of the given channel to what is provided.
4076	ACLSet(ctx context.Context, in *ACL_List, opts ...grpc.CallOption) (*Void, error)
4077	// ACLGetEffectivePermissions returns the effective permissions for the given
4078	// user in the given channel.
4079	ACLGetEffectivePermissions(ctx context.Context, in *ACL_Query, opts ...grpc.CallOption) (*ACL, error)
4080	// ACLAddTemporaryGroup adds a user to a temporary group.
4081	ACLAddTemporaryGroup(ctx context.Context, in *ACL_TemporaryGroup, opts ...grpc.CallOption) (*Void, error)
4082	// ACLRemoveTemporaryGroup removes a user from a temporary group.
4083	ACLRemoveTemporaryGroup(ctx context.Context, in *ACL_TemporaryGroup, opts ...grpc.CallOption) (*Void, error)
4084	// AuthenticatorStream opens an authentication stream to the server.
4085	//
4086	// There can only be one RPC client with an open Stream. If a new
4087	// authenticator connects, the open connected will be closed.
4088	AuthenticatorStream(ctx context.Context, opts ...grpc.CallOption) (V1_AuthenticatorStreamClient, error)
4089	// DatabaseUserQuery returns a list of registered users who match given
4090	// query.
4091	DatabaseUserQuery(ctx context.Context, in *DatabaseUser_Query, opts ...grpc.CallOption) (*DatabaseUser_List, error)
4092	// DatabaseUserGet returns the database user with the given ID.
4093	DatabaseUserGet(ctx context.Context, in *DatabaseUser, opts ...grpc.CallOption) (*DatabaseUser, error)
4094	// DatabaseUserUpdate updates the given database user.
4095	DatabaseUserUpdate(ctx context.Context, in *DatabaseUser, opts ...grpc.CallOption) (*Void, error)
4096	// DatabaseUserRegister registers a user with the given information on the
4097	// server. The returned DatabaseUser will contain the newly registered user's
4098	// ID.
4099	DatabaseUserRegister(ctx context.Context, in *DatabaseUser, opts ...grpc.CallOption) (*DatabaseUser, error)
4100	// DatabaseUserDeregister deregisters the given user.
4101	DatabaseUserDeregister(ctx context.Context, in *DatabaseUser, opts ...grpc.CallOption) (*Void, error)
4102	// DatabaseUserVerify verifies the that the given user-password pair is
4103	// correct.
4104	DatabaseUserVerify(ctx context.Context, in *DatabaseUser_Verify, opts ...grpc.CallOption) (*DatabaseUser, error)
4105	// AddRedirectWhisperGroup add a whisper targets redirection for the given
4106	// user. Whenever a user whispers to group "source", the whisper will be
4107	// redirected to group "target".
4108	RedirectWhisperGroupAdd(ctx context.Context, in *RedirectWhisperGroup, opts ...grpc.CallOption) (*Void, error)
4109	// RemoveRedirectWhisperGroup removes a whisper target redirection for
4110	// the the given user.
4111	RedirectWhisperGroupRemove(ctx context.Context, in *RedirectWhisperGroup, opts ...grpc.CallOption) (*Void, error)
4112}
4113
4114type v1Client struct {
4115	cc *grpc.ClientConn
4116}
4117
4118func NewV1Client(cc *grpc.ClientConn) V1Client {
4119	return &v1Client{cc}
4120}
4121
4122func (c *v1Client) GetUptime(ctx context.Context, in *Void, opts ...grpc.CallOption) (*Uptime, error) {
4123	out := new(Uptime)
4124	err := c.cc.Invoke(ctx, "/MurmurRPC.V1/GetUptime", in, out, opts...)
4125	if err != nil {
4126		return nil, err
4127	}
4128	return out, nil
4129}
4130
4131func (c *v1Client) GetVersion(ctx context.Context, in *Void, opts ...grpc.CallOption) (*Version, error) {
4132	out := new(Version)
4133	err := c.cc.Invoke(ctx, "/MurmurRPC.V1/GetVersion", in, out, opts...)
4134	if err != nil {
4135		return nil, err
4136	}
4137	return out, nil
4138}
4139
4140func (c *v1Client) Events(ctx context.Context, in *Void, opts ...grpc.CallOption) (V1_EventsClient, error) {
4141	stream, err := c.cc.NewStream(ctx, &_V1_serviceDesc.Streams[0], "/MurmurRPC.V1/Events", opts...)
4142	if err != nil {
4143		return nil, err
4144	}
4145	x := &v1EventsClient{stream}
4146	if err := x.ClientStream.SendMsg(in); err != nil {
4147		return nil, err
4148	}
4149	if err := x.ClientStream.CloseSend(); err != nil {
4150		return nil, err
4151	}
4152	return x, nil
4153}
4154
4155type V1_EventsClient interface {
4156	Recv() (*Event, error)
4157	grpc.ClientStream
4158}
4159
4160type v1EventsClient struct {
4161	grpc.ClientStream
4162}
4163
4164func (x *v1EventsClient) Recv() (*Event, error) {
4165	m := new(Event)
4166	if err := x.ClientStream.RecvMsg(m); err != nil {
4167		return nil, err
4168	}
4169	return m, nil
4170}
4171
4172func (c *v1Client) ServerCreate(ctx context.Context, in *Void, opts ...grpc.CallOption) (*Server, error) {
4173	out := new(Server)
4174	err := c.cc.Invoke(ctx, "/MurmurRPC.V1/ServerCreate", in, out, opts...)
4175	if err != nil {
4176		return nil, err
4177	}
4178	return out, nil
4179}
4180
4181func (c *v1Client) ServerQuery(ctx context.Context, in *Server_Query, opts ...grpc.CallOption) (*Server_List, error) {
4182	out := new(Server_List)
4183	err := c.cc.Invoke(ctx, "/MurmurRPC.V1/ServerQuery", in, out, opts...)
4184	if err != nil {
4185		return nil, err
4186	}
4187	return out, nil
4188}
4189
4190func (c *v1Client) ServerGet(ctx context.Context, in *Server, opts ...grpc.CallOption) (*Server, error) {
4191	out := new(Server)
4192	err := c.cc.Invoke(ctx, "/MurmurRPC.V1/ServerGet", in, out, opts...)
4193	if err != nil {
4194		return nil, err
4195	}
4196	return out, nil
4197}
4198
4199func (c *v1Client) ServerStart(ctx context.Context, in *Server, opts ...grpc.CallOption) (*Void, error) {
4200	out := new(Void)
4201	err := c.cc.Invoke(ctx, "/MurmurRPC.V1/ServerStart", in, out, opts...)
4202	if err != nil {
4203		return nil, err
4204	}
4205	return out, nil
4206}
4207
4208func (c *v1Client) ServerStop(ctx context.Context, in *Server, opts ...grpc.CallOption) (*Void, error) {
4209	out := new(Void)
4210	err := c.cc.Invoke(ctx, "/MurmurRPC.V1/ServerStop", in, out, opts...)
4211	if err != nil {
4212		return nil, err
4213	}
4214	return out, nil
4215}
4216
4217func (c *v1Client) ServerRemove(ctx context.Context, in *Server, opts ...grpc.CallOption) (*Void, error) {
4218	out := new(Void)
4219	err := c.cc.Invoke(ctx, "/MurmurRPC.V1/ServerRemove", in, out, opts...)
4220	if err != nil {
4221		return nil, err
4222	}
4223	return out, nil
4224}
4225
4226func (c *v1Client) ServerEvents(ctx context.Context, in *Server, opts ...grpc.CallOption) (V1_ServerEventsClient, error) {
4227	stream, err := c.cc.NewStream(ctx, &_V1_serviceDesc.Streams[1], "/MurmurRPC.V1/ServerEvents", opts...)
4228	if err != nil {
4229		return nil, err
4230	}
4231	x := &v1ServerEventsClient{stream}
4232	if err := x.ClientStream.SendMsg(in); err != nil {
4233		return nil, err
4234	}
4235	if err := x.ClientStream.CloseSend(); err != nil {
4236		return nil, err
4237	}
4238	return x, nil
4239}
4240
4241type V1_ServerEventsClient interface {
4242	Recv() (*Server_Event, error)
4243	grpc.ClientStream
4244}
4245
4246type v1ServerEventsClient struct {
4247	grpc.ClientStream
4248}
4249
4250func (x *v1ServerEventsClient) Recv() (*Server_Event, error) {
4251	m := new(Server_Event)
4252	if err := x.ClientStream.RecvMsg(m); err != nil {
4253		return nil, err
4254	}
4255	return m, nil
4256}
4257
4258func (c *v1Client) ContextActionAdd(ctx context.Context, in *ContextAction, opts ...grpc.CallOption) (*Void, error) {
4259	out := new(Void)
4260	err := c.cc.Invoke(ctx, "/MurmurRPC.V1/ContextActionAdd", in, out, opts...)
4261	if err != nil {
4262		return nil, err
4263	}
4264	return out, nil
4265}
4266
4267func (c *v1Client) ContextActionRemove(ctx context.Context, in *ContextAction, opts ...grpc.CallOption) (*Void, error) {
4268	out := new(Void)
4269	err := c.cc.Invoke(ctx, "/MurmurRPC.V1/ContextActionRemove", in, out, opts...)
4270	if err != nil {
4271		return nil, err
4272	}
4273	return out, nil
4274}
4275
4276func (c *v1Client) ContextActionEvents(ctx context.Context, in *ContextAction, opts ...grpc.CallOption) (V1_ContextActionEventsClient, error) {
4277	stream, err := c.cc.NewStream(ctx, &_V1_serviceDesc.Streams[2], "/MurmurRPC.V1/ContextActionEvents", opts...)
4278	if err != nil {
4279		return nil, err
4280	}
4281	x := &v1ContextActionEventsClient{stream}
4282	if err := x.ClientStream.SendMsg(in); err != nil {
4283		return nil, err
4284	}
4285	if err := x.ClientStream.CloseSend(); err != nil {
4286		return nil, err
4287	}
4288	return x, nil
4289}
4290
4291type V1_ContextActionEventsClient interface {
4292	Recv() (*ContextAction, error)
4293	grpc.ClientStream
4294}
4295
4296type v1ContextActionEventsClient struct {
4297	grpc.ClientStream
4298}
4299
4300func (x *v1ContextActionEventsClient) Recv() (*ContextAction, error) {
4301	m := new(ContextAction)
4302	if err := x.ClientStream.RecvMsg(m); err != nil {
4303		return nil, err
4304	}
4305	return m, nil
4306}
4307
4308func (c *v1Client) TextMessageSend(ctx context.Context, in *TextMessage, opts ...grpc.CallOption) (*Void, error) {
4309	out := new(Void)
4310	err := c.cc.Invoke(ctx, "/MurmurRPC.V1/TextMessageSend", in, out, opts...)
4311	if err != nil {
4312		return nil, err
4313	}
4314	return out, nil
4315}
4316
4317func (c *v1Client) TextMessageFilter(ctx context.Context, opts ...grpc.CallOption) (V1_TextMessageFilterClient, error) {
4318	stream, err := c.cc.NewStream(ctx, &_V1_serviceDesc.Streams[3], "/MurmurRPC.V1/TextMessageFilter", opts...)
4319	if err != nil {
4320		return nil, err
4321	}
4322	x := &v1TextMessageFilterClient{stream}
4323	return x, nil
4324}
4325
4326type V1_TextMessageFilterClient interface {
4327	Send(*TextMessage_Filter) error
4328	Recv() (*TextMessage_Filter, error)
4329	grpc.ClientStream
4330}
4331
4332type v1TextMessageFilterClient struct {
4333	grpc.ClientStream
4334}
4335
4336func (x *v1TextMessageFilterClient) Send(m *TextMessage_Filter) error {
4337	return x.ClientStream.SendMsg(m)
4338}
4339
4340func (x *v1TextMessageFilterClient) Recv() (*TextMessage_Filter, error) {
4341	m := new(TextMessage_Filter)
4342	if err := x.ClientStream.RecvMsg(m); err != nil {
4343		return nil, err
4344	}
4345	return m, nil
4346}
4347
4348func (c *v1Client) LogQuery(ctx context.Context, in *Log_Query, opts ...grpc.CallOption) (*Log_List, error) {
4349	out := new(Log_List)
4350	err := c.cc.Invoke(ctx, "/MurmurRPC.V1/LogQuery", in, out, opts...)
4351	if err != nil {
4352		return nil, err
4353	}
4354	return out, nil
4355}
4356
4357func (c *v1Client) ConfigGet(ctx context.Context, in *Server, opts ...grpc.CallOption) (*Config, error) {
4358	out := new(Config)
4359	err := c.cc.Invoke(ctx, "/MurmurRPC.V1/ConfigGet", in, out, opts...)
4360	if err != nil {
4361		return nil, err
4362	}
4363	return out, nil
4364}
4365
4366func (c *v1Client) ConfigGetField(ctx context.Context, in *Config_Field, opts ...grpc.CallOption) (*Config_Field, error) {
4367	out := new(Config_Field)
4368	err := c.cc.Invoke(ctx, "/MurmurRPC.V1/ConfigGetField", in, out, opts...)
4369	if err != nil {
4370		return nil, err
4371	}
4372	return out, nil
4373}
4374
4375func (c *v1Client) ConfigSetField(ctx context.Context, in *Config_Field, opts ...grpc.CallOption) (*Void, error) {
4376	out := new(Void)
4377	err := c.cc.Invoke(ctx, "/MurmurRPC.V1/ConfigSetField", in, out, opts...)
4378	if err != nil {
4379		return nil, err
4380	}
4381	return out, nil
4382}
4383
4384func (c *v1Client) ConfigGetDefault(ctx context.Context, in *Void, opts ...grpc.CallOption) (*Config, error) {
4385	out := new(Config)
4386	err := c.cc.Invoke(ctx, "/MurmurRPC.V1/ConfigGetDefault", in, out, opts...)
4387	if err != nil {
4388		return nil, err
4389	}
4390	return out, nil
4391}
4392
4393func (c *v1Client) ChannelQuery(ctx context.Context, in *Channel_Query, opts ...grpc.CallOption) (*Channel_List, error) {
4394	out := new(Channel_List)
4395	err := c.cc.Invoke(ctx, "/MurmurRPC.V1/ChannelQuery", in, out, opts...)
4396	if err != nil {
4397		return nil, err
4398	}
4399	return out, nil
4400}
4401
4402func (c *v1Client) ChannelGet(ctx context.Context, in *Channel, opts ...grpc.CallOption) (*Channel, error) {
4403	out := new(Channel)
4404	err := c.cc.Invoke(ctx, "/MurmurRPC.V1/ChannelGet", in, out, opts...)
4405	if err != nil {
4406		return nil, err
4407	}
4408	return out, nil
4409}
4410
4411func (c *v1Client) ChannelAdd(ctx context.Context, in *Channel, opts ...grpc.CallOption) (*Channel, error) {
4412	out := new(Channel)
4413	err := c.cc.Invoke(ctx, "/MurmurRPC.V1/ChannelAdd", in, out, opts...)
4414	if err != nil {
4415		return nil, err
4416	}
4417	return out, nil
4418}
4419
4420func (c *v1Client) ChannelRemove(ctx context.Context, in *Channel, opts ...grpc.CallOption) (*Void, error) {
4421	out := new(Void)
4422	err := c.cc.Invoke(ctx, "/MurmurRPC.V1/ChannelRemove", in, out, opts...)
4423	if err != nil {
4424		return nil, err
4425	}
4426	return out, nil
4427}
4428
4429func (c *v1Client) ChannelUpdate(ctx context.Context, in *Channel, opts ...grpc.CallOption) (*Channel, error) {
4430	out := new(Channel)
4431	err := c.cc.Invoke(ctx, "/MurmurRPC.V1/ChannelUpdate", in, out, opts...)
4432	if err != nil {
4433		return nil, err
4434	}
4435	return out, nil
4436}
4437
4438func (c *v1Client) UserQuery(ctx context.Context, in *User_Query, opts ...grpc.CallOption) (*User_List, error) {
4439	out := new(User_List)
4440	err := c.cc.Invoke(ctx, "/MurmurRPC.V1/UserQuery", in, out, opts...)
4441	if err != nil {
4442		return nil, err
4443	}
4444	return out, nil
4445}
4446
4447func (c *v1Client) UserGet(ctx context.Context, in *User, opts ...grpc.CallOption) (*User, error) {
4448	out := new(User)
4449	err := c.cc.Invoke(ctx, "/MurmurRPC.V1/UserGet", in, out, opts...)
4450	if err != nil {
4451		return nil, err
4452	}
4453	return out, nil
4454}
4455
4456func (c *v1Client) UserUpdate(ctx context.Context, in *User, opts ...grpc.CallOption) (*User, error) {
4457	out := new(User)
4458	err := c.cc.Invoke(ctx, "/MurmurRPC.V1/UserUpdate", in, out, opts...)
4459	if err != nil {
4460		return nil, err
4461	}
4462	return out, nil
4463}
4464
4465func (c *v1Client) UserKick(ctx context.Context, in *User_Kick, opts ...grpc.CallOption) (*Void, error) {
4466	out := new(Void)
4467	err := c.cc.Invoke(ctx, "/MurmurRPC.V1/UserKick", in, out, opts...)
4468	if err != nil {
4469		return nil, err
4470	}
4471	return out, nil
4472}
4473
4474func (c *v1Client) TreeQuery(ctx context.Context, in *Tree_Query, opts ...grpc.CallOption) (*Tree, error) {
4475	out := new(Tree)
4476	err := c.cc.Invoke(ctx, "/MurmurRPC.V1/TreeQuery", in, out, opts...)
4477	if err != nil {
4478		return nil, err
4479	}
4480	return out, nil
4481}
4482
4483func (c *v1Client) BansGet(ctx context.Context, in *Ban_Query, opts ...grpc.CallOption) (*Ban_List, error) {
4484	out := new(Ban_List)
4485	err := c.cc.Invoke(ctx, "/MurmurRPC.V1/BansGet", in, out, opts...)
4486	if err != nil {
4487		return nil, err
4488	}
4489	return out, nil
4490}
4491
4492func (c *v1Client) BansSet(ctx context.Context, in *Ban_List, opts ...grpc.CallOption) (*Void, error) {
4493	out := new(Void)
4494	err := c.cc.Invoke(ctx, "/MurmurRPC.V1/BansSet", in, out, opts...)
4495	if err != nil {
4496		return nil, err
4497	}
4498	return out, nil
4499}
4500
4501func (c *v1Client) ACLGet(ctx context.Context, in *Channel, opts ...grpc.CallOption) (*ACL_List, error) {
4502	out := new(ACL_List)
4503	err := c.cc.Invoke(ctx, "/MurmurRPC.V1/ACLGet", in, out, opts...)
4504	if err != nil {
4505		return nil, err
4506	}
4507	return out, nil
4508}
4509
4510func (c *v1Client) ACLSet(ctx context.Context, in *ACL_List, opts ...grpc.CallOption) (*Void, error) {
4511	out := new(Void)
4512	err := c.cc.Invoke(ctx, "/MurmurRPC.V1/ACLSet", in, out, opts...)
4513	if err != nil {
4514		return nil, err
4515	}
4516	return out, nil
4517}
4518
4519func (c *v1Client) ACLGetEffectivePermissions(ctx context.Context, in *ACL_Query, opts ...grpc.CallOption) (*ACL, error) {
4520	out := new(ACL)
4521	err := c.cc.Invoke(ctx, "/MurmurRPC.V1/ACLGetEffectivePermissions", in, out, opts...)
4522	if err != nil {
4523		return nil, err
4524	}
4525	return out, nil
4526}
4527
4528func (c *v1Client) ACLAddTemporaryGroup(ctx context.Context, in *ACL_TemporaryGroup, opts ...grpc.CallOption) (*Void, error) {
4529	out := new(Void)
4530	err := c.cc.Invoke(ctx, "/MurmurRPC.V1/ACLAddTemporaryGroup", in, out, opts...)
4531	if err != nil {
4532		return nil, err
4533	}
4534	return out, nil
4535}
4536
4537func (c *v1Client) ACLRemoveTemporaryGroup(ctx context.Context, in *ACL_TemporaryGroup, opts ...grpc.CallOption) (*Void, error) {
4538	out := new(Void)
4539	err := c.cc.Invoke(ctx, "/MurmurRPC.V1/ACLRemoveTemporaryGroup", in, out, opts...)
4540	if err != nil {
4541		return nil, err
4542	}
4543	return out, nil
4544}
4545
4546func (c *v1Client) AuthenticatorStream(ctx context.Context, opts ...grpc.CallOption) (V1_AuthenticatorStreamClient, error) {
4547	stream, err := c.cc.NewStream(ctx, &_V1_serviceDesc.Streams[4], "/MurmurRPC.V1/AuthenticatorStream", opts...)
4548	if err != nil {
4549		return nil, err
4550	}
4551	x := &v1AuthenticatorStreamClient{stream}
4552	return x, nil
4553}
4554
4555type V1_AuthenticatorStreamClient interface {
4556	Send(*Authenticator_Response) error
4557	Recv() (*Authenticator_Request, error)
4558	grpc.ClientStream
4559}
4560
4561type v1AuthenticatorStreamClient struct {
4562	grpc.ClientStream
4563}
4564
4565func (x *v1AuthenticatorStreamClient) Send(m *Authenticator_Response) error {
4566	return x.ClientStream.SendMsg(m)
4567}
4568
4569func (x *v1AuthenticatorStreamClient) Recv() (*Authenticator_Request, error) {
4570	m := new(Authenticator_Request)
4571	if err := x.ClientStream.RecvMsg(m); err != nil {
4572		return nil, err
4573	}
4574	return m, nil
4575}
4576
4577func (c *v1Client) DatabaseUserQuery(ctx context.Context, in *DatabaseUser_Query, opts ...grpc.CallOption) (*DatabaseUser_List, error) {
4578	out := new(DatabaseUser_List)
4579	err := c.cc.Invoke(ctx, "/MurmurRPC.V1/DatabaseUserQuery", in, out, opts...)
4580	if err != nil {
4581		return nil, err
4582	}
4583	return out, nil
4584}
4585
4586func (c *v1Client) DatabaseUserGet(ctx context.Context, in *DatabaseUser, opts ...grpc.CallOption) (*DatabaseUser, error) {
4587	out := new(DatabaseUser)
4588	err := c.cc.Invoke(ctx, "/MurmurRPC.V1/DatabaseUserGet", in, out, opts...)
4589	if err != nil {
4590		return nil, err
4591	}
4592	return out, nil
4593}
4594
4595func (c *v1Client) DatabaseUserUpdate(ctx context.Context, in *DatabaseUser, opts ...grpc.CallOption) (*Void, error) {
4596	out := new(Void)
4597	err := c.cc.Invoke(ctx, "/MurmurRPC.V1/DatabaseUserUpdate", in, out, opts...)
4598	if err != nil {
4599		return nil, err
4600	}
4601	return out, nil
4602}
4603
4604func (c *v1Client) DatabaseUserRegister(ctx context.Context, in *DatabaseUser, opts ...grpc.CallOption) (*DatabaseUser, error) {
4605	out := new(DatabaseUser)
4606	err := c.cc.Invoke(ctx, "/MurmurRPC.V1/DatabaseUserRegister", in, out, opts...)
4607	if err != nil {
4608		return nil, err
4609	}
4610	return out, nil
4611}
4612
4613func (c *v1Client) DatabaseUserDeregister(ctx context.Context, in *DatabaseUser, opts ...grpc.CallOption) (*Void, error) {
4614	out := new(Void)
4615	err := c.cc.Invoke(ctx, "/MurmurRPC.V1/DatabaseUserDeregister", in, out, opts...)
4616	if err != nil {
4617		return nil, err
4618	}
4619	return out, nil
4620}
4621
4622func (c *v1Client) DatabaseUserVerify(ctx context.Context, in *DatabaseUser_Verify, opts ...grpc.CallOption) (*DatabaseUser, error) {
4623	out := new(DatabaseUser)
4624	err := c.cc.Invoke(ctx, "/MurmurRPC.V1/DatabaseUserVerify", in, out, opts...)
4625	if err != nil {
4626		return nil, err
4627	}
4628	return out, nil
4629}
4630
4631func (c *v1Client) RedirectWhisperGroupAdd(ctx context.Context, in *RedirectWhisperGroup, opts ...grpc.CallOption) (*Void, error) {
4632	out := new(Void)
4633	err := c.cc.Invoke(ctx, "/MurmurRPC.V1/RedirectWhisperGroupAdd", in, out, opts...)
4634	if err != nil {
4635		return nil, err
4636	}
4637	return out, nil
4638}
4639
4640func (c *v1Client) RedirectWhisperGroupRemove(ctx context.Context, in *RedirectWhisperGroup, opts ...grpc.CallOption) (*Void, error) {
4641	out := new(Void)
4642	err := c.cc.Invoke(ctx, "/MurmurRPC.V1/RedirectWhisperGroupRemove", in, out, opts...)
4643	if err != nil {
4644		return nil, err
4645	}
4646	return out, nil
4647}
4648
4649// V1Server is the server API for V1 service.
4650type V1Server interface {
4651	// GetUptime returns murmur's uptime.
4652	GetUptime(context.Context, *Void) (*Uptime, error)
4653	// GetVersion returns murmur's version.
4654	GetVersion(context.Context, *Void) (*Version, error)
4655	// Events returns a stream of murmur events.
4656	Events(*Void, V1_EventsServer) error
4657	// ServerCreate creates a new virtual server. The returned server object
4658	// contains the newly created server's ID.
4659	ServerCreate(context.Context, *Void) (*Server, error)
4660	// ServerQuery returns a list of servers that match the given query.
4661	ServerQuery(context.Context, *Server_Query) (*Server_List, error)
4662	// ServerGet returns information about the given server.
4663	ServerGet(context.Context, *Server) (*Server, error)
4664	// ServerStart starts the given stopped server.
4665	ServerStart(context.Context, *Server) (*Void, error)
4666	// ServerStop stops the given virtual server.
4667	ServerStop(context.Context, *Server) (*Void, error)
4668	// ServerRemove removes the given virtual server and its configuration.
4669	ServerRemove(context.Context, *Server) (*Void, error)
4670	// ServerEvents returns a stream of events that happen on the given server.
4671	ServerEvents(*Server, V1_ServerEventsServer) error
4672	// ContextActionAdd adds a context action to the given user's client. The
4673	// following ContextAction fields must be set:
4674	//   context, action, text, and user.
4675	//
4676	// Added context actions are valid until:
4677	//  - The context action is removed with ContextActionRemove, or
4678	//  - The user disconnects from the server, or
4679	//  - The server stops.
4680	ContextActionAdd(context.Context, *ContextAction) (*Void, error)
4681	// ContextActionRemove removes a context action from the given user's client.
4682	// The following ContextAction must be set:
4683	//   action
4684	// If no user is given, the context action is removed from all users.
4685	ContextActionRemove(context.Context, *ContextAction) (*Void, error)
4686	// ContextActionEvents returns a stream of context action events that are
4687	// triggered by users.
4688	ContextActionEvents(*ContextAction, V1_ContextActionEventsServer) error
4689	// TextMessageSend sends the given TextMessage to the server.
4690	//
4691	// If no users, channels, or trees are added to the TextMessage, the message
4692	// will be broadcast the entire server. Otherwise, the message will be
4693	// targeted to the specified users, channels, and trees.
4694	TextMessageSend(context.Context, *TextMessage) (*Void, error)
4695	// TextMessageFilter filters text messages for a given server.
4696	//
4697	// When a filter stream is active, text messages sent from users to the
4698	// server are sent over the stream. The RPC client then sends a message back
4699	// on the same stream, containing an action: whether the message should be
4700	// accepted, rejected, or dropped.
4701	//
4702	// To activate the filter stream, an initial TextMessage.Filter message must
4703	// be sent that contains the server on which the filter will be active.
4704	TextMessageFilter(V1_TextMessageFilterServer) error
4705	// LogQuery returns a list of log entries from the given server.
4706	//
4707	// To get the total number of log entries, omit min and/or max from the
4708	// query.
4709	LogQuery(context.Context, *Log_Query) (*Log_List, error)
4710	// ConfigGet returns the explicitly set configuration for the given server.
4711	ConfigGet(context.Context, *Server) (*Config, error)
4712	// ConfigGetField returns the configuration value for the given key.
4713	ConfigGetField(context.Context, *Config_Field) (*Config_Field, error)
4714	// ConfigSetField sets the configuration value to the given value.
4715	ConfigSetField(context.Context, *Config_Field) (*Void, error)
4716	// ConfigGetDefault returns the default server configuration.
4717	ConfigGetDefault(context.Context, *Void) (*Config, error)
4718	// ChannelQuery returns a list of channels that match the given query.
4719	ChannelQuery(context.Context, *Channel_Query) (*Channel_List, error)
4720	// ChannelGet returns the channel with the given ID.
4721	ChannelGet(context.Context, *Channel) (*Channel, error)
4722	// ChannelAdd adds the channel to the given server. The parent and name of
4723	// the channel must be set.
4724	ChannelAdd(context.Context, *Channel) (*Channel, error)
4725	// ChannelRemove removes the given channel from the server.
4726	ChannelRemove(context.Context, *Channel) (*Void, error)
4727	// ChannelUpdate updates the given channel's attributes. Only the fields that
4728	// are set will be updated.
4729	ChannelUpdate(context.Context, *Channel) (*Channel, error)
4730	// UserQuery returns a list of connected users who match the given query.
4731	UserQuery(context.Context, *User_Query) (*User_List, error)
4732	// UserGet returns information on the connected user, given by the user's
4733	// session or name.
4734	UserGet(context.Context, *User) (*User, error)
4735	// UserUpdate changes the given user's state. Only the following fields can
4736	// be changed:
4737	//   name, mute, deaf, suppress, priority_speaker, channel, comment.
4738	UserUpdate(context.Context, *User) (*User, error)
4739	// UserKick kicks the user from the server.
4740	UserKick(context.Context, *User_Kick) (*Void, error)
4741	// TreeQuery returns a representation of the given server's channel/user
4742	// tree.
4743	TreeQuery(context.Context, *Tree_Query) (*Tree, error)
4744	// BansGet returns a list of bans for the given server.
4745	BansGet(context.Context, *Ban_Query) (*Ban_List, error)
4746	// BansSet replaces the server's ban list with the given list.
4747	BansSet(context.Context, *Ban_List) (*Void, error)
4748	// ACLGet returns the ACL for the given channel.
4749	ACLGet(context.Context, *Channel) (*ACL_List, error)
4750	// ACLSet overrides the ACL of the given channel to what is provided.
4751	ACLSet(context.Context, *ACL_List) (*Void, error)
4752	// ACLGetEffectivePermissions returns the effective permissions for the given
4753	// user in the given channel.
4754	ACLGetEffectivePermissions(context.Context, *ACL_Query) (*ACL, error)
4755	// ACLAddTemporaryGroup adds a user to a temporary group.
4756	ACLAddTemporaryGroup(context.Context, *ACL_TemporaryGroup) (*Void, error)
4757	// ACLRemoveTemporaryGroup removes a user from a temporary group.
4758	ACLRemoveTemporaryGroup(context.Context, *ACL_TemporaryGroup) (*Void, error)
4759	// AuthenticatorStream opens an authentication stream to the server.
4760	//
4761	// There can only be one RPC client with an open Stream. If a new
4762	// authenticator connects, the open connected will be closed.
4763	AuthenticatorStream(V1_AuthenticatorStreamServer) error
4764	// DatabaseUserQuery returns a list of registered users who match given
4765	// query.
4766	DatabaseUserQuery(context.Context, *DatabaseUser_Query) (*DatabaseUser_List, error)
4767	// DatabaseUserGet returns the database user with the given ID.
4768	DatabaseUserGet(context.Context, *DatabaseUser) (*DatabaseUser, error)
4769	// DatabaseUserUpdate updates the given database user.
4770	DatabaseUserUpdate(context.Context, *DatabaseUser) (*Void, error)
4771	// DatabaseUserRegister registers a user with the given information on the
4772	// server. The returned DatabaseUser will contain the newly registered user's
4773	// ID.
4774	DatabaseUserRegister(context.Context, *DatabaseUser) (*DatabaseUser, error)
4775	// DatabaseUserDeregister deregisters the given user.
4776	DatabaseUserDeregister(context.Context, *DatabaseUser) (*Void, error)
4777	// DatabaseUserVerify verifies the that the given user-password pair is
4778	// correct.
4779	DatabaseUserVerify(context.Context, *DatabaseUser_Verify) (*DatabaseUser, error)
4780	// AddRedirectWhisperGroup add a whisper targets redirection for the given
4781	// user. Whenever a user whispers to group "source", the whisper will be
4782	// redirected to group "target".
4783	RedirectWhisperGroupAdd(context.Context, *RedirectWhisperGroup) (*Void, error)
4784	// RemoveRedirectWhisperGroup removes a whisper target redirection for
4785	// the the given user.
4786	RedirectWhisperGroupRemove(context.Context, *RedirectWhisperGroup) (*Void, error)
4787}
4788
4789// UnimplementedV1Server can be embedded to have forward compatible implementations.
4790type UnimplementedV1Server struct {
4791}
4792
4793func (*UnimplementedV1Server) GetUptime(ctx context.Context, req *Void) (*Uptime, error) {
4794	return nil, status.Errorf(codes.Unimplemented, "method GetUptime not implemented")
4795}
4796func (*UnimplementedV1Server) GetVersion(ctx context.Context, req *Void) (*Version, error) {
4797	return nil, status.Errorf(codes.Unimplemented, "method GetVersion not implemented")
4798}
4799func (*UnimplementedV1Server) Events(req *Void, srv V1_EventsServer) error {
4800	return status.Errorf(codes.Unimplemented, "method Events not implemented")
4801}
4802func (*UnimplementedV1Server) ServerCreate(ctx context.Context, req *Void) (*Server, error) {
4803	return nil, status.Errorf(codes.Unimplemented, "method ServerCreate not implemented")
4804}
4805func (*UnimplementedV1Server) ServerQuery(ctx context.Context, req *Server_Query) (*Server_List, error) {
4806	return nil, status.Errorf(codes.Unimplemented, "method ServerQuery not implemented")
4807}
4808func (*UnimplementedV1Server) ServerGet(ctx context.Context, req *Server) (*Server, error) {
4809	return nil, status.Errorf(codes.Unimplemented, "method ServerGet not implemented")
4810}
4811func (*UnimplementedV1Server) ServerStart(ctx context.Context, req *Server) (*Void, error) {
4812	return nil, status.Errorf(codes.Unimplemented, "method ServerStart not implemented")
4813}
4814func (*UnimplementedV1Server) ServerStop(ctx context.Context, req *Server) (*Void, error) {
4815	return nil, status.Errorf(codes.Unimplemented, "method ServerStop not implemented")
4816}
4817func (*UnimplementedV1Server) ServerRemove(ctx context.Context, req *Server) (*Void, error) {
4818	return nil, status.Errorf(codes.Unimplemented, "method ServerRemove not implemented")
4819}
4820func (*UnimplementedV1Server) ServerEvents(req *Server, srv V1_ServerEventsServer) error {
4821	return status.Errorf(codes.Unimplemented, "method ServerEvents not implemented")
4822}
4823func (*UnimplementedV1Server) ContextActionAdd(ctx context.Context, req *ContextAction) (*Void, error) {
4824	return nil, status.Errorf(codes.Unimplemented, "method ContextActionAdd not implemented")
4825}
4826func (*UnimplementedV1Server) ContextActionRemove(ctx context.Context, req *ContextAction) (*Void, error) {
4827	return nil, status.Errorf(codes.Unimplemented, "method ContextActionRemove not implemented")
4828}
4829func (*UnimplementedV1Server) ContextActionEvents(req *ContextAction, srv V1_ContextActionEventsServer) error {
4830	return status.Errorf(codes.Unimplemented, "method ContextActionEvents not implemented")
4831}
4832func (*UnimplementedV1Server) TextMessageSend(ctx context.Context, req *TextMessage) (*Void, error) {
4833	return nil, status.Errorf(codes.Unimplemented, "method TextMessageSend not implemented")
4834}
4835func (*UnimplementedV1Server) TextMessageFilter(srv V1_TextMessageFilterServer) error {
4836	return status.Errorf(codes.Unimplemented, "method TextMessageFilter not implemented")
4837}
4838func (*UnimplementedV1Server) LogQuery(ctx context.Context, req *Log_Query) (*Log_List, error) {
4839	return nil, status.Errorf(codes.Unimplemented, "method LogQuery not implemented")
4840}
4841func (*UnimplementedV1Server) ConfigGet(ctx context.Context, req *Server) (*Config, error) {
4842	return nil, status.Errorf(codes.Unimplemented, "method ConfigGet not implemented")
4843}
4844func (*UnimplementedV1Server) ConfigGetField(ctx context.Context, req *Config_Field) (*Config_Field, error) {
4845	return nil, status.Errorf(codes.Unimplemented, "method ConfigGetField not implemented")
4846}
4847func (*UnimplementedV1Server) ConfigSetField(ctx context.Context, req *Config_Field) (*Void, error) {
4848	return nil, status.Errorf(codes.Unimplemented, "method ConfigSetField not implemented")
4849}
4850func (*UnimplementedV1Server) ConfigGetDefault(ctx context.Context, req *Void) (*Config, error) {
4851	return nil, status.Errorf(codes.Unimplemented, "method ConfigGetDefault not implemented")
4852}
4853func (*UnimplementedV1Server) ChannelQuery(ctx context.Context, req *Channel_Query) (*Channel_List, error) {
4854	return nil, status.Errorf(codes.Unimplemented, "method ChannelQuery not implemented")
4855}
4856func (*UnimplementedV1Server) ChannelGet(ctx context.Context, req *Channel) (*Channel, error) {
4857	return nil, status.Errorf(codes.Unimplemented, "method ChannelGet not implemented")
4858}
4859func (*UnimplementedV1Server) ChannelAdd(ctx context.Context, req *Channel) (*Channel, error) {
4860	return nil, status.Errorf(codes.Unimplemented, "method ChannelAdd not implemented")
4861}
4862func (*UnimplementedV1Server) ChannelRemove(ctx context.Context, req *Channel) (*Void, error) {
4863	return nil, status.Errorf(codes.Unimplemented, "method ChannelRemove not implemented")
4864}
4865func (*UnimplementedV1Server) ChannelUpdate(ctx context.Context, req *Channel) (*Channel, error) {
4866	return nil, status.Errorf(codes.Unimplemented, "method ChannelUpdate not implemented")
4867}
4868func (*UnimplementedV1Server) UserQuery(ctx context.Context, req *User_Query) (*User_List, error) {
4869	return nil, status.Errorf(codes.Unimplemented, "method UserQuery not implemented")
4870}
4871func (*UnimplementedV1Server) UserGet(ctx context.Context, req *User) (*User, error) {
4872	return nil, status.Errorf(codes.Unimplemented, "method UserGet not implemented")
4873}
4874func (*UnimplementedV1Server) UserUpdate(ctx context.Context, req *User) (*User, error) {
4875	return nil, status.Errorf(codes.Unimplemented, "method UserUpdate not implemented")
4876}
4877func (*UnimplementedV1Server) UserKick(ctx context.Context, req *User_Kick) (*Void, error) {
4878	return nil, status.Errorf(codes.Unimplemented, "method UserKick not implemented")
4879}
4880func (*UnimplementedV1Server) TreeQuery(ctx context.Context, req *Tree_Query) (*Tree, error) {
4881	return nil, status.Errorf(codes.Unimplemented, "method TreeQuery not implemented")
4882}
4883func (*UnimplementedV1Server) BansGet(ctx context.Context, req *Ban_Query) (*Ban_List, error) {
4884	return nil, status.Errorf(codes.Unimplemented, "method BansGet not implemented")
4885}
4886func (*UnimplementedV1Server) BansSet(ctx context.Context, req *Ban_List) (*Void, error) {
4887	return nil, status.Errorf(codes.Unimplemented, "method BansSet not implemented")
4888}
4889func (*UnimplementedV1Server) ACLGet(ctx context.Context, req *Channel) (*ACL_List, error) {
4890	return nil, status.Errorf(codes.Unimplemented, "method ACLGet not implemented")
4891}
4892func (*UnimplementedV1Server) ACLSet(ctx context.Context, req *ACL_List) (*Void, error) {
4893	return nil, status.Errorf(codes.Unimplemented, "method ACLSet not implemented")
4894}
4895func (*UnimplementedV1Server) ACLGetEffectivePermissions(ctx context.Context, req *ACL_Query) (*ACL, error) {
4896	return nil, status.Errorf(codes.Unimplemented, "method ACLGetEffectivePermissions not implemented")
4897}
4898func (*UnimplementedV1Server) ACLAddTemporaryGroup(ctx context.Context, req *ACL_TemporaryGroup) (*Void, error) {
4899	return nil, status.Errorf(codes.Unimplemented, "method ACLAddTemporaryGroup not implemented")
4900}
4901func (*UnimplementedV1Server) ACLRemoveTemporaryGroup(ctx context.Context, req *ACL_TemporaryGroup) (*Void, error) {
4902	return nil, status.Errorf(codes.Unimplemented, "method ACLRemoveTemporaryGroup not implemented")
4903}
4904func (*UnimplementedV1Server) AuthenticatorStream(srv V1_AuthenticatorStreamServer) error {
4905	return status.Errorf(codes.Unimplemented, "method AuthenticatorStream not implemented")
4906}
4907func (*UnimplementedV1Server) DatabaseUserQuery(ctx context.Context, req *DatabaseUser_Query) (*DatabaseUser_List, error) {
4908	return nil, status.Errorf(codes.Unimplemented, "method DatabaseUserQuery not implemented")
4909}
4910func (*UnimplementedV1Server) DatabaseUserGet(ctx context.Context, req *DatabaseUser) (*DatabaseUser, error) {
4911	return nil, status.Errorf(codes.Unimplemented, "method DatabaseUserGet not implemented")
4912}
4913func (*UnimplementedV1Server) DatabaseUserUpdate(ctx context.Context, req *DatabaseUser) (*Void, error) {
4914	return nil, status.Errorf(codes.Unimplemented, "method DatabaseUserUpdate not implemented")
4915}
4916func (*UnimplementedV1Server) DatabaseUserRegister(ctx context.Context, req *DatabaseUser) (*DatabaseUser, error) {
4917	return nil, status.Errorf(codes.Unimplemented, "method DatabaseUserRegister not implemented")
4918}
4919func (*UnimplementedV1Server) DatabaseUserDeregister(ctx context.Context, req *DatabaseUser) (*Void, error) {
4920	return nil, status.Errorf(codes.Unimplemented, "method DatabaseUserDeregister not implemented")
4921}
4922func (*UnimplementedV1Server) DatabaseUserVerify(ctx context.Context, req *DatabaseUser_Verify) (*DatabaseUser, error) {
4923	return nil, status.Errorf(codes.Unimplemented, "method DatabaseUserVerify not implemented")
4924}
4925func (*UnimplementedV1Server) RedirectWhisperGroupAdd(ctx context.Context, req *RedirectWhisperGroup) (*Void, error) {
4926	return nil, status.Errorf(codes.Unimplemented, "method RedirectWhisperGroupAdd not implemented")
4927}
4928func (*UnimplementedV1Server) RedirectWhisperGroupRemove(ctx context.Context, req *RedirectWhisperGroup) (*Void, error) {
4929	return nil, status.Errorf(codes.Unimplemented, "method RedirectWhisperGroupRemove not implemented")
4930}
4931
4932func RegisterV1Server(s *grpc.Server, srv V1Server) {
4933	s.RegisterService(&_V1_serviceDesc, srv)
4934}
4935
4936func _V1_GetUptime_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4937	in := new(Void)
4938	if err := dec(in); err != nil {
4939		return nil, err
4940	}
4941	if interceptor == nil {
4942		return srv.(V1Server).GetUptime(ctx, in)
4943	}
4944	info := &grpc.UnaryServerInfo{
4945		Server:     srv,
4946		FullMethod: "/MurmurRPC.V1/GetUptime",
4947	}
4948	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4949		return srv.(V1Server).GetUptime(ctx, req.(*Void))
4950	}
4951	return interceptor(ctx, in, info, handler)
4952}
4953
4954func _V1_GetVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4955	in := new(Void)
4956	if err := dec(in); err != nil {
4957		return nil, err
4958	}
4959	if interceptor == nil {
4960		return srv.(V1Server).GetVersion(ctx, in)
4961	}
4962	info := &grpc.UnaryServerInfo{
4963		Server:     srv,
4964		FullMethod: "/MurmurRPC.V1/GetVersion",
4965	}
4966	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4967		return srv.(V1Server).GetVersion(ctx, req.(*Void))
4968	}
4969	return interceptor(ctx, in, info, handler)
4970}
4971
4972func _V1_Events_Handler(srv interface{}, stream grpc.ServerStream) error {
4973	m := new(Void)
4974	if err := stream.RecvMsg(m); err != nil {
4975		return err
4976	}
4977	return srv.(V1Server).Events(m, &v1EventsServer{stream})
4978}
4979
4980type V1_EventsServer interface {
4981	Send(*Event) error
4982	grpc.ServerStream
4983}
4984
4985type v1EventsServer struct {
4986	grpc.ServerStream
4987}
4988
4989func (x *v1EventsServer) Send(m *Event) error {
4990	return x.ServerStream.SendMsg(m)
4991}
4992
4993func _V1_ServerCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4994	in := new(Void)
4995	if err := dec(in); err != nil {
4996		return nil, err
4997	}
4998	if interceptor == nil {
4999		return srv.(V1Server).ServerCreate(ctx, in)
5000	}
5001	info := &grpc.UnaryServerInfo{
5002		Server:     srv,
5003		FullMethod: "/MurmurRPC.V1/ServerCreate",
5004	}
5005	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5006		return srv.(V1Server).ServerCreate(ctx, req.(*Void))
5007	}
5008	return interceptor(ctx, in, info, handler)
5009}
5010
5011func _V1_ServerQuery_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5012	in := new(Server_Query)
5013	if err := dec(in); err != nil {
5014		return nil, err
5015	}
5016	if interceptor == nil {
5017		return srv.(V1Server).ServerQuery(ctx, in)
5018	}
5019	info := &grpc.UnaryServerInfo{
5020		Server:     srv,
5021		FullMethod: "/MurmurRPC.V1/ServerQuery",
5022	}
5023	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5024		return srv.(V1Server).ServerQuery(ctx, req.(*Server_Query))
5025	}
5026	return interceptor(ctx, in, info, handler)
5027}
5028
5029func _V1_ServerGet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5030	in := new(Server)
5031	if err := dec(in); err != nil {
5032		return nil, err
5033	}
5034	if interceptor == nil {
5035		return srv.(V1Server).ServerGet(ctx, in)
5036	}
5037	info := &grpc.UnaryServerInfo{
5038		Server:     srv,
5039		FullMethod: "/MurmurRPC.V1/ServerGet",
5040	}
5041	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5042		return srv.(V1Server).ServerGet(ctx, req.(*Server))
5043	}
5044	return interceptor(ctx, in, info, handler)
5045}
5046
5047func _V1_ServerStart_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5048	in := new(Server)
5049	if err := dec(in); err != nil {
5050		return nil, err
5051	}
5052	if interceptor == nil {
5053		return srv.(V1Server).ServerStart(ctx, in)
5054	}
5055	info := &grpc.UnaryServerInfo{
5056		Server:     srv,
5057		FullMethod: "/MurmurRPC.V1/ServerStart",
5058	}
5059	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5060		return srv.(V1Server).ServerStart(ctx, req.(*Server))
5061	}
5062	return interceptor(ctx, in, info, handler)
5063}
5064
5065func _V1_ServerStop_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5066	in := new(Server)
5067	if err := dec(in); err != nil {
5068		return nil, err
5069	}
5070	if interceptor == nil {
5071		return srv.(V1Server).ServerStop(ctx, in)
5072	}
5073	info := &grpc.UnaryServerInfo{
5074		Server:     srv,
5075		FullMethod: "/MurmurRPC.V1/ServerStop",
5076	}
5077	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5078		return srv.(V1Server).ServerStop(ctx, req.(*Server))
5079	}
5080	return interceptor(ctx, in, info, handler)
5081}
5082
5083func _V1_ServerRemove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5084	in := new(Server)
5085	if err := dec(in); err != nil {
5086		return nil, err
5087	}
5088	if interceptor == nil {
5089		return srv.(V1Server).ServerRemove(ctx, in)
5090	}
5091	info := &grpc.UnaryServerInfo{
5092		Server:     srv,
5093		FullMethod: "/MurmurRPC.V1/ServerRemove",
5094	}
5095	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5096		return srv.(V1Server).ServerRemove(ctx, req.(*Server))
5097	}
5098	return interceptor(ctx, in, info, handler)
5099}
5100
5101func _V1_ServerEvents_Handler(srv interface{}, stream grpc.ServerStream) error {
5102	m := new(Server)
5103	if err := stream.RecvMsg(m); err != nil {
5104		return err
5105	}
5106	return srv.(V1Server).ServerEvents(m, &v1ServerEventsServer{stream})
5107}
5108
5109type V1_ServerEventsServer interface {
5110	Send(*Server_Event) error
5111	grpc.ServerStream
5112}
5113
5114type v1ServerEventsServer struct {
5115	grpc.ServerStream
5116}
5117
5118func (x *v1ServerEventsServer) Send(m *Server_Event) error {
5119	return x.ServerStream.SendMsg(m)
5120}
5121
5122func _V1_ContextActionAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5123	in := new(ContextAction)
5124	if err := dec(in); err != nil {
5125		return nil, err
5126	}
5127	if interceptor == nil {
5128		return srv.(V1Server).ContextActionAdd(ctx, in)
5129	}
5130	info := &grpc.UnaryServerInfo{
5131		Server:     srv,
5132		FullMethod: "/MurmurRPC.V1/ContextActionAdd",
5133	}
5134	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5135		return srv.(V1Server).ContextActionAdd(ctx, req.(*ContextAction))
5136	}
5137	return interceptor(ctx, in, info, handler)
5138}
5139
5140func _V1_ContextActionRemove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5141	in := new(ContextAction)
5142	if err := dec(in); err != nil {
5143		return nil, err
5144	}
5145	if interceptor == nil {
5146		return srv.(V1Server).ContextActionRemove(ctx, in)
5147	}
5148	info := &grpc.UnaryServerInfo{
5149		Server:     srv,
5150		FullMethod: "/MurmurRPC.V1/ContextActionRemove",
5151	}
5152	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5153		return srv.(V1Server).ContextActionRemove(ctx, req.(*ContextAction))
5154	}
5155	return interceptor(ctx, in, info, handler)
5156}
5157
5158func _V1_ContextActionEvents_Handler(srv interface{}, stream grpc.ServerStream) error {
5159	m := new(ContextAction)
5160	if err := stream.RecvMsg(m); err != nil {
5161		return err
5162	}
5163	return srv.(V1Server).ContextActionEvents(m, &v1ContextActionEventsServer{stream})
5164}
5165
5166type V1_ContextActionEventsServer interface {
5167	Send(*ContextAction) error
5168	grpc.ServerStream
5169}
5170
5171type v1ContextActionEventsServer struct {
5172	grpc.ServerStream
5173}
5174
5175func (x *v1ContextActionEventsServer) Send(m *ContextAction) error {
5176	return x.ServerStream.SendMsg(m)
5177}
5178
5179func _V1_TextMessageSend_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5180	in := new(TextMessage)
5181	if err := dec(in); err != nil {
5182		return nil, err
5183	}
5184	if interceptor == nil {
5185		return srv.(V1Server).TextMessageSend(ctx, in)
5186	}
5187	info := &grpc.UnaryServerInfo{
5188		Server:     srv,
5189		FullMethod: "/MurmurRPC.V1/TextMessageSend",
5190	}
5191	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5192		return srv.(V1Server).TextMessageSend(ctx, req.(*TextMessage))
5193	}
5194	return interceptor(ctx, in, info, handler)
5195}
5196
5197func _V1_TextMessageFilter_Handler(srv interface{}, stream grpc.ServerStream) error {
5198	return srv.(V1Server).TextMessageFilter(&v1TextMessageFilterServer{stream})
5199}
5200
5201type V1_TextMessageFilterServer interface {
5202	Send(*TextMessage_Filter) error
5203	Recv() (*TextMessage_Filter, error)
5204	grpc.ServerStream
5205}
5206
5207type v1TextMessageFilterServer struct {
5208	grpc.ServerStream
5209}
5210
5211func (x *v1TextMessageFilterServer) Send(m *TextMessage_Filter) error {
5212	return x.ServerStream.SendMsg(m)
5213}
5214
5215func (x *v1TextMessageFilterServer) Recv() (*TextMessage_Filter, error) {
5216	m := new(TextMessage_Filter)
5217	if err := x.ServerStream.RecvMsg(m); err != nil {
5218		return nil, err
5219	}
5220	return m, nil
5221}
5222
5223func _V1_LogQuery_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5224	in := new(Log_Query)
5225	if err := dec(in); err != nil {
5226		return nil, err
5227	}
5228	if interceptor == nil {
5229		return srv.(V1Server).LogQuery(ctx, in)
5230	}
5231	info := &grpc.UnaryServerInfo{
5232		Server:     srv,
5233		FullMethod: "/MurmurRPC.V1/LogQuery",
5234	}
5235	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5236		return srv.(V1Server).LogQuery(ctx, req.(*Log_Query))
5237	}
5238	return interceptor(ctx, in, info, handler)
5239}
5240
5241func _V1_ConfigGet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5242	in := new(Server)
5243	if err := dec(in); err != nil {
5244		return nil, err
5245	}
5246	if interceptor == nil {
5247		return srv.(V1Server).ConfigGet(ctx, in)
5248	}
5249	info := &grpc.UnaryServerInfo{
5250		Server:     srv,
5251		FullMethod: "/MurmurRPC.V1/ConfigGet",
5252	}
5253	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5254		return srv.(V1Server).ConfigGet(ctx, req.(*Server))
5255	}
5256	return interceptor(ctx, in, info, handler)
5257}
5258
5259func _V1_ConfigGetField_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5260	in := new(Config_Field)
5261	if err := dec(in); err != nil {
5262		return nil, err
5263	}
5264	if interceptor == nil {
5265		return srv.(V1Server).ConfigGetField(ctx, in)
5266	}
5267	info := &grpc.UnaryServerInfo{
5268		Server:     srv,
5269		FullMethod: "/MurmurRPC.V1/ConfigGetField",
5270	}
5271	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5272		return srv.(V1Server).ConfigGetField(ctx, req.(*Config_Field))
5273	}
5274	return interceptor(ctx, in, info, handler)
5275}
5276
5277func _V1_ConfigSetField_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5278	in := new(Config_Field)
5279	if err := dec(in); err != nil {
5280		return nil, err
5281	}
5282	if interceptor == nil {
5283		return srv.(V1Server).ConfigSetField(ctx, in)
5284	}
5285	info := &grpc.UnaryServerInfo{
5286		Server:     srv,
5287		FullMethod: "/MurmurRPC.V1/ConfigSetField",
5288	}
5289	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5290		return srv.(V1Server).ConfigSetField(ctx, req.(*Config_Field))
5291	}
5292	return interceptor(ctx, in, info, handler)
5293}
5294
5295func _V1_ConfigGetDefault_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5296	in := new(Void)
5297	if err := dec(in); err != nil {
5298		return nil, err
5299	}
5300	if interceptor == nil {
5301		return srv.(V1Server).ConfigGetDefault(ctx, in)
5302	}
5303	info := &grpc.UnaryServerInfo{
5304		Server:     srv,
5305		FullMethod: "/MurmurRPC.V1/ConfigGetDefault",
5306	}
5307	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5308		return srv.(V1Server).ConfigGetDefault(ctx, req.(*Void))
5309	}
5310	return interceptor(ctx, in, info, handler)
5311}
5312
5313func _V1_ChannelQuery_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5314	in := new(Channel_Query)
5315	if err := dec(in); err != nil {
5316		return nil, err
5317	}
5318	if interceptor == nil {
5319		return srv.(V1Server).ChannelQuery(ctx, in)
5320	}
5321	info := &grpc.UnaryServerInfo{
5322		Server:     srv,
5323		FullMethod: "/MurmurRPC.V1/ChannelQuery",
5324	}
5325	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5326		return srv.(V1Server).ChannelQuery(ctx, req.(*Channel_Query))
5327	}
5328	return interceptor(ctx, in, info, handler)
5329}
5330
5331func _V1_ChannelGet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5332	in := new(Channel)
5333	if err := dec(in); err != nil {
5334		return nil, err
5335	}
5336	if interceptor == nil {
5337		return srv.(V1Server).ChannelGet(ctx, in)
5338	}
5339	info := &grpc.UnaryServerInfo{
5340		Server:     srv,
5341		FullMethod: "/MurmurRPC.V1/ChannelGet",
5342	}
5343	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5344		return srv.(V1Server).ChannelGet(ctx, req.(*Channel))
5345	}
5346	return interceptor(ctx, in, info, handler)
5347}
5348
5349func _V1_ChannelAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5350	in := new(Channel)
5351	if err := dec(in); err != nil {
5352		return nil, err
5353	}
5354	if interceptor == nil {
5355		return srv.(V1Server).ChannelAdd(ctx, in)
5356	}
5357	info := &grpc.UnaryServerInfo{
5358		Server:     srv,
5359		FullMethod: "/MurmurRPC.V1/ChannelAdd",
5360	}
5361	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5362		return srv.(V1Server).ChannelAdd(ctx, req.(*Channel))
5363	}
5364	return interceptor(ctx, in, info, handler)
5365}
5366
5367func _V1_ChannelRemove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5368	in := new(Channel)
5369	if err := dec(in); err != nil {
5370		return nil, err
5371	}
5372	if interceptor == nil {
5373		return srv.(V1Server).ChannelRemove(ctx, in)
5374	}
5375	info := &grpc.UnaryServerInfo{
5376		Server:     srv,
5377		FullMethod: "/MurmurRPC.V1/ChannelRemove",
5378	}
5379	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5380		return srv.(V1Server).ChannelRemove(ctx, req.(*Channel))
5381	}
5382	return interceptor(ctx, in, info, handler)
5383}
5384
5385func _V1_ChannelUpdate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5386	in := new(Channel)
5387	if err := dec(in); err != nil {
5388		return nil, err
5389	}
5390	if interceptor == nil {
5391		return srv.(V1Server).ChannelUpdate(ctx, in)
5392	}
5393	info := &grpc.UnaryServerInfo{
5394		Server:     srv,
5395		FullMethod: "/MurmurRPC.V1/ChannelUpdate",
5396	}
5397	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5398		return srv.(V1Server).ChannelUpdate(ctx, req.(*Channel))
5399	}
5400	return interceptor(ctx, in, info, handler)
5401}
5402
5403func _V1_UserQuery_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5404	in := new(User_Query)
5405	if err := dec(in); err != nil {
5406		return nil, err
5407	}
5408	if interceptor == nil {
5409		return srv.(V1Server).UserQuery(ctx, in)
5410	}
5411	info := &grpc.UnaryServerInfo{
5412		Server:     srv,
5413		FullMethod: "/MurmurRPC.V1/UserQuery",
5414	}
5415	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5416		return srv.(V1Server).UserQuery(ctx, req.(*User_Query))
5417	}
5418	return interceptor(ctx, in, info, handler)
5419}
5420
5421func _V1_UserGet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5422	in := new(User)
5423	if err := dec(in); err != nil {
5424		return nil, err
5425	}
5426	if interceptor == nil {
5427		return srv.(V1Server).UserGet(ctx, in)
5428	}
5429	info := &grpc.UnaryServerInfo{
5430		Server:     srv,
5431		FullMethod: "/MurmurRPC.V1/UserGet",
5432	}
5433	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5434		return srv.(V1Server).UserGet(ctx, req.(*User))
5435	}
5436	return interceptor(ctx, in, info, handler)
5437}
5438
5439func _V1_UserUpdate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5440	in := new(User)
5441	if err := dec(in); err != nil {
5442		return nil, err
5443	}
5444	if interceptor == nil {
5445		return srv.(V1Server).UserUpdate(ctx, in)
5446	}
5447	info := &grpc.UnaryServerInfo{
5448		Server:     srv,
5449		FullMethod: "/MurmurRPC.V1/UserUpdate",
5450	}
5451	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5452		return srv.(V1Server).UserUpdate(ctx, req.(*User))
5453	}
5454	return interceptor(ctx, in, info, handler)
5455}
5456
5457func _V1_UserKick_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5458	in := new(User_Kick)
5459	if err := dec(in); err != nil {
5460		return nil, err
5461	}
5462	if interceptor == nil {
5463		return srv.(V1Server).UserKick(ctx, in)
5464	}
5465	info := &grpc.UnaryServerInfo{
5466		Server:     srv,
5467		FullMethod: "/MurmurRPC.V1/UserKick",
5468	}
5469	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5470		return srv.(V1Server).UserKick(ctx, req.(*User_Kick))
5471	}
5472	return interceptor(ctx, in, info, handler)
5473}
5474
5475func _V1_TreeQuery_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5476	in := new(Tree_Query)
5477	if err := dec(in); err != nil {
5478		return nil, err
5479	}
5480	if interceptor == nil {
5481		return srv.(V1Server).TreeQuery(ctx, in)
5482	}
5483	info := &grpc.UnaryServerInfo{
5484		Server:     srv,
5485		FullMethod: "/MurmurRPC.V1/TreeQuery",
5486	}
5487	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5488		return srv.(V1Server).TreeQuery(ctx, req.(*Tree_Query))
5489	}
5490	return interceptor(ctx, in, info, handler)
5491}
5492
5493func _V1_BansGet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5494	in := new(Ban_Query)
5495	if err := dec(in); err != nil {
5496		return nil, err
5497	}
5498	if interceptor == nil {
5499		return srv.(V1Server).BansGet(ctx, in)
5500	}
5501	info := &grpc.UnaryServerInfo{
5502		Server:     srv,
5503		FullMethod: "/MurmurRPC.V1/BansGet",
5504	}
5505	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5506		return srv.(V1Server).BansGet(ctx, req.(*Ban_Query))
5507	}
5508	return interceptor(ctx, in, info, handler)
5509}
5510
5511func _V1_BansSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5512	in := new(Ban_List)
5513	if err := dec(in); err != nil {
5514		return nil, err
5515	}
5516	if interceptor == nil {
5517		return srv.(V1Server).BansSet(ctx, in)
5518	}
5519	info := &grpc.UnaryServerInfo{
5520		Server:     srv,
5521		FullMethod: "/MurmurRPC.V1/BansSet",
5522	}
5523	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5524		return srv.(V1Server).BansSet(ctx, req.(*Ban_List))
5525	}
5526	return interceptor(ctx, in, info, handler)
5527}
5528
5529func _V1_ACLGet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5530	in := new(Channel)
5531	if err := dec(in); err != nil {
5532		return nil, err
5533	}
5534	if interceptor == nil {
5535		return srv.(V1Server).ACLGet(ctx, in)
5536	}
5537	info := &grpc.UnaryServerInfo{
5538		Server:     srv,
5539		FullMethod: "/MurmurRPC.V1/ACLGet",
5540	}
5541	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5542		return srv.(V1Server).ACLGet(ctx, req.(*Channel))
5543	}
5544	return interceptor(ctx, in, info, handler)
5545}
5546
5547func _V1_ACLSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5548	in := new(ACL_List)
5549	if err := dec(in); err != nil {
5550		return nil, err
5551	}
5552	if interceptor == nil {
5553		return srv.(V1Server).ACLSet(ctx, in)
5554	}
5555	info := &grpc.UnaryServerInfo{
5556		Server:     srv,
5557		FullMethod: "/MurmurRPC.V1/ACLSet",
5558	}
5559	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5560		return srv.(V1Server).ACLSet(ctx, req.(*ACL_List))
5561	}
5562	return interceptor(ctx, in, info, handler)
5563}
5564
5565func _V1_ACLGetEffectivePermissions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5566	in := new(ACL_Query)
5567	if err := dec(in); err != nil {
5568		return nil, err
5569	}
5570	if interceptor == nil {
5571		return srv.(V1Server).ACLGetEffectivePermissions(ctx, in)
5572	}
5573	info := &grpc.UnaryServerInfo{
5574		Server:     srv,
5575		FullMethod: "/MurmurRPC.V1/ACLGetEffectivePermissions",
5576	}
5577	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5578		return srv.(V1Server).ACLGetEffectivePermissions(ctx, req.(*ACL_Query))
5579	}
5580	return interceptor(ctx, in, info, handler)
5581}
5582
5583func _V1_ACLAddTemporaryGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5584	in := new(ACL_TemporaryGroup)
5585	if err := dec(in); err != nil {
5586		return nil, err
5587	}
5588	if interceptor == nil {
5589		return srv.(V1Server).ACLAddTemporaryGroup(ctx, in)
5590	}
5591	info := &grpc.UnaryServerInfo{
5592		Server:     srv,
5593		FullMethod: "/MurmurRPC.V1/ACLAddTemporaryGroup",
5594	}
5595	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5596		return srv.(V1Server).ACLAddTemporaryGroup(ctx, req.(*ACL_TemporaryGroup))
5597	}
5598	return interceptor(ctx, in, info, handler)
5599}
5600
5601func _V1_ACLRemoveTemporaryGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5602	in := new(ACL_TemporaryGroup)
5603	if err := dec(in); err != nil {
5604		return nil, err
5605	}
5606	if interceptor == nil {
5607		return srv.(V1Server).ACLRemoveTemporaryGroup(ctx, in)
5608	}
5609	info := &grpc.UnaryServerInfo{
5610		Server:     srv,
5611		FullMethod: "/MurmurRPC.V1/ACLRemoveTemporaryGroup",
5612	}
5613	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5614		return srv.(V1Server).ACLRemoveTemporaryGroup(ctx, req.(*ACL_TemporaryGroup))
5615	}
5616	return interceptor(ctx, in, info, handler)
5617}
5618
5619func _V1_AuthenticatorStream_Handler(srv interface{}, stream grpc.ServerStream) error {
5620	return srv.(V1Server).AuthenticatorStream(&v1AuthenticatorStreamServer{stream})
5621}
5622
5623type V1_AuthenticatorStreamServer interface {
5624	Send(*Authenticator_Request) error
5625	Recv() (*Authenticator_Response, error)
5626	grpc.ServerStream
5627}
5628
5629type v1AuthenticatorStreamServer struct {
5630	grpc.ServerStream
5631}
5632
5633func (x *v1AuthenticatorStreamServer) Send(m *Authenticator_Request) error {
5634	return x.ServerStream.SendMsg(m)
5635}
5636
5637func (x *v1AuthenticatorStreamServer) Recv() (*Authenticator_Response, error) {
5638	m := new(Authenticator_Response)
5639	if err := x.ServerStream.RecvMsg(m); err != nil {
5640		return nil, err
5641	}
5642	return m, nil
5643}
5644
5645func _V1_DatabaseUserQuery_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5646	in := new(DatabaseUser_Query)
5647	if err := dec(in); err != nil {
5648		return nil, err
5649	}
5650	if interceptor == nil {
5651		return srv.(V1Server).DatabaseUserQuery(ctx, in)
5652	}
5653	info := &grpc.UnaryServerInfo{
5654		Server:     srv,
5655		FullMethod: "/MurmurRPC.V1/DatabaseUserQuery",
5656	}
5657	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5658		return srv.(V1Server).DatabaseUserQuery(ctx, req.(*DatabaseUser_Query))
5659	}
5660	return interceptor(ctx, in, info, handler)
5661}
5662
5663func _V1_DatabaseUserGet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5664	in := new(DatabaseUser)
5665	if err := dec(in); err != nil {
5666		return nil, err
5667	}
5668	if interceptor == nil {
5669		return srv.(V1Server).DatabaseUserGet(ctx, in)
5670	}
5671	info := &grpc.UnaryServerInfo{
5672		Server:     srv,
5673		FullMethod: "/MurmurRPC.V1/DatabaseUserGet",
5674	}
5675	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5676		return srv.(V1Server).DatabaseUserGet(ctx, req.(*DatabaseUser))
5677	}
5678	return interceptor(ctx, in, info, handler)
5679}
5680
5681func _V1_DatabaseUserUpdate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5682	in := new(DatabaseUser)
5683	if err := dec(in); err != nil {
5684		return nil, err
5685	}
5686	if interceptor == nil {
5687		return srv.(V1Server).DatabaseUserUpdate(ctx, in)
5688	}
5689	info := &grpc.UnaryServerInfo{
5690		Server:     srv,
5691		FullMethod: "/MurmurRPC.V1/DatabaseUserUpdate",
5692	}
5693	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5694		return srv.(V1Server).DatabaseUserUpdate(ctx, req.(*DatabaseUser))
5695	}
5696	return interceptor(ctx, in, info, handler)
5697}
5698
5699func _V1_DatabaseUserRegister_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5700	in := new(DatabaseUser)
5701	if err := dec(in); err != nil {
5702		return nil, err
5703	}
5704	if interceptor == nil {
5705		return srv.(V1Server).DatabaseUserRegister(ctx, in)
5706	}
5707	info := &grpc.UnaryServerInfo{
5708		Server:     srv,
5709		FullMethod: "/MurmurRPC.V1/DatabaseUserRegister",
5710	}
5711	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5712		return srv.(V1Server).DatabaseUserRegister(ctx, req.(*DatabaseUser))
5713	}
5714	return interceptor(ctx, in, info, handler)
5715}
5716
5717func _V1_DatabaseUserDeregister_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5718	in := new(DatabaseUser)
5719	if err := dec(in); err != nil {
5720		return nil, err
5721	}
5722	if interceptor == nil {
5723		return srv.(V1Server).DatabaseUserDeregister(ctx, in)
5724	}
5725	info := &grpc.UnaryServerInfo{
5726		Server:     srv,
5727		FullMethod: "/MurmurRPC.V1/DatabaseUserDeregister",
5728	}
5729	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5730		return srv.(V1Server).DatabaseUserDeregister(ctx, req.(*DatabaseUser))
5731	}
5732	return interceptor(ctx, in, info, handler)
5733}
5734
5735func _V1_DatabaseUserVerify_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5736	in := new(DatabaseUser_Verify)
5737	if err := dec(in); err != nil {
5738		return nil, err
5739	}
5740	if interceptor == nil {
5741		return srv.(V1Server).DatabaseUserVerify(ctx, in)
5742	}
5743	info := &grpc.UnaryServerInfo{
5744		Server:     srv,
5745		FullMethod: "/MurmurRPC.V1/DatabaseUserVerify",
5746	}
5747	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5748		return srv.(V1Server).DatabaseUserVerify(ctx, req.(*DatabaseUser_Verify))
5749	}
5750	return interceptor(ctx, in, info, handler)
5751}
5752
5753func _V1_RedirectWhisperGroupAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5754	in := new(RedirectWhisperGroup)
5755	if err := dec(in); err != nil {
5756		return nil, err
5757	}
5758	if interceptor == nil {
5759		return srv.(V1Server).RedirectWhisperGroupAdd(ctx, in)
5760	}
5761	info := &grpc.UnaryServerInfo{
5762		Server:     srv,
5763		FullMethod: "/MurmurRPC.V1/RedirectWhisperGroupAdd",
5764	}
5765	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5766		return srv.(V1Server).RedirectWhisperGroupAdd(ctx, req.(*RedirectWhisperGroup))
5767	}
5768	return interceptor(ctx, in, info, handler)
5769}
5770
5771func _V1_RedirectWhisperGroupRemove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
5772	in := new(RedirectWhisperGroup)
5773	if err := dec(in); err != nil {
5774		return nil, err
5775	}
5776	if interceptor == nil {
5777		return srv.(V1Server).RedirectWhisperGroupRemove(ctx, in)
5778	}
5779	info := &grpc.UnaryServerInfo{
5780		Server:     srv,
5781		FullMethod: "/MurmurRPC.V1/RedirectWhisperGroupRemove",
5782	}
5783	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
5784		return srv.(V1Server).RedirectWhisperGroupRemove(ctx, req.(*RedirectWhisperGroup))
5785	}
5786	return interceptor(ctx, in, info, handler)
5787}
5788
5789var _V1_serviceDesc = grpc.ServiceDesc{
5790	ServiceName: "MurmurRPC.V1",
5791	HandlerType: (*V1Server)(nil),
5792	Methods: []grpc.MethodDesc{
5793		{
5794			MethodName: "GetUptime",
5795			Handler:    _V1_GetUptime_Handler,
5796		},
5797		{
5798			MethodName: "GetVersion",
5799			Handler:    _V1_GetVersion_Handler,
5800		},
5801		{
5802			MethodName: "ServerCreate",
5803			Handler:    _V1_ServerCreate_Handler,
5804		},
5805		{
5806			MethodName: "ServerQuery",
5807			Handler:    _V1_ServerQuery_Handler,
5808		},
5809		{
5810			MethodName: "ServerGet",
5811			Handler:    _V1_ServerGet_Handler,
5812		},
5813		{
5814			MethodName: "ServerStart",
5815			Handler:    _V1_ServerStart_Handler,
5816		},
5817		{
5818			MethodName: "ServerStop",
5819			Handler:    _V1_ServerStop_Handler,
5820		},
5821		{
5822			MethodName: "ServerRemove",
5823			Handler:    _V1_ServerRemove_Handler,
5824		},
5825		{
5826			MethodName: "ContextActionAdd",
5827			Handler:    _V1_ContextActionAdd_Handler,
5828		},
5829		{
5830			MethodName: "ContextActionRemove",
5831			Handler:    _V1_ContextActionRemove_Handler,
5832		},
5833		{
5834			MethodName: "TextMessageSend",
5835			Handler:    _V1_TextMessageSend_Handler,
5836		},
5837		{
5838			MethodName: "LogQuery",
5839			Handler:    _V1_LogQuery_Handler,
5840		},
5841		{
5842			MethodName: "ConfigGet",
5843			Handler:    _V1_ConfigGet_Handler,
5844		},
5845		{
5846			MethodName: "ConfigGetField",
5847			Handler:    _V1_ConfigGetField_Handler,
5848		},
5849		{
5850			MethodName: "ConfigSetField",
5851			Handler:    _V1_ConfigSetField_Handler,
5852		},
5853		{
5854			MethodName: "ConfigGetDefault",
5855			Handler:    _V1_ConfigGetDefault_Handler,
5856		},
5857		{
5858			MethodName: "ChannelQuery",
5859			Handler:    _V1_ChannelQuery_Handler,
5860		},
5861		{
5862			MethodName: "ChannelGet",
5863			Handler:    _V1_ChannelGet_Handler,
5864		},
5865		{
5866			MethodName: "ChannelAdd",
5867			Handler:    _V1_ChannelAdd_Handler,
5868		},
5869		{
5870			MethodName: "ChannelRemove",
5871			Handler:    _V1_ChannelRemove_Handler,
5872		},
5873		{
5874			MethodName: "ChannelUpdate",
5875			Handler:    _V1_ChannelUpdate_Handler,
5876		},
5877		{
5878			MethodName: "UserQuery",
5879			Handler:    _V1_UserQuery_Handler,
5880		},
5881		{
5882			MethodName: "UserGet",
5883			Handler:    _V1_UserGet_Handler,
5884		},
5885		{
5886			MethodName: "UserUpdate",
5887			Handler:    _V1_UserUpdate_Handler,
5888		},
5889		{
5890			MethodName: "UserKick",
5891			Handler:    _V1_UserKick_Handler,
5892		},
5893		{
5894			MethodName: "TreeQuery",
5895			Handler:    _V1_TreeQuery_Handler,
5896		},
5897		{
5898			MethodName: "BansGet",
5899			Handler:    _V1_BansGet_Handler,
5900		},
5901		{
5902			MethodName: "BansSet",
5903			Handler:    _V1_BansSet_Handler,
5904		},
5905		{
5906			MethodName: "ACLGet",
5907			Handler:    _V1_ACLGet_Handler,
5908		},
5909		{
5910			MethodName: "ACLSet",
5911			Handler:    _V1_ACLSet_Handler,
5912		},
5913		{
5914			MethodName: "ACLGetEffectivePermissions",
5915			Handler:    _V1_ACLGetEffectivePermissions_Handler,
5916		},
5917		{
5918			MethodName: "ACLAddTemporaryGroup",
5919			Handler:    _V1_ACLAddTemporaryGroup_Handler,
5920		},
5921		{
5922			MethodName: "ACLRemoveTemporaryGroup",
5923			Handler:    _V1_ACLRemoveTemporaryGroup_Handler,
5924		},
5925		{
5926			MethodName: "DatabaseUserQuery",
5927			Handler:    _V1_DatabaseUserQuery_Handler,
5928		},
5929		{
5930			MethodName: "DatabaseUserGet",
5931			Handler:    _V1_DatabaseUserGet_Handler,
5932		},
5933		{
5934			MethodName: "DatabaseUserUpdate",
5935			Handler:    _V1_DatabaseUserUpdate_Handler,
5936		},
5937		{
5938			MethodName: "DatabaseUserRegister",
5939			Handler:    _V1_DatabaseUserRegister_Handler,
5940		},
5941		{
5942			MethodName: "DatabaseUserDeregister",
5943			Handler:    _V1_DatabaseUserDeregister_Handler,
5944		},
5945		{
5946			MethodName: "DatabaseUserVerify",
5947			Handler:    _V1_DatabaseUserVerify_Handler,
5948		},
5949		{
5950			MethodName: "RedirectWhisperGroupAdd",
5951			Handler:    _V1_RedirectWhisperGroupAdd_Handler,
5952		},
5953		{
5954			MethodName: "RedirectWhisperGroupRemove",
5955			Handler:    _V1_RedirectWhisperGroupRemove_Handler,
5956		},
5957	},
5958	Streams: []grpc.StreamDesc{
5959		{
5960			StreamName:    "Events",
5961			Handler:       _V1_Events_Handler,
5962			ServerStreams: true,
5963		},
5964		{
5965			StreamName:    "ServerEvents",
5966			Handler:       _V1_ServerEvents_Handler,
5967			ServerStreams: true,
5968		},
5969		{
5970			StreamName:    "ContextActionEvents",
5971			Handler:       _V1_ContextActionEvents_Handler,
5972			ServerStreams: true,
5973		},
5974		{
5975			StreamName:    "TextMessageFilter",
5976			Handler:       _V1_TextMessageFilter_Handler,
5977			ServerStreams: true,
5978			ClientStreams: true,
5979		},
5980		{
5981			StreamName:    "AuthenticatorStream",
5982			Handler:       _V1_AuthenticatorStream_Handler,
5983			ServerStreams: true,
5984			ClientStreams: true,
5985		},
5986	},
5987	Metadata: "MurmurRPC.proto",
5988}
5989