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.22.0
18// 	protoc        v3.11.2
19// source: google/privacy/dlp/v2/dlp.proto
20
21package dlp
22
23import (
24	context "context"
25	reflect "reflect"
26	sync "sync"
27
28	proto "github.com/golang/protobuf/proto"
29	duration "github.com/golang/protobuf/ptypes/duration"
30	empty "github.com/golang/protobuf/ptypes/empty"
31	timestamp "github.com/golang/protobuf/ptypes/timestamp"
32	_ "google.golang.org/genproto/googleapis/api/annotations"
33	status "google.golang.org/genproto/googleapis/rpc/status"
34	date "google.golang.org/genproto/googleapis/type/date"
35	dayofweek "google.golang.org/genproto/googleapis/type/dayofweek"
36	timeofday "google.golang.org/genproto/googleapis/type/timeofday"
37	field_mask "google.golang.org/genproto/protobuf/field_mask"
38	grpc "google.golang.org/grpc"
39	codes "google.golang.org/grpc/codes"
40	status1 "google.golang.org/grpc/status"
41	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
42	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
43)
44
45const (
46	// Verify that this generated code is sufficiently up-to-date.
47	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
48	// Verify that runtime/protoimpl is sufficiently up-to-date.
49	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
50)
51
52// This is a compile-time assertion that a sufficiently up-to-date version
53// of the legacy proto package is being used.
54const _ = proto.ProtoPackageIsVersion4
55
56// Operators available for comparing the value of fields.
57type RelationalOperator int32
58
59const (
60	// Unused
61	RelationalOperator_RELATIONAL_OPERATOR_UNSPECIFIED RelationalOperator = 0
62	// Equal. Attempts to match even with incompatible types.
63	RelationalOperator_EQUAL_TO RelationalOperator = 1
64	// Not equal to. Attempts to match even with incompatible types.
65	RelationalOperator_NOT_EQUAL_TO RelationalOperator = 2
66	// Greater than.
67	RelationalOperator_GREATER_THAN RelationalOperator = 3
68	// Less than.
69	RelationalOperator_LESS_THAN RelationalOperator = 4
70	// Greater than or equals.
71	RelationalOperator_GREATER_THAN_OR_EQUALS RelationalOperator = 5
72	// Less than or equals.
73	RelationalOperator_LESS_THAN_OR_EQUALS RelationalOperator = 6
74	// Exists
75	RelationalOperator_EXISTS RelationalOperator = 7
76)
77
78// Enum value maps for RelationalOperator.
79var (
80	RelationalOperator_name = map[int32]string{
81		0: "RELATIONAL_OPERATOR_UNSPECIFIED",
82		1: "EQUAL_TO",
83		2: "NOT_EQUAL_TO",
84		3: "GREATER_THAN",
85		4: "LESS_THAN",
86		5: "GREATER_THAN_OR_EQUALS",
87		6: "LESS_THAN_OR_EQUALS",
88		7: "EXISTS",
89	}
90	RelationalOperator_value = map[string]int32{
91		"RELATIONAL_OPERATOR_UNSPECIFIED": 0,
92		"EQUAL_TO":                        1,
93		"NOT_EQUAL_TO":                    2,
94		"GREATER_THAN":                    3,
95		"LESS_THAN":                       4,
96		"GREATER_THAN_OR_EQUALS":          5,
97		"LESS_THAN_OR_EQUALS":             6,
98		"EXISTS":                          7,
99	}
100)
101
102func (x RelationalOperator) Enum() *RelationalOperator {
103	p := new(RelationalOperator)
104	*p = x
105	return p
106}
107
108func (x RelationalOperator) String() string {
109	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
110}
111
112func (RelationalOperator) Descriptor() protoreflect.EnumDescriptor {
113	return file_google_privacy_dlp_v2_dlp_proto_enumTypes[0].Descriptor()
114}
115
116func (RelationalOperator) Type() protoreflect.EnumType {
117	return &file_google_privacy_dlp_v2_dlp_proto_enumTypes[0]
118}
119
120func (x RelationalOperator) Number() protoreflect.EnumNumber {
121	return protoreflect.EnumNumber(x)
122}
123
124// Deprecated: Use RelationalOperator.Descriptor instead.
125func (RelationalOperator) EnumDescriptor() ([]byte, []int) {
126	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{0}
127}
128
129// Type of the match which can be applied to different ways of matching, like
130// Dictionary, regular expression and intersecting with findings of another
131// info type.
132type MatchingType int32
133
134const (
135	// Invalid.
136	MatchingType_MATCHING_TYPE_UNSPECIFIED MatchingType = 0
137	// Full match.
138	//
139	// - Dictionary: join of Dictionary results matched complete finding quote
140	// - Regex: all regex matches fill a finding quote start to end
141	// - Exclude info type: completely inside affecting info types findings
142	MatchingType_MATCHING_TYPE_FULL_MATCH MatchingType = 1
143	// Partial match.
144	//
145	// - Dictionary: at least one of the tokens in the finding matches
146	// - Regex: substring of the finding matches
147	// - Exclude info type: intersects with affecting info types findings
148	MatchingType_MATCHING_TYPE_PARTIAL_MATCH MatchingType = 2
149	// Inverse match.
150	//
151	// - Dictionary: no tokens in the finding match the dictionary
152	// - Regex: finding doesn't match the regex
153	// - Exclude info type: no intersection with affecting info types findings
154	MatchingType_MATCHING_TYPE_INVERSE_MATCH MatchingType = 3
155)
156
157// Enum value maps for MatchingType.
158var (
159	MatchingType_name = map[int32]string{
160		0: "MATCHING_TYPE_UNSPECIFIED",
161		1: "MATCHING_TYPE_FULL_MATCH",
162		2: "MATCHING_TYPE_PARTIAL_MATCH",
163		3: "MATCHING_TYPE_INVERSE_MATCH",
164	}
165	MatchingType_value = map[string]int32{
166		"MATCHING_TYPE_UNSPECIFIED":   0,
167		"MATCHING_TYPE_FULL_MATCH":    1,
168		"MATCHING_TYPE_PARTIAL_MATCH": 2,
169		"MATCHING_TYPE_INVERSE_MATCH": 3,
170	}
171)
172
173func (x MatchingType) Enum() *MatchingType {
174	p := new(MatchingType)
175	*p = x
176	return p
177}
178
179func (x MatchingType) String() string {
180	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
181}
182
183func (MatchingType) Descriptor() protoreflect.EnumDescriptor {
184	return file_google_privacy_dlp_v2_dlp_proto_enumTypes[1].Descriptor()
185}
186
187func (MatchingType) Type() protoreflect.EnumType {
188	return &file_google_privacy_dlp_v2_dlp_proto_enumTypes[1]
189}
190
191func (x MatchingType) Number() protoreflect.EnumNumber {
192	return protoreflect.EnumNumber(x)
193}
194
195// Deprecated: Use MatchingType.Descriptor instead.
196func (MatchingType) EnumDescriptor() ([]byte, []int) {
197	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{1}
198}
199
200// Options describing which parts of the provided content should be scanned.
201type ContentOption int32
202
203const (
204	// Includes entire content of a file or a data stream.
205	ContentOption_CONTENT_UNSPECIFIED ContentOption = 0
206	// Text content within the data, excluding any metadata.
207	ContentOption_CONTENT_TEXT ContentOption = 1
208	// Images found in the data.
209	ContentOption_CONTENT_IMAGE ContentOption = 2
210)
211
212// Enum value maps for ContentOption.
213var (
214	ContentOption_name = map[int32]string{
215		0: "CONTENT_UNSPECIFIED",
216		1: "CONTENT_TEXT",
217		2: "CONTENT_IMAGE",
218	}
219	ContentOption_value = map[string]int32{
220		"CONTENT_UNSPECIFIED": 0,
221		"CONTENT_TEXT":        1,
222		"CONTENT_IMAGE":       2,
223	}
224)
225
226func (x ContentOption) Enum() *ContentOption {
227	p := new(ContentOption)
228	*p = x
229	return p
230}
231
232func (x ContentOption) String() string {
233	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
234}
235
236func (ContentOption) Descriptor() protoreflect.EnumDescriptor {
237	return file_google_privacy_dlp_v2_dlp_proto_enumTypes[2].Descriptor()
238}
239
240func (ContentOption) Type() protoreflect.EnumType {
241	return &file_google_privacy_dlp_v2_dlp_proto_enumTypes[2]
242}
243
244func (x ContentOption) Number() protoreflect.EnumNumber {
245	return protoreflect.EnumNumber(x)
246}
247
248// Deprecated: Use ContentOption.Descriptor instead.
249func (ContentOption) EnumDescriptor() ([]byte, []int) {
250	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{2}
251}
252
253// Type of metadata containing the finding.
254type MetadataType int32
255
256const (
257	// Unused
258	MetadataType_METADATATYPE_UNSPECIFIED MetadataType = 0
259	// General file metadata provided by GCS.
260	MetadataType_STORAGE_METADATA MetadataType = 2
261)
262
263// Enum value maps for MetadataType.
264var (
265	MetadataType_name = map[int32]string{
266		0: "METADATATYPE_UNSPECIFIED",
267		2: "STORAGE_METADATA",
268	}
269	MetadataType_value = map[string]int32{
270		"METADATATYPE_UNSPECIFIED": 0,
271		"STORAGE_METADATA":         2,
272	}
273)
274
275func (x MetadataType) Enum() *MetadataType {
276	p := new(MetadataType)
277	*p = x
278	return p
279}
280
281func (x MetadataType) String() string {
282	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
283}
284
285func (MetadataType) Descriptor() protoreflect.EnumDescriptor {
286	return file_google_privacy_dlp_v2_dlp_proto_enumTypes[3].Descriptor()
287}
288
289func (MetadataType) Type() protoreflect.EnumType {
290	return &file_google_privacy_dlp_v2_dlp_proto_enumTypes[3]
291}
292
293func (x MetadataType) Number() protoreflect.EnumNumber {
294	return protoreflect.EnumNumber(x)
295}
296
297// Deprecated: Use MetadataType.Descriptor instead.
298func (MetadataType) EnumDescriptor() ([]byte, []int) {
299	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{3}
300}
301
302// Parts of the APIs which use certain infoTypes.
303type InfoTypeSupportedBy int32
304
305const (
306	// Unused.
307	InfoTypeSupportedBy_ENUM_TYPE_UNSPECIFIED InfoTypeSupportedBy = 0
308	// Supported by the inspect operations.
309	InfoTypeSupportedBy_INSPECT InfoTypeSupportedBy = 1
310	// Supported by the risk analysis operations.
311	InfoTypeSupportedBy_RISK_ANALYSIS InfoTypeSupportedBy = 2
312)
313
314// Enum value maps for InfoTypeSupportedBy.
315var (
316	InfoTypeSupportedBy_name = map[int32]string{
317		0: "ENUM_TYPE_UNSPECIFIED",
318		1: "INSPECT",
319		2: "RISK_ANALYSIS",
320	}
321	InfoTypeSupportedBy_value = map[string]int32{
322		"ENUM_TYPE_UNSPECIFIED": 0,
323		"INSPECT":               1,
324		"RISK_ANALYSIS":         2,
325	}
326)
327
328func (x InfoTypeSupportedBy) Enum() *InfoTypeSupportedBy {
329	p := new(InfoTypeSupportedBy)
330	*p = x
331	return p
332}
333
334func (x InfoTypeSupportedBy) String() string {
335	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
336}
337
338func (InfoTypeSupportedBy) Descriptor() protoreflect.EnumDescriptor {
339	return file_google_privacy_dlp_v2_dlp_proto_enumTypes[4].Descriptor()
340}
341
342func (InfoTypeSupportedBy) Type() protoreflect.EnumType {
343	return &file_google_privacy_dlp_v2_dlp_proto_enumTypes[4]
344}
345
346func (x InfoTypeSupportedBy) Number() protoreflect.EnumNumber {
347	return protoreflect.EnumNumber(x)
348}
349
350// Deprecated: Use InfoTypeSupportedBy.Descriptor instead.
351func (InfoTypeSupportedBy) EnumDescriptor() ([]byte, []int) {
352	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{4}
353}
354
355// An enum to represent the various types of DLP jobs.
356type DlpJobType int32
357
358const (
359	// Unused
360	DlpJobType_DLP_JOB_TYPE_UNSPECIFIED DlpJobType = 0
361	// The job inspected Google Cloud for sensitive data.
362	DlpJobType_INSPECT_JOB DlpJobType = 1
363	// The job executed a Risk Analysis computation.
364	DlpJobType_RISK_ANALYSIS_JOB DlpJobType = 2
365)
366
367// Enum value maps for DlpJobType.
368var (
369	DlpJobType_name = map[int32]string{
370		0: "DLP_JOB_TYPE_UNSPECIFIED",
371		1: "INSPECT_JOB",
372		2: "RISK_ANALYSIS_JOB",
373	}
374	DlpJobType_value = map[string]int32{
375		"DLP_JOB_TYPE_UNSPECIFIED": 0,
376		"INSPECT_JOB":              1,
377		"RISK_ANALYSIS_JOB":        2,
378	}
379)
380
381func (x DlpJobType) Enum() *DlpJobType {
382	p := new(DlpJobType)
383	*p = x
384	return p
385}
386
387func (x DlpJobType) String() string {
388	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
389}
390
391func (DlpJobType) Descriptor() protoreflect.EnumDescriptor {
392	return file_google_privacy_dlp_v2_dlp_proto_enumTypes[5].Descriptor()
393}
394
395func (DlpJobType) Type() protoreflect.EnumType {
396	return &file_google_privacy_dlp_v2_dlp_proto_enumTypes[5]
397}
398
399func (x DlpJobType) Number() protoreflect.EnumNumber {
400	return protoreflect.EnumNumber(x)
401}
402
403// Deprecated: Use DlpJobType.Descriptor instead.
404func (DlpJobType) EnumDescriptor() ([]byte, []int) {
405	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{5}
406}
407
408// State of a StoredInfoType version.
409type StoredInfoTypeState int32
410
411const (
412	// Unused
413	StoredInfoTypeState_STORED_INFO_TYPE_STATE_UNSPECIFIED StoredInfoTypeState = 0
414	// StoredInfoType version is being created.
415	StoredInfoTypeState_PENDING StoredInfoTypeState = 1
416	// StoredInfoType version is ready for use.
417	StoredInfoTypeState_READY StoredInfoTypeState = 2
418	// StoredInfoType creation failed. All relevant error messages are returned in
419	// the `StoredInfoTypeVersion` message.
420	StoredInfoTypeState_FAILED StoredInfoTypeState = 3
421	// StoredInfoType is no longer valid because artifacts stored in
422	// user-controlled storage were modified. To fix an invalid StoredInfoType,
423	// use the `UpdateStoredInfoType` method to create a new version.
424	StoredInfoTypeState_INVALID StoredInfoTypeState = 4
425)
426
427// Enum value maps for StoredInfoTypeState.
428var (
429	StoredInfoTypeState_name = map[int32]string{
430		0: "STORED_INFO_TYPE_STATE_UNSPECIFIED",
431		1: "PENDING",
432		2: "READY",
433		3: "FAILED",
434		4: "INVALID",
435	}
436	StoredInfoTypeState_value = map[string]int32{
437		"STORED_INFO_TYPE_STATE_UNSPECIFIED": 0,
438		"PENDING":                            1,
439		"READY":                              2,
440		"FAILED":                             3,
441		"INVALID":                            4,
442	}
443)
444
445func (x StoredInfoTypeState) Enum() *StoredInfoTypeState {
446	p := new(StoredInfoTypeState)
447	*p = x
448	return p
449}
450
451func (x StoredInfoTypeState) String() string {
452	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
453}
454
455func (StoredInfoTypeState) Descriptor() protoreflect.EnumDescriptor {
456	return file_google_privacy_dlp_v2_dlp_proto_enumTypes[6].Descriptor()
457}
458
459func (StoredInfoTypeState) Type() protoreflect.EnumType {
460	return &file_google_privacy_dlp_v2_dlp_proto_enumTypes[6]
461}
462
463func (x StoredInfoTypeState) Number() protoreflect.EnumNumber {
464	return protoreflect.EnumNumber(x)
465}
466
467// Deprecated: Use StoredInfoTypeState.Descriptor instead.
468func (StoredInfoTypeState) EnumDescriptor() ([]byte, []int) {
469	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{6}
470}
471
472// The type of data being sent for inspection.
473type ByteContentItem_BytesType int32
474
475const (
476	// Unused
477	ByteContentItem_BYTES_TYPE_UNSPECIFIED ByteContentItem_BytesType = 0
478	// Any image type.
479	ByteContentItem_IMAGE ByteContentItem_BytesType = 6
480	// jpeg
481	ByteContentItem_IMAGE_JPEG ByteContentItem_BytesType = 1
482	// bmp
483	ByteContentItem_IMAGE_BMP ByteContentItem_BytesType = 2
484	// png
485	ByteContentItem_IMAGE_PNG ByteContentItem_BytesType = 3
486	// svg
487	ByteContentItem_IMAGE_SVG ByteContentItem_BytesType = 4
488	// plain text
489	ByteContentItem_TEXT_UTF8 ByteContentItem_BytesType = 5
490	// docx, docm, dotx, dotm
491	ByteContentItem_WORD_DOCUMENT ByteContentItem_BytesType = 7
492	// pdf
493	ByteContentItem_PDF ByteContentItem_BytesType = 8
494	// avro
495	ByteContentItem_AVRO ByteContentItem_BytesType = 11
496)
497
498// Enum value maps for ByteContentItem_BytesType.
499var (
500	ByteContentItem_BytesType_name = map[int32]string{
501		0:  "BYTES_TYPE_UNSPECIFIED",
502		6:  "IMAGE",
503		1:  "IMAGE_JPEG",
504		2:  "IMAGE_BMP",
505		3:  "IMAGE_PNG",
506		4:  "IMAGE_SVG",
507		5:  "TEXT_UTF8",
508		7:  "WORD_DOCUMENT",
509		8:  "PDF",
510		11: "AVRO",
511	}
512	ByteContentItem_BytesType_value = map[string]int32{
513		"BYTES_TYPE_UNSPECIFIED": 0,
514		"IMAGE":                  6,
515		"IMAGE_JPEG":             1,
516		"IMAGE_BMP":              2,
517		"IMAGE_PNG":              3,
518		"IMAGE_SVG":              4,
519		"TEXT_UTF8":              5,
520		"WORD_DOCUMENT":          7,
521		"PDF":                    8,
522		"AVRO":                   11,
523	}
524)
525
526func (x ByteContentItem_BytesType) Enum() *ByteContentItem_BytesType {
527	p := new(ByteContentItem_BytesType)
528	*p = x
529	return p
530}
531
532func (x ByteContentItem_BytesType) String() string {
533	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
534}
535
536func (ByteContentItem_BytesType) Descriptor() protoreflect.EnumDescriptor {
537	return file_google_privacy_dlp_v2_dlp_proto_enumTypes[7].Descriptor()
538}
539
540func (ByteContentItem_BytesType) Type() protoreflect.EnumType {
541	return &file_google_privacy_dlp_v2_dlp_proto_enumTypes[7]
542}
543
544func (x ByteContentItem_BytesType) Number() protoreflect.EnumNumber {
545	return protoreflect.EnumNumber(x)
546}
547
548// Deprecated: Use ByteContentItem_BytesType.Descriptor instead.
549func (ByteContentItem_BytesType) EnumDescriptor() ([]byte, []int) {
550	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{5, 0}
551}
552
553// Predefined schemas for storing findings.
554// Only for use with external storage.
555type OutputStorageConfig_OutputSchema int32
556
557const (
558	// Unused.
559	OutputStorageConfig_OUTPUT_SCHEMA_UNSPECIFIED OutputStorageConfig_OutputSchema = 0
560	// Basic schema including only `info_type`, `quote`, `certainty`, and
561	// `timestamp`.
562	OutputStorageConfig_BASIC_COLUMNS OutputStorageConfig_OutputSchema = 1
563	// Schema tailored to findings from scanning Google Cloud Storage.
564	OutputStorageConfig_GCS_COLUMNS OutputStorageConfig_OutputSchema = 2
565	// Schema tailored to findings from scanning Google Datastore.
566	OutputStorageConfig_DATASTORE_COLUMNS OutputStorageConfig_OutputSchema = 3
567	// Schema tailored to findings from scanning Google BigQuery.
568	OutputStorageConfig_BIG_QUERY_COLUMNS OutputStorageConfig_OutputSchema = 4
569	// Schema containing all columns.
570	OutputStorageConfig_ALL_COLUMNS OutputStorageConfig_OutputSchema = 5
571)
572
573// Enum value maps for OutputStorageConfig_OutputSchema.
574var (
575	OutputStorageConfig_OutputSchema_name = map[int32]string{
576		0: "OUTPUT_SCHEMA_UNSPECIFIED",
577		1: "BASIC_COLUMNS",
578		2: "GCS_COLUMNS",
579		3: "DATASTORE_COLUMNS",
580		4: "BIG_QUERY_COLUMNS",
581		5: "ALL_COLUMNS",
582	}
583	OutputStorageConfig_OutputSchema_value = map[string]int32{
584		"OUTPUT_SCHEMA_UNSPECIFIED": 0,
585		"BASIC_COLUMNS":             1,
586		"GCS_COLUMNS":               2,
587		"DATASTORE_COLUMNS":         3,
588		"BIG_QUERY_COLUMNS":         4,
589		"ALL_COLUMNS":               5,
590	}
591)
592
593func (x OutputStorageConfig_OutputSchema) Enum() *OutputStorageConfig_OutputSchema {
594	p := new(OutputStorageConfig_OutputSchema)
595	*p = x
596	return p
597}
598
599func (x OutputStorageConfig_OutputSchema) String() string {
600	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
601}
602
603func (OutputStorageConfig_OutputSchema) Descriptor() protoreflect.EnumDescriptor {
604	return file_google_privacy_dlp_v2_dlp_proto_enumTypes[8].Descriptor()
605}
606
607func (OutputStorageConfig_OutputSchema) Type() protoreflect.EnumType {
608	return &file_google_privacy_dlp_v2_dlp_proto_enumTypes[8]
609}
610
611func (x OutputStorageConfig_OutputSchema) Number() protoreflect.EnumNumber {
612	return protoreflect.EnumNumber(x)
613}
614
615// Deprecated: Use OutputStorageConfig_OutputSchema.Descriptor instead.
616func (OutputStorageConfig_OutputSchema) EnumDescriptor() ([]byte, []int) {
617	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{30, 0}
618}
619
620// Components that make up time.
621type TimePartConfig_TimePart int32
622
623const (
624	// Unused
625	TimePartConfig_TIME_PART_UNSPECIFIED TimePartConfig_TimePart = 0
626	// [0-9999]
627	TimePartConfig_YEAR TimePartConfig_TimePart = 1
628	// [1-12]
629	TimePartConfig_MONTH TimePartConfig_TimePart = 2
630	// [1-31]
631	TimePartConfig_DAY_OF_MONTH TimePartConfig_TimePart = 3
632	// [1-7]
633	TimePartConfig_DAY_OF_WEEK TimePartConfig_TimePart = 4
634	// [1-53]
635	TimePartConfig_WEEK_OF_YEAR TimePartConfig_TimePart = 5
636	// [0-23]
637	TimePartConfig_HOUR_OF_DAY TimePartConfig_TimePart = 6
638)
639
640// Enum value maps for TimePartConfig_TimePart.
641var (
642	TimePartConfig_TimePart_name = map[int32]string{
643		0: "TIME_PART_UNSPECIFIED",
644		1: "YEAR",
645		2: "MONTH",
646		3: "DAY_OF_MONTH",
647		4: "DAY_OF_WEEK",
648		5: "WEEK_OF_YEAR",
649		6: "HOUR_OF_DAY",
650	}
651	TimePartConfig_TimePart_value = map[string]int32{
652		"TIME_PART_UNSPECIFIED": 0,
653		"YEAR":                  1,
654		"MONTH":                 2,
655		"DAY_OF_MONTH":          3,
656		"DAY_OF_WEEK":           4,
657		"WEEK_OF_YEAR":          5,
658		"HOUR_OF_DAY":           6,
659	}
660)
661
662func (x TimePartConfig_TimePart) Enum() *TimePartConfig_TimePart {
663	p := new(TimePartConfig_TimePart)
664	*p = x
665	return p
666}
667
668func (x TimePartConfig_TimePart) String() string {
669	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
670}
671
672func (TimePartConfig_TimePart) Descriptor() protoreflect.EnumDescriptor {
673	return file_google_privacy_dlp_v2_dlp_proto_enumTypes[9].Descriptor()
674}
675
676func (TimePartConfig_TimePart) Type() protoreflect.EnumType {
677	return &file_google_privacy_dlp_v2_dlp_proto_enumTypes[9]
678}
679
680func (x TimePartConfig_TimePart) Number() protoreflect.EnumNumber {
681	return protoreflect.EnumNumber(x)
682}
683
684// Deprecated: Use TimePartConfig_TimePart.Descriptor instead.
685func (TimePartConfig_TimePart) EnumDescriptor() ([]byte, []int) {
686	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{49, 0}
687}
688
689// Convenience enum for indication common characters to not transform.
690type CharsToIgnore_CommonCharsToIgnore int32
691
692const (
693	// Unused.
694	CharsToIgnore_COMMON_CHARS_TO_IGNORE_UNSPECIFIED CharsToIgnore_CommonCharsToIgnore = 0
695	// 0-9
696	CharsToIgnore_NUMERIC CharsToIgnore_CommonCharsToIgnore = 1
697	// A-Z
698	CharsToIgnore_ALPHA_UPPER_CASE CharsToIgnore_CommonCharsToIgnore = 2
699	// a-z
700	CharsToIgnore_ALPHA_LOWER_CASE CharsToIgnore_CommonCharsToIgnore = 3
701	// US Punctuation, one of !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
702	CharsToIgnore_PUNCTUATION CharsToIgnore_CommonCharsToIgnore = 4
703	// Whitespace character, one of [ \t\n\x0B\f\r]
704	CharsToIgnore_WHITESPACE CharsToIgnore_CommonCharsToIgnore = 5
705)
706
707// Enum value maps for CharsToIgnore_CommonCharsToIgnore.
708var (
709	CharsToIgnore_CommonCharsToIgnore_name = map[int32]string{
710		0: "COMMON_CHARS_TO_IGNORE_UNSPECIFIED",
711		1: "NUMERIC",
712		2: "ALPHA_UPPER_CASE",
713		3: "ALPHA_LOWER_CASE",
714		4: "PUNCTUATION",
715		5: "WHITESPACE",
716	}
717	CharsToIgnore_CommonCharsToIgnore_value = map[string]int32{
718		"COMMON_CHARS_TO_IGNORE_UNSPECIFIED": 0,
719		"NUMERIC":                            1,
720		"ALPHA_UPPER_CASE":                   2,
721		"ALPHA_LOWER_CASE":                   3,
722		"PUNCTUATION":                        4,
723		"WHITESPACE":                         5,
724	}
725)
726
727func (x CharsToIgnore_CommonCharsToIgnore) Enum() *CharsToIgnore_CommonCharsToIgnore {
728	p := new(CharsToIgnore_CommonCharsToIgnore)
729	*p = x
730	return p
731}
732
733func (x CharsToIgnore_CommonCharsToIgnore) String() string {
734	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
735}
736
737func (CharsToIgnore_CommonCharsToIgnore) Descriptor() protoreflect.EnumDescriptor {
738	return file_google_privacy_dlp_v2_dlp_proto_enumTypes[10].Descriptor()
739}
740
741func (CharsToIgnore_CommonCharsToIgnore) Type() protoreflect.EnumType {
742	return &file_google_privacy_dlp_v2_dlp_proto_enumTypes[10]
743}
744
745func (x CharsToIgnore_CommonCharsToIgnore) Number() protoreflect.EnumNumber {
746	return protoreflect.EnumNumber(x)
747}
748
749// Deprecated: Use CharsToIgnore_CommonCharsToIgnore.Descriptor instead.
750func (CharsToIgnore_CommonCharsToIgnore) EnumDescriptor() ([]byte, []int) {
751	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{55, 0}
752}
753
754// These are commonly used subsets of the alphabet that the FFX mode
755// natively supports. In the algorithm, the alphabet is selected using
756// the "radix". Therefore each corresponds to particular radix.
757type CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet int32
758
759const (
760	// Unused.
761	CryptoReplaceFfxFpeConfig_FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet = 0
762	// [0-9] (radix of 10)
763	CryptoReplaceFfxFpeConfig_NUMERIC CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet = 1
764	// [0-9A-F] (radix of 16)
765	CryptoReplaceFfxFpeConfig_HEXADECIMAL CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet = 2
766	// [0-9A-Z] (radix of 36)
767	CryptoReplaceFfxFpeConfig_UPPER_CASE_ALPHA_NUMERIC CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet = 3
768	// [0-9A-Za-z] (radix of 62)
769	CryptoReplaceFfxFpeConfig_ALPHA_NUMERIC CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet = 4
770)
771
772// Enum value maps for CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet.
773var (
774	CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet_name = map[int32]string{
775		0: "FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED",
776		1: "NUMERIC",
777		2: "HEXADECIMAL",
778		3: "UPPER_CASE_ALPHA_NUMERIC",
779		4: "ALPHA_NUMERIC",
780	}
781	CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet_value = map[string]int32{
782		"FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED": 0,
783		"NUMERIC":                                1,
784		"HEXADECIMAL":                            2,
785		"UPPER_CASE_ALPHA_NUMERIC":               3,
786		"ALPHA_NUMERIC":                          4,
787	}
788)
789
790func (x CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet) Enum() *CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet {
791	p := new(CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet)
792	*p = x
793	return p
794}
795
796func (x CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet) String() string {
797	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
798}
799
800func (CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet) Descriptor() protoreflect.EnumDescriptor {
801	return file_google_privacy_dlp_v2_dlp_proto_enumTypes[11].Descriptor()
802}
803
804func (CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet) Type() protoreflect.EnumType {
805	return &file_google_privacy_dlp_v2_dlp_proto_enumTypes[11]
806}
807
808func (x CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet) Number() protoreflect.EnumNumber {
809	return protoreflect.EnumNumber(x)
810}
811
812// Deprecated: Use CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet.Descriptor instead.
813func (CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet) EnumDescriptor() ([]byte, []int) {
814	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{59, 0}
815}
816
817// Logical operators for conditional checks.
818type RecordCondition_Expressions_LogicalOperator int32
819
820const (
821	// Unused
822	RecordCondition_Expressions_LOGICAL_OPERATOR_UNSPECIFIED RecordCondition_Expressions_LogicalOperator = 0
823	// Conditional AND
824	RecordCondition_Expressions_AND RecordCondition_Expressions_LogicalOperator = 1
825)
826
827// Enum value maps for RecordCondition_Expressions_LogicalOperator.
828var (
829	RecordCondition_Expressions_LogicalOperator_name = map[int32]string{
830		0: "LOGICAL_OPERATOR_UNSPECIFIED",
831		1: "AND",
832	}
833	RecordCondition_Expressions_LogicalOperator_value = map[string]int32{
834		"LOGICAL_OPERATOR_UNSPECIFIED": 0,
835		"AND":                          1,
836	}
837)
838
839func (x RecordCondition_Expressions_LogicalOperator) Enum() *RecordCondition_Expressions_LogicalOperator {
840	p := new(RecordCondition_Expressions_LogicalOperator)
841	*p = x
842	return p
843}
844
845func (x RecordCondition_Expressions_LogicalOperator) String() string {
846	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
847}
848
849func (RecordCondition_Expressions_LogicalOperator) Descriptor() protoreflect.EnumDescriptor {
850	return file_google_privacy_dlp_v2_dlp_proto_enumTypes[12].Descriptor()
851}
852
853func (RecordCondition_Expressions_LogicalOperator) Type() protoreflect.EnumType {
854	return &file_google_privacy_dlp_v2_dlp_proto_enumTypes[12]
855}
856
857func (x RecordCondition_Expressions_LogicalOperator) Number() protoreflect.EnumNumber {
858	return protoreflect.EnumNumber(x)
859}
860
861// Deprecated: Use RecordCondition_Expressions_LogicalOperator.Descriptor instead.
862func (RecordCondition_Expressions_LogicalOperator) EnumDescriptor() ([]byte, []int) {
863	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{69, 2, 0}
864}
865
866// Possible outcomes of transformations.
867type TransformationSummary_TransformationResultCode int32
868
869const (
870	// Unused
871	TransformationSummary_TRANSFORMATION_RESULT_CODE_UNSPECIFIED TransformationSummary_TransformationResultCode = 0
872	// Transformation completed without an error.
873	TransformationSummary_SUCCESS TransformationSummary_TransformationResultCode = 1
874	// Transformation had an error.
875	TransformationSummary_ERROR TransformationSummary_TransformationResultCode = 2
876)
877
878// Enum value maps for TransformationSummary_TransformationResultCode.
879var (
880	TransformationSummary_TransformationResultCode_name = map[int32]string{
881		0: "TRANSFORMATION_RESULT_CODE_UNSPECIFIED",
882		1: "SUCCESS",
883		2: "ERROR",
884	}
885	TransformationSummary_TransformationResultCode_value = map[string]int32{
886		"TRANSFORMATION_RESULT_CODE_UNSPECIFIED": 0,
887		"SUCCESS":                                1,
888		"ERROR":                                  2,
889	}
890)
891
892func (x TransformationSummary_TransformationResultCode) Enum() *TransformationSummary_TransformationResultCode {
893	p := new(TransformationSummary_TransformationResultCode)
894	*p = x
895	return p
896}
897
898func (x TransformationSummary_TransformationResultCode) String() string {
899	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
900}
901
902func (TransformationSummary_TransformationResultCode) Descriptor() protoreflect.EnumDescriptor {
903	return file_google_privacy_dlp_v2_dlp_proto_enumTypes[13].Descriptor()
904}
905
906func (TransformationSummary_TransformationResultCode) Type() protoreflect.EnumType {
907	return &file_google_privacy_dlp_v2_dlp_proto_enumTypes[13]
908}
909
910func (x TransformationSummary_TransformationResultCode) Number() protoreflect.EnumNumber {
911	return protoreflect.EnumNumber(x)
912}
913
914// Deprecated: Use TransformationSummary_TransformationResultCode.Descriptor instead.
915func (TransformationSummary_TransformationResultCode) EnumDescriptor() ([]byte, []int) {
916	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{71, 0}
917}
918
919// Whether the trigger is currently active. If PAUSED or CANCELLED, no jobs
920// will be created with this configuration. The service may automatically
921// pause triggers experiencing frequent errors. To restart a job, set the
922// status to HEALTHY after correcting user errors.
923type JobTrigger_Status int32
924
925const (
926	// Unused.
927	JobTrigger_STATUS_UNSPECIFIED JobTrigger_Status = 0
928	// Trigger is healthy.
929	JobTrigger_HEALTHY JobTrigger_Status = 1
930	// Trigger is temporarily paused.
931	JobTrigger_PAUSED JobTrigger_Status = 2
932	// Trigger is cancelled and can not be resumed.
933	JobTrigger_CANCELLED JobTrigger_Status = 3
934)
935
936// Enum value maps for JobTrigger_Status.
937var (
938	JobTrigger_Status_name = map[int32]string{
939		0: "STATUS_UNSPECIFIED",
940		1: "HEALTHY",
941		2: "PAUSED",
942		3: "CANCELLED",
943	}
944	JobTrigger_Status_value = map[string]int32{
945		"STATUS_UNSPECIFIED": 0,
946		"HEALTHY":            1,
947		"PAUSED":             2,
948		"CANCELLED":          3,
949	}
950)
951
952func (x JobTrigger_Status) Enum() *JobTrigger_Status {
953	p := new(JobTrigger_Status)
954	*p = x
955	return p
956}
957
958func (x JobTrigger_Status) String() string {
959	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
960}
961
962func (JobTrigger_Status) Descriptor() protoreflect.EnumDescriptor {
963	return file_google_privacy_dlp_v2_dlp_proto_enumTypes[14].Descriptor()
964}
965
966func (JobTrigger_Status) Type() protoreflect.EnumType {
967	return &file_google_privacy_dlp_v2_dlp_proto_enumTypes[14]
968}
969
970func (x JobTrigger_Status) Number() protoreflect.EnumNumber {
971	return protoreflect.EnumNumber(x)
972}
973
974// Deprecated: Use JobTrigger_Status.Descriptor instead.
975func (JobTrigger_Status) EnumDescriptor() ([]byte, []int) {
976	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{77, 0}
977}
978
979// Possible states of a job. New items may be added.
980type DlpJob_JobState int32
981
982const (
983	// Unused.
984	DlpJob_JOB_STATE_UNSPECIFIED DlpJob_JobState = 0
985	// The job has not yet started.
986	DlpJob_PENDING DlpJob_JobState = 1
987	// The job is currently running. Once a job has finished it will transition
988	// to FAILED or DONE.
989	DlpJob_RUNNING DlpJob_JobState = 2
990	// The job is no longer running.
991	DlpJob_DONE DlpJob_JobState = 3
992	// The job was canceled before it could complete.
993	DlpJob_CANCELED DlpJob_JobState = 4
994	// The job had an error and did not complete.
995	DlpJob_FAILED DlpJob_JobState = 5
996	// The job is currently accepting findings via hybridInspect.
997	// A hybrid job in ACTIVE state may continue to have findings added to it
998	// through calling of hybridInspect. After the job has finished no more
999	// calls to hybridInspect may be made. ACTIVE jobs can transition to DONE.
1000	DlpJob_ACTIVE DlpJob_JobState = 6
1001)
1002
1003// Enum value maps for DlpJob_JobState.
1004var (
1005	DlpJob_JobState_name = map[int32]string{
1006		0: "JOB_STATE_UNSPECIFIED",
1007		1: "PENDING",
1008		2: "RUNNING",
1009		3: "DONE",
1010		4: "CANCELED",
1011		5: "FAILED",
1012		6: "ACTIVE",
1013	}
1014	DlpJob_JobState_value = map[string]int32{
1015		"JOB_STATE_UNSPECIFIED": 0,
1016		"PENDING":               1,
1017		"RUNNING":               2,
1018		"DONE":                  3,
1019		"CANCELED":              4,
1020		"FAILED":                5,
1021		"ACTIVE":                6,
1022	}
1023)
1024
1025func (x DlpJob_JobState) Enum() *DlpJob_JobState {
1026	p := new(DlpJob_JobState)
1027	*p = x
1028	return p
1029}
1030
1031func (x DlpJob_JobState) String() string {
1032	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
1033}
1034
1035func (DlpJob_JobState) Descriptor() protoreflect.EnumDescriptor {
1036	return file_google_privacy_dlp_v2_dlp_proto_enumTypes[15].Descriptor()
1037}
1038
1039func (DlpJob_JobState) Type() protoreflect.EnumType {
1040	return &file_google_privacy_dlp_v2_dlp_proto_enumTypes[15]
1041}
1042
1043func (x DlpJob_JobState) Number() protoreflect.EnumNumber {
1044	return protoreflect.EnumNumber(x)
1045}
1046
1047// Deprecated: Use DlpJob_JobState.Descriptor instead.
1048func (DlpJob_JobState) EnumDescriptor() ([]byte, []int) {
1049	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{94, 0}
1050}
1051
1052// List of exclude infoTypes.
1053type ExcludeInfoTypes struct {
1054	state         protoimpl.MessageState
1055	sizeCache     protoimpl.SizeCache
1056	unknownFields protoimpl.UnknownFields
1057
1058	// InfoType list in ExclusionRule rule drops a finding when it overlaps or
1059	// contained within with a finding of an infoType from this list. For
1060	// example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and
1061	// `exclusion_rule` containing `exclude_info_types.info_types` with
1062	// "EMAIL_ADDRESS" the phone number findings are dropped if they overlap
1063	// with EMAIL_ADDRESS finding.
1064	// That leads to "555-222-2222@example.org" to generate only a single
1065	// finding, namely email address.
1066	InfoTypes []*InfoType `protobuf:"bytes,1,rep,name=info_types,json=infoTypes,proto3" json:"info_types,omitempty"`
1067}
1068
1069func (x *ExcludeInfoTypes) Reset() {
1070	*x = ExcludeInfoTypes{}
1071	if protoimpl.UnsafeEnabled {
1072		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[0]
1073		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1074		ms.StoreMessageInfo(mi)
1075	}
1076}
1077
1078func (x *ExcludeInfoTypes) String() string {
1079	return protoimpl.X.MessageStringOf(x)
1080}
1081
1082func (*ExcludeInfoTypes) ProtoMessage() {}
1083
1084func (x *ExcludeInfoTypes) ProtoReflect() protoreflect.Message {
1085	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[0]
1086	if protoimpl.UnsafeEnabled && x != nil {
1087		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1088		if ms.LoadMessageInfo() == nil {
1089			ms.StoreMessageInfo(mi)
1090		}
1091		return ms
1092	}
1093	return mi.MessageOf(x)
1094}
1095
1096// Deprecated: Use ExcludeInfoTypes.ProtoReflect.Descriptor instead.
1097func (*ExcludeInfoTypes) Descriptor() ([]byte, []int) {
1098	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{0}
1099}
1100
1101func (x *ExcludeInfoTypes) GetInfoTypes() []*InfoType {
1102	if x != nil {
1103		return x.InfoTypes
1104	}
1105	return nil
1106}
1107
1108// The rule that specifies conditions when findings of infoTypes specified in
1109// `InspectionRuleSet` are removed from results.
1110type ExclusionRule struct {
1111	state         protoimpl.MessageState
1112	sizeCache     protoimpl.SizeCache
1113	unknownFields protoimpl.UnknownFields
1114
1115	// Exclusion rule types.
1116	//
1117	// Types that are assignable to Type:
1118	//	*ExclusionRule_Dictionary
1119	//	*ExclusionRule_Regex
1120	//	*ExclusionRule_ExcludeInfoTypes
1121	Type isExclusionRule_Type `protobuf_oneof:"type"`
1122	// How the rule is applied, see MatchingType documentation for details.
1123	MatchingType MatchingType `protobuf:"varint,4,opt,name=matching_type,json=matchingType,proto3,enum=google.privacy.dlp.v2.MatchingType" json:"matching_type,omitempty"`
1124}
1125
1126func (x *ExclusionRule) Reset() {
1127	*x = ExclusionRule{}
1128	if protoimpl.UnsafeEnabled {
1129		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[1]
1130		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1131		ms.StoreMessageInfo(mi)
1132	}
1133}
1134
1135func (x *ExclusionRule) String() string {
1136	return protoimpl.X.MessageStringOf(x)
1137}
1138
1139func (*ExclusionRule) ProtoMessage() {}
1140
1141func (x *ExclusionRule) ProtoReflect() protoreflect.Message {
1142	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[1]
1143	if protoimpl.UnsafeEnabled && x != nil {
1144		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1145		if ms.LoadMessageInfo() == nil {
1146			ms.StoreMessageInfo(mi)
1147		}
1148		return ms
1149	}
1150	return mi.MessageOf(x)
1151}
1152
1153// Deprecated: Use ExclusionRule.ProtoReflect.Descriptor instead.
1154func (*ExclusionRule) Descriptor() ([]byte, []int) {
1155	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{1}
1156}
1157
1158func (m *ExclusionRule) GetType() isExclusionRule_Type {
1159	if m != nil {
1160		return m.Type
1161	}
1162	return nil
1163}
1164
1165func (x *ExclusionRule) GetDictionary() *CustomInfoType_Dictionary {
1166	if x, ok := x.GetType().(*ExclusionRule_Dictionary); ok {
1167		return x.Dictionary
1168	}
1169	return nil
1170}
1171
1172func (x *ExclusionRule) GetRegex() *CustomInfoType_Regex {
1173	if x, ok := x.GetType().(*ExclusionRule_Regex); ok {
1174		return x.Regex
1175	}
1176	return nil
1177}
1178
1179func (x *ExclusionRule) GetExcludeInfoTypes() *ExcludeInfoTypes {
1180	if x, ok := x.GetType().(*ExclusionRule_ExcludeInfoTypes); ok {
1181		return x.ExcludeInfoTypes
1182	}
1183	return nil
1184}
1185
1186func (x *ExclusionRule) GetMatchingType() MatchingType {
1187	if x != nil {
1188		return x.MatchingType
1189	}
1190	return MatchingType_MATCHING_TYPE_UNSPECIFIED
1191}
1192
1193type isExclusionRule_Type interface {
1194	isExclusionRule_Type()
1195}
1196
1197type ExclusionRule_Dictionary struct {
1198	// Dictionary which defines the rule.
1199	Dictionary *CustomInfoType_Dictionary `protobuf:"bytes,1,opt,name=dictionary,proto3,oneof"`
1200}
1201
1202type ExclusionRule_Regex struct {
1203	// Regular expression which defines the rule.
1204	Regex *CustomInfoType_Regex `protobuf:"bytes,2,opt,name=regex,proto3,oneof"`
1205}
1206
1207type ExclusionRule_ExcludeInfoTypes struct {
1208	// Set of infoTypes for which findings would affect this rule.
1209	ExcludeInfoTypes *ExcludeInfoTypes `protobuf:"bytes,3,opt,name=exclude_info_types,json=excludeInfoTypes,proto3,oneof"`
1210}
1211
1212func (*ExclusionRule_Dictionary) isExclusionRule_Type() {}
1213
1214func (*ExclusionRule_Regex) isExclusionRule_Type() {}
1215
1216func (*ExclusionRule_ExcludeInfoTypes) isExclusionRule_Type() {}
1217
1218// A single inspection rule to be applied to infoTypes, specified in
1219// `InspectionRuleSet`.
1220type InspectionRule struct {
1221	state         protoimpl.MessageState
1222	sizeCache     protoimpl.SizeCache
1223	unknownFields protoimpl.UnknownFields
1224
1225	// Inspection rule types.
1226	//
1227	// Types that are assignable to Type:
1228	//	*InspectionRule_HotwordRule
1229	//	*InspectionRule_ExclusionRule
1230	Type isInspectionRule_Type `protobuf_oneof:"type"`
1231}
1232
1233func (x *InspectionRule) Reset() {
1234	*x = InspectionRule{}
1235	if protoimpl.UnsafeEnabled {
1236		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[2]
1237		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1238		ms.StoreMessageInfo(mi)
1239	}
1240}
1241
1242func (x *InspectionRule) String() string {
1243	return protoimpl.X.MessageStringOf(x)
1244}
1245
1246func (*InspectionRule) ProtoMessage() {}
1247
1248func (x *InspectionRule) ProtoReflect() protoreflect.Message {
1249	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[2]
1250	if protoimpl.UnsafeEnabled && x != nil {
1251		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1252		if ms.LoadMessageInfo() == nil {
1253			ms.StoreMessageInfo(mi)
1254		}
1255		return ms
1256	}
1257	return mi.MessageOf(x)
1258}
1259
1260// Deprecated: Use InspectionRule.ProtoReflect.Descriptor instead.
1261func (*InspectionRule) Descriptor() ([]byte, []int) {
1262	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{2}
1263}
1264
1265func (m *InspectionRule) GetType() isInspectionRule_Type {
1266	if m != nil {
1267		return m.Type
1268	}
1269	return nil
1270}
1271
1272func (x *InspectionRule) GetHotwordRule() *CustomInfoType_DetectionRule_HotwordRule {
1273	if x, ok := x.GetType().(*InspectionRule_HotwordRule); ok {
1274		return x.HotwordRule
1275	}
1276	return nil
1277}
1278
1279func (x *InspectionRule) GetExclusionRule() *ExclusionRule {
1280	if x, ok := x.GetType().(*InspectionRule_ExclusionRule); ok {
1281		return x.ExclusionRule
1282	}
1283	return nil
1284}
1285
1286type isInspectionRule_Type interface {
1287	isInspectionRule_Type()
1288}
1289
1290type InspectionRule_HotwordRule struct {
1291	// Hotword-based detection rule.
1292	HotwordRule *CustomInfoType_DetectionRule_HotwordRule `protobuf:"bytes,1,opt,name=hotword_rule,json=hotwordRule,proto3,oneof"`
1293}
1294
1295type InspectionRule_ExclusionRule struct {
1296	// Exclusion rule.
1297	ExclusionRule *ExclusionRule `protobuf:"bytes,2,opt,name=exclusion_rule,json=exclusionRule,proto3,oneof"`
1298}
1299
1300func (*InspectionRule_HotwordRule) isInspectionRule_Type() {}
1301
1302func (*InspectionRule_ExclusionRule) isInspectionRule_Type() {}
1303
1304// Rule set for modifying a set of infoTypes to alter behavior under certain
1305// circumstances, depending on the specific details of the rules within the set.
1306type InspectionRuleSet struct {
1307	state         protoimpl.MessageState
1308	sizeCache     protoimpl.SizeCache
1309	unknownFields protoimpl.UnknownFields
1310
1311	// List of infoTypes this rule set is applied to.
1312	InfoTypes []*InfoType `protobuf:"bytes,1,rep,name=info_types,json=infoTypes,proto3" json:"info_types,omitempty"`
1313	// Set of rules to be applied to infoTypes. The rules are applied in order.
1314	Rules []*InspectionRule `protobuf:"bytes,2,rep,name=rules,proto3" json:"rules,omitempty"`
1315}
1316
1317func (x *InspectionRuleSet) Reset() {
1318	*x = InspectionRuleSet{}
1319	if protoimpl.UnsafeEnabled {
1320		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[3]
1321		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1322		ms.StoreMessageInfo(mi)
1323	}
1324}
1325
1326func (x *InspectionRuleSet) String() string {
1327	return protoimpl.X.MessageStringOf(x)
1328}
1329
1330func (*InspectionRuleSet) ProtoMessage() {}
1331
1332func (x *InspectionRuleSet) ProtoReflect() protoreflect.Message {
1333	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[3]
1334	if protoimpl.UnsafeEnabled && x != nil {
1335		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1336		if ms.LoadMessageInfo() == nil {
1337			ms.StoreMessageInfo(mi)
1338		}
1339		return ms
1340	}
1341	return mi.MessageOf(x)
1342}
1343
1344// Deprecated: Use InspectionRuleSet.ProtoReflect.Descriptor instead.
1345func (*InspectionRuleSet) Descriptor() ([]byte, []int) {
1346	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{3}
1347}
1348
1349func (x *InspectionRuleSet) GetInfoTypes() []*InfoType {
1350	if x != nil {
1351		return x.InfoTypes
1352	}
1353	return nil
1354}
1355
1356func (x *InspectionRuleSet) GetRules() []*InspectionRule {
1357	if x != nil {
1358		return x.Rules
1359	}
1360	return nil
1361}
1362
1363// Configuration description of the scanning process.
1364// When used with redactContent only info_types and min_likelihood are currently
1365// used.
1366type InspectConfig struct {
1367	state         protoimpl.MessageState
1368	sizeCache     protoimpl.SizeCache
1369	unknownFields protoimpl.UnknownFields
1370
1371	// Restricts what info_types to look for. The values must correspond to
1372	// InfoType values returned by ListInfoTypes or listed at
1373	// https://cloud.google.com/dlp/docs/infotypes-reference.
1374	//
1375	// When no InfoTypes or CustomInfoTypes are specified in a request, the
1376	// system may automatically choose what detectors to run. By default this may
1377	// be all types, but may change over time as detectors are updated.
1378	//
1379	// If you need precise control and predictability as to what detectors are
1380	// run you should specify specific InfoTypes listed in the reference,
1381	// otherwise a default list will be used, which may change over time.
1382	InfoTypes []*InfoType `protobuf:"bytes,1,rep,name=info_types,json=infoTypes,proto3" json:"info_types,omitempty"`
1383	// Only returns findings equal or above this threshold. The default is
1384	// POSSIBLE.
1385	// See https://cloud.google.com/dlp/docs/likelihood to learn more.
1386	MinLikelihood Likelihood `protobuf:"varint,2,opt,name=min_likelihood,json=minLikelihood,proto3,enum=google.privacy.dlp.v2.Likelihood" json:"min_likelihood,omitempty"`
1387	// Configuration to control the number of findings returned.
1388	Limits *InspectConfig_FindingLimits `protobuf:"bytes,3,opt,name=limits,proto3" json:"limits,omitempty"`
1389	// When true, a contextual quote from the data that triggered a finding is
1390	// included in the response; see Finding.quote.
1391	IncludeQuote bool `protobuf:"varint,4,opt,name=include_quote,json=includeQuote,proto3" json:"include_quote,omitempty"`
1392	// When true, excludes type information of the findings.
1393	ExcludeInfoTypes bool `protobuf:"varint,5,opt,name=exclude_info_types,json=excludeInfoTypes,proto3" json:"exclude_info_types,omitempty"`
1394	// CustomInfoTypes provided by the user. See
1395	// https://cloud.google.com/dlp/docs/creating-custom-infotypes to learn more.
1396	CustomInfoTypes []*CustomInfoType `protobuf:"bytes,6,rep,name=custom_info_types,json=customInfoTypes,proto3" json:"custom_info_types,omitempty"`
1397	// List of options defining data content to scan.
1398	// If empty, text, images, and other content will be included.
1399	ContentOptions []ContentOption `protobuf:"varint,8,rep,packed,name=content_options,json=contentOptions,proto3,enum=google.privacy.dlp.v2.ContentOption" json:"content_options,omitempty"`
1400	// Set of rules to apply to the findings for this InspectConfig.
1401	// Exclusion rules, contained in the set are executed in the end, other
1402	// rules are executed in the order they are specified for each info type.
1403	RuleSet []*InspectionRuleSet `protobuf:"bytes,10,rep,name=rule_set,json=ruleSet,proto3" json:"rule_set,omitempty"`
1404}
1405
1406func (x *InspectConfig) Reset() {
1407	*x = InspectConfig{}
1408	if protoimpl.UnsafeEnabled {
1409		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[4]
1410		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1411		ms.StoreMessageInfo(mi)
1412	}
1413}
1414
1415func (x *InspectConfig) String() string {
1416	return protoimpl.X.MessageStringOf(x)
1417}
1418
1419func (*InspectConfig) ProtoMessage() {}
1420
1421func (x *InspectConfig) ProtoReflect() protoreflect.Message {
1422	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[4]
1423	if protoimpl.UnsafeEnabled && x != nil {
1424		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1425		if ms.LoadMessageInfo() == nil {
1426			ms.StoreMessageInfo(mi)
1427		}
1428		return ms
1429	}
1430	return mi.MessageOf(x)
1431}
1432
1433// Deprecated: Use InspectConfig.ProtoReflect.Descriptor instead.
1434func (*InspectConfig) Descriptor() ([]byte, []int) {
1435	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{4}
1436}
1437
1438func (x *InspectConfig) GetInfoTypes() []*InfoType {
1439	if x != nil {
1440		return x.InfoTypes
1441	}
1442	return nil
1443}
1444
1445func (x *InspectConfig) GetMinLikelihood() Likelihood {
1446	if x != nil {
1447		return x.MinLikelihood
1448	}
1449	return Likelihood_LIKELIHOOD_UNSPECIFIED
1450}
1451
1452func (x *InspectConfig) GetLimits() *InspectConfig_FindingLimits {
1453	if x != nil {
1454		return x.Limits
1455	}
1456	return nil
1457}
1458
1459func (x *InspectConfig) GetIncludeQuote() bool {
1460	if x != nil {
1461		return x.IncludeQuote
1462	}
1463	return false
1464}
1465
1466func (x *InspectConfig) GetExcludeInfoTypes() bool {
1467	if x != nil {
1468		return x.ExcludeInfoTypes
1469	}
1470	return false
1471}
1472
1473func (x *InspectConfig) GetCustomInfoTypes() []*CustomInfoType {
1474	if x != nil {
1475		return x.CustomInfoTypes
1476	}
1477	return nil
1478}
1479
1480func (x *InspectConfig) GetContentOptions() []ContentOption {
1481	if x != nil {
1482		return x.ContentOptions
1483	}
1484	return nil
1485}
1486
1487func (x *InspectConfig) GetRuleSet() []*InspectionRuleSet {
1488	if x != nil {
1489		return x.RuleSet
1490	}
1491	return nil
1492}
1493
1494// Container for bytes to inspect or redact.
1495type ByteContentItem struct {
1496	state         protoimpl.MessageState
1497	sizeCache     protoimpl.SizeCache
1498	unknownFields protoimpl.UnknownFields
1499
1500	// The type of data stored in the bytes string. Default will be TEXT_UTF8.
1501	Type ByteContentItem_BytesType `protobuf:"varint,1,opt,name=type,proto3,enum=google.privacy.dlp.v2.ByteContentItem_BytesType" json:"type,omitempty"`
1502	// Content data to inspect or redact.
1503	Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
1504}
1505
1506func (x *ByteContentItem) Reset() {
1507	*x = ByteContentItem{}
1508	if protoimpl.UnsafeEnabled {
1509		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[5]
1510		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1511		ms.StoreMessageInfo(mi)
1512	}
1513}
1514
1515func (x *ByteContentItem) String() string {
1516	return protoimpl.X.MessageStringOf(x)
1517}
1518
1519func (*ByteContentItem) ProtoMessage() {}
1520
1521func (x *ByteContentItem) ProtoReflect() protoreflect.Message {
1522	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[5]
1523	if protoimpl.UnsafeEnabled && x != nil {
1524		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1525		if ms.LoadMessageInfo() == nil {
1526			ms.StoreMessageInfo(mi)
1527		}
1528		return ms
1529	}
1530	return mi.MessageOf(x)
1531}
1532
1533// Deprecated: Use ByteContentItem.ProtoReflect.Descriptor instead.
1534func (*ByteContentItem) Descriptor() ([]byte, []int) {
1535	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{5}
1536}
1537
1538func (x *ByteContentItem) GetType() ByteContentItem_BytesType {
1539	if x != nil {
1540		return x.Type
1541	}
1542	return ByteContentItem_BYTES_TYPE_UNSPECIFIED
1543}
1544
1545func (x *ByteContentItem) GetData() []byte {
1546	if x != nil {
1547		return x.Data
1548	}
1549	return nil
1550}
1551
1552// Container structure for the content to inspect.
1553type ContentItem struct {
1554	state         protoimpl.MessageState
1555	sizeCache     protoimpl.SizeCache
1556	unknownFields protoimpl.UnknownFields
1557
1558	// Data of the item either in the byte array or UTF-8 string form, or table.
1559	//
1560	// Types that are assignable to DataItem:
1561	//	*ContentItem_Value
1562	//	*ContentItem_Table
1563	//	*ContentItem_ByteItem
1564	DataItem isContentItem_DataItem `protobuf_oneof:"data_item"`
1565}
1566
1567func (x *ContentItem) Reset() {
1568	*x = ContentItem{}
1569	if protoimpl.UnsafeEnabled {
1570		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[6]
1571		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1572		ms.StoreMessageInfo(mi)
1573	}
1574}
1575
1576func (x *ContentItem) String() string {
1577	return protoimpl.X.MessageStringOf(x)
1578}
1579
1580func (*ContentItem) ProtoMessage() {}
1581
1582func (x *ContentItem) ProtoReflect() protoreflect.Message {
1583	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[6]
1584	if protoimpl.UnsafeEnabled && x != nil {
1585		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1586		if ms.LoadMessageInfo() == nil {
1587			ms.StoreMessageInfo(mi)
1588		}
1589		return ms
1590	}
1591	return mi.MessageOf(x)
1592}
1593
1594// Deprecated: Use ContentItem.ProtoReflect.Descriptor instead.
1595func (*ContentItem) Descriptor() ([]byte, []int) {
1596	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{6}
1597}
1598
1599func (m *ContentItem) GetDataItem() isContentItem_DataItem {
1600	if m != nil {
1601		return m.DataItem
1602	}
1603	return nil
1604}
1605
1606func (x *ContentItem) GetValue() string {
1607	if x, ok := x.GetDataItem().(*ContentItem_Value); ok {
1608		return x.Value
1609	}
1610	return ""
1611}
1612
1613func (x *ContentItem) GetTable() *Table {
1614	if x, ok := x.GetDataItem().(*ContentItem_Table); ok {
1615		return x.Table
1616	}
1617	return nil
1618}
1619
1620func (x *ContentItem) GetByteItem() *ByteContentItem {
1621	if x, ok := x.GetDataItem().(*ContentItem_ByteItem); ok {
1622		return x.ByteItem
1623	}
1624	return nil
1625}
1626
1627type isContentItem_DataItem interface {
1628	isContentItem_DataItem()
1629}
1630
1631type ContentItem_Value struct {
1632	// String data to inspect or redact.
1633	Value string `protobuf:"bytes,3,opt,name=value,proto3,oneof"`
1634}
1635
1636type ContentItem_Table struct {
1637	// Structured content for inspection. See
1638	// https://cloud.google.com/dlp/docs/inspecting-text#inspecting_a_table to
1639	// learn more.
1640	Table *Table `protobuf:"bytes,4,opt,name=table,proto3,oneof"`
1641}
1642
1643type ContentItem_ByteItem struct {
1644	// Content data to inspect or redact. Replaces `type` and `data`.
1645	ByteItem *ByteContentItem `protobuf:"bytes,5,opt,name=byte_item,json=byteItem,proto3,oneof"`
1646}
1647
1648func (*ContentItem_Value) isContentItem_DataItem() {}
1649
1650func (*ContentItem_Table) isContentItem_DataItem() {}
1651
1652func (*ContentItem_ByteItem) isContentItem_DataItem() {}
1653
1654// Structured content to inspect. Up to 50,000 `Value`s per request allowed.
1655// See https://cloud.google.com/dlp/docs/inspecting-text#inspecting_a_table to
1656// learn more.
1657type Table struct {
1658	state         protoimpl.MessageState
1659	sizeCache     protoimpl.SizeCache
1660	unknownFields protoimpl.UnknownFields
1661
1662	// Headers of the table.
1663	Headers []*FieldId `protobuf:"bytes,1,rep,name=headers,proto3" json:"headers,omitempty"`
1664	// Rows of the table.
1665	Rows []*Table_Row `protobuf:"bytes,2,rep,name=rows,proto3" json:"rows,omitempty"`
1666}
1667
1668func (x *Table) Reset() {
1669	*x = Table{}
1670	if protoimpl.UnsafeEnabled {
1671		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[7]
1672		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1673		ms.StoreMessageInfo(mi)
1674	}
1675}
1676
1677func (x *Table) String() string {
1678	return protoimpl.X.MessageStringOf(x)
1679}
1680
1681func (*Table) ProtoMessage() {}
1682
1683func (x *Table) ProtoReflect() protoreflect.Message {
1684	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[7]
1685	if protoimpl.UnsafeEnabled && x != nil {
1686		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1687		if ms.LoadMessageInfo() == nil {
1688			ms.StoreMessageInfo(mi)
1689		}
1690		return ms
1691	}
1692	return mi.MessageOf(x)
1693}
1694
1695// Deprecated: Use Table.ProtoReflect.Descriptor instead.
1696func (*Table) Descriptor() ([]byte, []int) {
1697	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{7}
1698}
1699
1700func (x *Table) GetHeaders() []*FieldId {
1701	if x != nil {
1702		return x.Headers
1703	}
1704	return nil
1705}
1706
1707func (x *Table) GetRows() []*Table_Row {
1708	if x != nil {
1709		return x.Rows
1710	}
1711	return nil
1712}
1713
1714// All the findings for a single scanned item.
1715type InspectResult struct {
1716	state         protoimpl.MessageState
1717	sizeCache     protoimpl.SizeCache
1718	unknownFields protoimpl.UnknownFields
1719
1720	// List of findings for an item.
1721	Findings []*Finding `protobuf:"bytes,1,rep,name=findings,proto3" json:"findings,omitempty"`
1722	// If true, then this item might have more findings than were returned,
1723	// and the findings returned are an arbitrary subset of all findings.
1724	// The findings list might be truncated because the input items were too
1725	// large, or because the server reached the maximum amount of resources
1726	// allowed for a single API call. For best results, divide the input into
1727	// smaller batches.
1728	FindingsTruncated bool `protobuf:"varint,2,opt,name=findings_truncated,json=findingsTruncated,proto3" json:"findings_truncated,omitempty"`
1729}
1730
1731func (x *InspectResult) Reset() {
1732	*x = InspectResult{}
1733	if protoimpl.UnsafeEnabled {
1734		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[8]
1735		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1736		ms.StoreMessageInfo(mi)
1737	}
1738}
1739
1740func (x *InspectResult) String() string {
1741	return protoimpl.X.MessageStringOf(x)
1742}
1743
1744func (*InspectResult) ProtoMessage() {}
1745
1746func (x *InspectResult) ProtoReflect() protoreflect.Message {
1747	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[8]
1748	if protoimpl.UnsafeEnabled && x != nil {
1749		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1750		if ms.LoadMessageInfo() == nil {
1751			ms.StoreMessageInfo(mi)
1752		}
1753		return ms
1754	}
1755	return mi.MessageOf(x)
1756}
1757
1758// Deprecated: Use InspectResult.ProtoReflect.Descriptor instead.
1759func (*InspectResult) Descriptor() ([]byte, []int) {
1760	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{8}
1761}
1762
1763func (x *InspectResult) GetFindings() []*Finding {
1764	if x != nil {
1765		return x.Findings
1766	}
1767	return nil
1768}
1769
1770func (x *InspectResult) GetFindingsTruncated() bool {
1771	if x != nil {
1772		return x.FindingsTruncated
1773	}
1774	return false
1775}
1776
1777// Represents a piece of potentially sensitive content.
1778type Finding struct {
1779	state         protoimpl.MessageState
1780	sizeCache     protoimpl.SizeCache
1781	unknownFields protoimpl.UnknownFields
1782
1783	// Resource name in format
1784	// projects/{project}/locations/{location}/findings/{finding}
1785	// Populated only when viewing persisted findings.
1786	Name string `protobuf:"bytes,14,opt,name=name,proto3" json:"name,omitempty"`
1787	// The content that was found. Even if the content is not textual, it
1788	// may be converted to a textual representation here.
1789	// Provided if `include_quote` is true and the finding is
1790	// less than or equal to 4096 bytes long. If the finding exceeds 4096 bytes
1791	// in length, the quote may be omitted.
1792	Quote string `protobuf:"bytes,1,opt,name=quote,proto3" json:"quote,omitempty"`
1793	// The type of content that might have been found.
1794	// Provided if `excluded_types` is false.
1795	InfoType *InfoType `protobuf:"bytes,2,opt,name=info_type,json=infoType,proto3" json:"info_type,omitempty"`
1796	// Confidence of how likely it is that the `info_type` is correct.
1797	Likelihood Likelihood `protobuf:"varint,3,opt,name=likelihood,proto3,enum=google.privacy.dlp.v2.Likelihood" json:"likelihood,omitempty"`
1798	// Where the content was found.
1799	Location *Location `protobuf:"bytes,4,opt,name=location,proto3" json:"location,omitempty"`
1800	// Timestamp when finding was detected.
1801	CreateTime *timestamp.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
1802	// Contains data parsed from quotes. Only populated if include_quote was set
1803	// to true and a supported infoType was requested. Currently supported
1804	// infoTypes: DATE, DATE_OF_BIRTH and TIME.
1805	QuoteInfo *QuoteInfo `protobuf:"bytes,7,opt,name=quote_info,json=quoteInfo,proto3" json:"quote_info,omitempty"`
1806	// The job that stored the finding.
1807	ResourceName string `protobuf:"bytes,8,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"`
1808	// Job trigger name, if applicable, for this finding.
1809	TriggerName string `protobuf:"bytes,9,opt,name=trigger_name,json=triggerName,proto3" json:"trigger_name,omitempty"`
1810	// The labels associated with this `Finding`.
1811	//
1812	// Label keys must be between 1 and 63 characters long and must conform
1813	// to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
1814	//
1815	// Label values must be between 0 and 63 characters long and must conform
1816	// to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
1817	//
1818	// No more than 10 labels can be associated with a given finding.
1819	//
1820	// Examples:
1821	// * `"environment" : "production"`
1822	// * `"pipeline" : "etl"`
1823	Labels map[string]string `protobuf:"bytes,10,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
1824	// Time the job started that produced this finding.
1825	JobCreateTime *timestamp.Timestamp `protobuf:"bytes,11,opt,name=job_create_time,json=jobCreateTime,proto3" json:"job_create_time,omitempty"`
1826	// The job that stored the finding.
1827	JobName string `protobuf:"bytes,13,opt,name=job_name,json=jobName,proto3" json:"job_name,omitempty"`
1828}
1829
1830func (x *Finding) Reset() {
1831	*x = Finding{}
1832	if protoimpl.UnsafeEnabled {
1833		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[9]
1834		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1835		ms.StoreMessageInfo(mi)
1836	}
1837}
1838
1839func (x *Finding) String() string {
1840	return protoimpl.X.MessageStringOf(x)
1841}
1842
1843func (*Finding) ProtoMessage() {}
1844
1845func (x *Finding) ProtoReflect() protoreflect.Message {
1846	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[9]
1847	if protoimpl.UnsafeEnabled && x != nil {
1848		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1849		if ms.LoadMessageInfo() == nil {
1850			ms.StoreMessageInfo(mi)
1851		}
1852		return ms
1853	}
1854	return mi.MessageOf(x)
1855}
1856
1857// Deprecated: Use Finding.ProtoReflect.Descriptor instead.
1858func (*Finding) Descriptor() ([]byte, []int) {
1859	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{9}
1860}
1861
1862func (x *Finding) GetName() string {
1863	if x != nil {
1864		return x.Name
1865	}
1866	return ""
1867}
1868
1869func (x *Finding) GetQuote() string {
1870	if x != nil {
1871		return x.Quote
1872	}
1873	return ""
1874}
1875
1876func (x *Finding) GetInfoType() *InfoType {
1877	if x != nil {
1878		return x.InfoType
1879	}
1880	return nil
1881}
1882
1883func (x *Finding) GetLikelihood() Likelihood {
1884	if x != nil {
1885		return x.Likelihood
1886	}
1887	return Likelihood_LIKELIHOOD_UNSPECIFIED
1888}
1889
1890func (x *Finding) GetLocation() *Location {
1891	if x != nil {
1892		return x.Location
1893	}
1894	return nil
1895}
1896
1897func (x *Finding) GetCreateTime() *timestamp.Timestamp {
1898	if x != nil {
1899		return x.CreateTime
1900	}
1901	return nil
1902}
1903
1904func (x *Finding) GetQuoteInfo() *QuoteInfo {
1905	if x != nil {
1906		return x.QuoteInfo
1907	}
1908	return nil
1909}
1910
1911func (x *Finding) GetResourceName() string {
1912	if x != nil {
1913		return x.ResourceName
1914	}
1915	return ""
1916}
1917
1918func (x *Finding) GetTriggerName() string {
1919	if x != nil {
1920		return x.TriggerName
1921	}
1922	return ""
1923}
1924
1925func (x *Finding) GetLabels() map[string]string {
1926	if x != nil {
1927		return x.Labels
1928	}
1929	return nil
1930}
1931
1932func (x *Finding) GetJobCreateTime() *timestamp.Timestamp {
1933	if x != nil {
1934		return x.JobCreateTime
1935	}
1936	return nil
1937}
1938
1939func (x *Finding) GetJobName() string {
1940	if x != nil {
1941		return x.JobName
1942	}
1943	return ""
1944}
1945
1946// Specifies the location of the finding.
1947type Location struct {
1948	state         protoimpl.MessageState
1949	sizeCache     protoimpl.SizeCache
1950	unknownFields protoimpl.UnknownFields
1951
1952	// Zero-based byte offsets delimiting the finding.
1953	// These are relative to the finding's containing element.
1954	// Note that when the content is not textual, this references
1955	// the UTF-8 encoded textual representation of the content.
1956	// Omitted if content is an image.
1957	ByteRange *Range `protobuf:"bytes,1,opt,name=byte_range,json=byteRange,proto3" json:"byte_range,omitempty"`
1958	// Unicode character offsets delimiting the finding.
1959	// These are relative to the finding's containing element.
1960	// Provided when the content is text.
1961	CodepointRange *Range `protobuf:"bytes,2,opt,name=codepoint_range,json=codepointRange,proto3" json:"codepoint_range,omitempty"`
1962	// List of nested objects pointing to the precise location of the finding
1963	// within the file or record.
1964	ContentLocations []*ContentLocation `protobuf:"bytes,7,rep,name=content_locations,json=contentLocations,proto3" json:"content_locations,omitempty"`
1965	// Information about the container where this finding occurred, if available.
1966	Container *Container `protobuf:"bytes,8,opt,name=container,proto3" json:"container,omitempty"`
1967}
1968
1969func (x *Location) Reset() {
1970	*x = Location{}
1971	if protoimpl.UnsafeEnabled {
1972		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[10]
1973		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1974		ms.StoreMessageInfo(mi)
1975	}
1976}
1977
1978func (x *Location) String() string {
1979	return protoimpl.X.MessageStringOf(x)
1980}
1981
1982func (*Location) ProtoMessage() {}
1983
1984func (x *Location) ProtoReflect() protoreflect.Message {
1985	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[10]
1986	if protoimpl.UnsafeEnabled && x != nil {
1987		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1988		if ms.LoadMessageInfo() == nil {
1989			ms.StoreMessageInfo(mi)
1990		}
1991		return ms
1992	}
1993	return mi.MessageOf(x)
1994}
1995
1996// Deprecated: Use Location.ProtoReflect.Descriptor instead.
1997func (*Location) Descriptor() ([]byte, []int) {
1998	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{10}
1999}
2000
2001func (x *Location) GetByteRange() *Range {
2002	if x != nil {
2003		return x.ByteRange
2004	}
2005	return nil
2006}
2007
2008func (x *Location) GetCodepointRange() *Range {
2009	if x != nil {
2010		return x.CodepointRange
2011	}
2012	return nil
2013}
2014
2015func (x *Location) GetContentLocations() []*ContentLocation {
2016	if x != nil {
2017		return x.ContentLocations
2018	}
2019	return nil
2020}
2021
2022func (x *Location) GetContainer() *Container {
2023	if x != nil {
2024		return x.Container
2025	}
2026	return nil
2027}
2028
2029// Precise location of the finding within a document, record, image, or metadata
2030// container.
2031type ContentLocation struct {
2032	state         protoimpl.MessageState
2033	sizeCache     protoimpl.SizeCache
2034	unknownFields protoimpl.UnknownFields
2035
2036	// Name of the container where the finding is located.
2037	// The top level name is the source file name or table name. Names of some
2038	// common storage containers are formatted as follows:
2039	//
2040	// * BigQuery tables:  `{project_id}:{dataset_id}.{table_id}`
2041	// * Cloud Storage files: `gs://{bucket}/{path}`
2042	// * Datastore namespace: {namespace}
2043	//
2044	// Nested names could be absent if the embedded object has no string
2045	// identifier (for an example an image contained within a document).
2046	ContainerName string `protobuf:"bytes,1,opt,name=container_name,json=containerName,proto3" json:"container_name,omitempty"`
2047	// Type of the container within the file with location of the finding.
2048	//
2049	// Types that are assignable to Location:
2050	//	*ContentLocation_RecordLocation
2051	//	*ContentLocation_ImageLocation
2052	//	*ContentLocation_DocumentLocation
2053	//	*ContentLocation_MetadataLocation
2054	Location isContentLocation_Location `protobuf_oneof:"location"`
2055	// Findings container modification timestamp, if applicable.
2056	// For Google Cloud Storage contains last file modification timestamp.
2057	// For BigQuery table contains last_modified_time property.
2058	// For Datastore - not populated.
2059	ContainerTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=container_timestamp,json=containerTimestamp,proto3" json:"container_timestamp,omitempty"`
2060	// Findings container version, if available
2061	// ("generation" for Google Cloud Storage).
2062	ContainerVersion string `protobuf:"bytes,7,opt,name=container_version,json=containerVersion,proto3" json:"container_version,omitempty"`
2063}
2064
2065func (x *ContentLocation) Reset() {
2066	*x = ContentLocation{}
2067	if protoimpl.UnsafeEnabled {
2068		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[11]
2069		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2070		ms.StoreMessageInfo(mi)
2071	}
2072}
2073
2074func (x *ContentLocation) String() string {
2075	return protoimpl.X.MessageStringOf(x)
2076}
2077
2078func (*ContentLocation) ProtoMessage() {}
2079
2080func (x *ContentLocation) ProtoReflect() protoreflect.Message {
2081	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[11]
2082	if protoimpl.UnsafeEnabled && x != nil {
2083		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2084		if ms.LoadMessageInfo() == nil {
2085			ms.StoreMessageInfo(mi)
2086		}
2087		return ms
2088	}
2089	return mi.MessageOf(x)
2090}
2091
2092// Deprecated: Use ContentLocation.ProtoReflect.Descriptor instead.
2093func (*ContentLocation) Descriptor() ([]byte, []int) {
2094	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{11}
2095}
2096
2097func (x *ContentLocation) GetContainerName() string {
2098	if x != nil {
2099		return x.ContainerName
2100	}
2101	return ""
2102}
2103
2104func (m *ContentLocation) GetLocation() isContentLocation_Location {
2105	if m != nil {
2106		return m.Location
2107	}
2108	return nil
2109}
2110
2111func (x *ContentLocation) GetRecordLocation() *RecordLocation {
2112	if x, ok := x.GetLocation().(*ContentLocation_RecordLocation); ok {
2113		return x.RecordLocation
2114	}
2115	return nil
2116}
2117
2118func (x *ContentLocation) GetImageLocation() *ImageLocation {
2119	if x, ok := x.GetLocation().(*ContentLocation_ImageLocation); ok {
2120		return x.ImageLocation
2121	}
2122	return nil
2123}
2124
2125func (x *ContentLocation) GetDocumentLocation() *DocumentLocation {
2126	if x, ok := x.GetLocation().(*ContentLocation_DocumentLocation); ok {
2127		return x.DocumentLocation
2128	}
2129	return nil
2130}
2131
2132func (x *ContentLocation) GetMetadataLocation() *MetadataLocation {
2133	if x, ok := x.GetLocation().(*ContentLocation_MetadataLocation); ok {
2134		return x.MetadataLocation
2135	}
2136	return nil
2137}
2138
2139func (x *ContentLocation) GetContainerTimestamp() *timestamp.Timestamp {
2140	if x != nil {
2141		return x.ContainerTimestamp
2142	}
2143	return nil
2144}
2145
2146func (x *ContentLocation) GetContainerVersion() string {
2147	if x != nil {
2148		return x.ContainerVersion
2149	}
2150	return ""
2151}
2152
2153type isContentLocation_Location interface {
2154	isContentLocation_Location()
2155}
2156
2157type ContentLocation_RecordLocation struct {
2158	// Location within a row or record of a database table.
2159	RecordLocation *RecordLocation `protobuf:"bytes,2,opt,name=record_location,json=recordLocation,proto3,oneof"`
2160}
2161
2162type ContentLocation_ImageLocation struct {
2163	// Location within an image's pixels.
2164	ImageLocation *ImageLocation `protobuf:"bytes,3,opt,name=image_location,json=imageLocation,proto3,oneof"`
2165}
2166
2167type ContentLocation_DocumentLocation struct {
2168	// Location data for document files.
2169	DocumentLocation *DocumentLocation `protobuf:"bytes,5,opt,name=document_location,json=documentLocation,proto3,oneof"`
2170}
2171
2172type ContentLocation_MetadataLocation struct {
2173	// Location within the metadata for inspected content.
2174	MetadataLocation *MetadataLocation `protobuf:"bytes,8,opt,name=metadata_location,json=metadataLocation,proto3,oneof"`
2175}
2176
2177func (*ContentLocation_RecordLocation) isContentLocation_Location() {}
2178
2179func (*ContentLocation_ImageLocation) isContentLocation_Location() {}
2180
2181func (*ContentLocation_DocumentLocation) isContentLocation_Location() {}
2182
2183func (*ContentLocation_MetadataLocation) isContentLocation_Location() {}
2184
2185// Metadata Location
2186type MetadataLocation struct {
2187	state         protoimpl.MessageState
2188	sizeCache     protoimpl.SizeCache
2189	unknownFields protoimpl.UnknownFields
2190
2191	// Type of metadata containing the finding.
2192	Type MetadataType `protobuf:"varint,1,opt,name=type,proto3,enum=google.privacy.dlp.v2.MetadataType" json:"type,omitempty"`
2193	// Label of the piece of metadata containing the finding, for example -
2194	// latitude, author, caption.
2195	//
2196	// Types that are assignable to Label:
2197	//	*MetadataLocation_StorageLabel
2198	Label isMetadataLocation_Label `protobuf_oneof:"label"`
2199}
2200
2201func (x *MetadataLocation) Reset() {
2202	*x = MetadataLocation{}
2203	if protoimpl.UnsafeEnabled {
2204		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[12]
2205		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2206		ms.StoreMessageInfo(mi)
2207	}
2208}
2209
2210func (x *MetadataLocation) String() string {
2211	return protoimpl.X.MessageStringOf(x)
2212}
2213
2214func (*MetadataLocation) ProtoMessage() {}
2215
2216func (x *MetadataLocation) ProtoReflect() protoreflect.Message {
2217	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[12]
2218	if protoimpl.UnsafeEnabled && x != nil {
2219		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2220		if ms.LoadMessageInfo() == nil {
2221			ms.StoreMessageInfo(mi)
2222		}
2223		return ms
2224	}
2225	return mi.MessageOf(x)
2226}
2227
2228// Deprecated: Use MetadataLocation.ProtoReflect.Descriptor instead.
2229func (*MetadataLocation) Descriptor() ([]byte, []int) {
2230	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{12}
2231}
2232
2233func (x *MetadataLocation) GetType() MetadataType {
2234	if x != nil {
2235		return x.Type
2236	}
2237	return MetadataType_METADATATYPE_UNSPECIFIED
2238}
2239
2240func (m *MetadataLocation) GetLabel() isMetadataLocation_Label {
2241	if m != nil {
2242		return m.Label
2243	}
2244	return nil
2245}
2246
2247func (x *MetadataLocation) GetStorageLabel() *StorageMetadataLabel {
2248	if x, ok := x.GetLabel().(*MetadataLocation_StorageLabel); ok {
2249		return x.StorageLabel
2250	}
2251	return nil
2252}
2253
2254type isMetadataLocation_Label interface {
2255	isMetadataLocation_Label()
2256}
2257
2258type MetadataLocation_StorageLabel struct {
2259	// Storage metadata.
2260	StorageLabel *StorageMetadataLabel `protobuf:"bytes,3,opt,name=storage_label,json=storageLabel,proto3,oneof"`
2261}
2262
2263func (*MetadataLocation_StorageLabel) isMetadataLocation_Label() {}
2264
2265// Storage metadata label to indicate which metadata entry contains findings.
2266type StorageMetadataLabel struct {
2267	state         protoimpl.MessageState
2268	sizeCache     protoimpl.SizeCache
2269	unknownFields protoimpl.UnknownFields
2270
2271	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
2272}
2273
2274func (x *StorageMetadataLabel) Reset() {
2275	*x = StorageMetadataLabel{}
2276	if protoimpl.UnsafeEnabled {
2277		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[13]
2278		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2279		ms.StoreMessageInfo(mi)
2280	}
2281}
2282
2283func (x *StorageMetadataLabel) String() string {
2284	return protoimpl.X.MessageStringOf(x)
2285}
2286
2287func (*StorageMetadataLabel) ProtoMessage() {}
2288
2289func (x *StorageMetadataLabel) ProtoReflect() protoreflect.Message {
2290	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[13]
2291	if protoimpl.UnsafeEnabled && x != nil {
2292		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2293		if ms.LoadMessageInfo() == nil {
2294			ms.StoreMessageInfo(mi)
2295		}
2296		return ms
2297	}
2298	return mi.MessageOf(x)
2299}
2300
2301// Deprecated: Use StorageMetadataLabel.ProtoReflect.Descriptor instead.
2302func (*StorageMetadataLabel) Descriptor() ([]byte, []int) {
2303	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{13}
2304}
2305
2306func (x *StorageMetadataLabel) GetKey() string {
2307	if x != nil {
2308		return x.Key
2309	}
2310	return ""
2311}
2312
2313// Location of a finding within a document.
2314type DocumentLocation struct {
2315	state         protoimpl.MessageState
2316	sizeCache     protoimpl.SizeCache
2317	unknownFields protoimpl.UnknownFields
2318
2319	// Offset of the line, from the beginning of the file, where the finding
2320	// is located.
2321	FileOffset int64 `protobuf:"varint,1,opt,name=file_offset,json=fileOffset,proto3" json:"file_offset,omitempty"`
2322}
2323
2324func (x *DocumentLocation) Reset() {
2325	*x = DocumentLocation{}
2326	if protoimpl.UnsafeEnabled {
2327		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[14]
2328		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2329		ms.StoreMessageInfo(mi)
2330	}
2331}
2332
2333func (x *DocumentLocation) String() string {
2334	return protoimpl.X.MessageStringOf(x)
2335}
2336
2337func (*DocumentLocation) ProtoMessage() {}
2338
2339func (x *DocumentLocation) ProtoReflect() protoreflect.Message {
2340	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[14]
2341	if protoimpl.UnsafeEnabled && x != nil {
2342		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2343		if ms.LoadMessageInfo() == nil {
2344			ms.StoreMessageInfo(mi)
2345		}
2346		return ms
2347	}
2348	return mi.MessageOf(x)
2349}
2350
2351// Deprecated: Use DocumentLocation.ProtoReflect.Descriptor instead.
2352func (*DocumentLocation) Descriptor() ([]byte, []int) {
2353	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{14}
2354}
2355
2356func (x *DocumentLocation) GetFileOffset() int64 {
2357	if x != nil {
2358		return x.FileOffset
2359	}
2360	return 0
2361}
2362
2363// Location of a finding within a row or record.
2364type RecordLocation struct {
2365	state         protoimpl.MessageState
2366	sizeCache     protoimpl.SizeCache
2367	unknownFields protoimpl.UnknownFields
2368
2369	// Key of the finding.
2370	RecordKey *RecordKey `protobuf:"bytes,1,opt,name=record_key,json=recordKey,proto3" json:"record_key,omitempty"`
2371	// Field id of the field containing the finding.
2372	FieldId *FieldId `protobuf:"bytes,2,opt,name=field_id,json=fieldId,proto3" json:"field_id,omitempty"`
2373	// Location within a `ContentItem.Table`.
2374	TableLocation *TableLocation `protobuf:"bytes,3,opt,name=table_location,json=tableLocation,proto3" json:"table_location,omitempty"`
2375}
2376
2377func (x *RecordLocation) Reset() {
2378	*x = RecordLocation{}
2379	if protoimpl.UnsafeEnabled {
2380		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[15]
2381		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2382		ms.StoreMessageInfo(mi)
2383	}
2384}
2385
2386func (x *RecordLocation) String() string {
2387	return protoimpl.X.MessageStringOf(x)
2388}
2389
2390func (*RecordLocation) ProtoMessage() {}
2391
2392func (x *RecordLocation) ProtoReflect() protoreflect.Message {
2393	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[15]
2394	if protoimpl.UnsafeEnabled && x != nil {
2395		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2396		if ms.LoadMessageInfo() == nil {
2397			ms.StoreMessageInfo(mi)
2398		}
2399		return ms
2400	}
2401	return mi.MessageOf(x)
2402}
2403
2404// Deprecated: Use RecordLocation.ProtoReflect.Descriptor instead.
2405func (*RecordLocation) Descriptor() ([]byte, []int) {
2406	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{15}
2407}
2408
2409func (x *RecordLocation) GetRecordKey() *RecordKey {
2410	if x != nil {
2411		return x.RecordKey
2412	}
2413	return nil
2414}
2415
2416func (x *RecordLocation) GetFieldId() *FieldId {
2417	if x != nil {
2418		return x.FieldId
2419	}
2420	return nil
2421}
2422
2423func (x *RecordLocation) GetTableLocation() *TableLocation {
2424	if x != nil {
2425		return x.TableLocation
2426	}
2427	return nil
2428}
2429
2430// Location of a finding within a table.
2431type TableLocation struct {
2432	state         protoimpl.MessageState
2433	sizeCache     protoimpl.SizeCache
2434	unknownFields protoimpl.UnknownFields
2435
2436	// The zero-based index of the row where the finding is located. Only
2437	// populated for resources that have a natural ordering, not BigQuery. In
2438	// BigQuery, to identify the row a finding came from, populate
2439	// BigQueryOptions.identifying_fields with your primary key column names and
2440	// when you store the findings the value of those columns will be stored
2441	// inside of Finding.
2442	RowIndex int64 `protobuf:"varint,1,opt,name=row_index,json=rowIndex,proto3" json:"row_index,omitempty"`
2443}
2444
2445func (x *TableLocation) Reset() {
2446	*x = TableLocation{}
2447	if protoimpl.UnsafeEnabled {
2448		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[16]
2449		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2450		ms.StoreMessageInfo(mi)
2451	}
2452}
2453
2454func (x *TableLocation) String() string {
2455	return protoimpl.X.MessageStringOf(x)
2456}
2457
2458func (*TableLocation) ProtoMessage() {}
2459
2460func (x *TableLocation) ProtoReflect() protoreflect.Message {
2461	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[16]
2462	if protoimpl.UnsafeEnabled && x != nil {
2463		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2464		if ms.LoadMessageInfo() == nil {
2465			ms.StoreMessageInfo(mi)
2466		}
2467		return ms
2468	}
2469	return mi.MessageOf(x)
2470}
2471
2472// Deprecated: Use TableLocation.ProtoReflect.Descriptor instead.
2473func (*TableLocation) Descriptor() ([]byte, []int) {
2474	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{16}
2475}
2476
2477func (x *TableLocation) GetRowIndex() int64 {
2478	if x != nil {
2479		return x.RowIndex
2480	}
2481	return 0
2482}
2483
2484// Represents a container that may contain DLP findings.
2485// Examples of a container include a file, table, or database record.
2486type Container struct {
2487	state         protoimpl.MessageState
2488	sizeCache     protoimpl.SizeCache
2489	unknownFields protoimpl.UnknownFields
2490
2491	// Container type, for example BigQuery or Google Cloud Storage.
2492	Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
2493	// Project where the finding was found.
2494	// Can be different from the project that owns the finding.
2495	ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
2496	// A string representation of the full container name.
2497	// Examples:
2498	// - BigQuery: 'Project:DataSetId.TableId'
2499	// - Google Cloud Storage: 'gs://Bucket/folders/filename.txt'
2500	FullPath string `protobuf:"bytes,3,opt,name=full_path,json=fullPath,proto3" json:"full_path,omitempty"`
2501	// The root of the container.
2502	// Examples:
2503	// - For BigQuery table `project_id:dataset_id.table_id`, the root is
2504	//  `dataset_id`
2505	// - For Google Cloud Storage file `gs://bucket/folder/filename.txt`, the root
2506	//  is `gs://bucket`
2507	RootPath string `protobuf:"bytes,4,opt,name=root_path,json=rootPath,proto3" json:"root_path,omitempty"`
2508	// The rest of the path after the root.
2509	// Examples:
2510	// - For BigQuery table `project_id:dataset_id.table_id`, the relative path is
2511	//  `table_id`
2512	// - Google Cloud Storage file `gs://bucket/folder/filename.txt`, the relative
2513	//  path is `folder/filename.txt`
2514	RelativePath string `protobuf:"bytes,5,opt,name=relative_path,json=relativePath,proto3" json:"relative_path,omitempty"`
2515	// Findings container modification timestamp, if applicable.
2516	// For Google Cloud Storage contains last file modification timestamp.
2517	// For BigQuery table contains last_modified_time property.
2518	// For Datastore - not populated.
2519	UpdateTime *timestamp.Timestamp `protobuf:"bytes,6,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
2520	// Findings container version, if available
2521	// ("generation" for Google Cloud Storage).
2522	Version string `protobuf:"bytes,7,opt,name=version,proto3" json:"version,omitempty"`
2523}
2524
2525func (x *Container) Reset() {
2526	*x = Container{}
2527	if protoimpl.UnsafeEnabled {
2528		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[17]
2529		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2530		ms.StoreMessageInfo(mi)
2531	}
2532}
2533
2534func (x *Container) String() string {
2535	return protoimpl.X.MessageStringOf(x)
2536}
2537
2538func (*Container) ProtoMessage() {}
2539
2540func (x *Container) ProtoReflect() protoreflect.Message {
2541	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[17]
2542	if protoimpl.UnsafeEnabled && x != nil {
2543		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2544		if ms.LoadMessageInfo() == nil {
2545			ms.StoreMessageInfo(mi)
2546		}
2547		return ms
2548	}
2549	return mi.MessageOf(x)
2550}
2551
2552// Deprecated: Use Container.ProtoReflect.Descriptor instead.
2553func (*Container) Descriptor() ([]byte, []int) {
2554	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{17}
2555}
2556
2557func (x *Container) GetType() string {
2558	if x != nil {
2559		return x.Type
2560	}
2561	return ""
2562}
2563
2564func (x *Container) GetProjectId() string {
2565	if x != nil {
2566		return x.ProjectId
2567	}
2568	return ""
2569}
2570
2571func (x *Container) GetFullPath() string {
2572	if x != nil {
2573		return x.FullPath
2574	}
2575	return ""
2576}
2577
2578func (x *Container) GetRootPath() string {
2579	if x != nil {
2580		return x.RootPath
2581	}
2582	return ""
2583}
2584
2585func (x *Container) GetRelativePath() string {
2586	if x != nil {
2587		return x.RelativePath
2588	}
2589	return ""
2590}
2591
2592func (x *Container) GetUpdateTime() *timestamp.Timestamp {
2593	if x != nil {
2594		return x.UpdateTime
2595	}
2596	return nil
2597}
2598
2599func (x *Container) GetVersion() string {
2600	if x != nil {
2601		return x.Version
2602	}
2603	return ""
2604}
2605
2606// Generic half-open interval [start, end)
2607type Range struct {
2608	state         protoimpl.MessageState
2609	sizeCache     protoimpl.SizeCache
2610	unknownFields protoimpl.UnknownFields
2611
2612	// Index of the first character of the range (inclusive).
2613	Start int64 `protobuf:"varint,1,opt,name=start,proto3" json:"start,omitempty"`
2614	// Index of the last character of the range (exclusive).
2615	End int64 `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"`
2616}
2617
2618func (x *Range) Reset() {
2619	*x = Range{}
2620	if protoimpl.UnsafeEnabled {
2621		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[18]
2622		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2623		ms.StoreMessageInfo(mi)
2624	}
2625}
2626
2627func (x *Range) String() string {
2628	return protoimpl.X.MessageStringOf(x)
2629}
2630
2631func (*Range) ProtoMessage() {}
2632
2633func (x *Range) ProtoReflect() protoreflect.Message {
2634	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[18]
2635	if protoimpl.UnsafeEnabled && x != nil {
2636		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2637		if ms.LoadMessageInfo() == nil {
2638			ms.StoreMessageInfo(mi)
2639		}
2640		return ms
2641	}
2642	return mi.MessageOf(x)
2643}
2644
2645// Deprecated: Use Range.ProtoReflect.Descriptor instead.
2646func (*Range) Descriptor() ([]byte, []int) {
2647	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{18}
2648}
2649
2650func (x *Range) GetStart() int64 {
2651	if x != nil {
2652		return x.Start
2653	}
2654	return 0
2655}
2656
2657func (x *Range) GetEnd() int64 {
2658	if x != nil {
2659		return x.End
2660	}
2661	return 0
2662}
2663
2664// Location of the finding within an image.
2665type ImageLocation struct {
2666	state         protoimpl.MessageState
2667	sizeCache     protoimpl.SizeCache
2668	unknownFields protoimpl.UnknownFields
2669
2670	// Bounding boxes locating the pixels within the image containing the finding.
2671	BoundingBoxes []*BoundingBox `protobuf:"bytes,1,rep,name=bounding_boxes,json=boundingBoxes,proto3" json:"bounding_boxes,omitempty"`
2672}
2673
2674func (x *ImageLocation) Reset() {
2675	*x = ImageLocation{}
2676	if protoimpl.UnsafeEnabled {
2677		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[19]
2678		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2679		ms.StoreMessageInfo(mi)
2680	}
2681}
2682
2683func (x *ImageLocation) String() string {
2684	return protoimpl.X.MessageStringOf(x)
2685}
2686
2687func (*ImageLocation) ProtoMessage() {}
2688
2689func (x *ImageLocation) ProtoReflect() protoreflect.Message {
2690	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[19]
2691	if protoimpl.UnsafeEnabled && x != nil {
2692		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2693		if ms.LoadMessageInfo() == nil {
2694			ms.StoreMessageInfo(mi)
2695		}
2696		return ms
2697	}
2698	return mi.MessageOf(x)
2699}
2700
2701// Deprecated: Use ImageLocation.ProtoReflect.Descriptor instead.
2702func (*ImageLocation) Descriptor() ([]byte, []int) {
2703	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{19}
2704}
2705
2706func (x *ImageLocation) GetBoundingBoxes() []*BoundingBox {
2707	if x != nil {
2708		return x.BoundingBoxes
2709	}
2710	return nil
2711}
2712
2713// Bounding box encompassing detected text within an image.
2714type BoundingBox struct {
2715	state         protoimpl.MessageState
2716	sizeCache     protoimpl.SizeCache
2717	unknownFields protoimpl.UnknownFields
2718
2719	// Top coordinate of the bounding box. (0,0) is upper left.
2720	Top int32 `protobuf:"varint,1,opt,name=top,proto3" json:"top,omitempty"`
2721	// Left coordinate of the bounding box. (0,0) is upper left.
2722	Left int32 `protobuf:"varint,2,opt,name=left,proto3" json:"left,omitempty"`
2723	// Width of the bounding box in pixels.
2724	Width int32 `protobuf:"varint,3,opt,name=width,proto3" json:"width,omitempty"`
2725	// Height of the bounding box in pixels.
2726	Height int32 `protobuf:"varint,4,opt,name=height,proto3" json:"height,omitempty"`
2727}
2728
2729func (x *BoundingBox) Reset() {
2730	*x = BoundingBox{}
2731	if protoimpl.UnsafeEnabled {
2732		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[20]
2733		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2734		ms.StoreMessageInfo(mi)
2735	}
2736}
2737
2738func (x *BoundingBox) String() string {
2739	return protoimpl.X.MessageStringOf(x)
2740}
2741
2742func (*BoundingBox) ProtoMessage() {}
2743
2744func (x *BoundingBox) ProtoReflect() protoreflect.Message {
2745	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[20]
2746	if protoimpl.UnsafeEnabled && x != nil {
2747		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2748		if ms.LoadMessageInfo() == nil {
2749			ms.StoreMessageInfo(mi)
2750		}
2751		return ms
2752	}
2753	return mi.MessageOf(x)
2754}
2755
2756// Deprecated: Use BoundingBox.ProtoReflect.Descriptor instead.
2757func (*BoundingBox) Descriptor() ([]byte, []int) {
2758	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{20}
2759}
2760
2761func (x *BoundingBox) GetTop() int32 {
2762	if x != nil {
2763		return x.Top
2764	}
2765	return 0
2766}
2767
2768func (x *BoundingBox) GetLeft() int32 {
2769	if x != nil {
2770		return x.Left
2771	}
2772	return 0
2773}
2774
2775func (x *BoundingBox) GetWidth() int32 {
2776	if x != nil {
2777		return x.Width
2778	}
2779	return 0
2780}
2781
2782func (x *BoundingBox) GetHeight() int32 {
2783	if x != nil {
2784		return x.Height
2785	}
2786	return 0
2787}
2788
2789// Request to search for potentially sensitive info in an image and redact it
2790// by covering it with a colored rectangle.
2791type RedactImageRequest struct {
2792	state         protoimpl.MessageState
2793	sizeCache     protoimpl.SizeCache
2794	unknownFields protoimpl.UnknownFields
2795
2796	// The parent resource name, for example projects/my-project-id
2797	// or projects/my-project-id/locations/{location_id}.
2798	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
2799	// Deprecated. This field has no effect.
2800	LocationId string `protobuf:"bytes,8,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"`
2801	// Configuration for the inspector.
2802	InspectConfig *InspectConfig `protobuf:"bytes,2,opt,name=inspect_config,json=inspectConfig,proto3" json:"inspect_config,omitempty"`
2803	// The configuration for specifying what content to redact from images.
2804	ImageRedactionConfigs []*RedactImageRequest_ImageRedactionConfig `protobuf:"bytes,5,rep,name=image_redaction_configs,json=imageRedactionConfigs,proto3" json:"image_redaction_configs,omitempty"`
2805	// Whether the response should include findings along with the redacted
2806	// image.
2807	IncludeFindings bool `protobuf:"varint,6,opt,name=include_findings,json=includeFindings,proto3" json:"include_findings,omitempty"`
2808	// The content must be PNG, JPEG, SVG or BMP.
2809	ByteItem *ByteContentItem `protobuf:"bytes,7,opt,name=byte_item,json=byteItem,proto3" json:"byte_item,omitempty"`
2810}
2811
2812func (x *RedactImageRequest) Reset() {
2813	*x = RedactImageRequest{}
2814	if protoimpl.UnsafeEnabled {
2815		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[21]
2816		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2817		ms.StoreMessageInfo(mi)
2818	}
2819}
2820
2821func (x *RedactImageRequest) String() string {
2822	return protoimpl.X.MessageStringOf(x)
2823}
2824
2825func (*RedactImageRequest) ProtoMessage() {}
2826
2827func (x *RedactImageRequest) ProtoReflect() protoreflect.Message {
2828	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[21]
2829	if protoimpl.UnsafeEnabled && x != nil {
2830		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2831		if ms.LoadMessageInfo() == nil {
2832			ms.StoreMessageInfo(mi)
2833		}
2834		return ms
2835	}
2836	return mi.MessageOf(x)
2837}
2838
2839// Deprecated: Use RedactImageRequest.ProtoReflect.Descriptor instead.
2840func (*RedactImageRequest) Descriptor() ([]byte, []int) {
2841	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{21}
2842}
2843
2844func (x *RedactImageRequest) GetParent() string {
2845	if x != nil {
2846		return x.Parent
2847	}
2848	return ""
2849}
2850
2851func (x *RedactImageRequest) GetLocationId() string {
2852	if x != nil {
2853		return x.LocationId
2854	}
2855	return ""
2856}
2857
2858func (x *RedactImageRequest) GetInspectConfig() *InspectConfig {
2859	if x != nil {
2860		return x.InspectConfig
2861	}
2862	return nil
2863}
2864
2865func (x *RedactImageRequest) GetImageRedactionConfigs() []*RedactImageRequest_ImageRedactionConfig {
2866	if x != nil {
2867		return x.ImageRedactionConfigs
2868	}
2869	return nil
2870}
2871
2872func (x *RedactImageRequest) GetIncludeFindings() bool {
2873	if x != nil {
2874		return x.IncludeFindings
2875	}
2876	return false
2877}
2878
2879func (x *RedactImageRequest) GetByteItem() *ByteContentItem {
2880	if x != nil {
2881		return x.ByteItem
2882	}
2883	return nil
2884}
2885
2886// Represents a color in the RGB color space.
2887type Color struct {
2888	state         protoimpl.MessageState
2889	sizeCache     protoimpl.SizeCache
2890	unknownFields protoimpl.UnknownFields
2891
2892	// The amount of red in the color as a value in the interval [0, 1].
2893	Red float32 `protobuf:"fixed32,1,opt,name=red,proto3" json:"red,omitempty"`
2894	// The amount of green in the color as a value in the interval [0, 1].
2895	Green float32 `protobuf:"fixed32,2,opt,name=green,proto3" json:"green,omitempty"`
2896	// The amount of blue in the color as a value in the interval [0, 1].
2897	Blue float32 `protobuf:"fixed32,3,opt,name=blue,proto3" json:"blue,omitempty"`
2898}
2899
2900func (x *Color) Reset() {
2901	*x = Color{}
2902	if protoimpl.UnsafeEnabled {
2903		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[22]
2904		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2905		ms.StoreMessageInfo(mi)
2906	}
2907}
2908
2909func (x *Color) String() string {
2910	return protoimpl.X.MessageStringOf(x)
2911}
2912
2913func (*Color) ProtoMessage() {}
2914
2915func (x *Color) ProtoReflect() protoreflect.Message {
2916	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[22]
2917	if protoimpl.UnsafeEnabled && x != nil {
2918		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2919		if ms.LoadMessageInfo() == nil {
2920			ms.StoreMessageInfo(mi)
2921		}
2922		return ms
2923	}
2924	return mi.MessageOf(x)
2925}
2926
2927// Deprecated: Use Color.ProtoReflect.Descriptor instead.
2928func (*Color) Descriptor() ([]byte, []int) {
2929	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{22}
2930}
2931
2932func (x *Color) GetRed() float32 {
2933	if x != nil {
2934		return x.Red
2935	}
2936	return 0
2937}
2938
2939func (x *Color) GetGreen() float32 {
2940	if x != nil {
2941		return x.Green
2942	}
2943	return 0
2944}
2945
2946func (x *Color) GetBlue() float32 {
2947	if x != nil {
2948		return x.Blue
2949	}
2950	return 0
2951}
2952
2953// Results of redacting an image.
2954type RedactImageResponse struct {
2955	state         protoimpl.MessageState
2956	sizeCache     protoimpl.SizeCache
2957	unknownFields protoimpl.UnknownFields
2958
2959	// The redacted image. The type will be the same as the original image.
2960	RedactedImage []byte `protobuf:"bytes,1,opt,name=redacted_image,json=redactedImage,proto3" json:"redacted_image,omitempty"`
2961	// If an image was being inspected and the InspectConfig's include_quote was
2962	// set to true, then this field will include all text, if any, that was found
2963	// in the image.
2964	ExtractedText string `protobuf:"bytes,2,opt,name=extracted_text,json=extractedText,proto3" json:"extracted_text,omitempty"`
2965	// The findings. Populated when include_findings in the request is true.
2966	InspectResult *InspectResult `protobuf:"bytes,3,opt,name=inspect_result,json=inspectResult,proto3" json:"inspect_result,omitempty"`
2967}
2968
2969func (x *RedactImageResponse) Reset() {
2970	*x = RedactImageResponse{}
2971	if protoimpl.UnsafeEnabled {
2972		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[23]
2973		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2974		ms.StoreMessageInfo(mi)
2975	}
2976}
2977
2978func (x *RedactImageResponse) String() string {
2979	return protoimpl.X.MessageStringOf(x)
2980}
2981
2982func (*RedactImageResponse) ProtoMessage() {}
2983
2984func (x *RedactImageResponse) ProtoReflect() protoreflect.Message {
2985	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[23]
2986	if protoimpl.UnsafeEnabled && x != nil {
2987		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2988		if ms.LoadMessageInfo() == nil {
2989			ms.StoreMessageInfo(mi)
2990		}
2991		return ms
2992	}
2993	return mi.MessageOf(x)
2994}
2995
2996// Deprecated: Use RedactImageResponse.ProtoReflect.Descriptor instead.
2997func (*RedactImageResponse) Descriptor() ([]byte, []int) {
2998	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{23}
2999}
3000
3001func (x *RedactImageResponse) GetRedactedImage() []byte {
3002	if x != nil {
3003		return x.RedactedImage
3004	}
3005	return nil
3006}
3007
3008func (x *RedactImageResponse) GetExtractedText() string {
3009	if x != nil {
3010		return x.ExtractedText
3011	}
3012	return ""
3013}
3014
3015func (x *RedactImageResponse) GetInspectResult() *InspectResult {
3016	if x != nil {
3017		return x.InspectResult
3018	}
3019	return nil
3020}
3021
3022// Request to de-identify a list of items.
3023type DeidentifyContentRequest struct {
3024	state         protoimpl.MessageState
3025	sizeCache     protoimpl.SizeCache
3026	unknownFields protoimpl.UnknownFields
3027
3028	// The parent resource name, for example projects/my-project-id
3029	// or projects/my-project-id/locations/{location_id}.
3030	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
3031	// Configuration for the de-identification of the content item.
3032	// Items specified here will override the template referenced by the
3033	// deidentify_template_name argument.
3034	DeidentifyConfig *DeidentifyConfig `protobuf:"bytes,2,opt,name=deidentify_config,json=deidentifyConfig,proto3" json:"deidentify_config,omitempty"`
3035	// Configuration for the inspector.
3036	// Items specified here will override the template referenced by the
3037	// inspect_template_name argument.
3038	InspectConfig *InspectConfig `protobuf:"bytes,3,opt,name=inspect_config,json=inspectConfig,proto3" json:"inspect_config,omitempty"`
3039	// The item to de-identify. Will be treated as text.
3040	Item *ContentItem `protobuf:"bytes,4,opt,name=item,proto3" json:"item,omitempty"`
3041	// Template to use. Any configuration directly specified in
3042	// inspect_config will override those set in the template. Singular fields
3043	// that are set in this request will replace their corresponding fields in the
3044	// template. Repeated fields are appended. Singular sub-messages and groups
3045	// are recursively merged.
3046	InspectTemplateName string `protobuf:"bytes,5,opt,name=inspect_template_name,json=inspectTemplateName,proto3" json:"inspect_template_name,omitempty"`
3047	// Template to use. Any configuration directly specified in
3048	// deidentify_config will override those set in the template. Singular fields
3049	// that are set in this request will replace their corresponding fields in the
3050	// template. Repeated fields are appended. Singular sub-messages and groups
3051	// are recursively merged.
3052	DeidentifyTemplateName string `protobuf:"bytes,6,opt,name=deidentify_template_name,json=deidentifyTemplateName,proto3" json:"deidentify_template_name,omitempty"`
3053	// Deprecated. This field has no effect.
3054	LocationId string `protobuf:"bytes,7,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"`
3055}
3056
3057func (x *DeidentifyContentRequest) Reset() {
3058	*x = DeidentifyContentRequest{}
3059	if protoimpl.UnsafeEnabled {
3060		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[24]
3061		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3062		ms.StoreMessageInfo(mi)
3063	}
3064}
3065
3066func (x *DeidentifyContentRequest) String() string {
3067	return protoimpl.X.MessageStringOf(x)
3068}
3069
3070func (*DeidentifyContentRequest) ProtoMessage() {}
3071
3072func (x *DeidentifyContentRequest) ProtoReflect() protoreflect.Message {
3073	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[24]
3074	if protoimpl.UnsafeEnabled && x != nil {
3075		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3076		if ms.LoadMessageInfo() == nil {
3077			ms.StoreMessageInfo(mi)
3078		}
3079		return ms
3080	}
3081	return mi.MessageOf(x)
3082}
3083
3084// Deprecated: Use DeidentifyContentRequest.ProtoReflect.Descriptor instead.
3085func (*DeidentifyContentRequest) Descriptor() ([]byte, []int) {
3086	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{24}
3087}
3088
3089func (x *DeidentifyContentRequest) GetParent() string {
3090	if x != nil {
3091		return x.Parent
3092	}
3093	return ""
3094}
3095
3096func (x *DeidentifyContentRequest) GetDeidentifyConfig() *DeidentifyConfig {
3097	if x != nil {
3098		return x.DeidentifyConfig
3099	}
3100	return nil
3101}
3102
3103func (x *DeidentifyContentRequest) GetInspectConfig() *InspectConfig {
3104	if x != nil {
3105		return x.InspectConfig
3106	}
3107	return nil
3108}
3109
3110func (x *DeidentifyContentRequest) GetItem() *ContentItem {
3111	if x != nil {
3112		return x.Item
3113	}
3114	return nil
3115}
3116
3117func (x *DeidentifyContentRequest) GetInspectTemplateName() string {
3118	if x != nil {
3119		return x.InspectTemplateName
3120	}
3121	return ""
3122}
3123
3124func (x *DeidentifyContentRequest) GetDeidentifyTemplateName() string {
3125	if x != nil {
3126		return x.DeidentifyTemplateName
3127	}
3128	return ""
3129}
3130
3131func (x *DeidentifyContentRequest) GetLocationId() string {
3132	if x != nil {
3133		return x.LocationId
3134	}
3135	return ""
3136}
3137
3138// Results of de-identifying a ContentItem.
3139type DeidentifyContentResponse struct {
3140	state         protoimpl.MessageState
3141	sizeCache     protoimpl.SizeCache
3142	unknownFields protoimpl.UnknownFields
3143
3144	// The de-identified item.
3145	Item *ContentItem `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"`
3146	// An overview of the changes that were made on the `item`.
3147	Overview *TransformationOverview `protobuf:"bytes,2,opt,name=overview,proto3" json:"overview,omitempty"`
3148}
3149
3150func (x *DeidentifyContentResponse) Reset() {
3151	*x = DeidentifyContentResponse{}
3152	if protoimpl.UnsafeEnabled {
3153		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[25]
3154		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3155		ms.StoreMessageInfo(mi)
3156	}
3157}
3158
3159func (x *DeidentifyContentResponse) String() string {
3160	return protoimpl.X.MessageStringOf(x)
3161}
3162
3163func (*DeidentifyContentResponse) ProtoMessage() {}
3164
3165func (x *DeidentifyContentResponse) ProtoReflect() protoreflect.Message {
3166	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[25]
3167	if protoimpl.UnsafeEnabled && x != nil {
3168		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3169		if ms.LoadMessageInfo() == nil {
3170			ms.StoreMessageInfo(mi)
3171		}
3172		return ms
3173	}
3174	return mi.MessageOf(x)
3175}
3176
3177// Deprecated: Use DeidentifyContentResponse.ProtoReflect.Descriptor instead.
3178func (*DeidentifyContentResponse) Descriptor() ([]byte, []int) {
3179	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{25}
3180}
3181
3182func (x *DeidentifyContentResponse) GetItem() *ContentItem {
3183	if x != nil {
3184		return x.Item
3185	}
3186	return nil
3187}
3188
3189func (x *DeidentifyContentResponse) GetOverview() *TransformationOverview {
3190	if x != nil {
3191		return x.Overview
3192	}
3193	return nil
3194}
3195
3196// Request to re-identify an item.
3197type ReidentifyContentRequest struct {
3198	state         protoimpl.MessageState
3199	sizeCache     protoimpl.SizeCache
3200	unknownFields protoimpl.UnknownFields
3201
3202	// Required. The parent resource name.
3203	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
3204	// Configuration for the re-identification of the content item.
3205	// This field shares the same proto message type that is used for
3206	// de-identification, however its usage here is for the reversal of the
3207	// previous de-identification. Re-identification is performed by examining
3208	// the transformations used to de-identify the items and executing the
3209	// reverse. This requires that only reversible transformations
3210	// be provided here. The reversible transformations are:
3211	//
3212	//  - `CryptoDeterministicConfig`
3213	//  - `CryptoReplaceFfxFpeConfig`
3214	ReidentifyConfig *DeidentifyConfig `protobuf:"bytes,2,opt,name=reidentify_config,json=reidentifyConfig,proto3" json:"reidentify_config,omitempty"`
3215	// Configuration for the inspector.
3216	InspectConfig *InspectConfig `protobuf:"bytes,3,opt,name=inspect_config,json=inspectConfig,proto3" json:"inspect_config,omitempty"`
3217	// The item to re-identify. Will be treated as text.
3218	Item *ContentItem `protobuf:"bytes,4,opt,name=item,proto3" json:"item,omitempty"`
3219	// Template to use. Any configuration directly specified in
3220	// `inspect_config` will override those set in the template. Singular fields
3221	// that are set in this request will replace their corresponding fields in the
3222	// template. Repeated fields are appended. Singular sub-messages and groups
3223	// are recursively merged.
3224	InspectTemplateName string `protobuf:"bytes,5,opt,name=inspect_template_name,json=inspectTemplateName,proto3" json:"inspect_template_name,omitempty"`
3225	// Template to use. References an instance of `DeidentifyTemplate`.
3226	// Any configuration directly specified in `reidentify_config` or
3227	// `inspect_config` will override those set in the template. Singular fields
3228	// that are set in this request will replace their corresponding fields in the
3229	// template. Repeated fields are appended. Singular sub-messages and groups
3230	// are recursively merged.
3231	ReidentifyTemplateName string `protobuf:"bytes,6,opt,name=reidentify_template_name,json=reidentifyTemplateName,proto3" json:"reidentify_template_name,omitempty"`
3232	// Deprecated. This field has no effect.
3233	LocationId string `protobuf:"bytes,7,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"`
3234}
3235
3236func (x *ReidentifyContentRequest) Reset() {
3237	*x = ReidentifyContentRequest{}
3238	if protoimpl.UnsafeEnabled {
3239		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[26]
3240		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3241		ms.StoreMessageInfo(mi)
3242	}
3243}
3244
3245func (x *ReidentifyContentRequest) String() string {
3246	return protoimpl.X.MessageStringOf(x)
3247}
3248
3249func (*ReidentifyContentRequest) ProtoMessage() {}
3250
3251func (x *ReidentifyContentRequest) ProtoReflect() protoreflect.Message {
3252	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[26]
3253	if protoimpl.UnsafeEnabled && x != nil {
3254		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3255		if ms.LoadMessageInfo() == nil {
3256			ms.StoreMessageInfo(mi)
3257		}
3258		return ms
3259	}
3260	return mi.MessageOf(x)
3261}
3262
3263// Deprecated: Use ReidentifyContentRequest.ProtoReflect.Descriptor instead.
3264func (*ReidentifyContentRequest) Descriptor() ([]byte, []int) {
3265	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{26}
3266}
3267
3268func (x *ReidentifyContentRequest) GetParent() string {
3269	if x != nil {
3270		return x.Parent
3271	}
3272	return ""
3273}
3274
3275func (x *ReidentifyContentRequest) GetReidentifyConfig() *DeidentifyConfig {
3276	if x != nil {
3277		return x.ReidentifyConfig
3278	}
3279	return nil
3280}
3281
3282func (x *ReidentifyContentRequest) GetInspectConfig() *InspectConfig {
3283	if x != nil {
3284		return x.InspectConfig
3285	}
3286	return nil
3287}
3288
3289func (x *ReidentifyContentRequest) GetItem() *ContentItem {
3290	if x != nil {
3291		return x.Item
3292	}
3293	return nil
3294}
3295
3296func (x *ReidentifyContentRequest) GetInspectTemplateName() string {
3297	if x != nil {
3298		return x.InspectTemplateName
3299	}
3300	return ""
3301}
3302
3303func (x *ReidentifyContentRequest) GetReidentifyTemplateName() string {
3304	if x != nil {
3305		return x.ReidentifyTemplateName
3306	}
3307	return ""
3308}
3309
3310func (x *ReidentifyContentRequest) GetLocationId() string {
3311	if x != nil {
3312		return x.LocationId
3313	}
3314	return ""
3315}
3316
3317// Results of re-identifying a item.
3318type ReidentifyContentResponse struct {
3319	state         protoimpl.MessageState
3320	sizeCache     protoimpl.SizeCache
3321	unknownFields protoimpl.UnknownFields
3322
3323	// The re-identified item.
3324	Item *ContentItem `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"`
3325	// An overview of the changes that were made to the `item`.
3326	Overview *TransformationOverview `protobuf:"bytes,2,opt,name=overview,proto3" json:"overview,omitempty"`
3327}
3328
3329func (x *ReidentifyContentResponse) Reset() {
3330	*x = ReidentifyContentResponse{}
3331	if protoimpl.UnsafeEnabled {
3332		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[27]
3333		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3334		ms.StoreMessageInfo(mi)
3335	}
3336}
3337
3338func (x *ReidentifyContentResponse) String() string {
3339	return protoimpl.X.MessageStringOf(x)
3340}
3341
3342func (*ReidentifyContentResponse) ProtoMessage() {}
3343
3344func (x *ReidentifyContentResponse) ProtoReflect() protoreflect.Message {
3345	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[27]
3346	if protoimpl.UnsafeEnabled && x != nil {
3347		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3348		if ms.LoadMessageInfo() == nil {
3349			ms.StoreMessageInfo(mi)
3350		}
3351		return ms
3352	}
3353	return mi.MessageOf(x)
3354}
3355
3356// Deprecated: Use ReidentifyContentResponse.ProtoReflect.Descriptor instead.
3357func (*ReidentifyContentResponse) Descriptor() ([]byte, []int) {
3358	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{27}
3359}
3360
3361func (x *ReidentifyContentResponse) GetItem() *ContentItem {
3362	if x != nil {
3363		return x.Item
3364	}
3365	return nil
3366}
3367
3368func (x *ReidentifyContentResponse) GetOverview() *TransformationOverview {
3369	if x != nil {
3370		return x.Overview
3371	}
3372	return nil
3373}
3374
3375// Request to search for potentially sensitive info in a ContentItem.
3376type InspectContentRequest struct {
3377	state         protoimpl.MessageState
3378	sizeCache     protoimpl.SizeCache
3379	unknownFields protoimpl.UnknownFields
3380
3381	// The parent resource name, for example projects/my-project-id
3382	// or projects/my-project-id/locations/{location_id}
3383	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
3384	// Configuration for the inspector. What specified here will override
3385	// the template referenced by the inspect_template_name argument.
3386	InspectConfig *InspectConfig `protobuf:"bytes,2,opt,name=inspect_config,json=inspectConfig,proto3" json:"inspect_config,omitempty"`
3387	// The item to inspect.
3388	Item *ContentItem `protobuf:"bytes,3,opt,name=item,proto3" json:"item,omitempty"`
3389	// Template to use. Any configuration directly specified in
3390	// inspect_config will override those set in the template. Singular fields
3391	// that are set in this request will replace their corresponding fields in the
3392	// template. Repeated fields are appended. Singular sub-messages and groups
3393	// are recursively merged.
3394	InspectTemplateName string `protobuf:"bytes,4,opt,name=inspect_template_name,json=inspectTemplateName,proto3" json:"inspect_template_name,omitempty"`
3395	// Deprecated. This field has no effect.
3396	LocationId string `protobuf:"bytes,5,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"`
3397}
3398
3399func (x *InspectContentRequest) Reset() {
3400	*x = InspectContentRequest{}
3401	if protoimpl.UnsafeEnabled {
3402		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[28]
3403		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3404		ms.StoreMessageInfo(mi)
3405	}
3406}
3407
3408func (x *InspectContentRequest) String() string {
3409	return protoimpl.X.MessageStringOf(x)
3410}
3411
3412func (*InspectContentRequest) ProtoMessage() {}
3413
3414func (x *InspectContentRequest) ProtoReflect() protoreflect.Message {
3415	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[28]
3416	if protoimpl.UnsafeEnabled && x != nil {
3417		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3418		if ms.LoadMessageInfo() == nil {
3419			ms.StoreMessageInfo(mi)
3420		}
3421		return ms
3422	}
3423	return mi.MessageOf(x)
3424}
3425
3426// Deprecated: Use InspectContentRequest.ProtoReflect.Descriptor instead.
3427func (*InspectContentRequest) Descriptor() ([]byte, []int) {
3428	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{28}
3429}
3430
3431func (x *InspectContentRequest) GetParent() string {
3432	if x != nil {
3433		return x.Parent
3434	}
3435	return ""
3436}
3437
3438func (x *InspectContentRequest) GetInspectConfig() *InspectConfig {
3439	if x != nil {
3440		return x.InspectConfig
3441	}
3442	return nil
3443}
3444
3445func (x *InspectContentRequest) GetItem() *ContentItem {
3446	if x != nil {
3447		return x.Item
3448	}
3449	return nil
3450}
3451
3452func (x *InspectContentRequest) GetInspectTemplateName() string {
3453	if x != nil {
3454		return x.InspectTemplateName
3455	}
3456	return ""
3457}
3458
3459func (x *InspectContentRequest) GetLocationId() string {
3460	if x != nil {
3461		return x.LocationId
3462	}
3463	return ""
3464}
3465
3466// Results of inspecting an item.
3467type InspectContentResponse struct {
3468	state         protoimpl.MessageState
3469	sizeCache     protoimpl.SizeCache
3470	unknownFields protoimpl.UnknownFields
3471
3472	// The findings.
3473	Result *InspectResult `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"`
3474}
3475
3476func (x *InspectContentResponse) Reset() {
3477	*x = InspectContentResponse{}
3478	if protoimpl.UnsafeEnabled {
3479		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[29]
3480		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3481		ms.StoreMessageInfo(mi)
3482	}
3483}
3484
3485func (x *InspectContentResponse) String() string {
3486	return protoimpl.X.MessageStringOf(x)
3487}
3488
3489func (*InspectContentResponse) ProtoMessage() {}
3490
3491func (x *InspectContentResponse) ProtoReflect() protoreflect.Message {
3492	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[29]
3493	if protoimpl.UnsafeEnabled && x != nil {
3494		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3495		if ms.LoadMessageInfo() == nil {
3496			ms.StoreMessageInfo(mi)
3497		}
3498		return ms
3499	}
3500	return mi.MessageOf(x)
3501}
3502
3503// Deprecated: Use InspectContentResponse.ProtoReflect.Descriptor instead.
3504func (*InspectContentResponse) Descriptor() ([]byte, []int) {
3505	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{29}
3506}
3507
3508func (x *InspectContentResponse) GetResult() *InspectResult {
3509	if x != nil {
3510		return x.Result
3511	}
3512	return nil
3513}
3514
3515// Cloud repository for storing output.
3516type OutputStorageConfig struct {
3517	state         protoimpl.MessageState
3518	sizeCache     protoimpl.SizeCache
3519	unknownFields protoimpl.UnknownFields
3520
3521	// Output storage types.
3522	//
3523	// Types that are assignable to Type:
3524	//	*OutputStorageConfig_Table
3525	Type isOutputStorageConfig_Type `protobuf_oneof:"type"`
3526	// Schema used for writing the findings for Inspect jobs. This field is only
3527	// used for Inspect and must be unspecified for Risk jobs. Columns are derived
3528	// from the `Finding` object. If appending to an existing table, any columns
3529	// from the predefined schema that are missing will be added. No columns in
3530	// the existing table will be deleted.
3531	//
3532	// If unspecified, then all available columns will be used for a new table or
3533	// an (existing) table with no schema, and no changes will be made to an
3534	// existing table that has a schema.
3535	// Only for use with external storage.
3536	OutputSchema OutputStorageConfig_OutputSchema `protobuf:"varint,3,opt,name=output_schema,json=outputSchema,proto3,enum=google.privacy.dlp.v2.OutputStorageConfig_OutputSchema" json:"output_schema,omitempty"`
3537}
3538
3539func (x *OutputStorageConfig) Reset() {
3540	*x = OutputStorageConfig{}
3541	if protoimpl.UnsafeEnabled {
3542		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[30]
3543		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3544		ms.StoreMessageInfo(mi)
3545	}
3546}
3547
3548func (x *OutputStorageConfig) String() string {
3549	return protoimpl.X.MessageStringOf(x)
3550}
3551
3552func (*OutputStorageConfig) ProtoMessage() {}
3553
3554func (x *OutputStorageConfig) ProtoReflect() protoreflect.Message {
3555	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[30]
3556	if protoimpl.UnsafeEnabled && x != nil {
3557		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3558		if ms.LoadMessageInfo() == nil {
3559			ms.StoreMessageInfo(mi)
3560		}
3561		return ms
3562	}
3563	return mi.MessageOf(x)
3564}
3565
3566// Deprecated: Use OutputStorageConfig.ProtoReflect.Descriptor instead.
3567func (*OutputStorageConfig) Descriptor() ([]byte, []int) {
3568	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{30}
3569}
3570
3571func (m *OutputStorageConfig) GetType() isOutputStorageConfig_Type {
3572	if m != nil {
3573		return m.Type
3574	}
3575	return nil
3576}
3577
3578func (x *OutputStorageConfig) GetTable() *BigQueryTable {
3579	if x, ok := x.GetType().(*OutputStorageConfig_Table); ok {
3580		return x.Table
3581	}
3582	return nil
3583}
3584
3585func (x *OutputStorageConfig) GetOutputSchema() OutputStorageConfig_OutputSchema {
3586	if x != nil {
3587		return x.OutputSchema
3588	}
3589	return OutputStorageConfig_OUTPUT_SCHEMA_UNSPECIFIED
3590}
3591
3592type isOutputStorageConfig_Type interface {
3593	isOutputStorageConfig_Type()
3594}
3595
3596type OutputStorageConfig_Table struct {
3597	// Store findings in an existing table or a new table in an existing
3598	// dataset. If table_id is not set a new one will be generated
3599	// for you with the following format:
3600	// dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for
3601	// generating the date details.
3602	//
3603	// For Inspect, each column in an existing output table must have the same
3604	// name, type, and mode of a field in the `Finding` object.
3605	//
3606	// For Risk, an existing output table should be the output of a previous
3607	// Risk analysis job run on the same source table, with the same privacy
3608	// metric and quasi-identifiers. Risk jobs that analyze the same table but
3609	// compute a different privacy metric, or use different sets of
3610	// quasi-identifiers, cannot store their results in the same table.
3611	Table *BigQueryTable `protobuf:"bytes,1,opt,name=table,proto3,oneof"`
3612}
3613
3614func (*OutputStorageConfig_Table) isOutputStorageConfig_Type() {}
3615
3616// Statistics regarding a specific InfoType.
3617type InfoTypeStats struct {
3618	state         protoimpl.MessageState
3619	sizeCache     protoimpl.SizeCache
3620	unknownFields protoimpl.UnknownFields
3621
3622	// The type of finding this stat is for.
3623	InfoType *InfoType `protobuf:"bytes,1,opt,name=info_type,json=infoType,proto3" json:"info_type,omitempty"`
3624	// Number of findings for this infoType.
3625	Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
3626}
3627
3628func (x *InfoTypeStats) Reset() {
3629	*x = InfoTypeStats{}
3630	if protoimpl.UnsafeEnabled {
3631		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[31]
3632		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3633		ms.StoreMessageInfo(mi)
3634	}
3635}
3636
3637func (x *InfoTypeStats) String() string {
3638	return protoimpl.X.MessageStringOf(x)
3639}
3640
3641func (*InfoTypeStats) ProtoMessage() {}
3642
3643func (x *InfoTypeStats) ProtoReflect() protoreflect.Message {
3644	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[31]
3645	if protoimpl.UnsafeEnabled && x != nil {
3646		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3647		if ms.LoadMessageInfo() == nil {
3648			ms.StoreMessageInfo(mi)
3649		}
3650		return ms
3651	}
3652	return mi.MessageOf(x)
3653}
3654
3655// Deprecated: Use InfoTypeStats.ProtoReflect.Descriptor instead.
3656func (*InfoTypeStats) Descriptor() ([]byte, []int) {
3657	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{31}
3658}
3659
3660func (x *InfoTypeStats) GetInfoType() *InfoType {
3661	if x != nil {
3662		return x.InfoType
3663	}
3664	return nil
3665}
3666
3667func (x *InfoTypeStats) GetCount() int64 {
3668	if x != nil {
3669		return x.Count
3670	}
3671	return 0
3672}
3673
3674// The results of an inspect DataSource job.
3675type InspectDataSourceDetails struct {
3676	state         protoimpl.MessageState
3677	sizeCache     protoimpl.SizeCache
3678	unknownFields protoimpl.UnknownFields
3679
3680	// The configuration used for this job.
3681	RequestedOptions *InspectDataSourceDetails_RequestedOptions `protobuf:"bytes,2,opt,name=requested_options,json=requestedOptions,proto3" json:"requested_options,omitempty"`
3682	// A summary of the outcome of this inspect job.
3683	Result *InspectDataSourceDetails_Result `protobuf:"bytes,3,opt,name=result,proto3" json:"result,omitempty"`
3684}
3685
3686func (x *InspectDataSourceDetails) Reset() {
3687	*x = InspectDataSourceDetails{}
3688	if protoimpl.UnsafeEnabled {
3689		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[32]
3690		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3691		ms.StoreMessageInfo(mi)
3692	}
3693}
3694
3695func (x *InspectDataSourceDetails) String() string {
3696	return protoimpl.X.MessageStringOf(x)
3697}
3698
3699func (*InspectDataSourceDetails) ProtoMessage() {}
3700
3701func (x *InspectDataSourceDetails) ProtoReflect() protoreflect.Message {
3702	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[32]
3703	if protoimpl.UnsafeEnabled && x != nil {
3704		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3705		if ms.LoadMessageInfo() == nil {
3706			ms.StoreMessageInfo(mi)
3707		}
3708		return ms
3709	}
3710	return mi.MessageOf(x)
3711}
3712
3713// Deprecated: Use InspectDataSourceDetails.ProtoReflect.Descriptor instead.
3714func (*InspectDataSourceDetails) Descriptor() ([]byte, []int) {
3715	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{32}
3716}
3717
3718func (x *InspectDataSourceDetails) GetRequestedOptions() *InspectDataSourceDetails_RequestedOptions {
3719	if x != nil {
3720		return x.RequestedOptions
3721	}
3722	return nil
3723}
3724
3725func (x *InspectDataSourceDetails) GetResult() *InspectDataSourceDetails_Result {
3726	if x != nil {
3727		return x.Result
3728	}
3729	return nil
3730}
3731
3732// Statistics related to processing hybrid inspect requests.s
3733type HybridInspectStatistics struct {
3734	state         protoimpl.MessageState
3735	sizeCache     protoimpl.SizeCache
3736	unknownFields protoimpl.UnknownFields
3737
3738	// The number of hybrid inspection requests processed within this job.
3739	ProcessedCount int64 `protobuf:"varint,1,opt,name=processed_count,json=processedCount,proto3" json:"processed_count,omitempty"`
3740	// The number of hybrid inspection requests aborted because the job ran
3741	// out of quota or was ended before they could be processed.
3742	AbortedCount int64 `protobuf:"varint,2,opt,name=aborted_count,json=abortedCount,proto3" json:"aborted_count,omitempty"`
3743	// The number of hybrid requests currently being processed. Only populated
3744	// when called via method `getDlpJob`.
3745	// A burst of traffic may cause hybrid inspect requests to be enqueued.
3746	// Processing will take place as quickly as possible, but resource limitations
3747	// may impact how long a request is enqueued for.
3748	PendingCount int64 `protobuf:"varint,3,opt,name=pending_count,json=pendingCount,proto3" json:"pending_count,omitempty"`
3749}
3750
3751func (x *HybridInspectStatistics) Reset() {
3752	*x = HybridInspectStatistics{}
3753	if protoimpl.UnsafeEnabled {
3754		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[33]
3755		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3756		ms.StoreMessageInfo(mi)
3757	}
3758}
3759
3760func (x *HybridInspectStatistics) String() string {
3761	return protoimpl.X.MessageStringOf(x)
3762}
3763
3764func (*HybridInspectStatistics) ProtoMessage() {}
3765
3766func (x *HybridInspectStatistics) ProtoReflect() protoreflect.Message {
3767	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[33]
3768	if protoimpl.UnsafeEnabled && x != nil {
3769		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3770		if ms.LoadMessageInfo() == nil {
3771			ms.StoreMessageInfo(mi)
3772		}
3773		return ms
3774	}
3775	return mi.MessageOf(x)
3776}
3777
3778// Deprecated: Use HybridInspectStatistics.ProtoReflect.Descriptor instead.
3779func (*HybridInspectStatistics) Descriptor() ([]byte, []int) {
3780	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{33}
3781}
3782
3783func (x *HybridInspectStatistics) GetProcessedCount() int64 {
3784	if x != nil {
3785		return x.ProcessedCount
3786	}
3787	return 0
3788}
3789
3790func (x *HybridInspectStatistics) GetAbortedCount() int64 {
3791	if x != nil {
3792		return x.AbortedCount
3793	}
3794	return 0
3795}
3796
3797func (x *HybridInspectStatistics) GetPendingCount() int64 {
3798	if x != nil {
3799		return x.PendingCount
3800	}
3801	return 0
3802}
3803
3804// InfoType description.
3805type InfoTypeDescription struct {
3806	state         protoimpl.MessageState
3807	sizeCache     protoimpl.SizeCache
3808	unknownFields protoimpl.UnknownFields
3809
3810	// Internal name of the infoType.
3811	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
3812	// Human readable form of the infoType name.
3813	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
3814	// Which parts of the API supports this InfoType.
3815	SupportedBy []InfoTypeSupportedBy `protobuf:"varint,3,rep,packed,name=supported_by,json=supportedBy,proto3,enum=google.privacy.dlp.v2.InfoTypeSupportedBy" json:"supported_by,omitempty"`
3816	// Description of the infotype. Translated when language is provided in the
3817	// request.
3818	Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"`
3819}
3820
3821func (x *InfoTypeDescription) Reset() {
3822	*x = InfoTypeDescription{}
3823	if protoimpl.UnsafeEnabled {
3824		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[34]
3825		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3826		ms.StoreMessageInfo(mi)
3827	}
3828}
3829
3830func (x *InfoTypeDescription) String() string {
3831	return protoimpl.X.MessageStringOf(x)
3832}
3833
3834func (*InfoTypeDescription) ProtoMessage() {}
3835
3836func (x *InfoTypeDescription) ProtoReflect() protoreflect.Message {
3837	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[34]
3838	if protoimpl.UnsafeEnabled && x != nil {
3839		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3840		if ms.LoadMessageInfo() == nil {
3841			ms.StoreMessageInfo(mi)
3842		}
3843		return ms
3844	}
3845	return mi.MessageOf(x)
3846}
3847
3848// Deprecated: Use InfoTypeDescription.ProtoReflect.Descriptor instead.
3849func (*InfoTypeDescription) Descriptor() ([]byte, []int) {
3850	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{34}
3851}
3852
3853func (x *InfoTypeDescription) GetName() string {
3854	if x != nil {
3855		return x.Name
3856	}
3857	return ""
3858}
3859
3860func (x *InfoTypeDescription) GetDisplayName() string {
3861	if x != nil {
3862		return x.DisplayName
3863	}
3864	return ""
3865}
3866
3867func (x *InfoTypeDescription) GetSupportedBy() []InfoTypeSupportedBy {
3868	if x != nil {
3869		return x.SupportedBy
3870	}
3871	return nil
3872}
3873
3874func (x *InfoTypeDescription) GetDescription() string {
3875	if x != nil {
3876		return x.Description
3877	}
3878	return ""
3879}
3880
3881// Request for the list of infoTypes.
3882type ListInfoTypesRequest struct {
3883	state         protoimpl.MessageState
3884	sizeCache     protoimpl.SizeCache
3885	unknownFields protoimpl.UnknownFields
3886
3887	// The parent resource name, for example locations/{location_id}
3888	Parent string `protobuf:"bytes,4,opt,name=parent,proto3" json:"parent,omitempty"`
3889	// BCP-47 language code for localized infoType friendly
3890	// names. If omitted, or if localized strings are not available,
3891	// en-US strings will be returned.
3892	LanguageCode string `protobuf:"bytes,1,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
3893	// filter to only return infoTypes supported by certain parts of the
3894	// API. Defaults to supported_by=INSPECT.
3895	Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"`
3896	// Deprecated. This field has no effect.
3897	LocationId string `protobuf:"bytes,3,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"`
3898}
3899
3900func (x *ListInfoTypesRequest) Reset() {
3901	*x = ListInfoTypesRequest{}
3902	if protoimpl.UnsafeEnabled {
3903		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[35]
3904		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3905		ms.StoreMessageInfo(mi)
3906	}
3907}
3908
3909func (x *ListInfoTypesRequest) String() string {
3910	return protoimpl.X.MessageStringOf(x)
3911}
3912
3913func (*ListInfoTypesRequest) ProtoMessage() {}
3914
3915func (x *ListInfoTypesRequest) ProtoReflect() protoreflect.Message {
3916	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[35]
3917	if protoimpl.UnsafeEnabled && x != nil {
3918		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3919		if ms.LoadMessageInfo() == nil {
3920			ms.StoreMessageInfo(mi)
3921		}
3922		return ms
3923	}
3924	return mi.MessageOf(x)
3925}
3926
3927// Deprecated: Use ListInfoTypesRequest.ProtoReflect.Descriptor instead.
3928func (*ListInfoTypesRequest) Descriptor() ([]byte, []int) {
3929	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{35}
3930}
3931
3932func (x *ListInfoTypesRequest) GetParent() string {
3933	if x != nil {
3934		return x.Parent
3935	}
3936	return ""
3937}
3938
3939func (x *ListInfoTypesRequest) GetLanguageCode() string {
3940	if x != nil {
3941		return x.LanguageCode
3942	}
3943	return ""
3944}
3945
3946func (x *ListInfoTypesRequest) GetFilter() string {
3947	if x != nil {
3948		return x.Filter
3949	}
3950	return ""
3951}
3952
3953func (x *ListInfoTypesRequest) GetLocationId() string {
3954	if x != nil {
3955		return x.LocationId
3956	}
3957	return ""
3958}
3959
3960// Response to the ListInfoTypes request.
3961type ListInfoTypesResponse struct {
3962	state         protoimpl.MessageState
3963	sizeCache     protoimpl.SizeCache
3964	unknownFields protoimpl.UnknownFields
3965
3966	// Set of sensitive infoTypes.
3967	InfoTypes []*InfoTypeDescription `protobuf:"bytes,1,rep,name=info_types,json=infoTypes,proto3" json:"info_types,omitempty"`
3968}
3969
3970func (x *ListInfoTypesResponse) Reset() {
3971	*x = ListInfoTypesResponse{}
3972	if protoimpl.UnsafeEnabled {
3973		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[36]
3974		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3975		ms.StoreMessageInfo(mi)
3976	}
3977}
3978
3979func (x *ListInfoTypesResponse) String() string {
3980	return protoimpl.X.MessageStringOf(x)
3981}
3982
3983func (*ListInfoTypesResponse) ProtoMessage() {}
3984
3985func (x *ListInfoTypesResponse) ProtoReflect() protoreflect.Message {
3986	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[36]
3987	if protoimpl.UnsafeEnabled && x != nil {
3988		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3989		if ms.LoadMessageInfo() == nil {
3990			ms.StoreMessageInfo(mi)
3991		}
3992		return ms
3993	}
3994	return mi.MessageOf(x)
3995}
3996
3997// Deprecated: Use ListInfoTypesResponse.ProtoReflect.Descriptor instead.
3998func (*ListInfoTypesResponse) Descriptor() ([]byte, []int) {
3999	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{36}
4000}
4001
4002func (x *ListInfoTypesResponse) GetInfoTypes() []*InfoTypeDescription {
4003	if x != nil {
4004		return x.InfoTypes
4005	}
4006	return nil
4007}
4008
4009// Configuration for a risk analysis job. See
4010// https://cloud.google.com/dlp/docs/concepts-risk-analysis to learn more.
4011type RiskAnalysisJobConfig struct {
4012	state         protoimpl.MessageState
4013	sizeCache     protoimpl.SizeCache
4014	unknownFields protoimpl.UnknownFields
4015
4016	// Privacy metric to compute.
4017	PrivacyMetric *PrivacyMetric `protobuf:"bytes,1,opt,name=privacy_metric,json=privacyMetric,proto3" json:"privacy_metric,omitempty"`
4018	// Input dataset to compute metrics over.
4019	SourceTable *BigQueryTable `protobuf:"bytes,2,opt,name=source_table,json=sourceTable,proto3" json:"source_table,omitempty"`
4020	// Actions to execute at the completion of the job. Are executed in the order
4021	// provided.
4022	Actions []*Action `protobuf:"bytes,3,rep,name=actions,proto3" json:"actions,omitempty"`
4023}
4024
4025func (x *RiskAnalysisJobConfig) Reset() {
4026	*x = RiskAnalysisJobConfig{}
4027	if protoimpl.UnsafeEnabled {
4028		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[37]
4029		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4030		ms.StoreMessageInfo(mi)
4031	}
4032}
4033
4034func (x *RiskAnalysisJobConfig) String() string {
4035	return protoimpl.X.MessageStringOf(x)
4036}
4037
4038func (*RiskAnalysisJobConfig) ProtoMessage() {}
4039
4040func (x *RiskAnalysisJobConfig) ProtoReflect() protoreflect.Message {
4041	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[37]
4042	if protoimpl.UnsafeEnabled && x != nil {
4043		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4044		if ms.LoadMessageInfo() == nil {
4045			ms.StoreMessageInfo(mi)
4046		}
4047		return ms
4048	}
4049	return mi.MessageOf(x)
4050}
4051
4052// Deprecated: Use RiskAnalysisJobConfig.ProtoReflect.Descriptor instead.
4053func (*RiskAnalysisJobConfig) Descriptor() ([]byte, []int) {
4054	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{37}
4055}
4056
4057func (x *RiskAnalysisJobConfig) GetPrivacyMetric() *PrivacyMetric {
4058	if x != nil {
4059		return x.PrivacyMetric
4060	}
4061	return nil
4062}
4063
4064func (x *RiskAnalysisJobConfig) GetSourceTable() *BigQueryTable {
4065	if x != nil {
4066		return x.SourceTable
4067	}
4068	return nil
4069}
4070
4071func (x *RiskAnalysisJobConfig) GetActions() []*Action {
4072	if x != nil {
4073		return x.Actions
4074	}
4075	return nil
4076}
4077
4078// A column with a semantic tag attached.
4079type QuasiId struct {
4080	state         protoimpl.MessageState
4081	sizeCache     protoimpl.SizeCache
4082	unknownFields protoimpl.UnknownFields
4083
4084	// Required. Identifies the column.
4085	Field *FieldId `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"`
4086	// Semantic tag that identifies what a column contains, to determine which
4087	// statistical model to use to estimate the reidentifiability of each
4088	// value. [required]
4089	//
4090	// Types that are assignable to Tag:
4091	//	*QuasiId_InfoType
4092	//	*QuasiId_CustomTag
4093	//	*QuasiId_Inferred
4094	Tag isQuasiId_Tag `protobuf_oneof:"tag"`
4095}
4096
4097func (x *QuasiId) Reset() {
4098	*x = QuasiId{}
4099	if protoimpl.UnsafeEnabled {
4100		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[38]
4101		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4102		ms.StoreMessageInfo(mi)
4103	}
4104}
4105
4106func (x *QuasiId) String() string {
4107	return protoimpl.X.MessageStringOf(x)
4108}
4109
4110func (*QuasiId) ProtoMessage() {}
4111
4112func (x *QuasiId) ProtoReflect() protoreflect.Message {
4113	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[38]
4114	if protoimpl.UnsafeEnabled && x != nil {
4115		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4116		if ms.LoadMessageInfo() == nil {
4117			ms.StoreMessageInfo(mi)
4118		}
4119		return ms
4120	}
4121	return mi.MessageOf(x)
4122}
4123
4124// Deprecated: Use QuasiId.ProtoReflect.Descriptor instead.
4125func (*QuasiId) Descriptor() ([]byte, []int) {
4126	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{38}
4127}
4128
4129func (x *QuasiId) GetField() *FieldId {
4130	if x != nil {
4131		return x.Field
4132	}
4133	return nil
4134}
4135
4136func (m *QuasiId) GetTag() isQuasiId_Tag {
4137	if m != nil {
4138		return m.Tag
4139	}
4140	return nil
4141}
4142
4143func (x *QuasiId) GetInfoType() *InfoType {
4144	if x, ok := x.GetTag().(*QuasiId_InfoType); ok {
4145		return x.InfoType
4146	}
4147	return nil
4148}
4149
4150func (x *QuasiId) GetCustomTag() string {
4151	if x, ok := x.GetTag().(*QuasiId_CustomTag); ok {
4152		return x.CustomTag
4153	}
4154	return ""
4155}
4156
4157func (x *QuasiId) GetInferred() *empty.Empty {
4158	if x, ok := x.GetTag().(*QuasiId_Inferred); ok {
4159		return x.Inferred
4160	}
4161	return nil
4162}
4163
4164type isQuasiId_Tag interface {
4165	isQuasiId_Tag()
4166}
4167
4168type QuasiId_InfoType struct {
4169	// A column can be tagged with a InfoType to use the relevant public
4170	// dataset as a statistical model of population, if available. We
4171	// currently support US ZIP codes, region codes, ages and genders.
4172	// To programmatically obtain the list of supported InfoTypes, use
4173	// ListInfoTypes with the supported_by=RISK_ANALYSIS filter.
4174	InfoType *InfoType `protobuf:"bytes,2,opt,name=info_type,json=infoType,proto3,oneof"`
4175}
4176
4177type QuasiId_CustomTag struct {
4178	// A column can be tagged with a custom tag. In this case, the user must
4179	// indicate an auxiliary table that contains statistical information on
4180	// the possible values of this column (below).
4181	CustomTag string `protobuf:"bytes,3,opt,name=custom_tag,json=customTag,proto3,oneof"`
4182}
4183
4184type QuasiId_Inferred struct {
4185	// If no semantic tag is indicated, we infer the statistical model from
4186	// the distribution of values in the input data
4187	Inferred *empty.Empty `protobuf:"bytes,4,opt,name=inferred,proto3,oneof"`
4188}
4189
4190func (*QuasiId_InfoType) isQuasiId_Tag() {}
4191
4192func (*QuasiId_CustomTag) isQuasiId_Tag() {}
4193
4194func (*QuasiId_Inferred) isQuasiId_Tag() {}
4195
4196// An auxiliary table containing statistical information on the relative
4197// frequency of different quasi-identifiers values. It has one or several
4198// quasi-identifiers columns, and one column that indicates the relative
4199// frequency of each quasi-identifier tuple.
4200// If a tuple is present in the data but not in the auxiliary table, the
4201// corresponding relative frequency is assumed to be zero (and thus, the
4202// tuple is highly reidentifiable).
4203type StatisticalTable struct {
4204	state         protoimpl.MessageState
4205	sizeCache     protoimpl.SizeCache
4206	unknownFields protoimpl.UnknownFields
4207
4208	// Required. Auxiliary table location.
4209	Table *BigQueryTable `protobuf:"bytes,3,opt,name=table,proto3" json:"table,omitempty"`
4210	// Required. Quasi-identifier columns.
4211	QuasiIds []*StatisticalTable_QuasiIdentifierField `protobuf:"bytes,1,rep,name=quasi_ids,json=quasiIds,proto3" json:"quasi_ids,omitempty"`
4212	// Required. The relative frequency column must contain a floating-point
4213	// number between 0 and 1 (inclusive). Null values are assumed to be zero.
4214	RelativeFrequency *FieldId `protobuf:"bytes,2,opt,name=relative_frequency,json=relativeFrequency,proto3" json:"relative_frequency,omitempty"`
4215}
4216
4217func (x *StatisticalTable) Reset() {
4218	*x = StatisticalTable{}
4219	if protoimpl.UnsafeEnabled {
4220		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[39]
4221		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4222		ms.StoreMessageInfo(mi)
4223	}
4224}
4225
4226func (x *StatisticalTable) String() string {
4227	return protoimpl.X.MessageStringOf(x)
4228}
4229
4230func (*StatisticalTable) ProtoMessage() {}
4231
4232func (x *StatisticalTable) ProtoReflect() protoreflect.Message {
4233	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[39]
4234	if protoimpl.UnsafeEnabled && x != nil {
4235		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4236		if ms.LoadMessageInfo() == nil {
4237			ms.StoreMessageInfo(mi)
4238		}
4239		return ms
4240	}
4241	return mi.MessageOf(x)
4242}
4243
4244// Deprecated: Use StatisticalTable.ProtoReflect.Descriptor instead.
4245func (*StatisticalTable) Descriptor() ([]byte, []int) {
4246	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{39}
4247}
4248
4249func (x *StatisticalTable) GetTable() *BigQueryTable {
4250	if x != nil {
4251		return x.Table
4252	}
4253	return nil
4254}
4255
4256func (x *StatisticalTable) GetQuasiIds() []*StatisticalTable_QuasiIdentifierField {
4257	if x != nil {
4258		return x.QuasiIds
4259	}
4260	return nil
4261}
4262
4263func (x *StatisticalTable) GetRelativeFrequency() *FieldId {
4264	if x != nil {
4265		return x.RelativeFrequency
4266	}
4267	return nil
4268}
4269
4270// Privacy metric to compute for reidentification risk analysis.
4271type PrivacyMetric struct {
4272	state         protoimpl.MessageState
4273	sizeCache     protoimpl.SizeCache
4274	unknownFields protoimpl.UnknownFields
4275
4276	// Types of analysis.
4277	//
4278	// Types that are assignable to Type:
4279	//	*PrivacyMetric_NumericalStatsConfig_
4280	//	*PrivacyMetric_CategoricalStatsConfig_
4281	//	*PrivacyMetric_KAnonymityConfig_
4282	//	*PrivacyMetric_LDiversityConfig_
4283	//	*PrivacyMetric_KMapEstimationConfig_
4284	//	*PrivacyMetric_DeltaPresenceEstimationConfig_
4285	Type isPrivacyMetric_Type `protobuf_oneof:"type"`
4286}
4287
4288func (x *PrivacyMetric) Reset() {
4289	*x = PrivacyMetric{}
4290	if protoimpl.UnsafeEnabled {
4291		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[40]
4292		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4293		ms.StoreMessageInfo(mi)
4294	}
4295}
4296
4297func (x *PrivacyMetric) String() string {
4298	return protoimpl.X.MessageStringOf(x)
4299}
4300
4301func (*PrivacyMetric) ProtoMessage() {}
4302
4303func (x *PrivacyMetric) ProtoReflect() protoreflect.Message {
4304	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[40]
4305	if protoimpl.UnsafeEnabled && x != nil {
4306		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4307		if ms.LoadMessageInfo() == nil {
4308			ms.StoreMessageInfo(mi)
4309		}
4310		return ms
4311	}
4312	return mi.MessageOf(x)
4313}
4314
4315// Deprecated: Use PrivacyMetric.ProtoReflect.Descriptor instead.
4316func (*PrivacyMetric) Descriptor() ([]byte, []int) {
4317	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{40}
4318}
4319
4320func (m *PrivacyMetric) GetType() isPrivacyMetric_Type {
4321	if m != nil {
4322		return m.Type
4323	}
4324	return nil
4325}
4326
4327func (x *PrivacyMetric) GetNumericalStatsConfig() *PrivacyMetric_NumericalStatsConfig {
4328	if x, ok := x.GetType().(*PrivacyMetric_NumericalStatsConfig_); ok {
4329		return x.NumericalStatsConfig
4330	}
4331	return nil
4332}
4333
4334func (x *PrivacyMetric) GetCategoricalStatsConfig() *PrivacyMetric_CategoricalStatsConfig {
4335	if x, ok := x.GetType().(*PrivacyMetric_CategoricalStatsConfig_); ok {
4336		return x.CategoricalStatsConfig
4337	}
4338	return nil
4339}
4340
4341func (x *PrivacyMetric) GetKAnonymityConfig() *PrivacyMetric_KAnonymityConfig {
4342	if x, ok := x.GetType().(*PrivacyMetric_KAnonymityConfig_); ok {
4343		return x.KAnonymityConfig
4344	}
4345	return nil
4346}
4347
4348func (x *PrivacyMetric) GetLDiversityConfig() *PrivacyMetric_LDiversityConfig {
4349	if x, ok := x.GetType().(*PrivacyMetric_LDiversityConfig_); ok {
4350		return x.LDiversityConfig
4351	}
4352	return nil
4353}
4354
4355func (x *PrivacyMetric) GetKMapEstimationConfig() *PrivacyMetric_KMapEstimationConfig {
4356	if x, ok := x.GetType().(*PrivacyMetric_KMapEstimationConfig_); ok {
4357		return x.KMapEstimationConfig
4358	}
4359	return nil
4360}
4361
4362func (x *PrivacyMetric) GetDeltaPresenceEstimationConfig() *PrivacyMetric_DeltaPresenceEstimationConfig {
4363	if x, ok := x.GetType().(*PrivacyMetric_DeltaPresenceEstimationConfig_); ok {
4364		return x.DeltaPresenceEstimationConfig
4365	}
4366	return nil
4367}
4368
4369type isPrivacyMetric_Type interface {
4370	isPrivacyMetric_Type()
4371}
4372
4373type PrivacyMetric_NumericalStatsConfig_ struct {
4374	// Numerical stats
4375	NumericalStatsConfig *PrivacyMetric_NumericalStatsConfig `protobuf:"bytes,1,opt,name=numerical_stats_config,json=numericalStatsConfig,proto3,oneof"`
4376}
4377
4378type PrivacyMetric_CategoricalStatsConfig_ struct {
4379	// Categorical stats
4380	CategoricalStatsConfig *PrivacyMetric_CategoricalStatsConfig `protobuf:"bytes,2,opt,name=categorical_stats_config,json=categoricalStatsConfig,proto3,oneof"`
4381}
4382
4383type PrivacyMetric_KAnonymityConfig_ struct {
4384	// K-anonymity
4385	KAnonymityConfig *PrivacyMetric_KAnonymityConfig `protobuf:"bytes,3,opt,name=k_anonymity_config,json=kAnonymityConfig,proto3,oneof"`
4386}
4387
4388type PrivacyMetric_LDiversityConfig_ struct {
4389	// l-diversity
4390	LDiversityConfig *PrivacyMetric_LDiversityConfig `protobuf:"bytes,4,opt,name=l_diversity_config,json=lDiversityConfig,proto3,oneof"`
4391}
4392
4393type PrivacyMetric_KMapEstimationConfig_ struct {
4394	// k-map
4395	KMapEstimationConfig *PrivacyMetric_KMapEstimationConfig `protobuf:"bytes,5,opt,name=k_map_estimation_config,json=kMapEstimationConfig,proto3,oneof"`
4396}
4397
4398type PrivacyMetric_DeltaPresenceEstimationConfig_ struct {
4399	// delta-presence
4400	DeltaPresenceEstimationConfig *PrivacyMetric_DeltaPresenceEstimationConfig `protobuf:"bytes,6,opt,name=delta_presence_estimation_config,json=deltaPresenceEstimationConfig,proto3,oneof"`
4401}
4402
4403func (*PrivacyMetric_NumericalStatsConfig_) isPrivacyMetric_Type() {}
4404
4405func (*PrivacyMetric_CategoricalStatsConfig_) isPrivacyMetric_Type() {}
4406
4407func (*PrivacyMetric_KAnonymityConfig_) isPrivacyMetric_Type() {}
4408
4409func (*PrivacyMetric_LDiversityConfig_) isPrivacyMetric_Type() {}
4410
4411func (*PrivacyMetric_KMapEstimationConfig_) isPrivacyMetric_Type() {}
4412
4413func (*PrivacyMetric_DeltaPresenceEstimationConfig_) isPrivacyMetric_Type() {}
4414
4415// Result of a risk analysis operation request.
4416type AnalyzeDataSourceRiskDetails struct {
4417	state         protoimpl.MessageState
4418	sizeCache     protoimpl.SizeCache
4419	unknownFields protoimpl.UnknownFields
4420
4421	// Privacy metric to compute.
4422	RequestedPrivacyMetric *PrivacyMetric `protobuf:"bytes,1,opt,name=requested_privacy_metric,json=requestedPrivacyMetric,proto3" json:"requested_privacy_metric,omitempty"`
4423	// Input dataset to compute metrics over.
4424	RequestedSourceTable *BigQueryTable `protobuf:"bytes,2,opt,name=requested_source_table,json=requestedSourceTable,proto3" json:"requested_source_table,omitempty"`
4425	// Values associated with this metric.
4426	//
4427	// Types that are assignable to Result:
4428	//	*AnalyzeDataSourceRiskDetails_NumericalStatsResult_
4429	//	*AnalyzeDataSourceRiskDetails_CategoricalStatsResult_
4430	//	*AnalyzeDataSourceRiskDetails_KAnonymityResult_
4431	//	*AnalyzeDataSourceRiskDetails_LDiversityResult_
4432	//	*AnalyzeDataSourceRiskDetails_KMapEstimationResult_
4433	//	*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_
4434	Result isAnalyzeDataSourceRiskDetails_Result `protobuf_oneof:"result"`
4435}
4436
4437func (x *AnalyzeDataSourceRiskDetails) Reset() {
4438	*x = AnalyzeDataSourceRiskDetails{}
4439	if protoimpl.UnsafeEnabled {
4440		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[41]
4441		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4442		ms.StoreMessageInfo(mi)
4443	}
4444}
4445
4446func (x *AnalyzeDataSourceRiskDetails) String() string {
4447	return protoimpl.X.MessageStringOf(x)
4448}
4449
4450func (*AnalyzeDataSourceRiskDetails) ProtoMessage() {}
4451
4452func (x *AnalyzeDataSourceRiskDetails) ProtoReflect() protoreflect.Message {
4453	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[41]
4454	if protoimpl.UnsafeEnabled && x != nil {
4455		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4456		if ms.LoadMessageInfo() == nil {
4457			ms.StoreMessageInfo(mi)
4458		}
4459		return ms
4460	}
4461	return mi.MessageOf(x)
4462}
4463
4464// Deprecated: Use AnalyzeDataSourceRiskDetails.ProtoReflect.Descriptor instead.
4465func (*AnalyzeDataSourceRiskDetails) Descriptor() ([]byte, []int) {
4466	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{41}
4467}
4468
4469func (x *AnalyzeDataSourceRiskDetails) GetRequestedPrivacyMetric() *PrivacyMetric {
4470	if x != nil {
4471		return x.RequestedPrivacyMetric
4472	}
4473	return nil
4474}
4475
4476func (x *AnalyzeDataSourceRiskDetails) GetRequestedSourceTable() *BigQueryTable {
4477	if x != nil {
4478		return x.RequestedSourceTable
4479	}
4480	return nil
4481}
4482
4483func (m *AnalyzeDataSourceRiskDetails) GetResult() isAnalyzeDataSourceRiskDetails_Result {
4484	if m != nil {
4485		return m.Result
4486	}
4487	return nil
4488}
4489
4490func (x *AnalyzeDataSourceRiskDetails) GetNumericalStatsResult() *AnalyzeDataSourceRiskDetails_NumericalStatsResult {
4491	if x, ok := x.GetResult().(*AnalyzeDataSourceRiskDetails_NumericalStatsResult_); ok {
4492		return x.NumericalStatsResult
4493	}
4494	return nil
4495}
4496
4497func (x *AnalyzeDataSourceRiskDetails) GetCategoricalStatsResult() *AnalyzeDataSourceRiskDetails_CategoricalStatsResult {
4498	if x, ok := x.GetResult().(*AnalyzeDataSourceRiskDetails_CategoricalStatsResult_); ok {
4499		return x.CategoricalStatsResult
4500	}
4501	return nil
4502}
4503
4504func (x *AnalyzeDataSourceRiskDetails) GetKAnonymityResult() *AnalyzeDataSourceRiskDetails_KAnonymityResult {
4505	if x, ok := x.GetResult().(*AnalyzeDataSourceRiskDetails_KAnonymityResult_); ok {
4506		return x.KAnonymityResult
4507	}
4508	return nil
4509}
4510
4511func (x *AnalyzeDataSourceRiskDetails) GetLDiversityResult() *AnalyzeDataSourceRiskDetails_LDiversityResult {
4512	if x, ok := x.GetResult().(*AnalyzeDataSourceRiskDetails_LDiversityResult_); ok {
4513		return x.LDiversityResult
4514	}
4515	return nil
4516}
4517
4518func (x *AnalyzeDataSourceRiskDetails) GetKMapEstimationResult() *AnalyzeDataSourceRiskDetails_KMapEstimationResult {
4519	if x, ok := x.GetResult().(*AnalyzeDataSourceRiskDetails_KMapEstimationResult_); ok {
4520		return x.KMapEstimationResult
4521	}
4522	return nil
4523}
4524
4525func (x *AnalyzeDataSourceRiskDetails) GetDeltaPresenceEstimationResult() *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult {
4526	if x, ok := x.GetResult().(*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_); ok {
4527		return x.DeltaPresenceEstimationResult
4528	}
4529	return nil
4530}
4531
4532type isAnalyzeDataSourceRiskDetails_Result interface {
4533	isAnalyzeDataSourceRiskDetails_Result()
4534}
4535
4536type AnalyzeDataSourceRiskDetails_NumericalStatsResult_ struct {
4537	// Numerical stats result
4538	NumericalStatsResult *AnalyzeDataSourceRiskDetails_NumericalStatsResult `protobuf:"bytes,3,opt,name=numerical_stats_result,json=numericalStatsResult,proto3,oneof"`
4539}
4540
4541type AnalyzeDataSourceRiskDetails_CategoricalStatsResult_ struct {
4542	// Categorical stats result
4543	CategoricalStatsResult *AnalyzeDataSourceRiskDetails_CategoricalStatsResult `protobuf:"bytes,4,opt,name=categorical_stats_result,json=categoricalStatsResult,proto3,oneof"`
4544}
4545
4546type AnalyzeDataSourceRiskDetails_KAnonymityResult_ struct {
4547	// K-anonymity result
4548	KAnonymityResult *AnalyzeDataSourceRiskDetails_KAnonymityResult `protobuf:"bytes,5,opt,name=k_anonymity_result,json=kAnonymityResult,proto3,oneof"`
4549}
4550
4551type AnalyzeDataSourceRiskDetails_LDiversityResult_ struct {
4552	// L-divesity result
4553	LDiversityResult *AnalyzeDataSourceRiskDetails_LDiversityResult `protobuf:"bytes,6,opt,name=l_diversity_result,json=lDiversityResult,proto3,oneof"`
4554}
4555
4556type AnalyzeDataSourceRiskDetails_KMapEstimationResult_ struct {
4557	// K-map result
4558	KMapEstimationResult *AnalyzeDataSourceRiskDetails_KMapEstimationResult `protobuf:"bytes,7,opt,name=k_map_estimation_result,json=kMapEstimationResult,proto3,oneof"`
4559}
4560
4561type AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_ struct {
4562	// Delta-presence result
4563	DeltaPresenceEstimationResult *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult `protobuf:"bytes,9,opt,name=delta_presence_estimation_result,json=deltaPresenceEstimationResult,proto3,oneof"`
4564}
4565
4566func (*AnalyzeDataSourceRiskDetails_NumericalStatsResult_) isAnalyzeDataSourceRiskDetails_Result() {}
4567
4568func (*AnalyzeDataSourceRiskDetails_CategoricalStatsResult_) isAnalyzeDataSourceRiskDetails_Result() {}
4569
4570func (*AnalyzeDataSourceRiskDetails_KAnonymityResult_) isAnalyzeDataSourceRiskDetails_Result() {}
4571
4572func (*AnalyzeDataSourceRiskDetails_LDiversityResult_) isAnalyzeDataSourceRiskDetails_Result() {}
4573
4574func (*AnalyzeDataSourceRiskDetails_KMapEstimationResult_) isAnalyzeDataSourceRiskDetails_Result() {}
4575
4576func (*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_) isAnalyzeDataSourceRiskDetails_Result() {
4577}
4578
4579// A value of a field, including its frequency.
4580type ValueFrequency struct {
4581	state         protoimpl.MessageState
4582	sizeCache     protoimpl.SizeCache
4583	unknownFields protoimpl.UnknownFields
4584
4585	// A value contained in the field in question.
4586	Value *Value `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
4587	// How many times the value is contained in the field.
4588	Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
4589}
4590
4591func (x *ValueFrequency) Reset() {
4592	*x = ValueFrequency{}
4593	if protoimpl.UnsafeEnabled {
4594		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[42]
4595		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4596		ms.StoreMessageInfo(mi)
4597	}
4598}
4599
4600func (x *ValueFrequency) String() string {
4601	return protoimpl.X.MessageStringOf(x)
4602}
4603
4604func (*ValueFrequency) ProtoMessage() {}
4605
4606func (x *ValueFrequency) ProtoReflect() protoreflect.Message {
4607	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[42]
4608	if protoimpl.UnsafeEnabled && x != nil {
4609		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4610		if ms.LoadMessageInfo() == nil {
4611			ms.StoreMessageInfo(mi)
4612		}
4613		return ms
4614	}
4615	return mi.MessageOf(x)
4616}
4617
4618// Deprecated: Use ValueFrequency.ProtoReflect.Descriptor instead.
4619func (*ValueFrequency) Descriptor() ([]byte, []int) {
4620	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{42}
4621}
4622
4623func (x *ValueFrequency) GetValue() *Value {
4624	if x != nil {
4625		return x.Value
4626	}
4627	return nil
4628}
4629
4630func (x *ValueFrequency) GetCount() int64 {
4631	if x != nil {
4632		return x.Count
4633	}
4634	return 0
4635}
4636
4637// Set of primitive values supported by the system.
4638// Note that for the purposes of inspection or transformation, the number
4639// of bytes considered to comprise a 'Value' is based on its representation
4640// as a UTF-8 encoded string. For example, if 'integer_value' is set to
4641// 123456789, the number of bytes would be counted as 9, even though an
4642// int64 only holds up to 8 bytes of data.
4643type Value struct {
4644	state         protoimpl.MessageState
4645	sizeCache     protoimpl.SizeCache
4646	unknownFields protoimpl.UnknownFields
4647
4648	// Value types
4649	//
4650	// Types that are assignable to Type:
4651	//	*Value_IntegerValue
4652	//	*Value_FloatValue
4653	//	*Value_StringValue
4654	//	*Value_BooleanValue
4655	//	*Value_TimestampValue
4656	//	*Value_TimeValue
4657	//	*Value_DateValue
4658	//	*Value_DayOfWeekValue
4659	Type isValue_Type `protobuf_oneof:"type"`
4660}
4661
4662func (x *Value) Reset() {
4663	*x = Value{}
4664	if protoimpl.UnsafeEnabled {
4665		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[43]
4666		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4667		ms.StoreMessageInfo(mi)
4668	}
4669}
4670
4671func (x *Value) String() string {
4672	return protoimpl.X.MessageStringOf(x)
4673}
4674
4675func (*Value) ProtoMessage() {}
4676
4677func (x *Value) ProtoReflect() protoreflect.Message {
4678	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[43]
4679	if protoimpl.UnsafeEnabled && x != nil {
4680		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4681		if ms.LoadMessageInfo() == nil {
4682			ms.StoreMessageInfo(mi)
4683		}
4684		return ms
4685	}
4686	return mi.MessageOf(x)
4687}
4688
4689// Deprecated: Use Value.ProtoReflect.Descriptor instead.
4690func (*Value) Descriptor() ([]byte, []int) {
4691	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{43}
4692}
4693
4694func (m *Value) GetType() isValue_Type {
4695	if m != nil {
4696		return m.Type
4697	}
4698	return nil
4699}
4700
4701func (x *Value) GetIntegerValue() int64 {
4702	if x, ok := x.GetType().(*Value_IntegerValue); ok {
4703		return x.IntegerValue
4704	}
4705	return 0
4706}
4707
4708func (x *Value) GetFloatValue() float64 {
4709	if x, ok := x.GetType().(*Value_FloatValue); ok {
4710		return x.FloatValue
4711	}
4712	return 0
4713}
4714
4715func (x *Value) GetStringValue() string {
4716	if x, ok := x.GetType().(*Value_StringValue); ok {
4717		return x.StringValue
4718	}
4719	return ""
4720}
4721
4722func (x *Value) GetBooleanValue() bool {
4723	if x, ok := x.GetType().(*Value_BooleanValue); ok {
4724		return x.BooleanValue
4725	}
4726	return false
4727}
4728
4729func (x *Value) GetTimestampValue() *timestamp.Timestamp {
4730	if x, ok := x.GetType().(*Value_TimestampValue); ok {
4731		return x.TimestampValue
4732	}
4733	return nil
4734}
4735
4736func (x *Value) GetTimeValue() *timeofday.TimeOfDay {
4737	if x, ok := x.GetType().(*Value_TimeValue); ok {
4738		return x.TimeValue
4739	}
4740	return nil
4741}
4742
4743func (x *Value) GetDateValue() *date.Date {
4744	if x, ok := x.GetType().(*Value_DateValue); ok {
4745		return x.DateValue
4746	}
4747	return nil
4748}
4749
4750func (x *Value) GetDayOfWeekValue() dayofweek.DayOfWeek {
4751	if x, ok := x.GetType().(*Value_DayOfWeekValue); ok {
4752		return x.DayOfWeekValue
4753	}
4754	return dayofweek.DayOfWeek_DAY_OF_WEEK_UNSPECIFIED
4755}
4756
4757type isValue_Type interface {
4758	isValue_Type()
4759}
4760
4761type Value_IntegerValue struct {
4762	// integer
4763	IntegerValue int64 `protobuf:"varint,1,opt,name=integer_value,json=integerValue,proto3,oneof"`
4764}
4765
4766type Value_FloatValue struct {
4767	// float
4768	FloatValue float64 `protobuf:"fixed64,2,opt,name=float_value,json=floatValue,proto3,oneof"`
4769}
4770
4771type Value_StringValue struct {
4772	// string
4773	StringValue string `protobuf:"bytes,3,opt,name=string_value,json=stringValue,proto3,oneof"`
4774}
4775
4776type Value_BooleanValue struct {
4777	// boolean
4778	BooleanValue bool `protobuf:"varint,4,opt,name=boolean_value,json=booleanValue,proto3,oneof"`
4779}
4780
4781type Value_TimestampValue struct {
4782	// timestamp
4783	TimestampValue *timestamp.Timestamp `protobuf:"bytes,5,opt,name=timestamp_value,json=timestampValue,proto3,oneof"`
4784}
4785
4786type Value_TimeValue struct {
4787	// time of day
4788	TimeValue *timeofday.TimeOfDay `protobuf:"bytes,6,opt,name=time_value,json=timeValue,proto3,oneof"`
4789}
4790
4791type Value_DateValue struct {
4792	// date
4793	DateValue *date.Date `protobuf:"bytes,7,opt,name=date_value,json=dateValue,proto3,oneof"`
4794}
4795
4796type Value_DayOfWeekValue struct {
4797	// day of week
4798	DayOfWeekValue dayofweek.DayOfWeek `protobuf:"varint,8,opt,name=day_of_week_value,json=dayOfWeekValue,proto3,enum=google.type.DayOfWeek,oneof"`
4799}
4800
4801func (*Value_IntegerValue) isValue_Type() {}
4802
4803func (*Value_FloatValue) isValue_Type() {}
4804
4805func (*Value_StringValue) isValue_Type() {}
4806
4807func (*Value_BooleanValue) isValue_Type() {}
4808
4809func (*Value_TimestampValue) isValue_Type() {}
4810
4811func (*Value_TimeValue) isValue_Type() {}
4812
4813func (*Value_DateValue) isValue_Type() {}
4814
4815func (*Value_DayOfWeekValue) isValue_Type() {}
4816
4817// Message for infoType-dependent details parsed from quote.
4818type QuoteInfo struct {
4819	state         protoimpl.MessageState
4820	sizeCache     protoimpl.SizeCache
4821	unknownFields protoimpl.UnknownFields
4822
4823	// Object representation of the quote.
4824	//
4825	// Types that are assignable to ParsedQuote:
4826	//	*QuoteInfo_DateTime
4827	ParsedQuote isQuoteInfo_ParsedQuote `protobuf_oneof:"parsed_quote"`
4828}
4829
4830func (x *QuoteInfo) Reset() {
4831	*x = QuoteInfo{}
4832	if protoimpl.UnsafeEnabled {
4833		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[44]
4834		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4835		ms.StoreMessageInfo(mi)
4836	}
4837}
4838
4839func (x *QuoteInfo) String() string {
4840	return protoimpl.X.MessageStringOf(x)
4841}
4842
4843func (*QuoteInfo) ProtoMessage() {}
4844
4845func (x *QuoteInfo) ProtoReflect() protoreflect.Message {
4846	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[44]
4847	if protoimpl.UnsafeEnabled && x != nil {
4848		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4849		if ms.LoadMessageInfo() == nil {
4850			ms.StoreMessageInfo(mi)
4851		}
4852		return ms
4853	}
4854	return mi.MessageOf(x)
4855}
4856
4857// Deprecated: Use QuoteInfo.ProtoReflect.Descriptor instead.
4858func (*QuoteInfo) Descriptor() ([]byte, []int) {
4859	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{44}
4860}
4861
4862func (m *QuoteInfo) GetParsedQuote() isQuoteInfo_ParsedQuote {
4863	if m != nil {
4864		return m.ParsedQuote
4865	}
4866	return nil
4867}
4868
4869func (x *QuoteInfo) GetDateTime() *DateTime {
4870	if x, ok := x.GetParsedQuote().(*QuoteInfo_DateTime); ok {
4871		return x.DateTime
4872	}
4873	return nil
4874}
4875
4876type isQuoteInfo_ParsedQuote interface {
4877	isQuoteInfo_ParsedQuote()
4878}
4879
4880type QuoteInfo_DateTime struct {
4881	// The date time indicated by the quote.
4882	DateTime *DateTime `protobuf:"bytes,2,opt,name=date_time,json=dateTime,proto3,oneof"`
4883}
4884
4885func (*QuoteInfo_DateTime) isQuoteInfo_ParsedQuote() {}
4886
4887// Message for a date time object.
4888// e.g. 2018-01-01, 5th August.
4889type DateTime struct {
4890	state         protoimpl.MessageState
4891	sizeCache     protoimpl.SizeCache
4892	unknownFields protoimpl.UnknownFields
4893
4894	// One or more of the following must be set.
4895	// Must be a valid date or time value.
4896	Date *date.Date `protobuf:"bytes,1,opt,name=date,proto3" json:"date,omitempty"`
4897	// Day of week
4898	DayOfWeek dayofweek.DayOfWeek `protobuf:"varint,2,opt,name=day_of_week,json=dayOfWeek,proto3,enum=google.type.DayOfWeek" json:"day_of_week,omitempty"`
4899	// Time of day
4900	Time *timeofday.TimeOfDay `protobuf:"bytes,3,opt,name=time,proto3" json:"time,omitempty"`
4901	// Time zone
4902	TimeZone *DateTime_TimeZone `protobuf:"bytes,4,opt,name=time_zone,json=timeZone,proto3" json:"time_zone,omitempty"`
4903}
4904
4905func (x *DateTime) Reset() {
4906	*x = DateTime{}
4907	if protoimpl.UnsafeEnabled {
4908		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[45]
4909		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4910		ms.StoreMessageInfo(mi)
4911	}
4912}
4913
4914func (x *DateTime) String() string {
4915	return protoimpl.X.MessageStringOf(x)
4916}
4917
4918func (*DateTime) ProtoMessage() {}
4919
4920func (x *DateTime) ProtoReflect() protoreflect.Message {
4921	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[45]
4922	if protoimpl.UnsafeEnabled && x != nil {
4923		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4924		if ms.LoadMessageInfo() == nil {
4925			ms.StoreMessageInfo(mi)
4926		}
4927		return ms
4928	}
4929	return mi.MessageOf(x)
4930}
4931
4932// Deprecated: Use DateTime.ProtoReflect.Descriptor instead.
4933func (*DateTime) Descriptor() ([]byte, []int) {
4934	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{45}
4935}
4936
4937func (x *DateTime) GetDate() *date.Date {
4938	if x != nil {
4939		return x.Date
4940	}
4941	return nil
4942}
4943
4944func (x *DateTime) GetDayOfWeek() dayofweek.DayOfWeek {
4945	if x != nil {
4946		return x.DayOfWeek
4947	}
4948	return dayofweek.DayOfWeek_DAY_OF_WEEK_UNSPECIFIED
4949}
4950
4951func (x *DateTime) GetTime() *timeofday.TimeOfDay {
4952	if x != nil {
4953		return x.Time
4954	}
4955	return nil
4956}
4957
4958func (x *DateTime) GetTimeZone() *DateTime_TimeZone {
4959	if x != nil {
4960		return x.TimeZone
4961	}
4962	return nil
4963}
4964
4965// The configuration that controls how the data will change.
4966type DeidentifyConfig struct {
4967	state         protoimpl.MessageState
4968	sizeCache     protoimpl.SizeCache
4969	unknownFields protoimpl.UnknownFields
4970
4971	// Types that are assignable to Transformation:
4972	//	*DeidentifyConfig_InfoTypeTransformations
4973	//	*DeidentifyConfig_RecordTransformations
4974	Transformation isDeidentifyConfig_Transformation `protobuf_oneof:"transformation"`
4975	// Mode for handling transformation errors. If left unspecified, the default
4976	// mode is `TransformationErrorHandling.ThrowError`.
4977	TransformationErrorHandling *TransformationErrorHandling `protobuf:"bytes,3,opt,name=transformation_error_handling,json=transformationErrorHandling,proto3" json:"transformation_error_handling,omitempty"`
4978}
4979
4980func (x *DeidentifyConfig) Reset() {
4981	*x = DeidentifyConfig{}
4982	if protoimpl.UnsafeEnabled {
4983		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[46]
4984		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4985		ms.StoreMessageInfo(mi)
4986	}
4987}
4988
4989func (x *DeidentifyConfig) String() string {
4990	return protoimpl.X.MessageStringOf(x)
4991}
4992
4993func (*DeidentifyConfig) ProtoMessage() {}
4994
4995func (x *DeidentifyConfig) ProtoReflect() protoreflect.Message {
4996	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[46]
4997	if protoimpl.UnsafeEnabled && x != nil {
4998		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4999		if ms.LoadMessageInfo() == nil {
5000			ms.StoreMessageInfo(mi)
5001		}
5002		return ms
5003	}
5004	return mi.MessageOf(x)
5005}
5006
5007// Deprecated: Use DeidentifyConfig.ProtoReflect.Descriptor instead.
5008func (*DeidentifyConfig) Descriptor() ([]byte, []int) {
5009	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{46}
5010}
5011
5012func (m *DeidentifyConfig) GetTransformation() isDeidentifyConfig_Transformation {
5013	if m != nil {
5014		return m.Transformation
5015	}
5016	return nil
5017}
5018
5019func (x *DeidentifyConfig) GetInfoTypeTransformations() *InfoTypeTransformations {
5020	if x, ok := x.GetTransformation().(*DeidentifyConfig_InfoTypeTransformations); ok {
5021		return x.InfoTypeTransformations
5022	}
5023	return nil
5024}
5025
5026func (x *DeidentifyConfig) GetRecordTransformations() *RecordTransformations {
5027	if x, ok := x.GetTransformation().(*DeidentifyConfig_RecordTransformations); ok {
5028		return x.RecordTransformations
5029	}
5030	return nil
5031}
5032
5033func (x *DeidentifyConfig) GetTransformationErrorHandling() *TransformationErrorHandling {
5034	if x != nil {
5035		return x.TransformationErrorHandling
5036	}
5037	return nil
5038}
5039
5040type isDeidentifyConfig_Transformation interface {
5041	isDeidentifyConfig_Transformation()
5042}
5043
5044type DeidentifyConfig_InfoTypeTransformations struct {
5045	// Treat the dataset as free-form text and apply the same free text
5046	// transformation everywhere.
5047	InfoTypeTransformations *InfoTypeTransformations `protobuf:"bytes,1,opt,name=info_type_transformations,json=infoTypeTransformations,proto3,oneof"`
5048}
5049
5050type DeidentifyConfig_RecordTransformations struct {
5051	// Treat the dataset as structured. Transformations can be applied to
5052	// specific locations within structured datasets, such as transforming
5053	// a column within a table.
5054	RecordTransformations *RecordTransformations `protobuf:"bytes,2,opt,name=record_transformations,json=recordTransformations,proto3,oneof"`
5055}
5056
5057func (*DeidentifyConfig_InfoTypeTransformations) isDeidentifyConfig_Transformation() {}
5058
5059func (*DeidentifyConfig_RecordTransformations) isDeidentifyConfig_Transformation() {}
5060
5061// How to handle transformation errors during de-identification. A
5062// transformation error occurs when the requested transformation is incompatible
5063// with the data. For example, trying to de-identify an IP address using a
5064// `DateShift` transformation would result in a transformation error, since date
5065// info cannot be extracted from an IP address.
5066// Information about any incompatible transformations, and how they were
5067// handled, is returned in the response as part of the
5068// `TransformationOverviews`.
5069type TransformationErrorHandling struct {
5070	state         protoimpl.MessageState
5071	sizeCache     protoimpl.SizeCache
5072	unknownFields protoimpl.UnknownFields
5073
5074	// How transformation errors should be handled.
5075	//
5076	// Types that are assignable to Mode:
5077	//	*TransformationErrorHandling_ThrowError_
5078	//	*TransformationErrorHandling_LeaveUntransformed_
5079	Mode isTransformationErrorHandling_Mode `protobuf_oneof:"mode"`
5080}
5081
5082func (x *TransformationErrorHandling) Reset() {
5083	*x = TransformationErrorHandling{}
5084	if protoimpl.UnsafeEnabled {
5085		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[47]
5086		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
5087		ms.StoreMessageInfo(mi)
5088	}
5089}
5090
5091func (x *TransformationErrorHandling) String() string {
5092	return protoimpl.X.MessageStringOf(x)
5093}
5094
5095func (*TransformationErrorHandling) ProtoMessage() {}
5096
5097func (x *TransformationErrorHandling) ProtoReflect() protoreflect.Message {
5098	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[47]
5099	if protoimpl.UnsafeEnabled && x != nil {
5100		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
5101		if ms.LoadMessageInfo() == nil {
5102			ms.StoreMessageInfo(mi)
5103		}
5104		return ms
5105	}
5106	return mi.MessageOf(x)
5107}
5108
5109// Deprecated: Use TransformationErrorHandling.ProtoReflect.Descriptor instead.
5110func (*TransformationErrorHandling) Descriptor() ([]byte, []int) {
5111	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{47}
5112}
5113
5114func (m *TransformationErrorHandling) GetMode() isTransformationErrorHandling_Mode {
5115	if m != nil {
5116		return m.Mode
5117	}
5118	return nil
5119}
5120
5121func (x *TransformationErrorHandling) GetThrowError() *TransformationErrorHandling_ThrowError {
5122	if x, ok := x.GetMode().(*TransformationErrorHandling_ThrowError_); ok {
5123		return x.ThrowError
5124	}
5125	return nil
5126}
5127
5128func (x *TransformationErrorHandling) GetLeaveUntransformed() *TransformationErrorHandling_LeaveUntransformed {
5129	if x, ok := x.GetMode().(*TransformationErrorHandling_LeaveUntransformed_); ok {
5130		return x.LeaveUntransformed
5131	}
5132	return nil
5133}
5134
5135type isTransformationErrorHandling_Mode interface {
5136	isTransformationErrorHandling_Mode()
5137}
5138
5139type TransformationErrorHandling_ThrowError_ struct {
5140	// Throw an error
5141	ThrowError *TransformationErrorHandling_ThrowError `protobuf:"bytes,1,opt,name=throw_error,json=throwError,proto3,oneof"`
5142}
5143
5144type TransformationErrorHandling_LeaveUntransformed_ struct {
5145	// Ignore errors
5146	LeaveUntransformed *TransformationErrorHandling_LeaveUntransformed `protobuf:"bytes,2,opt,name=leave_untransformed,json=leaveUntransformed,proto3,oneof"`
5147}
5148
5149func (*TransformationErrorHandling_ThrowError_) isTransformationErrorHandling_Mode() {}
5150
5151func (*TransformationErrorHandling_LeaveUntransformed_) isTransformationErrorHandling_Mode() {}
5152
5153// A rule for transforming a value.
5154type PrimitiveTransformation struct {
5155	state         protoimpl.MessageState
5156	sizeCache     protoimpl.SizeCache
5157	unknownFields protoimpl.UnknownFields
5158
5159	// Types that are assignable to Transformation:
5160	//	*PrimitiveTransformation_ReplaceConfig
5161	//	*PrimitiveTransformation_RedactConfig
5162	//	*PrimitiveTransformation_CharacterMaskConfig
5163	//	*PrimitiveTransformation_CryptoReplaceFfxFpeConfig
5164	//	*PrimitiveTransformation_FixedSizeBucketingConfig
5165	//	*PrimitiveTransformation_BucketingConfig
5166	//	*PrimitiveTransformation_ReplaceWithInfoTypeConfig
5167	//	*PrimitiveTransformation_TimePartConfig
5168	//	*PrimitiveTransformation_CryptoHashConfig
5169	//	*PrimitiveTransformation_DateShiftConfig
5170	//	*PrimitiveTransformation_CryptoDeterministicConfig
5171	Transformation isPrimitiveTransformation_Transformation `protobuf_oneof:"transformation"`
5172}
5173
5174func (x *PrimitiveTransformation) Reset() {
5175	*x = PrimitiveTransformation{}
5176	if protoimpl.UnsafeEnabled {
5177		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[48]
5178		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
5179		ms.StoreMessageInfo(mi)
5180	}
5181}
5182
5183func (x *PrimitiveTransformation) String() string {
5184	return protoimpl.X.MessageStringOf(x)
5185}
5186
5187func (*PrimitiveTransformation) ProtoMessage() {}
5188
5189func (x *PrimitiveTransformation) ProtoReflect() protoreflect.Message {
5190	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[48]
5191	if protoimpl.UnsafeEnabled && x != nil {
5192		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
5193		if ms.LoadMessageInfo() == nil {
5194			ms.StoreMessageInfo(mi)
5195		}
5196		return ms
5197	}
5198	return mi.MessageOf(x)
5199}
5200
5201// Deprecated: Use PrimitiveTransformation.ProtoReflect.Descriptor instead.
5202func (*PrimitiveTransformation) Descriptor() ([]byte, []int) {
5203	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{48}
5204}
5205
5206func (m *PrimitiveTransformation) GetTransformation() isPrimitiveTransformation_Transformation {
5207	if m != nil {
5208		return m.Transformation
5209	}
5210	return nil
5211}
5212
5213func (x *PrimitiveTransformation) GetReplaceConfig() *ReplaceValueConfig {
5214	if x, ok := x.GetTransformation().(*PrimitiveTransformation_ReplaceConfig); ok {
5215		return x.ReplaceConfig
5216	}
5217	return nil
5218}
5219
5220func (x *PrimitiveTransformation) GetRedactConfig() *RedactConfig {
5221	if x, ok := x.GetTransformation().(*PrimitiveTransformation_RedactConfig); ok {
5222		return x.RedactConfig
5223	}
5224	return nil
5225}
5226
5227func (x *PrimitiveTransformation) GetCharacterMaskConfig() *CharacterMaskConfig {
5228	if x, ok := x.GetTransformation().(*PrimitiveTransformation_CharacterMaskConfig); ok {
5229		return x.CharacterMaskConfig
5230	}
5231	return nil
5232}
5233
5234func (x *PrimitiveTransformation) GetCryptoReplaceFfxFpeConfig() *CryptoReplaceFfxFpeConfig {
5235	if x, ok := x.GetTransformation().(*PrimitiveTransformation_CryptoReplaceFfxFpeConfig); ok {
5236		return x.CryptoReplaceFfxFpeConfig
5237	}
5238	return nil
5239}
5240
5241func (x *PrimitiveTransformation) GetFixedSizeBucketingConfig() *FixedSizeBucketingConfig {
5242	if x, ok := x.GetTransformation().(*PrimitiveTransformation_FixedSizeBucketingConfig); ok {
5243		return x.FixedSizeBucketingConfig
5244	}
5245	return nil
5246}
5247
5248func (x *PrimitiveTransformation) GetBucketingConfig() *BucketingConfig {
5249	if x, ok := x.GetTransformation().(*PrimitiveTransformation_BucketingConfig); ok {
5250		return x.BucketingConfig
5251	}
5252	return nil
5253}
5254
5255func (x *PrimitiveTransformation) GetReplaceWithInfoTypeConfig() *ReplaceWithInfoTypeConfig {
5256	if x, ok := x.GetTransformation().(*PrimitiveTransformation_ReplaceWithInfoTypeConfig); ok {
5257		return x.ReplaceWithInfoTypeConfig
5258	}
5259	return nil
5260}
5261
5262func (x *PrimitiveTransformation) GetTimePartConfig() *TimePartConfig {
5263	if x, ok := x.GetTransformation().(*PrimitiveTransformation_TimePartConfig); ok {
5264		return x.TimePartConfig
5265	}
5266	return nil
5267}
5268
5269func (x *PrimitiveTransformation) GetCryptoHashConfig() *CryptoHashConfig {
5270	if x, ok := x.GetTransformation().(*PrimitiveTransformation_CryptoHashConfig); ok {
5271		return x.CryptoHashConfig
5272	}
5273	return nil
5274}
5275
5276func (x *PrimitiveTransformation) GetDateShiftConfig() *DateShiftConfig {
5277	if x, ok := x.GetTransformation().(*PrimitiveTransformation_DateShiftConfig); ok {
5278		return x.DateShiftConfig
5279	}
5280	return nil
5281}
5282
5283func (x *PrimitiveTransformation) GetCryptoDeterministicConfig() *CryptoDeterministicConfig {
5284	if x, ok := x.GetTransformation().(*PrimitiveTransformation_CryptoDeterministicConfig); ok {
5285		return x.CryptoDeterministicConfig
5286	}
5287	return nil
5288}
5289
5290type isPrimitiveTransformation_Transformation interface {
5291	isPrimitiveTransformation_Transformation()
5292}
5293
5294type PrimitiveTransformation_ReplaceConfig struct {
5295	// Replace
5296	ReplaceConfig *ReplaceValueConfig `protobuf:"bytes,1,opt,name=replace_config,json=replaceConfig,proto3,oneof"`
5297}
5298
5299type PrimitiveTransformation_RedactConfig struct {
5300	// Redact
5301	RedactConfig *RedactConfig `protobuf:"bytes,2,opt,name=redact_config,json=redactConfig,proto3,oneof"`
5302}
5303
5304type PrimitiveTransformation_CharacterMaskConfig struct {
5305	// Mask
5306	CharacterMaskConfig *CharacterMaskConfig `protobuf:"bytes,3,opt,name=character_mask_config,json=characterMaskConfig,proto3,oneof"`
5307}
5308
5309type PrimitiveTransformation_CryptoReplaceFfxFpeConfig struct {
5310	// Ffx-Fpe
5311	CryptoReplaceFfxFpeConfig *CryptoReplaceFfxFpeConfig `protobuf:"bytes,4,opt,name=crypto_replace_ffx_fpe_config,json=cryptoReplaceFfxFpeConfig,proto3,oneof"`
5312}
5313
5314type PrimitiveTransformation_FixedSizeBucketingConfig struct {
5315	// Fixed size bucketing
5316	FixedSizeBucketingConfig *FixedSizeBucketingConfig `protobuf:"bytes,5,opt,name=fixed_size_bucketing_config,json=fixedSizeBucketingConfig,proto3,oneof"`
5317}
5318
5319type PrimitiveTransformation_BucketingConfig struct {
5320	// Bucketing
5321	BucketingConfig *BucketingConfig `protobuf:"bytes,6,opt,name=bucketing_config,json=bucketingConfig,proto3,oneof"`
5322}
5323
5324type PrimitiveTransformation_ReplaceWithInfoTypeConfig struct {
5325	// Replace with infotype
5326	ReplaceWithInfoTypeConfig *ReplaceWithInfoTypeConfig `protobuf:"bytes,7,opt,name=replace_with_info_type_config,json=replaceWithInfoTypeConfig,proto3,oneof"`
5327}
5328
5329type PrimitiveTransformation_TimePartConfig struct {
5330	// Time extraction
5331	TimePartConfig *TimePartConfig `protobuf:"bytes,8,opt,name=time_part_config,json=timePartConfig,proto3,oneof"`
5332}
5333
5334type PrimitiveTransformation_CryptoHashConfig struct {
5335	// Crypto
5336	CryptoHashConfig *CryptoHashConfig `protobuf:"bytes,9,opt,name=crypto_hash_config,json=cryptoHashConfig,proto3,oneof"`
5337}
5338
5339type PrimitiveTransformation_DateShiftConfig struct {
5340	// Date Shift
5341	DateShiftConfig *DateShiftConfig `protobuf:"bytes,11,opt,name=date_shift_config,json=dateShiftConfig,proto3,oneof"`
5342}
5343
5344type PrimitiveTransformation_CryptoDeterministicConfig struct {
5345	// Deterministic Crypto
5346	CryptoDeterministicConfig *CryptoDeterministicConfig `protobuf:"bytes,12,opt,name=crypto_deterministic_config,json=cryptoDeterministicConfig,proto3,oneof"`
5347}
5348
5349func (*PrimitiveTransformation_ReplaceConfig) isPrimitiveTransformation_Transformation() {}
5350
5351func (*PrimitiveTransformation_RedactConfig) isPrimitiveTransformation_Transformation() {}
5352
5353func (*PrimitiveTransformation_CharacterMaskConfig) isPrimitiveTransformation_Transformation() {}
5354
5355func (*PrimitiveTransformation_CryptoReplaceFfxFpeConfig) isPrimitiveTransformation_Transformation() {}
5356
5357func (*PrimitiveTransformation_FixedSizeBucketingConfig) isPrimitiveTransformation_Transformation() {}
5358
5359func (*PrimitiveTransformation_BucketingConfig) isPrimitiveTransformation_Transformation() {}
5360
5361func (*PrimitiveTransformation_ReplaceWithInfoTypeConfig) isPrimitiveTransformation_Transformation() {}
5362
5363func (*PrimitiveTransformation_TimePartConfig) isPrimitiveTransformation_Transformation() {}
5364
5365func (*PrimitiveTransformation_CryptoHashConfig) isPrimitiveTransformation_Transformation() {}
5366
5367func (*PrimitiveTransformation_DateShiftConfig) isPrimitiveTransformation_Transformation() {}
5368
5369func (*PrimitiveTransformation_CryptoDeterministicConfig) isPrimitiveTransformation_Transformation() {}
5370
5371// For use with `Date`, `Timestamp`, and `TimeOfDay`, extract or preserve a
5372// portion of the value.
5373type TimePartConfig struct {
5374	state         protoimpl.MessageState
5375	sizeCache     protoimpl.SizeCache
5376	unknownFields protoimpl.UnknownFields
5377
5378	// The part of the time to keep.
5379	PartToExtract TimePartConfig_TimePart `protobuf:"varint,1,opt,name=part_to_extract,json=partToExtract,proto3,enum=google.privacy.dlp.v2.TimePartConfig_TimePart" json:"part_to_extract,omitempty"`
5380}
5381
5382func (x *TimePartConfig) Reset() {
5383	*x = TimePartConfig{}
5384	if protoimpl.UnsafeEnabled {
5385		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[49]
5386		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
5387		ms.StoreMessageInfo(mi)
5388	}
5389}
5390
5391func (x *TimePartConfig) String() string {
5392	return protoimpl.X.MessageStringOf(x)
5393}
5394
5395func (*TimePartConfig) ProtoMessage() {}
5396
5397func (x *TimePartConfig) ProtoReflect() protoreflect.Message {
5398	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[49]
5399	if protoimpl.UnsafeEnabled && x != nil {
5400		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
5401		if ms.LoadMessageInfo() == nil {
5402			ms.StoreMessageInfo(mi)
5403		}
5404		return ms
5405	}
5406	return mi.MessageOf(x)
5407}
5408
5409// Deprecated: Use TimePartConfig.ProtoReflect.Descriptor instead.
5410func (*TimePartConfig) Descriptor() ([]byte, []int) {
5411	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{49}
5412}
5413
5414func (x *TimePartConfig) GetPartToExtract() TimePartConfig_TimePart {
5415	if x != nil {
5416		return x.PartToExtract
5417	}
5418	return TimePartConfig_TIME_PART_UNSPECIFIED
5419}
5420
5421// Pseudonymization method that generates surrogates via cryptographic hashing.
5422// Uses SHA-256.
5423// The key size must be either 32 or 64 bytes.
5424// Outputs a base64 encoded representation of the hashed output
5425// (for example, L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=).
5426// Currently, only string and integer values can be hashed.
5427// See https://cloud.google.com/dlp/docs/pseudonymization to learn more.
5428type CryptoHashConfig struct {
5429	state         protoimpl.MessageState
5430	sizeCache     protoimpl.SizeCache
5431	unknownFields protoimpl.UnknownFields
5432
5433	// The key used by the hash function.
5434	CryptoKey *CryptoKey `protobuf:"bytes,1,opt,name=crypto_key,json=cryptoKey,proto3" json:"crypto_key,omitempty"`
5435}
5436
5437func (x *CryptoHashConfig) Reset() {
5438	*x = CryptoHashConfig{}
5439	if protoimpl.UnsafeEnabled {
5440		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[50]
5441		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
5442		ms.StoreMessageInfo(mi)
5443	}
5444}
5445
5446func (x *CryptoHashConfig) String() string {
5447	return protoimpl.X.MessageStringOf(x)
5448}
5449
5450func (*CryptoHashConfig) ProtoMessage() {}
5451
5452func (x *CryptoHashConfig) ProtoReflect() protoreflect.Message {
5453	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[50]
5454	if protoimpl.UnsafeEnabled && x != nil {
5455		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
5456		if ms.LoadMessageInfo() == nil {
5457			ms.StoreMessageInfo(mi)
5458		}
5459		return ms
5460	}
5461	return mi.MessageOf(x)
5462}
5463
5464// Deprecated: Use CryptoHashConfig.ProtoReflect.Descriptor instead.
5465func (*CryptoHashConfig) Descriptor() ([]byte, []int) {
5466	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{50}
5467}
5468
5469func (x *CryptoHashConfig) GetCryptoKey() *CryptoKey {
5470	if x != nil {
5471		return x.CryptoKey
5472	}
5473	return nil
5474}
5475
5476// Pseudonymization method that generates deterministic encryption for the given
5477// input. Outputs a base64 encoded representation of the encrypted output.
5478// Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297.
5479type CryptoDeterministicConfig struct {
5480	state         protoimpl.MessageState
5481	sizeCache     protoimpl.SizeCache
5482	unknownFields protoimpl.UnknownFields
5483
5484	// The key used by the encryption function.
5485	CryptoKey *CryptoKey `protobuf:"bytes,1,opt,name=crypto_key,json=cryptoKey,proto3" json:"crypto_key,omitempty"`
5486	// The custom info type to annotate the surrogate with.
5487	// This annotation will be applied to the surrogate by prefixing it with
5488	// the name of the custom info type followed by the number of
5489	// characters comprising the surrogate. The following scheme defines the
5490	// format: {info type name}({surrogate character count}):{surrogate}
5491	//
5492	// For example, if the name of custom info type is 'MY_TOKEN_INFO_TYPE' and
5493	// the surrogate is 'abc', the full replacement value
5494	// will be: 'MY_TOKEN_INFO_TYPE(3):abc'
5495	//
5496	// This annotation identifies the surrogate when inspecting content using the
5497	// custom info type 'Surrogate'. This facilitates reversal of the
5498	// surrogate when it occurs in free text.
5499	//
5500	// Note: For record transformations where the entire cell in a table is being
5501	// transformed, surrogates are not mandatory. Surrogates are used to denote
5502	// the location of the token and are necessary for re-identification in free
5503	// form text.
5504	//
5505	// In order for inspection to work properly, the name of this info type must
5506	// not occur naturally anywhere in your data; otherwise, inspection may either
5507	//
5508	// - reverse a surrogate that does not correspond to an actual identifier
5509	// - be unable to parse the surrogate and result in an error
5510	//
5511	// Therefore, choose your custom info type name carefully after considering
5512	// what your data looks like. One way to select a name that has a high chance
5513	// of yielding reliable detection is to include one or more unicode characters
5514	// that are highly improbable to exist in your data.
5515	// For example, assuming your data is entered from a regular ASCII keyboard,
5516	// the symbol with the hex code point 29DD might be used like so:
5517	// ⧝MY_TOKEN_TYPE.
5518	SurrogateInfoType *InfoType `protobuf:"bytes,2,opt,name=surrogate_info_type,json=surrogateInfoType,proto3" json:"surrogate_info_type,omitempty"`
5519	// A context may be used for higher security and maintaining
5520	// referential integrity such that the same identifier in two different
5521	// contexts will be given a distinct surrogate. The context is appended to
5522	// plaintext value being encrypted. On decryption the provided context is
5523	// validated against the value used during encryption. If a context was
5524	// provided during encryption, same context must be provided during decryption
5525	// as well.
5526	//
5527	// If the context is not set, plaintext would be used as is for encryption.
5528	// If the context is set but:
5529	//
5530	// 1. there is no record present when transforming a given value or
5531	// 2. the field is not present when transforming a given value,
5532	//
5533	// plaintext would be used as is for encryption.
5534	//
5535	// Note that case (1) is expected when an `InfoTypeTransformation` is
5536	// applied to both structured and non-structured `ContentItem`s.
5537	Context *FieldId `protobuf:"bytes,3,opt,name=context,proto3" json:"context,omitempty"`
5538}
5539
5540func (x *CryptoDeterministicConfig) Reset() {
5541	*x = CryptoDeterministicConfig{}
5542	if protoimpl.UnsafeEnabled {
5543		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[51]
5544		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
5545		ms.StoreMessageInfo(mi)
5546	}
5547}
5548
5549func (x *CryptoDeterministicConfig) String() string {
5550	return protoimpl.X.MessageStringOf(x)
5551}
5552
5553func (*CryptoDeterministicConfig) ProtoMessage() {}
5554
5555func (x *CryptoDeterministicConfig) ProtoReflect() protoreflect.Message {
5556	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[51]
5557	if protoimpl.UnsafeEnabled && x != nil {
5558		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
5559		if ms.LoadMessageInfo() == nil {
5560			ms.StoreMessageInfo(mi)
5561		}
5562		return ms
5563	}
5564	return mi.MessageOf(x)
5565}
5566
5567// Deprecated: Use CryptoDeterministicConfig.ProtoReflect.Descriptor instead.
5568func (*CryptoDeterministicConfig) Descriptor() ([]byte, []int) {
5569	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{51}
5570}
5571
5572func (x *CryptoDeterministicConfig) GetCryptoKey() *CryptoKey {
5573	if x != nil {
5574		return x.CryptoKey
5575	}
5576	return nil
5577}
5578
5579func (x *CryptoDeterministicConfig) GetSurrogateInfoType() *InfoType {
5580	if x != nil {
5581		return x.SurrogateInfoType
5582	}
5583	return nil
5584}
5585
5586func (x *CryptoDeterministicConfig) GetContext() *FieldId {
5587	if x != nil {
5588		return x.Context
5589	}
5590	return nil
5591}
5592
5593// Replace each input value with a given `Value`.
5594type ReplaceValueConfig struct {
5595	state         protoimpl.MessageState
5596	sizeCache     protoimpl.SizeCache
5597	unknownFields protoimpl.UnknownFields
5598
5599	// Value to replace it with.
5600	NewValue *Value `protobuf:"bytes,1,opt,name=new_value,json=newValue,proto3" json:"new_value,omitempty"`
5601}
5602
5603func (x *ReplaceValueConfig) Reset() {
5604	*x = ReplaceValueConfig{}
5605	if protoimpl.UnsafeEnabled {
5606		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[52]
5607		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
5608		ms.StoreMessageInfo(mi)
5609	}
5610}
5611
5612func (x *ReplaceValueConfig) String() string {
5613	return protoimpl.X.MessageStringOf(x)
5614}
5615
5616func (*ReplaceValueConfig) ProtoMessage() {}
5617
5618func (x *ReplaceValueConfig) ProtoReflect() protoreflect.Message {
5619	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[52]
5620	if protoimpl.UnsafeEnabled && x != nil {
5621		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
5622		if ms.LoadMessageInfo() == nil {
5623			ms.StoreMessageInfo(mi)
5624		}
5625		return ms
5626	}
5627	return mi.MessageOf(x)
5628}
5629
5630// Deprecated: Use ReplaceValueConfig.ProtoReflect.Descriptor instead.
5631func (*ReplaceValueConfig) Descriptor() ([]byte, []int) {
5632	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{52}
5633}
5634
5635func (x *ReplaceValueConfig) GetNewValue() *Value {
5636	if x != nil {
5637		return x.NewValue
5638	}
5639	return nil
5640}
5641
5642// Replace each matching finding with the name of the info_type.
5643type ReplaceWithInfoTypeConfig struct {
5644	state         protoimpl.MessageState
5645	sizeCache     protoimpl.SizeCache
5646	unknownFields protoimpl.UnknownFields
5647}
5648
5649func (x *ReplaceWithInfoTypeConfig) Reset() {
5650	*x = ReplaceWithInfoTypeConfig{}
5651	if protoimpl.UnsafeEnabled {
5652		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[53]
5653		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
5654		ms.StoreMessageInfo(mi)
5655	}
5656}
5657
5658func (x *ReplaceWithInfoTypeConfig) String() string {
5659	return protoimpl.X.MessageStringOf(x)
5660}
5661
5662func (*ReplaceWithInfoTypeConfig) ProtoMessage() {}
5663
5664func (x *ReplaceWithInfoTypeConfig) ProtoReflect() protoreflect.Message {
5665	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[53]
5666	if protoimpl.UnsafeEnabled && x != nil {
5667		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
5668		if ms.LoadMessageInfo() == nil {
5669			ms.StoreMessageInfo(mi)
5670		}
5671		return ms
5672	}
5673	return mi.MessageOf(x)
5674}
5675
5676// Deprecated: Use ReplaceWithInfoTypeConfig.ProtoReflect.Descriptor instead.
5677func (*ReplaceWithInfoTypeConfig) Descriptor() ([]byte, []int) {
5678	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{53}
5679}
5680
5681// Redact a given value. For example, if used with an `InfoTypeTransformation`
5682// transforming PHONE_NUMBER, and input 'My phone number is 206-555-0123', the
5683// output would be 'My phone number is '.
5684type RedactConfig struct {
5685	state         protoimpl.MessageState
5686	sizeCache     protoimpl.SizeCache
5687	unknownFields protoimpl.UnknownFields
5688}
5689
5690func (x *RedactConfig) Reset() {
5691	*x = RedactConfig{}
5692	if protoimpl.UnsafeEnabled {
5693		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[54]
5694		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
5695		ms.StoreMessageInfo(mi)
5696	}
5697}
5698
5699func (x *RedactConfig) String() string {
5700	return protoimpl.X.MessageStringOf(x)
5701}
5702
5703func (*RedactConfig) ProtoMessage() {}
5704
5705func (x *RedactConfig) ProtoReflect() protoreflect.Message {
5706	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[54]
5707	if protoimpl.UnsafeEnabled && x != nil {
5708		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
5709		if ms.LoadMessageInfo() == nil {
5710			ms.StoreMessageInfo(mi)
5711		}
5712		return ms
5713	}
5714	return mi.MessageOf(x)
5715}
5716
5717// Deprecated: Use RedactConfig.ProtoReflect.Descriptor instead.
5718func (*RedactConfig) Descriptor() ([]byte, []int) {
5719	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{54}
5720}
5721
5722// Characters to skip when doing deidentification of a value. These will be left
5723// alone and skipped.
5724type CharsToIgnore struct {
5725	state         protoimpl.MessageState
5726	sizeCache     protoimpl.SizeCache
5727	unknownFields protoimpl.UnknownFields
5728
5729	// Types that are assignable to Characters:
5730	//	*CharsToIgnore_CharactersToSkip
5731	//	*CharsToIgnore_CommonCharactersToIgnore
5732	Characters isCharsToIgnore_Characters `protobuf_oneof:"characters"`
5733}
5734
5735func (x *CharsToIgnore) Reset() {
5736	*x = CharsToIgnore{}
5737	if protoimpl.UnsafeEnabled {
5738		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[55]
5739		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
5740		ms.StoreMessageInfo(mi)
5741	}
5742}
5743
5744func (x *CharsToIgnore) String() string {
5745	return protoimpl.X.MessageStringOf(x)
5746}
5747
5748func (*CharsToIgnore) ProtoMessage() {}
5749
5750func (x *CharsToIgnore) ProtoReflect() protoreflect.Message {
5751	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[55]
5752	if protoimpl.UnsafeEnabled && x != nil {
5753		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
5754		if ms.LoadMessageInfo() == nil {
5755			ms.StoreMessageInfo(mi)
5756		}
5757		return ms
5758	}
5759	return mi.MessageOf(x)
5760}
5761
5762// Deprecated: Use CharsToIgnore.ProtoReflect.Descriptor instead.
5763func (*CharsToIgnore) Descriptor() ([]byte, []int) {
5764	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{55}
5765}
5766
5767func (m *CharsToIgnore) GetCharacters() isCharsToIgnore_Characters {
5768	if m != nil {
5769		return m.Characters
5770	}
5771	return nil
5772}
5773
5774func (x *CharsToIgnore) GetCharactersToSkip() string {
5775	if x, ok := x.GetCharacters().(*CharsToIgnore_CharactersToSkip); ok {
5776		return x.CharactersToSkip
5777	}
5778	return ""
5779}
5780
5781func (x *CharsToIgnore) GetCommonCharactersToIgnore() CharsToIgnore_CommonCharsToIgnore {
5782	if x, ok := x.GetCharacters().(*CharsToIgnore_CommonCharactersToIgnore); ok {
5783		return x.CommonCharactersToIgnore
5784	}
5785	return CharsToIgnore_COMMON_CHARS_TO_IGNORE_UNSPECIFIED
5786}
5787
5788type isCharsToIgnore_Characters interface {
5789	isCharsToIgnore_Characters()
5790}
5791
5792type CharsToIgnore_CharactersToSkip struct {
5793	// Characters to not transform when masking.
5794	CharactersToSkip string `protobuf:"bytes,1,opt,name=characters_to_skip,json=charactersToSkip,proto3,oneof"`
5795}
5796
5797type CharsToIgnore_CommonCharactersToIgnore struct {
5798	// Common characters to not transform when masking. Useful to avoid removing
5799	// punctuation.
5800	CommonCharactersToIgnore CharsToIgnore_CommonCharsToIgnore `protobuf:"varint,2,opt,name=common_characters_to_ignore,json=commonCharactersToIgnore,proto3,enum=google.privacy.dlp.v2.CharsToIgnore_CommonCharsToIgnore,oneof"`
5801}
5802
5803func (*CharsToIgnore_CharactersToSkip) isCharsToIgnore_Characters() {}
5804
5805func (*CharsToIgnore_CommonCharactersToIgnore) isCharsToIgnore_Characters() {}
5806
5807// Partially mask a string by replacing a given number of characters with a
5808// fixed character. Masking can start from the beginning or end of the string.
5809// This can be used on data of any type (numbers, longs, and so on) and when
5810// de-identifying structured data we'll attempt to preserve the original data's
5811// type. (This allows you to take a long like 123 and modify it to a string like
5812// **3.
5813type CharacterMaskConfig struct {
5814	state         protoimpl.MessageState
5815	sizeCache     protoimpl.SizeCache
5816	unknownFields protoimpl.UnknownFields
5817
5818	// Character to use to mask the sensitive values&mdash;for example, `*` for an
5819	// alphabetic string such as a name, or `0` for a numeric string such as ZIP
5820	// code or credit card number. This string must have a length of 1. If not
5821	// supplied, this value defaults to `*` for strings, and `0` for digits.
5822	MaskingCharacter string `protobuf:"bytes,1,opt,name=masking_character,json=maskingCharacter,proto3" json:"masking_character,omitempty"`
5823	// Number of characters to mask. If not set, all matching chars will be
5824	// masked. Skipped characters do not count towards this tally.
5825	NumberToMask int32 `protobuf:"varint,2,opt,name=number_to_mask,json=numberToMask,proto3" json:"number_to_mask,omitempty"`
5826	// Mask characters in reverse order. For example, if `masking_character` is
5827	// `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the
5828	// input string `1234-5678-9012-3456` is masked as `00000000000000-3456`.
5829	// If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order`
5830	// is `true`, then the string `12345` is masked as `12***`.
5831	ReverseOrder bool `protobuf:"varint,3,opt,name=reverse_order,json=reverseOrder,proto3" json:"reverse_order,omitempty"`
5832	// When masking a string, items in this list will be skipped when replacing
5833	// characters. For example, if the input string is `555-555-5555` and you
5834	// instruct Cloud DLP to skip `-` and mask 5 characters with `*`, Cloud DLP
5835	// returns `***-**5-5555`.
5836	CharactersToIgnore []*CharsToIgnore `protobuf:"bytes,4,rep,name=characters_to_ignore,json=charactersToIgnore,proto3" json:"characters_to_ignore,omitempty"`
5837}
5838
5839func (x *CharacterMaskConfig) Reset() {
5840	*x = CharacterMaskConfig{}
5841	if protoimpl.UnsafeEnabled {
5842		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[56]
5843		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
5844		ms.StoreMessageInfo(mi)
5845	}
5846}
5847
5848func (x *CharacterMaskConfig) String() string {
5849	return protoimpl.X.MessageStringOf(x)
5850}
5851
5852func (*CharacterMaskConfig) ProtoMessage() {}
5853
5854func (x *CharacterMaskConfig) ProtoReflect() protoreflect.Message {
5855	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[56]
5856	if protoimpl.UnsafeEnabled && x != nil {
5857		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
5858		if ms.LoadMessageInfo() == nil {
5859			ms.StoreMessageInfo(mi)
5860		}
5861		return ms
5862	}
5863	return mi.MessageOf(x)
5864}
5865
5866// Deprecated: Use CharacterMaskConfig.ProtoReflect.Descriptor instead.
5867func (*CharacterMaskConfig) Descriptor() ([]byte, []int) {
5868	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{56}
5869}
5870
5871func (x *CharacterMaskConfig) GetMaskingCharacter() string {
5872	if x != nil {
5873		return x.MaskingCharacter
5874	}
5875	return ""
5876}
5877
5878func (x *CharacterMaskConfig) GetNumberToMask() int32 {
5879	if x != nil {
5880		return x.NumberToMask
5881	}
5882	return 0
5883}
5884
5885func (x *CharacterMaskConfig) GetReverseOrder() bool {
5886	if x != nil {
5887		return x.ReverseOrder
5888	}
5889	return false
5890}
5891
5892func (x *CharacterMaskConfig) GetCharactersToIgnore() []*CharsToIgnore {
5893	if x != nil {
5894		return x.CharactersToIgnore
5895	}
5896	return nil
5897}
5898
5899// Buckets values based on fixed size ranges. The
5900// Bucketing transformation can provide all of this functionality,
5901// but requires more configuration. This message is provided as a convenience to
5902// the user for simple bucketing strategies.
5903//
5904// The transformed value will be a hyphenated string of
5905// {lower_bound}-{upper_bound}, i.e if lower_bound = 10 and upper_bound = 20
5906// all values that are within this bucket will be replaced with "10-20".
5907//
5908// This can be used on data of type: double, long.
5909//
5910// If the bound Value type differs from the type of data
5911// being transformed, we will first attempt converting the type of the data to
5912// be transformed to match the type of the bound before comparing.
5913//
5914// See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more.
5915type FixedSizeBucketingConfig struct {
5916	state         protoimpl.MessageState
5917	sizeCache     protoimpl.SizeCache
5918	unknownFields protoimpl.UnknownFields
5919
5920	// Required. Lower bound value of buckets. All values less than `lower_bound`
5921	// are grouped together into a single bucket; for example if `lower_bound` =
5922	// 10, then all values less than 10 are replaced with the value “-10”.
5923	LowerBound *Value `protobuf:"bytes,1,opt,name=lower_bound,json=lowerBound,proto3" json:"lower_bound,omitempty"`
5924	// Required. Upper bound value of buckets. All values greater than upper_bound
5925	// are grouped together into a single bucket; for example if `upper_bound` =
5926	// 89, then all values greater than 89 are replaced with the value “89+”.
5927	UpperBound *Value `protobuf:"bytes,2,opt,name=upper_bound,json=upperBound,proto3" json:"upper_bound,omitempty"`
5928	// Required. Size of each bucket (except for minimum and maximum buckets). So
5929	// if `lower_bound` = 10, `upper_bound` = 89, and `bucket_size` = 10, then the
5930	// following buckets would be used: -10, 10-20, 20-30, 30-40, 40-50, 50-60,
5931	// 60-70, 70-80, 80-89, 89+. Precision up to 2 decimals works.
5932	BucketSize float64 `protobuf:"fixed64,3,opt,name=bucket_size,json=bucketSize,proto3" json:"bucket_size,omitempty"`
5933}
5934
5935func (x *FixedSizeBucketingConfig) Reset() {
5936	*x = FixedSizeBucketingConfig{}
5937	if protoimpl.UnsafeEnabled {
5938		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[57]
5939		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
5940		ms.StoreMessageInfo(mi)
5941	}
5942}
5943
5944func (x *FixedSizeBucketingConfig) String() string {
5945	return protoimpl.X.MessageStringOf(x)
5946}
5947
5948func (*FixedSizeBucketingConfig) ProtoMessage() {}
5949
5950func (x *FixedSizeBucketingConfig) ProtoReflect() protoreflect.Message {
5951	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[57]
5952	if protoimpl.UnsafeEnabled && x != nil {
5953		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
5954		if ms.LoadMessageInfo() == nil {
5955			ms.StoreMessageInfo(mi)
5956		}
5957		return ms
5958	}
5959	return mi.MessageOf(x)
5960}
5961
5962// Deprecated: Use FixedSizeBucketingConfig.ProtoReflect.Descriptor instead.
5963func (*FixedSizeBucketingConfig) Descriptor() ([]byte, []int) {
5964	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{57}
5965}
5966
5967func (x *FixedSizeBucketingConfig) GetLowerBound() *Value {
5968	if x != nil {
5969		return x.LowerBound
5970	}
5971	return nil
5972}
5973
5974func (x *FixedSizeBucketingConfig) GetUpperBound() *Value {
5975	if x != nil {
5976		return x.UpperBound
5977	}
5978	return nil
5979}
5980
5981func (x *FixedSizeBucketingConfig) GetBucketSize() float64 {
5982	if x != nil {
5983		return x.BucketSize
5984	}
5985	return 0
5986}
5987
5988// Generalization function that buckets values based on ranges. The ranges and
5989// replacement values are dynamically provided by the user for custom behavior,
5990// such as 1-30 -> LOW 31-65 -> MEDIUM 66-100 -> HIGH
5991// This can be used on
5992// data of type: number, long, string, timestamp.
5993// If the bound `Value` type differs from the type of data being transformed, we
5994// will first attempt converting the type of the data to be transformed to match
5995// the type of the bound before comparing.
5996// See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more.
5997type BucketingConfig struct {
5998	state         protoimpl.MessageState
5999	sizeCache     protoimpl.SizeCache
6000	unknownFields protoimpl.UnknownFields
6001
6002	// Set of buckets. Ranges must be non-overlapping.
6003	Buckets []*BucketingConfig_Bucket `protobuf:"bytes,1,rep,name=buckets,proto3" json:"buckets,omitempty"`
6004}
6005
6006func (x *BucketingConfig) Reset() {
6007	*x = BucketingConfig{}
6008	if protoimpl.UnsafeEnabled {
6009		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[58]
6010		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6011		ms.StoreMessageInfo(mi)
6012	}
6013}
6014
6015func (x *BucketingConfig) String() string {
6016	return protoimpl.X.MessageStringOf(x)
6017}
6018
6019func (*BucketingConfig) ProtoMessage() {}
6020
6021func (x *BucketingConfig) ProtoReflect() protoreflect.Message {
6022	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[58]
6023	if protoimpl.UnsafeEnabled && x != nil {
6024		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6025		if ms.LoadMessageInfo() == nil {
6026			ms.StoreMessageInfo(mi)
6027		}
6028		return ms
6029	}
6030	return mi.MessageOf(x)
6031}
6032
6033// Deprecated: Use BucketingConfig.ProtoReflect.Descriptor instead.
6034func (*BucketingConfig) Descriptor() ([]byte, []int) {
6035	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{58}
6036}
6037
6038func (x *BucketingConfig) GetBuckets() []*BucketingConfig_Bucket {
6039	if x != nil {
6040		return x.Buckets
6041	}
6042	return nil
6043}
6044
6045// Replaces an identifier with a surrogate using Format Preserving Encryption
6046// (FPE) with the FFX mode of operation; however when used in the
6047// `ReidentifyContent` API method, it serves the opposite function by reversing
6048// the surrogate back into the original identifier. The identifier must be
6049// encoded as ASCII. For a given crypto key and context, the same identifier
6050// will be replaced with the same surrogate. Identifiers must be at least two
6051// characters long. In the case that the identifier is the empty string, it will
6052// be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn
6053// more.
6054//
6055// Note: We recommend using  CryptoDeterministicConfig for all use cases which
6056// do not require preserving the input alphabet space and size, plus warrant
6057// referential integrity.
6058type CryptoReplaceFfxFpeConfig struct {
6059	state         protoimpl.MessageState
6060	sizeCache     protoimpl.SizeCache
6061	unknownFields protoimpl.UnknownFields
6062
6063	// Required. The key used by the encryption algorithm.
6064	CryptoKey *CryptoKey `protobuf:"bytes,1,opt,name=crypto_key,json=cryptoKey,proto3" json:"crypto_key,omitempty"`
6065	// The 'tweak', a context may be used for higher security since the same
6066	// identifier in two different contexts won't be given the same surrogate. If
6067	// the context is not set, a default tweak will be used.
6068	//
6069	// If the context is set but:
6070	//
6071	// 1. there is no record present when transforming a given value or
6072	// 1. the field is not present when transforming a given value,
6073	//
6074	// a default tweak will be used.
6075	//
6076	// Note that case (1) is expected when an `InfoTypeTransformation` is
6077	// applied to both structured and non-structured `ContentItem`s.
6078	// Currently, the referenced field may be of value type integer or string.
6079	//
6080	// The tweak is constructed as a sequence of bytes in big endian byte order
6081	// such that:
6082	//
6083	// - a 64 bit integer is encoded followed by a single byte of value 1
6084	// - a string is encoded in UTF-8 format followed by a single byte of value 2
6085	Context *FieldId `protobuf:"bytes,2,opt,name=context,proto3" json:"context,omitempty"`
6086	// Choose an alphabet which the data being transformed will be made up of.
6087	//
6088	// Types that are assignable to Alphabet:
6089	//	*CryptoReplaceFfxFpeConfig_CommonAlphabet
6090	//	*CryptoReplaceFfxFpeConfig_CustomAlphabet
6091	//	*CryptoReplaceFfxFpeConfig_Radix
6092	Alphabet isCryptoReplaceFfxFpeConfig_Alphabet `protobuf_oneof:"alphabet"`
6093	// The custom infoType to annotate the surrogate with.
6094	// This annotation will be applied to the surrogate by prefixing it with
6095	// the name of the custom infoType followed by the number of
6096	// characters comprising the surrogate. The following scheme defines the
6097	// format: info_type_name(surrogate_character_count):surrogate
6098	//
6099	// For example, if the name of custom infoType is 'MY_TOKEN_INFO_TYPE' and
6100	// the surrogate is 'abc', the full replacement value
6101	// will be: 'MY_TOKEN_INFO_TYPE(3):abc'
6102	//
6103	// This annotation identifies the surrogate when inspecting content using the
6104	// custom infoType
6105	// [`SurrogateType`](/dlp/docs/reference/rest/v2/InspectConfig#surrogatetype).
6106	// This facilitates reversal of the surrogate when it occurs in free text.
6107	//
6108	// In order for inspection to work properly, the name of this infoType must
6109	// not occur naturally anywhere in your data; otherwise, inspection may
6110	// find a surrogate that does not correspond to an actual identifier.
6111	// Therefore, choose your custom infoType name carefully after considering
6112	// what your data looks like. One way to select a name that has a high chance
6113	// of yielding reliable detection is to include one or more unicode characters
6114	// that are highly improbable to exist in your data.
6115	// For example, assuming your data is entered from a regular ASCII keyboard,
6116	// the symbol with the hex code point 29DD might be used like so:
6117	// ⧝MY_TOKEN_TYPE
6118	SurrogateInfoType *InfoType `protobuf:"bytes,8,opt,name=surrogate_info_type,json=surrogateInfoType,proto3" json:"surrogate_info_type,omitempty"`
6119}
6120
6121func (x *CryptoReplaceFfxFpeConfig) Reset() {
6122	*x = CryptoReplaceFfxFpeConfig{}
6123	if protoimpl.UnsafeEnabled {
6124		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[59]
6125		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6126		ms.StoreMessageInfo(mi)
6127	}
6128}
6129
6130func (x *CryptoReplaceFfxFpeConfig) String() string {
6131	return protoimpl.X.MessageStringOf(x)
6132}
6133
6134func (*CryptoReplaceFfxFpeConfig) ProtoMessage() {}
6135
6136func (x *CryptoReplaceFfxFpeConfig) ProtoReflect() protoreflect.Message {
6137	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[59]
6138	if protoimpl.UnsafeEnabled && x != nil {
6139		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6140		if ms.LoadMessageInfo() == nil {
6141			ms.StoreMessageInfo(mi)
6142		}
6143		return ms
6144	}
6145	return mi.MessageOf(x)
6146}
6147
6148// Deprecated: Use CryptoReplaceFfxFpeConfig.ProtoReflect.Descriptor instead.
6149func (*CryptoReplaceFfxFpeConfig) Descriptor() ([]byte, []int) {
6150	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{59}
6151}
6152
6153func (x *CryptoReplaceFfxFpeConfig) GetCryptoKey() *CryptoKey {
6154	if x != nil {
6155		return x.CryptoKey
6156	}
6157	return nil
6158}
6159
6160func (x *CryptoReplaceFfxFpeConfig) GetContext() *FieldId {
6161	if x != nil {
6162		return x.Context
6163	}
6164	return nil
6165}
6166
6167func (m *CryptoReplaceFfxFpeConfig) GetAlphabet() isCryptoReplaceFfxFpeConfig_Alphabet {
6168	if m != nil {
6169		return m.Alphabet
6170	}
6171	return nil
6172}
6173
6174func (x *CryptoReplaceFfxFpeConfig) GetCommonAlphabet() CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet {
6175	if x, ok := x.GetAlphabet().(*CryptoReplaceFfxFpeConfig_CommonAlphabet); ok {
6176		return x.CommonAlphabet
6177	}
6178	return CryptoReplaceFfxFpeConfig_FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED
6179}
6180
6181func (x *CryptoReplaceFfxFpeConfig) GetCustomAlphabet() string {
6182	if x, ok := x.GetAlphabet().(*CryptoReplaceFfxFpeConfig_CustomAlphabet); ok {
6183		return x.CustomAlphabet
6184	}
6185	return ""
6186}
6187
6188func (x *CryptoReplaceFfxFpeConfig) GetRadix() int32 {
6189	if x, ok := x.GetAlphabet().(*CryptoReplaceFfxFpeConfig_Radix); ok {
6190		return x.Radix
6191	}
6192	return 0
6193}
6194
6195func (x *CryptoReplaceFfxFpeConfig) GetSurrogateInfoType() *InfoType {
6196	if x != nil {
6197		return x.SurrogateInfoType
6198	}
6199	return nil
6200}
6201
6202type isCryptoReplaceFfxFpeConfig_Alphabet interface {
6203	isCryptoReplaceFfxFpeConfig_Alphabet()
6204}
6205
6206type CryptoReplaceFfxFpeConfig_CommonAlphabet struct {
6207	// Common alphabets.
6208	CommonAlphabet CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet `protobuf:"varint,4,opt,name=common_alphabet,json=commonAlphabet,proto3,enum=google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet,oneof"`
6209}
6210
6211type CryptoReplaceFfxFpeConfig_CustomAlphabet struct {
6212	// This is supported by mapping these to the alphanumeric characters
6213	// that the FFX mode natively supports. This happens before/after
6214	// encryption/decryption.
6215	// Each character listed must appear only once.
6216	// Number of characters must be in the range [2, 95].
6217	// This must be encoded as ASCII.
6218	// The order of characters does not matter.
6219	CustomAlphabet string `protobuf:"bytes,5,opt,name=custom_alphabet,json=customAlphabet,proto3,oneof"`
6220}
6221
6222type CryptoReplaceFfxFpeConfig_Radix struct {
6223	// The native way to select the alphabet. Must be in the range [2, 95].
6224	Radix int32 `protobuf:"varint,6,opt,name=radix,proto3,oneof"`
6225}
6226
6227func (*CryptoReplaceFfxFpeConfig_CommonAlphabet) isCryptoReplaceFfxFpeConfig_Alphabet() {}
6228
6229func (*CryptoReplaceFfxFpeConfig_CustomAlphabet) isCryptoReplaceFfxFpeConfig_Alphabet() {}
6230
6231func (*CryptoReplaceFfxFpeConfig_Radix) isCryptoReplaceFfxFpeConfig_Alphabet() {}
6232
6233// This is a data encryption key (DEK) (as opposed to
6234// a key encryption key (KEK) stored by KMS).
6235// When using KMS to wrap/unwrap DEKs, be sure to set an appropriate
6236// IAM policy on the KMS CryptoKey (KEK) to ensure an attacker cannot
6237// unwrap the data crypto key.
6238type CryptoKey struct {
6239	state         protoimpl.MessageState
6240	sizeCache     protoimpl.SizeCache
6241	unknownFields protoimpl.UnknownFields
6242
6243	// Sources of crypto keys.
6244	//
6245	// Types that are assignable to Source:
6246	//	*CryptoKey_Transient
6247	//	*CryptoKey_Unwrapped
6248	//	*CryptoKey_KmsWrapped
6249	Source isCryptoKey_Source `protobuf_oneof:"source"`
6250}
6251
6252func (x *CryptoKey) Reset() {
6253	*x = CryptoKey{}
6254	if protoimpl.UnsafeEnabled {
6255		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[60]
6256		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6257		ms.StoreMessageInfo(mi)
6258	}
6259}
6260
6261func (x *CryptoKey) String() string {
6262	return protoimpl.X.MessageStringOf(x)
6263}
6264
6265func (*CryptoKey) ProtoMessage() {}
6266
6267func (x *CryptoKey) ProtoReflect() protoreflect.Message {
6268	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[60]
6269	if protoimpl.UnsafeEnabled && x != nil {
6270		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6271		if ms.LoadMessageInfo() == nil {
6272			ms.StoreMessageInfo(mi)
6273		}
6274		return ms
6275	}
6276	return mi.MessageOf(x)
6277}
6278
6279// Deprecated: Use CryptoKey.ProtoReflect.Descriptor instead.
6280func (*CryptoKey) Descriptor() ([]byte, []int) {
6281	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{60}
6282}
6283
6284func (m *CryptoKey) GetSource() isCryptoKey_Source {
6285	if m != nil {
6286		return m.Source
6287	}
6288	return nil
6289}
6290
6291func (x *CryptoKey) GetTransient() *TransientCryptoKey {
6292	if x, ok := x.GetSource().(*CryptoKey_Transient); ok {
6293		return x.Transient
6294	}
6295	return nil
6296}
6297
6298func (x *CryptoKey) GetUnwrapped() *UnwrappedCryptoKey {
6299	if x, ok := x.GetSource().(*CryptoKey_Unwrapped); ok {
6300		return x.Unwrapped
6301	}
6302	return nil
6303}
6304
6305func (x *CryptoKey) GetKmsWrapped() *KmsWrappedCryptoKey {
6306	if x, ok := x.GetSource().(*CryptoKey_KmsWrapped); ok {
6307		return x.KmsWrapped
6308	}
6309	return nil
6310}
6311
6312type isCryptoKey_Source interface {
6313	isCryptoKey_Source()
6314}
6315
6316type CryptoKey_Transient struct {
6317	// Transient crypto key
6318	Transient *TransientCryptoKey `protobuf:"bytes,1,opt,name=transient,proto3,oneof"`
6319}
6320
6321type CryptoKey_Unwrapped struct {
6322	// Unwrapped crypto key
6323	Unwrapped *UnwrappedCryptoKey `protobuf:"bytes,2,opt,name=unwrapped,proto3,oneof"`
6324}
6325
6326type CryptoKey_KmsWrapped struct {
6327	// Kms wrapped key
6328	KmsWrapped *KmsWrappedCryptoKey `protobuf:"bytes,3,opt,name=kms_wrapped,json=kmsWrapped,proto3,oneof"`
6329}
6330
6331func (*CryptoKey_Transient) isCryptoKey_Source() {}
6332
6333func (*CryptoKey_Unwrapped) isCryptoKey_Source() {}
6334
6335func (*CryptoKey_KmsWrapped) isCryptoKey_Source() {}
6336
6337// Use this to have a random data crypto key generated.
6338// It will be discarded after the request finishes.
6339type TransientCryptoKey struct {
6340	state         protoimpl.MessageState
6341	sizeCache     protoimpl.SizeCache
6342	unknownFields protoimpl.UnknownFields
6343
6344	// Required. Name of the key.
6345	// This is an arbitrary string used to differentiate different keys.
6346	// A unique key is generated per name: two separate `TransientCryptoKey`
6347	// protos share the same generated key if their names are the same.
6348	// When the data crypto key is generated, this name is not used in any way
6349	// (repeating the api call will result in a different key being generated).
6350	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
6351}
6352
6353func (x *TransientCryptoKey) Reset() {
6354	*x = TransientCryptoKey{}
6355	if protoimpl.UnsafeEnabled {
6356		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[61]
6357		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6358		ms.StoreMessageInfo(mi)
6359	}
6360}
6361
6362func (x *TransientCryptoKey) String() string {
6363	return protoimpl.X.MessageStringOf(x)
6364}
6365
6366func (*TransientCryptoKey) ProtoMessage() {}
6367
6368func (x *TransientCryptoKey) ProtoReflect() protoreflect.Message {
6369	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[61]
6370	if protoimpl.UnsafeEnabled && x != nil {
6371		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6372		if ms.LoadMessageInfo() == nil {
6373			ms.StoreMessageInfo(mi)
6374		}
6375		return ms
6376	}
6377	return mi.MessageOf(x)
6378}
6379
6380// Deprecated: Use TransientCryptoKey.ProtoReflect.Descriptor instead.
6381func (*TransientCryptoKey) Descriptor() ([]byte, []int) {
6382	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{61}
6383}
6384
6385func (x *TransientCryptoKey) GetName() string {
6386	if x != nil {
6387		return x.Name
6388	}
6389	return ""
6390}
6391
6392// Using raw keys is prone to security risks due to accidentally
6393// leaking the key. Choose another type of key if possible.
6394type UnwrappedCryptoKey struct {
6395	state         protoimpl.MessageState
6396	sizeCache     protoimpl.SizeCache
6397	unknownFields protoimpl.UnknownFields
6398
6399	// Required. A 128/192/256 bit key.
6400	Key []byte `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
6401}
6402
6403func (x *UnwrappedCryptoKey) Reset() {
6404	*x = UnwrappedCryptoKey{}
6405	if protoimpl.UnsafeEnabled {
6406		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[62]
6407		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6408		ms.StoreMessageInfo(mi)
6409	}
6410}
6411
6412func (x *UnwrappedCryptoKey) String() string {
6413	return protoimpl.X.MessageStringOf(x)
6414}
6415
6416func (*UnwrappedCryptoKey) ProtoMessage() {}
6417
6418func (x *UnwrappedCryptoKey) ProtoReflect() protoreflect.Message {
6419	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[62]
6420	if protoimpl.UnsafeEnabled && x != nil {
6421		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6422		if ms.LoadMessageInfo() == nil {
6423			ms.StoreMessageInfo(mi)
6424		}
6425		return ms
6426	}
6427	return mi.MessageOf(x)
6428}
6429
6430// Deprecated: Use UnwrappedCryptoKey.ProtoReflect.Descriptor instead.
6431func (*UnwrappedCryptoKey) Descriptor() ([]byte, []int) {
6432	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{62}
6433}
6434
6435func (x *UnwrappedCryptoKey) GetKey() []byte {
6436	if x != nil {
6437		return x.Key
6438	}
6439	return nil
6440}
6441
6442// Include to use an existing data crypto key wrapped by KMS.
6443// The wrapped key must be a 128/192/256 bit key.
6444// Authorization requires the following IAM permissions when sending a request
6445// to perform a crypto transformation using a kms-wrapped crypto key:
6446// dlp.kms.encrypt
6447type KmsWrappedCryptoKey struct {
6448	state         protoimpl.MessageState
6449	sizeCache     protoimpl.SizeCache
6450	unknownFields protoimpl.UnknownFields
6451
6452	// Required. The wrapped data crypto key.
6453	WrappedKey []byte `protobuf:"bytes,1,opt,name=wrapped_key,json=wrappedKey,proto3" json:"wrapped_key,omitempty"`
6454	// Required. The resource name of the KMS CryptoKey to use for unwrapping.
6455	CryptoKeyName string `protobuf:"bytes,2,opt,name=crypto_key_name,json=cryptoKeyName,proto3" json:"crypto_key_name,omitempty"`
6456}
6457
6458func (x *KmsWrappedCryptoKey) Reset() {
6459	*x = KmsWrappedCryptoKey{}
6460	if protoimpl.UnsafeEnabled {
6461		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[63]
6462		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6463		ms.StoreMessageInfo(mi)
6464	}
6465}
6466
6467func (x *KmsWrappedCryptoKey) String() string {
6468	return protoimpl.X.MessageStringOf(x)
6469}
6470
6471func (*KmsWrappedCryptoKey) ProtoMessage() {}
6472
6473func (x *KmsWrappedCryptoKey) ProtoReflect() protoreflect.Message {
6474	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[63]
6475	if protoimpl.UnsafeEnabled && x != nil {
6476		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6477		if ms.LoadMessageInfo() == nil {
6478			ms.StoreMessageInfo(mi)
6479		}
6480		return ms
6481	}
6482	return mi.MessageOf(x)
6483}
6484
6485// Deprecated: Use KmsWrappedCryptoKey.ProtoReflect.Descriptor instead.
6486func (*KmsWrappedCryptoKey) Descriptor() ([]byte, []int) {
6487	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{63}
6488}
6489
6490func (x *KmsWrappedCryptoKey) GetWrappedKey() []byte {
6491	if x != nil {
6492		return x.WrappedKey
6493	}
6494	return nil
6495}
6496
6497func (x *KmsWrappedCryptoKey) GetCryptoKeyName() string {
6498	if x != nil {
6499		return x.CryptoKeyName
6500	}
6501	return ""
6502}
6503
6504// Shifts dates by random number of days, with option to be consistent for the
6505// same context. See https://cloud.google.com/dlp/docs/concepts-date-shifting
6506// to learn more.
6507type DateShiftConfig struct {
6508	state         protoimpl.MessageState
6509	sizeCache     protoimpl.SizeCache
6510	unknownFields protoimpl.UnknownFields
6511
6512	// Required. Range of shift in days. Actual shift will be selected at random
6513	// within this range (inclusive ends). Negative means shift to earlier in
6514	// time. Must not be more than 365250 days (1000 years) each direction.
6515	//
6516	// For example, 3 means shift date to at most 3 days into the future.
6517	UpperBoundDays int32 `protobuf:"varint,1,opt,name=upper_bound_days,json=upperBoundDays,proto3" json:"upper_bound_days,omitempty"`
6518	// Required. For example, -5 means shift date to at most 5 days back in the
6519	// past.
6520	LowerBoundDays int32 `protobuf:"varint,2,opt,name=lower_bound_days,json=lowerBoundDays,proto3" json:"lower_bound_days,omitempty"`
6521	// Points to the field that contains the context, for example, an entity id.
6522	// If set, must also set cryptoKey. If set, shift will be consistent for the
6523	// given context.
6524	Context *FieldId `protobuf:"bytes,3,opt,name=context,proto3" json:"context,omitempty"`
6525	// Method for calculating shift that takes context into consideration. If
6526	// set, must also set context. Can only be applied to table items.
6527	//
6528	// Types that are assignable to Method:
6529	//	*DateShiftConfig_CryptoKey
6530	Method isDateShiftConfig_Method `protobuf_oneof:"method"`
6531}
6532
6533func (x *DateShiftConfig) Reset() {
6534	*x = DateShiftConfig{}
6535	if protoimpl.UnsafeEnabled {
6536		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[64]
6537		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6538		ms.StoreMessageInfo(mi)
6539	}
6540}
6541
6542func (x *DateShiftConfig) String() string {
6543	return protoimpl.X.MessageStringOf(x)
6544}
6545
6546func (*DateShiftConfig) ProtoMessage() {}
6547
6548func (x *DateShiftConfig) ProtoReflect() protoreflect.Message {
6549	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[64]
6550	if protoimpl.UnsafeEnabled && x != nil {
6551		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6552		if ms.LoadMessageInfo() == nil {
6553			ms.StoreMessageInfo(mi)
6554		}
6555		return ms
6556	}
6557	return mi.MessageOf(x)
6558}
6559
6560// Deprecated: Use DateShiftConfig.ProtoReflect.Descriptor instead.
6561func (*DateShiftConfig) Descriptor() ([]byte, []int) {
6562	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{64}
6563}
6564
6565func (x *DateShiftConfig) GetUpperBoundDays() int32 {
6566	if x != nil {
6567		return x.UpperBoundDays
6568	}
6569	return 0
6570}
6571
6572func (x *DateShiftConfig) GetLowerBoundDays() int32 {
6573	if x != nil {
6574		return x.LowerBoundDays
6575	}
6576	return 0
6577}
6578
6579func (x *DateShiftConfig) GetContext() *FieldId {
6580	if x != nil {
6581		return x.Context
6582	}
6583	return nil
6584}
6585
6586func (m *DateShiftConfig) GetMethod() isDateShiftConfig_Method {
6587	if m != nil {
6588		return m.Method
6589	}
6590	return nil
6591}
6592
6593func (x *DateShiftConfig) GetCryptoKey() *CryptoKey {
6594	if x, ok := x.GetMethod().(*DateShiftConfig_CryptoKey); ok {
6595		return x.CryptoKey
6596	}
6597	return nil
6598}
6599
6600type isDateShiftConfig_Method interface {
6601	isDateShiftConfig_Method()
6602}
6603
6604type DateShiftConfig_CryptoKey struct {
6605	// Causes the shift to be computed based on this key and the context. This
6606	// results in the same shift for the same context and crypto_key. If
6607	// set, must also set context. Can only be applied to table items.
6608	CryptoKey *CryptoKey `protobuf:"bytes,4,opt,name=crypto_key,json=cryptoKey,proto3,oneof"`
6609}
6610
6611func (*DateShiftConfig_CryptoKey) isDateShiftConfig_Method() {}
6612
6613// A type of transformation that will scan unstructured text and
6614// apply various `PrimitiveTransformation`s to each finding, where the
6615// transformation is applied to only values that were identified as a specific
6616// info_type.
6617type InfoTypeTransformations struct {
6618	state         protoimpl.MessageState
6619	sizeCache     protoimpl.SizeCache
6620	unknownFields protoimpl.UnknownFields
6621
6622	// Required. Transformation for each infoType. Cannot specify more than one
6623	// for a given infoType.
6624	Transformations []*InfoTypeTransformations_InfoTypeTransformation `protobuf:"bytes,1,rep,name=transformations,proto3" json:"transformations,omitempty"`
6625}
6626
6627func (x *InfoTypeTransformations) Reset() {
6628	*x = InfoTypeTransformations{}
6629	if protoimpl.UnsafeEnabled {
6630		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[65]
6631		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6632		ms.StoreMessageInfo(mi)
6633	}
6634}
6635
6636func (x *InfoTypeTransformations) String() string {
6637	return protoimpl.X.MessageStringOf(x)
6638}
6639
6640func (*InfoTypeTransformations) ProtoMessage() {}
6641
6642func (x *InfoTypeTransformations) ProtoReflect() protoreflect.Message {
6643	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[65]
6644	if protoimpl.UnsafeEnabled && x != nil {
6645		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6646		if ms.LoadMessageInfo() == nil {
6647			ms.StoreMessageInfo(mi)
6648		}
6649		return ms
6650	}
6651	return mi.MessageOf(x)
6652}
6653
6654// Deprecated: Use InfoTypeTransformations.ProtoReflect.Descriptor instead.
6655func (*InfoTypeTransformations) Descriptor() ([]byte, []int) {
6656	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{65}
6657}
6658
6659func (x *InfoTypeTransformations) GetTransformations() []*InfoTypeTransformations_InfoTypeTransformation {
6660	if x != nil {
6661		return x.Transformations
6662	}
6663	return nil
6664}
6665
6666// The transformation to apply to the field.
6667type FieldTransformation struct {
6668	state         protoimpl.MessageState
6669	sizeCache     protoimpl.SizeCache
6670	unknownFields protoimpl.UnknownFields
6671
6672	// Required. Input field(s) to apply the transformation to.
6673	Fields []*FieldId `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty"`
6674	// Only apply the transformation if the condition evaluates to true for the
6675	// given `RecordCondition`. The conditions are allowed to reference fields
6676	// that are not used in the actual transformation.
6677	//
6678	// Example Use Cases:
6679	//
6680	// - Apply a different bucket transformation to an age column if the zip code
6681	// column for the same record is within a specific range.
6682	// - Redact a field if the date of birth field is greater than 85.
6683	Condition *RecordCondition `protobuf:"bytes,3,opt,name=condition,proto3" json:"condition,omitempty"`
6684	// Transformation to apply. [required]
6685	//
6686	// Types that are assignable to Transformation:
6687	//	*FieldTransformation_PrimitiveTransformation
6688	//	*FieldTransformation_InfoTypeTransformations
6689	Transformation isFieldTransformation_Transformation `protobuf_oneof:"transformation"`
6690}
6691
6692func (x *FieldTransformation) Reset() {
6693	*x = FieldTransformation{}
6694	if protoimpl.UnsafeEnabled {
6695		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[66]
6696		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6697		ms.StoreMessageInfo(mi)
6698	}
6699}
6700
6701func (x *FieldTransformation) String() string {
6702	return protoimpl.X.MessageStringOf(x)
6703}
6704
6705func (*FieldTransformation) ProtoMessage() {}
6706
6707func (x *FieldTransformation) ProtoReflect() protoreflect.Message {
6708	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[66]
6709	if protoimpl.UnsafeEnabled && x != nil {
6710		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6711		if ms.LoadMessageInfo() == nil {
6712			ms.StoreMessageInfo(mi)
6713		}
6714		return ms
6715	}
6716	return mi.MessageOf(x)
6717}
6718
6719// Deprecated: Use FieldTransformation.ProtoReflect.Descriptor instead.
6720func (*FieldTransformation) Descriptor() ([]byte, []int) {
6721	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{66}
6722}
6723
6724func (x *FieldTransformation) GetFields() []*FieldId {
6725	if x != nil {
6726		return x.Fields
6727	}
6728	return nil
6729}
6730
6731func (x *FieldTransformation) GetCondition() *RecordCondition {
6732	if x != nil {
6733		return x.Condition
6734	}
6735	return nil
6736}
6737
6738func (m *FieldTransformation) GetTransformation() isFieldTransformation_Transformation {
6739	if m != nil {
6740		return m.Transformation
6741	}
6742	return nil
6743}
6744
6745func (x *FieldTransformation) GetPrimitiveTransformation() *PrimitiveTransformation {
6746	if x, ok := x.GetTransformation().(*FieldTransformation_PrimitiveTransformation); ok {
6747		return x.PrimitiveTransformation
6748	}
6749	return nil
6750}
6751
6752func (x *FieldTransformation) GetInfoTypeTransformations() *InfoTypeTransformations {
6753	if x, ok := x.GetTransformation().(*FieldTransformation_InfoTypeTransformations); ok {
6754		return x.InfoTypeTransformations
6755	}
6756	return nil
6757}
6758
6759type isFieldTransformation_Transformation interface {
6760	isFieldTransformation_Transformation()
6761}
6762
6763type FieldTransformation_PrimitiveTransformation struct {
6764	// Apply the transformation to the entire field.
6765	PrimitiveTransformation *PrimitiveTransformation `protobuf:"bytes,4,opt,name=primitive_transformation,json=primitiveTransformation,proto3,oneof"`
6766}
6767
6768type FieldTransformation_InfoTypeTransformations struct {
6769	// Treat the contents of the field as free text, and selectively
6770	// transform content that matches an `InfoType`.
6771	InfoTypeTransformations *InfoTypeTransformations `protobuf:"bytes,5,opt,name=info_type_transformations,json=infoTypeTransformations,proto3,oneof"`
6772}
6773
6774func (*FieldTransformation_PrimitiveTransformation) isFieldTransformation_Transformation() {}
6775
6776func (*FieldTransformation_InfoTypeTransformations) isFieldTransformation_Transformation() {}
6777
6778// A type of transformation that is applied over structured data such as a
6779// table.
6780type RecordTransformations struct {
6781	state         protoimpl.MessageState
6782	sizeCache     protoimpl.SizeCache
6783	unknownFields protoimpl.UnknownFields
6784
6785	// Transform the record by applying various field transformations.
6786	FieldTransformations []*FieldTransformation `protobuf:"bytes,1,rep,name=field_transformations,json=fieldTransformations,proto3" json:"field_transformations,omitempty"`
6787	// Configuration defining which records get suppressed entirely. Records that
6788	// match any suppression rule are omitted from the output.
6789	RecordSuppressions []*RecordSuppression `protobuf:"bytes,2,rep,name=record_suppressions,json=recordSuppressions,proto3" json:"record_suppressions,omitempty"`
6790}
6791
6792func (x *RecordTransformations) Reset() {
6793	*x = RecordTransformations{}
6794	if protoimpl.UnsafeEnabled {
6795		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[67]
6796		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6797		ms.StoreMessageInfo(mi)
6798	}
6799}
6800
6801func (x *RecordTransformations) String() string {
6802	return protoimpl.X.MessageStringOf(x)
6803}
6804
6805func (*RecordTransformations) ProtoMessage() {}
6806
6807func (x *RecordTransformations) ProtoReflect() protoreflect.Message {
6808	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[67]
6809	if protoimpl.UnsafeEnabled && x != nil {
6810		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6811		if ms.LoadMessageInfo() == nil {
6812			ms.StoreMessageInfo(mi)
6813		}
6814		return ms
6815	}
6816	return mi.MessageOf(x)
6817}
6818
6819// Deprecated: Use RecordTransformations.ProtoReflect.Descriptor instead.
6820func (*RecordTransformations) Descriptor() ([]byte, []int) {
6821	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{67}
6822}
6823
6824func (x *RecordTransformations) GetFieldTransformations() []*FieldTransformation {
6825	if x != nil {
6826		return x.FieldTransformations
6827	}
6828	return nil
6829}
6830
6831func (x *RecordTransformations) GetRecordSuppressions() []*RecordSuppression {
6832	if x != nil {
6833		return x.RecordSuppressions
6834	}
6835	return nil
6836}
6837
6838// Configuration to suppress records whose suppression conditions evaluate to
6839// true.
6840type RecordSuppression struct {
6841	state         protoimpl.MessageState
6842	sizeCache     protoimpl.SizeCache
6843	unknownFields protoimpl.UnknownFields
6844
6845	// A condition that when it evaluates to true will result in the record being
6846	// evaluated to be suppressed from the transformed content.
6847	Condition *RecordCondition `protobuf:"bytes,1,opt,name=condition,proto3" json:"condition,omitempty"`
6848}
6849
6850func (x *RecordSuppression) Reset() {
6851	*x = RecordSuppression{}
6852	if protoimpl.UnsafeEnabled {
6853		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[68]
6854		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6855		ms.StoreMessageInfo(mi)
6856	}
6857}
6858
6859func (x *RecordSuppression) String() string {
6860	return protoimpl.X.MessageStringOf(x)
6861}
6862
6863func (*RecordSuppression) ProtoMessage() {}
6864
6865func (x *RecordSuppression) ProtoReflect() protoreflect.Message {
6866	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[68]
6867	if protoimpl.UnsafeEnabled && x != nil {
6868		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6869		if ms.LoadMessageInfo() == nil {
6870			ms.StoreMessageInfo(mi)
6871		}
6872		return ms
6873	}
6874	return mi.MessageOf(x)
6875}
6876
6877// Deprecated: Use RecordSuppression.ProtoReflect.Descriptor instead.
6878func (*RecordSuppression) Descriptor() ([]byte, []int) {
6879	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{68}
6880}
6881
6882func (x *RecordSuppression) GetCondition() *RecordCondition {
6883	if x != nil {
6884		return x.Condition
6885	}
6886	return nil
6887}
6888
6889// A condition for determining whether a transformation should be applied to
6890// a field.
6891type RecordCondition struct {
6892	state         protoimpl.MessageState
6893	sizeCache     protoimpl.SizeCache
6894	unknownFields protoimpl.UnknownFields
6895
6896	// An expression.
6897	Expressions *RecordCondition_Expressions `protobuf:"bytes,3,opt,name=expressions,proto3" json:"expressions,omitempty"`
6898}
6899
6900func (x *RecordCondition) Reset() {
6901	*x = RecordCondition{}
6902	if protoimpl.UnsafeEnabled {
6903		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[69]
6904		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6905		ms.StoreMessageInfo(mi)
6906	}
6907}
6908
6909func (x *RecordCondition) String() string {
6910	return protoimpl.X.MessageStringOf(x)
6911}
6912
6913func (*RecordCondition) ProtoMessage() {}
6914
6915func (x *RecordCondition) ProtoReflect() protoreflect.Message {
6916	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[69]
6917	if protoimpl.UnsafeEnabled && x != nil {
6918		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6919		if ms.LoadMessageInfo() == nil {
6920			ms.StoreMessageInfo(mi)
6921		}
6922		return ms
6923	}
6924	return mi.MessageOf(x)
6925}
6926
6927// Deprecated: Use RecordCondition.ProtoReflect.Descriptor instead.
6928func (*RecordCondition) Descriptor() ([]byte, []int) {
6929	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{69}
6930}
6931
6932func (x *RecordCondition) GetExpressions() *RecordCondition_Expressions {
6933	if x != nil {
6934		return x.Expressions
6935	}
6936	return nil
6937}
6938
6939// Overview of the modifications that occurred.
6940type TransformationOverview struct {
6941	state         protoimpl.MessageState
6942	sizeCache     protoimpl.SizeCache
6943	unknownFields protoimpl.UnknownFields
6944
6945	// Total size in bytes that were transformed in some way.
6946	TransformedBytes int64 `protobuf:"varint,2,opt,name=transformed_bytes,json=transformedBytes,proto3" json:"transformed_bytes,omitempty"`
6947	// Transformations applied to the dataset.
6948	TransformationSummaries []*TransformationSummary `protobuf:"bytes,3,rep,name=transformation_summaries,json=transformationSummaries,proto3" json:"transformation_summaries,omitempty"`
6949}
6950
6951func (x *TransformationOverview) Reset() {
6952	*x = TransformationOverview{}
6953	if protoimpl.UnsafeEnabled {
6954		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[70]
6955		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6956		ms.StoreMessageInfo(mi)
6957	}
6958}
6959
6960func (x *TransformationOverview) String() string {
6961	return protoimpl.X.MessageStringOf(x)
6962}
6963
6964func (*TransformationOverview) ProtoMessage() {}
6965
6966func (x *TransformationOverview) ProtoReflect() protoreflect.Message {
6967	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[70]
6968	if protoimpl.UnsafeEnabled && x != nil {
6969		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
6970		if ms.LoadMessageInfo() == nil {
6971			ms.StoreMessageInfo(mi)
6972		}
6973		return ms
6974	}
6975	return mi.MessageOf(x)
6976}
6977
6978// Deprecated: Use TransformationOverview.ProtoReflect.Descriptor instead.
6979func (*TransformationOverview) Descriptor() ([]byte, []int) {
6980	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{70}
6981}
6982
6983func (x *TransformationOverview) GetTransformedBytes() int64 {
6984	if x != nil {
6985		return x.TransformedBytes
6986	}
6987	return 0
6988}
6989
6990func (x *TransformationOverview) GetTransformationSummaries() []*TransformationSummary {
6991	if x != nil {
6992		return x.TransformationSummaries
6993	}
6994	return nil
6995}
6996
6997// Summary of a single transformation.
6998// Only one of 'transformation', 'field_transformation', or 'record_suppress'
6999// will be set.
7000type TransformationSummary struct {
7001	state         protoimpl.MessageState
7002	sizeCache     protoimpl.SizeCache
7003	unknownFields protoimpl.UnknownFields
7004
7005	// Set if the transformation was limited to a specific InfoType.
7006	InfoType *InfoType `protobuf:"bytes,1,opt,name=info_type,json=infoType,proto3" json:"info_type,omitempty"`
7007	// Set if the transformation was limited to a specific FieldId.
7008	Field *FieldId `protobuf:"bytes,2,opt,name=field,proto3" json:"field,omitempty"`
7009	// The specific transformation these stats apply to.
7010	Transformation *PrimitiveTransformation `protobuf:"bytes,3,opt,name=transformation,proto3" json:"transformation,omitempty"`
7011	// The field transformation that was applied.
7012	// If multiple field transformations are requested for a single field,
7013	// this list will contain all of them; otherwise, only one is supplied.
7014	FieldTransformations []*FieldTransformation `protobuf:"bytes,5,rep,name=field_transformations,json=fieldTransformations,proto3" json:"field_transformations,omitempty"`
7015	// The specific suppression option these stats apply to.
7016	RecordSuppress *RecordSuppression `protobuf:"bytes,6,opt,name=record_suppress,json=recordSuppress,proto3" json:"record_suppress,omitempty"`
7017	// Collection of all transformations that took place or had an error.
7018	Results []*TransformationSummary_SummaryResult `protobuf:"bytes,4,rep,name=results,proto3" json:"results,omitempty"`
7019	// Total size in bytes that were transformed in some way.
7020	TransformedBytes int64 `protobuf:"varint,7,opt,name=transformed_bytes,json=transformedBytes,proto3" json:"transformed_bytes,omitempty"`
7021}
7022
7023func (x *TransformationSummary) Reset() {
7024	*x = TransformationSummary{}
7025	if protoimpl.UnsafeEnabled {
7026		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[71]
7027		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7028		ms.StoreMessageInfo(mi)
7029	}
7030}
7031
7032func (x *TransformationSummary) String() string {
7033	return protoimpl.X.MessageStringOf(x)
7034}
7035
7036func (*TransformationSummary) ProtoMessage() {}
7037
7038func (x *TransformationSummary) ProtoReflect() protoreflect.Message {
7039	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[71]
7040	if protoimpl.UnsafeEnabled && x != nil {
7041		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7042		if ms.LoadMessageInfo() == nil {
7043			ms.StoreMessageInfo(mi)
7044		}
7045		return ms
7046	}
7047	return mi.MessageOf(x)
7048}
7049
7050// Deprecated: Use TransformationSummary.ProtoReflect.Descriptor instead.
7051func (*TransformationSummary) Descriptor() ([]byte, []int) {
7052	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{71}
7053}
7054
7055func (x *TransformationSummary) GetInfoType() *InfoType {
7056	if x != nil {
7057		return x.InfoType
7058	}
7059	return nil
7060}
7061
7062func (x *TransformationSummary) GetField() *FieldId {
7063	if x != nil {
7064		return x.Field
7065	}
7066	return nil
7067}
7068
7069func (x *TransformationSummary) GetTransformation() *PrimitiveTransformation {
7070	if x != nil {
7071		return x.Transformation
7072	}
7073	return nil
7074}
7075
7076func (x *TransformationSummary) GetFieldTransformations() []*FieldTransformation {
7077	if x != nil {
7078		return x.FieldTransformations
7079	}
7080	return nil
7081}
7082
7083func (x *TransformationSummary) GetRecordSuppress() *RecordSuppression {
7084	if x != nil {
7085		return x.RecordSuppress
7086	}
7087	return nil
7088}
7089
7090func (x *TransformationSummary) GetResults() []*TransformationSummary_SummaryResult {
7091	if x != nil {
7092		return x.Results
7093	}
7094	return nil
7095}
7096
7097func (x *TransformationSummary) GetTransformedBytes() int64 {
7098	if x != nil {
7099		return x.TransformedBytes
7100	}
7101	return 0
7102}
7103
7104// Schedule for triggeredJobs.
7105type Schedule struct {
7106	state         protoimpl.MessageState
7107	sizeCache     protoimpl.SizeCache
7108	unknownFields protoimpl.UnknownFields
7109
7110	// Types that are assignable to Option:
7111	//	*Schedule_RecurrencePeriodDuration
7112	Option isSchedule_Option `protobuf_oneof:"option"`
7113}
7114
7115func (x *Schedule) Reset() {
7116	*x = Schedule{}
7117	if protoimpl.UnsafeEnabled {
7118		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[72]
7119		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7120		ms.StoreMessageInfo(mi)
7121	}
7122}
7123
7124func (x *Schedule) String() string {
7125	return protoimpl.X.MessageStringOf(x)
7126}
7127
7128func (*Schedule) ProtoMessage() {}
7129
7130func (x *Schedule) ProtoReflect() protoreflect.Message {
7131	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[72]
7132	if protoimpl.UnsafeEnabled && x != nil {
7133		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7134		if ms.LoadMessageInfo() == nil {
7135			ms.StoreMessageInfo(mi)
7136		}
7137		return ms
7138	}
7139	return mi.MessageOf(x)
7140}
7141
7142// Deprecated: Use Schedule.ProtoReflect.Descriptor instead.
7143func (*Schedule) Descriptor() ([]byte, []int) {
7144	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{72}
7145}
7146
7147func (m *Schedule) GetOption() isSchedule_Option {
7148	if m != nil {
7149		return m.Option
7150	}
7151	return nil
7152}
7153
7154func (x *Schedule) GetRecurrencePeriodDuration() *duration.Duration {
7155	if x, ok := x.GetOption().(*Schedule_RecurrencePeriodDuration); ok {
7156		return x.RecurrencePeriodDuration
7157	}
7158	return nil
7159}
7160
7161type isSchedule_Option interface {
7162	isSchedule_Option()
7163}
7164
7165type Schedule_RecurrencePeriodDuration struct {
7166	// With this option a job is started a regular periodic basis. For
7167	// example: every day (86400 seconds).
7168	//
7169	// A scheduled start time will be skipped if the previous
7170	// execution has not ended when its scheduled time occurs.
7171	//
7172	// This value must be set to a time duration greater than or equal
7173	// to 1 day and can be no longer than 60 days.
7174	RecurrencePeriodDuration *duration.Duration `protobuf:"bytes,1,opt,name=recurrence_period_duration,json=recurrencePeriodDuration,proto3,oneof"`
7175}
7176
7177func (*Schedule_RecurrencePeriodDuration) isSchedule_Option() {}
7178
7179// Job trigger option for hybrid jobs. Jobs must be manually created
7180// and finished.
7181type Manual struct {
7182	state         protoimpl.MessageState
7183	sizeCache     protoimpl.SizeCache
7184	unknownFields protoimpl.UnknownFields
7185}
7186
7187func (x *Manual) Reset() {
7188	*x = Manual{}
7189	if protoimpl.UnsafeEnabled {
7190		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[73]
7191		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7192		ms.StoreMessageInfo(mi)
7193	}
7194}
7195
7196func (x *Manual) String() string {
7197	return protoimpl.X.MessageStringOf(x)
7198}
7199
7200func (*Manual) ProtoMessage() {}
7201
7202func (x *Manual) ProtoReflect() protoreflect.Message {
7203	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[73]
7204	if protoimpl.UnsafeEnabled && x != nil {
7205		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7206		if ms.LoadMessageInfo() == nil {
7207			ms.StoreMessageInfo(mi)
7208		}
7209		return ms
7210	}
7211	return mi.MessageOf(x)
7212}
7213
7214// Deprecated: Use Manual.ProtoReflect.Descriptor instead.
7215func (*Manual) Descriptor() ([]byte, []int) {
7216	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{73}
7217}
7218
7219// The inspectTemplate contains a configuration (set of types of sensitive data
7220// to be detected) to be used anywhere you otherwise would normally specify
7221// InspectConfig. See https://cloud.google.com/dlp/docs/concepts-templates
7222// to learn more.
7223type InspectTemplate struct {
7224	state         protoimpl.MessageState
7225	sizeCache     protoimpl.SizeCache
7226	unknownFields protoimpl.UnknownFields
7227
7228	// Output only. The template name.
7229	//
7230	// The template will have one of the following formats:
7231	// `projects/PROJECT_ID/inspectTemplates/TEMPLATE_ID` OR
7232	// `organizations/ORGANIZATION_ID/inspectTemplates/TEMPLATE_ID`;
7233	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
7234	// Display name (max 256 chars).
7235	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
7236	// Short description (max 256 chars).
7237	Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
7238	// Output only. The creation timestamp of an inspectTemplate.
7239	CreateTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
7240	// Output only. The last update timestamp of an inspectTemplate.
7241	UpdateTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
7242	// The core content of the template. Configuration of the scanning process.
7243	InspectConfig *InspectConfig `protobuf:"bytes,6,opt,name=inspect_config,json=inspectConfig,proto3" json:"inspect_config,omitempty"`
7244}
7245
7246func (x *InspectTemplate) Reset() {
7247	*x = InspectTemplate{}
7248	if protoimpl.UnsafeEnabled {
7249		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[74]
7250		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7251		ms.StoreMessageInfo(mi)
7252	}
7253}
7254
7255func (x *InspectTemplate) String() string {
7256	return protoimpl.X.MessageStringOf(x)
7257}
7258
7259func (*InspectTemplate) ProtoMessage() {}
7260
7261func (x *InspectTemplate) ProtoReflect() protoreflect.Message {
7262	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[74]
7263	if protoimpl.UnsafeEnabled && x != nil {
7264		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7265		if ms.LoadMessageInfo() == nil {
7266			ms.StoreMessageInfo(mi)
7267		}
7268		return ms
7269	}
7270	return mi.MessageOf(x)
7271}
7272
7273// Deprecated: Use InspectTemplate.ProtoReflect.Descriptor instead.
7274func (*InspectTemplate) Descriptor() ([]byte, []int) {
7275	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{74}
7276}
7277
7278func (x *InspectTemplate) GetName() string {
7279	if x != nil {
7280		return x.Name
7281	}
7282	return ""
7283}
7284
7285func (x *InspectTemplate) GetDisplayName() string {
7286	if x != nil {
7287		return x.DisplayName
7288	}
7289	return ""
7290}
7291
7292func (x *InspectTemplate) GetDescription() string {
7293	if x != nil {
7294		return x.Description
7295	}
7296	return ""
7297}
7298
7299func (x *InspectTemplate) GetCreateTime() *timestamp.Timestamp {
7300	if x != nil {
7301		return x.CreateTime
7302	}
7303	return nil
7304}
7305
7306func (x *InspectTemplate) GetUpdateTime() *timestamp.Timestamp {
7307	if x != nil {
7308		return x.UpdateTime
7309	}
7310	return nil
7311}
7312
7313func (x *InspectTemplate) GetInspectConfig() *InspectConfig {
7314	if x != nil {
7315		return x.InspectConfig
7316	}
7317	return nil
7318}
7319
7320// DeidentifyTemplates contains instructions on how to de-identify content.
7321// See https://cloud.google.com/dlp/docs/concepts-templates to learn more.
7322type DeidentifyTemplate struct {
7323	state         protoimpl.MessageState
7324	sizeCache     protoimpl.SizeCache
7325	unknownFields protoimpl.UnknownFields
7326
7327	// Output only. The template name.
7328	//
7329	// The template will have one of the following formats:
7330	// `projects/PROJECT_ID/deidentifyTemplates/TEMPLATE_ID` OR
7331	// `organizations/ORGANIZATION_ID/deidentifyTemplates/TEMPLATE_ID`
7332	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
7333	// Display name (max 256 chars).
7334	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
7335	// Short description (max 256 chars).
7336	Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
7337	// Output only. The creation timestamp of an inspectTemplate.
7338	CreateTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
7339	// Output only. The last update timestamp of an inspectTemplate.
7340	UpdateTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
7341	// ///////////// // The core content of the template  // ///////////////
7342	DeidentifyConfig *DeidentifyConfig `protobuf:"bytes,6,opt,name=deidentify_config,json=deidentifyConfig,proto3" json:"deidentify_config,omitempty"`
7343}
7344
7345func (x *DeidentifyTemplate) Reset() {
7346	*x = DeidentifyTemplate{}
7347	if protoimpl.UnsafeEnabled {
7348		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[75]
7349		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7350		ms.StoreMessageInfo(mi)
7351	}
7352}
7353
7354func (x *DeidentifyTemplate) String() string {
7355	return protoimpl.X.MessageStringOf(x)
7356}
7357
7358func (*DeidentifyTemplate) ProtoMessage() {}
7359
7360func (x *DeidentifyTemplate) ProtoReflect() protoreflect.Message {
7361	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[75]
7362	if protoimpl.UnsafeEnabled && x != nil {
7363		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7364		if ms.LoadMessageInfo() == nil {
7365			ms.StoreMessageInfo(mi)
7366		}
7367		return ms
7368	}
7369	return mi.MessageOf(x)
7370}
7371
7372// Deprecated: Use DeidentifyTemplate.ProtoReflect.Descriptor instead.
7373func (*DeidentifyTemplate) Descriptor() ([]byte, []int) {
7374	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{75}
7375}
7376
7377func (x *DeidentifyTemplate) GetName() string {
7378	if x != nil {
7379		return x.Name
7380	}
7381	return ""
7382}
7383
7384func (x *DeidentifyTemplate) GetDisplayName() string {
7385	if x != nil {
7386		return x.DisplayName
7387	}
7388	return ""
7389}
7390
7391func (x *DeidentifyTemplate) GetDescription() string {
7392	if x != nil {
7393		return x.Description
7394	}
7395	return ""
7396}
7397
7398func (x *DeidentifyTemplate) GetCreateTime() *timestamp.Timestamp {
7399	if x != nil {
7400		return x.CreateTime
7401	}
7402	return nil
7403}
7404
7405func (x *DeidentifyTemplate) GetUpdateTime() *timestamp.Timestamp {
7406	if x != nil {
7407		return x.UpdateTime
7408	}
7409	return nil
7410}
7411
7412func (x *DeidentifyTemplate) GetDeidentifyConfig() *DeidentifyConfig {
7413	if x != nil {
7414		return x.DeidentifyConfig
7415	}
7416	return nil
7417}
7418
7419// Details information about an error encountered during job execution or
7420// the results of an unsuccessful activation of the JobTrigger.
7421type Error struct {
7422	state         protoimpl.MessageState
7423	sizeCache     protoimpl.SizeCache
7424	unknownFields protoimpl.UnknownFields
7425
7426	// Detailed error codes and messages.
7427	Details *status.Status `protobuf:"bytes,1,opt,name=details,proto3" json:"details,omitempty"`
7428	// The times the error occurred.
7429	Timestamps []*timestamp.Timestamp `protobuf:"bytes,2,rep,name=timestamps,proto3" json:"timestamps,omitempty"`
7430}
7431
7432func (x *Error) Reset() {
7433	*x = Error{}
7434	if protoimpl.UnsafeEnabled {
7435		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[76]
7436		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7437		ms.StoreMessageInfo(mi)
7438	}
7439}
7440
7441func (x *Error) String() string {
7442	return protoimpl.X.MessageStringOf(x)
7443}
7444
7445func (*Error) ProtoMessage() {}
7446
7447func (x *Error) ProtoReflect() protoreflect.Message {
7448	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[76]
7449	if protoimpl.UnsafeEnabled && x != nil {
7450		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7451		if ms.LoadMessageInfo() == nil {
7452			ms.StoreMessageInfo(mi)
7453		}
7454		return ms
7455	}
7456	return mi.MessageOf(x)
7457}
7458
7459// Deprecated: Use Error.ProtoReflect.Descriptor instead.
7460func (*Error) Descriptor() ([]byte, []int) {
7461	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{76}
7462}
7463
7464func (x *Error) GetDetails() *status.Status {
7465	if x != nil {
7466		return x.Details
7467	}
7468	return nil
7469}
7470
7471func (x *Error) GetTimestamps() []*timestamp.Timestamp {
7472	if x != nil {
7473		return x.Timestamps
7474	}
7475	return nil
7476}
7477
7478// Contains a configuration to make dlp api calls on a repeating basis.
7479// See https://cloud.google.com/dlp/docs/concepts-job-triggers to learn more.
7480type JobTrigger struct {
7481	state         protoimpl.MessageState
7482	sizeCache     protoimpl.SizeCache
7483	unknownFields protoimpl.UnknownFields
7484
7485	// Unique resource name for the triggeredJob, assigned by the service when the
7486	// triggeredJob is created, for example
7487	// `projects/dlp-test-project/jobTriggers/53234423`.
7488	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
7489	// Display name (max 100 chars)
7490	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
7491	// User provided description (max 256 chars)
7492	Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
7493	// The configuration details for the specific type of job to run.
7494	//
7495	// Types that are assignable to Job:
7496	//	*JobTrigger_InspectJob
7497	Job isJobTrigger_Job `protobuf_oneof:"job"`
7498	// A list of triggers which will be OR'ed together. Only one in the list
7499	// needs to trigger for a job to be started. The list may contain only
7500	// a single Schedule trigger and must have at least one object.
7501	Triggers []*JobTrigger_Trigger `protobuf:"bytes,5,rep,name=triggers,proto3" json:"triggers,omitempty"`
7502	// Output only. A stream of errors encountered when the trigger was activated. Repeated
7503	// errors may result in the JobTrigger automatically being paused.
7504	// Will return the last 100 errors. Whenever the JobTrigger is modified
7505	// this list will be cleared.
7506	Errors []*Error `protobuf:"bytes,6,rep,name=errors,proto3" json:"errors,omitempty"`
7507	// Output only. The creation timestamp of a triggeredJob.
7508	CreateTime *timestamp.Timestamp `protobuf:"bytes,7,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
7509	// Output only. The last update timestamp of a triggeredJob.
7510	UpdateTime *timestamp.Timestamp `protobuf:"bytes,8,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
7511	// Output only. The timestamp of the last time this trigger executed.
7512	LastRunTime *timestamp.Timestamp `protobuf:"bytes,9,opt,name=last_run_time,json=lastRunTime,proto3" json:"last_run_time,omitempty"`
7513	// Required. A status for this trigger.
7514	Status JobTrigger_Status `protobuf:"varint,10,opt,name=status,proto3,enum=google.privacy.dlp.v2.JobTrigger_Status" json:"status,omitempty"`
7515}
7516
7517func (x *JobTrigger) Reset() {
7518	*x = JobTrigger{}
7519	if protoimpl.UnsafeEnabled {
7520		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[77]
7521		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7522		ms.StoreMessageInfo(mi)
7523	}
7524}
7525
7526func (x *JobTrigger) String() string {
7527	return protoimpl.X.MessageStringOf(x)
7528}
7529
7530func (*JobTrigger) ProtoMessage() {}
7531
7532func (x *JobTrigger) ProtoReflect() protoreflect.Message {
7533	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[77]
7534	if protoimpl.UnsafeEnabled && x != nil {
7535		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7536		if ms.LoadMessageInfo() == nil {
7537			ms.StoreMessageInfo(mi)
7538		}
7539		return ms
7540	}
7541	return mi.MessageOf(x)
7542}
7543
7544// Deprecated: Use JobTrigger.ProtoReflect.Descriptor instead.
7545func (*JobTrigger) Descriptor() ([]byte, []int) {
7546	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{77}
7547}
7548
7549func (x *JobTrigger) GetName() string {
7550	if x != nil {
7551		return x.Name
7552	}
7553	return ""
7554}
7555
7556func (x *JobTrigger) GetDisplayName() string {
7557	if x != nil {
7558		return x.DisplayName
7559	}
7560	return ""
7561}
7562
7563func (x *JobTrigger) GetDescription() string {
7564	if x != nil {
7565		return x.Description
7566	}
7567	return ""
7568}
7569
7570func (m *JobTrigger) GetJob() isJobTrigger_Job {
7571	if m != nil {
7572		return m.Job
7573	}
7574	return nil
7575}
7576
7577func (x *JobTrigger) GetInspectJob() *InspectJobConfig {
7578	if x, ok := x.GetJob().(*JobTrigger_InspectJob); ok {
7579		return x.InspectJob
7580	}
7581	return nil
7582}
7583
7584func (x *JobTrigger) GetTriggers() []*JobTrigger_Trigger {
7585	if x != nil {
7586		return x.Triggers
7587	}
7588	return nil
7589}
7590
7591func (x *JobTrigger) GetErrors() []*Error {
7592	if x != nil {
7593		return x.Errors
7594	}
7595	return nil
7596}
7597
7598func (x *JobTrigger) GetCreateTime() *timestamp.Timestamp {
7599	if x != nil {
7600		return x.CreateTime
7601	}
7602	return nil
7603}
7604
7605func (x *JobTrigger) GetUpdateTime() *timestamp.Timestamp {
7606	if x != nil {
7607		return x.UpdateTime
7608	}
7609	return nil
7610}
7611
7612func (x *JobTrigger) GetLastRunTime() *timestamp.Timestamp {
7613	if x != nil {
7614		return x.LastRunTime
7615	}
7616	return nil
7617}
7618
7619func (x *JobTrigger) GetStatus() JobTrigger_Status {
7620	if x != nil {
7621		return x.Status
7622	}
7623	return JobTrigger_STATUS_UNSPECIFIED
7624}
7625
7626type isJobTrigger_Job interface {
7627	isJobTrigger_Job()
7628}
7629
7630type JobTrigger_InspectJob struct {
7631	// For inspect jobs, a snapshot of the configuration.
7632	InspectJob *InspectJobConfig `protobuf:"bytes,4,opt,name=inspect_job,json=inspectJob,proto3,oneof"`
7633}
7634
7635func (*JobTrigger_InspectJob) isJobTrigger_Job() {}
7636
7637// A task to execute on the completion of a job.
7638// See https://cloud.google.com/dlp/docs/concepts-actions to learn more.
7639type Action struct {
7640	state         protoimpl.MessageState
7641	sizeCache     protoimpl.SizeCache
7642	unknownFields protoimpl.UnknownFields
7643
7644	// Types that are assignable to Action:
7645	//	*Action_SaveFindings_
7646	//	*Action_PubSub
7647	//	*Action_PublishSummaryToCscc_
7648	//	*Action_PublishFindingsToCloudDataCatalog_
7649	//	*Action_JobNotificationEmails_
7650	//	*Action_PublishToStackdriver_
7651	Action isAction_Action `protobuf_oneof:"action"`
7652}
7653
7654func (x *Action) Reset() {
7655	*x = Action{}
7656	if protoimpl.UnsafeEnabled {
7657		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[78]
7658		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7659		ms.StoreMessageInfo(mi)
7660	}
7661}
7662
7663func (x *Action) String() string {
7664	return protoimpl.X.MessageStringOf(x)
7665}
7666
7667func (*Action) ProtoMessage() {}
7668
7669func (x *Action) ProtoReflect() protoreflect.Message {
7670	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[78]
7671	if protoimpl.UnsafeEnabled && x != nil {
7672		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7673		if ms.LoadMessageInfo() == nil {
7674			ms.StoreMessageInfo(mi)
7675		}
7676		return ms
7677	}
7678	return mi.MessageOf(x)
7679}
7680
7681// Deprecated: Use Action.ProtoReflect.Descriptor instead.
7682func (*Action) Descriptor() ([]byte, []int) {
7683	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{78}
7684}
7685
7686func (m *Action) GetAction() isAction_Action {
7687	if m != nil {
7688		return m.Action
7689	}
7690	return nil
7691}
7692
7693func (x *Action) GetSaveFindings() *Action_SaveFindings {
7694	if x, ok := x.GetAction().(*Action_SaveFindings_); ok {
7695		return x.SaveFindings
7696	}
7697	return nil
7698}
7699
7700func (x *Action) GetPubSub() *Action_PublishToPubSub {
7701	if x, ok := x.GetAction().(*Action_PubSub); ok {
7702		return x.PubSub
7703	}
7704	return nil
7705}
7706
7707func (x *Action) GetPublishSummaryToCscc() *Action_PublishSummaryToCscc {
7708	if x, ok := x.GetAction().(*Action_PublishSummaryToCscc_); ok {
7709		return x.PublishSummaryToCscc
7710	}
7711	return nil
7712}
7713
7714func (x *Action) GetPublishFindingsToCloudDataCatalog() *Action_PublishFindingsToCloudDataCatalog {
7715	if x, ok := x.GetAction().(*Action_PublishFindingsToCloudDataCatalog_); ok {
7716		return x.PublishFindingsToCloudDataCatalog
7717	}
7718	return nil
7719}
7720
7721func (x *Action) GetJobNotificationEmails() *Action_JobNotificationEmails {
7722	if x, ok := x.GetAction().(*Action_JobNotificationEmails_); ok {
7723		return x.JobNotificationEmails
7724	}
7725	return nil
7726}
7727
7728func (x *Action) GetPublishToStackdriver() *Action_PublishToStackdriver {
7729	if x, ok := x.GetAction().(*Action_PublishToStackdriver_); ok {
7730		return x.PublishToStackdriver
7731	}
7732	return nil
7733}
7734
7735type isAction_Action interface {
7736	isAction_Action()
7737}
7738
7739type Action_SaveFindings_ struct {
7740	// Save resulting findings in a provided location.
7741	SaveFindings *Action_SaveFindings `protobuf:"bytes,1,opt,name=save_findings,json=saveFindings,proto3,oneof"`
7742}
7743
7744type Action_PubSub struct {
7745	// Publish a notification to a pubsub topic.
7746	PubSub *Action_PublishToPubSub `protobuf:"bytes,2,opt,name=pub_sub,json=pubSub,proto3,oneof"`
7747}
7748
7749type Action_PublishSummaryToCscc_ struct {
7750	// Publish summary to Cloud Security Command Center (Alpha).
7751	PublishSummaryToCscc *Action_PublishSummaryToCscc `protobuf:"bytes,3,opt,name=publish_summary_to_cscc,json=publishSummaryToCscc,proto3,oneof"`
7752}
7753
7754type Action_PublishFindingsToCloudDataCatalog_ struct {
7755	// Publish findings to Cloud Datahub.
7756	PublishFindingsToCloudDataCatalog *Action_PublishFindingsToCloudDataCatalog `protobuf:"bytes,5,opt,name=publish_findings_to_cloud_data_catalog,json=publishFindingsToCloudDataCatalog,proto3,oneof"`
7757}
7758
7759type Action_JobNotificationEmails_ struct {
7760	// Enable email notification for project owners and editors on job's
7761	// completion/failure.
7762	JobNotificationEmails *Action_JobNotificationEmails `protobuf:"bytes,8,opt,name=job_notification_emails,json=jobNotificationEmails,proto3,oneof"`
7763}
7764
7765type Action_PublishToStackdriver_ struct {
7766	// Enable Stackdriver metric dlp.googleapis.com/finding_count.
7767	PublishToStackdriver *Action_PublishToStackdriver `protobuf:"bytes,9,opt,name=publish_to_stackdriver,json=publishToStackdriver,proto3,oneof"`
7768}
7769
7770func (*Action_SaveFindings_) isAction_Action() {}
7771
7772func (*Action_PubSub) isAction_Action() {}
7773
7774func (*Action_PublishSummaryToCscc_) isAction_Action() {}
7775
7776func (*Action_PublishFindingsToCloudDataCatalog_) isAction_Action() {}
7777
7778func (*Action_JobNotificationEmails_) isAction_Action() {}
7779
7780func (*Action_PublishToStackdriver_) isAction_Action() {}
7781
7782// Request message for CreateInspectTemplate.
7783type CreateInspectTemplateRequest struct {
7784	state         protoimpl.MessageState
7785	sizeCache     protoimpl.SizeCache
7786	unknownFields protoimpl.UnknownFields
7787
7788	// Required. The parent resource name, for example projects/my-project-id or
7789	// organizations/my-org-id or projects/my-project-id/locations/{location-id}.
7790	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
7791	// Required. The InspectTemplate to create.
7792	InspectTemplate *InspectTemplate `protobuf:"bytes,2,opt,name=inspect_template,json=inspectTemplate,proto3" json:"inspect_template,omitempty"`
7793	// The template id can contain uppercase and lowercase letters,
7794	// numbers, and hyphens; that is, it must match the regular
7795	// expression: `[a-zA-Z\\d-_]+`. The maximum length is 100
7796	// characters. Can be empty to allow the system to generate one.
7797	TemplateId string `protobuf:"bytes,3,opt,name=template_id,json=templateId,proto3" json:"template_id,omitempty"`
7798	// Deprecated. This field has no effect.
7799	LocationId string `protobuf:"bytes,4,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"`
7800}
7801
7802func (x *CreateInspectTemplateRequest) Reset() {
7803	*x = CreateInspectTemplateRequest{}
7804	if protoimpl.UnsafeEnabled {
7805		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[79]
7806		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7807		ms.StoreMessageInfo(mi)
7808	}
7809}
7810
7811func (x *CreateInspectTemplateRequest) String() string {
7812	return protoimpl.X.MessageStringOf(x)
7813}
7814
7815func (*CreateInspectTemplateRequest) ProtoMessage() {}
7816
7817func (x *CreateInspectTemplateRequest) ProtoReflect() protoreflect.Message {
7818	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[79]
7819	if protoimpl.UnsafeEnabled && x != nil {
7820		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7821		if ms.LoadMessageInfo() == nil {
7822			ms.StoreMessageInfo(mi)
7823		}
7824		return ms
7825	}
7826	return mi.MessageOf(x)
7827}
7828
7829// Deprecated: Use CreateInspectTemplateRequest.ProtoReflect.Descriptor instead.
7830func (*CreateInspectTemplateRequest) Descriptor() ([]byte, []int) {
7831	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{79}
7832}
7833
7834func (x *CreateInspectTemplateRequest) GetParent() string {
7835	if x != nil {
7836		return x.Parent
7837	}
7838	return ""
7839}
7840
7841func (x *CreateInspectTemplateRequest) GetInspectTemplate() *InspectTemplate {
7842	if x != nil {
7843		return x.InspectTemplate
7844	}
7845	return nil
7846}
7847
7848func (x *CreateInspectTemplateRequest) GetTemplateId() string {
7849	if x != nil {
7850		return x.TemplateId
7851	}
7852	return ""
7853}
7854
7855func (x *CreateInspectTemplateRequest) GetLocationId() string {
7856	if x != nil {
7857		return x.LocationId
7858	}
7859	return ""
7860}
7861
7862// Request message for UpdateInspectTemplate.
7863type UpdateInspectTemplateRequest struct {
7864	state         protoimpl.MessageState
7865	sizeCache     protoimpl.SizeCache
7866	unknownFields protoimpl.UnknownFields
7867
7868	// Required. Resource name of organization and inspectTemplate to be updated,
7869	// for example `organizations/433245324/inspectTemplates/432452342` or
7870	// projects/project-id/inspectTemplates/432452342.
7871	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
7872	// New InspectTemplate value.
7873	InspectTemplate *InspectTemplate `protobuf:"bytes,2,opt,name=inspect_template,json=inspectTemplate,proto3" json:"inspect_template,omitempty"`
7874	// Mask to control which fields get updated.
7875	UpdateMask *field_mask.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
7876}
7877
7878func (x *UpdateInspectTemplateRequest) Reset() {
7879	*x = UpdateInspectTemplateRequest{}
7880	if protoimpl.UnsafeEnabled {
7881		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[80]
7882		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7883		ms.StoreMessageInfo(mi)
7884	}
7885}
7886
7887func (x *UpdateInspectTemplateRequest) String() string {
7888	return protoimpl.X.MessageStringOf(x)
7889}
7890
7891func (*UpdateInspectTemplateRequest) ProtoMessage() {}
7892
7893func (x *UpdateInspectTemplateRequest) ProtoReflect() protoreflect.Message {
7894	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[80]
7895	if protoimpl.UnsafeEnabled && x != nil {
7896		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7897		if ms.LoadMessageInfo() == nil {
7898			ms.StoreMessageInfo(mi)
7899		}
7900		return ms
7901	}
7902	return mi.MessageOf(x)
7903}
7904
7905// Deprecated: Use UpdateInspectTemplateRequest.ProtoReflect.Descriptor instead.
7906func (*UpdateInspectTemplateRequest) Descriptor() ([]byte, []int) {
7907	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{80}
7908}
7909
7910func (x *UpdateInspectTemplateRequest) GetName() string {
7911	if x != nil {
7912		return x.Name
7913	}
7914	return ""
7915}
7916
7917func (x *UpdateInspectTemplateRequest) GetInspectTemplate() *InspectTemplate {
7918	if x != nil {
7919		return x.InspectTemplate
7920	}
7921	return nil
7922}
7923
7924func (x *UpdateInspectTemplateRequest) GetUpdateMask() *field_mask.FieldMask {
7925	if x != nil {
7926		return x.UpdateMask
7927	}
7928	return nil
7929}
7930
7931// Request message for GetInspectTemplate.
7932type GetInspectTemplateRequest struct {
7933	state         protoimpl.MessageState
7934	sizeCache     protoimpl.SizeCache
7935	unknownFields protoimpl.UnknownFields
7936
7937	// Required. Resource name of the organization and inspectTemplate to be read,
7938	// for example `organizations/433245324/inspectTemplates/432452342` or
7939	// projects/project-id/inspectTemplates/432452342.
7940	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
7941}
7942
7943func (x *GetInspectTemplateRequest) Reset() {
7944	*x = GetInspectTemplateRequest{}
7945	if protoimpl.UnsafeEnabled {
7946		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[81]
7947		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7948		ms.StoreMessageInfo(mi)
7949	}
7950}
7951
7952func (x *GetInspectTemplateRequest) String() string {
7953	return protoimpl.X.MessageStringOf(x)
7954}
7955
7956func (*GetInspectTemplateRequest) ProtoMessage() {}
7957
7958func (x *GetInspectTemplateRequest) ProtoReflect() protoreflect.Message {
7959	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[81]
7960	if protoimpl.UnsafeEnabled && x != nil {
7961		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
7962		if ms.LoadMessageInfo() == nil {
7963			ms.StoreMessageInfo(mi)
7964		}
7965		return ms
7966	}
7967	return mi.MessageOf(x)
7968}
7969
7970// Deprecated: Use GetInspectTemplateRequest.ProtoReflect.Descriptor instead.
7971func (*GetInspectTemplateRequest) Descriptor() ([]byte, []int) {
7972	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{81}
7973}
7974
7975func (x *GetInspectTemplateRequest) GetName() string {
7976	if x != nil {
7977		return x.Name
7978	}
7979	return ""
7980}
7981
7982// Request message for ListInspectTemplates.
7983type ListInspectTemplatesRequest struct {
7984	state         protoimpl.MessageState
7985	sizeCache     protoimpl.SizeCache
7986	unknownFields protoimpl.UnknownFields
7987
7988	// Required. The parent resource name, for example projects/my-project-id or
7989	// organizations/my-org-id or projects/my-project-id/locations/{location_id}.
7990	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
7991	// Page token to continue retrieval. Comes from previous call
7992	// to `ListInspectTemplates`.
7993	PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
7994	// Size of the page, can be limited by server. If zero server returns
7995	// a page of max size 100.
7996	PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
7997	// Comma separated list of fields to order by,
7998	// followed by `asc` or `desc` postfix. This list is case-insensitive,
7999	// default sorting order is ascending, redundant space characters are
8000	// insignificant.
8001	//
8002	// Example: `name asc,update_time, create_time desc`
8003	//
8004	// Supported fields are:
8005	//
8006	// - `create_time`: corresponds to time the template was created.
8007	// - `update_time`: corresponds to time the template was last updated.
8008	// - `name`: corresponds to template's name.
8009	// - `display_name`: corresponds to template's display name.
8010	OrderBy string `protobuf:"bytes,4,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
8011	// Deprecated. This field has no effect.
8012	LocationId string `protobuf:"bytes,5,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"`
8013}
8014
8015func (x *ListInspectTemplatesRequest) Reset() {
8016	*x = ListInspectTemplatesRequest{}
8017	if protoimpl.UnsafeEnabled {
8018		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[82]
8019		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8020		ms.StoreMessageInfo(mi)
8021	}
8022}
8023
8024func (x *ListInspectTemplatesRequest) String() string {
8025	return protoimpl.X.MessageStringOf(x)
8026}
8027
8028func (*ListInspectTemplatesRequest) ProtoMessage() {}
8029
8030func (x *ListInspectTemplatesRequest) ProtoReflect() protoreflect.Message {
8031	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[82]
8032	if protoimpl.UnsafeEnabled && x != nil {
8033		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8034		if ms.LoadMessageInfo() == nil {
8035			ms.StoreMessageInfo(mi)
8036		}
8037		return ms
8038	}
8039	return mi.MessageOf(x)
8040}
8041
8042// Deprecated: Use ListInspectTemplatesRequest.ProtoReflect.Descriptor instead.
8043func (*ListInspectTemplatesRequest) Descriptor() ([]byte, []int) {
8044	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{82}
8045}
8046
8047func (x *ListInspectTemplatesRequest) GetParent() string {
8048	if x != nil {
8049		return x.Parent
8050	}
8051	return ""
8052}
8053
8054func (x *ListInspectTemplatesRequest) GetPageToken() string {
8055	if x != nil {
8056		return x.PageToken
8057	}
8058	return ""
8059}
8060
8061func (x *ListInspectTemplatesRequest) GetPageSize() int32 {
8062	if x != nil {
8063		return x.PageSize
8064	}
8065	return 0
8066}
8067
8068func (x *ListInspectTemplatesRequest) GetOrderBy() string {
8069	if x != nil {
8070		return x.OrderBy
8071	}
8072	return ""
8073}
8074
8075func (x *ListInspectTemplatesRequest) GetLocationId() string {
8076	if x != nil {
8077		return x.LocationId
8078	}
8079	return ""
8080}
8081
8082// Response message for ListInspectTemplates.
8083type ListInspectTemplatesResponse struct {
8084	state         protoimpl.MessageState
8085	sizeCache     protoimpl.SizeCache
8086	unknownFields protoimpl.UnknownFields
8087
8088	// List of inspectTemplates, up to page_size in ListInspectTemplatesRequest.
8089	InspectTemplates []*InspectTemplate `protobuf:"bytes,1,rep,name=inspect_templates,json=inspectTemplates,proto3" json:"inspect_templates,omitempty"`
8090	// If the next page is available then the next page token to be used
8091	// in following ListInspectTemplates request.
8092	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
8093}
8094
8095func (x *ListInspectTemplatesResponse) Reset() {
8096	*x = ListInspectTemplatesResponse{}
8097	if protoimpl.UnsafeEnabled {
8098		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[83]
8099		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8100		ms.StoreMessageInfo(mi)
8101	}
8102}
8103
8104func (x *ListInspectTemplatesResponse) String() string {
8105	return protoimpl.X.MessageStringOf(x)
8106}
8107
8108func (*ListInspectTemplatesResponse) ProtoMessage() {}
8109
8110func (x *ListInspectTemplatesResponse) ProtoReflect() protoreflect.Message {
8111	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[83]
8112	if protoimpl.UnsafeEnabled && x != nil {
8113		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8114		if ms.LoadMessageInfo() == nil {
8115			ms.StoreMessageInfo(mi)
8116		}
8117		return ms
8118	}
8119	return mi.MessageOf(x)
8120}
8121
8122// Deprecated: Use ListInspectTemplatesResponse.ProtoReflect.Descriptor instead.
8123func (*ListInspectTemplatesResponse) Descriptor() ([]byte, []int) {
8124	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{83}
8125}
8126
8127func (x *ListInspectTemplatesResponse) GetInspectTemplates() []*InspectTemplate {
8128	if x != nil {
8129		return x.InspectTemplates
8130	}
8131	return nil
8132}
8133
8134func (x *ListInspectTemplatesResponse) GetNextPageToken() string {
8135	if x != nil {
8136		return x.NextPageToken
8137	}
8138	return ""
8139}
8140
8141// Request message for DeleteInspectTemplate.
8142type DeleteInspectTemplateRequest struct {
8143	state         protoimpl.MessageState
8144	sizeCache     protoimpl.SizeCache
8145	unknownFields protoimpl.UnknownFields
8146
8147	// Required. Resource name of the organization and inspectTemplate to be
8148	// deleted, for example `organizations/433245324/inspectTemplates/432452342`
8149	// or projects/project-id/inspectTemplates/432452342.
8150	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
8151}
8152
8153func (x *DeleteInspectTemplateRequest) Reset() {
8154	*x = DeleteInspectTemplateRequest{}
8155	if protoimpl.UnsafeEnabled {
8156		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[84]
8157		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8158		ms.StoreMessageInfo(mi)
8159	}
8160}
8161
8162func (x *DeleteInspectTemplateRequest) String() string {
8163	return protoimpl.X.MessageStringOf(x)
8164}
8165
8166func (*DeleteInspectTemplateRequest) ProtoMessage() {}
8167
8168func (x *DeleteInspectTemplateRequest) ProtoReflect() protoreflect.Message {
8169	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[84]
8170	if protoimpl.UnsafeEnabled && x != nil {
8171		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8172		if ms.LoadMessageInfo() == nil {
8173			ms.StoreMessageInfo(mi)
8174		}
8175		return ms
8176	}
8177	return mi.MessageOf(x)
8178}
8179
8180// Deprecated: Use DeleteInspectTemplateRequest.ProtoReflect.Descriptor instead.
8181func (*DeleteInspectTemplateRequest) Descriptor() ([]byte, []int) {
8182	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{84}
8183}
8184
8185func (x *DeleteInspectTemplateRequest) GetName() string {
8186	if x != nil {
8187		return x.Name
8188	}
8189	return ""
8190}
8191
8192// Request message for CreateJobTrigger.
8193type CreateJobTriggerRequest struct {
8194	state         protoimpl.MessageState
8195	sizeCache     protoimpl.SizeCache
8196	unknownFields protoimpl.UnknownFields
8197
8198	// Required. The parent resource name, for example projects/my-project-id
8199	// or projects/my-project-id/locations/{location_id}.
8200	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
8201	// Required. The JobTrigger to create.
8202	JobTrigger *JobTrigger `protobuf:"bytes,2,opt,name=job_trigger,json=jobTrigger,proto3" json:"job_trigger,omitempty"`
8203	// The trigger id can contain uppercase and lowercase letters,
8204	// numbers, and hyphens; that is, it must match the regular
8205	// expression: `[a-zA-Z\\d-_]+`. The maximum length is 100
8206	// characters. Can be empty to allow the system to generate one.
8207	TriggerId string `protobuf:"bytes,3,opt,name=trigger_id,json=triggerId,proto3" json:"trigger_id,omitempty"`
8208	// Deprecated. This field has no effect.
8209	LocationId string `protobuf:"bytes,4,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"`
8210}
8211
8212func (x *CreateJobTriggerRequest) Reset() {
8213	*x = CreateJobTriggerRequest{}
8214	if protoimpl.UnsafeEnabled {
8215		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[85]
8216		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8217		ms.StoreMessageInfo(mi)
8218	}
8219}
8220
8221func (x *CreateJobTriggerRequest) String() string {
8222	return protoimpl.X.MessageStringOf(x)
8223}
8224
8225func (*CreateJobTriggerRequest) ProtoMessage() {}
8226
8227func (x *CreateJobTriggerRequest) ProtoReflect() protoreflect.Message {
8228	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[85]
8229	if protoimpl.UnsafeEnabled && x != nil {
8230		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8231		if ms.LoadMessageInfo() == nil {
8232			ms.StoreMessageInfo(mi)
8233		}
8234		return ms
8235	}
8236	return mi.MessageOf(x)
8237}
8238
8239// Deprecated: Use CreateJobTriggerRequest.ProtoReflect.Descriptor instead.
8240func (*CreateJobTriggerRequest) Descriptor() ([]byte, []int) {
8241	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{85}
8242}
8243
8244func (x *CreateJobTriggerRequest) GetParent() string {
8245	if x != nil {
8246		return x.Parent
8247	}
8248	return ""
8249}
8250
8251func (x *CreateJobTriggerRequest) GetJobTrigger() *JobTrigger {
8252	if x != nil {
8253		return x.JobTrigger
8254	}
8255	return nil
8256}
8257
8258func (x *CreateJobTriggerRequest) GetTriggerId() string {
8259	if x != nil {
8260		return x.TriggerId
8261	}
8262	return ""
8263}
8264
8265func (x *CreateJobTriggerRequest) GetLocationId() string {
8266	if x != nil {
8267		return x.LocationId
8268	}
8269	return ""
8270}
8271
8272// Request message for ActivateJobTrigger.
8273type ActivateJobTriggerRequest struct {
8274	state         protoimpl.MessageState
8275	sizeCache     protoimpl.SizeCache
8276	unknownFields protoimpl.UnknownFields
8277
8278	// Required. Resource name of the trigger to activate, for example
8279	// `projects/dlp-test-project/jobTriggers/53234423`.
8280	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
8281}
8282
8283func (x *ActivateJobTriggerRequest) Reset() {
8284	*x = ActivateJobTriggerRequest{}
8285	if protoimpl.UnsafeEnabled {
8286		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[86]
8287		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8288		ms.StoreMessageInfo(mi)
8289	}
8290}
8291
8292func (x *ActivateJobTriggerRequest) String() string {
8293	return protoimpl.X.MessageStringOf(x)
8294}
8295
8296func (*ActivateJobTriggerRequest) ProtoMessage() {}
8297
8298func (x *ActivateJobTriggerRequest) ProtoReflect() protoreflect.Message {
8299	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[86]
8300	if protoimpl.UnsafeEnabled && x != nil {
8301		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8302		if ms.LoadMessageInfo() == nil {
8303			ms.StoreMessageInfo(mi)
8304		}
8305		return ms
8306	}
8307	return mi.MessageOf(x)
8308}
8309
8310// Deprecated: Use ActivateJobTriggerRequest.ProtoReflect.Descriptor instead.
8311func (*ActivateJobTriggerRequest) Descriptor() ([]byte, []int) {
8312	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{86}
8313}
8314
8315func (x *ActivateJobTriggerRequest) GetName() string {
8316	if x != nil {
8317		return x.Name
8318	}
8319	return ""
8320}
8321
8322// Request message for UpdateJobTrigger.
8323type UpdateJobTriggerRequest struct {
8324	state         protoimpl.MessageState
8325	sizeCache     protoimpl.SizeCache
8326	unknownFields protoimpl.UnknownFields
8327
8328	// Required. Resource name of the project and the triggeredJob, for example
8329	// `projects/dlp-test-project/jobTriggers/53234423`.
8330	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
8331	// New JobTrigger value.
8332	JobTrigger *JobTrigger `protobuf:"bytes,2,opt,name=job_trigger,json=jobTrigger,proto3" json:"job_trigger,omitempty"`
8333	// Mask to control which fields get updated.
8334	UpdateMask *field_mask.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
8335}
8336
8337func (x *UpdateJobTriggerRequest) Reset() {
8338	*x = UpdateJobTriggerRequest{}
8339	if protoimpl.UnsafeEnabled {
8340		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[87]
8341		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8342		ms.StoreMessageInfo(mi)
8343	}
8344}
8345
8346func (x *UpdateJobTriggerRequest) String() string {
8347	return protoimpl.X.MessageStringOf(x)
8348}
8349
8350func (*UpdateJobTriggerRequest) ProtoMessage() {}
8351
8352func (x *UpdateJobTriggerRequest) ProtoReflect() protoreflect.Message {
8353	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[87]
8354	if protoimpl.UnsafeEnabled && x != nil {
8355		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8356		if ms.LoadMessageInfo() == nil {
8357			ms.StoreMessageInfo(mi)
8358		}
8359		return ms
8360	}
8361	return mi.MessageOf(x)
8362}
8363
8364// Deprecated: Use UpdateJobTriggerRequest.ProtoReflect.Descriptor instead.
8365func (*UpdateJobTriggerRequest) Descriptor() ([]byte, []int) {
8366	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{87}
8367}
8368
8369func (x *UpdateJobTriggerRequest) GetName() string {
8370	if x != nil {
8371		return x.Name
8372	}
8373	return ""
8374}
8375
8376func (x *UpdateJobTriggerRequest) GetJobTrigger() *JobTrigger {
8377	if x != nil {
8378		return x.JobTrigger
8379	}
8380	return nil
8381}
8382
8383func (x *UpdateJobTriggerRequest) GetUpdateMask() *field_mask.FieldMask {
8384	if x != nil {
8385		return x.UpdateMask
8386	}
8387	return nil
8388}
8389
8390// Request message for GetJobTrigger.
8391type GetJobTriggerRequest struct {
8392	state         protoimpl.MessageState
8393	sizeCache     protoimpl.SizeCache
8394	unknownFields protoimpl.UnknownFields
8395
8396	// Required. Resource name of the project and the triggeredJob, for example
8397	// `projects/dlp-test-project/jobTriggers/53234423`.
8398	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
8399}
8400
8401func (x *GetJobTriggerRequest) Reset() {
8402	*x = GetJobTriggerRequest{}
8403	if protoimpl.UnsafeEnabled {
8404		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[88]
8405		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8406		ms.StoreMessageInfo(mi)
8407	}
8408}
8409
8410func (x *GetJobTriggerRequest) String() string {
8411	return protoimpl.X.MessageStringOf(x)
8412}
8413
8414func (*GetJobTriggerRequest) ProtoMessage() {}
8415
8416func (x *GetJobTriggerRequest) ProtoReflect() protoreflect.Message {
8417	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[88]
8418	if protoimpl.UnsafeEnabled && x != nil {
8419		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8420		if ms.LoadMessageInfo() == nil {
8421			ms.StoreMessageInfo(mi)
8422		}
8423		return ms
8424	}
8425	return mi.MessageOf(x)
8426}
8427
8428// Deprecated: Use GetJobTriggerRequest.ProtoReflect.Descriptor instead.
8429func (*GetJobTriggerRequest) Descriptor() ([]byte, []int) {
8430	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{88}
8431}
8432
8433func (x *GetJobTriggerRequest) GetName() string {
8434	if x != nil {
8435		return x.Name
8436	}
8437	return ""
8438}
8439
8440// Request message for CreateDlpJobRequest. Used to initiate long running
8441// jobs such as calculating risk metrics or inspecting Google Cloud
8442// Storage.
8443type CreateDlpJobRequest struct {
8444	state         protoimpl.MessageState
8445	sizeCache     protoimpl.SizeCache
8446	unknownFields protoimpl.UnknownFields
8447
8448	// Required. The parent resource name, for example projects/my-project-id
8449	// or projects/my-project-id/locations/{location_id}.
8450	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
8451	// The configuration details for the specific type of job to run.
8452	//
8453	// Types that are assignable to Job:
8454	//	*CreateDlpJobRequest_InspectJob
8455	//	*CreateDlpJobRequest_RiskJob
8456	Job isCreateDlpJobRequest_Job `protobuf_oneof:"job"`
8457	// The job id can contain uppercase and lowercase letters,
8458	// numbers, and hyphens; that is, it must match the regular
8459	// expression: `[a-zA-Z\\d-_]+`. The maximum length is 100
8460	// characters. Can be empty to allow the system to generate one.
8461	JobId string `protobuf:"bytes,4,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
8462	// Deprecated. This field has no effect.
8463	LocationId string `protobuf:"bytes,5,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"`
8464}
8465
8466func (x *CreateDlpJobRequest) Reset() {
8467	*x = CreateDlpJobRequest{}
8468	if protoimpl.UnsafeEnabled {
8469		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[89]
8470		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8471		ms.StoreMessageInfo(mi)
8472	}
8473}
8474
8475func (x *CreateDlpJobRequest) String() string {
8476	return protoimpl.X.MessageStringOf(x)
8477}
8478
8479func (*CreateDlpJobRequest) ProtoMessage() {}
8480
8481func (x *CreateDlpJobRequest) ProtoReflect() protoreflect.Message {
8482	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[89]
8483	if protoimpl.UnsafeEnabled && x != nil {
8484		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8485		if ms.LoadMessageInfo() == nil {
8486			ms.StoreMessageInfo(mi)
8487		}
8488		return ms
8489	}
8490	return mi.MessageOf(x)
8491}
8492
8493// Deprecated: Use CreateDlpJobRequest.ProtoReflect.Descriptor instead.
8494func (*CreateDlpJobRequest) Descriptor() ([]byte, []int) {
8495	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{89}
8496}
8497
8498func (x *CreateDlpJobRequest) GetParent() string {
8499	if x != nil {
8500		return x.Parent
8501	}
8502	return ""
8503}
8504
8505func (m *CreateDlpJobRequest) GetJob() isCreateDlpJobRequest_Job {
8506	if m != nil {
8507		return m.Job
8508	}
8509	return nil
8510}
8511
8512func (x *CreateDlpJobRequest) GetInspectJob() *InspectJobConfig {
8513	if x, ok := x.GetJob().(*CreateDlpJobRequest_InspectJob); ok {
8514		return x.InspectJob
8515	}
8516	return nil
8517}
8518
8519func (x *CreateDlpJobRequest) GetRiskJob() *RiskAnalysisJobConfig {
8520	if x, ok := x.GetJob().(*CreateDlpJobRequest_RiskJob); ok {
8521		return x.RiskJob
8522	}
8523	return nil
8524}
8525
8526func (x *CreateDlpJobRequest) GetJobId() string {
8527	if x != nil {
8528		return x.JobId
8529	}
8530	return ""
8531}
8532
8533func (x *CreateDlpJobRequest) GetLocationId() string {
8534	if x != nil {
8535		return x.LocationId
8536	}
8537	return ""
8538}
8539
8540type isCreateDlpJobRequest_Job interface {
8541	isCreateDlpJobRequest_Job()
8542}
8543
8544type CreateDlpJobRequest_InspectJob struct {
8545	// Set to control what and how to inspect.
8546	InspectJob *InspectJobConfig `protobuf:"bytes,2,opt,name=inspect_job,json=inspectJob,proto3,oneof"`
8547}
8548
8549type CreateDlpJobRequest_RiskJob struct {
8550	// Set to choose what metric to calculate.
8551	RiskJob *RiskAnalysisJobConfig `protobuf:"bytes,3,opt,name=risk_job,json=riskJob,proto3,oneof"`
8552}
8553
8554func (*CreateDlpJobRequest_InspectJob) isCreateDlpJobRequest_Job() {}
8555
8556func (*CreateDlpJobRequest_RiskJob) isCreateDlpJobRequest_Job() {}
8557
8558// Request message for ListJobTriggers.
8559type ListJobTriggersRequest struct {
8560	state         protoimpl.MessageState
8561	sizeCache     protoimpl.SizeCache
8562	unknownFields protoimpl.UnknownFields
8563
8564	// Required. The parent resource name, for example `projects/my-project-id`
8565	// or projects/my-project-id/locations/{location_id}.
8566	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
8567	// Page token to continue retrieval. Comes from previous call
8568	// to ListJobTriggers. `order_by` field must not
8569	// change for subsequent calls.
8570	PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
8571	// Size of the page, can be limited by a server.
8572	PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
8573	// Comma separated list of triggeredJob fields to order by,
8574	// followed by `asc` or `desc` postfix. This list is case-insensitive,
8575	// default sorting order is ascending, redundant space characters are
8576	// insignificant.
8577	//
8578	// Example: `name asc,update_time, create_time desc`
8579	//
8580	// Supported fields are:
8581	//
8582	// - `create_time`: corresponds to time the JobTrigger was created.
8583	// - `update_time`: corresponds to time the JobTrigger was last updated.
8584	// - `last_run_time`: corresponds to the last time the JobTrigger ran.
8585	// - `name`: corresponds to JobTrigger's name.
8586	// - `display_name`: corresponds to JobTrigger's display name.
8587	// - `status`: corresponds to JobTrigger's status.
8588	OrderBy string `protobuf:"bytes,4,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
8589	// Allows filtering.
8590	//
8591	// Supported syntax:
8592	//
8593	// * Filter expressions are made up of one or more restrictions.
8594	// * Restrictions can be combined by `AND` or `OR` logical operators. A
8595	// sequence of restrictions implicitly uses `AND`.
8596	// * A restriction has the form of `{field} {operator} {value}`.
8597	// * Supported fields/values for inspect jobs:
8598	//     - `status` - HEALTHY|PAUSED|CANCELLED
8599	//     - `inspected_storage` - DATASTORE|CLOUD_STORAGE|BIGQUERY
8600	//     - 'last_run_time` - RFC 3339 formatted timestamp, surrounded by
8601	//     quotation marks. Nanoseconds are ignored.
8602	//     - 'error_count' - Number of errors that have occurred while running.
8603	// * The operator must be `=` or `!=` for status and inspected_storage.
8604	//
8605	// Examples:
8606	//
8607	// * inspected_storage = cloud_storage AND status = HEALTHY
8608	// * inspected_storage = cloud_storage OR inspected_storage = bigquery
8609	// * inspected_storage = cloud_storage AND (state = PAUSED OR state = HEALTHY)
8610	// * last_run_time > \"2017-12-12T00:00:00+00:00\"
8611	//
8612	// The length of this field should be no more than 500 characters.
8613	Filter string `protobuf:"bytes,5,opt,name=filter,proto3" json:"filter,omitempty"`
8614	// Deprecated. This field has no effect.
8615	LocationId string `protobuf:"bytes,7,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"`
8616}
8617
8618func (x *ListJobTriggersRequest) Reset() {
8619	*x = ListJobTriggersRequest{}
8620	if protoimpl.UnsafeEnabled {
8621		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[90]
8622		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8623		ms.StoreMessageInfo(mi)
8624	}
8625}
8626
8627func (x *ListJobTriggersRequest) String() string {
8628	return protoimpl.X.MessageStringOf(x)
8629}
8630
8631func (*ListJobTriggersRequest) ProtoMessage() {}
8632
8633func (x *ListJobTriggersRequest) ProtoReflect() protoreflect.Message {
8634	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[90]
8635	if protoimpl.UnsafeEnabled && x != nil {
8636		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8637		if ms.LoadMessageInfo() == nil {
8638			ms.StoreMessageInfo(mi)
8639		}
8640		return ms
8641	}
8642	return mi.MessageOf(x)
8643}
8644
8645// Deprecated: Use ListJobTriggersRequest.ProtoReflect.Descriptor instead.
8646func (*ListJobTriggersRequest) Descriptor() ([]byte, []int) {
8647	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{90}
8648}
8649
8650func (x *ListJobTriggersRequest) GetParent() string {
8651	if x != nil {
8652		return x.Parent
8653	}
8654	return ""
8655}
8656
8657func (x *ListJobTriggersRequest) GetPageToken() string {
8658	if x != nil {
8659		return x.PageToken
8660	}
8661	return ""
8662}
8663
8664func (x *ListJobTriggersRequest) GetPageSize() int32 {
8665	if x != nil {
8666		return x.PageSize
8667	}
8668	return 0
8669}
8670
8671func (x *ListJobTriggersRequest) GetOrderBy() string {
8672	if x != nil {
8673		return x.OrderBy
8674	}
8675	return ""
8676}
8677
8678func (x *ListJobTriggersRequest) GetFilter() string {
8679	if x != nil {
8680		return x.Filter
8681	}
8682	return ""
8683}
8684
8685func (x *ListJobTriggersRequest) GetLocationId() string {
8686	if x != nil {
8687		return x.LocationId
8688	}
8689	return ""
8690}
8691
8692// Response message for ListJobTriggers.
8693type ListJobTriggersResponse struct {
8694	state         protoimpl.MessageState
8695	sizeCache     protoimpl.SizeCache
8696	unknownFields protoimpl.UnknownFields
8697
8698	// List of triggeredJobs, up to page_size in ListJobTriggersRequest.
8699	JobTriggers []*JobTrigger `protobuf:"bytes,1,rep,name=job_triggers,json=jobTriggers,proto3" json:"job_triggers,omitempty"`
8700	// If the next page is available then the next page token to be used
8701	// in following ListJobTriggers request.
8702	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
8703}
8704
8705func (x *ListJobTriggersResponse) Reset() {
8706	*x = ListJobTriggersResponse{}
8707	if protoimpl.UnsafeEnabled {
8708		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[91]
8709		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8710		ms.StoreMessageInfo(mi)
8711	}
8712}
8713
8714func (x *ListJobTriggersResponse) String() string {
8715	return protoimpl.X.MessageStringOf(x)
8716}
8717
8718func (*ListJobTriggersResponse) ProtoMessage() {}
8719
8720func (x *ListJobTriggersResponse) ProtoReflect() protoreflect.Message {
8721	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[91]
8722	if protoimpl.UnsafeEnabled && x != nil {
8723		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8724		if ms.LoadMessageInfo() == nil {
8725			ms.StoreMessageInfo(mi)
8726		}
8727		return ms
8728	}
8729	return mi.MessageOf(x)
8730}
8731
8732// Deprecated: Use ListJobTriggersResponse.ProtoReflect.Descriptor instead.
8733func (*ListJobTriggersResponse) Descriptor() ([]byte, []int) {
8734	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{91}
8735}
8736
8737func (x *ListJobTriggersResponse) GetJobTriggers() []*JobTrigger {
8738	if x != nil {
8739		return x.JobTriggers
8740	}
8741	return nil
8742}
8743
8744func (x *ListJobTriggersResponse) GetNextPageToken() string {
8745	if x != nil {
8746		return x.NextPageToken
8747	}
8748	return ""
8749}
8750
8751// Request message for DeleteJobTrigger.
8752type DeleteJobTriggerRequest struct {
8753	state         protoimpl.MessageState
8754	sizeCache     protoimpl.SizeCache
8755	unknownFields protoimpl.UnknownFields
8756
8757	// Required. Resource name of the project and the triggeredJob, for example
8758	// `projects/dlp-test-project/jobTriggers/53234423`.
8759	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
8760}
8761
8762func (x *DeleteJobTriggerRequest) Reset() {
8763	*x = DeleteJobTriggerRequest{}
8764	if protoimpl.UnsafeEnabled {
8765		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[92]
8766		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8767		ms.StoreMessageInfo(mi)
8768	}
8769}
8770
8771func (x *DeleteJobTriggerRequest) String() string {
8772	return protoimpl.X.MessageStringOf(x)
8773}
8774
8775func (*DeleteJobTriggerRequest) ProtoMessage() {}
8776
8777func (x *DeleteJobTriggerRequest) ProtoReflect() protoreflect.Message {
8778	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[92]
8779	if protoimpl.UnsafeEnabled && x != nil {
8780		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8781		if ms.LoadMessageInfo() == nil {
8782			ms.StoreMessageInfo(mi)
8783		}
8784		return ms
8785	}
8786	return mi.MessageOf(x)
8787}
8788
8789// Deprecated: Use DeleteJobTriggerRequest.ProtoReflect.Descriptor instead.
8790func (*DeleteJobTriggerRequest) Descriptor() ([]byte, []int) {
8791	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{92}
8792}
8793
8794func (x *DeleteJobTriggerRequest) GetName() string {
8795	if x != nil {
8796		return x.Name
8797	}
8798	return ""
8799}
8800
8801// Controls what and how to inspect for findings.
8802type InspectJobConfig struct {
8803	state         protoimpl.MessageState
8804	sizeCache     protoimpl.SizeCache
8805	unknownFields protoimpl.UnknownFields
8806
8807	// The data to scan.
8808	StorageConfig *StorageConfig `protobuf:"bytes,1,opt,name=storage_config,json=storageConfig,proto3" json:"storage_config,omitempty"`
8809	// How and what to scan for.
8810	InspectConfig *InspectConfig `protobuf:"bytes,2,opt,name=inspect_config,json=inspectConfig,proto3" json:"inspect_config,omitempty"`
8811	// If provided, will be used as the default for all values in InspectConfig.
8812	// `inspect_config` will be merged into the values persisted as part of the
8813	// template.
8814	InspectTemplateName string `protobuf:"bytes,3,opt,name=inspect_template_name,json=inspectTemplateName,proto3" json:"inspect_template_name,omitempty"`
8815	// Actions to execute at the completion of the job.
8816	Actions []*Action `protobuf:"bytes,4,rep,name=actions,proto3" json:"actions,omitempty"`
8817}
8818
8819func (x *InspectJobConfig) Reset() {
8820	*x = InspectJobConfig{}
8821	if protoimpl.UnsafeEnabled {
8822		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[93]
8823		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8824		ms.StoreMessageInfo(mi)
8825	}
8826}
8827
8828func (x *InspectJobConfig) String() string {
8829	return protoimpl.X.MessageStringOf(x)
8830}
8831
8832func (*InspectJobConfig) ProtoMessage() {}
8833
8834func (x *InspectJobConfig) ProtoReflect() protoreflect.Message {
8835	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[93]
8836	if protoimpl.UnsafeEnabled && x != nil {
8837		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8838		if ms.LoadMessageInfo() == nil {
8839			ms.StoreMessageInfo(mi)
8840		}
8841		return ms
8842	}
8843	return mi.MessageOf(x)
8844}
8845
8846// Deprecated: Use InspectJobConfig.ProtoReflect.Descriptor instead.
8847func (*InspectJobConfig) Descriptor() ([]byte, []int) {
8848	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{93}
8849}
8850
8851func (x *InspectJobConfig) GetStorageConfig() *StorageConfig {
8852	if x != nil {
8853		return x.StorageConfig
8854	}
8855	return nil
8856}
8857
8858func (x *InspectJobConfig) GetInspectConfig() *InspectConfig {
8859	if x != nil {
8860		return x.InspectConfig
8861	}
8862	return nil
8863}
8864
8865func (x *InspectJobConfig) GetInspectTemplateName() string {
8866	if x != nil {
8867		return x.InspectTemplateName
8868	}
8869	return ""
8870}
8871
8872func (x *InspectJobConfig) GetActions() []*Action {
8873	if x != nil {
8874		return x.Actions
8875	}
8876	return nil
8877}
8878
8879// Combines all of the information about a DLP job.
8880type DlpJob struct {
8881	state         protoimpl.MessageState
8882	sizeCache     protoimpl.SizeCache
8883	unknownFields protoimpl.UnknownFields
8884
8885	// The server-assigned name.
8886	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
8887	// The type of job.
8888	Type DlpJobType `protobuf:"varint,2,opt,name=type,proto3,enum=google.privacy.dlp.v2.DlpJobType" json:"type,omitempty"`
8889	// State of a job.
8890	State DlpJob_JobState `protobuf:"varint,3,opt,name=state,proto3,enum=google.privacy.dlp.v2.DlpJob_JobState" json:"state,omitempty"`
8891	// Types that are assignable to Details:
8892	//	*DlpJob_RiskDetails
8893	//	*DlpJob_InspectDetails
8894	Details isDlpJob_Details `protobuf_oneof:"details"`
8895	// Time when the job was created.
8896	CreateTime *timestamp.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
8897	// Time when the job started.
8898	StartTime *timestamp.Timestamp `protobuf:"bytes,7,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
8899	// Time when the job finished.
8900	EndTime *timestamp.Timestamp `protobuf:"bytes,8,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
8901	// If created by a job trigger, the resource name of the trigger that
8902	// instantiated the job.
8903	JobTriggerName string `protobuf:"bytes,10,opt,name=job_trigger_name,json=jobTriggerName,proto3" json:"job_trigger_name,omitempty"`
8904	// A stream of errors encountered running the job.
8905	Errors []*Error `protobuf:"bytes,11,rep,name=errors,proto3" json:"errors,omitempty"`
8906}
8907
8908func (x *DlpJob) Reset() {
8909	*x = DlpJob{}
8910	if protoimpl.UnsafeEnabled {
8911		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[94]
8912		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8913		ms.StoreMessageInfo(mi)
8914	}
8915}
8916
8917func (x *DlpJob) String() string {
8918	return protoimpl.X.MessageStringOf(x)
8919}
8920
8921func (*DlpJob) ProtoMessage() {}
8922
8923func (x *DlpJob) ProtoReflect() protoreflect.Message {
8924	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[94]
8925	if protoimpl.UnsafeEnabled && x != nil {
8926		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
8927		if ms.LoadMessageInfo() == nil {
8928			ms.StoreMessageInfo(mi)
8929		}
8930		return ms
8931	}
8932	return mi.MessageOf(x)
8933}
8934
8935// Deprecated: Use DlpJob.ProtoReflect.Descriptor instead.
8936func (*DlpJob) Descriptor() ([]byte, []int) {
8937	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{94}
8938}
8939
8940func (x *DlpJob) GetName() string {
8941	if x != nil {
8942		return x.Name
8943	}
8944	return ""
8945}
8946
8947func (x *DlpJob) GetType() DlpJobType {
8948	if x != nil {
8949		return x.Type
8950	}
8951	return DlpJobType_DLP_JOB_TYPE_UNSPECIFIED
8952}
8953
8954func (x *DlpJob) GetState() DlpJob_JobState {
8955	if x != nil {
8956		return x.State
8957	}
8958	return DlpJob_JOB_STATE_UNSPECIFIED
8959}
8960
8961func (m *DlpJob) GetDetails() isDlpJob_Details {
8962	if m != nil {
8963		return m.Details
8964	}
8965	return nil
8966}
8967
8968func (x *DlpJob) GetRiskDetails() *AnalyzeDataSourceRiskDetails {
8969	if x, ok := x.GetDetails().(*DlpJob_RiskDetails); ok {
8970		return x.RiskDetails
8971	}
8972	return nil
8973}
8974
8975func (x *DlpJob) GetInspectDetails() *InspectDataSourceDetails {
8976	if x, ok := x.GetDetails().(*DlpJob_InspectDetails); ok {
8977		return x.InspectDetails
8978	}
8979	return nil
8980}
8981
8982func (x *DlpJob) GetCreateTime() *timestamp.Timestamp {
8983	if x != nil {
8984		return x.CreateTime
8985	}
8986	return nil
8987}
8988
8989func (x *DlpJob) GetStartTime() *timestamp.Timestamp {
8990	if x != nil {
8991		return x.StartTime
8992	}
8993	return nil
8994}
8995
8996func (x *DlpJob) GetEndTime() *timestamp.Timestamp {
8997	if x != nil {
8998		return x.EndTime
8999	}
9000	return nil
9001}
9002
9003func (x *DlpJob) GetJobTriggerName() string {
9004	if x != nil {
9005		return x.JobTriggerName
9006	}
9007	return ""
9008}
9009
9010func (x *DlpJob) GetErrors() []*Error {
9011	if x != nil {
9012		return x.Errors
9013	}
9014	return nil
9015}
9016
9017type isDlpJob_Details interface {
9018	isDlpJob_Details()
9019}
9020
9021type DlpJob_RiskDetails struct {
9022	// Results from analyzing risk of a data source.
9023	RiskDetails *AnalyzeDataSourceRiskDetails `protobuf:"bytes,4,opt,name=risk_details,json=riskDetails,proto3,oneof"`
9024}
9025
9026type DlpJob_InspectDetails struct {
9027	// Results from inspecting a data source.
9028	InspectDetails *InspectDataSourceDetails `protobuf:"bytes,5,opt,name=inspect_details,json=inspectDetails,proto3,oneof"`
9029}
9030
9031func (*DlpJob_RiskDetails) isDlpJob_Details() {}
9032
9033func (*DlpJob_InspectDetails) isDlpJob_Details() {}
9034
9035// The request message for [DlpJobs.GetDlpJob][].
9036type GetDlpJobRequest struct {
9037	state         protoimpl.MessageState
9038	sizeCache     protoimpl.SizeCache
9039	unknownFields protoimpl.UnknownFields
9040
9041	// Required. The name of the DlpJob resource.
9042	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
9043}
9044
9045func (x *GetDlpJobRequest) Reset() {
9046	*x = GetDlpJobRequest{}
9047	if protoimpl.UnsafeEnabled {
9048		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[95]
9049		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9050		ms.StoreMessageInfo(mi)
9051	}
9052}
9053
9054func (x *GetDlpJobRequest) String() string {
9055	return protoimpl.X.MessageStringOf(x)
9056}
9057
9058func (*GetDlpJobRequest) ProtoMessage() {}
9059
9060func (x *GetDlpJobRequest) ProtoReflect() protoreflect.Message {
9061	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[95]
9062	if protoimpl.UnsafeEnabled && x != nil {
9063		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9064		if ms.LoadMessageInfo() == nil {
9065			ms.StoreMessageInfo(mi)
9066		}
9067		return ms
9068	}
9069	return mi.MessageOf(x)
9070}
9071
9072// Deprecated: Use GetDlpJobRequest.ProtoReflect.Descriptor instead.
9073func (*GetDlpJobRequest) Descriptor() ([]byte, []int) {
9074	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{95}
9075}
9076
9077func (x *GetDlpJobRequest) GetName() string {
9078	if x != nil {
9079		return x.Name
9080	}
9081	return ""
9082}
9083
9084// The request message for listing DLP jobs.
9085type ListDlpJobsRequest struct {
9086	state         protoimpl.MessageState
9087	sizeCache     protoimpl.SizeCache
9088	unknownFields protoimpl.UnknownFields
9089
9090	// Required. The parent resource name, for example projects/my-project-id
9091	// or projects/my-project-id/locations/{location_id}.
9092	Parent string `protobuf:"bytes,4,opt,name=parent,proto3" json:"parent,omitempty"`
9093	// Allows filtering.
9094	//
9095	// Supported syntax:
9096	//
9097	// * Filter expressions are made up of one or more restrictions.
9098	// * Restrictions can be combined by `AND` or `OR` logical operators. A
9099	// sequence of restrictions implicitly uses `AND`.
9100	// * A restriction has the form of `{field} {operator} {value}`.
9101	// * Supported fields/values for inspect jobs:
9102	//     - `state` - PENDING|RUNNING|CANCELED|FINISHED|FAILED
9103	//     - `inspected_storage` - DATASTORE|CLOUD_STORAGE|BIGQUERY
9104	//     - `trigger_name` - The resource name of the trigger that created job.
9105	//     - 'end_time` - Corresponds to time the job finished.
9106	//     - 'start_time` - Corresponds to time the job finished.
9107	// * Supported fields for risk analysis jobs:
9108	//     - `state` - RUNNING|CANCELED|FINISHED|FAILED
9109	//     - 'end_time` - Corresponds to time the job finished.
9110	//     - 'start_time` - Corresponds to time the job finished.
9111	// * The operator must be `=` or `!=`.
9112	//
9113	// Examples:
9114	//
9115	// * inspected_storage = cloud_storage AND state = done
9116	// * inspected_storage = cloud_storage OR inspected_storage = bigquery
9117	// * inspected_storage = cloud_storage AND (state = done OR state = canceled)
9118	// * end_time > \"2017-12-12T00:00:00+00:00\"
9119	//
9120	// The length of this field should be no more than 500 characters.
9121	Filter string `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"`
9122	// The standard list page size.
9123	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
9124	// The standard list page token.
9125	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
9126	// The type of job. Defaults to `DlpJobType.INSPECT`
9127	Type DlpJobType `protobuf:"varint,5,opt,name=type,proto3,enum=google.privacy.dlp.v2.DlpJobType" json:"type,omitempty"`
9128	// Comma separated list of fields to order by,
9129	// followed by `asc` or `desc` postfix. This list is case-insensitive,
9130	// default sorting order is ascending, redundant space characters are
9131	// insignificant.
9132	//
9133	// Example: `name asc, end_time asc, create_time desc`
9134	//
9135	// Supported fields are:
9136	//
9137	// - `create_time`: corresponds to time the job was created.
9138	// - `end_time`: corresponds to time the job ended.
9139	// - `name`: corresponds to job's name.
9140	// - `state`: corresponds to `state`
9141	OrderBy string `protobuf:"bytes,6,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
9142	// Deprecated. This field has no effect.
9143	LocationId string `protobuf:"bytes,7,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"`
9144}
9145
9146func (x *ListDlpJobsRequest) Reset() {
9147	*x = ListDlpJobsRequest{}
9148	if protoimpl.UnsafeEnabled {
9149		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[96]
9150		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9151		ms.StoreMessageInfo(mi)
9152	}
9153}
9154
9155func (x *ListDlpJobsRequest) String() string {
9156	return protoimpl.X.MessageStringOf(x)
9157}
9158
9159func (*ListDlpJobsRequest) ProtoMessage() {}
9160
9161func (x *ListDlpJobsRequest) ProtoReflect() protoreflect.Message {
9162	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[96]
9163	if protoimpl.UnsafeEnabled && x != nil {
9164		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9165		if ms.LoadMessageInfo() == nil {
9166			ms.StoreMessageInfo(mi)
9167		}
9168		return ms
9169	}
9170	return mi.MessageOf(x)
9171}
9172
9173// Deprecated: Use ListDlpJobsRequest.ProtoReflect.Descriptor instead.
9174func (*ListDlpJobsRequest) Descriptor() ([]byte, []int) {
9175	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{96}
9176}
9177
9178func (x *ListDlpJobsRequest) GetParent() string {
9179	if x != nil {
9180		return x.Parent
9181	}
9182	return ""
9183}
9184
9185func (x *ListDlpJobsRequest) GetFilter() string {
9186	if x != nil {
9187		return x.Filter
9188	}
9189	return ""
9190}
9191
9192func (x *ListDlpJobsRequest) GetPageSize() int32 {
9193	if x != nil {
9194		return x.PageSize
9195	}
9196	return 0
9197}
9198
9199func (x *ListDlpJobsRequest) GetPageToken() string {
9200	if x != nil {
9201		return x.PageToken
9202	}
9203	return ""
9204}
9205
9206func (x *ListDlpJobsRequest) GetType() DlpJobType {
9207	if x != nil {
9208		return x.Type
9209	}
9210	return DlpJobType_DLP_JOB_TYPE_UNSPECIFIED
9211}
9212
9213func (x *ListDlpJobsRequest) GetOrderBy() string {
9214	if x != nil {
9215		return x.OrderBy
9216	}
9217	return ""
9218}
9219
9220func (x *ListDlpJobsRequest) GetLocationId() string {
9221	if x != nil {
9222		return x.LocationId
9223	}
9224	return ""
9225}
9226
9227// The response message for listing DLP jobs.
9228type ListDlpJobsResponse struct {
9229	state         protoimpl.MessageState
9230	sizeCache     protoimpl.SizeCache
9231	unknownFields protoimpl.UnknownFields
9232
9233	// A list of DlpJobs that matches the specified filter in the request.
9234	Jobs []*DlpJob `protobuf:"bytes,1,rep,name=jobs,proto3" json:"jobs,omitempty"`
9235	// The standard List next-page token.
9236	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
9237}
9238
9239func (x *ListDlpJobsResponse) Reset() {
9240	*x = ListDlpJobsResponse{}
9241	if protoimpl.UnsafeEnabled {
9242		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[97]
9243		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9244		ms.StoreMessageInfo(mi)
9245	}
9246}
9247
9248func (x *ListDlpJobsResponse) String() string {
9249	return protoimpl.X.MessageStringOf(x)
9250}
9251
9252func (*ListDlpJobsResponse) ProtoMessage() {}
9253
9254func (x *ListDlpJobsResponse) ProtoReflect() protoreflect.Message {
9255	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[97]
9256	if protoimpl.UnsafeEnabled && x != nil {
9257		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9258		if ms.LoadMessageInfo() == nil {
9259			ms.StoreMessageInfo(mi)
9260		}
9261		return ms
9262	}
9263	return mi.MessageOf(x)
9264}
9265
9266// Deprecated: Use ListDlpJobsResponse.ProtoReflect.Descriptor instead.
9267func (*ListDlpJobsResponse) Descriptor() ([]byte, []int) {
9268	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{97}
9269}
9270
9271func (x *ListDlpJobsResponse) GetJobs() []*DlpJob {
9272	if x != nil {
9273		return x.Jobs
9274	}
9275	return nil
9276}
9277
9278func (x *ListDlpJobsResponse) GetNextPageToken() string {
9279	if x != nil {
9280		return x.NextPageToken
9281	}
9282	return ""
9283}
9284
9285// The request message for canceling a DLP job.
9286type CancelDlpJobRequest struct {
9287	state         protoimpl.MessageState
9288	sizeCache     protoimpl.SizeCache
9289	unknownFields protoimpl.UnknownFields
9290
9291	// Required. The name of the DlpJob resource to be cancelled.
9292	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
9293}
9294
9295func (x *CancelDlpJobRequest) Reset() {
9296	*x = CancelDlpJobRequest{}
9297	if protoimpl.UnsafeEnabled {
9298		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[98]
9299		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9300		ms.StoreMessageInfo(mi)
9301	}
9302}
9303
9304func (x *CancelDlpJobRequest) String() string {
9305	return protoimpl.X.MessageStringOf(x)
9306}
9307
9308func (*CancelDlpJobRequest) ProtoMessage() {}
9309
9310func (x *CancelDlpJobRequest) ProtoReflect() protoreflect.Message {
9311	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[98]
9312	if protoimpl.UnsafeEnabled && x != nil {
9313		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9314		if ms.LoadMessageInfo() == nil {
9315			ms.StoreMessageInfo(mi)
9316		}
9317		return ms
9318	}
9319	return mi.MessageOf(x)
9320}
9321
9322// Deprecated: Use CancelDlpJobRequest.ProtoReflect.Descriptor instead.
9323func (*CancelDlpJobRequest) Descriptor() ([]byte, []int) {
9324	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{98}
9325}
9326
9327func (x *CancelDlpJobRequest) GetName() string {
9328	if x != nil {
9329		return x.Name
9330	}
9331	return ""
9332}
9333
9334// The request message for finishing a DLP hybrid job.
9335type FinishDlpJobRequest struct {
9336	state         protoimpl.MessageState
9337	sizeCache     protoimpl.SizeCache
9338	unknownFields protoimpl.UnknownFields
9339
9340	// Required. The name of the DlpJob resource to be cancelled.
9341	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
9342}
9343
9344func (x *FinishDlpJobRequest) Reset() {
9345	*x = FinishDlpJobRequest{}
9346	if protoimpl.UnsafeEnabled {
9347		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[99]
9348		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9349		ms.StoreMessageInfo(mi)
9350	}
9351}
9352
9353func (x *FinishDlpJobRequest) String() string {
9354	return protoimpl.X.MessageStringOf(x)
9355}
9356
9357func (*FinishDlpJobRequest) ProtoMessage() {}
9358
9359func (x *FinishDlpJobRequest) ProtoReflect() protoreflect.Message {
9360	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[99]
9361	if protoimpl.UnsafeEnabled && x != nil {
9362		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9363		if ms.LoadMessageInfo() == nil {
9364			ms.StoreMessageInfo(mi)
9365		}
9366		return ms
9367	}
9368	return mi.MessageOf(x)
9369}
9370
9371// Deprecated: Use FinishDlpJobRequest.ProtoReflect.Descriptor instead.
9372func (*FinishDlpJobRequest) Descriptor() ([]byte, []int) {
9373	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{99}
9374}
9375
9376func (x *FinishDlpJobRequest) GetName() string {
9377	if x != nil {
9378		return x.Name
9379	}
9380	return ""
9381}
9382
9383// The request message for deleting a DLP job.
9384type DeleteDlpJobRequest struct {
9385	state         protoimpl.MessageState
9386	sizeCache     protoimpl.SizeCache
9387	unknownFields protoimpl.UnknownFields
9388
9389	// Required. The name of the DlpJob resource to be deleted.
9390	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
9391}
9392
9393func (x *DeleteDlpJobRequest) Reset() {
9394	*x = DeleteDlpJobRequest{}
9395	if protoimpl.UnsafeEnabled {
9396		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[100]
9397		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9398		ms.StoreMessageInfo(mi)
9399	}
9400}
9401
9402func (x *DeleteDlpJobRequest) String() string {
9403	return protoimpl.X.MessageStringOf(x)
9404}
9405
9406func (*DeleteDlpJobRequest) ProtoMessage() {}
9407
9408func (x *DeleteDlpJobRequest) ProtoReflect() protoreflect.Message {
9409	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[100]
9410	if protoimpl.UnsafeEnabled && x != nil {
9411		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9412		if ms.LoadMessageInfo() == nil {
9413			ms.StoreMessageInfo(mi)
9414		}
9415		return ms
9416	}
9417	return mi.MessageOf(x)
9418}
9419
9420// Deprecated: Use DeleteDlpJobRequest.ProtoReflect.Descriptor instead.
9421func (*DeleteDlpJobRequest) Descriptor() ([]byte, []int) {
9422	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{100}
9423}
9424
9425func (x *DeleteDlpJobRequest) GetName() string {
9426	if x != nil {
9427		return x.Name
9428	}
9429	return ""
9430}
9431
9432// Request message for CreateDeidentifyTemplate.
9433type CreateDeidentifyTemplateRequest struct {
9434	state         protoimpl.MessageState
9435	sizeCache     protoimpl.SizeCache
9436	unknownFields protoimpl.UnknownFields
9437
9438	// Required. The parent resource name, for example projects/my-project-id or
9439	// organizations/my-org-id or projects/my-project-id/locations/{location_id}.
9440	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
9441	// Required. The DeidentifyTemplate to create.
9442	DeidentifyTemplate *DeidentifyTemplate `protobuf:"bytes,2,opt,name=deidentify_template,json=deidentifyTemplate,proto3" json:"deidentify_template,omitempty"`
9443	// The template id can contain uppercase and lowercase letters,
9444	// numbers, and hyphens; that is, it must match the regular
9445	// expression: `[a-zA-Z\\d-_]+`. The maximum length is 100
9446	// characters. Can be empty to allow the system to generate one.
9447	TemplateId string `protobuf:"bytes,3,opt,name=template_id,json=templateId,proto3" json:"template_id,omitempty"`
9448	// Deprecated. This field has no effect.
9449	LocationId string `protobuf:"bytes,4,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"`
9450}
9451
9452func (x *CreateDeidentifyTemplateRequest) Reset() {
9453	*x = CreateDeidentifyTemplateRequest{}
9454	if protoimpl.UnsafeEnabled {
9455		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[101]
9456		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9457		ms.StoreMessageInfo(mi)
9458	}
9459}
9460
9461func (x *CreateDeidentifyTemplateRequest) String() string {
9462	return protoimpl.X.MessageStringOf(x)
9463}
9464
9465func (*CreateDeidentifyTemplateRequest) ProtoMessage() {}
9466
9467func (x *CreateDeidentifyTemplateRequest) ProtoReflect() protoreflect.Message {
9468	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[101]
9469	if protoimpl.UnsafeEnabled && x != nil {
9470		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9471		if ms.LoadMessageInfo() == nil {
9472			ms.StoreMessageInfo(mi)
9473		}
9474		return ms
9475	}
9476	return mi.MessageOf(x)
9477}
9478
9479// Deprecated: Use CreateDeidentifyTemplateRequest.ProtoReflect.Descriptor instead.
9480func (*CreateDeidentifyTemplateRequest) Descriptor() ([]byte, []int) {
9481	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{101}
9482}
9483
9484func (x *CreateDeidentifyTemplateRequest) GetParent() string {
9485	if x != nil {
9486		return x.Parent
9487	}
9488	return ""
9489}
9490
9491func (x *CreateDeidentifyTemplateRequest) GetDeidentifyTemplate() *DeidentifyTemplate {
9492	if x != nil {
9493		return x.DeidentifyTemplate
9494	}
9495	return nil
9496}
9497
9498func (x *CreateDeidentifyTemplateRequest) GetTemplateId() string {
9499	if x != nil {
9500		return x.TemplateId
9501	}
9502	return ""
9503}
9504
9505func (x *CreateDeidentifyTemplateRequest) GetLocationId() string {
9506	if x != nil {
9507		return x.LocationId
9508	}
9509	return ""
9510}
9511
9512// Request message for UpdateDeidentifyTemplate.
9513type UpdateDeidentifyTemplateRequest struct {
9514	state         protoimpl.MessageState
9515	sizeCache     protoimpl.SizeCache
9516	unknownFields protoimpl.UnknownFields
9517
9518	// Required. Resource name of organization and deidentify template to be
9519	// updated, for example
9520	// `organizations/433245324/deidentifyTemplates/432452342` or
9521	// projects/project-id/deidentifyTemplates/432452342.
9522	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
9523	// New DeidentifyTemplate value.
9524	DeidentifyTemplate *DeidentifyTemplate `protobuf:"bytes,2,opt,name=deidentify_template,json=deidentifyTemplate,proto3" json:"deidentify_template,omitempty"`
9525	// Mask to control which fields get updated.
9526	UpdateMask *field_mask.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
9527}
9528
9529func (x *UpdateDeidentifyTemplateRequest) Reset() {
9530	*x = UpdateDeidentifyTemplateRequest{}
9531	if protoimpl.UnsafeEnabled {
9532		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[102]
9533		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9534		ms.StoreMessageInfo(mi)
9535	}
9536}
9537
9538func (x *UpdateDeidentifyTemplateRequest) String() string {
9539	return protoimpl.X.MessageStringOf(x)
9540}
9541
9542func (*UpdateDeidentifyTemplateRequest) ProtoMessage() {}
9543
9544func (x *UpdateDeidentifyTemplateRequest) ProtoReflect() protoreflect.Message {
9545	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[102]
9546	if protoimpl.UnsafeEnabled && x != nil {
9547		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9548		if ms.LoadMessageInfo() == nil {
9549			ms.StoreMessageInfo(mi)
9550		}
9551		return ms
9552	}
9553	return mi.MessageOf(x)
9554}
9555
9556// Deprecated: Use UpdateDeidentifyTemplateRequest.ProtoReflect.Descriptor instead.
9557func (*UpdateDeidentifyTemplateRequest) Descriptor() ([]byte, []int) {
9558	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{102}
9559}
9560
9561func (x *UpdateDeidentifyTemplateRequest) GetName() string {
9562	if x != nil {
9563		return x.Name
9564	}
9565	return ""
9566}
9567
9568func (x *UpdateDeidentifyTemplateRequest) GetDeidentifyTemplate() *DeidentifyTemplate {
9569	if x != nil {
9570		return x.DeidentifyTemplate
9571	}
9572	return nil
9573}
9574
9575func (x *UpdateDeidentifyTemplateRequest) GetUpdateMask() *field_mask.FieldMask {
9576	if x != nil {
9577		return x.UpdateMask
9578	}
9579	return nil
9580}
9581
9582// Request message for GetDeidentifyTemplate.
9583type GetDeidentifyTemplateRequest struct {
9584	state         protoimpl.MessageState
9585	sizeCache     protoimpl.SizeCache
9586	unknownFields protoimpl.UnknownFields
9587
9588	// Required. Resource name of the organization and deidentify template to be
9589	// read, for example `organizations/433245324/deidentifyTemplates/432452342`
9590	// or projects/project-id/deidentifyTemplates/432452342.
9591	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
9592}
9593
9594func (x *GetDeidentifyTemplateRequest) Reset() {
9595	*x = GetDeidentifyTemplateRequest{}
9596	if protoimpl.UnsafeEnabled {
9597		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[103]
9598		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9599		ms.StoreMessageInfo(mi)
9600	}
9601}
9602
9603func (x *GetDeidentifyTemplateRequest) String() string {
9604	return protoimpl.X.MessageStringOf(x)
9605}
9606
9607func (*GetDeidentifyTemplateRequest) ProtoMessage() {}
9608
9609func (x *GetDeidentifyTemplateRequest) ProtoReflect() protoreflect.Message {
9610	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[103]
9611	if protoimpl.UnsafeEnabled && x != nil {
9612		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9613		if ms.LoadMessageInfo() == nil {
9614			ms.StoreMessageInfo(mi)
9615		}
9616		return ms
9617	}
9618	return mi.MessageOf(x)
9619}
9620
9621// Deprecated: Use GetDeidentifyTemplateRequest.ProtoReflect.Descriptor instead.
9622func (*GetDeidentifyTemplateRequest) Descriptor() ([]byte, []int) {
9623	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{103}
9624}
9625
9626func (x *GetDeidentifyTemplateRequest) GetName() string {
9627	if x != nil {
9628		return x.Name
9629	}
9630	return ""
9631}
9632
9633// Request message for ListDeidentifyTemplates.
9634type ListDeidentifyTemplatesRequest struct {
9635	state         protoimpl.MessageState
9636	sizeCache     protoimpl.SizeCache
9637	unknownFields protoimpl.UnknownFields
9638
9639	// Required. The parent resource name, for example projects/my-project-id or
9640	// organizations/my-org-id or projects/my-project-id/locations/{location_id}.
9641	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
9642	// Page token to continue retrieval. Comes from previous call
9643	// to `ListDeidentifyTemplates`.
9644	PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
9645	// Size of the page, can be limited by server. If zero server returns
9646	// a page of max size 100.
9647	PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
9648	// Comma separated list of fields to order by,
9649	// followed by `asc` or `desc` postfix. This list is case-insensitive,
9650	// default sorting order is ascending, redundant space characters are
9651	// insignificant.
9652	//
9653	// Example: `name asc,update_time, create_time desc`
9654	//
9655	// Supported fields are:
9656	//
9657	// - `create_time`: corresponds to time the template was created.
9658	// - `update_time`: corresponds to time the template was last updated.
9659	// - `name`: corresponds to template's name.
9660	// - `display_name`: corresponds to template's display name.
9661	OrderBy string `protobuf:"bytes,4,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
9662	// Deprecated. This field has no effect.
9663	LocationId string `protobuf:"bytes,5,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"`
9664}
9665
9666func (x *ListDeidentifyTemplatesRequest) Reset() {
9667	*x = ListDeidentifyTemplatesRequest{}
9668	if protoimpl.UnsafeEnabled {
9669		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[104]
9670		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9671		ms.StoreMessageInfo(mi)
9672	}
9673}
9674
9675func (x *ListDeidentifyTemplatesRequest) String() string {
9676	return protoimpl.X.MessageStringOf(x)
9677}
9678
9679func (*ListDeidentifyTemplatesRequest) ProtoMessage() {}
9680
9681func (x *ListDeidentifyTemplatesRequest) ProtoReflect() protoreflect.Message {
9682	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[104]
9683	if protoimpl.UnsafeEnabled && x != nil {
9684		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9685		if ms.LoadMessageInfo() == nil {
9686			ms.StoreMessageInfo(mi)
9687		}
9688		return ms
9689	}
9690	return mi.MessageOf(x)
9691}
9692
9693// Deprecated: Use ListDeidentifyTemplatesRequest.ProtoReflect.Descriptor instead.
9694func (*ListDeidentifyTemplatesRequest) Descriptor() ([]byte, []int) {
9695	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{104}
9696}
9697
9698func (x *ListDeidentifyTemplatesRequest) GetParent() string {
9699	if x != nil {
9700		return x.Parent
9701	}
9702	return ""
9703}
9704
9705func (x *ListDeidentifyTemplatesRequest) GetPageToken() string {
9706	if x != nil {
9707		return x.PageToken
9708	}
9709	return ""
9710}
9711
9712func (x *ListDeidentifyTemplatesRequest) GetPageSize() int32 {
9713	if x != nil {
9714		return x.PageSize
9715	}
9716	return 0
9717}
9718
9719func (x *ListDeidentifyTemplatesRequest) GetOrderBy() string {
9720	if x != nil {
9721		return x.OrderBy
9722	}
9723	return ""
9724}
9725
9726func (x *ListDeidentifyTemplatesRequest) GetLocationId() string {
9727	if x != nil {
9728		return x.LocationId
9729	}
9730	return ""
9731}
9732
9733// Response message for ListDeidentifyTemplates.
9734type ListDeidentifyTemplatesResponse struct {
9735	state         protoimpl.MessageState
9736	sizeCache     protoimpl.SizeCache
9737	unknownFields protoimpl.UnknownFields
9738
9739	// List of deidentify templates, up to page_size in
9740	// ListDeidentifyTemplatesRequest.
9741	DeidentifyTemplates []*DeidentifyTemplate `protobuf:"bytes,1,rep,name=deidentify_templates,json=deidentifyTemplates,proto3" json:"deidentify_templates,omitempty"`
9742	// If the next page is available then the next page token to be used
9743	// in following ListDeidentifyTemplates request.
9744	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
9745}
9746
9747func (x *ListDeidentifyTemplatesResponse) Reset() {
9748	*x = ListDeidentifyTemplatesResponse{}
9749	if protoimpl.UnsafeEnabled {
9750		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[105]
9751		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9752		ms.StoreMessageInfo(mi)
9753	}
9754}
9755
9756func (x *ListDeidentifyTemplatesResponse) String() string {
9757	return protoimpl.X.MessageStringOf(x)
9758}
9759
9760func (*ListDeidentifyTemplatesResponse) ProtoMessage() {}
9761
9762func (x *ListDeidentifyTemplatesResponse) ProtoReflect() protoreflect.Message {
9763	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[105]
9764	if protoimpl.UnsafeEnabled && x != nil {
9765		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9766		if ms.LoadMessageInfo() == nil {
9767			ms.StoreMessageInfo(mi)
9768		}
9769		return ms
9770	}
9771	return mi.MessageOf(x)
9772}
9773
9774// Deprecated: Use ListDeidentifyTemplatesResponse.ProtoReflect.Descriptor instead.
9775func (*ListDeidentifyTemplatesResponse) Descriptor() ([]byte, []int) {
9776	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{105}
9777}
9778
9779func (x *ListDeidentifyTemplatesResponse) GetDeidentifyTemplates() []*DeidentifyTemplate {
9780	if x != nil {
9781		return x.DeidentifyTemplates
9782	}
9783	return nil
9784}
9785
9786func (x *ListDeidentifyTemplatesResponse) GetNextPageToken() string {
9787	if x != nil {
9788		return x.NextPageToken
9789	}
9790	return ""
9791}
9792
9793// Request message for DeleteDeidentifyTemplate.
9794type DeleteDeidentifyTemplateRequest struct {
9795	state         protoimpl.MessageState
9796	sizeCache     protoimpl.SizeCache
9797	unknownFields protoimpl.UnknownFields
9798
9799	// Required. Resource name of the organization and deidentify template to be
9800	// deleted, for example
9801	// `organizations/433245324/deidentifyTemplates/432452342` or
9802	// projects/project-id/deidentifyTemplates/432452342.
9803	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
9804}
9805
9806func (x *DeleteDeidentifyTemplateRequest) Reset() {
9807	*x = DeleteDeidentifyTemplateRequest{}
9808	if protoimpl.UnsafeEnabled {
9809		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[106]
9810		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9811		ms.StoreMessageInfo(mi)
9812	}
9813}
9814
9815func (x *DeleteDeidentifyTemplateRequest) String() string {
9816	return protoimpl.X.MessageStringOf(x)
9817}
9818
9819func (*DeleteDeidentifyTemplateRequest) ProtoMessage() {}
9820
9821func (x *DeleteDeidentifyTemplateRequest) ProtoReflect() protoreflect.Message {
9822	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[106]
9823	if protoimpl.UnsafeEnabled && x != nil {
9824		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9825		if ms.LoadMessageInfo() == nil {
9826			ms.StoreMessageInfo(mi)
9827		}
9828		return ms
9829	}
9830	return mi.MessageOf(x)
9831}
9832
9833// Deprecated: Use DeleteDeidentifyTemplateRequest.ProtoReflect.Descriptor instead.
9834func (*DeleteDeidentifyTemplateRequest) Descriptor() ([]byte, []int) {
9835	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{106}
9836}
9837
9838func (x *DeleteDeidentifyTemplateRequest) GetName() string {
9839	if x != nil {
9840		return x.Name
9841	}
9842	return ""
9843}
9844
9845// Configuration for a custom dictionary created from a data source of any size
9846// up to the maximum size defined in the
9847// [limits](https://cloud.google.com/dlp/limits) page. The artifacts of
9848// dictionary creation are stored in the specified Google Cloud Storage
9849// location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries
9850// that satisfy the size requirements.
9851type LargeCustomDictionaryConfig struct {
9852	state         protoimpl.MessageState
9853	sizeCache     protoimpl.SizeCache
9854	unknownFields protoimpl.UnknownFields
9855
9856	// Location to store dictionary artifacts in Google Cloud Storage. These files
9857	// will only be accessible by project owners and the DLP API. If any of these
9858	// artifacts are modified, the dictionary is considered invalid and can no
9859	// longer be used.
9860	OutputPath *CloudStoragePath `protobuf:"bytes,1,opt,name=output_path,json=outputPath,proto3" json:"output_path,omitempty"`
9861	// Types that are assignable to Source:
9862	//	*LargeCustomDictionaryConfig_CloudStorageFileSet
9863	//	*LargeCustomDictionaryConfig_BigQueryField
9864	Source isLargeCustomDictionaryConfig_Source `protobuf_oneof:"source"`
9865}
9866
9867func (x *LargeCustomDictionaryConfig) Reset() {
9868	*x = LargeCustomDictionaryConfig{}
9869	if protoimpl.UnsafeEnabled {
9870		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[107]
9871		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9872		ms.StoreMessageInfo(mi)
9873	}
9874}
9875
9876func (x *LargeCustomDictionaryConfig) String() string {
9877	return protoimpl.X.MessageStringOf(x)
9878}
9879
9880func (*LargeCustomDictionaryConfig) ProtoMessage() {}
9881
9882func (x *LargeCustomDictionaryConfig) ProtoReflect() protoreflect.Message {
9883	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[107]
9884	if protoimpl.UnsafeEnabled && x != nil {
9885		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9886		if ms.LoadMessageInfo() == nil {
9887			ms.StoreMessageInfo(mi)
9888		}
9889		return ms
9890	}
9891	return mi.MessageOf(x)
9892}
9893
9894// Deprecated: Use LargeCustomDictionaryConfig.ProtoReflect.Descriptor instead.
9895func (*LargeCustomDictionaryConfig) Descriptor() ([]byte, []int) {
9896	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{107}
9897}
9898
9899func (x *LargeCustomDictionaryConfig) GetOutputPath() *CloudStoragePath {
9900	if x != nil {
9901		return x.OutputPath
9902	}
9903	return nil
9904}
9905
9906func (m *LargeCustomDictionaryConfig) GetSource() isLargeCustomDictionaryConfig_Source {
9907	if m != nil {
9908		return m.Source
9909	}
9910	return nil
9911}
9912
9913func (x *LargeCustomDictionaryConfig) GetCloudStorageFileSet() *CloudStorageFileSet {
9914	if x, ok := x.GetSource().(*LargeCustomDictionaryConfig_CloudStorageFileSet); ok {
9915		return x.CloudStorageFileSet
9916	}
9917	return nil
9918}
9919
9920func (x *LargeCustomDictionaryConfig) GetBigQueryField() *BigQueryField {
9921	if x, ok := x.GetSource().(*LargeCustomDictionaryConfig_BigQueryField); ok {
9922		return x.BigQueryField
9923	}
9924	return nil
9925}
9926
9927type isLargeCustomDictionaryConfig_Source interface {
9928	isLargeCustomDictionaryConfig_Source()
9929}
9930
9931type LargeCustomDictionaryConfig_CloudStorageFileSet struct {
9932	// Set of files containing newline-delimited lists of dictionary phrases.
9933	CloudStorageFileSet *CloudStorageFileSet `protobuf:"bytes,2,opt,name=cloud_storage_file_set,json=cloudStorageFileSet,proto3,oneof"`
9934}
9935
9936type LargeCustomDictionaryConfig_BigQueryField struct {
9937	// Field in a BigQuery table where each cell represents a dictionary phrase.
9938	BigQueryField *BigQueryField `protobuf:"bytes,3,opt,name=big_query_field,json=bigQueryField,proto3,oneof"`
9939}
9940
9941func (*LargeCustomDictionaryConfig_CloudStorageFileSet) isLargeCustomDictionaryConfig_Source() {}
9942
9943func (*LargeCustomDictionaryConfig_BigQueryField) isLargeCustomDictionaryConfig_Source() {}
9944
9945// Summary statistics of a custom dictionary.
9946type LargeCustomDictionaryStats struct {
9947	state         protoimpl.MessageState
9948	sizeCache     protoimpl.SizeCache
9949	unknownFields protoimpl.UnknownFields
9950
9951	// Approximate number of distinct phrases in the dictionary.
9952	ApproxNumPhrases int64 `protobuf:"varint,1,opt,name=approx_num_phrases,json=approxNumPhrases,proto3" json:"approx_num_phrases,omitempty"`
9953}
9954
9955func (x *LargeCustomDictionaryStats) Reset() {
9956	*x = LargeCustomDictionaryStats{}
9957	if protoimpl.UnsafeEnabled {
9958		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[108]
9959		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9960		ms.StoreMessageInfo(mi)
9961	}
9962}
9963
9964func (x *LargeCustomDictionaryStats) String() string {
9965	return protoimpl.X.MessageStringOf(x)
9966}
9967
9968func (*LargeCustomDictionaryStats) ProtoMessage() {}
9969
9970func (x *LargeCustomDictionaryStats) ProtoReflect() protoreflect.Message {
9971	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[108]
9972	if protoimpl.UnsafeEnabled && x != nil {
9973		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
9974		if ms.LoadMessageInfo() == nil {
9975			ms.StoreMessageInfo(mi)
9976		}
9977		return ms
9978	}
9979	return mi.MessageOf(x)
9980}
9981
9982// Deprecated: Use LargeCustomDictionaryStats.ProtoReflect.Descriptor instead.
9983func (*LargeCustomDictionaryStats) Descriptor() ([]byte, []int) {
9984	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{108}
9985}
9986
9987func (x *LargeCustomDictionaryStats) GetApproxNumPhrases() int64 {
9988	if x != nil {
9989		return x.ApproxNumPhrases
9990	}
9991	return 0
9992}
9993
9994// Configuration for stored infoTypes. All fields and subfield are provided
9995// by the user. For more information, see
9996// https://cloud.google.com/dlp/docs/creating-custom-infotypes.
9997type StoredInfoTypeConfig struct {
9998	state         protoimpl.MessageState
9999	sizeCache     protoimpl.SizeCache
10000	unknownFields protoimpl.UnknownFields
10001
10002	// Display name of the StoredInfoType (max 256 characters).
10003	DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
10004	// Description of the StoredInfoType (max 256 characters).
10005	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
10006	// Stored infotype types.
10007	//
10008	// Types that are assignable to Type:
10009	//	*StoredInfoTypeConfig_LargeCustomDictionary
10010	//	*StoredInfoTypeConfig_Dictionary
10011	//	*StoredInfoTypeConfig_Regex
10012	Type isStoredInfoTypeConfig_Type `protobuf_oneof:"type"`
10013}
10014
10015func (x *StoredInfoTypeConfig) Reset() {
10016	*x = StoredInfoTypeConfig{}
10017	if protoimpl.UnsafeEnabled {
10018		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[109]
10019		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10020		ms.StoreMessageInfo(mi)
10021	}
10022}
10023
10024func (x *StoredInfoTypeConfig) String() string {
10025	return protoimpl.X.MessageStringOf(x)
10026}
10027
10028func (*StoredInfoTypeConfig) ProtoMessage() {}
10029
10030func (x *StoredInfoTypeConfig) ProtoReflect() protoreflect.Message {
10031	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[109]
10032	if protoimpl.UnsafeEnabled && x != nil {
10033		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10034		if ms.LoadMessageInfo() == nil {
10035			ms.StoreMessageInfo(mi)
10036		}
10037		return ms
10038	}
10039	return mi.MessageOf(x)
10040}
10041
10042// Deprecated: Use StoredInfoTypeConfig.ProtoReflect.Descriptor instead.
10043func (*StoredInfoTypeConfig) Descriptor() ([]byte, []int) {
10044	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{109}
10045}
10046
10047func (x *StoredInfoTypeConfig) GetDisplayName() string {
10048	if x != nil {
10049		return x.DisplayName
10050	}
10051	return ""
10052}
10053
10054func (x *StoredInfoTypeConfig) GetDescription() string {
10055	if x != nil {
10056		return x.Description
10057	}
10058	return ""
10059}
10060
10061func (m *StoredInfoTypeConfig) GetType() isStoredInfoTypeConfig_Type {
10062	if m != nil {
10063		return m.Type
10064	}
10065	return nil
10066}
10067
10068func (x *StoredInfoTypeConfig) GetLargeCustomDictionary() *LargeCustomDictionaryConfig {
10069	if x, ok := x.GetType().(*StoredInfoTypeConfig_LargeCustomDictionary); ok {
10070		return x.LargeCustomDictionary
10071	}
10072	return nil
10073}
10074
10075func (x *StoredInfoTypeConfig) GetDictionary() *CustomInfoType_Dictionary {
10076	if x, ok := x.GetType().(*StoredInfoTypeConfig_Dictionary); ok {
10077		return x.Dictionary
10078	}
10079	return nil
10080}
10081
10082func (x *StoredInfoTypeConfig) GetRegex() *CustomInfoType_Regex {
10083	if x, ok := x.GetType().(*StoredInfoTypeConfig_Regex); ok {
10084		return x.Regex
10085	}
10086	return nil
10087}
10088
10089type isStoredInfoTypeConfig_Type interface {
10090	isStoredInfoTypeConfig_Type()
10091}
10092
10093type StoredInfoTypeConfig_LargeCustomDictionary struct {
10094	// StoredInfoType where findings are defined by a dictionary of phrases.
10095	LargeCustomDictionary *LargeCustomDictionaryConfig `protobuf:"bytes,3,opt,name=large_custom_dictionary,json=largeCustomDictionary,proto3,oneof"`
10096}
10097
10098type StoredInfoTypeConfig_Dictionary struct {
10099	// Store dictionary-based CustomInfoType.
10100	Dictionary *CustomInfoType_Dictionary `protobuf:"bytes,4,opt,name=dictionary,proto3,oneof"`
10101}
10102
10103type StoredInfoTypeConfig_Regex struct {
10104	// Store regular expression-based StoredInfoType.
10105	Regex *CustomInfoType_Regex `protobuf:"bytes,5,opt,name=regex,proto3,oneof"`
10106}
10107
10108func (*StoredInfoTypeConfig_LargeCustomDictionary) isStoredInfoTypeConfig_Type() {}
10109
10110func (*StoredInfoTypeConfig_Dictionary) isStoredInfoTypeConfig_Type() {}
10111
10112func (*StoredInfoTypeConfig_Regex) isStoredInfoTypeConfig_Type() {}
10113
10114// Statistics for a StoredInfoType.
10115type StoredInfoTypeStats struct {
10116	state         protoimpl.MessageState
10117	sizeCache     protoimpl.SizeCache
10118	unknownFields protoimpl.UnknownFields
10119
10120	// Stat types
10121	//
10122	// Types that are assignable to Type:
10123	//	*StoredInfoTypeStats_LargeCustomDictionary
10124	Type isStoredInfoTypeStats_Type `protobuf_oneof:"type"`
10125}
10126
10127func (x *StoredInfoTypeStats) Reset() {
10128	*x = StoredInfoTypeStats{}
10129	if protoimpl.UnsafeEnabled {
10130		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[110]
10131		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10132		ms.StoreMessageInfo(mi)
10133	}
10134}
10135
10136func (x *StoredInfoTypeStats) String() string {
10137	return protoimpl.X.MessageStringOf(x)
10138}
10139
10140func (*StoredInfoTypeStats) ProtoMessage() {}
10141
10142func (x *StoredInfoTypeStats) ProtoReflect() protoreflect.Message {
10143	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[110]
10144	if protoimpl.UnsafeEnabled && x != nil {
10145		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10146		if ms.LoadMessageInfo() == nil {
10147			ms.StoreMessageInfo(mi)
10148		}
10149		return ms
10150	}
10151	return mi.MessageOf(x)
10152}
10153
10154// Deprecated: Use StoredInfoTypeStats.ProtoReflect.Descriptor instead.
10155func (*StoredInfoTypeStats) Descriptor() ([]byte, []int) {
10156	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{110}
10157}
10158
10159func (m *StoredInfoTypeStats) GetType() isStoredInfoTypeStats_Type {
10160	if m != nil {
10161		return m.Type
10162	}
10163	return nil
10164}
10165
10166func (x *StoredInfoTypeStats) GetLargeCustomDictionary() *LargeCustomDictionaryStats {
10167	if x, ok := x.GetType().(*StoredInfoTypeStats_LargeCustomDictionary); ok {
10168		return x.LargeCustomDictionary
10169	}
10170	return nil
10171}
10172
10173type isStoredInfoTypeStats_Type interface {
10174	isStoredInfoTypeStats_Type()
10175}
10176
10177type StoredInfoTypeStats_LargeCustomDictionary struct {
10178	// StoredInfoType where findings are defined by a dictionary of phrases.
10179	LargeCustomDictionary *LargeCustomDictionaryStats `protobuf:"bytes,1,opt,name=large_custom_dictionary,json=largeCustomDictionary,proto3,oneof"`
10180}
10181
10182func (*StoredInfoTypeStats_LargeCustomDictionary) isStoredInfoTypeStats_Type() {}
10183
10184// Version of a StoredInfoType, including the configuration used to build it,
10185// create timestamp, and current state.
10186type StoredInfoTypeVersion struct {
10187	state         protoimpl.MessageState
10188	sizeCache     protoimpl.SizeCache
10189	unknownFields protoimpl.UnknownFields
10190
10191	// StoredInfoType configuration.
10192	Config *StoredInfoTypeConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
10193	// Create timestamp of the version. Read-only, determined by the system
10194	// when the version is created.
10195	CreateTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
10196	// Stored info type version state. Read-only, updated by the system
10197	// during dictionary creation.
10198	State StoredInfoTypeState `protobuf:"varint,3,opt,name=state,proto3,enum=google.privacy.dlp.v2.StoredInfoTypeState" json:"state,omitempty"`
10199	// Errors that occurred when creating this storedInfoType version, or
10200	// anomalies detected in the storedInfoType data that render it unusable. Only
10201	// the five most recent errors will be displayed, with the most recent error
10202	// appearing first.
10203	//
10204	// For example, some of the data for stored custom dictionaries is put in
10205	// the user's Google Cloud Storage bucket, and if this data is modified or
10206	// deleted by the user or another system, the dictionary becomes invalid.
10207	//
10208	// If any errors occur, fix the problem indicated by the error message and
10209	// use the UpdateStoredInfoType API method to create another version of the
10210	// storedInfoType to continue using it, reusing the same `config` if it was
10211	// not the source of the error.
10212	Errors []*Error `protobuf:"bytes,4,rep,name=errors,proto3" json:"errors,omitempty"`
10213	// Statistics about this storedInfoType version.
10214	Stats *StoredInfoTypeStats `protobuf:"bytes,5,opt,name=stats,proto3" json:"stats,omitempty"`
10215}
10216
10217func (x *StoredInfoTypeVersion) Reset() {
10218	*x = StoredInfoTypeVersion{}
10219	if protoimpl.UnsafeEnabled {
10220		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[111]
10221		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10222		ms.StoreMessageInfo(mi)
10223	}
10224}
10225
10226func (x *StoredInfoTypeVersion) String() string {
10227	return protoimpl.X.MessageStringOf(x)
10228}
10229
10230func (*StoredInfoTypeVersion) ProtoMessage() {}
10231
10232func (x *StoredInfoTypeVersion) ProtoReflect() protoreflect.Message {
10233	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[111]
10234	if protoimpl.UnsafeEnabled && x != nil {
10235		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10236		if ms.LoadMessageInfo() == nil {
10237			ms.StoreMessageInfo(mi)
10238		}
10239		return ms
10240	}
10241	return mi.MessageOf(x)
10242}
10243
10244// Deprecated: Use StoredInfoTypeVersion.ProtoReflect.Descriptor instead.
10245func (*StoredInfoTypeVersion) Descriptor() ([]byte, []int) {
10246	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{111}
10247}
10248
10249func (x *StoredInfoTypeVersion) GetConfig() *StoredInfoTypeConfig {
10250	if x != nil {
10251		return x.Config
10252	}
10253	return nil
10254}
10255
10256func (x *StoredInfoTypeVersion) GetCreateTime() *timestamp.Timestamp {
10257	if x != nil {
10258		return x.CreateTime
10259	}
10260	return nil
10261}
10262
10263func (x *StoredInfoTypeVersion) GetState() StoredInfoTypeState {
10264	if x != nil {
10265		return x.State
10266	}
10267	return StoredInfoTypeState_STORED_INFO_TYPE_STATE_UNSPECIFIED
10268}
10269
10270func (x *StoredInfoTypeVersion) GetErrors() []*Error {
10271	if x != nil {
10272		return x.Errors
10273	}
10274	return nil
10275}
10276
10277func (x *StoredInfoTypeVersion) GetStats() *StoredInfoTypeStats {
10278	if x != nil {
10279		return x.Stats
10280	}
10281	return nil
10282}
10283
10284// StoredInfoType resource message that contains information about the current
10285// version and any pending updates.
10286type StoredInfoType struct {
10287	state         protoimpl.MessageState
10288	sizeCache     protoimpl.SizeCache
10289	unknownFields protoimpl.UnknownFields
10290
10291	// Resource name.
10292	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
10293	// Current version of the stored info type.
10294	CurrentVersion *StoredInfoTypeVersion `protobuf:"bytes,2,opt,name=current_version,json=currentVersion,proto3" json:"current_version,omitempty"`
10295	// Pending versions of the stored info type. Empty if no versions are
10296	// pending.
10297	PendingVersions []*StoredInfoTypeVersion `protobuf:"bytes,3,rep,name=pending_versions,json=pendingVersions,proto3" json:"pending_versions,omitempty"`
10298}
10299
10300func (x *StoredInfoType) Reset() {
10301	*x = StoredInfoType{}
10302	if protoimpl.UnsafeEnabled {
10303		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[112]
10304		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10305		ms.StoreMessageInfo(mi)
10306	}
10307}
10308
10309func (x *StoredInfoType) String() string {
10310	return protoimpl.X.MessageStringOf(x)
10311}
10312
10313func (*StoredInfoType) ProtoMessage() {}
10314
10315func (x *StoredInfoType) ProtoReflect() protoreflect.Message {
10316	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[112]
10317	if protoimpl.UnsafeEnabled && x != nil {
10318		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10319		if ms.LoadMessageInfo() == nil {
10320			ms.StoreMessageInfo(mi)
10321		}
10322		return ms
10323	}
10324	return mi.MessageOf(x)
10325}
10326
10327// Deprecated: Use StoredInfoType.ProtoReflect.Descriptor instead.
10328func (*StoredInfoType) Descriptor() ([]byte, []int) {
10329	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{112}
10330}
10331
10332func (x *StoredInfoType) GetName() string {
10333	if x != nil {
10334		return x.Name
10335	}
10336	return ""
10337}
10338
10339func (x *StoredInfoType) GetCurrentVersion() *StoredInfoTypeVersion {
10340	if x != nil {
10341		return x.CurrentVersion
10342	}
10343	return nil
10344}
10345
10346func (x *StoredInfoType) GetPendingVersions() []*StoredInfoTypeVersion {
10347	if x != nil {
10348		return x.PendingVersions
10349	}
10350	return nil
10351}
10352
10353// Request message for CreateStoredInfoType.
10354type CreateStoredInfoTypeRequest struct {
10355	state         protoimpl.MessageState
10356	sizeCache     protoimpl.SizeCache
10357	unknownFields protoimpl.UnknownFields
10358
10359	// Required. The parent resource name, for example projects/my-project-id or
10360	// organizations/my-org-id or projects/my-project-id/locations/{location_id}
10361	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
10362	// Required. Configuration of the storedInfoType to create.
10363	Config *StoredInfoTypeConfig `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"`
10364	// The storedInfoType ID can contain uppercase and lowercase letters,
10365	// numbers, and hyphens; that is, it must match the regular
10366	// expression: `[a-zA-Z\\d-_]+`. The maximum length is 100
10367	// characters. Can be empty to allow the system to generate one.
10368	StoredInfoTypeId string `protobuf:"bytes,3,opt,name=stored_info_type_id,json=storedInfoTypeId,proto3" json:"stored_info_type_id,omitempty"`
10369	// Deprecated. This field has no effect.
10370	LocationId string `protobuf:"bytes,4,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"`
10371}
10372
10373func (x *CreateStoredInfoTypeRequest) Reset() {
10374	*x = CreateStoredInfoTypeRequest{}
10375	if protoimpl.UnsafeEnabled {
10376		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[113]
10377		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10378		ms.StoreMessageInfo(mi)
10379	}
10380}
10381
10382func (x *CreateStoredInfoTypeRequest) String() string {
10383	return protoimpl.X.MessageStringOf(x)
10384}
10385
10386func (*CreateStoredInfoTypeRequest) ProtoMessage() {}
10387
10388func (x *CreateStoredInfoTypeRequest) ProtoReflect() protoreflect.Message {
10389	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[113]
10390	if protoimpl.UnsafeEnabled && x != nil {
10391		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10392		if ms.LoadMessageInfo() == nil {
10393			ms.StoreMessageInfo(mi)
10394		}
10395		return ms
10396	}
10397	return mi.MessageOf(x)
10398}
10399
10400// Deprecated: Use CreateStoredInfoTypeRequest.ProtoReflect.Descriptor instead.
10401func (*CreateStoredInfoTypeRequest) Descriptor() ([]byte, []int) {
10402	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{113}
10403}
10404
10405func (x *CreateStoredInfoTypeRequest) GetParent() string {
10406	if x != nil {
10407		return x.Parent
10408	}
10409	return ""
10410}
10411
10412func (x *CreateStoredInfoTypeRequest) GetConfig() *StoredInfoTypeConfig {
10413	if x != nil {
10414		return x.Config
10415	}
10416	return nil
10417}
10418
10419func (x *CreateStoredInfoTypeRequest) GetStoredInfoTypeId() string {
10420	if x != nil {
10421		return x.StoredInfoTypeId
10422	}
10423	return ""
10424}
10425
10426func (x *CreateStoredInfoTypeRequest) GetLocationId() string {
10427	if x != nil {
10428		return x.LocationId
10429	}
10430	return ""
10431}
10432
10433// Request message for UpdateStoredInfoType.
10434type UpdateStoredInfoTypeRequest struct {
10435	state         protoimpl.MessageState
10436	sizeCache     protoimpl.SizeCache
10437	unknownFields protoimpl.UnknownFields
10438
10439	// Required. Resource name of organization and storedInfoType to be updated, for
10440	// example `organizations/433245324/storedInfoTypes/432452342` or
10441	// projects/project-id/storedInfoTypes/432452342.
10442	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
10443	// Updated configuration for the storedInfoType. If not provided, a new
10444	// version of the storedInfoType will be created with the existing
10445	// configuration.
10446	Config *StoredInfoTypeConfig `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"`
10447	// Mask to control which fields get updated.
10448	UpdateMask *field_mask.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
10449}
10450
10451func (x *UpdateStoredInfoTypeRequest) Reset() {
10452	*x = UpdateStoredInfoTypeRequest{}
10453	if protoimpl.UnsafeEnabled {
10454		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[114]
10455		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10456		ms.StoreMessageInfo(mi)
10457	}
10458}
10459
10460func (x *UpdateStoredInfoTypeRequest) String() string {
10461	return protoimpl.X.MessageStringOf(x)
10462}
10463
10464func (*UpdateStoredInfoTypeRequest) ProtoMessage() {}
10465
10466func (x *UpdateStoredInfoTypeRequest) ProtoReflect() protoreflect.Message {
10467	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[114]
10468	if protoimpl.UnsafeEnabled && x != nil {
10469		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10470		if ms.LoadMessageInfo() == nil {
10471			ms.StoreMessageInfo(mi)
10472		}
10473		return ms
10474	}
10475	return mi.MessageOf(x)
10476}
10477
10478// Deprecated: Use UpdateStoredInfoTypeRequest.ProtoReflect.Descriptor instead.
10479func (*UpdateStoredInfoTypeRequest) Descriptor() ([]byte, []int) {
10480	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{114}
10481}
10482
10483func (x *UpdateStoredInfoTypeRequest) GetName() string {
10484	if x != nil {
10485		return x.Name
10486	}
10487	return ""
10488}
10489
10490func (x *UpdateStoredInfoTypeRequest) GetConfig() *StoredInfoTypeConfig {
10491	if x != nil {
10492		return x.Config
10493	}
10494	return nil
10495}
10496
10497func (x *UpdateStoredInfoTypeRequest) GetUpdateMask() *field_mask.FieldMask {
10498	if x != nil {
10499		return x.UpdateMask
10500	}
10501	return nil
10502}
10503
10504// Request message for GetStoredInfoType.
10505type GetStoredInfoTypeRequest struct {
10506	state         protoimpl.MessageState
10507	sizeCache     protoimpl.SizeCache
10508	unknownFields protoimpl.UnknownFields
10509
10510	// Required. Resource name of the organization and storedInfoType to be read,
10511	// for example `organizations/433245324/storedInfoTypes/432452342` or
10512	// projects/project-id/storedInfoTypes/432452342.
10513	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
10514}
10515
10516func (x *GetStoredInfoTypeRequest) Reset() {
10517	*x = GetStoredInfoTypeRequest{}
10518	if protoimpl.UnsafeEnabled {
10519		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[115]
10520		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10521		ms.StoreMessageInfo(mi)
10522	}
10523}
10524
10525func (x *GetStoredInfoTypeRequest) String() string {
10526	return protoimpl.X.MessageStringOf(x)
10527}
10528
10529func (*GetStoredInfoTypeRequest) ProtoMessage() {}
10530
10531func (x *GetStoredInfoTypeRequest) ProtoReflect() protoreflect.Message {
10532	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[115]
10533	if protoimpl.UnsafeEnabled && x != nil {
10534		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10535		if ms.LoadMessageInfo() == nil {
10536			ms.StoreMessageInfo(mi)
10537		}
10538		return ms
10539	}
10540	return mi.MessageOf(x)
10541}
10542
10543// Deprecated: Use GetStoredInfoTypeRequest.ProtoReflect.Descriptor instead.
10544func (*GetStoredInfoTypeRequest) Descriptor() ([]byte, []int) {
10545	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{115}
10546}
10547
10548func (x *GetStoredInfoTypeRequest) GetName() string {
10549	if x != nil {
10550		return x.Name
10551	}
10552	return ""
10553}
10554
10555// Request message for ListStoredInfoTypes.
10556type ListStoredInfoTypesRequest struct {
10557	state         protoimpl.MessageState
10558	sizeCache     protoimpl.SizeCache
10559	unknownFields protoimpl.UnknownFields
10560
10561	// Required. The parent resource name, for example projects/my-project-id or
10562	// organizations/my-org-id or projects/my-project-id/locations/{location_id}.
10563	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
10564	// Page token to continue retrieval. Comes from previous call
10565	// to `ListStoredInfoTypes`.
10566	PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
10567	// Size of the page, can be limited by server. If zero server returns
10568	// a page of max size 100.
10569	PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
10570	// Comma separated list of fields to order by,
10571	// followed by `asc` or `desc` postfix. This list is case-insensitive,
10572	// default sorting order is ascending, redundant space characters are
10573	// insignificant.
10574	//
10575	// Example: `name asc, display_name, create_time desc`
10576	//
10577	// Supported fields are:
10578	//
10579	// - `create_time`: corresponds to time the most recent version of the
10580	// resource was created.
10581	// - `state`: corresponds to the state of the resource.
10582	// - `name`: corresponds to resource name.
10583	// - `display_name`: corresponds to info type's display name.
10584	OrderBy string `protobuf:"bytes,4,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
10585	// Deprecated. This field has no effect.
10586	LocationId string `protobuf:"bytes,5,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"`
10587}
10588
10589func (x *ListStoredInfoTypesRequest) Reset() {
10590	*x = ListStoredInfoTypesRequest{}
10591	if protoimpl.UnsafeEnabled {
10592		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[116]
10593		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10594		ms.StoreMessageInfo(mi)
10595	}
10596}
10597
10598func (x *ListStoredInfoTypesRequest) String() string {
10599	return protoimpl.X.MessageStringOf(x)
10600}
10601
10602func (*ListStoredInfoTypesRequest) ProtoMessage() {}
10603
10604func (x *ListStoredInfoTypesRequest) ProtoReflect() protoreflect.Message {
10605	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[116]
10606	if protoimpl.UnsafeEnabled && x != nil {
10607		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10608		if ms.LoadMessageInfo() == nil {
10609			ms.StoreMessageInfo(mi)
10610		}
10611		return ms
10612	}
10613	return mi.MessageOf(x)
10614}
10615
10616// Deprecated: Use ListStoredInfoTypesRequest.ProtoReflect.Descriptor instead.
10617func (*ListStoredInfoTypesRequest) Descriptor() ([]byte, []int) {
10618	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{116}
10619}
10620
10621func (x *ListStoredInfoTypesRequest) GetParent() string {
10622	if x != nil {
10623		return x.Parent
10624	}
10625	return ""
10626}
10627
10628func (x *ListStoredInfoTypesRequest) GetPageToken() string {
10629	if x != nil {
10630		return x.PageToken
10631	}
10632	return ""
10633}
10634
10635func (x *ListStoredInfoTypesRequest) GetPageSize() int32 {
10636	if x != nil {
10637		return x.PageSize
10638	}
10639	return 0
10640}
10641
10642func (x *ListStoredInfoTypesRequest) GetOrderBy() string {
10643	if x != nil {
10644		return x.OrderBy
10645	}
10646	return ""
10647}
10648
10649func (x *ListStoredInfoTypesRequest) GetLocationId() string {
10650	if x != nil {
10651		return x.LocationId
10652	}
10653	return ""
10654}
10655
10656// Response message for ListStoredInfoTypes.
10657type ListStoredInfoTypesResponse struct {
10658	state         protoimpl.MessageState
10659	sizeCache     protoimpl.SizeCache
10660	unknownFields protoimpl.UnknownFields
10661
10662	// List of storedInfoTypes, up to page_size in ListStoredInfoTypesRequest.
10663	StoredInfoTypes []*StoredInfoType `protobuf:"bytes,1,rep,name=stored_info_types,json=storedInfoTypes,proto3" json:"stored_info_types,omitempty"`
10664	// If the next page is available then the next page token to be used
10665	// in following ListStoredInfoTypes request.
10666	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
10667}
10668
10669func (x *ListStoredInfoTypesResponse) Reset() {
10670	*x = ListStoredInfoTypesResponse{}
10671	if protoimpl.UnsafeEnabled {
10672		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[117]
10673		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10674		ms.StoreMessageInfo(mi)
10675	}
10676}
10677
10678func (x *ListStoredInfoTypesResponse) String() string {
10679	return protoimpl.X.MessageStringOf(x)
10680}
10681
10682func (*ListStoredInfoTypesResponse) ProtoMessage() {}
10683
10684func (x *ListStoredInfoTypesResponse) ProtoReflect() protoreflect.Message {
10685	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[117]
10686	if protoimpl.UnsafeEnabled && x != nil {
10687		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10688		if ms.LoadMessageInfo() == nil {
10689			ms.StoreMessageInfo(mi)
10690		}
10691		return ms
10692	}
10693	return mi.MessageOf(x)
10694}
10695
10696// Deprecated: Use ListStoredInfoTypesResponse.ProtoReflect.Descriptor instead.
10697func (*ListStoredInfoTypesResponse) Descriptor() ([]byte, []int) {
10698	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{117}
10699}
10700
10701func (x *ListStoredInfoTypesResponse) GetStoredInfoTypes() []*StoredInfoType {
10702	if x != nil {
10703		return x.StoredInfoTypes
10704	}
10705	return nil
10706}
10707
10708func (x *ListStoredInfoTypesResponse) GetNextPageToken() string {
10709	if x != nil {
10710		return x.NextPageToken
10711	}
10712	return ""
10713}
10714
10715// Request message for DeleteStoredInfoType.
10716type DeleteStoredInfoTypeRequest struct {
10717	state         protoimpl.MessageState
10718	sizeCache     protoimpl.SizeCache
10719	unknownFields protoimpl.UnknownFields
10720
10721	// Required. Resource name of the organization and storedInfoType to be
10722	// deleted, for example `organizations/433245324/storedInfoTypes/432452342` or
10723	// projects/project-id/storedInfoTypes/432452342.
10724	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
10725}
10726
10727func (x *DeleteStoredInfoTypeRequest) Reset() {
10728	*x = DeleteStoredInfoTypeRequest{}
10729	if protoimpl.UnsafeEnabled {
10730		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[118]
10731		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10732		ms.StoreMessageInfo(mi)
10733	}
10734}
10735
10736func (x *DeleteStoredInfoTypeRequest) String() string {
10737	return protoimpl.X.MessageStringOf(x)
10738}
10739
10740func (*DeleteStoredInfoTypeRequest) ProtoMessage() {}
10741
10742func (x *DeleteStoredInfoTypeRequest) ProtoReflect() protoreflect.Message {
10743	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[118]
10744	if protoimpl.UnsafeEnabled && x != nil {
10745		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10746		if ms.LoadMessageInfo() == nil {
10747			ms.StoreMessageInfo(mi)
10748		}
10749		return ms
10750	}
10751	return mi.MessageOf(x)
10752}
10753
10754// Deprecated: Use DeleteStoredInfoTypeRequest.ProtoReflect.Descriptor instead.
10755func (*DeleteStoredInfoTypeRequest) Descriptor() ([]byte, []int) {
10756	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{118}
10757}
10758
10759func (x *DeleteStoredInfoTypeRequest) GetName() string {
10760	if x != nil {
10761		return x.Name
10762	}
10763	return ""
10764}
10765
10766// Request to search for potentially sensitive info in a custom location.
10767type HybridInspectJobTriggerRequest struct {
10768	state         protoimpl.MessageState
10769	sizeCache     protoimpl.SizeCache
10770	unknownFields protoimpl.UnknownFields
10771
10772	// Required. Resource name of the trigger to execute a hybrid inspect on, for
10773	// example `projects/dlp-test-project/jobTriggers/53234423`.
10774	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
10775	// The item to inspect.
10776	HybridItem *HybridContentItem `protobuf:"bytes,3,opt,name=hybrid_item,json=hybridItem,proto3" json:"hybrid_item,omitempty"`
10777}
10778
10779func (x *HybridInspectJobTriggerRequest) Reset() {
10780	*x = HybridInspectJobTriggerRequest{}
10781	if protoimpl.UnsafeEnabled {
10782		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[119]
10783		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10784		ms.StoreMessageInfo(mi)
10785	}
10786}
10787
10788func (x *HybridInspectJobTriggerRequest) String() string {
10789	return protoimpl.X.MessageStringOf(x)
10790}
10791
10792func (*HybridInspectJobTriggerRequest) ProtoMessage() {}
10793
10794func (x *HybridInspectJobTriggerRequest) ProtoReflect() protoreflect.Message {
10795	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[119]
10796	if protoimpl.UnsafeEnabled && x != nil {
10797		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10798		if ms.LoadMessageInfo() == nil {
10799			ms.StoreMessageInfo(mi)
10800		}
10801		return ms
10802	}
10803	return mi.MessageOf(x)
10804}
10805
10806// Deprecated: Use HybridInspectJobTriggerRequest.ProtoReflect.Descriptor instead.
10807func (*HybridInspectJobTriggerRequest) Descriptor() ([]byte, []int) {
10808	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{119}
10809}
10810
10811func (x *HybridInspectJobTriggerRequest) GetName() string {
10812	if x != nil {
10813		return x.Name
10814	}
10815	return ""
10816}
10817
10818func (x *HybridInspectJobTriggerRequest) GetHybridItem() *HybridContentItem {
10819	if x != nil {
10820		return x.HybridItem
10821	}
10822	return nil
10823}
10824
10825// Request to search for potentially sensitive info in a custom location.
10826type HybridInspectDlpJobRequest struct {
10827	state         protoimpl.MessageState
10828	sizeCache     protoimpl.SizeCache
10829	unknownFields protoimpl.UnknownFields
10830
10831	// Required. Resource name of the job to execute a hybrid inspect on, for
10832	// example `projects/dlp-test-project/dlpJob/53234423`.
10833	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
10834	// The item to inspect.
10835	HybridItem *HybridContentItem `protobuf:"bytes,3,opt,name=hybrid_item,json=hybridItem,proto3" json:"hybrid_item,omitempty"`
10836}
10837
10838func (x *HybridInspectDlpJobRequest) Reset() {
10839	*x = HybridInspectDlpJobRequest{}
10840	if protoimpl.UnsafeEnabled {
10841		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[120]
10842		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10843		ms.StoreMessageInfo(mi)
10844	}
10845}
10846
10847func (x *HybridInspectDlpJobRequest) String() string {
10848	return protoimpl.X.MessageStringOf(x)
10849}
10850
10851func (*HybridInspectDlpJobRequest) ProtoMessage() {}
10852
10853func (x *HybridInspectDlpJobRequest) ProtoReflect() protoreflect.Message {
10854	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[120]
10855	if protoimpl.UnsafeEnabled && x != nil {
10856		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10857		if ms.LoadMessageInfo() == nil {
10858			ms.StoreMessageInfo(mi)
10859		}
10860		return ms
10861	}
10862	return mi.MessageOf(x)
10863}
10864
10865// Deprecated: Use HybridInspectDlpJobRequest.ProtoReflect.Descriptor instead.
10866func (*HybridInspectDlpJobRequest) Descriptor() ([]byte, []int) {
10867	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{120}
10868}
10869
10870func (x *HybridInspectDlpJobRequest) GetName() string {
10871	if x != nil {
10872		return x.Name
10873	}
10874	return ""
10875}
10876
10877func (x *HybridInspectDlpJobRequest) GetHybridItem() *HybridContentItem {
10878	if x != nil {
10879		return x.HybridItem
10880	}
10881	return nil
10882}
10883
10884// An individual hybrid item to inspect. Will be stored temporarily during
10885// processing.
10886type HybridContentItem struct {
10887	state         protoimpl.MessageState
10888	sizeCache     protoimpl.SizeCache
10889	unknownFields protoimpl.UnknownFields
10890
10891	// The item to inspect.
10892	Item *ContentItem `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"`
10893	// Supplementary information that will be added to each finding.
10894	FindingDetails *HybridFindingDetails `protobuf:"bytes,2,opt,name=finding_details,json=findingDetails,proto3" json:"finding_details,omitempty"`
10895}
10896
10897func (x *HybridContentItem) Reset() {
10898	*x = HybridContentItem{}
10899	if protoimpl.UnsafeEnabled {
10900		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[121]
10901		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10902		ms.StoreMessageInfo(mi)
10903	}
10904}
10905
10906func (x *HybridContentItem) String() string {
10907	return protoimpl.X.MessageStringOf(x)
10908}
10909
10910func (*HybridContentItem) ProtoMessage() {}
10911
10912func (x *HybridContentItem) ProtoReflect() protoreflect.Message {
10913	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[121]
10914	if protoimpl.UnsafeEnabled && x != nil {
10915		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10916		if ms.LoadMessageInfo() == nil {
10917			ms.StoreMessageInfo(mi)
10918		}
10919		return ms
10920	}
10921	return mi.MessageOf(x)
10922}
10923
10924// Deprecated: Use HybridContentItem.ProtoReflect.Descriptor instead.
10925func (*HybridContentItem) Descriptor() ([]byte, []int) {
10926	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{121}
10927}
10928
10929func (x *HybridContentItem) GetItem() *ContentItem {
10930	if x != nil {
10931		return x.Item
10932	}
10933	return nil
10934}
10935
10936func (x *HybridContentItem) GetFindingDetails() *HybridFindingDetails {
10937	if x != nil {
10938		return x.FindingDetails
10939	}
10940	return nil
10941}
10942
10943// Populate to associate additional data with each finding.
10944type HybridFindingDetails struct {
10945	state         protoimpl.MessageState
10946	sizeCache     protoimpl.SizeCache
10947	unknownFields protoimpl.UnknownFields
10948
10949	// Details about the container where the content being inspected is from.
10950	ContainerDetails *Container `protobuf:"bytes,1,opt,name=container_details,json=containerDetails,proto3" json:"container_details,omitempty"`
10951	// Offset in bytes of the line, from the beginning of the file, where the
10952	// finding  is located. Populate if the item being scanned is only part of a
10953	// bigger item, such as a shard of a file and you want to track the absolute
10954	// position of the finding.
10955	FileOffset int64 `protobuf:"varint,2,opt,name=file_offset,json=fileOffset,proto3" json:"file_offset,omitempty"`
10956	// Offset of the row for tables. Populate if the row(s) being scanned are
10957	// part of a bigger dataset and you want to keep track of their absolute
10958	// position.
10959	RowOffset int64 `protobuf:"varint,3,opt,name=row_offset,json=rowOffset,proto3" json:"row_offset,omitempty"`
10960	// If the container is a table, additional information to make findings
10961	// meaningful such as the columns that are primary keys. If not known ahead
10962	// of time, can also be set within each inspect hybrid call and the two
10963	// will be merged. Note that identifying_fields will only be stored to
10964	// BigQuery, and only if the BigQuery action has been included.
10965	TableOptions *TableOptions `protobuf:"bytes,4,opt,name=table_options,json=tableOptions,proto3" json:"table_options,omitempty"`
10966	// Labels to represent user provided metadata about the data being inspected.
10967	// If configured by the job, some key values may be required.
10968	// The labels associated with `Finding`'s produced by hybrid
10969	// inspection.
10970	//
10971	// Label keys must be between 1 and 63 characters long and must conform
10972	// to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
10973	//
10974	// Label values must be between 0 and 63 characters long and must conform
10975	// to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
10976	//
10977	// No more than 10 labels can be associated with a given finding.
10978	//
10979	// Examples:
10980	// * `"environment" : "production"`
10981	// * `"pipeline" : "etl"`
10982	Labels map[string]string `protobuf:"bytes,5,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
10983}
10984
10985func (x *HybridFindingDetails) Reset() {
10986	*x = HybridFindingDetails{}
10987	if protoimpl.UnsafeEnabled {
10988		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[122]
10989		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
10990		ms.StoreMessageInfo(mi)
10991	}
10992}
10993
10994func (x *HybridFindingDetails) String() string {
10995	return protoimpl.X.MessageStringOf(x)
10996}
10997
10998func (*HybridFindingDetails) ProtoMessage() {}
10999
11000func (x *HybridFindingDetails) ProtoReflect() protoreflect.Message {
11001	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[122]
11002	if protoimpl.UnsafeEnabled && x != nil {
11003		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
11004		if ms.LoadMessageInfo() == nil {
11005			ms.StoreMessageInfo(mi)
11006		}
11007		return ms
11008	}
11009	return mi.MessageOf(x)
11010}
11011
11012// Deprecated: Use HybridFindingDetails.ProtoReflect.Descriptor instead.
11013func (*HybridFindingDetails) Descriptor() ([]byte, []int) {
11014	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{122}
11015}
11016
11017func (x *HybridFindingDetails) GetContainerDetails() *Container {
11018	if x != nil {
11019		return x.ContainerDetails
11020	}
11021	return nil
11022}
11023
11024func (x *HybridFindingDetails) GetFileOffset() int64 {
11025	if x != nil {
11026		return x.FileOffset
11027	}
11028	return 0
11029}
11030
11031func (x *HybridFindingDetails) GetRowOffset() int64 {
11032	if x != nil {
11033		return x.RowOffset
11034	}
11035	return 0
11036}
11037
11038func (x *HybridFindingDetails) GetTableOptions() *TableOptions {
11039	if x != nil {
11040		return x.TableOptions
11041	}
11042	return nil
11043}
11044
11045func (x *HybridFindingDetails) GetLabels() map[string]string {
11046	if x != nil {
11047		return x.Labels
11048	}
11049	return nil
11050}
11051
11052// Quota exceeded errors will be thrown once quota has been met.
11053type HybridInspectResponse struct {
11054	state         protoimpl.MessageState
11055	sizeCache     protoimpl.SizeCache
11056	unknownFields protoimpl.UnknownFields
11057}
11058
11059func (x *HybridInspectResponse) Reset() {
11060	*x = HybridInspectResponse{}
11061	if protoimpl.UnsafeEnabled {
11062		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[123]
11063		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
11064		ms.StoreMessageInfo(mi)
11065	}
11066}
11067
11068func (x *HybridInspectResponse) String() string {
11069	return protoimpl.X.MessageStringOf(x)
11070}
11071
11072func (*HybridInspectResponse) ProtoMessage() {}
11073
11074func (x *HybridInspectResponse) ProtoReflect() protoreflect.Message {
11075	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[123]
11076	if protoimpl.UnsafeEnabled && x != nil {
11077		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
11078		if ms.LoadMessageInfo() == nil {
11079			ms.StoreMessageInfo(mi)
11080		}
11081		return ms
11082	}
11083	return mi.MessageOf(x)
11084}
11085
11086// Deprecated: Use HybridInspectResponse.ProtoReflect.Descriptor instead.
11087func (*HybridInspectResponse) Descriptor() ([]byte, []int) {
11088	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{123}
11089}
11090
11091// Configuration to control the number of findings returned.
11092type InspectConfig_FindingLimits struct {
11093	state         protoimpl.MessageState
11094	sizeCache     protoimpl.SizeCache
11095	unknownFields protoimpl.UnknownFields
11096
11097	// Max number of findings that will be returned for each item scanned.
11098	// When set within `InspectJobConfig`,
11099	// the maximum returned is 2000 regardless if this is set higher.
11100	// When set within `InspectContentRequest`, this field is ignored.
11101	MaxFindingsPerItem int32 `protobuf:"varint,1,opt,name=max_findings_per_item,json=maxFindingsPerItem,proto3" json:"max_findings_per_item,omitempty"`
11102	// Max number of findings that will be returned per request/job.
11103	// When set within `InspectContentRequest`, the maximum returned is 2000
11104	// regardless if this is set higher.
11105	MaxFindingsPerRequest int32 `protobuf:"varint,2,opt,name=max_findings_per_request,json=maxFindingsPerRequest,proto3" json:"max_findings_per_request,omitempty"`
11106	// Configuration of findings limit given for specified infoTypes.
11107	MaxFindingsPerInfoType []*InspectConfig_FindingLimits_InfoTypeLimit `protobuf:"bytes,3,rep,name=max_findings_per_info_type,json=maxFindingsPerInfoType,proto3" json:"max_findings_per_info_type,omitempty"`
11108}
11109
11110func (x *InspectConfig_FindingLimits) Reset() {
11111	*x = InspectConfig_FindingLimits{}
11112	if protoimpl.UnsafeEnabled {
11113		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[124]
11114		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
11115		ms.StoreMessageInfo(mi)
11116	}
11117}
11118
11119func (x *InspectConfig_FindingLimits) String() string {
11120	return protoimpl.X.MessageStringOf(x)
11121}
11122
11123func (*InspectConfig_FindingLimits) ProtoMessage() {}
11124
11125func (x *InspectConfig_FindingLimits) ProtoReflect() protoreflect.Message {
11126	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[124]
11127	if protoimpl.UnsafeEnabled && x != nil {
11128		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
11129		if ms.LoadMessageInfo() == nil {
11130			ms.StoreMessageInfo(mi)
11131		}
11132		return ms
11133	}
11134	return mi.MessageOf(x)
11135}
11136
11137// Deprecated: Use InspectConfig_FindingLimits.ProtoReflect.Descriptor instead.
11138func (*InspectConfig_FindingLimits) Descriptor() ([]byte, []int) {
11139	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{4, 0}
11140}
11141
11142func (x *InspectConfig_FindingLimits) GetMaxFindingsPerItem() int32 {
11143	if x != nil {
11144		return x.MaxFindingsPerItem
11145	}
11146	return 0
11147}
11148
11149func (x *InspectConfig_FindingLimits) GetMaxFindingsPerRequest() int32 {
11150	if x != nil {
11151		return x.MaxFindingsPerRequest
11152	}
11153	return 0
11154}
11155
11156func (x *InspectConfig_FindingLimits) GetMaxFindingsPerInfoType() []*InspectConfig_FindingLimits_InfoTypeLimit {
11157	if x != nil {
11158		return x.MaxFindingsPerInfoType
11159	}
11160	return nil
11161}
11162
11163// Max findings configuration per infoType, per content item or long
11164// running DlpJob.
11165type InspectConfig_FindingLimits_InfoTypeLimit struct {
11166	state         protoimpl.MessageState
11167	sizeCache     protoimpl.SizeCache
11168	unknownFields protoimpl.UnknownFields
11169
11170	// Type of information the findings limit applies to. Only one limit per
11171	// info_type should be provided. If InfoTypeLimit does not have an
11172	// info_type, the DLP API applies the limit against all info_types that
11173	// are found but not specified in another InfoTypeLimit.
11174	InfoType *InfoType `protobuf:"bytes,1,opt,name=info_type,json=infoType,proto3" json:"info_type,omitempty"`
11175	// Max findings limit for the given infoType.
11176	MaxFindings int32 `protobuf:"varint,2,opt,name=max_findings,json=maxFindings,proto3" json:"max_findings,omitempty"`
11177}
11178
11179func (x *InspectConfig_FindingLimits_InfoTypeLimit) Reset() {
11180	*x = InspectConfig_FindingLimits_InfoTypeLimit{}
11181	if protoimpl.UnsafeEnabled {
11182		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[125]
11183		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
11184		ms.StoreMessageInfo(mi)
11185	}
11186}
11187
11188func (x *InspectConfig_FindingLimits_InfoTypeLimit) String() string {
11189	return protoimpl.X.MessageStringOf(x)
11190}
11191
11192func (*InspectConfig_FindingLimits_InfoTypeLimit) ProtoMessage() {}
11193
11194func (x *InspectConfig_FindingLimits_InfoTypeLimit) ProtoReflect() protoreflect.Message {
11195	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[125]
11196	if protoimpl.UnsafeEnabled && x != nil {
11197		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
11198		if ms.LoadMessageInfo() == nil {
11199			ms.StoreMessageInfo(mi)
11200		}
11201		return ms
11202	}
11203	return mi.MessageOf(x)
11204}
11205
11206// Deprecated: Use InspectConfig_FindingLimits_InfoTypeLimit.ProtoReflect.Descriptor instead.
11207func (*InspectConfig_FindingLimits_InfoTypeLimit) Descriptor() ([]byte, []int) {
11208	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{4, 0, 0}
11209}
11210
11211func (x *InspectConfig_FindingLimits_InfoTypeLimit) GetInfoType() *InfoType {
11212	if x != nil {
11213		return x.InfoType
11214	}
11215	return nil
11216}
11217
11218func (x *InspectConfig_FindingLimits_InfoTypeLimit) GetMaxFindings() int32 {
11219	if x != nil {
11220		return x.MaxFindings
11221	}
11222	return 0
11223}
11224
11225// Values of the row.
11226type Table_Row struct {
11227	state         protoimpl.MessageState
11228	sizeCache     protoimpl.SizeCache
11229	unknownFields protoimpl.UnknownFields
11230
11231	// Individual cells.
11232	Values []*Value `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"`
11233}
11234
11235func (x *Table_Row) Reset() {
11236	*x = Table_Row{}
11237	if protoimpl.UnsafeEnabled {
11238		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[126]
11239		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
11240		ms.StoreMessageInfo(mi)
11241	}
11242}
11243
11244func (x *Table_Row) String() string {
11245	return protoimpl.X.MessageStringOf(x)
11246}
11247
11248func (*Table_Row) ProtoMessage() {}
11249
11250func (x *Table_Row) ProtoReflect() protoreflect.Message {
11251	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[126]
11252	if protoimpl.UnsafeEnabled && x != nil {
11253		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
11254		if ms.LoadMessageInfo() == nil {
11255			ms.StoreMessageInfo(mi)
11256		}
11257		return ms
11258	}
11259	return mi.MessageOf(x)
11260}
11261
11262// Deprecated: Use Table_Row.ProtoReflect.Descriptor instead.
11263func (*Table_Row) Descriptor() ([]byte, []int) {
11264	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{7, 0}
11265}
11266
11267func (x *Table_Row) GetValues() []*Value {
11268	if x != nil {
11269		return x.Values
11270	}
11271	return nil
11272}
11273
11274// Configuration for determining how redaction of images should occur.
11275type RedactImageRequest_ImageRedactionConfig struct {
11276	state         protoimpl.MessageState
11277	sizeCache     protoimpl.SizeCache
11278	unknownFields protoimpl.UnknownFields
11279
11280	// Type of information to redact from images.
11281	//
11282	// Types that are assignable to Target:
11283	//	*RedactImageRequest_ImageRedactionConfig_InfoType
11284	//	*RedactImageRequest_ImageRedactionConfig_RedactAllText
11285	Target isRedactImageRequest_ImageRedactionConfig_Target `protobuf_oneof:"target"`
11286	// The color to use when redacting content from an image. If not specified,
11287	// the default is black.
11288	RedactionColor *Color `protobuf:"bytes,3,opt,name=redaction_color,json=redactionColor,proto3" json:"redaction_color,omitempty"`
11289}
11290
11291func (x *RedactImageRequest_ImageRedactionConfig) Reset() {
11292	*x = RedactImageRequest_ImageRedactionConfig{}
11293	if protoimpl.UnsafeEnabled {
11294		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[128]
11295		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
11296		ms.StoreMessageInfo(mi)
11297	}
11298}
11299
11300func (x *RedactImageRequest_ImageRedactionConfig) String() string {
11301	return protoimpl.X.MessageStringOf(x)
11302}
11303
11304func (*RedactImageRequest_ImageRedactionConfig) ProtoMessage() {}
11305
11306func (x *RedactImageRequest_ImageRedactionConfig) ProtoReflect() protoreflect.Message {
11307	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[128]
11308	if protoimpl.UnsafeEnabled && x != nil {
11309		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
11310		if ms.LoadMessageInfo() == nil {
11311			ms.StoreMessageInfo(mi)
11312		}
11313		return ms
11314	}
11315	return mi.MessageOf(x)
11316}
11317
11318// Deprecated: Use RedactImageRequest_ImageRedactionConfig.ProtoReflect.Descriptor instead.
11319func (*RedactImageRequest_ImageRedactionConfig) Descriptor() ([]byte, []int) {
11320	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{21, 0}
11321}
11322
11323func (m *RedactImageRequest_ImageRedactionConfig) GetTarget() isRedactImageRequest_ImageRedactionConfig_Target {
11324	if m != nil {
11325		return m.Target
11326	}
11327	return nil
11328}
11329
11330func (x *RedactImageRequest_ImageRedactionConfig) GetInfoType() *InfoType {
11331	if x, ok := x.GetTarget().(*RedactImageRequest_ImageRedactionConfig_InfoType); ok {
11332		return x.InfoType
11333	}
11334	return nil
11335}
11336
11337func (x *RedactImageRequest_ImageRedactionConfig) GetRedactAllText() bool {
11338	if x, ok := x.GetTarget().(*RedactImageRequest_ImageRedactionConfig_RedactAllText); ok {
11339		return x.RedactAllText
11340	}
11341	return false
11342}
11343
11344func (x *RedactImageRequest_ImageRedactionConfig) GetRedactionColor() *Color {
11345	if x != nil {
11346		return x.RedactionColor
11347	}
11348	return nil
11349}
11350
11351type isRedactImageRequest_ImageRedactionConfig_Target interface {
11352	isRedactImageRequest_ImageRedactionConfig_Target()
11353}
11354
11355type RedactImageRequest_ImageRedactionConfig_InfoType struct {
11356	// Only one per info_type should be provided per request. If not
11357	// specified, and redact_all_text is false, the DLP API will redact all
11358	// text that it matches against all info_types that are found, but not
11359	// specified in another ImageRedactionConfig.
11360	InfoType *InfoType `protobuf:"bytes,1,opt,name=info_type,json=infoType,proto3,oneof"`
11361}
11362
11363type RedactImageRequest_ImageRedactionConfig_RedactAllText struct {
11364	// If true, all text found in the image, regardless whether it matches an
11365	// info_type, is redacted. Only one should be provided.
11366	RedactAllText bool `protobuf:"varint,2,opt,name=redact_all_text,json=redactAllText,proto3,oneof"`
11367}
11368
11369func (*RedactImageRequest_ImageRedactionConfig_InfoType) isRedactImageRequest_ImageRedactionConfig_Target() {
11370}
11371
11372func (*RedactImageRequest_ImageRedactionConfig_RedactAllText) isRedactImageRequest_ImageRedactionConfig_Target() {
11373}
11374
11375// Snapshot of the inspection configuration.
11376type InspectDataSourceDetails_RequestedOptions struct {
11377	state         protoimpl.MessageState
11378	sizeCache     protoimpl.SizeCache
11379	unknownFields protoimpl.UnknownFields
11380
11381	// If run with an InspectTemplate, a snapshot of its state at the time of
11382	// this run.
11383	SnapshotInspectTemplate *InspectTemplate `protobuf:"bytes,1,opt,name=snapshot_inspect_template,json=snapshotInspectTemplate,proto3" json:"snapshot_inspect_template,omitempty"`
11384	// Inspect config.
11385	JobConfig *InspectJobConfig `protobuf:"bytes,3,opt,name=job_config,json=jobConfig,proto3" json:"job_config,omitempty"`
11386}
11387
11388func (x *InspectDataSourceDetails_RequestedOptions) Reset() {
11389	*x = InspectDataSourceDetails_RequestedOptions{}
11390	if protoimpl.UnsafeEnabled {
11391		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[129]
11392		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
11393		ms.StoreMessageInfo(mi)
11394	}
11395}
11396
11397func (x *InspectDataSourceDetails_RequestedOptions) String() string {
11398	return protoimpl.X.MessageStringOf(x)
11399}
11400
11401func (*InspectDataSourceDetails_RequestedOptions) ProtoMessage() {}
11402
11403func (x *InspectDataSourceDetails_RequestedOptions) ProtoReflect() protoreflect.Message {
11404	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[129]
11405	if protoimpl.UnsafeEnabled && x != nil {
11406		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
11407		if ms.LoadMessageInfo() == nil {
11408			ms.StoreMessageInfo(mi)
11409		}
11410		return ms
11411	}
11412	return mi.MessageOf(x)
11413}
11414
11415// Deprecated: Use InspectDataSourceDetails_RequestedOptions.ProtoReflect.Descriptor instead.
11416func (*InspectDataSourceDetails_RequestedOptions) Descriptor() ([]byte, []int) {
11417	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{32, 0}
11418}
11419
11420func (x *InspectDataSourceDetails_RequestedOptions) GetSnapshotInspectTemplate() *InspectTemplate {
11421	if x != nil {
11422		return x.SnapshotInspectTemplate
11423	}
11424	return nil
11425}
11426
11427func (x *InspectDataSourceDetails_RequestedOptions) GetJobConfig() *InspectJobConfig {
11428	if x != nil {
11429		return x.JobConfig
11430	}
11431	return nil
11432}
11433
11434// All result fields mentioned below are updated while the job is processing.
11435type InspectDataSourceDetails_Result struct {
11436	state         protoimpl.MessageState
11437	sizeCache     protoimpl.SizeCache
11438	unknownFields protoimpl.UnknownFields
11439
11440	// Total size in bytes that were processed.
11441	ProcessedBytes int64 `protobuf:"varint,1,opt,name=processed_bytes,json=processedBytes,proto3" json:"processed_bytes,omitempty"`
11442	// Estimate of the number of bytes to process.
11443	TotalEstimatedBytes int64 `protobuf:"varint,2,opt,name=total_estimated_bytes,json=totalEstimatedBytes,proto3" json:"total_estimated_bytes,omitempty"`
11444	// Statistics of how many instances of each info type were found during
11445	// inspect job.
11446	InfoTypeStats []*InfoTypeStats `protobuf:"bytes,3,rep,name=info_type_stats,json=infoTypeStats,proto3" json:"info_type_stats,omitempty"`
11447	// Statistics related to the processing of hybrid inspect.
11448	// Early access feature is in a pre-release state and might change or have
11449	// limited support. For more information, see
11450	// https://cloud.google.com/products#product-launch-stages.
11451	HybridStats *HybridInspectStatistics `protobuf:"bytes,7,opt,name=hybrid_stats,json=hybridStats,proto3" json:"hybrid_stats,omitempty"`
11452}
11453
11454func (x *InspectDataSourceDetails_Result) Reset() {
11455	*x = InspectDataSourceDetails_Result{}
11456	if protoimpl.UnsafeEnabled {
11457		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[130]
11458		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
11459		ms.StoreMessageInfo(mi)
11460	}
11461}
11462
11463func (x *InspectDataSourceDetails_Result) String() string {
11464	return protoimpl.X.MessageStringOf(x)
11465}
11466
11467func (*InspectDataSourceDetails_Result) ProtoMessage() {}
11468
11469func (x *InspectDataSourceDetails_Result) ProtoReflect() protoreflect.Message {
11470	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[130]
11471	if protoimpl.UnsafeEnabled && x != nil {
11472		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
11473		if ms.LoadMessageInfo() == nil {
11474			ms.StoreMessageInfo(mi)
11475		}
11476		return ms
11477	}
11478	return mi.MessageOf(x)
11479}
11480
11481// Deprecated: Use InspectDataSourceDetails_Result.ProtoReflect.Descriptor instead.
11482func (*InspectDataSourceDetails_Result) Descriptor() ([]byte, []int) {
11483	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{32, 1}
11484}
11485
11486func (x *InspectDataSourceDetails_Result) GetProcessedBytes() int64 {
11487	if x != nil {
11488		return x.ProcessedBytes
11489	}
11490	return 0
11491}
11492
11493func (x *InspectDataSourceDetails_Result) GetTotalEstimatedBytes() int64 {
11494	if x != nil {
11495		return x.TotalEstimatedBytes
11496	}
11497	return 0
11498}
11499
11500func (x *InspectDataSourceDetails_Result) GetInfoTypeStats() []*InfoTypeStats {
11501	if x != nil {
11502		return x.InfoTypeStats
11503	}
11504	return nil
11505}
11506
11507func (x *InspectDataSourceDetails_Result) GetHybridStats() *HybridInspectStatistics {
11508	if x != nil {
11509		return x.HybridStats
11510	}
11511	return nil
11512}
11513
11514// A quasi-identifier column has a custom_tag, used to know which column
11515// in the data corresponds to which column in the statistical model.
11516type StatisticalTable_QuasiIdentifierField struct {
11517	state         protoimpl.MessageState
11518	sizeCache     protoimpl.SizeCache
11519	unknownFields protoimpl.UnknownFields
11520
11521	// Identifies the column.
11522	Field *FieldId `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"`
11523	// A column can be tagged with a custom tag. In this case, the user must
11524	// indicate an auxiliary table that contains statistical information on
11525	// the possible values of this column (below).
11526	CustomTag string `protobuf:"bytes,2,opt,name=custom_tag,json=customTag,proto3" json:"custom_tag,omitempty"`
11527}
11528
11529func (x *StatisticalTable_QuasiIdentifierField) Reset() {
11530	*x = StatisticalTable_QuasiIdentifierField{}
11531	if protoimpl.UnsafeEnabled {
11532		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[131]
11533		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
11534		ms.StoreMessageInfo(mi)
11535	}
11536}
11537
11538func (x *StatisticalTable_QuasiIdentifierField) String() string {
11539	return protoimpl.X.MessageStringOf(x)
11540}
11541
11542func (*StatisticalTable_QuasiIdentifierField) ProtoMessage() {}
11543
11544func (x *StatisticalTable_QuasiIdentifierField) ProtoReflect() protoreflect.Message {
11545	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[131]
11546	if protoimpl.UnsafeEnabled && x != nil {
11547		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
11548		if ms.LoadMessageInfo() == nil {
11549			ms.StoreMessageInfo(mi)
11550		}
11551		return ms
11552	}
11553	return mi.MessageOf(x)
11554}
11555
11556// Deprecated: Use StatisticalTable_QuasiIdentifierField.ProtoReflect.Descriptor instead.
11557func (*StatisticalTable_QuasiIdentifierField) Descriptor() ([]byte, []int) {
11558	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{39, 0}
11559}
11560
11561func (x *StatisticalTable_QuasiIdentifierField) GetField() *FieldId {
11562	if x != nil {
11563		return x.Field
11564	}
11565	return nil
11566}
11567
11568func (x *StatisticalTable_QuasiIdentifierField) GetCustomTag() string {
11569	if x != nil {
11570		return x.CustomTag
11571	}
11572	return ""
11573}
11574
11575// Compute numerical stats over an individual column, including
11576// min, max, and quantiles.
11577type PrivacyMetric_NumericalStatsConfig struct {
11578	state         protoimpl.MessageState
11579	sizeCache     protoimpl.SizeCache
11580	unknownFields protoimpl.UnknownFields
11581
11582	// Field to compute numerical stats on. Supported types are
11583	// integer, float, date, datetime, timestamp, time.
11584	Field *FieldId `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"`
11585}
11586
11587func (x *PrivacyMetric_NumericalStatsConfig) Reset() {
11588	*x = PrivacyMetric_NumericalStatsConfig{}
11589	if protoimpl.UnsafeEnabled {
11590		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[132]
11591		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
11592		ms.StoreMessageInfo(mi)
11593	}
11594}
11595
11596func (x *PrivacyMetric_NumericalStatsConfig) String() string {
11597	return protoimpl.X.MessageStringOf(x)
11598}
11599
11600func (*PrivacyMetric_NumericalStatsConfig) ProtoMessage() {}
11601
11602func (x *PrivacyMetric_NumericalStatsConfig) ProtoReflect() protoreflect.Message {
11603	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[132]
11604	if protoimpl.UnsafeEnabled && x != nil {
11605		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
11606		if ms.LoadMessageInfo() == nil {
11607			ms.StoreMessageInfo(mi)
11608		}
11609		return ms
11610	}
11611	return mi.MessageOf(x)
11612}
11613
11614// Deprecated: Use PrivacyMetric_NumericalStatsConfig.ProtoReflect.Descriptor instead.
11615func (*PrivacyMetric_NumericalStatsConfig) Descriptor() ([]byte, []int) {
11616	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{40, 0}
11617}
11618
11619func (x *PrivacyMetric_NumericalStatsConfig) GetField() *FieldId {
11620	if x != nil {
11621		return x.Field
11622	}
11623	return nil
11624}
11625
11626// Compute numerical stats over an individual column, including
11627// number of distinct values and value count distribution.
11628type PrivacyMetric_CategoricalStatsConfig struct {
11629	state         protoimpl.MessageState
11630	sizeCache     protoimpl.SizeCache
11631	unknownFields protoimpl.UnknownFields
11632
11633	// Field to compute categorical stats on. All column types are
11634	// supported except for arrays and structs. However, it may be more
11635	// informative to use NumericalStats when the field type is supported,
11636	// depending on the data.
11637	Field *FieldId `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"`
11638}
11639
11640func (x *PrivacyMetric_CategoricalStatsConfig) Reset() {
11641	*x = PrivacyMetric_CategoricalStatsConfig{}
11642	if protoimpl.UnsafeEnabled {
11643		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[133]
11644		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
11645		ms.StoreMessageInfo(mi)
11646	}
11647}
11648
11649func (x *PrivacyMetric_CategoricalStatsConfig) String() string {
11650	return protoimpl.X.MessageStringOf(x)
11651}
11652
11653func (*PrivacyMetric_CategoricalStatsConfig) ProtoMessage() {}
11654
11655func (x *PrivacyMetric_CategoricalStatsConfig) ProtoReflect() protoreflect.Message {
11656	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[133]
11657	if protoimpl.UnsafeEnabled && x != nil {
11658		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
11659		if ms.LoadMessageInfo() == nil {
11660			ms.StoreMessageInfo(mi)
11661		}
11662		return ms
11663	}
11664	return mi.MessageOf(x)
11665}
11666
11667// Deprecated: Use PrivacyMetric_CategoricalStatsConfig.ProtoReflect.Descriptor instead.
11668func (*PrivacyMetric_CategoricalStatsConfig) Descriptor() ([]byte, []int) {
11669	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{40, 1}
11670}
11671
11672func (x *PrivacyMetric_CategoricalStatsConfig) GetField() *FieldId {
11673	if x != nil {
11674		return x.Field
11675	}
11676	return nil
11677}
11678
11679// k-anonymity metric, used for analysis of reidentification risk.
11680type PrivacyMetric_KAnonymityConfig struct {
11681	state         protoimpl.MessageState
11682	sizeCache     protoimpl.SizeCache
11683	unknownFields protoimpl.UnknownFields
11684
11685	// Set of fields to compute k-anonymity over. When multiple fields are
11686	// specified, they are considered a single composite key. Structs and
11687	// repeated data types are not supported; however, nested fields are
11688	// supported so long as they are not structs themselves or nested within
11689	// a repeated field.
11690	QuasiIds []*FieldId `protobuf:"bytes,1,rep,name=quasi_ids,json=quasiIds,proto3" json:"quasi_ids,omitempty"`
11691	// Message indicating that multiple rows might be associated to a
11692	// single individual. If the same entity_id is associated to multiple
11693	// quasi-identifier tuples over distinct rows, we consider the entire
11694	// collection of tuples as the composite quasi-identifier. This collection
11695	// is a multiset: the order in which the different tuples appear in the
11696	// dataset is ignored, but their frequency is taken into account.
11697	//
11698	// Important note: a maximum of 1000 rows can be associated to a single
11699	// entity ID. If more rows are associated with the same entity ID, some
11700	// might be ignored.
11701	EntityId *EntityId `protobuf:"bytes,2,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
11702}
11703
11704func (x *PrivacyMetric_KAnonymityConfig) Reset() {
11705	*x = PrivacyMetric_KAnonymityConfig{}
11706	if protoimpl.UnsafeEnabled {
11707		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[134]
11708		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
11709		ms.StoreMessageInfo(mi)
11710	}
11711}
11712
11713func (x *PrivacyMetric_KAnonymityConfig) String() string {
11714	return protoimpl.X.MessageStringOf(x)
11715}
11716
11717func (*PrivacyMetric_KAnonymityConfig) ProtoMessage() {}
11718
11719func (x *PrivacyMetric_KAnonymityConfig) ProtoReflect() protoreflect.Message {
11720	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[134]
11721	if protoimpl.UnsafeEnabled && x != nil {
11722		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
11723		if ms.LoadMessageInfo() == nil {
11724			ms.StoreMessageInfo(mi)
11725		}
11726		return ms
11727	}
11728	return mi.MessageOf(x)
11729}
11730
11731// Deprecated: Use PrivacyMetric_KAnonymityConfig.ProtoReflect.Descriptor instead.
11732func (*PrivacyMetric_KAnonymityConfig) Descriptor() ([]byte, []int) {
11733	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{40, 2}
11734}
11735
11736func (x *PrivacyMetric_KAnonymityConfig) GetQuasiIds() []*FieldId {
11737	if x != nil {
11738		return x.QuasiIds
11739	}
11740	return nil
11741}
11742
11743func (x *PrivacyMetric_KAnonymityConfig) GetEntityId() *EntityId {
11744	if x != nil {
11745		return x.EntityId
11746	}
11747	return nil
11748}
11749
11750// l-diversity metric, used for analysis of reidentification risk.
11751type PrivacyMetric_LDiversityConfig struct {
11752	state         protoimpl.MessageState
11753	sizeCache     protoimpl.SizeCache
11754	unknownFields protoimpl.UnknownFields
11755
11756	// Set of quasi-identifiers indicating how equivalence classes are
11757	// defined for the l-diversity computation. When multiple fields are
11758	// specified, they are considered a single composite key.
11759	QuasiIds []*FieldId `protobuf:"bytes,1,rep,name=quasi_ids,json=quasiIds,proto3" json:"quasi_ids,omitempty"`
11760	// Sensitive field for computing the l-value.
11761	SensitiveAttribute *FieldId `protobuf:"bytes,2,opt,name=sensitive_attribute,json=sensitiveAttribute,proto3" json:"sensitive_attribute,omitempty"`
11762}
11763
11764func (x *PrivacyMetric_LDiversityConfig) Reset() {
11765	*x = PrivacyMetric_LDiversityConfig{}
11766	if protoimpl.UnsafeEnabled {
11767		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[135]
11768		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
11769		ms.StoreMessageInfo(mi)
11770	}
11771}
11772
11773func (x *PrivacyMetric_LDiversityConfig) String() string {
11774	return protoimpl.X.MessageStringOf(x)
11775}
11776
11777func (*PrivacyMetric_LDiversityConfig) ProtoMessage() {}
11778
11779func (x *PrivacyMetric_LDiversityConfig) ProtoReflect() protoreflect.Message {
11780	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[135]
11781	if protoimpl.UnsafeEnabled && x != nil {
11782		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
11783		if ms.LoadMessageInfo() == nil {
11784			ms.StoreMessageInfo(mi)
11785		}
11786		return ms
11787	}
11788	return mi.MessageOf(x)
11789}
11790
11791// Deprecated: Use PrivacyMetric_LDiversityConfig.ProtoReflect.Descriptor instead.
11792func (*PrivacyMetric_LDiversityConfig) Descriptor() ([]byte, []int) {
11793	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{40, 3}
11794}
11795
11796func (x *PrivacyMetric_LDiversityConfig) GetQuasiIds() []*FieldId {
11797	if x != nil {
11798		return x.QuasiIds
11799	}
11800	return nil
11801}
11802
11803func (x *PrivacyMetric_LDiversityConfig) GetSensitiveAttribute() *FieldId {
11804	if x != nil {
11805		return x.SensitiveAttribute
11806	}
11807	return nil
11808}
11809
11810// Reidentifiability metric. This corresponds to a risk model similar to what
11811// is called "journalist risk" in the literature, except the attack dataset is
11812// statistically modeled instead of being perfectly known. This can be done
11813// using publicly available data (like the US Census), or using a custom
11814// statistical model (indicated as one or several BigQuery tables), or by
11815// extrapolating from the distribution of values in the input dataset.
11816type PrivacyMetric_KMapEstimationConfig struct {
11817	state         protoimpl.MessageState
11818	sizeCache     protoimpl.SizeCache
11819	unknownFields protoimpl.UnknownFields
11820
11821	// Required. Fields considered to be quasi-identifiers. No two columns can
11822	// have the same tag.
11823	QuasiIds []*PrivacyMetric_KMapEstimationConfig_TaggedField `protobuf:"bytes,1,rep,name=quasi_ids,json=quasiIds,proto3" json:"quasi_ids,omitempty"`
11824	// ISO 3166-1 alpha-2 region code to use in the statistical modeling.
11825	// Set if no column is tagged with a region-specific InfoType (like
11826	// US_ZIP_5) or a region code.
11827	RegionCode string `protobuf:"bytes,2,opt,name=region_code,json=regionCode,proto3" json:"region_code,omitempty"`
11828	// Several auxiliary tables can be used in the analysis. Each custom_tag
11829	// used to tag a quasi-identifiers column must appear in exactly one column
11830	// of one auxiliary table.
11831	AuxiliaryTables []*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable `protobuf:"bytes,3,rep,name=auxiliary_tables,json=auxiliaryTables,proto3" json:"auxiliary_tables,omitempty"`
11832}
11833
11834func (x *PrivacyMetric_KMapEstimationConfig) Reset() {
11835	*x = PrivacyMetric_KMapEstimationConfig{}
11836	if protoimpl.UnsafeEnabled {
11837		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[136]
11838		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
11839		ms.StoreMessageInfo(mi)
11840	}
11841}
11842
11843func (x *PrivacyMetric_KMapEstimationConfig) String() string {
11844	return protoimpl.X.MessageStringOf(x)
11845}
11846
11847func (*PrivacyMetric_KMapEstimationConfig) ProtoMessage() {}
11848
11849func (x *PrivacyMetric_KMapEstimationConfig) ProtoReflect() protoreflect.Message {
11850	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[136]
11851	if protoimpl.UnsafeEnabled && x != nil {
11852		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
11853		if ms.LoadMessageInfo() == nil {
11854			ms.StoreMessageInfo(mi)
11855		}
11856		return ms
11857	}
11858	return mi.MessageOf(x)
11859}
11860
11861// Deprecated: Use PrivacyMetric_KMapEstimationConfig.ProtoReflect.Descriptor instead.
11862func (*PrivacyMetric_KMapEstimationConfig) Descriptor() ([]byte, []int) {
11863	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{40, 4}
11864}
11865
11866func (x *PrivacyMetric_KMapEstimationConfig) GetQuasiIds() []*PrivacyMetric_KMapEstimationConfig_TaggedField {
11867	if x != nil {
11868		return x.QuasiIds
11869	}
11870	return nil
11871}
11872
11873func (x *PrivacyMetric_KMapEstimationConfig) GetRegionCode() string {
11874	if x != nil {
11875		return x.RegionCode
11876	}
11877	return ""
11878}
11879
11880func (x *PrivacyMetric_KMapEstimationConfig) GetAuxiliaryTables() []*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable {
11881	if x != nil {
11882		return x.AuxiliaryTables
11883	}
11884	return nil
11885}
11886
11887// δ-presence metric, used to estimate how likely it is for an attacker to
11888// figure out that one given individual appears in a de-identified dataset.
11889// Similarly to the k-map metric, we cannot compute δ-presence exactly without
11890// knowing the attack dataset, so we use a statistical model instead.
11891type PrivacyMetric_DeltaPresenceEstimationConfig struct {
11892	state         protoimpl.MessageState
11893	sizeCache     protoimpl.SizeCache
11894	unknownFields protoimpl.UnknownFields
11895
11896	// Required. Fields considered to be quasi-identifiers. No two fields can
11897	// have the same tag.
11898	QuasiIds []*QuasiId `protobuf:"bytes,1,rep,name=quasi_ids,json=quasiIds,proto3" json:"quasi_ids,omitempty"`
11899	// ISO 3166-1 alpha-2 region code to use in the statistical modeling.
11900	// Set if no column is tagged with a region-specific InfoType (like
11901	// US_ZIP_5) or a region code.
11902	RegionCode string `protobuf:"bytes,2,opt,name=region_code,json=regionCode,proto3" json:"region_code,omitempty"`
11903	// Several auxiliary tables can be used in the analysis. Each custom_tag
11904	// used to tag a quasi-identifiers field must appear in exactly one
11905	// field of one auxiliary table.
11906	AuxiliaryTables []*StatisticalTable `protobuf:"bytes,3,rep,name=auxiliary_tables,json=auxiliaryTables,proto3" json:"auxiliary_tables,omitempty"`
11907}
11908
11909func (x *PrivacyMetric_DeltaPresenceEstimationConfig) Reset() {
11910	*x = PrivacyMetric_DeltaPresenceEstimationConfig{}
11911	if protoimpl.UnsafeEnabled {
11912		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[137]
11913		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
11914		ms.StoreMessageInfo(mi)
11915	}
11916}
11917
11918func (x *PrivacyMetric_DeltaPresenceEstimationConfig) String() string {
11919	return protoimpl.X.MessageStringOf(x)
11920}
11921
11922func (*PrivacyMetric_DeltaPresenceEstimationConfig) ProtoMessage() {}
11923
11924func (x *PrivacyMetric_DeltaPresenceEstimationConfig) ProtoReflect() protoreflect.Message {
11925	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[137]
11926	if protoimpl.UnsafeEnabled && x != nil {
11927		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
11928		if ms.LoadMessageInfo() == nil {
11929			ms.StoreMessageInfo(mi)
11930		}
11931		return ms
11932	}
11933	return mi.MessageOf(x)
11934}
11935
11936// Deprecated: Use PrivacyMetric_DeltaPresenceEstimationConfig.ProtoReflect.Descriptor instead.
11937func (*PrivacyMetric_DeltaPresenceEstimationConfig) Descriptor() ([]byte, []int) {
11938	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{40, 5}
11939}
11940
11941func (x *PrivacyMetric_DeltaPresenceEstimationConfig) GetQuasiIds() []*QuasiId {
11942	if x != nil {
11943		return x.QuasiIds
11944	}
11945	return nil
11946}
11947
11948func (x *PrivacyMetric_DeltaPresenceEstimationConfig) GetRegionCode() string {
11949	if x != nil {
11950		return x.RegionCode
11951	}
11952	return ""
11953}
11954
11955func (x *PrivacyMetric_DeltaPresenceEstimationConfig) GetAuxiliaryTables() []*StatisticalTable {
11956	if x != nil {
11957		return x.AuxiliaryTables
11958	}
11959	return nil
11960}
11961
11962// A column with a semantic tag attached.
11963type PrivacyMetric_KMapEstimationConfig_TaggedField struct {
11964	state         protoimpl.MessageState
11965	sizeCache     protoimpl.SizeCache
11966	unknownFields protoimpl.UnknownFields
11967
11968	// Required. Identifies the column.
11969	Field *FieldId `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"`
11970	// Semantic tag that identifies what a column contains, to determine which
11971	// statistical model to use to estimate the reidentifiability of each
11972	// value. [required]
11973	//
11974	// Types that are assignable to Tag:
11975	//	*PrivacyMetric_KMapEstimationConfig_TaggedField_InfoType
11976	//	*PrivacyMetric_KMapEstimationConfig_TaggedField_CustomTag
11977	//	*PrivacyMetric_KMapEstimationConfig_TaggedField_Inferred
11978	Tag isPrivacyMetric_KMapEstimationConfig_TaggedField_Tag `protobuf_oneof:"tag"`
11979}
11980
11981func (x *PrivacyMetric_KMapEstimationConfig_TaggedField) Reset() {
11982	*x = PrivacyMetric_KMapEstimationConfig_TaggedField{}
11983	if protoimpl.UnsafeEnabled {
11984		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[138]
11985		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
11986		ms.StoreMessageInfo(mi)
11987	}
11988}
11989
11990func (x *PrivacyMetric_KMapEstimationConfig_TaggedField) String() string {
11991	return protoimpl.X.MessageStringOf(x)
11992}
11993
11994func (*PrivacyMetric_KMapEstimationConfig_TaggedField) ProtoMessage() {}
11995
11996func (x *PrivacyMetric_KMapEstimationConfig_TaggedField) ProtoReflect() protoreflect.Message {
11997	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[138]
11998	if protoimpl.UnsafeEnabled && x != nil {
11999		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
12000		if ms.LoadMessageInfo() == nil {
12001			ms.StoreMessageInfo(mi)
12002		}
12003		return ms
12004	}
12005	return mi.MessageOf(x)
12006}
12007
12008// Deprecated: Use PrivacyMetric_KMapEstimationConfig_TaggedField.ProtoReflect.Descriptor instead.
12009func (*PrivacyMetric_KMapEstimationConfig_TaggedField) Descriptor() ([]byte, []int) {
12010	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{40, 4, 0}
12011}
12012
12013func (x *PrivacyMetric_KMapEstimationConfig_TaggedField) GetField() *FieldId {
12014	if x != nil {
12015		return x.Field
12016	}
12017	return nil
12018}
12019
12020func (m *PrivacyMetric_KMapEstimationConfig_TaggedField) GetTag() isPrivacyMetric_KMapEstimationConfig_TaggedField_Tag {
12021	if m != nil {
12022		return m.Tag
12023	}
12024	return nil
12025}
12026
12027func (x *PrivacyMetric_KMapEstimationConfig_TaggedField) GetInfoType() *InfoType {
12028	if x, ok := x.GetTag().(*PrivacyMetric_KMapEstimationConfig_TaggedField_InfoType); ok {
12029		return x.InfoType
12030	}
12031	return nil
12032}
12033
12034func (x *PrivacyMetric_KMapEstimationConfig_TaggedField) GetCustomTag() string {
12035	if x, ok := x.GetTag().(*PrivacyMetric_KMapEstimationConfig_TaggedField_CustomTag); ok {
12036		return x.CustomTag
12037	}
12038	return ""
12039}
12040
12041func (x *PrivacyMetric_KMapEstimationConfig_TaggedField) GetInferred() *empty.Empty {
12042	if x, ok := x.GetTag().(*PrivacyMetric_KMapEstimationConfig_TaggedField_Inferred); ok {
12043		return x.Inferred
12044	}
12045	return nil
12046}
12047
12048type isPrivacyMetric_KMapEstimationConfig_TaggedField_Tag interface {
12049	isPrivacyMetric_KMapEstimationConfig_TaggedField_Tag()
12050}
12051
12052type PrivacyMetric_KMapEstimationConfig_TaggedField_InfoType struct {
12053	// A column can be tagged with a InfoType to use the relevant public
12054	// dataset as a statistical model of population, if available. We
12055	// currently support US ZIP codes, region codes, ages and genders.
12056	// To programmatically obtain the list of supported InfoTypes, use
12057	// ListInfoTypes with the supported_by=RISK_ANALYSIS filter.
12058	InfoType *InfoType `protobuf:"bytes,2,opt,name=info_type,json=infoType,proto3,oneof"`
12059}
12060
12061type PrivacyMetric_KMapEstimationConfig_TaggedField_CustomTag struct {
12062	// A column can be tagged with a custom tag. In this case, the user must
12063	// indicate an auxiliary table that contains statistical information on
12064	// the possible values of this column (below).
12065	CustomTag string `protobuf:"bytes,3,opt,name=custom_tag,json=customTag,proto3,oneof"`
12066}
12067
12068type PrivacyMetric_KMapEstimationConfig_TaggedField_Inferred struct {
12069	// If no semantic tag is indicated, we infer the statistical model from
12070	// the distribution of values in the input data
12071	Inferred *empty.Empty `protobuf:"bytes,4,opt,name=inferred,proto3,oneof"`
12072}
12073
12074func (*PrivacyMetric_KMapEstimationConfig_TaggedField_InfoType) isPrivacyMetric_KMapEstimationConfig_TaggedField_Tag() {
12075}
12076
12077func (*PrivacyMetric_KMapEstimationConfig_TaggedField_CustomTag) isPrivacyMetric_KMapEstimationConfig_TaggedField_Tag() {
12078}
12079
12080func (*PrivacyMetric_KMapEstimationConfig_TaggedField_Inferred) isPrivacyMetric_KMapEstimationConfig_TaggedField_Tag() {
12081}
12082
12083// An auxiliary table contains statistical information on the relative
12084// frequency of different quasi-identifiers values. It has one or several
12085// quasi-identifiers columns, and one column that indicates the relative
12086// frequency of each quasi-identifier tuple.
12087// If a tuple is present in the data but not in the auxiliary table, the
12088// corresponding relative frequency is assumed to be zero (and thus, the
12089// tuple is highly reidentifiable).
12090type PrivacyMetric_KMapEstimationConfig_AuxiliaryTable struct {
12091	state         protoimpl.MessageState
12092	sizeCache     protoimpl.SizeCache
12093	unknownFields protoimpl.UnknownFields
12094
12095	// Required. Auxiliary table location.
12096	Table *BigQueryTable `protobuf:"bytes,3,opt,name=table,proto3" json:"table,omitempty"`
12097	// Required. Quasi-identifier columns.
12098	QuasiIds []*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField `protobuf:"bytes,1,rep,name=quasi_ids,json=quasiIds,proto3" json:"quasi_ids,omitempty"`
12099	// Required. The relative frequency column must contain a floating-point
12100	// number between 0 and 1 (inclusive). Null values are assumed to be zero.
12101	RelativeFrequency *FieldId `protobuf:"bytes,2,opt,name=relative_frequency,json=relativeFrequency,proto3" json:"relative_frequency,omitempty"`
12102}
12103
12104func (x *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable) Reset() {
12105	*x = PrivacyMetric_KMapEstimationConfig_AuxiliaryTable{}
12106	if protoimpl.UnsafeEnabled {
12107		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[139]
12108		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
12109		ms.StoreMessageInfo(mi)
12110	}
12111}
12112
12113func (x *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable) String() string {
12114	return protoimpl.X.MessageStringOf(x)
12115}
12116
12117func (*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable) ProtoMessage() {}
12118
12119func (x *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable) ProtoReflect() protoreflect.Message {
12120	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[139]
12121	if protoimpl.UnsafeEnabled && x != nil {
12122		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
12123		if ms.LoadMessageInfo() == nil {
12124			ms.StoreMessageInfo(mi)
12125		}
12126		return ms
12127	}
12128	return mi.MessageOf(x)
12129}
12130
12131// Deprecated: Use PrivacyMetric_KMapEstimationConfig_AuxiliaryTable.ProtoReflect.Descriptor instead.
12132func (*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable) Descriptor() ([]byte, []int) {
12133	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{40, 4, 1}
12134}
12135
12136func (x *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable) GetTable() *BigQueryTable {
12137	if x != nil {
12138		return x.Table
12139	}
12140	return nil
12141}
12142
12143func (x *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable) GetQuasiIds() []*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField {
12144	if x != nil {
12145		return x.QuasiIds
12146	}
12147	return nil
12148}
12149
12150func (x *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable) GetRelativeFrequency() *FieldId {
12151	if x != nil {
12152		return x.RelativeFrequency
12153	}
12154	return nil
12155}
12156
12157// A quasi-identifier column has a custom_tag, used to know which column
12158// in the data corresponds to which column in the statistical model.
12159type PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField struct {
12160	state         protoimpl.MessageState
12161	sizeCache     protoimpl.SizeCache
12162	unknownFields protoimpl.UnknownFields
12163
12164	// Identifies the column.
12165	Field *FieldId `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"`
12166	// A auxiliary field.
12167	CustomTag string `protobuf:"bytes,2,opt,name=custom_tag,json=customTag,proto3" json:"custom_tag,omitempty"`
12168}
12169
12170func (x *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField) Reset() {
12171	*x = PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField{}
12172	if protoimpl.UnsafeEnabled {
12173		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[140]
12174		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
12175		ms.StoreMessageInfo(mi)
12176	}
12177}
12178
12179func (x *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField) String() string {
12180	return protoimpl.X.MessageStringOf(x)
12181}
12182
12183func (*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField) ProtoMessage() {}
12184
12185func (x *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField) ProtoReflect() protoreflect.Message {
12186	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[140]
12187	if protoimpl.UnsafeEnabled && x != nil {
12188		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
12189		if ms.LoadMessageInfo() == nil {
12190			ms.StoreMessageInfo(mi)
12191		}
12192		return ms
12193	}
12194	return mi.MessageOf(x)
12195}
12196
12197// Deprecated: Use PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField.ProtoReflect.Descriptor instead.
12198func (*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField) Descriptor() ([]byte, []int) {
12199	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{40, 4, 1, 0}
12200}
12201
12202func (x *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField) GetField() *FieldId {
12203	if x != nil {
12204		return x.Field
12205	}
12206	return nil
12207}
12208
12209func (x *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField) GetCustomTag() string {
12210	if x != nil {
12211		return x.CustomTag
12212	}
12213	return ""
12214}
12215
12216// Result of the numerical stats computation.
12217type AnalyzeDataSourceRiskDetails_NumericalStatsResult struct {
12218	state         protoimpl.MessageState
12219	sizeCache     protoimpl.SizeCache
12220	unknownFields protoimpl.UnknownFields
12221
12222	// Minimum value appearing in the column.
12223	MinValue *Value `protobuf:"bytes,1,opt,name=min_value,json=minValue,proto3" json:"min_value,omitempty"`
12224	// Maximum value appearing in the column.
12225	MaxValue *Value `protobuf:"bytes,2,opt,name=max_value,json=maxValue,proto3" json:"max_value,omitempty"`
12226	// List of 99 values that partition the set of field values into 100 equal
12227	// sized buckets.
12228	QuantileValues []*Value `protobuf:"bytes,4,rep,name=quantile_values,json=quantileValues,proto3" json:"quantile_values,omitempty"`
12229}
12230
12231func (x *AnalyzeDataSourceRiskDetails_NumericalStatsResult) Reset() {
12232	*x = AnalyzeDataSourceRiskDetails_NumericalStatsResult{}
12233	if protoimpl.UnsafeEnabled {
12234		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[141]
12235		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
12236		ms.StoreMessageInfo(mi)
12237	}
12238}
12239
12240func (x *AnalyzeDataSourceRiskDetails_NumericalStatsResult) String() string {
12241	return protoimpl.X.MessageStringOf(x)
12242}
12243
12244func (*AnalyzeDataSourceRiskDetails_NumericalStatsResult) ProtoMessage() {}
12245
12246func (x *AnalyzeDataSourceRiskDetails_NumericalStatsResult) ProtoReflect() protoreflect.Message {
12247	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[141]
12248	if protoimpl.UnsafeEnabled && x != nil {
12249		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
12250		if ms.LoadMessageInfo() == nil {
12251			ms.StoreMessageInfo(mi)
12252		}
12253		return ms
12254	}
12255	return mi.MessageOf(x)
12256}
12257
12258// Deprecated: Use AnalyzeDataSourceRiskDetails_NumericalStatsResult.ProtoReflect.Descriptor instead.
12259func (*AnalyzeDataSourceRiskDetails_NumericalStatsResult) Descriptor() ([]byte, []int) {
12260	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{41, 0}
12261}
12262
12263func (x *AnalyzeDataSourceRiskDetails_NumericalStatsResult) GetMinValue() *Value {
12264	if x != nil {
12265		return x.MinValue
12266	}
12267	return nil
12268}
12269
12270func (x *AnalyzeDataSourceRiskDetails_NumericalStatsResult) GetMaxValue() *Value {
12271	if x != nil {
12272		return x.MaxValue
12273	}
12274	return nil
12275}
12276
12277func (x *AnalyzeDataSourceRiskDetails_NumericalStatsResult) GetQuantileValues() []*Value {
12278	if x != nil {
12279		return x.QuantileValues
12280	}
12281	return nil
12282}
12283
12284// Result of the categorical stats computation.
12285type AnalyzeDataSourceRiskDetails_CategoricalStatsResult struct {
12286	state         protoimpl.MessageState
12287	sizeCache     protoimpl.SizeCache
12288	unknownFields protoimpl.UnknownFields
12289
12290	// Histogram of value frequencies in the column.
12291	ValueFrequencyHistogramBuckets []*AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket `protobuf:"bytes,5,rep,name=value_frequency_histogram_buckets,json=valueFrequencyHistogramBuckets,proto3" json:"value_frequency_histogram_buckets,omitempty"`
12292}
12293
12294func (x *AnalyzeDataSourceRiskDetails_CategoricalStatsResult) Reset() {
12295	*x = AnalyzeDataSourceRiskDetails_CategoricalStatsResult{}
12296	if protoimpl.UnsafeEnabled {
12297		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[142]
12298		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
12299		ms.StoreMessageInfo(mi)
12300	}
12301}
12302
12303func (x *AnalyzeDataSourceRiskDetails_CategoricalStatsResult) String() string {
12304	return protoimpl.X.MessageStringOf(x)
12305}
12306
12307func (*AnalyzeDataSourceRiskDetails_CategoricalStatsResult) ProtoMessage() {}
12308
12309func (x *AnalyzeDataSourceRiskDetails_CategoricalStatsResult) ProtoReflect() protoreflect.Message {
12310	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[142]
12311	if protoimpl.UnsafeEnabled && x != nil {
12312		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
12313		if ms.LoadMessageInfo() == nil {
12314			ms.StoreMessageInfo(mi)
12315		}
12316		return ms
12317	}
12318	return mi.MessageOf(x)
12319}
12320
12321// Deprecated: Use AnalyzeDataSourceRiskDetails_CategoricalStatsResult.ProtoReflect.Descriptor instead.
12322func (*AnalyzeDataSourceRiskDetails_CategoricalStatsResult) Descriptor() ([]byte, []int) {
12323	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{41, 1}
12324}
12325
12326func (x *AnalyzeDataSourceRiskDetails_CategoricalStatsResult) GetValueFrequencyHistogramBuckets() []*AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket {
12327	if x != nil {
12328		return x.ValueFrequencyHistogramBuckets
12329	}
12330	return nil
12331}
12332
12333// Result of the k-anonymity computation.
12334type AnalyzeDataSourceRiskDetails_KAnonymityResult struct {
12335	state         protoimpl.MessageState
12336	sizeCache     protoimpl.SizeCache
12337	unknownFields protoimpl.UnknownFields
12338
12339	// Histogram of k-anonymity equivalence classes.
12340	EquivalenceClassHistogramBuckets []*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket `protobuf:"bytes,5,rep,name=equivalence_class_histogram_buckets,json=equivalenceClassHistogramBuckets,proto3" json:"equivalence_class_histogram_buckets,omitempty"`
12341}
12342
12343func (x *AnalyzeDataSourceRiskDetails_KAnonymityResult) Reset() {
12344	*x = AnalyzeDataSourceRiskDetails_KAnonymityResult{}
12345	if protoimpl.UnsafeEnabled {
12346		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[143]
12347		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
12348		ms.StoreMessageInfo(mi)
12349	}
12350}
12351
12352func (x *AnalyzeDataSourceRiskDetails_KAnonymityResult) String() string {
12353	return protoimpl.X.MessageStringOf(x)
12354}
12355
12356func (*AnalyzeDataSourceRiskDetails_KAnonymityResult) ProtoMessage() {}
12357
12358func (x *AnalyzeDataSourceRiskDetails_KAnonymityResult) ProtoReflect() protoreflect.Message {
12359	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[143]
12360	if protoimpl.UnsafeEnabled && x != nil {
12361		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
12362		if ms.LoadMessageInfo() == nil {
12363			ms.StoreMessageInfo(mi)
12364		}
12365		return ms
12366	}
12367	return mi.MessageOf(x)
12368}
12369
12370// Deprecated: Use AnalyzeDataSourceRiskDetails_KAnonymityResult.ProtoReflect.Descriptor instead.
12371func (*AnalyzeDataSourceRiskDetails_KAnonymityResult) Descriptor() ([]byte, []int) {
12372	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{41, 2}
12373}
12374
12375func (x *AnalyzeDataSourceRiskDetails_KAnonymityResult) GetEquivalenceClassHistogramBuckets() []*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket {
12376	if x != nil {
12377		return x.EquivalenceClassHistogramBuckets
12378	}
12379	return nil
12380}
12381
12382// Result of the l-diversity computation.
12383type AnalyzeDataSourceRiskDetails_LDiversityResult struct {
12384	state         protoimpl.MessageState
12385	sizeCache     protoimpl.SizeCache
12386	unknownFields protoimpl.UnknownFields
12387
12388	// Histogram of l-diversity equivalence class sensitive value frequencies.
12389	SensitiveValueFrequencyHistogramBuckets []*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket `protobuf:"bytes,5,rep,name=sensitive_value_frequency_histogram_buckets,json=sensitiveValueFrequencyHistogramBuckets,proto3" json:"sensitive_value_frequency_histogram_buckets,omitempty"`
12390}
12391
12392func (x *AnalyzeDataSourceRiskDetails_LDiversityResult) Reset() {
12393	*x = AnalyzeDataSourceRiskDetails_LDiversityResult{}
12394	if protoimpl.UnsafeEnabled {
12395		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[144]
12396		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
12397		ms.StoreMessageInfo(mi)
12398	}
12399}
12400
12401func (x *AnalyzeDataSourceRiskDetails_LDiversityResult) String() string {
12402	return protoimpl.X.MessageStringOf(x)
12403}
12404
12405func (*AnalyzeDataSourceRiskDetails_LDiversityResult) ProtoMessage() {}
12406
12407func (x *AnalyzeDataSourceRiskDetails_LDiversityResult) ProtoReflect() protoreflect.Message {
12408	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[144]
12409	if protoimpl.UnsafeEnabled && x != nil {
12410		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
12411		if ms.LoadMessageInfo() == nil {
12412			ms.StoreMessageInfo(mi)
12413		}
12414		return ms
12415	}
12416	return mi.MessageOf(x)
12417}
12418
12419// Deprecated: Use AnalyzeDataSourceRiskDetails_LDiversityResult.ProtoReflect.Descriptor instead.
12420func (*AnalyzeDataSourceRiskDetails_LDiversityResult) Descriptor() ([]byte, []int) {
12421	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{41, 3}
12422}
12423
12424func (x *AnalyzeDataSourceRiskDetails_LDiversityResult) GetSensitiveValueFrequencyHistogramBuckets() []*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket {
12425	if x != nil {
12426		return x.SensitiveValueFrequencyHistogramBuckets
12427	}
12428	return nil
12429}
12430
12431// Result of the reidentifiability analysis. Note that these results are an
12432// estimation, not exact values.
12433type AnalyzeDataSourceRiskDetails_KMapEstimationResult struct {
12434	state         protoimpl.MessageState
12435	sizeCache     protoimpl.SizeCache
12436	unknownFields protoimpl.UnknownFields
12437
12438	// The intervals [min_anonymity, max_anonymity] do not overlap. If a value
12439	// doesn't correspond to any such interval, the associated frequency is
12440	// zero. For example, the following records:
12441	//   {min_anonymity: 1, max_anonymity: 1, frequency: 17}
12442	//   {min_anonymity: 2, max_anonymity: 3, frequency: 42}
12443	//   {min_anonymity: 5, max_anonymity: 10, frequency: 99}
12444	// mean that there are no record with an estimated anonymity of 4, 5, or
12445	// larger than 10.
12446	KMapEstimationHistogram []*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket `protobuf:"bytes,1,rep,name=k_map_estimation_histogram,json=kMapEstimationHistogram,proto3" json:"k_map_estimation_histogram,omitempty"`
12447}
12448
12449func (x *AnalyzeDataSourceRiskDetails_KMapEstimationResult) Reset() {
12450	*x = AnalyzeDataSourceRiskDetails_KMapEstimationResult{}
12451	if protoimpl.UnsafeEnabled {
12452		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[145]
12453		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
12454		ms.StoreMessageInfo(mi)
12455	}
12456}
12457
12458func (x *AnalyzeDataSourceRiskDetails_KMapEstimationResult) String() string {
12459	return protoimpl.X.MessageStringOf(x)
12460}
12461
12462func (*AnalyzeDataSourceRiskDetails_KMapEstimationResult) ProtoMessage() {}
12463
12464func (x *AnalyzeDataSourceRiskDetails_KMapEstimationResult) ProtoReflect() protoreflect.Message {
12465	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[145]
12466	if protoimpl.UnsafeEnabled && x != nil {
12467		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
12468		if ms.LoadMessageInfo() == nil {
12469			ms.StoreMessageInfo(mi)
12470		}
12471		return ms
12472	}
12473	return mi.MessageOf(x)
12474}
12475
12476// Deprecated: Use AnalyzeDataSourceRiskDetails_KMapEstimationResult.ProtoReflect.Descriptor instead.
12477func (*AnalyzeDataSourceRiskDetails_KMapEstimationResult) Descriptor() ([]byte, []int) {
12478	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{41, 4}
12479}
12480
12481func (x *AnalyzeDataSourceRiskDetails_KMapEstimationResult) GetKMapEstimationHistogram() []*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket {
12482	if x != nil {
12483		return x.KMapEstimationHistogram
12484	}
12485	return nil
12486}
12487
12488// Result of the δ-presence computation. Note that these results are an
12489// estimation, not exact values.
12490type AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult struct {
12491	state         protoimpl.MessageState
12492	sizeCache     protoimpl.SizeCache
12493	unknownFields protoimpl.UnknownFields
12494
12495	// The intervals [min_probability, max_probability) do not overlap. If a
12496	// value doesn't correspond to any such interval, the associated frequency
12497	// is zero. For example, the following records:
12498	//   {min_probability: 0, max_probability: 0.1, frequency: 17}
12499	//   {min_probability: 0.2, max_probability: 0.3, frequency: 42}
12500	//   {min_probability: 0.3, max_probability: 0.4, frequency: 99}
12501	// mean that there are no record with an estimated probability in [0.1, 0.2)
12502	// nor larger or equal to 0.4.
12503	DeltaPresenceEstimationHistogram []*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket `protobuf:"bytes,1,rep,name=delta_presence_estimation_histogram,json=deltaPresenceEstimationHistogram,proto3" json:"delta_presence_estimation_histogram,omitempty"`
12504}
12505
12506func (x *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult) Reset() {
12507	*x = AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult{}
12508	if protoimpl.UnsafeEnabled {
12509		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[146]
12510		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
12511		ms.StoreMessageInfo(mi)
12512	}
12513}
12514
12515func (x *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult) String() string {
12516	return protoimpl.X.MessageStringOf(x)
12517}
12518
12519func (*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult) ProtoMessage() {}
12520
12521func (x *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult) ProtoReflect() protoreflect.Message {
12522	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[146]
12523	if protoimpl.UnsafeEnabled && x != nil {
12524		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
12525		if ms.LoadMessageInfo() == nil {
12526			ms.StoreMessageInfo(mi)
12527		}
12528		return ms
12529	}
12530	return mi.MessageOf(x)
12531}
12532
12533// Deprecated: Use AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult.ProtoReflect.Descriptor instead.
12534func (*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult) Descriptor() ([]byte, []int) {
12535	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{41, 5}
12536}
12537
12538func (x *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult) GetDeltaPresenceEstimationHistogram() []*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket {
12539	if x != nil {
12540		return x.DeltaPresenceEstimationHistogram
12541	}
12542	return nil
12543}
12544
12545// Histogram of value frequencies in the column.
12546type AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket struct {
12547	state         protoimpl.MessageState
12548	sizeCache     protoimpl.SizeCache
12549	unknownFields protoimpl.UnknownFields
12550
12551	// Lower bound on the value frequency of the values in this bucket.
12552	ValueFrequencyLowerBound int64 `protobuf:"varint,1,opt,name=value_frequency_lower_bound,json=valueFrequencyLowerBound,proto3" json:"value_frequency_lower_bound,omitempty"`
12553	// Upper bound on the value frequency of the values in this bucket.
12554	ValueFrequencyUpperBound int64 `protobuf:"varint,2,opt,name=value_frequency_upper_bound,json=valueFrequencyUpperBound,proto3" json:"value_frequency_upper_bound,omitempty"`
12555	// Total number of values in this bucket.
12556	BucketSize int64 `protobuf:"varint,3,opt,name=bucket_size,json=bucketSize,proto3" json:"bucket_size,omitempty"`
12557	// Sample of value frequencies in this bucket. The total number of
12558	// values returned per bucket is capped at 20.
12559	BucketValues []*ValueFrequency `protobuf:"bytes,4,rep,name=bucket_values,json=bucketValues,proto3" json:"bucket_values,omitempty"`
12560	// Total number of distinct values in this bucket.
12561	BucketValueCount int64 `protobuf:"varint,5,opt,name=bucket_value_count,json=bucketValueCount,proto3" json:"bucket_value_count,omitempty"`
12562}
12563
12564func (x *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) Reset() {
12565	*x = AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket{}
12566	if protoimpl.UnsafeEnabled {
12567		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[147]
12568		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
12569		ms.StoreMessageInfo(mi)
12570	}
12571}
12572
12573func (x *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) String() string {
12574	return protoimpl.X.MessageStringOf(x)
12575}
12576
12577func (*AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) ProtoMessage() {
12578}
12579
12580func (x *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) ProtoReflect() protoreflect.Message {
12581	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[147]
12582	if protoimpl.UnsafeEnabled && x != nil {
12583		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
12584		if ms.LoadMessageInfo() == nil {
12585			ms.StoreMessageInfo(mi)
12586		}
12587		return ms
12588	}
12589	return mi.MessageOf(x)
12590}
12591
12592// Deprecated: Use AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket.ProtoReflect.Descriptor instead.
12593func (*AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) Descriptor() ([]byte, []int) {
12594	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{41, 1, 0}
12595}
12596
12597func (x *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) GetValueFrequencyLowerBound() int64 {
12598	if x != nil {
12599		return x.ValueFrequencyLowerBound
12600	}
12601	return 0
12602}
12603
12604func (x *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) GetValueFrequencyUpperBound() int64 {
12605	if x != nil {
12606		return x.ValueFrequencyUpperBound
12607	}
12608	return 0
12609}
12610
12611func (x *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) GetBucketSize() int64 {
12612	if x != nil {
12613		return x.BucketSize
12614	}
12615	return 0
12616}
12617
12618func (x *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) GetBucketValues() []*ValueFrequency {
12619	if x != nil {
12620		return x.BucketValues
12621	}
12622	return nil
12623}
12624
12625func (x *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) GetBucketValueCount() int64 {
12626	if x != nil {
12627		return x.BucketValueCount
12628	}
12629	return 0
12630}
12631
12632// The set of columns' values that share the same ldiversity value
12633type AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass struct {
12634	state         protoimpl.MessageState
12635	sizeCache     protoimpl.SizeCache
12636	unknownFields protoimpl.UnknownFields
12637
12638	// Set of values defining the equivalence class. One value per
12639	// quasi-identifier column in the original KAnonymity metric message.
12640	// The order is always the same as the original request.
12641	QuasiIdsValues []*Value `protobuf:"bytes,1,rep,name=quasi_ids_values,json=quasiIdsValues,proto3" json:"quasi_ids_values,omitempty"`
12642	// Size of the equivalence class, for example number of rows with the
12643	// above set of values.
12644	EquivalenceClassSize int64 `protobuf:"varint,2,opt,name=equivalence_class_size,json=equivalenceClassSize,proto3" json:"equivalence_class_size,omitempty"`
12645}
12646
12647func (x *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass) Reset() {
12648	*x = AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass{}
12649	if protoimpl.UnsafeEnabled {
12650		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[148]
12651		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
12652		ms.StoreMessageInfo(mi)
12653	}
12654}
12655
12656func (x *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass) String() string {
12657	return protoimpl.X.MessageStringOf(x)
12658}
12659
12660func (*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass) ProtoMessage() {}
12661
12662func (x *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass) ProtoReflect() protoreflect.Message {
12663	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[148]
12664	if protoimpl.UnsafeEnabled && x != nil {
12665		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
12666		if ms.LoadMessageInfo() == nil {
12667			ms.StoreMessageInfo(mi)
12668		}
12669		return ms
12670	}
12671	return mi.MessageOf(x)
12672}
12673
12674// Deprecated: Use AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass.ProtoReflect.Descriptor instead.
12675func (*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass) Descriptor() ([]byte, []int) {
12676	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{41, 2, 0}
12677}
12678
12679func (x *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass) GetQuasiIdsValues() []*Value {
12680	if x != nil {
12681		return x.QuasiIdsValues
12682	}
12683	return nil
12684}
12685
12686func (x *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass) GetEquivalenceClassSize() int64 {
12687	if x != nil {
12688		return x.EquivalenceClassSize
12689	}
12690	return 0
12691}
12692
12693// Histogram of k-anonymity equivalence classes.
12694type AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket struct {
12695	state         protoimpl.MessageState
12696	sizeCache     protoimpl.SizeCache
12697	unknownFields protoimpl.UnknownFields
12698
12699	// Lower bound on the size of the equivalence classes in this bucket.
12700	EquivalenceClassSizeLowerBound int64 `protobuf:"varint,1,opt,name=equivalence_class_size_lower_bound,json=equivalenceClassSizeLowerBound,proto3" json:"equivalence_class_size_lower_bound,omitempty"`
12701	// Upper bound on the size of the equivalence classes in this bucket.
12702	EquivalenceClassSizeUpperBound int64 `protobuf:"varint,2,opt,name=equivalence_class_size_upper_bound,json=equivalenceClassSizeUpperBound,proto3" json:"equivalence_class_size_upper_bound,omitempty"`
12703	// Total number of equivalence classes in this bucket.
12704	BucketSize int64 `protobuf:"varint,3,opt,name=bucket_size,json=bucketSize,proto3" json:"bucket_size,omitempty"`
12705	// Sample of equivalence classes in this bucket. The total number of
12706	// classes returned per bucket is capped at 20.
12707	BucketValues []*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass `protobuf:"bytes,4,rep,name=bucket_values,json=bucketValues,proto3" json:"bucket_values,omitempty"`
12708	// Total number of distinct equivalence classes in this bucket.
12709	BucketValueCount int64 `protobuf:"varint,5,opt,name=bucket_value_count,json=bucketValueCount,proto3" json:"bucket_value_count,omitempty"`
12710}
12711
12712func (x *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) Reset() {
12713	*x = AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket{}
12714	if protoimpl.UnsafeEnabled {
12715		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[149]
12716		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
12717		ms.StoreMessageInfo(mi)
12718	}
12719}
12720
12721func (x *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) String() string {
12722	return protoimpl.X.MessageStringOf(x)
12723}
12724
12725func (*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) ProtoMessage() {}
12726
12727func (x *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) ProtoReflect() protoreflect.Message {
12728	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[149]
12729	if protoimpl.UnsafeEnabled && x != nil {
12730		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
12731		if ms.LoadMessageInfo() == nil {
12732			ms.StoreMessageInfo(mi)
12733		}
12734		return ms
12735	}
12736	return mi.MessageOf(x)
12737}
12738
12739// Deprecated: Use AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket.ProtoReflect.Descriptor instead.
12740func (*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) Descriptor() ([]byte, []int) {
12741	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{41, 2, 1}
12742}
12743
12744func (x *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) GetEquivalenceClassSizeLowerBound() int64 {
12745	if x != nil {
12746		return x.EquivalenceClassSizeLowerBound
12747	}
12748	return 0
12749}
12750
12751func (x *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) GetEquivalenceClassSizeUpperBound() int64 {
12752	if x != nil {
12753		return x.EquivalenceClassSizeUpperBound
12754	}
12755	return 0
12756}
12757
12758func (x *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) GetBucketSize() int64 {
12759	if x != nil {
12760		return x.BucketSize
12761	}
12762	return 0
12763}
12764
12765func (x *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) GetBucketValues() []*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass {
12766	if x != nil {
12767		return x.BucketValues
12768	}
12769	return nil
12770}
12771
12772func (x *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) GetBucketValueCount() int64 {
12773	if x != nil {
12774		return x.BucketValueCount
12775	}
12776	return 0
12777}
12778
12779// The set of columns' values that share the same ldiversity value.
12780type AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass struct {
12781	state         protoimpl.MessageState
12782	sizeCache     protoimpl.SizeCache
12783	unknownFields protoimpl.UnknownFields
12784
12785	// Quasi-identifier values defining the k-anonymity equivalence
12786	// class. The order is always the same as the original request.
12787	QuasiIdsValues []*Value `protobuf:"bytes,1,rep,name=quasi_ids_values,json=quasiIdsValues,proto3" json:"quasi_ids_values,omitempty"`
12788	// Size of the k-anonymity equivalence class.
12789	EquivalenceClassSize int64 `protobuf:"varint,2,opt,name=equivalence_class_size,json=equivalenceClassSize,proto3" json:"equivalence_class_size,omitempty"`
12790	// Number of distinct sensitive values in this equivalence class.
12791	NumDistinctSensitiveValues int64 `protobuf:"varint,3,opt,name=num_distinct_sensitive_values,json=numDistinctSensitiveValues,proto3" json:"num_distinct_sensitive_values,omitempty"`
12792	// Estimated frequencies of top sensitive values.
12793	TopSensitiveValues []*ValueFrequency `protobuf:"bytes,4,rep,name=top_sensitive_values,json=topSensitiveValues,proto3" json:"top_sensitive_values,omitempty"`
12794}
12795
12796func (x *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) Reset() {
12797	*x = AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass{}
12798	if protoimpl.UnsafeEnabled {
12799		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[150]
12800		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
12801		ms.StoreMessageInfo(mi)
12802	}
12803}
12804
12805func (x *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) String() string {
12806	return protoimpl.X.MessageStringOf(x)
12807}
12808
12809func (*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) ProtoMessage() {}
12810
12811func (x *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) ProtoReflect() protoreflect.Message {
12812	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[150]
12813	if protoimpl.UnsafeEnabled && x != nil {
12814		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
12815		if ms.LoadMessageInfo() == nil {
12816			ms.StoreMessageInfo(mi)
12817		}
12818		return ms
12819	}
12820	return mi.MessageOf(x)
12821}
12822
12823// Deprecated: Use AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass.ProtoReflect.Descriptor instead.
12824func (*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) Descriptor() ([]byte, []int) {
12825	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{41, 3, 0}
12826}
12827
12828func (x *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) GetQuasiIdsValues() []*Value {
12829	if x != nil {
12830		return x.QuasiIdsValues
12831	}
12832	return nil
12833}
12834
12835func (x *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) GetEquivalenceClassSize() int64 {
12836	if x != nil {
12837		return x.EquivalenceClassSize
12838	}
12839	return 0
12840}
12841
12842func (x *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) GetNumDistinctSensitiveValues() int64 {
12843	if x != nil {
12844		return x.NumDistinctSensitiveValues
12845	}
12846	return 0
12847}
12848
12849func (x *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) GetTopSensitiveValues() []*ValueFrequency {
12850	if x != nil {
12851		return x.TopSensitiveValues
12852	}
12853	return nil
12854}
12855
12856// Histogram of l-diversity equivalence class sensitive value frequencies.
12857type AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket struct {
12858	state         protoimpl.MessageState
12859	sizeCache     protoimpl.SizeCache
12860	unknownFields protoimpl.UnknownFields
12861
12862	// Lower bound on the sensitive value frequencies of the equivalence
12863	// classes in this bucket.
12864	SensitiveValueFrequencyLowerBound int64 `protobuf:"varint,1,opt,name=sensitive_value_frequency_lower_bound,json=sensitiveValueFrequencyLowerBound,proto3" json:"sensitive_value_frequency_lower_bound,omitempty"`
12865	// Upper bound on the sensitive value frequencies of the equivalence
12866	// classes in this bucket.
12867	SensitiveValueFrequencyUpperBound int64 `protobuf:"varint,2,opt,name=sensitive_value_frequency_upper_bound,json=sensitiveValueFrequencyUpperBound,proto3" json:"sensitive_value_frequency_upper_bound,omitempty"`
12868	// Total number of equivalence classes in this bucket.
12869	BucketSize int64 `protobuf:"varint,3,opt,name=bucket_size,json=bucketSize,proto3" json:"bucket_size,omitempty"`
12870	// Sample of equivalence classes in this bucket. The total number of
12871	// classes returned per bucket is capped at 20.
12872	BucketValues []*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass `protobuf:"bytes,4,rep,name=bucket_values,json=bucketValues,proto3" json:"bucket_values,omitempty"`
12873	// Total number of distinct equivalence classes in this bucket.
12874	BucketValueCount int64 `protobuf:"varint,5,opt,name=bucket_value_count,json=bucketValueCount,proto3" json:"bucket_value_count,omitempty"`
12875}
12876
12877func (x *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) Reset() {
12878	*x = AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket{}
12879	if protoimpl.UnsafeEnabled {
12880		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[151]
12881		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
12882		ms.StoreMessageInfo(mi)
12883	}
12884}
12885
12886func (x *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) String() string {
12887	return protoimpl.X.MessageStringOf(x)
12888}
12889
12890func (*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) ProtoMessage() {}
12891
12892func (x *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) ProtoReflect() protoreflect.Message {
12893	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[151]
12894	if protoimpl.UnsafeEnabled && x != nil {
12895		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
12896		if ms.LoadMessageInfo() == nil {
12897			ms.StoreMessageInfo(mi)
12898		}
12899		return ms
12900	}
12901	return mi.MessageOf(x)
12902}
12903
12904// Deprecated: Use AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket.ProtoReflect.Descriptor instead.
12905func (*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) Descriptor() ([]byte, []int) {
12906	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{41, 3, 1}
12907}
12908
12909func (x *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) GetSensitiveValueFrequencyLowerBound() int64 {
12910	if x != nil {
12911		return x.SensitiveValueFrequencyLowerBound
12912	}
12913	return 0
12914}
12915
12916func (x *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) GetSensitiveValueFrequencyUpperBound() int64 {
12917	if x != nil {
12918		return x.SensitiveValueFrequencyUpperBound
12919	}
12920	return 0
12921}
12922
12923func (x *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) GetBucketSize() int64 {
12924	if x != nil {
12925		return x.BucketSize
12926	}
12927	return 0
12928}
12929
12930func (x *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) GetBucketValues() []*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass {
12931	if x != nil {
12932		return x.BucketValues
12933	}
12934	return nil
12935}
12936
12937func (x *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) GetBucketValueCount() int64 {
12938	if x != nil {
12939		return x.BucketValueCount
12940	}
12941	return 0
12942}
12943
12944// A tuple of values for the quasi-identifier columns.
12945type AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues struct {
12946	state         protoimpl.MessageState
12947	sizeCache     protoimpl.SizeCache
12948	unknownFields protoimpl.UnknownFields
12949
12950	// The quasi-identifier values.
12951	QuasiIdsValues []*Value `protobuf:"bytes,1,rep,name=quasi_ids_values,json=quasiIdsValues,proto3" json:"quasi_ids_values,omitempty"`
12952	// The estimated anonymity for these quasi-identifier values.
12953	EstimatedAnonymity int64 `protobuf:"varint,2,opt,name=estimated_anonymity,json=estimatedAnonymity,proto3" json:"estimated_anonymity,omitempty"`
12954}
12955
12956func (x *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues) Reset() {
12957	*x = AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues{}
12958	if protoimpl.UnsafeEnabled {
12959		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[152]
12960		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
12961		ms.StoreMessageInfo(mi)
12962	}
12963}
12964
12965func (x *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues) String() string {
12966	return protoimpl.X.MessageStringOf(x)
12967}
12968
12969func (*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues) ProtoMessage() {}
12970
12971func (x *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues) ProtoReflect() protoreflect.Message {
12972	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[152]
12973	if protoimpl.UnsafeEnabled && x != nil {
12974		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
12975		if ms.LoadMessageInfo() == nil {
12976			ms.StoreMessageInfo(mi)
12977		}
12978		return ms
12979	}
12980	return mi.MessageOf(x)
12981}
12982
12983// Deprecated: Use AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues.ProtoReflect.Descriptor instead.
12984func (*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues) Descriptor() ([]byte, []int) {
12985	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{41, 4, 0}
12986}
12987
12988func (x *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues) GetQuasiIdsValues() []*Value {
12989	if x != nil {
12990		return x.QuasiIdsValues
12991	}
12992	return nil
12993}
12994
12995func (x *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues) GetEstimatedAnonymity() int64 {
12996	if x != nil {
12997		return x.EstimatedAnonymity
12998	}
12999	return 0
13000}
13001
13002// A KMapEstimationHistogramBucket message with the following values:
13003//   min_anonymity: 3
13004//   max_anonymity: 5
13005//   frequency: 42
13006// means that there are 42 records whose quasi-identifier values correspond
13007// to 3, 4 or 5 people in the overlying population. An important particular
13008// case is when min_anonymity = max_anonymity = 1: the frequency field then
13009// corresponds to the number of uniquely identifiable records.
13010type AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket struct {
13011	state         protoimpl.MessageState
13012	sizeCache     protoimpl.SizeCache
13013	unknownFields protoimpl.UnknownFields
13014
13015	// Always positive.
13016	MinAnonymity int64 `protobuf:"varint,1,opt,name=min_anonymity,json=minAnonymity,proto3" json:"min_anonymity,omitempty"`
13017	// Always greater than or equal to min_anonymity.
13018	MaxAnonymity int64 `protobuf:"varint,2,opt,name=max_anonymity,json=maxAnonymity,proto3" json:"max_anonymity,omitempty"`
13019	// Number of records within these anonymity bounds.
13020	BucketSize int64 `protobuf:"varint,5,opt,name=bucket_size,json=bucketSize,proto3" json:"bucket_size,omitempty"`
13021	// Sample of quasi-identifier tuple values in this bucket. The total
13022	// number of classes returned per bucket is capped at 20.
13023	BucketValues []*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues `protobuf:"bytes,6,rep,name=bucket_values,json=bucketValues,proto3" json:"bucket_values,omitempty"`
13024	// Total number of distinct quasi-identifier tuple values in this bucket.
13025	BucketValueCount int64 `protobuf:"varint,7,opt,name=bucket_value_count,json=bucketValueCount,proto3" json:"bucket_value_count,omitempty"`
13026}
13027
13028func (x *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) Reset() {
13029	*x = AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket{}
13030	if protoimpl.UnsafeEnabled {
13031		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[153]
13032		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
13033		ms.StoreMessageInfo(mi)
13034	}
13035}
13036
13037func (x *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) String() string {
13038	return protoimpl.X.MessageStringOf(x)
13039}
13040
13041func (*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) ProtoMessage() {
13042}
13043
13044func (x *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) ProtoReflect() protoreflect.Message {
13045	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[153]
13046	if protoimpl.UnsafeEnabled && x != nil {
13047		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
13048		if ms.LoadMessageInfo() == nil {
13049			ms.StoreMessageInfo(mi)
13050		}
13051		return ms
13052	}
13053	return mi.MessageOf(x)
13054}
13055
13056// Deprecated: Use AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket.ProtoReflect.Descriptor instead.
13057func (*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) Descriptor() ([]byte, []int) {
13058	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{41, 4, 1}
13059}
13060
13061func (x *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) GetMinAnonymity() int64 {
13062	if x != nil {
13063		return x.MinAnonymity
13064	}
13065	return 0
13066}
13067
13068func (x *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) GetMaxAnonymity() int64 {
13069	if x != nil {
13070		return x.MaxAnonymity
13071	}
13072	return 0
13073}
13074
13075func (x *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) GetBucketSize() int64 {
13076	if x != nil {
13077		return x.BucketSize
13078	}
13079	return 0
13080}
13081
13082func (x *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) GetBucketValues() []*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues {
13083	if x != nil {
13084		return x.BucketValues
13085	}
13086	return nil
13087}
13088
13089func (x *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) GetBucketValueCount() int64 {
13090	if x != nil {
13091		return x.BucketValueCount
13092	}
13093	return 0
13094}
13095
13096// A tuple of values for the quasi-identifier columns.
13097type AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues struct {
13098	state         protoimpl.MessageState
13099	sizeCache     protoimpl.SizeCache
13100	unknownFields protoimpl.UnknownFields
13101
13102	// The quasi-identifier values.
13103	QuasiIdsValues []*Value `protobuf:"bytes,1,rep,name=quasi_ids_values,json=quasiIdsValues,proto3" json:"quasi_ids_values,omitempty"`
13104	// The estimated probability that a given individual sharing these
13105	// quasi-identifier values is in the dataset. This value, typically called
13106	// δ, is the ratio between the number of records in the dataset with these
13107	// quasi-identifier values, and the total number of individuals (inside
13108	// *and* outside the dataset) with these quasi-identifier values.
13109	// For example, if there are 15 individuals in the dataset who share the
13110	// same quasi-identifier values, and an estimated 100 people in the entire
13111	// population with these values, then δ is 0.15.
13112	EstimatedProbability float64 `protobuf:"fixed64,2,opt,name=estimated_probability,json=estimatedProbability,proto3" json:"estimated_probability,omitempty"`
13113}
13114
13115func (x *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues) Reset() {
13116	*x = AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues{}
13117	if protoimpl.UnsafeEnabled {
13118		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[154]
13119		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
13120		ms.StoreMessageInfo(mi)
13121	}
13122}
13123
13124func (x *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues) String() string {
13125	return protoimpl.X.MessageStringOf(x)
13126}
13127
13128func (*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues) ProtoMessage() {
13129}
13130
13131func (x *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues) ProtoReflect() protoreflect.Message {
13132	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[154]
13133	if protoimpl.UnsafeEnabled && x != nil {
13134		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
13135		if ms.LoadMessageInfo() == nil {
13136			ms.StoreMessageInfo(mi)
13137		}
13138		return ms
13139	}
13140	return mi.MessageOf(x)
13141}
13142
13143// Deprecated: Use AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues.ProtoReflect.Descriptor instead.
13144func (*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues) Descriptor() ([]byte, []int) {
13145	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{41, 5, 0}
13146}
13147
13148func (x *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues) GetQuasiIdsValues() []*Value {
13149	if x != nil {
13150		return x.QuasiIdsValues
13151	}
13152	return nil
13153}
13154
13155func (x *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues) GetEstimatedProbability() float64 {
13156	if x != nil {
13157		return x.EstimatedProbability
13158	}
13159	return 0
13160}
13161
13162// A DeltaPresenceEstimationHistogramBucket message with the following
13163// values:
13164//   min_probability: 0.1
13165//   max_probability: 0.2
13166//   frequency: 42
13167// means that there are 42 records for which δ is in [0.1, 0.2). An
13168// important particular case is when min_probability = max_probability = 1:
13169// then, every individual who shares this quasi-identifier combination is in
13170// the dataset.
13171type AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket struct {
13172	state         protoimpl.MessageState
13173	sizeCache     protoimpl.SizeCache
13174	unknownFields protoimpl.UnknownFields
13175
13176	// Between 0 and 1.
13177	MinProbability float64 `protobuf:"fixed64,1,opt,name=min_probability,json=minProbability,proto3" json:"min_probability,omitempty"`
13178	// Always greater than or equal to min_probability.
13179	MaxProbability float64 `protobuf:"fixed64,2,opt,name=max_probability,json=maxProbability,proto3" json:"max_probability,omitempty"`
13180	// Number of records within these probability bounds.
13181	BucketSize int64 `protobuf:"varint,5,opt,name=bucket_size,json=bucketSize,proto3" json:"bucket_size,omitempty"`
13182	// Sample of quasi-identifier tuple values in this bucket. The total
13183	// number of classes returned per bucket is capped at 20.
13184	BucketValues []*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues `protobuf:"bytes,6,rep,name=bucket_values,json=bucketValues,proto3" json:"bucket_values,omitempty"`
13185	// Total number of distinct quasi-identifier tuple values in this bucket.
13186	BucketValueCount int64 `protobuf:"varint,7,opt,name=bucket_value_count,json=bucketValueCount,proto3" json:"bucket_value_count,omitempty"`
13187}
13188
13189func (x *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) Reset() {
13190	*x = AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket{}
13191	if protoimpl.UnsafeEnabled {
13192		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[155]
13193		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
13194		ms.StoreMessageInfo(mi)
13195	}
13196}
13197
13198func (x *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) String() string {
13199	return protoimpl.X.MessageStringOf(x)
13200}
13201
13202func (*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) ProtoMessage() {
13203}
13204
13205func (x *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) ProtoReflect() protoreflect.Message {
13206	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[155]
13207	if protoimpl.UnsafeEnabled && x != nil {
13208		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
13209		if ms.LoadMessageInfo() == nil {
13210			ms.StoreMessageInfo(mi)
13211		}
13212		return ms
13213	}
13214	return mi.MessageOf(x)
13215}
13216
13217// Deprecated: Use AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket.ProtoReflect.Descriptor instead.
13218func (*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) Descriptor() ([]byte, []int) {
13219	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{41, 5, 1}
13220}
13221
13222func (x *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) GetMinProbability() float64 {
13223	if x != nil {
13224		return x.MinProbability
13225	}
13226	return 0
13227}
13228
13229func (x *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) GetMaxProbability() float64 {
13230	if x != nil {
13231		return x.MaxProbability
13232	}
13233	return 0
13234}
13235
13236func (x *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) GetBucketSize() int64 {
13237	if x != nil {
13238		return x.BucketSize
13239	}
13240	return 0
13241}
13242
13243func (x *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) GetBucketValues() []*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues {
13244	if x != nil {
13245		return x.BucketValues
13246	}
13247	return nil
13248}
13249
13250func (x *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) GetBucketValueCount() int64 {
13251	if x != nil {
13252		return x.BucketValueCount
13253	}
13254	return 0
13255}
13256
13257// Time zone of the date time object.
13258type DateTime_TimeZone struct {
13259	state         protoimpl.MessageState
13260	sizeCache     protoimpl.SizeCache
13261	unknownFields protoimpl.UnknownFields
13262
13263	// Set only if the offset can be determined. Positive for time ahead of UTC.
13264	// E.g. For "UTC-9", this value is -540.
13265	OffsetMinutes int32 `protobuf:"varint,1,opt,name=offset_minutes,json=offsetMinutes,proto3" json:"offset_minutes,omitempty"`
13266}
13267
13268func (x *DateTime_TimeZone) Reset() {
13269	*x = DateTime_TimeZone{}
13270	if protoimpl.UnsafeEnabled {
13271		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[156]
13272		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
13273		ms.StoreMessageInfo(mi)
13274	}
13275}
13276
13277func (x *DateTime_TimeZone) String() string {
13278	return protoimpl.X.MessageStringOf(x)
13279}
13280
13281func (*DateTime_TimeZone) ProtoMessage() {}
13282
13283func (x *DateTime_TimeZone) ProtoReflect() protoreflect.Message {
13284	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[156]
13285	if protoimpl.UnsafeEnabled && x != nil {
13286		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
13287		if ms.LoadMessageInfo() == nil {
13288			ms.StoreMessageInfo(mi)
13289		}
13290		return ms
13291	}
13292	return mi.MessageOf(x)
13293}
13294
13295// Deprecated: Use DateTime_TimeZone.ProtoReflect.Descriptor instead.
13296func (*DateTime_TimeZone) Descriptor() ([]byte, []int) {
13297	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{45, 0}
13298}
13299
13300func (x *DateTime_TimeZone) GetOffsetMinutes() int32 {
13301	if x != nil {
13302		return x.OffsetMinutes
13303	}
13304	return 0
13305}
13306
13307// Throw an error and fail the request when a transformation error occurs.
13308type TransformationErrorHandling_ThrowError struct {
13309	state         protoimpl.MessageState
13310	sizeCache     protoimpl.SizeCache
13311	unknownFields protoimpl.UnknownFields
13312}
13313
13314func (x *TransformationErrorHandling_ThrowError) Reset() {
13315	*x = TransformationErrorHandling_ThrowError{}
13316	if protoimpl.UnsafeEnabled {
13317		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[157]
13318		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
13319		ms.StoreMessageInfo(mi)
13320	}
13321}
13322
13323func (x *TransformationErrorHandling_ThrowError) String() string {
13324	return protoimpl.X.MessageStringOf(x)
13325}
13326
13327func (*TransformationErrorHandling_ThrowError) ProtoMessage() {}
13328
13329func (x *TransformationErrorHandling_ThrowError) ProtoReflect() protoreflect.Message {
13330	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[157]
13331	if protoimpl.UnsafeEnabled && x != nil {
13332		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
13333		if ms.LoadMessageInfo() == nil {
13334			ms.StoreMessageInfo(mi)
13335		}
13336		return ms
13337	}
13338	return mi.MessageOf(x)
13339}
13340
13341// Deprecated: Use TransformationErrorHandling_ThrowError.ProtoReflect.Descriptor instead.
13342func (*TransformationErrorHandling_ThrowError) Descriptor() ([]byte, []int) {
13343	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{47, 0}
13344}
13345
13346// Skips the data without modifying it if the requested transformation would
13347// cause an error. For example, if a `DateShift` transformation were applied
13348// an an IP address, this mode would leave the IP address unchanged in the
13349// response.
13350type TransformationErrorHandling_LeaveUntransformed struct {
13351	state         protoimpl.MessageState
13352	sizeCache     protoimpl.SizeCache
13353	unknownFields protoimpl.UnknownFields
13354}
13355
13356func (x *TransformationErrorHandling_LeaveUntransformed) Reset() {
13357	*x = TransformationErrorHandling_LeaveUntransformed{}
13358	if protoimpl.UnsafeEnabled {
13359		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[158]
13360		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
13361		ms.StoreMessageInfo(mi)
13362	}
13363}
13364
13365func (x *TransformationErrorHandling_LeaveUntransformed) String() string {
13366	return protoimpl.X.MessageStringOf(x)
13367}
13368
13369func (*TransformationErrorHandling_LeaveUntransformed) ProtoMessage() {}
13370
13371func (x *TransformationErrorHandling_LeaveUntransformed) ProtoReflect() protoreflect.Message {
13372	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[158]
13373	if protoimpl.UnsafeEnabled && x != nil {
13374		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
13375		if ms.LoadMessageInfo() == nil {
13376			ms.StoreMessageInfo(mi)
13377		}
13378		return ms
13379	}
13380	return mi.MessageOf(x)
13381}
13382
13383// Deprecated: Use TransformationErrorHandling_LeaveUntransformed.ProtoReflect.Descriptor instead.
13384func (*TransformationErrorHandling_LeaveUntransformed) Descriptor() ([]byte, []int) {
13385	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{47, 1}
13386}
13387
13388// Bucket is represented as a range, along with replacement values.
13389type BucketingConfig_Bucket struct {
13390	state         protoimpl.MessageState
13391	sizeCache     protoimpl.SizeCache
13392	unknownFields protoimpl.UnknownFields
13393
13394	// Lower bound of the range, inclusive. Type should be the same as max if
13395	// used.
13396	Min *Value `protobuf:"bytes,1,opt,name=min,proto3" json:"min,omitempty"`
13397	// Upper bound of the range, exclusive; type must match min.
13398	Max *Value `protobuf:"bytes,2,opt,name=max,proto3" json:"max,omitempty"`
13399	// Replacement value for this bucket. If not provided
13400	// the default behavior will be to hyphenate the min-max range.
13401	ReplacementValue *Value `protobuf:"bytes,3,opt,name=replacement_value,json=replacementValue,proto3" json:"replacement_value,omitempty"`
13402}
13403
13404func (x *BucketingConfig_Bucket) Reset() {
13405	*x = BucketingConfig_Bucket{}
13406	if protoimpl.UnsafeEnabled {
13407		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[159]
13408		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
13409		ms.StoreMessageInfo(mi)
13410	}
13411}
13412
13413func (x *BucketingConfig_Bucket) String() string {
13414	return protoimpl.X.MessageStringOf(x)
13415}
13416
13417func (*BucketingConfig_Bucket) ProtoMessage() {}
13418
13419func (x *BucketingConfig_Bucket) ProtoReflect() protoreflect.Message {
13420	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[159]
13421	if protoimpl.UnsafeEnabled && x != nil {
13422		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
13423		if ms.LoadMessageInfo() == nil {
13424			ms.StoreMessageInfo(mi)
13425		}
13426		return ms
13427	}
13428	return mi.MessageOf(x)
13429}
13430
13431// Deprecated: Use BucketingConfig_Bucket.ProtoReflect.Descriptor instead.
13432func (*BucketingConfig_Bucket) Descriptor() ([]byte, []int) {
13433	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{58, 0}
13434}
13435
13436func (x *BucketingConfig_Bucket) GetMin() *Value {
13437	if x != nil {
13438		return x.Min
13439	}
13440	return nil
13441}
13442
13443func (x *BucketingConfig_Bucket) GetMax() *Value {
13444	if x != nil {
13445		return x.Max
13446	}
13447	return nil
13448}
13449
13450func (x *BucketingConfig_Bucket) GetReplacementValue() *Value {
13451	if x != nil {
13452		return x.ReplacementValue
13453	}
13454	return nil
13455}
13456
13457// A transformation to apply to text that is identified as a specific
13458// info_type.
13459type InfoTypeTransformations_InfoTypeTransformation struct {
13460	state         protoimpl.MessageState
13461	sizeCache     protoimpl.SizeCache
13462	unknownFields protoimpl.UnknownFields
13463
13464	// InfoTypes to apply the transformation to. An empty list will cause
13465	// this transformation to apply to all findings that correspond to
13466	// infoTypes that were requested in `InspectConfig`.
13467	InfoTypes []*InfoType `protobuf:"bytes,1,rep,name=info_types,json=infoTypes,proto3" json:"info_types,omitempty"`
13468	// Required. Primitive transformation to apply to the infoType.
13469	PrimitiveTransformation *PrimitiveTransformation `protobuf:"bytes,2,opt,name=primitive_transformation,json=primitiveTransformation,proto3" json:"primitive_transformation,omitempty"`
13470}
13471
13472func (x *InfoTypeTransformations_InfoTypeTransformation) Reset() {
13473	*x = InfoTypeTransformations_InfoTypeTransformation{}
13474	if protoimpl.UnsafeEnabled {
13475		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[160]
13476		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
13477		ms.StoreMessageInfo(mi)
13478	}
13479}
13480
13481func (x *InfoTypeTransformations_InfoTypeTransformation) String() string {
13482	return protoimpl.X.MessageStringOf(x)
13483}
13484
13485func (*InfoTypeTransformations_InfoTypeTransformation) ProtoMessage() {}
13486
13487func (x *InfoTypeTransformations_InfoTypeTransformation) ProtoReflect() protoreflect.Message {
13488	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[160]
13489	if protoimpl.UnsafeEnabled && x != nil {
13490		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
13491		if ms.LoadMessageInfo() == nil {
13492			ms.StoreMessageInfo(mi)
13493		}
13494		return ms
13495	}
13496	return mi.MessageOf(x)
13497}
13498
13499// Deprecated: Use InfoTypeTransformations_InfoTypeTransformation.ProtoReflect.Descriptor instead.
13500func (*InfoTypeTransformations_InfoTypeTransformation) Descriptor() ([]byte, []int) {
13501	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{65, 0}
13502}
13503
13504func (x *InfoTypeTransformations_InfoTypeTransformation) GetInfoTypes() []*InfoType {
13505	if x != nil {
13506		return x.InfoTypes
13507	}
13508	return nil
13509}
13510
13511func (x *InfoTypeTransformations_InfoTypeTransformation) GetPrimitiveTransformation() *PrimitiveTransformation {
13512	if x != nil {
13513		return x.PrimitiveTransformation
13514	}
13515	return nil
13516}
13517
13518// The field type of `value` and `field` do not need to match to be
13519// considered equal, but not all comparisons are possible.
13520// EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types,
13521// but all other comparisons are invalid with incompatible types.
13522// A `value` of type:
13523//
13524// - `string` can be compared against all other types
13525// - `boolean` can only be compared against other booleans
13526// - `integer` can be compared against doubles or a string if the string value
13527// can be parsed as an integer.
13528// - `double` can be compared against integers or a string if the string can
13529// be parsed as a double.
13530// - `Timestamp` can be compared against strings in RFC 3339 date string
13531// format.
13532// - `TimeOfDay` can be compared against timestamps and strings in the format
13533// of 'HH:mm:ss'.
13534//
13535// If we fail to compare do to type mismatch, a warning will be given and
13536// the condition will evaluate to false.
13537type RecordCondition_Condition struct {
13538	state         protoimpl.MessageState
13539	sizeCache     protoimpl.SizeCache
13540	unknownFields protoimpl.UnknownFields
13541
13542	// Required. Field within the record this condition is evaluated against.
13543	Field *FieldId `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"`
13544	// Required. Operator used to compare the field or infoType to the value.
13545	Operator RelationalOperator `protobuf:"varint,3,opt,name=operator,proto3,enum=google.privacy.dlp.v2.RelationalOperator" json:"operator,omitempty"`
13546	// Value to compare against. [Mandatory, except for `EXISTS` tests.]
13547	Value *Value `protobuf:"bytes,4,opt,name=value,proto3" json:"value,omitempty"`
13548}
13549
13550func (x *RecordCondition_Condition) Reset() {
13551	*x = RecordCondition_Condition{}
13552	if protoimpl.UnsafeEnabled {
13553		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[161]
13554		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
13555		ms.StoreMessageInfo(mi)
13556	}
13557}
13558
13559func (x *RecordCondition_Condition) String() string {
13560	return protoimpl.X.MessageStringOf(x)
13561}
13562
13563func (*RecordCondition_Condition) ProtoMessage() {}
13564
13565func (x *RecordCondition_Condition) ProtoReflect() protoreflect.Message {
13566	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[161]
13567	if protoimpl.UnsafeEnabled && x != nil {
13568		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
13569		if ms.LoadMessageInfo() == nil {
13570			ms.StoreMessageInfo(mi)
13571		}
13572		return ms
13573	}
13574	return mi.MessageOf(x)
13575}
13576
13577// Deprecated: Use RecordCondition_Condition.ProtoReflect.Descriptor instead.
13578func (*RecordCondition_Condition) Descriptor() ([]byte, []int) {
13579	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{69, 0}
13580}
13581
13582func (x *RecordCondition_Condition) GetField() *FieldId {
13583	if x != nil {
13584		return x.Field
13585	}
13586	return nil
13587}
13588
13589func (x *RecordCondition_Condition) GetOperator() RelationalOperator {
13590	if x != nil {
13591		return x.Operator
13592	}
13593	return RelationalOperator_RELATIONAL_OPERATOR_UNSPECIFIED
13594}
13595
13596func (x *RecordCondition_Condition) GetValue() *Value {
13597	if x != nil {
13598		return x.Value
13599	}
13600	return nil
13601}
13602
13603// A collection of conditions.
13604type RecordCondition_Conditions struct {
13605	state         protoimpl.MessageState
13606	sizeCache     protoimpl.SizeCache
13607	unknownFields protoimpl.UnknownFields
13608
13609	// A collection of conditions.
13610	Conditions []*RecordCondition_Condition `protobuf:"bytes,1,rep,name=conditions,proto3" json:"conditions,omitempty"`
13611}
13612
13613func (x *RecordCondition_Conditions) Reset() {
13614	*x = RecordCondition_Conditions{}
13615	if protoimpl.UnsafeEnabled {
13616		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[162]
13617		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
13618		ms.StoreMessageInfo(mi)
13619	}
13620}
13621
13622func (x *RecordCondition_Conditions) String() string {
13623	return protoimpl.X.MessageStringOf(x)
13624}
13625
13626func (*RecordCondition_Conditions) ProtoMessage() {}
13627
13628func (x *RecordCondition_Conditions) ProtoReflect() protoreflect.Message {
13629	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[162]
13630	if protoimpl.UnsafeEnabled && x != nil {
13631		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
13632		if ms.LoadMessageInfo() == nil {
13633			ms.StoreMessageInfo(mi)
13634		}
13635		return ms
13636	}
13637	return mi.MessageOf(x)
13638}
13639
13640// Deprecated: Use RecordCondition_Conditions.ProtoReflect.Descriptor instead.
13641func (*RecordCondition_Conditions) Descriptor() ([]byte, []int) {
13642	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{69, 1}
13643}
13644
13645func (x *RecordCondition_Conditions) GetConditions() []*RecordCondition_Condition {
13646	if x != nil {
13647		return x.Conditions
13648	}
13649	return nil
13650}
13651
13652// An expression, consisting or an operator and conditions.
13653type RecordCondition_Expressions struct {
13654	state         protoimpl.MessageState
13655	sizeCache     protoimpl.SizeCache
13656	unknownFields protoimpl.UnknownFields
13657
13658	// The operator to apply to the result of conditions. Default and currently
13659	// only supported value is `AND`.
13660	LogicalOperator RecordCondition_Expressions_LogicalOperator `protobuf:"varint,1,opt,name=logical_operator,json=logicalOperator,proto3,enum=google.privacy.dlp.v2.RecordCondition_Expressions_LogicalOperator" json:"logical_operator,omitempty"`
13661	// Expression types.
13662	//
13663	// Types that are assignable to Type:
13664	//	*RecordCondition_Expressions_Conditions
13665	Type isRecordCondition_Expressions_Type `protobuf_oneof:"type"`
13666}
13667
13668func (x *RecordCondition_Expressions) Reset() {
13669	*x = RecordCondition_Expressions{}
13670	if protoimpl.UnsafeEnabled {
13671		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[163]
13672		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
13673		ms.StoreMessageInfo(mi)
13674	}
13675}
13676
13677func (x *RecordCondition_Expressions) String() string {
13678	return protoimpl.X.MessageStringOf(x)
13679}
13680
13681func (*RecordCondition_Expressions) ProtoMessage() {}
13682
13683func (x *RecordCondition_Expressions) ProtoReflect() protoreflect.Message {
13684	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[163]
13685	if protoimpl.UnsafeEnabled && x != nil {
13686		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
13687		if ms.LoadMessageInfo() == nil {
13688			ms.StoreMessageInfo(mi)
13689		}
13690		return ms
13691	}
13692	return mi.MessageOf(x)
13693}
13694
13695// Deprecated: Use RecordCondition_Expressions.ProtoReflect.Descriptor instead.
13696func (*RecordCondition_Expressions) Descriptor() ([]byte, []int) {
13697	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{69, 2}
13698}
13699
13700func (x *RecordCondition_Expressions) GetLogicalOperator() RecordCondition_Expressions_LogicalOperator {
13701	if x != nil {
13702		return x.LogicalOperator
13703	}
13704	return RecordCondition_Expressions_LOGICAL_OPERATOR_UNSPECIFIED
13705}
13706
13707func (m *RecordCondition_Expressions) GetType() isRecordCondition_Expressions_Type {
13708	if m != nil {
13709		return m.Type
13710	}
13711	return nil
13712}
13713
13714func (x *RecordCondition_Expressions) GetConditions() *RecordCondition_Conditions {
13715	if x, ok := x.GetType().(*RecordCondition_Expressions_Conditions); ok {
13716		return x.Conditions
13717	}
13718	return nil
13719}
13720
13721type isRecordCondition_Expressions_Type interface {
13722	isRecordCondition_Expressions_Type()
13723}
13724
13725type RecordCondition_Expressions_Conditions struct {
13726	// Conditions to apply to the expression.
13727	Conditions *RecordCondition_Conditions `protobuf:"bytes,3,opt,name=conditions,proto3,oneof"`
13728}
13729
13730func (*RecordCondition_Expressions_Conditions) isRecordCondition_Expressions_Type() {}
13731
13732// A collection that informs the user the number of times a particular
13733// `TransformationResultCode` and error details occurred.
13734type TransformationSummary_SummaryResult struct {
13735	state         protoimpl.MessageState
13736	sizeCache     protoimpl.SizeCache
13737	unknownFields protoimpl.UnknownFields
13738
13739	// Number of transformations counted by this result.
13740	Count int64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"`
13741	// Outcome of the transformation.
13742	Code TransformationSummary_TransformationResultCode `protobuf:"varint,2,opt,name=code,proto3,enum=google.privacy.dlp.v2.TransformationSummary_TransformationResultCode" json:"code,omitempty"`
13743	// A place for warnings or errors to show up if a transformation didn't
13744	// work as expected.
13745	Details string `protobuf:"bytes,3,opt,name=details,proto3" json:"details,omitempty"`
13746}
13747
13748func (x *TransformationSummary_SummaryResult) Reset() {
13749	*x = TransformationSummary_SummaryResult{}
13750	if protoimpl.UnsafeEnabled {
13751		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[164]
13752		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
13753		ms.StoreMessageInfo(mi)
13754	}
13755}
13756
13757func (x *TransformationSummary_SummaryResult) String() string {
13758	return protoimpl.X.MessageStringOf(x)
13759}
13760
13761func (*TransformationSummary_SummaryResult) ProtoMessage() {}
13762
13763func (x *TransformationSummary_SummaryResult) ProtoReflect() protoreflect.Message {
13764	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[164]
13765	if protoimpl.UnsafeEnabled && x != nil {
13766		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
13767		if ms.LoadMessageInfo() == nil {
13768			ms.StoreMessageInfo(mi)
13769		}
13770		return ms
13771	}
13772	return mi.MessageOf(x)
13773}
13774
13775// Deprecated: Use TransformationSummary_SummaryResult.ProtoReflect.Descriptor instead.
13776func (*TransformationSummary_SummaryResult) Descriptor() ([]byte, []int) {
13777	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{71, 0}
13778}
13779
13780func (x *TransformationSummary_SummaryResult) GetCount() int64 {
13781	if x != nil {
13782		return x.Count
13783	}
13784	return 0
13785}
13786
13787func (x *TransformationSummary_SummaryResult) GetCode() TransformationSummary_TransformationResultCode {
13788	if x != nil {
13789		return x.Code
13790	}
13791	return TransformationSummary_TRANSFORMATION_RESULT_CODE_UNSPECIFIED
13792}
13793
13794func (x *TransformationSummary_SummaryResult) GetDetails() string {
13795	if x != nil {
13796		return x.Details
13797	}
13798	return ""
13799}
13800
13801// What event needs to occur for a new job to be started.
13802type JobTrigger_Trigger struct {
13803	state         protoimpl.MessageState
13804	sizeCache     protoimpl.SizeCache
13805	unknownFields protoimpl.UnknownFields
13806
13807	// Types that are assignable to Trigger:
13808	//	*JobTrigger_Trigger_Schedule
13809	//	*JobTrigger_Trigger_Manual
13810	Trigger isJobTrigger_Trigger_Trigger `protobuf_oneof:"trigger"`
13811}
13812
13813func (x *JobTrigger_Trigger) Reset() {
13814	*x = JobTrigger_Trigger{}
13815	if protoimpl.UnsafeEnabled {
13816		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[165]
13817		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
13818		ms.StoreMessageInfo(mi)
13819	}
13820}
13821
13822func (x *JobTrigger_Trigger) String() string {
13823	return protoimpl.X.MessageStringOf(x)
13824}
13825
13826func (*JobTrigger_Trigger) ProtoMessage() {}
13827
13828func (x *JobTrigger_Trigger) ProtoReflect() protoreflect.Message {
13829	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[165]
13830	if protoimpl.UnsafeEnabled && x != nil {
13831		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
13832		if ms.LoadMessageInfo() == nil {
13833			ms.StoreMessageInfo(mi)
13834		}
13835		return ms
13836	}
13837	return mi.MessageOf(x)
13838}
13839
13840// Deprecated: Use JobTrigger_Trigger.ProtoReflect.Descriptor instead.
13841func (*JobTrigger_Trigger) Descriptor() ([]byte, []int) {
13842	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{77, 0}
13843}
13844
13845func (m *JobTrigger_Trigger) GetTrigger() isJobTrigger_Trigger_Trigger {
13846	if m != nil {
13847		return m.Trigger
13848	}
13849	return nil
13850}
13851
13852func (x *JobTrigger_Trigger) GetSchedule() *Schedule {
13853	if x, ok := x.GetTrigger().(*JobTrigger_Trigger_Schedule); ok {
13854		return x.Schedule
13855	}
13856	return nil
13857}
13858
13859func (x *JobTrigger_Trigger) GetManual() *Manual {
13860	if x, ok := x.GetTrigger().(*JobTrigger_Trigger_Manual); ok {
13861		return x.Manual
13862	}
13863	return nil
13864}
13865
13866type isJobTrigger_Trigger_Trigger interface {
13867	isJobTrigger_Trigger_Trigger()
13868}
13869
13870type JobTrigger_Trigger_Schedule struct {
13871	// Create a job on a repeating basis based on the elapse of time.
13872	Schedule *Schedule `protobuf:"bytes,1,opt,name=schedule,proto3,oneof"`
13873}
13874
13875type JobTrigger_Trigger_Manual struct {
13876	// For use with hybrid jobs. Jobs must be manually created and finished.
13877	// Early access feature is in a pre-release state and might change or have
13878	// limited support. For more information, see
13879	// https://cloud.google.com/products#product-launch-stages.
13880	Manual *Manual `protobuf:"bytes,2,opt,name=manual,proto3,oneof"`
13881}
13882
13883func (*JobTrigger_Trigger_Schedule) isJobTrigger_Trigger_Trigger() {}
13884
13885func (*JobTrigger_Trigger_Manual) isJobTrigger_Trigger_Trigger() {}
13886
13887// If set, the detailed findings will be persisted to the specified
13888// OutputStorageConfig. Only a single instance of this action can be
13889// specified.
13890// Compatible with: Inspect, Risk
13891type Action_SaveFindings struct {
13892	state         protoimpl.MessageState
13893	sizeCache     protoimpl.SizeCache
13894	unknownFields protoimpl.UnknownFields
13895
13896	// Location to store findings outside of DLP.
13897	OutputConfig *OutputStorageConfig `protobuf:"bytes,1,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"`
13898}
13899
13900func (x *Action_SaveFindings) Reset() {
13901	*x = Action_SaveFindings{}
13902	if protoimpl.UnsafeEnabled {
13903		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[166]
13904		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
13905		ms.StoreMessageInfo(mi)
13906	}
13907}
13908
13909func (x *Action_SaveFindings) String() string {
13910	return protoimpl.X.MessageStringOf(x)
13911}
13912
13913func (*Action_SaveFindings) ProtoMessage() {}
13914
13915func (x *Action_SaveFindings) ProtoReflect() protoreflect.Message {
13916	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[166]
13917	if protoimpl.UnsafeEnabled && x != nil {
13918		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
13919		if ms.LoadMessageInfo() == nil {
13920			ms.StoreMessageInfo(mi)
13921		}
13922		return ms
13923	}
13924	return mi.MessageOf(x)
13925}
13926
13927// Deprecated: Use Action_SaveFindings.ProtoReflect.Descriptor instead.
13928func (*Action_SaveFindings) Descriptor() ([]byte, []int) {
13929	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{78, 0}
13930}
13931
13932func (x *Action_SaveFindings) GetOutputConfig() *OutputStorageConfig {
13933	if x != nil {
13934		return x.OutputConfig
13935	}
13936	return nil
13937}
13938
13939// Publish a message into given Pub/Sub topic when DlpJob has completed. The
13940// message contains a single field, `DlpJobName`, which is equal to the
13941// finished job's
13942// [`DlpJob.name`](/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob).
13943// Compatible with: Inspect, Risk
13944type Action_PublishToPubSub struct {
13945	state         protoimpl.MessageState
13946	sizeCache     protoimpl.SizeCache
13947	unknownFields protoimpl.UnknownFields
13948
13949	// Cloud Pub/Sub topic to send notifications to. The topic must have given
13950	// publishing access rights to the DLP API service account executing
13951	// the long running DlpJob sending the notifications.
13952	// Format is projects/{project}/topics/{topic}.
13953	Topic string `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"`
13954}
13955
13956func (x *Action_PublishToPubSub) Reset() {
13957	*x = Action_PublishToPubSub{}
13958	if protoimpl.UnsafeEnabled {
13959		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[167]
13960		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
13961		ms.StoreMessageInfo(mi)
13962	}
13963}
13964
13965func (x *Action_PublishToPubSub) String() string {
13966	return protoimpl.X.MessageStringOf(x)
13967}
13968
13969func (*Action_PublishToPubSub) ProtoMessage() {}
13970
13971func (x *Action_PublishToPubSub) ProtoReflect() protoreflect.Message {
13972	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[167]
13973	if protoimpl.UnsafeEnabled && x != nil {
13974		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
13975		if ms.LoadMessageInfo() == nil {
13976			ms.StoreMessageInfo(mi)
13977		}
13978		return ms
13979	}
13980	return mi.MessageOf(x)
13981}
13982
13983// Deprecated: Use Action_PublishToPubSub.ProtoReflect.Descriptor instead.
13984func (*Action_PublishToPubSub) Descriptor() ([]byte, []int) {
13985	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{78, 1}
13986}
13987
13988func (x *Action_PublishToPubSub) GetTopic() string {
13989	if x != nil {
13990		return x.Topic
13991	}
13992	return ""
13993}
13994
13995// Publish the result summary of a DlpJob to the Cloud Security
13996// Command Center (CSCC Alpha).
13997// This action is only available for projects which are parts of
13998// an organization and whitelisted for the alpha Cloud Security Command
13999// Center.
14000// The action will publish count of finding instances and their info types.
14001// The summary of findings will be persisted in CSCC and are governed by CSCC
14002// service-specific policy, see https://cloud.google.com/terms/service-terms
14003// Only a single instance of this action can be specified.
14004// Compatible with: Inspect
14005type Action_PublishSummaryToCscc struct {
14006	state         protoimpl.MessageState
14007	sizeCache     protoimpl.SizeCache
14008	unknownFields protoimpl.UnknownFields
14009}
14010
14011func (x *Action_PublishSummaryToCscc) Reset() {
14012	*x = Action_PublishSummaryToCscc{}
14013	if protoimpl.UnsafeEnabled {
14014		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[168]
14015		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
14016		ms.StoreMessageInfo(mi)
14017	}
14018}
14019
14020func (x *Action_PublishSummaryToCscc) String() string {
14021	return protoimpl.X.MessageStringOf(x)
14022}
14023
14024func (*Action_PublishSummaryToCscc) ProtoMessage() {}
14025
14026func (x *Action_PublishSummaryToCscc) ProtoReflect() protoreflect.Message {
14027	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[168]
14028	if protoimpl.UnsafeEnabled && x != nil {
14029		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
14030		if ms.LoadMessageInfo() == nil {
14031			ms.StoreMessageInfo(mi)
14032		}
14033		return ms
14034	}
14035	return mi.MessageOf(x)
14036}
14037
14038// Deprecated: Use Action_PublishSummaryToCscc.ProtoReflect.Descriptor instead.
14039func (*Action_PublishSummaryToCscc) Descriptor() ([]byte, []int) {
14040	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{78, 2}
14041}
14042
14043// Publish findings of a DlpJob to Cloud Data Catalog. Labels summarizing the
14044// results of the DlpJob will be applied to the entry for the resource scanned
14045// in Cloud Data Catalog. Any labels previously written by another DlpJob will
14046// be deleted. InfoType naming patterns are strictly enforced when using this
14047// feature. Note that the findings will be persisted in Cloud Data Catalog
14048// storage and are governed by Data Catalog service-specific policy, see
14049// https://cloud.google.com/terms/service-terms
14050// Only a single instance of this action can be specified and only allowed if
14051// all resources being scanned are BigQuery tables.
14052// Compatible with: Inspect
14053type Action_PublishFindingsToCloudDataCatalog struct {
14054	state         protoimpl.MessageState
14055	sizeCache     protoimpl.SizeCache
14056	unknownFields protoimpl.UnknownFields
14057}
14058
14059func (x *Action_PublishFindingsToCloudDataCatalog) Reset() {
14060	*x = Action_PublishFindingsToCloudDataCatalog{}
14061	if protoimpl.UnsafeEnabled {
14062		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[169]
14063		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
14064		ms.StoreMessageInfo(mi)
14065	}
14066}
14067
14068func (x *Action_PublishFindingsToCloudDataCatalog) String() string {
14069	return protoimpl.X.MessageStringOf(x)
14070}
14071
14072func (*Action_PublishFindingsToCloudDataCatalog) ProtoMessage() {}
14073
14074func (x *Action_PublishFindingsToCloudDataCatalog) ProtoReflect() protoreflect.Message {
14075	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[169]
14076	if protoimpl.UnsafeEnabled && x != nil {
14077		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
14078		if ms.LoadMessageInfo() == nil {
14079			ms.StoreMessageInfo(mi)
14080		}
14081		return ms
14082	}
14083	return mi.MessageOf(x)
14084}
14085
14086// Deprecated: Use Action_PublishFindingsToCloudDataCatalog.ProtoReflect.Descriptor instead.
14087func (*Action_PublishFindingsToCloudDataCatalog) Descriptor() ([]byte, []int) {
14088	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{78, 3}
14089}
14090
14091// Enable email notification to project owners and editors on jobs's
14092// completion/failure.
14093type Action_JobNotificationEmails struct {
14094	state         protoimpl.MessageState
14095	sizeCache     protoimpl.SizeCache
14096	unknownFields protoimpl.UnknownFields
14097}
14098
14099func (x *Action_JobNotificationEmails) Reset() {
14100	*x = Action_JobNotificationEmails{}
14101	if protoimpl.UnsafeEnabled {
14102		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[170]
14103		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
14104		ms.StoreMessageInfo(mi)
14105	}
14106}
14107
14108func (x *Action_JobNotificationEmails) String() string {
14109	return protoimpl.X.MessageStringOf(x)
14110}
14111
14112func (*Action_JobNotificationEmails) ProtoMessage() {}
14113
14114func (x *Action_JobNotificationEmails) ProtoReflect() protoreflect.Message {
14115	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[170]
14116	if protoimpl.UnsafeEnabled && x != nil {
14117		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
14118		if ms.LoadMessageInfo() == nil {
14119			ms.StoreMessageInfo(mi)
14120		}
14121		return ms
14122	}
14123	return mi.MessageOf(x)
14124}
14125
14126// Deprecated: Use Action_JobNotificationEmails.ProtoReflect.Descriptor instead.
14127func (*Action_JobNotificationEmails) Descriptor() ([]byte, []int) {
14128	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{78, 4}
14129}
14130
14131// Enable Stackdriver metric dlp.googleapis.com/finding_count. This
14132// will publish a metric to stack driver on each infotype requested and
14133// how many findings were found for it. CustomDetectors will be bucketed
14134// as 'Custom' under the Stackdriver label 'info_type'.
14135type Action_PublishToStackdriver struct {
14136	state         protoimpl.MessageState
14137	sizeCache     protoimpl.SizeCache
14138	unknownFields protoimpl.UnknownFields
14139}
14140
14141func (x *Action_PublishToStackdriver) Reset() {
14142	*x = Action_PublishToStackdriver{}
14143	if protoimpl.UnsafeEnabled {
14144		mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[171]
14145		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
14146		ms.StoreMessageInfo(mi)
14147	}
14148}
14149
14150func (x *Action_PublishToStackdriver) String() string {
14151	return protoimpl.X.MessageStringOf(x)
14152}
14153
14154func (*Action_PublishToStackdriver) ProtoMessage() {}
14155
14156func (x *Action_PublishToStackdriver) ProtoReflect() protoreflect.Message {
14157	mi := &file_google_privacy_dlp_v2_dlp_proto_msgTypes[171]
14158	if protoimpl.UnsafeEnabled && x != nil {
14159		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
14160		if ms.LoadMessageInfo() == nil {
14161			ms.StoreMessageInfo(mi)
14162		}
14163		return ms
14164	}
14165	return mi.MessageOf(x)
14166}
14167
14168// Deprecated: Use Action_PublishToStackdriver.ProtoReflect.Descriptor instead.
14169func (*Action_PublishToStackdriver) Descriptor() ([]byte, []int) {
14170	return file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP(), []int{78, 5}
14171}
14172
14173var File_google_privacy_dlp_v2_dlp_proto protoreflect.FileDescriptor
14174
14175var file_google_privacy_dlp_v2_dlp_proto_rawDesc = []byte{
14176	0x0a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79,
14177	0x2f, 0x64, 0x6c, 0x70, 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x6c, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
14178	0x6f, 0x12, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63,
14179	0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
14180	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
14181	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61,
14182	0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
14183	0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c,
14184	0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
14185	0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73,
14186	0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f,
14187	0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2f, 0x64, 0x6c, 0x70, 0x2f,
14188	0x76, 0x32, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
14189	0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
14190	0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
14191	0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
14192	0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67,
14193	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66,
14194	0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
14195	0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
14196	0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
14197	0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61,
14198	0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
14199	0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
14200	0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x64,
14201	0x61, 0x79, 0x6f, 0x66, 0x77, 0x65, 0x65, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b,
14202	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x74, 0x69, 0x6d, 0x65,
14203	0x6f, 0x66, 0x64, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x52, 0x0a, 0x10, 0x45,
14204	0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12,
14205	0x3e, 0x0a, 0x0a, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20,
14206	0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69,
14207	0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x66, 0x6f,
14208	0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x69, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x22,
14209	0xd3, 0x02, 0x0a, 0x0d, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c,
14210	0x65, 0x12, 0x52, 0x0a, 0x0a, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x18,
14211	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
14212	0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x75,
14213	0x73, 0x74, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x69, 0x63,
14214	0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0a, 0x64, 0x69, 0x63, 0x74, 0x69,
14215	0x6f, 0x6e, 0x61, 0x72, 0x79, 0x12, 0x43, 0x0a, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x02,
14216	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
14217	0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x75, 0x73,
14218	0x74, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x52, 0x65, 0x67, 0x65,
14219	0x78, 0x48, 0x00, 0x52, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x12, 0x57, 0x0a, 0x12, 0x65, 0x78,
14220	0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73,
14221	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
14222	0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x45,
14223	0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x48,
14224	0x00, 0x52, 0x10, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79,
14225	0x70, 0x65, 0x73, 0x12, 0x48, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x5f,
14226	0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f,
14227	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e,
14228	0x76, 0x32, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x52,
14229	0x0c, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x42, 0x06, 0x0a,
14230	0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xcd, 0x01, 0x0a, 0x0e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63,
14231	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x64, 0x0a, 0x0c, 0x68, 0x6f, 0x74, 0x77,
14232	0x6f, 0x72, 0x64, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f,
14233	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e,
14234	0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x49, 0x6e, 0x66,
14235	0x6f, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52,
14236	0x75, 0x6c, 0x65, 0x2e, 0x48, 0x6f, 0x74, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x48,
14237	0x00, 0x52, 0x0b, 0x68, 0x6f, 0x74, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x4d,
14238	0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6c, 0x65,
14239	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
14240	0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x45,
14241	0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x0d,
14242	0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x06, 0x0a,
14243	0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x90, 0x01, 0x0a, 0x11, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63,
14244	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x12, 0x3e, 0x0a, 0x0a, 0x69,
14245	0x6e, 0x66, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
14246	0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79,
14247	0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65,
14248	0x52, 0x09, 0x69, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x05, 0x72,
14249	0x75, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f,
14250	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e,
14251	0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c,
14252	0x65, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x8d, 0x07, 0x0a, 0x0d, 0x49, 0x6e, 0x73,
14253	0x70, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3e, 0x0a, 0x0a, 0x69, 0x6e,
14254	0x66, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f,
14255	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e,
14256	0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x52,
14257	0x09, 0x69, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x48, 0x0a, 0x0e, 0x6d, 0x69,
14258	0x6e, 0x5f, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01,
14259	0x28, 0x0e, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76,
14260	0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c,
14261	0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52, 0x0d, 0x6d, 0x69, 0x6e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69,
14262	0x68, 0x6f, 0x6f, 0x64, 0x12, 0x4a, 0x0a, 0x06, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x03,
14263	0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
14264	0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73,
14265	0x70, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x69,
14266	0x6e, 0x67, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x52, 0x06, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73,
14267	0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x71, 0x75, 0x6f, 0x74,
14268	0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65,
14269	0x51, 0x75, 0x6f, 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65,
14270	0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28,
14271	0x08, 0x52, 0x10, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79,
14272	0x70, 0x65, 0x73, 0x12, 0x51, 0x0a, 0x11, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x69, 0x6e,
14273	0x66, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25,
14274	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e,
14275	0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x49, 0x6e, 0x66,
14276	0x6f, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x49, 0x6e, 0x66,
14277	0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x4d, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
14278	0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0e, 0x32,
14279	0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79,
14280	0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4f,
14281	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4f, 0x70,
14282	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x43, 0x0a, 0x08, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x73, 0x65,
14283	0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
14284	0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e,
14285	0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65,
14286	0x74, 0x52, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x1a, 0xeb, 0x02, 0x0a, 0x0d, 0x46,
14287	0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x31, 0x0a, 0x15,
14288	0x6d, 0x61, 0x78, 0x5f, 0x66, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x5f, 0x70, 0x65, 0x72,
14289	0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x6d, 0x61, 0x78,
14290	0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x50, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x12,
14291	0x37, 0x0a, 0x18, 0x6d, 0x61, 0x78, 0x5f, 0x66, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x5f,
14292	0x70, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
14293	0x05, 0x52, 0x15, 0x6d, 0x61, 0x78, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x50, 0x65,
14294	0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x7c, 0x0a, 0x1a, 0x6d, 0x61, 0x78, 0x5f,
14295	0x66, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66,
14296	0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67,
14297	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c,
14298	0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66,
14299	0x69, 0x67, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73,
14300	0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x16,
14301	0x6d, 0x61, 0x78, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x50, 0x65, 0x72, 0x49, 0x6e,
14302	0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x70, 0x0a, 0x0d, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79,
14303	0x70, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x3c, 0x0a, 0x09, 0x69, 0x6e, 0x66, 0x6f, 0x5f,
14304	0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f,
14305	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e,
14306	0x76, 0x32, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x66,
14307	0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x66, 0x69, 0x6e,
14308	0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x61, 0x78,
14309	0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x92, 0x02, 0x0a, 0x0f, 0x42, 0x79, 0x74,
14310	0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x44, 0x0a, 0x04,
14311	0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f,
14312	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e,
14313	0x76, 0x32, 0x2e, 0x42, 0x79, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x74,
14314	0x65, 0x6d, 0x2e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79,
14315	0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c,
14316	0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xa4, 0x01, 0x0a, 0x09, 0x42, 0x79, 0x74, 0x65, 0x73,
14317	0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x42, 0x59, 0x54, 0x45, 0x53, 0x5f, 0x54, 0x59,
14318	0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00,
14319	0x12, 0x09, 0x0a, 0x05, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x06, 0x12, 0x0e, 0x0a, 0x0a, 0x49,
14320	0x4d, 0x41, 0x47, 0x45, 0x5f, 0x4a, 0x50, 0x45, 0x47, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x49,
14321	0x4d, 0x41, 0x47, 0x45, 0x5f, 0x42, 0x4d, 0x50, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x49, 0x4d,
14322	0x41, 0x47, 0x45, 0x5f, 0x50, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x49, 0x4d, 0x41,
14323	0x47, 0x45, 0x5f, 0x53, 0x56, 0x47, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x45, 0x58, 0x54,
14324	0x5f, 0x55, 0x54, 0x46, 0x38, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x57, 0x4f, 0x52, 0x44, 0x5f,
14325	0x44, 0x4f, 0x43, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x07, 0x12, 0x07, 0x0a, 0x03, 0x50, 0x44,
14326	0x46, 0x10, 0x08, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x56, 0x52, 0x4f, 0x10, 0x0b, 0x22, 0xaf, 0x01,
14327	0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x16, 0x0a,
14328	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05,
14329	0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04,
14330	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
14331	0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x62,
14332	0x6c, 0x65, 0x48, 0x00, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x45, 0x0a, 0x09, 0x62,
14333	0x79, 0x74, 0x65, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26,
14334	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e,
14335	0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x79, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65,
14336	0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x00, 0x52, 0x08, 0x62, 0x79, 0x74, 0x65, 0x49, 0x74,
14337	0x65, 0x6d, 0x42, 0x0b, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x22,
14338	0xb4, 0x01, 0x0a, 0x05, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x38, 0x0a, 0x07, 0x68, 0x65, 0x61,
14339	0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f,
14340	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e,
14341	0x76, 0x32, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x49, 0x64, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64,
14342	0x65, 0x72, 0x73, 0x12, 0x34, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
14343	0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61,
14344	0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x2e,
14345	0x52, 0x6f, 0x77, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x1a, 0x3b, 0x0a, 0x03, 0x52, 0x6f, 0x77,
14346	0x12, 0x34, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
14347	0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63,
14348	0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06,
14349	0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x7a, 0x0a, 0x0d, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63,
14350	0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3a, 0x0a, 0x08, 0x66, 0x69, 0x6e, 0x64, 0x69,
14351	0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
14352	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76,
14353	0x32, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x66, 0x69, 0x6e, 0x64, 0x69,
14354	0x6e, 0x67, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x66, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x5f,
14355	0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52,
14356	0x11, 0x66, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74,
14357	0x65, 0x64, 0x22, 0xd6, 0x06, 0x0a, 0x07, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x12,
14358	0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
14359	0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
14360	0x09, 0x52, 0x05, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x69, 0x6e, 0x66, 0x6f,
14361	0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f,
14362	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70,
14363	0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x69, 0x6e,
14364	0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x41, 0x0a, 0x0a, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x69,
14365	0x68, 0x6f, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f,
14366	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e,
14367	0x76, 0x32, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52, 0x0a, 0x6c,
14368	0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x12, 0x3b, 0x0a, 0x08, 0x6c, 0x6f, 0x63,
14369	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f,
14370	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70,
14371	0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f,
14372	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
14373	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
14374	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
14375	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54,
14376	0x69, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0a, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x66,
14377	0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
14378	0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e,
14379	0x51, 0x75, 0x6f, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x71, 0x75, 0x6f, 0x74, 0x65,
14380	0x49, 0x6e, 0x66, 0x6f, 0x12, 0x43, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
14381	0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xfa, 0x41, 0x1b,
14382	0x0a, 0x19, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
14383	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x52, 0x0c, 0x72, 0x65, 0x73,
14384	0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x45, 0x0a, 0x0c, 0x74, 0x72, 0x69,
14385	0x67, 0x67, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42,
14386	0x22, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
14387	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67,
14388	0x67, 0x65, 0x72, 0x52, 0x0b, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65,
14389	0x12, 0x42, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b,
14390	0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63,
14391	0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67,
14392	0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61,
14393	0x62, 0x65, 0x6c, 0x73, 0x12, 0x42, 0x0a, 0x0f, 0x6a, 0x6f, 0x62, 0x5f, 0x63, 0x72, 0x65, 0x61,
14394	0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
14395	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
14396	0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x6a, 0x6f, 0x62, 0x43, 0x72,
14397	0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x5f,
14398	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xfa, 0x41, 0x1b, 0x0a,
14399	0x19, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
14400	0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x4e,
14401	0x61, 0x6d, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74,
14402	0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
14403	0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
14404	0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x5b,
14405	0xea, 0x41, 0x58, 0x0a, 0x1a, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
14406	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12,
14407	0x3a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65,
14408	0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c,
14409	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67,
14410	0x73, 0x2f, 0x7b, 0x66, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x7d, 0x22, 0xa3, 0x02, 0x0a, 0x08,
14411	0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x0a, 0x62, 0x79, 0x74, 0x65,
14412	0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67,
14413	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c,
14414	0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x09, 0x62, 0x79, 0x74, 0x65,
14415	0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x45, 0x0a, 0x0f, 0x63, 0x6f, 0x64, 0x65, 0x70, 0x6f, 0x69,
14416	0x6e, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
14417	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e,
14418	0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0e, 0x63, 0x6f,
14419	0x64, 0x65, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x53, 0x0a, 0x11,
14420	0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
14421	0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
14422	0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e,
14423	0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
14424	0x10, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
14425	0x73, 0x12, 0x3e, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x08,
14426	0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
14427	0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e,
14428	0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65,
14429	0x72, 0x22, 0x8f, 0x04, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x63,
14430	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e,
14431	0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63,
14432	0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x50, 0x0a, 0x0f,
14433	0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
14434	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
14435	0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65,
14436	0x63, 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e,
14437	0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4d,
14438	0x0a, 0x0e, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
14439	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
14440	0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49,
14441	0x6d, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0d,
14442	0x69, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x56, 0x0a,
14443	0x11, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
14444	0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
14445	0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32,
14446	0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
14447	0x6e, 0x48, 0x00, 0x52, 0x10, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x63,
14448	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x56, 0x0a, 0x11, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
14449	0x61, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b,
14450	0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63,
14451	0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
14452	0x61, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x10, 0x6d, 0x65, 0x74,
14453	0x61, 0x64, 0x61, 0x74, 0x61, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4b, 0x0a,
14454	0x13, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73,
14455	0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
14456	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
14457	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65,
14458	0x72, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x6f,
14459	0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18,
14460	0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72,
14461	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74,
14462	0x69, 0x6f, 0x6e, 0x22, 0xa8, 0x01, 0x0a, 0x10, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
14463	0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65,
14464	0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
14465	0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4d,
14466	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70,
14467	0x65, 0x12, 0x52, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x61, 0x62,
14468	0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
14469	0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32,
14470	0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
14471	0x4c, 0x61, 0x62, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
14472	0x4c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x07, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0x28,
14473	0x0a, 0x14, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
14474	0x61, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
14475	0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0x33, 0x0a, 0x10, 0x44, 0x6f, 0x63, 0x75,
14476	0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b,
14477	0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
14478	0x03, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0xd9, 0x01,
14479	0x0a, 0x0e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
14480	0x12, 0x3f, 0x0a, 0x0a, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01,
14481	0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
14482	0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x63,
14483	0x6f, 0x72, 0x64, 0x4b, 0x65, 0x79, 0x52, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4b, 0x65,
14484	0x79, 0x12, 0x39, 0x0a, 0x08, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
14485	0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69,
14486	0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x65, 0x6c,
14487	0x64, 0x49, 0x64, 0x52, 0x07, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x4b, 0x0a, 0x0e,
14488	0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03,
14489	0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
14490	0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x62,
14491	0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x74, 0x61, 0x62, 0x6c,
14492	0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2c, 0x0a, 0x0d, 0x54, 0x61, 0x62,
14493	0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f,
14494	0x77, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x72,
14495	0x6f, 0x77, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xf4, 0x01, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x74,
14496	0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20,
14497	0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f,
14498	0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70,
14499	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x75, 0x6c, 0x6c,
14500	0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x75, 0x6c,
14501	0x6c, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x70, 0x61,
14502	0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x74, 0x50, 0x61,
14503	0x74, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70,
14504	0x61, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74,
14505	0x69, 0x76, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74,
14506	0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
14507	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
14508	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
14509	0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18,
14510	0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x2f,
14511	0x0a, 0x05, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74,
14512	0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a,
14513	0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22,
14514	0x5a, 0x0a, 0x0d, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
14515	0x12, 0x49, 0x0a, 0x0e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x6f, 0x78,
14516	0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
14517	0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32,
14518	0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x52, 0x0d, 0x62, 0x6f,
14519	0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x65, 0x73, 0x22, 0x61, 0x0a, 0x0b, 0x42,
14520	0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x78, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x6f,
14521	0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x74, 0x6f, 0x70, 0x12, 0x12, 0x0a, 0x04,
14522	0x6c, 0x65, 0x66, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6c, 0x65, 0x66, 0x74,
14523	0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52,
14524	0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74,
14525	0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0x88,
14526	0x05, 0x0a, 0x12, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65,
14527	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18,
14528	0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75,
14529	0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72,
14530	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
14531	0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12,
14532	0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x08,
14533	0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64,
14534	0x12, 0x4b, 0x0a, 0x0e, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
14535	0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
14536	0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32,
14537	0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d,
14538	0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x76, 0x0a,
14539	0x17, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
14540	0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e,
14541	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e,
14542	0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x49, 0x6d, 0x61,
14543	0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52,
14544	0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x15,
14545	0x69, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f,
14546	0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65,
14547	0x5f, 0x66, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52,
14548	0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73,
14549	0x12, 0x43, 0x0a, 0x09, 0x62, 0x79, 0x74, 0x65, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x07, 0x20,
14550	0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69,
14551	0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x79, 0x74, 0x65,
14552	0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x08, 0x62, 0x79, 0x74,
14553	0x65, 0x49, 0x74, 0x65, 0x6d, 0x1a, 0xd1, 0x01, 0x0a, 0x14, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52,
14554	0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3e,
14555	0x0a, 0x09, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
14556	0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61,
14557	0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79,
14558	0x70, 0x65, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28,
14559	0x0a, 0x0f, 0x72, 0x65, 0x64, 0x61, 0x63, 0x74, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x65, 0x78,
14560	0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0d, 0x72, 0x65, 0x64, 0x61, 0x63,
14561	0x74, 0x41, 0x6c, 0x6c, 0x54, 0x65, 0x78, 0x74, 0x12, 0x45, 0x0a, 0x0f, 0x72, 0x65, 0x64, 0x61,
14562	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28,
14563	0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61,
14564	0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x52,
14565	0x0e, 0x72, 0x65, 0x64, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x42,
14566	0x08, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x43, 0x0a, 0x05, 0x43, 0x6f, 0x6c,
14567	0x6f, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52,
14568	0x03, 0x72, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x65, 0x65, 0x6e, 0x18, 0x02, 0x20,
14569	0x01, 0x28, 0x02, 0x52, 0x05, 0x67, 0x72, 0x65, 0x65, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6c,
14570	0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x62, 0x6c, 0x75, 0x65, 0x22, 0xb0,
14571	0x01, 0x0a, 0x13, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65,
14572	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x64, 0x61, 0x63, 0x74,
14573	0x65, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d,
14574	0x72, 0x65, 0x64, 0x61, 0x63, 0x74, 0x65, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x25, 0x0a,
14575	0x0e, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18,
14576	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x65, 0x64,
14577	0x54, 0x65, 0x78, 0x74, 0x12, 0x4b, 0x0a, 0x0e, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f,
14578	0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67,
14579	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c,
14580	0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x75,
14581	0x6c, 0x74, 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c,
14582	0x74, 0x22, 0xce, 0x03, 0x0a, 0x18, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79,
14583	0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48,
14584	0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30,
14585	0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
14586	0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
14587	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
14588	0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x54, 0x0a, 0x11, 0x64, 0x65, 0x69, 0x64,
14589	0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20,
14590	0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69,
14591	0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x69, 0x64,
14592	0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x10, 0x64, 0x65,
14593	0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4b,
14594	0x0a, 0x0e, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
14595	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
14596	0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49,
14597	0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x69, 0x6e,
14598	0x73, 0x70, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x36, 0x0a, 0x04, 0x69,
14599	0x74, 0x65, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
14600	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76,
14601	0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x69,
14602	0x74, 0x65, 0x6d, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x74,
14603	0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01,
14604	0x28, 0x09, 0x52, 0x13, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c,
14605	0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x18, 0x64, 0x65, 0x69, 0x64, 0x65,
14606	0x6e, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x6e,
14607	0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x64, 0x65, 0x69, 0x64, 0x65,
14608	0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d,
14609	0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64,
14610	0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
14611	0x49, 0x64, 0x22, 0x9e, 0x01, 0x0a, 0x19, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66,
14612	0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
14613	0x12, 0x36, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22,
14614	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e,
14615	0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x74,
14616	0x65, 0x6d, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x12, 0x49, 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72,
14617	0x76, 0x69, 0x65, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f,
14618	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e,
14619	0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f,
14620	0x6e, 0x4f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x52, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x76,
14621	0x69, 0x65, 0x77, 0x22, 0xd1, 0x03, 0x0a, 0x18, 0x52, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69,
14622	0x66, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
14623	0x12, 0x4b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
14624	0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72,
14625	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67,
14626	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72,
14627	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x54, 0x0a,
14628	0x11, 0x72, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
14629	0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
14630	0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32,
14631	0x2e, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69,
14632	0x67, 0x52, 0x10, 0x72, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6e,
14633	0x66, 0x69, 0x67, 0x12, 0x4b, 0x0a, 0x0e, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x63,
14634	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f,
14635	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70,
14636	0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69,
14637	0x67, 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
14638	0x12, 0x36, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22,
14639	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e,
14640	0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x74,
14641	0x65, 0x6d, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x73, 0x70,
14642	0x65, 0x63, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d,
14643	0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74,
14644	0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x18,
14645	0x72, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c,
14646	0x61, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16,
14647	0x72, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61,
14648	0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
14649	0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x63,
14650	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x9e, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x69, 0x64,
14651	0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73,
14652	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20,
14653	0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69,
14654	0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74,
14655	0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x12, 0x49, 0x0a,
14656	0x08, 0x6f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
14657	0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79,
14658	0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72,
14659	0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x52, 0x08,
14660	0x6f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x22, 0xbb, 0x02, 0x0a, 0x15, 0x49, 0x6e, 0x73,
14661	0x70, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
14662	0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01,
14663	0x28, 0x09, 0x42, 0x30, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65,
14664	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f,
14665	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f,
14666	0x6a, 0x65, 0x63, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x4b, 0x0a, 0x0e,
14667	0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02,
14668	0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
14669	0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73,
14670	0x70, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x70,
14671	0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x36, 0x0a, 0x04, 0x69, 0x74, 0x65,
14672	0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
14673	0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e,
14674	0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x69, 0x74, 0x65,
14675	0x6d, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x65, 0x6d,
14676	0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
14677	0x52, 0x13, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74,
14678	0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
14679	0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61,
14680	0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x56, 0x0a, 0x16, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63,
14681	0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
14682	0x12, 0x3c, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
14683	0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63,
14684	0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74,
14685	0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xcc,
14686	0x02, 0x0a, 0x13, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
14687	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3c, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18,
14688	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
14689	0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x69,
14690	0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x05, 0x74,
14691	0x61, 0x62, 0x6c, 0x65, 0x12, 0x5c, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x73,
14692	0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x67, 0x6f,
14693	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70,
14694	0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67,
14695	0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x53, 0x63,
14696	0x68, 0x65, 0x6d, 0x61, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x53, 0x63, 0x68, 0x65,
14697	0x6d, 0x61, 0x22, 0x90, 0x01, 0x0a, 0x0c, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x53, 0x63, 0x68,
14698	0x65, 0x6d, 0x61, 0x12, 0x1d, 0x0a, 0x19, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, 0x53, 0x43,
14699	0x48, 0x45, 0x4d, 0x41, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44,
14700	0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x42, 0x41, 0x53, 0x49, 0x43, 0x5f, 0x43, 0x4f, 0x4c, 0x55,
14701	0x4d, 0x4e, 0x53, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x47, 0x43, 0x53, 0x5f, 0x43, 0x4f, 0x4c,
14702	0x55, 0x4d, 0x4e, 0x53, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x44, 0x41, 0x54, 0x41, 0x53, 0x54,
14703	0x4f, 0x52, 0x45, 0x5f, 0x43, 0x4f, 0x4c, 0x55, 0x4d, 0x4e, 0x53, 0x10, 0x03, 0x12, 0x15, 0x0a,
14704	0x11, 0x42, 0x49, 0x47, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x43, 0x4f, 0x4c, 0x55, 0x4d,
14705	0x4e, 0x53, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x41, 0x4c, 0x4c, 0x5f, 0x43, 0x4f, 0x4c, 0x55,
14706	0x4d, 0x4e, 0x53, 0x10, 0x05, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x63, 0x0a,
14707	0x0d, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x3c,
14708	0x0a, 0x09, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
14709	0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61,
14710	0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79,
14711	0x70, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05,
14712	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75,
14713	0x6e, 0x74, 0x22, 0xa3, 0x05, 0x0a, 0x18, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x44, 0x61,
14714	0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12,
14715	0x6d, 0x0a, 0x11, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x74,
14716	0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f,
14717	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e,
14718	0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f,
14719	0x75, 0x72, 0x63, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75,
14720	0x65, 0x73, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x10, 0x72, 0x65,
14721	0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4e,
14722	0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36,
14723	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e,
14724	0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x44, 0x61,
14725	0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e,
14726	0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0xbe,
14727	0x01, 0x0a, 0x10, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69,
14728	0x6f, 0x6e, 0x73, 0x12, 0x62, 0x0a, 0x19, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f,
14729	0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65,
14730	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
14731	0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49,
14732	0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x17,
14733	0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54,
14734	0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x46, 0x0a, 0x0a, 0x6a, 0x6f, 0x62, 0x5f, 0x63,
14735	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f,
14736	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70,
14737	0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x4a, 0x6f, 0x62, 0x43, 0x6f,
14738	0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, 0x6a, 0x6f, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a,
14739	0x86, 0x02, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x72,
14740	0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20,
14741	0x01, 0x28, 0x03, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x42, 0x79,
14742	0x74, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x65, 0x73, 0x74,
14743	0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01,
14744	0x28, 0x03, 0x52, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74,
14745	0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x4c, 0x0a, 0x0f, 0x69, 0x6e, 0x66, 0x6f, 0x5f,
14746	0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
14747	0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63,
14748	0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70,
14749	0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0d, 0x69, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65,
14750	0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x51, 0x0a, 0x0c, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x5f,
14751	0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f,
14752	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70,
14753	0x2e, 0x76, 0x32, 0x2e, 0x48, 0x79, 0x62, 0x72, 0x69, 0x64, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63,
14754	0x74, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x0b, 0x68, 0x79, 0x62,
14755	0x72, 0x69, 0x64, 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, 0x8c, 0x01, 0x0a, 0x17, 0x48, 0x79, 0x62,
14756	0x72, 0x69, 0x64, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73,
14757	0x74, 0x69, 0x63, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65,
14758	0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x70,
14759	0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a,
14760	0x0d, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02,
14761	0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x75,
14762	0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f,
14763	0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x70, 0x65, 0x6e, 0x64, 0x69,
14764	0x6e, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xbd, 0x01, 0x0a, 0x13, 0x49, 0x6e, 0x66, 0x6f,
14765	0x54, 0x79, 0x70, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12,
14766	0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
14767	0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e,
14768	0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c,
14769	0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4d, 0x0a, 0x0c, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72,
14770	0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x67,
14771	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c,
14772	0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x53, 0x75, 0x70,
14773	0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x42, 0x79, 0x52, 0x0b, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72,
14774	0x74, 0x65, 0x64, 0x42, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
14775	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63,
14776	0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8c, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74,
14777	0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
14778	0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
14779	0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x6e, 0x67,
14780	0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
14781	0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a,
14782	0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66,
14783	0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
14784	0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61,
14785	0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x62, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e,
14786	0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
14787	0x49, 0x0a, 0x0a, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20,
14788	0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69,
14789	0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x66, 0x6f,
14790	0x54, 0x79, 0x70, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52,
14791	0x09, 0x69, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x22, 0xe6, 0x01, 0x0a, 0x15, 0x52,
14792	0x69, 0x73, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x4a, 0x6f, 0x62, 0x43, 0x6f,
14793	0x6e, 0x66, 0x69, 0x67, 0x12, 0x4b, 0x0a, 0x0e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x5f,
14794	0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67,
14795	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c,
14796	0x70, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x4d, 0x65, 0x74, 0x72,
14797	0x69, 0x63, 0x52, 0x0d, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69,
14798	0x63, 0x12, 0x47, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c,
14799	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
14800	0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e,
14801	0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x0b, 0x73,
14802	0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x37, 0x0a, 0x07, 0x61, 0x63,
14803	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f,
14804	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70,
14805	0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69,
14806	0x6f, 0x6e, 0x73, 0x22, 0xe2, 0x01, 0x0a, 0x07, 0x51, 0x75, 0x61, 0x73, 0x69, 0x49, 0x64, 0x12,
14807	0x39, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e,
14808	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e,
14809	0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x49, 0x64, 0x42, 0x03,
14810	0xe0, 0x41, 0x02, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x3e, 0x0a, 0x09, 0x69, 0x6e,
14811	0x66, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e,
14812	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64,
14813	0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00,
14814	0x52, 0x08, 0x69, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x63, 0x75,
14815	0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00,
14816	0x52, 0x09, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61, 0x67, 0x12, 0x34, 0x0a, 0x08, 0x69,
14817	0x6e, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e,
14818	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
14819	0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x72, 0x65,
14820	0x64, 0x42, 0x05, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x22, 0xf4, 0x02, 0x0a, 0x10, 0x53, 0x74, 0x61,
14821	0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x3f, 0x0a,
14822	0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67,
14823	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c,
14824	0x70, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x61, 0x62,
14825	0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x5e,
14826	0x0a, 0x09, 0x71, 0x75, 0x61, 0x73, 0x69, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
14827	0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61,
14828	0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73,
14829	0x74, 0x69, 0x63, 0x61, 0x6c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x51, 0x75, 0x61, 0x73, 0x69,
14830	0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x42,
14831	0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x71, 0x75, 0x61, 0x73, 0x69, 0x49, 0x64, 0x73, 0x12, 0x52,
14832	0x0a, 0x12, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x75,
14833	0x65, 0x6e, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f,
14834	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e,
14835	0x76, 0x32, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x49, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
14836	0x11, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e,
14837	0x63, 0x79, 0x1a, 0x6b, 0x0a, 0x14, 0x51, 0x75, 0x61, 0x73, 0x69, 0x49, 0x64, 0x65, 0x6e, 0x74,
14838	0x69, 0x66, 0x69, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x34, 0x0a, 0x05, 0x66, 0x69,
14839	0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
14840	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76,
14841	0x32, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x49, 0x64, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64,
14842	0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x02,
14843	0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61, 0x67, 0x22,
14844	0x86, 0x12, 0x0a, 0x0d, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69,
14845	0x63, 0x12, 0x71, 0x0a, 0x16, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x73,
14846	0x74, 0x61, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28,
14847	0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61,
14848	0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63,
14849	0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x4e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61,
14850	0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x14,
14851	0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x43, 0x6f,
14852	0x6e, 0x66, 0x69, 0x67, 0x12, 0x77, 0x0a, 0x18, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69,
14853	0x63, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
14854	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
14855	0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x50,
14856	0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x43, 0x61, 0x74,
14857	0x65, 0x67, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x43, 0x6f, 0x6e,
14858	0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x16, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x63,
14859	0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x65, 0x0a,
14860	0x12, 0x6b, 0x5f, 0x61, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6f, 0x6e,
14861	0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
14862	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76,
14863	0x32, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e,
14864	0x4b, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
14865	0x48, 0x00, 0x52, 0x10, 0x6b, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x74, 0x79, 0x43, 0x6f,
14866	0x6e, 0x66, 0x69, 0x67, 0x12, 0x65, 0x0a, 0x12, 0x6c, 0x5f, 0x64, 0x69, 0x76, 0x65, 0x72, 0x73,
14867	0x69, 0x74, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
14868	0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63,
14869	0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79,
14870	0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x4c, 0x44, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x74,
14871	0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x10, 0x6c, 0x44, 0x69, 0x76, 0x65,
14872	0x72, 0x73, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x72, 0x0a, 0x17, 0x6b,
14873	0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
14874	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67,
14875	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c,
14876	0x70, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x4d, 0x65, 0x74, 0x72,
14877	0x69, 0x63, 0x2e, 0x4b, 0x4d, 0x61, 0x70, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f,
14878	0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x14, 0x6b, 0x4d, 0x61, 0x70, 0x45,
14879	0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
14880	0x8d, 0x01, 0x0a, 0x20, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e,
14881	0x63, 0x65, 0x5f, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f,
14882	0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f,
14883	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e,
14884	0x76, 0x32, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
14885	0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x73,
14886	0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00,
14887	0x52, 0x1d, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x45,
14888	0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a,
14889	0x4c, 0x0a, 0x14, 0x4e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74,
14890	0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x34, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64,
14891	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
14892	0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x46,
14893	0x69, 0x65, 0x6c, 0x64, 0x49, 0x64, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x1a, 0x4e, 0x0a,
14894	0x16, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74,
14895	0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x34, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64,
14896	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
14897	0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x46,
14898	0x69, 0x65, 0x6c, 0x64, 0x49, 0x64, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x1a, 0x8d, 0x01,
14899	0x0a, 0x10, 0x4b, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66,
14900	0x69, 0x67, 0x12, 0x3b, 0x0a, 0x09, 0x71, 0x75, 0x61, 0x73, 0x69, 0x5f, 0x69, 0x64, 0x73, 0x18,
14901	0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
14902	0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69,
14903	0x65, 0x6c, 0x64, 0x49, 0x64, 0x52, 0x08, 0x71, 0x75, 0x61, 0x73, 0x69, 0x49, 0x64, 0x73, 0x12,
14904	0x3c, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
14905	0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76,
14906	0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74,
14907	0x79, 0x49, 0x64, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x1a, 0xa0, 0x01,
14908	0x0a, 0x10, 0x4c, 0x44, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66,
14909	0x69, 0x67, 0x12, 0x3b, 0x0a, 0x09, 0x71, 0x75, 0x61, 0x73, 0x69, 0x5f, 0x69, 0x64, 0x73, 0x18,
14910	0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
14911	0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69,
14912	0x65, 0x6c, 0x64, 0x49, 0x64, 0x52, 0x08, 0x71, 0x75, 0x61, 0x73, 0x69, 0x49, 0x64, 0x73, 0x12,
14913	0x4f, 0x0a, 0x13, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x74, 0x74,
14914	0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67,
14915	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c,
14916	0x70, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x49, 0x64, 0x52, 0x12, 0x73, 0x65,
14917	0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65,
14918	0x1a, 0x84, 0x07, 0x0a, 0x14, 0x4b, 0x4d, 0x61, 0x70, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74,
14919	0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x67, 0x0a, 0x09, 0x71, 0x75, 0x61,
14920	0x73, 0x69, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x67,
14921	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c,
14922	0x70, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x4d, 0x65, 0x74, 0x72,
14923	0x69, 0x63, 0x2e, 0x4b, 0x4d, 0x61, 0x70, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f,
14924	0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x61, 0x67, 0x67, 0x65, 0x64, 0x46, 0x69,
14925	0x65, 0x6c, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x71, 0x75, 0x61, 0x73, 0x69, 0x49,
14926	0x64, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x64,
14927	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43,
14928	0x6f, 0x64, 0x65, 0x12, 0x73, 0x0a, 0x10, 0x61, 0x75, 0x78, 0x69, 0x6c, 0x69, 0x61, 0x72, 0x79,
14929	0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x48, 0x2e,
14930	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64,
14931	0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x4d, 0x65, 0x74,
14932	0x72, 0x69, 0x63, 0x2e, 0x4b, 0x4d, 0x61, 0x70, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69,
14933	0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x75, 0x78, 0x69, 0x6c, 0x69, 0x61,
14934	0x72, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x0f, 0x61, 0x75, 0x78, 0x69, 0x6c, 0x69, 0x61,
14935	0x72, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x1a, 0xe6, 0x01, 0x0a, 0x0b, 0x54, 0x61, 0x67,
14936	0x67, 0x65, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x39, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c,
14937	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
14938	0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e,
14939	0x46, 0x69, 0x65, 0x6c, 0x64, 0x49, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x66, 0x69,
14940	0x65, 0x6c, 0x64, 0x12, 0x3e, 0x0a, 0x09, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65,
14941	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
14942	0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49,
14943	0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x66, 0x6f, 0x54,
14944	0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x61,
14945	0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x63, 0x75, 0x73, 0x74, 0x6f,
14946	0x6d, 0x54, 0x61, 0x67, 0x12, 0x34, 0x0a, 0x08, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64,
14947	0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
14948	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00,
14949	0x52, 0x08, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x42, 0x05, 0x0a, 0x03, 0x74, 0x61,
14950	0x67, 0x1a, 0x83, 0x03, 0x0a, 0x0e, 0x41, 0x75, 0x78, 0x69, 0x6c, 0x69, 0x61, 0x72, 0x79, 0x54,
14951	0x61, 0x62, 0x6c, 0x65, 0x12, 0x3f, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20,
14952	0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69,
14953	0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x69, 0x67, 0x51,
14954	0x75, 0x65, 0x72, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05,
14955	0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x77, 0x0a, 0x09, 0x71, 0x75, 0x61, 0x73, 0x69, 0x5f, 0x69,
14956	0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x55, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
14957	0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32,
14958	0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x4b,
14959	0x4d, 0x61, 0x70, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e,
14960	0x66, 0x69, 0x67, 0x2e, 0x41, 0x75, 0x78, 0x69, 0x6c, 0x69, 0x61, 0x72, 0x79, 0x54, 0x61, 0x62,
14961	0x6c, 0x65, 0x2e, 0x51, 0x75, 0x61, 0x73, 0x69, 0x49, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x42,
14962	0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x71, 0x75, 0x61, 0x73, 0x69, 0x49, 0x64, 0x73, 0x12, 0x52,
14963	0x0a, 0x12, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x75,
14964	0x65, 0x6e, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f,
14965	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e,
14966	0x76, 0x32, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x49, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
14967	0x11, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e,
14968	0x63, 0x79, 0x1a, 0x63, 0x0a, 0x0c, 0x51, 0x75, 0x61, 0x73, 0x69, 0x49, 0x64, 0x46, 0x69, 0x65,
14969	0x6c, 0x64, 0x12, 0x34, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
14970	0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61,
14971	0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x49,
14972	0x64, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x75, 0x73, 0x74,
14973	0x6f, 0x6d, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x75,
14974	0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61, 0x67, 0x1a, 0xd6, 0x01, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x74,
14975	0x61, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74,
14976	0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x40, 0x0a, 0x09, 0x71, 0x75, 0x61,
14977	0x73, 0x69, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67,
14978	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c,
14979	0x70, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x61, 0x73, 0x69, 0x49, 0x64, 0x42, 0x03, 0xe0, 0x41,
14980	0x02, 0x52, 0x08, 0x71, 0x75, 0x61, 0x73, 0x69, 0x49, 0x64, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x72,
14981	0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
14982	0x52, 0x0a, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x52, 0x0a, 0x10,
14983	0x61, 0x75, 0x78, 0x69, 0x6c, 0x69, 0x61, 0x72, 0x79, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73,
14984	0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
14985	0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x53,
14986	0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52,
14987	0x0f, 0x61, 0x75, 0x78, 0x69, 0x6c, 0x69, 0x61, 0x72, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73,
14988	0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x93, 0x26, 0x0a, 0x1c, 0x41, 0x6e, 0x61,
14989	0x6c, 0x79, 0x7a, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x69,
14990	0x73, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x5e, 0x0a, 0x18, 0x72, 0x65, 0x71,
14991	0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x5f, 0x6d,
14992	0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f,
14993	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70,
14994	0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69,
14995	0x63, 0x52, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x50, 0x72, 0x69, 0x76,
14996	0x61, 0x63, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x5a, 0x0a, 0x16, 0x72, 0x65, 0x71,
14997	0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x61,
14998	0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
14999	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76,
15000	0x32, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52,
15001	0x14, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
15002	0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x80, 0x01, 0x0a, 0x16, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69,
15003	0x63, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
15004	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
15005	0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x41,
15006	0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
15007	0x52, 0x69, 0x73, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x4e, 0x75, 0x6d, 0x65,
15008	0x72, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
15009	0x48, 0x00, 0x52, 0x14, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61,
15010	0x74, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x86, 0x01, 0x0a, 0x18, 0x63, 0x61, 0x74,
15011	0x65, 0x67, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x72,
15012	0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x67, 0x6f,
15013	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70,
15014	0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53,
15015	0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x69, 0x73, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73,
15016	0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74,
15017	0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x16, 0x63, 0x61, 0x74, 0x65, 0x67,
15018	0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c,
15019	0x74, 0x12, 0x74, 0x0a, 0x12, 0x6b, 0x5f, 0x61, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x74, 0x79,
15020	0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e,
15021	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64,
15022	0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x44, 0x61, 0x74,
15023	0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x69, 0x73, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69,
15024	0x6c, 0x73, 0x2e, 0x4b, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73,
15025	0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x10, 0x6b, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x74,
15026	0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x74, 0x0a, 0x12, 0x6c, 0x5f, 0x64, 0x69, 0x76,
15027	0x65, 0x72, 0x73, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x06, 0x20,
15028	0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69,
15029	0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x61, 0x6c,
15030	0x79, 0x7a, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x69, 0x73,
15031	0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x4c, 0x44, 0x69, 0x76, 0x65, 0x72, 0x73,
15032	0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x10, 0x6c, 0x44, 0x69,
15033	0x76, 0x65, 0x72, 0x73, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x81, 0x01,
15034	0x0a, 0x17, 0x6b, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69,
15035	0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
15036	0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79,
15037	0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x44,
15038	0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x69, 0x73, 0x6b, 0x44, 0x65, 0x74,
15039	0x61, 0x69, 0x6c, 0x73, 0x2e, 0x4b, 0x4d, 0x61, 0x70, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74,
15040	0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x14, 0x6b, 0x4d, 0x61,
15041	0x70, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c,
15042	0x74, 0x12, 0x9c, 0x01, 0x0a, 0x20, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x5f, 0x70, 0x72, 0x65, 0x73,
15043	0x65, 0x6e, 0x63, 0x65, 0x5f, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
15044	0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x51, 0x2e, 0x67,
15045	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c,
15046	0x70, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x44, 0x61, 0x74, 0x61,
15047	0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x69, 0x73, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
15048	0x73, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x45,
15049	0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48,
15050	0x00, 0x52, 0x1d, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65,
15051	0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
15052	0x1a, 0xd3, 0x01, 0x0a, 0x14, 0x4e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74,
15053	0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x39, 0x0a, 0x09, 0x6d, 0x69, 0x6e,
15054	0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67,
15055	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c,
15056	0x70, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x56,
15057	0x61, 0x6c, 0x75, 0x65, 0x12, 0x39, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x61, 0x6c, 0x75,
15058	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
15059	0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e,
15060	0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12,
15061	0x45, 0x0a, 0x0f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75,
15062	0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
15063	0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32,
15064	0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x6c, 0x65,
15065	0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x1a, 0x8d, 0x04, 0x0a, 0x16, 0x43, 0x61, 0x74, 0x65, 0x67,
15066	0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c,
15067	0x74, 0x12, 0xb5, 0x01, 0x0a, 0x21, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x66, 0x72, 0x65, 0x71,
15068	0x75, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f,
15069	0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x6a, 0x2e,
15070	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64,
15071	0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x44, 0x61, 0x74,
15072	0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x69, 0x73, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69,
15073	0x6c, 0x73, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74,
15074	0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f,
15075	0x72, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67,
15076	0x72, 0x61, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x1e, 0x76, 0x61, 0x6c, 0x75, 0x65,
15077	0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72,
15078	0x61, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x1a, 0xba, 0x02, 0x0a, 0x1f, 0x43, 0x61,
15079	0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x48, 0x69,
15080	0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x3d, 0x0a,
15081	0x1b, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79,
15082	0x5f, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01,
15083	0x28, 0x03, 0x52, 0x18, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e,
15084	0x63, 0x79, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x3d, 0x0a, 0x1b,
15085	0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x5f,
15086	0x75, 0x70, 0x70, 0x65, 0x72, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
15087	0x03, 0x52, 0x18, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63,
15088	0x79, 0x55, 0x70, 0x70, 0x65, 0x72, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x62,
15089	0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03,
15090	0x52, 0x0a, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x4a, 0x0a, 0x0d,
15091	0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x04, 0x20,
15092	0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69,
15093	0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x6c, 0x75,
15094	0x65, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x0c, 0x62, 0x75, 0x63, 0x6b,
15095	0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x62, 0x75, 0x63, 0x6b,
15096	0x65, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05,
15097	0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75,
15098	0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0xeb, 0x05, 0x0a, 0x10, 0x4b, 0x41, 0x6e, 0x6f, 0x6e,
15099	0x79, 0x6d, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0xad, 0x01, 0x0a, 0x23,
15100	0x65, 0x71, 0x75, 0x69, 0x76, 0x61, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73,
15101	0x73, 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x62, 0x75, 0x63, 0x6b,
15102	0x65, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x5e, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
15103	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76,
15104	0x32, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75,
15105	0x72, 0x63, 0x65, 0x52, 0x69, 0x73, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x4b,
15106	0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e,
15107	0x4b, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x74, 0x79, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67,
15108	0x72, 0x61, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x20, 0x65, 0x71, 0x75, 0x69, 0x76,
15109	0x61, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f,
15110	0x67, 0x72, 0x61, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x1a, 0x9a, 0x01, 0x0a, 0x1a,
15111	0x4b, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x74, 0x79, 0x45, 0x71, 0x75, 0x69, 0x76, 0x61,
15112	0x6c, 0x65, 0x6e, 0x63, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x46, 0x0a, 0x10, 0x71, 0x75,
15113	0x61, 0x73, 0x69, 0x5f, 0x69, 0x64, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01,
15114	0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
15115	0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x6c,
15116	0x75, 0x65, 0x52, 0x0e, 0x71, 0x75, 0x61, 0x73, 0x69, 0x49, 0x64, 0x73, 0x56, 0x61, 0x6c, 0x75,
15117	0x65, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x65, 0x71, 0x75, 0x69, 0x76, 0x61, 0x6c, 0x65, 0x6e, 0x63,
15118	0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01,
15119	0x28, 0x03, 0x52, 0x14, 0x65, 0x71, 0x75, 0x69, 0x76, 0x61, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x43,
15120	0x6c, 0x61, 0x73, 0x73, 0x53, 0x69, 0x7a, 0x65, 0x1a, 0x89, 0x03, 0x0a, 0x19, 0x4b, 0x41, 0x6e,
15121	0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x74, 0x79, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d,
15122	0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x4a, 0x0a, 0x22, 0x65, 0x71, 0x75, 0x69, 0x76, 0x61,
15123	0x6c, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x73, 0x69, 0x7a, 0x65,
15124	0x5f, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01,
15125	0x28, 0x03, 0x52, 0x1e, 0x65, 0x71, 0x75, 0x69, 0x76, 0x61, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x43,
15126	0x6c, 0x61, 0x73, 0x73, 0x53, 0x69, 0x7a, 0x65, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x42, 0x6f, 0x75,
15127	0x6e, 0x64, 0x12, 0x4a, 0x0a, 0x22, 0x65, 0x71, 0x75, 0x69, 0x76, 0x61, 0x6c, 0x65, 0x6e, 0x63,
15128	0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x75, 0x70, 0x70,
15129	0x65, 0x72, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1e,
15130	0x65, 0x71, 0x75, 0x69, 0x76, 0x61, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73,
15131	0x53, 0x69, 0x7a, 0x65, 0x55, 0x70, 0x70, 0x65, 0x72, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1f,
15132	0x0a, 0x0b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20,
15133	0x01, 0x28, 0x03, 0x52, 0x0a, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x12,
15134	0x84, 0x01, 0x0a, 0x0d, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65,
15135	0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x5f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
15136	0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e,
15137	0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63,
15138	0x65, 0x52, 0x69, 0x73, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x4b, 0x41, 0x6e,
15139	0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x4b, 0x41,
15140	0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x74, 0x79, 0x45, 0x71, 0x75, 0x69, 0x76, 0x61, 0x6c, 0x65,
15141	0x6e, 0x63, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x0c, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74,
15142	0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74,
15143	0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01,
15144	0x28, 0x03, 0x52, 0x10, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43,
15145	0x6f, 0x75, 0x6e, 0x74, 0x1a, 0xa2, 0x07, 0x0a, 0x10, 0x4c, 0x44, 0x69, 0x76, 0x65, 0x72, 0x73,
15146	0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0xbc, 0x01, 0x0a, 0x2b, 0x73, 0x65,
15147	0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x66, 0x72,
15148	0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61,
15149	0x6d, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32,
15150	0x5e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79,
15151	0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x44,
15152	0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x69, 0x73, 0x6b, 0x44, 0x65, 0x74,
15153	0x61, 0x69, 0x6c, 0x73, 0x2e, 0x4c, 0x44, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x74, 0x79, 0x52,
15154	0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x4c, 0x44, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x74, 0x79,
15155	0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52,
15156	0x27, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x46,
15157	0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61,
15158	0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x1a, 0xb6, 0x02, 0x0a, 0x1a, 0x4c, 0x44, 0x69,
15159	0x76, 0x65, 0x72, 0x73, 0x69, 0x74, 0x79, 0x45, 0x71, 0x75, 0x69, 0x76, 0x61, 0x6c, 0x65, 0x6e,
15160	0x63, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x46, 0x0a, 0x10, 0x71, 0x75, 0x61, 0x73, 0x69,
15161	0x5f, 0x69, 0x64, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
15162	0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61,
15163	0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
15164	0x0e, 0x71, 0x75, 0x61, 0x73, 0x69, 0x49, 0x64, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12,
15165	0x34, 0x0a, 0x16, 0x65, 0x71, 0x75, 0x69, 0x76, 0x61, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x63,
15166	0x6c, 0x61, 0x73, 0x73, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
15167	0x14, 0x65, 0x71, 0x75, 0x69, 0x76, 0x61, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x43, 0x6c, 0x61, 0x73,
15168	0x73, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x41, 0x0a, 0x1d, 0x6e, 0x75, 0x6d, 0x5f, 0x64, 0x69, 0x73,
15169	0x74, 0x69, 0x6e, 0x63, 0x74, 0x5f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f,
15170	0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1a, 0x6e, 0x75,
15171	0x6d, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69,
15172	0x76, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x57, 0x0a, 0x14, 0x74, 0x6f, 0x70, 0x5f,
15173	0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73,
15174	0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
15175	0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x56,
15176	0x61, 0x6c, 0x75, 0x65, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x12, 0x74,
15177	0x6f, 0x70, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65,
15178	0x73, 0x1a, 0x95, 0x03, 0x0a, 0x19, 0x4c, 0x44, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x74, 0x79,
15179	0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12,
15180	0x50, 0x0a, 0x25, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x76, 0x61, 0x6c,
15181	0x75, 0x65, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6c, 0x6f, 0x77,
15182	0x65, 0x72, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x21,
15183	0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x46, 0x72,
15184	0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x42, 0x6f, 0x75, 0x6e,
15185	0x64, 0x12, 0x50, 0x0a, 0x25, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x76,
15186	0x61, 0x6c, 0x75, 0x65, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x75,
15187	0x70, 0x70, 0x65, 0x72, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03,
15188	0x52, 0x21, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65,
15189	0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x55, 0x70, 0x70, 0x65, 0x72, 0x42, 0x6f,
15190	0x75, 0x6e, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x69,
15191	0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74,
15192	0x53, 0x69, 0x7a, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x0d, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f,
15193	0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x5f, 0x2e, 0x67,
15194	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c,
15195	0x70, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x44, 0x61, 0x74, 0x61,
15196	0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x69, 0x73, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
15197	0x73, 0x2e, 0x4c, 0x44, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x75,
15198	0x6c, 0x74, 0x2e, 0x4c, 0x44, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x74, 0x79, 0x45, 0x71, 0x75,
15199	0x69, 0x76, 0x61, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x0c, 0x62,
15200	0x75, 0x63, 0x6b, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x62,
15201	0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e,
15202	0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x56,
15203	0x61, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x9c, 0x05, 0x0a, 0x14, 0x4b, 0x4d,
15204	0x61, 0x70, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75,
15205	0x6c, 0x74, 0x12, 0xa3, 0x01, 0x0a, 0x1a, 0x6b, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x65, 0x73, 0x74,
15206	0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61,
15207	0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x66, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
15208	0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e,
15209	0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63,
15210	0x65, 0x52, 0x69, 0x73, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x4b, 0x4d, 0x61,
15211	0x70, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c,
15212	0x74, 0x2e, 0x4b, 0x4d, 0x61, 0x70, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e,
15213	0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52,
15214	0x17, 0x6b, 0x4d, 0x61, 0x70, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48,
15215	0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x1a, 0x96, 0x01, 0x0a, 0x1b, 0x4b, 0x4d, 0x61,
15216	0x70, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x73, 0x69,
15217	0x49, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x46, 0x0a, 0x10, 0x71, 0x75, 0x61, 0x73,
15218	0x69, 0x5f, 0x69, 0x64, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03,
15219	0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76,
15220	0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65,
15221	0x52, 0x0e, 0x71, 0x75, 0x61, 0x73, 0x69, 0x49, 0x64, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73,
15222	0x12, 0x2f, 0x0a, 0x13, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x6e,
15223	0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x65,
15224	0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x74,
15225	0x79, 0x1a, 0xc4, 0x02, 0x0a, 0x1d, 0x4b, 0x4d, 0x61, 0x70, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61,
15226	0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x42, 0x75, 0x63,
15227	0x6b, 0x65, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x69, 0x6e, 0x5f, 0x61, 0x6e, 0x6f, 0x6e, 0x79,
15228	0x6d, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6d, 0x69, 0x6e, 0x41,
15229	0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x74, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f,
15230	0x61, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
15231	0x0c, 0x6d, 0x61, 0x78, 0x41, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a,
15232	0x0b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01,
15233	0x28, 0x03, 0x52, 0x0a, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x89,
15234	0x01, 0x0a, 0x0d, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73,
15235	0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
15236	0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x41,
15237	0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
15238	0x52, 0x69, 0x73, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x4b, 0x4d, 0x61, 0x70,
15239	0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
15240	0x2e, 0x4b, 0x4d, 0x61, 0x70, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51,
15241	0x75, 0x61, 0x73, 0x69, 0x49, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x0c, 0x62, 0x75,
15242	0x63, 0x6b, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x62, 0x75,
15243	0x63, 0x6b, 0x65, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
15244	0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x56, 0x61,
15245	0x6c, 0x75, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0xf9, 0x05, 0x0a, 0x1d, 0x44, 0x65, 0x6c,
15246	0x74, 0x61, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61,
15247	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0xc7, 0x01, 0x0a, 0x23, 0x64,
15248	0x65, 0x6c, 0x74, 0x61, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x65, 0x73,
15249	0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72,
15250	0x61, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x78, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
15251	0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32,
15252	0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72,
15253	0x63, 0x65, 0x52, 0x69, 0x73, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x44, 0x65,
15254	0x6c, 0x74, 0x61, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x73, 0x74, 0x69, 0x6d,
15255	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x74,
15256	0x61, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74,
15257	0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x42, 0x75, 0x63, 0x6b,
15258	0x65, 0x74, 0x52, 0x20, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63,
15259	0x65, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f,
15260	0x67, 0x72, 0x61, 0x6d, 0x1a, 0xa3, 0x01, 0x0a, 0x24, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x50, 0x72,
15261	0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e,
15262	0x51, 0x75, 0x61, 0x73, 0x69, 0x49, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x46, 0x0a,
15263	0x10, 0x71, 0x75, 0x61, 0x73, 0x69, 0x5f, 0x69, 0x64, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65,
15264	0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
15265	0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e,
15266	0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x71, 0x75, 0x61, 0x73, 0x69, 0x49, 0x64, 0x73, 0x56,
15267	0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x33, 0x0a, 0x15, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74,
15268	0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02,
15269	0x20, 0x01, 0x28, 0x01, 0x52, 0x14, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x50,
15270	0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x1a, 0xe7, 0x02, 0x0a, 0x26, 0x44,
15271	0x65, 0x6c, 0x74, 0x61, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x73, 0x74, 0x69,
15272	0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x42,
15273	0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x6f,
15274	0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e,
15275	0x6d, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x27,
15276	0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74,
15277	0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x50, 0x72, 0x6f, 0x62,
15278	0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x75, 0x63, 0x6b, 0x65,
15279	0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x62, 0x75,
15280	0x63, 0x6b, 0x65, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x9b, 0x01, 0x0a, 0x0d, 0x62, 0x75, 0x63,
15281	0x6b, 0x65, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b,
15282	0x32, 0x76, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63,
15283	0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65,
15284	0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x69, 0x73, 0x6b, 0x44, 0x65,
15285	0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x50, 0x72, 0x65, 0x73, 0x65,
15286	0x6e, 0x63, 0x65, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73,
15287	0x75, 0x6c, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63,
15288	0x65, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x73, 0x69,
15289	0x49, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x0c, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74,
15290	0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74,
15291	0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01,
15292	0x28, 0x03, 0x52, 0x10, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43,
15293	0x6f, 0x75, 0x6e, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x5a,
15294	0x0a, 0x0e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79,
15295	0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
15296	0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79,
15297	0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76,
15298	0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20,
15299	0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x9e, 0x03, 0x0a, 0x05, 0x56,
15300	0x61, 0x6c, 0x75, 0x65, 0x12, 0x25, 0x0a, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x5f,
15301	0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0c, 0x69,
15302	0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x66,
15303	0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01,
15304	0x48, 0x00, 0x52, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23,
15305	0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03,
15306	0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61,
15307	0x6c, 0x75, 0x65, 0x12, 0x25, 0x0a, 0x0d, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x76,
15308	0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0c, 0x62, 0x6f,
15309	0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x45, 0x0a, 0x0f, 0x74, 0x69,
15310	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20,
15311	0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
15312	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48,
15313	0x00, 0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x56, 0x61, 0x6c, 0x75,
15314	0x65, 0x12, 0x37, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
15315	0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74,
15316	0x79, 0x70, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x4f, 0x66, 0x44, 0x61, 0x79, 0x48, 0x00, 0x52,
15317	0x09, 0x74, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x32, 0x0a, 0x0a, 0x64, 0x61,
15318	0x74, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11,
15319	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x61, 0x74,
15320	0x65, 0x48, 0x00, 0x52, 0x09, 0x64, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x43,
15321	0x0a, 0x11, 0x64, 0x61, 0x79, 0x5f, 0x6f, 0x66, 0x5f, 0x77, 0x65, 0x65, 0x6b, 0x5f, 0x76, 0x61,
15322	0x6c, 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
15323	0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x61, 0x79, 0x4f, 0x66, 0x57, 0x65, 0x65,
15324	0x6b, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x61, 0x79, 0x4f, 0x66, 0x57, 0x65, 0x65, 0x6b, 0x56, 0x61,
15325	0x6c, 0x75, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x5b, 0x0a, 0x09, 0x51,
15326	0x75, 0x6f, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3e, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x65,
15327	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f,
15328	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70,
15329	0x2e, 0x76, 0x32, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x08,
15330	0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x73,
15331	0x65, 0x64, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x22, 0x8f, 0x02, 0x0a, 0x08, 0x44, 0x61, 0x74,
15332	0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20,
15333	0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70,
15334	0x65, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x36, 0x0a, 0x0b,
15335	0x64, 0x61, 0x79, 0x5f, 0x6f, 0x66, 0x5f, 0x77, 0x65, 0x65, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28,
15336	0x0e, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e,
15337	0x44, 0x61, 0x79, 0x4f, 0x66, 0x57, 0x65, 0x65, 0x6b, 0x52, 0x09, 0x64, 0x61, 0x79, 0x4f, 0x66,
15338	0x57, 0x65, 0x65, 0x6b, 0x12, 0x2a, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01,
15339	0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65,
15340	0x2e, 0x54, 0x69, 0x6d, 0x65, 0x4f, 0x66, 0x44, 0x61, 0x79, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65,
15341	0x12, 0x45, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x04, 0x20,
15342	0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69,
15343	0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x61, 0x74, 0x65,
15344	0x54, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x52, 0x08, 0x74,
15345	0x69, 0x6d, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x1a, 0x31, 0x0a, 0x08, 0x54, 0x69, 0x6d, 0x65, 0x5a,
15346	0x6f, 0x6e, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x5f, 0x6d, 0x69,
15347	0x6e, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6f, 0x66, 0x66,
15348	0x73, 0x65, 0x74, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, 0x22, 0xf1, 0x02, 0x0a, 0x10, 0x44,
15349	0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
15350	0x6c, 0x0a, 0x19, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x74, 0x72, 0x61,
15351	0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01,
15352	0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76,
15353	0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x54,
15354	0x79, 0x70, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f,
15355	0x6e, 0x73, 0x48, 0x00, 0x52, 0x17, 0x69, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x54, 0x72,
15356	0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x65, 0x0a,
15357	0x16, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72,
15358	0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e,
15359	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64,
15360	0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e,
15361	0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x15, 0x72,
15362	0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74,
15363	0x69, 0x6f, 0x6e, 0x73, 0x12, 0x76, 0x0a, 0x1d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72,
15364	0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x68, 0x61, 0x6e,
15365	0x64, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f,
15366	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70,
15367	0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69,
15368	0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x69, 0x6e, 0x67, 0x52,
15369	0x1b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45,
15370	0x72, 0x72, 0x6f, 0x72, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x69, 0x6e, 0x67, 0x42, 0x10, 0x0a, 0x0e,
15371	0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa5,
15372	0x02, 0x0a, 0x1b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f,
15373	0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x60,
15374	0x0a, 0x0b, 0x74, 0x68, 0x72, 0x6f, 0x77, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20,
15375	0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69,
15376	0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e,
15377	0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48,
15378	0x61, 0x6e, 0x64, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x54, 0x68, 0x72, 0x6f, 0x77, 0x45, 0x72, 0x72,
15379	0x6f, 0x72, 0x48, 0x00, 0x52, 0x0a, 0x74, 0x68, 0x72, 0x6f, 0x77, 0x45, 0x72, 0x72, 0x6f, 0x72,
15380	0x12, 0x78, 0x0a, 0x13, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x74, 0x72, 0x61, 0x6e,
15381	0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e,
15382	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64,
15383	0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61,
15384	0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x69, 0x6e,
15385	0x67, 0x2e, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x55, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f,
15386	0x72, 0x6d, 0x65, 0x64, 0x48, 0x00, 0x52, 0x12, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x55, 0x6e, 0x74,
15387	0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x1a, 0x0c, 0x0a, 0x0a, 0x54, 0x68,
15388	0x72, 0x6f, 0x77, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0x14, 0x0a, 0x12, 0x4c, 0x65, 0x61, 0x76,
15389	0x65, 0x55, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x42, 0x06,
15390	0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0xd6, 0x08, 0x0a, 0x17, 0x50, 0x72, 0x69, 0x6d, 0x69,
15391	0x74, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69,
15392	0x6f, 0x6e, 0x12, 0x52, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x5f, 0x63, 0x6f,
15393	0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f,
15394	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e,
15395	0x76, 0x32, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43,
15396	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65,
15397	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4a, 0x0a, 0x0d, 0x72, 0x65, 0x64, 0x61, 0x63, 0x74,
15398	0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e,
15399	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64,
15400	0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66,
15401	0x69, 0x67, 0x48, 0x00, 0x52, 0x0c, 0x72, 0x65, 0x64, 0x61, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66,
15402	0x69, 0x67, 0x12, 0x60, 0x0a, 0x15, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x5f,
15403	0x6d, 0x61, 0x73, 0x6b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28,
15404	0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61,
15405	0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63,
15406	0x74, 0x65, 0x72, 0x4d, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52,
15407	0x13, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x73, 0x6b, 0x43, 0x6f,
15408	0x6e, 0x66, 0x69, 0x67, 0x12, 0x74, 0x0a, 0x1d, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x72,
15409	0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x5f, 0x66, 0x66, 0x78, 0x5f, 0x66, 0x70, 0x65, 0x5f, 0x63,
15410	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f,
15411	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70,
15412	0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63,
15413	0x65, 0x46, 0x66, 0x78, 0x46, 0x70, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52,
15414	0x19, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x46, 0x66,
15415	0x78, 0x46, 0x70, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x70, 0x0a, 0x1b, 0x66, 0x69,
15416	0x78, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x69,
15417	0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
15418	0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79,
15419	0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x78, 0x65, 0x64, 0x53, 0x69, 0x7a,
15420	0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
15421	0x48, 0x00, 0x52, 0x18, 0x66, 0x69, 0x78, 0x65, 0x64, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x75, 0x63,
15422	0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x53, 0x0a, 0x10,
15423	0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
15424	0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
15425	0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x42,
15426	0x75, 0x63, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00,
15427	0x52, 0x0f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69,
15428	0x67, 0x12, 0x74, 0x0a, 0x1d, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x5f, 0x77, 0x69, 0x74,
15429	0x68, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
15430	0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
15431	0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32,
15432	0x2e, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6e, 0x66, 0x6f,
15433	0x54, 0x79, 0x70, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x19, 0x72, 0x65,
15434	0x70, 0x6c, 0x61, 0x63, 0x65, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70,
15435	0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x51, 0x0a, 0x10, 0x74, 0x69, 0x6d, 0x65, 0x5f,
15436	0x70, 0x61, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28,
15437	0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61,
15438	0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x50, 0x61,
15439	0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65,
15440	0x50, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x57, 0x0a, 0x12, 0x63, 0x72,
15441	0x79, 0x70, 0x74, 0x6f, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
15442	0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
15443	0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43,
15444	0x72, 0x79, 0x70, 0x74, 0x6f, 0x48, 0x61, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48,
15445	0x00, 0x52, 0x10, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x48, 0x61, 0x73, 0x68, 0x43, 0x6f, 0x6e,
15446	0x66, 0x69, 0x67, 0x12, 0x54, 0x0a, 0x11, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x68, 0x69, 0x66,
15447	0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26,
15448	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e,
15449	0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x53, 0x68, 0x69, 0x66, 0x74,
15450	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68,
15451	0x69, 0x66, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x72, 0x0a, 0x1b, 0x63, 0x72, 0x79,
15452	0x70, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x69,
15453	0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30,
15454	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e,
15455	0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x44, 0x65, 0x74,
15456	0x65, 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x69, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
15457	0x48, 0x00, 0x52, 0x19, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x44, 0x65, 0x74, 0x65, 0x72, 0x6d,
15458	0x69, 0x6e, 0x69, 0x73, 0x74, 0x69, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x10, 0x0a,
15459	0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22,
15460	0xeb, 0x01, 0x0a, 0x0e, 0x54, 0x69, 0x6d, 0x65, 0x50, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66,
15461	0x69, 0x67, 0x12, 0x56, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78,
15462	0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x67, 0x6f,
15463	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70,
15464	0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x50, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66,
15465	0x69, 0x67, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x50, 0x61, 0x72, 0x74, 0x52, 0x0d, 0x70, 0x61, 0x72,
15466	0x74, 0x54, 0x6f, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x22, 0x80, 0x01, 0x0a, 0x08, 0x54,
15467	0x69, 0x6d, 0x65, 0x50, 0x61, 0x72, 0x74, 0x12, 0x19, 0x0a, 0x15, 0x54, 0x49, 0x4d, 0x45, 0x5f,
15468	0x50, 0x41, 0x52, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44,
15469	0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x59, 0x45, 0x41, 0x52, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05,
15470	0x4d, 0x4f, 0x4e, 0x54, 0x48, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x41, 0x59, 0x5f, 0x4f,
15471	0x46, 0x5f, 0x4d, 0x4f, 0x4e, 0x54, 0x48, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x41, 0x59,
15472	0x5f, 0x4f, 0x46, 0x5f, 0x57, 0x45, 0x45, 0x4b, 0x10, 0x04, 0x12, 0x10, 0x0a, 0x0c, 0x57, 0x45,
15473	0x45, 0x4b, 0x5f, 0x4f, 0x46, 0x5f, 0x59, 0x45, 0x41, 0x52, 0x10, 0x05, 0x12, 0x0f, 0x0a, 0x0b,
15474	0x48, 0x4f, 0x55, 0x52, 0x5f, 0x4f, 0x46, 0x5f, 0x44, 0x41, 0x59, 0x10, 0x06, 0x22, 0x53, 0x0a,
15475	0x10, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x48, 0x61, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69,
15476	0x67, 0x12, 0x3f, 0x0a, 0x0a, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x18,
15477	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
15478	0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72,
15479	0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x09, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b,
15480	0x65, 0x79, 0x22, 0xe7, 0x01, 0x0a, 0x19, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x44, 0x65, 0x74,
15481	0x65, 0x72, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x69, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
15482	0x12, 0x3f, 0x0a, 0x0a, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01,
15483	0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
15484	0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x79,
15485	0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x09, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
15486	0x79, 0x12, 0x4f, 0x0a, 0x13, 0x73, 0x75, 0x72, 0x72, 0x6f, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x69,
15487	0x6e, 0x66, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f,
15488	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e,
15489	0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x52,
15490	0x11, 0x73, 0x75, 0x72, 0x72, 0x6f, 0x67, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79,
15491	0x70, 0x65, 0x12, 0x38, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20,
15492	0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69,
15493	0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x65, 0x6c,
15494	0x64, 0x49, 0x64, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x4f, 0x0a, 0x12,
15495	0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x6e, 0x66,
15496	0x69, 0x67, 0x12, 0x39, 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
15497	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
15498	0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61,
15499	0x6c, 0x75, 0x65, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x1b, 0x0a,
15500	0x19, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6e, 0x66, 0x6f,
15501	0x54, 0x79, 0x70, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x0e, 0x0a, 0x0c, 0x52, 0x65,
15502	0x64, 0x61, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xe2, 0x02, 0x0a, 0x0d, 0x43,
15503	0x68, 0x61, 0x72, 0x73, 0x54, 0x6f, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x12, 0x2e, 0x0a, 0x12,
15504	0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x6b,
15505	0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x10, 0x63, 0x68, 0x61, 0x72,
15506	0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x53, 0x6b, 0x69, 0x70, 0x12, 0x79, 0x0a, 0x1b,
15507	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72,
15508	0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
15509	0x0e, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61,
15510	0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x73, 0x54,
15511	0x6f, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x43, 0x68,
15512	0x61, 0x72, 0x73, 0x54, 0x6f, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x48, 0x00, 0x52, 0x18, 0x63,
15513	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x54,
15514	0x6f, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x22, 0x97, 0x01, 0x0a, 0x13, 0x43, 0x6f, 0x6d, 0x6d,
15515	0x6f, 0x6e, 0x43, 0x68, 0x61, 0x72, 0x73, 0x54, 0x6f, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x12,
15516	0x26, 0x0a, 0x22, 0x43, 0x4f, 0x4d, 0x4d, 0x4f, 0x4e, 0x5f, 0x43, 0x48, 0x41, 0x52, 0x53, 0x5f,
15517	0x54, 0x4f, 0x5f, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43,
15518	0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x4e, 0x55, 0x4d, 0x45, 0x52,
15519	0x49, 0x43, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x4c, 0x50, 0x48, 0x41, 0x5f, 0x55, 0x50,
15520	0x50, 0x45, 0x52, 0x5f, 0x43, 0x41, 0x53, 0x45, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x4c,
15521	0x50, 0x48, 0x41, 0x5f, 0x4c, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x43, 0x41, 0x53, 0x45, 0x10, 0x03,
15522	0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x55, 0x4e, 0x43, 0x54, 0x55, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10,
15523	0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x57, 0x48, 0x49, 0x54, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x10,
15524	0x05, 0x42, 0x0c, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x22,
15525	0xe5, 0x01, 0x0a, 0x13, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x73,
15526	0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2b, 0x0a, 0x11, 0x6d, 0x61, 0x73, 0x6b, 0x69,
15527	0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01,
15528	0x28, 0x09, 0x52, 0x10, 0x6d, 0x61, 0x73, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x72, 0x61,
15529	0x63, 0x74, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x74,
15530	0x6f, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6e, 0x75,
15531	0x6d, 0x62, 0x65, 0x72, 0x54, 0x6f, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65,
15532	0x76, 0x65, 0x72, 0x73, 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28,
15533	0x08, 0x52, 0x0c, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12,
15534	0x56, 0x0a, 0x14, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f,
15535	0x5f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e,
15536	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64,
15537	0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x73, 0x54, 0x6f, 0x49, 0x67, 0x6e,
15538	0x6f, 0x72, 0x65, 0x52, 0x12, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x54,
15539	0x6f, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x22, 0xc8, 0x01, 0x0a, 0x18, 0x46, 0x69, 0x78, 0x65,
15540	0x64, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f,
15541	0x6e, 0x66, 0x69, 0x67, 0x12, 0x42, 0x0a, 0x0b, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x62, 0x6f,
15542	0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
15543	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76,
15544	0x32, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6c, 0x6f,
15545	0x77, 0x65, 0x72, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x42, 0x0a, 0x0b, 0x75, 0x70, 0x70, 0x65,
15546	0x72, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
15547	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64,
15548	0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02,
15549	0x52, 0x0a, 0x75, 0x70, 0x70, 0x65, 0x72, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x24, 0x0a, 0x0b,
15550	0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
15551	0x01, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x69,
15552	0x7a, 0x65, 0x22, 0x90, 0x02, 0x0a, 0x0f, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67,
15553	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x47, 0x0a, 0x07, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74,
15554	0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
15555	0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e,
15556	0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
15557	0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x07, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x1a,
15558	0xb3, 0x01, 0x0a, 0x06, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x2e, 0x0a, 0x03, 0x6d, 0x69,
15559	0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
15560	0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e,
15561	0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x03, 0x6d, 0x69, 0x6e, 0x12, 0x2e, 0x0a, 0x03, 0x6d, 0x61,
15562	0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
15563	0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e,
15564	0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x12, 0x49, 0x0a, 0x11, 0x72, 0x65,
15565	0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
15566	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
15567	0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61,
15568	0x6c, 0x75, 0x65, 0x52, 0x10, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74,
15569	0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xc7, 0x04, 0x0a, 0x19, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f,
15570	0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x46, 0x66, 0x78, 0x46, 0x70, 0x65, 0x43, 0x6f, 0x6e,
15571	0x66, 0x69, 0x67, 0x12, 0x44, 0x0a, 0x0a, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65,
15572	0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
15573	0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e,
15574	0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09,
15575	0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x12, 0x38, 0x0a, 0x07, 0x63, 0x6f, 0x6e,
15576	0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f,
15577	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e,
15578	0x76, 0x32, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x49, 0x64, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74,
15579	0x65, 0x78, 0x74, 0x12, 0x73, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x61, 0x6c,
15580	0x70, 0x68, 0x61, 0x62, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x48, 0x2e, 0x67,
15581	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c,
15582	0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x61,
15583	0x63, 0x65, 0x46, 0x66, 0x78, 0x46, 0x70, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x46,
15584	0x66, 0x78, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x41, 0x6c,
15585	0x70, 0x68, 0x61, 0x62, 0x65, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
15586	0x41, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x65, 0x74, 0x12, 0x29, 0x0a, 0x0f, 0x63, 0x75, 0x73, 0x74,
15587	0x6f, 0x6d, 0x5f, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28,
15588	0x09, 0x48, 0x00, 0x52, 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x6c, 0x70, 0x68, 0x61,
15589	0x62, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x05, 0x72, 0x61, 0x64, 0x69, 0x78, 0x18, 0x06, 0x20, 0x01,
15590	0x28, 0x05, 0x48, 0x00, 0x52, 0x05, 0x72, 0x61, 0x64, 0x69, 0x78, 0x12, 0x4f, 0x0a, 0x13, 0x73,
15591	0x75, 0x72, 0x72, 0x6f, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x74, 0x79,
15592	0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
15593	0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32,
15594	0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x52, 0x11, 0x73, 0x75, 0x72, 0x72, 0x6f,
15595	0x67, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x22, 0x94, 0x01, 0x0a,
15596	0x17, 0x46, 0x66, 0x78, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65,
15597	0x41, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x65, 0x74, 0x12, 0x2a, 0x0a, 0x26, 0x46, 0x46, 0x58, 0x5f,
15598	0x43, 0x4f, 0x4d, 0x4d, 0x4f, 0x4e, 0x5f, 0x4e, 0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x41, 0x4c,
15599	0x50, 0x48, 0x41, 0x42, 0x45, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49,
15600	0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x4e, 0x55, 0x4d, 0x45, 0x52, 0x49, 0x43, 0x10,
15601	0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x48, 0x45, 0x58, 0x41, 0x44, 0x45, 0x43, 0x49, 0x4d, 0x41, 0x4c,
15602	0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x55, 0x50, 0x50, 0x45, 0x52, 0x5f, 0x43, 0x41, 0x53, 0x45,
15603	0x5f, 0x41, 0x4c, 0x50, 0x48, 0x41, 0x5f, 0x4e, 0x55, 0x4d, 0x45, 0x52, 0x49, 0x43, 0x10, 0x03,
15604	0x12, 0x11, 0x0a, 0x0d, 0x41, 0x4c, 0x50, 0x48, 0x41, 0x5f, 0x4e, 0x55, 0x4d, 0x45, 0x52, 0x49,
15605	0x43, 0x10, 0x04, 0x42, 0x0a, 0x0a, 0x08, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x65, 0x74, 0x22,
15606	0xfa, 0x01, 0x0a, 0x09, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x12, 0x49, 0x0a,
15607	0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
15608	0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63,
15609	0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x65,
15610	0x6e, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x09, 0x74,
15611	0x72, 0x61, 0x6e, 0x73, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x49, 0x0a, 0x09, 0x75, 0x6e, 0x77, 0x72,
15612	0x61, 0x70, 0x70, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f,
15613	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70,
15614	0x2e, 0x76, 0x32, 0x2e, 0x55, 0x6e, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x43, 0x72, 0x79,
15615	0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x09, 0x75, 0x6e, 0x77, 0x72, 0x61, 0x70,
15616	0x70, 0x65, 0x64, 0x12, 0x4d, 0x0a, 0x0b, 0x6b, 0x6d, 0x73, 0x5f, 0x77, 0x72, 0x61, 0x70, 0x70,
15617	0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
15618	0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32,
15619	0x2e, 0x4b, 0x6d, 0x73, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x43, 0x72, 0x79, 0x70, 0x74,
15620	0x6f, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x0a, 0x6b, 0x6d, 0x73, 0x57, 0x72, 0x61, 0x70, 0x70,
15621	0x65, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x2d, 0x0a, 0x12,
15622	0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b,
15623	0x65, 0x79, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
15624	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x2b, 0x0a, 0x12, 0x55,
15625	0x6e, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
15626	0x79, 0x12, 0x15, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03,
15627	0xe0, 0x41, 0x02, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0x68, 0x0a, 0x13, 0x4b, 0x6d, 0x73, 0x57,
15628	0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x12,
15629	0x24, 0x0a, 0x0b, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01,
15630	0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x77, 0x72, 0x61, 0x70, 0x70,
15631	0x65, 0x64, 0x4b, 0x65, 0x79, 0x12, 0x2b, 0x0a, 0x0f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f,
15632	0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
15633	0xe0, 0x41, 0x02, 0x52, 0x0d, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x4e, 0x61,
15634	0x6d, 0x65, 0x22, 0xf6, 0x01, 0x0a, 0x0f, 0x44, 0x61, 0x74, 0x65, 0x53, 0x68, 0x69, 0x66, 0x74,
15635	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2d, 0x0a, 0x10, 0x75, 0x70, 0x70, 0x65, 0x72, 0x5f,
15636	0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
15637	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x75, 0x70, 0x70, 0x65, 0x72, 0x42, 0x6f, 0x75, 0x6e,
15638	0x64, 0x44, 0x61, 0x79, 0x73, 0x12, 0x2d, 0x0a, 0x10, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x62,
15639	0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42,
15640	0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x42, 0x6f, 0x75, 0x6e, 0x64,
15641	0x44, 0x61, 0x79, 0x73, 0x12, 0x38, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18,
15642	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
15643	0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69,
15644	0x65, 0x6c, 0x64, 0x49, 0x64, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x41,
15645	0x0a, 0x0a, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01,
15646	0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76,
15647	0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x79, 0x70, 0x74,
15648	0x6f, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x09, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65,
15649	0x79, 0x42, 0x08, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x22, 0xda, 0x02, 0x0a, 0x17,
15650	0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72,
15651	0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x74, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73,
15652	0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
15653	0x32, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63,
15654	0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70,
15655	0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
15656	0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f,
15657	0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x74, 0x72,
15658	0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xc8, 0x01,
15659	0x0a, 0x16, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66,
15660	0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x0a, 0x69, 0x6e, 0x66, 0x6f,
15661	0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67,
15662	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c,
15663	0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x69,
15664	0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x6e, 0x0a, 0x18, 0x70, 0x72, 0x69, 0x6d,
15665	0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61,
15666	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f,
15667	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e,
15668	0x76, 0x32, 0x2e, 0x50, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, 0x6e,
15669	0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
15670	0x17, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66,
15671	0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x85, 0x03, 0x0a, 0x13, 0x46, 0x69, 0x65,
15672	0x6c, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e,
15673	0x12, 0x3b, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
15674	0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63,
15675	0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x49, 0x64,
15676	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x44, 0x0a,
15677	0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
15678	0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63,
15679	0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x43,
15680	0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74,
15681	0x69, 0x6f, 0x6e, 0x12, 0x6b, 0x0a, 0x18, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65,
15682	0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
15683	0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
15684	0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72,
15685	0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d,
15686	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x17, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69,
15687	0x76, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e,
15688	0x12, 0x6c, 0x0a, 0x19, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x74, 0x72,
15689	0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20,
15690	0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69,
15691	0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x66, 0x6f,
15692	0x54, 0x79, 0x70, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69,
15693	0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x17, 0x69, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x54,
15694	0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x10,
15695	0x0a, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e,
15696	0x22, 0xd3, 0x01, 0x0a, 0x15, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73,
15697	0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5f, 0x0a, 0x15, 0x66, 0x69,
15698	0x65, 0x6c, 0x64, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69,
15699	0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
15700	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76,
15701	0x32, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d,
15702	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x54, 0x72, 0x61, 0x6e,
15703	0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x59, 0x0a, 0x13, 0x72,
15704	0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f,
15705	0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
15706	0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32,
15707	0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x53, 0x75, 0x70, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69,
15708	0x6f, 0x6e, 0x52, 0x12, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x53, 0x75, 0x70, 0x70, 0x72, 0x65,
15709	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x59, 0x0a, 0x11, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
15710	0x53, 0x75, 0x70, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x09, 0x63,
15711	0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26,
15712	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e,
15713	0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e,
15714	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f,
15715	0x6e, 0x22, 0xaa, 0x05, 0x0a, 0x0f, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x64,
15716	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x54, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73,
15717	0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f,
15718	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e,
15719	0x76, 0x32, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69,
15720	0x6f, 0x6e, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b,
15721	0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xc6, 0x01, 0x0a, 0x09,
15722	0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x05, 0x66, 0x69, 0x65,
15723	0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
15724	0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32,
15725	0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x49, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x66,
15726	0x69, 0x65, 0x6c, 0x64, 0x12, 0x4a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72,
15727	0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
15728	0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52,
15729	0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f,
15730	0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72,
15731	0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
15732	0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79,
15733	0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76,
15734	0x61, 0x6c, 0x75, 0x65, 0x1a, 0x5e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f,
15735	0x6e, 0x73, 0x12, 0x50, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
15736	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
15737	0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52,
15738	0x65, 0x63, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43,
15739	0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74,
15740	0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x97, 0x02, 0x0a, 0x0b, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73,
15741	0x69, 0x6f, 0x6e, 0x73, 0x12, 0x6d, 0x0a, 0x10, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x5f,
15742	0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x42,
15743	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e,
15744	0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e,
15745	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f,
15746	0x6e, 0x73, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,
15747	0x6f, 0x72, 0x52, 0x0f, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61,
15748	0x74, 0x6f, 0x72, 0x12, 0x53, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
15749	0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
15750	0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e,
15751	0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e,
15752	0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x6f,
15753	0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x3c, 0x0a, 0x0f, 0x4c, 0x6f, 0x67, 0x69,
15754	0x63, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x1c, 0x4c,
15755	0x4f, 0x47, 0x49, 0x43, 0x41, 0x4c, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x4f, 0x52, 0x5f,
15756	0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a,
15757	0x03, 0x41, 0x4e, 0x44, 0x10, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xae,
15758	0x01, 0x0a, 0x16, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f,
15759	0x6e, 0x4f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x12, 0x2b, 0x0a, 0x11, 0x74, 0x72, 0x61,
15760	0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02,
15761	0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65,
15762	0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x67, 0x0a, 0x18, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66,
15763	0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69,
15764	0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
15765	0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32,
15766	0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53,
15767	0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x17, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72,
15768	0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x65, 0x73, 0x22,
15769	0x97, 0x06, 0x0a, 0x15, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69,
15770	0x6f, 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x3c, 0x0a, 0x09, 0x69, 0x6e, 0x66,
15771	0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67,
15772	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c,
15773	0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x69,
15774	0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64,
15775	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
15776	0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x46,
15777	0x69, 0x65, 0x6c, 0x64, 0x49, 0x64, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x56, 0x0a,
15778	0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
15779	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
15780	0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72,
15781	0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d,
15782	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d,
15783	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5f, 0x0a, 0x15, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x74,
15784	0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05,
15785	0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
15786	0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x65,
15787	0x6c, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e,
15788	0x52, 0x14, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d,
15789	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x51, 0x0a, 0x0f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64,
15790	0x5f, 0x73, 0x75, 0x70, 0x70, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32,
15791	0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79,
15792	0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x53, 0x75,
15793	0x70, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x72, 0x65, 0x63, 0x6f, 0x72,
15794	0x64, 0x53, 0x75, 0x70, 0x70, 0x72, 0x65, 0x73, 0x73, 0x12, 0x54, 0x0a, 0x07, 0x72, 0x65, 0x73,
15795	0x75, 0x6c, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f,
15796	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e,
15797	0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f,
15798	0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x2e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79,
15799	0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12,
15800	0x2b, 0x0a, 0x11, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x5f, 0x62,
15801	0x79, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x74, 0x72, 0x61, 0x6e,
15802	0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x1a, 0x9a, 0x01, 0x0a,
15803	0x0d, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x14,
15804	0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63,
15805	0x6f, 0x75, 0x6e, 0x74, 0x12, 0x59, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01,
15806	0x28, 0x0e, 0x32, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76,
15807	0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73,
15808	0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79,
15809	0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
15810	0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12,
15811	0x18, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
15812	0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x5e, 0x0a, 0x18, 0x54, 0x72, 0x61,
15813	0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c,
15814	0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x26, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f,
15815	0x52, 0x4d, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x43,
15816	0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10,
15817	0x00, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x09,
15818	0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x22, 0x6f, 0x0a, 0x08, 0x53, 0x63, 0x68,
15819	0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x59, 0x0a, 0x1a, 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65,
15820	0x6e, 0x63, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74,
15821	0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
15822	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61,
15823	0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x18, 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e,
15824	0x63, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
15825	0x42, 0x08, 0x0a, 0x06, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x08, 0x0a, 0x06, 0x4d, 0x61,
15826	0x6e, 0x75, 0x61, 0x6c, 0x22, 0x89, 0x05, 0x0a, 0x0f, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74,
15827	0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
15828	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d,
15829	0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d,
15830	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79,
15831	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
15832	0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72,
15833	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
15834	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
15835	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
15836	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72,
15837	0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61,
15838	0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
15839	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
15840	0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a,
15841	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4b, 0x0a, 0x0e, 0x69, 0x6e,
15842	0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01,
15843	0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76,
15844	0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65,
15845	0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63,
15846	0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0xc6, 0x02, 0xea, 0x41, 0xc2, 0x02, 0x0a, 0x22,
15847	0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
15848	0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61,
15849	0x74, 0x65, 0x12, 0x40, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
15850	0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d,
15851	0x2f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65,
15852	0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c,
15853	0x61, 0x74, 0x65, 0x7d, 0x12, 0x36, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b,
15854	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74,
15855	0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x70, 0x65,
15856	0x63, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x7d, 0x12, 0x55, 0x6f, 0x72,
15857	0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67,
15858	0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74,
15859	0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f,
15860	0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73,
15861	0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61,
15862	0x74, 0x65, 0x7d, 0x12, 0x4b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70,
15863	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
15864	0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, 0x73,
15865	0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x69,
15866	0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x7d,
15867	0x22, 0xb0, 0x05, 0x0a, 0x12, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54,
15868	0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
15869	0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
15870	0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
15871	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e,
15872	0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
15873	0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
15874	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f,
15875	0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
15876	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
15877	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65,
15878	0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74,
15879	0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
15880	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
15881	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75,
15882	0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x54, 0x0a, 0x11, 0x64, 0x65, 0x69,
15883	0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06,
15884	0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
15885	0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x69,
15886	0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x10, 0x64,
15887	0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a,
15888	0xe1, 0x02, 0xea, 0x41, 0xdd, 0x02, 0x0a, 0x25, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
15889	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x69, 0x64, 0x65,
15890	0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x46, 0x6f,
15891	0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x72,
15892	0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x64, 0x65, 0x69, 0x64,
15893	0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f,
15894	0x7b, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x65, 0x6d, 0x70,
15895	0x6c, 0x61, 0x74, 0x65, 0x7d, 0x12, 0x3c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
15896	0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e,
15897	0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x64,
15898	0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61,
15899	0x74, 0x65, 0x7d, 0x12, 0x5b, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
15900	0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
15901	0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63,
15902	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66,
15903	0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x69, 0x64,
15904	0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x7d,
15905	0x12, 0x51, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a,
15906	0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b,
15907	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e,
15908	0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x64,
15909	0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61,
15910	0x74, 0x65, 0x7d, 0x22, 0x71, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x2c, 0x0a, 0x07,
15911	0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e,
15912	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75,
15913	0x73, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x3a, 0x0a, 0x0a, 0x74, 0x69,
15914	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a,
15915	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
15916	0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x74, 0x69, 0x6d, 0x65,
15917	0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x22, 0xba, 0x07, 0x0a, 0x0a, 0x4a, 0x6f, 0x62, 0x54, 0x72,
15918	0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
15919	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73,
15920	0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
15921	0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b,
15922	0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28,
15923	0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4a,
15924	0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x04, 0x20,
15925	0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69,
15926	0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x70,
15927	0x65, 0x63, 0x74, 0x4a, 0x6f, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0a,
15928	0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x45, 0x0a, 0x08, 0x74, 0x72,
15929	0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67,
15930	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c,
15931	0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2e,
15932	0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x08, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
15933	0x73, 0x12, 0x39, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28,
15934	0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61,
15935	0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x42,
15936	0x03, 0xe0, 0x41, 0x03, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x40, 0x0a, 0x0b,
15937	0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28,
15938	0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
15939	0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0,
15940	0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40,
15941	0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20,
15942	0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
15943	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42,
15944	0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65,
15945	0x12, 0x43, 0x0a, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x74, 0x69, 0x6d,
15946	0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
15947	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
15948	0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x75,
15949	0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x45, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18,
15950	0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
15951	0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4a, 0x6f,
15952	0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42,
15953	0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x1a, 0x8c, 0x01, 0x0a,
15954	0x07, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x08, 0x73, 0x63, 0x68, 0x65,
15955	0x64, 0x75, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f,
15956	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e,
15957	0x76, 0x32, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x08, 0x73,
15958	0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x37, 0x0a, 0x06, 0x6d, 0x61, 0x6e, 0x75, 0x61,
15959	0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
15960	0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e,
15961	0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x06, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c,
15962	0x42, 0x09, 0x0a, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x22, 0x48, 0x0a, 0x06, 0x53,
15963	0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f,
15964	0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a,
15965	0x07, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x41,
15966	0x55, 0x53, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c,
15967	0x4c, 0x45, 0x44, 0x10, 0x03, 0x3a, 0x94, 0x01, 0xea, 0x41, 0x90, 0x01, 0x0a, 0x1d, 0x64, 0x6c,
15968	0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
15969	0x2f, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x2c, 0x70, 0x72, 0x6f,
15970	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f,
15971	0x6a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x6a, 0x6f, 0x62,
15972	0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x7d, 0x12, 0x41, 0x70, 0x72, 0x6f, 0x6a, 0x65,
15973	0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f,
15974	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
15975	0x6e, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b,
15976	0x6a, 0x6f, 0x62, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x7d, 0x42, 0x05, 0x0a, 0x03,
15977	0x6a, 0x6f, 0x62, 0x22, 0x86, 0x07, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x51,
15978	0x0a, 0x0d, 0x73, 0x61, 0x76, 0x65, 0x5f, 0x66, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18,
15979	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
15980	0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63,
15981	0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67,
15982	0x73, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x61, 0x76, 0x65, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67,
15983	0x73, 0x12, 0x48, 0x0a, 0x07, 0x70, 0x75, 0x62, 0x5f, 0x73, 0x75, 0x62, 0x18, 0x02, 0x20, 0x01,
15984	0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76,
15985	0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f,
15986	0x6e, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x54, 0x6f, 0x50, 0x75, 0x62, 0x53, 0x75,
15987	0x62, 0x48, 0x00, 0x52, 0x06, 0x70, 0x75, 0x62, 0x53, 0x75, 0x62, 0x12, 0x6b, 0x0a, 0x17, 0x70,
15988	0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x74,
15989	0x6f, 0x5f, 0x63, 0x73, 0x63, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67,
15990	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c,
15991	0x70, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x75, 0x62, 0x6c,
15992	0x69, 0x73, 0x68, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x54, 0x6f, 0x43, 0x73, 0x63, 0x63,
15993	0x48, 0x00, 0x52, 0x14, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x53, 0x75, 0x6d, 0x6d, 0x61,
15994	0x72, 0x79, 0x54, 0x6f, 0x43, 0x73, 0x63, 0x63, 0x12, 0x94, 0x01, 0x0a, 0x26, 0x70, 0x75, 0x62,
15995	0x6c, 0x69, 0x73, 0x68, 0x5f, 0x66, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x5f, 0x74, 0x6f,
15996	0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x61, 0x74, 0x61,
15997	0x6c, 0x6f, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
15998	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76,
15999	0x32, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68,
16000	0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x54, 0x6f, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x44,
16001	0x61, 0x74, 0x61, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x48, 0x00, 0x52, 0x21, 0x70, 0x75,
16002	0x62, 0x6c, 0x69, 0x73, 0x68, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x54, 0x6f, 0x43,
16003	0x6c, 0x6f, 0x75, 0x64, 0x44, 0x61, 0x74, 0x61, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x12,
16004	0x6d, 0x0a, 0x17, 0x6a, 0x6f, 0x62, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
16005	0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b,
16006	0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63,
16007	0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e,
16008	0x4a, 0x6f, 0x62, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45,
16009	0x6d, 0x61, 0x69, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x15, 0x6a, 0x6f, 0x62, 0x4e, 0x6f, 0x74, 0x69,
16010	0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x6a,
16011	0x0a, 0x16, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x74, 0x61,
16012	0x63, 0x6b, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32,
16013	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e,
16014	0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x75,
16015	0x62, 0x6c, 0x69, 0x73, 0x68, 0x54, 0x6f, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x64, 0x72, 0x69, 0x76,
16016	0x65, 0x72, 0x48, 0x00, 0x52, 0x14, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x54, 0x6f, 0x53,
16017	0x74, 0x61, 0x63, 0x6b, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x1a, 0x5f, 0x0a, 0x0c, 0x53, 0x61,
16018	0x76, 0x65, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x4f, 0x0a, 0x0d, 0x6f, 0x75,
16019	0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28,
16020	0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61,
16021	0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74,
16022	0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x6f,
16023	0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x27, 0x0a, 0x0f, 0x50,
16024	0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x54, 0x6f, 0x50, 0x75, 0x62, 0x53, 0x75, 0x62, 0x12, 0x14,
16025	0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74,
16026	0x6f, 0x70, 0x69, 0x63, 0x1a, 0x16, 0x0a, 0x14, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x53,
16027	0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x54, 0x6f, 0x43, 0x73, 0x63, 0x63, 0x1a, 0x23, 0x0a, 0x21,
16028	0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x54,
16029	0x6f, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x44, 0x61, 0x74, 0x61, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f,
16030	0x67, 0x1a, 0x17, 0x0a, 0x15, 0x4a, 0x6f, 0x62, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61,
16031	0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x16, 0x0a, 0x14, 0x50, 0x75,
16032	0x62, 0x6c, 0x69, 0x73, 0x68, 0x54, 0x6f, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x64, 0x72, 0x69, 0x76,
16033	0x65, 0x72, 0x42, 0x08, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xfc, 0x01, 0x0a,
16034	0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65,
16035	0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a,
16036	0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0,
16037	0x41, 0x02, 0xfa, 0x41, 0x24, 0x12, 0x22, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
16038	0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63,
16039	0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e,
16040	0x74, 0x12, 0x56, 0x0a, 0x10, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x65, 0x6d,
16041	0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f,
16042	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70,
16043	0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c,
16044	0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63,
16045	0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x65, 0x6d,
16046	0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
16047	0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f,
16048	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
16049	0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xee, 0x01, 0x0a, 0x1c,
16050	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d,
16051	0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x04,
16052	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa,
16053	0x41, 0x24, 0x0a, 0x22, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
16054	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65,
16055	0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x51, 0x0a, 0x10,
16056	0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65,
16057	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
16058	0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49,
16059	0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x0f,
16060	0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12,
16061	0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x03,
16062	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
16063	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b,
16064	0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x5b, 0x0a, 0x19,
16065	0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61,
16066	0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
16067	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a,
16068	0x22, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
16069	0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c,
16070	0x61, 0x74, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xd9, 0x01, 0x0a, 0x1b, 0x4c, 0x69,
16071	0x73, 0x74, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74,
16072	0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x06, 0x70, 0x61, 0x72,
16073	0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41,
16074	0x24, 0x12, 0x22, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
16075	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d,
16076	0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a,
16077	0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
16078	0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09,
16079	0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52,
16080	0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64,
16081	0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64,
16082	0x65, 0x72, 0x42, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
16083	0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x74,
16084	0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x9b, 0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e,
16085	0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65,
16086	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x11, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63,
16087	0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
16088	0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61,
16089	0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63,
16090	0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x10, 0x69, 0x6e, 0x73, 0x70, 0x65,
16091	0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e,
16092	0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02,
16093	0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f,
16094	0x6b, 0x65, 0x6e, 0x22, 0x5e, 0x0a, 0x1c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73,
16095	0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75,
16096	0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
16097	0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x64, 0x6c, 0x70, 0x2e, 0x67,
16098	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e,
16099	0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x04, 0x6e,
16100	0x61, 0x6d, 0x65, 0x22, 0xef, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f,
16101	0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
16102	0x4b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
16103	0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65,
16104	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f,
16105	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f,
16106	0x6a, 0x65, 0x63, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x47, 0x0a, 0x0b,
16107	0x6a, 0x6f, 0x62, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28,
16108	0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61,
16109	0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69,
16110	0x67, 0x67, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6a, 0x6f, 0x62, 0x54, 0x72,
16111	0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
16112	0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x72, 0x69, 0x67, 0x67,
16113	0x65, 0x72, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
16114	0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x74,
16115	0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x56, 0x0a, 0x19, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74,
16116	0x65, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65,
16117	0x73, 0x74, 0x12, 0x39, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
16118	0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f,
16119	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4a, 0x6f, 0x62,
16120	0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xd5, 0x01,
16121	0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67,
16122	0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
16123	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a,
16124	0x1d, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
16125	0x63, 0x6f, 0x6d, 0x2f, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x04,
16126	0x6e, 0x61, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x0b, 0x6a, 0x6f, 0x62, 0x5f, 0x74, 0x72, 0x69, 0x67,
16127	0x67, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
16128	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76,
16129	0x32, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x0a, 0x6a, 0x6f,
16130	0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61,
16131	0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
16132	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
16133	0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74,
16134	0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x51, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x54,
16135	0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a,
16136	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02,
16137	0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
16138	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67,
16139	0x65, 0x72, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xb8, 0x02, 0x0a, 0x13, 0x43, 0x72, 0x65,
16140	0x61, 0x74, 0x65, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
16141	0x12, 0x4b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
16142	0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72,
16143	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67,
16144	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72,
16145	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x4a, 0x0a,
16146	0x0b, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x02, 0x20, 0x01,
16147	0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76,
16148	0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65,
16149	0x63, 0x74, 0x4a, 0x6f, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0a, 0x69,
16150	0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x49, 0x0a, 0x08, 0x72, 0x69, 0x73,
16151	0x6b, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f,
16152	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70,
16153	0x2e, 0x76, 0x32, 0x2e, 0x52, 0x69, 0x73, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73,
16154	0x4a, 0x6f, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x07, 0x72, 0x69, 0x73,
16155	0x6b, 0x4a, 0x6f, 0x62, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x04,
16156	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6c,
16157	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
16158	0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x42, 0x05, 0x0a, 0x03,
16159	0x6a, 0x6f, 0x62, 0x22, 0xf5, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x54,
16160	0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b,
16161	0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33,
16162	0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73,
16163	0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f,
16164	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a,
16165	0x65, 0x63, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70,
16166	0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
16167	0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61,
16168	0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70,
16169	0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72,
16170	0x5f, 0x62, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72,
16171	0x42, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01,
16172	0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f,
16173	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52,
16174	0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x87, 0x01, 0x0a, 0x17,
16175	0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x52,
16176	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0c, 0x6a, 0x6f, 0x62, 0x5f, 0x74,
16177	0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e,
16178	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64,
16179	0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
16180	0x52, 0x0b, 0x6a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x12, 0x26, 0x0a,
16181	0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
16182	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65,
16183	0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x54, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a,
16184	0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
16185	0x12, 0x39, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25,
16186	0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
16187	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4a, 0x6f, 0x62, 0x54, 0x72,
16188	0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x99, 0x02, 0x0a, 0x10,
16189	0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x4a, 0x6f, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
16190	0x12, 0x4b, 0x0a, 0x0e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
16191	0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
16192	0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32,
16193	0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d,
16194	0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4b, 0x0a,
16195	0x0e, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18,
16196	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
16197	0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e,
16198	0x73, 0x70, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x69, 0x6e, 0x73,
16199	0x70, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6e,
16200	0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x6e,
16201	0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x69, 0x6e, 0x73, 0x70, 0x65,
16202	0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x37,
16203	0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32,
16204	0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79,
16205	0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07,
16206	0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xd3, 0x06, 0x0a, 0x06, 0x44, 0x6c, 0x70, 0x4a,
16207	0x6f, 0x62, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
16208	0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02,
16209	0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
16210	0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6c, 0x70,
16211	0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x3c, 0x0a,
16212	0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x67,
16213	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c,
16214	0x70, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x2e, 0x4a, 0x6f, 0x62, 0x53,
16215	0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x58, 0x0a, 0x0c, 0x72,
16216	0x69, 0x73, 0x6b, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28,
16217	0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61,
16218	0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a,
16219	0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x69, 0x73, 0x6b, 0x44,
16220	0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x69, 0x73, 0x6b, 0x44, 0x65,
16221	0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x5a, 0x0a, 0x0f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74,
16222	0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f,
16223	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e,
16224	0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x44, 0x61,
16225	0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x48,
16226	0x00, 0x52, 0x0e, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
16227	0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65,
16228	0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
16229	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
16230	0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x39,
16231	0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01,
16232	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
16233	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09,
16234	0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64,
16235	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
16236	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
16237	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65,
16238	0x12, 0x28, 0x0a, 0x10, 0x6a, 0x6f, 0x62, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f,
16239	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6a, 0x6f, 0x62, 0x54,
16240	0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x06, 0x65, 0x72,
16241	0x72, 0x6f, 0x72, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f,
16242	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e,
16243	0x76, 0x32, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73,
16244	0x22, 0x6f, 0x0a, 0x08, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x15,
16245	0x4a, 0x4f, 0x42, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43,
16246	0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49,
16247	0x4e, 0x47, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10,
16248	0x02, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x4f, 0x4e, 0x45, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x43,
16249	0x41, 0x4e, 0x43, 0x45, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49,
16250	0x4c, 0x45, 0x44, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10,
16251	0x06, 0x3a, 0x7f, 0xea, 0x41, 0x7c, 0x0a, 0x19, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
16252	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x6c, 0x70, 0x4a, 0x6f,
16253	0x62, 0x12, 0x24, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f,
16254	0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x64, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x7b, 0x64,
16255	0x6c, 0x70, 0x5f, 0x6a, 0x6f, 0x62, 0x7d, 0x12, 0x39, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
16256	0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61,
16257	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d,
16258	0x2f, 0x64, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x7b, 0x64, 0x6c, 0x70, 0x5f, 0x6a, 0x6f,
16259	0x62, 0x7d, 0x42, 0x09, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x49, 0x0a,
16260	0x10, 0x47, 0x65, 0x74, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
16261	0x74, 0x12, 0x35, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
16262	0x21, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1b, 0x0a, 0x19, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f,
16263	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x6c, 0x70, 0x4a,
16264	0x6f, 0x62, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa8, 0x02, 0x0a, 0x12, 0x4c, 0x69, 0x73,
16265	0x74, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
16266	0x4b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42,
16267	0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65,
16268	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f,
16269	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f,
16270	0x6a, 0x65, 0x63, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06,
16271	0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69,
16272	0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a,
16273	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a,
16274	0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
16275	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
16276	0x12, 0x35, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21,
16277	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e,
16278	0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x54, 0x79, 0x70,
16279	0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72,
16280	0x5f, 0x62, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72,
16281	0x42, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69,
16282	0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
16283	0x6e, 0x49, 0x64, 0x22, 0x70, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x6c, 0x70, 0x4a, 0x6f,
16284	0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x04, 0x6a, 0x6f,
16285	0x62, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
16286	0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32,
16287	0x2e, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x12, 0x26, 0x0a,
16288	0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
16289	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65,
16290	0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x4c, 0x0a, 0x13, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44,
16291	0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x04,
16292	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0xe0, 0x41, 0x02, 0xfa,
16293	0x41, 0x1b, 0x0a, 0x19, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
16294	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6e,
16295	0x61, 0x6d, 0x65, 0x22, 0x4c, 0x0a, 0x13, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x44, 0x6c, 0x70,
16296	0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x04, 0x6e, 0x61,
16297	0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1b,
16298	0x0a, 0x19, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
16299	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6e, 0x61, 0x6d,
16300	0x65, 0x22, 0x4c, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x6c, 0x70, 0x4a, 0x6f,
16301	0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
16302	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1b, 0x0a, 0x19,
16303	0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
16304	0x6f, 0x6d, 0x2f, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22,
16305	0x8b, 0x02, 0x0a, 0x1f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e,
16306	0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75,
16307	0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20,
16308	0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, 0x12, 0x25, 0x64, 0x6c, 0x70,
16309	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
16310	0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61,
16311	0x74, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x5f, 0x0a, 0x13, 0x64, 0x65,
16312	0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74,
16313	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
16314	0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e,
16315	0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61,
16316	0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74,
16317	0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74,
16318	0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
16319	0x52, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b,
16320	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
16321	0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xfd, 0x01,
16322	0x0a, 0x1f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69,
16323	0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
16324	0x74, 0x12, 0x41, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
16325	0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f,
16326	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x69, 0x64,
16327	0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x04,
16328	0x6e, 0x61, 0x6d, 0x65, 0x12, 0x5a, 0x0a, 0x13, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69,
16329	0x66, 0x79, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
16330	0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61,
16331	0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e,
16332	0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x12, 0x64, 0x65,
16333	0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65,
16334	0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18,
16335	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
16336	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73,
16337	0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x61, 0x0a,
16338	0x1c, 0x47, 0x65, 0x74, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65,
16339	0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a,
16340	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x02,
16341	0xfa, 0x41, 0x27, 0x0a, 0x25, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
16342	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69,
16343	0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
16344	0x22, 0xdf, 0x01, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74,
16345	0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75,
16346	0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20,
16347	0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, 0x12, 0x25, 0x64, 0x6c, 0x70,
16348	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
16349	0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61,
16350	0x74, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61,
16351	0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
16352	0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67,
16353	0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61,
16354	0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f,
16355	0x62, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42,
16356	0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64,
16357	0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
16358	0x49, 0x64, 0x22, 0xa7, 0x01, 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x69, 0x64, 0x65,
16359	0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65,
16360	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x14, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e,
16361	0x74, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01,
16362	0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
16363	0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x69,
16364	0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52,
16365	0x13, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c,
16366	0x61, 0x74, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67,
16367	0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e,
16368	0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x64, 0x0a, 0x1f,
16369	0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79,
16370	0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
16371	0x41, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0,
16372	0x41, 0x02, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
16373	0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e,
16374	0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x04, 0x6e, 0x61,
16375	0x6d, 0x65, 0x22, 0xa4, 0x02, 0x0a, 0x1b, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x43, 0x75, 0x73, 0x74,
16376	0x6f, 0x6d, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66,
16377	0x69, 0x67, 0x12, 0x48, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x70, 0x61, 0x74,
16378	0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
16379	0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e,
16380	0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x61, 0x74, 0x68,
16381	0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x61, 0x0a, 0x16,
16382	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x66, 0x69,
16383	0x6c, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67,
16384	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c,
16385	0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67,
16386	0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x13, 0x63, 0x6c, 0x6f, 0x75,
16387	0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x12,
16388	0x4e, 0x0a, 0x0f, 0x62, 0x69, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x66, 0x69, 0x65,
16389	0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
16390	0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32,
16391	0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x48, 0x00,
16392	0x52, 0x0d, 0x62, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x42,
16393	0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4a, 0x0a, 0x1a, 0x4c, 0x61, 0x72,
16394	0x67, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61,
16395	0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x70, 0x70, 0x72, 0x6f,
16396	0x78, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20,
16397	0x01, 0x28, 0x03, 0x52, 0x10, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x4e, 0x75, 0x6d, 0x50, 0x68,
16398	0x72, 0x61, 0x73, 0x65, 0x73, 0x22, 0xea, 0x02, 0x0a, 0x14, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64,
16399	0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x21,
16400	0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
16401	0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d,
16402	0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
16403	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
16404	0x69, 0x6f, 0x6e, 0x12, 0x6c, 0x0a, 0x17, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x63, 0x75, 0x73,
16405	0x74, 0x6f, 0x6d, 0x5f, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x03,
16406	0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
16407	0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x61, 0x72,
16408	0x67, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61,
16409	0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x15, 0x6c, 0x61, 0x72, 0x67,
16410	0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72,
16411	0x79, 0x12, 0x52, 0x0a, 0x0a, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x18,
16412	0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
16413	0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x75,
16414	0x73, 0x74, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x69, 0x63,
16415	0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0a, 0x64, 0x69, 0x63, 0x74, 0x69,
16416	0x6f, 0x6e, 0x61, 0x72, 0x79, 0x12, 0x43, 0x0a, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x05,
16417	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
16418	0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x75, 0x73,
16419	0x74, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x52, 0x65, 0x67, 0x65,
16420	0x78, 0x48, 0x00, 0x52, 0x05, 0x72, 0x65, 0x67, 0x65, 0x78, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79,
16421	0x70, 0x65, 0x22, 0x8a, 0x01, 0x0a, 0x13, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66,
16422	0x6f, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x6b, 0x0a, 0x17, 0x6c, 0x61,
16423	0x72, 0x67, 0x65, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x64, 0x69, 0x63, 0x74, 0x69,
16424	0x6f, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f,
16425	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70,
16426	0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44,
16427	0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x48, 0x00,
16428	0x52, 0x15, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x69, 0x63,
16429	0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22,
16430	0xd3, 0x02, 0x0a, 0x15, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79,
16431	0x70, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x06, 0x63, 0x6f, 0x6e,
16432	0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
16433	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76,
16434	0x32, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65,
16435	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3b,
16436	0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20,
16437	0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
16438	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52,
16439	0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x05, 0x73,
16440	0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f,
16441	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e,
16442	0x76, 0x32, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70,
16443	0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a,
16444	0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
16445	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64,
16446	0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x06, 0x65, 0x72, 0x72,
16447	0x6f, 0x72, 0x73, 0x12, 0x40, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01,
16448	0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76,
16449	0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65,
16450	0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05,
16451	0x73, 0x74, 0x61, 0x74, 0x73, 0x22, 0x98, 0x04, 0x0a, 0x0e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64,
16452	0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
16453	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x55, 0x0a, 0x0f,
16454	0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18,
16455	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
16456	0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74,
16457	0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x56, 0x65, 0x72, 0x73,
16458	0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73,
16459	0x69, 0x6f, 0x6e, 0x12, 0x57, 0x0a, 0x10, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x76,
16460	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e,
16461	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64,
16462	0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f,
16463	0x54, 0x79, 0x70, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x70, 0x65, 0x6e,
16464	0x64, 0x69, 0x6e, 0x67, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0xc1, 0x02, 0xea,
16465	0x41, 0xbd, 0x02, 0x0a, 0x21, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
16466	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e,
16467	0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61,
16468	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74,
16469	0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54,
16470	0x79, 0x70, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x66,
16471	0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x7d, 0x12, 0x35, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
16472	0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x73, 0x74, 0x6f, 0x72,
16473	0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x74, 0x6f,
16474	0x72, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x7d, 0x12, 0x54,
16475	0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f,
16476	0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6c, 0x6f, 0x63,
16477	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
16478	0x7d, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65,
16479	0x73, 0x2f, 0x7b, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x74,
16480	0x79, 0x70, 0x65, 0x7d, 0x12, 0x4a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b,
16481	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
16482	0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x74,
16483	0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x7b, 0x73,
16484	0x74, 0x6f, 0x72, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x7d,
16485	0x22, 0xfa, 0x01, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65,
16486	0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
16487	0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
16488	0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x12, 0x21, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f,
16489	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x74, 0x6f,
16490	0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72,
16491	0x65, 0x6e, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20,
16492	0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69,
16493	0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x6f, 0x72,
16494	0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
16495	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2d, 0x0a,
16496	0x13, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x74, 0x79, 0x70,
16497	0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x74, 0x6f, 0x72,
16498	0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b,
16499	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
16500	0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xde, 0x01,
16501	0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e,
16502	0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a,
16503	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02,
16504	0xfa, 0x41, 0x23, 0x0a, 0x21, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
16505	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e,
16506	0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x06,
16507	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67,
16508	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c,
16509	0x70, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54,
16510	0x79, 0x70, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69,
16511	0x67, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b,
16512	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
16513	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61,
16514	0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x59,
16515	0x0a, 0x18, 0x47, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54,
16516	0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x61,
16517	0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23,
16518	0x0a, 0x21, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
16519	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54,
16520	0x79, 0x70, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xd7, 0x01, 0x0a, 0x1a, 0x4c, 0x69,
16521	0x73, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65,
16522	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65,
16523	0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23,
16524	0x12, 0x21, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
16525	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54,
16526	0x79, 0x70, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70,
16527	0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
16528	0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61,
16529	0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70,
16530	0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72,
16531	0x5f, 0x62, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72,
16532	0x42, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69,
16533	0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
16534	0x6e, 0x49, 0x64, 0x22, 0x98, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x6f, 0x72,
16535	0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
16536	0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x11, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x5f, 0x69, 0x6e,
16537	0x66, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25,
16538	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e,
16539	0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66,
16540	0x6f, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66,
16541	0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70,
16542	0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
16543	0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x5c,
16544	0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e,
16545	0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a,
16546	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02,
16547	0xfa, 0x41, 0x23, 0x0a, 0x21, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
16548	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e,
16549	0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa6, 0x01, 0x0a,
16550	0x1e, 0x48, 0x79, 0x62, 0x72, 0x69, 0x64, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x4a, 0x6f,
16551	0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
16552	0x39, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0,
16553	0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x64, 0x6c, 0x70, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
16554	0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69,
16555	0x67, 0x67, 0x65, 0x72, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x49, 0x0a, 0x0b, 0x68, 0x79,
16556	0x62, 0x72, 0x69, 0x64, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
16557	0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79,
16558	0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x79, 0x62, 0x72, 0x69, 0x64, 0x43, 0x6f,
16559	0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0a, 0x68, 0x79, 0x62, 0x72, 0x69,
16560	0x64, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x9e, 0x01, 0x0a, 0x1a, 0x48, 0x79, 0x62, 0x72, 0x69, 0x64,
16561	0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71,
16562	0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
16563	0x28, 0x09, 0x42, 0x21, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1b, 0x0a, 0x19, 0x64, 0x6c, 0x70, 0x2e,
16564	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44,
16565	0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x49, 0x0a, 0x0b, 0x68,
16566	0x79, 0x62, 0x72, 0x69, 0x64, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
16567	0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63,
16568	0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x79, 0x62, 0x72, 0x69, 0x64, 0x43,
16569	0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0a, 0x68, 0x79, 0x62, 0x72,
16570	0x69, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x22, 0xa1, 0x01, 0x0a, 0x11, 0x48, 0x79, 0x62, 0x72, 0x69,
16571	0x64, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x36, 0x0a, 0x04,
16572	0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f,
16573	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e,
16574	0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04,
16575	0x69, 0x74, 0x65, 0x6d, 0x12, 0x54, 0x0a, 0x0f, 0x66, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f,
16576	0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e,
16577	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64,
16578	0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x79, 0x62, 0x72, 0x69, 0x64, 0x46, 0x69, 0x6e, 0x64,
16579	0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0e, 0x66, 0x69, 0x6e, 0x64,
16580	0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0xfb, 0x02, 0x0a, 0x14, 0x48,
16581	0x79, 0x62, 0x72, 0x69, 0x64, 0x46, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 0x61,
16582	0x69, 0x6c, 0x73, 0x12, 0x4d, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72,
16583	0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20,
16584	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e,
16585	0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72,
16586	0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69,
16587	0x6c, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65,
16588	0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x4f, 0x66, 0x66,
16589	0x73, 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x6f, 0x77, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65,
16590	0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x72, 0x6f, 0x77, 0x4f, 0x66, 0x66, 0x73,
16591	0x65, 0x74, 0x12, 0x48, 0x0a, 0x0d, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69,
16592	0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
16593	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76,
16594	0x32, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0c,
16595	0x74, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4f, 0x0a, 0x06,
16596	0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67,
16597	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c,
16598	0x70, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x79, 0x62, 0x72, 0x69, 0x64, 0x46, 0x69, 0x6e, 0x64, 0x69,
16599	0x6e, 0x67, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73,
16600	0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a,
16601	0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
16602	0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
16603	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76,
16604	0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x17, 0x0a, 0x15, 0x48, 0x79, 0x62, 0x72,
16605	0x69, 0x64, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
16606	0x65, 0x2a, 0xbb, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
16607	0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x23, 0x0a, 0x1f, 0x52, 0x45, 0x4c, 0x41,
16608	0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x4f, 0x52, 0x5f,
16609	0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a,
16610	0x08, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x5f, 0x54, 0x4f, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x4e,
16611	0x4f, 0x54, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x5f, 0x54, 0x4f, 0x10, 0x02, 0x12, 0x10, 0x0a,
16612	0x0c, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x10, 0x03, 0x12,
16613	0x0d, 0x0a, 0x09, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x10, 0x04, 0x12, 0x1a,
16614	0x0a, 0x16, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x4f,
16615	0x52, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, 0x10, 0x05, 0x12, 0x17, 0x0a, 0x13, 0x4c, 0x45,
16616	0x53, 0x53, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x4f, 0x52, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c,
16617	0x53, 0x10, 0x06, 0x12, 0x0a, 0x0a, 0x06, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x10, 0x07, 0x2a,
16618	0x8d, 0x01, 0x0a, 0x0c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65,
16619	0x12, 0x1d, 0x0a, 0x19, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x59, 0x50,
16620	0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12,
16621	0x1c, 0x0a, 0x18, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45,
16622	0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x01, 0x12, 0x1f, 0x0a,
16623	0x1b, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50,
16624	0x41, 0x52, 0x54, 0x49, 0x41, 0x4c, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x02, 0x12, 0x1f,
16625	0x0a, 0x1b, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
16626	0x49, 0x4e, 0x56, 0x45, 0x52, 0x53, 0x45, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x03, 0x2a,
16627	0x4d, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
16628	0x12, 0x17, 0x0a, 0x13, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50,
16629	0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x4f, 0x4e,
16630	0x54, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x45, 0x58, 0x54, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x43,
16631	0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x02, 0x2a, 0x42,
16632	0x0a, 0x0c, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c,
16633	0x0a, 0x18, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55,
16634	0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10,
16635	0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41,
16636	0x10, 0x02, 0x2a, 0x50, 0x0a, 0x13, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x53, 0x75,
16637	0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x42, 0x79, 0x12, 0x19, 0x0a, 0x15, 0x45, 0x4e, 0x55,
16638	0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49,
16639	0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x54, 0x10,
16640	0x01, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x49, 0x53, 0x4b, 0x5f, 0x41, 0x4e, 0x41, 0x4c, 0x59, 0x53,
16641	0x49, 0x53, 0x10, 0x02, 0x2a, 0x52, 0x0a, 0x0a, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x54, 0x79,
16642	0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x4c, 0x50, 0x5f, 0x4a, 0x4f, 0x42, 0x5f, 0x54, 0x59,
16643	0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00,
16644	0x12, 0x0f, 0x0a, 0x0b, 0x49, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x54, 0x5f, 0x4a, 0x4f, 0x42, 0x10,
16645	0x01, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x49, 0x53, 0x4b, 0x5f, 0x41, 0x4e, 0x41, 0x4c, 0x59, 0x53,
16646	0x49, 0x53, 0x5f, 0x4a, 0x4f, 0x42, 0x10, 0x02, 0x2a, 0x6e, 0x0a, 0x13, 0x53, 0x74, 0x6f, 0x72,
16647	0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12,
16648	0x26, 0x0a, 0x22, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x5f, 0x54,
16649	0x59, 0x50, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43,
16650	0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49,
16651	0x4e, 0x47, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x02, 0x12,
16652	0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x49,
16653	0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x04, 0x32, 0xc3, 0x49, 0x0a, 0x0a, 0x44, 0x6c, 0x70,
16654	0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xdb, 0x01, 0x0a, 0x0e, 0x49, 0x6e, 0x73, 0x70,
16655	0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f,
16656	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e,
16657	0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
16658	0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
16659	0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32,
16660	0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52,
16661	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x66, 0x22,
16662	0x27, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f,
16663	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
16664	0x3a, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x3a, 0x01, 0x2a, 0x5a, 0x38, 0x22, 0x33, 0x2f,
16665	0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
16666	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
16667	0x2a, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3a, 0x69, 0x6e, 0x73, 0x70, 0x65,
16668	0x63, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0xcc, 0x01, 0x0a, 0x0b, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74,
16669	0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
16670	0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65,
16671	0x64, 0x61, 0x63, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
16672	0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63,
16673	0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x49,
16674	0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x66, 0x82, 0xd3,
16675	0xe4, 0x93, 0x02, 0x60, 0x22, 0x24, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e,
16676	0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, 0x6d,
16677	0x61, 0x67, 0x65, 0x3a, 0x72, 0x65, 0x64, 0x61, 0x63, 0x74, 0x3a, 0x01, 0x2a, 0x5a, 0x35, 0x22,
16678	0x30, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f,
16679	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
16680	0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x3a, 0x72, 0x65, 0x64, 0x61, 0x63,
16681	0x74, 0x3a, 0x01, 0x2a, 0x12, 0xea, 0x01, 0x0a, 0x11, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74,
16682	0x69, 0x66, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f,
16683	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e,
16684	0x76, 0x32, 0x2e, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6e,
16685	0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f,
16686	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70,
16687	0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x43, 0x6f,
16688	0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x72, 0x82,
16689	0xd3, 0xe4, 0x93, 0x02, 0x6c, 0x22, 0x2a, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65,
16690	0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63,
16691	0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3a, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66,
16692	0x79, 0x3a, 0x01, 0x2a, 0x5a, 0x3b, 0x22, 0x36, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72,
16693	0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c,
16694	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x74,
16695	0x65, 0x6e, 0x74, 0x3a, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x3a, 0x01,
16696	0x2a, 0x12, 0xea, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79,
16697	0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
16698	0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e,
16699	0x52, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
16700	0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
16701	0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32,
16702	0x2e, 0x52, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65,
16703	0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x72, 0x82, 0xd3, 0xe4, 0x93,
16704	0x02, 0x6c, 0x22, 0x2a, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d,
16705	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x74,
16706	0x65, 0x6e, 0x74, 0x3a, 0x72, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x3a, 0x01,
16707	0x2a, 0x5a, 0x3b, 0x22, 0x36, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
16708	0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61,
16709	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
16710	0x3a, 0x72, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x3a, 0x01, 0x2a, 0x12, 0xb0,
16711	0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73,
16712	0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63,
16713	0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66,
16714	0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e,
16715	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64,
16716	0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79,
16717	0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x82, 0xd3, 0xe4,
16718	0x93, 0x02, 0x35, 0x12, 0x0d, 0x2f, 0x76, 0x32, 0x2f, 0x69, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70,
16719	0x65, 0x73, 0x5a, 0x24, 0x12, 0x22, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e,
16720	0x74, 0x3d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69,
16721	0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e,
16722	0x74, 0x12, 0xf4, 0x02, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x70,
16723	0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x33, 0x2e, 0x67, 0x6f,
16724	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70,
16725	0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63,
16726	0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
16727	0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63,
16728	0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74,
16729	0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0xfd, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02,
16730	0xdc, 0x01, 0x22, 0x2d, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d,
16731	0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d,
16732	0x2f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65,
16733	0x73, 0x3a, 0x01, 0x2a, 0x5a, 0x3e, 0x22, 0x39, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72,
16734	0x65, 0x6e, 0x74, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
16735	0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d,
16736	0x2f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65,
16737	0x73, 0x3a, 0x01, 0x2a, 0x5a, 0x2d, 0x22, 0x28, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72,
16738	0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f,
16739	0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73,
16740	0x3a, 0x01, 0x2a, 0x5a, 0x39, 0x22, 0x34, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65,
16741	0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f,
16742	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x70, 0x65,
16743	0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0xda, 0x41,
16744	0x17, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f,
16745	0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0xfe, 0x02, 0x0a, 0x15, 0x55, 0x70, 0x64,
16746	0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61,
16747	0x74, 0x65, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76,
16748	0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
16749	0x65, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65,
16750	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
16751	0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e,
16752	0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22,
16753	0x87, 0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xdc, 0x01, 0x32, 0x2d, 0x2f, 0x76, 0x32, 0x2f, 0x7b,
16754	0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
16755	0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70,
16756	0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x01, 0x2a, 0x5a, 0x3e, 0x32, 0x39, 0x2f,
16757	0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a,
16758	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
16759	0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70,
16760	0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x01, 0x2a, 0x5a, 0x2d, 0x32, 0x28, 0x2f,
16761	0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
16762	0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c,
16763	0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x01, 0x2a, 0x5a, 0x39, 0x32, 0x34, 0x2f, 0x76,
16764	0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
16765	0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x69,
16766	0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f,
16767	0x2a, 0x7d, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x21, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x69, 0x6e, 0x73,
16768	0x70, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2c, 0x75, 0x70,
16769	0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0xcf, 0x02, 0x0a, 0x12, 0x47, 0x65,
16770	0x74, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65,
16771	0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63,
16772	0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x70,
16773	0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
16774	0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76,
16775	0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65,
16776	0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0xde, 0x01, 0x82, 0xd3, 0xe4,
16777	0x93, 0x02, 0xd0, 0x01, 0x12, 0x2d, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d,
16778	0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f,
16779	0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73,
16780	0x2f, 0x2a, 0x7d, 0x5a, 0x3b, 0x12, 0x39, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65,
16781	0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
16782	0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73,
16783	0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d,
16784	0x5a, 0x2a, 0x12, 0x28, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72,
16785	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74,
16786	0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x36, 0x12, 0x34,
16787	0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
16788	0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
16789	0x2f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65,
16790	0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xe2, 0x02, 0x0a, 0x14,
16791	0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c,
16792	0x61, 0x74, 0x65, 0x73, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
16793	0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73,
16794	0x74, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65,
16795	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
16796	0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32,
16797	0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70,
16798	0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xe0, 0x01,
16799	0x82, 0xd3, 0xe4, 0x93, 0x02, 0xd0, 0x01, 0x12, 0x2d, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61,
16800	0x72, 0x65, 0x6e, 0x74, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
16801	0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d,
16802	0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x5a, 0x3b, 0x12, 0x39, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70,
16803	0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69,
16804	0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
16805	0x2a, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61,
16806	0x74, 0x65, 0x73, 0x5a, 0x2a, 0x12, 0x28, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65,
16807	0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69,
16808	0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x5a,
16809	0x36, 0x12, 0x34, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70,
16810	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
16811	0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65,
16812	0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
16813	0x12, 0xc5, 0x02, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x70, 0x65,
16814	0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f,
16815	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e,
16816	0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74,
16817	0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
16818	0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
16819	0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0xde, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xd0,
16820	0x01, 0x2a, 0x2d, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67,
16821	0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73,
16822	0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d,
16823	0x5a, 0x3b, 0x2a, 0x39, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72,
16824	0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f,
16825	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63,
16826	0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x2a, 0x2a,
16827	0x28, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
16828	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d,
16829	0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x36, 0x2a, 0x34, 0x2f, 0x76, 0x32,
16830	0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
16831	0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x69, 0x6e,
16832	0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a,
16833	0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x8c, 0x03, 0x0a, 0x18, 0x43, 0x72, 0x65,
16834	0x61, 0x74, 0x65, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d,
16835	0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
16836	0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72,
16837	0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65,
16838	0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e,
16839	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64,
16840	0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79,
16841	0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0x8c, 0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02,
16842	0xe8, 0x01, 0x22, 0x30, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d,
16843	0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d,
16844	0x2f, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c,
16845	0x61, 0x74, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0x5a, 0x41, 0x22, 0x3c, 0x2f, 0x76, 0x32, 0x2f, 0x7b,
16846	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74,
16847	0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
16848	0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65,
16849	0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0x5a, 0x30, 0x22, 0x2b, 0x2f, 0x76,
16850	0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
16851	0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79,
16852	0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0x5a, 0x3c, 0x22, 0x37,
16853	0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a,
16854	0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
16855	0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65,
16856	0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x1a, 0x70, 0x61, 0x72,
16857	0x65, 0x6e, 0x74, 0x2c, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x74,
16858	0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x96, 0x03, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61,
16859	0x74, 0x65, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70,
16860	0x6c, 0x61, 0x74, 0x65, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
16861	0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64,
16862	0x61, 0x74, 0x65, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d,
16863	0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67,
16864	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c,
16865	0x70, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54,
16866	0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0x96, 0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xe8,
16867	0x01, 0x32, 0x30, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67,
16868	0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x65, 0x69,
16869	0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73,
16870	0x2f, 0x2a, 0x7d, 0x3a, 0x01, 0x2a, 0x5a, 0x41, 0x32, 0x3c, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e,
16871	0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
16872	0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f,
16873	0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61,
16874	0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x01, 0x2a, 0x5a, 0x30, 0x32, 0x2b, 0x2f, 0x76, 0x32,
16875	0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
16876	0x2a, 0x2f, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70,
16877	0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x01, 0x2a, 0x5a, 0x3c, 0x32, 0x37, 0x2f,
16878	0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
16879	0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f,
16880	0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61,
16881	0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x24, 0x6e, 0x61, 0x6d, 0x65,
16882	0x2c, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x65, 0x6d, 0x70,
16883	0x6c, 0x61, 0x74, 0x65, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b,
16884	0x12, 0xe4, 0x02, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69,
16885	0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f,
16886	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e,
16887	0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79,
16888	0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
16889	0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79,
16890	0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69,
16891	0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0xea, 0x01, 0x82, 0xd3, 0xe4,
16892	0x93, 0x02, 0xdc, 0x01, 0x12, 0x30, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d,
16893	0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f,
16894	0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61,
16895	0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x3e, 0x12, 0x3c, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e,
16896	0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
16897	0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f,
16898	0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61,
16899	0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x2d, 0x12, 0x2b, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e,
16900	0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64,
16901	0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74,
16902	0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x39, 0x12, 0x37, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61,
16903	0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f,
16904	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e,
16905	0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d,
16906	0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xf7, 0x02, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74,
16907	0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61,
16908	0x74, 0x65, 0x73, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69,
16909	0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74,
16910	0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61,
16911	0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x67, 0x6f, 0x6f,
16912	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e,
16913	0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66,
16914	0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
16915	0x73, 0x65, 0x22, 0xec, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xdc, 0x01, 0x12, 0x30, 0x2f, 0x76,
16916	0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69,
16917	0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x65, 0x69, 0x64, 0x65,
16918	0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x5a, 0x3e,
16919	0x12, 0x3c, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x6f, 0x72,
16920	0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f,
16921	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x65, 0x69, 0x64, 0x65,
16922	0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x5a, 0x2d,
16923	0x12, 0x2b, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72,
16924	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e,
16925	0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x5a, 0x39, 0x12,
16926	0x37, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f,
16927	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
16928	0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54,
16929	0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e,
16930	0x74, 0x12, 0xd7, 0x02, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x65, 0x69, 0x64,
16931	0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x36,
16932	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e,
16933	0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x65, 0x69,
16934	0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52,
16935	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
16936	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0xea,
16937	0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xdc, 0x01, 0x2a, 0x30, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e,
16938	0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
16939	0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65,
16940	0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x3e, 0x2a, 0x3c, 0x2f, 0x76,
16941	0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61,
16942	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
16943	0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65,
16944	0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x2d, 0x2a, 0x2b, 0x2f, 0x76,
16945	0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
16946	0x2f, 0x2a, 0x2f, 0x64, 0x65, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d,
16947	0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x39, 0x2a, 0x37, 0x2f, 0x76, 0x32,
16948	0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
16949	0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x65,
16950	0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65,
16951	0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xe0, 0x01, 0x0a, 0x10,
16952	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
16953	0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63,
16954	0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4a,
16955	0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
16956	0x1a, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63,
16957	0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67,
16958	0x67, 0x65, 0x72, 0x22, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5e, 0x22, 0x23, 0x2f, 0x76, 0x32,
16959	0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
16960	0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73,
16961	0x3a, 0x01, 0x2a, 0x5a, 0x34, 0x22, 0x2f, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65,
16962	0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f,
16963	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x54, 0x72,
16964	0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x12, 0x70, 0x61, 0x72, 0x65,
16965	0x6e, 0x74, 0x2c, 0x6a, 0x6f, 0x62, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0xeb,
16966	0x01, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67,
16967	0x67, 0x65, 0x72, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69,
16968	0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61,
16969	0x74, 0x65, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75,
16970	0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69,
16971	0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4a, 0x6f, 0x62, 0x54,
16972	0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x22, 0x83, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5e, 0x32,
16973	0x23, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
16974	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
16975	0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x01, 0x2a, 0x5a, 0x34, 0x32, 0x2f, 0x2f, 0x76, 0x32, 0x2f, 0x7b,
16976	0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f,
16977	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6a, 0x6f, 0x62, 0x54,
16978	0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x1c,
16979	0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x6a, 0x6f, 0x62, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
16980	0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0xcf, 0x01, 0x0a,
16981	0x17, 0x48, 0x79, 0x62, 0x72, 0x69, 0x64, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x4a, 0x6f,
16982	0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
16983	0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32,
16984	0x2e, 0x48, 0x79, 0x62, 0x72, 0x69, 0x64, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x4a, 0x6f,
16985	0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
16986	0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79,
16987	0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x79, 0x62, 0x72, 0x69, 0x64, 0x49, 0x6e,
16988	0x73, 0x70, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4f, 0x82,
16989	0xd3, 0xe4, 0x93, 0x02, 0x42, 0x22, 0x3d, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65,
16990	0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61,
16991	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67,
16992	0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x49, 0x6e, 0x73,
16993	0x70, 0x65, 0x63, 0x74, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xc6,
16994	0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
16995	0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63,
16996	0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x54,
16997	0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e,
16998	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64,
16999	0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
17000	0x22, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x58, 0x12, 0x23, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e,
17001	0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6a,
17002	0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x31, 0x12,
17003	0x2f, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
17004	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
17005	0x2a, 0x2f, 0x6a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d,
17006	0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xd9, 0x01, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74,
17007	0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x12, 0x2d, 0x2e, 0x67, 0x6f,
17008	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70,
17009	0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67,
17010	0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 0x6f,
17011	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e,
17012	0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65,
17013	0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x67, 0x82, 0xd3, 0xe4, 0x93,
17014	0x02, 0x58, 0x12, 0x23, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d,
17015	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x54,
17016	0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x5a, 0x31, 0x12, 0x2f, 0x2f, 0x76, 0x32, 0x2f, 0x7b,
17017	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
17018	0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6a,
17019	0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72,
17020	0x65, 0x6e, 0x74, 0x12, 0xc1, 0x01, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f,
17021	0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
17022	0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32,
17023	0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65,
17024	0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
17025	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79,
17026	0x22, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x58, 0x2a, 0x23, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e,
17027	0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6a,
17028	0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x31, 0x2a,
17029	0x2f, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
17030	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
17031	0x2a, 0x2f, 0x6a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d,
17032	0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xdd, 0x01, 0x0a, 0x12, 0x41, 0x63, 0x74, 0x69,
17033	0x76, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x30,
17034	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e,
17035	0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4a,
17036	0x6f, 0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
17037	0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63,
17038	0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x22,
17039	0x76, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x70, 0x22, 0x2c, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61,
17040	0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6a, 0x6f,
17041	0x62, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x61, 0x63, 0x74,
17042	0x69, 0x76, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x5a, 0x3d, 0x22, 0x38, 0x2f, 0x76, 0x32, 0x2f,
17043	0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a,
17044	0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6a, 0x6f, 0x62,
17045	0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x61, 0x63, 0x74, 0x69,
17046	0x76, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0xdf, 0x01, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61,
17047	0x74, 0x65, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
17048	0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32,
17049	0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71,
17050	0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
17051	0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6c, 0x70,
17052	0x4a, 0x6f, 0x62, 0x22, 0x83, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x56, 0x22, 0x1f, 0x2f, 0x76,
17053	0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
17054	0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x73, 0x3a, 0x01, 0x2a,
17055	0x5a, 0x30, 0x22, 0x2b, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d,
17056	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74,
17057	0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x73, 0x3a,
17058	0x01, 0x2a, 0xda, 0x41, 0x12, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x69, 0x6e, 0x73, 0x70,
17059	0x65, 0x63, 0x74, 0x5f, 0x6a, 0x6f, 0x62, 0xda, 0x41, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
17060	0x2c, 0x72, 0x69, 0x73, 0x6b, 0x5f, 0x6a, 0x6f, 0x62, 0x12, 0xc5, 0x01, 0x0a, 0x0b, 0x4c, 0x69,
17061	0x73, 0x74, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
17062	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76,
17063	0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71,
17064	0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
17065	0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73,
17066	0x74, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
17067	0x22, 0x5f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x50, 0x12, 0x1f, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70,
17068	0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a,
17069	0x7d, 0x2f, 0x64, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x73, 0x5a, 0x2d, 0x12, 0x2b, 0x2f, 0x76, 0x32,
17070	0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
17071	0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d,
17072	0x2f, 0x64, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e,
17073	0x74, 0x12, 0xb2, 0x01, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x12,
17074	0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79,
17075	0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x6c, 0x70, 0x4a, 0x6f,
17076	0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
17077	0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32,
17078	0x2e, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x22, 0x5d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x50, 0x12,
17079	0x1f, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
17080	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d,
17081	0x5a, 0x2d, 0x12, 0x2b, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72,
17082	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
17083	0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, 0xda,
17084	0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xb1, 0x01, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74,
17085	0x65, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
17086	0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e,
17087	0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75,
17088	0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
17089	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x5d, 0x82, 0xd3, 0xe4,
17090	0x93, 0x02, 0x50, 0x2a, 0x1f, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70,
17091	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6c, 0x70, 0x4a, 0x6f, 0x62,
17092	0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x2d, 0x2a, 0x2b, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d,
17093	0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63,
17094	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x73,
17095	0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xbe, 0x01, 0x0a, 0x0c, 0x43,
17096	0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x12, 0x2a, 0x2e, 0x67, 0x6f,
17097	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70,
17098	0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62,
17099	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
17100	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22,
17101	0x6a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x64, 0x22, 0x26, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61,
17102	0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6c,
17103	0x70, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x3a,
17104	0x01, 0x2a, 0x5a, 0x37, 0x22, 0x32, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d,
17105	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74,
17106	0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x64, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x2a,
17107	0x7d, 0x3a, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x3a, 0x01, 0x2a, 0x12, 0xe3, 0x02, 0x0a, 0x14,
17108	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f,
17109	0x54, 0x79, 0x70, 0x65, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
17110	0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65,
17111	0x61, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70,
17112	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
17113	0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32,
17114	0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x22,
17115	0xef, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xd8, 0x01, 0x22, 0x2c, 0x2f, 0x76, 0x32, 0x2f, 0x7b,
17116	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74,
17117	0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e,
17118	0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0x5a, 0x3d, 0x22, 0x38, 0x2f, 0x76,
17119	0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69,
17120	0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
17121	0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66,
17122	0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0x5a, 0x2c, 0x22, 0x27, 0x2f, 0x76, 0x32,
17123	0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
17124	0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54,
17125	0x79, 0x70, 0x65, 0x73, 0x3a, 0x01, 0x2a, 0x5a, 0x38, 0x22, 0x33, 0x2f, 0x76, 0x32, 0x2f, 0x7b,
17126	0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
17127	0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73,
17128	0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a, 0x01,
17129	0x2a, 0xda, 0x41, 0x0d, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x63, 0x6f, 0x6e, 0x66, 0x69,
17130	0x67, 0x12, 0xed, 0x02, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72,
17131	0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f,
17132	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e,
17133	0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49,
17134	0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25,
17135	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e,
17136	0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66,
17137	0x6f, 0x54, 0x79, 0x70, 0x65, 0x22, 0xf9, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xd8, 0x01, 0x32,
17138	0x2c, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e,
17139	0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65,
17140	0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x01, 0x2a,
17141	0x5a, 0x3d, 0x32, 0x38, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72,
17142	0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f,
17143	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64,
17144	0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x01, 0x2a, 0x5a,
17145	0x2c, 0x32, 0x27, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f,
17146	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e,
17147	0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x01, 0x2a, 0x5a, 0x38, 0x32,
17148	0x33, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
17149	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
17150	0x2a, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65,
17151	0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x17, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x63,
17152	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73,
17153	0x6b, 0x12, 0xc8, 0x02, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49,
17154	0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
17155	0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e,
17156	0x47, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70,
17157	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
17158	0x65, 0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32,
17159	0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x22,
17160	0xda, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xcc, 0x01, 0x12, 0x2c, 0x2f, 0x76, 0x32, 0x2f, 0x7b,
17161	0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
17162	0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54,
17163	0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x3a, 0x12, 0x38, 0x2f, 0x76, 0x32, 0x2f, 0x7b,
17164	0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
17165	0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
17166	0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73,
17167	0x2f, 0x2a, 0x7d, 0x5a, 0x29, 0x12, 0x27, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65,
17168	0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x74, 0x6f, 0x72,
17169	0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x35,
17170	0x12, 0x33, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a,
17171	0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
17172	0x2f, 0x2a, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70,
17173	0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xdb, 0x02, 0x0a,
17174	0x13, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54,
17175	0x79, 0x70, 0x65, 0x73, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
17176	0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73,
17177	0x74, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73,
17178	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
17179	0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e,
17180	0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79,
17181	0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xdc, 0x01, 0x82, 0xd3,
17182	0xe4, 0x93, 0x02, 0xcc, 0x01, 0x12, 0x2c, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65,
17183	0x6e, 0x74, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
17184	0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79,
17185	0x70, 0x65, 0x73, 0x5a, 0x3a, 0x12, 0x38, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65,
17186	0x6e, 0x74, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
17187	0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f,
17188	0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5a,
17189	0x29, 0x12, 0x27, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70,
17190	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65,
17191	0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5a, 0x35, 0x12, 0x33, 0x2f, 0x76,
17192	0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
17193	0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
17194	0x7d, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65,
17195	0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xbf, 0x02, 0x0a, 0x14, 0x44,
17196	0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54,
17197	0x79, 0x70, 0x65, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69,
17198	0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65,
17199	0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65,
17200	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
17201	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22,
17202	0xda, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xcc, 0x01, 0x2a, 0x2c, 0x2f, 0x76, 0x32, 0x2f, 0x7b,
17203	0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
17204	0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54,
17205	0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x3a, 0x2a, 0x38, 0x2f, 0x76, 0x32, 0x2f, 0x7b,
17206	0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
17207	0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a,
17208	0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73,
17209	0x2f, 0x2a, 0x7d, 0x5a, 0x29, 0x2a, 0x27, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65,
17210	0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x74, 0x6f, 0x72,
17211	0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, 0x35,
17212	0x2a, 0x33, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a,
17213	0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
17214	0x2f, 0x2a, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x54, 0x79, 0x70,
17215	0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xc3, 0x01, 0x0a,
17216	0x13, 0x48, 0x79, 0x62, 0x72, 0x69, 0x64, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x44, 0x6c,
17217	0x70, 0x4a, 0x6f, 0x62, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
17218	0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x79, 0x62,
17219	0x72, 0x69, 0x64, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62,
17220	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
17221	0x2e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e,
17222	0x48, 0x79, 0x62, 0x72, 0x69, 0x64, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73,
17223	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x22, 0x39, 0x2f,
17224	0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
17225	0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f,
17226	0x64, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x68, 0x79, 0x62, 0x72, 0x69,
17227	0x64, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x04, 0x6e, 0x61,
17228	0x6d, 0x65, 0x12, 0x91, 0x01, 0x0a, 0x0c, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x44, 0x6c, 0x70,
17229	0x4a, 0x6f, 0x62, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x69,
17230	0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x69, 0x6e, 0x69,
17231	0x73, 0x68, 0x44, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
17232	0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
17233	0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x22,
17234	0x32, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
17235	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
17236	0x2a, 0x2f, 0x64, 0x6c, 0x70, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x66, 0x69, 0x6e,
17237	0x69, 0x73, 0x68, 0x3a, 0x01, 0x2a, 0x1a, 0x46, 0xca, 0x41, 0x12, 0x64, 0x6c, 0x70, 0x2e, 0x67,
17238	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e,
17239	0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
17240	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f,
17241	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x85,
17242	0x02, 0x0a, 0x19, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
17243	0x69, 0x76, 0x61, 0x63, 0x79, 0x2e, 0x64, 0x6c, 0x70, 0x2e, 0x76, 0x32, 0x42, 0x08, 0x44, 0x6c,
17244	0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
17245	0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70,
17246	0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f,
17247	0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x2f, 0x64, 0x6c, 0x70, 0x2f, 0x76, 0x32, 0x3b, 0x64,
17248	0x6c, 0x70, 0xaa, 0x02, 0x13, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75,
17249	0x64, 0x2e, 0x44, 0x6c, 0x70, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x13, 0x47, 0x6f, 0x6f, 0x67, 0x6c,
17250	0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x44, 0x6c, 0x70, 0x5c, 0x56, 0x32, 0xea, 0x02,
17251	0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a,
17252	0x44, 0x6c, 0x70, 0x3a, 0x3a, 0x56, 0x32, 0xea, 0x41, 0x5c, 0x0a, 0x27, 0x64, 0x6c, 0x70, 0x2e,
17253	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4f,
17254	0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74,
17255	0x69, 0x6f, 0x6e, 0x12, 0x31, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
17256	0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
17257	0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63,
17258	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
17259}
17260
17261var (
17262	file_google_privacy_dlp_v2_dlp_proto_rawDescOnce sync.Once
17263	file_google_privacy_dlp_v2_dlp_proto_rawDescData = file_google_privacy_dlp_v2_dlp_proto_rawDesc
17264)
17265
17266func file_google_privacy_dlp_v2_dlp_proto_rawDescGZIP() []byte {
17267	file_google_privacy_dlp_v2_dlp_proto_rawDescOnce.Do(func() {
17268		file_google_privacy_dlp_v2_dlp_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_privacy_dlp_v2_dlp_proto_rawDescData)
17269	})
17270	return file_google_privacy_dlp_v2_dlp_proto_rawDescData
17271}
17272
17273var file_google_privacy_dlp_v2_dlp_proto_enumTypes = make([]protoimpl.EnumInfo, 16)
17274var file_google_privacy_dlp_v2_dlp_proto_msgTypes = make([]protoimpl.MessageInfo, 173)
17275var file_google_privacy_dlp_v2_dlp_proto_goTypes = []interface{}{
17276	(RelationalOperator)(0),                                   // 0: google.privacy.dlp.v2.RelationalOperator
17277	(MatchingType)(0),                                         // 1: google.privacy.dlp.v2.MatchingType
17278	(ContentOption)(0),                                        // 2: google.privacy.dlp.v2.ContentOption
17279	(MetadataType)(0),                                         // 3: google.privacy.dlp.v2.MetadataType
17280	(InfoTypeSupportedBy)(0),                                  // 4: google.privacy.dlp.v2.InfoTypeSupportedBy
17281	(DlpJobType)(0),                                           // 5: google.privacy.dlp.v2.DlpJobType
17282	(StoredInfoTypeState)(0),                                  // 6: google.privacy.dlp.v2.StoredInfoTypeState
17283	(ByteContentItem_BytesType)(0),                            // 7: google.privacy.dlp.v2.ByteContentItem.BytesType
17284	(OutputStorageConfig_OutputSchema)(0),                     // 8: google.privacy.dlp.v2.OutputStorageConfig.OutputSchema
17285	(TimePartConfig_TimePart)(0),                              // 9: google.privacy.dlp.v2.TimePartConfig.TimePart
17286	(CharsToIgnore_CommonCharsToIgnore)(0),                    // 10: google.privacy.dlp.v2.CharsToIgnore.CommonCharsToIgnore
17287	(CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet)(0),    // 11: google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig.FfxCommonNativeAlphabet
17288	(RecordCondition_Expressions_LogicalOperator)(0),          // 12: google.privacy.dlp.v2.RecordCondition.Expressions.LogicalOperator
17289	(TransformationSummary_TransformationResultCode)(0),       // 13: google.privacy.dlp.v2.TransformationSummary.TransformationResultCode
17290	(JobTrigger_Status)(0),                                    // 14: google.privacy.dlp.v2.JobTrigger.Status
17291	(DlpJob_JobState)(0),                                      // 15: google.privacy.dlp.v2.DlpJob.JobState
17292	(*ExcludeInfoTypes)(nil),                                  // 16: google.privacy.dlp.v2.ExcludeInfoTypes
17293	(*ExclusionRule)(nil),                                     // 17: google.privacy.dlp.v2.ExclusionRule
17294	(*InspectionRule)(nil),                                    // 18: google.privacy.dlp.v2.InspectionRule
17295	(*InspectionRuleSet)(nil),                                 // 19: google.privacy.dlp.v2.InspectionRuleSet
17296	(*InspectConfig)(nil),                                     // 20: google.privacy.dlp.v2.InspectConfig
17297	(*ByteContentItem)(nil),                                   // 21: google.privacy.dlp.v2.ByteContentItem
17298	(*ContentItem)(nil),                                       // 22: google.privacy.dlp.v2.ContentItem
17299	(*Table)(nil),                                             // 23: google.privacy.dlp.v2.Table
17300	(*InspectResult)(nil),                                     // 24: google.privacy.dlp.v2.InspectResult
17301	(*Finding)(nil),                                           // 25: google.privacy.dlp.v2.Finding
17302	(*Location)(nil),                                          // 26: google.privacy.dlp.v2.Location
17303	(*ContentLocation)(nil),                                   // 27: google.privacy.dlp.v2.ContentLocation
17304	(*MetadataLocation)(nil),                                  // 28: google.privacy.dlp.v2.MetadataLocation
17305	(*StorageMetadataLabel)(nil),                              // 29: google.privacy.dlp.v2.StorageMetadataLabel
17306	(*DocumentLocation)(nil),                                  // 30: google.privacy.dlp.v2.DocumentLocation
17307	(*RecordLocation)(nil),                                    // 31: google.privacy.dlp.v2.RecordLocation
17308	(*TableLocation)(nil),                                     // 32: google.privacy.dlp.v2.TableLocation
17309	(*Container)(nil),                                         // 33: google.privacy.dlp.v2.Container
17310	(*Range)(nil),                                             // 34: google.privacy.dlp.v2.Range
17311	(*ImageLocation)(nil),                                     // 35: google.privacy.dlp.v2.ImageLocation
17312	(*BoundingBox)(nil),                                       // 36: google.privacy.dlp.v2.BoundingBox
17313	(*RedactImageRequest)(nil),                                // 37: google.privacy.dlp.v2.RedactImageRequest
17314	(*Color)(nil),                                             // 38: google.privacy.dlp.v2.Color
17315	(*RedactImageResponse)(nil),                               // 39: google.privacy.dlp.v2.RedactImageResponse
17316	(*DeidentifyContentRequest)(nil),                          // 40: google.privacy.dlp.v2.DeidentifyContentRequest
17317	(*DeidentifyContentResponse)(nil),                         // 41: google.privacy.dlp.v2.DeidentifyContentResponse
17318	(*ReidentifyContentRequest)(nil),                          // 42: google.privacy.dlp.v2.ReidentifyContentRequest
17319	(*ReidentifyContentResponse)(nil),                         // 43: google.privacy.dlp.v2.ReidentifyContentResponse
17320	(*InspectContentRequest)(nil),                             // 44: google.privacy.dlp.v2.InspectContentRequest
17321	(*InspectContentResponse)(nil),                            // 45: google.privacy.dlp.v2.InspectContentResponse
17322	(*OutputStorageConfig)(nil),                               // 46: google.privacy.dlp.v2.OutputStorageConfig
17323	(*InfoTypeStats)(nil),                                     // 47: google.privacy.dlp.v2.InfoTypeStats
17324	(*InspectDataSourceDetails)(nil),                          // 48: google.privacy.dlp.v2.InspectDataSourceDetails
17325	(*HybridInspectStatistics)(nil),                           // 49: google.privacy.dlp.v2.HybridInspectStatistics
17326	(*InfoTypeDescription)(nil),                               // 50: google.privacy.dlp.v2.InfoTypeDescription
17327	(*ListInfoTypesRequest)(nil),                              // 51: google.privacy.dlp.v2.ListInfoTypesRequest
17328	(*ListInfoTypesResponse)(nil),                             // 52: google.privacy.dlp.v2.ListInfoTypesResponse
17329	(*RiskAnalysisJobConfig)(nil),                             // 53: google.privacy.dlp.v2.RiskAnalysisJobConfig
17330	(*QuasiId)(nil),                                           // 54: google.privacy.dlp.v2.QuasiId
17331	(*StatisticalTable)(nil),                                  // 55: google.privacy.dlp.v2.StatisticalTable
17332	(*PrivacyMetric)(nil),                                     // 56: google.privacy.dlp.v2.PrivacyMetric
17333	(*AnalyzeDataSourceRiskDetails)(nil),                      // 57: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails
17334	(*ValueFrequency)(nil),                                    // 58: google.privacy.dlp.v2.ValueFrequency
17335	(*Value)(nil),                                             // 59: google.privacy.dlp.v2.Value
17336	(*QuoteInfo)(nil),                                         // 60: google.privacy.dlp.v2.QuoteInfo
17337	(*DateTime)(nil),                                          // 61: google.privacy.dlp.v2.DateTime
17338	(*DeidentifyConfig)(nil),                                  // 62: google.privacy.dlp.v2.DeidentifyConfig
17339	(*TransformationErrorHandling)(nil),                       // 63: google.privacy.dlp.v2.TransformationErrorHandling
17340	(*PrimitiveTransformation)(nil),                           // 64: google.privacy.dlp.v2.PrimitiveTransformation
17341	(*TimePartConfig)(nil),                                    // 65: google.privacy.dlp.v2.TimePartConfig
17342	(*CryptoHashConfig)(nil),                                  // 66: google.privacy.dlp.v2.CryptoHashConfig
17343	(*CryptoDeterministicConfig)(nil),                         // 67: google.privacy.dlp.v2.CryptoDeterministicConfig
17344	(*ReplaceValueConfig)(nil),                                // 68: google.privacy.dlp.v2.ReplaceValueConfig
17345	(*ReplaceWithInfoTypeConfig)(nil),                         // 69: google.privacy.dlp.v2.ReplaceWithInfoTypeConfig
17346	(*RedactConfig)(nil),                                      // 70: google.privacy.dlp.v2.RedactConfig
17347	(*CharsToIgnore)(nil),                                     // 71: google.privacy.dlp.v2.CharsToIgnore
17348	(*CharacterMaskConfig)(nil),                               // 72: google.privacy.dlp.v2.CharacterMaskConfig
17349	(*FixedSizeBucketingConfig)(nil),                          // 73: google.privacy.dlp.v2.FixedSizeBucketingConfig
17350	(*BucketingConfig)(nil),                                   // 74: google.privacy.dlp.v2.BucketingConfig
17351	(*CryptoReplaceFfxFpeConfig)(nil),                         // 75: google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig
17352	(*CryptoKey)(nil),                                         // 76: google.privacy.dlp.v2.CryptoKey
17353	(*TransientCryptoKey)(nil),                                // 77: google.privacy.dlp.v2.TransientCryptoKey
17354	(*UnwrappedCryptoKey)(nil),                                // 78: google.privacy.dlp.v2.UnwrappedCryptoKey
17355	(*KmsWrappedCryptoKey)(nil),                               // 79: google.privacy.dlp.v2.KmsWrappedCryptoKey
17356	(*DateShiftConfig)(nil),                                   // 80: google.privacy.dlp.v2.DateShiftConfig
17357	(*InfoTypeTransformations)(nil),                           // 81: google.privacy.dlp.v2.InfoTypeTransformations
17358	(*FieldTransformation)(nil),                               // 82: google.privacy.dlp.v2.FieldTransformation
17359	(*RecordTransformations)(nil),                             // 83: google.privacy.dlp.v2.RecordTransformations
17360	(*RecordSuppression)(nil),                                 // 84: google.privacy.dlp.v2.RecordSuppression
17361	(*RecordCondition)(nil),                                   // 85: google.privacy.dlp.v2.RecordCondition
17362	(*TransformationOverview)(nil),                            // 86: google.privacy.dlp.v2.TransformationOverview
17363	(*TransformationSummary)(nil),                             // 87: google.privacy.dlp.v2.TransformationSummary
17364	(*Schedule)(nil),                                          // 88: google.privacy.dlp.v2.Schedule
17365	(*Manual)(nil),                                            // 89: google.privacy.dlp.v2.Manual
17366	(*InspectTemplate)(nil),                                   // 90: google.privacy.dlp.v2.InspectTemplate
17367	(*DeidentifyTemplate)(nil),                                // 91: google.privacy.dlp.v2.DeidentifyTemplate
17368	(*Error)(nil),                                             // 92: google.privacy.dlp.v2.Error
17369	(*JobTrigger)(nil),                                        // 93: google.privacy.dlp.v2.JobTrigger
17370	(*Action)(nil),                                            // 94: google.privacy.dlp.v2.Action
17371	(*CreateInspectTemplateRequest)(nil),                      // 95: google.privacy.dlp.v2.CreateInspectTemplateRequest
17372	(*UpdateInspectTemplateRequest)(nil),                      // 96: google.privacy.dlp.v2.UpdateInspectTemplateRequest
17373	(*GetInspectTemplateRequest)(nil),                         // 97: google.privacy.dlp.v2.GetInspectTemplateRequest
17374	(*ListInspectTemplatesRequest)(nil),                       // 98: google.privacy.dlp.v2.ListInspectTemplatesRequest
17375	(*ListInspectTemplatesResponse)(nil),                      // 99: google.privacy.dlp.v2.ListInspectTemplatesResponse
17376	(*DeleteInspectTemplateRequest)(nil),                      // 100: google.privacy.dlp.v2.DeleteInspectTemplateRequest
17377	(*CreateJobTriggerRequest)(nil),                           // 101: google.privacy.dlp.v2.CreateJobTriggerRequest
17378	(*ActivateJobTriggerRequest)(nil),                         // 102: google.privacy.dlp.v2.ActivateJobTriggerRequest
17379	(*UpdateJobTriggerRequest)(nil),                           // 103: google.privacy.dlp.v2.UpdateJobTriggerRequest
17380	(*GetJobTriggerRequest)(nil),                              // 104: google.privacy.dlp.v2.GetJobTriggerRequest
17381	(*CreateDlpJobRequest)(nil),                               // 105: google.privacy.dlp.v2.CreateDlpJobRequest
17382	(*ListJobTriggersRequest)(nil),                            // 106: google.privacy.dlp.v2.ListJobTriggersRequest
17383	(*ListJobTriggersResponse)(nil),                           // 107: google.privacy.dlp.v2.ListJobTriggersResponse
17384	(*DeleteJobTriggerRequest)(nil),                           // 108: google.privacy.dlp.v2.DeleteJobTriggerRequest
17385	(*InspectJobConfig)(nil),                                  // 109: google.privacy.dlp.v2.InspectJobConfig
17386	(*DlpJob)(nil),                                            // 110: google.privacy.dlp.v2.DlpJob
17387	(*GetDlpJobRequest)(nil),                                  // 111: google.privacy.dlp.v2.GetDlpJobRequest
17388	(*ListDlpJobsRequest)(nil),                                // 112: google.privacy.dlp.v2.ListDlpJobsRequest
17389	(*ListDlpJobsResponse)(nil),                               // 113: google.privacy.dlp.v2.ListDlpJobsResponse
17390	(*CancelDlpJobRequest)(nil),                               // 114: google.privacy.dlp.v2.CancelDlpJobRequest
17391	(*FinishDlpJobRequest)(nil),                               // 115: google.privacy.dlp.v2.FinishDlpJobRequest
17392	(*DeleteDlpJobRequest)(nil),                               // 116: google.privacy.dlp.v2.DeleteDlpJobRequest
17393	(*CreateDeidentifyTemplateRequest)(nil),                   // 117: google.privacy.dlp.v2.CreateDeidentifyTemplateRequest
17394	(*UpdateDeidentifyTemplateRequest)(nil),                   // 118: google.privacy.dlp.v2.UpdateDeidentifyTemplateRequest
17395	(*GetDeidentifyTemplateRequest)(nil),                      // 119: google.privacy.dlp.v2.GetDeidentifyTemplateRequest
17396	(*ListDeidentifyTemplatesRequest)(nil),                    // 120: google.privacy.dlp.v2.ListDeidentifyTemplatesRequest
17397	(*ListDeidentifyTemplatesResponse)(nil),                   // 121: google.privacy.dlp.v2.ListDeidentifyTemplatesResponse
17398	(*DeleteDeidentifyTemplateRequest)(nil),                   // 122: google.privacy.dlp.v2.DeleteDeidentifyTemplateRequest
17399	(*LargeCustomDictionaryConfig)(nil),                       // 123: google.privacy.dlp.v2.LargeCustomDictionaryConfig
17400	(*LargeCustomDictionaryStats)(nil),                        // 124: google.privacy.dlp.v2.LargeCustomDictionaryStats
17401	(*StoredInfoTypeConfig)(nil),                              // 125: google.privacy.dlp.v2.StoredInfoTypeConfig
17402	(*StoredInfoTypeStats)(nil),                               // 126: google.privacy.dlp.v2.StoredInfoTypeStats
17403	(*StoredInfoTypeVersion)(nil),                             // 127: google.privacy.dlp.v2.StoredInfoTypeVersion
17404	(*StoredInfoType)(nil),                                    // 128: google.privacy.dlp.v2.StoredInfoType
17405	(*CreateStoredInfoTypeRequest)(nil),                       // 129: google.privacy.dlp.v2.CreateStoredInfoTypeRequest
17406	(*UpdateStoredInfoTypeRequest)(nil),                       // 130: google.privacy.dlp.v2.UpdateStoredInfoTypeRequest
17407	(*GetStoredInfoTypeRequest)(nil),                          // 131: google.privacy.dlp.v2.GetStoredInfoTypeRequest
17408	(*ListStoredInfoTypesRequest)(nil),                        // 132: google.privacy.dlp.v2.ListStoredInfoTypesRequest
17409	(*ListStoredInfoTypesResponse)(nil),                       // 133: google.privacy.dlp.v2.ListStoredInfoTypesResponse
17410	(*DeleteStoredInfoTypeRequest)(nil),                       // 134: google.privacy.dlp.v2.DeleteStoredInfoTypeRequest
17411	(*HybridInspectJobTriggerRequest)(nil),                    // 135: google.privacy.dlp.v2.HybridInspectJobTriggerRequest
17412	(*HybridInspectDlpJobRequest)(nil),                        // 136: google.privacy.dlp.v2.HybridInspectDlpJobRequest
17413	(*HybridContentItem)(nil),                                 // 137: google.privacy.dlp.v2.HybridContentItem
17414	(*HybridFindingDetails)(nil),                              // 138: google.privacy.dlp.v2.HybridFindingDetails
17415	(*HybridInspectResponse)(nil),                             // 139: google.privacy.dlp.v2.HybridInspectResponse
17416	(*InspectConfig_FindingLimits)(nil),                       // 140: google.privacy.dlp.v2.InspectConfig.FindingLimits
17417	(*InspectConfig_FindingLimits_InfoTypeLimit)(nil),         // 141: google.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit
17418	(*Table_Row)(nil),                                         // 142: google.privacy.dlp.v2.Table.Row
17419	nil,                                                       // 143: google.privacy.dlp.v2.Finding.LabelsEntry
17420	(*RedactImageRequest_ImageRedactionConfig)(nil),           // 144: google.privacy.dlp.v2.RedactImageRequest.ImageRedactionConfig
17421	(*InspectDataSourceDetails_RequestedOptions)(nil),         // 145: google.privacy.dlp.v2.InspectDataSourceDetails.RequestedOptions
17422	(*InspectDataSourceDetails_Result)(nil),                   // 146: google.privacy.dlp.v2.InspectDataSourceDetails.Result
17423	(*StatisticalTable_QuasiIdentifierField)(nil),             // 147: google.privacy.dlp.v2.StatisticalTable.QuasiIdentifierField
17424	(*PrivacyMetric_NumericalStatsConfig)(nil),                // 148: google.privacy.dlp.v2.PrivacyMetric.NumericalStatsConfig
17425	(*PrivacyMetric_CategoricalStatsConfig)(nil),              // 149: google.privacy.dlp.v2.PrivacyMetric.CategoricalStatsConfig
17426	(*PrivacyMetric_KAnonymityConfig)(nil),                    // 150: google.privacy.dlp.v2.PrivacyMetric.KAnonymityConfig
17427	(*PrivacyMetric_LDiversityConfig)(nil),                    // 151: google.privacy.dlp.v2.PrivacyMetric.LDiversityConfig
17428	(*PrivacyMetric_KMapEstimationConfig)(nil),                // 152: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig
17429	(*PrivacyMetric_DeltaPresenceEstimationConfig)(nil),       // 153: google.privacy.dlp.v2.PrivacyMetric.DeltaPresenceEstimationConfig
17430	(*PrivacyMetric_KMapEstimationConfig_TaggedField)(nil),    // 154: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.TaggedField
17431	(*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable)(nil), // 155: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable
17432	(*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField)(nil),                                    // 156: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable.QuasiIdField
17433	(*AnalyzeDataSourceRiskDetails_NumericalStatsResult)(nil),                                                 // 157: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.NumericalStatsResult
17434	(*AnalyzeDataSourceRiskDetails_CategoricalStatsResult)(nil),                                               // 158: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.CategoricalStatsResult
17435	(*AnalyzeDataSourceRiskDetails_KAnonymityResult)(nil),                                                     // 159: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult
17436	(*AnalyzeDataSourceRiskDetails_LDiversityResult)(nil),                                                     // 160: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult
17437	(*AnalyzeDataSourceRiskDetails_KMapEstimationResult)(nil),                                                 // 161: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult
17438	(*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult)(nil),                                        // 162: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult
17439	(*AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket)(nil),               // 163: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.CategoricalStatsResult.CategoricalStatsHistogramBucket
17440	(*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass)(nil),                          // 164: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.KAnonymityEquivalenceClass
17441	(*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket)(nil),                           // 165: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.KAnonymityHistogramBucket
17442	(*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass)(nil),                          // 166: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.LDiversityEquivalenceClass
17443	(*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket)(nil),                           // 167: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.LDiversityHistogramBucket
17444	(*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues)(nil),                     // 168: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.KMapEstimationQuasiIdValues
17445	(*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket)(nil),                   // 169: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.KMapEstimationHistogramBucket
17446	(*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues)(nil),   // 170: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.DeltaPresenceEstimationQuasiIdValues
17447	(*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket)(nil), // 171: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.DeltaPresenceEstimationHistogramBucket
17448	(*DateTime_TimeZone)(nil),                              // 172: google.privacy.dlp.v2.DateTime.TimeZone
17449	(*TransformationErrorHandling_ThrowError)(nil),         // 173: google.privacy.dlp.v2.TransformationErrorHandling.ThrowError
17450	(*TransformationErrorHandling_LeaveUntransformed)(nil), // 174: google.privacy.dlp.v2.TransformationErrorHandling.LeaveUntransformed
17451	(*BucketingConfig_Bucket)(nil),                         // 175: google.privacy.dlp.v2.BucketingConfig.Bucket
17452	(*InfoTypeTransformations_InfoTypeTransformation)(nil), // 176: google.privacy.dlp.v2.InfoTypeTransformations.InfoTypeTransformation
17453	(*RecordCondition_Condition)(nil),                      // 177: google.privacy.dlp.v2.RecordCondition.Condition
17454	(*RecordCondition_Conditions)(nil),                     // 178: google.privacy.dlp.v2.RecordCondition.Conditions
17455	(*RecordCondition_Expressions)(nil),                    // 179: google.privacy.dlp.v2.RecordCondition.Expressions
17456	(*TransformationSummary_SummaryResult)(nil),            // 180: google.privacy.dlp.v2.TransformationSummary.SummaryResult
17457	(*JobTrigger_Trigger)(nil),                             // 181: google.privacy.dlp.v2.JobTrigger.Trigger
17458	(*Action_SaveFindings)(nil),                            // 182: google.privacy.dlp.v2.Action.SaveFindings
17459	(*Action_PublishToPubSub)(nil),                         // 183: google.privacy.dlp.v2.Action.PublishToPubSub
17460	(*Action_PublishSummaryToCscc)(nil),                    // 184: google.privacy.dlp.v2.Action.PublishSummaryToCscc
17461	(*Action_PublishFindingsToCloudDataCatalog)(nil),       // 185: google.privacy.dlp.v2.Action.PublishFindingsToCloudDataCatalog
17462	(*Action_JobNotificationEmails)(nil),                   // 186: google.privacy.dlp.v2.Action.JobNotificationEmails
17463	(*Action_PublishToStackdriver)(nil),                    // 187: google.privacy.dlp.v2.Action.PublishToStackdriver
17464	nil,                                                    // 188: google.privacy.dlp.v2.HybridFindingDetails.LabelsEntry
17465	(*InfoType)(nil),                                       // 189: google.privacy.dlp.v2.InfoType
17466	(*CustomInfoType_Dictionary)(nil),                      // 190: google.privacy.dlp.v2.CustomInfoType.Dictionary
17467	(*CustomInfoType_Regex)(nil),                           // 191: google.privacy.dlp.v2.CustomInfoType.Regex
17468	(*CustomInfoType_DetectionRule_HotwordRule)(nil),       // 192: google.privacy.dlp.v2.CustomInfoType.DetectionRule.HotwordRule
17469	(Likelihood)(0),                                        // 193: google.privacy.dlp.v2.Likelihood
17470	(*CustomInfoType)(nil),                                 // 194: google.privacy.dlp.v2.CustomInfoType
17471	(*FieldId)(nil),                                        // 195: google.privacy.dlp.v2.FieldId
17472	(*timestamp.Timestamp)(nil),                            // 196: google.protobuf.Timestamp
17473	(*RecordKey)(nil),                                      // 197: google.privacy.dlp.v2.RecordKey
17474	(*BigQueryTable)(nil),                                  // 198: google.privacy.dlp.v2.BigQueryTable
17475	(*empty.Empty)(nil),                                    // 199: google.protobuf.Empty
17476	(*timeofday.TimeOfDay)(nil),                            // 200: google.type.TimeOfDay
17477	(*date.Date)(nil),                                      // 201: google.type.Date
17478	(dayofweek.DayOfWeek)(0),                               // 202: google.type.DayOfWeek
17479	(*duration.Duration)(nil),                              // 203: google.protobuf.Duration
17480	(*status.Status)(nil),                                  // 204: google.rpc.Status
17481	(*field_mask.FieldMask)(nil),                           // 205: google.protobuf.FieldMask
17482	(*StorageConfig)(nil),                                  // 206: google.privacy.dlp.v2.StorageConfig
17483	(*CloudStoragePath)(nil),                               // 207: google.privacy.dlp.v2.CloudStoragePath
17484	(*CloudStorageFileSet)(nil),                            // 208: google.privacy.dlp.v2.CloudStorageFileSet
17485	(*BigQueryField)(nil),                                  // 209: google.privacy.dlp.v2.BigQueryField
17486	(*TableOptions)(nil),                                   // 210: google.privacy.dlp.v2.TableOptions
17487	(*EntityId)(nil),                                       // 211: google.privacy.dlp.v2.EntityId
17488}
17489var file_google_privacy_dlp_v2_dlp_proto_depIdxs = []int32{
17490	189, // 0: google.privacy.dlp.v2.ExcludeInfoTypes.info_types:type_name -> google.privacy.dlp.v2.InfoType
17491	190, // 1: google.privacy.dlp.v2.ExclusionRule.dictionary:type_name -> google.privacy.dlp.v2.CustomInfoType.Dictionary
17492	191, // 2: google.privacy.dlp.v2.ExclusionRule.regex:type_name -> google.privacy.dlp.v2.CustomInfoType.Regex
17493	16,  // 3: google.privacy.dlp.v2.ExclusionRule.exclude_info_types:type_name -> google.privacy.dlp.v2.ExcludeInfoTypes
17494	1,   // 4: google.privacy.dlp.v2.ExclusionRule.matching_type:type_name -> google.privacy.dlp.v2.MatchingType
17495	192, // 5: google.privacy.dlp.v2.InspectionRule.hotword_rule:type_name -> google.privacy.dlp.v2.CustomInfoType.DetectionRule.HotwordRule
17496	17,  // 6: google.privacy.dlp.v2.InspectionRule.exclusion_rule:type_name -> google.privacy.dlp.v2.ExclusionRule
17497	189, // 7: google.privacy.dlp.v2.InspectionRuleSet.info_types:type_name -> google.privacy.dlp.v2.InfoType
17498	18,  // 8: google.privacy.dlp.v2.InspectionRuleSet.rules:type_name -> google.privacy.dlp.v2.InspectionRule
17499	189, // 9: google.privacy.dlp.v2.InspectConfig.info_types:type_name -> google.privacy.dlp.v2.InfoType
17500	193, // 10: google.privacy.dlp.v2.InspectConfig.min_likelihood:type_name -> google.privacy.dlp.v2.Likelihood
17501	140, // 11: google.privacy.dlp.v2.InspectConfig.limits:type_name -> google.privacy.dlp.v2.InspectConfig.FindingLimits
17502	194, // 12: google.privacy.dlp.v2.InspectConfig.custom_info_types:type_name -> google.privacy.dlp.v2.CustomInfoType
17503	2,   // 13: google.privacy.dlp.v2.InspectConfig.content_options:type_name -> google.privacy.dlp.v2.ContentOption
17504	19,  // 14: google.privacy.dlp.v2.InspectConfig.rule_set:type_name -> google.privacy.dlp.v2.InspectionRuleSet
17505	7,   // 15: google.privacy.dlp.v2.ByteContentItem.type:type_name -> google.privacy.dlp.v2.ByteContentItem.BytesType
17506	23,  // 16: google.privacy.dlp.v2.ContentItem.table:type_name -> google.privacy.dlp.v2.Table
17507	21,  // 17: google.privacy.dlp.v2.ContentItem.byte_item:type_name -> google.privacy.dlp.v2.ByteContentItem
17508	195, // 18: google.privacy.dlp.v2.Table.headers:type_name -> google.privacy.dlp.v2.FieldId
17509	142, // 19: google.privacy.dlp.v2.Table.rows:type_name -> google.privacy.dlp.v2.Table.Row
17510	25,  // 20: google.privacy.dlp.v2.InspectResult.findings:type_name -> google.privacy.dlp.v2.Finding
17511	189, // 21: google.privacy.dlp.v2.Finding.info_type:type_name -> google.privacy.dlp.v2.InfoType
17512	193, // 22: google.privacy.dlp.v2.Finding.likelihood:type_name -> google.privacy.dlp.v2.Likelihood
17513	26,  // 23: google.privacy.dlp.v2.Finding.location:type_name -> google.privacy.dlp.v2.Location
17514	196, // 24: google.privacy.dlp.v2.Finding.create_time:type_name -> google.protobuf.Timestamp
17515	60,  // 25: google.privacy.dlp.v2.Finding.quote_info:type_name -> google.privacy.dlp.v2.QuoteInfo
17516	143, // 26: google.privacy.dlp.v2.Finding.labels:type_name -> google.privacy.dlp.v2.Finding.LabelsEntry
17517	196, // 27: google.privacy.dlp.v2.Finding.job_create_time:type_name -> google.protobuf.Timestamp
17518	34,  // 28: google.privacy.dlp.v2.Location.byte_range:type_name -> google.privacy.dlp.v2.Range
17519	34,  // 29: google.privacy.dlp.v2.Location.codepoint_range:type_name -> google.privacy.dlp.v2.Range
17520	27,  // 30: google.privacy.dlp.v2.Location.content_locations:type_name -> google.privacy.dlp.v2.ContentLocation
17521	33,  // 31: google.privacy.dlp.v2.Location.container:type_name -> google.privacy.dlp.v2.Container
17522	31,  // 32: google.privacy.dlp.v2.ContentLocation.record_location:type_name -> google.privacy.dlp.v2.RecordLocation
17523	35,  // 33: google.privacy.dlp.v2.ContentLocation.image_location:type_name -> google.privacy.dlp.v2.ImageLocation
17524	30,  // 34: google.privacy.dlp.v2.ContentLocation.document_location:type_name -> google.privacy.dlp.v2.DocumentLocation
17525	28,  // 35: google.privacy.dlp.v2.ContentLocation.metadata_location:type_name -> google.privacy.dlp.v2.MetadataLocation
17526	196, // 36: google.privacy.dlp.v2.ContentLocation.container_timestamp:type_name -> google.protobuf.Timestamp
17527	3,   // 37: google.privacy.dlp.v2.MetadataLocation.type:type_name -> google.privacy.dlp.v2.MetadataType
17528	29,  // 38: google.privacy.dlp.v2.MetadataLocation.storage_label:type_name -> google.privacy.dlp.v2.StorageMetadataLabel
17529	197, // 39: google.privacy.dlp.v2.RecordLocation.record_key:type_name -> google.privacy.dlp.v2.RecordKey
17530	195, // 40: google.privacy.dlp.v2.RecordLocation.field_id:type_name -> google.privacy.dlp.v2.FieldId
17531	32,  // 41: google.privacy.dlp.v2.RecordLocation.table_location:type_name -> google.privacy.dlp.v2.TableLocation
17532	196, // 42: google.privacy.dlp.v2.Container.update_time:type_name -> google.protobuf.Timestamp
17533	36,  // 43: google.privacy.dlp.v2.ImageLocation.bounding_boxes:type_name -> google.privacy.dlp.v2.BoundingBox
17534	20,  // 44: google.privacy.dlp.v2.RedactImageRequest.inspect_config:type_name -> google.privacy.dlp.v2.InspectConfig
17535	144, // 45: google.privacy.dlp.v2.RedactImageRequest.image_redaction_configs:type_name -> google.privacy.dlp.v2.RedactImageRequest.ImageRedactionConfig
17536	21,  // 46: google.privacy.dlp.v2.RedactImageRequest.byte_item:type_name -> google.privacy.dlp.v2.ByteContentItem
17537	24,  // 47: google.privacy.dlp.v2.RedactImageResponse.inspect_result:type_name -> google.privacy.dlp.v2.InspectResult
17538	62,  // 48: google.privacy.dlp.v2.DeidentifyContentRequest.deidentify_config:type_name -> google.privacy.dlp.v2.DeidentifyConfig
17539	20,  // 49: google.privacy.dlp.v2.DeidentifyContentRequest.inspect_config:type_name -> google.privacy.dlp.v2.InspectConfig
17540	22,  // 50: google.privacy.dlp.v2.DeidentifyContentRequest.item:type_name -> google.privacy.dlp.v2.ContentItem
17541	22,  // 51: google.privacy.dlp.v2.DeidentifyContentResponse.item:type_name -> google.privacy.dlp.v2.ContentItem
17542	86,  // 52: google.privacy.dlp.v2.DeidentifyContentResponse.overview:type_name -> google.privacy.dlp.v2.TransformationOverview
17543	62,  // 53: google.privacy.dlp.v2.ReidentifyContentRequest.reidentify_config:type_name -> google.privacy.dlp.v2.DeidentifyConfig
17544	20,  // 54: google.privacy.dlp.v2.ReidentifyContentRequest.inspect_config:type_name -> google.privacy.dlp.v2.InspectConfig
17545	22,  // 55: google.privacy.dlp.v2.ReidentifyContentRequest.item:type_name -> google.privacy.dlp.v2.ContentItem
17546	22,  // 56: google.privacy.dlp.v2.ReidentifyContentResponse.item:type_name -> google.privacy.dlp.v2.ContentItem
17547	86,  // 57: google.privacy.dlp.v2.ReidentifyContentResponse.overview:type_name -> google.privacy.dlp.v2.TransformationOverview
17548	20,  // 58: google.privacy.dlp.v2.InspectContentRequest.inspect_config:type_name -> google.privacy.dlp.v2.InspectConfig
17549	22,  // 59: google.privacy.dlp.v2.InspectContentRequest.item:type_name -> google.privacy.dlp.v2.ContentItem
17550	24,  // 60: google.privacy.dlp.v2.InspectContentResponse.result:type_name -> google.privacy.dlp.v2.InspectResult
17551	198, // 61: google.privacy.dlp.v2.OutputStorageConfig.table:type_name -> google.privacy.dlp.v2.BigQueryTable
17552	8,   // 62: google.privacy.dlp.v2.OutputStorageConfig.output_schema:type_name -> google.privacy.dlp.v2.OutputStorageConfig.OutputSchema
17553	189, // 63: google.privacy.dlp.v2.InfoTypeStats.info_type:type_name -> google.privacy.dlp.v2.InfoType
17554	145, // 64: google.privacy.dlp.v2.InspectDataSourceDetails.requested_options:type_name -> google.privacy.dlp.v2.InspectDataSourceDetails.RequestedOptions
17555	146, // 65: google.privacy.dlp.v2.InspectDataSourceDetails.result:type_name -> google.privacy.dlp.v2.InspectDataSourceDetails.Result
17556	4,   // 66: google.privacy.dlp.v2.InfoTypeDescription.supported_by:type_name -> google.privacy.dlp.v2.InfoTypeSupportedBy
17557	50,  // 67: google.privacy.dlp.v2.ListInfoTypesResponse.info_types:type_name -> google.privacy.dlp.v2.InfoTypeDescription
17558	56,  // 68: google.privacy.dlp.v2.RiskAnalysisJobConfig.privacy_metric:type_name -> google.privacy.dlp.v2.PrivacyMetric
17559	198, // 69: google.privacy.dlp.v2.RiskAnalysisJobConfig.source_table:type_name -> google.privacy.dlp.v2.BigQueryTable
17560	94,  // 70: google.privacy.dlp.v2.RiskAnalysisJobConfig.actions:type_name -> google.privacy.dlp.v2.Action
17561	195, // 71: google.privacy.dlp.v2.QuasiId.field:type_name -> google.privacy.dlp.v2.FieldId
17562	189, // 72: google.privacy.dlp.v2.QuasiId.info_type:type_name -> google.privacy.dlp.v2.InfoType
17563	199, // 73: google.privacy.dlp.v2.QuasiId.inferred:type_name -> google.protobuf.Empty
17564	198, // 74: google.privacy.dlp.v2.StatisticalTable.table:type_name -> google.privacy.dlp.v2.BigQueryTable
17565	147, // 75: google.privacy.dlp.v2.StatisticalTable.quasi_ids:type_name -> google.privacy.dlp.v2.StatisticalTable.QuasiIdentifierField
17566	195, // 76: google.privacy.dlp.v2.StatisticalTable.relative_frequency:type_name -> google.privacy.dlp.v2.FieldId
17567	148, // 77: google.privacy.dlp.v2.PrivacyMetric.numerical_stats_config:type_name -> google.privacy.dlp.v2.PrivacyMetric.NumericalStatsConfig
17568	149, // 78: google.privacy.dlp.v2.PrivacyMetric.categorical_stats_config:type_name -> google.privacy.dlp.v2.PrivacyMetric.CategoricalStatsConfig
17569	150, // 79: google.privacy.dlp.v2.PrivacyMetric.k_anonymity_config:type_name -> google.privacy.dlp.v2.PrivacyMetric.KAnonymityConfig
17570	151, // 80: google.privacy.dlp.v2.PrivacyMetric.l_diversity_config:type_name -> google.privacy.dlp.v2.PrivacyMetric.LDiversityConfig
17571	152, // 81: google.privacy.dlp.v2.PrivacyMetric.k_map_estimation_config:type_name -> google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig
17572	153, // 82: google.privacy.dlp.v2.PrivacyMetric.delta_presence_estimation_config:type_name -> google.privacy.dlp.v2.PrivacyMetric.DeltaPresenceEstimationConfig
17573	56,  // 83: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.requested_privacy_metric:type_name -> google.privacy.dlp.v2.PrivacyMetric
17574	198, // 84: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.requested_source_table:type_name -> google.privacy.dlp.v2.BigQueryTable
17575	157, // 85: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.numerical_stats_result:type_name -> google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.NumericalStatsResult
17576	158, // 86: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.categorical_stats_result:type_name -> google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.CategoricalStatsResult
17577	159, // 87: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.k_anonymity_result:type_name -> google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult
17578	160, // 88: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.l_diversity_result:type_name -> google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult
17579	161, // 89: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.k_map_estimation_result:type_name -> google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult
17580	162, // 90: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.delta_presence_estimation_result:type_name -> google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult
17581	59,  // 91: google.privacy.dlp.v2.ValueFrequency.value:type_name -> google.privacy.dlp.v2.Value
17582	196, // 92: google.privacy.dlp.v2.Value.timestamp_value:type_name -> google.protobuf.Timestamp
17583	200, // 93: google.privacy.dlp.v2.Value.time_value:type_name -> google.type.TimeOfDay
17584	201, // 94: google.privacy.dlp.v2.Value.date_value:type_name -> google.type.Date
17585	202, // 95: google.privacy.dlp.v2.Value.day_of_week_value:type_name -> google.type.DayOfWeek
17586	61,  // 96: google.privacy.dlp.v2.QuoteInfo.date_time:type_name -> google.privacy.dlp.v2.DateTime
17587	201, // 97: google.privacy.dlp.v2.DateTime.date:type_name -> google.type.Date
17588	202, // 98: google.privacy.dlp.v2.DateTime.day_of_week:type_name -> google.type.DayOfWeek
17589	200, // 99: google.privacy.dlp.v2.DateTime.time:type_name -> google.type.TimeOfDay
17590	172, // 100: google.privacy.dlp.v2.DateTime.time_zone:type_name -> google.privacy.dlp.v2.DateTime.TimeZone
17591	81,  // 101: google.privacy.dlp.v2.DeidentifyConfig.info_type_transformations:type_name -> google.privacy.dlp.v2.InfoTypeTransformations
17592	83,  // 102: google.privacy.dlp.v2.DeidentifyConfig.record_transformations:type_name -> google.privacy.dlp.v2.RecordTransformations
17593	63,  // 103: google.privacy.dlp.v2.DeidentifyConfig.transformation_error_handling:type_name -> google.privacy.dlp.v2.TransformationErrorHandling
17594	173, // 104: google.privacy.dlp.v2.TransformationErrorHandling.throw_error:type_name -> google.privacy.dlp.v2.TransformationErrorHandling.ThrowError
17595	174, // 105: google.privacy.dlp.v2.TransformationErrorHandling.leave_untransformed:type_name -> google.privacy.dlp.v2.TransformationErrorHandling.LeaveUntransformed
17596	68,  // 106: google.privacy.dlp.v2.PrimitiveTransformation.replace_config:type_name -> google.privacy.dlp.v2.ReplaceValueConfig
17597	70,  // 107: google.privacy.dlp.v2.PrimitiveTransformation.redact_config:type_name -> google.privacy.dlp.v2.RedactConfig
17598	72,  // 108: google.privacy.dlp.v2.PrimitiveTransformation.character_mask_config:type_name -> google.privacy.dlp.v2.CharacterMaskConfig
17599	75,  // 109: google.privacy.dlp.v2.PrimitiveTransformation.crypto_replace_ffx_fpe_config:type_name -> google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig
17600	73,  // 110: google.privacy.dlp.v2.PrimitiveTransformation.fixed_size_bucketing_config:type_name -> google.privacy.dlp.v2.FixedSizeBucketingConfig
17601	74,  // 111: google.privacy.dlp.v2.PrimitiveTransformation.bucketing_config:type_name -> google.privacy.dlp.v2.BucketingConfig
17602	69,  // 112: google.privacy.dlp.v2.PrimitiveTransformation.replace_with_info_type_config:type_name -> google.privacy.dlp.v2.ReplaceWithInfoTypeConfig
17603	65,  // 113: google.privacy.dlp.v2.PrimitiveTransformation.time_part_config:type_name -> google.privacy.dlp.v2.TimePartConfig
17604	66,  // 114: google.privacy.dlp.v2.PrimitiveTransformation.crypto_hash_config:type_name -> google.privacy.dlp.v2.CryptoHashConfig
17605	80,  // 115: google.privacy.dlp.v2.PrimitiveTransformation.date_shift_config:type_name -> google.privacy.dlp.v2.DateShiftConfig
17606	67,  // 116: google.privacy.dlp.v2.PrimitiveTransformation.crypto_deterministic_config:type_name -> google.privacy.dlp.v2.CryptoDeterministicConfig
17607	9,   // 117: google.privacy.dlp.v2.TimePartConfig.part_to_extract:type_name -> google.privacy.dlp.v2.TimePartConfig.TimePart
17608	76,  // 118: google.privacy.dlp.v2.CryptoHashConfig.crypto_key:type_name -> google.privacy.dlp.v2.CryptoKey
17609	76,  // 119: google.privacy.dlp.v2.CryptoDeterministicConfig.crypto_key:type_name -> google.privacy.dlp.v2.CryptoKey
17610	189, // 120: google.privacy.dlp.v2.CryptoDeterministicConfig.surrogate_info_type:type_name -> google.privacy.dlp.v2.InfoType
17611	195, // 121: google.privacy.dlp.v2.CryptoDeterministicConfig.context:type_name -> google.privacy.dlp.v2.FieldId
17612	59,  // 122: google.privacy.dlp.v2.ReplaceValueConfig.new_value:type_name -> google.privacy.dlp.v2.Value
17613	10,  // 123: google.privacy.dlp.v2.CharsToIgnore.common_characters_to_ignore:type_name -> google.privacy.dlp.v2.CharsToIgnore.CommonCharsToIgnore
17614	71,  // 124: google.privacy.dlp.v2.CharacterMaskConfig.characters_to_ignore:type_name -> google.privacy.dlp.v2.CharsToIgnore
17615	59,  // 125: google.privacy.dlp.v2.FixedSizeBucketingConfig.lower_bound:type_name -> google.privacy.dlp.v2.Value
17616	59,  // 126: google.privacy.dlp.v2.FixedSizeBucketingConfig.upper_bound:type_name -> google.privacy.dlp.v2.Value
17617	175, // 127: google.privacy.dlp.v2.BucketingConfig.buckets:type_name -> google.privacy.dlp.v2.BucketingConfig.Bucket
17618	76,  // 128: google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig.crypto_key:type_name -> google.privacy.dlp.v2.CryptoKey
17619	195, // 129: google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig.context:type_name -> google.privacy.dlp.v2.FieldId
17620	11,  // 130: google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig.common_alphabet:type_name -> google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig.FfxCommonNativeAlphabet
17621	189, // 131: google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig.surrogate_info_type:type_name -> google.privacy.dlp.v2.InfoType
17622	77,  // 132: google.privacy.dlp.v2.CryptoKey.transient:type_name -> google.privacy.dlp.v2.TransientCryptoKey
17623	78,  // 133: google.privacy.dlp.v2.CryptoKey.unwrapped:type_name -> google.privacy.dlp.v2.UnwrappedCryptoKey
17624	79,  // 134: google.privacy.dlp.v2.CryptoKey.kms_wrapped:type_name -> google.privacy.dlp.v2.KmsWrappedCryptoKey
17625	195, // 135: google.privacy.dlp.v2.DateShiftConfig.context:type_name -> google.privacy.dlp.v2.FieldId
17626	76,  // 136: google.privacy.dlp.v2.DateShiftConfig.crypto_key:type_name -> google.privacy.dlp.v2.CryptoKey
17627	176, // 137: google.privacy.dlp.v2.InfoTypeTransformations.transformations:type_name -> google.privacy.dlp.v2.InfoTypeTransformations.InfoTypeTransformation
17628	195, // 138: google.privacy.dlp.v2.FieldTransformation.fields:type_name -> google.privacy.dlp.v2.FieldId
17629	85,  // 139: google.privacy.dlp.v2.FieldTransformation.condition:type_name -> google.privacy.dlp.v2.RecordCondition
17630	64,  // 140: google.privacy.dlp.v2.FieldTransformation.primitive_transformation:type_name -> google.privacy.dlp.v2.PrimitiveTransformation
17631	81,  // 141: google.privacy.dlp.v2.FieldTransformation.info_type_transformations:type_name -> google.privacy.dlp.v2.InfoTypeTransformations
17632	82,  // 142: google.privacy.dlp.v2.RecordTransformations.field_transformations:type_name -> google.privacy.dlp.v2.FieldTransformation
17633	84,  // 143: google.privacy.dlp.v2.RecordTransformations.record_suppressions:type_name -> google.privacy.dlp.v2.RecordSuppression
17634	85,  // 144: google.privacy.dlp.v2.RecordSuppression.condition:type_name -> google.privacy.dlp.v2.RecordCondition
17635	179, // 145: google.privacy.dlp.v2.RecordCondition.expressions:type_name -> google.privacy.dlp.v2.RecordCondition.Expressions
17636	87,  // 146: google.privacy.dlp.v2.TransformationOverview.transformation_summaries:type_name -> google.privacy.dlp.v2.TransformationSummary
17637	189, // 147: google.privacy.dlp.v2.TransformationSummary.info_type:type_name -> google.privacy.dlp.v2.InfoType
17638	195, // 148: google.privacy.dlp.v2.TransformationSummary.field:type_name -> google.privacy.dlp.v2.FieldId
17639	64,  // 149: google.privacy.dlp.v2.TransformationSummary.transformation:type_name -> google.privacy.dlp.v2.PrimitiveTransformation
17640	82,  // 150: google.privacy.dlp.v2.TransformationSummary.field_transformations:type_name -> google.privacy.dlp.v2.FieldTransformation
17641	84,  // 151: google.privacy.dlp.v2.TransformationSummary.record_suppress:type_name -> google.privacy.dlp.v2.RecordSuppression
17642	180, // 152: google.privacy.dlp.v2.TransformationSummary.results:type_name -> google.privacy.dlp.v2.TransformationSummary.SummaryResult
17643	203, // 153: google.privacy.dlp.v2.Schedule.recurrence_period_duration:type_name -> google.protobuf.Duration
17644	196, // 154: google.privacy.dlp.v2.InspectTemplate.create_time:type_name -> google.protobuf.Timestamp
17645	196, // 155: google.privacy.dlp.v2.InspectTemplate.update_time:type_name -> google.protobuf.Timestamp
17646	20,  // 156: google.privacy.dlp.v2.InspectTemplate.inspect_config:type_name -> google.privacy.dlp.v2.InspectConfig
17647	196, // 157: google.privacy.dlp.v2.DeidentifyTemplate.create_time:type_name -> google.protobuf.Timestamp
17648	196, // 158: google.privacy.dlp.v2.DeidentifyTemplate.update_time:type_name -> google.protobuf.Timestamp
17649	62,  // 159: google.privacy.dlp.v2.DeidentifyTemplate.deidentify_config:type_name -> google.privacy.dlp.v2.DeidentifyConfig
17650	204, // 160: google.privacy.dlp.v2.Error.details:type_name -> google.rpc.Status
17651	196, // 161: google.privacy.dlp.v2.Error.timestamps:type_name -> google.protobuf.Timestamp
17652	109, // 162: google.privacy.dlp.v2.JobTrigger.inspect_job:type_name -> google.privacy.dlp.v2.InspectJobConfig
17653	181, // 163: google.privacy.dlp.v2.JobTrigger.triggers:type_name -> google.privacy.dlp.v2.JobTrigger.Trigger
17654	92,  // 164: google.privacy.dlp.v2.JobTrigger.errors:type_name -> google.privacy.dlp.v2.Error
17655	196, // 165: google.privacy.dlp.v2.JobTrigger.create_time:type_name -> google.protobuf.Timestamp
17656	196, // 166: google.privacy.dlp.v2.JobTrigger.update_time:type_name -> google.protobuf.Timestamp
17657	196, // 167: google.privacy.dlp.v2.JobTrigger.last_run_time:type_name -> google.protobuf.Timestamp
17658	14,  // 168: google.privacy.dlp.v2.JobTrigger.status:type_name -> google.privacy.dlp.v2.JobTrigger.Status
17659	182, // 169: google.privacy.dlp.v2.Action.save_findings:type_name -> google.privacy.dlp.v2.Action.SaveFindings
17660	183, // 170: google.privacy.dlp.v2.Action.pub_sub:type_name -> google.privacy.dlp.v2.Action.PublishToPubSub
17661	184, // 171: google.privacy.dlp.v2.Action.publish_summary_to_cscc:type_name -> google.privacy.dlp.v2.Action.PublishSummaryToCscc
17662	185, // 172: google.privacy.dlp.v2.Action.publish_findings_to_cloud_data_catalog:type_name -> google.privacy.dlp.v2.Action.PublishFindingsToCloudDataCatalog
17663	186, // 173: google.privacy.dlp.v2.Action.job_notification_emails:type_name -> google.privacy.dlp.v2.Action.JobNotificationEmails
17664	187, // 174: google.privacy.dlp.v2.Action.publish_to_stackdriver:type_name -> google.privacy.dlp.v2.Action.PublishToStackdriver
17665	90,  // 175: google.privacy.dlp.v2.CreateInspectTemplateRequest.inspect_template:type_name -> google.privacy.dlp.v2.InspectTemplate
17666	90,  // 176: google.privacy.dlp.v2.UpdateInspectTemplateRequest.inspect_template:type_name -> google.privacy.dlp.v2.InspectTemplate
17667	205, // 177: google.privacy.dlp.v2.UpdateInspectTemplateRequest.update_mask:type_name -> google.protobuf.FieldMask
17668	90,  // 178: google.privacy.dlp.v2.ListInspectTemplatesResponse.inspect_templates:type_name -> google.privacy.dlp.v2.InspectTemplate
17669	93,  // 179: google.privacy.dlp.v2.CreateJobTriggerRequest.job_trigger:type_name -> google.privacy.dlp.v2.JobTrigger
17670	93,  // 180: google.privacy.dlp.v2.UpdateJobTriggerRequest.job_trigger:type_name -> google.privacy.dlp.v2.JobTrigger
17671	205, // 181: google.privacy.dlp.v2.UpdateJobTriggerRequest.update_mask:type_name -> google.protobuf.FieldMask
17672	109, // 182: google.privacy.dlp.v2.CreateDlpJobRequest.inspect_job:type_name -> google.privacy.dlp.v2.InspectJobConfig
17673	53,  // 183: google.privacy.dlp.v2.CreateDlpJobRequest.risk_job:type_name -> google.privacy.dlp.v2.RiskAnalysisJobConfig
17674	93,  // 184: google.privacy.dlp.v2.ListJobTriggersResponse.job_triggers:type_name -> google.privacy.dlp.v2.JobTrigger
17675	206, // 185: google.privacy.dlp.v2.InspectJobConfig.storage_config:type_name -> google.privacy.dlp.v2.StorageConfig
17676	20,  // 186: google.privacy.dlp.v2.InspectJobConfig.inspect_config:type_name -> google.privacy.dlp.v2.InspectConfig
17677	94,  // 187: google.privacy.dlp.v2.InspectJobConfig.actions:type_name -> google.privacy.dlp.v2.Action
17678	5,   // 188: google.privacy.dlp.v2.DlpJob.type:type_name -> google.privacy.dlp.v2.DlpJobType
17679	15,  // 189: google.privacy.dlp.v2.DlpJob.state:type_name -> google.privacy.dlp.v2.DlpJob.JobState
17680	57,  // 190: google.privacy.dlp.v2.DlpJob.risk_details:type_name -> google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails
17681	48,  // 191: google.privacy.dlp.v2.DlpJob.inspect_details:type_name -> google.privacy.dlp.v2.InspectDataSourceDetails
17682	196, // 192: google.privacy.dlp.v2.DlpJob.create_time:type_name -> google.protobuf.Timestamp
17683	196, // 193: google.privacy.dlp.v2.DlpJob.start_time:type_name -> google.protobuf.Timestamp
17684	196, // 194: google.privacy.dlp.v2.DlpJob.end_time:type_name -> google.protobuf.Timestamp
17685	92,  // 195: google.privacy.dlp.v2.DlpJob.errors:type_name -> google.privacy.dlp.v2.Error
17686	5,   // 196: google.privacy.dlp.v2.ListDlpJobsRequest.type:type_name -> google.privacy.dlp.v2.DlpJobType
17687	110, // 197: google.privacy.dlp.v2.ListDlpJobsResponse.jobs:type_name -> google.privacy.dlp.v2.DlpJob
17688	91,  // 198: google.privacy.dlp.v2.CreateDeidentifyTemplateRequest.deidentify_template:type_name -> google.privacy.dlp.v2.DeidentifyTemplate
17689	91,  // 199: google.privacy.dlp.v2.UpdateDeidentifyTemplateRequest.deidentify_template:type_name -> google.privacy.dlp.v2.DeidentifyTemplate
17690	205, // 200: google.privacy.dlp.v2.UpdateDeidentifyTemplateRequest.update_mask:type_name -> google.protobuf.FieldMask
17691	91,  // 201: google.privacy.dlp.v2.ListDeidentifyTemplatesResponse.deidentify_templates:type_name -> google.privacy.dlp.v2.DeidentifyTemplate
17692	207, // 202: google.privacy.dlp.v2.LargeCustomDictionaryConfig.output_path:type_name -> google.privacy.dlp.v2.CloudStoragePath
17693	208, // 203: google.privacy.dlp.v2.LargeCustomDictionaryConfig.cloud_storage_file_set:type_name -> google.privacy.dlp.v2.CloudStorageFileSet
17694	209, // 204: google.privacy.dlp.v2.LargeCustomDictionaryConfig.big_query_field:type_name -> google.privacy.dlp.v2.BigQueryField
17695	123, // 205: google.privacy.dlp.v2.StoredInfoTypeConfig.large_custom_dictionary:type_name -> google.privacy.dlp.v2.LargeCustomDictionaryConfig
17696	190, // 206: google.privacy.dlp.v2.StoredInfoTypeConfig.dictionary:type_name -> google.privacy.dlp.v2.CustomInfoType.Dictionary
17697	191, // 207: google.privacy.dlp.v2.StoredInfoTypeConfig.regex:type_name -> google.privacy.dlp.v2.CustomInfoType.Regex
17698	124, // 208: google.privacy.dlp.v2.StoredInfoTypeStats.large_custom_dictionary:type_name -> google.privacy.dlp.v2.LargeCustomDictionaryStats
17699	125, // 209: google.privacy.dlp.v2.StoredInfoTypeVersion.config:type_name -> google.privacy.dlp.v2.StoredInfoTypeConfig
17700	196, // 210: google.privacy.dlp.v2.StoredInfoTypeVersion.create_time:type_name -> google.protobuf.Timestamp
17701	6,   // 211: google.privacy.dlp.v2.StoredInfoTypeVersion.state:type_name -> google.privacy.dlp.v2.StoredInfoTypeState
17702	92,  // 212: google.privacy.dlp.v2.StoredInfoTypeVersion.errors:type_name -> google.privacy.dlp.v2.Error
17703	126, // 213: google.privacy.dlp.v2.StoredInfoTypeVersion.stats:type_name -> google.privacy.dlp.v2.StoredInfoTypeStats
17704	127, // 214: google.privacy.dlp.v2.StoredInfoType.current_version:type_name -> google.privacy.dlp.v2.StoredInfoTypeVersion
17705	127, // 215: google.privacy.dlp.v2.StoredInfoType.pending_versions:type_name -> google.privacy.dlp.v2.StoredInfoTypeVersion
17706	125, // 216: google.privacy.dlp.v2.CreateStoredInfoTypeRequest.config:type_name -> google.privacy.dlp.v2.StoredInfoTypeConfig
17707	125, // 217: google.privacy.dlp.v2.UpdateStoredInfoTypeRequest.config:type_name -> google.privacy.dlp.v2.StoredInfoTypeConfig
17708	205, // 218: google.privacy.dlp.v2.UpdateStoredInfoTypeRequest.update_mask:type_name -> google.protobuf.FieldMask
17709	128, // 219: google.privacy.dlp.v2.ListStoredInfoTypesResponse.stored_info_types:type_name -> google.privacy.dlp.v2.StoredInfoType
17710	137, // 220: google.privacy.dlp.v2.HybridInspectJobTriggerRequest.hybrid_item:type_name -> google.privacy.dlp.v2.HybridContentItem
17711	137, // 221: google.privacy.dlp.v2.HybridInspectDlpJobRequest.hybrid_item:type_name -> google.privacy.dlp.v2.HybridContentItem
17712	22,  // 222: google.privacy.dlp.v2.HybridContentItem.item:type_name -> google.privacy.dlp.v2.ContentItem
17713	138, // 223: google.privacy.dlp.v2.HybridContentItem.finding_details:type_name -> google.privacy.dlp.v2.HybridFindingDetails
17714	33,  // 224: google.privacy.dlp.v2.HybridFindingDetails.container_details:type_name -> google.privacy.dlp.v2.Container
17715	210, // 225: google.privacy.dlp.v2.HybridFindingDetails.table_options:type_name -> google.privacy.dlp.v2.TableOptions
17716	188, // 226: google.privacy.dlp.v2.HybridFindingDetails.labels:type_name -> google.privacy.dlp.v2.HybridFindingDetails.LabelsEntry
17717	141, // 227: google.privacy.dlp.v2.InspectConfig.FindingLimits.max_findings_per_info_type:type_name -> google.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit
17718	189, // 228: google.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit.info_type:type_name -> google.privacy.dlp.v2.InfoType
17719	59,  // 229: google.privacy.dlp.v2.Table.Row.values:type_name -> google.privacy.dlp.v2.Value
17720	189, // 230: google.privacy.dlp.v2.RedactImageRequest.ImageRedactionConfig.info_type:type_name -> google.privacy.dlp.v2.InfoType
17721	38,  // 231: google.privacy.dlp.v2.RedactImageRequest.ImageRedactionConfig.redaction_color:type_name -> google.privacy.dlp.v2.Color
17722	90,  // 232: google.privacy.dlp.v2.InspectDataSourceDetails.RequestedOptions.snapshot_inspect_template:type_name -> google.privacy.dlp.v2.InspectTemplate
17723	109, // 233: google.privacy.dlp.v2.InspectDataSourceDetails.RequestedOptions.job_config:type_name -> google.privacy.dlp.v2.InspectJobConfig
17724	47,  // 234: google.privacy.dlp.v2.InspectDataSourceDetails.Result.info_type_stats:type_name -> google.privacy.dlp.v2.InfoTypeStats
17725	49,  // 235: google.privacy.dlp.v2.InspectDataSourceDetails.Result.hybrid_stats:type_name -> google.privacy.dlp.v2.HybridInspectStatistics
17726	195, // 236: google.privacy.dlp.v2.StatisticalTable.QuasiIdentifierField.field:type_name -> google.privacy.dlp.v2.FieldId
17727	195, // 237: google.privacy.dlp.v2.PrivacyMetric.NumericalStatsConfig.field:type_name -> google.privacy.dlp.v2.FieldId
17728	195, // 238: google.privacy.dlp.v2.PrivacyMetric.CategoricalStatsConfig.field:type_name -> google.privacy.dlp.v2.FieldId
17729	195, // 239: google.privacy.dlp.v2.PrivacyMetric.KAnonymityConfig.quasi_ids:type_name -> google.privacy.dlp.v2.FieldId
17730	211, // 240: google.privacy.dlp.v2.PrivacyMetric.KAnonymityConfig.entity_id:type_name -> google.privacy.dlp.v2.EntityId
17731	195, // 241: google.privacy.dlp.v2.PrivacyMetric.LDiversityConfig.quasi_ids:type_name -> google.privacy.dlp.v2.FieldId
17732	195, // 242: google.privacy.dlp.v2.PrivacyMetric.LDiversityConfig.sensitive_attribute:type_name -> google.privacy.dlp.v2.FieldId
17733	154, // 243: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.quasi_ids:type_name -> google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.TaggedField
17734	155, // 244: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.auxiliary_tables:type_name -> google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable
17735	54,  // 245: google.privacy.dlp.v2.PrivacyMetric.DeltaPresenceEstimationConfig.quasi_ids:type_name -> google.privacy.dlp.v2.QuasiId
17736	55,  // 246: google.privacy.dlp.v2.PrivacyMetric.DeltaPresenceEstimationConfig.auxiliary_tables:type_name -> google.privacy.dlp.v2.StatisticalTable
17737	195, // 247: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.TaggedField.field:type_name -> google.privacy.dlp.v2.FieldId
17738	189, // 248: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.TaggedField.info_type:type_name -> google.privacy.dlp.v2.InfoType
17739	199, // 249: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.TaggedField.inferred:type_name -> google.protobuf.Empty
17740	198, // 250: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable.table:type_name -> google.privacy.dlp.v2.BigQueryTable
17741	156, // 251: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable.quasi_ids:type_name -> google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable.QuasiIdField
17742	195, // 252: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable.relative_frequency:type_name -> google.privacy.dlp.v2.FieldId
17743	195, // 253: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable.QuasiIdField.field:type_name -> google.privacy.dlp.v2.FieldId
17744	59,  // 254: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.NumericalStatsResult.min_value:type_name -> google.privacy.dlp.v2.Value
17745	59,  // 255: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.NumericalStatsResult.max_value:type_name -> google.privacy.dlp.v2.Value
17746	59,  // 256: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.NumericalStatsResult.quantile_values:type_name -> google.privacy.dlp.v2.Value
17747	163, // 257: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.CategoricalStatsResult.value_frequency_histogram_buckets:type_name -> google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.CategoricalStatsResult.CategoricalStatsHistogramBucket
17748	165, // 258: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.equivalence_class_histogram_buckets:type_name -> google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.KAnonymityHistogramBucket
17749	167, // 259: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.sensitive_value_frequency_histogram_buckets:type_name -> google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.LDiversityHistogramBucket
17750	169, // 260: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.k_map_estimation_histogram:type_name -> google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.KMapEstimationHistogramBucket
17751	171, // 261: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.delta_presence_estimation_histogram:type_name -> google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.DeltaPresenceEstimationHistogramBucket
17752	58,  // 262: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.CategoricalStatsResult.CategoricalStatsHistogramBucket.bucket_values:type_name -> google.privacy.dlp.v2.ValueFrequency
17753	59,  // 263: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.KAnonymityEquivalenceClass.quasi_ids_values:type_name -> google.privacy.dlp.v2.Value
17754	164, // 264: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.KAnonymityHistogramBucket.bucket_values:type_name -> google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.KAnonymityEquivalenceClass
17755	59,  // 265: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.LDiversityEquivalenceClass.quasi_ids_values:type_name -> google.privacy.dlp.v2.Value
17756	58,  // 266: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.LDiversityEquivalenceClass.top_sensitive_values:type_name -> google.privacy.dlp.v2.ValueFrequency
17757	166, // 267: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.LDiversityHistogramBucket.bucket_values:type_name -> google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.LDiversityEquivalenceClass
17758	59,  // 268: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.KMapEstimationQuasiIdValues.quasi_ids_values:type_name -> google.privacy.dlp.v2.Value
17759	168, // 269: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.KMapEstimationHistogramBucket.bucket_values:type_name -> google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.KMapEstimationQuasiIdValues
17760	59,  // 270: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.DeltaPresenceEstimationQuasiIdValues.quasi_ids_values:type_name -> google.privacy.dlp.v2.Value
17761	170, // 271: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.DeltaPresenceEstimationHistogramBucket.bucket_values:type_name -> google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.DeltaPresenceEstimationQuasiIdValues
17762	59,  // 272: google.privacy.dlp.v2.BucketingConfig.Bucket.min:type_name -> google.privacy.dlp.v2.Value
17763	59,  // 273: google.privacy.dlp.v2.BucketingConfig.Bucket.max:type_name -> google.privacy.dlp.v2.Value
17764	59,  // 274: google.privacy.dlp.v2.BucketingConfig.Bucket.replacement_value:type_name -> google.privacy.dlp.v2.Value
17765	189, // 275: google.privacy.dlp.v2.InfoTypeTransformations.InfoTypeTransformation.info_types:type_name -> google.privacy.dlp.v2.InfoType
17766	64,  // 276: google.privacy.dlp.v2.InfoTypeTransformations.InfoTypeTransformation.primitive_transformation:type_name -> google.privacy.dlp.v2.PrimitiveTransformation
17767	195, // 277: google.privacy.dlp.v2.RecordCondition.Condition.field:type_name -> google.privacy.dlp.v2.FieldId
17768	0,   // 278: google.privacy.dlp.v2.RecordCondition.Condition.operator:type_name -> google.privacy.dlp.v2.RelationalOperator
17769	59,  // 279: google.privacy.dlp.v2.RecordCondition.Condition.value:type_name -> google.privacy.dlp.v2.Value
17770	177, // 280: google.privacy.dlp.v2.RecordCondition.Conditions.conditions:type_name -> google.privacy.dlp.v2.RecordCondition.Condition
17771	12,  // 281: google.privacy.dlp.v2.RecordCondition.Expressions.logical_operator:type_name -> google.privacy.dlp.v2.RecordCondition.Expressions.LogicalOperator
17772	178, // 282: google.privacy.dlp.v2.RecordCondition.Expressions.conditions:type_name -> google.privacy.dlp.v2.RecordCondition.Conditions
17773	13,  // 283: google.privacy.dlp.v2.TransformationSummary.SummaryResult.code:type_name -> google.privacy.dlp.v2.TransformationSummary.TransformationResultCode
17774	88,  // 284: google.privacy.dlp.v2.JobTrigger.Trigger.schedule:type_name -> google.privacy.dlp.v2.Schedule
17775	89,  // 285: google.privacy.dlp.v2.JobTrigger.Trigger.manual:type_name -> google.privacy.dlp.v2.Manual
17776	46,  // 286: google.privacy.dlp.v2.Action.SaveFindings.output_config:type_name -> google.privacy.dlp.v2.OutputStorageConfig
17777	44,  // 287: google.privacy.dlp.v2.DlpService.InspectContent:input_type -> google.privacy.dlp.v2.InspectContentRequest
17778	37,  // 288: google.privacy.dlp.v2.DlpService.RedactImage:input_type -> google.privacy.dlp.v2.RedactImageRequest
17779	40,  // 289: google.privacy.dlp.v2.DlpService.DeidentifyContent:input_type -> google.privacy.dlp.v2.DeidentifyContentRequest
17780	42,  // 290: google.privacy.dlp.v2.DlpService.ReidentifyContent:input_type -> google.privacy.dlp.v2.ReidentifyContentRequest
17781	51,  // 291: google.privacy.dlp.v2.DlpService.ListInfoTypes:input_type -> google.privacy.dlp.v2.ListInfoTypesRequest
17782	95,  // 292: google.privacy.dlp.v2.DlpService.CreateInspectTemplate:input_type -> google.privacy.dlp.v2.CreateInspectTemplateRequest
17783	96,  // 293: google.privacy.dlp.v2.DlpService.UpdateInspectTemplate:input_type -> google.privacy.dlp.v2.UpdateInspectTemplateRequest
17784	97,  // 294: google.privacy.dlp.v2.DlpService.GetInspectTemplate:input_type -> google.privacy.dlp.v2.GetInspectTemplateRequest
17785	98,  // 295: google.privacy.dlp.v2.DlpService.ListInspectTemplates:input_type -> google.privacy.dlp.v2.ListInspectTemplatesRequest
17786	100, // 296: google.privacy.dlp.v2.DlpService.DeleteInspectTemplate:input_type -> google.privacy.dlp.v2.DeleteInspectTemplateRequest
17787	117, // 297: google.privacy.dlp.v2.DlpService.CreateDeidentifyTemplate:input_type -> google.privacy.dlp.v2.CreateDeidentifyTemplateRequest
17788	118, // 298: google.privacy.dlp.v2.DlpService.UpdateDeidentifyTemplate:input_type -> google.privacy.dlp.v2.UpdateDeidentifyTemplateRequest
17789	119, // 299: google.privacy.dlp.v2.DlpService.GetDeidentifyTemplate:input_type -> google.privacy.dlp.v2.GetDeidentifyTemplateRequest
17790	120, // 300: google.privacy.dlp.v2.DlpService.ListDeidentifyTemplates:input_type -> google.privacy.dlp.v2.ListDeidentifyTemplatesRequest
17791	122, // 301: google.privacy.dlp.v2.DlpService.DeleteDeidentifyTemplate:input_type -> google.privacy.dlp.v2.DeleteDeidentifyTemplateRequest
17792	101, // 302: google.privacy.dlp.v2.DlpService.CreateJobTrigger:input_type -> google.privacy.dlp.v2.CreateJobTriggerRequest
17793	103, // 303: google.privacy.dlp.v2.DlpService.UpdateJobTrigger:input_type -> google.privacy.dlp.v2.UpdateJobTriggerRequest
17794	135, // 304: google.privacy.dlp.v2.DlpService.HybridInspectJobTrigger:input_type -> google.privacy.dlp.v2.HybridInspectJobTriggerRequest
17795	104, // 305: google.privacy.dlp.v2.DlpService.GetJobTrigger:input_type -> google.privacy.dlp.v2.GetJobTriggerRequest
17796	106, // 306: google.privacy.dlp.v2.DlpService.ListJobTriggers:input_type -> google.privacy.dlp.v2.ListJobTriggersRequest
17797	108, // 307: google.privacy.dlp.v2.DlpService.DeleteJobTrigger:input_type -> google.privacy.dlp.v2.DeleteJobTriggerRequest
17798	102, // 308: google.privacy.dlp.v2.DlpService.ActivateJobTrigger:input_type -> google.privacy.dlp.v2.ActivateJobTriggerRequest
17799	105, // 309: google.privacy.dlp.v2.DlpService.CreateDlpJob:input_type -> google.privacy.dlp.v2.CreateDlpJobRequest
17800	112, // 310: google.privacy.dlp.v2.DlpService.ListDlpJobs:input_type -> google.privacy.dlp.v2.ListDlpJobsRequest
17801	111, // 311: google.privacy.dlp.v2.DlpService.GetDlpJob:input_type -> google.privacy.dlp.v2.GetDlpJobRequest
17802	116, // 312: google.privacy.dlp.v2.DlpService.DeleteDlpJob:input_type -> google.privacy.dlp.v2.DeleteDlpJobRequest
17803	114, // 313: google.privacy.dlp.v2.DlpService.CancelDlpJob:input_type -> google.privacy.dlp.v2.CancelDlpJobRequest
17804	129, // 314: google.privacy.dlp.v2.DlpService.CreateStoredInfoType:input_type -> google.privacy.dlp.v2.CreateStoredInfoTypeRequest
17805	130, // 315: google.privacy.dlp.v2.DlpService.UpdateStoredInfoType:input_type -> google.privacy.dlp.v2.UpdateStoredInfoTypeRequest
17806	131, // 316: google.privacy.dlp.v2.DlpService.GetStoredInfoType:input_type -> google.privacy.dlp.v2.GetStoredInfoTypeRequest
17807	132, // 317: google.privacy.dlp.v2.DlpService.ListStoredInfoTypes:input_type -> google.privacy.dlp.v2.ListStoredInfoTypesRequest
17808	134, // 318: google.privacy.dlp.v2.DlpService.DeleteStoredInfoType:input_type -> google.privacy.dlp.v2.DeleteStoredInfoTypeRequest
17809	136, // 319: google.privacy.dlp.v2.DlpService.HybridInspectDlpJob:input_type -> google.privacy.dlp.v2.HybridInspectDlpJobRequest
17810	115, // 320: google.privacy.dlp.v2.DlpService.FinishDlpJob:input_type -> google.privacy.dlp.v2.FinishDlpJobRequest
17811	45,  // 321: google.privacy.dlp.v2.DlpService.InspectContent:output_type -> google.privacy.dlp.v2.InspectContentResponse
17812	39,  // 322: google.privacy.dlp.v2.DlpService.RedactImage:output_type -> google.privacy.dlp.v2.RedactImageResponse
17813	41,  // 323: google.privacy.dlp.v2.DlpService.DeidentifyContent:output_type -> google.privacy.dlp.v2.DeidentifyContentResponse
17814	43,  // 324: google.privacy.dlp.v2.DlpService.ReidentifyContent:output_type -> google.privacy.dlp.v2.ReidentifyContentResponse
17815	52,  // 325: google.privacy.dlp.v2.DlpService.ListInfoTypes:output_type -> google.privacy.dlp.v2.ListInfoTypesResponse
17816	90,  // 326: google.privacy.dlp.v2.DlpService.CreateInspectTemplate:output_type -> google.privacy.dlp.v2.InspectTemplate
17817	90,  // 327: google.privacy.dlp.v2.DlpService.UpdateInspectTemplate:output_type -> google.privacy.dlp.v2.InspectTemplate
17818	90,  // 328: google.privacy.dlp.v2.DlpService.GetInspectTemplate:output_type -> google.privacy.dlp.v2.InspectTemplate
17819	99,  // 329: google.privacy.dlp.v2.DlpService.ListInspectTemplates:output_type -> google.privacy.dlp.v2.ListInspectTemplatesResponse
17820	199, // 330: google.privacy.dlp.v2.DlpService.DeleteInspectTemplate:output_type -> google.protobuf.Empty
17821	91,  // 331: google.privacy.dlp.v2.DlpService.CreateDeidentifyTemplate:output_type -> google.privacy.dlp.v2.DeidentifyTemplate
17822	91,  // 332: google.privacy.dlp.v2.DlpService.UpdateDeidentifyTemplate:output_type -> google.privacy.dlp.v2.DeidentifyTemplate
17823	91,  // 333: google.privacy.dlp.v2.DlpService.GetDeidentifyTemplate:output_type -> google.privacy.dlp.v2.DeidentifyTemplate
17824	121, // 334: google.privacy.dlp.v2.DlpService.ListDeidentifyTemplates:output_type -> google.privacy.dlp.v2.ListDeidentifyTemplatesResponse
17825	199, // 335: google.privacy.dlp.v2.DlpService.DeleteDeidentifyTemplate:output_type -> google.protobuf.Empty
17826	93,  // 336: google.privacy.dlp.v2.DlpService.CreateJobTrigger:output_type -> google.privacy.dlp.v2.JobTrigger
17827	93,  // 337: google.privacy.dlp.v2.DlpService.UpdateJobTrigger:output_type -> google.privacy.dlp.v2.JobTrigger
17828	139, // 338: google.privacy.dlp.v2.DlpService.HybridInspectJobTrigger:output_type -> google.privacy.dlp.v2.HybridInspectResponse
17829	93,  // 339: google.privacy.dlp.v2.DlpService.GetJobTrigger:output_type -> google.privacy.dlp.v2.JobTrigger
17830	107, // 340: google.privacy.dlp.v2.DlpService.ListJobTriggers:output_type -> google.privacy.dlp.v2.ListJobTriggersResponse
17831	199, // 341: google.privacy.dlp.v2.DlpService.DeleteJobTrigger:output_type -> google.protobuf.Empty
17832	110, // 342: google.privacy.dlp.v2.DlpService.ActivateJobTrigger:output_type -> google.privacy.dlp.v2.DlpJob
17833	110, // 343: google.privacy.dlp.v2.DlpService.CreateDlpJob:output_type -> google.privacy.dlp.v2.DlpJob
17834	113, // 344: google.privacy.dlp.v2.DlpService.ListDlpJobs:output_type -> google.privacy.dlp.v2.ListDlpJobsResponse
17835	110, // 345: google.privacy.dlp.v2.DlpService.GetDlpJob:output_type -> google.privacy.dlp.v2.DlpJob
17836	199, // 346: google.privacy.dlp.v2.DlpService.DeleteDlpJob:output_type -> google.protobuf.Empty
17837	199, // 347: google.privacy.dlp.v2.DlpService.CancelDlpJob:output_type -> google.protobuf.Empty
17838	128, // 348: google.privacy.dlp.v2.DlpService.CreateStoredInfoType:output_type -> google.privacy.dlp.v2.StoredInfoType
17839	128, // 349: google.privacy.dlp.v2.DlpService.UpdateStoredInfoType:output_type -> google.privacy.dlp.v2.StoredInfoType
17840	128, // 350: google.privacy.dlp.v2.DlpService.GetStoredInfoType:output_type -> google.privacy.dlp.v2.StoredInfoType
17841	133, // 351: google.privacy.dlp.v2.DlpService.ListStoredInfoTypes:output_type -> google.privacy.dlp.v2.ListStoredInfoTypesResponse
17842	199, // 352: google.privacy.dlp.v2.DlpService.DeleteStoredInfoType:output_type -> google.protobuf.Empty
17843	139, // 353: google.privacy.dlp.v2.DlpService.HybridInspectDlpJob:output_type -> google.privacy.dlp.v2.HybridInspectResponse
17844	199, // 354: google.privacy.dlp.v2.DlpService.FinishDlpJob:output_type -> google.protobuf.Empty
17845	321, // [321:355] is the sub-list for method output_type
17846	287, // [287:321] is the sub-list for method input_type
17847	287, // [287:287] is the sub-list for extension type_name
17848	287, // [287:287] is the sub-list for extension extendee
17849	0,   // [0:287] is the sub-list for field type_name
17850}
17851
17852func init() { file_google_privacy_dlp_v2_dlp_proto_init() }
17853func file_google_privacy_dlp_v2_dlp_proto_init() {
17854	if File_google_privacy_dlp_v2_dlp_proto != nil {
17855		return
17856	}
17857	file_google_privacy_dlp_v2_storage_proto_init()
17858	if !protoimpl.UnsafeEnabled {
17859		file_google_privacy_dlp_v2_dlp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
17860			switch v := v.(*ExcludeInfoTypes); i {
17861			case 0:
17862				return &v.state
17863			case 1:
17864				return &v.sizeCache
17865			case 2:
17866				return &v.unknownFields
17867			default:
17868				return nil
17869			}
17870		}
17871		file_google_privacy_dlp_v2_dlp_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
17872			switch v := v.(*ExclusionRule); i {
17873			case 0:
17874				return &v.state
17875			case 1:
17876				return &v.sizeCache
17877			case 2:
17878				return &v.unknownFields
17879			default:
17880				return nil
17881			}
17882		}
17883		file_google_privacy_dlp_v2_dlp_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
17884			switch v := v.(*InspectionRule); i {
17885			case 0:
17886				return &v.state
17887			case 1:
17888				return &v.sizeCache
17889			case 2:
17890				return &v.unknownFields
17891			default:
17892				return nil
17893			}
17894		}
17895		file_google_privacy_dlp_v2_dlp_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
17896			switch v := v.(*InspectionRuleSet); i {
17897			case 0:
17898				return &v.state
17899			case 1:
17900				return &v.sizeCache
17901			case 2:
17902				return &v.unknownFields
17903			default:
17904				return nil
17905			}
17906		}
17907		file_google_privacy_dlp_v2_dlp_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
17908			switch v := v.(*InspectConfig); i {
17909			case 0:
17910				return &v.state
17911			case 1:
17912				return &v.sizeCache
17913			case 2:
17914				return &v.unknownFields
17915			default:
17916				return nil
17917			}
17918		}
17919		file_google_privacy_dlp_v2_dlp_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
17920			switch v := v.(*ByteContentItem); i {
17921			case 0:
17922				return &v.state
17923			case 1:
17924				return &v.sizeCache
17925			case 2:
17926				return &v.unknownFields
17927			default:
17928				return nil
17929			}
17930		}
17931		file_google_privacy_dlp_v2_dlp_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
17932			switch v := v.(*ContentItem); i {
17933			case 0:
17934				return &v.state
17935			case 1:
17936				return &v.sizeCache
17937			case 2:
17938				return &v.unknownFields
17939			default:
17940				return nil
17941			}
17942		}
17943		file_google_privacy_dlp_v2_dlp_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
17944			switch v := v.(*Table); i {
17945			case 0:
17946				return &v.state
17947			case 1:
17948				return &v.sizeCache
17949			case 2:
17950				return &v.unknownFields
17951			default:
17952				return nil
17953			}
17954		}
17955		file_google_privacy_dlp_v2_dlp_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
17956			switch v := v.(*InspectResult); i {
17957			case 0:
17958				return &v.state
17959			case 1:
17960				return &v.sizeCache
17961			case 2:
17962				return &v.unknownFields
17963			default:
17964				return nil
17965			}
17966		}
17967		file_google_privacy_dlp_v2_dlp_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
17968			switch v := v.(*Finding); i {
17969			case 0:
17970				return &v.state
17971			case 1:
17972				return &v.sizeCache
17973			case 2:
17974				return &v.unknownFields
17975			default:
17976				return nil
17977			}
17978		}
17979		file_google_privacy_dlp_v2_dlp_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
17980			switch v := v.(*Location); i {
17981			case 0:
17982				return &v.state
17983			case 1:
17984				return &v.sizeCache
17985			case 2:
17986				return &v.unknownFields
17987			default:
17988				return nil
17989			}
17990		}
17991		file_google_privacy_dlp_v2_dlp_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
17992			switch v := v.(*ContentLocation); i {
17993			case 0:
17994				return &v.state
17995			case 1:
17996				return &v.sizeCache
17997			case 2:
17998				return &v.unknownFields
17999			default:
18000				return nil
18001			}
18002		}
18003		file_google_privacy_dlp_v2_dlp_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
18004			switch v := v.(*MetadataLocation); i {
18005			case 0:
18006				return &v.state
18007			case 1:
18008				return &v.sizeCache
18009			case 2:
18010				return &v.unknownFields
18011			default:
18012				return nil
18013			}
18014		}
18015		file_google_privacy_dlp_v2_dlp_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
18016			switch v := v.(*StorageMetadataLabel); i {
18017			case 0:
18018				return &v.state
18019			case 1:
18020				return &v.sizeCache
18021			case 2:
18022				return &v.unknownFields
18023			default:
18024				return nil
18025			}
18026		}
18027		file_google_privacy_dlp_v2_dlp_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
18028			switch v := v.(*DocumentLocation); i {
18029			case 0:
18030				return &v.state
18031			case 1:
18032				return &v.sizeCache
18033			case 2:
18034				return &v.unknownFields
18035			default:
18036				return nil
18037			}
18038		}
18039		file_google_privacy_dlp_v2_dlp_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
18040			switch v := v.(*RecordLocation); i {
18041			case 0:
18042				return &v.state
18043			case 1:
18044				return &v.sizeCache
18045			case 2:
18046				return &v.unknownFields
18047			default:
18048				return nil
18049			}
18050		}
18051		file_google_privacy_dlp_v2_dlp_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
18052			switch v := v.(*TableLocation); i {
18053			case 0:
18054				return &v.state
18055			case 1:
18056				return &v.sizeCache
18057			case 2:
18058				return &v.unknownFields
18059			default:
18060				return nil
18061			}
18062		}
18063		file_google_privacy_dlp_v2_dlp_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
18064			switch v := v.(*Container); i {
18065			case 0:
18066				return &v.state
18067			case 1:
18068				return &v.sizeCache
18069			case 2:
18070				return &v.unknownFields
18071			default:
18072				return nil
18073			}
18074		}
18075		file_google_privacy_dlp_v2_dlp_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
18076			switch v := v.(*Range); i {
18077			case 0:
18078				return &v.state
18079			case 1:
18080				return &v.sizeCache
18081			case 2:
18082				return &v.unknownFields
18083			default:
18084				return nil
18085			}
18086		}
18087		file_google_privacy_dlp_v2_dlp_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
18088			switch v := v.(*ImageLocation); i {
18089			case 0:
18090				return &v.state
18091			case 1:
18092				return &v.sizeCache
18093			case 2:
18094				return &v.unknownFields
18095			default:
18096				return nil
18097			}
18098		}
18099		file_google_privacy_dlp_v2_dlp_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
18100			switch v := v.(*BoundingBox); i {
18101			case 0:
18102				return &v.state
18103			case 1:
18104				return &v.sizeCache
18105			case 2:
18106				return &v.unknownFields
18107			default:
18108				return nil
18109			}
18110		}
18111		file_google_privacy_dlp_v2_dlp_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
18112			switch v := v.(*RedactImageRequest); i {
18113			case 0:
18114				return &v.state
18115			case 1:
18116				return &v.sizeCache
18117			case 2:
18118				return &v.unknownFields
18119			default:
18120				return nil
18121			}
18122		}
18123		file_google_privacy_dlp_v2_dlp_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
18124			switch v := v.(*Color); i {
18125			case 0:
18126				return &v.state
18127			case 1:
18128				return &v.sizeCache
18129			case 2:
18130				return &v.unknownFields
18131			default:
18132				return nil
18133			}
18134		}
18135		file_google_privacy_dlp_v2_dlp_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
18136			switch v := v.(*RedactImageResponse); i {
18137			case 0:
18138				return &v.state
18139			case 1:
18140				return &v.sizeCache
18141			case 2:
18142				return &v.unknownFields
18143			default:
18144				return nil
18145			}
18146		}
18147		file_google_privacy_dlp_v2_dlp_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
18148			switch v := v.(*DeidentifyContentRequest); i {
18149			case 0:
18150				return &v.state
18151			case 1:
18152				return &v.sizeCache
18153			case 2:
18154				return &v.unknownFields
18155			default:
18156				return nil
18157			}
18158		}
18159		file_google_privacy_dlp_v2_dlp_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
18160			switch v := v.(*DeidentifyContentResponse); i {
18161			case 0:
18162				return &v.state
18163			case 1:
18164				return &v.sizeCache
18165			case 2:
18166				return &v.unknownFields
18167			default:
18168				return nil
18169			}
18170		}
18171		file_google_privacy_dlp_v2_dlp_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
18172			switch v := v.(*ReidentifyContentRequest); i {
18173			case 0:
18174				return &v.state
18175			case 1:
18176				return &v.sizeCache
18177			case 2:
18178				return &v.unknownFields
18179			default:
18180				return nil
18181			}
18182		}
18183		file_google_privacy_dlp_v2_dlp_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
18184			switch v := v.(*ReidentifyContentResponse); i {
18185			case 0:
18186				return &v.state
18187			case 1:
18188				return &v.sizeCache
18189			case 2:
18190				return &v.unknownFields
18191			default:
18192				return nil
18193			}
18194		}
18195		file_google_privacy_dlp_v2_dlp_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
18196			switch v := v.(*InspectContentRequest); i {
18197			case 0:
18198				return &v.state
18199			case 1:
18200				return &v.sizeCache
18201			case 2:
18202				return &v.unknownFields
18203			default:
18204				return nil
18205			}
18206		}
18207		file_google_privacy_dlp_v2_dlp_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
18208			switch v := v.(*InspectContentResponse); i {
18209			case 0:
18210				return &v.state
18211			case 1:
18212				return &v.sizeCache
18213			case 2:
18214				return &v.unknownFields
18215			default:
18216				return nil
18217			}
18218		}
18219		file_google_privacy_dlp_v2_dlp_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
18220			switch v := v.(*OutputStorageConfig); i {
18221			case 0:
18222				return &v.state
18223			case 1:
18224				return &v.sizeCache
18225			case 2:
18226				return &v.unknownFields
18227			default:
18228				return nil
18229			}
18230		}
18231		file_google_privacy_dlp_v2_dlp_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
18232			switch v := v.(*InfoTypeStats); i {
18233			case 0:
18234				return &v.state
18235			case 1:
18236				return &v.sizeCache
18237			case 2:
18238				return &v.unknownFields
18239			default:
18240				return nil
18241			}
18242		}
18243		file_google_privacy_dlp_v2_dlp_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
18244			switch v := v.(*InspectDataSourceDetails); i {
18245			case 0:
18246				return &v.state
18247			case 1:
18248				return &v.sizeCache
18249			case 2:
18250				return &v.unknownFields
18251			default:
18252				return nil
18253			}
18254		}
18255		file_google_privacy_dlp_v2_dlp_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
18256			switch v := v.(*HybridInspectStatistics); i {
18257			case 0:
18258				return &v.state
18259			case 1:
18260				return &v.sizeCache
18261			case 2:
18262				return &v.unknownFields
18263			default:
18264				return nil
18265			}
18266		}
18267		file_google_privacy_dlp_v2_dlp_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
18268			switch v := v.(*InfoTypeDescription); i {
18269			case 0:
18270				return &v.state
18271			case 1:
18272				return &v.sizeCache
18273			case 2:
18274				return &v.unknownFields
18275			default:
18276				return nil
18277			}
18278		}
18279		file_google_privacy_dlp_v2_dlp_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
18280			switch v := v.(*ListInfoTypesRequest); i {
18281			case 0:
18282				return &v.state
18283			case 1:
18284				return &v.sizeCache
18285			case 2:
18286				return &v.unknownFields
18287			default:
18288				return nil
18289			}
18290		}
18291		file_google_privacy_dlp_v2_dlp_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
18292			switch v := v.(*ListInfoTypesResponse); i {
18293			case 0:
18294				return &v.state
18295			case 1:
18296				return &v.sizeCache
18297			case 2:
18298				return &v.unknownFields
18299			default:
18300				return nil
18301			}
18302		}
18303		file_google_privacy_dlp_v2_dlp_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
18304			switch v := v.(*RiskAnalysisJobConfig); i {
18305			case 0:
18306				return &v.state
18307			case 1:
18308				return &v.sizeCache
18309			case 2:
18310				return &v.unknownFields
18311			default:
18312				return nil
18313			}
18314		}
18315		file_google_privacy_dlp_v2_dlp_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
18316			switch v := v.(*QuasiId); i {
18317			case 0:
18318				return &v.state
18319			case 1:
18320				return &v.sizeCache
18321			case 2:
18322				return &v.unknownFields
18323			default:
18324				return nil
18325			}
18326		}
18327		file_google_privacy_dlp_v2_dlp_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
18328			switch v := v.(*StatisticalTable); i {
18329			case 0:
18330				return &v.state
18331			case 1:
18332				return &v.sizeCache
18333			case 2:
18334				return &v.unknownFields
18335			default:
18336				return nil
18337			}
18338		}
18339		file_google_privacy_dlp_v2_dlp_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
18340			switch v := v.(*PrivacyMetric); i {
18341			case 0:
18342				return &v.state
18343			case 1:
18344				return &v.sizeCache
18345			case 2:
18346				return &v.unknownFields
18347			default:
18348				return nil
18349			}
18350		}
18351		file_google_privacy_dlp_v2_dlp_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
18352			switch v := v.(*AnalyzeDataSourceRiskDetails); i {
18353			case 0:
18354				return &v.state
18355			case 1:
18356				return &v.sizeCache
18357			case 2:
18358				return &v.unknownFields
18359			default:
18360				return nil
18361			}
18362		}
18363		file_google_privacy_dlp_v2_dlp_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
18364			switch v := v.(*ValueFrequency); i {
18365			case 0:
18366				return &v.state
18367			case 1:
18368				return &v.sizeCache
18369			case 2:
18370				return &v.unknownFields
18371			default:
18372				return nil
18373			}
18374		}
18375		file_google_privacy_dlp_v2_dlp_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
18376			switch v := v.(*Value); i {
18377			case 0:
18378				return &v.state
18379			case 1:
18380				return &v.sizeCache
18381			case 2:
18382				return &v.unknownFields
18383			default:
18384				return nil
18385			}
18386		}
18387		file_google_privacy_dlp_v2_dlp_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
18388			switch v := v.(*QuoteInfo); i {
18389			case 0:
18390				return &v.state
18391			case 1:
18392				return &v.sizeCache
18393			case 2:
18394				return &v.unknownFields
18395			default:
18396				return nil
18397			}
18398		}
18399		file_google_privacy_dlp_v2_dlp_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
18400			switch v := v.(*DateTime); i {
18401			case 0:
18402				return &v.state
18403			case 1:
18404				return &v.sizeCache
18405			case 2:
18406				return &v.unknownFields
18407			default:
18408				return nil
18409			}
18410		}
18411		file_google_privacy_dlp_v2_dlp_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
18412			switch v := v.(*DeidentifyConfig); i {
18413			case 0:
18414				return &v.state
18415			case 1:
18416				return &v.sizeCache
18417			case 2:
18418				return &v.unknownFields
18419			default:
18420				return nil
18421			}
18422		}
18423		file_google_privacy_dlp_v2_dlp_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
18424			switch v := v.(*TransformationErrorHandling); i {
18425			case 0:
18426				return &v.state
18427			case 1:
18428				return &v.sizeCache
18429			case 2:
18430				return &v.unknownFields
18431			default:
18432				return nil
18433			}
18434		}
18435		file_google_privacy_dlp_v2_dlp_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
18436			switch v := v.(*PrimitiveTransformation); i {
18437			case 0:
18438				return &v.state
18439			case 1:
18440				return &v.sizeCache
18441			case 2:
18442				return &v.unknownFields
18443			default:
18444				return nil
18445			}
18446		}
18447		file_google_privacy_dlp_v2_dlp_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
18448			switch v := v.(*TimePartConfig); i {
18449			case 0:
18450				return &v.state
18451			case 1:
18452				return &v.sizeCache
18453			case 2:
18454				return &v.unknownFields
18455			default:
18456				return nil
18457			}
18458		}
18459		file_google_privacy_dlp_v2_dlp_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} {
18460			switch v := v.(*CryptoHashConfig); i {
18461			case 0:
18462				return &v.state
18463			case 1:
18464				return &v.sizeCache
18465			case 2:
18466				return &v.unknownFields
18467			default:
18468				return nil
18469			}
18470		}
18471		file_google_privacy_dlp_v2_dlp_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} {
18472			switch v := v.(*CryptoDeterministicConfig); i {
18473			case 0:
18474				return &v.state
18475			case 1:
18476				return &v.sizeCache
18477			case 2:
18478				return &v.unknownFields
18479			default:
18480				return nil
18481			}
18482		}
18483		file_google_privacy_dlp_v2_dlp_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} {
18484			switch v := v.(*ReplaceValueConfig); i {
18485			case 0:
18486				return &v.state
18487			case 1:
18488				return &v.sizeCache
18489			case 2:
18490				return &v.unknownFields
18491			default:
18492				return nil
18493			}
18494		}
18495		file_google_privacy_dlp_v2_dlp_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} {
18496			switch v := v.(*ReplaceWithInfoTypeConfig); i {
18497			case 0:
18498				return &v.state
18499			case 1:
18500				return &v.sizeCache
18501			case 2:
18502				return &v.unknownFields
18503			default:
18504				return nil
18505			}
18506		}
18507		file_google_privacy_dlp_v2_dlp_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} {
18508			switch v := v.(*RedactConfig); i {
18509			case 0:
18510				return &v.state
18511			case 1:
18512				return &v.sizeCache
18513			case 2:
18514				return &v.unknownFields
18515			default:
18516				return nil
18517			}
18518		}
18519		file_google_privacy_dlp_v2_dlp_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} {
18520			switch v := v.(*CharsToIgnore); i {
18521			case 0:
18522				return &v.state
18523			case 1:
18524				return &v.sizeCache
18525			case 2:
18526				return &v.unknownFields
18527			default:
18528				return nil
18529			}
18530		}
18531		file_google_privacy_dlp_v2_dlp_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} {
18532			switch v := v.(*CharacterMaskConfig); i {
18533			case 0:
18534				return &v.state
18535			case 1:
18536				return &v.sizeCache
18537			case 2:
18538				return &v.unknownFields
18539			default:
18540				return nil
18541			}
18542		}
18543		file_google_privacy_dlp_v2_dlp_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} {
18544			switch v := v.(*FixedSizeBucketingConfig); i {
18545			case 0:
18546				return &v.state
18547			case 1:
18548				return &v.sizeCache
18549			case 2:
18550				return &v.unknownFields
18551			default:
18552				return nil
18553			}
18554		}
18555		file_google_privacy_dlp_v2_dlp_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} {
18556			switch v := v.(*BucketingConfig); i {
18557			case 0:
18558				return &v.state
18559			case 1:
18560				return &v.sizeCache
18561			case 2:
18562				return &v.unknownFields
18563			default:
18564				return nil
18565			}
18566		}
18567		file_google_privacy_dlp_v2_dlp_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} {
18568			switch v := v.(*CryptoReplaceFfxFpeConfig); i {
18569			case 0:
18570				return &v.state
18571			case 1:
18572				return &v.sizeCache
18573			case 2:
18574				return &v.unknownFields
18575			default:
18576				return nil
18577			}
18578		}
18579		file_google_privacy_dlp_v2_dlp_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} {
18580			switch v := v.(*CryptoKey); i {
18581			case 0:
18582				return &v.state
18583			case 1:
18584				return &v.sizeCache
18585			case 2:
18586				return &v.unknownFields
18587			default:
18588				return nil
18589			}
18590		}
18591		file_google_privacy_dlp_v2_dlp_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} {
18592			switch v := v.(*TransientCryptoKey); i {
18593			case 0:
18594				return &v.state
18595			case 1:
18596				return &v.sizeCache
18597			case 2:
18598				return &v.unknownFields
18599			default:
18600				return nil
18601			}
18602		}
18603		file_google_privacy_dlp_v2_dlp_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} {
18604			switch v := v.(*UnwrappedCryptoKey); i {
18605			case 0:
18606				return &v.state
18607			case 1:
18608				return &v.sizeCache
18609			case 2:
18610				return &v.unknownFields
18611			default:
18612				return nil
18613			}
18614		}
18615		file_google_privacy_dlp_v2_dlp_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} {
18616			switch v := v.(*KmsWrappedCryptoKey); i {
18617			case 0:
18618				return &v.state
18619			case 1:
18620				return &v.sizeCache
18621			case 2:
18622				return &v.unknownFields
18623			default:
18624				return nil
18625			}
18626		}
18627		file_google_privacy_dlp_v2_dlp_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} {
18628			switch v := v.(*DateShiftConfig); i {
18629			case 0:
18630				return &v.state
18631			case 1:
18632				return &v.sizeCache
18633			case 2:
18634				return &v.unknownFields
18635			default:
18636				return nil
18637			}
18638		}
18639		file_google_privacy_dlp_v2_dlp_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} {
18640			switch v := v.(*InfoTypeTransformations); i {
18641			case 0:
18642				return &v.state
18643			case 1:
18644				return &v.sizeCache
18645			case 2:
18646				return &v.unknownFields
18647			default:
18648				return nil
18649			}
18650		}
18651		file_google_privacy_dlp_v2_dlp_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} {
18652			switch v := v.(*FieldTransformation); i {
18653			case 0:
18654				return &v.state
18655			case 1:
18656				return &v.sizeCache
18657			case 2:
18658				return &v.unknownFields
18659			default:
18660				return nil
18661			}
18662		}
18663		file_google_privacy_dlp_v2_dlp_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} {
18664			switch v := v.(*RecordTransformations); i {
18665			case 0:
18666				return &v.state
18667			case 1:
18668				return &v.sizeCache
18669			case 2:
18670				return &v.unknownFields
18671			default:
18672				return nil
18673			}
18674		}
18675		file_google_privacy_dlp_v2_dlp_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} {
18676			switch v := v.(*RecordSuppression); i {
18677			case 0:
18678				return &v.state
18679			case 1:
18680				return &v.sizeCache
18681			case 2:
18682				return &v.unknownFields
18683			default:
18684				return nil
18685			}
18686		}
18687		file_google_privacy_dlp_v2_dlp_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} {
18688			switch v := v.(*RecordCondition); i {
18689			case 0:
18690				return &v.state
18691			case 1:
18692				return &v.sizeCache
18693			case 2:
18694				return &v.unknownFields
18695			default:
18696				return nil
18697			}
18698		}
18699		file_google_privacy_dlp_v2_dlp_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} {
18700			switch v := v.(*TransformationOverview); i {
18701			case 0:
18702				return &v.state
18703			case 1:
18704				return &v.sizeCache
18705			case 2:
18706				return &v.unknownFields
18707			default:
18708				return nil
18709			}
18710		}
18711		file_google_privacy_dlp_v2_dlp_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} {
18712			switch v := v.(*TransformationSummary); i {
18713			case 0:
18714				return &v.state
18715			case 1:
18716				return &v.sizeCache
18717			case 2:
18718				return &v.unknownFields
18719			default:
18720				return nil
18721			}
18722		}
18723		file_google_privacy_dlp_v2_dlp_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} {
18724			switch v := v.(*Schedule); i {
18725			case 0:
18726				return &v.state
18727			case 1:
18728				return &v.sizeCache
18729			case 2:
18730				return &v.unknownFields
18731			default:
18732				return nil
18733			}
18734		}
18735		file_google_privacy_dlp_v2_dlp_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} {
18736			switch v := v.(*Manual); i {
18737			case 0:
18738				return &v.state
18739			case 1:
18740				return &v.sizeCache
18741			case 2:
18742				return &v.unknownFields
18743			default:
18744				return nil
18745			}
18746		}
18747		file_google_privacy_dlp_v2_dlp_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} {
18748			switch v := v.(*InspectTemplate); i {
18749			case 0:
18750				return &v.state
18751			case 1:
18752				return &v.sizeCache
18753			case 2:
18754				return &v.unknownFields
18755			default:
18756				return nil
18757			}
18758		}
18759		file_google_privacy_dlp_v2_dlp_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} {
18760			switch v := v.(*DeidentifyTemplate); i {
18761			case 0:
18762				return &v.state
18763			case 1:
18764				return &v.sizeCache
18765			case 2:
18766				return &v.unknownFields
18767			default:
18768				return nil
18769			}
18770		}
18771		file_google_privacy_dlp_v2_dlp_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} {
18772			switch v := v.(*Error); i {
18773			case 0:
18774				return &v.state
18775			case 1:
18776				return &v.sizeCache
18777			case 2:
18778				return &v.unknownFields
18779			default:
18780				return nil
18781			}
18782		}
18783		file_google_privacy_dlp_v2_dlp_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} {
18784			switch v := v.(*JobTrigger); i {
18785			case 0:
18786				return &v.state
18787			case 1:
18788				return &v.sizeCache
18789			case 2:
18790				return &v.unknownFields
18791			default:
18792				return nil
18793			}
18794		}
18795		file_google_privacy_dlp_v2_dlp_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} {
18796			switch v := v.(*Action); i {
18797			case 0:
18798				return &v.state
18799			case 1:
18800				return &v.sizeCache
18801			case 2:
18802				return &v.unknownFields
18803			default:
18804				return nil
18805			}
18806		}
18807		file_google_privacy_dlp_v2_dlp_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} {
18808			switch v := v.(*CreateInspectTemplateRequest); i {
18809			case 0:
18810				return &v.state
18811			case 1:
18812				return &v.sizeCache
18813			case 2:
18814				return &v.unknownFields
18815			default:
18816				return nil
18817			}
18818		}
18819		file_google_privacy_dlp_v2_dlp_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} {
18820			switch v := v.(*UpdateInspectTemplateRequest); i {
18821			case 0:
18822				return &v.state
18823			case 1:
18824				return &v.sizeCache
18825			case 2:
18826				return &v.unknownFields
18827			default:
18828				return nil
18829			}
18830		}
18831		file_google_privacy_dlp_v2_dlp_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} {
18832			switch v := v.(*GetInspectTemplateRequest); i {
18833			case 0:
18834				return &v.state
18835			case 1:
18836				return &v.sizeCache
18837			case 2:
18838				return &v.unknownFields
18839			default:
18840				return nil
18841			}
18842		}
18843		file_google_privacy_dlp_v2_dlp_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} {
18844			switch v := v.(*ListInspectTemplatesRequest); i {
18845			case 0:
18846				return &v.state
18847			case 1:
18848				return &v.sizeCache
18849			case 2:
18850				return &v.unknownFields
18851			default:
18852				return nil
18853			}
18854		}
18855		file_google_privacy_dlp_v2_dlp_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} {
18856			switch v := v.(*ListInspectTemplatesResponse); i {
18857			case 0:
18858				return &v.state
18859			case 1:
18860				return &v.sizeCache
18861			case 2:
18862				return &v.unknownFields
18863			default:
18864				return nil
18865			}
18866		}
18867		file_google_privacy_dlp_v2_dlp_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} {
18868			switch v := v.(*DeleteInspectTemplateRequest); i {
18869			case 0:
18870				return &v.state
18871			case 1:
18872				return &v.sizeCache
18873			case 2:
18874				return &v.unknownFields
18875			default:
18876				return nil
18877			}
18878		}
18879		file_google_privacy_dlp_v2_dlp_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} {
18880			switch v := v.(*CreateJobTriggerRequest); i {
18881			case 0:
18882				return &v.state
18883			case 1:
18884				return &v.sizeCache
18885			case 2:
18886				return &v.unknownFields
18887			default:
18888				return nil
18889			}
18890		}
18891		file_google_privacy_dlp_v2_dlp_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} {
18892			switch v := v.(*ActivateJobTriggerRequest); i {
18893			case 0:
18894				return &v.state
18895			case 1:
18896				return &v.sizeCache
18897			case 2:
18898				return &v.unknownFields
18899			default:
18900				return nil
18901			}
18902		}
18903		file_google_privacy_dlp_v2_dlp_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} {
18904			switch v := v.(*UpdateJobTriggerRequest); i {
18905			case 0:
18906				return &v.state
18907			case 1:
18908				return &v.sizeCache
18909			case 2:
18910				return &v.unknownFields
18911			default:
18912				return nil
18913			}
18914		}
18915		file_google_privacy_dlp_v2_dlp_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} {
18916			switch v := v.(*GetJobTriggerRequest); i {
18917			case 0:
18918				return &v.state
18919			case 1:
18920				return &v.sizeCache
18921			case 2:
18922				return &v.unknownFields
18923			default:
18924				return nil
18925			}
18926		}
18927		file_google_privacy_dlp_v2_dlp_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} {
18928			switch v := v.(*CreateDlpJobRequest); i {
18929			case 0:
18930				return &v.state
18931			case 1:
18932				return &v.sizeCache
18933			case 2:
18934				return &v.unknownFields
18935			default:
18936				return nil
18937			}
18938		}
18939		file_google_privacy_dlp_v2_dlp_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} {
18940			switch v := v.(*ListJobTriggersRequest); i {
18941			case 0:
18942				return &v.state
18943			case 1:
18944				return &v.sizeCache
18945			case 2:
18946				return &v.unknownFields
18947			default:
18948				return nil
18949			}
18950		}
18951		file_google_privacy_dlp_v2_dlp_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} {
18952			switch v := v.(*ListJobTriggersResponse); i {
18953			case 0:
18954				return &v.state
18955			case 1:
18956				return &v.sizeCache
18957			case 2:
18958				return &v.unknownFields
18959			default:
18960				return nil
18961			}
18962		}
18963		file_google_privacy_dlp_v2_dlp_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} {
18964			switch v := v.(*DeleteJobTriggerRequest); i {
18965			case 0:
18966				return &v.state
18967			case 1:
18968				return &v.sizeCache
18969			case 2:
18970				return &v.unknownFields
18971			default:
18972				return nil
18973			}
18974		}
18975		file_google_privacy_dlp_v2_dlp_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} {
18976			switch v := v.(*InspectJobConfig); i {
18977			case 0:
18978				return &v.state
18979			case 1:
18980				return &v.sizeCache
18981			case 2:
18982				return &v.unknownFields
18983			default:
18984				return nil
18985			}
18986		}
18987		file_google_privacy_dlp_v2_dlp_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} {
18988			switch v := v.(*DlpJob); i {
18989			case 0:
18990				return &v.state
18991			case 1:
18992				return &v.sizeCache
18993			case 2:
18994				return &v.unknownFields
18995			default:
18996				return nil
18997			}
18998		}
18999		file_google_privacy_dlp_v2_dlp_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} {
19000			switch v := v.(*GetDlpJobRequest); i {
19001			case 0:
19002				return &v.state
19003			case 1:
19004				return &v.sizeCache
19005			case 2:
19006				return &v.unknownFields
19007			default:
19008				return nil
19009			}
19010		}
19011		file_google_privacy_dlp_v2_dlp_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} {
19012			switch v := v.(*ListDlpJobsRequest); i {
19013			case 0:
19014				return &v.state
19015			case 1:
19016				return &v.sizeCache
19017			case 2:
19018				return &v.unknownFields
19019			default:
19020				return nil
19021			}
19022		}
19023		file_google_privacy_dlp_v2_dlp_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} {
19024			switch v := v.(*ListDlpJobsResponse); i {
19025			case 0:
19026				return &v.state
19027			case 1:
19028				return &v.sizeCache
19029			case 2:
19030				return &v.unknownFields
19031			default:
19032				return nil
19033			}
19034		}
19035		file_google_privacy_dlp_v2_dlp_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} {
19036			switch v := v.(*CancelDlpJobRequest); i {
19037			case 0:
19038				return &v.state
19039			case 1:
19040				return &v.sizeCache
19041			case 2:
19042				return &v.unknownFields
19043			default:
19044				return nil
19045			}
19046		}
19047		file_google_privacy_dlp_v2_dlp_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} {
19048			switch v := v.(*FinishDlpJobRequest); i {
19049			case 0:
19050				return &v.state
19051			case 1:
19052				return &v.sizeCache
19053			case 2:
19054				return &v.unknownFields
19055			default:
19056				return nil
19057			}
19058		}
19059		file_google_privacy_dlp_v2_dlp_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} {
19060			switch v := v.(*DeleteDlpJobRequest); i {
19061			case 0:
19062				return &v.state
19063			case 1:
19064				return &v.sizeCache
19065			case 2:
19066				return &v.unknownFields
19067			default:
19068				return nil
19069			}
19070		}
19071		file_google_privacy_dlp_v2_dlp_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} {
19072			switch v := v.(*CreateDeidentifyTemplateRequest); i {
19073			case 0:
19074				return &v.state
19075			case 1:
19076				return &v.sizeCache
19077			case 2:
19078				return &v.unknownFields
19079			default:
19080				return nil
19081			}
19082		}
19083		file_google_privacy_dlp_v2_dlp_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} {
19084			switch v := v.(*UpdateDeidentifyTemplateRequest); i {
19085			case 0:
19086				return &v.state
19087			case 1:
19088				return &v.sizeCache
19089			case 2:
19090				return &v.unknownFields
19091			default:
19092				return nil
19093			}
19094		}
19095		file_google_privacy_dlp_v2_dlp_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} {
19096			switch v := v.(*GetDeidentifyTemplateRequest); i {
19097			case 0:
19098				return &v.state
19099			case 1:
19100				return &v.sizeCache
19101			case 2:
19102				return &v.unknownFields
19103			default:
19104				return nil
19105			}
19106		}
19107		file_google_privacy_dlp_v2_dlp_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} {
19108			switch v := v.(*ListDeidentifyTemplatesRequest); i {
19109			case 0:
19110				return &v.state
19111			case 1:
19112				return &v.sizeCache
19113			case 2:
19114				return &v.unknownFields
19115			default:
19116				return nil
19117			}
19118		}
19119		file_google_privacy_dlp_v2_dlp_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} {
19120			switch v := v.(*ListDeidentifyTemplatesResponse); i {
19121			case 0:
19122				return &v.state
19123			case 1:
19124				return &v.sizeCache
19125			case 2:
19126				return &v.unknownFields
19127			default:
19128				return nil
19129			}
19130		}
19131		file_google_privacy_dlp_v2_dlp_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} {
19132			switch v := v.(*DeleteDeidentifyTemplateRequest); i {
19133			case 0:
19134				return &v.state
19135			case 1:
19136				return &v.sizeCache
19137			case 2:
19138				return &v.unknownFields
19139			default:
19140				return nil
19141			}
19142		}
19143		file_google_privacy_dlp_v2_dlp_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} {
19144			switch v := v.(*LargeCustomDictionaryConfig); i {
19145			case 0:
19146				return &v.state
19147			case 1:
19148				return &v.sizeCache
19149			case 2:
19150				return &v.unknownFields
19151			default:
19152				return nil
19153			}
19154		}
19155		file_google_privacy_dlp_v2_dlp_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} {
19156			switch v := v.(*LargeCustomDictionaryStats); i {
19157			case 0:
19158				return &v.state
19159			case 1:
19160				return &v.sizeCache
19161			case 2:
19162				return &v.unknownFields
19163			default:
19164				return nil
19165			}
19166		}
19167		file_google_privacy_dlp_v2_dlp_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} {
19168			switch v := v.(*StoredInfoTypeConfig); i {
19169			case 0:
19170				return &v.state
19171			case 1:
19172				return &v.sizeCache
19173			case 2:
19174				return &v.unknownFields
19175			default:
19176				return nil
19177			}
19178		}
19179		file_google_privacy_dlp_v2_dlp_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} {
19180			switch v := v.(*StoredInfoTypeStats); i {
19181			case 0:
19182				return &v.state
19183			case 1:
19184				return &v.sizeCache
19185			case 2:
19186				return &v.unknownFields
19187			default:
19188				return nil
19189			}
19190		}
19191		file_google_privacy_dlp_v2_dlp_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} {
19192			switch v := v.(*StoredInfoTypeVersion); i {
19193			case 0:
19194				return &v.state
19195			case 1:
19196				return &v.sizeCache
19197			case 2:
19198				return &v.unknownFields
19199			default:
19200				return nil
19201			}
19202		}
19203		file_google_privacy_dlp_v2_dlp_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} {
19204			switch v := v.(*StoredInfoType); i {
19205			case 0:
19206				return &v.state
19207			case 1:
19208				return &v.sizeCache
19209			case 2:
19210				return &v.unknownFields
19211			default:
19212				return nil
19213			}
19214		}
19215		file_google_privacy_dlp_v2_dlp_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} {
19216			switch v := v.(*CreateStoredInfoTypeRequest); i {
19217			case 0:
19218				return &v.state
19219			case 1:
19220				return &v.sizeCache
19221			case 2:
19222				return &v.unknownFields
19223			default:
19224				return nil
19225			}
19226		}
19227		file_google_privacy_dlp_v2_dlp_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} {
19228			switch v := v.(*UpdateStoredInfoTypeRequest); i {
19229			case 0:
19230				return &v.state
19231			case 1:
19232				return &v.sizeCache
19233			case 2:
19234				return &v.unknownFields
19235			default:
19236				return nil
19237			}
19238		}
19239		file_google_privacy_dlp_v2_dlp_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} {
19240			switch v := v.(*GetStoredInfoTypeRequest); i {
19241			case 0:
19242				return &v.state
19243			case 1:
19244				return &v.sizeCache
19245			case 2:
19246				return &v.unknownFields
19247			default:
19248				return nil
19249			}
19250		}
19251		file_google_privacy_dlp_v2_dlp_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} {
19252			switch v := v.(*ListStoredInfoTypesRequest); i {
19253			case 0:
19254				return &v.state
19255			case 1:
19256				return &v.sizeCache
19257			case 2:
19258				return &v.unknownFields
19259			default:
19260				return nil
19261			}
19262		}
19263		file_google_privacy_dlp_v2_dlp_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} {
19264			switch v := v.(*ListStoredInfoTypesResponse); i {
19265			case 0:
19266				return &v.state
19267			case 1:
19268				return &v.sizeCache
19269			case 2:
19270				return &v.unknownFields
19271			default:
19272				return nil
19273			}
19274		}
19275		file_google_privacy_dlp_v2_dlp_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} {
19276			switch v := v.(*DeleteStoredInfoTypeRequest); i {
19277			case 0:
19278				return &v.state
19279			case 1:
19280				return &v.sizeCache
19281			case 2:
19282				return &v.unknownFields
19283			default:
19284				return nil
19285			}
19286		}
19287		file_google_privacy_dlp_v2_dlp_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} {
19288			switch v := v.(*HybridInspectJobTriggerRequest); i {
19289			case 0:
19290				return &v.state
19291			case 1:
19292				return &v.sizeCache
19293			case 2:
19294				return &v.unknownFields
19295			default:
19296				return nil
19297			}
19298		}
19299		file_google_privacy_dlp_v2_dlp_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} {
19300			switch v := v.(*HybridInspectDlpJobRequest); i {
19301			case 0:
19302				return &v.state
19303			case 1:
19304				return &v.sizeCache
19305			case 2:
19306				return &v.unknownFields
19307			default:
19308				return nil
19309			}
19310		}
19311		file_google_privacy_dlp_v2_dlp_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} {
19312			switch v := v.(*HybridContentItem); i {
19313			case 0:
19314				return &v.state
19315			case 1:
19316				return &v.sizeCache
19317			case 2:
19318				return &v.unknownFields
19319			default:
19320				return nil
19321			}
19322		}
19323		file_google_privacy_dlp_v2_dlp_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} {
19324			switch v := v.(*HybridFindingDetails); i {
19325			case 0:
19326				return &v.state
19327			case 1:
19328				return &v.sizeCache
19329			case 2:
19330				return &v.unknownFields
19331			default:
19332				return nil
19333			}
19334		}
19335		file_google_privacy_dlp_v2_dlp_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} {
19336			switch v := v.(*HybridInspectResponse); i {
19337			case 0:
19338				return &v.state
19339			case 1:
19340				return &v.sizeCache
19341			case 2:
19342				return &v.unknownFields
19343			default:
19344				return nil
19345			}
19346		}
19347		file_google_privacy_dlp_v2_dlp_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} {
19348			switch v := v.(*InspectConfig_FindingLimits); i {
19349			case 0:
19350				return &v.state
19351			case 1:
19352				return &v.sizeCache
19353			case 2:
19354				return &v.unknownFields
19355			default:
19356				return nil
19357			}
19358		}
19359		file_google_privacy_dlp_v2_dlp_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} {
19360			switch v := v.(*InspectConfig_FindingLimits_InfoTypeLimit); i {
19361			case 0:
19362				return &v.state
19363			case 1:
19364				return &v.sizeCache
19365			case 2:
19366				return &v.unknownFields
19367			default:
19368				return nil
19369			}
19370		}
19371		file_google_privacy_dlp_v2_dlp_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} {
19372			switch v := v.(*Table_Row); i {
19373			case 0:
19374				return &v.state
19375			case 1:
19376				return &v.sizeCache
19377			case 2:
19378				return &v.unknownFields
19379			default:
19380				return nil
19381			}
19382		}
19383		file_google_privacy_dlp_v2_dlp_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} {
19384			switch v := v.(*RedactImageRequest_ImageRedactionConfig); i {
19385			case 0:
19386				return &v.state
19387			case 1:
19388				return &v.sizeCache
19389			case 2:
19390				return &v.unknownFields
19391			default:
19392				return nil
19393			}
19394		}
19395		file_google_privacy_dlp_v2_dlp_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} {
19396			switch v := v.(*InspectDataSourceDetails_RequestedOptions); i {
19397			case 0:
19398				return &v.state
19399			case 1:
19400				return &v.sizeCache
19401			case 2:
19402				return &v.unknownFields
19403			default:
19404				return nil
19405			}
19406		}
19407		file_google_privacy_dlp_v2_dlp_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} {
19408			switch v := v.(*InspectDataSourceDetails_Result); i {
19409			case 0:
19410				return &v.state
19411			case 1:
19412				return &v.sizeCache
19413			case 2:
19414				return &v.unknownFields
19415			default:
19416				return nil
19417			}
19418		}
19419		file_google_privacy_dlp_v2_dlp_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} {
19420			switch v := v.(*StatisticalTable_QuasiIdentifierField); i {
19421			case 0:
19422				return &v.state
19423			case 1:
19424				return &v.sizeCache
19425			case 2:
19426				return &v.unknownFields
19427			default:
19428				return nil
19429			}
19430		}
19431		file_google_privacy_dlp_v2_dlp_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} {
19432			switch v := v.(*PrivacyMetric_NumericalStatsConfig); i {
19433			case 0:
19434				return &v.state
19435			case 1:
19436				return &v.sizeCache
19437			case 2:
19438				return &v.unknownFields
19439			default:
19440				return nil
19441			}
19442		}
19443		file_google_privacy_dlp_v2_dlp_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} {
19444			switch v := v.(*PrivacyMetric_CategoricalStatsConfig); i {
19445			case 0:
19446				return &v.state
19447			case 1:
19448				return &v.sizeCache
19449			case 2:
19450				return &v.unknownFields
19451			default:
19452				return nil
19453			}
19454		}
19455		file_google_privacy_dlp_v2_dlp_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} {
19456			switch v := v.(*PrivacyMetric_KAnonymityConfig); i {
19457			case 0:
19458				return &v.state
19459			case 1:
19460				return &v.sizeCache
19461			case 2:
19462				return &v.unknownFields
19463			default:
19464				return nil
19465			}
19466		}
19467		file_google_privacy_dlp_v2_dlp_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} {
19468			switch v := v.(*PrivacyMetric_LDiversityConfig); i {
19469			case 0:
19470				return &v.state
19471			case 1:
19472				return &v.sizeCache
19473			case 2:
19474				return &v.unknownFields
19475			default:
19476				return nil
19477			}
19478		}
19479		file_google_privacy_dlp_v2_dlp_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} {
19480			switch v := v.(*PrivacyMetric_KMapEstimationConfig); i {
19481			case 0:
19482				return &v.state
19483			case 1:
19484				return &v.sizeCache
19485			case 2:
19486				return &v.unknownFields
19487			default:
19488				return nil
19489			}
19490		}
19491		file_google_privacy_dlp_v2_dlp_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} {
19492			switch v := v.(*PrivacyMetric_DeltaPresenceEstimationConfig); i {
19493			case 0:
19494				return &v.state
19495			case 1:
19496				return &v.sizeCache
19497			case 2:
19498				return &v.unknownFields
19499			default:
19500				return nil
19501			}
19502		}
19503		file_google_privacy_dlp_v2_dlp_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} {
19504			switch v := v.(*PrivacyMetric_KMapEstimationConfig_TaggedField); i {
19505			case 0:
19506				return &v.state
19507			case 1:
19508				return &v.sizeCache
19509			case 2:
19510				return &v.unknownFields
19511			default:
19512				return nil
19513			}
19514		}
19515		file_google_privacy_dlp_v2_dlp_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} {
19516			switch v := v.(*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable); i {
19517			case 0:
19518				return &v.state
19519			case 1:
19520				return &v.sizeCache
19521			case 2:
19522				return &v.unknownFields
19523			default:
19524				return nil
19525			}
19526		}
19527		file_google_privacy_dlp_v2_dlp_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} {
19528			switch v := v.(*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField); i {
19529			case 0:
19530				return &v.state
19531			case 1:
19532				return &v.sizeCache
19533			case 2:
19534				return &v.unknownFields
19535			default:
19536				return nil
19537			}
19538		}
19539		file_google_privacy_dlp_v2_dlp_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} {
19540			switch v := v.(*AnalyzeDataSourceRiskDetails_NumericalStatsResult); i {
19541			case 0:
19542				return &v.state
19543			case 1:
19544				return &v.sizeCache
19545			case 2:
19546				return &v.unknownFields
19547			default:
19548				return nil
19549			}
19550		}
19551		file_google_privacy_dlp_v2_dlp_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} {
19552			switch v := v.(*AnalyzeDataSourceRiskDetails_CategoricalStatsResult); i {
19553			case 0:
19554				return &v.state
19555			case 1:
19556				return &v.sizeCache
19557			case 2:
19558				return &v.unknownFields
19559			default:
19560				return nil
19561			}
19562		}
19563		file_google_privacy_dlp_v2_dlp_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} {
19564			switch v := v.(*AnalyzeDataSourceRiskDetails_KAnonymityResult); i {
19565			case 0:
19566				return &v.state
19567			case 1:
19568				return &v.sizeCache
19569			case 2:
19570				return &v.unknownFields
19571			default:
19572				return nil
19573			}
19574		}
19575		file_google_privacy_dlp_v2_dlp_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} {
19576			switch v := v.(*AnalyzeDataSourceRiskDetails_LDiversityResult); i {
19577			case 0:
19578				return &v.state
19579			case 1:
19580				return &v.sizeCache
19581			case 2:
19582				return &v.unknownFields
19583			default:
19584				return nil
19585			}
19586		}
19587		file_google_privacy_dlp_v2_dlp_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} {
19588			switch v := v.(*AnalyzeDataSourceRiskDetails_KMapEstimationResult); i {
19589			case 0:
19590				return &v.state
19591			case 1:
19592				return &v.sizeCache
19593			case 2:
19594				return &v.unknownFields
19595			default:
19596				return nil
19597			}
19598		}
19599		file_google_privacy_dlp_v2_dlp_proto_msgTypes[146].Exporter = func(v interface{}, i int) interface{} {
19600			switch v := v.(*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult); i {
19601			case 0:
19602				return &v.state
19603			case 1:
19604				return &v.sizeCache
19605			case 2:
19606				return &v.unknownFields
19607			default:
19608				return nil
19609			}
19610		}
19611		file_google_privacy_dlp_v2_dlp_proto_msgTypes[147].Exporter = func(v interface{}, i int) interface{} {
19612			switch v := v.(*AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket); i {
19613			case 0:
19614				return &v.state
19615			case 1:
19616				return &v.sizeCache
19617			case 2:
19618				return &v.unknownFields
19619			default:
19620				return nil
19621			}
19622		}
19623		file_google_privacy_dlp_v2_dlp_proto_msgTypes[148].Exporter = func(v interface{}, i int) interface{} {
19624			switch v := v.(*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass); i {
19625			case 0:
19626				return &v.state
19627			case 1:
19628				return &v.sizeCache
19629			case 2:
19630				return &v.unknownFields
19631			default:
19632				return nil
19633			}
19634		}
19635		file_google_privacy_dlp_v2_dlp_proto_msgTypes[149].Exporter = func(v interface{}, i int) interface{} {
19636			switch v := v.(*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket); i {
19637			case 0:
19638				return &v.state
19639			case 1:
19640				return &v.sizeCache
19641			case 2:
19642				return &v.unknownFields
19643			default:
19644				return nil
19645			}
19646		}
19647		file_google_privacy_dlp_v2_dlp_proto_msgTypes[150].Exporter = func(v interface{}, i int) interface{} {
19648			switch v := v.(*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass); i {
19649			case 0:
19650				return &v.state
19651			case 1:
19652				return &v.sizeCache
19653			case 2:
19654				return &v.unknownFields
19655			default:
19656				return nil
19657			}
19658		}
19659		file_google_privacy_dlp_v2_dlp_proto_msgTypes[151].Exporter = func(v interface{}, i int) interface{} {
19660			switch v := v.(*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket); i {
19661			case 0:
19662				return &v.state
19663			case 1:
19664				return &v.sizeCache
19665			case 2:
19666				return &v.unknownFields
19667			default:
19668				return nil
19669			}
19670		}
19671		file_google_privacy_dlp_v2_dlp_proto_msgTypes[152].Exporter = func(v interface{}, i int) interface{} {
19672			switch v := v.(*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues); i {
19673			case 0:
19674				return &v.state
19675			case 1:
19676				return &v.sizeCache
19677			case 2:
19678				return &v.unknownFields
19679			default:
19680				return nil
19681			}
19682		}
19683		file_google_privacy_dlp_v2_dlp_proto_msgTypes[153].Exporter = func(v interface{}, i int) interface{} {
19684			switch v := v.(*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket); i {
19685			case 0:
19686				return &v.state
19687			case 1:
19688				return &v.sizeCache
19689			case 2:
19690				return &v.unknownFields
19691			default:
19692				return nil
19693			}
19694		}
19695		file_google_privacy_dlp_v2_dlp_proto_msgTypes[154].Exporter = func(v interface{}, i int) interface{} {
19696			switch v := v.(*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues); i {
19697			case 0:
19698				return &v.state
19699			case 1:
19700				return &v.sizeCache
19701			case 2:
19702				return &v.unknownFields
19703			default:
19704				return nil
19705			}
19706		}
19707		file_google_privacy_dlp_v2_dlp_proto_msgTypes[155].Exporter = func(v interface{}, i int) interface{} {
19708			switch v := v.(*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket); i {
19709			case 0:
19710				return &v.state
19711			case 1:
19712				return &v.sizeCache
19713			case 2:
19714				return &v.unknownFields
19715			default:
19716				return nil
19717			}
19718		}
19719		file_google_privacy_dlp_v2_dlp_proto_msgTypes[156].Exporter = func(v interface{}, i int) interface{} {
19720			switch v := v.(*DateTime_TimeZone); i {
19721			case 0:
19722				return &v.state
19723			case 1:
19724				return &v.sizeCache
19725			case 2:
19726				return &v.unknownFields
19727			default:
19728				return nil
19729			}
19730		}
19731		file_google_privacy_dlp_v2_dlp_proto_msgTypes[157].Exporter = func(v interface{}, i int) interface{} {
19732			switch v := v.(*TransformationErrorHandling_ThrowError); i {
19733			case 0:
19734				return &v.state
19735			case 1:
19736				return &v.sizeCache
19737			case 2:
19738				return &v.unknownFields
19739			default:
19740				return nil
19741			}
19742		}
19743		file_google_privacy_dlp_v2_dlp_proto_msgTypes[158].Exporter = func(v interface{}, i int) interface{} {
19744			switch v := v.(*TransformationErrorHandling_LeaveUntransformed); i {
19745			case 0:
19746				return &v.state
19747			case 1:
19748				return &v.sizeCache
19749			case 2:
19750				return &v.unknownFields
19751			default:
19752				return nil
19753			}
19754		}
19755		file_google_privacy_dlp_v2_dlp_proto_msgTypes[159].Exporter = func(v interface{}, i int) interface{} {
19756			switch v := v.(*BucketingConfig_Bucket); i {
19757			case 0:
19758				return &v.state
19759			case 1:
19760				return &v.sizeCache
19761			case 2:
19762				return &v.unknownFields
19763			default:
19764				return nil
19765			}
19766		}
19767		file_google_privacy_dlp_v2_dlp_proto_msgTypes[160].Exporter = func(v interface{}, i int) interface{} {
19768			switch v := v.(*InfoTypeTransformations_InfoTypeTransformation); i {
19769			case 0:
19770				return &v.state
19771			case 1:
19772				return &v.sizeCache
19773			case 2:
19774				return &v.unknownFields
19775			default:
19776				return nil
19777			}
19778		}
19779		file_google_privacy_dlp_v2_dlp_proto_msgTypes[161].Exporter = func(v interface{}, i int) interface{} {
19780			switch v := v.(*RecordCondition_Condition); i {
19781			case 0:
19782				return &v.state
19783			case 1:
19784				return &v.sizeCache
19785			case 2:
19786				return &v.unknownFields
19787			default:
19788				return nil
19789			}
19790		}
19791		file_google_privacy_dlp_v2_dlp_proto_msgTypes[162].Exporter = func(v interface{}, i int) interface{} {
19792			switch v := v.(*RecordCondition_Conditions); i {
19793			case 0:
19794				return &v.state
19795			case 1:
19796				return &v.sizeCache
19797			case 2:
19798				return &v.unknownFields
19799			default:
19800				return nil
19801			}
19802		}
19803		file_google_privacy_dlp_v2_dlp_proto_msgTypes[163].Exporter = func(v interface{}, i int) interface{} {
19804			switch v := v.(*RecordCondition_Expressions); i {
19805			case 0:
19806				return &v.state
19807			case 1:
19808				return &v.sizeCache
19809			case 2:
19810				return &v.unknownFields
19811			default:
19812				return nil
19813			}
19814		}
19815		file_google_privacy_dlp_v2_dlp_proto_msgTypes[164].Exporter = func(v interface{}, i int) interface{} {
19816			switch v := v.(*TransformationSummary_SummaryResult); i {
19817			case 0:
19818				return &v.state
19819			case 1:
19820				return &v.sizeCache
19821			case 2:
19822				return &v.unknownFields
19823			default:
19824				return nil
19825			}
19826		}
19827		file_google_privacy_dlp_v2_dlp_proto_msgTypes[165].Exporter = func(v interface{}, i int) interface{} {
19828			switch v := v.(*JobTrigger_Trigger); i {
19829			case 0:
19830				return &v.state
19831			case 1:
19832				return &v.sizeCache
19833			case 2:
19834				return &v.unknownFields
19835			default:
19836				return nil
19837			}
19838		}
19839		file_google_privacy_dlp_v2_dlp_proto_msgTypes[166].Exporter = func(v interface{}, i int) interface{} {
19840			switch v := v.(*Action_SaveFindings); i {
19841			case 0:
19842				return &v.state
19843			case 1:
19844				return &v.sizeCache
19845			case 2:
19846				return &v.unknownFields
19847			default:
19848				return nil
19849			}
19850		}
19851		file_google_privacy_dlp_v2_dlp_proto_msgTypes[167].Exporter = func(v interface{}, i int) interface{} {
19852			switch v := v.(*Action_PublishToPubSub); i {
19853			case 0:
19854				return &v.state
19855			case 1:
19856				return &v.sizeCache
19857			case 2:
19858				return &v.unknownFields
19859			default:
19860				return nil
19861			}
19862		}
19863		file_google_privacy_dlp_v2_dlp_proto_msgTypes[168].Exporter = func(v interface{}, i int) interface{} {
19864			switch v := v.(*Action_PublishSummaryToCscc); i {
19865			case 0:
19866				return &v.state
19867			case 1:
19868				return &v.sizeCache
19869			case 2:
19870				return &v.unknownFields
19871			default:
19872				return nil
19873			}
19874		}
19875		file_google_privacy_dlp_v2_dlp_proto_msgTypes[169].Exporter = func(v interface{}, i int) interface{} {
19876			switch v := v.(*Action_PublishFindingsToCloudDataCatalog); i {
19877			case 0:
19878				return &v.state
19879			case 1:
19880				return &v.sizeCache
19881			case 2:
19882				return &v.unknownFields
19883			default:
19884				return nil
19885			}
19886		}
19887		file_google_privacy_dlp_v2_dlp_proto_msgTypes[170].Exporter = func(v interface{}, i int) interface{} {
19888			switch v := v.(*Action_JobNotificationEmails); i {
19889			case 0:
19890				return &v.state
19891			case 1:
19892				return &v.sizeCache
19893			case 2:
19894				return &v.unknownFields
19895			default:
19896				return nil
19897			}
19898		}
19899		file_google_privacy_dlp_v2_dlp_proto_msgTypes[171].Exporter = func(v interface{}, i int) interface{} {
19900			switch v := v.(*Action_PublishToStackdriver); i {
19901			case 0:
19902				return &v.state
19903			case 1:
19904				return &v.sizeCache
19905			case 2:
19906				return &v.unknownFields
19907			default:
19908				return nil
19909			}
19910		}
19911	}
19912	file_google_privacy_dlp_v2_dlp_proto_msgTypes[1].OneofWrappers = []interface{}{
19913		(*ExclusionRule_Dictionary)(nil),
19914		(*ExclusionRule_Regex)(nil),
19915		(*ExclusionRule_ExcludeInfoTypes)(nil),
19916	}
19917	file_google_privacy_dlp_v2_dlp_proto_msgTypes[2].OneofWrappers = []interface{}{
19918		(*InspectionRule_HotwordRule)(nil),
19919		(*InspectionRule_ExclusionRule)(nil),
19920	}
19921	file_google_privacy_dlp_v2_dlp_proto_msgTypes[6].OneofWrappers = []interface{}{
19922		(*ContentItem_Value)(nil),
19923		(*ContentItem_Table)(nil),
19924		(*ContentItem_ByteItem)(nil),
19925	}
19926	file_google_privacy_dlp_v2_dlp_proto_msgTypes[11].OneofWrappers = []interface{}{
19927		(*ContentLocation_RecordLocation)(nil),
19928		(*ContentLocation_ImageLocation)(nil),
19929		(*ContentLocation_DocumentLocation)(nil),
19930		(*ContentLocation_MetadataLocation)(nil),
19931	}
19932	file_google_privacy_dlp_v2_dlp_proto_msgTypes[12].OneofWrappers = []interface{}{
19933		(*MetadataLocation_StorageLabel)(nil),
19934	}
19935	file_google_privacy_dlp_v2_dlp_proto_msgTypes[30].OneofWrappers = []interface{}{
19936		(*OutputStorageConfig_Table)(nil),
19937	}
19938	file_google_privacy_dlp_v2_dlp_proto_msgTypes[38].OneofWrappers = []interface{}{
19939		(*QuasiId_InfoType)(nil),
19940		(*QuasiId_CustomTag)(nil),
19941		(*QuasiId_Inferred)(nil),
19942	}
19943	file_google_privacy_dlp_v2_dlp_proto_msgTypes[40].OneofWrappers = []interface{}{
19944		(*PrivacyMetric_NumericalStatsConfig_)(nil),
19945		(*PrivacyMetric_CategoricalStatsConfig_)(nil),
19946		(*PrivacyMetric_KAnonymityConfig_)(nil),
19947		(*PrivacyMetric_LDiversityConfig_)(nil),
19948		(*PrivacyMetric_KMapEstimationConfig_)(nil),
19949		(*PrivacyMetric_DeltaPresenceEstimationConfig_)(nil),
19950	}
19951	file_google_privacy_dlp_v2_dlp_proto_msgTypes[41].OneofWrappers = []interface{}{
19952		(*AnalyzeDataSourceRiskDetails_NumericalStatsResult_)(nil),
19953		(*AnalyzeDataSourceRiskDetails_CategoricalStatsResult_)(nil),
19954		(*AnalyzeDataSourceRiskDetails_KAnonymityResult_)(nil),
19955		(*AnalyzeDataSourceRiskDetails_LDiversityResult_)(nil),
19956		(*AnalyzeDataSourceRiskDetails_KMapEstimationResult_)(nil),
19957		(*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_)(nil),
19958	}
19959	file_google_privacy_dlp_v2_dlp_proto_msgTypes[43].OneofWrappers = []interface{}{
19960		(*Value_IntegerValue)(nil),
19961		(*Value_FloatValue)(nil),
19962		(*Value_StringValue)(nil),
19963		(*Value_BooleanValue)(nil),
19964		(*Value_TimestampValue)(nil),
19965		(*Value_TimeValue)(nil),
19966		(*Value_DateValue)(nil),
19967		(*Value_DayOfWeekValue)(nil),
19968	}
19969	file_google_privacy_dlp_v2_dlp_proto_msgTypes[44].OneofWrappers = []interface{}{
19970		(*QuoteInfo_DateTime)(nil),
19971	}
19972	file_google_privacy_dlp_v2_dlp_proto_msgTypes[46].OneofWrappers = []interface{}{
19973		(*DeidentifyConfig_InfoTypeTransformations)(nil),
19974		(*DeidentifyConfig_RecordTransformations)(nil),
19975	}
19976	file_google_privacy_dlp_v2_dlp_proto_msgTypes[47].OneofWrappers = []interface{}{
19977		(*TransformationErrorHandling_ThrowError_)(nil),
19978		(*TransformationErrorHandling_LeaveUntransformed_)(nil),
19979	}
19980	file_google_privacy_dlp_v2_dlp_proto_msgTypes[48].OneofWrappers = []interface{}{
19981		(*PrimitiveTransformation_ReplaceConfig)(nil),
19982		(*PrimitiveTransformation_RedactConfig)(nil),
19983		(*PrimitiveTransformation_CharacterMaskConfig)(nil),
19984		(*PrimitiveTransformation_CryptoReplaceFfxFpeConfig)(nil),
19985		(*PrimitiveTransformation_FixedSizeBucketingConfig)(nil),
19986		(*PrimitiveTransformation_BucketingConfig)(nil),
19987		(*PrimitiveTransformation_ReplaceWithInfoTypeConfig)(nil),
19988		(*PrimitiveTransformation_TimePartConfig)(nil),
19989		(*PrimitiveTransformation_CryptoHashConfig)(nil),
19990		(*PrimitiveTransformation_DateShiftConfig)(nil),
19991		(*PrimitiveTransformation_CryptoDeterministicConfig)(nil),
19992	}
19993	file_google_privacy_dlp_v2_dlp_proto_msgTypes[55].OneofWrappers = []interface{}{
19994		(*CharsToIgnore_CharactersToSkip)(nil),
19995		(*CharsToIgnore_CommonCharactersToIgnore)(nil),
19996	}
19997	file_google_privacy_dlp_v2_dlp_proto_msgTypes[59].OneofWrappers = []interface{}{
19998		(*CryptoReplaceFfxFpeConfig_CommonAlphabet)(nil),
19999		(*CryptoReplaceFfxFpeConfig_CustomAlphabet)(nil),
20000		(*CryptoReplaceFfxFpeConfig_Radix)(nil),
20001	}
20002	file_google_privacy_dlp_v2_dlp_proto_msgTypes[60].OneofWrappers = []interface{}{
20003		(*CryptoKey_Transient)(nil),
20004		(*CryptoKey_Unwrapped)(nil),
20005		(*CryptoKey_KmsWrapped)(nil),
20006	}
20007	file_google_privacy_dlp_v2_dlp_proto_msgTypes[64].OneofWrappers = []interface{}{
20008		(*DateShiftConfig_CryptoKey)(nil),
20009	}
20010	file_google_privacy_dlp_v2_dlp_proto_msgTypes[66].OneofWrappers = []interface{}{
20011		(*FieldTransformation_PrimitiveTransformation)(nil),
20012		(*FieldTransformation_InfoTypeTransformations)(nil),
20013	}
20014	file_google_privacy_dlp_v2_dlp_proto_msgTypes[72].OneofWrappers = []interface{}{
20015		(*Schedule_RecurrencePeriodDuration)(nil),
20016	}
20017	file_google_privacy_dlp_v2_dlp_proto_msgTypes[77].OneofWrappers = []interface{}{
20018		(*JobTrigger_InspectJob)(nil),
20019	}
20020	file_google_privacy_dlp_v2_dlp_proto_msgTypes[78].OneofWrappers = []interface{}{
20021		(*Action_SaveFindings_)(nil),
20022		(*Action_PubSub)(nil),
20023		(*Action_PublishSummaryToCscc_)(nil),
20024		(*Action_PublishFindingsToCloudDataCatalog_)(nil),
20025		(*Action_JobNotificationEmails_)(nil),
20026		(*Action_PublishToStackdriver_)(nil),
20027	}
20028	file_google_privacy_dlp_v2_dlp_proto_msgTypes[89].OneofWrappers = []interface{}{
20029		(*CreateDlpJobRequest_InspectJob)(nil),
20030		(*CreateDlpJobRequest_RiskJob)(nil),
20031	}
20032	file_google_privacy_dlp_v2_dlp_proto_msgTypes[94].OneofWrappers = []interface{}{
20033		(*DlpJob_RiskDetails)(nil),
20034		(*DlpJob_InspectDetails)(nil),
20035	}
20036	file_google_privacy_dlp_v2_dlp_proto_msgTypes[107].OneofWrappers = []interface{}{
20037		(*LargeCustomDictionaryConfig_CloudStorageFileSet)(nil),
20038		(*LargeCustomDictionaryConfig_BigQueryField)(nil),
20039	}
20040	file_google_privacy_dlp_v2_dlp_proto_msgTypes[109].OneofWrappers = []interface{}{
20041		(*StoredInfoTypeConfig_LargeCustomDictionary)(nil),
20042		(*StoredInfoTypeConfig_Dictionary)(nil),
20043		(*StoredInfoTypeConfig_Regex)(nil),
20044	}
20045	file_google_privacy_dlp_v2_dlp_proto_msgTypes[110].OneofWrappers = []interface{}{
20046		(*StoredInfoTypeStats_LargeCustomDictionary)(nil),
20047	}
20048	file_google_privacy_dlp_v2_dlp_proto_msgTypes[128].OneofWrappers = []interface{}{
20049		(*RedactImageRequest_ImageRedactionConfig_InfoType)(nil),
20050		(*RedactImageRequest_ImageRedactionConfig_RedactAllText)(nil),
20051	}
20052	file_google_privacy_dlp_v2_dlp_proto_msgTypes[138].OneofWrappers = []interface{}{
20053		(*PrivacyMetric_KMapEstimationConfig_TaggedField_InfoType)(nil),
20054		(*PrivacyMetric_KMapEstimationConfig_TaggedField_CustomTag)(nil),
20055		(*PrivacyMetric_KMapEstimationConfig_TaggedField_Inferred)(nil),
20056	}
20057	file_google_privacy_dlp_v2_dlp_proto_msgTypes[163].OneofWrappers = []interface{}{
20058		(*RecordCondition_Expressions_Conditions)(nil),
20059	}
20060	file_google_privacy_dlp_v2_dlp_proto_msgTypes[165].OneofWrappers = []interface{}{
20061		(*JobTrigger_Trigger_Schedule)(nil),
20062		(*JobTrigger_Trigger_Manual)(nil),
20063	}
20064	type x struct{}
20065	out := protoimpl.TypeBuilder{
20066		File: protoimpl.DescBuilder{
20067			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
20068			RawDescriptor: file_google_privacy_dlp_v2_dlp_proto_rawDesc,
20069			NumEnums:      16,
20070			NumMessages:   173,
20071			NumExtensions: 0,
20072			NumServices:   1,
20073		},
20074		GoTypes:           file_google_privacy_dlp_v2_dlp_proto_goTypes,
20075		DependencyIndexes: file_google_privacy_dlp_v2_dlp_proto_depIdxs,
20076		EnumInfos:         file_google_privacy_dlp_v2_dlp_proto_enumTypes,
20077		MessageInfos:      file_google_privacy_dlp_v2_dlp_proto_msgTypes,
20078	}.Build()
20079	File_google_privacy_dlp_v2_dlp_proto = out.File
20080	file_google_privacy_dlp_v2_dlp_proto_rawDesc = nil
20081	file_google_privacy_dlp_v2_dlp_proto_goTypes = nil
20082	file_google_privacy_dlp_v2_dlp_proto_depIdxs = nil
20083}
20084
20085// Reference imports to suppress errors if they are not otherwise used.
20086var _ context.Context
20087var _ grpc.ClientConnInterface
20088
20089// This is a compile-time assertion to ensure that this generated file
20090// is compatible with the grpc package it is being compiled against.
20091const _ = grpc.SupportPackageIsVersion6
20092
20093// DlpServiceClient is the client API for DlpService service.
20094//
20095// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
20096type DlpServiceClient interface {
20097	// Finds potentially sensitive info in content.
20098	// This method has limits on input size, processing time, and output size.
20099	//
20100	// When no InfoTypes or CustomInfoTypes are specified in this request, the
20101	// system will automatically choose what detectors to run. By default this may
20102	// be all types, but may change over time as detectors are updated.
20103	//
20104	// For how to guides, see https://cloud.google.com/dlp/docs/inspecting-images
20105	// and https://cloud.google.com/dlp/docs/inspecting-text,
20106	InspectContent(ctx context.Context, in *InspectContentRequest, opts ...grpc.CallOption) (*InspectContentResponse, error)
20107	// Redacts potentially sensitive info from an image.
20108	// This method has limits on input size, processing time, and output size.
20109	// See https://cloud.google.com/dlp/docs/redacting-sensitive-data-images to
20110	// learn more.
20111	//
20112	// When no InfoTypes or CustomInfoTypes are specified in this request, the
20113	// system will automatically choose what detectors to run. By default this may
20114	// be all types, but may change over time as detectors are updated.
20115	RedactImage(ctx context.Context, in *RedactImageRequest, opts ...grpc.CallOption) (*RedactImageResponse, error)
20116	// De-identifies potentially sensitive info from a ContentItem.
20117	// This method has limits on input size and output size.
20118	// See https://cloud.google.com/dlp/docs/deidentify-sensitive-data to
20119	// learn more.
20120	//
20121	// When no InfoTypes or CustomInfoTypes are specified in this request, the
20122	// system will automatically choose what detectors to run. By default this may
20123	// be all types, but may change over time as detectors are updated.
20124	DeidentifyContent(ctx context.Context, in *DeidentifyContentRequest, opts ...grpc.CallOption) (*DeidentifyContentResponse, error)
20125	// Re-identifies content that has been de-identified.
20126	// See
20127	// https://cloud.google.com/dlp/docs/pseudonymization#re-identification_in_free_text_code_example
20128	// to learn more.
20129	ReidentifyContent(ctx context.Context, in *ReidentifyContentRequest, opts ...grpc.CallOption) (*ReidentifyContentResponse, error)
20130	// Returns a list of the sensitive information types that the DLP API
20131	// supports. See https://cloud.google.com/dlp/docs/infotypes-reference to
20132	// learn more.
20133	ListInfoTypes(ctx context.Context, in *ListInfoTypesRequest, opts ...grpc.CallOption) (*ListInfoTypesResponse, error)
20134	// Creates an InspectTemplate for re-using frequently used configuration
20135	// for inspecting content, images, and storage.
20136	// See https://cloud.google.com/dlp/docs/creating-templates to learn more.
20137	CreateInspectTemplate(ctx context.Context, in *CreateInspectTemplateRequest, opts ...grpc.CallOption) (*InspectTemplate, error)
20138	// Updates the InspectTemplate.
20139	// See https://cloud.google.com/dlp/docs/creating-templates to learn more.
20140	UpdateInspectTemplate(ctx context.Context, in *UpdateInspectTemplateRequest, opts ...grpc.CallOption) (*InspectTemplate, error)
20141	// Gets an InspectTemplate.
20142	// See https://cloud.google.com/dlp/docs/creating-templates to learn more.
20143	GetInspectTemplate(ctx context.Context, in *GetInspectTemplateRequest, opts ...grpc.CallOption) (*InspectTemplate, error)
20144	// Lists InspectTemplates.
20145	// See https://cloud.google.com/dlp/docs/creating-templates to learn more.
20146	ListInspectTemplates(ctx context.Context, in *ListInspectTemplatesRequest, opts ...grpc.CallOption) (*ListInspectTemplatesResponse, error)
20147	// Deletes an InspectTemplate.
20148	// See https://cloud.google.com/dlp/docs/creating-templates to learn more.
20149	DeleteInspectTemplate(ctx context.Context, in *DeleteInspectTemplateRequest, opts ...grpc.CallOption) (*empty.Empty, error)
20150	// Creates a DeidentifyTemplate for re-using frequently used configuration
20151	// for de-identifying content, images, and storage.
20152	// See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
20153	// more.
20154	CreateDeidentifyTemplate(ctx context.Context, in *CreateDeidentifyTemplateRequest, opts ...grpc.CallOption) (*DeidentifyTemplate, error)
20155	// Updates the DeidentifyTemplate.
20156	// See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
20157	// more.
20158	UpdateDeidentifyTemplate(ctx context.Context, in *UpdateDeidentifyTemplateRequest, opts ...grpc.CallOption) (*DeidentifyTemplate, error)
20159	// Gets a DeidentifyTemplate.
20160	// See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
20161	// more.
20162	GetDeidentifyTemplate(ctx context.Context, in *GetDeidentifyTemplateRequest, opts ...grpc.CallOption) (*DeidentifyTemplate, error)
20163	// Lists DeidentifyTemplates.
20164	// See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
20165	// more.
20166	ListDeidentifyTemplates(ctx context.Context, in *ListDeidentifyTemplatesRequest, opts ...grpc.CallOption) (*ListDeidentifyTemplatesResponse, error)
20167	// Deletes a DeidentifyTemplate.
20168	// See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
20169	// more.
20170	DeleteDeidentifyTemplate(ctx context.Context, in *DeleteDeidentifyTemplateRequest, opts ...grpc.CallOption) (*empty.Empty, error)
20171	// Creates a job trigger to run DLP actions such as scanning storage for
20172	// sensitive information on a set schedule.
20173	// See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
20174	CreateJobTrigger(ctx context.Context, in *CreateJobTriggerRequest, opts ...grpc.CallOption) (*JobTrigger, error)
20175	// Updates a job trigger.
20176	// See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
20177	UpdateJobTrigger(ctx context.Context, in *UpdateJobTriggerRequest, opts ...grpc.CallOption) (*JobTrigger, error)
20178	// Inspect hybrid content and store findings to a trigger. The inspection
20179	// will be processed asynchronously. To review the findings monitor the
20180	// jobs within the trigger.
20181	// Early access feature is in a pre-release state and might change or have
20182	// limited support. For more information, see
20183	// https://cloud.google.com/products#product-launch-stages.
20184	HybridInspectJobTrigger(ctx context.Context, in *HybridInspectJobTriggerRequest, opts ...grpc.CallOption) (*HybridInspectResponse, error)
20185	// Gets a job trigger.
20186	// See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
20187	GetJobTrigger(ctx context.Context, in *GetJobTriggerRequest, opts ...grpc.CallOption) (*JobTrigger, error)
20188	// Lists job triggers.
20189	// See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
20190	ListJobTriggers(ctx context.Context, in *ListJobTriggersRequest, opts ...grpc.CallOption) (*ListJobTriggersResponse, error)
20191	// Deletes a job trigger.
20192	// See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
20193	DeleteJobTrigger(ctx context.Context, in *DeleteJobTriggerRequest, opts ...grpc.CallOption) (*empty.Empty, error)
20194	// Activate a job trigger. Causes the immediate execute of a trigger
20195	// instead of waiting on the trigger event to occur.
20196	ActivateJobTrigger(ctx context.Context, in *ActivateJobTriggerRequest, opts ...grpc.CallOption) (*DlpJob, error)
20197	// Creates a new job to inspect storage or calculate risk metrics.
20198	// See https://cloud.google.com/dlp/docs/inspecting-storage and
20199	// https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
20200	//
20201	// When no InfoTypes or CustomInfoTypes are specified in inspect jobs, the
20202	// system will automatically choose what detectors to run. By default this may
20203	// be all types, but may change over time as detectors are updated.
20204	CreateDlpJob(ctx context.Context, in *CreateDlpJobRequest, opts ...grpc.CallOption) (*DlpJob, error)
20205	// Lists DlpJobs that match the specified filter in the request.
20206	// See https://cloud.google.com/dlp/docs/inspecting-storage and
20207	// https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
20208	ListDlpJobs(ctx context.Context, in *ListDlpJobsRequest, opts ...grpc.CallOption) (*ListDlpJobsResponse, error)
20209	// Gets the latest state of a long-running DlpJob.
20210	// See https://cloud.google.com/dlp/docs/inspecting-storage and
20211	// https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
20212	GetDlpJob(ctx context.Context, in *GetDlpJobRequest, opts ...grpc.CallOption) (*DlpJob, error)
20213	// Deletes a long-running DlpJob. This method indicates that the client is
20214	// no longer interested in the DlpJob result. The job will be cancelled if
20215	// possible.
20216	// See https://cloud.google.com/dlp/docs/inspecting-storage and
20217	// https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
20218	DeleteDlpJob(ctx context.Context, in *DeleteDlpJobRequest, opts ...grpc.CallOption) (*empty.Empty, error)
20219	// Starts asynchronous cancellation on a long-running DlpJob. The server
20220	// makes a best effort to cancel the DlpJob, but success is not
20221	// guaranteed.
20222	// See https://cloud.google.com/dlp/docs/inspecting-storage and
20223	// https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
20224	CancelDlpJob(ctx context.Context, in *CancelDlpJobRequest, opts ...grpc.CallOption) (*empty.Empty, error)
20225	// Creates a pre-built stored infoType to be used for inspection.
20226	// See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
20227	// learn more.
20228	CreateStoredInfoType(ctx context.Context, in *CreateStoredInfoTypeRequest, opts ...grpc.CallOption) (*StoredInfoType, error)
20229	// Updates the stored infoType by creating a new version. The existing version
20230	// will continue to be used until the new version is ready.
20231	// See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
20232	// learn more.
20233	UpdateStoredInfoType(ctx context.Context, in *UpdateStoredInfoTypeRequest, opts ...grpc.CallOption) (*StoredInfoType, error)
20234	// Gets a stored infoType.
20235	// See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
20236	// learn more.
20237	GetStoredInfoType(ctx context.Context, in *GetStoredInfoTypeRequest, opts ...grpc.CallOption) (*StoredInfoType, error)
20238	// Lists stored infoTypes.
20239	// See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
20240	// learn more.
20241	ListStoredInfoTypes(ctx context.Context, in *ListStoredInfoTypesRequest, opts ...grpc.CallOption) (*ListStoredInfoTypesResponse, error)
20242	// Deletes a stored infoType.
20243	// See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
20244	// learn more.
20245	DeleteStoredInfoType(ctx context.Context, in *DeleteStoredInfoTypeRequest, opts ...grpc.CallOption) (*empty.Empty, error)
20246	// Inspect hybrid content and store findings to a job.
20247	// To review the findings inspect the job. Inspection will occur
20248	// asynchronously.
20249	// Early access feature is in a pre-release state and might change or have
20250	// limited support. For more information, see
20251	// https://cloud.google.com/products#product-launch-stages.
20252	HybridInspectDlpJob(ctx context.Context, in *HybridInspectDlpJobRequest, opts ...grpc.CallOption) (*HybridInspectResponse, error)
20253	// Finish a running hybrid DlpJob. Triggers the finalization steps and running
20254	// of any enabled actions that have not yet run.
20255	// Early access feature is in a pre-release state and might change or have
20256	// limited support. For more information, see
20257	// https://cloud.google.com/products#product-launch-stages.
20258	FinishDlpJob(ctx context.Context, in *FinishDlpJobRequest, opts ...grpc.CallOption) (*empty.Empty, error)
20259}
20260
20261type dlpServiceClient struct {
20262	cc grpc.ClientConnInterface
20263}
20264
20265func NewDlpServiceClient(cc grpc.ClientConnInterface) DlpServiceClient {
20266	return &dlpServiceClient{cc}
20267}
20268
20269func (c *dlpServiceClient) InspectContent(ctx context.Context, in *InspectContentRequest, opts ...grpc.CallOption) (*InspectContentResponse, error) {
20270	out := new(InspectContentResponse)
20271	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/InspectContent", in, out, opts...)
20272	if err != nil {
20273		return nil, err
20274	}
20275	return out, nil
20276}
20277
20278func (c *dlpServiceClient) RedactImage(ctx context.Context, in *RedactImageRequest, opts ...grpc.CallOption) (*RedactImageResponse, error) {
20279	out := new(RedactImageResponse)
20280	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/RedactImage", in, out, opts...)
20281	if err != nil {
20282		return nil, err
20283	}
20284	return out, nil
20285}
20286
20287func (c *dlpServiceClient) DeidentifyContent(ctx context.Context, in *DeidentifyContentRequest, opts ...grpc.CallOption) (*DeidentifyContentResponse, error) {
20288	out := new(DeidentifyContentResponse)
20289	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/DeidentifyContent", in, out, opts...)
20290	if err != nil {
20291		return nil, err
20292	}
20293	return out, nil
20294}
20295
20296func (c *dlpServiceClient) ReidentifyContent(ctx context.Context, in *ReidentifyContentRequest, opts ...grpc.CallOption) (*ReidentifyContentResponse, error) {
20297	out := new(ReidentifyContentResponse)
20298	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/ReidentifyContent", in, out, opts...)
20299	if err != nil {
20300		return nil, err
20301	}
20302	return out, nil
20303}
20304
20305func (c *dlpServiceClient) ListInfoTypes(ctx context.Context, in *ListInfoTypesRequest, opts ...grpc.CallOption) (*ListInfoTypesResponse, error) {
20306	out := new(ListInfoTypesResponse)
20307	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/ListInfoTypes", in, out, opts...)
20308	if err != nil {
20309		return nil, err
20310	}
20311	return out, nil
20312}
20313
20314func (c *dlpServiceClient) CreateInspectTemplate(ctx context.Context, in *CreateInspectTemplateRequest, opts ...grpc.CallOption) (*InspectTemplate, error) {
20315	out := new(InspectTemplate)
20316	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/CreateInspectTemplate", in, out, opts...)
20317	if err != nil {
20318		return nil, err
20319	}
20320	return out, nil
20321}
20322
20323func (c *dlpServiceClient) UpdateInspectTemplate(ctx context.Context, in *UpdateInspectTemplateRequest, opts ...grpc.CallOption) (*InspectTemplate, error) {
20324	out := new(InspectTemplate)
20325	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/UpdateInspectTemplate", in, out, opts...)
20326	if err != nil {
20327		return nil, err
20328	}
20329	return out, nil
20330}
20331
20332func (c *dlpServiceClient) GetInspectTemplate(ctx context.Context, in *GetInspectTemplateRequest, opts ...grpc.CallOption) (*InspectTemplate, error) {
20333	out := new(InspectTemplate)
20334	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/GetInspectTemplate", in, out, opts...)
20335	if err != nil {
20336		return nil, err
20337	}
20338	return out, nil
20339}
20340
20341func (c *dlpServiceClient) ListInspectTemplates(ctx context.Context, in *ListInspectTemplatesRequest, opts ...grpc.CallOption) (*ListInspectTemplatesResponse, error) {
20342	out := new(ListInspectTemplatesResponse)
20343	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/ListInspectTemplates", in, out, opts...)
20344	if err != nil {
20345		return nil, err
20346	}
20347	return out, nil
20348}
20349
20350func (c *dlpServiceClient) DeleteInspectTemplate(ctx context.Context, in *DeleteInspectTemplateRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
20351	out := new(empty.Empty)
20352	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/DeleteInspectTemplate", in, out, opts...)
20353	if err != nil {
20354		return nil, err
20355	}
20356	return out, nil
20357}
20358
20359func (c *dlpServiceClient) CreateDeidentifyTemplate(ctx context.Context, in *CreateDeidentifyTemplateRequest, opts ...grpc.CallOption) (*DeidentifyTemplate, error) {
20360	out := new(DeidentifyTemplate)
20361	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/CreateDeidentifyTemplate", in, out, opts...)
20362	if err != nil {
20363		return nil, err
20364	}
20365	return out, nil
20366}
20367
20368func (c *dlpServiceClient) UpdateDeidentifyTemplate(ctx context.Context, in *UpdateDeidentifyTemplateRequest, opts ...grpc.CallOption) (*DeidentifyTemplate, error) {
20369	out := new(DeidentifyTemplate)
20370	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/UpdateDeidentifyTemplate", in, out, opts...)
20371	if err != nil {
20372		return nil, err
20373	}
20374	return out, nil
20375}
20376
20377func (c *dlpServiceClient) GetDeidentifyTemplate(ctx context.Context, in *GetDeidentifyTemplateRequest, opts ...grpc.CallOption) (*DeidentifyTemplate, error) {
20378	out := new(DeidentifyTemplate)
20379	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/GetDeidentifyTemplate", in, out, opts...)
20380	if err != nil {
20381		return nil, err
20382	}
20383	return out, nil
20384}
20385
20386func (c *dlpServiceClient) ListDeidentifyTemplates(ctx context.Context, in *ListDeidentifyTemplatesRequest, opts ...grpc.CallOption) (*ListDeidentifyTemplatesResponse, error) {
20387	out := new(ListDeidentifyTemplatesResponse)
20388	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/ListDeidentifyTemplates", in, out, opts...)
20389	if err != nil {
20390		return nil, err
20391	}
20392	return out, nil
20393}
20394
20395func (c *dlpServiceClient) DeleteDeidentifyTemplate(ctx context.Context, in *DeleteDeidentifyTemplateRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
20396	out := new(empty.Empty)
20397	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/DeleteDeidentifyTemplate", in, out, opts...)
20398	if err != nil {
20399		return nil, err
20400	}
20401	return out, nil
20402}
20403
20404func (c *dlpServiceClient) CreateJobTrigger(ctx context.Context, in *CreateJobTriggerRequest, opts ...grpc.CallOption) (*JobTrigger, error) {
20405	out := new(JobTrigger)
20406	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/CreateJobTrigger", in, out, opts...)
20407	if err != nil {
20408		return nil, err
20409	}
20410	return out, nil
20411}
20412
20413func (c *dlpServiceClient) UpdateJobTrigger(ctx context.Context, in *UpdateJobTriggerRequest, opts ...grpc.CallOption) (*JobTrigger, error) {
20414	out := new(JobTrigger)
20415	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/UpdateJobTrigger", in, out, opts...)
20416	if err != nil {
20417		return nil, err
20418	}
20419	return out, nil
20420}
20421
20422func (c *dlpServiceClient) HybridInspectJobTrigger(ctx context.Context, in *HybridInspectJobTriggerRequest, opts ...grpc.CallOption) (*HybridInspectResponse, error) {
20423	out := new(HybridInspectResponse)
20424	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/HybridInspectJobTrigger", in, out, opts...)
20425	if err != nil {
20426		return nil, err
20427	}
20428	return out, nil
20429}
20430
20431func (c *dlpServiceClient) GetJobTrigger(ctx context.Context, in *GetJobTriggerRequest, opts ...grpc.CallOption) (*JobTrigger, error) {
20432	out := new(JobTrigger)
20433	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/GetJobTrigger", in, out, opts...)
20434	if err != nil {
20435		return nil, err
20436	}
20437	return out, nil
20438}
20439
20440func (c *dlpServiceClient) ListJobTriggers(ctx context.Context, in *ListJobTriggersRequest, opts ...grpc.CallOption) (*ListJobTriggersResponse, error) {
20441	out := new(ListJobTriggersResponse)
20442	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/ListJobTriggers", in, out, opts...)
20443	if err != nil {
20444		return nil, err
20445	}
20446	return out, nil
20447}
20448
20449func (c *dlpServiceClient) DeleteJobTrigger(ctx context.Context, in *DeleteJobTriggerRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
20450	out := new(empty.Empty)
20451	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/DeleteJobTrigger", in, out, opts...)
20452	if err != nil {
20453		return nil, err
20454	}
20455	return out, nil
20456}
20457
20458func (c *dlpServiceClient) ActivateJobTrigger(ctx context.Context, in *ActivateJobTriggerRequest, opts ...grpc.CallOption) (*DlpJob, error) {
20459	out := new(DlpJob)
20460	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/ActivateJobTrigger", in, out, opts...)
20461	if err != nil {
20462		return nil, err
20463	}
20464	return out, nil
20465}
20466
20467func (c *dlpServiceClient) CreateDlpJob(ctx context.Context, in *CreateDlpJobRequest, opts ...grpc.CallOption) (*DlpJob, error) {
20468	out := new(DlpJob)
20469	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/CreateDlpJob", in, out, opts...)
20470	if err != nil {
20471		return nil, err
20472	}
20473	return out, nil
20474}
20475
20476func (c *dlpServiceClient) ListDlpJobs(ctx context.Context, in *ListDlpJobsRequest, opts ...grpc.CallOption) (*ListDlpJobsResponse, error) {
20477	out := new(ListDlpJobsResponse)
20478	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/ListDlpJobs", in, out, opts...)
20479	if err != nil {
20480		return nil, err
20481	}
20482	return out, nil
20483}
20484
20485func (c *dlpServiceClient) GetDlpJob(ctx context.Context, in *GetDlpJobRequest, opts ...grpc.CallOption) (*DlpJob, error) {
20486	out := new(DlpJob)
20487	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/GetDlpJob", in, out, opts...)
20488	if err != nil {
20489		return nil, err
20490	}
20491	return out, nil
20492}
20493
20494func (c *dlpServiceClient) DeleteDlpJob(ctx context.Context, in *DeleteDlpJobRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
20495	out := new(empty.Empty)
20496	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/DeleteDlpJob", in, out, opts...)
20497	if err != nil {
20498		return nil, err
20499	}
20500	return out, nil
20501}
20502
20503func (c *dlpServiceClient) CancelDlpJob(ctx context.Context, in *CancelDlpJobRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
20504	out := new(empty.Empty)
20505	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/CancelDlpJob", in, out, opts...)
20506	if err != nil {
20507		return nil, err
20508	}
20509	return out, nil
20510}
20511
20512func (c *dlpServiceClient) CreateStoredInfoType(ctx context.Context, in *CreateStoredInfoTypeRequest, opts ...grpc.CallOption) (*StoredInfoType, error) {
20513	out := new(StoredInfoType)
20514	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/CreateStoredInfoType", in, out, opts...)
20515	if err != nil {
20516		return nil, err
20517	}
20518	return out, nil
20519}
20520
20521func (c *dlpServiceClient) UpdateStoredInfoType(ctx context.Context, in *UpdateStoredInfoTypeRequest, opts ...grpc.CallOption) (*StoredInfoType, error) {
20522	out := new(StoredInfoType)
20523	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/UpdateStoredInfoType", in, out, opts...)
20524	if err != nil {
20525		return nil, err
20526	}
20527	return out, nil
20528}
20529
20530func (c *dlpServiceClient) GetStoredInfoType(ctx context.Context, in *GetStoredInfoTypeRequest, opts ...grpc.CallOption) (*StoredInfoType, error) {
20531	out := new(StoredInfoType)
20532	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/GetStoredInfoType", in, out, opts...)
20533	if err != nil {
20534		return nil, err
20535	}
20536	return out, nil
20537}
20538
20539func (c *dlpServiceClient) ListStoredInfoTypes(ctx context.Context, in *ListStoredInfoTypesRequest, opts ...grpc.CallOption) (*ListStoredInfoTypesResponse, error) {
20540	out := new(ListStoredInfoTypesResponse)
20541	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/ListStoredInfoTypes", in, out, opts...)
20542	if err != nil {
20543		return nil, err
20544	}
20545	return out, nil
20546}
20547
20548func (c *dlpServiceClient) DeleteStoredInfoType(ctx context.Context, in *DeleteStoredInfoTypeRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
20549	out := new(empty.Empty)
20550	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/DeleteStoredInfoType", in, out, opts...)
20551	if err != nil {
20552		return nil, err
20553	}
20554	return out, nil
20555}
20556
20557func (c *dlpServiceClient) HybridInspectDlpJob(ctx context.Context, in *HybridInspectDlpJobRequest, opts ...grpc.CallOption) (*HybridInspectResponse, error) {
20558	out := new(HybridInspectResponse)
20559	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/HybridInspectDlpJob", in, out, opts...)
20560	if err != nil {
20561		return nil, err
20562	}
20563	return out, nil
20564}
20565
20566func (c *dlpServiceClient) FinishDlpJob(ctx context.Context, in *FinishDlpJobRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
20567	out := new(empty.Empty)
20568	err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/FinishDlpJob", in, out, opts...)
20569	if err != nil {
20570		return nil, err
20571	}
20572	return out, nil
20573}
20574
20575// DlpServiceServer is the server API for DlpService service.
20576type DlpServiceServer interface {
20577	// Finds potentially sensitive info in content.
20578	// This method has limits on input size, processing time, and output size.
20579	//
20580	// When no InfoTypes or CustomInfoTypes are specified in this request, the
20581	// system will automatically choose what detectors to run. By default this may
20582	// be all types, but may change over time as detectors are updated.
20583	//
20584	// For how to guides, see https://cloud.google.com/dlp/docs/inspecting-images
20585	// and https://cloud.google.com/dlp/docs/inspecting-text,
20586	InspectContent(context.Context, *InspectContentRequest) (*InspectContentResponse, error)
20587	// Redacts potentially sensitive info from an image.
20588	// This method has limits on input size, processing time, and output size.
20589	// See https://cloud.google.com/dlp/docs/redacting-sensitive-data-images to
20590	// learn more.
20591	//
20592	// When no InfoTypes or CustomInfoTypes are specified in this request, the
20593	// system will automatically choose what detectors to run. By default this may
20594	// be all types, but may change over time as detectors are updated.
20595	RedactImage(context.Context, *RedactImageRequest) (*RedactImageResponse, error)
20596	// De-identifies potentially sensitive info from a ContentItem.
20597	// This method has limits on input size and output size.
20598	// See https://cloud.google.com/dlp/docs/deidentify-sensitive-data to
20599	// learn more.
20600	//
20601	// When no InfoTypes or CustomInfoTypes are specified in this request, the
20602	// system will automatically choose what detectors to run. By default this may
20603	// be all types, but may change over time as detectors are updated.
20604	DeidentifyContent(context.Context, *DeidentifyContentRequest) (*DeidentifyContentResponse, error)
20605	// Re-identifies content that has been de-identified.
20606	// See
20607	// https://cloud.google.com/dlp/docs/pseudonymization#re-identification_in_free_text_code_example
20608	// to learn more.
20609	ReidentifyContent(context.Context, *ReidentifyContentRequest) (*ReidentifyContentResponse, error)
20610	// Returns a list of the sensitive information types that the DLP API
20611	// supports. See https://cloud.google.com/dlp/docs/infotypes-reference to
20612	// learn more.
20613	ListInfoTypes(context.Context, *ListInfoTypesRequest) (*ListInfoTypesResponse, error)
20614	// Creates an InspectTemplate for re-using frequently used configuration
20615	// for inspecting content, images, and storage.
20616	// See https://cloud.google.com/dlp/docs/creating-templates to learn more.
20617	CreateInspectTemplate(context.Context, *CreateInspectTemplateRequest) (*InspectTemplate, error)
20618	// Updates the InspectTemplate.
20619	// See https://cloud.google.com/dlp/docs/creating-templates to learn more.
20620	UpdateInspectTemplate(context.Context, *UpdateInspectTemplateRequest) (*InspectTemplate, error)
20621	// Gets an InspectTemplate.
20622	// See https://cloud.google.com/dlp/docs/creating-templates to learn more.
20623	GetInspectTemplate(context.Context, *GetInspectTemplateRequest) (*InspectTemplate, error)
20624	// Lists InspectTemplates.
20625	// See https://cloud.google.com/dlp/docs/creating-templates to learn more.
20626	ListInspectTemplates(context.Context, *ListInspectTemplatesRequest) (*ListInspectTemplatesResponse, error)
20627	// Deletes an InspectTemplate.
20628	// See https://cloud.google.com/dlp/docs/creating-templates to learn more.
20629	DeleteInspectTemplate(context.Context, *DeleteInspectTemplateRequest) (*empty.Empty, error)
20630	// Creates a DeidentifyTemplate for re-using frequently used configuration
20631	// for de-identifying content, images, and storage.
20632	// See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
20633	// more.
20634	CreateDeidentifyTemplate(context.Context, *CreateDeidentifyTemplateRequest) (*DeidentifyTemplate, error)
20635	// Updates the DeidentifyTemplate.
20636	// See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
20637	// more.
20638	UpdateDeidentifyTemplate(context.Context, *UpdateDeidentifyTemplateRequest) (*DeidentifyTemplate, error)
20639	// Gets a DeidentifyTemplate.
20640	// See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
20641	// more.
20642	GetDeidentifyTemplate(context.Context, *GetDeidentifyTemplateRequest) (*DeidentifyTemplate, error)
20643	// Lists DeidentifyTemplates.
20644	// See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
20645	// more.
20646	ListDeidentifyTemplates(context.Context, *ListDeidentifyTemplatesRequest) (*ListDeidentifyTemplatesResponse, error)
20647	// Deletes a DeidentifyTemplate.
20648	// See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
20649	// more.
20650	DeleteDeidentifyTemplate(context.Context, *DeleteDeidentifyTemplateRequest) (*empty.Empty, error)
20651	// Creates a job trigger to run DLP actions such as scanning storage for
20652	// sensitive information on a set schedule.
20653	// See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
20654	CreateJobTrigger(context.Context, *CreateJobTriggerRequest) (*JobTrigger, error)
20655	// Updates a job trigger.
20656	// See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
20657	UpdateJobTrigger(context.Context, *UpdateJobTriggerRequest) (*JobTrigger, error)
20658	// Inspect hybrid content and store findings to a trigger. The inspection
20659	// will be processed asynchronously. To review the findings monitor the
20660	// jobs within the trigger.
20661	// Early access feature is in a pre-release state and might change or have
20662	// limited support. For more information, see
20663	// https://cloud.google.com/products#product-launch-stages.
20664	HybridInspectJobTrigger(context.Context, *HybridInspectJobTriggerRequest) (*HybridInspectResponse, error)
20665	// Gets a job trigger.
20666	// See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
20667	GetJobTrigger(context.Context, *GetJobTriggerRequest) (*JobTrigger, error)
20668	// Lists job triggers.
20669	// See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
20670	ListJobTriggers(context.Context, *ListJobTriggersRequest) (*ListJobTriggersResponse, error)
20671	// Deletes a job trigger.
20672	// See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
20673	DeleteJobTrigger(context.Context, *DeleteJobTriggerRequest) (*empty.Empty, error)
20674	// Activate a job trigger. Causes the immediate execute of a trigger
20675	// instead of waiting on the trigger event to occur.
20676	ActivateJobTrigger(context.Context, *ActivateJobTriggerRequest) (*DlpJob, error)
20677	// Creates a new job to inspect storage or calculate risk metrics.
20678	// See https://cloud.google.com/dlp/docs/inspecting-storage and
20679	// https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
20680	//
20681	// When no InfoTypes or CustomInfoTypes are specified in inspect jobs, the
20682	// system will automatically choose what detectors to run. By default this may
20683	// be all types, but may change over time as detectors are updated.
20684	CreateDlpJob(context.Context, *CreateDlpJobRequest) (*DlpJob, error)
20685	// Lists DlpJobs that match the specified filter in the request.
20686	// See https://cloud.google.com/dlp/docs/inspecting-storage and
20687	// https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
20688	ListDlpJobs(context.Context, *ListDlpJobsRequest) (*ListDlpJobsResponse, error)
20689	// Gets the latest state of a long-running DlpJob.
20690	// See https://cloud.google.com/dlp/docs/inspecting-storage and
20691	// https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
20692	GetDlpJob(context.Context, *GetDlpJobRequest) (*DlpJob, error)
20693	// Deletes a long-running DlpJob. This method indicates that the client is
20694	// no longer interested in the DlpJob result. The job will be cancelled if
20695	// possible.
20696	// See https://cloud.google.com/dlp/docs/inspecting-storage and
20697	// https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
20698	DeleteDlpJob(context.Context, *DeleteDlpJobRequest) (*empty.Empty, error)
20699	// Starts asynchronous cancellation on a long-running DlpJob. The server
20700	// makes a best effort to cancel the DlpJob, but success is not
20701	// guaranteed.
20702	// See https://cloud.google.com/dlp/docs/inspecting-storage and
20703	// https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
20704	CancelDlpJob(context.Context, *CancelDlpJobRequest) (*empty.Empty, error)
20705	// Creates a pre-built stored infoType to be used for inspection.
20706	// See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
20707	// learn more.
20708	CreateStoredInfoType(context.Context, *CreateStoredInfoTypeRequest) (*StoredInfoType, error)
20709	// Updates the stored infoType by creating a new version. The existing version
20710	// will continue to be used until the new version is ready.
20711	// See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
20712	// learn more.
20713	UpdateStoredInfoType(context.Context, *UpdateStoredInfoTypeRequest) (*StoredInfoType, error)
20714	// Gets a stored infoType.
20715	// See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
20716	// learn more.
20717	GetStoredInfoType(context.Context, *GetStoredInfoTypeRequest) (*StoredInfoType, error)
20718	// Lists stored infoTypes.
20719	// See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
20720	// learn more.
20721	ListStoredInfoTypes(context.Context, *ListStoredInfoTypesRequest) (*ListStoredInfoTypesResponse, error)
20722	// Deletes a stored infoType.
20723	// See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
20724	// learn more.
20725	DeleteStoredInfoType(context.Context, *DeleteStoredInfoTypeRequest) (*empty.Empty, error)
20726	// Inspect hybrid content and store findings to a job.
20727	// To review the findings inspect the job. Inspection will occur
20728	// asynchronously.
20729	// Early access feature is in a pre-release state and might change or have
20730	// limited support. For more information, see
20731	// https://cloud.google.com/products#product-launch-stages.
20732	HybridInspectDlpJob(context.Context, *HybridInspectDlpJobRequest) (*HybridInspectResponse, error)
20733	// Finish a running hybrid DlpJob. Triggers the finalization steps and running
20734	// of any enabled actions that have not yet run.
20735	// Early access feature is in a pre-release state and might change or have
20736	// limited support. For more information, see
20737	// https://cloud.google.com/products#product-launch-stages.
20738	FinishDlpJob(context.Context, *FinishDlpJobRequest) (*empty.Empty, error)
20739}
20740
20741// UnimplementedDlpServiceServer can be embedded to have forward compatible implementations.
20742type UnimplementedDlpServiceServer struct {
20743}
20744
20745func (*UnimplementedDlpServiceServer) InspectContent(context.Context, *InspectContentRequest) (*InspectContentResponse, error) {
20746	return nil, status1.Errorf(codes.Unimplemented, "method InspectContent not implemented")
20747}
20748func (*UnimplementedDlpServiceServer) RedactImage(context.Context, *RedactImageRequest) (*RedactImageResponse, error) {
20749	return nil, status1.Errorf(codes.Unimplemented, "method RedactImage not implemented")
20750}
20751func (*UnimplementedDlpServiceServer) DeidentifyContent(context.Context, *DeidentifyContentRequest) (*DeidentifyContentResponse, error) {
20752	return nil, status1.Errorf(codes.Unimplemented, "method DeidentifyContent not implemented")
20753}
20754func (*UnimplementedDlpServiceServer) ReidentifyContent(context.Context, *ReidentifyContentRequest) (*ReidentifyContentResponse, error) {
20755	return nil, status1.Errorf(codes.Unimplemented, "method ReidentifyContent not implemented")
20756}
20757func (*UnimplementedDlpServiceServer) ListInfoTypes(context.Context, *ListInfoTypesRequest) (*ListInfoTypesResponse, error) {
20758	return nil, status1.Errorf(codes.Unimplemented, "method ListInfoTypes not implemented")
20759}
20760func (*UnimplementedDlpServiceServer) CreateInspectTemplate(context.Context, *CreateInspectTemplateRequest) (*InspectTemplate, error) {
20761	return nil, status1.Errorf(codes.Unimplemented, "method CreateInspectTemplate not implemented")
20762}
20763func (*UnimplementedDlpServiceServer) UpdateInspectTemplate(context.Context, *UpdateInspectTemplateRequest) (*InspectTemplate, error) {
20764	return nil, status1.Errorf(codes.Unimplemented, "method UpdateInspectTemplate not implemented")
20765}
20766func (*UnimplementedDlpServiceServer) GetInspectTemplate(context.Context, *GetInspectTemplateRequest) (*InspectTemplate, error) {
20767	return nil, status1.Errorf(codes.Unimplemented, "method GetInspectTemplate not implemented")
20768}
20769func (*UnimplementedDlpServiceServer) ListInspectTemplates(context.Context, *ListInspectTemplatesRequest) (*ListInspectTemplatesResponse, error) {
20770	return nil, status1.Errorf(codes.Unimplemented, "method ListInspectTemplates not implemented")
20771}
20772func (*UnimplementedDlpServiceServer) DeleteInspectTemplate(context.Context, *DeleteInspectTemplateRequest) (*empty.Empty, error) {
20773	return nil, status1.Errorf(codes.Unimplemented, "method DeleteInspectTemplate not implemented")
20774}
20775func (*UnimplementedDlpServiceServer) CreateDeidentifyTemplate(context.Context, *CreateDeidentifyTemplateRequest) (*DeidentifyTemplate, error) {
20776	return nil, status1.Errorf(codes.Unimplemented, "method CreateDeidentifyTemplate not implemented")
20777}
20778func (*UnimplementedDlpServiceServer) UpdateDeidentifyTemplate(context.Context, *UpdateDeidentifyTemplateRequest) (*DeidentifyTemplate, error) {
20779	return nil, status1.Errorf(codes.Unimplemented, "method UpdateDeidentifyTemplate not implemented")
20780}
20781func (*UnimplementedDlpServiceServer) GetDeidentifyTemplate(context.Context, *GetDeidentifyTemplateRequest) (*DeidentifyTemplate, error) {
20782	return nil, status1.Errorf(codes.Unimplemented, "method GetDeidentifyTemplate not implemented")
20783}
20784func (*UnimplementedDlpServiceServer) ListDeidentifyTemplates(context.Context, *ListDeidentifyTemplatesRequest) (*ListDeidentifyTemplatesResponse, error) {
20785	return nil, status1.Errorf(codes.Unimplemented, "method ListDeidentifyTemplates not implemented")
20786}
20787func (*UnimplementedDlpServiceServer) DeleteDeidentifyTemplate(context.Context, *DeleteDeidentifyTemplateRequest) (*empty.Empty, error) {
20788	return nil, status1.Errorf(codes.Unimplemented, "method DeleteDeidentifyTemplate not implemented")
20789}
20790func (*UnimplementedDlpServiceServer) CreateJobTrigger(context.Context, *CreateJobTriggerRequest) (*JobTrigger, error) {
20791	return nil, status1.Errorf(codes.Unimplemented, "method CreateJobTrigger not implemented")
20792}
20793func (*UnimplementedDlpServiceServer) UpdateJobTrigger(context.Context, *UpdateJobTriggerRequest) (*JobTrigger, error) {
20794	return nil, status1.Errorf(codes.Unimplemented, "method UpdateJobTrigger not implemented")
20795}
20796func (*UnimplementedDlpServiceServer) HybridInspectJobTrigger(context.Context, *HybridInspectJobTriggerRequest) (*HybridInspectResponse, error) {
20797	return nil, status1.Errorf(codes.Unimplemented, "method HybridInspectJobTrigger not implemented")
20798}
20799func (*UnimplementedDlpServiceServer) GetJobTrigger(context.Context, *GetJobTriggerRequest) (*JobTrigger, error) {
20800	return nil, status1.Errorf(codes.Unimplemented, "method GetJobTrigger not implemented")
20801}
20802func (*UnimplementedDlpServiceServer) ListJobTriggers(context.Context, *ListJobTriggersRequest) (*ListJobTriggersResponse, error) {
20803	return nil, status1.Errorf(codes.Unimplemented, "method ListJobTriggers not implemented")
20804}
20805func (*UnimplementedDlpServiceServer) DeleteJobTrigger(context.Context, *DeleteJobTriggerRequest) (*empty.Empty, error) {
20806	return nil, status1.Errorf(codes.Unimplemented, "method DeleteJobTrigger not implemented")
20807}
20808func (*UnimplementedDlpServiceServer) ActivateJobTrigger(context.Context, *ActivateJobTriggerRequest) (*DlpJob, error) {
20809	return nil, status1.Errorf(codes.Unimplemented, "method ActivateJobTrigger not implemented")
20810}
20811func (*UnimplementedDlpServiceServer) CreateDlpJob(context.Context, *CreateDlpJobRequest) (*DlpJob, error) {
20812	return nil, status1.Errorf(codes.Unimplemented, "method CreateDlpJob not implemented")
20813}
20814func (*UnimplementedDlpServiceServer) ListDlpJobs(context.Context, *ListDlpJobsRequest) (*ListDlpJobsResponse, error) {
20815	return nil, status1.Errorf(codes.Unimplemented, "method ListDlpJobs not implemented")
20816}
20817func (*UnimplementedDlpServiceServer) GetDlpJob(context.Context, *GetDlpJobRequest) (*DlpJob, error) {
20818	return nil, status1.Errorf(codes.Unimplemented, "method GetDlpJob not implemented")
20819}
20820func (*UnimplementedDlpServiceServer) DeleteDlpJob(context.Context, *DeleteDlpJobRequest) (*empty.Empty, error) {
20821	return nil, status1.Errorf(codes.Unimplemented, "method DeleteDlpJob not implemented")
20822}
20823func (*UnimplementedDlpServiceServer) CancelDlpJob(context.Context, *CancelDlpJobRequest) (*empty.Empty, error) {
20824	return nil, status1.Errorf(codes.Unimplemented, "method CancelDlpJob not implemented")
20825}
20826func (*UnimplementedDlpServiceServer) CreateStoredInfoType(context.Context, *CreateStoredInfoTypeRequest) (*StoredInfoType, error) {
20827	return nil, status1.Errorf(codes.Unimplemented, "method CreateStoredInfoType not implemented")
20828}
20829func (*UnimplementedDlpServiceServer) UpdateStoredInfoType(context.Context, *UpdateStoredInfoTypeRequest) (*StoredInfoType, error) {
20830	return nil, status1.Errorf(codes.Unimplemented, "method UpdateStoredInfoType not implemented")
20831}
20832func (*UnimplementedDlpServiceServer) GetStoredInfoType(context.Context, *GetStoredInfoTypeRequest) (*StoredInfoType, error) {
20833	return nil, status1.Errorf(codes.Unimplemented, "method GetStoredInfoType not implemented")
20834}
20835func (*UnimplementedDlpServiceServer) ListStoredInfoTypes(context.Context, *ListStoredInfoTypesRequest) (*ListStoredInfoTypesResponse, error) {
20836	return nil, status1.Errorf(codes.Unimplemented, "method ListStoredInfoTypes not implemented")
20837}
20838func (*UnimplementedDlpServiceServer) DeleteStoredInfoType(context.Context, *DeleteStoredInfoTypeRequest) (*empty.Empty, error) {
20839	return nil, status1.Errorf(codes.Unimplemented, "method DeleteStoredInfoType not implemented")
20840}
20841func (*UnimplementedDlpServiceServer) HybridInspectDlpJob(context.Context, *HybridInspectDlpJobRequest) (*HybridInspectResponse, error) {
20842	return nil, status1.Errorf(codes.Unimplemented, "method HybridInspectDlpJob not implemented")
20843}
20844func (*UnimplementedDlpServiceServer) FinishDlpJob(context.Context, *FinishDlpJobRequest) (*empty.Empty, error) {
20845	return nil, status1.Errorf(codes.Unimplemented, "method FinishDlpJob not implemented")
20846}
20847
20848func RegisterDlpServiceServer(s *grpc.Server, srv DlpServiceServer) {
20849	s.RegisterService(&_DlpService_serviceDesc, srv)
20850}
20851
20852func _DlpService_InspectContent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
20853	in := new(InspectContentRequest)
20854	if err := dec(in); err != nil {
20855		return nil, err
20856	}
20857	if interceptor == nil {
20858		return srv.(DlpServiceServer).InspectContent(ctx, in)
20859	}
20860	info := &grpc.UnaryServerInfo{
20861		Server:     srv,
20862		FullMethod: "/google.privacy.dlp.v2.DlpService/InspectContent",
20863	}
20864	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
20865		return srv.(DlpServiceServer).InspectContent(ctx, req.(*InspectContentRequest))
20866	}
20867	return interceptor(ctx, in, info, handler)
20868}
20869
20870func _DlpService_RedactImage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
20871	in := new(RedactImageRequest)
20872	if err := dec(in); err != nil {
20873		return nil, err
20874	}
20875	if interceptor == nil {
20876		return srv.(DlpServiceServer).RedactImage(ctx, in)
20877	}
20878	info := &grpc.UnaryServerInfo{
20879		Server:     srv,
20880		FullMethod: "/google.privacy.dlp.v2.DlpService/RedactImage",
20881	}
20882	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
20883		return srv.(DlpServiceServer).RedactImage(ctx, req.(*RedactImageRequest))
20884	}
20885	return interceptor(ctx, in, info, handler)
20886}
20887
20888func _DlpService_DeidentifyContent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
20889	in := new(DeidentifyContentRequest)
20890	if err := dec(in); err != nil {
20891		return nil, err
20892	}
20893	if interceptor == nil {
20894		return srv.(DlpServiceServer).DeidentifyContent(ctx, in)
20895	}
20896	info := &grpc.UnaryServerInfo{
20897		Server:     srv,
20898		FullMethod: "/google.privacy.dlp.v2.DlpService/DeidentifyContent",
20899	}
20900	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
20901		return srv.(DlpServiceServer).DeidentifyContent(ctx, req.(*DeidentifyContentRequest))
20902	}
20903	return interceptor(ctx, in, info, handler)
20904}
20905
20906func _DlpService_ReidentifyContent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
20907	in := new(ReidentifyContentRequest)
20908	if err := dec(in); err != nil {
20909		return nil, err
20910	}
20911	if interceptor == nil {
20912		return srv.(DlpServiceServer).ReidentifyContent(ctx, in)
20913	}
20914	info := &grpc.UnaryServerInfo{
20915		Server:     srv,
20916		FullMethod: "/google.privacy.dlp.v2.DlpService/ReidentifyContent",
20917	}
20918	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
20919		return srv.(DlpServiceServer).ReidentifyContent(ctx, req.(*ReidentifyContentRequest))
20920	}
20921	return interceptor(ctx, in, info, handler)
20922}
20923
20924func _DlpService_ListInfoTypes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
20925	in := new(ListInfoTypesRequest)
20926	if err := dec(in); err != nil {
20927		return nil, err
20928	}
20929	if interceptor == nil {
20930		return srv.(DlpServiceServer).ListInfoTypes(ctx, in)
20931	}
20932	info := &grpc.UnaryServerInfo{
20933		Server:     srv,
20934		FullMethod: "/google.privacy.dlp.v2.DlpService/ListInfoTypes",
20935	}
20936	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
20937		return srv.(DlpServiceServer).ListInfoTypes(ctx, req.(*ListInfoTypesRequest))
20938	}
20939	return interceptor(ctx, in, info, handler)
20940}
20941
20942func _DlpService_CreateInspectTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
20943	in := new(CreateInspectTemplateRequest)
20944	if err := dec(in); err != nil {
20945		return nil, err
20946	}
20947	if interceptor == nil {
20948		return srv.(DlpServiceServer).CreateInspectTemplate(ctx, in)
20949	}
20950	info := &grpc.UnaryServerInfo{
20951		Server:     srv,
20952		FullMethod: "/google.privacy.dlp.v2.DlpService/CreateInspectTemplate",
20953	}
20954	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
20955		return srv.(DlpServiceServer).CreateInspectTemplate(ctx, req.(*CreateInspectTemplateRequest))
20956	}
20957	return interceptor(ctx, in, info, handler)
20958}
20959
20960func _DlpService_UpdateInspectTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
20961	in := new(UpdateInspectTemplateRequest)
20962	if err := dec(in); err != nil {
20963		return nil, err
20964	}
20965	if interceptor == nil {
20966		return srv.(DlpServiceServer).UpdateInspectTemplate(ctx, in)
20967	}
20968	info := &grpc.UnaryServerInfo{
20969		Server:     srv,
20970		FullMethod: "/google.privacy.dlp.v2.DlpService/UpdateInspectTemplate",
20971	}
20972	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
20973		return srv.(DlpServiceServer).UpdateInspectTemplate(ctx, req.(*UpdateInspectTemplateRequest))
20974	}
20975	return interceptor(ctx, in, info, handler)
20976}
20977
20978func _DlpService_GetInspectTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
20979	in := new(GetInspectTemplateRequest)
20980	if err := dec(in); err != nil {
20981		return nil, err
20982	}
20983	if interceptor == nil {
20984		return srv.(DlpServiceServer).GetInspectTemplate(ctx, in)
20985	}
20986	info := &grpc.UnaryServerInfo{
20987		Server:     srv,
20988		FullMethod: "/google.privacy.dlp.v2.DlpService/GetInspectTemplate",
20989	}
20990	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
20991		return srv.(DlpServiceServer).GetInspectTemplate(ctx, req.(*GetInspectTemplateRequest))
20992	}
20993	return interceptor(ctx, in, info, handler)
20994}
20995
20996func _DlpService_ListInspectTemplates_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
20997	in := new(ListInspectTemplatesRequest)
20998	if err := dec(in); err != nil {
20999		return nil, err
21000	}
21001	if interceptor == nil {
21002		return srv.(DlpServiceServer).ListInspectTemplates(ctx, in)
21003	}
21004	info := &grpc.UnaryServerInfo{
21005		Server:     srv,
21006		FullMethod: "/google.privacy.dlp.v2.DlpService/ListInspectTemplates",
21007	}
21008	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
21009		return srv.(DlpServiceServer).ListInspectTemplates(ctx, req.(*ListInspectTemplatesRequest))
21010	}
21011	return interceptor(ctx, in, info, handler)
21012}
21013
21014func _DlpService_DeleteInspectTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
21015	in := new(DeleteInspectTemplateRequest)
21016	if err := dec(in); err != nil {
21017		return nil, err
21018	}
21019	if interceptor == nil {
21020		return srv.(DlpServiceServer).DeleteInspectTemplate(ctx, in)
21021	}
21022	info := &grpc.UnaryServerInfo{
21023		Server:     srv,
21024		FullMethod: "/google.privacy.dlp.v2.DlpService/DeleteInspectTemplate",
21025	}
21026	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
21027		return srv.(DlpServiceServer).DeleteInspectTemplate(ctx, req.(*DeleteInspectTemplateRequest))
21028	}
21029	return interceptor(ctx, in, info, handler)
21030}
21031
21032func _DlpService_CreateDeidentifyTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
21033	in := new(CreateDeidentifyTemplateRequest)
21034	if err := dec(in); err != nil {
21035		return nil, err
21036	}
21037	if interceptor == nil {
21038		return srv.(DlpServiceServer).CreateDeidentifyTemplate(ctx, in)
21039	}
21040	info := &grpc.UnaryServerInfo{
21041		Server:     srv,
21042		FullMethod: "/google.privacy.dlp.v2.DlpService/CreateDeidentifyTemplate",
21043	}
21044	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
21045		return srv.(DlpServiceServer).CreateDeidentifyTemplate(ctx, req.(*CreateDeidentifyTemplateRequest))
21046	}
21047	return interceptor(ctx, in, info, handler)
21048}
21049
21050func _DlpService_UpdateDeidentifyTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
21051	in := new(UpdateDeidentifyTemplateRequest)
21052	if err := dec(in); err != nil {
21053		return nil, err
21054	}
21055	if interceptor == nil {
21056		return srv.(DlpServiceServer).UpdateDeidentifyTemplate(ctx, in)
21057	}
21058	info := &grpc.UnaryServerInfo{
21059		Server:     srv,
21060		FullMethod: "/google.privacy.dlp.v2.DlpService/UpdateDeidentifyTemplate",
21061	}
21062	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
21063		return srv.(DlpServiceServer).UpdateDeidentifyTemplate(ctx, req.(*UpdateDeidentifyTemplateRequest))
21064	}
21065	return interceptor(ctx, in, info, handler)
21066}
21067
21068func _DlpService_GetDeidentifyTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
21069	in := new(GetDeidentifyTemplateRequest)
21070	if err := dec(in); err != nil {
21071		return nil, err
21072	}
21073	if interceptor == nil {
21074		return srv.(DlpServiceServer).GetDeidentifyTemplate(ctx, in)
21075	}
21076	info := &grpc.UnaryServerInfo{
21077		Server:     srv,
21078		FullMethod: "/google.privacy.dlp.v2.DlpService/GetDeidentifyTemplate",
21079	}
21080	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
21081		return srv.(DlpServiceServer).GetDeidentifyTemplate(ctx, req.(*GetDeidentifyTemplateRequest))
21082	}
21083	return interceptor(ctx, in, info, handler)
21084}
21085
21086func _DlpService_ListDeidentifyTemplates_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
21087	in := new(ListDeidentifyTemplatesRequest)
21088	if err := dec(in); err != nil {
21089		return nil, err
21090	}
21091	if interceptor == nil {
21092		return srv.(DlpServiceServer).ListDeidentifyTemplates(ctx, in)
21093	}
21094	info := &grpc.UnaryServerInfo{
21095		Server:     srv,
21096		FullMethod: "/google.privacy.dlp.v2.DlpService/ListDeidentifyTemplates",
21097	}
21098	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
21099		return srv.(DlpServiceServer).ListDeidentifyTemplates(ctx, req.(*ListDeidentifyTemplatesRequest))
21100	}
21101	return interceptor(ctx, in, info, handler)
21102}
21103
21104func _DlpService_DeleteDeidentifyTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
21105	in := new(DeleteDeidentifyTemplateRequest)
21106	if err := dec(in); err != nil {
21107		return nil, err
21108	}
21109	if interceptor == nil {
21110		return srv.(DlpServiceServer).DeleteDeidentifyTemplate(ctx, in)
21111	}
21112	info := &grpc.UnaryServerInfo{
21113		Server:     srv,
21114		FullMethod: "/google.privacy.dlp.v2.DlpService/DeleteDeidentifyTemplate",
21115	}
21116	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
21117		return srv.(DlpServiceServer).DeleteDeidentifyTemplate(ctx, req.(*DeleteDeidentifyTemplateRequest))
21118	}
21119	return interceptor(ctx, in, info, handler)
21120}
21121
21122func _DlpService_CreateJobTrigger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
21123	in := new(CreateJobTriggerRequest)
21124	if err := dec(in); err != nil {
21125		return nil, err
21126	}
21127	if interceptor == nil {
21128		return srv.(DlpServiceServer).CreateJobTrigger(ctx, in)
21129	}
21130	info := &grpc.UnaryServerInfo{
21131		Server:     srv,
21132		FullMethod: "/google.privacy.dlp.v2.DlpService/CreateJobTrigger",
21133	}
21134	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
21135		return srv.(DlpServiceServer).CreateJobTrigger(ctx, req.(*CreateJobTriggerRequest))
21136	}
21137	return interceptor(ctx, in, info, handler)
21138}
21139
21140func _DlpService_UpdateJobTrigger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
21141	in := new(UpdateJobTriggerRequest)
21142	if err := dec(in); err != nil {
21143		return nil, err
21144	}
21145	if interceptor == nil {
21146		return srv.(DlpServiceServer).UpdateJobTrigger(ctx, in)
21147	}
21148	info := &grpc.UnaryServerInfo{
21149		Server:     srv,
21150		FullMethod: "/google.privacy.dlp.v2.DlpService/UpdateJobTrigger",
21151	}
21152	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
21153		return srv.(DlpServiceServer).UpdateJobTrigger(ctx, req.(*UpdateJobTriggerRequest))
21154	}
21155	return interceptor(ctx, in, info, handler)
21156}
21157
21158func _DlpService_HybridInspectJobTrigger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
21159	in := new(HybridInspectJobTriggerRequest)
21160	if err := dec(in); err != nil {
21161		return nil, err
21162	}
21163	if interceptor == nil {
21164		return srv.(DlpServiceServer).HybridInspectJobTrigger(ctx, in)
21165	}
21166	info := &grpc.UnaryServerInfo{
21167		Server:     srv,
21168		FullMethod: "/google.privacy.dlp.v2.DlpService/HybridInspectJobTrigger",
21169	}
21170	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
21171		return srv.(DlpServiceServer).HybridInspectJobTrigger(ctx, req.(*HybridInspectJobTriggerRequest))
21172	}
21173	return interceptor(ctx, in, info, handler)
21174}
21175
21176func _DlpService_GetJobTrigger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
21177	in := new(GetJobTriggerRequest)
21178	if err := dec(in); err != nil {
21179		return nil, err
21180	}
21181	if interceptor == nil {
21182		return srv.(DlpServiceServer).GetJobTrigger(ctx, in)
21183	}
21184	info := &grpc.UnaryServerInfo{
21185		Server:     srv,
21186		FullMethod: "/google.privacy.dlp.v2.DlpService/GetJobTrigger",
21187	}
21188	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
21189		return srv.(DlpServiceServer).GetJobTrigger(ctx, req.(*GetJobTriggerRequest))
21190	}
21191	return interceptor(ctx, in, info, handler)
21192}
21193
21194func _DlpService_ListJobTriggers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
21195	in := new(ListJobTriggersRequest)
21196	if err := dec(in); err != nil {
21197		return nil, err
21198	}
21199	if interceptor == nil {
21200		return srv.(DlpServiceServer).ListJobTriggers(ctx, in)
21201	}
21202	info := &grpc.UnaryServerInfo{
21203		Server:     srv,
21204		FullMethod: "/google.privacy.dlp.v2.DlpService/ListJobTriggers",
21205	}
21206	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
21207		return srv.(DlpServiceServer).ListJobTriggers(ctx, req.(*ListJobTriggersRequest))
21208	}
21209	return interceptor(ctx, in, info, handler)
21210}
21211
21212func _DlpService_DeleteJobTrigger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
21213	in := new(DeleteJobTriggerRequest)
21214	if err := dec(in); err != nil {
21215		return nil, err
21216	}
21217	if interceptor == nil {
21218		return srv.(DlpServiceServer).DeleteJobTrigger(ctx, in)
21219	}
21220	info := &grpc.UnaryServerInfo{
21221		Server:     srv,
21222		FullMethod: "/google.privacy.dlp.v2.DlpService/DeleteJobTrigger",
21223	}
21224	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
21225		return srv.(DlpServiceServer).DeleteJobTrigger(ctx, req.(*DeleteJobTriggerRequest))
21226	}
21227	return interceptor(ctx, in, info, handler)
21228}
21229
21230func _DlpService_ActivateJobTrigger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
21231	in := new(ActivateJobTriggerRequest)
21232	if err := dec(in); err != nil {
21233		return nil, err
21234	}
21235	if interceptor == nil {
21236		return srv.(DlpServiceServer).ActivateJobTrigger(ctx, in)
21237	}
21238	info := &grpc.UnaryServerInfo{
21239		Server:     srv,
21240		FullMethod: "/google.privacy.dlp.v2.DlpService/ActivateJobTrigger",
21241	}
21242	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
21243		return srv.(DlpServiceServer).ActivateJobTrigger(ctx, req.(*ActivateJobTriggerRequest))
21244	}
21245	return interceptor(ctx, in, info, handler)
21246}
21247
21248func _DlpService_CreateDlpJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
21249	in := new(CreateDlpJobRequest)
21250	if err := dec(in); err != nil {
21251		return nil, err
21252	}
21253	if interceptor == nil {
21254		return srv.(DlpServiceServer).CreateDlpJob(ctx, in)
21255	}
21256	info := &grpc.UnaryServerInfo{
21257		Server:     srv,
21258		FullMethod: "/google.privacy.dlp.v2.DlpService/CreateDlpJob",
21259	}
21260	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
21261		return srv.(DlpServiceServer).CreateDlpJob(ctx, req.(*CreateDlpJobRequest))
21262	}
21263	return interceptor(ctx, in, info, handler)
21264}
21265
21266func _DlpService_ListDlpJobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
21267	in := new(ListDlpJobsRequest)
21268	if err := dec(in); err != nil {
21269		return nil, err
21270	}
21271	if interceptor == nil {
21272		return srv.(DlpServiceServer).ListDlpJobs(ctx, in)
21273	}
21274	info := &grpc.UnaryServerInfo{
21275		Server:     srv,
21276		FullMethod: "/google.privacy.dlp.v2.DlpService/ListDlpJobs",
21277	}
21278	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
21279		return srv.(DlpServiceServer).ListDlpJobs(ctx, req.(*ListDlpJobsRequest))
21280	}
21281	return interceptor(ctx, in, info, handler)
21282}
21283
21284func _DlpService_GetDlpJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
21285	in := new(GetDlpJobRequest)
21286	if err := dec(in); err != nil {
21287		return nil, err
21288	}
21289	if interceptor == nil {
21290		return srv.(DlpServiceServer).GetDlpJob(ctx, in)
21291	}
21292	info := &grpc.UnaryServerInfo{
21293		Server:     srv,
21294		FullMethod: "/google.privacy.dlp.v2.DlpService/GetDlpJob",
21295	}
21296	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
21297		return srv.(DlpServiceServer).GetDlpJob(ctx, req.(*GetDlpJobRequest))
21298	}
21299	return interceptor(ctx, in, info, handler)
21300}
21301
21302func _DlpService_DeleteDlpJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
21303	in := new(DeleteDlpJobRequest)
21304	if err := dec(in); err != nil {
21305		return nil, err
21306	}
21307	if interceptor == nil {
21308		return srv.(DlpServiceServer).DeleteDlpJob(ctx, in)
21309	}
21310	info := &grpc.UnaryServerInfo{
21311		Server:     srv,
21312		FullMethod: "/google.privacy.dlp.v2.DlpService/DeleteDlpJob",
21313	}
21314	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
21315		return srv.(DlpServiceServer).DeleteDlpJob(ctx, req.(*DeleteDlpJobRequest))
21316	}
21317	return interceptor(ctx, in, info, handler)
21318}
21319
21320func _DlpService_CancelDlpJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
21321	in := new(CancelDlpJobRequest)
21322	if err := dec(in); err != nil {
21323		return nil, err
21324	}
21325	if interceptor == nil {
21326		return srv.(DlpServiceServer).CancelDlpJob(ctx, in)
21327	}
21328	info := &grpc.UnaryServerInfo{
21329		Server:     srv,
21330		FullMethod: "/google.privacy.dlp.v2.DlpService/CancelDlpJob",
21331	}
21332	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
21333		return srv.(DlpServiceServer).CancelDlpJob(ctx, req.(*CancelDlpJobRequest))
21334	}
21335	return interceptor(ctx, in, info, handler)
21336}
21337
21338func _DlpService_CreateStoredInfoType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
21339	in := new(CreateStoredInfoTypeRequest)
21340	if err := dec(in); err != nil {
21341		return nil, err
21342	}
21343	if interceptor == nil {
21344		return srv.(DlpServiceServer).CreateStoredInfoType(ctx, in)
21345	}
21346	info := &grpc.UnaryServerInfo{
21347		Server:     srv,
21348		FullMethod: "/google.privacy.dlp.v2.DlpService/CreateStoredInfoType",
21349	}
21350	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
21351		return srv.(DlpServiceServer).CreateStoredInfoType(ctx, req.(*CreateStoredInfoTypeRequest))
21352	}
21353	return interceptor(ctx, in, info, handler)
21354}
21355
21356func _DlpService_UpdateStoredInfoType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
21357	in := new(UpdateStoredInfoTypeRequest)
21358	if err := dec(in); err != nil {
21359		return nil, err
21360	}
21361	if interceptor == nil {
21362		return srv.(DlpServiceServer).UpdateStoredInfoType(ctx, in)
21363	}
21364	info := &grpc.UnaryServerInfo{
21365		Server:     srv,
21366		FullMethod: "/google.privacy.dlp.v2.DlpService/UpdateStoredInfoType",
21367	}
21368	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
21369		return srv.(DlpServiceServer).UpdateStoredInfoType(ctx, req.(*UpdateStoredInfoTypeRequest))
21370	}
21371	return interceptor(ctx, in, info, handler)
21372}
21373
21374func _DlpService_GetStoredInfoType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
21375	in := new(GetStoredInfoTypeRequest)
21376	if err := dec(in); err != nil {
21377		return nil, err
21378	}
21379	if interceptor == nil {
21380		return srv.(DlpServiceServer).GetStoredInfoType(ctx, in)
21381	}
21382	info := &grpc.UnaryServerInfo{
21383		Server:     srv,
21384		FullMethod: "/google.privacy.dlp.v2.DlpService/GetStoredInfoType",
21385	}
21386	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
21387		return srv.(DlpServiceServer).GetStoredInfoType(ctx, req.(*GetStoredInfoTypeRequest))
21388	}
21389	return interceptor(ctx, in, info, handler)
21390}
21391
21392func _DlpService_ListStoredInfoTypes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
21393	in := new(ListStoredInfoTypesRequest)
21394	if err := dec(in); err != nil {
21395		return nil, err
21396	}
21397	if interceptor == nil {
21398		return srv.(DlpServiceServer).ListStoredInfoTypes(ctx, in)
21399	}
21400	info := &grpc.UnaryServerInfo{
21401		Server:     srv,
21402		FullMethod: "/google.privacy.dlp.v2.DlpService/ListStoredInfoTypes",
21403	}
21404	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
21405		return srv.(DlpServiceServer).ListStoredInfoTypes(ctx, req.(*ListStoredInfoTypesRequest))
21406	}
21407	return interceptor(ctx, in, info, handler)
21408}
21409
21410func _DlpService_DeleteStoredInfoType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
21411	in := new(DeleteStoredInfoTypeRequest)
21412	if err := dec(in); err != nil {
21413		return nil, err
21414	}
21415	if interceptor == nil {
21416		return srv.(DlpServiceServer).DeleteStoredInfoType(ctx, in)
21417	}
21418	info := &grpc.UnaryServerInfo{
21419		Server:     srv,
21420		FullMethod: "/google.privacy.dlp.v2.DlpService/DeleteStoredInfoType",
21421	}
21422	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
21423		return srv.(DlpServiceServer).DeleteStoredInfoType(ctx, req.(*DeleteStoredInfoTypeRequest))
21424	}
21425	return interceptor(ctx, in, info, handler)
21426}
21427
21428func _DlpService_HybridInspectDlpJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
21429	in := new(HybridInspectDlpJobRequest)
21430	if err := dec(in); err != nil {
21431		return nil, err
21432	}
21433	if interceptor == nil {
21434		return srv.(DlpServiceServer).HybridInspectDlpJob(ctx, in)
21435	}
21436	info := &grpc.UnaryServerInfo{
21437		Server:     srv,
21438		FullMethod: "/google.privacy.dlp.v2.DlpService/HybridInspectDlpJob",
21439	}
21440	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
21441		return srv.(DlpServiceServer).HybridInspectDlpJob(ctx, req.(*HybridInspectDlpJobRequest))
21442	}
21443	return interceptor(ctx, in, info, handler)
21444}
21445
21446func _DlpService_FinishDlpJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
21447	in := new(FinishDlpJobRequest)
21448	if err := dec(in); err != nil {
21449		return nil, err
21450	}
21451	if interceptor == nil {
21452		return srv.(DlpServiceServer).FinishDlpJob(ctx, in)
21453	}
21454	info := &grpc.UnaryServerInfo{
21455		Server:     srv,
21456		FullMethod: "/google.privacy.dlp.v2.DlpService/FinishDlpJob",
21457	}
21458	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
21459		return srv.(DlpServiceServer).FinishDlpJob(ctx, req.(*FinishDlpJobRequest))
21460	}
21461	return interceptor(ctx, in, info, handler)
21462}
21463
21464var _DlpService_serviceDesc = grpc.ServiceDesc{
21465	ServiceName: "google.privacy.dlp.v2.DlpService",
21466	HandlerType: (*DlpServiceServer)(nil),
21467	Methods: []grpc.MethodDesc{
21468		{
21469			MethodName: "InspectContent",
21470			Handler:    _DlpService_InspectContent_Handler,
21471		},
21472		{
21473			MethodName: "RedactImage",
21474			Handler:    _DlpService_RedactImage_Handler,
21475		},
21476		{
21477			MethodName: "DeidentifyContent",
21478			Handler:    _DlpService_DeidentifyContent_Handler,
21479		},
21480		{
21481			MethodName: "ReidentifyContent",
21482			Handler:    _DlpService_ReidentifyContent_Handler,
21483		},
21484		{
21485			MethodName: "ListInfoTypes",
21486			Handler:    _DlpService_ListInfoTypes_Handler,
21487		},
21488		{
21489			MethodName: "CreateInspectTemplate",
21490			Handler:    _DlpService_CreateInspectTemplate_Handler,
21491		},
21492		{
21493			MethodName: "UpdateInspectTemplate",
21494			Handler:    _DlpService_UpdateInspectTemplate_Handler,
21495		},
21496		{
21497			MethodName: "GetInspectTemplate",
21498			Handler:    _DlpService_GetInspectTemplate_Handler,
21499		},
21500		{
21501			MethodName: "ListInspectTemplates",
21502			Handler:    _DlpService_ListInspectTemplates_Handler,
21503		},
21504		{
21505			MethodName: "DeleteInspectTemplate",
21506			Handler:    _DlpService_DeleteInspectTemplate_Handler,
21507		},
21508		{
21509			MethodName: "CreateDeidentifyTemplate",
21510			Handler:    _DlpService_CreateDeidentifyTemplate_Handler,
21511		},
21512		{
21513			MethodName: "UpdateDeidentifyTemplate",
21514			Handler:    _DlpService_UpdateDeidentifyTemplate_Handler,
21515		},
21516		{
21517			MethodName: "GetDeidentifyTemplate",
21518			Handler:    _DlpService_GetDeidentifyTemplate_Handler,
21519		},
21520		{
21521			MethodName: "ListDeidentifyTemplates",
21522			Handler:    _DlpService_ListDeidentifyTemplates_Handler,
21523		},
21524		{
21525			MethodName: "DeleteDeidentifyTemplate",
21526			Handler:    _DlpService_DeleteDeidentifyTemplate_Handler,
21527		},
21528		{
21529			MethodName: "CreateJobTrigger",
21530			Handler:    _DlpService_CreateJobTrigger_Handler,
21531		},
21532		{
21533			MethodName: "UpdateJobTrigger",
21534			Handler:    _DlpService_UpdateJobTrigger_Handler,
21535		},
21536		{
21537			MethodName: "HybridInspectJobTrigger",
21538			Handler:    _DlpService_HybridInspectJobTrigger_Handler,
21539		},
21540		{
21541			MethodName: "GetJobTrigger",
21542			Handler:    _DlpService_GetJobTrigger_Handler,
21543		},
21544		{
21545			MethodName: "ListJobTriggers",
21546			Handler:    _DlpService_ListJobTriggers_Handler,
21547		},
21548		{
21549			MethodName: "DeleteJobTrigger",
21550			Handler:    _DlpService_DeleteJobTrigger_Handler,
21551		},
21552		{
21553			MethodName: "ActivateJobTrigger",
21554			Handler:    _DlpService_ActivateJobTrigger_Handler,
21555		},
21556		{
21557			MethodName: "CreateDlpJob",
21558			Handler:    _DlpService_CreateDlpJob_Handler,
21559		},
21560		{
21561			MethodName: "ListDlpJobs",
21562			Handler:    _DlpService_ListDlpJobs_Handler,
21563		},
21564		{
21565			MethodName: "GetDlpJob",
21566			Handler:    _DlpService_GetDlpJob_Handler,
21567		},
21568		{
21569			MethodName: "DeleteDlpJob",
21570			Handler:    _DlpService_DeleteDlpJob_Handler,
21571		},
21572		{
21573			MethodName: "CancelDlpJob",
21574			Handler:    _DlpService_CancelDlpJob_Handler,
21575		},
21576		{
21577			MethodName: "CreateStoredInfoType",
21578			Handler:    _DlpService_CreateStoredInfoType_Handler,
21579		},
21580		{
21581			MethodName: "UpdateStoredInfoType",
21582			Handler:    _DlpService_UpdateStoredInfoType_Handler,
21583		},
21584		{
21585			MethodName: "GetStoredInfoType",
21586			Handler:    _DlpService_GetStoredInfoType_Handler,
21587		},
21588		{
21589			MethodName: "ListStoredInfoTypes",
21590			Handler:    _DlpService_ListStoredInfoTypes_Handler,
21591		},
21592		{
21593			MethodName: "DeleteStoredInfoType",
21594			Handler:    _DlpService_DeleteStoredInfoType_Handler,
21595		},
21596		{
21597			MethodName: "HybridInspectDlpJob",
21598			Handler:    _DlpService_HybridInspectDlpJob_Handler,
21599		},
21600		{
21601			MethodName: "FinishDlpJob",
21602			Handler:    _DlpService_FinishDlpJob_Handler,
21603		},
21604	},
21605	Streams:  []grpc.StreamDesc{},
21606	Metadata: "google/privacy/dlp/v2/dlp.proto",
21607}
21608