1// Copyright 2020 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// Code generated by protoc-gen-go. DO NOT EDIT.
16// versions:
17// 	protoc-gen-go v1.26.0
18// 	protoc        v3.12.2
19// source: google/api/expr/v1alpha1/conformance_service.proto
20
21package confpb
22
23import (
24	context "context"
25	reflect "reflect"
26	sync "sync"
27
28	v1alpha1 "google.golang.org/genproto/googleapis/api/expr/v1alpha1"
29	status "google.golang.org/genproto/googleapis/rpc/status"
30	grpc "google.golang.org/grpc"
31	codes "google.golang.org/grpc/codes"
32	status1 "google.golang.org/grpc/status"
33	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
34	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
35)
36
37const (
38	// Verify that this generated code is sufficiently up-to-date.
39	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
40	// Verify that runtime/protoimpl is sufficiently up-to-date.
41	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
42)
43
44// Severities of issues.
45type IssueDetails_Severity int32
46
47const (
48	// An unspecified severity.
49	IssueDetails_SEVERITY_UNSPECIFIED IssueDetails_Severity = 0
50	// Deprecation issue for statements and method that may no longer be
51	// supported or maintained.
52	IssueDetails_DEPRECATION IssueDetails_Severity = 1
53	// Warnings such as: unused variables.
54	IssueDetails_WARNING IssueDetails_Severity = 2
55	// Errors such as: unmatched curly braces or variable redefinition.
56	IssueDetails_ERROR IssueDetails_Severity = 3
57)
58
59// Enum value maps for IssueDetails_Severity.
60var (
61	IssueDetails_Severity_name = map[int32]string{
62		0: "SEVERITY_UNSPECIFIED",
63		1: "DEPRECATION",
64		2: "WARNING",
65		3: "ERROR",
66	}
67	IssueDetails_Severity_value = map[string]int32{
68		"SEVERITY_UNSPECIFIED": 0,
69		"DEPRECATION":          1,
70		"WARNING":              2,
71		"ERROR":                3,
72	}
73)
74
75func (x IssueDetails_Severity) Enum() *IssueDetails_Severity {
76	p := new(IssueDetails_Severity)
77	*p = x
78	return p
79}
80
81func (x IssueDetails_Severity) String() string {
82	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
83}
84
85func (IssueDetails_Severity) Descriptor() protoreflect.EnumDescriptor {
86	return file_google_api_expr_v1alpha1_conformance_service_proto_enumTypes[0].Descriptor()
87}
88
89func (IssueDetails_Severity) Type() protoreflect.EnumType {
90	return &file_google_api_expr_v1alpha1_conformance_service_proto_enumTypes[0]
91}
92
93func (x IssueDetails_Severity) Number() protoreflect.EnumNumber {
94	return protoreflect.EnumNumber(x)
95}
96
97// Deprecated: Use IssueDetails_Severity.Descriptor instead.
98func (IssueDetails_Severity) EnumDescriptor() ([]byte, []int) {
99	return file_google_api_expr_v1alpha1_conformance_service_proto_rawDescGZIP(), []int{6, 0}
100}
101
102// Request message for the Parse method.
103type ParseRequest struct {
104	state         protoimpl.MessageState
105	sizeCache     protoimpl.SizeCache
106	unknownFields protoimpl.UnknownFields
107
108	// Required. Source text in CEL syntax.
109	CelSource string `protobuf:"bytes,1,opt,name=cel_source,json=celSource,proto3" json:"cel_source,omitempty"`
110	// Tag for version of CEL syntax, for future use.
111	SyntaxVersion string `protobuf:"bytes,2,opt,name=syntax_version,json=syntaxVersion,proto3" json:"syntax_version,omitempty"`
112	// File or resource for source text, used in [SourceInfo][google.api.expr.v1alpha1.SourceInfo].
113	SourceLocation string `protobuf:"bytes,3,opt,name=source_location,json=sourceLocation,proto3" json:"source_location,omitempty"`
114	// Prevent macro expansion.  See "Macros" in Language Defiinition.
115	DisableMacros bool `protobuf:"varint,4,opt,name=disable_macros,json=disableMacros,proto3" json:"disable_macros,omitempty"`
116}
117
118func (x *ParseRequest) Reset() {
119	*x = ParseRequest{}
120	if protoimpl.UnsafeEnabled {
121		mi := &file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes[0]
122		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
123		ms.StoreMessageInfo(mi)
124	}
125}
126
127func (x *ParseRequest) String() string {
128	return protoimpl.X.MessageStringOf(x)
129}
130
131func (*ParseRequest) ProtoMessage() {}
132
133func (x *ParseRequest) ProtoReflect() protoreflect.Message {
134	mi := &file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes[0]
135	if protoimpl.UnsafeEnabled && x != nil {
136		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
137		if ms.LoadMessageInfo() == nil {
138			ms.StoreMessageInfo(mi)
139		}
140		return ms
141	}
142	return mi.MessageOf(x)
143}
144
145// Deprecated: Use ParseRequest.ProtoReflect.Descriptor instead.
146func (*ParseRequest) Descriptor() ([]byte, []int) {
147	return file_google_api_expr_v1alpha1_conformance_service_proto_rawDescGZIP(), []int{0}
148}
149
150func (x *ParseRequest) GetCelSource() string {
151	if x != nil {
152		return x.CelSource
153	}
154	return ""
155}
156
157func (x *ParseRequest) GetSyntaxVersion() string {
158	if x != nil {
159		return x.SyntaxVersion
160	}
161	return ""
162}
163
164func (x *ParseRequest) GetSourceLocation() string {
165	if x != nil {
166		return x.SourceLocation
167	}
168	return ""
169}
170
171func (x *ParseRequest) GetDisableMacros() bool {
172	if x != nil {
173		return x.DisableMacros
174	}
175	return false
176}
177
178// Response message for the Parse method.
179type ParseResponse struct {
180	state         protoimpl.MessageState
181	sizeCache     protoimpl.SizeCache
182	unknownFields protoimpl.UnknownFields
183
184	// The parsed representation, or unset if parsing failed.
185	ParsedExpr *v1alpha1.ParsedExpr `protobuf:"bytes,1,opt,name=parsed_expr,json=parsedExpr,proto3" json:"parsed_expr,omitempty"`
186	// Any number of issues with [StatusDetails][] as the details.
187	Issues []*status.Status `protobuf:"bytes,2,rep,name=issues,proto3" json:"issues,omitempty"`
188}
189
190func (x *ParseResponse) Reset() {
191	*x = ParseResponse{}
192	if protoimpl.UnsafeEnabled {
193		mi := &file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes[1]
194		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
195		ms.StoreMessageInfo(mi)
196	}
197}
198
199func (x *ParseResponse) String() string {
200	return protoimpl.X.MessageStringOf(x)
201}
202
203func (*ParseResponse) ProtoMessage() {}
204
205func (x *ParseResponse) ProtoReflect() protoreflect.Message {
206	mi := &file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes[1]
207	if protoimpl.UnsafeEnabled && x != nil {
208		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
209		if ms.LoadMessageInfo() == nil {
210			ms.StoreMessageInfo(mi)
211		}
212		return ms
213	}
214	return mi.MessageOf(x)
215}
216
217// Deprecated: Use ParseResponse.ProtoReflect.Descriptor instead.
218func (*ParseResponse) Descriptor() ([]byte, []int) {
219	return file_google_api_expr_v1alpha1_conformance_service_proto_rawDescGZIP(), []int{1}
220}
221
222func (x *ParseResponse) GetParsedExpr() *v1alpha1.ParsedExpr {
223	if x != nil {
224		return x.ParsedExpr
225	}
226	return nil
227}
228
229func (x *ParseResponse) GetIssues() []*status.Status {
230	if x != nil {
231		return x.Issues
232	}
233	return nil
234}
235
236// Request message for the Check method.
237type CheckRequest struct {
238	state         protoimpl.MessageState
239	sizeCache     protoimpl.SizeCache
240	unknownFields protoimpl.UnknownFields
241
242	// Required. The parsed representation of the CEL program.
243	ParsedExpr *v1alpha1.ParsedExpr `protobuf:"bytes,1,opt,name=parsed_expr,json=parsedExpr,proto3" json:"parsed_expr,omitempty"`
244	// Declarations of types for external variables and functions.
245	// Required if program uses external variables or functions
246	// not in the default environment.
247	TypeEnv []*v1alpha1.Decl `protobuf:"bytes,2,rep,name=type_env,json=typeEnv,proto3" json:"type_env,omitempty"`
248	// The protocol buffer context.  See "Name Resolution" in the
249	// Language Definition.
250	Container string `protobuf:"bytes,3,opt,name=container,proto3" json:"container,omitempty"`
251	// If true, use only the declarations in [type_env][google.api.expr.v1alpha1.CheckRequest.type_env].  If false (default),
252	// add declarations for the standard definitions to the type environment.  See
253	// "Standard Definitions" in the Language Definition.
254	NoStdEnv bool `protobuf:"varint,4,opt,name=no_std_env,json=noStdEnv,proto3" json:"no_std_env,omitempty"`
255}
256
257func (x *CheckRequest) Reset() {
258	*x = CheckRequest{}
259	if protoimpl.UnsafeEnabled {
260		mi := &file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes[2]
261		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
262		ms.StoreMessageInfo(mi)
263	}
264}
265
266func (x *CheckRequest) String() string {
267	return protoimpl.X.MessageStringOf(x)
268}
269
270func (*CheckRequest) ProtoMessage() {}
271
272func (x *CheckRequest) ProtoReflect() protoreflect.Message {
273	mi := &file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes[2]
274	if protoimpl.UnsafeEnabled && x != nil {
275		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
276		if ms.LoadMessageInfo() == nil {
277			ms.StoreMessageInfo(mi)
278		}
279		return ms
280	}
281	return mi.MessageOf(x)
282}
283
284// Deprecated: Use CheckRequest.ProtoReflect.Descriptor instead.
285func (*CheckRequest) Descriptor() ([]byte, []int) {
286	return file_google_api_expr_v1alpha1_conformance_service_proto_rawDescGZIP(), []int{2}
287}
288
289func (x *CheckRequest) GetParsedExpr() *v1alpha1.ParsedExpr {
290	if x != nil {
291		return x.ParsedExpr
292	}
293	return nil
294}
295
296func (x *CheckRequest) GetTypeEnv() []*v1alpha1.Decl {
297	if x != nil {
298		return x.TypeEnv
299	}
300	return nil
301}
302
303func (x *CheckRequest) GetContainer() string {
304	if x != nil {
305		return x.Container
306	}
307	return ""
308}
309
310func (x *CheckRequest) GetNoStdEnv() bool {
311	if x != nil {
312		return x.NoStdEnv
313	}
314	return false
315}
316
317// Response message for the Check method.
318type CheckResponse struct {
319	state         protoimpl.MessageState
320	sizeCache     protoimpl.SizeCache
321	unknownFields protoimpl.UnknownFields
322
323	// The annotated representation, or unset if checking failed.
324	CheckedExpr *v1alpha1.CheckedExpr `protobuf:"bytes,1,opt,name=checked_expr,json=checkedExpr,proto3" json:"checked_expr,omitempty"`
325	// Any number of issues with [StatusDetails][] as the details.
326	Issues []*status.Status `protobuf:"bytes,2,rep,name=issues,proto3" json:"issues,omitempty"`
327}
328
329func (x *CheckResponse) Reset() {
330	*x = CheckResponse{}
331	if protoimpl.UnsafeEnabled {
332		mi := &file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes[3]
333		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
334		ms.StoreMessageInfo(mi)
335	}
336}
337
338func (x *CheckResponse) String() string {
339	return protoimpl.X.MessageStringOf(x)
340}
341
342func (*CheckResponse) ProtoMessage() {}
343
344func (x *CheckResponse) ProtoReflect() protoreflect.Message {
345	mi := &file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes[3]
346	if protoimpl.UnsafeEnabled && x != nil {
347		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
348		if ms.LoadMessageInfo() == nil {
349			ms.StoreMessageInfo(mi)
350		}
351		return ms
352	}
353	return mi.MessageOf(x)
354}
355
356// Deprecated: Use CheckResponse.ProtoReflect.Descriptor instead.
357func (*CheckResponse) Descriptor() ([]byte, []int) {
358	return file_google_api_expr_v1alpha1_conformance_service_proto_rawDescGZIP(), []int{3}
359}
360
361func (x *CheckResponse) GetCheckedExpr() *v1alpha1.CheckedExpr {
362	if x != nil {
363		return x.CheckedExpr
364	}
365	return nil
366}
367
368func (x *CheckResponse) GetIssues() []*status.Status {
369	if x != nil {
370		return x.Issues
371	}
372	return nil
373}
374
375// Request message for the Eval method.
376type EvalRequest struct {
377	state         protoimpl.MessageState
378	sizeCache     protoimpl.SizeCache
379	unknownFields protoimpl.UnknownFields
380
381	// Required. Either the parsed or annotated representation of the CEL program.
382	//
383	// Types that are assignable to ExprKind:
384	//	*EvalRequest_ParsedExpr
385	//	*EvalRequest_CheckedExpr
386	ExprKind isEvalRequest_ExprKind `protobuf_oneof:"expr_kind"`
387	// Bindings for the external variables.  The types SHOULD be compatible
388	// with the type environment in [CheckRequest][google.api.expr.v1alpha1.CheckRequest], if checked.
389	Bindings map[string]*v1alpha1.ExprValue `protobuf:"bytes,3,rep,name=bindings,proto3" json:"bindings,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
390	// SHOULD be the same container as used in [CheckRequest][google.api.expr.v1alpha1.CheckRequest], if checked.
391	Container string `protobuf:"bytes,4,opt,name=container,proto3" json:"container,omitempty"`
392}
393
394func (x *EvalRequest) Reset() {
395	*x = EvalRequest{}
396	if protoimpl.UnsafeEnabled {
397		mi := &file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes[4]
398		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
399		ms.StoreMessageInfo(mi)
400	}
401}
402
403func (x *EvalRequest) String() string {
404	return protoimpl.X.MessageStringOf(x)
405}
406
407func (*EvalRequest) ProtoMessage() {}
408
409func (x *EvalRequest) ProtoReflect() protoreflect.Message {
410	mi := &file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes[4]
411	if protoimpl.UnsafeEnabled && x != nil {
412		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
413		if ms.LoadMessageInfo() == nil {
414			ms.StoreMessageInfo(mi)
415		}
416		return ms
417	}
418	return mi.MessageOf(x)
419}
420
421// Deprecated: Use EvalRequest.ProtoReflect.Descriptor instead.
422func (*EvalRequest) Descriptor() ([]byte, []int) {
423	return file_google_api_expr_v1alpha1_conformance_service_proto_rawDescGZIP(), []int{4}
424}
425
426func (m *EvalRequest) GetExprKind() isEvalRequest_ExprKind {
427	if m != nil {
428		return m.ExprKind
429	}
430	return nil
431}
432
433func (x *EvalRequest) GetParsedExpr() *v1alpha1.ParsedExpr {
434	if x, ok := x.GetExprKind().(*EvalRequest_ParsedExpr); ok {
435		return x.ParsedExpr
436	}
437	return nil
438}
439
440func (x *EvalRequest) GetCheckedExpr() *v1alpha1.CheckedExpr {
441	if x, ok := x.GetExprKind().(*EvalRequest_CheckedExpr); ok {
442		return x.CheckedExpr
443	}
444	return nil
445}
446
447func (x *EvalRequest) GetBindings() map[string]*v1alpha1.ExprValue {
448	if x != nil {
449		return x.Bindings
450	}
451	return nil
452}
453
454func (x *EvalRequest) GetContainer() string {
455	if x != nil {
456		return x.Container
457	}
458	return ""
459}
460
461type isEvalRequest_ExprKind interface {
462	isEvalRequest_ExprKind()
463}
464
465type EvalRequest_ParsedExpr struct {
466	// Evaluate based on the parsed representation.
467	ParsedExpr *v1alpha1.ParsedExpr `protobuf:"bytes,1,opt,name=parsed_expr,json=parsedExpr,proto3,oneof"`
468}
469
470type EvalRequest_CheckedExpr struct {
471	// Evaluate based on the checked representation.
472	CheckedExpr *v1alpha1.CheckedExpr `protobuf:"bytes,2,opt,name=checked_expr,json=checkedExpr,proto3,oneof"`
473}
474
475func (*EvalRequest_ParsedExpr) isEvalRequest_ExprKind() {}
476
477func (*EvalRequest_CheckedExpr) isEvalRequest_ExprKind() {}
478
479// Response message for the Eval method.
480type EvalResponse struct {
481	state         protoimpl.MessageState
482	sizeCache     protoimpl.SizeCache
483	unknownFields protoimpl.UnknownFields
484
485	// The execution result, or unset if execution couldn't start.
486	Result *v1alpha1.ExprValue `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"`
487	// Any number of issues with [StatusDetails][] as the details.
488	// Note that CEL execution errors are reified into [ExprValue][google.api.expr.v1alpha1.ExprValue].
489	// Nevertheless, we'll allow out-of-band issues to be raised,
490	// which also makes the replies more regular.
491	Issues []*status.Status `protobuf:"bytes,2,rep,name=issues,proto3" json:"issues,omitempty"`
492}
493
494func (x *EvalResponse) Reset() {
495	*x = EvalResponse{}
496	if protoimpl.UnsafeEnabled {
497		mi := &file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes[5]
498		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
499		ms.StoreMessageInfo(mi)
500	}
501}
502
503func (x *EvalResponse) String() string {
504	return protoimpl.X.MessageStringOf(x)
505}
506
507func (*EvalResponse) ProtoMessage() {}
508
509func (x *EvalResponse) ProtoReflect() protoreflect.Message {
510	mi := &file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes[5]
511	if protoimpl.UnsafeEnabled && x != nil {
512		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
513		if ms.LoadMessageInfo() == nil {
514			ms.StoreMessageInfo(mi)
515		}
516		return ms
517	}
518	return mi.MessageOf(x)
519}
520
521// Deprecated: Use EvalResponse.ProtoReflect.Descriptor instead.
522func (*EvalResponse) Descriptor() ([]byte, []int) {
523	return file_google_api_expr_v1alpha1_conformance_service_proto_rawDescGZIP(), []int{5}
524}
525
526func (x *EvalResponse) GetResult() *v1alpha1.ExprValue {
527	if x != nil {
528		return x.Result
529	}
530	return nil
531}
532
533func (x *EvalResponse) GetIssues() []*status.Status {
534	if x != nil {
535		return x.Issues
536	}
537	return nil
538}
539
540// Warnings or errors in service execution are represented by
541// [google.rpc.Status][google.rpc.Status] messages, with the following message
542// in the details field.
543type IssueDetails struct {
544	state         protoimpl.MessageState
545	sizeCache     protoimpl.SizeCache
546	unknownFields protoimpl.UnknownFields
547
548	// The severity of the issue.
549	Severity IssueDetails_Severity `protobuf:"varint,1,opt,name=severity,proto3,enum=google.api.expr.v1alpha1.IssueDetails_Severity" json:"severity,omitempty"`
550	// Position in the source, if known.
551	Position *v1alpha1.SourcePosition `protobuf:"bytes,2,opt,name=position,proto3" json:"position,omitempty"`
552	// Expression ID from [Expr][google.api.expr.v1alpha1.Expr], 0 if unknown.
553	Id int64 `protobuf:"varint,3,opt,name=id,proto3" json:"id,omitempty"`
554}
555
556func (x *IssueDetails) Reset() {
557	*x = IssueDetails{}
558	if protoimpl.UnsafeEnabled {
559		mi := &file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes[6]
560		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
561		ms.StoreMessageInfo(mi)
562	}
563}
564
565func (x *IssueDetails) String() string {
566	return protoimpl.X.MessageStringOf(x)
567}
568
569func (*IssueDetails) ProtoMessage() {}
570
571func (x *IssueDetails) ProtoReflect() protoreflect.Message {
572	mi := &file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes[6]
573	if protoimpl.UnsafeEnabled && x != nil {
574		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
575		if ms.LoadMessageInfo() == nil {
576			ms.StoreMessageInfo(mi)
577		}
578		return ms
579	}
580	return mi.MessageOf(x)
581}
582
583// Deprecated: Use IssueDetails.ProtoReflect.Descriptor instead.
584func (*IssueDetails) Descriptor() ([]byte, []int) {
585	return file_google_api_expr_v1alpha1_conformance_service_proto_rawDescGZIP(), []int{6}
586}
587
588func (x *IssueDetails) GetSeverity() IssueDetails_Severity {
589	if x != nil {
590		return x.Severity
591	}
592	return IssueDetails_SEVERITY_UNSPECIFIED
593}
594
595func (x *IssueDetails) GetPosition() *v1alpha1.SourcePosition {
596	if x != nil {
597		return x.Position
598	}
599	return nil
600}
601
602func (x *IssueDetails) GetId() int64 {
603	if x != nil {
604		return x.Id
605	}
606	return 0
607}
608
609var File_google_api_expr_v1alpha1_conformance_service_proto protoreflect.FileDescriptor
610
611var file_google_api_expr_v1alpha1_conformance_service_proto_rawDesc = []byte{
612	0x0a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x78, 0x70,
613	0x72, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x6f,
614	0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70,
615	0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69,
616	0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x1a, 0x26,
617	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f,
618	0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64,
619	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61,
620	0x70, 0x69, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31,
621	0x2f, 0x65, 0x76, 0x61, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x67, 0x6f, 0x6f,
622	0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x76, 0x31, 0x61,
623	0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x2e, 0x70, 0x72, 0x6f,
624	0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73,
625	0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa4, 0x01, 0x0a, 0x0c,
626	0x50, 0x61, 0x72, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a,
627	0x63, 0x65, 0x6c, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
628	0x52, 0x09, 0x63, 0x65, 0x6c, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x73,
629	0x79, 0x6e, 0x74, 0x61, 0x78, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20,
630	0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x56, 0x65, 0x72, 0x73, 0x69,
631	0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x6f, 0x63,
632	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x6f, 0x75,
633	0x72, 0x63, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x64,
634	0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x73, 0x18, 0x04, 0x20,
635	0x01, 0x28, 0x08, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x63, 0x72,
636	0x6f, 0x73, 0x22, 0x82, 0x01, 0x0a, 0x0d, 0x50, 0x61, 0x72, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70,
637	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x73, 0x65, 0x64, 0x5f, 0x65,
638	0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
639	0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c,
640	0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x64, 0x45, 0x78, 0x70, 0x72, 0x52,
641	0x0a, 0x70, 0x61, 0x72, 0x73, 0x65, 0x64, 0x45, 0x78, 0x70, 0x72, 0x12, 0x2a, 0x0a, 0x06, 0x69,
642	0x73, 0x73, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f,
643	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52,
644	0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x22, 0xcc, 0x01, 0x0a, 0x0c, 0x43, 0x68, 0x65, 0x63,
645	0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x73,
646	0x65, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e,
647	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e,
648	0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x64, 0x45,
649	0x78, 0x70, 0x72, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x73, 0x65, 0x64, 0x45, 0x78, 0x70, 0x72, 0x12,
650	0x39, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x65, 0x6e, 0x76, 0x18, 0x02, 0x20, 0x03, 0x28,
651	0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65,
652	0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x63,
653	0x6c, 0x52, 0x07, 0x74, 0x79, 0x70, 0x65, 0x45, 0x6e, 0x76, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f,
654	0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63,
655	0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x0a, 0x6e, 0x6f, 0x5f, 0x73,
656	0x74, 0x64, 0x5f, 0x65, 0x6e, 0x76, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6e, 0x6f,
657	0x53, 0x74, 0x64, 0x45, 0x6e, 0x76, 0x22, 0x85, 0x01, 0x0a, 0x0d, 0x43, 0x68, 0x65, 0x63, 0x6b,
658	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x0c, 0x63, 0x68, 0x65, 0x63,
659	0x6b, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25,
660	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72,
661	0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65,
662	0x64, 0x45, 0x78, 0x70, 0x72, 0x52, 0x0b, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78,
663	0x70, 0x72, 0x12, 0x2a, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03,
664	0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e,
665	0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x22, 0x80,
666	0x03, 0x0a, 0x0b, 0x45, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x47,
667	0x0a, 0x0b, 0x70, 0x61, 0x72, 0x73, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20,
668	0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69,
669	0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50,
670	0x61, 0x72, 0x73, 0x65, 0x64, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x61, 0x72,
671	0x73, 0x65, 0x64, 0x45, 0x78, 0x70, 0x72, 0x12, 0x4a, 0x0a, 0x0c, 0x63, 0x68, 0x65, 0x63, 0x6b,
672	0x65, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e,
673	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e,
674	0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64,
675	0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x45,
676	0x78, 0x70, 0x72, 0x12, 0x4f, 0x0a, 0x08, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18,
677	0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61,
678	0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31,
679	0x2e, 0x45, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x42, 0x69, 0x6e,
680	0x64, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x62, 0x69, 0x6e, 0x64,
681	0x69, 0x6e, 0x67, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65,
682	0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e,
683	0x65, 0x72, 0x1a, 0x60, 0x0a, 0x0d, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e,
684	0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
685	0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x39, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
686	0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70,
687	0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e,
688	0x45, 0x78, 0x70, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
689	0x3a, 0x02, 0x38, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x65, 0x78, 0x70, 0x72, 0x5f, 0x6b, 0x69, 0x6e,
690	0x64, 0x22, 0x77, 0x0a, 0x0c, 0x45, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
691	0x65, 0x12, 0x3b, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
692	0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65,
693	0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70,
694	0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2a,
695	0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12,
696	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74,
697	0x75, 0x73, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x22, 0x80, 0x02, 0x0a, 0x0c, 0x49,
698	0x73, 0x73, 0x75, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x4b, 0x0a, 0x08, 0x73,
699	0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e,
700	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e,
701	0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x49, 0x73, 0x73, 0x75, 0x65, 0x44, 0x65,
702	0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x52, 0x08,
703	0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x44, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69,
704	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f,
705	0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61,
706	0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x73, 0x69,
707	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e,
708	0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x4d,
709	0x0a, 0x08, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x45,
710	0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49,
711	0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x45, 0x50, 0x52, 0x45, 0x43, 0x41, 0x54,
712	0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47,
713	0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x32, 0xa5, 0x02,
714	0x0a, 0x12, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x65, 0x72,
715	0x76, 0x69, 0x63, 0x65, 0x12, 0x5a, 0x0a, 0x05, 0x50, 0x61, 0x72, 0x73, 0x65, 0x12, 0x26, 0x2e,
716	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e,
717	0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x52, 0x65,
718	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61,
719	0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31,
720	0x2e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
721	0x12, 0x5a, 0x0a, 0x05, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
722	0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c,
723	0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
724	0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65,
725	0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x68, 0x65,
726	0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x04,
727	0x45, 0x76, 0x61, 0x6c, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70,
728	0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e,
729	0x45, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f,
730	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31,
731	0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f,
732	0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x88, 0x01, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f,
733	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31,
734	0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, 0x17, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61,
735	0x6e, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50,
736	0x01, 0x5a, 0x4a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67,
737	0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f,
738	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x78, 0x70,
739	0x72, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x76, 0x31,
740	0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x3b, 0x63, 0x6f, 0x6e, 0x66, 0x70, 0x62, 0xf8, 0x01, 0x01,
741	0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
742}
743
744var (
745	file_google_api_expr_v1alpha1_conformance_service_proto_rawDescOnce sync.Once
746	file_google_api_expr_v1alpha1_conformance_service_proto_rawDescData = file_google_api_expr_v1alpha1_conformance_service_proto_rawDesc
747)
748
749func file_google_api_expr_v1alpha1_conformance_service_proto_rawDescGZIP() []byte {
750	file_google_api_expr_v1alpha1_conformance_service_proto_rawDescOnce.Do(func() {
751		file_google_api_expr_v1alpha1_conformance_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_api_expr_v1alpha1_conformance_service_proto_rawDescData)
752	})
753	return file_google_api_expr_v1alpha1_conformance_service_proto_rawDescData
754}
755
756var file_google_api_expr_v1alpha1_conformance_service_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
757var file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
758var file_google_api_expr_v1alpha1_conformance_service_proto_goTypes = []interface{}{
759	(IssueDetails_Severity)(0),      // 0: google.api.expr.v1alpha1.IssueDetails.Severity
760	(*ParseRequest)(nil),            // 1: google.api.expr.v1alpha1.ParseRequest
761	(*ParseResponse)(nil),           // 2: google.api.expr.v1alpha1.ParseResponse
762	(*CheckRequest)(nil),            // 3: google.api.expr.v1alpha1.CheckRequest
763	(*CheckResponse)(nil),           // 4: google.api.expr.v1alpha1.CheckResponse
764	(*EvalRequest)(nil),             // 5: google.api.expr.v1alpha1.EvalRequest
765	(*EvalResponse)(nil),            // 6: google.api.expr.v1alpha1.EvalResponse
766	(*IssueDetails)(nil),            // 7: google.api.expr.v1alpha1.IssueDetails
767	nil,                             // 8: google.api.expr.v1alpha1.EvalRequest.BindingsEntry
768	(*v1alpha1.ParsedExpr)(nil),     // 9: google.api.expr.v1alpha1.ParsedExpr
769	(*status.Status)(nil),           // 10: google.rpc.Status
770	(*v1alpha1.Decl)(nil),           // 11: google.api.expr.v1alpha1.Decl
771	(*v1alpha1.CheckedExpr)(nil),    // 12: google.api.expr.v1alpha1.CheckedExpr
772	(*v1alpha1.ExprValue)(nil),      // 13: google.api.expr.v1alpha1.ExprValue
773	(*v1alpha1.SourcePosition)(nil), // 14: google.api.expr.v1alpha1.SourcePosition
774}
775var file_google_api_expr_v1alpha1_conformance_service_proto_depIdxs = []int32{
776	9,  // 0: google.api.expr.v1alpha1.ParseResponse.parsed_expr:type_name -> google.api.expr.v1alpha1.ParsedExpr
777	10, // 1: google.api.expr.v1alpha1.ParseResponse.issues:type_name -> google.rpc.Status
778	9,  // 2: google.api.expr.v1alpha1.CheckRequest.parsed_expr:type_name -> google.api.expr.v1alpha1.ParsedExpr
779	11, // 3: google.api.expr.v1alpha1.CheckRequest.type_env:type_name -> google.api.expr.v1alpha1.Decl
780	12, // 4: google.api.expr.v1alpha1.CheckResponse.checked_expr:type_name -> google.api.expr.v1alpha1.CheckedExpr
781	10, // 5: google.api.expr.v1alpha1.CheckResponse.issues:type_name -> google.rpc.Status
782	9,  // 6: google.api.expr.v1alpha1.EvalRequest.parsed_expr:type_name -> google.api.expr.v1alpha1.ParsedExpr
783	12, // 7: google.api.expr.v1alpha1.EvalRequest.checked_expr:type_name -> google.api.expr.v1alpha1.CheckedExpr
784	8,  // 8: google.api.expr.v1alpha1.EvalRequest.bindings:type_name -> google.api.expr.v1alpha1.EvalRequest.BindingsEntry
785	13, // 9: google.api.expr.v1alpha1.EvalResponse.result:type_name -> google.api.expr.v1alpha1.ExprValue
786	10, // 10: google.api.expr.v1alpha1.EvalResponse.issues:type_name -> google.rpc.Status
787	0,  // 11: google.api.expr.v1alpha1.IssueDetails.severity:type_name -> google.api.expr.v1alpha1.IssueDetails.Severity
788	14, // 12: google.api.expr.v1alpha1.IssueDetails.position:type_name -> google.api.expr.v1alpha1.SourcePosition
789	13, // 13: google.api.expr.v1alpha1.EvalRequest.BindingsEntry.value:type_name -> google.api.expr.v1alpha1.ExprValue
790	1,  // 14: google.api.expr.v1alpha1.ConformanceService.Parse:input_type -> google.api.expr.v1alpha1.ParseRequest
791	3,  // 15: google.api.expr.v1alpha1.ConformanceService.Check:input_type -> google.api.expr.v1alpha1.CheckRequest
792	5,  // 16: google.api.expr.v1alpha1.ConformanceService.Eval:input_type -> google.api.expr.v1alpha1.EvalRequest
793	2,  // 17: google.api.expr.v1alpha1.ConformanceService.Parse:output_type -> google.api.expr.v1alpha1.ParseResponse
794	4,  // 18: google.api.expr.v1alpha1.ConformanceService.Check:output_type -> google.api.expr.v1alpha1.CheckResponse
795	6,  // 19: google.api.expr.v1alpha1.ConformanceService.Eval:output_type -> google.api.expr.v1alpha1.EvalResponse
796	17, // [17:20] is the sub-list for method output_type
797	14, // [14:17] is the sub-list for method input_type
798	14, // [14:14] is the sub-list for extension type_name
799	14, // [14:14] is the sub-list for extension extendee
800	0,  // [0:14] is the sub-list for field type_name
801}
802
803func init() { file_google_api_expr_v1alpha1_conformance_service_proto_init() }
804func file_google_api_expr_v1alpha1_conformance_service_proto_init() {
805	if File_google_api_expr_v1alpha1_conformance_service_proto != nil {
806		return
807	}
808	if !protoimpl.UnsafeEnabled {
809		file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
810			switch v := v.(*ParseRequest); i {
811			case 0:
812				return &v.state
813			case 1:
814				return &v.sizeCache
815			case 2:
816				return &v.unknownFields
817			default:
818				return nil
819			}
820		}
821		file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
822			switch v := v.(*ParseResponse); i {
823			case 0:
824				return &v.state
825			case 1:
826				return &v.sizeCache
827			case 2:
828				return &v.unknownFields
829			default:
830				return nil
831			}
832		}
833		file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
834			switch v := v.(*CheckRequest); i {
835			case 0:
836				return &v.state
837			case 1:
838				return &v.sizeCache
839			case 2:
840				return &v.unknownFields
841			default:
842				return nil
843			}
844		}
845		file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
846			switch v := v.(*CheckResponse); i {
847			case 0:
848				return &v.state
849			case 1:
850				return &v.sizeCache
851			case 2:
852				return &v.unknownFields
853			default:
854				return nil
855			}
856		}
857		file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
858			switch v := v.(*EvalRequest); i {
859			case 0:
860				return &v.state
861			case 1:
862				return &v.sizeCache
863			case 2:
864				return &v.unknownFields
865			default:
866				return nil
867			}
868		}
869		file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
870			switch v := v.(*EvalResponse); i {
871			case 0:
872				return &v.state
873			case 1:
874				return &v.sizeCache
875			case 2:
876				return &v.unknownFields
877			default:
878				return nil
879			}
880		}
881		file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
882			switch v := v.(*IssueDetails); i {
883			case 0:
884				return &v.state
885			case 1:
886				return &v.sizeCache
887			case 2:
888				return &v.unknownFields
889			default:
890				return nil
891			}
892		}
893	}
894	file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes[4].OneofWrappers = []interface{}{
895		(*EvalRequest_ParsedExpr)(nil),
896		(*EvalRequest_CheckedExpr)(nil),
897	}
898	type x struct{}
899	out := protoimpl.TypeBuilder{
900		File: protoimpl.DescBuilder{
901			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
902			RawDescriptor: file_google_api_expr_v1alpha1_conformance_service_proto_rawDesc,
903			NumEnums:      1,
904			NumMessages:   8,
905			NumExtensions: 0,
906			NumServices:   1,
907		},
908		GoTypes:           file_google_api_expr_v1alpha1_conformance_service_proto_goTypes,
909		DependencyIndexes: file_google_api_expr_v1alpha1_conformance_service_proto_depIdxs,
910		EnumInfos:         file_google_api_expr_v1alpha1_conformance_service_proto_enumTypes,
911		MessageInfos:      file_google_api_expr_v1alpha1_conformance_service_proto_msgTypes,
912	}.Build()
913	File_google_api_expr_v1alpha1_conformance_service_proto = out.File
914	file_google_api_expr_v1alpha1_conformance_service_proto_rawDesc = nil
915	file_google_api_expr_v1alpha1_conformance_service_proto_goTypes = nil
916	file_google_api_expr_v1alpha1_conformance_service_proto_depIdxs = nil
917}
918
919// Reference imports to suppress errors if they are not otherwise used.
920var _ context.Context
921var _ grpc.ClientConnInterface
922
923// This is a compile-time assertion to ensure that this generated file
924// is compatible with the grpc package it is being compiled against.
925const _ = grpc.SupportPackageIsVersion6
926
927// ConformanceServiceClient is the client API for ConformanceService service.
928//
929// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
930type ConformanceServiceClient interface {
931	// Transforms CEL source text into a parsed representation.
932	Parse(ctx context.Context, in *ParseRequest, opts ...grpc.CallOption) (*ParseResponse, error)
933	// Runs static checks on a parsed CEL representation and return
934	// an annotated representation, or a set of issues.
935	Check(ctx context.Context, in *CheckRequest, opts ...grpc.CallOption) (*CheckResponse, error)
936	// Evaluates a parsed or annotation CEL representation given
937	// values of external bindings.
938	Eval(ctx context.Context, in *EvalRequest, opts ...grpc.CallOption) (*EvalResponse, error)
939}
940
941type conformanceServiceClient struct {
942	cc grpc.ClientConnInterface
943}
944
945func NewConformanceServiceClient(cc grpc.ClientConnInterface) ConformanceServiceClient {
946	return &conformanceServiceClient{cc}
947}
948
949func (c *conformanceServiceClient) Parse(ctx context.Context, in *ParseRequest, opts ...grpc.CallOption) (*ParseResponse, error) {
950	out := new(ParseResponse)
951	err := c.cc.Invoke(ctx, "/google.api.expr.v1alpha1.ConformanceService/Parse", in, out, opts...)
952	if err != nil {
953		return nil, err
954	}
955	return out, nil
956}
957
958func (c *conformanceServiceClient) Check(ctx context.Context, in *CheckRequest, opts ...grpc.CallOption) (*CheckResponse, error) {
959	out := new(CheckResponse)
960	err := c.cc.Invoke(ctx, "/google.api.expr.v1alpha1.ConformanceService/Check", in, out, opts...)
961	if err != nil {
962		return nil, err
963	}
964	return out, nil
965}
966
967func (c *conformanceServiceClient) Eval(ctx context.Context, in *EvalRequest, opts ...grpc.CallOption) (*EvalResponse, error) {
968	out := new(EvalResponse)
969	err := c.cc.Invoke(ctx, "/google.api.expr.v1alpha1.ConformanceService/Eval", in, out, opts...)
970	if err != nil {
971		return nil, err
972	}
973	return out, nil
974}
975
976// ConformanceServiceServer is the server API for ConformanceService service.
977type ConformanceServiceServer interface {
978	// Transforms CEL source text into a parsed representation.
979	Parse(context.Context, *ParseRequest) (*ParseResponse, error)
980	// Runs static checks on a parsed CEL representation and return
981	// an annotated representation, or a set of issues.
982	Check(context.Context, *CheckRequest) (*CheckResponse, error)
983	// Evaluates a parsed or annotation CEL representation given
984	// values of external bindings.
985	Eval(context.Context, *EvalRequest) (*EvalResponse, error)
986}
987
988// UnimplementedConformanceServiceServer can be embedded to have forward compatible implementations.
989type UnimplementedConformanceServiceServer struct {
990}
991
992func (*UnimplementedConformanceServiceServer) Parse(context.Context, *ParseRequest) (*ParseResponse, error) {
993	return nil, status1.Errorf(codes.Unimplemented, "method Parse not implemented")
994}
995func (*UnimplementedConformanceServiceServer) Check(context.Context, *CheckRequest) (*CheckResponse, error) {
996	return nil, status1.Errorf(codes.Unimplemented, "method Check not implemented")
997}
998func (*UnimplementedConformanceServiceServer) Eval(context.Context, *EvalRequest) (*EvalResponse, error) {
999	return nil, status1.Errorf(codes.Unimplemented, "method Eval not implemented")
1000}
1001
1002func RegisterConformanceServiceServer(s *grpc.Server, srv ConformanceServiceServer) {
1003	s.RegisterService(&_ConformanceService_serviceDesc, srv)
1004}
1005
1006func _ConformanceService_Parse_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1007	in := new(ParseRequest)
1008	if err := dec(in); err != nil {
1009		return nil, err
1010	}
1011	if interceptor == nil {
1012		return srv.(ConformanceServiceServer).Parse(ctx, in)
1013	}
1014	info := &grpc.UnaryServerInfo{
1015		Server:     srv,
1016		FullMethod: "/google.api.expr.v1alpha1.ConformanceService/Parse",
1017	}
1018	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1019		return srv.(ConformanceServiceServer).Parse(ctx, req.(*ParseRequest))
1020	}
1021	return interceptor(ctx, in, info, handler)
1022}
1023
1024func _ConformanceService_Check_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1025	in := new(CheckRequest)
1026	if err := dec(in); err != nil {
1027		return nil, err
1028	}
1029	if interceptor == nil {
1030		return srv.(ConformanceServiceServer).Check(ctx, in)
1031	}
1032	info := &grpc.UnaryServerInfo{
1033		Server:     srv,
1034		FullMethod: "/google.api.expr.v1alpha1.ConformanceService/Check",
1035	}
1036	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1037		return srv.(ConformanceServiceServer).Check(ctx, req.(*CheckRequest))
1038	}
1039	return interceptor(ctx, in, info, handler)
1040}
1041
1042func _ConformanceService_Eval_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1043	in := new(EvalRequest)
1044	if err := dec(in); err != nil {
1045		return nil, err
1046	}
1047	if interceptor == nil {
1048		return srv.(ConformanceServiceServer).Eval(ctx, in)
1049	}
1050	info := &grpc.UnaryServerInfo{
1051		Server:     srv,
1052		FullMethod: "/google.api.expr.v1alpha1.ConformanceService/Eval",
1053	}
1054	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1055		return srv.(ConformanceServiceServer).Eval(ctx, req.(*EvalRequest))
1056	}
1057	return interceptor(ctx, in, info, handler)
1058}
1059
1060var _ConformanceService_serviceDesc = grpc.ServiceDesc{
1061	ServiceName: "google.api.expr.v1alpha1.ConformanceService",
1062	HandlerType: (*ConformanceServiceServer)(nil),
1063	Methods: []grpc.MethodDesc{
1064		{
1065			MethodName: "Parse",
1066			Handler:    _ConformanceService_Parse_Handler,
1067		},
1068		{
1069			MethodName: "Check",
1070			Handler:    _ConformanceService_Check_Handler,
1071		},
1072		{
1073			MethodName: "Eval",
1074			Handler:    _ConformanceService_Eval_Handler,
1075		},
1076	},
1077	Streams:  []grpc.StreamDesc{},
1078	Metadata: "google/api/expr/v1alpha1/conformance_service.proto",
1079}
1080