1// Copyright 2021 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// Code generated by protoc-gen-go. DO NOT EDIT.
16// versions:
17// 	protoc-gen-go v1.26.0
18// 	protoc        v3.12.2
19// source: google/cloud/bigquery/v2/model.proto
20
21package bigquery
22
23import (
24	context "context"
25	reflect "reflect"
26	sync "sync"
27
28	_ "google.golang.org/genproto/googleapis/api/annotations"
29	grpc "google.golang.org/grpc"
30	codes "google.golang.org/grpc/codes"
31	status "google.golang.org/grpc/status"
32	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
33	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
34	emptypb "google.golang.org/protobuf/types/known/emptypb"
35	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
36	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
37)
38
39const (
40	// Verify that this generated code is sufficiently up-to-date.
41	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
42	// Verify that runtime/protoimpl is sufficiently up-to-date.
43	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
44)
45
46// Indicates the type of the Model.
47type Model_ModelType int32
48
49const (
50	Model_MODEL_TYPE_UNSPECIFIED Model_ModelType = 0
51	// Linear regression model.
52	Model_LINEAR_REGRESSION Model_ModelType = 1
53	// Logistic regression based classification model.
54	Model_LOGISTIC_REGRESSION Model_ModelType = 2
55	// K-means clustering model.
56	Model_KMEANS Model_ModelType = 3
57	// Matrix factorization model.
58	Model_MATRIX_FACTORIZATION Model_ModelType = 4
59	// DNN classifier model.
60	Model_DNN_CLASSIFIER Model_ModelType = 5
61	// An imported TensorFlow model.
62	Model_TENSORFLOW Model_ModelType = 6
63	// DNN regressor model.
64	Model_DNN_REGRESSOR Model_ModelType = 7
65	// Boosted tree regressor model.
66	Model_BOOSTED_TREE_REGRESSOR Model_ModelType = 9
67	// Boosted tree classifier model.
68	Model_BOOSTED_TREE_CLASSIFIER Model_ModelType = 10
69	// ARIMA model.
70	Model_ARIMA Model_ModelType = 11
71	// [Beta] AutoML Tables regression model.
72	Model_AUTOML_REGRESSOR Model_ModelType = 12
73	// [Beta] AutoML Tables classification model.
74	Model_AUTOML_CLASSIFIER Model_ModelType = 13
75	// New name for the ARIMA model.
76	Model_ARIMA_PLUS Model_ModelType = 19
77)
78
79// Enum value maps for Model_ModelType.
80var (
81	Model_ModelType_name = map[int32]string{
82		0:  "MODEL_TYPE_UNSPECIFIED",
83		1:  "LINEAR_REGRESSION",
84		2:  "LOGISTIC_REGRESSION",
85		3:  "KMEANS",
86		4:  "MATRIX_FACTORIZATION",
87		5:  "DNN_CLASSIFIER",
88		6:  "TENSORFLOW",
89		7:  "DNN_REGRESSOR",
90		9:  "BOOSTED_TREE_REGRESSOR",
91		10: "BOOSTED_TREE_CLASSIFIER",
92		11: "ARIMA",
93		12: "AUTOML_REGRESSOR",
94		13: "AUTOML_CLASSIFIER",
95		19: "ARIMA_PLUS",
96	}
97	Model_ModelType_value = map[string]int32{
98		"MODEL_TYPE_UNSPECIFIED":  0,
99		"LINEAR_REGRESSION":       1,
100		"LOGISTIC_REGRESSION":     2,
101		"KMEANS":                  3,
102		"MATRIX_FACTORIZATION":    4,
103		"DNN_CLASSIFIER":          5,
104		"TENSORFLOW":              6,
105		"DNN_REGRESSOR":           7,
106		"BOOSTED_TREE_REGRESSOR":  9,
107		"BOOSTED_TREE_CLASSIFIER": 10,
108		"ARIMA":                   11,
109		"AUTOML_REGRESSOR":        12,
110		"AUTOML_CLASSIFIER":       13,
111		"ARIMA_PLUS":              19,
112	}
113)
114
115func (x Model_ModelType) Enum() *Model_ModelType {
116	p := new(Model_ModelType)
117	*p = x
118	return p
119}
120
121func (x Model_ModelType) String() string {
122	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
123}
124
125func (Model_ModelType) Descriptor() protoreflect.EnumDescriptor {
126	return file_google_cloud_bigquery_v2_model_proto_enumTypes[0].Descriptor()
127}
128
129func (Model_ModelType) Type() protoreflect.EnumType {
130	return &file_google_cloud_bigquery_v2_model_proto_enumTypes[0]
131}
132
133func (x Model_ModelType) Number() protoreflect.EnumNumber {
134	return protoreflect.EnumNumber(x)
135}
136
137// Deprecated: Use Model_ModelType.Descriptor instead.
138func (Model_ModelType) EnumDescriptor() ([]byte, []int) {
139	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{0, 0}
140}
141
142// Loss metric to evaluate model training performance.
143type Model_LossType int32
144
145const (
146	Model_LOSS_TYPE_UNSPECIFIED Model_LossType = 0
147	// Mean squared loss, used for linear regression.
148	Model_MEAN_SQUARED_LOSS Model_LossType = 1
149	// Mean log loss, used for logistic regression.
150	Model_MEAN_LOG_LOSS Model_LossType = 2
151)
152
153// Enum value maps for Model_LossType.
154var (
155	Model_LossType_name = map[int32]string{
156		0: "LOSS_TYPE_UNSPECIFIED",
157		1: "MEAN_SQUARED_LOSS",
158		2: "MEAN_LOG_LOSS",
159	}
160	Model_LossType_value = map[string]int32{
161		"LOSS_TYPE_UNSPECIFIED": 0,
162		"MEAN_SQUARED_LOSS":     1,
163		"MEAN_LOG_LOSS":         2,
164	}
165)
166
167func (x Model_LossType) Enum() *Model_LossType {
168	p := new(Model_LossType)
169	*p = x
170	return p
171}
172
173func (x Model_LossType) String() string {
174	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
175}
176
177func (Model_LossType) Descriptor() protoreflect.EnumDescriptor {
178	return file_google_cloud_bigquery_v2_model_proto_enumTypes[1].Descriptor()
179}
180
181func (Model_LossType) Type() protoreflect.EnumType {
182	return &file_google_cloud_bigquery_v2_model_proto_enumTypes[1]
183}
184
185func (x Model_LossType) Number() protoreflect.EnumNumber {
186	return protoreflect.EnumNumber(x)
187}
188
189// Deprecated: Use Model_LossType.Descriptor instead.
190func (Model_LossType) EnumDescriptor() ([]byte, []int) {
191	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{0, 1}
192}
193
194// Distance metric used to compute the distance between two points.
195type Model_DistanceType int32
196
197const (
198	Model_DISTANCE_TYPE_UNSPECIFIED Model_DistanceType = 0
199	// Eculidean distance.
200	Model_EUCLIDEAN Model_DistanceType = 1
201	// Cosine distance.
202	Model_COSINE Model_DistanceType = 2
203)
204
205// Enum value maps for Model_DistanceType.
206var (
207	Model_DistanceType_name = map[int32]string{
208		0: "DISTANCE_TYPE_UNSPECIFIED",
209		1: "EUCLIDEAN",
210		2: "COSINE",
211	}
212	Model_DistanceType_value = map[string]int32{
213		"DISTANCE_TYPE_UNSPECIFIED": 0,
214		"EUCLIDEAN":                 1,
215		"COSINE":                    2,
216	}
217)
218
219func (x Model_DistanceType) Enum() *Model_DistanceType {
220	p := new(Model_DistanceType)
221	*p = x
222	return p
223}
224
225func (x Model_DistanceType) String() string {
226	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
227}
228
229func (Model_DistanceType) Descriptor() protoreflect.EnumDescriptor {
230	return file_google_cloud_bigquery_v2_model_proto_enumTypes[2].Descriptor()
231}
232
233func (Model_DistanceType) Type() protoreflect.EnumType {
234	return &file_google_cloud_bigquery_v2_model_proto_enumTypes[2]
235}
236
237func (x Model_DistanceType) Number() protoreflect.EnumNumber {
238	return protoreflect.EnumNumber(x)
239}
240
241// Deprecated: Use Model_DistanceType.Descriptor instead.
242func (Model_DistanceType) EnumDescriptor() ([]byte, []int) {
243	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{0, 2}
244}
245
246// Indicates the method to split input data into multiple tables.
247type Model_DataSplitMethod int32
248
249const (
250	Model_DATA_SPLIT_METHOD_UNSPECIFIED Model_DataSplitMethod = 0
251	// Splits data randomly.
252	Model_RANDOM Model_DataSplitMethod = 1
253	// Splits data with the user provided tags.
254	Model_CUSTOM Model_DataSplitMethod = 2
255	// Splits data sequentially.
256	Model_SEQUENTIAL Model_DataSplitMethod = 3
257	// Data split will be skipped.
258	Model_NO_SPLIT Model_DataSplitMethod = 4
259	// Splits data automatically: Uses NO_SPLIT if the data size is small.
260	// Otherwise uses RANDOM.
261	Model_AUTO_SPLIT Model_DataSplitMethod = 5
262)
263
264// Enum value maps for Model_DataSplitMethod.
265var (
266	Model_DataSplitMethod_name = map[int32]string{
267		0: "DATA_SPLIT_METHOD_UNSPECIFIED",
268		1: "RANDOM",
269		2: "CUSTOM",
270		3: "SEQUENTIAL",
271		4: "NO_SPLIT",
272		5: "AUTO_SPLIT",
273	}
274	Model_DataSplitMethod_value = map[string]int32{
275		"DATA_SPLIT_METHOD_UNSPECIFIED": 0,
276		"RANDOM":                        1,
277		"CUSTOM":                        2,
278		"SEQUENTIAL":                    3,
279		"NO_SPLIT":                      4,
280		"AUTO_SPLIT":                    5,
281	}
282)
283
284func (x Model_DataSplitMethod) Enum() *Model_DataSplitMethod {
285	p := new(Model_DataSplitMethod)
286	*p = x
287	return p
288}
289
290func (x Model_DataSplitMethod) String() string {
291	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
292}
293
294func (Model_DataSplitMethod) Descriptor() protoreflect.EnumDescriptor {
295	return file_google_cloud_bigquery_v2_model_proto_enumTypes[3].Descriptor()
296}
297
298func (Model_DataSplitMethod) Type() protoreflect.EnumType {
299	return &file_google_cloud_bigquery_v2_model_proto_enumTypes[3]
300}
301
302func (x Model_DataSplitMethod) Number() protoreflect.EnumNumber {
303	return protoreflect.EnumNumber(x)
304}
305
306// Deprecated: Use Model_DataSplitMethod.Descriptor instead.
307func (Model_DataSplitMethod) EnumDescriptor() ([]byte, []int) {
308	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{0, 3}
309}
310
311// Type of supported data frequency for time series forecasting models.
312type Model_DataFrequency int32
313
314const (
315	Model_DATA_FREQUENCY_UNSPECIFIED Model_DataFrequency = 0
316	// Automatically inferred from timestamps.
317	Model_AUTO_FREQUENCY Model_DataFrequency = 1
318	// Yearly data.
319	Model_YEARLY Model_DataFrequency = 2
320	// Quarterly data.
321	Model_QUARTERLY Model_DataFrequency = 3
322	// Monthly data.
323	Model_MONTHLY Model_DataFrequency = 4
324	// Weekly data.
325	Model_WEEKLY Model_DataFrequency = 5
326	// Daily data.
327	Model_DAILY Model_DataFrequency = 6
328	// Hourly data.
329	Model_HOURLY Model_DataFrequency = 7
330	// Per-minute data.
331	Model_PER_MINUTE Model_DataFrequency = 8
332)
333
334// Enum value maps for Model_DataFrequency.
335var (
336	Model_DataFrequency_name = map[int32]string{
337		0: "DATA_FREQUENCY_UNSPECIFIED",
338		1: "AUTO_FREQUENCY",
339		2: "YEARLY",
340		3: "QUARTERLY",
341		4: "MONTHLY",
342		5: "WEEKLY",
343		6: "DAILY",
344		7: "HOURLY",
345		8: "PER_MINUTE",
346	}
347	Model_DataFrequency_value = map[string]int32{
348		"DATA_FREQUENCY_UNSPECIFIED": 0,
349		"AUTO_FREQUENCY":             1,
350		"YEARLY":                     2,
351		"QUARTERLY":                  3,
352		"MONTHLY":                    4,
353		"WEEKLY":                     5,
354		"DAILY":                      6,
355		"HOURLY":                     7,
356		"PER_MINUTE":                 8,
357	}
358)
359
360func (x Model_DataFrequency) Enum() *Model_DataFrequency {
361	p := new(Model_DataFrequency)
362	*p = x
363	return p
364}
365
366func (x Model_DataFrequency) String() string {
367	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
368}
369
370func (Model_DataFrequency) Descriptor() protoreflect.EnumDescriptor {
371	return file_google_cloud_bigquery_v2_model_proto_enumTypes[4].Descriptor()
372}
373
374func (Model_DataFrequency) Type() protoreflect.EnumType {
375	return &file_google_cloud_bigquery_v2_model_proto_enumTypes[4]
376}
377
378func (x Model_DataFrequency) Number() protoreflect.EnumNumber {
379	return protoreflect.EnumNumber(x)
380}
381
382// Deprecated: Use Model_DataFrequency.Descriptor instead.
383func (Model_DataFrequency) EnumDescriptor() ([]byte, []int) {
384	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{0, 4}
385}
386
387// Type of supported holiday regions for time series forecasting models.
388type Model_HolidayRegion int32
389
390const (
391	// Holiday region unspecified.
392	Model_HOLIDAY_REGION_UNSPECIFIED Model_HolidayRegion = 0
393	// Global.
394	Model_GLOBAL Model_HolidayRegion = 1
395	// North America.
396	Model_NA Model_HolidayRegion = 2
397	// Japan and Asia Pacific: Korea, Greater China, India, Australia, and New
398	// Zealand.
399	Model_JAPAC Model_HolidayRegion = 3
400	// Europe, the Middle East and Africa.
401	Model_EMEA Model_HolidayRegion = 4
402	// Latin America and the Caribbean.
403	Model_LAC Model_HolidayRegion = 5
404	// United Arab Emirates
405	Model_AE Model_HolidayRegion = 6
406	// Argentina
407	Model_AR Model_HolidayRegion = 7
408	// Austria
409	Model_AT Model_HolidayRegion = 8
410	// Australia
411	Model_AU Model_HolidayRegion = 9
412	// Belgium
413	Model_BE Model_HolidayRegion = 10
414	// Brazil
415	Model_BR Model_HolidayRegion = 11
416	// Canada
417	Model_CA Model_HolidayRegion = 12
418	// Switzerland
419	Model_CH Model_HolidayRegion = 13
420	// Chile
421	Model_CL Model_HolidayRegion = 14
422	// China
423	Model_CN Model_HolidayRegion = 15
424	// Colombia
425	Model_CO Model_HolidayRegion = 16
426	// Czechoslovakia
427	Model_CS Model_HolidayRegion = 17
428	// Czech Republic
429	Model_CZ Model_HolidayRegion = 18
430	// Germany
431	Model_DE Model_HolidayRegion = 19
432	// Denmark
433	Model_DK Model_HolidayRegion = 20
434	// Algeria
435	Model_DZ Model_HolidayRegion = 21
436	// Ecuador
437	Model_EC Model_HolidayRegion = 22
438	// Estonia
439	Model_EE Model_HolidayRegion = 23
440	// Egypt
441	Model_EG Model_HolidayRegion = 24
442	// Spain
443	Model_ES Model_HolidayRegion = 25
444	// Finland
445	Model_FI Model_HolidayRegion = 26
446	// France
447	Model_FR Model_HolidayRegion = 27
448	// Great Britain (United Kingdom)
449	Model_GB Model_HolidayRegion = 28
450	// Greece
451	Model_GR Model_HolidayRegion = 29
452	// Hong Kong
453	Model_HK Model_HolidayRegion = 30
454	// Hungary
455	Model_HU Model_HolidayRegion = 31
456	// Indonesia
457	Model_ID Model_HolidayRegion = 32
458	// Ireland
459	Model_IE Model_HolidayRegion = 33
460	// Israel
461	Model_IL Model_HolidayRegion = 34
462	// India
463	Model_IN Model_HolidayRegion = 35
464	// Iran
465	Model_IR Model_HolidayRegion = 36
466	// Italy
467	Model_IT Model_HolidayRegion = 37
468	// Japan
469	Model_JP Model_HolidayRegion = 38
470	// Korea (South)
471	Model_KR Model_HolidayRegion = 39
472	// Latvia
473	Model_LV Model_HolidayRegion = 40
474	// Morocco
475	Model_MA Model_HolidayRegion = 41
476	// Mexico
477	Model_MX Model_HolidayRegion = 42
478	// Malaysia
479	Model_MY Model_HolidayRegion = 43
480	// Nigeria
481	Model_NG Model_HolidayRegion = 44
482	// Netherlands
483	Model_NL Model_HolidayRegion = 45
484	// Norway
485	Model_NO Model_HolidayRegion = 46
486	// New Zealand
487	Model_NZ Model_HolidayRegion = 47
488	// Peru
489	Model_PE Model_HolidayRegion = 48
490	// Philippines
491	Model_PH Model_HolidayRegion = 49
492	// Pakistan
493	Model_PK Model_HolidayRegion = 50
494	// Poland
495	Model_PL Model_HolidayRegion = 51
496	// Portugal
497	Model_PT Model_HolidayRegion = 52
498	// Romania
499	Model_RO Model_HolidayRegion = 53
500	// Serbia
501	Model_RS Model_HolidayRegion = 54
502	// Russian Federation
503	Model_RU Model_HolidayRegion = 55
504	// Saudi Arabia
505	Model_SA Model_HolidayRegion = 56
506	// Sweden
507	Model_SE Model_HolidayRegion = 57
508	// Singapore
509	Model_SG Model_HolidayRegion = 58
510	// Slovenia
511	Model_SI Model_HolidayRegion = 59
512	// Slovakia
513	Model_SK Model_HolidayRegion = 60
514	// Thailand
515	Model_TH Model_HolidayRegion = 61
516	// Turkey
517	Model_TR Model_HolidayRegion = 62
518	// Taiwan
519	Model_TW Model_HolidayRegion = 63
520	// Ukraine
521	Model_UA Model_HolidayRegion = 64
522	// United States
523	Model_US Model_HolidayRegion = 65
524	// Venezuela
525	Model_VE Model_HolidayRegion = 66
526	// Viet Nam
527	Model_VN Model_HolidayRegion = 67
528	// South Africa
529	Model_ZA Model_HolidayRegion = 68
530)
531
532// Enum value maps for Model_HolidayRegion.
533var (
534	Model_HolidayRegion_name = map[int32]string{
535		0:  "HOLIDAY_REGION_UNSPECIFIED",
536		1:  "GLOBAL",
537		2:  "NA",
538		3:  "JAPAC",
539		4:  "EMEA",
540		5:  "LAC",
541		6:  "AE",
542		7:  "AR",
543		8:  "AT",
544		9:  "AU",
545		10: "BE",
546		11: "BR",
547		12: "CA",
548		13: "CH",
549		14: "CL",
550		15: "CN",
551		16: "CO",
552		17: "CS",
553		18: "CZ",
554		19: "DE",
555		20: "DK",
556		21: "DZ",
557		22: "EC",
558		23: "EE",
559		24: "EG",
560		25: "ES",
561		26: "FI",
562		27: "FR",
563		28: "GB",
564		29: "GR",
565		30: "HK",
566		31: "HU",
567		32: "ID",
568		33: "IE",
569		34: "IL",
570		35: "IN",
571		36: "IR",
572		37: "IT",
573		38: "JP",
574		39: "KR",
575		40: "LV",
576		41: "MA",
577		42: "MX",
578		43: "MY",
579		44: "NG",
580		45: "NL",
581		46: "NO",
582		47: "NZ",
583		48: "PE",
584		49: "PH",
585		50: "PK",
586		51: "PL",
587		52: "PT",
588		53: "RO",
589		54: "RS",
590		55: "RU",
591		56: "SA",
592		57: "SE",
593		58: "SG",
594		59: "SI",
595		60: "SK",
596		61: "TH",
597		62: "TR",
598		63: "TW",
599		64: "UA",
600		65: "US",
601		66: "VE",
602		67: "VN",
603		68: "ZA",
604	}
605	Model_HolidayRegion_value = map[string]int32{
606		"HOLIDAY_REGION_UNSPECIFIED": 0,
607		"GLOBAL":                     1,
608		"NA":                         2,
609		"JAPAC":                      3,
610		"EMEA":                       4,
611		"LAC":                        5,
612		"AE":                         6,
613		"AR":                         7,
614		"AT":                         8,
615		"AU":                         9,
616		"BE":                         10,
617		"BR":                         11,
618		"CA":                         12,
619		"CH":                         13,
620		"CL":                         14,
621		"CN":                         15,
622		"CO":                         16,
623		"CS":                         17,
624		"CZ":                         18,
625		"DE":                         19,
626		"DK":                         20,
627		"DZ":                         21,
628		"EC":                         22,
629		"EE":                         23,
630		"EG":                         24,
631		"ES":                         25,
632		"FI":                         26,
633		"FR":                         27,
634		"GB":                         28,
635		"GR":                         29,
636		"HK":                         30,
637		"HU":                         31,
638		"ID":                         32,
639		"IE":                         33,
640		"IL":                         34,
641		"IN":                         35,
642		"IR":                         36,
643		"IT":                         37,
644		"JP":                         38,
645		"KR":                         39,
646		"LV":                         40,
647		"MA":                         41,
648		"MX":                         42,
649		"MY":                         43,
650		"NG":                         44,
651		"NL":                         45,
652		"NO":                         46,
653		"NZ":                         47,
654		"PE":                         48,
655		"PH":                         49,
656		"PK":                         50,
657		"PL":                         51,
658		"PT":                         52,
659		"RO":                         53,
660		"RS":                         54,
661		"RU":                         55,
662		"SA":                         56,
663		"SE":                         57,
664		"SG":                         58,
665		"SI":                         59,
666		"SK":                         60,
667		"TH":                         61,
668		"TR":                         62,
669		"TW":                         63,
670		"UA":                         64,
671		"US":                         65,
672		"VE":                         66,
673		"VN":                         67,
674		"ZA":                         68,
675	}
676)
677
678func (x Model_HolidayRegion) Enum() *Model_HolidayRegion {
679	p := new(Model_HolidayRegion)
680	*p = x
681	return p
682}
683
684func (x Model_HolidayRegion) String() string {
685	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
686}
687
688func (Model_HolidayRegion) Descriptor() protoreflect.EnumDescriptor {
689	return file_google_cloud_bigquery_v2_model_proto_enumTypes[5].Descriptor()
690}
691
692func (Model_HolidayRegion) Type() protoreflect.EnumType {
693	return &file_google_cloud_bigquery_v2_model_proto_enumTypes[5]
694}
695
696func (x Model_HolidayRegion) Number() protoreflect.EnumNumber {
697	return protoreflect.EnumNumber(x)
698}
699
700// Deprecated: Use Model_HolidayRegion.Descriptor instead.
701func (Model_HolidayRegion) EnumDescriptor() ([]byte, []int) {
702	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{0, 5}
703}
704
705// Indicates the learning rate optimization strategy to use.
706type Model_LearnRateStrategy int32
707
708const (
709	Model_LEARN_RATE_STRATEGY_UNSPECIFIED Model_LearnRateStrategy = 0
710	// Use line search to determine learning rate.
711	Model_LINE_SEARCH Model_LearnRateStrategy = 1
712	// Use a constant learning rate.
713	Model_CONSTANT Model_LearnRateStrategy = 2
714)
715
716// Enum value maps for Model_LearnRateStrategy.
717var (
718	Model_LearnRateStrategy_name = map[int32]string{
719		0: "LEARN_RATE_STRATEGY_UNSPECIFIED",
720		1: "LINE_SEARCH",
721		2: "CONSTANT",
722	}
723	Model_LearnRateStrategy_value = map[string]int32{
724		"LEARN_RATE_STRATEGY_UNSPECIFIED": 0,
725		"LINE_SEARCH":                     1,
726		"CONSTANT":                        2,
727	}
728)
729
730func (x Model_LearnRateStrategy) Enum() *Model_LearnRateStrategy {
731	p := new(Model_LearnRateStrategy)
732	*p = x
733	return p
734}
735
736func (x Model_LearnRateStrategy) String() string {
737	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
738}
739
740func (Model_LearnRateStrategy) Descriptor() protoreflect.EnumDescriptor {
741	return file_google_cloud_bigquery_v2_model_proto_enumTypes[6].Descriptor()
742}
743
744func (Model_LearnRateStrategy) Type() protoreflect.EnumType {
745	return &file_google_cloud_bigquery_v2_model_proto_enumTypes[6]
746}
747
748func (x Model_LearnRateStrategy) Number() protoreflect.EnumNumber {
749	return protoreflect.EnumNumber(x)
750}
751
752// Deprecated: Use Model_LearnRateStrategy.Descriptor instead.
753func (Model_LearnRateStrategy) EnumDescriptor() ([]byte, []int) {
754	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{0, 6}
755}
756
757// Indicates the optimization strategy used for training.
758type Model_OptimizationStrategy int32
759
760const (
761	Model_OPTIMIZATION_STRATEGY_UNSPECIFIED Model_OptimizationStrategy = 0
762	// Uses an iterative batch gradient descent algorithm.
763	Model_BATCH_GRADIENT_DESCENT Model_OptimizationStrategy = 1
764	// Uses a normal equation to solve linear regression problem.
765	Model_NORMAL_EQUATION Model_OptimizationStrategy = 2
766)
767
768// Enum value maps for Model_OptimizationStrategy.
769var (
770	Model_OptimizationStrategy_name = map[int32]string{
771		0: "OPTIMIZATION_STRATEGY_UNSPECIFIED",
772		1: "BATCH_GRADIENT_DESCENT",
773		2: "NORMAL_EQUATION",
774	}
775	Model_OptimizationStrategy_value = map[string]int32{
776		"OPTIMIZATION_STRATEGY_UNSPECIFIED": 0,
777		"BATCH_GRADIENT_DESCENT":            1,
778		"NORMAL_EQUATION":                   2,
779	}
780)
781
782func (x Model_OptimizationStrategy) Enum() *Model_OptimizationStrategy {
783	p := new(Model_OptimizationStrategy)
784	*p = x
785	return p
786}
787
788func (x Model_OptimizationStrategy) String() string {
789	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
790}
791
792func (Model_OptimizationStrategy) Descriptor() protoreflect.EnumDescriptor {
793	return file_google_cloud_bigquery_v2_model_proto_enumTypes[7].Descriptor()
794}
795
796func (Model_OptimizationStrategy) Type() protoreflect.EnumType {
797	return &file_google_cloud_bigquery_v2_model_proto_enumTypes[7]
798}
799
800func (x Model_OptimizationStrategy) Number() protoreflect.EnumNumber {
801	return protoreflect.EnumNumber(x)
802}
803
804// Deprecated: Use Model_OptimizationStrategy.Descriptor instead.
805func (Model_OptimizationStrategy) EnumDescriptor() ([]byte, []int) {
806	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{0, 7}
807}
808
809// Indicates the training algorithm to use for matrix factorization models.
810type Model_FeedbackType int32
811
812const (
813	Model_FEEDBACK_TYPE_UNSPECIFIED Model_FeedbackType = 0
814	// Use weighted-als for implicit feedback problems.
815	Model_IMPLICIT Model_FeedbackType = 1
816	// Use nonweighted-als for explicit feedback problems.
817	Model_EXPLICIT Model_FeedbackType = 2
818)
819
820// Enum value maps for Model_FeedbackType.
821var (
822	Model_FeedbackType_name = map[int32]string{
823		0: "FEEDBACK_TYPE_UNSPECIFIED",
824		1: "IMPLICIT",
825		2: "EXPLICIT",
826	}
827	Model_FeedbackType_value = map[string]int32{
828		"FEEDBACK_TYPE_UNSPECIFIED": 0,
829		"IMPLICIT":                  1,
830		"EXPLICIT":                  2,
831	}
832)
833
834func (x Model_FeedbackType) Enum() *Model_FeedbackType {
835	p := new(Model_FeedbackType)
836	*p = x
837	return p
838}
839
840func (x Model_FeedbackType) String() string {
841	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
842}
843
844func (Model_FeedbackType) Descriptor() protoreflect.EnumDescriptor {
845	return file_google_cloud_bigquery_v2_model_proto_enumTypes[8].Descriptor()
846}
847
848func (Model_FeedbackType) Type() protoreflect.EnumType {
849	return &file_google_cloud_bigquery_v2_model_proto_enumTypes[8]
850}
851
852func (x Model_FeedbackType) Number() protoreflect.EnumNumber {
853	return protoreflect.EnumNumber(x)
854}
855
856// Deprecated: Use Model_FeedbackType.Descriptor instead.
857func (Model_FeedbackType) EnumDescriptor() ([]byte, []int) {
858	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{0, 8}
859}
860
861type Model_SeasonalPeriod_SeasonalPeriodType int32
862
863const (
864	Model_SeasonalPeriod_SEASONAL_PERIOD_TYPE_UNSPECIFIED Model_SeasonalPeriod_SeasonalPeriodType = 0
865	// No seasonality
866	Model_SeasonalPeriod_NO_SEASONALITY Model_SeasonalPeriod_SeasonalPeriodType = 1
867	// Daily period, 24 hours.
868	Model_SeasonalPeriod_DAILY Model_SeasonalPeriod_SeasonalPeriodType = 2
869	// Weekly period, 7 days.
870	Model_SeasonalPeriod_WEEKLY Model_SeasonalPeriod_SeasonalPeriodType = 3
871	// Monthly period, 30 days or irregular.
872	Model_SeasonalPeriod_MONTHLY Model_SeasonalPeriod_SeasonalPeriodType = 4
873	// Quarterly period, 90 days or irregular.
874	Model_SeasonalPeriod_QUARTERLY Model_SeasonalPeriod_SeasonalPeriodType = 5
875	// Yearly period, 365 days or irregular.
876	Model_SeasonalPeriod_YEARLY Model_SeasonalPeriod_SeasonalPeriodType = 6
877)
878
879// Enum value maps for Model_SeasonalPeriod_SeasonalPeriodType.
880var (
881	Model_SeasonalPeriod_SeasonalPeriodType_name = map[int32]string{
882		0: "SEASONAL_PERIOD_TYPE_UNSPECIFIED",
883		1: "NO_SEASONALITY",
884		2: "DAILY",
885		3: "WEEKLY",
886		4: "MONTHLY",
887		5: "QUARTERLY",
888		6: "YEARLY",
889	}
890	Model_SeasonalPeriod_SeasonalPeriodType_value = map[string]int32{
891		"SEASONAL_PERIOD_TYPE_UNSPECIFIED": 0,
892		"NO_SEASONALITY":                   1,
893		"DAILY":                            2,
894		"WEEKLY":                           3,
895		"MONTHLY":                          4,
896		"QUARTERLY":                        5,
897		"YEARLY":                           6,
898	}
899)
900
901func (x Model_SeasonalPeriod_SeasonalPeriodType) Enum() *Model_SeasonalPeriod_SeasonalPeriodType {
902	p := new(Model_SeasonalPeriod_SeasonalPeriodType)
903	*p = x
904	return p
905}
906
907func (x Model_SeasonalPeriod_SeasonalPeriodType) String() string {
908	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
909}
910
911func (Model_SeasonalPeriod_SeasonalPeriodType) Descriptor() protoreflect.EnumDescriptor {
912	return file_google_cloud_bigquery_v2_model_proto_enumTypes[9].Descriptor()
913}
914
915func (Model_SeasonalPeriod_SeasonalPeriodType) Type() protoreflect.EnumType {
916	return &file_google_cloud_bigquery_v2_model_proto_enumTypes[9]
917}
918
919func (x Model_SeasonalPeriod_SeasonalPeriodType) Number() protoreflect.EnumNumber {
920	return protoreflect.EnumNumber(x)
921}
922
923// Deprecated: Use Model_SeasonalPeriod_SeasonalPeriodType.Descriptor instead.
924func (Model_SeasonalPeriod_SeasonalPeriodType) EnumDescriptor() ([]byte, []int) {
925	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{0, 0, 0}
926}
927
928// Indicates the method used to initialize the centroids for KMeans
929// clustering algorithm.
930type Model_KmeansEnums_KmeansInitializationMethod int32
931
932const (
933	// Unspecified initialization method.
934	Model_KmeansEnums_KMEANS_INITIALIZATION_METHOD_UNSPECIFIED Model_KmeansEnums_KmeansInitializationMethod = 0
935	// Initializes the centroids randomly.
936	Model_KmeansEnums_RANDOM Model_KmeansEnums_KmeansInitializationMethod = 1
937	// Initializes the centroids using data specified in
938	// kmeans_initialization_column.
939	Model_KmeansEnums_CUSTOM Model_KmeansEnums_KmeansInitializationMethod = 2
940	// Initializes with kmeans++.
941	Model_KmeansEnums_KMEANS_PLUS_PLUS Model_KmeansEnums_KmeansInitializationMethod = 3
942)
943
944// Enum value maps for Model_KmeansEnums_KmeansInitializationMethod.
945var (
946	Model_KmeansEnums_KmeansInitializationMethod_name = map[int32]string{
947		0: "KMEANS_INITIALIZATION_METHOD_UNSPECIFIED",
948		1: "RANDOM",
949		2: "CUSTOM",
950		3: "KMEANS_PLUS_PLUS",
951	}
952	Model_KmeansEnums_KmeansInitializationMethod_value = map[string]int32{
953		"KMEANS_INITIALIZATION_METHOD_UNSPECIFIED": 0,
954		"RANDOM":           1,
955		"CUSTOM":           2,
956		"KMEANS_PLUS_PLUS": 3,
957	}
958)
959
960func (x Model_KmeansEnums_KmeansInitializationMethod) Enum() *Model_KmeansEnums_KmeansInitializationMethod {
961	p := new(Model_KmeansEnums_KmeansInitializationMethod)
962	*p = x
963	return p
964}
965
966func (x Model_KmeansEnums_KmeansInitializationMethod) String() string {
967	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
968}
969
970func (Model_KmeansEnums_KmeansInitializationMethod) Descriptor() protoreflect.EnumDescriptor {
971	return file_google_cloud_bigquery_v2_model_proto_enumTypes[10].Descriptor()
972}
973
974func (Model_KmeansEnums_KmeansInitializationMethod) Type() protoreflect.EnumType {
975	return &file_google_cloud_bigquery_v2_model_proto_enumTypes[10]
976}
977
978func (x Model_KmeansEnums_KmeansInitializationMethod) Number() protoreflect.EnumNumber {
979	return protoreflect.EnumNumber(x)
980}
981
982// Deprecated: Use Model_KmeansEnums_KmeansInitializationMethod.Descriptor instead.
983func (Model_KmeansEnums_KmeansInitializationMethod) EnumDescriptor() ([]byte, []int) {
984	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{0, 1, 0}
985}
986
987type Model struct {
988	state         protoimpl.MessageState
989	sizeCache     protoimpl.SizeCache
990	unknownFields protoimpl.UnknownFields
991
992	// Output only. A hash of this resource.
993	Etag string `protobuf:"bytes,1,opt,name=etag,proto3" json:"etag,omitempty"`
994	// Required. Unique identifier for this model.
995	ModelReference *ModelReference `protobuf:"bytes,2,opt,name=model_reference,json=modelReference,proto3" json:"model_reference,omitempty"`
996	// Output only. The time when this model was created, in millisecs since the epoch.
997	CreationTime int64 `protobuf:"varint,5,opt,name=creation_time,json=creationTime,proto3" json:"creation_time,omitempty"`
998	// Output only. The time when this model was last modified, in millisecs since the epoch.
999	LastModifiedTime int64 `protobuf:"varint,6,opt,name=last_modified_time,json=lastModifiedTime,proto3" json:"last_modified_time,omitempty"`
1000	// Optional. A user-friendly description of this model.
1001	Description string `protobuf:"bytes,12,opt,name=description,proto3" json:"description,omitempty"`
1002	// Optional. A descriptive name for this model.
1003	FriendlyName string `protobuf:"bytes,14,opt,name=friendly_name,json=friendlyName,proto3" json:"friendly_name,omitempty"`
1004	// The labels associated with this model. You can use these to organize
1005	// and group your models. Label keys and values can be no longer
1006	// than 63 characters, can only contain lowercase letters, numeric
1007	// characters, underscores and dashes. International characters are allowed.
1008	// Label values are optional. Label keys must start with a letter and each
1009	// label in the list must have a different key.
1010	Labels map[string]string `protobuf:"bytes,15,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
1011	// Optional. The time when this model expires, in milliseconds since the epoch.
1012	// If not present, the model will persist indefinitely. Expired models
1013	// will be deleted and their storage reclaimed.  The defaultTableExpirationMs
1014	// property of the encapsulating dataset can be used to set a default
1015	// expirationTime on newly created models.
1016	ExpirationTime int64 `protobuf:"varint,16,opt,name=expiration_time,json=expirationTime,proto3" json:"expiration_time,omitempty"`
1017	// Output only. The geographic location where the model resides. This value
1018	// is inherited from the dataset.
1019	Location string `protobuf:"bytes,13,opt,name=location,proto3" json:"location,omitempty"`
1020	// Custom encryption configuration (e.g., Cloud KMS keys). This shows the
1021	// encryption configuration of the model data while stored in BigQuery
1022	// storage. This field can be used with PatchModel to update encryption key
1023	// for an already encrypted model.
1024	EncryptionConfiguration *EncryptionConfiguration `protobuf:"bytes,17,opt,name=encryption_configuration,json=encryptionConfiguration,proto3" json:"encryption_configuration,omitempty"`
1025	// Output only. Type of the model resource.
1026	ModelType Model_ModelType `protobuf:"varint,7,opt,name=model_type,json=modelType,proto3,enum=google.cloud.bigquery.v2.Model_ModelType" json:"model_type,omitempty"`
1027	// Output only. Information for all training runs in increasing order of start_time.
1028	TrainingRuns []*Model_TrainingRun `protobuf:"bytes,9,rep,name=training_runs,json=trainingRuns,proto3" json:"training_runs,omitempty"`
1029	// Output only. Input feature columns that were used to train this model.
1030	FeatureColumns []*StandardSqlField `protobuf:"bytes,10,rep,name=feature_columns,json=featureColumns,proto3" json:"feature_columns,omitempty"`
1031	// Output only. Label columns that were used to train this model.
1032	// The output of the model will have a "predicted_" prefix to these columns.
1033	LabelColumns []*StandardSqlField `protobuf:"bytes,11,rep,name=label_columns,json=labelColumns,proto3" json:"label_columns,omitempty"`
1034	// The best trial_id across all training runs.
1035	//
1036	// Deprecated: Do not use.
1037	BestTrialId int64 `protobuf:"varint,19,opt,name=best_trial_id,json=bestTrialId,proto3" json:"best_trial_id,omitempty"`
1038}
1039
1040func (x *Model) Reset() {
1041	*x = Model{}
1042	if protoimpl.UnsafeEnabled {
1043		mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[0]
1044		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1045		ms.StoreMessageInfo(mi)
1046	}
1047}
1048
1049func (x *Model) String() string {
1050	return protoimpl.X.MessageStringOf(x)
1051}
1052
1053func (*Model) ProtoMessage() {}
1054
1055func (x *Model) ProtoReflect() protoreflect.Message {
1056	mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[0]
1057	if protoimpl.UnsafeEnabled && x != nil {
1058		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1059		if ms.LoadMessageInfo() == nil {
1060			ms.StoreMessageInfo(mi)
1061		}
1062		return ms
1063	}
1064	return mi.MessageOf(x)
1065}
1066
1067// Deprecated: Use Model.ProtoReflect.Descriptor instead.
1068func (*Model) Descriptor() ([]byte, []int) {
1069	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{0}
1070}
1071
1072func (x *Model) GetEtag() string {
1073	if x != nil {
1074		return x.Etag
1075	}
1076	return ""
1077}
1078
1079func (x *Model) GetModelReference() *ModelReference {
1080	if x != nil {
1081		return x.ModelReference
1082	}
1083	return nil
1084}
1085
1086func (x *Model) GetCreationTime() int64 {
1087	if x != nil {
1088		return x.CreationTime
1089	}
1090	return 0
1091}
1092
1093func (x *Model) GetLastModifiedTime() int64 {
1094	if x != nil {
1095		return x.LastModifiedTime
1096	}
1097	return 0
1098}
1099
1100func (x *Model) GetDescription() string {
1101	if x != nil {
1102		return x.Description
1103	}
1104	return ""
1105}
1106
1107func (x *Model) GetFriendlyName() string {
1108	if x != nil {
1109		return x.FriendlyName
1110	}
1111	return ""
1112}
1113
1114func (x *Model) GetLabels() map[string]string {
1115	if x != nil {
1116		return x.Labels
1117	}
1118	return nil
1119}
1120
1121func (x *Model) GetExpirationTime() int64 {
1122	if x != nil {
1123		return x.ExpirationTime
1124	}
1125	return 0
1126}
1127
1128func (x *Model) GetLocation() string {
1129	if x != nil {
1130		return x.Location
1131	}
1132	return ""
1133}
1134
1135func (x *Model) GetEncryptionConfiguration() *EncryptionConfiguration {
1136	if x != nil {
1137		return x.EncryptionConfiguration
1138	}
1139	return nil
1140}
1141
1142func (x *Model) GetModelType() Model_ModelType {
1143	if x != nil {
1144		return x.ModelType
1145	}
1146	return Model_MODEL_TYPE_UNSPECIFIED
1147}
1148
1149func (x *Model) GetTrainingRuns() []*Model_TrainingRun {
1150	if x != nil {
1151		return x.TrainingRuns
1152	}
1153	return nil
1154}
1155
1156func (x *Model) GetFeatureColumns() []*StandardSqlField {
1157	if x != nil {
1158		return x.FeatureColumns
1159	}
1160	return nil
1161}
1162
1163func (x *Model) GetLabelColumns() []*StandardSqlField {
1164	if x != nil {
1165		return x.LabelColumns
1166	}
1167	return nil
1168}
1169
1170// Deprecated: Do not use.
1171func (x *Model) GetBestTrialId() int64 {
1172	if x != nil {
1173		return x.BestTrialId
1174	}
1175	return 0
1176}
1177
1178type GetModelRequest struct {
1179	state         protoimpl.MessageState
1180	sizeCache     protoimpl.SizeCache
1181	unknownFields protoimpl.UnknownFields
1182
1183	// Required. Project ID of the requested model.
1184	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
1185	// Required. Dataset ID of the requested model.
1186	DatasetId string `protobuf:"bytes,2,opt,name=dataset_id,json=datasetId,proto3" json:"dataset_id,omitempty"`
1187	// Required. Model ID of the requested model.
1188	ModelId string `protobuf:"bytes,3,opt,name=model_id,json=modelId,proto3" json:"model_id,omitempty"`
1189}
1190
1191func (x *GetModelRequest) Reset() {
1192	*x = GetModelRequest{}
1193	if protoimpl.UnsafeEnabled {
1194		mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[1]
1195		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1196		ms.StoreMessageInfo(mi)
1197	}
1198}
1199
1200func (x *GetModelRequest) String() string {
1201	return protoimpl.X.MessageStringOf(x)
1202}
1203
1204func (*GetModelRequest) ProtoMessage() {}
1205
1206func (x *GetModelRequest) ProtoReflect() protoreflect.Message {
1207	mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[1]
1208	if protoimpl.UnsafeEnabled && x != nil {
1209		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1210		if ms.LoadMessageInfo() == nil {
1211			ms.StoreMessageInfo(mi)
1212		}
1213		return ms
1214	}
1215	return mi.MessageOf(x)
1216}
1217
1218// Deprecated: Use GetModelRequest.ProtoReflect.Descriptor instead.
1219func (*GetModelRequest) Descriptor() ([]byte, []int) {
1220	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{1}
1221}
1222
1223func (x *GetModelRequest) GetProjectId() string {
1224	if x != nil {
1225		return x.ProjectId
1226	}
1227	return ""
1228}
1229
1230func (x *GetModelRequest) GetDatasetId() string {
1231	if x != nil {
1232		return x.DatasetId
1233	}
1234	return ""
1235}
1236
1237func (x *GetModelRequest) GetModelId() string {
1238	if x != nil {
1239		return x.ModelId
1240	}
1241	return ""
1242}
1243
1244type PatchModelRequest struct {
1245	state         protoimpl.MessageState
1246	sizeCache     protoimpl.SizeCache
1247	unknownFields protoimpl.UnknownFields
1248
1249	// Required. Project ID of the model to patch.
1250	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
1251	// Required. Dataset ID of the model to patch.
1252	DatasetId string `protobuf:"bytes,2,opt,name=dataset_id,json=datasetId,proto3" json:"dataset_id,omitempty"`
1253	// Required. Model ID of the model to patch.
1254	ModelId string `protobuf:"bytes,3,opt,name=model_id,json=modelId,proto3" json:"model_id,omitempty"`
1255	// Required. Patched model.
1256	// Follows RFC5789 patch semantics. Missing fields are not updated.
1257	// To clear a field, explicitly set to default value.
1258	Model *Model `protobuf:"bytes,4,opt,name=model,proto3" json:"model,omitempty"`
1259}
1260
1261func (x *PatchModelRequest) Reset() {
1262	*x = PatchModelRequest{}
1263	if protoimpl.UnsafeEnabled {
1264		mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[2]
1265		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1266		ms.StoreMessageInfo(mi)
1267	}
1268}
1269
1270func (x *PatchModelRequest) String() string {
1271	return protoimpl.X.MessageStringOf(x)
1272}
1273
1274func (*PatchModelRequest) ProtoMessage() {}
1275
1276func (x *PatchModelRequest) ProtoReflect() protoreflect.Message {
1277	mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[2]
1278	if protoimpl.UnsafeEnabled && x != nil {
1279		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1280		if ms.LoadMessageInfo() == nil {
1281			ms.StoreMessageInfo(mi)
1282		}
1283		return ms
1284	}
1285	return mi.MessageOf(x)
1286}
1287
1288// Deprecated: Use PatchModelRequest.ProtoReflect.Descriptor instead.
1289func (*PatchModelRequest) Descriptor() ([]byte, []int) {
1290	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{2}
1291}
1292
1293func (x *PatchModelRequest) GetProjectId() string {
1294	if x != nil {
1295		return x.ProjectId
1296	}
1297	return ""
1298}
1299
1300func (x *PatchModelRequest) GetDatasetId() string {
1301	if x != nil {
1302		return x.DatasetId
1303	}
1304	return ""
1305}
1306
1307func (x *PatchModelRequest) GetModelId() string {
1308	if x != nil {
1309		return x.ModelId
1310	}
1311	return ""
1312}
1313
1314func (x *PatchModelRequest) GetModel() *Model {
1315	if x != nil {
1316		return x.Model
1317	}
1318	return nil
1319}
1320
1321type DeleteModelRequest struct {
1322	state         protoimpl.MessageState
1323	sizeCache     protoimpl.SizeCache
1324	unknownFields protoimpl.UnknownFields
1325
1326	// Required. Project ID of the model to delete.
1327	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
1328	// Required. Dataset ID of the model to delete.
1329	DatasetId string `protobuf:"bytes,2,opt,name=dataset_id,json=datasetId,proto3" json:"dataset_id,omitempty"`
1330	// Required. Model ID of the model to delete.
1331	ModelId string `protobuf:"bytes,3,opt,name=model_id,json=modelId,proto3" json:"model_id,omitempty"`
1332}
1333
1334func (x *DeleteModelRequest) Reset() {
1335	*x = DeleteModelRequest{}
1336	if protoimpl.UnsafeEnabled {
1337		mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[3]
1338		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1339		ms.StoreMessageInfo(mi)
1340	}
1341}
1342
1343func (x *DeleteModelRequest) String() string {
1344	return protoimpl.X.MessageStringOf(x)
1345}
1346
1347func (*DeleteModelRequest) ProtoMessage() {}
1348
1349func (x *DeleteModelRequest) ProtoReflect() protoreflect.Message {
1350	mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[3]
1351	if protoimpl.UnsafeEnabled && x != nil {
1352		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1353		if ms.LoadMessageInfo() == nil {
1354			ms.StoreMessageInfo(mi)
1355		}
1356		return ms
1357	}
1358	return mi.MessageOf(x)
1359}
1360
1361// Deprecated: Use DeleteModelRequest.ProtoReflect.Descriptor instead.
1362func (*DeleteModelRequest) Descriptor() ([]byte, []int) {
1363	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{3}
1364}
1365
1366func (x *DeleteModelRequest) GetProjectId() string {
1367	if x != nil {
1368		return x.ProjectId
1369	}
1370	return ""
1371}
1372
1373func (x *DeleteModelRequest) GetDatasetId() string {
1374	if x != nil {
1375		return x.DatasetId
1376	}
1377	return ""
1378}
1379
1380func (x *DeleteModelRequest) GetModelId() string {
1381	if x != nil {
1382		return x.ModelId
1383	}
1384	return ""
1385}
1386
1387type ListModelsRequest struct {
1388	state         protoimpl.MessageState
1389	sizeCache     protoimpl.SizeCache
1390	unknownFields protoimpl.UnknownFields
1391
1392	// Required. Project ID of the models to list.
1393	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
1394	// Required. Dataset ID of the models to list.
1395	DatasetId string `protobuf:"bytes,2,opt,name=dataset_id,json=datasetId,proto3" json:"dataset_id,omitempty"`
1396	// The maximum number of results to return in a single response page.
1397	// Leverage the page tokens to iterate through the entire collection.
1398	MaxResults *wrapperspb.UInt32Value `protobuf:"bytes,3,opt,name=max_results,json=maxResults,proto3" json:"max_results,omitempty"`
1399	// Page token, returned by a previous call to request the next page of
1400	// results
1401	PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
1402}
1403
1404func (x *ListModelsRequest) Reset() {
1405	*x = ListModelsRequest{}
1406	if protoimpl.UnsafeEnabled {
1407		mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[4]
1408		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1409		ms.StoreMessageInfo(mi)
1410	}
1411}
1412
1413func (x *ListModelsRequest) String() string {
1414	return protoimpl.X.MessageStringOf(x)
1415}
1416
1417func (*ListModelsRequest) ProtoMessage() {}
1418
1419func (x *ListModelsRequest) ProtoReflect() protoreflect.Message {
1420	mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[4]
1421	if protoimpl.UnsafeEnabled && x != nil {
1422		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1423		if ms.LoadMessageInfo() == nil {
1424			ms.StoreMessageInfo(mi)
1425		}
1426		return ms
1427	}
1428	return mi.MessageOf(x)
1429}
1430
1431// Deprecated: Use ListModelsRequest.ProtoReflect.Descriptor instead.
1432func (*ListModelsRequest) Descriptor() ([]byte, []int) {
1433	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{4}
1434}
1435
1436func (x *ListModelsRequest) GetProjectId() string {
1437	if x != nil {
1438		return x.ProjectId
1439	}
1440	return ""
1441}
1442
1443func (x *ListModelsRequest) GetDatasetId() string {
1444	if x != nil {
1445		return x.DatasetId
1446	}
1447	return ""
1448}
1449
1450func (x *ListModelsRequest) GetMaxResults() *wrapperspb.UInt32Value {
1451	if x != nil {
1452		return x.MaxResults
1453	}
1454	return nil
1455}
1456
1457func (x *ListModelsRequest) GetPageToken() string {
1458	if x != nil {
1459		return x.PageToken
1460	}
1461	return ""
1462}
1463
1464type ListModelsResponse struct {
1465	state         protoimpl.MessageState
1466	sizeCache     protoimpl.SizeCache
1467	unknownFields protoimpl.UnknownFields
1468
1469	// Models in the requested dataset. Only the following fields are populated:
1470	// model_reference, model_type, creation_time, last_modified_time and
1471	// labels.
1472	Models []*Model `protobuf:"bytes,1,rep,name=models,proto3" json:"models,omitempty"`
1473	// A token to request the next page of results.
1474	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
1475}
1476
1477func (x *ListModelsResponse) Reset() {
1478	*x = ListModelsResponse{}
1479	if protoimpl.UnsafeEnabled {
1480		mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[5]
1481		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1482		ms.StoreMessageInfo(mi)
1483	}
1484}
1485
1486func (x *ListModelsResponse) String() string {
1487	return protoimpl.X.MessageStringOf(x)
1488}
1489
1490func (*ListModelsResponse) ProtoMessage() {}
1491
1492func (x *ListModelsResponse) ProtoReflect() protoreflect.Message {
1493	mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[5]
1494	if protoimpl.UnsafeEnabled && x != nil {
1495		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1496		if ms.LoadMessageInfo() == nil {
1497			ms.StoreMessageInfo(mi)
1498		}
1499		return ms
1500	}
1501	return mi.MessageOf(x)
1502}
1503
1504// Deprecated: Use ListModelsResponse.ProtoReflect.Descriptor instead.
1505func (*ListModelsResponse) Descriptor() ([]byte, []int) {
1506	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{5}
1507}
1508
1509func (x *ListModelsResponse) GetModels() []*Model {
1510	if x != nil {
1511		return x.Models
1512	}
1513	return nil
1514}
1515
1516func (x *ListModelsResponse) GetNextPageToken() string {
1517	if x != nil {
1518		return x.NextPageToken
1519	}
1520	return ""
1521}
1522
1523type Model_SeasonalPeriod struct {
1524	state         protoimpl.MessageState
1525	sizeCache     protoimpl.SizeCache
1526	unknownFields protoimpl.UnknownFields
1527}
1528
1529func (x *Model_SeasonalPeriod) Reset() {
1530	*x = Model_SeasonalPeriod{}
1531	if protoimpl.UnsafeEnabled {
1532		mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[6]
1533		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1534		ms.StoreMessageInfo(mi)
1535	}
1536}
1537
1538func (x *Model_SeasonalPeriod) String() string {
1539	return protoimpl.X.MessageStringOf(x)
1540}
1541
1542func (*Model_SeasonalPeriod) ProtoMessage() {}
1543
1544func (x *Model_SeasonalPeriod) ProtoReflect() protoreflect.Message {
1545	mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[6]
1546	if protoimpl.UnsafeEnabled && x != nil {
1547		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1548		if ms.LoadMessageInfo() == nil {
1549			ms.StoreMessageInfo(mi)
1550		}
1551		return ms
1552	}
1553	return mi.MessageOf(x)
1554}
1555
1556// Deprecated: Use Model_SeasonalPeriod.ProtoReflect.Descriptor instead.
1557func (*Model_SeasonalPeriod) Descriptor() ([]byte, []int) {
1558	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{0, 0}
1559}
1560
1561type Model_KmeansEnums struct {
1562	state         protoimpl.MessageState
1563	sizeCache     protoimpl.SizeCache
1564	unknownFields protoimpl.UnknownFields
1565}
1566
1567func (x *Model_KmeansEnums) Reset() {
1568	*x = Model_KmeansEnums{}
1569	if protoimpl.UnsafeEnabled {
1570		mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[7]
1571		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1572		ms.StoreMessageInfo(mi)
1573	}
1574}
1575
1576func (x *Model_KmeansEnums) String() string {
1577	return protoimpl.X.MessageStringOf(x)
1578}
1579
1580func (*Model_KmeansEnums) ProtoMessage() {}
1581
1582func (x *Model_KmeansEnums) ProtoReflect() protoreflect.Message {
1583	mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[7]
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 Model_KmeansEnums.ProtoReflect.Descriptor instead.
1595func (*Model_KmeansEnums) Descriptor() ([]byte, []int) {
1596	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{0, 1}
1597}
1598
1599// Evaluation metrics for regression and explicit feedback type matrix
1600// factorization models.
1601type Model_RegressionMetrics struct {
1602	state         protoimpl.MessageState
1603	sizeCache     protoimpl.SizeCache
1604	unknownFields protoimpl.UnknownFields
1605
1606	// Mean absolute error.
1607	MeanAbsoluteError *wrapperspb.DoubleValue `protobuf:"bytes,1,opt,name=mean_absolute_error,json=meanAbsoluteError,proto3" json:"mean_absolute_error,omitempty"`
1608	// Mean squared error.
1609	MeanSquaredError *wrapperspb.DoubleValue `protobuf:"bytes,2,opt,name=mean_squared_error,json=meanSquaredError,proto3" json:"mean_squared_error,omitempty"`
1610	// Mean squared log error.
1611	MeanSquaredLogError *wrapperspb.DoubleValue `protobuf:"bytes,3,opt,name=mean_squared_log_error,json=meanSquaredLogError,proto3" json:"mean_squared_log_error,omitempty"`
1612	// Median absolute error.
1613	MedianAbsoluteError *wrapperspb.DoubleValue `protobuf:"bytes,4,opt,name=median_absolute_error,json=medianAbsoluteError,proto3" json:"median_absolute_error,omitempty"`
1614	// R^2 score. This corresponds to r2_score in ML.EVALUATE.
1615	RSquared *wrapperspb.DoubleValue `protobuf:"bytes,5,opt,name=r_squared,json=rSquared,proto3" json:"r_squared,omitempty"`
1616}
1617
1618func (x *Model_RegressionMetrics) Reset() {
1619	*x = Model_RegressionMetrics{}
1620	if protoimpl.UnsafeEnabled {
1621		mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[8]
1622		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1623		ms.StoreMessageInfo(mi)
1624	}
1625}
1626
1627func (x *Model_RegressionMetrics) String() string {
1628	return protoimpl.X.MessageStringOf(x)
1629}
1630
1631func (*Model_RegressionMetrics) ProtoMessage() {}
1632
1633func (x *Model_RegressionMetrics) ProtoReflect() protoreflect.Message {
1634	mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[8]
1635	if protoimpl.UnsafeEnabled && x != nil {
1636		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1637		if ms.LoadMessageInfo() == nil {
1638			ms.StoreMessageInfo(mi)
1639		}
1640		return ms
1641	}
1642	return mi.MessageOf(x)
1643}
1644
1645// Deprecated: Use Model_RegressionMetrics.ProtoReflect.Descriptor instead.
1646func (*Model_RegressionMetrics) Descriptor() ([]byte, []int) {
1647	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{0, 2}
1648}
1649
1650func (x *Model_RegressionMetrics) GetMeanAbsoluteError() *wrapperspb.DoubleValue {
1651	if x != nil {
1652		return x.MeanAbsoluteError
1653	}
1654	return nil
1655}
1656
1657func (x *Model_RegressionMetrics) GetMeanSquaredError() *wrapperspb.DoubleValue {
1658	if x != nil {
1659		return x.MeanSquaredError
1660	}
1661	return nil
1662}
1663
1664func (x *Model_RegressionMetrics) GetMeanSquaredLogError() *wrapperspb.DoubleValue {
1665	if x != nil {
1666		return x.MeanSquaredLogError
1667	}
1668	return nil
1669}
1670
1671func (x *Model_RegressionMetrics) GetMedianAbsoluteError() *wrapperspb.DoubleValue {
1672	if x != nil {
1673		return x.MedianAbsoluteError
1674	}
1675	return nil
1676}
1677
1678func (x *Model_RegressionMetrics) GetRSquared() *wrapperspb.DoubleValue {
1679	if x != nil {
1680		return x.RSquared
1681	}
1682	return nil
1683}
1684
1685// Aggregate metrics for classification/classifier models. For multi-class
1686// models, the metrics are either macro-averaged or micro-averaged. When
1687// macro-averaged, the metrics are calculated for each label and then an
1688// unweighted average is taken of those values. When micro-averaged, the
1689// metric is calculated globally by counting the total number of correctly
1690// predicted rows.
1691type Model_AggregateClassificationMetrics struct {
1692	state         protoimpl.MessageState
1693	sizeCache     protoimpl.SizeCache
1694	unknownFields protoimpl.UnknownFields
1695
1696	// Precision is the fraction of actual positive predictions that had
1697	// positive actual labels. For multiclass this is a macro-averaged
1698	// metric treating each class as a binary classifier.
1699	Precision *wrapperspb.DoubleValue `protobuf:"bytes,1,opt,name=precision,proto3" json:"precision,omitempty"`
1700	// Recall is the fraction of actual positive labels that were given a
1701	// positive prediction. For multiclass this is a macro-averaged metric.
1702	Recall *wrapperspb.DoubleValue `protobuf:"bytes,2,opt,name=recall,proto3" json:"recall,omitempty"`
1703	// Accuracy is the fraction of predictions given the correct label. For
1704	// multiclass this is a micro-averaged metric.
1705	Accuracy *wrapperspb.DoubleValue `protobuf:"bytes,3,opt,name=accuracy,proto3" json:"accuracy,omitempty"`
1706	// Threshold at which the metrics are computed. For binary
1707	// classification models this is the positive class threshold.
1708	// For multi-class classfication models this is the confidence
1709	// threshold.
1710	Threshold *wrapperspb.DoubleValue `protobuf:"bytes,4,opt,name=threshold,proto3" json:"threshold,omitempty"`
1711	// The F1 score is an average of recall and precision. For multiclass
1712	// this is a macro-averaged metric.
1713	F1Score *wrapperspb.DoubleValue `protobuf:"bytes,5,opt,name=f1_score,json=f1Score,proto3" json:"f1_score,omitempty"`
1714	// Logarithmic Loss. For multiclass this is a macro-averaged metric.
1715	LogLoss *wrapperspb.DoubleValue `protobuf:"bytes,6,opt,name=log_loss,json=logLoss,proto3" json:"log_loss,omitempty"`
1716	// Area Under a ROC Curve. For multiclass this is a macro-averaged
1717	// metric.
1718	RocAuc *wrapperspb.DoubleValue `protobuf:"bytes,7,opt,name=roc_auc,json=rocAuc,proto3" json:"roc_auc,omitempty"`
1719}
1720
1721func (x *Model_AggregateClassificationMetrics) Reset() {
1722	*x = Model_AggregateClassificationMetrics{}
1723	if protoimpl.UnsafeEnabled {
1724		mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[9]
1725		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1726		ms.StoreMessageInfo(mi)
1727	}
1728}
1729
1730func (x *Model_AggregateClassificationMetrics) String() string {
1731	return protoimpl.X.MessageStringOf(x)
1732}
1733
1734func (*Model_AggregateClassificationMetrics) ProtoMessage() {}
1735
1736func (x *Model_AggregateClassificationMetrics) ProtoReflect() protoreflect.Message {
1737	mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[9]
1738	if protoimpl.UnsafeEnabled && x != nil {
1739		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1740		if ms.LoadMessageInfo() == nil {
1741			ms.StoreMessageInfo(mi)
1742		}
1743		return ms
1744	}
1745	return mi.MessageOf(x)
1746}
1747
1748// Deprecated: Use Model_AggregateClassificationMetrics.ProtoReflect.Descriptor instead.
1749func (*Model_AggregateClassificationMetrics) Descriptor() ([]byte, []int) {
1750	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{0, 3}
1751}
1752
1753func (x *Model_AggregateClassificationMetrics) GetPrecision() *wrapperspb.DoubleValue {
1754	if x != nil {
1755		return x.Precision
1756	}
1757	return nil
1758}
1759
1760func (x *Model_AggregateClassificationMetrics) GetRecall() *wrapperspb.DoubleValue {
1761	if x != nil {
1762		return x.Recall
1763	}
1764	return nil
1765}
1766
1767func (x *Model_AggregateClassificationMetrics) GetAccuracy() *wrapperspb.DoubleValue {
1768	if x != nil {
1769		return x.Accuracy
1770	}
1771	return nil
1772}
1773
1774func (x *Model_AggregateClassificationMetrics) GetThreshold() *wrapperspb.DoubleValue {
1775	if x != nil {
1776		return x.Threshold
1777	}
1778	return nil
1779}
1780
1781func (x *Model_AggregateClassificationMetrics) GetF1Score() *wrapperspb.DoubleValue {
1782	if x != nil {
1783		return x.F1Score
1784	}
1785	return nil
1786}
1787
1788func (x *Model_AggregateClassificationMetrics) GetLogLoss() *wrapperspb.DoubleValue {
1789	if x != nil {
1790		return x.LogLoss
1791	}
1792	return nil
1793}
1794
1795func (x *Model_AggregateClassificationMetrics) GetRocAuc() *wrapperspb.DoubleValue {
1796	if x != nil {
1797		return x.RocAuc
1798	}
1799	return nil
1800}
1801
1802// Evaluation metrics for binary classification/classifier models.
1803type Model_BinaryClassificationMetrics struct {
1804	state         protoimpl.MessageState
1805	sizeCache     protoimpl.SizeCache
1806	unknownFields protoimpl.UnknownFields
1807
1808	// Aggregate classification metrics.
1809	AggregateClassificationMetrics *Model_AggregateClassificationMetrics `protobuf:"bytes,1,opt,name=aggregate_classification_metrics,json=aggregateClassificationMetrics,proto3" json:"aggregate_classification_metrics,omitempty"`
1810	// Binary confusion matrix at multiple thresholds.
1811	BinaryConfusionMatrixList []*Model_BinaryClassificationMetrics_BinaryConfusionMatrix `protobuf:"bytes,2,rep,name=binary_confusion_matrix_list,json=binaryConfusionMatrixList,proto3" json:"binary_confusion_matrix_list,omitempty"`
1812	// Label representing the positive class.
1813	PositiveLabel string `protobuf:"bytes,3,opt,name=positive_label,json=positiveLabel,proto3" json:"positive_label,omitempty"`
1814	// Label representing the negative class.
1815	NegativeLabel string `protobuf:"bytes,4,opt,name=negative_label,json=negativeLabel,proto3" json:"negative_label,omitempty"`
1816}
1817
1818func (x *Model_BinaryClassificationMetrics) Reset() {
1819	*x = Model_BinaryClassificationMetrics{}
1820	if protoimpl.UnsafeEnabled {
1821		mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[10]
1822		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1823		ms.StoreMessageInfo(mi)
1824	}
1825}
1826
1827func (x *Model_BinaryClassificationMetrics) String() string {
1828	return protoimpl.X.MessageStringOf(x)
1829}
1830
1831func (*Model_BinaryClassificationMetrics) ProtoMessage() {}
1832
1833func (x *Model_BinaryClassificationMetrics) ProtoReflect() protoreflect.Message {
1834	mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[10]
1835	if protoimpl.UnsafeEnabled && x != nil {
1836		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1837		if ms.LoadMessageInfo() == nil {
1838			ms.StoreMessageInfo(mi)
1839		}
1840		return ms
1841	}
1842	return mi.MessageOf(x)
1843}
1844
1845// Deprecated: Use Model_BinaryClassificationMetrics.ProtoReflect.Descriptor instead.
1846func (*Model_BinaryClassificationMetrics) Descriptor() ([]byte, []int) {
1847	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{0, 4}
1848}
1849
1850func (x *Model_BinaryClassificationMetrics) GetAggregateClassificationMetrics() *Model_AggregateClassificationMetrics {
1851	if x != nil {
1852		return x.AggregateClassificationMetrics
1853	}
1854	return nil
1855}
1856
1857func (x *Model_BinaryClassificationMetrics) GetBinaryConfusionMatrixList() []*Model_BinaryClassificationMetrics_BinaryConfusionMatrix {
1858	if x != nil {
1859		return x.BinaryConfusionMatrixList
1860	}
1861	return nil
1862}
1863
1864func (x *Model_BinaryClassificationMetrics) GetPositiveLabel() string {
1865	if x != nil {
1866		return x.PositiveLabel
1867	}
1868	return ""
1869}
1870
1871func (x *Model_BinaryClassificationMetrics) GetNegativeLabel() string {
1872	if x != nil {
1873		return x.NegativeLabel
1874	}
1875	return ""
1876}
1877
1878// Evaluation metrics for multi-class classification/classifier models.
1879type Model_MultiClassClassificationMetrics struct {
1880	state         protoimpl.MessageState
1881	sizeCache     protoimpl.SizeCache
1882	unknownFields protoimpl.UnknownFields
1883
1884	// Aggregate classification metrics.
1885	AggregateClassificationMetrics *Model_AggregateClassificationMetrics `protobuf:"bytes,1,opt,name=aggregate_classification_metrics,json=aggregateClassificationMetrics,proto3" json:"aggregate_classification_metrics,omitempty"`
1886	// Confusion matrix at different thresholds.
1887	ConfusionMatrixList []*Model_MultiClassClassificationMetrics_ConfusionMatrix `protobuf:"bytes,2,rep,name=confusion_matrix_list,json=confusionMatrixList,proto3" json:"confusion_matrix_list,omitempty"`
1888}
1889
1890func (x *Model_MultiClassClassificationMetrics) Reset() {
1891	*x = Model_MultiClassClassificationMetrics{}
1892	if protoimpl.UnsafeEnabled {
1893		mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[11]
1894		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1895		ms.StoreMessageInfo(mi)
1896	}
1897}
1898
1899func (x *Model_MultiClassClassificationMetrics) String() string {
1900	return protoimpl.X.MessageStringOf(x)
1901}
1902
1903func (*Model_MultiClassClassificationMetrics) ProtoMessage() {}
1904
1905func (x *Model_MultiClassClassificationMetrics) ProtoReflect() protoreflect.Message {
1906	mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[11]
1907	if protoimpl.UnsafeEnabled && x != nil {
1908		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1909		if ms.LoadMessageInfo() == nil {
1910			ms.StoreMessageInfo(mi)
1911		}
1912		return ms
1913	}
1914	return mi.MessageOf(x)
1915}
1916
1917// Deprecated: Use Model_MultiClassClassificationMetrics.ProtoReflect.Descriptor instead.
1918func (*Model_MultiClassClassificationMetrics) Descriptor() ([]byte, []int) {
1919	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{0, 5}
1920}
1921
1922func (x *Model_MultiClassClassificationMetrics) GetAggregateClassificationMetrics() *Model_AggregateClassificationMetrics {
1923	if x != nil {
1924		return x.AggregateClassificationMetrics
1925	}
1926	return nil
1927}
1928
1929func (x *Model_MultiClassClassificationMetrics) GetConfusionMatrixList() []*Model_MultiClassClassificationMetrics_ConfusionMatrix {
1930	if x != nil {
1931		return x.ConfusionMatrixList
1932	}
1933	return nil
1934}
1935
1936// Evaluation metrics for clustering models.
1937type Model_ClusteringMetrics struct {
1938	state         protoimpl.MessageState
1939	sizeCache     protoimpl.SizeCache
1940	unknownFields protoimpl.UnknownFields
1941
1942	// Davies-Bouldin index.
1943	DaviesBouldinIndex *wrapperspb.DoubleValue `protobuf:"bytes,1,opt,name=davies_bouldin_index,json=daviesBouldinIndex,proto3" json:"davies_bouldin_index,omitempty"`
1944	// Mean of squared distances between each sample to its cluster centroid.
1945	MeanSquaredDistance *wrapperspb.DoubleValue `protobuf:"bytes,2,opt,name=mean_squared_distance,json=meanSquaredDistance,proto3" json:"mean_squared_distance,omitempty"`
1946	// Information for all clusters.
1947	Clusters []*Model_ClusteringMetrics_Cluster `protobuf:"bytes,3,rep,name=clusters,proto3" json:"clusters,omitempty"`
1948}
1949
1950func (x *Model_ClusteringMetrics) Reset() {
1951	*x = Model_ClusteringMetrics{}
1952	if protoimpl.UnsafeEnabled {
1953		mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[12]
1954		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1955		ms.StoreMessageInfo(mi)
1956	}
1957}
1958
1959func (x *Model_ClusteringMetrics) String() string {
1960	return protoimpl.X.MessageStringOf(x)
1961}
1962
1963func (*Model_ClusteringMetrics) ProtoMessage() {}
1964
1965func (x *Model_ClusteringMetrics) ProtoReflect() protoreflect.Message {
1966	mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[12]
1967	if protoimpl.UnsafeEnabled && x != nil {
1968		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1969		if ms.LoadMessageInfo() == nil {
1970			ms.StoreMessageInfo(mi)
1971		}
1972		return ms
1973	}
1974	return mi.MessageOf(x)
1975}
1976
1977// Deprecated: Use Model_ClusteringMetrics.ProtoReflect.Descriptor instead.
1978func (*Model_ClusteringMetrics) Descriptor() ([]byte, []int) {
1979	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{0, 6}
1980}
1981
1982func (x *Model_ClusteringMetrics) GetDaviesBouldinIndex() *wrapperspb.DoubleValue {
1983	if x != nil {
1984		return x.DaviesBouldinIndex
1985	}
1986	return nil
1987}
1988
1989func (x *Model_ClusteringMetrics) GetMeanSquaredDistance() *wrapperspb.DoubleValue {
1990	if x != nil {
1991		return x.MeanSquaredDistance
1992	}
1993	return nil
1994}
1995
1996func (x *Model_ClusteringMetrics) GetClusters() []*Model_ClusteringMetrics_Cluster {
1997	if x != nil {
1998		return x.Clusters
1999	}
2000	return nil
2001}
2002
2003// Evaluation metrics used by weighted-ALS models specified by
2004// feedback_type=implicit.
2005type Model_RankingMetrics struct {
2006	state         protoimpl.MessageState
2007	sizeCache     protoimpl.SizeCache
2008	unknownFields protoimpl.UnknownFields
2009
2010	// Calculates a precision per user for all the items by ranking them and
2011	// then averages all the precisions across all the users.
2012	MeanAveragePrecision *wrapperspb.DoubleValue `protobuf:"bytes,1,opt,name=mean_average_precision,json=meanAveragePrecision,proto3" json:"mean_average_precision,omitempty"`
2013	// Similar to the mean squared error computed in regression and explicit
2014	// recommendation models except instead of computing the rating directly,
2015	// the output from evaluate is computed against a preference which is 1 or 0
2016	// depending on if the rating exists or not.
2017	MeanSquaredError *wrapperspb.DoubleValue `protobuf:"bytes,2,opt,name=mean_squared_error,json=meanSquaredError,proto3" json:"mean_squared_error,omitempty"`
2018	// A metric to determine the goodness of a ranking calculated from the
2019	// predicted confidence by comparing it to an ideal rank measured by the
2020	// original ratings.
2021	NormalizedDiscountedCumulativeGain *wrapperspb.DoubleValue `protobuf:"bytes,3,opt,name=normalized_discounted_cumulative_gain,json=normalizedDiscountedCumulativeGain,proto3" json:"normalized_discounted_cumulative_gain,omitempty"`
2022	// Determines the goodness of a ranking by computing the percentile rank
2023	// from the predicted confidence and dividing it by the original rank.
2024	AverageRank *wrapperspb.DoubleValue `protobuf:"bytes,4,opt,name=average_rank,json=averageRank,proto3" json:"average_rank,omitempty"`
2025}
2026
2027func (x *Model_RankingMetrics) Reset() {
2028	*x = Model_RankingMetrics{}
2029	if protoimpl.UnsafeEnabled {
2030		mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[13]
2031		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2032		ms.StoreMessageInfo(mi)
2033	}
2034}
2035
2036func (x *Model_RankingMetrics) String() string {
2037	return protoimpl.X.MessageStringOf(x)
2038}
2039
2040func (*Model_RankingMetrics) ProtoMessage() {}
2041
2042func (x *Model_RankingMetrics) ProtoReflect() protoreflect.Message {
2043	mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[13]
2044	if protoimpl.UnsafeEnabled && x != nil {
2045		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2046		if ms.LoadMessageInfo() == nil {
2047			ms.StoreMessageInfo(mi)
2048		}
2049		return ms
2050	}
2051	return mi.MessageOf(x)
2052}
2053
2054// Deprecated: Use Model_RankingMetrics.ProtoReflect.Descriptor instead.
2055func (*Model_RankingMetrics) Descriptor() ([]byte, []int) {
2056	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{0, 7}
2057}
2058
2059func (x *Model_RankingMetrics) GetMeanAveragePrecision() *wrapperspb.DoubleValue {
2060	if x != nil {
2061		return x.MeanAveragePrecision
2062	}
2063	return nil
2064}
2065
2066func (x *Model_RankingMetrics) GetMeanSquaredError() *wrapperspb.DoubleValue {
2067	if x != nil {
2068		return x.MeanSquaredError
2069	}
2070	return nil
2071}
2072
2073func (x *Model_RankingMetrics) GetNormalizedDiscountedCumulativeGain() *wrapperspb.DoubleValue {
2074	if x != nil {
2075		return x.NormalizedDiscountedCumulativeGain
2076	}
2077	return nil
2078}
2079
2080func (x *Model_RankingMetrics) GetAverageRank() *wrapperspb.DoubleValue {
2081	if x != nil {
2082		return x.AverageRank
2083	}
2084	return nil
2085}
2086
2087// Model evaluation metrics for ARIMA forecasting models.
2088type Model_ArimaForecastingMetrics struct {
2089	state         protoimpl.MessageState
2090	sizeCache     protoimpl.SizeCache
2091	unknownFields protoimpl.UnknownFields
2092
2093	// Non-seasonal order.
2094	//
2095	// Deprecated: Do not use.
2096	NonSeasonalOrder []*Model_ArimaOrder `protobuf:"bytes,1,rep,name=non_seasonal_order,json=nonSeasonalOrder,proto3" json:"non_seasonal_order,omitempty"`
2097	// Arima model fitting metrics.
2098	//
2099	// Deprecated: Do not use.
2100	ArimaFittingMetrics []*Model_ArimaFittingMetrics `protobuf:"bytes,2,rep,name=arima_fitting_metrics,json=arimaFittingMetrics,proto3" json:"arima_fitting_metrics,omitempty"`
2101	// Seasonal periods. Repeated because multiple periods are supported for one
2102	// time series.
2103	//
2104	// Deprecated: Do not use.
2105	SeasonalPeriods []Model_SeasonalPeriod_SeasonalPeriodType `protobuf:"varint,3,rep,packed,name=seasonal_periods,json=seasonalPeriods,proto3,enum=google.cloud.bigquery.v2.Model_SeasonalPeriod_SeasonalPeriodType" json:"seasonal_periods,omitempty"`
2106	// Whether Arima model fitted with drift or not. It is always false when d
2107	// is not 1.
2108	//
2109	// Deprecated: Do not use.
2110	HasDrift []bool `protobuf:"varint,4,rep,packed,name=has_drift,json=hasDrift,proto3" json:"has_drift,omitempty"`
2111	// Id to differentiate different time series for the large-scale case.
2112	//
2113	// Deprecated: Do not use.
2114	TimeSeriesId []string `protobuf:"bytes,5,rep,name=time_series_id,json=timeSeriesId,proto3" json:"time_series_id,omitempty"`
2115	// Repeated as there can be many metric sets (one for each model) in
2116	// auto-arima and the large-scale case.
2117	ArimaSingleModelForecastingMetrics []*Model_ArimaForecastingMetrics_ArimaSingleModelForecastingMetrics `protobuf:"bytes,6,rep,name=arima_single_model_forecasting_metrics,json=arimaSingleModelForecastingMetrics,proto3" json:"arima_single_model_forecasting_metrics,omitempty"`
2118}
2119
2120func (x *Model_ArimaForecastingMetrics) Reset() {
2121	*x = Model_ArimaForecastingMetrics{}
2122	if protoimpl.UnsafeEnabled {
2123		mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[14]
2124		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2125		ms.StoreMessageInfo(mi)
2126	}
2127}
2128
2129func (x *Model_ArimaForecastingMetrics) String() string {
2130	return protoimpl.X.MessageStringOf(x)
2131}
2132
2133func (*Model_ArimaForecastingMetrics) ProtoMessage() {}
2134
2135func (x *Model_ArimaForecastingMetrics) ProtoReflect() protoreflect.Message {
2136	mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[14]
2137	if protoimpl.UnsafeEnabled && x != nil {
2138		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2139		if ms.LoadMessageInfo() == nil {
2140			ms.StoreMessageInfo(mi)
2141		}
2142		return ms
2143	}
2144	return mi.MessageOf(x)
2145}
2146
2147// Deprecated: Use Model_ArimaForecastingMetrics.ProtoReflect.Descriptor instead.
2148func (*Model_ArimaForecastingMetrics) Descriptor() ([]byte, []int) {
2149	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{0, 8}
2150}
2151
2152// Deprecated: Do not use.
2153func (x *Model_ArimaForecastingMetrics) GetNonSeasonalOrder() []*Model_ArimaOrder {
2154	if x != nil {
2155		return x.NonSeasonalOrder
2156	}
2157	return nil
2158}
2159
2160// Deprecated: Do not use.
2161func (x *Model_ArimaForecastingMetrics) GetArimaFittingMetrics() []*Model_ArimaFittingMetrics {
2162	if x != nil {
2163		return x.ArimaFittingMetrics
2164	}
2165	return nil
2166}
2167
2168// Deprecated: Do not use.
2169func (x *Model_ArimaForecastingMetrics) GetSeasonalPeriods() []Model_SeasonalPeriod_SeasonalPeriodType {
2170	if x != nil {
2171		return x.SeasonalPeriods
2172	}
2173	return nil
2174}
2175
2176// Deprecated: Do not use.
2177func (x *Model_ArimaForecastingMetrics) GetHasDrift() []bool {
2178	if x != nil {
2179		return x.HasDrift
2180	}
2181	return nil
2182}
2183
2184// Deprecated: Do not use.
2185func (x *Model_ArimaForecastingMetrics) GetTimeSeriesId() []string {
2186	if x != nil {
2187		return x.TimeSeriesId
2188	}
2189	return nil
2190}
2191
2192func (x *Model_ArimaForecastingMetrics) GetArimaSingleModelForecastingMetrics() []*Model_ArimaForecastingMetrics_ArimaSingleModelForecastingMetrics {
2193	if x != nil {
2194		return x.ArimaSingleModelForecastingMetrics
2195	}
2196	return nil
2197}
2198
2199// Evaluation metrics of a model. These are either computed on all training
2200// data or just the eval data based on whether eval data was used during
2201// training. These are not present for imported models.
2202type Model_EvaluationMetrics struct {
2203	state         protoimpl.MessageState
2204	sizeCache     protoimpl.SizeCache
2205	unknownFields protoimpl.UnknownFields
2206
2207	// Types that are assignable to Metrics:
2208	//	*Model_EvaluationMetrics_RegressionMetrics
2209	//	*Model_EvaluationMetrics_BinaryClassificationMetrics
2210	//	*Model_EvaluationMetrics_MultiClassClassificationMetrics
2211	//	*Model_EvaluationMetrics_ClusteringMetrics
2212	//	*Model_EvaluationMetrics_RankingMetrics
2213	//	*Model_EvaluationMetrics_ArimaForecastingMetrics
2214	Metrics isModel_EvaluationMetrics_Metrics `protobuf_oneof:"metrics"`
2215}
2216
2217func (x *Model_EvaluationMetrics) Reset() {
2218	*x = Model_EvaluationMetrics{}
2219	if protoimpl.UnsafeEnabled {
2220		mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[15]
2221		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2222		ms.StoreMessageInfo(mi)
2223	}
2224}
2225
2226func (x *Model_EvaluationMetrics) String() string {
2227	return protoimpl.X.MessageStringOf(x)
2228}
2229
2230func (*Model_EvaluationMetrics) ProtoMessage() {}
2231
2232func (x *Model_EvaluationMetrics) ProtoReflect() protoreflect.Message {
2233	mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[15]
2234	if protoimpl.UnsafeEnabled && x != nil {
2235		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2236		if ms.LoadMessageInfo() == nil {
2237			ms.StoreMessageInfo(mi)
2238		}
2239		return ms
2240	}
2241	return mi.MessageOf(x)
2242}
2243
2244// Deprecated: Use Model_EvaluationMetrics.ProtoReflect.Descriptor instead.
2245func (*Model_EvaluationMetrics) Descriptor() ([]byte, []int) {
2246	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{0, 9}
2247}
2248
2249func (m *Model_EvaluationMetrics) GetMetrics() isModel_EvaluationMetrics_Metrics {
2250	if m != nil {
2251		return m.Metrics
2252	}
2253	return nil
2254}
2255
2256func (x *Model_EvaluationMetrics) GetRegressionMetrics() *Model_RegressionMetrics {
2257	if x, ok := x.GetMetrics().(*Model_EvaluationMetrics_RegressionMetrics); ok {
2258		return x.RegressionMetrics
2259	}
2260	return nil
2261}
2262
2263func (x *Model_EvaluationMetrics) GetBinaryClassificationMetrics() *Model_BinaryClassificationMetrics {
2264	if x, ok := x.GetMetrics().(*Model_EvaluationMetrics_BinaryClassificationMetrics); ok {
2265		return x.BinaryClassificationMetrics
2266	}
2267	return nil
2268}
2269
2270func (x *Model_EvaluationMetrics) GetMultiClassClassificationMetrics() *Model_MultiClassClassificationMetrics {
2271	if x, ok := x.GetMetrics().(*Model_EvaluationMetrics_MultiClassClassificationMetrics); ok {
2272		return x.MultiClassClassificationMetrics
2273	}
2274	return nil
2275}
2276
2277func (x *Model_EvaluationMetrics) GetClusteringMetrics() *Model_ClusteringMetrics {
2278	if x, ok := x.GetMetrics().(*Model_EvaluationMetrics_ClusteringMetrics); ok {
2279		return x.ClusteringMetrics
2280	}
2281	return nil
2282}
2283
2284func (x *Model_EvaluationMetrics) GetRankingMetrics() *Model_RankingMetrics {
2285	if x, ok := x.GetMetrics().(*Model_EvaluationMetrics_RankingMetrics); ok {
2286		return x.RankingMetrics
2287	}
2288	return nil
2289}
2290
2291func (x *Model_EvaluationMetrics) GetArimaForecastingMetrics() *Model_ArimaForecastingMetrics {
2292	if x, ok := x.GetMetrics().(*Model_EvaluationMetrics_ArimaForecastingMetrics); ok {
2293		return x.ArimaForecastingMetrics
2294	}
2295	return nil
2296}
2297
2298type isModel_EvaluationMetrics_Metrics interface {
2299	isModel_EvaluationMetrics_Metrics()
2300}
2301
2302type Model_EvaluationMetrics_RegressionMetrics struct {
2303	// Populated for regression models and explicit feedback type matrix
2304	// factorization models.
2305	RegressionMetrics *Model_RegressionMetrics `protobuf:"bytes,1,opt,name=regression_metrics,json=regressionMetrics,proto3,oneof"`
2306}
2307
2308type Model_EvaluationMetrics_BinaryClassificationMetrics struct {
2309	// Populated for binary classification/classifier models.
2310	BinaryClassificationMetrics *Model_BinaryClassificationMetrics `protobuf:"bytes,2,opt,name=binary_classification_metrics,json=binaryClassificationMetrics,proto3,oneof"`
2311}
2312
2313type Model_EvaluationMetrics_MultiClassClassificationMetrics struct {
2314	// Populated for multi-class classification/classifier models.
2315	MultiClassClassificationMetrics *Model_MultiClassClassificationMetrics `protobuf:"bytes,3,opt,name=multi_class_classification_metrics,json=multiClassClassificationMetrics,proto3,oneof"`
2316}
2317
2318type Model_EvaluationMetrics_ClusteringMetrics struct {
2319	// Populated for clustering models.
2320	ClusteringMetrics *Model_ClusteringMetrics `protobuf:"bytes,4,opt,name=clustering_metrics,json=clusteringMetrics,proto3,oneof"`
2321}
2322
2323type Model_EvaluationMetrics_RankingMetrics struct {
2324	// Populated for implicit feedback type matrix factorization models.
2325	RankingMetrics *Model_RankingMetrics `protobuf:"bytes,5,opt,name=ranking_metrics,json=rankingMetrics,proto3,oneof"`
2326}
2327
2328type Model_EvaluationMetrics_ArimaForecastingMetrics struct {
2329	// Populated for ARIMA models.
2330	ArimaForecastingMetrics *Model_ArimaForecastingMetrics `protobuf:"bytes,6,opt,name=arima_forecasting_metrics,json=arimaForecastingMetrics,proto3,oneof"`
2331}
2332
2333func (*Model_EvaluationMetrics_RegressionMetrics) isModel_EvaluationMetrics_Metrics() {}
2334
2335func (*Model_EvaluationMetrics_BinaryClassificationMetrics) isModel_EvaluationMetrics_Metrics() {}
2336
2337func (*Model_EvaluationMetrics_MultiClassClassificationMetrics) isModel_EvaluationMetrics_Metrics() {}
2338
2339func (*Model_EvaluationMetrics_ClusteringMetrics) isModel_EvaluationMetrics_Metrics() {}
2340
2341func (*Model_EvaluationMetrics_RankingMetrics) isModel_EvaluationMetrics_Metrics() {}
2342
2343func (*Model_EvaluationMetrics_ArimaForecastingMetrics) isModel_EvaluationMetrics_Metrics() {}
2344
2345// Data split result. This contains references to the training and evaluation
2346// data tables that were used to train the model.
2347type Model_DataSplitResult struct {
2348	state         protoimpl.MessageState
2349	sizeCache     protoimpl.SizeCache
2350	unknownFields protoimpl.UnknownFields
2351
2352	// Table reference of the training data after split.
2353	TrainingTable *TableReference `protobuf:"bytes,1,opt,name=training_table,json=trainingTable,proto3" json:"training_table,omitempty"`
2354	// Table reference of the evaluation data after split.
2355	EvaluationTable *TableReference `protobuf:"bytes,2,opt,name=evaluation_table,json=evaluationTable,proto3" json:"evaluation_table,omitempty"`
2356}
2357
2358func (x *Model_DataSplitResult) Reset() {
2359	*x = Model_DataSplitResult{}
2360	if protoimpl.UnsafeEnabled {
2361		mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[16]
2362		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2363		ms.StoreMessageInfo(mi)
2364	}
2365}
2366
2367func (x *Model_DataSplitResult) String() string {
2368	return protoimpl.X.MessageStringOf(x)
2369}
2370
2371func (*Model_DataSplitResult) ProtoMessage() {}
2372
2373func (x *Model_DataSplitResult) ProtoReflect() protoreflect.Message {
2374	mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[16]
2375	if protoimpl.UnsafeEnabled && x != nil {
2376		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2377		if ms.LoadMessageInfo() == nil {
2378			ms.StoreMessageInfo(mi)
2379		}
2380		return ms
2381	}
2382	return mi.MessageOf(x)
2383}
2384
2385// Deprecated: Use Model_DataSplitResult.ProtoReflect.Descriptor instead.
2386func (*Model_DataSplitResult) Descriptor() ([]byte, []int) {
2387	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{0, 10}
2388}
2389
2390func (x *Model_DataSplitResult) GetTrainingTable() *TableReference {
2391	if x != nil {
2392		return x.TrainingTable
2393	}
2394	return nil
2395}
2396
2397func (x *Model_DataSplitResult) GetEvaluationTable() *TableReference {
2398	if x != nil {
2399		return x.EvaluationTable
2400	}
2401	return nil
2402}
2403
2404// Arima order, can be used for both non-seasonal and seasonal parts.
2405type Model_ArimaOrder struct {
2406	state         protoimpl.MessageState
2407	sizeCache     protoimpl.SizeCache
2408	unknownFields protoimpl.UnknownFields
2409
2410	// Order of the autoregressive part.
2411	P int64 `protobuf:"varint,1,opt,name=p,proto3" json:"p,omitempty"`
2412	// Order of the differencing part.
2413	D int64 `protobuf:"varint,2,opt,name=d,proto3" json:"d,omitempty"`
2414	// Order of the moving-average part.
2415	Q int64 `protobuf:"varint,3,opt,name=q,proto3" json:"q,omitempty"`
2416}
2417
2418func (x *Model_ArimaOrder) Reset() {
2419	*x = Model_ArimaOrder{}
2420	if protoimpl.UnsafeEnabled {
2421		mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[17]
2422		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2423		ms.StoreMessageInfo(mi)
2424	}
2425}
2426
2427func (x *Model_ArimaOrder) String() string {
2428	return protoimpl.X.MessageStringOf(x)
2429}
2430
2431func (*Model_ArimaOrder) ProtoMessage() {}
2432
2433func (x *Model_ArimaOrder) ProtoReflect() protoreflect.Message {
2434	mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[17]
2435	if protoimpl.UnsafeEnabled && x != nil {
2436		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2437		if ms.LoadMessageInfo() == nil {
2438			ms.StoreMessageInfo(mi)
2439		}
2440		return ms
2441	}
2442	return mi.MessageOf(x)
2443}
2444
2445// Deprecated: Use Model_ArimaOrder.ProtoReflect.Descriptor instead.
2446func (*Model_ArimaOrder) Descriptor() ([]byte, []int) {
2447	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{0, 11}
2448}
2449
2450func (x *Model_ArimaOrder) GetP() int64 {
2451	if x != nil {
2452		return x.P
2453	}
2454	return 0
2455}
2456
2457func (x *Model_ArimaOrder) GetD() int64 {
2458	if x != nil {
2459		return x.D
2460	}
2461	return 0
2462}
2463
2464func (x *Model_ArimaOrder) GetQ() int64 {
2465	if x != nil {
2466		return x.Q
2467	}
2468	return 0
2469}
2470
2471// ARIMA model fitting metrics.
2472type Model_ArimaFittingMetrics struct {
2473	state         protoimpl.MessageState
2474	sizeCache     protoimpl.SizeCache
2475	unknownFields protoimpl.UnknownFields
2476
2477	// Log-likelihood.
2478	LogLikelihood float64 `protobuf:"fixed64,1,opt,name=log_likelihood,json=logLikelihood,proto3" json:"log_likelihood,omitempty"`
2479	// AIC.
2480	Aic float64 `protobuf:"fixed64,2,opt,name=aic,proto3" json:"aic,omitempty"`
2481	// Variance.
2482	Variance float64 `protobuf:"fixed64,3,opt,name=variance,proto3" json:"variance,omitempty"`
2483}
2484
2485func (x *Model_ArimaFittingMetrics) Reset() {
2486	*x = Model_ArimaFittingMetrics{}
2487	if protoimpl.UnsafeEnabled {
2488		mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[18]
2489		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2490		ms.StoreMessageInfo(mi)
2491	}
2492}
2493
2494func (x *Model_ArimaFittingMetrics) String() string {
2495	return protoimpl.X.MessageStringOf(x)
2496}
2497
2498func (*Model_ArimaFittingMetrics) ProtoMessage() {}
2499
2500func (x *Model_ArimaFittingMetrics) ProtoReflect() protoreflect.Message {
2501	mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[18]
2502	if protoimpl.UnsafeEnabled && x != nil {
2503		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2504		if ms.LoadMessageInfo() == nil {
2505			ms.StoreMessageInfo(mi)
2506		}
2507		return ms
2508	}
2509	return mi.MessageOf(x)
2510}
2511
2512// Deprecated: Use Model_ArimaFittingMetrics.ProtoReflect.Descriptor instead.
2513func (*Model_ArimaFittingMetrics) Descriptor() ([]byte, []int) {
2514	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{0, 12}
2515}
2516
2517func (x *Model_ArimaFittingMetrics) GetLogLikelihood() float64 {
2518	if x != nil {
2519		return x.LogLikelihood
2520	}
2521	return 0
2522}
2523
2524func (x *Model_ArimaFittingMetrics) GetAic() float64 {
2525	if x != nil {
2526		return x.Aic
2527	}
2528	return 0
2529}
2530
2531func (x *Model_ArimaFittingMetrics) GetVariance() float64 {
2532	if x != nil {
2533		return x.Variance
2534	}
2535	return 0
2536}
2537
2538// Global explanations containing the top most important features
2539// after training.
2540type Model_GlobalExplanation struct {
2541	state         protoimpl.MessageState
2542	sizeCache     protoimpl.SizeCache
2543	unknownFields protoimpl.UnknownFields
2544
2545	// A list of the top global explanations. Sorted by absolute value of
2546	// attribution in descending order.
2547	Explanations []*Model_GlobalExplanation_Explanation `protobuf:"bytes,1,rep,name=explanations,proto3" json:"explanations,omitempty"`
2548	// Class label for this set of global explanations. Will be empty/null for
2549	// binary logistic and linear regression models. Sorted alphabetically in
2550	// descending order.
2551	ClassLabel string `protobuf:"bytes,2,opt,name=class_label,json=classLabel,proto3" json:"class_label,omitempty"`
2552}
2553
2554func (x *Model_GlobalExplanation) Reset() {
2555	*x = Model_GlobalExplanation{}
2556	if protoimpl.UnsafeEnabled {
2557		mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[19]
2558		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2559		ms.StoreMessageInfo(mi)
2560	}
2561}
2562
2563func (x *Model_GlobalExplanation) String() string {
2564	return protoimpl.X.MessageStringOf(x)
2565}
2566
2567func (*Model_GlobalExplanation) ProtoMessage() {}
2568
2569func (x *Model_GlobalExplanation) ProtoReflect() protoreflect.Message {
2570	mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[19]
2571	if protoimpl.UnsafeEnabled && x != nil {
2572		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2573		if ms.LoadMessageInfo() == nil {
2574			ms.StoreMessageInfo(mi)
2575		}
2576		return ms
2577	}
2578	return mi.MessageOf(x)
2579}
2580
2581// Deprecated: Use Model_GlobalExplanation.ProtoReflect.Descriptor instead.
2582func (*Model_GlobalExplanation) Descriptor() ([]byte, []int) {
2583	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{0, 13}
2584}
2585
2586func (x *Model_GlobalExplanation) GetExplanations() []*Model_GlobalExplanation_Explanation {
2587	if x != nil {
2588		return x.Explanations
2589	}
2590	return nil
2591}
2592
2593func (x *Model_GlobalExplanation) GetClassLabel() string {
2594	if x != nil {
2595		return x.ClassLabel
2596	}
2597	return ""
2598}
2599
2600// Information about a single training query run for the model.
2601type Model_TrainingRun struct {
2602	state         protoimpl.MessageState
2603	sizeCache     protoimpl.SizeCache
2604	unknownFields protoimpl.UnknownFields
2605
2606	// Options that were used for this training run, includes
2607	// user specified and default options that were used.
2608	TrainingOptions *Model_TrainingRun_TrainingOptions `protobuf:"bytes,1,opt,name=training_options,json=trainingOptions,proto3" json:"training_options,omitempty"`
2609	// The start time of this training run.
2610	StartTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
2611	// Output of each iteration run, results.size() <= max_iterations.
2612	Results []*Model_TrainingRun_IterationResult `protobuf:"bytes,6,rep,name=results,proto3" json:"results,omitempty"`
2613	// The evaluation metrics over training/eval data that were computed at the
2614	// end of training.
2615	EvaluationMetrics *Model_EvaluationMetrics `protobuf:"bytes,7,opt,name=evaluation_metrics,json=evaluationMetrics,proto3" json:"evaluation_metrics,omitempty"`
2616	// Data split result of the training run. Only set when the input data is
2617	// actually split.
2618	DataSplitResult *Model_DataSplitResult `protobuf:"bytes,9,opt,name=data_split_result,json=dataSplitResult,proto3" json:"data_split_result,omitempty"`
2619	// Global explanations for important features of the model. For multi-class
2620	// models, there is one entry for each label class. For other models, there
2621	// is only one entry in the list.
2622	GlobalExplanations []*Model_GlobalExplanation `protobuf:"bytes,10,rep,name=global_explanations,json=globalExplanations,proto3" json:"global_explanations,omitempty"`
2623}
2624
2625func (x *Model_TrainingRun) Reset() {
2626	*x = Model_TrainingRun{}
2627	if protoimpl.UnsafeEnabled {
2628		mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[20]
2629		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2630		ms.StoreMessageInfo(mi)
2631	}
2632}
2633
2634func (x *Model_TrainingRun) String() string {
2635	return protoimpl.X.MessageStringOf(x)
2636}
2637
2638func (*Model_TrainingRun) ProtoMessage() {}
2639
2640func (x *Model_TrainingRun) ProtoReflect() protoreflect.Message {
2641	mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[20]
2642	if protoimpl.UnsafeEnabled && x != nil {
2643		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2644		if ms.LoadMessageInfo() == nil {
2645			ms.StoreMessageInfo(mi)
2646		}
2647		return ms
2648	}
2649	return mi.MessageOf(x)
2650}
2651
2652// Deprecated: Use Model_TrainingRun.ProtoReflect.Descriptor instead.
2653func (*Model_TrainingRun) Descriptor() ([]byte, []int) {
2654	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{0, 14}
2655}
2656
2657func (x *Model_TrainingRun) GetTrainingOptions() *Model_TrainingRun_TrainingOptions {
2658	if x != nil {
2659		return x.TrainingOptions
2660	}
2661	return nil
2662}
2663
2664func (x *Model_TrainingRun) GetStartTime() *timestamppb.Timestamp {
2665	if x != nil {
2666		return x.StartTime
2667	}
2668	return nil
2669}
2670
2671func (x *Model_TrainingRun) GetResults() []*Model_TrainingRun_IterationResult {
2672	if x != nil {
2673		return x.Results
2674	}
2675	return nil
2676}
2677
2678func (x *Model_TrainingRun) GetEvaluationMetrics() *Model_EvaluationMetrics {
2679	if x != nil {
2680		return x.EvaluationMetrics
2681	}
2682	return nil
2683}
2684
2685func (x *Model_TrainingRun) GetDataSplitResult() *Model_DataSplitResult {
2686	if x != nil {
2687		return x.DataSplitResult
2688	}
2689	return nil
2690}
2691
2692func (x *Model_TrainingRun) GetGlobalExplanations() []*Model_GlobalExplanation {
2693	if x != nil {
2694		return x.GlobalExplanations
2695	}
2696	return nil
2697}
2698
2699// Confusion matrix for binary classification models.
2700type Model_BinaryClassificationMetrics_BinaryConfusionMatrix struct {
2701	state         protoimpl.MessageState
2702	sizeCache     protoimpl.SizeCache
2703	unknownFields protoimpl.UnknownFields
2704
2705	// Threshold value used when computing each of the following metric.
2706	PositiveClassThreshold *wrapperspb.DoubleValue `protobuf:"bytes,1,opt,name=positive_class_threshold,json=positiveClassThreshold,proto3" json:"positive_class_threshold,omitempty"`
2707	// Number of true samples predicted as true.
2708	TruePositives *wrapperspb.Int64Value `protobuf:"bytes,2,opt,name=true_positives,json=truePositives,proto3" json:"true_positives,omitempty"`
2709	// Number of false samples predicted as true.
2710	FalsePositives *wrapperspb.Int64Value `protobuf:"bytes,3,opt,name=false_positives,json=falsePositives,proto3" json:"false_positives,omitempty"`
2711	// Number of true samples predicted as false.
2712	TrueNegatives *wrapperspb.Int64Value `protobuf:"bytes,4,opt,name=true_negatives,json=trueNegatives,proto3" json:"true_negatives,omitempty"`
2713	// Number of false samples predicted as false.
2714	FalseNegatives *wrapperspb.Int64Value `protobuf:"bytes,5,opt,name=false_negatives,json=falseNegatives,proto3" json:"false_negatives,omitempty"`
2715	// The fraction of actual positive predictions that had positive actual
2716	// labels.
2717	Precision *wrapperspb.DoubleValue `protobuf:"bytes,6,opt,name=precision,proto3" json:"precision,omitempty"`
2718	// The fraction of actual positive labels that were given a positive
2719	// prediction.
2720	Recall *wrapperspb.DoubleValue `protobuf:"bytes,7,opt,name=recall,proto3" json:"recall,omitempty"`
2721	// The equally weighted average of recall and precision.
2722	F1Score *wrapperspb.DoubleValue `protobuf:"bytes,8,opt,name=f1_score,json=f1Score,proto3" json:"f1_score,omitempty"`
2723	// The fraction of predictions given the correct label.
2724	Accuracy *wrapperspb.DoubleValue `protobuf:"bytes,9,opt,name=accuracy,proto3" json:"accuracy,omitempty"`
2725}
2726
2727func (x *Model_BinaryClassificationMetrics_BinaryConfusionMatrix) Reset() {
2728	*x = Model_BinaryClassificationMetrics_BinaryConfusionMatrix{}
2729	if protoimpl.UnsafeEnabled {
2730		mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[22]
2731		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2732		ms.StoreMessageInfo(mi)
2733	}
2734}
2735
2736func (x *Model_BinaryClassificationMetrics_BinaryConfusionMatrix) String() string {
2737	return protoimpl.X.MessageStringOf(x)
2738}
2739
2740func (*Model_BinaryClassificationMetrics_BinaryConfusionMatrix) ProtoMessage() {}
2741
2742func (x *Model_BinaryClassificationMetrics_BinaryConfusionMatrix) ProtoReflect() protoreflect.Message {
2743	mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[22]
2744	if protoimpl.UnsafeEnabled && x != nil {
2745		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2746		if ms.LoadMessageInfo() == nil {
2747			ms.StoreMessageInfo(mi)
2748		}
2749		return ms
2750	}
2751	return mi.MessageOf(x)
2752}
2753
2754// Deprecated: Use Model_BinaryClassificationMetrics_BinaryConfusionMatrix.ProtoReflect.Descriptor instead.
2755func (*Model_BinaryClassificationMetrics_BinaryConfusionMatrix) Descriptor() ([]byte, []int) {
2756	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{0, 4, 0}
2757}
2758
2759func (x *Model_BinaryClassificationMetrics_BinaryConfusionMatrix) GetPositiveClassThreshold() *wrapperspb.DoubleValue {
2760	if x != nil {
2761		return x.PositiveClassThreshold
2762	}
2763	return nil
2764}
2765
2766func (x *Model_BinaryClassificationMetrics_BinaryConfusionMatrix) GetTruePositives() *wrapperspb.Int64Value {
2767	if x != nil {
2768		return x.TruePositives
2769	}
2770	return nil
2771}
2772
2773func (x *Model_BinaryClassificationMetrics_BinaryConfusionMatrix) GetFalsePositives() *wrapperspb.Int64Value {
2774	if x != nil {
2775		return x.FalsePositives
2776	}
2777	return nil
2778}
2779
2780func (x *Model_BinaryClassificationMetrics_BinaryConfusionMatrix) GetTrueNegatives() *wrapperspb.Int64Value {
2781	if x != nil {
2782		return x.TrueNegatives
2783	}
2784	return nil
2785}
2786
2787func (x *Model_BinaryClassificationMetrics_BinaryConfusionMatrix) GetFalseNegatives() *wrapperspb.Int64Value {
2788	if x != nil {
2789		return x.FalseNegatives
2790	}
2791	return nil
2792}
2793
2794func (x *Model_BinaryClassificationMetrics_BinaryConfusionMatrix) GetPrecision() *wrapperspb.DoubleValue {
2795	if x != nil {
2796		return x.Precision
2797	}
2798	return nil
2799}
2800
2801func (x *Model_BinaryClassificationMetrics_BinaryConfusionMatrix) GetRecall() *wrapperspb.DoubleValue {
2802	if x != nil {
2803		return x.Recall
2804	}
2805	return nil
2806}
2807
2808func (x *Model_BinaryClassificationMetrics_BinaryConfusionMatrix) GetF1Score() *wrapperspb.DoubleValue {
2809	if x != nil {
2810		return x.F1Score
2811	}
2812	return nil
2813}
2814
2815func (x *Model_BinaryClassificationMetrics_BinaryConfusionMatrix) GetAccuracy() *wrapperspb.DoubleValue {
2816	if x != nil {
2817		return x.Accuracy
2818	}
2819	return nil
2820}
2821
2822// Confusion matrix for multi-class classification models.
2823type Model_MultiClassClassificationMetrics_ConfusionMatrix struct {
2824	state         protoimpl.MessageState
2825	sizeCache     protoimpl.SizeCache
2826	unknownFields protoimpl.UnknownFields
2827
2828	// Confidence threshold used when computing the entries of the
2829	// confusion matrix.
2830	ConfidenceThreshold *wrapperspb.DoubleValue `protobuf:"bytes,1,opt,name=confidence_threshold,json=confidenceThreshold,proto3" json:"confidence_threshold,omitempty"`
2831	// One row per actual label.
2832	Rows []*Model_MultiClassClassificationMetrics_ConfusionMatrix_Row `protobuf:"bytes,2,rep,name=rows,proto3" json:"rows,omitempty"`
2833}
2834
2835func (x *Model_MultiClassClassificationMetrics_ConfusionMatrix) Reset() {
2836	*x = Model_MultiClassClassificationMetrics_ConfusionMatrix{}
2837	if protoimpl.UnsafeEnabled {
2838		mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[23]
2839		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2840		ms.StoreMessageInfo(mi)
2841	}
2842}
2843
2844func (x *Model_MultiClassClassificationMetrics_ConfusionMatrix) String() string {
2845	return protoimpl.X.MessageStringOf(x)
2846}
2847
2848func (*Model_MultiClassClassificationMetrics_ConfusionMatrix) ProtoMessage() {}
2849
2850func (x *Model_MultiClassClassificationMetrics_ConfusionMatrix) ProtoReflect() protoreflect.Message {
2851	mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[23]
2852	if protoimpl.UnsafeEnabled && x != nil {
2853		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2854		if ms.LoadMessageInfo() == nil {
2855			ms.StoreMessageInfo(mi)
2856		}
2857		return ms
2858	}
2859	return mi.MessageOf(x)
2860}
2861
2862// Deprecated: Use Model_MultiClassClassificationMetrics_ConfusionMatrix.ProtoReflect.Descriptor instead.
2863func (*Model_MultiClassClassificationMetrics_ConfusionMatrix) Descriptor() ([]byte, []int) {
2864	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{0, 5, 0}
2865}
2866
2867func (x *Model_MultiClassClassificationMetrics_ConfusionMatrix) GetConfidenceThreshold() *wrapperspb.DoubleValue {
2868	if x != nil {
2869		return x.ConfidenceThreshold
2870	}
2871	return nil
2872}
2873
2874func (x *Model_MultiClassClassificationMetrics_ConfusionMatrix) GetRows() []*Model_MultiClassClassificationMetrics_ConfusionMatrix_Row {
2875	if x != nil {
2876		return x.Rows
2877	}
2878	return nil
2879}
2880
2881// A single entry in the confusion matrix.
2882type Model_MultiClassClassificationMetrics_ConfusionMatrix_Entry struct {
2883	state         protoimpl.MessageState
2884	sizeCache     protoimpl.SizeCache
2885	unknownFields protoimpl.UnknownFields
2886
2887	// The predicted label. For confidence_threshold > 0, we will
2888	// also add an entry indicating the number of items under the
2889	// confidence threshold.
2890	PredictedLabel string `protobuf:"bytes,1,opt,name=predicted_label,json=predictedLabel,proto3" json:"predicted_label,omitempty"`
2891	// Number of items being predicted as this label.
2892	ItemCount *wrapperspb.Int64Value `protobuf:"bytes,2,opt,name=item_count,json=itemCount,proto3" json:"item_count,omitempty"`
2893}
2894
2895func (x *Model_MultiClassClassificationMetrics_ConfusionMatrix_Entry) Reset() {
2896	*x = Model_MultiClassClassificationMetrics_ConfusionMatrix_Entry{}
2897	if protoimpl.UnsafeEnabled {
2898		mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[24]
2899		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2900		ms.StoreMessageInfo(mi)
2901	}
2902}
2903
2904func (x *Model_MultiClassClassificationMetrics_ConfusionMatrix_Entry) String() string {
2905	return protoimpl.X.MessageStringOf(x)
2906}
2907
2908func (*Model_MultiClassClassificationMetrics_ConfusionMatrix_Entry) ProtoMessage() {}
2909
2910func (x *Model_MultiClassClassificationMetrics_ConfusionMatrix_Entry) ProtoReflect() protoreflect.Message {
2911	mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[24]
2912	if protoimpl.UnsafeEnabled && x != nil {
2913		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2914		if ms.LoadMessageInfo() == nil {
2915			ms.StoreMessageInfo(mi)
2916		}
2917		return ms
2918	}
2919	return mi.MessageOf(x)
2920}
2921
2922// Deprecated: Use Model_MultiClassClassificationMetrics_ConfusionMatrix_Entry.ProtoReflect.Descriptor instead.
2923func (*Model_MultiClassClassificationMetrics_ConfusionMatrix_Entry) Descriptor() ([]byte, []int) {
2924	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{0, 5, 0, 0}
2925}
2926
2927func (x *Model_MultiClassClassificationMetrics_ConfusionMatrix_Entry) GetPredictedLabel() string {
2928	if x != nil {
2929		return x.PredictedLabel
2930	}
2931	return ""
2932}
2933
2934func (x *Model_MultiClassClassificationMetrics_ConfusionMatrix_Entry) GetItemCount() *wrapperspb.Int64Value {
2935	if x != nil {
2936		return x.ItemCount
2937	}
2938	return nil
2939}
2940
2941// A single row in the confusion matrix.
2942type Model_MultiClassClassificationMetrics_ConfusionMatrix_Row struct {
2943	state         protoimpl.MessageState
2944	sizeCache     protoimpl.SizeCache
2945	unknownFields protoimpl.UnknownFields
2946
2947	// The original label of this row.
2948	ActualLabel string `protobuf:"bytes,1,opt,name=actual_label,json=actualLabel,proto3" json:"actual_label,omitempty"`
2949	// Info describing predicted label distribution.
2950	Entries []*Model_MultiClassClassificationMetrics_ConfusionMatrix_Entry `protobuf:"bytes,2,rep,name=entries,proto3" json:"entries,omitempty"`
2951}
2952
2953func (x *Model_MultiClassClassificationMetrics_ConfusionMatrix_Row) Reset() {
2954	*x = Model_MultiClassClassificationMetrics_ConfusionMatrix_Row{}
2955	if protoimpl.UnsafeEnabled {
2956		mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[25]
2957		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2958		ms.StoreMessageInfo(mi)
2959	}
2960}
2961
2962func (x *Model_MultiClassClassificationMetrics_ConfusionMatrix_Row) String() string {
2963	return protoimpl.X.MessageStringOf(x)
2964}
2965
2966func (*Model_MultiClassClassificationMetrics_ConfusionMatrix_Row) ProtoMessage() {}
2967
2968func (x *Model_MultiClassClassificationMetrics_ConfusionMatrix_Row) ProtoReflect() protoreflect.Message {
2969	mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[25]
2970	if protoimpl.UnsafeEnabled && x != nil {
2971		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2972		if ms.LoadMessageInfo() == nil {
2973			ms.StoreMessageInfo(mi)
2974		}
2975		return ms
2976	}
2977	return mi.MessageOf(x)
2978}
2979
2980// Deprecated: Use Model_MultiClassClassificationMetrics_ConfusionMatrix_Row.ProtoReflect.Descriptor instead.
2981func (*Model_MultiClassClassificationMetrics_ConfusionMatrix_Row) Descriptor() ([]byte, []int) {
2982	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{0, 5, 0, 1}
2983}
2984
2985func (x *Model_MultiClassClassificationMetrics_ConfusionMatrix_Row) GetActualLabel() string {
2986	if x != nil {
2987		return x.ActualLabel
2988	}
2989	return ""
2990}
2991
2992func (x *Model_MultiClassClassificationMetrics_ConfusionMatrix_Row) GetEntries() []*Model_MultiClassClassificationMetrics_ConfusionMatrix_Entry {
2993	if x != nil {
2994		return x.Entries
2995	}
2996	return nil
2997}
2998
2999// Message containing the information about one cluster.
3000type Model_ClusteringMetrics_Cluster struct {
3001	state         protoimpl.MessageState
3002	sizeCache     protoimpl.SizeCache
3003	unknownFields protoimpl.UnknownFields
3004
3005	// Centroid id.
3006	CentroidId int64 `protobuf:"varint,1,opt,name=centroid_id,json=centroidId,proto3" json:"centroid_id,omitempty"`
3007	// Values of highly variant features for this cluster.
3008	FeatureValues []*Model_ClusteringMetrics_Cluster_FeatureValue `protobuf:"bytes,2,rep,name=feature_values,json=featureValues,proto3" json:"feature_values,omitempty"`
3009	// Count of training data rows that were assigned to this cluster.
3010	Count *wrapperspb.Int64Value `protobuf:"bytes,3,opt,name=count,proto3" json:"count,omitempty"`
3011}
3012
3013func (x *Model_ClusteringMetrics_Cluster) Reset() {
3014	*x = Model_ClusteringMetrics_Cluster{}
3015	if protoimpl.UnsafeEnabled {
3016		mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[26]
3017		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3018		ms.StoreMessageInfo(mi)
3019	}
3020}
3021
3022func (x *Model_ClusteringMetrics_Cluster) String() string {
3023	return protoimpl.X.MessageStringOf(x)
3024}
3025
3026func (*Model_ClusteringMetrics_Cluster) ProtoMessage() {}
3027
3028func (x *Model_ClusteringMetrics_Cluster) ProtoReflect() protoreflect.Message {
3029	mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[26]
3030	if protoimpl.UnsafeEnabled && x != nil {
3031		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3032		if ms.LoadMessageInfo() == nil {
3033			ms.StoreMessageInfo(mi)
3034		}
3035		return ms
3036	}
3037	return mi.MessageOf(x)
3038}
3039
3040// Deprecated: Use Model_ClusteringMetrics_Cluster.ProtoReflect.Descriptor instead.
3041func (*Model_ClusteringMetrics_Cluster) Descriptor() ([]byte, []int) {
3042	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{0, 6, 0}
3043}
3044
3045func (x *Model_ClusteringMetrics_Cluster) GetCentroidId() int64 {
3046	if x != nil {
3047		return x.CentroidId
3048	}
3049	return 0
3050}
3051
3052func (x *Model_ClusteringMetrics_Cluster) GetFeatureValues() []*Model_ClusteringMetrics_Cluster_FeatureValue {
3053	if x != nil {
3054		return x.FeatureValues
3055	}
3056	return nil
3057}
3058
3059func (x *Model_ClusteringMetrics_Cluster) GetCount() *wrapperspb.Int64Value {
3060	if x != nil {
3061		return x.Count
3062	}
3063	return nil
3064}
3065
3066// Representative value of a single feature within the cluster.
3067type Model_ClusteringMetrics_Cluster_FeatureValue struct {
3068	state         protoimpl.MessageState
3069	sizeCache     protoimpl.SizeCache
3070	unknownFields protoimpl.UnknownFields
3071
3072	// The feature column name.
3073	FeatureColumn string `protobuf:"bytes,1,opt,name=feature_column,json=featureColumn,proto3" json:"feature_column,omitempty"`
3074	// Types that are assignable to Value:
3075	//	*Model_ClusteringMetrics_Cluster_FeatureValue_NumericalValue
3076	//	*Model_ClusteringMetrics_Cluster_FeatureValue_CategoricalValue_
3077	Value isModel_ClusteringMetrics_Cluster_FeatureValue_Value `protobuf_oneof:"value"`
3078}
3079
3080func (x *Model_ClusteringMetrics_Cluster_FeatureValue) Reset() {
3081	*x = Model_ClusteringMetrics_Cluster_FeatureValue{}
3082	if protoimpl.UnsafeEnabled {
3083		mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[27]
3084		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3085		ms.StoreMessageInfo(mi)
3086	}
3087}
3088
3089func (x *Model_ClusteringMetrics_Cluster_FeatureValue) String() string {
3090	return protoimpl.X.MessageStringOf(x)
3091}
3092
3093func (*Model_ClusteringMetrics_Cluster_FeatureValue) ProtoMessage() {}
3094
3095func (x *Model_ClusteringMetrics_Cluster_FeatureValue) ProtoReflect() protoreflect.Message {
3096	mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[27]
3097	if protoimpl.UnsafeEnabled && x != nil {
3098		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3099		if ms.LoadMessageInfo() == nil {
3100			ms.StoreMessageInfo(mi)
3101		}
3102		return ms
3103	}
3104	return mi.MessageOf(x)
3105}
3106
3107// Deprecated: Use Model_ClusteringMetrics_Cluster_FeatureValue.ProtoReflect.Descriptor instead.
3108func (*Model_ClusteringMetrics_Cluster_FeatureValue) Descriptor() ([]byte, []int) {
3109	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{0, 6, 0, 0}
3110}
3111
3112func (x *Model_ClusteringMetrics_Cluster_FeatureValue) GetFeatureColumn() string {
3113	if x != nil {
3114		return x.FeatureColumn
3115	}
3116	return ""
3117}
3118
3119func (m *Model_ClusteringMetrics_Cluster_FeatureValue) GetValue() isModel_ClusteringMetrics_Cluster_FeatureValue_Value {
3120	if m != nil {
3121		return m.Value
3122	}
3123	return nil
3124}
3125
3126func (x *Model_ClusteringMetrics_Cluster_FeatureValue) GetNumericalValue() *wrapperspb.DoubleValue {
3127	if x, ok := x.GetValue().(*Model_ClusteringMetrics_Cluster_FeatureValue_NumericalValue); ok {
3128		return x.NumericalValue
3129	}
3130	return nil
3131}
3132
3133func (x *Model_ClusteringMetrics_Cluster_FeatureValue) GetCategoricalValue() *Model_ClusteringMetrics_Cluster_FeatureValue_CategoricalValue {
3134	if x, ok := x.GetValue().(*Model_ClusteringMetrics_Cluster_FeatureValue_CategoricalValue_); ok {
3135		return x.CategoricalValue
3136	}
3137	return nil
3138}
3139
3140type isModel_ClusteringMetrics_Cluster_FeatureValue_Value interface {
3141	isModel_ClusteringMetrics_Cluster_FeatureValue_Value()
3142}
3143
3144type Model_ClusteringMetrics_Cluster_FeatureValue_NumericalValue struct {
3145	// The numerical feature value. This is the centroid value for this
3146	// feature.
3147	NumericalValue *wrapperspb.DoubleValue `protobuf:"bytes,2,opt,name=numerical_value,json=numericalValue,proto3,oneof"`
3148}
3149
3150type Model_ClusteringMetrics_Cluster_FeatureValue_CategoricalValue_ struct {
3151	// The categorical feature value.
3152	CategoricalValue *Model_ClusteringMetrics_Cluster_FeatureValue_CategoricalValue `protobuf:"bytes,3,opt,name=categorical_value,json=categoricalValue,proto3,oneof"`
3153}
3154
3155func (*Model_ClusteringMetrics_Cluster_FeatureValue_NumericalValue) isModel_ClusteringMetrics_Cluster_FeatureValue_Value() {
3156}
3157
3158func (*Model_ClusteringMetrics_Cluster_FeatureValue_CategoricalValue_) isModel_ClusteringMetrics_Cluster_FeatureValue_Value() {
3159}
3160
3161// Representative value of a categorical feature.
3162type Model_ClusteringMetrics_Cluster_FeatureValue_CategoricalValue struct {
3163	state         protoimpl.MessageState
3164	sizeCache     protoimpl.SizeCache
3165	unknownFields protoimpl.UnknownFields
3166
3167	// Counts of all categories for the categorical feature. If there are
3168	// more than ten categories, we return top ten (by count) and return
3169	// one more CategoryCount with category "_OTHER_" and count as
3170	// aggregate counts of remaining categories.
3171	CategoryCounts []*Model_ClusteringMetrics_Cluster_FeatureValue_CategoricalValue_CategoryCount `protobuf:"bytes,1,rep,name=category_counts,json=categoryCounts,proto3" json:"category_counts,omitempty"`
3172}
3173
3174func (x *Model_ClusteringMetrics_Cluster_FeatureValue_CategoricalValue) Reset() {
3175	*x = Model_ClusteringMetrics_Cluster_FeatureValue_CategoricalValue{}
3176	if protoimpl.UnsafeEnabled {
3177		mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[28]
3178		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3179		ms.StoreMessageInfo(mi)
3180	}
3181}
3182
3183func (x *Model_ClusteringMetrics_Cluster_FeatureValue_CategoricalValue) String() string {
3184	return protoimpl.X.MessageStringOf(x)
3185}
3186
3187func (*Model_ClusteringMetrics_Cluster_FeatureValue_CategoricalValue) ProtoMessage() {}
3188
3189func (x *Model_ClusteringMetrics_Cluster_FeatureValue_CategoricalValue) ProtoReflect() protoreflect.Message {
3190	mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[28]
3191	if protoimpl.UnsafeEnabled && x != nil {
3192		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3193		if ms.LoadMessageInfo() == nil {
3194			ms.StoreMessageInfo(mi)
3195		}
3196		return ms
3197	}
3198	return mi.MessageOf(x)
3199}
3200
3201// Deprecated: Use Model_ClusteringMetrics_Cluster_FeatureValue_CategoricalValue.ProtoReflect.Descriptor instead.
3202func (*Model_ClusteringMetrics_Cluster_FeatureValue_CategoricalValue) Descriptor() ([]byte, []int) {
3203	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{0, 6, 0, 0, 0}
3204}
3205
3206func (x *Model_ClusteringMetrics_Cluster_FeatureValue_CategoricalValue) GetCategoryCounts() []*Model_ClusteringMetrics_Cluster_FeatureValue_CategoricalValue_CategoryCount {
3207	if x != nil {
3208		return x.CategoryCounts
3209	}
3210	return nil
3211}
3212
3213// Represents the count of a single category within the cluster.
3214type Model_ClusteringMetrics_Cluster_FeatureValue_CategoricalValue_CategoryCount struct {
3215	state         protoimpl.MessageState
3216	sizeCache     protoimpl.SizeCache
3217	unknownFields protoimpl.UnknownFields
3218
3219	// The name of category.
3220	Category string `protobuf:"bytes,1,opt,name=category,proto3" json:"category,omitempty"`
3221	// The count of training samples matching the category within the
3222	// cluster.
3223	Count *wrapperspb.Int64Value `protobuf:"bytes,2,opt,name=count,proto3" json:"count,omitempty"`
3224}
3225
3226func (x *Model_ClusteringMetrics_Cluster_FeatureValue_CategoricalValue_CategoryCount) Reset() {
3227	*x = Model_ClusteringMetrics_Cluster_FeatureValue_CategoricalValue_CategoryCount{}
3228	if protoimpl.UnsafeEnabled {
3229		mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[29]
3230		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3231		ms.StoreMessageInfo(mi)
3232	}
3233}
3234
3235func (x *Model_ClusteringMetrics_Cluster_FeatureValue_CategoricalValue_CategoryCount) String() string {
3236	return protoimpl.X.MessageStringOf(x)
3237}
3238
3239func (*Model_ClusteringMetrics_Cluster_FeatureValue_CategoricalValue_CategoryCount) ProtoMessage() {}
3240
3241func (x *Model_ClusteringMetrics_Cluster_FeatureValue_CategoricalValue_CategoryCount) ProtoReflect() protoreflect.Message {
3242	mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[29]
3243	if protoimpl.UnsafeEnabled && x != nil {
3244		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3245		if ms.LoadMessageInfo() == nil {
3246			ms.StoreMessageInfo(mi)
3247		}
3248		return ms
3249	}
3250	return mi.MessageOf(x)
3251}
3252
3253// Deprecated: Use Model_ClusteringMetrics_Cluster_FeatureValue_CategoricalValue_CategoryCount.ProtoReflect.Descriptor instead.
3254func (*Model_ClusteringMetrics_Cluster_FeatureValue_CategoricalValue_CategoryCount) Descriptor() ([]byte, []int) {
3255	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{0, 6, 0, 0, 0, 0}
3256}
3257
3258func (x *Model_ClusteringMetrics_Cluster_FeatureValue_CategoricalValue_CategoryCount) GetCategory() string {
3259	if x != nil {
3260		return x.Category
3261	}
3262	return ""
3263}
3264
3265func (x *Model_ClusteringMetrics_Cluster_FeatureValue_CategoricalValue_CategoryCount) GetCount() *wrapperspb.Int64Value {
3266	if x != nil {
3267		return x.Count
3268	}
3269	return nil
3270}
3271
3272// Model evaluation metrics for a single ARIMA forecasting model.
3273type Model_ArimaForecastingMetrics_ArimaSingleModelForecastingMetrics struct {
3274	state         protoimpl.MessageState
3275	sizeCache     protoimpl.SizeCache
3276	unknownFields protoimpl.UnknownFields
3277
3278	// Non-seasonal order.
3279	NonSeasonalOrder *Model_ArimaOrder `protobuf:"bytes,1,opt,name=non_seasonal_order,json=nonSeasonalOrder,proto3" json:"non_seasonal_order,omitempty"`
3280	// Arima fitting metrics.
3281	ArimaFittingMetrics *Model_ArimaFittingMetrics `protobuf:"bytes,2,opt,name=arima_fitting_metrics,json=arimaFittingMetrics,proto3" json:"arima_fitting_metrics,omitempty"`
3282	// Is arima model fitted with drift or not. It is always false when d
3283	// is not 1.
3284	HasDrift bool `protobuf:"varint,3,opt,name=has_drift,json=hasDrift,proto3" json:"has_drift,omitempty"`
3285	// The time_series_id value for this time series. It will be one of
3286	// the unique values from the time_series_id_column specified during
3287	// ARIMA model training. Only present when time_series_id_column
3288	// training option was used.
3289	TimeSeriesId string `protobuf:"bytes,4,opt,name=time_series_id,json=timeSeriesId,proto3" json:"time_series_id,omitempty"`
3290	// The tuple of time_series_ids identifying this time series. It will
3291	// be one of the unique tuples of values present in the
3292	// time_series_id_columns specified during ARIMA model training. Only
3293	// present when time_series_id_columns training option was used and
3294	// the order of values here are same as the order of
3295	// time_series_id_columns.
3296	TimeSeriesIds []string `protobuf:"bytes,9,rep,name=time_series_ids,json=timeSeriesIds,proto3" json:"time_series_ids,omitempty"`
3297	// Seasonal periods. Repeated because multiple periods are supported
3298	// for one time series.
3299	SeasonalPeriods []Model_SeasonalPeriod_SeasonalPeriodType `protobuf:"varint,5,rep,packed,name=seasonal_periods,json=seasonalPeriods,proto3,enum=google.cloud.bigquery.v2.Model_SeasonalPeriod_SeasonalPeriodType" json:"seasonal_periods,omitempty"`
3300	// If true, holiday_effect is a part of time series decomposition result.
3301	HasHolidayEffect *wrapperspb.BoolValue `protobuf:"bytes,6,opt,name=has_holiday_effect,json=hasHolidayEffect,proto3" json:"has_holiday_effect,omitempty"`
3302	// If true, spikes_and_dips is a part of time series decomposition result.
3303	HasSpikesAndDips *wrapperspb.BoolValue `protobuf:"bytes,7,opt,name=has_spikes_and_dips,json=hasSpikesAndDips,proto3" json:"has_spikes_and_dips,omitempty"`
3304	// If true, step_changes is a part of time series decomposition result.
3305	HasStepChanges *wrapperspb.BoolValue `protobuf:"bytes,8,opt,name=has_step_changes,json=hasStepChanges,proto3" json:"has_step_changes,omitempty"`
3306}
3307
3308func (x *Model_ArimaForecastingMetrics_ArimaSingleModelForecastingMetrics) Reset() {
3309	*x = Model_ArimaForecastingMetrics_ArimaSingleModelForecastingMetrics{}
3310	if protoimpl.UnsafeEnabled {
3311		mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[30]
3312		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3313		ms.StoreMessageInfo(mi)
3314	}
3315}
3316
3317func (x *Model_ArimaForecastingMetrics_ArimaSingleModelForecastingMetrics) String() string {
3318	return protoimpl.X.MessageStringOf(x)
3319}
3320
3321func (*Model_ArimaForecastingMetrics_ArimaSingleModelForecastingMetrics) ProtoMessage() {}
3322
3323func (x *Model_ArimaForecastingMetrics_ArimaSingleModelForecastingMetrics) ProtoReflect() protoreflect.Message {
3324	mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[30]
3325	if protoimpl.UnsafeEnabled && x != nil {
3326		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3327		if ms.LoadMessageInfo() == nil {
3328			ms.StoreMessageInfo(mi)
3329		}
3330		return ms
3331	}
3332	return mi.MessageOf(x)
3333}
3334
3335// Deprecated: Use Model_ArimaForecastingMetrics_ArimaSingleModelForecastingMetrics.ProtoReflect.Descriptor instead.
3336func (*Model_ArimaForecastingMetrics_ArimaSingleModelForecastingMetrics) Descriptor() ([]byte, []int) {
3337	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{0, 8, 0}
3338}
3339
3340func (x *Model_ArimaForecastingMetrics_ArimaSingleModelForecastingMetrics) GetNonSeasonalOrder() *Model_ArimaOrder {
3341	if x != nil {
3342		return x.NonSeasonalOrder
3343	}
3344	return nil
3345}
3346
3347func (x *Model_ArimaForecastingMetrics_ArimaSingleModelForecastingMetrics) GetArimaFittingMetrics() *Model_ArimaFittingMetrics {
3348	if x != nil {
3349		return x.ArimaFittingMetrics
3350	}
3351	return nil
3352}
3353
3354func (x *Model_ArimaForecastingMetrics_ArimaSingleModelForecastingMetrics) GetHasDrift() bool {
3355	if x != nil {
3356		return x.HasDrift
3357	}
3358	return false
3359}
3360
3361func (x *Model_ArimaForecastingMetrics_ArimaSingleModelForecastingMetrics) GetTimeSeriesId() string {
3362	if x != nil {
3363		return x.TimeSeriesId
3364	}
3365	return ""
3366}
3367
3368func (x *Model_ArimaForecastingMetrics_ArimaSingleModelForecastingMetrics) GetTimeSeriesIds() []string {
3369	if x != nil {
3370		return x.TimeSeriesIds
3371	}
3372	return nil
3373}
3374
3375func (x *Model_ArimaForecastingMetrics_ArimaSingleModelForecastingMetrics) GetSeasonalPeriods() []Model_SeasonalPeriod_SeasonalPeriodType {
3376	if x != nil {
3377		return x.SeasonalPeriods
3378	}
3379	return nil
3380}
3381
3382func (x *Model_ArimaForecastingMetrics_ArimaSingleModelForecastingMetrics) GetHasHolidayEffect() *wrapperspb.BoolValue {
3383	if x != nil {
3384		return x.HasHolidayEffect
3385	}
3386	return nil
3387}
3388
3389func (x *Model_ArimaForecastingMetrics_ArimaSingleModelForecastingMetrics) GetHasSpikesAndDips() *wrapperspb.BoolValue {
3390	if x != nil {
3391		return x.HasSpikesAndDips
3392	}
3393	return nil
3394}
3395
3396func (x *Model_ArimaForecastingMetrics_ArimaSingleModelForecastingMetrics) GetHasStepChanges() *wrapperspb.BoolValue {
3397	if x != nil {
3398		return x.HasStepChanges
3399	}
3400	return nil
3401}
3402
3403// Explanation for a single feature.
3404type Model_GlobalExplanation_Explanation struct {
3405	state         protoimpl.MessageState
3406	sizeCache     protoimpl.SizeCache
3407	unknownFields protoimpl.UnknownFields
3408
3409	// Full name of the feature. For non-numerical features, will be
3410	// formatted like <column_name>.<encoded_feature_name>. Overall size of
3411	// feature name will always be truncated to first 120 characters.
3412	FeatureName string `protobuf:"bytes,1,opt,name=feature_name,json=featureName,proto3" json:"feature_name,omitempty"`
3413	// Attribution of feature.
3414	Attribution *wrapperspb.DoubleValue `protobuf:"bytes,2,opt,name=attribution,proto3" json:"attribution,omitempty"`
3415}
3416
3417func (x *Model_GlobalExplanation_Explanation) Reset() {
3418	*x = Model_GlobalExplanation_Explanation{}
3419	if protoimpl.UnsafeEnabled {
3420		mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[31]
3421		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3422		ms.StoreMessageInfo(mi)
3423	}
3424}
3425
3426func (x *Model_GlobalExplanation_Explanation) String() string {
3427	return protoimpl.X.MessageStringOf(x)
3428}
3429
3430func (*Model_GlobalExplanation_Explanation) ProtoMessage() {}
3431
3432func (x *Model_GlobalExplanation_Explanation) ProtoReflect() protoreflect.Message {
3433	mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[31]
3434	if protoimpl.UnsafeEnabled && x != nil {
3435		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3436		if ms.LoadMessageInfo() == nil {
3437			ms.StoreMessageInfo(mi)
3438		}
3439		return ms
3440	}
3441	return mi.MessageOf(x)
3442}
3443
3444// Deprecated: Use Model_GlobalExplanation_Explanation.ProtoReflect.Descriptor instead.
3445func (*Model_GlobalExplanation_Explanation) Descriptor() ([]byte, []int) {
3446	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{0, 13, 0}
3447}
3448
3449func (x *Model_GlobalExplanation_Explanation) GetFeatureName() string {
3450	if x != nil {
3451		return x.FeatureName
3452	}
3453	return ""
3454}
3455
3456func (x *Model_GlobalExplanation_Explanation) GetAttribution() *wrapperspb.DoubleValue {
3457	if x != nil {
3458		return x.Attribution
3459	}
3460	return nil
3461}
3462
3463// Options used in model training.
3464type Model_TrainingRun_TrainingOptions struct {
3465	state         protoimpl.MessageState
3466	sizeCache     protoimpl.SizeCache
3467	unknownFields protoimpl.UnknownFields
3468
3469	// The maximum number of iterations in training. Used only for iterative
3470	// training algorithms.
3471	MaxIterations int64 `protobuf:"varint,1,opt,name=max_iterations,json=maxIterations,proto3" json:"max_iterations,omitempty"`
3472	// Type of loss function used during training run.
3473	LossType Model_LossType `protobuf:"varint,2,opt,name=loss_type,json=lossType,proto3,enum=google.cloud.bigquery.v2.Model_LossType" json:"loss_type,omitempty"`
3474	// Learning rate in training. Used only for iterative training algorithms.
3475	LearnRate float64 `protobuf:"fixed64,3,opt,name=learn_rate,json=learnRate,proto3" json:"learn_rate,omitempty"`
3476	// L1 regularization coefficient.
3477	L1Regularization *wrapperspb.DoubleValue `protobuf:"bytes,4,opt,name=l1_regularization,json=l1Regularization,proto3" json:"l1_regularization,omitempty"`
3478	// L2 regularization coefficient.
3479	L2Regularization *wrapperspb.DoubleValue `protobuf:"bytes,5,opt,name=l2_regularization,json=l2Regularization,proto3" json:"l2_regularization,omitempty"`
3480	// When early_stop is true, stops training when accuracy improvement is
3481	// less than 'min_relative_progress'. Used only for iterative training
3482	// algorithms.
3483	MinRelativeProgress *wrapperspb.DoubleValue `protobuf:"bytes,6,opt,name=min_relative_progress,json=minRelativeProgress,proto3" json:"min_relative_progress,omitempty"`
3484	// Whether to train a model from the last checkpoint.
3485	WarmStart *wrapperspb.BoolValue `protobuf:"bytes,7,opt,name=warm_start,json=warmStart,proto3" json:"warm_start,omitempty"`
3486	// Whether to stop early when the loss doesn't improve significantly
3487	// any more (compared to min_relative_progress). Used only for iterative
3488	// training algorithms.
3489	EarlyStop *wrapperspb.BoolValue `protobuf:"bytes,8,opt,name=early_stop,json=earlyStop,proto3" json:"early_stop,omitempty"`
3490	// Name of input label columns in training data.
3491	InputLabelColumns []string `protobuf:"bytes,9,rep,name=input_label_columns,json=inputLabelColumns,proto3" json:"input_label_columns,omitempty"`
3492	// The data split type for training and evaluation, e.g. RANDOM.
3493	DataSplitMethod Model_DataSplitMethod `protobuf:"varint,10,opt,name=data_split_method,json=dataSplitMethod,proto3,enum=google.cloud.bigquery.v2.Model_DataSplitMethod" json:"data_split_method,omitempty"`
3494	// The fraction of evaluation data over the whole input data. The rest
3495	// of data will be used as training data. The format should be double.
3496	// Accurate to two decimal places.
3497	// Default value is 0.2.
3498	DataSplitEvalFraction float64 `protobuf:"fixed64,11,opt,name=data_split_eval_fraction,json=dataSplitEvalFraction,proto3" json:"data_split_eval_fraction,omitempty"`
3499	// The column to split data with. This column won't be used as a
3500	// feature.
3501	// 1. When data_split_method is CUSTOM, the corresponding column should
3502	// be boolean. The rows with true value tag are eval data, and the false
3503	// are training data.
3504	// 2. When data_split_method is SEQ, the first DATA_SPLIT_EVAL_FRACTION
3505	// rows (from smallest to largest) in the corresponding column are used
3506	// as training data, and the rest are eval data. It respects the order
3507	// in Orderable data types:
3508	// https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types#data-type-properties
3509	DataSplitColumn string `protobuf:"bytes,12,opt,name=data_split_column,json=dataSplitColumn,proto3" json:"data_split_column,omitempty"`
3510	// The strategy to determine learn rate for the current iteration.
3511	LearnRateStrategy Model_LearnRateStrategy `protobuf:"varint,13,opt,name=learn_rate_strategy,json=learnRateStrategy,proto3,enum=google.cloud.bigquery.v2.Model_LearnRateStrategy" json:"learn_rate_strategy,omitempty"`
3512	// Specifies the initial learning rate for the line search learn rate
3513	// strategy.
3514	InitialLearnRate float64 `protobuf:"fixed64,16,opt,name=initial_learn_rate,json=initialLearnRate,proto3" json:"initial_learn_rate,omitempty"`
3515	// Weights associated with each label class, for rebalancing the
3516	// training data. Only applicable for classification models.
3517	LabelClassWeights map[string]float64 `protobuf:"bytes,17,rep,name=label_class_weights,json=labelClassWeights,proto3" json:"label_class_weights,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"fixed64,2,opt,name=value,proto3"`
3518	// User column specified for matrix factorization models.
3519	UserColumn string `protobuf:"bytes,18,opt,name=user_column,json=userColumn,proto3" json:"user_column,omitempty"`
3520	// Item column specified for matrix factorization models.
3521	ItemColumn string `protobuf:"bytes,19,opt,name=item_column,json=itemColumn,proto3" json:"item_column,omitempty"`
3522	// Distance type for clustering models.
3523	DistanceType Model_DistanceType `protobuf:"varint,20,opt,name=distance_type,json=distanceType,proto3,enum=google.cloud.bigquery.v2.Model_DistanceType" json:"distance_type,omitempty"`
3524	// Number of clusters for clustering models.
3525	NumClusters int64 `protobuf:"varint,21,opt,name=num_clusters,json=numClusters,proto3" json:"num_clusters,omitempty"`
3526	// Google Cloud Storage URI from which the model was imported. Only
3527	// applicable for imported models.
3528	ModelUri string `protobuf:"bytes,22,opt,name=model_uri,json=modelUri,proto3" json:"model_uri,omitempty"`
3529	// Optimization strategy for training linear regression models.
3530	OptimizationStrategy Model_OptimizationStrategy `protobuf:"varint,23,opt,name=optimization_strategy,json=optimizationStrategy,proto3,enum=google.cloud.bigquery.v2.Model_OptimizationStrategy" json:"optimization_strategy,omitempty"`
3531	// Hidden units for dnn models.
3532	HiddenUnits []int64 `protobuf:"varint,24,rep,packed,name=hidden_units,json=hiddenUnits,proto3" json:"hidden_units,omitempty"`
3533	// Batch size for dnn models.
3534	BatchSize int64 `protobuf:"varint,25,opt,name=batch_size,json=batchSize,proto3" json:"batch_size,omitempty"`
3535	// Dropout probability for dnn models.
3536	Dropout *wrapperspb.DoubleValue `protobuf:"bytes,26,opt,name=dropout,proto3" json:"dropout,omitempty"`
3537	// Maximum depth of a tree for boosted tree models.
3538	MaxTreeDepth int64 `protobuf:"varint,27,opt,name=max_tree_depth,json=maxTreeDepth,proto3" json:"max_tree_depth,omitempty"`
3539	// Subsample fraction of the training data to grow tree to prevent
3540	// overfitting for boosted tree models.
3541	Subsample float64 `protobuf:"fixed64,28,opt,name=subsample,proto3" json:"subsample,omitempty"`
3542	// Minimum split loss for boosted tree models.
3543	MinSplitLoss *wrapperspb.DoubleValue `protobuf:"bytes,29,opt,name=min_split_loss,json=minSplitLoss,proto3" json:"min_split_loss,omitempty"`
3544	// Num factors specified for matrix factorization models.
3545	NumFactors int64 `protobuf:"varint,30,opt,name=num_factors,json=numFactors,proto3" json:"num_factors,omitempty"`
3546	// Feedback type that specifies which algorithm to run for matrix
3547	// factorization.
3548	FeedbackType Model_FeedbackType `protobuf:"varint,31,opt,name=feedback_type,json=feedbackType,proto3,enum=google.cloud.bigquery.v2.Model_FeedbackType" json:"feedback_type,omitempty"`
3549	// Hyperparameter for matrix factoration when implicit feedback type is
3550	// specified.
3551	WalsAlpha *wrapperspb.DoubleValue `protobuf:"bytes,32,opt,name=wals_alpha,json=walsAlpha,proto3" json:"wals_alpha,omitempty"`
3552	// The method used to initialize the centroids for kmeans algorithm.
3553	KmeansInitializationMethod Model_KmeansEnums_KmeansInitializationMethod `protobuf:"varint,33,opt,name=kmeans_initialization_method,json=kmeansInitializationMethod,proto3,enum=google.cloud.bigquery.v2.Model_KmeansEnums_KmeansInitializationMethod" json:"kmeans_initialization_method,omitempty"`
3554	// The column used to provide the initial centroids for kmeans algorithm
3555	// when kmeans_initialization_method is CUSTOM.
3556	KmeansInitializationColumn string `protobuf:"bytes,34,opt,name=kmeans_initialization_column,json=kmeansInitializationColumn,proto3" json:"kmeans_initialization_column,omitempty"`
3557	// Column to be designated as time series timestamp for ARIMA model.
3558	TimeSeriesTimestampColumn string `protobuf:"bytes,35,opt,name=time_series_timestamp_column,json=timeSeriesTimestampColumn,proto3" json:"time_series_timestamp_column,omitempty"`
3559	// Column to be designated as time series data for ARIMA model.
3560	TimeSeriesDataColumn string `protobuf:"bytes,36,opt,name=time_series_data_column,json=timeSeriesDataColumn,proto3" json:"time_series_data_column,omitempty"`
3561	// Whether to enable auto ARIMA or not.
3562	AutoArima bool `protobuf:"varint,37,opt,name=auto_arima,json=autoArima,proto3" json:"auto_arima,omitempty"`
3563	// A specification of the non-seasonal part of the ARIMA model: the three
3564	// components (p, d, q) are the AR order, the degree of differencing, and
3565	// the MA order.
3566	NonSeasonalOrder *Model_ArimaOrder `protobuf:"bytes,38,opt,name=non_seasonal_order,json=nonSeasonalOrder,proto3" json:"non_seasonal_order,omitempty"`
3567	// The data frequency of a time series.
3568	DataFrequency Model_DataFrequency `protobuf:"varint,39,opt,name=data_frequency,json=dataFrequency,proto3,enum=google.cloud.bigquery.v2.Model_DataFrequency" json:"data_frequency,omitempty"`
3569	// Include drift when fitting an ARIMA model.
3570	IncludeDrift bool `protobuf:"varint,41,opt,name=include_drift,json=includeDrift,proto3" json:"include_drift,omitempty"`
3571	// The geographical region based on which the holidays are considered in
3572	// time series modeling. If a valid value is specified, then holiday
3573	// effects modeling is enabled.
3574	HolidayRegion Model_HolidayRegion `protobuf:"varint,42,opt,name=holiday_region,json=holidayRegion,proto3,enum=google.cloud.bigquery.v2.Model_HolidayRegion" json:"holiday_region,omitempty"`
3575	// The time series id column that was used during ARIMA model training.
3576	TimeSeriesIdColumn string `protobuf:"bytes,43,opt,name=time_series_id_column,json=timeSeriesIdColumn,proto3" json:"time_series_id_column,omitempty"`
3577	// The time series id columns that were used during ARIMA model training.
3578	TimeSeriesIdColumns []string `protobuf:"bytes,51,rep,name=time_series_id_columns,json=timeSeriesIdColumns,proto3" json:"time_series_id_columns,omitempty"`
3579	// The number of periods ahead that need to be forecasted.
3580	Horizon int64 `protobuf:"varint,44,opt,name=horizon,proto3" json:"horizon,omitempty"`
3581	// Whether to preserve the input structs in output feature names.
3582	// Suppose there is a struct A with field b.
3583	// When false (default), the output feature name is A_b.
3584	// When true, the output feature name is A.b.
3585	PreserveInputStructs bool `protobuf:"varint,45,opt,name=preserve_input_structs,json=preserveInputStructs,proto3" json:"preserve_input_structs,omitempty"`
3586	// The max value of non-seasonal p and q.
3587	AutoArimaMaxOrder int64 `protobuf:"varint,46,opt,name=auto_arima_max_order,json=autoArimaMaxOrder,proto3" json:"auto_arima_max_order,omitempty"`
3588	// If true, perform decompose time series and save the results.
3589	DecomposeTimeSeries *wrapperspb.BoolValue `protobuf:"bytes,50,opt,name=decompose_time_series,json=decomposeTimeSeries,proto3" json:"decompose_time_series,omitempty"`
3590	// If true, clean spikes and dips in the input time series.
3591	CleanSpikesAndDips *wrapperspb.BoolValue `protobuf:"bytes,52,opt,name=clean_spikes_and_dips,json=cleanSpikesAndDips,proto3" json:"clean_spikes_and_dips,omitempty"`
3592	// If true, detect step changes and make data adjustment in the input time
3593	// series.
3594	AdjustStepChanges *wrapperspb.BoolValue `protobuf:"bytes,53,opt,name=adjust_step_changes,json=adjustStepChanges,proto3" json:"adjust_step_changes,omitempty"`
3595}
3596
3597func (x *Model_TrainingRun_TrainingOptions) Reset() {
3598	*x = Model_TrainingRun_TrainingOptions{}
3599	if protoimpl.UnsafeEnabled {
3600		mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[32]
3601		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3602		ms.StoreMessageInfo(mi)
3603	}
3604}
3605
3606func (x *Model_TrainingRun_TrainingOptions) String() string {
3607	return protoimpl.X.MessageStringOf(x)
3608}
3609
3610func (*Model_TrainingRun_TrainingOptions) ProtoMessage() {}
3611
3612func (x *Model_TrainingRun_TrainingOptions) ProtoReflect() protoreflect.Message {
3613	mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[32]
3614	if protoimpl.UnsafeEnabled && x != nil {
3615		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3616		if ms.LoadMessageInfo() == nil {
3617			ms.StoreMessageInfo(mi)
3618		}
3619		return ms
3620	}
3621	return mi.MessageOf(x)
3622}
3623
3624// Deprecated: Use Model_TrainingRun_TrainingOptions.ProtoReflect.Descriptor instead.
3625func (*Model_TrainingRun_TrainingOptions) Descriptor() ([]byte, []int) {
3626	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{0, 14, 0}
3627}
3628
3629func (x *Model_TrainingRun_TrainingOptions) GetMaxIterations() int64 {
3630	if x != nil {
3631		return x.MaxIterations
3632	}
3633	return 0
3634}
3635
3636func (x *Model_TrainingRun_TrainingOptions) GetLossType() Model_LossType {
3637	if x != nil {
3638		return x.LossType
3639	}
3640	return Model_LOSS_TYPE_UNSPECIFIED
3641}
3642
3643func (x *Model_TrainingRun_TrainingOptions) GetLearnRate() float64 {
3644	if x != nil {
3645		return x.LearnRate
3646	}
3647	return 0
3648}
3649
3650func (x *Model_TrainingRun_TrainingOptions) GetL1Regularization() *wrapperspb.DoubleValue {
3651	if x != nil {
3652		return x.L1Regularization
3653	}
3654	return nil
3655}
3656
3657func (x *Model_TrainingRun_TrainingOptions) GetL2Regularization() *wrapperspb.DoubleValue {
3658	if x != nil {
3659		return x.L2Regularization
3660	}
3661	return nil
3662}
3663
3664func (x *Model_TrainingRun_TrainingOptions) GetMinRelativeProgress() *wrapperspb.DoubleValue {
3665	if x != nil {
3666		return x.MinRelativeProgress
3667	}
3668	return nil
3669}
3670
3671func (x *Model_TrainingRun_TrainingOptions) GetWarmStart() *wrapperspb.BoolValue {
3672	if x != nil {
3673		return x.WarmStart
3674	}
3675	return nil
3676}
3677
3678func (x *Model_TrainingRun_TrainingOptions) GetEarlyStop() *wrapperspb.BoolValue {
3679	if x != nil {
3680		return x.EarlyStop
3681	}
3682	return nil
3683}
3684
3685func (x *Model_TrainingRun_TrainingOptions) GetInputLabelColumns() []string {
3686	if x != nil {
3687		return x.InputLabelColumns
3688	}
3689	return nil
3690}
3691
3692func (x *Model_TrainingRun_TrainingOptions) GetDataSplitMethod() Model_DataSplitMethod {
3693	if x != nil {
3694		return x.DataSplitMethod
3695	}
3696	return Model_DATA_SPLIT_METHOD_UNSPECIFIED
3697}
3698
3699func (x *Model_TrainingRun_TrainingOptions) GetDataSplitEvalFraction() float64 {
3700	if x != nil {
3701		return x.DataSplitEvalFraction
3702	}
3703	return 0
3704}
3705
3706func (x *Model_TrainingRun_TrainingOptions) GetDataSplitColumn() string {
3707	if x != nil {
3708		return x.DataSplitColumn
3709	}
3710	return ""
3711}
3712
3713func (x *Model_TrainingRun_TrainingOptions) GetLearnRateStrategy() Model_LearnRateStrategy {
3714	if x != nil {
3715		return x.LearnRateStrategy
3716	}
3717	return Model_LEARN_RATE_STRATEGY_UNSPECIFIED
3718}
3719
3720func (x *Model_TrainingRun_TrainingOptions) GetInitialLearnRate() float64 {
3721	if x != nil {
3722		return x.InitialLearnRate
3723	}
3724	return 0
3725}
3726
3727func (x *Model_TrainingRun_TrainingOptions) GetLabelClassWeights() map[string]float64 {
3728	if x != nil {
3729		return x.LabelClassWeights
3730	}
3731	return nil
3732}
3733
3734func (x *Model_TrainingRun_TrainingOptions) GetUserColumn() string {
3735	if x != nil {
3736		return x.UserColumn
3737	}
3738	return ""
3739}
3740
3741func (x *Model_TrainingRun_TrainingOptions) GetItemColumn() string {
3742	if x != nil {
3743		return x.ItemColumn
3744	}
3745	return ""
3746}
3747
3748func (x *Model_TrainingRun_TrainingOptions) GetDistanceType() Model_DistanceType {
3749	if x != nil {
3750		return x.DistanceType
3751	}
3752	return Model_DISTANCE_TYPE_UNSPECIFIED
3753}
3754
3755func (x *Model_TrainingRun_TrainingOptions) GetNumClusters() int64 {
3756	if x != nil {
3757		return x.NumClusters
3758	}
3759	return 0
3760}
3761
3762func (x *Model_TrainingRun_TrainingOptions) GetModelUri() string {
3763	if x != nil {
3764		return x.ModelUri
3765	}
3766	return ""
3767}
3768
3769func (x *Model_TrainingRun_TrainingOptions) GetOptimizationStrategy() Model_OptimizationStrategy {
3770	if x != nil {
3771		return x.OptimizationStrategy
3772	}
3773	return Model_OPTIMIZATION_STRATEGY_UNSPECIFIED
3774}
3775
3776func (x *Model_TrainingRun_TrainingOptions) GetHiddenUnits() []int64 {
3777	if x != nil {
3778		return x.HiddenUnits
3779	}
3780	return nil
3781}
3782
3783func (x *Model_TrainingRun_TrainingOptions) GetBatchSize() int64 {
3784	if x != nil {
3785		return x.BatchSize
3786	}
3787	return 0
3788}
3789
3790func (x *Model_TrainingRun_TrainingOptions) GetDropout() *wrapperspb.DoubleValue {
3791	if x != nil {
3792		return x.Dropout
3793	}
3794	return nil
3795}
3796
3797func (x *Model_TrainingRun_TrainingOptions) GetMaxTreeDepth() int64 {
3798	if x != nil {
3799		return x.MaxTreeDepth
3800	}
3801	return 0
3802}
3803
3804func (x *Model_TrainingRun_TrainingOptions) GetSubsample() float64 {
3805	if x != nil {
3806		return x.Subsample
3807	}
3808	return 0
3809}
3810
3811func (x *Model_TrainingRun_TrainingOptions) GetMinSplitLoss() *wrapperspb.DoubleValue {
3812	if x != nil {
3813		return x.MinSplitLoss
3814	}
3815	return nil
3816}
3817
3818func (x *Model_TrainingRun_TrainingOptions) GetNumFactors() int64 {
3819	if x != nil {
3820		return x.NumFactors
3821	}
3822	return 0
3823}
3824
3825func (x *Model_TrainingRun_TrainingOptions) GetFeedbackType() Model_FeedbackType {
3826	if x != nil {
3827		return x.FeedbackType
3828	}
3829	return Model_FEEDBACK_TYPE_UNSPECIFIED
3830}
3831
3832func (x *Model_TrainingRun_TrainingOptions) GetWalsAlpha() *wrapperspb.DoubleValue {
3833	if x != nil {
3834		return x.WalsAlpha
3835	}
3836	return nil
3837}
3838
3839func (x *Model_TrainingRun_TrainingOptions) GetKmeansInitializationMethod() Model_KmeansEnums_KmeansInitializationMethod {
3840	if x != nil {
3841		return x.KmeansInitializationMethod
3842	}
3843	return Model_KmeansEnums_KMEANS_INITIALIZATION_METHOD_UNSPECIFIED
3844}
3845
3846func (x *Model_TrainingRun_TrainingOptions) GetKmeansInitializationColumn() string {
3847	if x != nil {
3848		return x.KmeansInitializationColumn
3849	}
3850	return ""
3851}
3852
3853func (x *Model_TrainingRun_TrainingOptions) GetTimeSeriesTimestampColumn() string {
3854	if x != nil {
3855		return x.TimeSeriesTimestampColumn
3856	}
3857	return ""
3858}
3859
3860func (x *Model_TrainingRun_TrainingOptions) GetTimeSeriesDataColumn() string {
3861	if x != nil {
3862		return x.TimeSeriesDataColumn
3863	}
3864	return ""
3865}
3866
3867func (x *Model_TrainingRun_TrainingOptions) GetAutoArima() bool {
3868	if x != nil {
3869		return x.AutoArima
3870	}
3871	return false
3872}
3873
3874func (x *Model_TrainingRun_TrainingOptions) GetNonSeasonalOrder() *Model_ArimaOrder {
3875	if x != nil {
3876		return x.NonSeasonalOrder
3877	}
3878	return nil
3879}
3880
3881func (x *Model_TrainingRun_TrainingOptions) GetDataFrequency() Model_DataFrequency {
3882	if x != nil {
3883		return x.DataFrequency
3884	}
3885	return Model_DATA_FREQUENCY_UNSPECIFIED
3886}
3887
3888func (x *Model_TrainingRun_TrainingOptions) GetIncludeDrift() bool {
3889	if x != nil {
3890		return x.IncludeDrift
3891	}
3892	return false
3893}
3894
3895func (x *Model_TrainingRun_TrainingOptions) GetHolidayRegion() Model_HolidayRegion {
3896	if x != nil {
3897		return x.HolidayRegion
3898	}
3899	return Model_HOLIDAY_REGION_UNSPECIFIED
3900}
3901
3902func (x *Model_TrainingRun_TrainingOptions) GetTimeSeriesIdColumn() string {
3903	if x != nil {
3904		return x.TimeSeriesIdColumn
3905	}
3906	return ""
3907}
3908
3909func (x *Model_TrainingRun_TrainingOptions) GetTimeSeriesIdColumns() []string {
3910	if x != nil {
3911		return x.TimeSeriesIdColumns
3912	}
3913	return nil
3914}
3915
3916func (x *Model_TrainingRun_TrainingOptions) GetHorizon() int64 {
3917	if x != nil {
3918		return x.Horizon
3919	}
3920	return 0
3921}
3922
3923func (x *Model_TrainingRun_TrainingOptions) GetPreserveInputStructs() bool {
3924	if x != nil {
3925		return x.PreserveInputStructs
3926	}
3927	return false
3928}
3929
3930func (x *Model_TrainingRun_TrainingOptions) GetAutoArimaMaxOrder() int64 {
3931	if x != nil {
3932		return x.AutoArimaMaxOrder
3933	}
3934	return 0
3935}
3936
3937func (x *Model_TrainingRun_TrainingOptions) GetDecomposeTimeSeries() *wrapperspb.BoolValue {
3938	if x != nil {
3939		return x.DecomposeTimeSeries
3940	}
3941	return nil
3942}
3943
3944func (x *Model_TrainingRun_TrainingOptions) GetCleanSpikesAndDips() *wrapperspb.BoolValue {
3945	if x != nil {
3946		return x.CleanSpikesAndDips
3947	}
3948	return nil
3949}
3950
3951func (x *Model_TrainingRun_TrainingOptions) GetAdjustStepChanges() *wrapperspb.BoolValue {
3952	if x != nil {
3953		return x.AdjustStepChanges
3954	}
3955	return nil
3956}
3957
3958// Information about a single iteration of the training run.
3959type Model_TrainingRun_IterationResult struct {
3960	state         protoimpl.MessageState
3961	sizeCache     protoimpl.SizeCache
3962	unknownFields protoimpl.UnknownFields
3963
3964	// Index of the iteration, 0 based.
3965	Index *wrapperspb.Int32Value `protobuf:"bytes,1,opt,name=index,proto3" json:"index,omitempty"`
3966	// Time taken to run the iteration in milliseconds.
3967	DurationMs *wrapperspb.Int64Value `protobuf:"bytes,4,opt,name=duration_ms,json=durationMs,proto3" json:"duration_ms,omitempty"`
3968	// Loss computed on the training data at the end of iteration.
3969	TrainingLoss *wrapperspb.DoubleValue `protobuf:"bytes,5,opt,name=training_loss,json=trainingLoss,proto3" json:"training_loss,omitempty"`
3970	// Loss computed on the eval data at the end of iteration.
3971	EvalLoss *wrapperspb.DoubleValue `protobuf:"bytes,6,opt,name=eval_loss,json=evalLoss,proto3" json:"eval_loss,omitempty"`
3972	// Learn rate used for this iteration.
3973	LearnRate float64 `protobuf:"fixed64,7,opt,name=learn_rate,json=learnRate,proto3" json:"learn_rate,omitempty"`
3974	// Information about top clusters for clustering models.
3975	ClusterInfos []*Model_TrainingRun_IterationResult_ClusterInfo `protobuf:"bytes,8,rep,name=cluster_infos,json=clusterInfos,proto3" json:"cluster_infos,omitempty"`
3976	ArimaResult  *Model_TrainingRun_IterationResult_ArimaResult   `protobuf:"bytes,9,opt,name=arima_result,json=arimaResult,proto3" json:"arima_result,omitempty"`
3977}
3978
3979func (x *Model_TrainingRun_IterationResult) Reset() {
3980	*x = Model_TrainingRun_IterationResult{}
3981	if protoimpl.UnsafeEnabled {
3982		mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[33]
3983		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3984		ms.StoreMessageInfo(mi)
3985	}
3986}
3987
3988func (x *Model_TrainingRun_IterationResult) String() string {
3989	return protoimpl.X.MessageStringOf(x)
3990}
3991
3992func (*Model_TrainingRun_IterationResult) ProtoMessage() {}
3993
3994func (x *Model_TrainingRun_IterationResult) ProtoReflect() protoreflect.Message {
3995	mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[33]
3996	if protoimpl.UnsafeEnabled && x != nil {
3997		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3998		if ms.LoadMessageInfo() == nil {
3999			ms.StoreMessageInfo(mi)
4000		}
4001		return ms
4002	}
4003	return mi.MessageOf(x)
4004}
4005
4006// Deprecated: Use Model_TrainingRun_IterationResult.ProtoReflect.Descriptor instead.
4007func (*Model_TrainingRun_IterationResult) Descriptor() ([]byte, []int) {
4008	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{0, 14, 1}
4009}
4010
4011func (x *Model_TrainingRun_IterationResult) GetIndex() *wrapperspb.Int32Value {
4012	if x != nil {
4013		return x.Index
4014	}
4015	return nil
4016}
4017
4018func (x *Model_TrainingRun_IterationResult) GetDurationMs() *wrapperspb.Int64Value {
4019	if x != nil {
4020		return x.DurationMs
4021	}
4022	return nil
4023}
4024
4025func (x *Model_TrainingRun_IterationResult) GetTrainingLoss() *wrapperspb.DoubleValue {
4026	if x != nil {
4027		return x.TrainingLoss
4028	}
4029	return nil
4030}
4031
4032func (x *Model_TrainingRun_IterationResult) GetEvalLoss() *wrapperspb.DoubleValue {
4033	if x != nil {
4034		return x.EvalLoss
4035	}
4036	return nil
4037}
4038
4039func (x *Model_TrainingRun_IterationResult) GetLearnRate() float64 {
4040	if x != nil {
4041		return x.LearnRate
4042	}
4043	return 0
4044}
4045
4046func (x *Model_TrainingRun_IterationResult) GetClusterInfos() []*Model_TrainingRun_IterationResult_ClusterInfo {
4047	if x != nil {
4048		return x.ClusterInfos
4049	}
4050	return nil
4051}
4052
4053func (x *Model_TrainingRun_IterationResult) GetArimaResult() *Model_TrainingRun_IterationResult_ArimaResult {
4054	if x != nil {
4055		return x.ArimaResult
4056	}
4057	return nil
4058}
4059
4060// Information about a single cluster for clustering model.
4061type Model_TrainingRun_IterationResult_ClusterInfo struct {
4062	state         protoimpl.MessageState
4063	sizeCache     protoimpl.SizeCache
4064	unknownFields protoimpl.UnknownFields
4065
4066	// Centroid id.
4067	CentroidId int64 `protobuf:"varint,1,opt,name=centroid_id,json=centroidId,proto3" json:"centroid_id,omitempty"`
4068	// Cluster radius, the average distance from centroid
4069	// to each point assigned to the cluster.
4070	ClusterRadius *wrapperspb.DoubleValue `protobuf:"bytes,2,opt,name=cluster_radius,json=clusterRadius,proto3" json:"cluster_radius,omitempty"`
4071	// Cluster size, the total number of points assigned to the cluster.
4072	ClusterSize *wrapperspb.Int64Value `protobuf:"bytes,3,opt,name=cluster_size,json=clusterSize,proto3" json:"cluster_size,omitempty"`
4073}
4074
4075func (x *Model_TrainingRun_IterationResult_ClusterInfo) Reset() {
4076	*x = Model_TrainingRun_IterationResult_ClusterInfo{}
4077	if protoimpl.UnsafeEnabled {
4078		mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[35]
4079		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4080		ms.StoreMessageInfo(mi)
4081	}
4082}
4083
4084func (x *Model_TrainingRun_IterationResult_ClusterInfo) String() string {
4085	return protoimpl.X.MessageStringOf(x)
4086}
4087
4088func (*Model_TrainingRun_IterationResult_ClusterInfo) ProtoMessage() {}
4089
4090func (x *Model_TrainingRun_IterationResult_ClusterInfo) ProtoReflect() protoreflect.Message {
4091	mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[35]
4092	if protoimpl.UnsafeEnabled && x != nil {
4093		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4094		if ms.LoadMessageInfo() == nil {
4095			ms.StoreMessageInfo(mi)
4096		}
4097		return ms
4098	}
4099	return mi.MessageOf(x)
4100}
4101
4102// Deprecated: Use Model_TrainingRun_IterationResult_ClusterInfo.ProtoReflect.Descriptor instead.
4103func (*Model_TrainingRun_IterationResult_ClusterInfo) Descriptor() ([]byte, []int) {
4104	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{0, 14, 1, 0}
4105}
4106
4107func (x *Model_TrainingRun_IterationResult_ClusterInfo) GetCentroidId() int64 {
4108	if x != nil {
4109		return x.CentroidId
4110	}
4111	return 0
4112}
4113
4114func (x *Model_TrainingRun_IterationResult_ClusterInfo) GetClusterRadius() *wrapperspb.DoubleValue {
4115	if x != nil {
4116		return x.ClusterRadius
4117	}
4118	return nil
4119}
4120
4121func (x *Model_TrainingRun_IterationResult_ClusterInfo) GetClusterSize() *wrapperspb.Int64Value {
4122	if x != nil {
4123		return x.ClusterSize
4124	}
4125	return nil
4126}
4127
4128// (Auto-)arima fitting result. Wrap everything in ArimaResult for easier
4129// refactoring if we want to use model-specific iteration results.
4130type Model_TrainingRun_IterationResult_ArimaResult struct {
4131	state         protoimpl.MessageState
4132	sizeCache     protoimpl.SizeCache
4133	unknownFields protoimpl.UnknownFields
4134
4135	// This message is repeated because there are multiple arima models
4136	// fitted in auto-arima. For non-auto-arima model, its size is one.
4137	ArimaModelInfo []*Model_TrainingRun_IterationResult_ArimaResult_ArimaModelInfo `protobuf:"bytes,1,rep,name=arima_model_info,json=arimaModelInfo,proto3" json:"arima_model_info,omitempty"`
4138	// Seasonal periods. Repeated because multiple periods are supported for
4139	// one time series.
4140	SeasonalPeriods []Model_SeasonalPeriod_SeasonalPeriodType `protobuf:"varint,2,rep,packed,name=seasonal_periods,json=seasonalPeriods,proto3,enum=google.cloud.bigquery.v2.Model_SeasonalPeriod_SeasonalPeriodType" json:"seasonal_periods,omitempty"`
4141}
4142
4143func (x *Model_TrainingRun_IterationResult_ArimaResult) Reset() {
4144	*x = Model_TrainingRun_IterationResult_ArimaResult{}
4145	if protoimpl.UnsafeEnabled {
4146		mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[36]
4147		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4148		ms.StoreMessageInfo(mi)
4149	}
4150}
4151
4152func (x *Model_TrainingRun_IterationResult_ArimaResult) String() string {
4153	return protoimpl.X.MessageStringOf(x)
4154}
4155
4156func (*Model_TrainingRun_IterationResult_ArimaResult) ProtoMessage() {}
4157
4158func (x *Model_TrainingRun_IterationResult_ArimaResult) ProtoReflect() protoreflect.Message {
4159	mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[36]
4160	if protoimpl.UnsafeEnabled && x != nil {
4161		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4162		if ms.LoadMessageInfo() == nil {
4163			ms.StoreMessageInfo(mi)
4164		}
4165		return ms
4166	}
4167	return mi.MessageOf(x)
4168}
4169
4170// Deprecated: Use Model_TrainingRun_IterationResult_ArimaResult.ProtoReflect.Descriptor instead.
4171func (*Model_TrainingRun_IterationResult_ArimaResult) Descriptor() ([]byte, []int) {
4172	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{0, 14, 1, 1}
4173}
4174
4175func (x *Model_TrainingRun_IterationResult_ArimaResult) GetArimaModelInfo() []*Model_TrainingRun_IterationResult_ArimaResult_ArimaModelInfo {
4176	if x != nil {
4177		return x.ArimaModelInfo
4178	}
4179	return nil
4180}
4181
4182func (x *Model_TrainingRun_IterationResult_ArimaResult) GetSeasonalPeriods() []Model_SeasonalPeriod_SeasonalPeriodType {
4183	if x != nil {
4184		return x.SeasonalPeriods
4185	}
4186	return nil
4187}
4188
4189// Arima coefficients.
4190type Model_TrainingRun_IterationResult_ArimaResult_ArimaCoefficients struct {
4191	state         protoimpl.MessageState
4192	sizeCache     protoimpl.SizeCache
4193	unknownFields protoimpl.UnknownFields
4194
4195	// Auto-regressive coefficients, an array of double.
4196	AutoRegressiveCoefficients []float64 `protobuf:"fixed64,1,rep,packed,name=auto_regressive_coefficients,json=autoRegressiveCoefficients,proto3" json:"auto_regressive_coefficients,omitempty"`
4197	// Moving-average coefficients, an array of double.
4198	MovingAverageCoefficients []float64 `protobuf:"fixed64,2,rep,packed,name=moving_average_coefficients,json=movingAverageCoefficients,proto3" json:"moving_average_coefficients,omitempty"`
4199	// Intercept coefficient, just a double not an array.
4200	InterceptCoefficient float64 `protobuf:"fixed64,3,opt,name=intercept_coefficient,json=interceptCoefficient,proto3" json:"intercept_coefficient,omitempty"`
4201}
4202
4203func (x *Model_TrainingRun_IterationResult_ArimaResult_ArimaCoefficients) Reset() {
4204	*x = Model_TrainingRun_IterationResult_ArimaResult_ArimaCoefficients{}
4205	if protoimpl.UnsafeEnabled {
4206		mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[37]
4207		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4208		ms.StoreMessageInfo(mi)
4209	}
4210}
4211
4212func (x *Model_TrainingRun_IterationResult_ArimaResult_ArimaCoefficients) String() string {
4213	return protoimpl.X.MessageStringOf(x)
4214}
4215
4216func (*Model_TrainingRun_IterationResult_ArimaResult_ArimaCoefficients) ProtoMessage() {}
4217
4218func (x *Model_TrainingRun_IterationResult_ArimaResult_ArimaCoefficients) ProtoReflect() protoreflect.Message {
4219	mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[37]
4220	if protoimpl.UnsafeEnabled && x != nil {
4221		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4222		if ms.LoadMessageInfo() == nil {
4223			ms.StoreMessageInfo(mi)
4224		}
4225		return ms
4226	}
4227	return mi.MessageOf(x)
4228}
4229
4230// Deprecated: Use Model_TrainingRun_IterationResult_ArimaResult_ArimaCoefficients.ProtoReflect.Descriptor instead.
4231func (*Model_TrainingRun_IterationResult_ArimaResult_ArimaCoefficients) Descriptor() ([]byte, []int) {
4232	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{0, 14, 1, 1, 0}
4233}
4234
4235func (x *Model_TrainingRun_IterationResult_ArimaResult_ArimaCoefficients) GetAutoRegressiveCoefficients() []float64 {
4236	if x != nil {
4237		return x.AutoRegressiveCoefficients
4238	}
4239	return nil
4240}
4241
4242func (x *Model_TrainingRun_IterationResult_ArimaResult_ArimaCoefficients) GetMovingAverageCoefficients() []float64 {
4243	if x != nil {
4244		return x.MovingAverageCoefficients
4245	}
4246	return nil
4247}
4248
4249func (x *Model_TrainingRun_IterationResult_ArimaResult_ArimaCoefficients) GetInterceptCoefficient() float64 {
4250	if x != nil {
4251		return x.InterceptCoefficient
4252	}
4253	return 0
4254}
4255
4256// Arima model information.
4257type Model_TrainingRun_IterationResult_ArimaResult_ArimaModelInfo struct {
4258	state         protoimpl.MessageState
4259	sizeCache     protoimpl.SizeCache
4260	unknownFields protoimpl.UnknownFields
4261
4262	// Non-seasonal order.
4263	NonSeasonalOrder *Model_ArimaOrder `protobuf:"bytes,1,opt,name=non_seasonal_order,json=nonSeasonalOrder,proto3" json:"non_seasonal_order,omitempty"`
4264	// Arima coefficients.
4265	ArimaCoefficients *Model_TrainingRun_IterationResult_ArimaResult_ArimaCoefficients `protobuf:"bytes,2,opt,name=arima_coefficients,json=arimaCoefficients,proto3" json:"arima_coefficients,omitempty"`
4266	// Arima fitting metrics.
4267	ArimaFittingMetrics *Model_ArimaFittingMetrics `protobuf:"bytes,3,opt,name=arima_fitting_metrics,json=arimaFittingMetrics,proto3" json:"arima_fitting_metrics,omitempty"`
4268	// Whether Arima model fitted with drift or not. It is always false
4269	// when d is not 1.
4270	HasDrift bool `protobuf:"varint,4,opt,name=has_drift,json=hasDrift,proto3" json:"has_drift,omitempty"`
4271	// The time_series_id value for this time series. It will be one of
4272	// the unique values from the time_series_id_column specified during
4273	// ARIMA model training. Only present when time_series_id_column
4274	// training option was used.
4275	TimeSeriesId string `protobuf:"bytes,5,opt,name=time_series_id,json=timeSeriesId,proto3" json:"time_series_id,omitempty"`
4276	// The tuple of time_series_ids identifying this time series. It will
4277	// be one of the unique tuples of values present in the
4278	// time_series_id_columns specified during ARIMA model training. Only
4279	// present when time_series_id_columns training option was used and
4280	// the order of values here are same as the order of
4281	// time_series_id_columns.
4282	TimeSeriesIds []string `protobuf:"bytes,10,rep,name=time_series_ids,json=timeSeriesIds,proto3" json:"time_series_ids,omitempty"`
4283	// Seasonal periods. Repeated because multiple periods are supported
4284	// for one time series.
4285	SeasonalPeriods []Model_SeasonalPeriod_SeasonalPeriodType `protobuf:"varint,6,rep,packed,name=seasonal_periods,json=seasonalPeriods,proto3,enum=google.cloud.bigquery.v2.Model_SeasonalPeriod_SeasonalPeriodType" json:"seasonal_periods,omitempty"`
4286	// If true, holiday_effect is a part of time series decomposition
4287	// result.
4288	HasHolidayEffect *wrapperspb.BoolValue `protobuf:"bytes,7,opt,name=has_holiday_effect,json=hasHolidayEffect,proto3" json:"has_holiday_effect,omitempty"`
4289	// If true, spikes_and_dips is a part of time series decomposition
4290	// result.
4291	HasSpikesAndDips *wrapperspb.BoolValue `protobuf:"bytes,8,opt,name=has_spikes_and_dips,json=hasSpikesAndDips,proto3" json:"has_spikes_and_dips,omitempty"`
4292	// If true, step_changes is a part of time series decomposition
4293	// result.
4294	HasStepChanges *wrapperspb.BoolValue `protobuf:"bytes,9,opt,name=has_step_changes,json=hasStepChanges,proto3" json:"has_step_changes,omitempty"`
4295}
4296
4297func (x *Model_TrainingRun_IterationResult_ArimaResult_ArimaModelInfo) Reset() {
4298	*x = Model_TrainingRun_IterationResult_ArimaResult_ArimaModelInfo{}
4299	if protoimpl.UnsafeEnabled {
4300		mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[38]
4301		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4302		ms.StoreMessageInfo(mi)
4303	}
4304}
4305
4306func (x *Model_TrainingRun_IterationResult_ArimaResult_ArimaModelInfo) String() string {
4307	return protoimpl.X.MessageStringOf(x)
4308}
4309
4310func (*Model_TrainingRun_IterationResult_ArimaResult_ArimaModelInfo) ProtoMessage() {}
4311
4312func (x *Model_TrainingRun_IterationResult_ArimaResult_ArimaModelInfo) ProtoReflect() protoreflect.Message {
4313	mi := &file_google_cloud_bigquery_v2_model_proto_msgTypes[38]
4314	if protoimpl.UnsafeEnabled && x != nil {
4315		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
4316		if ms.LoadMessageInfo() == nil {
4317			ms.StoreMessageInfo(mi)
4318		}
4319		return ms
4320	}
4321	return mi.MessageOf(x)
4322}
4323
4324// Deprecated: Use Model_TrainingRun_IterationResult_ArimaResult_ArimaModelInfo.ProtoReflect.Descriptor instead.
4325func (*Model_TrainingRun_IterationResult_ArimaResult_ArimaModelInfo) Descriptor() ([]byte, []int) {
4326	return file_google_cloud_bigquery_v2_model_proto_rawDescGZIP(), []int{0, 14, 1, 1, 1}
4327}
4328
4329func (x *Model_TrainingRun_IterationResult_ArimaResult_ArimaModelInfo) GetNonSeasonalOrder() *Model_ArimaOrder {
4330	if x != nil {
4331		return x.NonSeasonalOrder
4332	}
4333	return nil
4334}
4335
4336func (x *Model_TrainingRun_IterationResult_ArimaResult_ArimaModelInfo) GetArimaCoefficients() *Model_TrainingRun_IterationResult_ArimaResult_ArimaCoefficients {
4337	if x != nil {
4338		return x.ArimaCoefficients
4339	}
4340	return nil
4341}
4342
4343func (x *Model_TrainingRun_IterationResult_ArimaResult_ArimaModelInfo) GetArimaFittingMetrics() *Model_ArimaFittingMetrics {
4344	if x != nil {
4345		return x.ArimaFittingMetrics
4346	}
4347	return nil
4348}
4349
4350func (x *Model_TrainingRun_IterationResult_ArimaResult_ArimaModelInfo) GetHasDrift() bool {
4351	if x != nil {
4352		return x.HasDrift
4353	}
4354	return false
4355}
4356
4357func (x *Model_TrainingRun_IterationResult_ArimaResult_ArimaModelInfo) GetTimeSeriesId() string {
4358	if x != nil {
4359		return x.TimeSeriesId
4360	}
4361	return ""
4362}
4363
4364func (x *Model_TrainingRun_IterationResult_ArimaResult_ArimaModelInfo) GetTimeSeriesIds() []string {
4365	if x != nil {
4366		return x.TimeSeriesIds
4367	}
4368	return nil
4369}
4370
4371func (x *Model_TrainingRun_IterationResult_ArimaResult_ArimaModelInfo) GetSeasonalPeriods() []Model_SeasonalPeriod_SeasonalPeriodType {
4372	if x != nil {
4373		return x.SeasonalPeriods
4374	}
4375	return nil
4376}
4377
4378func (x *Model_TrainingRun_IterationResult_ArimaResult_ArimaModelInfo) GetHasHolidayEffect() *wrapperspb.BoolValue {
4379	if x != nil {
4380		return x.HasHolidayEffect
4381	}
4382	return nil
4383}
4384
4385func (x *Model_TrainingRun_IterationResult_ArimaResult_ArimaModelInfo) GetHasSpikesAndDips() *wrapperspb.BoolValue {
4386	if x != nil {
4387		return x.HasSpikesAndDips
4388	}
4389	return nil
4390}
4391
4392func (x *Model_TrainingRun_IterationResult_ArimaResult_ArimaModelInfo) GetHasStepChanges() *wrapperspb.BoolValue {
4393	if x != nil {
4394		return x.HasStepChanges
4395	}
4396	return nil
4397}
4398
4399var File_google_cloud_bigquery_v2_model_proto protoreflect.FileDescriptor
4400
4401var file_google_cloud_bigquery_v2_model_proto_rawDesc = []byte{
4402	0x0a, 0x24, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62,
4403	0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
4404	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
4405	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32,
4406	0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69,
4407	0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
4408	0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61,
4409	0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x67, 0x6f, 0x6f, 0x67,
4410	0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72,
4411	0x79, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
4412	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x67, 0x6f,
4413	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75,
4414	0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x66,
4415	0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x67, 0x6f,
4416	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75,
4417	0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x5f,
4418	0x73, 0x71, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
4419	0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79,
4420	0x2f, 0x76, 0x32, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65,
4421	0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
4422	0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79,
4423	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70,
4424	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
4425	0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
4426	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72,
4427	0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
4428	0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
4429	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa6, 0x75, 0x0a, 0x05, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12,
4430	0x17, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
4431	0x41, 0x03, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x56, 0x0a, 0x0f, 0x6d, 0x6f, 0x64, 0x65,
4432	0x6c, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
4433	0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
4434	0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64,
4435	0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02,
4436	0x52, 0x0e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
4437	0x12, 0x28, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d,
4438	0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x63, 0x72,
4439	0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x12, 0x6c, 0x61,
4440	0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65,
4441	0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x6c, 0x61, 0x73,
4442	0x74, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x25, 0x0a,
4443	0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01,
4444	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
4445	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0d, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x79,
4446	0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01,
4447	0x52, 0x0c, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x43,
4448	0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b,
4449	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69,
4450	0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e,
4451	0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62,
4452	0x65, 0x6c, 0x73, 0x12, 0x2c, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f,
4453	0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41,
4454	0x01, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d,
4455	0x65, 0x12, 0x1f, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20,
4456	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
4457	0x6f, 0x6e, 0x12, 0x6c, 0x0a, 0x18, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e,
4458	0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x11,
4459	0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
4460	0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e,
4461	0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
4462	0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x17, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74,
4463	0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
4464	0x12, 0x4d, 0x0a, 0x0a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07,
4465	0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
4466	0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e,
4467	0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x42,
4468	0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12,
4469	0x55, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6e, 0x73,
4470	0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
4471	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76,
4472	0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67,
4473	0x52, 0x75, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69,
4474	0x6e, 0x67, 0x52, 0x75, 0x6e, 0x73, 0x12, 0x58, 0x0a, 0x0f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72,
4475	0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32,
4476	0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62,
4477	0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64,
4478	0x61, 0x72, 0x64, 0x53, 0x71, 0x6c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x03,
4479	0x52, 0x0e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73,
4480	0x12, 0x54, 0x0a, 0x0d, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e,
4481	0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
4482	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e,
4483	0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x53, 0x71, 0x6c, 0x46, 0x69,
4484	0x65, 0x6c, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x43,
4485	0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0d, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x74,
4486	0x72, 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x18,
4487	0x01, 0x52, 0x0b, 0x62, 0x65, 0x73, 0x74, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x64, 0x1a, 0xa0,
4488	0x01, 0x0a, 0x0e, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x69, 0x6f,
4489	0x64, 0x22, 0x8d, 0x01, 0x0a, 0x12, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65,
4490	0x72, 0x69, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x20, 0x53, 0x45, 0x41, 0x53,
4491	0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x50, 0x45, 0x52, 0x49, 0x4f, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45,
4492	0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12,
4493	0x0a, 0x0e, 0x4e, 0x4f, 0x5f, 0x53, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x41, 0x4c, 0x49, 0x54, 0x59,
4494	0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x44, 0x41, 0x49, 0x4c, 0x59, 0x10, 0x02, 0x12, 0x0a, 0x0a,
4495	0x06, 0x57, 0x45, 0x45, 0x4b, 0x4c, 0x59, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x4f, 0x4e,
4496	0x54, 0x48, 0x4c, 0x59, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x51, 0x55, 0x41, 0x52, 0x54, 0x45,
4497	0x52, 0x4c, 0x59, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x59, 0x45, 0x41, 0x52, 0x4c, 0x59, 0x10,
4498	0x06, 0x1a, 0x87, 0x01, 0x0a, 0x0b, 0x4b, 0x6d, 0x65, 0x61, 0x6e, 0x73, 0x45, 0x6e, 0x75, 0x6d,
4499	0x73, 0x22, 0x78, 0x0a, 0x1a, 0x4b, 0x6d, 0x65, 0x61, 0x6e, 0x73, 0x49, 0x6e, 0x69, 0x74, 0x69,
4500	0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12,
4501	0x2c, 0x0a, 0x28, 0x4b, 0x4d, 0x45, 0x41, 0x4e, 0x53, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41,
4502	0x4c, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f,
4503	0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a,
4504	0x06, 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x55, 0x53,
4505	0x54, 0x4f, 0x4d, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x4b, 0x4d, 0x45, 0x41, 0x4e, 0x53, 0x5f,
4506	0x50, 0x4c, 0x55, 0x53, 0x5f, 0x50, 0x4c, 0x55, 0x53, 0x10, 0x03, 0x1a, 0x8d, 0x03, 0x0a, 0x11,
4507	0x52, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
4508	0x73, 0x12, 0x4c, 0x0a, 0x13, 0x6d, 0x65, 0x61, 0x6e, 0x5f, 0x61, 0x62, 0x73, 0x6f, 0x6c, 0x75,
4509	0x74, 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
4510	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
4511	0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x6d, 0x65,
4512	0x61, 0x6e, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12,
4513	0x4a, 0x0a, 0x12, 0x6d, 0x65, 0x61, 0x6e, 0x5f, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x64, 0x5f,
4514	0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,
4515	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f,
4516	0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x6d, 0x65, 0x61, 0x6e, 0x53,
4517	0x71, 0x75, 0x61, 0x72, 0x65, 0x64, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x51, 0x0a, 0x16, 0x6d,
4518	0x65, 0x61, 0x6e, 0x5f, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x67, 0x5f,
4519	0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,
4520	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f,
4521	0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x6d, 0x65, 0x61, 0x6e, 0x53,
4522	0x71, 0x75, 0x61, 0x72, 0x65, 0x64, 0x4c, 0x6f, 0x67, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x50,
4523	0x0a, 0x15, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x5f, 0x61, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74,
4524	0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
4525	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
4526	0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x6d, 0x65, 0x64,
4527	0x69, 0x61, 0x6e, 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72,
4528	0x12, 0x39, 0x0a, 0x09, 0x72, 0x5f, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x64, 0x18, 0x05, 0x20,
4529	0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
4530	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75,
4531	0x65, 0x52, 0x08, 0x72, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x64, 0x1a, 0xb1, 0x03, 0x0a, 0x1e,
4532	0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66,
4533	0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x3a,
4534	0x0a, 0x09, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
4535	0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
4536	0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
4537	0x09, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x06, 0x72, 0x65,
4538	0x63, 0x61, 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f,
4539	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75,
4540	0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x72, 0x65, 0x63, 0x61, 0x6c, 0x6c,
4541	0x12, 0x38, 0x0a, 0x08, 0x61, 0x63, 0x63, 0x75, 0x72, 0x61, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01,
4542	0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
4543	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65,
4544	0x52, 0x08, 0x61, 0x63, 0x63, 0x75, 0x72, 0x61, 0x63, 0x79, 0x12, 0x3a, 0x0a, 0x09, 0x74, 0x68,
4545	0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
4546	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
4547	0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x74, 0x68, 0x72,
4548	0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x37, 0x0a, 0x08, 0x66, 0x31, 0x5f, 0x73, 0x63, 0x6f,
4549	0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
4550	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c,
4551	0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x66, 0x31, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12,
4552	0x37, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x5f, 0x6c, 0x6f, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28,
4553	0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
4554	0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
4555	0x07, 0x6c, 0x6f, 0x67, 0x4c, 0x6f, 0x73, 0x73, 0x12, 0x35, 0x0a, 0x07, 0x72, 0x6f, 0x63, 0x5f,
4556	0x61, 0x75, 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
4557	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62,
4558	0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x72, 0x6f, 0x63, 0x41, 0x75, 0x63, 0x1a,
4559	0xf6, 0x07, 0x0a, 0x1b, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69,
4560	0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12,
4561	0x88, 0x01, 0x0a, 0x20, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c,
4562	0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74,
4563	0x72, 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f,
4564	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65,
4565	0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x67, 0x67, 0x72,
4566	0x65, 0x67, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
4567	0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x1e, 0x61, 0x67, 0x67, 0x72,
4568	0x65, 0x67, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74,
4569	0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x92, 0x01, 0x0a, 0x1c, 0x62,
4570	0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5f,
4571	0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28,
4572	0x0b, 0x32, 0x51, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
4573	0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64,
4574	0x65, 0x6c, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66,
4575	0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x42,
4576	0x69, 0x6e, 0x61, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61,
4577	0x74, 0x72, 0x69, 0x78, 0x52, 0x19, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66,
4578	0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x12,
4579	0x25, 0x0a, 0x0e, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x61, 0x62, 0x65,
4580	0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76,
4581	0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69,
4582	0x76, 0x65, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d,
4583	0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x1a, 0xe8, 0x04,
4584	0x0a, 0x15, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x75, 0x73, 0x69, 0x6f,
4585	0x6e, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x12, 0x56, 0x0a, 0x18, 0x70, 0x6f, 0x73, 0x69, 0x74,
4586	0x69, 0x76, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68,
4587	0x6f, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
4588	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62,
4589	0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x16, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76,
4590	0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12,
4591	0x42, 0x0a, 0x0e, 0x74, 0x72, 0x75, 0x65, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65,
4592	0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
4593	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56,
4594	0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x74, 0x72, 0x75, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69,
4595	0x76, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x0f, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x5f, 0x70, 0x6f, 0x73,
4596	0x69, 0x74, 0x69, 0x76, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67,
4597	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49,
4598	0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x66, 0x61, 0x6c, 0x73, 0x65,
4599	0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x0e, 0x74, 0x72, 0x75,
4600	0x65, 0x5f, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28,
4601	0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
4602	0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d,
4603	0x74, 0x72, 0x75, 0x65, 0x4e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x73, 0x12, 0x44, 0x0a,
4604	0x0f, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x5f, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x73,
4605	0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
4606	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61,
4607	0x6c, 0x75, 0x65, 0x52, 0x0e, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x4e, 0x65, 0x67, 0x61, 0x74, 0x69,
4608	0x76, 0x65, 0x73, 0x12, 0x3a, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e,
4609	0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
4610	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56,
4611	0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12,
4612	0x34, 0x0a, 0x06, 0x72, 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
4613	0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
4614	0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x72,
4615	0x65, 0x63, 0x61, 0x6c, 0x6c, 0x12, 0x37, 0x0a, 0x08, 0x66, 0x31, 0x5f, 0x73, 0x63, 0x6f, 0x72,
4616	0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
4617	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65,
4618	0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x66, 0x31, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x38,
4619	0x0a, 0x08, 0x61, 0x63, 0x63, 0x75, 0x72, 0x61, 0x63, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b,
4620	0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
4621	0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08,
4622	0x61, 0x63, 0x63, 0x75, 0x72, 0x61, 0x63, 0x79, 0x1a, 0x8a, 0x06, 0x0a, 0x1f, 0x4d, 0x75, 0x6c,
4623	0x74, 0x69, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63,
4624	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x88, 0x01, 0x0a,
4625	0x20, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73,
4626	0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63,
4627	0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
4628	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e,
4629	0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61,
4630	0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
4631	0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x1e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61,
4632	0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
4633	0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x83, 0x01, 0x0a, 0x15, 0x63, 0x6f, 0x6e, 0x66,
4634	0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x5f, 0x6c, 0x69, 0x73,
4635	0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
4636	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e,
4637	0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x6c,
4638	0x61, 0x73, 0x73, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
4639	0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x75, 0x73, 0x69,
4640	0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x52, 0x13, 0x63, 0x6f, 0x6e, 0x66, 0x75, 0x73,
4641	0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x1a, 0xd5, 0x03,
4642	0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x72, 0x69,
4643	0x78, 0x12, 0x4f, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x5f,
4644	0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
4645	0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
4646	0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x63,
4647	0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f,
4648	0x6c, 0x64, 0x12, 0x67, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
4649	0x32, 0x53, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
4650	0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x65,
4651	0x6c, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x6c, 0x61, 0x73,
4652	0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
4653	0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x72, 0x69,
4654	0x78, 0x2e, 0x52, 0x6f, 0x77, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x1a, 0x6c, 0x0a, 0x05, 0x45,
4655	0x6e, 0x74, 0x72, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x65,
4656	0x64, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70,
4657	0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x3a, 0x0a,
4658	0x0a, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
4659	0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
4660	0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09,
4661	0x69, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x99, 0x01, 0x0a, 0x03, 0x52, 0x6f,
4662	0x77, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x6c, 0x61, 0x62, 0x65,
4663	0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x4c,
4664	0x61, 0x62, 0x65, 0x6c, 0x12, 0x6f, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18,
4665	0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x55, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
4666	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32,
4667	0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x6c, 0x61, 0x73,
4668	0x73, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d,
4669	0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e,
4670	0x4d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e,
4671	0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0xf4, 0x07, 0x0a, 0x11, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
4672	0x72, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x4e, 0x0a, 0x14, 0x64,
4673	0x61, 0x76, 0x69, 0x65, 0x73, 0x5f, 0x62, 0x6f, 0x75, 0x6c, 0x64, 0x69, 0x6e, 0x5f, 0x69, 0x6e,
4674	0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
4675	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62,
4676	0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x64, 0x61, 0x76, 0x69, 0x65, 0x73, 0x42,
4677	0x6f, 0x75, 0x6c, 0x64, 0x69, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x50, 0x0a, 0x15, 0x6d,
4678	0x65, 0x61, 0x6e, 0x5f, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x64, 0x69, 0x73, 0x74,
4679	0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f,
4680	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75,
4681	0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x6d, 0x65, 0x61, 0x6e, 0x53, 0x71,
4682	0x75, 0x61, 0x72, 0x65, 0x64, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x55, 0x0a,
4683	0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
4684	0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62,
4685	0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c,
4686	0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69,
4687	0x63, 0x73, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x08, 0x63, 0x6c, 0x75, 0x73,
4688	0x74, 0x65, 0x72, 0x73, 0x1a, 0xe5, 0x05, 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
4689	0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x6f, 0x69, 0x64, 0x5f, 0x69, 0x64, 0x18,
4690	0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x6f, 0x69, 0x64, 0x49,
4691	0x64, 0x12, 0x6d, 0x0a, 0x0e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x76, 0x61, 0x6c,
4692	0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
4693	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72,
4694	0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74,
4695	0x65, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x43, 0x6c, 0x75,
4696	0x73, 0x74, 0x65, 0x72, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75,
4697	0x65, 0x52, 0x0d, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73,
4698	0x12, 0x31, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
4699	0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
4700	0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x63, 0x6f,
4701	0x75, 0x6e, 0x74, 0x1a, 0x96, 0x04, 0x0a, 0x0c, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56,
4702	0x61, 0x6c, 0x75, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f,
4703	0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x65,
4704	0x61, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x47, 0x0a, 0x0f, 0x6e,
4705	0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
4706	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
4707	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c,
4708	0x75, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x56,
4709	0x61, 0x6c, 0x75, 0x65, 0x12, 0x86, 0x01, 0x0a, 0x11, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72,
4710	0x69, 0x63, 0x61, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
4711	0x32, 0x57, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
4712	0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x65,
4713	0x6c, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x72,
4714	0x69, 0x63, 0x73, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x46, 0x65, 0x61, 0x74,
4715	0x75, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72,
4716	0x69, 0x63, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x10, 0x63, 0x61, 0x74,
4717	0x65, 0x67, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x83, 0x02,
4718	0x0a, 0x10, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x56, 0x61, 0x6c,
4719	0x75, 0x65, 0x12, 0x8e, 0x01, 0x0a, 0x0f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f,
4720	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x65, 0x2e, 0x67,
4721	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71,
4722	0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x43, 0x6c,
4723	0x75, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e,
4724	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56,
4725	0x61, 0x6c, 0x75, 0x65, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c,
4726	0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x43, 0x6f,
4727	0x75, 0x6e, 0x74, 0x52, 0x0e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x43, 0x6f, 0x75,
4728	0x6e, 0x74, 0x73, 0x1a, 0x5e, 0x0a, 0x0d, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x43,
4729	0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79,
4730	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79,
4731	0x12, 0x31, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
4732	0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
4733	0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x63, 0x6f,
4734	0x75, 0x6e, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0xe2, 0x02, 0x0a,
4735	0x0e, 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12,
4736	0x52, 0x0a, 0x16, 0x6d, 0x65, 0x61, 0x6e, 0x5f, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f,
4737	0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
4738	0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
4739	0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x14, 0x6d,
4740	0x65, 0x61, 0x6e, 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x50, 0x72, 0x65, 0x63, 0x69, 0x73,
4741	0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x12, 0x6d, 0x65, 0x61, 0x6e, 0x5f, 0x73, 0x71, 0x75, 0x61,
4742	0x72, 0x65, 0x64, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
4743	0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
4744	0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x6d,
4745	0x65, 0x61, 0x6e, 0x53, 0x71, 0x75, 0x61, 0x72, 0x65, 0x64, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12,
4746	0x6f, 0x0a, 0x25, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x64, 0x69,
4747	0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74,
4748	0x69, 0x76, 0x65, 0x5f, 0x67, 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
4749	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
4750	0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x22, 0x6e, 0x6f,
4751	0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74,
4752	0x65, 0x64, 0x43, 0x75, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x47, 0x61, 0x69, 0x6e,
4753	0x12, 0x3f, 0x0a, 0x0c, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x6b,
4754	0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
4755	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56,
4756	0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x52, 0x61, 0x6e,
4757	0x6b, 0x1a, 0xf0, 0x09, 0x0a, 0x17, 0x41, 0x72, 0x69, 0x6d, 0x61, 0x46, 0x6f, 0x72, 0x65, 0x63,
4758	0x61, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x5c, 0x0a,
4759	0x12, 0x6e, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6f, 0x72,
4760	0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
4761	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72,
4762	0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x72, 0x69, 0x6d, 0x61,
4763	0x4f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x02, 0x18, 0x01, 0x52, 0x10, 0x6e, 0x6f, 0x6e, 0x53, 0x65,
4764	0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x6b, 0x0a, 0x15, 0x61,
4765	0x72, 0x69, 0x6d, 0x61, 0x5f, 0x66, 0x69, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x74,
4766	0x72, 0x69, 0x63, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f,
4767	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65,
4768	0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x72, 0x69, 0x6d,
4769	0x61, 0x46, 0x69, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42,
4770	0x02, 0x18, 0x01, 0x52, 0x13, 0x61, 0x72, 0x69, 0x6d, 0x61, 0x46, 0x69, 0x74, 0x74, 0x69, 0x6e,
4771	0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x70, 0x0a, 0x10, 0x73, 0x65, 0x61, 0x73,
4772	0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03,
4773	0x28, 0x0e, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
4774	0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f,
4775	0x64, 0x65, 0x6c, 0x2e, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x69,
4776	0x6f, 0x64, 0x2e, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x69, 0x6f,
4777	0x64, 0x54, 0x79, 0x70, 0x65, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0f, 0x73, 0x65, 0x61, 0x73, 0x6f,
4778	0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x73, 0x12, 0x1f, 0x0a, 0x09, 0x68, 0x61,
4779	0x73, 0x5f, 0x64, 0x72, 0x69, 0x66, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x08, 0x42, 0x02, 0x18,
4780	0x01, 0x52, 0x08, 0x68, 0x61, 0x73, 0x44, 0x72, 0x69, 0x66, 0x74, 0x12, 0x28, 0x0a, 0x0e, 0x74,
4781	0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20,
4782	0x03, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72,
4783	0x69, 0x65, 0x73, 0x49, 0x64, 0x12, 0xae, 0x01, 0x0a, 0x26, 0x61, 0x72, 0x69, 0x6d, 0x61, 0x5f,
4784	0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x66, 0x6f, 0x72,
4785	0x65, 0x63, 0x61, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73,
4786	0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x5a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
4787	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76,
4788	0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x72, 0x69, 0x6d, 0x61, 0x46, 0x6f, 0x72,
4789	0x65, 0x63, 0x61, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e,
4790	0x41, 0x72, 0x69, 0x6d, 0x61, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c,
4791	0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69,
4792	0x63, 0x73, 0x52, 0x22, 0x61, 0x72, 0x69, 0x6d, 0x61, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x4d,
4793	0x6f, 0x64, 0x65, 0x6c, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x4d,
4794	0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x1a, 0x9b, 0x05, 0x0a, 0x22, 0x41, 0x72, 0x69, 0x6d, 0x61,
4795	0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x46, 0x6f, 0x72, 0x65, 0x63,
4796	0x61, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x58, 0x0a,
4797	0x12, 0x6e, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6f, 0x72,
4798	0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
4799	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72,
4800	0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x72, 0x69, 0x6d, 0x61,
4801	0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x10, 0x6e, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e,
4802	0x61, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x67, 0x0a, 0x15, 0x61, 0x72, 0x69, 0x6d, 0x61,
4803	0x5f, 0x66, 0x69, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73,
4804	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
4805	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76,
4806	0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x72, 0x69, 0x6d, 0x61, 0x46, 0x69, 0x74,
4807	0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x13, 0x61, 0x72, 0x69,
4808	0x6d, 0x61, 0x46, 0x69, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73,
4809	0x12, 0x1b, 0x0a, 0x09, 0x68, 0x61, 0x73, 0x5f, 0x64, 0x72, 0x69, 0x66, 0x74, 0x18, 0x03, 0x20,
4810	0x01, 0x28, 0x08, 0x52, 0x08, 0x68, 0x61, 0x73, 0x44, 0x72, 0x69, 0x66, 0x74, 0x12, 0x24, 0x0a,
4811	0x0e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x69, 0x64, 0x18,
4812	0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65,
4813	0x73, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69,
4814	0x65, 0x73, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x69,
4815	0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x49, 0x64, 0x73, 0x12, 0x6c, 0x0a, 0x10, 0x73,
4816	0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x73, 0x18,
4817	0x05, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
4818	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32,
4819	0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x50,
4820	0x65, 0x72, 0x69, 0x6f, 0x64, 0x2e, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65,
4821	0x72, 0x69, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0f, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e,
4822	0x61, 0x6c, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x73, 0x12, 0x48, 0x0a, 0x12, 0x68, 0x61, 0x73,
4823	0x5f, 0x68, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x79, 0x5f, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x18,
4824	0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
4825	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75,
4826	0x65, 0x52, 0x10, 0x68, 0x61, 0x73, 0x48, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x79, 0x45, 0x66, 0x66,
4827	0x65, 0x63, 0x74, 0x12, 0x49, 0x0a, 0x13, 0x68, 0x61, 0x73, 0x5f, 0x73, 0x70, 0x69, 0x6b, 0x65,
4828	0x73, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x64, 0x69, 0x70, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b,
4829	0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
4830	0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x68, 0x61,
4831	0x73, 0x53, 0x70, 0x69, 0x6b, 0x65, 0x73, 0x41, 0x6e, 0x64, 0x44, 0x69, 0x70, 0x73, 0x12, 0x44,
4832	0x0a, 0x10, 0x68, 0x61, 0x73, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67,
4833	0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
4834	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56,
4835	0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x68, 0x61, 0x73, 0x53, 0x74, 0x65, 0x70, 0x43, 0x68, 0x61,
4836	0x6e, 0x67, 0x65, 0x73, 0x1a, 0xcd, 0x05, 0x0a, 0x11, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74,
4837	0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x62, 0x0a, 0x12, 0x72, 0x65,
4838	0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73,
4839	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
4840	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76,
4841	0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x52, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69,
4842	0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x48, 0x00, 0x52, 0x11, 0x72, 0x65, 0x67,
4843	0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x81,
4844	0x01, 0x0a, 0x1d, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69,
4845	0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73,
4846	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
4847	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76,
4848	0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x43, 0x6c,
4849	0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72,
4850	0x69, 0x63, 0x73, 0x48, 0x00, 0x52, 0x1b, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x43, 0x6c, 0x61,
4851	0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69,
4852	0x63, 0x73, 0x12, 0x8e, 0x01, 0x0a, 0x22, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x5f, 0x63, 0x6c, 0x61,
4853	0x73, 0x73, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
4854	0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
4855	0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62,
4856	0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c,
4857	0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x6c, 0x61, 0x73, 0x73,
4858	0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73,
4859	0x48, 0x00, 0x52, 0x1f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x6c,
4860	0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72,
4861	0x69, 0x63, 0x73, 0x12, 0x62, 0x0a, 0x12, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e,
4862	0x67, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
4863	0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62,
4864	0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c,
4865	0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69,
4866	0x63, 0x73, 0x48, 0x00, 0x52, 0x11, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67,
4867	0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x59, 0x0a, 0x0f, 0x72, 0x61, 0x6e, 0x6b, 0x69,
4868	0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
4869	0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
4870	0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x65,
4871	0x6c, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73,
4872	0x48, 0x00, 0x52, 0x0e, 0x72, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69,
4873	0x63, 0x73, 0x12, 0x75, 0x0a, 0x19, 0x61, 0x72, 0x69, 0x6d, 0x61, 0x5f, 0x66, 0x6f, 0x72, 0x65,
4874	0x63, 0x61, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18,
4875	0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
4876	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32,
4877	0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x72, 0x69, 0x6d, 0x61, 0x46, 0x6f, 0x72, 0x65,
4878	0x63, 0x61, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x48, 0x00,
4879	0x52, 0x17, 0x61, 0x72, 0x69, 0x6d, 0x61, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x69,
4880	0x6e, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x74,
4881	0x72, 0x69, 0x63, 0x73, 0x1a, 0xb7, 0x01, 0x0a, 0x0f, 0x44, 0x61, 0x74, 0x61, 0x53, 0x70, 0x6c,
4882	0x69, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x4f, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x69,
4883	0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
4884	0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
4885	0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x62, 0x6c,
4886	0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x69,
4887	0x6e, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x53, 0x0a, 0x10, 0x65, 0x76, 0x61,
4888	0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20,
4889	0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
4890	0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x54,
4891	0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0f, 0x65,
4892	0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x1a, 0x36,
4893	0x0a, 0x0a, 0x41, 0x72, 0x69, 0x6d, 0x61, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x0c, 0x0a, 0x01,
4894	0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x01, 0x70, 0x12, 0x0c, 0x0a, 0x01, 0x64, 0x18,
4895	0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x01, 0x64, 0x12, 0x0c, 0x0a, 0x01, 0x71, 0x18, 0x03, 0x20,
4896	0x01, 0x28, 0x03, 0x52, 0x01, 0x71, 0x1a, 0x6a, 0x0a, 0x13, 0x41, 0x72, 0x69, 0x6d, 0x61, 0x46,
4897	0x69, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x25, 0x0a,
4898	0x0e, 0x6c, 0x6f, 0x67, 0x5f, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x18,
4899	0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x6c, 0x6f, 0x67, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69,
4900	0x68, 0x6f, 0x6f, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28,
4901	0x01, 0x52, 0x03, 0x61, 0x69, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e,
4902	0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e,
4903	0x63, 0x65, 0x1a, 0x89, 0x02, 0x0a, 0x11, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x45, 0x78, 0x70,
4904	0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x61, 0x0a, 0x0c, 0x65, 0x78, 0x70, 0x6c,
4905	0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d,
4906	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69,
4907	0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e,
4908	0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f,
4909	0x6e, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x65,
4910	0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x63,
4911	0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
4912	0x52, 0x0a, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x1a, 0x70, 0x0a, 0x0b,
4913	0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x66,
4914	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
4915	0x09, 0x52, 0x0b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3e,
4916	0x0a, 0x0b, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20,
4917	0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
4918	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75,
4919	0x65, 0x52, 0x0b, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xe2,
4920	0x2a, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6e, 0x12, 0x66,
4921	0x0a, 0x10, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f,
4922	0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
4923	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79,
4924	0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69,
4925	0x6e, 0x67, 0x52, 0x75, 0x6e, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4f, 0x70,
4926	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4f,
4927	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f,
4928	0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
4929	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
4930	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d,
4931	0x65, 0x12, 0x55, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03,
4932	0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
4933	0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f,
4934	0x64, 0x65, 0x6c, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6e, 0x2e,
4935	0x49, 0x74, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52,
4936	0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x60, 0x0a, 0x12, 0x65, 0x76, 0x61, 0x6c,
4937	0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x07,
4938	0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
4939	0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e,
4940	0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e,
4941	0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x11, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74,
4942	0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x5b, 0x0a, 0x11, 0x64, 0x61,
4943	0x74, 0x61, 0x5f, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18,
4944	0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
4945	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32,
4946	0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x70, 0x6c, 0x69, 0x74,
4947	0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x70, 0x6c, 0x69,
4948	0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x62, 0x0a, 0x13, 0x67, 0x6c, 0x6f, 0x62, 0x61,
4949	0x6c, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0a,
4950	0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
4951	0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e,
4952	0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x45, 0x78, 0x70, 0x6c,
4953	0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x45,
4954	0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xa0, 0x17, 0x0a, 0x0f,
4955	0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12,
4956	0x25, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x74, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
4957	0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x49, 0x74, 0x65, 0x72,
4958	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x45, 0x0a, 0x09, 0x6c, 0x6f, 0x73, 0x73, 0x5f, 0x74,
4959	0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
4960	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72,
4961	0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x4c, 0x6f, 0x73, 0x73, 0x54,
4962	0x79, 0x70, 0x65, 0x52, 0x08, 0x6c, 0x6f, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a,
4963	0x0a, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
4964	0x01, 0x52, 0x09, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x12, 0x49, 0x0a, 0x11,
4965	0x6c, 0x31, 0x5f, 0x72, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
4966	0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
4967	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65,
4968	0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x6c, 0x31, 0x52, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72,
4969	0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x11, 0x6c, 0x32, 0x5f, 0x72, 0x65,
4970	0x67, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01,
4971	0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
4972	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65,
4973	0x52, 0x10, 0x6c, 0x32, 0x52, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69,
4974	0x6f, 0x6e, 0x12, 0x50, 0x0a, 0x15, 0x6d, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69,
4975	0x76, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28,
4976	0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
4977	0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
4978	0x13, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x67,
4979	0x72, 0x65, 0x73, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x77, 0x61, 0x72, 0x6d, 0x5f, 0x73, 0x74, 0x61,
4980	0x72, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
4981	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56,
4982	0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x77, 0x61, 0x72, 0x6d, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12,
4983	0x39, 0x0a, 0x0a, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x18, 0x08, 0x20,
4984	0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
4985	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
4986	0x09, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x53, 0x74, 0x6f, 0x70, 0x12, 0x2e, 0x0a, 0x13, 0x69, 0x6e,
4987	0x70, 0x75, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e,
4988	0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x4c, 0x61,
4989	0x62, 0x65, 0x6c, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x5b, 0x0a, 0x11, 0x64, 0x61,
4990	0x74, 0x61, 0x5f, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18,
4991	0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
4992	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32,
4993	0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x70, 0x6c, 0x69, 0x74,
4994	0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x53, 0x70, 0x6c, 0x69,
4995	0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x37, 0x0a, 0x18, 0x64, 0x61, 0x74, 0x61, 0x5f,
4996	0x73, 0x70, 0x6c, 0x69, 0x74, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x5f, 0x66, 0x72, 0x61, 0x63, 0x74,
4997	0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x01, 0x52, 0x15, 0x64, 0x61, 0x74, 0x61, 0x53,
4998	0x70, 0x6c, 0x69, 0x74, 0x45, 0x76, 0x61, 0x6c, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
4999	0x12, 0x2a, 0x0a, 0x11, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x5f, 0x63,
5000	0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x61, 0x74,
5001	0x61, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x61, 0x0a, 0x13,
5002	0x6c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74,
5003	0x65, 0x67, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
5004	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72,
5005	0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x4c, 0x65, 0x61, 0x72, 0x6e,
5006	0x52, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x11, 0x6c, 0x65,
5007	0x61, 0x72, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12,
5008	0x2c, 0x0a, 0x12, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x6c, 0x65, 0x61, 0x72, 0x6e,
5009	0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x69, 0x6e, 0x69,
5010	0x74, 0x69, 0x61, 0x6c, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x12, 0x82, 0x01,
5011	0x0a, 0x13, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x77, 0x65,
5012	0x69, 0x67, 0x68, 0x74, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x52, 0x2e, 0x67, 0x6f,
5013	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75,
5014	0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x54, 0x72, 0x61,
5015	0x69, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6e, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e,
5016	0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x43, 0x6c,
5017	0x61, 0x73, 0x73, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
5018	0x11, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x57, 0x65, 0x69, 0x67, 0x68,
5019	0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d,
5020	0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x43, 0x6f, 0x6c,
5021	0x75, 0x6d, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x63, 0x6f, 0x6c, 0x75,
5022	0x6d, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x74, 0x65, 0x6d, 0x43, 0x6f,
5023	0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x51, 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
5024	0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x67, 0x6f,
5025	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75,
5026	0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x44, 0x69, 0x73,
5027	0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x74, 0x61,
5028	0x6e, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x5f, 0x63,
5029	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6e,
5030	0x75, 0x6d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x6f,
5031	0x64, 0x65, 0x6c, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d,
5032	0x6f, 0x64, 0x65, 0x6c, 0x55, 0x72, 0x69, 0x12, 0x69, 0x0a, 0x15, 0x6f, 0x70, 0x74, 0x69, 0x6d,
5033	0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79,
5034	0x18, 0x17, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
5035	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76,
5036	0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61,
5037	0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x14, 0x6f, 0x70,
5038	0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65,
5039	0x67, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x5f, 0x75, 0x6e, 0x69,
5040	0x74, 0x73, 0x18, 0x18, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0b, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e,
5041	0x55, 0x6e, 0x69, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73,
5042	0x69, 0x7a, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68,
5043	0x53, 0x69, 0x7a, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x64, 0x72, 0x6f, 0x70, 0x6f, 0x75, 0x74, 0x18,
5044	0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
5045	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61,
5046	0x6c, 0x75, 0x65, 0x52, 0x07, 0x64, 0x72, 0x6f, 0x70, 0x6f, 0x75, 0x74, 0x12, 0x24, 0x0a, 0x0e,
5047	0x6d, 0x61, 0x78, 0x5f, 0x74, 0x72, 0x65, 0x65, 0x5f, 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, 0x1b,
5048	0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x54, 0x72, 0x65, 0x65, 0x44, 0x65, 0x70,
5049	0x74, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18,
5050	0x1c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x73, 0x75, 0x62, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65,
5051	0x12, 0x42, 0x0a, 0x0e, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x5f, 0x6c, 0x6f,
5052	0x73, 0x73, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
5053	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c,
5054	0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x6d, 0x69, 0x6e, 0x53, 0x70, 0x6c, 0x69, 0x74,
5055	0x4c, 0x6f, 0x73, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, 0x5f, 0x66, 0x61, 0x63, 0x74,
5056	0x6f, 0x72, 0x73, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x46, 0x61,
5057	0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x51, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63,
5058	0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x67,
5059	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71,
5060	0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x46, 0x65,
5061	0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x64,
5062	0x62, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x77, 0x61, 0x6c, 0x73,
5063	0x5f, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67,
5064	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44,
5065	0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x77, 0x61, 0x6c, 0x73,
5066	0x41, 0x6c, 0x70, 0x68, 0x61, 0x12, 0x88, 0x01, 0x0a, 0x1c, 0x6b, 0x6d, 0x65, 0x61, 0x6e, 0x73,
5067	0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
5068	0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x46, 0x2e, 0x67,
5069	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71,
5070	0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x4b, 0x6d,
5071	0x65, 0x61, 0x6e, 0x73, 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4b, 0x6d, 0x65, 0x61, 0x6e, 0x73,
5072	0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65,
5073	0x74, 0x68, 0x6f, 0x64, 0x52, 0x1a, 0x6b, 0x6d, 0x65, 0x61, 0x6e, 0x73, 0x49, 0x6e, 0x69, 0x74,
5074	0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64,
5075	0x12, 0x40, 0x0a, 0x1c, 0x6b, 0x6d, 0x65, 0x61, 0x6e, 0x73, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69,
5076	0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e,
5077	0x18, 0x22, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1a, 0x6b, 0x6d, 0x65, 0x61, 0x6e, 0x73, 0x49, 0x6e,
5078	0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6c, 0x75,
5079	0x6d, 0x6e, 0x12, 0x3f, 0x0a, 0x1c, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65,
5080	0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x63, 0x6f, 0x6c, 0x75,
5081	0x6d, 0x6e, 0x18, 0x23, 0x20, 0x01, 0x28, 0x09, 0x52, 0x19, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65,
5082	0x72, 0x69, 0x65, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x43, 0x6f, 0x6c,
5083	0x75, 0x6d, 0x6e, 0x12, 0x35, 0x0a, 0x17, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69,
5084	0x65, 0x73, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x24,
5085	0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73,
5086	0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x75,
5087	0x74, 0x6f, 0x5f, 0x61, 0x72, 0x69, 0x6d, 0x61, 0x18, 0x25, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09,
5088	0x61, 0x75, 0x74, 0x6f, 0x41, 0x72, 0x69, 0x6d, 0x61, 0x12, 0x58, 0x0a, 0x12, 0x6e, 0x6f, 0x6e,
5089	0x5f, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18,
5090	0x26, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
5091	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32,
5092	0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x72, 0x69, 0x6d, 0x61, 0x4f, 0x72, 0x64, 0x65,
5093	0x72, 0x52, 0x10, 0x6e, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x4f, 0x72,
5094	0x64, 0x65, 0x72, 0x12, 0x54, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x72, 0x65, 0x71,
5095	0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x27, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x67, 0x6f,
5096	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75,
5097	0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x44, 0x61, 0x74,
5098	0x61, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x0d, 0x64, 0x61, 0x74, 0x61,
5099	0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x63,
5100	0x6c, 0x75, 0x64, 0x65, 0x5f, 0x64, 0x72, 0x69, 0x66, 0x74, 0x18, 0x29, 0x20, 0x01, 0x28, 0x08,
5101	0x52, 0x0c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x44, 0x72, 0x69, 0x66, 0x74, 0x12, 0x54,
5102	0x0a, 0x0e, 0x68, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x79, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e,
5103	0x18, 0x2a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
5104	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76,
5105	0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x48, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x79, 0x52,
5106	0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x68, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x79, 0x52, 0x65,
5107	0x67, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x15, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72,
5108	0x69, 0x65, 0x73, 0x5f, 0x69, 0x64, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x2b, 0x20,
5109	0x01, 0x28, 0x09, 0x52, 0x12, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x49,
5110	0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x33, 0x0a, 0x16, 0x74, 0x69, 0x6d, 0x65, 0x5f,
5111	0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x69, 0x64, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e,
5112	0x73, 0x18, 0x33, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72,
5113	0x69, 0x65, 0x73, 0x49, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x18, 0x0a, 0x07,
5114	0x68, 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x68,
5115	0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x16, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72,
5116	0x76, 0x65, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73,
5117	0x18, 0x2d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65,
5118	0x49, 0x6e, 0x70, 0x75, 0x74, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x12, 0x2f, 0x0a, 0x14,
5119	0x61, 0x75, 0x74, 0x6f, 0x5f, 0x61, 0x72, 0x69, 0x6d, 0x61, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6f,
5120	0x72, 0x64, 0x65, 0x72, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x61, 0x75, 0x74, 0x6f,
5121	0x41, 0x72, 0x69, 0x6d, 0x61, 0x4d, 0x61, 0x78, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x4e, 0x0a,
5122	0x15, 0x64, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f,
5123	0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
5124	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42,
5125	0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x64, 0x65, 0x63, 0x6f, 0x6d, 0x70,
5126	0x6f, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x4d, 0x0a,
5127	0x15, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x73, 0x70, 0x69, 0x6b, 0x65, 0x73, 0x5f, 0x61, 0x6e,
5128	0x64, 0x5f, 0x64, 0x69, 0x70, 0x73, 0x18, 0x34, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
5129	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42,
5130	0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x12, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x53,
5131	0x70, 0x69, 0x6b, 0x65, 0x73, 0x41, 0x6e, 0x64, 0x44, 0x69, 0x70, 0x73, 0x12, 0x4a, 0x0a, 0x13,
5132	0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x5f, 0x63, 0x68, 0x61, 0x6e,
5133	0x67, 0x65, 0x73, 0x18, 0x35, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
5134	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c,
5135	0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x53, 0x74, 0x65,
5136	0x70, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x1a, 0x44, 0x0a, 0x16, 0x4c, 0x61, 0x62, 0x65,
5137	0x6c, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x73, 0x45, 0x6e, 0x74,
5138	0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
5139	0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
5140	0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x92,
5141	0x0f, 0x0a, 0x0f, 0x49, 0x74, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75,
5142	0x6c, 0x74, 0x12, 0x31, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28,
5143	0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
5144	0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05,
5145	0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x3c, 0x0a, 0x0b, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
5146	0x6e, 0x5f, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f,
5147	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74,
5148	0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
5149	0x6e, 0x4d, 0x73, 0x12, 0x41, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f,
5150	0x6c, 0x6f, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f,
5151	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75,
5152	0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69,
5153	0x6e, 0x67, 0x4c, 0x6f, 0x73, 0x73, 0x12, 0x39, 0x0a, 0x09, 0x65, 0x76, 0x61, 0x6c, 0x5f, 0x6c,
5154	0x6f, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
5155	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62,
5156	0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x65, 0x76, 0x61, 0x6c, 0x4c, 0x6f, 0x73,
5157	0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18,
5158	0x07, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x52, 0x61, 0x74, 0x65,
5159	0x12, 0x6c, 0x0a, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
5160	0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
5161	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e,
5162	0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e,
5163	0x67, 0x52, 0x75, 0x6e, 0x2e, 0x49, 0x74, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
5164	0x73, 0x75, 0x6c, 0x74, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f,
5165	0x52, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x6a,
5166	0x0a, 0x0c, 0x61, 0x72, 0x69, 0x6d, 0x61, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x09,
5167	0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
5168	0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e,
5169	0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x75,
5170	0x6e, 0x2e, 0x49, 0x74, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c,
5171	0x74, 0x2e, 0x41, 0x72, 0x69, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0b, 0x61,
5172	0x72, 0x69, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0xb3, 0x01, 0x0a, 0x0b, 0x43,
5173	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x65,
5174	0x6e, 0x74, 0x72, 0x6f, 0x69, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
5175	0x0a, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x6f, 0x69, 0x64, 0x49, 0x64, 0x12, 0x43, 0x0a, 0x0e, 0x63,
5176	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x18, 0x02, 0x20,
5177	0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
5178	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75,
5179	0x65, 0x52, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x61, 0x64, 0x69, 0x75, 0x73,
5180	0x12, 0x3e, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a, 0x65,
5181	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
5182	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61,
5183	0x6c, 0x75, 0x65, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x69, 0x7a, 0x65,
5184	0x1a, 0xe0, 0x09, 0x0a, 0x0b, 0x41, 0x72, 0x69, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
5185	0x12, 0x80, 0x01, 0x0a, 0x10, 0x61, 0x72, 0x69, 0x6d, 0x61, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
5186	0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x56, 0x2e, 0x67, 0x6f,
5187	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75,
5188	0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x54, 0x72, 0x61,
5189	0x69, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6e, 0x2e, 0x49, 0x74, 0x65, 0x72, 0x61, 0x74, 0x69,
5190	0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x41, 0x72, 0x69, 0x6d, 0x61, 0x52, 0x65,
5191	0x73, 0x75, 0x6c, 0x74, 0x2e, 0x41, 0x72, 0x69, 0x6d, 0x61, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x49,
5192	0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x61, 0x72, 0x69, 0x6d, 0x61, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x49,
5193	0x6e, 0x66, 0x6f, 0x12, 0x6c, 0x0a, 0x10, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x5f,
5194	0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x41, 0x2e,
5195	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67,
5196	0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x53,
5197	0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x2e, 0x53, 0x65,
5198	0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65,
5199	0x52, 0x0f, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64,
5200	0x73, 0x1a, 0xca, 0x01, 0x0a, 0x11, 0x41, 0x72, 0x69, 0x6d, 0x61, 0x43, 0x6f, 0x65, 0x66, 0x66,
5201	0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x40, 0x0a, 0x1c, 0x61, 0x75, 0x74, 0x6f, 0x5f,
5202	0x72, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x65, 0x66, 0x66,
5203	0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x01, 0x52, 0x1a, 0x61,
5204	0x75, 0x74, 0x6f, 0x52, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x65,
5205	0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x3e, 0x0a, 0x1b, 0x6d, 0x6f, 0x76,
5206	0x69, 0x6e, 0x67, 0x5f, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x65, 0x66,
5207	0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x01, 0x52, 0x19,
5208	0x6d, 0x6f, 0x76, 0x69, 0x6e, 0x67, 0x41, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x65,
5209	0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x33, 0x0a, 0x15, 0x69, 0x6e, 0x74,
5210	0x65, 0x72, 0x63, 0x65, 0x70, 0x74, 0x5f, 0x63, 0x6f, 0x65, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65,
5211	0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x14, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63,
5212	0x65, 0x70, 0x74, 0x43, 0x6f, 0x65, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x1a, 0x92,
5213	0x06, 0x0a, 0x0e, 0x41, 0x72, 0x69, 0x6d, 0x61, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x6e, 0x66,
5214	0x6f, 0x12, 0x58, 0x0a, 0x12, 0x6e, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61,
5215	0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e,
5216	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67,
5217	0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41,
5218	0x72, 0x69, 0x6d, 0x61, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x10, 0x6e, 0x6f, 0x6e, 0x53, 0x65,
5219	0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x88, 0x01, 0x0a, 0x12,
5220	0x61, 0x72, 0x69, 0x6d, 0x61, 0x5f, 0x63, 0x6f, 0x65, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e,
5221	0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x59, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
5222	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79,
5223	0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69,
5224	0x6e, 0x67, 0x52, 0x75, 0x6e, 0x2e, 0x49, 0x74, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
5225	0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x41, 0x72, 0x69, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x75, 0x6c,
5226	0x74, 0x2e, 0x41, 0x72, 0x69, 0x6d, 0x61, 0x43, 0x6f, 0x65, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65,
5227	0x6e, 0x74, 0x73, 0x52, 0x11, 0x61, 0x72, 0x69, 0x6d, 0x61, 0x43, 0x6f, 0x65, 0x66, 0x66, 0x69,
5228	0x63, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x67, 0x0a, 0x15, 0x61, 0x72, 0x69, 0x6d, 0x61, 0x5f,
5229	0x66, 0x69, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18,
5230	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
5231	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32,
5232	0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x41, 0x72, 0x69, 0x6d, 0x61, 0x46, 0x69, 0x74, 0x74,
5233	0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x13, 0x61, 0x72, 0x69, 0x6d,
5234	0x61, 0x46, 0x69, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12,
5235	0x1b, 0x0a, 0x09, 0x68, 0x61, 0x73, 0x5f, 0x64, 0x72, 0x69, 0x66, 0x74, 0x18, 0x04, 0x20, 0x01,
5236	0x28, 0x08, 0x52, 0x08, 0x68, 0x61, 0x73, 0x44, 0x72, 0x69, 0x66, 0x74, 0x12, 0x24, 0x0a, 0x0e,
5237	0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x05,
5238	0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73,
5239	0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65,
5240	0x73, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x69, 0x6d,
5241	0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x49, 0x64, 0x73, 0x12, 0x6c, 0x0a, 0x10, 0x73, 0x65,
5242	0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x73, 0x18, 0x06,
5243	0x20, 0x03, 0x28, 0x0e, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
5244	0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e,
5245	0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65,
5246	0x72, 0x69, 0x6f, 0x64, 0x2e, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72,
5247	0x69, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0f, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61,
5248	0x6c, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x73, 0x12, 0x48, 0x0a, 0x12, 0x68, 0x61, 0x73, 0x5f,
5249	0x68, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x79, 0x5f, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x18, 0x07,
5250	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
5251	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65,
5252	0x52, 0x10, 0x68, 0x61, 0x73, 0x48, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x79, 0x45, 0x66, 0x66, 0x65,
5253	0x63, 0x74, 0x12, 0x49, 0x0a, 0x13, 0x68, 0x61, 0x73, 0x5f, 0x73, 0x70, 0x69, 0x6b, 0x65, 0x73,
5254	0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x64, 0x69, 0x70, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32,
5255	0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
5256	0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x68, 0x61, 0x73,
5257	0x53, 0x70, 0x69, 0x6b, 0x65, 0x73, 0x41, 0x6e, 0x64, 0x44, 0x69, 0x70, 0x73, 0x12, 0x44, 0x0a,
5258	0x10, 0x68, 0x61, 0x73, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65,
5259	0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
5260	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61,
5261	0x6c, 0x75, 0x65, 0x52, 0x0e, 0x68, 0x61, 0x73, 0x53, 0x74, 0x65, 0x70, 0x43, 0x68, 0x61, 0x6e,
5262	0x67, 0x65, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74,
5263	0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
5264	0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
5265	0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb5,
5266	0x02, 0x0a, 0x09, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16,
5267	0x4d, 0x4f, 0x44, 0x45, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45,
5268	0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x4c, 0x49, 0x4e, 0x45,
5269	0x41, 0x52, 0x5f, 0x52, 0x45, 0x47, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12,
5270	0x17, 0x0a, 0x13, 0x4c, 0x4f, 0x47, 0x49, 0x53, 0x54, 0x49, 0x43, 0x5f, 0x52, 0x45, 0x47, 0x52,
5271	0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x4b, 0x4d, 0x45, 0x41,
5272	0x4e, 0x53, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x4d, 0x41, 0x54, 0x52, 0x49, 0x58, 0x5f, 0x46,
5273	0x41, 0x43, 0x54, 0x4f, 0x52, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x12,
5274	0x0a, 0x0e, 0x44, 0x4e, 0x4e, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x49, 0x46, 0x49, 0x45, 0x52,
5275	0x10, 0x05, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x45, 0x4e, 0x53, 0x4f, 0x52, 0x46, 0x4c, 0x4f, 0x57,
5276	0x10, 0x06, 0x12, 0x11, 0x0a, 0x0d, 0x44, 0x4e, 0x4e, 0x5f, 0x52, 0x45, 0x47, 0x52, 0x45, 0x53,
5277	0x53, 0x4f, 0x52, 0x10, 0x07, 0x12, 0x1a, 0x0a, 0x16, 0x42, 0x4f, 0x4f, 0x53, 0x54, 0x45, 0x44,
5278	0x5f, 0x54, 0x52, 0x45, 0x45, 0x5f, 0x52, 0x45, 0x47, 0x52, 0x45, 0x53, 0x53, 0x4f, 0x52, 0x10,
5279	0x09, 0x12, 0x1b, 0x0a, 0x17, 0x42, 0x4f, 0x4f, 0x53, 0x54, 0x45, 0x44, 0x5f, 0x54, 0x52, 0x45,
5280	0x45, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x49, 0x46, 0x49, 0x45, 0x52, 0x10, 0x0a, 0x12, 0x09,
5281	0x0a, 0x05, 0x41, 0x52, 0x49, 0x4d, 0x41, 0x10, 0x0b, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x55, 0x54,
5282	0x4f, 0x4d, 0x4c, 0x5f, 0x52, 0x45, 0x47, 0x52, 0x45, 0x53, 0x53, 0x4f, 0x52, 0x10, 0x0c, 0x12,
5283	0x15, 0x0a, 0x11, 0x41, 0x55, 0x54, 0x4f, 0x4d, 0x4c, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x49,
5284	0x46, 0x49, 0x45, 0x52, 0x10, 0x0d, 0x12, 0x0e, 0x0a, 0x0a, 0x41, 0x52, 0x49, 0x4d, 0x41, 0x5f,
5285	0x50, 0x4c, 0x55, 0x53, 0x10, 0x13, 0x22, 0x4f, 0x0a, 0x08, 0x4c, 0x6f, 0x73, 0x73, 0x54, 0x79,
5286	0x70, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x4c, 0x4f, 0x53, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
5287	0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a,
5288	0x11, 0x4d, 0x45, 0x41, 0x4e, 0x5f, 0x53, 0x51, 0x55, 0x41, 0x52, 0x45, 0x44, 0x5f, 0x4c, 0x4f,
5289	0x53, 0x53, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x4d, 0x45, 0x41, 0x4e, 0x5f, 0x4c, 0x4f, 0x47,
5290	0x5f, 0x4c, 0x4f, 0x53, 0x53, 0x10, 0x02, 0x22, 0x48, 0x0a, 0x0c, 0x44, 0x69, 0x73, 0x74, 0x61,
5291	0x6e, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x49, 0x53, 0x54, 0x41,
5292	0x4e, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49,
5293	0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x45, 0x55, 0x43, 0x4c, 0x49, 0x44,
5294	0x45, 0x41, 0x4e, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x4f, 0x53, 0x49, 0x4e, 0x45, 0x10,
5295	0x02, 0x22, 0x7a, 0x0a, 0x0f, 0x44, 0x61, 0x74, 0x61, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x4d, 0x65,
5296	0x74, 0x68, 0x6f, 0x64, 0x12, 0x21, 0x0a, 0x1d, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, 0x50, 0x4c,
5297	0x49, 0x54, 0x5f, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43,
5298	0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x41, 0x4e, 0x44, 0x4f,
5299	0x4d, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x10, 0x02, 0x12,
5300	0x0e, 0x0a, 0x0a, 0x53, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x54, 0x49, 0x41, 0x4c, 0x10, 0x03, 0x12,
5301	0x0c, 0x0a, 0x08, 0x4e, 0x4f, 0x5f, 0x53, 0x50, 0x4c, 0x49, 0x54, 0x10, 0x04, 0x12, 0x0e, 0x0a,
5302	0x0a, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x53, 0x50, 0x4c, 0x49, 0x54, 0x10, 0x05, 0x22, 0x9e, 0x01,
5303	0x0a, 0x0d, 0x44, 0x61, 0x74, 0x61, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12,
5304	0x1e, 0x0a, 0x1a, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x46, 0x52, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x43,
5305	0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12,
5306	0x12, 0x0a, 0x0e, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x46, 0x52, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x43,
5307	0x59, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x59, 0x45, 0x41, 0x52, 0x4c, 0x59, 0x10, 0x02, 0x12,
5308	0x0d, 0x0a, 0x09, 0x51, 0x55, 0x41, 0x52, 0x54, 0x45, 0x52, 0x4c, 0x59, 0x10, 0x03, 0x12, 0x0b,
5309	0x0a, 0x07, 0x4d, 0x4f, 0x4e, 0x54, 0x48, 0x4c, 0x59, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x57,
5310	0x45, 0x45, 0x4b, 0x4c, 0x59, 0x10, 0x05, 0x12, 0x09, 0x0a, 0x05, 0x44, 0x41, 0x49, 0x4c, 0x59,
5311	0x10, 0x06, 0x12, 0x0a, 0x0a, 0x06, 0x48, 0x4f, 0x55, 0x52, 0x4c, 0x59, 0x10, 0x07, 0x12, 0x0e,
5312	0x0a, 0x0a, 0x50, 0x45, 0x52, 0x5f, 0x4d, 0x49, 0x4e, 0x55, 0x54, 0x45, 0x10, 0x08, 0x22, 0xd9,
5313	0x04, 0x0a, 0x0d, 0x48, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x79, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e,
5314	0x12, 0x1e, 0x0a, 0x1a, 0x48, 0x4f, 0x4c, 0x49, 0x44, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x47, 0x49,
5315	0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00,
5316	0x12, 0x0a, 0x0a, 0x06, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x06, 0x0a, 0x02,
5317	0x4e, 0x41, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x4a, 0x41, 0x50, 0x41, 0x43, 0x10, 0x03, 0x12,
5318	0x08, 0x0a, 0x04, 0x45, 0x4d, 0x45, 0x41, 0x10, 0x04, 0x12, 0x07, 0x0a, 0x03, 0x4c, 0x41, 0x43,
5319	0x10, 0x05, 0x12, 0x06, 0x0a, 0x02, 0x41, 0x45, 0x10, 0x06, 0x12, 0x06, 0x0a, 0x02, 0x41, 0x52,
5320	0x10, 0x07, 0x12, 0x06, 0x0a, 0x02, 0x41, 0x54, 0x10, 0x08, 0x12, 0x06, 0x0a, 0x02, 0x41, 0x55,
5321	0x10, 0x09, 0x12, 0x06, 0x0a, 0x02, 0x42, 0x45, 0x10, 0x0a, 0x12, 0x06, 0x0a, 0x02, 0x42, 0x52,
5322	0x10, 0x0b, 0x12, 0x06, 0x0a, 0x02, 0x43, 0x41, 0x10, 0x0c, 0x12, 0x06, 0x0a, 0x02, 0x43, 0x48,
5323	0x10, 0x0d, 0x12, 0x06, 0x0a, 0x02, 0x43, 0x4c, 0x10, 0x0e, 0x12, 0x06, 0x0a, 0x02, 0x43, 0x4e,
5324	0x10, 0x0f, 0x12, 0x06, 0x0a, 0x02, 0x43, 0x4f, 0x10, 0x10, 0x12, 0x06, 0x0a, 0x02, 0x43, 0x53,
5325	0x10, 0x11, 0x12, 0x06, 0x0a, 0x02, 0x43, 0x5a, 0x10, 0x12, 0x12, 0x06, 0x0a, 0x02, 0x44, 0x45,
5326	0x10, 0x13, 0x12, 0x06, 0x0a, 0x02, 0x44, 0x4b, 0x10, 0x14, 0x12, 0x06, 0x0a, 0x02, 0x44, 0x5a,
5327	0x10, 0x15, 0x12, 0x06, 0x0a, 0x02, 0x45, 0x43, 0x10, 0x16, 0x12, 0x06, 0x0a, 0x02, 0x45, 0x45,
5328	0x10, 0x17, 0x12, 0x06, 0x0a, 0x02, 0x45, 0x47, 0x10, 0x18, 0x12, 0x06, 0x0a, 0x02, 0x45, 0x53,
5329	0x10, 0x19, 0x12, 0x06, 0x0a, 0x02, 0x46, 0x49, 0x10, 0x1a, 0x12, 0x06, 0x0a, 0x02, 0x46, 0x52,
5330	0x10, 0x1b, 0x12, 0x06, 0x0a, 0x02, 0x47, 0x42, 0x10, 0x1c, 0x12, 0x06, 0x0a, 0x02, 0x47, 0x52,
5331	0x10, 0x1d, 0x12, 0x06, 0x0a, 0x02, 0x48, 0x4b, 0x10, 0x1e, 0x12, 0x06, 0x0a, 0x02, 0x48, 0x55,
5332	0x10, 0x1f, 0x12, 0x06, 0x0a, 0x02, 0x49, 0x44, 0x10, 0x20, 0x12, 0x06, 0x0a, 0x02, 0x49, 0x45,
5333	0x10, 0x21, 0x12, 0x06, 0x0a, 0x02, 0x49, 0x4c, 0x10, 0x22, 0x12, 0x06, 0x0a, 0x02, 0x49, 0x4e,
5334	0x10, 0x23, 0x12, 0x06, 0x0a, 0x02, 0x49, 0x52, 0x10, 0x24, 0x12, 0x06, 0x0a, 0x02, 0x49, 0x54,
5335	0x10, 0x25, 0x12, 0x06, 0x0a, 0x02, 0x4a, 0x50, 0x10, 0x26, 0x12, 0x06, 0x0a, 0x02, 0x4b, 0x52,
5336	0x10, 0x27, 0x12, 0x06, 0x0a, 0x02, 0x4c, 0x56, 0x10, 0x28, 0x12, 0x06, 0x0a, 0x02, 0x4d, 0x41,
5337	0x10, 0x29, 0x12, 0x06, 0x0a, 0x02, 0x4d, 0x58, 0x10, 0x2a, 0x12, 0x06, 0x0a, 0x02, 0x4d, 0x59,
5338	0x10, 0x2b, 0x12, 0x06, 0x0a, 0x02, 0x4e, 0x47, 0x10, 0x2c, 0x12, 0x06, 0x0a, 0x02, 0x4e, 0x4c,
5339	0x10, 0x2d, 0x12, 0x06, 0x0a, 0x02, 0x4e, 0x4f, 0x10, 0x2e, 0x12, 0x06, 0x0a, 0x02, 0x4e, 0x5a,
5340	0x10, 0x2f, 0x12, 0x06, 0x0a, 0x02, 0x50, 0x45, 0x10, 0x30, 0x12, 0x06, 0x0a, 0x02, 0x50, 0x48,
5341	0x10, 0x31, 0x12, 0x06, 0x0a, 0x02, 0x50, 0x4b, 0x10, 0x32, 0x12, 0x06, 0x0a, 0x02, 0x50, 0x4c,
5342	0x10, 0x33, 0x12, 0x06, 0x0a, 0x02, 0x50, 0x54, 0x10, 0x34, 0x12, 0x06, 0x0a, 0x02, 0x52, 0x4f,
5343	0x10, 0x35, 0x12, 0x06, 0x0a, 0x02, 0x52, 0x53, 0x10, 0x36, 0x12, 0x06, 0x0a, 0x02, 0x52, 0x55,
5344	0x10, 0x37, 0x12, 0x06, 0x0a, 0x02, 0x53, 0x41, 0x10, 0x38, 0x12, 0x06, 0x0a, 0x02, 0x53, 0x45,
5345	0x10, 0x39, 0x12, 0x06, 0x0a, 0x02, 0x53, 0x47, 0x10, 0x3a, 0x12, 0x06, 0x0a, 0x02, 0x53, 0x49,
5346	0x10, 0x3b, 0x12, 0x06, 0x0a, 0x02, 0x53, 0x4b, 0x10, 0x3c, 0x12, 0x06, 0x0a, 0x02, 0x54, 0x48,
5347	0x10, 0x3d, 0x12, 0x06, 0x0a, 0x02, 0x54, 0x52, 0x10, 0x3e, 0x12, 0x06, 0x0a, 0x02, 0x54, 0x57,
5348	0x10, 0x3f, 0x12, 0x06, 0x0a, 0x02, 0x55, 0x41, 0x10, 0x40, 0x12, 0x06, 0x0a, 0x02, 0x55, 0x53,
5349	0x10, 0x41, 0x12, 0x06, 0x0a, 0x02, 0x56, 0x45, 0x10, 0x42, 0x12, 0x06, 0x0a, 0x02, 0x56, 0x4e,
5350	0x10, 0x43, 0x12, 0x06, 0x0a, 0x02, 0x5a, 0x41, 0x10, 0x44, 0x22, 0x57, 0x0a, 0x11, 0x4c, 0x65,
5351	0x61, 0x72, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12,
5352	0x23, 0x0a, 0x1f, 0x4c, 0x45, 0x41, 0x52, 0x4e, 0x5f, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x54,
5353	0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49,
5354	0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x53, 0x45, 0x41,
5355	0x52, 0x43, 0x48, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x41, 0x4e,
5356	0x54, 0x10, 0x02, 0x22, 0x6e, 0x0a, 0x14, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74,
5357	0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x25, 0x0a, 0x21, 0x4f,
5358	0x50, 0x54, 0x49, 0x4d, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x52, 0x41,
5359	0x54, 0x45, 0x47, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44,
5360	0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x42, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x47, 0x52, 0x41, 0x44,
5361	0x49, 0x45, 0x4e, 0x54, 0x5f, 0x44, 0x45, 0x53, 0x43, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x13,
5362	0x0a, 0x0f, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x54, 0x49, 0x4f,
5363	0x4e, 0x10, 0x02, 0x22, 0x49, 0x0a, 0x0c, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x54,
5364	0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x46, 0x45, 0x45, 0x44, 0x42, 0x41, 0x43, 0x4b, 0x5f,
5365	0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44,
5366	0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4d, 0x50, 0x4c, 0x49, 0x43, 0x49, 0x54, 0x10, 0x01,
5367	0x12, 0x0c, 0x0a, 0x08, 0x45, 0x58, 0x50, 0x4c, 0x49, 0x43, 0x49, 0x54, 0x10, 0x02, 0x22, 0x79,
5368	0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
5369	0x74, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18,
5370	0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a,
5371	0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74,
5372	0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09,
5373	0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x08, 0x6d, 0x6f, 0x64,
5374	0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02,
5375	0x52, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x22, 0xb7, 0x01, 0x0a, 0x11, 0x50, 0x61,
5376	0x74, 0x63, 0x68, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
5377	0x22, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
5378	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
5379	0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x69,
5380	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x64, 0x61,
5381	0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x08, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
5382	0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07,
5383	0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
5384	0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
5385	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76,
5386	0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x6d, 0x6f,
5387	0x64, 0x65, 0x6c, 0x22, 0x7c, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64,
5388	0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x72, 0x6f,
5389	0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
5390	0x41, 0x02, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a,
5391	0x0a, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
5392	0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49,
5393	0x64, 0x12, 0x1e, 0x0a, 0x08, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20,
5394	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x49,
5395	0x64, 0x22, 0xb9, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73,
5396	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65,
5397	0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02,
5398	0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x64,
5399	0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42,
5400	0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12,
5401	0x3d, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x03,
5402	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
5403	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c,
5404	0x75, 0x65, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x1d,
5405	0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01,
5406	0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x75, 0x0a,
5407	0x12, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
5408	0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20,
5409	0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
5410	0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4d,
5411	0x6f, 0x64, 0x65, 0x6c, 0x52, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x26, 0x0a, 0x0f,
5412	0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
5413	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54,
5414	0x6f, 0x6b, 0x65, 0x6e, 0x32, 0xd7, 0x08, 0x0a, 0x0c, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x65,
5415	0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xd1, 0x01, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64,
5416	0x65, 0x6c, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
5417	0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65,
5418	0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e,
5419	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67,
5420	0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x22, 0x79,
5421	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x12, 0x50, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72,
5422	0x79, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70,
5423	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x3d, 0x2a, 0x7d, 0x2f, 0x64, 0x61, 0x74,
5424	0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x69,
5425	0x64, 0x3d, 0x2a, 0x7d, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x7b, 0x6d, 0x6f, 0x64,
5426	0x65, 0x6c, 0x5f, 0x69, 0x64, 0x3d, 0x2a, 0x7d, 0xda, 0x41, 0x1e, 0x70, 0x72, 0x6f, 0x6a, 0x65,
5427	0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64,
5428	0x2c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x12, 0xd8, 0x01, 0x0a, 0x0a, 0x4c, 0x69,
5429	0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
5430	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79,
5431	0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x52, 0x65,
5432	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
5433	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32,
5434	0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
5435	0x6e, 0x73, 0x65, 0x22, 0x6f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x12, 0x43, 0x2f, 0x62, 0x69,
5436	0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
5437	0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x3d, 0x2a,
5438	0x7d, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61,
5439	0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x3d, 0x2a, 0x7d, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73,
5440	0xda, 0x41, 0x21, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x64, 0x61,
5441	0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73,
5442	0x75, 0x6c, 0x74, 0x73, 0x12, 0xe3, 0x01, 0x0a, 0x0a, 0x50, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x6f,
5443	0x64, 0x65, 0x6c, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
5444	0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x50,
5445	0x61, 0x74, 0x63, 0x68, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
5446	0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
5447	0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x6f, 0x64, 0x65,
5448	0x6c, 0x22, 0x86, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x59, 0x32, 0x50, 0x2f, 0x62, 0x69, 0x67,
5449	0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
5450	0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x3d, 0x2a, 0x7d,
5451	0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x73,
5452	0x65, 0x74, 0x5f, 0x69, 0x64, 0x3d, 0x2a, 0x7d, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f,
5453	0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x3d, 0x2a, 0x7d, 0x3a, 0x05, 0x6d, 0x6f,
5454	0x64, 0x65, 0x6c, 0xda, 0x41, 0x24, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64,
5455	0x2c, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x6d, 0x6f, 0x64, 0x65,
5456	0x6c, 0x5f, 0x69, 0x64, 0x2c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0xce, 0x01, 0x0a, 0x0b, 0x44,
5457	0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f,
5458	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65,
5459	0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65,
5460	0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
5461	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79,
5462	0x22, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x2a, 0x50, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75,
5463	0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
5464	0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x3d, 0x2a, 0x7d, 0x2f, 0x64,
5465	0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74,
5466	0x5f, 0x69, 0x64, 0x3d, 0x2a, 0x7d, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x7b, 0x6d,
5467	0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x3d, 0x2a, 0x7d, 0xda, 0x41, 0x1e, 0x70, 0x72, 0x6f,
5468	0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f,
5469	0x69, 0x64, 0x2c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x1a, 0xe0, 0x01, 0xca, 0x41,
5470	0x17, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
5471	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0xc2, 0x01, 0x68, 0x74, 0x74, 0x70,
5472	0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
5473	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x62, 0x69, 0x67, 0x71,
5474	0x75, 0x65, 0x72, 0x79, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77,
5475	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
5476	0x61, 0x75, 0x74, 0x68, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x72, 0x65,
5477	0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77,
5478	0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
5479	0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61,
5480	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77,
5481	0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
5482	0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74,
5483	0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x2d, 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0x6c,
5484	0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
5485	0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x42, 0x0a,
5486	0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x5a, 0x40, 0x67, 0x6f, 0x6f, 0x67,
5487	0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65,
5488	0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
5489	0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79,
5490	0x2f, 0x76, 0x32, 0x3b, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x62, 0x06, 0x70, 0x72,
5491	0x6f, 0x74, 0x6f, 0x33,
5492}
5493
5494var (
5495	file_google_cloud_bigquery_v2_model_proto_rawDescOnce sync.Once
5496	file_google_cloud_bigquery_v2_model_proto_rawDescData = file_google_cloud_bigquery_v2_model_proto_rawDesc
5497)
5498
5499func file_google_cloud_bigquery_v2_model_proto_rawDescGZIP() []byte {
5500	file_google_cloud_bigquery_v2_model_proto_rawDescOnce.Do(func() {
5501		file_google_cloud_bigquery_v2_model_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_bigquery_v2_model_proto_rawDescData)
5502	})
5503	return file_google_cloud_bigquery_v2_model_proto_rawDescData
5504}
5505
5506var file_google_cloud_bigquery_v2_model_proto_enumTypes = make([]protoimpl.EnumInfo, 11)
5507var file_google_cloud_bigquery_v2_model_proto_msgTypes = make([]protoimpl.MessageInfo, 39)
5508var file_google_cloud_bigquery_v2_model_proto_goTypes = []interface{}{
5509	(Model_ModelType)(0),                                                  // 0: google.cloud.bigquery.v2.Model.ModelType
5510	(Model_LossType)(0),                                                   // 1: google.cloud.bigquery.v2.Model.LossType
5511	(Model_DistanceType)(0),                                               // 2: google.cloud.bigquery.v2.Model.DistanceType
5512	(Model_DataSplitMethod)(0),                                            // 3: google.cloud.bigquery.v2.Model.DataSplitMethod
5513	(Model_DataFrequency)(0),                                              // 4: google.cloud.bigquery.v2.Model.DataFrequency
5514	(Model_HolidayRegion)(0),                                              // 5: google.cloud.bigquery.v2.Model.HolidayRegion
5515	(Model_LearnRateStrategy)(0),                                          // 6: google.cloud.bigquery.v2.Model.LearnRateStrategy
5516	(Model_OptimizationStrategy)(0),                                       // 7: google.cloud.bigquery.v2.Model.OptimizationStrategy
5517	(Model_FeedbackType)(0),                                               // 8: google.cloud.bigquery.v2.Model.FeedbackType
5518	(Model_SeasonalPeriod_SeasonalPeriodType)(0),                          // 9: google.cloud.bigquery.v2.Model.SeasonalPeriod.SeasonalPeriodType
5519	(Model_KmeansEnums_KmeansInitializationMethod)(0),                     // 10: google.cloud.bigquery.v2.Model.KmeansEnums.KmeansInitializationMethod
5520	(*Model)(nil),                                                         // 11: google.cloud.bigquery.v2.Model
5521	(*GetModelRequest)(nil),                                               // 12: google.cloud.bigquery.v2.GetModelRequest
5522	(*PatchModelRequest)(nil),                                             // 13: google.cloud.bigquery.v2.PatchModelRequest
5523	(*DeleteModelRequest)(nil),                                            // 14: google.cloud.bigquery.v2.DeleteModelRequest
5524	(*ListModelsRequest)(nil),                                             // 15: google.cloud.bigquery.v2.ListModelsRequest
5525	(*ListModelsResponse)(nil),                                            // 16: google.cloud.bigquery.v2.ListModelsResponse
5526	(*Model_SeasonalPeriod)(nil),                                          // 17: google.cloud.bigquery.v2.Model.SeasonalPeriod
5527	(*Model_KmeansEnums)(nil),                                             // 18: google.cloud.bigquery.v2.Model.KmeansEnums
5528	(*Model_RegressionMetrics)(nil),                                       // 19: google.cloud.bigquery.v2.Model.RegressionMetrics
5529	(*Model_AggregateClassificationMetrics)(nil),                          // 20: google.cloud.bigquery.v2.Model.AggregateClassificationMetrics
5530	(*Model_BinaryClassificationMetrics)(nil),                             // 21: google.cloud.bigquery.v2.Model.BinaryClassificationMetrics
5531	(*Model_MultiClassClassificationMetrics)(nil),                         // 22: google.cloud.bigquery.v2.Model.MultiClassClassificationMetrics
5532	(*Model_ClusteringMetrics)(nil),                                       // 23: google.cloud.bigquery.v2.Model.ClusteringMetrics
5533	(*Model_RankingMetrics)(nil),                                          // 24: google.cloud.bigquery.v2.Model.RankingMetrics
5534	(*Model_ArimaForecastingMetrics)(nil),                                 // 25: google.cloud.bigquery.v2.Model.ArimaForecastingMetrics
5535	(*Model_EvaluationMetrics)(nil),                                       // 26: google.cloud.bigquery.v2.Model.EvaluationMetrics
5536	(*Model_DataSplitResult)(nil),                                         // 27: google.cloud.bigquery.v2.Model.DataSplitResult
5537	(*Model_ArimaOrder)(nil),                                              // 28: google.cloud.bigquery.v2.Model.ArimaOrder
5538	(*Model_ArimaFittingMetrics)(nil),                                     // 29: google.cloud.bigquery.v2.Model.ArimaFittingMetrics
5539	(*Model_GlobalExplanation)(nil),                                       // 30: google.cloud.bigquery.v2.Model.GlobalExplanation
5540	(*Model_TrainingRun)(nil),                                             // 31: google.cloud.bigquery.v2.Model.TrainingRun
5541	nil,                                                                   // 32: google.cloud.bigquery.v2.Model.LabelsEntry
5542	(*Model_BinaryClassificationMetrics_BinaryConfusionMatrix)(nil),       // 33: google.cloud.bigquery.v2.Model.BinaryClassificationMetrics.BinaryConfusionMatrix
5543	(*Model_MultiClassClassificationMetrics_ConfusionMatrix)(nil),         // 34: google.cloud.bigquery.v2.Model.MultiClassClassificationMetrics.ConfusionMatrix
5544	(*Model_MultiClassClassificationMetrics_ConfusionMatrix_Entry)(nil),   // 35: google.cloud.bigquery.v2.Model.MultiClassClassificationMetrics.ConfusionMatrix.Entry
5545	(*Model_MultiClassClassificationMetrics_ConfusionMatrix_Row)(nil),     // 36: google.cloud.bigquery.v2.Model.MultiClassClassificationMetrics.ConfusionMatrix.Row
5546	(*Model_ClusteringMetrics_Cluster)(nil),                               // 37: google.cloud.bigquery.v2.Model.ClusteringMetrics.Cluster
5547	(*Model_ClusteringMetrics_Cluster_FeatureValue)(nil),                  // 38: google.cloud.bigquery.v2.Model.ClusteringMetrics.Cluster.FeatureValue
5548	(*Model_ClusteringMetrics_Cluster_FeatureValue_CategoricalValue)(nil), // 39: google.cloud.bigquery.v2.Model.ClusteringMetrics.Cluster.FeatureValue.CategoricalValue
5549	(*Model_ClusteringMetrics_Cluster_FeatureValue_CategoricalValue_CategoryCount)(nil), // 40: google.cloud.bigquery.v2.Model.ClusteringMetrics.Cluster.FeatureValue.CategoricalValue.CategoryCount
5550	(*Model_ArimaForecastingMetrics_ArimaSingleModelForecastingMetrics)(nil),            // 41: google.cloud.bigquery.v2.Model.ArimaForecastingMetrics.ArimaSingleModelForecastingMetrics
5551	(*Model_GlobalExplanation_Explanation)(nil),                                         // 42: google.cloud.bigquery.v2.Model.GlobalExplanation.Explanation
5552	(*Model_TrainingRun_TrainingOptions)(nil),                                           // 43: google.cloud.bigquery.v2.Model.TrainingRun.TrainingOptions
5553	(*Model_TrainingRun_IterationResult)(nil),                                           // 44: google.cloud.bigquery.v2.Model.TrainingRun.IterationResult
5554	nil, // 45: google.cloud.bigquery.v2.Model.TrainingRun.TrainingOptions.LabelClassWeightsEntry
5555	(*Model_TrainingRun_IterationResult_ClusterInfo)(nil),                   // 46: google.cloud.bigquery.v2.Model.TrainingRun.IterationResult.ClusterInfo
5556	(*Model_TrainingRun_IterationResult_ArimaResult)(nil),                   // 47: google.cloud.bigquery.v2.Model.TrainingRun.IterationResult.ArimaResult
5557	(*Model_TrainingRun_IterationResult_ArimaResult_ArimaCoefficients)(nil), // 48: google.cloud.bigquery.v2.Model.TrainingRun.IterationResult.ArimaResult.ArimaCoefficients
5558	(*Model_TrainingRun_IterationResult_ArimaResult_ArimaModelInfo)(nil),    // 49: google.cloud.bigquery.v2.Model.TrainingRun.IterationResult.ArimaResult.ArimaModelInfo
5559	(*ModelReference)(nil),          // 50: google.cloud.bigquery.v2.ModelReference
5560	(*EncryptionConfiguration)(nil), // 51: google.cloud.bigquery.v2.EncryptionConfiguration
5561	(*StandardSqlField)(nil),        // 52: google.cloud.bigquery.v2.StandardSqlField
5562	(*wrapperspb.UInt32Value)(nil),  // 53: google.protobuf.UInt32Value
5563	(*wrapperspb.DoubleValue)(nil),  // 54: google.protobuf.DoubleValue
5564	(*TableReference)(nil),          // 55: google.cloud.bigquery.v2.TableReference
5565	(*timestamppb.Timestamp)(nil),   // 56: google.protobuf.Timestamp
5566	(*wrapperspb.Int64Value)(nil),   // 57: google.protobuf.Int64Value
5567	(*wrapperspb.BoolValue)(nil),    // 58: google.protobuf.BoolValue
5568	(*wrapperspb.Int32Value)(nil),   // 59: google.protobuf.Int32Value
5569	(*emptypb.Empty)(nil),           // 60: google.protobuf.Empty
5570}
5571var file_google_cloud_bigquery_v2_model_proto_depIdxs = []int32{
5572	50,  // 0: google.cloud.bigquery.v2.Model.model_reference:type_name -> google.cloud.bigquery.v2.ModelReference
5573	32,  // 1: google.cloud.bigquery.v2.Model.labels:type_name -> google.cloud.bigquery.v2.Model.LabelsEntry
5574	51,  // 2: google.cloud.bigquery.v2.Model.encryption_configuration:type_name -> google.cloud.bigquery.v2.EncryptionConfiguration
5575	0,   // 3: google.cloud.bigquery.v2.Model.model_type:type_name -> google.cloud.bigquery.v2.Model.ModelType
5576	31,  // 4: google.cloud.bigquery.v2.Model.training_runs:type_name -> google.cloud.bigquery.v2.Model.TrainingRun
5577	52,  // 5: google.cloud.bigquery.v2.Model.feature_columns:type_name -> google.cloud.bigquery.v2.StandardSqlField
5578	52,  // 6: google.cloud.bigquery.v2.Model.label_columns:type_name -> google.cloud.bigquery.v2.StandardSqlField
5579	11,  // 7: google.cloud.bigquery.v2.PatchModelRequest.model:type_name -> google.cloud.bigquery.v2.Model
5580	53,  // 8: google.cloud.bigquery.v2.ListModelsRequest.max_results:type_name -> google.protobuf.UInt32Value
5581	11,  // 9: google.cloud.bigquery.v2.ListModelsResponse.models:type_name -> google.cloud.bigquery.v2.Model
5582	54,  // 10: google.cloud.bigquery.v2.Model.RegressionMetrics.mean_absolute_error:type_name -> google.protobuf.DoubleValue
5583	54,  // 11: google.cloud.bigquery.v2.Model.RegressionMetrics.mean_squared_error:type_name -> google.protobuf.DoubleValue
5584	54,  // 12: google.cloud.bigquery.v2.Model.RegressionMetrics.mean_squared_log_error:type_name -> google.protobuf.DoubleValue
5585	54,  // 13: google.cloud.bigquery.v2.Model.RegressionMetrics.median_absolute_error:type_name -> google.protobuf.DoubleValue
5586	54,  // 14: google.cloud.bigquery.v2.Model.RegressionMetrics.r_squared:type_name -> google.protobuf.DoubleValue
5587	54,  // 15: google.cloud.bigquery.v2.Model.AggregateClassificationMetrics.precision:type_name -> google.protobuf.DoubleValue
5588	54,  // 16: google.cloud.bigquery.v2.Model.AggregateClassificationMetrics.recall:type_name -> google.protobuf.DoubleValue
5589	54,  // 17: google.cloud.bigquery.v2.Model.AggregateClassificationMetrics.accuracy:type_name -> google.protobuf.DoubleValue
5590	54,  // 18: google.cloud.bigquery.v2.Model.AggregateClassificationMetrics.threshold:type_name -> google.protobuf.DoubleValue
5591	54,  // 19: google.cloud.bigquery.v2.Model.AggregateClassificationMetrics.f1_score:type_name -> google.protobuf.DoubleValue
5592	54,  // 20: google.cloud.bigquery.v2.Model.AggregateClassificationMetrics.log_loss:type_name -> google.protobuf.DoubleValue
5593	54,  // 21: google.cloud.bigquery.v2.Model.AggregateClassificationMetrics.roc_auc:type_name -> google.protobuf.DoubleValue
5594	20,  // 22: google.cloud.bigquery.v2.Model.BinaryClassificationMetrics.aggregate_classification_metrics:type_name -> google.cloud.bigquery.v2.Model.AggregateClassificationMetrics
5595	33,  // 23: google.cloud.bigquery.v2.Model.BinaryClassificationMetrics.binary_confusion_matrix_list:type_name -> google.cloud.bigquery.v2.Model.BinaryClassificationMetrics.BinaryConfusionMatrix
5596	20,  // 24: google.cloud.bigquery.v2.Model.MultiClassClassificationMetrics.aggregate_classification_metrics:type_name -> google.cloud.bigquery.v2.Model.AggregateClassificationMetrics
5597	34,  // 25: google.cloud.bigquery.v2.Model.MultiClassClassificationMetrics.confusion_matrix_list:type_name -> google.cloud.bigquery.v2.Model.MultiClassClassificationMetrics.ConfusionMatrix
5598	54,  // 26: google.cloud.bigquery.v2.Model.ClusteringMetrics.davies_bouldin_index:type_name -> google.protobuf.DoubleValue
5599	54,  // 27: google.cloud.bigquery.v2.Model.ClusteringMetrics.mean_squared_distance:type_name -> google.protobuf.DoubleValue
5600	37,  // 28: google.cloud.bigquery.v2.Model.ClusteringMetrics.clusters:type_name -> google.cloud.bigquery.v2.Model.ClusteringMetrics.Cluster
5601	54,  // 29: google.cloud.bigquery.v2.Model.RankingMetrics.mean_average_precision:type_name -> google.protobuf.DoubleValue
5602	54,  // 30: google.cloud.bigquery.v2.Model.RankingMetrics.mean_squared_error:type_name -> google.protobuf.DoubleValue
5603	54,  // 31: google.cloud.bigquery.v2.Model.RankingMetrics.normalized_discounted_cumulative_gain:type_name -> google.protobuf.DoubleValue
5604	54,  // 32: google.cloud.bigquery.v2.Model.RankingMetrics.average_rank:type_name -> google.protobuf.DoubleValue
5605	28,  // 33: google.cloud.bigquery.v2.Model.ArimaForecastingMetrics.non_seasonal_order:type_name -> google.cloud.bigquery.v2.Model.ArimaOrder
5606	29,  // 34: google.cloud.bigquery.v2.Model.ArimaForecastingMetrics.arima_fitting_metrics:type_name -> google.cloud.bigquery.v2.Model.ArimaFittingMetrics
5607	9,   // 35: google.cloud.bigquery.v2.Model.ArimaForecastingMetrics.seasonal_periods:type_name -> google.cloud.bigquery.v2.Model.SeasonalPeriod.SeasonalPeriodType
5608	41,  // 36: google.cloud.bigquery.v2.Model.ArimaForecastingMetrics.arima_single_model_forecasting_metrics:type_name -> google.cloud.bigquery.v2.Model.ArimaForecastingMetrics.ArimaSingleModelForecastingMetrics
5609	19,  // 37: google.cloud.bigquery.v2.Model.EvaluationMetrics.regression_metrics:type_name -> google.cloud.bigquery.v2.Model.RegressionMetrics
5610	21,  // 38: google.cloud.bigquery.v2.Model.EvaluationMetrics.binary_classification_metrics:type_name -> google.cloud.bigquery.v2.Model.BinaryClassificationMetrics
5611	22,  // 39: google.cloud.bigquery.v2.Model.EvaluationMetrics.multi_class_classification_metrics:type_name -> google.cloud.bigquery.v2.Model.MultiClassClassificationMetrics
5612	23,  // 40: google.cloud.bigquery.v2.Model.EvaluationMetrics.clustering_metrics:type_name -> google.cloud.bigquery.v2.Model.ClusteringMetrics
5613	24,  // 41: google.cloud.bigquery.v2.Model.EvaluationMetrics.ranking_metrics:type_name -> google.cloud.bigquery.v2.Model.RankingMetrics
5614	25,  // 42: google.cloud.bigquery.v2.Model.EvaluationMetrics.arima_forecasting_metrics:type_name -> google.cloud.bigquery.v2.Model.ArimaForecastingMetrics
5615	55,  // 43: google.cloud.bigquery.v2.Model.DataSplitResult.training_table:type_name -> google.cloud.bigquery.v2.TableReference
5616	55,  // 44: google.cloud.bigquery.v2.Model.DataSplitResult.evaluation_table:type_name -> google.cloud.bigquery.v2.TableReference
5617	42,  // 45: google.cloud.bigquery.v2.Model.GlobalExplanation.explanations:type_name -> google.cloud.bigquery.v2.Model.GlobalExplanation.Explanation
5618	43,  // 46: google.cloud.bigquery.v2.Model.TrainingRun.training_options:type_name -> google.cloud.bigquery.v2.Model.TrainingRun.TrainingOptions
5619	56,  // 47: google.cloud.bigquery.v2.Model.TrainingRun.start_time:type_name -> google.protobuf.Timestamp
5620	44,  // 48: google.cloud.bigquery.v2.Model.TrainingRun.results:type_name -> google.cloud.bigquery.v2.Model.TrainingRun.IterationResult
5621	26,  // 49: google.cloud.bigquery.v2.Model.TrainingRun.evaluation_metrics:type_name -> google.cloud.bigquery.v2.Model.EvaluationMetrics
5622	27,  // 50: google.cloud.bigquery.v2.Model.TrainingRun.data_split_result:type_name -> google.cloud.bigquery.v2.Model.DataSplitResult
5623	30,  // 51: google.cloud.bigquery.v2.Model.TrainingRun.global_explanations:type_name -> google.cloud.bigquery.v2.Model.GlobalExplanation
5624	54,  // 52: google.cloud.bigquery.v2.Model.BinaryClassificationMetrics.BinaryConfusionMatrix.positive_class_threshold:type_name -> google.protobuf.DoubleValue
5625	57,  // 53: google.cloud.bigquery.v2.Model.BinaryClassificationMetrics.BinaryConfusionMatrix.true_positives:type_name -> google.protobuf.Int64Value
5626	57,  // 54: google.cloud.bigquery.v2.Model.BinaryClassificationMetrics.BinaryConfusionMatrix.false_positives:type_name -> google.protobuf.Int64Value
5627	57,  // 55: google.cloud.bigquery.v2.Model.BinaryClassificationMetrics.BinaryConfusionMatrix.true_negatives:type_name -> google.protobuf.Int64Value
5628	57,  // 56: google.cloud.bigquery.v2.Model.BinaryClassificationMetrics.BinaryConfusionMatrix.false_negatives:type_name -> google.protobuf.Int64Value
5629	54,  // 57: google.cloud.bigquery.v2.Model.BinaryClassificationMetrics.BinaryConfusionMatrix.precision:type_name -> google.protobuf.DoubleValue
5630	54,  // 58: google.cloud.bigquery.v2.Model.BinaryClassificationMetrics.BinaryConfusionMatrix.recall:type_name -> google.protobuf.DoubleValue
5631	54,  // 59: google.cloud.bigquery.v2.Model.BinaryClassificationMetrics.BinaryConfusionMatrix.f1_score:type_name -> google.protobuf.DoubleValue
5632	54,  // 60: google.cloud.bigquery.v2.Model.BinaryClassificationMetrics.BinaryConfusionMatrix.accuracy:type_name -> google.protobuf.DoubleValue
5633	54,  // 61: google.cloud.bigquery.v2.Model.MultiClassClassificationMetrics.ConfusionMatrix.confidence_threshold:type_name -> google.protobuf.DoubleValue
5634	36,  // 62: google.cloud.bigquery.v2.Model.MultiClassClassificationMetrics.ConfusionMatrix.rows:type_name -> google.cloud.bigquery.v2.Model.MultiClassClassificationMetrics.ConfusionMatrix.Row
5635	57,  // 63: google.cloud.bigquery.v2.Model.MultiClassClassificationMetrics.ConfusionMatrix.Entry.item_count:type_name -> google.protobuf.Int64Value
5636	35,  // 64: google.cloud.bigquery.v2.Model.MultiClassClassificationMetrics.ConfusionMatrix.Row.entries:type_name -> google.cloud.bigquery.v2.Model.MultiClassClassificationMetrics.ConfusionMatrix.Entry
5637	38,  // 65: google.cloud.bigquery.v2.Model.ClusteringMetrics.Cluster.feature_values:type_name -> google.cloud.bigquery.v2.Model.ClusteringMetrics.Cluster.FeatureValue
5638	57,  // 66: google.cloud.bigquery.v2.Model.ClusteringMetrics.Cluster.count:type_name -> google.protobuf.Int64Value
5639	54,  // 67: google.cloud.bigquery.v2.Model.ClusteringMetrics.Cluster.FeatureValue.numerical_value:type_name -> google.protobuf.DoubleValue
5640	39,  // 68: google.cloud.bigquery.v2.Model.ClusteringMetrics.Cluster.FeatureValue.categorical_value:type_name -> google.cloud.bigquery.v2.Model.ClusteringMetrics.Cluster.FeatureValue.CategoricalValue
5641	40,  // 69: google.cloud.bigquery.v2.Model.ClusteringMetrics.Cluster.FeatureValue.CategoricalValue.category_counts:type_name -> google.cloud.bigquery.v2.Model.ClusteringMetrics.Cluster.FeatureValue.CategoricalValue.CategoryCount
5642	57,  // 70: google.cloud.bigquery.v2.Model.ClusteringMetrics.Cluster.FeatureValue.CategoricalValue.CategoryCount.count:type_name -> google.protobuf.Int64Value
5643	28,  // 71: google.cloud.bigquery.v2.Model.ArimaForecastingMetrics.ArimaSingleModelForecastingMetrics.non_seasonal_order:type_name -> google.cloud.bigquery.v2.Model.ArimaOrder
5644	29,  // 72: google.cloud.bigquery.v2.Model.ArimaForecastingMetrics.ArimaSingleModelForecastingMetrics.arima_fitting_metrics:type_name -> google.cloud.bigquery.v2.Model.ArimaFittingMetrics
5645	9,   // 73: google.cloud.bigquery.v2.Model.ArimaForecastingMetrics.ArimaSingleModelForecastingMetrics.seasonal_periods:type_name -> google.cloud.bigquery.v2.Model.SeasonalPeriod.SeasonalPeriodType
5646	58,  // 74: google.cloud.bigquery.v2.Model.ArimaForecastingMetrics.ArimaSingleModelForecastingMetrics.has_holiday_effect:type_name -> google.protobuf.BoolValue
5647	58,  // 75: google.cloud.bigquery.v2.Model.ArimaForecastingMetrics.ArimaSingleModelForecastingMetrics.has_spikes_and_dips:type_name -> google.protobuf.BoolValue
5648	58,  // 76: google.cloud.bigquery.v2.Model.ArimaForecastingMetrics.ArimaSingleModelForecastingMetrics.has_step_changes:type_name -> google.protobuf.BoolValue
5649	54,  // 77: google.cloud.bigquery.v2.Model.GlobalExplanation.Explanation.attribution:type_name -> google.protobuf.DoubleValue
5650	1,   // 78: google.cloud.bigquery.v2.Model.TrainingRun.TrainingOptions.loss_type:type_name -> google.cloud.bigquery.v2.Model.LossType
5651	54,  // 79: google.cloud.bigquery.v2.Model.TrainingRun.TrainingOptions.l1_regularization:type_name -> google.protobuf.DoubleValue
5652	54,  // 80: google.cloud.bigquery.v2.Model.TrainingRun.TrainingOptions.l2_regularization:type_name -> google.protobuf.DoubleValue
5653	54,  // 81: google.cloud.bigquery.v2.Model.TrainingRun.TrainingOptions.min_relative_progress:type_name -> google.protobuf.DoubleValue
5654	58,  // 82: google.cloud.bigquery.v2.Model.TrainingRun.TrainingOptions.warm_start:type_name -> google.protobuf.BoolValue
5655	58,  // 83: google.cloud.bigquery.v2.Model.TrainingRun.TrainingOptions.early_stop:type_name -> google.protobuf.BoolValue
5656	3,   // 84: google.cloud.bigquery.v2.Model.TrainingRun.TrainingOptions.data_split_method:type_name -> google.cloud.bigquery.v2.Model.DataSplitMethod
5657	6,   // 85: google.cloud.bigquery.v2.Model.TrainingRun.TrainingOptions.learn_rate_strategy:type_name -> google.cloud.bigquery.v2.Model.LearnRateStrategy
5658	45,  // 86: google.cloud.bigquery.v2.Model.TrainingRun.TrainingOptions.label_class_weights:type_name -> google.cloud.bigquery.v2.Model.TrainingRun.TrainingOptions.LabelClassWeightsEntry
5659	2,   // 87: google.cloud.bigquery.v2.Model.TrainingRun.TrainingOptions.distance_type:type_name -> google.cloud.bigquery.v2.Model.DistanceType
5660	7,   // 88: google.cloud.bigquery.v2.Model.TrainingRun.TrainingOptions.optimization_strategy:type_name -> google.cloud.bigquery.v2.Model.OptimizationStrategy
5661	54,  // 89: google.cloud.bigquery.v2.Model.TrainingRun.TrainingOptions.dropout:type_name -> google.protobuf.DoubleValue
5662	54,  // 90: google.cloud.bigquery.v2.Model.TrainingRun.TrainingOptions.min_split_loss:type_name -> google.protobuf.DoubleValue
5663	8,   // 91: google.cloud.bigquery.v2.Model.TrainingRun.TrainingOptions.feedback_type:type_name -> google.cloud.bigquery.v2.Model.FeedbackType
5664	54,  // 92: google.cloud.bigquery.v2.Model.TrainingRun.TrainingOptions.wals_alpha:type_name -> google.protobuf.DoubleValue
5665	10,  // 93: google.cloud.bigquery.v2.Model.TrainingRun.TrainingOptions.kmeans_initialization_method:type_name -> google.cloud.bigquery.v2.Model.KmeansEnums.KmeansInitializationMethod
5666	28,  // 94: google.cloud.bigquery.v2.Model.TrainingRun.TrainingOptions.non_seasonal_order:type_name -> google.cloud.bigquery.v2.Model.ArimaOrder
5667	4,   // 95: google.cloud.bigquery.v2.Model.TrainingRun.TrainingOptions.data_frequency:type_name -> google.cloud.bigquery.v2.Model.DataFrequency
5668	5,   // 96: google.cloud.bigquery.v2.Model.TrainingRun.TrainingOptions.holiday_region:type_name -> google.cloud.bigquery.v2.Model.HolidayRegion
5669	58,  // 97: google.cloud.bigquery.v2.Model.TrainingRun.TrainingOptions.decompose_time_series:type_name -> google.protobuf.BoolValue
5670	58,  // 98: google.cloud.bigquery.v2.Model.TrainingRun.TrainingOptions.clean_spikes_and_dips:type_name -> google.protobuf.BoolValue
5671	58,  // 99: google.cloud.bigquery.v2.Model.TrainingRun.TrainingOptions.adjust_step_changes:type_name -> google.protobuf.BoolValue
5672	59,  // 100: google.cloud.bigquery.v2.Model.TrainingRun.IterationResult.index:type_name -> google.protobuf.Int32Value
5673	57,  // 101: google.cloud.bigquery.v2.Model.TrainingRun.IterationResult.duration_ms:type_name -> google.protobuf.Int64Value
5674	54,  // 102: google.cloud.bigquery.v2.Model.TrainingRun.IterationResult.training_loss:type_name -> google.protobuf.DoubleValue
5675	54,  // 103: google.cloud.bigquery.v2.Model.TrainingRun.IterationResult.eval_loss:type_name -> google.protobuf.DoubleValue
5676	46,  // 104: google.cloud.bigquery.v2.Model.TrainingRun.IterationResult.cluster_infos:type_name -> google.cloud.bigquery.v2.Model.TrainingRun.IterationResult.ClusterInfo
5677	47,  // 105: google.cloud.bigquery.v2.Model.TrainingRun.IterationResult.arima_result:type_name -> google.cloud.bigquery.v2.Model.TrainingRun.IterationResult.ArimaResult
5678	54,  // 106: google.cloud.bigquery.v2.Model.TrainingRun.IterationResult.ClusterInfo.cluster_radius:type_name -> google.protobuf.DoubleValue
5679	57,  // 107: google.cloud.bigquery.v2.Model.TrainingRun.IterationResult.ClusterInfo.cluster_size:type_name -> google.protobuf.Int64Value
5680	49,  // 108: google.cloud.bigquery.v2.Model.TrainingRun.IterationResult.ArimaResult.arima_model_info:type_name -> google.cloud.bigquery.v2.Model.TrainingRun.IterationResult.ArimaResult.ArimaModelInfo
5681	9,   // 109: google.cloud.bigquery.v2.Model.TrainingRun.IterationResult.ArimaResult.seasonal_periods:type_name -> google.cloud.bigquery.v2.Model.SeasonalPeriod.SeasonalPeriodType
5682	28,  // 110: google.cloud.bigquery.v2.Model.TrainingRun.IterationResult.ArimaResult.ArimaModelInfo.non_seasonal_order:type_name -> google.cloud.bigquery.v2.Model.ArimaOrder
5683	48,  // 111: google.cloud.bigquery.v2.Model.TrainingRun.IterationResult.ArimaResult.ArimaModelInfo.arima_coefficients:type_name -> google.cloud.bigquery.v2.Model.TrainingRun.IterationResult.ArimaResult.ArimaCoefficients
5684	29,  // 112: google.cloud.bigquery.v2.Model.TrainingRun.IterationResult.ArimaResult.ArimaModelInfo.arima_fitting_metrics:type_name -> google.cloud.bigquery.v2.Model.ArimaFittingMetrics
5685	9,   // 113: google.cloud.bigquery.v2.Model.TrainingRun.IterationResult.ArimaResult.ArimaModelInfo.seasonal_periods:type_name -> google.cloud.bigquery.v2.Model.SeasonalPeriod.SeasonalPeriodType
5686	58,  // 114: google.cloud.bigquery.v2.Model.TrainingRun.IterationResult.ArimaResult.ArimaModelInfo.has_holiday_effect:type_name -> google.protobuf.BoolValue
5687	58,  // 115: google.cloud.bigquery.v2.Model.TrainingRun.IterationResult.ArimaResult.ArimaModelInfo.has_spikes_and_dips:type_name -> google.protobuf.BoolValue
5688	58,  // 116: google.cloud.bigquery.v2.Model.TrainingRun.IterationResult.ArimaResult.ArimaModelInfo.has_step_changes:type_name -> google.protobuf.BoolValue
5689	12,  // 117: google.cloud.bigquery.v2.ModelService.GetModel:input_type -> google.cloud.bigquery.v2.GetModelRequest
5690	15,  // 118: google.cloud.bigquery.v2.ModelService.ListModels:input_type -> google.cloud.bigquery.v2.ListModelsRequest
5691	13,  // 119: google.cloud.bigquery.v2.ModelService.PatchModel:input_type -> google.cloud.bigquery.v2.PatchModelRequest
5692	14,  // 120: google.cloud.bigquery.v2.ModelService.DeleteModel:input_type -> google.cloud.bigquery.v2.DeleteModelRequest
5693	11,  // 121: google.cloud.bigquery.v2.ModelService.GetModel:output_type -> google.cloud.bigquery.v2.Model
5694	16,  // 122: google.cloud.bigquery.v2.ModelService.ListModels:output_type -> google.cloud.bigquery.v2.ListModelsResponse
5695	11,  // 123: google.cloud.bigquery.v2.ModelService.PatchModel:output_type -> google.cloud.bigquery.v2.Model
5696	60,  // 124: google.cloud.bigquery.v2.ModelService.DeleteModel:output_type -> google.protobuf.Empty
5697	121, // [121:125] is the sub-list for method output_type
5698	117, // [117:121] is the sub-list for method input_type
5699	117, // [117:117] is the sub-list for extension type_name
5700	117, // [117:117] is the sub-list for extension extendee
5701	0,   // [0:117] is the sub-list for field type_name
5702}
5703
5704func init() { file_google_cloud_bigquery_v2_model_proto_init() }
5705func file_google_cloud_bigquery_v2_model_proto_init() {
5706	if File_google_cloud_bigquery_v2_model_proto != nil {
5707		return
5708	}
5709	file_google_cloud_bigquery_v2_encryption_config_proto_init()
5710	file_google_cloud_bigquery_v2_model_reference_proto_init()
5711	file_google_cloud_bigquery_v2_standard_sql_proto_init()
5712	file_google_cloud_bigquery_v2_table_reference_proto_init()
5713	if !protoimpl.UnsafeEnabled {
5714		file_google_cloud_bigquery_v2_model_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
5715			switch v := v.(*Model); i {
5716			case 0:
5717				return &v.state
5718			case 1:
5719				return &v.sizeCache
5720			case 2:
5721				return &v.unknownFields
5722			default:
5723				return nil
5724			}
5725		}
5726		file_google_cloud_bigquery_v2_model_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
5727			switch v := v.(*GetModelRequest); i {
5728			case 0:
5729				return &v.state
5730			case 1:
5731				return &v.sizeCache
5732			case 2:
5733				return &v.unknownFields
5734			default:
5735				return nil
5736			}
5737		}
5738		file_google_cloud_bigquery_v2_model_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
5739			switch v := v.(*PatchModelRequest); i {
5740			case 0:
5741				return &v.state
5742			case 1:
5743				return &v.sizeCache
5744			case 2:
5745				return &v.unknownFields
5746			default:
5747				return nil
5748			}
5749		}
5750		file_google_cloud_bigquery_v2_model_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
5751			switch v := v.(*DeleteModelRequest); i {
5752			case 0:
5753				return &v.state
5754			case 1:
5755				return &v.sizeCache
5756			case 2:
5757				return &v.unknownFields
5758			default:
5759				return nil
5760			}
5761		}
5762		file_google_cloud_bigquery_v2_model_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
5763			switch v := v.(*ListModelsRequest); i {
5764			case 0:
5765				return &v.state
5766			case 1:
5767				return &v.sizeCache
5768			case 2:
5769				return &v.unknownFields
5770			default:
5771				return nil
5772			}
5773		}
5774		file_google_cloud_bigquery_v2_model_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
5775			switch v := v.(*ListModelsResponse); i {
5776			case 0:
5777				return &v.state
5778			case 1:
5779				return &v.sizeCache
5780			case 2:
5781				return &v.unknownFields
5782			default:
5783				return nil
5784			}
5785		}
5786		file_google_cloud_bigquery_v2_model_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
5787			switch v := v.(*Model_SeasonalPeriod); i {
5788			case 0:
5789				return &v.state
5790			case 1:
5791				return &v.sizeCache
5792			case 2:
5793				return &v.unknownFields
5794			default:
5795				return nil
5796			}
5797		}
5798		file_google_cloud_bigquery_v2_model_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
5799			switch v := v.(*Model_KmeansEnums); i {
5800			case 0:
5801				return &v.state
5802			case 1:
5803				return &v.sizeCache
5804			case 2:
5805				return &v.unknownFields
5806			default:
5807				return nil
5808			}
5809		}
5810		file_google_cloud_bigquery_v2_model_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
5811			switch v := v.(*Model_RegressionMetrics); i {
5812			case 0:
5813				return &v.state
5814			case 1:
5815				return &v.sizeCache
5816			case 2:
5817				return &v.unknownFields
5818			default:
5819				return nil
5820			}
5821		}
5822		file_google_cloud_bigquery_v2_model_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
5823			switch v := v.(*Model_AggregateClassificationMetrics); i {
5824			case 0:
5825				return &v.state
5826			case 1:
5827				return &v.sizeCache
5828			case 2:
5829				return &v.unknownFields
5830			default:
5831				return nil
5832			}
5833		}
5834		file_google_cloud_bigquery_v2_model_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
5835			switch v := v.(*Model_BinaryClassificationMetrics); i {
5836			case 0:
5837				return &v.state
5838			case 1:
5839				return &v.sizeCache
5840			case 2:
5841				return &v.unknownFields
5842			default:
5843				return nil
5844			}
5845		}
5846		file_google_cloud_bigquery_v2_model_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
5847			switch v := v.(*Model_MultiClassClassificationMetrics); i {
5848			case 0:
5849				return &v.state
5850			case 1:
5851				return &v.sizeCache
5852			case 2:
5853				return &v.unknownFields
5854			default:
5855				return nil
5856			}
5857		}
5858		file_google_cloud_bigquery_v2_model_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
5859			switch v := v.(*Model_ClusteringMetrics); i {
5860			case 0:
5861				return &v.state
5862			case 1:
5863				return &v.sizeCache
5864			case 2:
5865				return &v.unknownFields
5866			default:
5867				return nil
5868			}
5869		}
5870		file_google_cloud_bigquery_v2_model_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
5871			switch v := v.(*Model_RankingMetrics); i {
5872			case 0:
5873				return &v.state
5874			case 1:
5875				return &v.sizeCache
5876			case 2:
5877				return &v.unknownFields
5878			default:
5879				return nil
5880			}
5881		}
5882		file_google_cloud_bigquery_v2_model_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
5883			switch v := v.(*Model_ArimaForecastingMetrics); i {
5884			case 0:
5885				return &v.state
5886			case 1:
5887				return &v.sizeCache
5888			case 2:
5889				return &v.unknownFields
5890			default:
5891				return nil
5892			}
5893		}
5894		file_google_cloud_bigquery_v2_model_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
5895			switch v := v.(*Model_EvaluationMetrics); i {
5896			case 0:
5897				return &v.state
5898			case 1:
5899				return &v.sizeCache
5900			case 2:
5901				return &v.unknownFields
5902			default:
5903				return nil
5904			}
5905		}
5906		file_google_cloud_bigquery_v2_model_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
5907			switch v := v.(*Model_DataSplitResult); i {
5908			case 0:
5909				return &v.state
5910			case 1:
5911				return &v.sizeCache
5912			case 2:
5913				return &v.unknownFields
5914			default:
5915				return nil
5916			}
5917		}
5918		file_google_cloud_bigquery_v2_model_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
5919			switch v := v.(*Model_ArimaOrder); i {
5920			case 0:
5921				return &v.state
5922			case 1:
5923				return &v.sizeCache
5924			case 2:
5925				return &v.unknownFields
5926			default:
5927				return nil
5928			}
5929		}
5930		file_google_cloud_bigquery_v2_model_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
5931			switch v := v.(*Model_ArimaFittingMetrics); i {
5932			case 0:
5933				return &v.state
5934			case 1:
5935				return &v.sizeCache
5936			case 2:
5937				return &v.unknownFields
5938			default:
5939				return nil
5940			}
5941		}
5942		file_google_cloud_bigquery_v2_model_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
5943			switch v := v.(*Model_GlobalExplanation); i {
5944			case 0:
5945				return &v.state
5946			case 1:
5947				return &v.sizeCache
5948			case 2:
5949				return &v.unknownFields
5950			default:
5951				return nil
5952			}
5953		}
5954		file_google_cloud_bigquery_v2_model_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
5955			switch v := v.(*Model_TrainingRun); i {
5956			case 0:
5957				return &v.state
5958			case 1:
5959				return &v.sizeCache
5960			case 2:
5961				return &v.unknownFields
5962			default:
5963				return nil
5964			}
5965		}
5966		file_google_cloud_bigquery_v2_model_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
5967			switch v := v.(*Model_BinaryClassificationMetrics_BinaryConfusionMatrix); i {
5968			case 0:
5969				return &v.state
5970			case 1:
5971				return &v.sizeCache
5972			case 2:
5973				return &v.unknownFields
5974			default:
5975				return nil
5976			}
5977		}
5978		file_google_cloud_bigquery_v2_model_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
5979			switch v := v.(*Model_MultiClassClassificationMetrics_ConfusionMatrix); i {
5980			case 0:
5981				return &v.state
5982			case 1:
5983				return &v.sizeCache
5984			case 2:
5985				return &v.unknownFields
5986			default:
5987				return nil
5988			}
5989		}
5990		file_google_cloud_bigquery_v2_model_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
5991			switch v := v.(*Model_MultiClassClassificationMetrics_ConfusionMatrix_Entry); i {
5992			case 0:
5993				return &v.state
5994			case 1:
5995				return &v.sizeCache
5996			case 2:
5997				return &v.unknownFields
5998			default:
5999				return nil
6000			}
6001		}
6002		file_google_cloud_bigquery_v2_model_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
6003			switch v := v.(*Model_MultiClassClassificationMetrics_ConfusionMatrix_Row); i {
6004			case 0:
6005				return &v.state
6006			case 1:
6007				return &v.sizeCache
6008			case 2:
6009				return &v.unknownFields
6010			default:
6011				return nil
6012			}
6013		}
6014		file_google_cloud_bigquery_v2_model_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
6015			switch v := v.(*Model_ClusteringMetrics_Cluster); i {
6016			case 0:
6017				return &v.state
6018			case 1:
6019				return &v.sizeCache
6020			case 2:
6021				return &v.unknownFields
6022			default:
6023				return nil
6024			}
6025		}
6026		file_google_cloud_bigquery_v2_model_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
6027			switch v := v.(*Model_ClusteringMetrics_Cluster_FeatureValue); i {
6028			case 0:
6029				return &v.state
6030			case 1:
6031				return &v.sizeCache
6032			case 2:
6033				return &v.unknownFields
6034			default:
6035				return nil
6036			}
6037		}
6038		file_google_cloud_bigquery_v2_model_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
6039			switch v := v.(*Model_ClusteringMetrics_Cluster_FeatureValue_CategoricalValue); i {
6040			case 0:
6041				return &v.state
6042			case 1:
6043				return &v.sizeCache
6044			case 2:
6045				return &v.unknownFields
6046			default:
6047				return nil
6048			}
6049		}
6050		file_google_cloud_bigquery_v2_model_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
6051			switch v := v.(*Model_ClusteringMetrics_Cluster_FeatureValue_CategoricalValue_CategoryCount); i {
6052			case 0:
6053				return &v.state
6054			case 1:
6055				return &v.sizeCache
6056			case 2:
6057				return &v.unknownFields
6058			default:
6059				return nil
6060			}
6061		}
6062		file_google_cloud_bigquery_v2_model_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
6063			switch v := v.(*Model_ArimaForecastingMetrics_ArimaSingleModelForecastingMetrics); i {
6064			case 0:
6065				return &v.state
6066			case 1:
6067				return &v.sizeCache
6068			case 2:
6069				return &v.unknownFields
6070			default:
6071				return nil
6072			}
6073		}
6074		file_google_cloud_bigquery_v2_model_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
6075			switch v := v.(*Model_GlobalExplanation_Explanation); i {
6076			case 0:
6077				return &v.state
6078			case 1:
6079				return &v.sizeCache
6080			case 2:
6081				return &v.unknownFields
6082			default:
6083				return nil
6084			}
6085		}
6086		file_google_cloud_bigquery_v2_model_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
6087			switch v := v.(*Model_TrainingRun_TrainingOptions); i {
6088			case 0:
6089				return &v.state
6090			case 1:
6091				return &v.sizeCache
6092			case 2:
6093				return &v.unknownFields
6094			default:
6095				return nil
6096			}
6097		}
6098		file_google_cloud_bigquery_v2_model_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
6099			switch v := v.(*Model_TrainingRun_IterationResult); i {
6100			case 0:
6101				return &v.state
6102			case 1:
6103				return &v.sizeCache
6104			case 2:
6105				return &v.unknownFields
6106			default:
6107				return nil
6108			}
6109		}
6110		file_google_cloud_bigquery_v2_model_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
6111			switch v := v.(*Model_TrainingRun_IterationResult_ClusterInfo); i {
6112			case 0:
6113				return &v.state
6114			case 1:
6115				return &v.sizeCache
6116			case 2:
6117				return &v.unknownFields
6118			default:
6119				return nil
6120			}
6121		}
6122		file_google_cloud_bigquery_v2_model_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
6123			switch v := v.(*Model_TrainingRun_IterationResult_ArimaResult); i {
6124			case 0:
6125				return &v.state
6126			case 1:
6127				return &v.sizeCache
6128			case 2:
6129				return &v.unknownFields
6130			default:
6131				return nil
6132			}
6133		}
6134		file_google_cloud_bigquery_v2_model_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
6135			switch v := v.(*Model_TrainingRun_IterationResult_ArimaResult_ArimaCoefficients); i {
6136			case 0:
6137				return &v.state
6138			case 1:
6139				return &v.sizeCache
6140			case 2:
6141				return &v.unknownFields
6142			default:
6143				return nil
6144			}
6145		}
6146		file_google_cloud_bigquery_v2_model_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
6147			switch v := v.(*Model_TrainingRun_IterationResult_ArimaResult_ArimaModelInfo); i {
6148			case 0:
6149				return &v.state
6150			case 1:
6151				return &v.sizeCache
6152			case 2:
6153				return &v.unknownFields
6154			default:
6155				return nil
6156			}
6157		}
6158	}
6159	file_google_cloud_bigquery_v2_model_proto_msgTypes[15].OneofWrappers = []interface{}{
6160		(*Model_EvaluationMetrics_RegressionMetrics)(nil),
6161		(*Model_EvaluationMetrics_BinaryClassificationMetrics)(nil),
6162		(*Model_EvaluationMetrics_MultiClassClassificationMetrics)(nil),
6163		(*Model_EvaluationMetrics_ClusteringMetrics)(nil),
6164		(*Model_EvaluationMetrics_RankingMetrics)(nil),
6165		(*Model_EvaluationMetrics_ArimaForecastingMetrics)(nil),
6166	}
6167	file_google_cloud_bigquery_v2_model_proto_msgTypes[27].OneofWrappers = []interface{}{
6168		(*Model_ClusteringMetrics_Cluster_FeatureValue_NumericalValue)(nil),
6169		(*Model_ClusteringMetrics_Cluster_FeatureValue_CategoricalValue_)(nil),
6170	}
6171	type x struct{}
6172	out := protoimpl.TypeBuilder{
6173		File: protoimpl.DescBuilder{
6174			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
6175			RawDescriptor: file_google_cloud_bigquery_v2_model_proto_rawDesc,
6176			NumEnums:      11,
6177			NumMessages:   39,
6178			NumExtensions: 0,
6179			NumServices:   1,
6180		},
6181		GoTypes:           file_google_cloud_bigquery_v2_model_proto_goTypes,
6182		DependencyIndexes: file_google_cloud_bigquery_v2_model_proto_depIdxs,
6183		EnumInfos:         file_google_cloud_bigquery_v2_model_proto_enumTypes,
6184		MessageInfos:      file_google_cloud_bigquery_v2_model_proto_msgTypes,
6185	}.Build()
6186	File_google_cloud_bigquery_v2_model_proto = out.File
6187	file_google_cloud_bigquery_v2_model_proto_rawDesc = nil
6188	file_google_cloud_bigquery_v2_model_proto_goTypes = nil
6189	file_google_cloud_bigquery_v2_model_proto_depIdxs = nil
6190}
6191
6192// Reference imports to suppress errors if they are not otherwise used.
6193var _ context.Context
6194var _ grpc.ClientConnInterface
6195
6196// This is a compile-time assertion to ensure that this generated file
6197// is compatible with the grpc package it is being compiled against.
6198const _ = grpc.SupportPackageIsVersion6
6199
6200// ModelServiceClient is the client API for ModelService service.
6201//
6202// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
6203type ModelServiceClient interface {
6204	// Gets the specified model resource by model ID.
6205	GetModel(ctx context.Context, in *GetModelRequest, opts ...grpc.CallOption) (*Model, error)
6206	// Lists all models in the specified dataset. Requires the READER dataset
6207	// role. After retrieving the list of models, you can get information about a
6208	// particular model by calling the models.get method.
6209	ListModels(ctx context.Context, in *ListModelsRequest, opts ...grpc.CallOption) (*ListModelsResponse, error)
6210	// Patch specific fields in the specified model.
6211	PatchModel(ctx context.Context, in *PatchModelRequest, opts ...grpc.CallOption) (*Model, error)
6212	// Deletes the model specified by modelId from the dataset.
6213	DeleteModel(ctx context.Context, in *DeleteModelRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
6214}
6215
6216type modelServiceClient struct {
6217	cc grpc.ClientConnInterface
6218}
6219
6220func NewModelServiceClient(cc grpc.ClientConnInterface) ModelServiceClient {
6221	return &modelServiceClient{cc}
6222}
6223
6224func (c *modelServiceClient) GetModel(ctx context.Context, in *GetModelRequest, opts ...grpc.CallOption) (*Model, error) {
6225	out := new(Model)
6226	err := c.cc.Invoke(ctx, "/google.cloud.bigquery.v2.ModelService/GetModel", in, out, opts...)
6227	if err != nil {
6228		return nil, err
6229	}
6230	return out, nil
6231}
6232
6233func (c *modelServiceClient) ListModels(ctx context.Context, in *ListModelsRequest, opts ...grpc.CallOption) (*ListModelsResponse, error) {
6234	out := new(ListModelsResponse)
6235	err := c.cc.Invoke(ctx, "/google.cloud.bigquery.v2.ModelService/ListModels", in, out, opts...)
6236	if err != nil {
6237		return nil, err
6238	}
6239	return out, nil
6240}
6241
6242func (c *modelServiceClient) PatchModel(ctx context.Context, in *PatchModelRequest, opts ...grpc.CallOption) (*Model, error) {
6243	out := new(Model)
6244	err := c.cc.Invoke(ctx, "/google.cloud.bigquery.v2.ModelService/PatchModel", in, out, opts...)
6245	if err != nil {
6246		return nil, err
6247	}
6248	return out, nil
6249}
6250
6251func (c *modelServiceClient) DeleteModel(ctx context.Context, in *DeleteModelRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
6252	out := new(emptypb.Empty)
6253	err := c.cc.Invoke(ctx, "/google.cloud.bigquery.v2.ModelService/DeleteModel", in, out, opts...)
6254	if err != nil {
6255		return nil, err
6256	}
6257	return out, nil
6258}
6259
6260// ModelServiceServer is the server API for ModelService service.
6261type ModelServiceServer interface {
6262	// Gets the specified model resource by model ID.
6263	GetModel(context.Context, *GetModelRequest) (*Model, error)
6264	// Lists all models in the specified dataset. Requires the READER dataset
6265	// role. After retrieving the list of models, you can get information about a
6266	// particular model by calling the models.get method.
6267	ListModels(context.Context, *ListModelsRequest) (*ListModelsResponse, error)
6268	// Patch specific fields in the specified model.
6269	PatchModel(context.Context, *PatchModelRequest) (*Model, error)
6270	// Deletes the model specified by modelId from the dataset.
6271	DeleteModel(context.Context, *DeleteModelRequest) (*emptypb.Empty, error)
6272}
6273
6274// UnimplementedModelServiceServer can be embedded to have forward compatible implementations.
6275type UnimplementedModelServiceServer struct {
6276}
6277
6278func (*UnimplementedModelServiceServer) GetModel(context.Context, *GetModelRequest) (*Model, error) {
6279	return nil, status.Errorf(codes.Unimplemented, "method GetModel not implemented")
6280}
6281func (*UnimplementedModelServiceServer) ListModels(context.Context, *ListModelsRequest) (*ListModelsResponse, error) {
6282	return nil, status.Errorf(codes.Unimplemented, "method ListModels not implemented")
6283}
6284func (*UnimplementedModelServiceServer) PatchModel(context.Context, *PatchModelRequest) (*Model, error) {
6285	return nil, status.Errorf(codes.Unimplemented, "method PatchModel not implemented")
6286}
6287func (*UnimplementedModelServiceServer) DeleteModel(context.Context, *DeleteModelRequest) (*emptypb.Empty, error) {
6288	return nil, status.Errorf(codes.Unimplemented, "method DeleteModel not implemented")
6289}
6290
6291func RegisterModelServiceServer(s *grpc.Server, srv ModelServiceServer) {
6292	s.RegisterService(&_ModelService_serviceDesc, srv)
6293}
6294
6295func _ModelService_GetModel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
6296	in := new(GetModelRequest)
6297	if err := dec(in); err != nil {
6298		return nil, err
6299	}
6300	if interceptor == nil {
6301		return srv.(ModelServiceServer).GetModel(ctx, in)
6302	}
6303	info := &grpc.UnaryServerInfo{
6304		Server:     srv,
6305		FullMethod: "/google.cloud.bigquery.v2.ModelService/GetModel",
6306	}
6307	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
6308		return srv.(ModelServiceServer).GetModel(ctx, req.(*GetModelRequest))
6309	}
6310	return interceptor(ctx, in, info, handler)
6311}
6312
6313func _ModelService_ListModels_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
6314	in := new(ListModelsRequest)
6315	if err := dec(in); err != nil {
6316		return nil, err
6317	}
6318	if interceptor == nil {
6319		return srv.(ModelServiceServer).ListModels(ctx, in)
6320	}
6321	info := &grpc.UnaryServerInfo{
6322		Server:     srv,
6323		FullMethod: "/google.cloud.bigquery.v2.ModelService/ListModels",
6324	}
6325	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
6326		return srv.(ModelServiceServer).ListModels(ctx, req.(*ListModelsRequest))
6327	}
6328	return interceptor(ctx, in, info, handler)
6329}
6330
6331func _ModelService_PatchModel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
6332	in := new(PatchModelRequest)
6333	if err := dec(in); err != nil {
6334		return nil, err
6335	}
6336	if interceptor == nil {
6337		return srv.(ModelServiceServer).PatchModel(ctx, in)
6338	}
6339	info := &grpc.UnaryServerInfo{
6340		Server:     srv,
6341		FullMethod: "/google.cloud.bigquery.v2.ModelService/PatchModel",
6342	}
6343	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
6344		return srv.(ModelServiceServer).PatchModel(ctx, req.(*PatchModelRequest))
6345	}
6346	return interceptor(ctx, in, info, handler)
6347}
6348
6349func _ModelService_DeleteModel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
6350	in := new(DeleteModelRequest)
6351	if err := dec(in); err != nil {
6352		return nil, err
6353	}
6354	if interceptor == nil {
6355		return srv.(ModelServiceServer).DeleteModel(ctx, in)
6356	}
6357	info := &grpc.UnaryServerInfo{
6358		Server:     srv,
6359		FullMethod: "/google.cloud.bigquery.v2.ModelService/DeleteModel",
6360	}
6361	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
6362		return srv.(ModelServiceServer).DeleteModel(ctx, req.(*DeleteModelRequest))
6363	}
6364	return interceptor(ctx, in, info, handler)
6365}
6366
6367var _ModelService_serviceDesc = grpc.ServiceDesc{
6368	ServiceName: "google.cloud.bigquery.v2.ModelService",
6369	HandlerType: (*ModelServiceServer)(nil),
6370	Methods: []grpc.MethodDesc{
6371		{
6372			MethodName: "GetModel",
6373			Handler:    _ModelService_GetModel_Handler,
6374		},
6375		{
6376			MethodName: "ListModels",
6377			Handler:    _ModelService_ListModels_Handler,
6378		},
6379		{
6380			MethodName: "PatchModel",
6381			Handler:    _ModelService_PatchModel_Handler,
6382		},
6383		{
6384			MethodName: "DeleteModel",
6385			Handler:    _ModelService_DeleteModel_Handler,
6386		},
6387	},
6388	Streams:  []grpc.StreamDesc{},
6389	Metadata: "google/cloud/bigquery/v2/model.proto",
6390}
6391