1// Copyright 2020 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// Code generated by protoc-gen-go. DO NOT EDIT.
16// versions:
17// 	protoc-gen-go v1.22.0
18// 	protoc        v3.11.2
19// source: google/cloud/talent/v4beta1/profile.proto
20
21package talent
22
23import (
24	reflect "reflect"
25	sync "sync"
26
27	proto "github.com/golang/protobuf/proto"
28	_ "github.com/golang/protobuf/ptypes/duration"
29	timestamp "github.com/golang/protobuf/ptypes/timestamp"
30	wrappers "github.com/golang/protobuf/ptypes/wrappers"
31	_ "google.golang.org/genproto/googleapis/api/annotations"
32	date "google.golang.org/genproto/googleapis/type/date"
33	postaladdress "google.golang.org/genproto/googleapis/type/postaladdress"
34	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
35	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
36)
37
38const (
39	// Verify that this generated code is sufficiently up-to-date.
40	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
41	// Verify that runtime/protoimpl is sufficiently up-to-date.
42	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
43)
44
45// This is a compile-time assertion that a sufficiently up-to-date version
46// of the legacy proto package is being used.
47const _ = proto.ProtoPackageIsVersion4
48
49// The format of a structured resume.
50type Resume_ResumeType int32
51
52const (
53	// Default value.
54	Resume_RESUME_TYPE_UNSPECIFIED Resume_ResumeType = 0
55	// The profile contents in HR-XML format.
56	// See https://schemas.liquid-technologies.com/hr-xml/2007-04-15/ for more
57	// information about Human Resources XML.
58	Resume_HRXML Resume_ResumeType = 1
59	// Resume type not specified.
60	Resume_OTHER_RESUME_TYPE Resume_ResumeType = 2
61)
62
63// Enum value maps for Resume_ResumeType.
64var (
65	Resume_ResumeType_name = map[int32]string{
66		0: "RESUME_TYPE_UNSPECIFIED",
67		1: "HRXML",
68		2: "OTHER_RESUME_TYPE",
69	}
70	Resume_ResumeType_value = map[string]int32{
71		"RESUME_TYPE_UNSPECIFIED": 0,
72		"HRXML":                   1,
73		"OTHER_RESUME_TYPE":       2,
74	}
75)
76
77func (x Resume_ResumeType) Enum() *Resume_ResumeType {
78	p := new(Resume_ResumeType)
79	*p = x
80	return p
81}
82
83func (x Resume_ResumeType) String() string {
84	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
85}
86
87func (Resume_ResumeType) Descriptor() protoreflect.EnumDescriptor {
88	return file_google_cloud_talent_v4beta1_profile_proto_enumTypes[0].Descriptor()
89}
90
91func (Resume_ResumeType) Type() protoreflect.EnumType {
92	return &file_google_cloud_talent_v4beta1_profile_proto_enumTypes[0]
93}
94
95func (x Resume_ResumeType) Number() protoreflect.EnumNumber {
96	return protoreflect.EnumNumber(x)
97}
98
99// Deprecated: Use Resume_ResumeType.Descriptor instead.
100func (Resume_ResumeType) EnumDescriptor() ([]byte, []int) {
101	return file_google_cloud_talent_v4beta1_profile_proto_rawDescGZIP(), []int{2, 0}
102}
103
104// Enum that represents the type of the telephone.
105type Phone_PhoneType int32
106
107const (
108	// Default value.
109	Phone_PHONE_TYPE_UNSPECIFIED Phone_PhoneType = 0
110	// A landline.
111	Phone_LANDLINE Phone_PhoneType = 1
112	// A mobile.
113	Phone_MOBILE Phone_PhoneType = 2
114	// A fax.
115	Phone_FAX Phone_PhoneType = 3
116	// A pager.
117	Phone_PAGER Phone_PhoneType = 4
118	// A TTY (test telephone) or TDD (telecommunication device for the deaf).
119	Phone_TTY_OR_TDD Phone_PhoneType = 5
120	// A voicemail.
121	Phone_VOICEMAIL Phone_PhoneType = 6
122	// A virtual telephone number is a number that can be routed to another
123	// number and managed by the user via Web, SMS, IVR, and so on.  It is
124	// associated with a particular person, and may be routed to either a MOBILE
125	// or LANDLINE number. The [phone usage][google.cloud.talent.v4beta1.ContactInfoUsage] should
126	// be set to PERSONAL for these phone types. Some more information can be
127	// found here: https://en.wikipedia.org/wiki/Personal_Numbers
128	Phone_VIRTUAL Phone_PhoneType = 7
129	// Voice over IP numbers. This includes TSoIP (Telephony Service over IP).
130	Phone_VOIP Phone_PhoneType = 8
131	// In some regions (e.g. the USA), it is impossible to distinguish between
132	// fixed-line and mobile numbers by looking at the phone number itself.
133	Phone_MOBILE_OR_LANDLINE Phone_PhoneType = 9
134)
135
136// Enum value maps for Phone_PhoneType.
137var (
138	Phone_PhoneType_name = map[int32]string{
139		0: "PHONE_TYPE_UNSPECIFIED",
140		1: "LANDLINE",
141		2: "MOBILE",
142		3: "FAX",
143		4: "PAGER",
144		5: "TTY_OR_TDD",
145		6: "VOICEMAIL",
146		7: "VIRTUAL",
147		8: "VOIP",
148		9: "MOBILE_OR_LANDLINE",
149	}
150	Phone_PhoneType_value = map[string]int32{
151		"PHONE_TYPE_UNSPECIFIED": 0,
152		"LANDLINE":               1,
153		"MOBILE":                 2,
154		"FAX":                    3,
155		"PAGER":                  4,
156		"TTY_OR_TDD":             5,
157		"VOICEMAIL":              6,
158		"VIRTUAL":                7,
159		"VOIP":                   8,
160		"MOBILE_OR_LANDLINE":     9,
161	}
162)
163
164func (x Phone_PhoneType) Enum() *Phone_PhoneType {
165	p := new(Phone_PhoneType)
166	*p = x
167	return p
168}
169
170func (x Phone_PhoneType) String() string {
171	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
172}
173
174func (Phone_PhoneType) Descriptor() protoreflect.EnumDescriptor {
175	return file_google_cloud_talent_v4beta1_profile_proto_enumTypes[1].Descriptor()
176}
177
178func (Phone_PhoneType) Type() protoreflect.EnumType {
179	return &file_google_cloud_talent_v4beta1_profile_proto_enumTypes[1]
180}
181
182func (x Phone_PhoneType) Number() protoreflect.EnumNumber {
183	return protoreflect.EnumNumber(x)
184}
185
186// Deprecated: Use Phone_PhoneType.Descriptor instead.
187func (Phone_PhoneType) EnumDescriptor() ([]byte, []int) {
188	return file_google_cloud_talent_v4beta1_profile_proto_rawDescGZIP(), []int{6, 0}
189}
190
191// A resource that represents the profile for a job candidate (also referred to
192// as a "single-source profile").
193type Profile struct {
194	state         protoimpl.MessageState
195	sizeCache     protoimpl.SizeCache
196	unknownFields protoimpl.UnknownFields
197
198	// Required during profile update.
199	//
200	// Resource name assigned to a profile by the API.
201	//
202	// The format is
203	// "projects/{project_id}/tenants/{tenant_id}/profiles/{profile_id}",
204	// for example, "projects/foo/tenants/bar/profiles/baz".
205	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
206	// Profile's id in client system, if available. This value is unique for each
207	// profile inside a tenant. An error is thrown if another profile with the
208	// same external_id is created.
209	//
210	// The maximum number of bytes allowed is 100.
211	ExternalId string `protobuf:"bytes,2,opt,name=external_id,json=externalId,proto3" json:"external_id,omitempty"`
212	// The source description indicating where the profile is acquired.
213	//
214	// For example, if a candidate profile is acquired from a resume, the user can
215	// input "resume" here to indicate the source.
216	//
217	// The maximum number of bytes allowed is 100.
218	Source string `protobuf:"bytes,3,opt,name=source,proto3" json:"source,omitempty"`
219	// The URI set by clients that links to this profile's client-side copy.
220	//
221	// The maximum number of bytes allowed is 4000.
222	Uri string `protobuf:"bytes,4,opt,name=uri,proto3" json:"uri,omitempty"`
223	// The cluster id of the profile to associate with other profile(s) for the
224	// same candidate.
225	//
226	// This field should be generated by the customer. If a value is not provided,
227	// a random UUID is assigned to this field of the profile.
228	//
229	// This is used to link multiple profiles to the same candidate. For example,
230	// a client has a candidate with two profiles, where one was created recently
231	// and the other one was created 5 years ago. These two profiles may be very
232	// different. The clients can create the first profile and get a generated
233	// [group_id][google.cloud.talent.v4beta1.Profile.group_id], and assign it when the second profile is created,
234	// indicating these two profiles are referring to the same candidate.
235	GroupId string `protobuf:"bytes,5,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
236	// Indicates the hirable status of the candidate.
237	IsHirable *wrappers.BoolValue `protobuf:"bytes,6,opt,name=is_hirable,json=isHirable,proto3" json:"is_hirable,omitempty"`
238	// The timestamp when the profile was first created at this source.
239	CreateTime *timestamp.Timestamp `protobuf:"bytes,7,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
240	// The timestamp when the profile was last updated at this source.
241	UpdateTime *timestamp.Timestamp `protobuf:"bytes,8,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
242	// The timestamp when the profile was last updated as a result of a direct or
243	// indirect action by a candidate.
244	//
245	// These actions include:
246	//
247	// * Direct actions such as the candidate submitting a new resume as part of a
248	// job application to the agency, using a self-service tool such as a website
249	// to update their profile, and so on.
250	// * Indirect actions by the candidate such as uploading a resume to a job
251	// board that is collected by the agency through a feed, providing a resume to
252	// a recruiter who then uploads it into the ATS, and so on.
253	// * Updates made to the candidate's profile by the recruiter as a result of
254	// interacting with the candidate (for example adding a skill or work
255	// preference, and so on). Changes to [recruiting_notes][google.cloud.talent.v4beta1.Profile.recruiting_notes] are specifically
256	// excluded from this action type.
257	//
258	// Note: [candidate_update_time][google.cloud.talent.v4beta1.Profile.candidate_update_time] must be greater than or equal to
259	// [resume_update_time][google.cloud.talent.v4beta1.Profile.resume_update_time] or an error is thrown.
260	CandidateUpdateTime *timestamp.Timestamp `protobuf:"bytes,67,opt,name=candidate_update_time,json=candidateUpdateTime,proto3" json:"candidate_update_time,omitempty"`
261	// The timestamp when the candidate's resume was added or updated on the
262	// candidate's profile. Whether that resume was directly uploaded by a
263	// candidate, pulled from a 3rd party job board feed, added by a recruiter,
264	// and so on.
265	//
266	// If this field is updated, it's expected that [resume][google.cloud.talent.v4beta1.Profile.resume] is provided in
267	// the create or update calls.
268	ResumeUpdateTime *timestamp.Timestamp `protobuf:"bytes,68,opt,name=resume_update_time,json=resumeUpdateTime,proto3" json:"resume_update_time,omitempty"`
269	// The resume representing this profile.
270	Resume *Resume `protobuf:"bytes,53,opt,name=resume,proto3" json:"resume,omitempty"`
271	// The names of the candidate this profile references.
272	//
273	// Currently only one person name is supported.
274	PersonNames []*PersonName `protobuf:"bytes,11,rep,name=person_names,json=personNames,proto3" json:"person_names,omitempty"`
275	// The candidate's postal addresses. It's highly recommended to
276	// input this information as accurately as possible to help improve search
277	// quality. Here are some recommendations:
278	//
279	// * Provide [Address.usage][google.cloud.talent.v4beta1.Address.usage] if possible, especially if the address is
280	// PERSONAL. During a search only personal addresses are considered. If there
281	// is no such address, all addresses with unspecified usage are assumed to be
282	// personal.
283	// * Provide [Address.current][google.cloud.talent.v4beta1.Address.current] for the current address if possible. During
284	// a search, only current addresses are considered. If there is no such
285	// address, all addresses are assumed to be current.
286	//
287	// When displaying a candidate's addresses, it is sometimes desirable to limit
288	// the number of addresses shown. In these cases we recommend that you display
289	// the addresses in the following order of priority:
290	// 1. [Address.usage][google.cloud.talent.v4beta1.Address.usage] is PERSONAL and [Address.current][google.cloud.talent.v4beta1.Address.current] is true.
291	// 2. [Address.usage][google.cloud.talent.v4beta1.Address.usage] is PERSONAL and [Address.current][google.cloud.talent.v4beta1.Address.current] is false or not
292	// set.
293	// 3. [Address.usage][google.cloud.talent.v4beta1.Address.usage] is CONTACT_INFO_USAGE_UNSPECIFIED and
294	// [Address.current][google.cloud.talent.v4beta1.Address.current] is true.
295	// 4. [Address.usage][google.cloud.talent.v4beta1.Address.usage] is CONTACT_INFO_USAGE_UNSPECIFIED and
296	// [Address.current][google.cloud.talent.v4beta1.Address.current] is false or not set.
297	Addresses []*Address `protobuf:"bytes,12,rep,name=addresses,proto3" json:"addresses,omitempty"`
298	// The candidate's email addresses.
299	EmailAddresses []*Email `protobuf:"bytes,13,rep,name=email_addresses,json=emailAddresses,proto3" json:"email_addresses,omitempty"`
300	// The candidate's phone number(s).
301	PhoneNumbers []*Phone `protobuf:"bytes,14,rep,name=phone_numbers,json=phoneNumbers,proto3" json:"phone_numbers,omitempty"`
302	// The candidate's personal URIs.
303	PersonalUris []*PersonalUri `protobuf:"bytes,15,rep,name=personal_uris,json=personalUris,proto3" json:"personal_uris,omitempty"`
304	// Available contact information besides [addresses][google.cloud.talent.v4beta1.Profile.addresses], [email_addresses][google.cloud.talent.v4beta1.Profile.email_addresses],
305	// [phone_numbers][google.cloud.talent.v4beta1.Profile.phone_numbers] and [personal_uris][google.cloud.talent.v4beta1.Profile.personal_uris]. For example, Hang-out, Skype.
306	AdditionalContactInfo []*AdditionalContactInfo `protobuf:"bytes,16,rep,name=additional_contact_info,json=additionalContactInfo,proto3" json:"additional_contact_info,omitempty"`
307	// The employment history records of the candidate. It's highly recommended
308	// to input this information as accurately as possible to help improve search
309	// quality. Here are some recommendations:
310	//
311	// * Specify the start and end dates of the employment records.
312	// * List different employment types separately, no matter how minor the
313	// change is.
314	// For example, only job title is changed from "software engineer" to "senior
315	// software engineer".
316	// * Provide [EmploymentRecord.is_current][google.cloud.talent.v4beta1.EmploymentRecord.is_current] for the current employment if
317	// possible. If not, it's inferred from user inputs.
318	//
319	// The limitation for max number of employment records is 100.
320	EmploymentRecords []*EmploymentRecord `protobuf:"bytes,17,rep,name=employment_records,json=employmentRecords,proto3" json:"employment_records,omitempty"`
321	// The education history record of the candidate. It's highly recommended to
322	// input this information as accurately as possible to help improve search
323	// quality. Here are some recommendations:
324	//
325	// * Specify the start and end dates of the education records.
326	// * List each education type separately, no matter how minor the change is.
327	// For example, the profile contains the education experience from the same
328	// school but different degrees.
329	// * Provide [EducationRecord.is_current][google.cloud.talent.v4beta1.EducationRecord.is_current] for the current education if
330	// possible. If not, it's inferred from user inputs.
331	//
332	// The limitation for max number of education records is 100.
333	EducationRecords []*EducationRecord `protobuf:"bytes,18,rep,name=education_records,json=educationRecords,proto3" json:"education_records,omitempty"`
334	// The skill set of the candidate. It's highly recommended to provide as
335	// much information as possible to help improve the search quality.
336	//
337	// The limitation for max number of skills is 500.
338	Skills []*Skill `protobuf:"bytes,19,rep,name=skills,proto3" json:"skills,omitempty"`
339	// The individual or collaborative activities which the candidate has
340	// participated in, for example, open-source projects, class assignments that
341	// aren't listed in [employment_records][google.cloud.talent.v4beta1.Profile.employment_records].
342	//
343	// The limitation for max number of activities is 50.
344	Activities []*Activity `protobuf:"bytes,20,rep,name=activities,proto3" json:"activities,omitempty"`
345	// The publications published by the candidate.
346	//
347	// The limitation for max number of publications is 50.
348	Publications []*Publication `protobuf:"bytes,21,rep,name=publications,proto3" json:"publications,omitempty"`
349	// The patents acquired by the candidate.
350	Patents []*Patent `protobuf:"bytes,22,rep,name=patents,proto3" json:"patents,omitempty"`
351	// The certifications acquired by the candidate.
352	Certifications []*Certification `protobuf:"bytes,23,rep,name=certifications,proto3" json:"certifications,omitempty"`
353	// Output only. The resource names of the candidate's applications.
354	Applications []string `protobuf:"bytes,47,rep,name=applications,proto3" json:"applications,omitempty"`
355	// Output only. The resource names of the candidate's assignments.
356	Assignments []string `protobuf:"bytes,48,rep,name=assignments,proto3" json:"assignments,omitempty"`
357	// A map of fields to hold both filterable and non-filterable custom profile
358	// attributes that aren't covered by the provided structured fields. See
359	// [CustomAttribute][google.cloud.talent.v4beta1.CustomAttribute] for more details.
360	//
361	// At most 100 filterable and at most 100 unfilterable keys are supported. If
362	// limit is exceeded, an error is thrown. Custom attributes are `unfilterable`
363	// by default. These are filterable when the `filterable` flag is set to
364	// `true`.
365	//
366	// Numeric custom attributes: each key can only map to one numeric value,
367	// otherwise an error is thrown. Client can also filter on numeric custom
368	// attributes using '>', '<' or '=' operators.
369	//
370	// String custom attributes: each key can map up to 50 string values. For
371	// filterable string value, each value has a byte size of no more than 256B.
372	// For unfilterable string values, the maximum byte size of a single key is
373	// 64B. An error is thrown for any request exceeding the limit.
374	// The maximum total byte size is 10KB.
375	CustomAttributes map[string]*CustomAttribute `protobuf:"bytes,26,rep,name=custom_attributes,json=customAttributes,proto3" json:"custom_attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
376	// Output only. Indicates if a summarized profile was created as part of the
377	// profile creation API call. This flag does not indicate whether a profile is
378	// searchable or not.
379	Processed bool `protobuf:"varint,27,opt,name=processed,proto3" json:"processed,omitempty"`
380	// Output only. Keyword snippet shows how the search result is related to a
381	// search query.  This is only returned in [SearchProfilesResponse][google.cloud.talent.v4beta1.SearchProfilesResponse].
382	KeywordSnippet string `protobuf:"bytes,28,opt,name=keyword_snippet,json=keywordSnippet,proto3" json:"keyword_snippet,omitempty"`
383	// Output only. Candidate's availability signals.
384	AvailabilitySignals []*AvailabilitySignal `protobuf:"bytes,70,rep,name=availability_signals,json=availabilitySignals,proto3" json:"availability_signals,omitempty"`
385	// Output only. Derived locations of the profile, resolved from [Profile.addresses][google.cloud.talent.v4beta1.Profile.addresses].
386	//
387	// [derived_addresses][google.cloud.talent.v4beta1.Profile.derived_addresses] are exactly matched to [Profile.addresses][google.cloud.talent.v4beta1.Profile.addresses] in the
388	// same order.
389	DerivedAddresses []*Location `protobuf:"bytes,64,rep,name=derived_addresses,json=derivedAddresses,proto3" json:"derived_addresses,omitempty"`
390}
391
392func (x *Profile) Reset() {
393	*x = Profile{}
394	if protoimpl.UnsafeEnabled {
395		mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[0]
396		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
397		ms.StoreMessageInfo(mi)
398	}
399}
400
401func (x *Profile) String() string {
402	return protoimpl.X.MessageStringOf(x)
403}
404
405func (*Profile) ProtoMessage() {}
406
407func (x *Profile) ProtoReflect() protoreflect.Message {
408	mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[0]
409	if protoimpl.UnsafeEnabled && x != nil {
410		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
411		if ms.LoadMessageInfo() == nil {
412			ms.StoreMessageInfo(mi)
413		}
414		return ms
415	}
416	return mi.MessageOf(x)
417}
418
419// Deprecated: Use Profile.ProtoReflect.Descriptor instead.
420func (*Profile) Descriptor() ([]byte, []int) {
421	return file_google_cloud_talent_v4beta1_profile_proto_rawDescGZIP(), []int{0}
422}
423
424func (x *Profile) GetName() string {
425	if x != nil {
426		return x.Name
427	}
428	return ""
429}
430
431func (x *Profile) GetExternalId() string {
432	if x != nil {
433		return x.ExternalId
434	}
435	return ""
436}
437
438func (x *Profile) GetSource() string {
439	if x != nil {
440		return x.Source
441	}
442	return ""
443}
444
445func (x *Profile) GetUri() string {
446	if x != nil {
447		return x.Uri
448	}
449	return ""
450}
451
452func (x *Profile) GetGroupId() string {
453	if x != nil {
454		return x.GroupId
455	}
456	return ""
457}
458
459func (x *Profile) GetIsHirable() *wrappers.BoolValue {
460	if x != nil {
461		return x.IsHirable
462	}
463	return nil
464}
465
466func (x *Profile) GetCreateTime() *timestamp.Timestamp {
467	if x != nil {
468		return x.CreateTime
469	}
470	return nil
471}
472
473func (x *Profile) GetUpdateTime() *timestamp.Timestamp {
474	if x != nil {
475		return x.UpdateTime
476	}
477	return nil
478}
479
480func (x *Profile) GetCandidateUpdateTime() *timestamp.Timestamp {
481	if x != nil {
482		return x.CandidateUpdateTime
483	}
484	return nil
485}
486
487func (x *Profile) GetResumeUpdateTime() *timestamp.Timestamp {
488	if x != nil {
489		return x.ResumeUpdateTime
490	}
491	return nil
492}
493
494func (x *Profile) GetResume() *Resume {
495	if x != nil {
496		return x.Resume
497	}
498	return nil
499}
500
501func (x *Profile) GetPersonNames() []*PersonName {
502	if x != nil {
503		return x.PersonNames
504	}
505	return nil
506}
507
508func (x *Profile) GetAddresses() []*Address {
509	if x != nil {
510		return x.Addresses
511	}
512	return nil
513}
514
515func (x *Profile) GetEmailAddresses() []*Email {
516	if x != nil {
517		return x.EmailAddresses
518	}
519	return nil
520}
521
522func (x *Profile) GetPhoneNumbers() []*Phone {
523	if x != nil {
524		return x.PhoneNumbers
525	}
526	return nil
527}
528
529func (x *Profile) GetPersonalUris() []*PersonalUri {
530	if x != nil {
531		return x.PersonalUris
532	}
533	return nil
534}
535
536func (x *Profile) GetAdditionalContactInfo() []*AdditionalContactInfo {
537	if x != nil {
538		return x.AdditionalContactInfo
539	}
540	return nil
541}
542
543func (x *Profile) GetEmploymentRecords() []*EmploymentRecord {
544	if x != nil {
545		return x.EmploymentRecords
546	}
547	return nil
548}
549
550func (x *Profile) GetEducationRecords() []*EducationRecord {
551	if x != nil {
552		return x.EducationRecords
553	}
554	return nil
555}
556
557func (x *Profile) GetSkills() []*Skill {
558	if x != nil {
559		return x.Skills
560	}
561	return nil
562}
563
564func (x *Profile) GetActivities() []*Activity {
565	if x != nil {
566		return x.Activities
567	}
568	return nil
569}
570
571func (x *Profile) GetPublications() []*Publication {
572	if x != nil {
573		return x.Publications
574	}
575	return nil
576}
577
578func (x *Profile) GetPatents() []*Patent {
579	if x != nil {
580		return x.Patents
581	}
582	return nil
583}
584
585func (x *Profile) GetCertifications() []*Certification {
586	if x != nil {
587		return x.Certifications
588	}
589	return nil
590}
591
592func (x *Profile) GetApplications() []string {
593	if x != nil {
594		return x.Applications
595	}
596	return nil
597}
598
599func (x *Profile) GetAssignments() []string {
600	if x != nil {
601		return x.Assignments
602	}
603	return nil
604}
605
606func (x *Profile) GetCustomAttributes() map[string]*CustomAttribute {
607	if x != nil {
608		return x.CustomAttributes
609	}
610	return nil
611}
612
613func (x *Profile) GetProcessed() bool {
614	if x != nil {
615		return x.Processed
616	}
617	return false
618}
619
620func (x *Profile) GetKeywordSnippet() string {
621	if x != nil {
622		return x.KeywordSnippet
623	}
624	return ""
625}
626
627func (x *Profile) GetAvailabilitySignals() []*AvailabilitySignal {
628	if x != nil {
629		return x.AvailabilitySignals
630	}
631	return nil
632}
633
634func (x *Profile) GetDerivedAddresses() []*Location {
635	if x != nil {
636		return x.DerivedAddresses
637	}
638	return nil
639}
640
641// Candidate availability signal.
642type AvailabilitySignal struct {
643	state         protoimpl.MessageState
644	sizeCache     protoimpl.SizeCache
645	unknownFields protoimpl.UnknownFields
646
647	// Type of signal.
648	Type AvailabilitySignalType `protobuf:"varint,1,opt,name=type,proto3,enum=google.cloud.talent.v4beta1.AvailabilitySignalType" json:"type,omitempty"`
649	// Timestamp of when the given availability activity last happened.
650	LastUpdateTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=last_update_time,json=lastUpdateTime,proto3" json:"last_update_time,omitempty"`
651	// Indicates if the [last_update_time][google.cloud.talent.v4beta1.AvailabilitySignal.last_update_time] is within
652	// [AvailabilityFilter.range][google.cloud.talent.v4beta1.AvailabilityFilter.range].
653	//
654	// Returned only in a search response when there is an [AvailabilityFilter][google.cloud.talent.v4beta1.AvailabilityFilter]
655	// in [ProfileQuery.availability_filters][google.cloud.talent.v4beta1.ProfileQuery.availability_filters] where
656	// [signal_type][google.cloud.talent.v4beta1.AvailabilityFilter.signal_type] matches [type][google.cloud.talent.v4beta1.AvailabilitySignal.type].
657	FilterSatisfied *wrappers.BoolValue `protobuf:"bytes,3,opt,name=filter_satisfied,json=filterSatisfied,proto3" json:"filter_satisfied,omitempty"`
658}
659
660func (x *AvailabilitySignal) Reset() {
661	*x = AvailabilitySignal{}
662	if protoimpl.UnsafeEnabled {
663		mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[1]
664		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
665		ms.StoreMessageInfo(mi)
666	}
667}
668
669func (x *AvailabilitySignal) String() string {
670	return protoimpl.X.MessageStringOf(x)
671}
672
673func (*AvailabilitySignal) ProtoMessage() {}
674
675func (x *AvailabilitySignal) ProtoReflect() protoreflect.Message {
676	mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[1]
677	if protoimpl.UnsafeEnabled && x != nil {
678		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
679		if ms.LoadMessageInfo() == nil {
680			ms.StoreMessageInfo(mi)
681		}
682		return ms
683	}
684	return mi.MessageOf(x)
685}
686
687// Deprecated: Use AvailabilitySignal.ProtoReflect.Descriptor instead.
688func (*AvailabilitySignal) Descriptor() ([]byte, []int) {
689	return file_google_cloud_talent_v4beta1_profile_proto_rawDescGZIP(), []int{1}
690}
691
692func (x *AvailabilitySignal) GetType() AvailabilitySignalType {
693	if x != nil {
694		return x.Type
695	}
696	return AvailabilitySignalType_AVAILABILITY_SIGNAL_TYPE_UNSPECIFIED
697}
698
699func (x *AvailabilitySignal) GetLastUpdateTime() *timestamp.Timestamp {
700	if x != nil {
701		return x.LastUpdateTime
702	}
703	return nil
704}
705
706func (x *AvailabilitySignal) GetFilterSatisfied() *wrappers.BoolValue {
707	if x != nil {
708		return x.FilterSatisfied
709	}
710	return nil
711}
712
713// Resource that represents a resume.
714type Resume struct {
715	state         protoimpl.MessageState
716	sizeCache     protoimpl.SizeCache
717	unknownFields protoimpl.UnknownFields
718
719	// Users can create a profile with only this field field, if [resume_type][google.cloud.talent.v4beta1.Resume.resume_type]
720	// is [HRXML][google.cloud.talent.v4beta1.Resume.ResumeType.HRXML]. For example, the API parses this field and
721	// creates a profile
722	// with all structured fields populated. [EmploymentRecord][google.cloud.talent.v4beta1.EmploymentRecord],
723	// [EducationRecord][google.cloud.talent.v4beta1.EducationRecord], and so on. An error is thrown if this field cannot be
724	// parsed.
725	//
726	// Note that the use of the functionality offered by this field to extract
727	// data from resumes is an Alpha feature and as such is not covered by any
728	// SLA.
729	StructuredResume string `protobuf:"bytes,1,opt,name=structured_resume,json=structuredResume,proto3" json:"structured_resume,omitempty"`
730	// The format of [structured_resume][google.cloud.talent.v4beta1.Resume.structured_resume].
731	ResumeType Resume_ResumeType `protobuf:"varint,2,opt,name=resume_type,json=resumeType,proto3,enum=google.cloud.talent.v4beta1.Resume_ResumeType" json:"resume_type,omitempty"`
732}
733
734func (x *Resume) Reset() {
735	*x = Resume{}
736	if protoimpl.UnsafeEnabled {
737		mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[2]
738		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
739		ms.StoreMessageInfo(mi)
740	}
741}
742
743func (x *Resume) String() string {
744	return protoimpl.X.MessageStringOf(x)
745}
746
747func (*Resume) ProtoMessage() {}
748
749func (x *Resume) ProtoReflect() protoreflect.Message {
750	mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[2]
751	if protoimpl.UnsafeEnabled && x != nil {
752		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
753		if ms.LoadMessageInfo() == nil {
754			ms.StoreMessageInfo(mi)
755		}
756		return ms
757	}
758	return mi.MessageOf(x)
759}
760
761// Deprecated: Use Resume.ProtoReflect.Descriptor instead.
762func (*Resume) Descriptor() ([]byte, []int) {
763	return file_google_cloud_talent_v4beta1_profile_proto_rawDescGZIP(), []int{2}
764}
765
766func (x *Resume) GetStructuredResume() string {
767	if x != nil {
768		return x.StructuredResume
769	}
770	return ""
771}
772
773func (x *Resume) GetResumeType() Resume_ResumeType {
774	if x != nil {
775		return x.ResumeType
776	}
777	return Resume_RESUME_TYPE_UNSPECIFIED
778}
779
780// Resource that represents the name of a person.
781type PersonName struct {
782	state         protoimpl.MessageState
783	sizeCache     protoimpl.SizeCache
784	unknownFields protoimpl.UnknownFields
785
786	// The name of a person. It can be one of
787	// [formatted_name][google.cloud.talent.v4beta1.PersonName.formatted_name] or
788	// [structured_name][google.cloud.talent.v4beta1.PersonName.structured_name].
789	//
790	// Types that are assignable to PersonName:
791	//	*PersonName_FormattedName
792	//	*PersonName_StructuredName
793	PersonName isPersonName_PersonName `protobuf_oneof:"person_name"`
794	// Preferred name for the person. This field is ignored if [structured_name][google.cloud.talent.v4beta1.PersonName.structured_name]
795	// is provided.
796	//
797	// Number of characters allowed is 100.
798	PreferredName string `protobuf:"bytes,3,opt,name=preferred_name,json=preferredName,proto3" json:"preferred_name,omitempty"`
799}
800
801func (x *PersonName) Reset() {
802	*x = PersonName{}
803	if protoimpl.UnsafeEnabled {
804		mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[3]
805		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
806		ms.StoreMessageInfo(mi)
807	}
808}
809
810func (x *PersonName) String() string {
811	return protoimpl.X.MessageStringOf(x)
812}
813
814func (*PersonName) ProtoMessage() {}
815
816func (x *PersonName) ProtoReflect() protoreflect.Message {
817	mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[3]
818	if protoimpl.UnsafeEnabled && x != nil {
819		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
820		if ms.LoadMessageInfo() == nil {
821			ms.StoreMessageInfo(mi)
822		}
823		return ms
824	}
825	return mi.MessageOf(x)
826}
827
828// Deprecated: Use PersonName.ProtoReflect.Descriptor instead.
829func (*PersonName) Descriptor() ([]byte, []int) {
830	return file_google_cloud_talent_v4beta1_profile_proto_rawDescGZIP(), []int{3}
831}
832
833func (m *PersonName) GetPersonName() isPersonName_PersonName {
834	if m != nil {
835		return m.PersonName
836	}
837	return nil
838}
839
840func (x *PersonName) GetFormattedName() string {
841	if x, ok := x.GetPersonName().(*PersonName_FormattedName); ok {
842		return x.FormattedName
843	}
844	return ""
845}
846
847func (x *PersonName) GetStructuredName() *PersonName_PersonStructuredName {
848	if x, ok := x.GetPersonName().(*PersonName_StructuredName); ok {
849		return x.StructuredName
850	}
851	return nil
852}
853
854func (x *PersonName) GetPreferredName() string {
855	if x != nil {
856		return x.PreferredName
857	}
858	return ""
859}
860
861type isPersonName_PersonName interface {
862	isPersonName_PersonName()
863}
864
865type PersonName_FormattedName struct {
866	// A string represents a person's full name. For example, "Dr. John Smith".
867	//
868	// Number of characters allowed is 100.
869	FormattedName string `protobuf:"bytes,1,opt,name=formatted_name,json=formattedName,proto3,oneof"`
870}
871
872type PersonName_StructuredName struct {
873	// A person's name in a structured way (last name, first name, suffix, and
874	// so on.)
875	StructuredName *PersonName_PersonStructuredName `protobuf:"bytes,2,opt,name=structured_name,json=structuredName,proto3,oneof"`
876}
877
878func (*PersonName_FormattedName) isPersonName_PersonName() {}
879
880func (*PersonName_StructuredName) isPersonName_PersonName() {}
881
882// Resource that represents a address.
883type Address struct {
884	state         protoimpl.MessageState
885	sizeCache     protoimpl.SizeCache
886	unknownFields protoimpl.UnknownFields
887
888	// The usage of the address. For example, SCHOOL, WORK, PERSONAL.
889	Usage ContactInfoUsage `protobuf:"varint,1,opt,name=usage,proto3,enum=google.cloud.talent.v4beta1.ContactInfoUsage" json:"usage,omitempty"`
890	// The address of a person. It can be one of
891	// [unstructured_address][google.cloud.talent.v4beta1.Address.unstructured_address] or
892	// [structured_address][google.cloud.talent.v4beta1.Address.structured_address].
893	//
894	// Types that are assignable to Address:
895	//	*Address_UnstructuredAddress
896	//	*Address_StructuredAddress
897	Address isAddress_Address `protobuf_oneof:"address"`
898	// Indicates if it's the person's current address.
899	Current *wrappers.BoolValue `protobuf:"bytes,4,opt,name=current,proto3" json:"current,omitempty"`
900}
901
902func (x *Address) Reset() {
903	*x = Address{}
904	if protoimpl.UnsafeEnabled {
905		mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[4]
906		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
907		ms.StoreMessageInfo(mi)
908	}
909}
910
911func (x *Address) String() string {
912	return protoimpl.X.MessageStringOf(x)
913}
914
915func (*Address) ProtoMessage() {}
916
917func (x *Address) ProtoReflect() protoreflect.Message {
918	mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[4]
919	if protoimpl.UnsafeEnabled && x != nil {
920		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
921		if ms.LoadMessageInfo() == nil {
922			ms.StoreMessageInfo(mi)
923		}
924		return ms
925	}
926	return mi.MessageOf(x)
927}
928
929// Deprecated: Use Address.ProtoReflect.Descriptor instead.
930func (*Address) Descriptor() ([]byte, []int) {
931	return file_google_cloud_talent_v4beta1_profile_proto_rawDescGZIP(), []int{4}
932}
933
934func (x *Address) GetUsage() ContactInfoUsage {
935	if x != nil {
936		return x.Usage
937	}
938	return ContactInfoUsage_CONTACT_INFO_USAGE_UNSPECIFIED
939}
940
941func (m *Address) GetAddress() isAddress_Address {
942	if m != nil {
943		return m.Address
944	}
945	return nil
946}
947
948func (x *Address) GetUnstructuredAddress() string {
949	if x, ok := x.GetAddress().(*Address_UnstructuredAddress); ok {
950		return x.UnstructuredAddress
951	}
952	return ""
953}
954
955func (x *Address) GetStructuredAddress() *postaladdress.PostalAddress {
956	if x, ok := x.GetAddress().(*Address_StructuredAddress); ok {
957		return x.StructuredAddress
958	}
959	return nil
960}
961
962func (x *Address) GetCurrent() *wrappers.BoolValue {
963	if x != nil {
964		return x.Current
965	}
966	return nil
967}
968
969type isAddress_Address interface {
970	isAddress_Address()
971}
972
973type Address_UnstructuredAddress struct {
974	// Unstructured address.
975	//
976	// For example, "1600 Amphitheatre Pkwy, Mountain View, CA 94043",
977	// "Sunnyvale, California".
978	//
979	// Number of characters allowed is 100.
980	UnstructuredAddress string `protobuf:"bytes,2,opt,name=unstructured_address,json=unstructuredAddress,proto3,oneof"`
981}
982
983type Address_StructuredAddress struct {
984	// Structured address that contains street address, city, state, country,
985	// and so on.
986	StructuredAddress *postaladdress.PostalAddress `protobuf:"bytes,3,opt,name=structured_address,json=structuredAddress,proto3,oneof"`
987}
988
989func (*Address_UnstructuredAddress) isAddress_Address() {}
990
991func (*Address_StructuredAddress) isAddress_Address() {}
992
993// Resource that represents a person's email address.
994type Email struct {
995	state         protoimpl.MessageState
996	sizeCache     protoimpl.SizeCache
997	unknownFields protoimpl.UnknownFields
998
999	// The usage of the email address. For example, SCHOOL, WORK, PERSONAL.
1000	Usage ContactInfoUsage `protobuf:"varint,1,opt,name=usage,proto3,enum=google.cloud.talent.v4beta1.ContactInfoUsage" json:"usage,omitempty"`
1001	// Email address.
1002	//
1003	// Number of characters allowed is 4,000.
1004	EmailAddress string `protobuf:"bytes,2,opt,name=email_address,json=emailAddress,proto3" json:"email_address,omitempty"`
1005}
1006
1007func (x *Email) Reset() {
1008	*x = Email{}
1009	if protoimpl.UnsafeEnabled {
1010		mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[5]
1011		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1012		ms.StoreMessageInfo(mi)
1013	}
1014}
1015
1016func (x *Email) String() string {
1017	return protoimpl.X.MessageStringOf(x)
1018}
1019
1020func (*Email) ProtoMessage() {}
1021
1022func (x *Email) ProtoReflect() protoreflect.Message {
1023	mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[5]
1024	if protoimpl.UnsafeEnabled && x != nil {
1025		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1026		if ms.LoadMessageInfo() == nil {
1027			ms.StoreMessageInfo(mi)
1028		}
1029		return ms
1030	}
1031	return mi.MessageOf(x)
1032}
1033
1034// Deprecated: Use Email.ProtoReflect.Descriptor instead.
1035func (*Email) Descriptor() ([]byte, []int) {
1036	return file_google_cloud_talent_v4beta1_profile_proto_rawDescGZIP(), []int{5}
1037}
1038
1039func (x *Email) GetUsage() ContactInfoUsage {
1040	if x != nil {
1041		return x.Usage
1042	}
1043	return ContactInfoUsage_CONTACT_INFO_USAGE_UNSPECIFIED
1044}
1045
1046func (x *Email) GetEmailAddress() string {
1047	if x != nil {
1048		return x.EmailAddress
1049	}
1050	return ""
1051}
1052
1053// Resource that represents a person's telephone number.
1054type Phone struct {
1055	state         protoimpl.MessageState
1056	sizeCache     protoimpl.SizeCache
1057	unknownFields protoimpl.UnknownFields
1058
1059	// The usage of the phone. For example, SCHOOL, WORK, PERSONAL.
1060	Usage ContactInfoUsage `protobuf:"varint,1,opt,name=usage,proto3,enum=google.cloud.talent.v4beta1.ContactInfoUsage" json:"usage,omitempty"`
1061	// The phone type. For example, LANDLINE, MOBILE, FAX.
1062	Type Phone_PhoneType `protobuf:"varint,2,opt,name=type,proto3,enum=google.cloud.talent.v4beta1.Phone_PhoneType" json:"type,omitempty"`
1063	// Phone number.
1064	//
1065	// Any phone formats are supported and only exact matches are performed on
1066	// searches. For example, if a phone number in profile is provided in the
1067	// format of "(xxx)xxx-xxxx", in profile searches the same phone format
1068	// has to be provided.
1069	//
1070	// Number of characters allowed is 20.
1071	Number string `protobuf:"bytes,3,opt,name=number,proto3" json:"number,omitempty"`
1072	// When this number is available. Any descriptive string is expected.
1073	//
1074	// Number of characters allowed is 100.
1075	WhenAvailable string `protobuf:"bytes,4,opt,name=when_available,json=whenAvailable,proto3" json:"when_available,omitempty"`
1076}
1077
1078func (x *Phone) Reset() {
1079	*x = Phone{}
1080	if protoimpl.UnsafeEnabled {
1081		mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[6]
1082		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1083		ms.StoreMessageInfo(mi)
1084	}
1085}
1086
1087func (x *Phone) String() string {
1088	return protoimpl.X.MessageStringOf(x)
1089}
1090
1091func (*Phone) ProtoMessage() {}
1092
1093func (x *Phone) ProtoReflect() protoreflect.Message {
1094	mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[6]
1095	if protoimpl.UnsafeEnabled && x != nil {
1096		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1097		if ms.LoadMessageInfo() == nil {
1098			ms.StoreMessageInfo(mi)
1099		}
1100		return ms
1101	}
1102	return mi.MessageOf(x)
1103}
1104
1105// Deprecated: Use Phone.ProtoReflect.Descriptor instead.
1106func (*Phone) Descriptor() ([]byte, []int) {
1107	return file_google_cloud_talent_v4beta1_profile_proto_rawDescGZIP(), []int{6}
1108}
1109
1110func (x *Phone) GetUsage() ContactInfoUsage {
1111	if x != nil {
1112		return x.Usage
1113	}
1114	return ContactInfoUsage_CONTACT_INFO_USAGE_UNSPECIFIED
1115}
1116
1117func (x *Phone) GetType() Phone_PhoneType {
1118	if x != nil {
1119		return x.Type
1120	}
1121	return Phone_PHONE_TYPE_UNSPECIFIED
1122}
1123
1124func (x *Phone) GetNumber() string {
1125	if x != nil {
1126		return x.Number
1127	}
1128	return ""
1129}
1130
1131func (x *Phone) GetWhenAvailable() string {
1132	if x != nil {
1133		return x.WhenAvailable
1134	}
1135	return ""
1136}
1137
1138// Resource that represents a valid URI for a personal use.
1139type PersonalUri struct {
1140	state         protoimpl.MessageState
1141	sizeCache     protoimpl.SizeCache
1142	unknownFields protoimpl.UnknownFields
1143
1144	// The personal URI.
1145	//
1146	// Number of characters allowed is 4,000.
1147	Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
1148}
1149
1150func (x *PersonalUri) Reset() {
1151	*x = PersonalUri{}
1152	if protoimpl.UnsafeEnabled {
1153		mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[7]
1154		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1155		ms.StoreMessageInfo(mi)
1156	}
1157}
1158
1159func (x *PersonalUri) String() string {
1160	return protoimpl.X.MessageStringOf(x)
1161}
1162
1163func (*PersonalUri) ProtoMessage() {}
1164
1165func (x *PersonalUri) ProtoReflect() protoreflect.Message {
1166	mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[7]
1167	if protoimpl.UnsafeEnabled && x != nil {
1168		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1169		if ms.LoadMessageInfo() == nil {
1170			ms.StoreMessageInfo(mi)
1171		}
1172		return ms
1173	}
1174	return mi.MessageOf(x)
1175}
1176
1177// Deprecated: Use PersonalUri.ProtoReflect.Descriptor instead.
1178func (*PersonalUri) Descriptor() ([]byte, []int) {
1179	return file_google_cloud_talent_v4beta1_profile_proto_rawDescGZIP(), []int{7}
1180}
1181
1182func (x *PersonalUri) GetUri() string {
1183	if x != nil {
1184		return x.Uri
1185	}
1186	return ""
1187}
1188
1189// Resource that represents contact information other than phone, email,
1190// URI and addresses.
1191type AdditionalContactInfo struct {
1192	state         protoimpl.MessageState
1193	sizeCache     protoimpl.SizeCache
1194	unknownFields protoimpl.UnknownFields
1195
1196	// The usage of this contact method. For example, SCHOOL, WORK, PERSONAL.
1197	Usage ContactInfoUsage `protobuf:"varint,1,opt,name=usage,proto3,enum=google.cloud.talent.v4beta1.ContactInfoUsage" json:"usage,omitempty"`
1198	// The name of the contact method.
1199	//
1200	// For example, "hangout", "skype".
1201	//
1202	// Number of characters allowed is 100.
1203	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
1204	// The contact id.
1205	//
1206	// Number of characters allowed is 100.
1207	ContactId string `protobuf:"bytes,3,opt,name=contact_id,json=contactId,proto3" json:"contact_id,omitempty"`
1208}
1209
1210func (x *AdditionalContactInfo) Reset() {
1211	*x = AdditionalContactInfo{}
1212	if protoimpl.UnsafeEnabled {
1213		mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[8]
1214		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1215		ms.StoreMessageInfo(mi)
1216	}
1217}
1218
1219func (x *AdditionalContactInfo) String() string {
1220	return protoimpl.X.MessageStringOf(x)
1221}
1222
1223func (*AdditionalContactInfo) ProtoMessage() {}
1224
1225func (x *AdditionalContactInfo) ProtoReflect() protoreflect.Message {
1226	mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[8]
1227	if protoimpl.UnsafeEnabled && x != nil {
1228		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1229		if ms.LoadMessageInfo() == nil {
1230			ms.StoreMessageInfo(mi)
1231		}
1232		return ms
1233	}
1234	return mi.MessageOf(x)
1235}
1236
1237// Deprecated: Use AdditionalContactInfo.ProtoReflect.Descriptor instead.
1238func (*AdditionalContactInfo) Descriptor() ([]byte, []int) {
1239	return file_google_cloud_talent_v4beta1_profile_proto_rawDescGZIP(), []int{8}
1240}
1241
1242func (x *AdditionalContactInfo) GetUsage() ContactInfoUsage {
1243	if x != nil {
1244		return x.Usage
1245	}
1246	return ContactInfoUsage_CONTACT_INFO_USAGE_UNSPECIFIED
1247}
1248
1249func (x *AdditionalContactInfo) GetName() string {
1250	if x != nil {
1251		return x.Name
1252	}
1253	return ""
1254}
1255
1256func (x *AdditionalContactInfo) GetContactId() string {
1257	if x != nil {
1258		return x.ContactId
1259	}
1260	return ""
1261}
1262
1263// Resource that represents an employment record of a candidate.
1264type EmploymentRecord struct {
1265	state         protoimpl.MessageState
1266	sizeCache     protoimpl.SizeCache
1267	unknownFields protoimpl.UnknownFields
1268
1269	// Start date of the employment.
1270	StartDate *date.Date `protobuf:"bytes,1,opt,name=start_date,json=startDate,proto3" json:"start_date,omitempty"`
1271	// End date of the employment.
1272	EndDate *date.Date `protobuf:"bytes,2,opt,name=end_date,json=endDate,proto3" json:"end_date,omitempty"`
1273	// The name of the employer company/organization.
1274	//
1275	// For example, "Google", "Alphabet", and so on.
1276	//
1277	// Number of characters allowed is 250.
1278	EmployerName string `protobuf:"bytes,3,opt,name=employer_name,json=employerName,proto3" json:"employer_name,omitempty"`
1279	// The division name of the employment.
1280	//
1281	// For example, division, department, client, and so on.
1282	//
1283	// Number of characters allowed is 100.
1284	DivisionName string `protobuf:"bytes,4,opt,name=division_name,json=divisionName,proto3" json:"division_name,omitempty"`
1285	// The physical address of the employer.
1286	Address *Address `protobuf:"bytes,5,opt,name=address,proto3" json:"address,omitempty"`
1287	// The job title of the employment.
1288	//
1289	// For example, "Software Engineer", "Data Scientist", and so on.
1290	//
1291	// Number of characters allowed is 250.
1292	JobTitle string `protobuf:"bytes,6,opt,name=job_title,json=jobTitle,proto3" json:"job_title,omitempty"`
1293	// The description of job content.
1294	//
1295	// Number of characters allowed is 100,000.
1296	JobDescription string `protobuf:"bytes,7,opt,name=job_description,json=jobDescription,proto3" json:"job_description,omitempty"`
1297	// If the jobs is a supervisor position.
1298	IsSupervisor *wrappers.BoolValue `protobuf:"bytes,8,opt,name=is_supervisor,json=isSupervisor,proto3" json:"is_supervisor,omitempty"`
1299	// If this employment is self-employed.
1300	IsSelfEmployed *wrappers.BoolValue `protobuf:"bytes,9,opt,name=is_self_employed,json=isSelfEmployed,proto3" json:"is_self_employed,omitempty"`
1301	// If this employment is current.
1302	IsCurrent *wrappers.BoolValue `protobuf:"bytes,10,opt,name=is_current,json=isCurrent,proto3" json:"is_current,omitempty"`
1303	// Output only. The job title snippet shows how the [job_title][google.cloud.talent.v4beta1.EmploymentRecord.job_title] is related
1304	// to a search query. It's empty if the [job_title][google.cloud.talent.v4beta1.EmploymentRecord.job_title] isn't related to the
1305	// search query.
1306	JobTitleSnippet string `protobuf:"bytes,11,opt,name=job_title_snippet,json=jobTitleSnippet,proto3" json:"job_title_snippet,omitempty"`
1307	// Output only. The job description snippet shows how the [job_description][google.cloud.talent.v4beta1.EmploymentRecord.job_description]
1308	// is related to a search query. It's empty if the [job_description][google.cloud.talent.v4beta1.EmploymentRecord.job_description] isn't
1309	// related to the search query.
1310	JobDescriptionSnippet string `protobuf:"bytes,12,opt,name=job_description_snippet,json=jobDescriptionSnippet,proto3" json:"job_description_snippet,omitempty"`
1311	// Output only. The employer name snippet shows how the [employer_name][google.cloud.talent.v4beta1.EmploymentRecord.employer_name] is
1312	// related to a search query. It's empty if the [employer_name][google.cloud.talent.v4beta1.EmploymentRecord.employer_name] isn't
1313	// related to the search query.
1314	EmployerNameSnippet string `protobuf:"bytes,13,opt,name=employer_name_snippet,json=employerNameSnippet,proto3" json:"employer_name_snippet,omitempty"`
1315}
1316
1317func (x *EmploymentRecord) Reset() {
1318	*x = EmploymentRecord{}
1319	if protoimpl.UnsafeEnabled {
1320		mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[9]
1321		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1322		ms.StoreMessageInfo(mi)
1323	}
1324}
1325
1326func (x *EmploymentRecord) String() string {
1327	return protoimpl.X.MessageStringOf(x)
1328}
1329
1330func (*EmploymentRecord) ProtoMessage() {}
1331
1332func (x *EmploymentRecord) ProtoReflect() protoreflect.Message {
1333	mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[9]
1334	if protoimpl.UnsafeEnabled && x != nil {
1335		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1336		if ms.LoadMessageInfo() == nil {
1337			ms.StoreMessageInfo(mi)
1338		}
1339		return ms
1340	}
1341	return mi.MessageOf(x)
1342}
1343
1344// Deprecated: Use EmploymentRecord.ProtoReflect.Descriptor instead.
1345func (*EmploymentRecord) Descriptor() ([]byte, []int) {
1346	return file_google_cloud_talent_v4beta1_profile_proto_rawDescGZIP(), []int{9}
1347}
1348
1349func (x *EmploymentRecord) GetStartDate() *date.Date {
1350	if x != nil {
1351		return x.StartDate
1352	}
1353	return nil
1354}
1355
1356func (x *EmploymentRecord) GetEndDate() *date.Date {
1357	if x != nil {
1358		return x.EndDate
1359	}
1360	return nil
1361}
1362
1363func (x *EmploymentRecord) GetEmployerName() string {
1364	if x != nil {
1365		return x.EmployerName
1366	}
1367	return ""
1368}
1369
1370func (x *EmploymentRecord) GetDivisionName() string {
1371	if x != nil {
1372		return x.DivisionName
1373	}
1374	return ""
1375}
1376
1377func (x *EmploymentRecord) GetAddress() *Address {
1378	if x != nil {
1379		return x.Address
1380	}
1381	return nil
1382}
1383
1384func (x *EmploymentRecord) GetJobTitle() string {
1385	if x != nil {
1386		return x.JobTitle
1387	}
1388	return ""
1389}
1390
1391func (x *EmploymentRecord) GetJobDescription() string {
1392	if x != nil {
1393		return x.JobDescription
1394	}
1395	return ""
1396}
1397
1398func (x *EmploymentRecord) GetIsSupervisor() *wrappers.BoolValue {
1399	if x != nil {
1400		return x.IsSupervisor
1401	}
1402	return nil
1403}
1404
1405func (x *EmploymentRecord) GetIsSelfEmployed() *wrappers.BoolValue {
1406	if x != nil {
1407		return x.IsSelfEmployed
1408	}
1409	return nil
1410}
1411
1412func (x *EmploymentRecord) GetIsCurrent() *wrappers.BoolValue {
1413	if x != nil {
1414		return x.IsCurrent
1415	}
1416	return nil
1417}
1418
1419func (x *EmploymentRecord) GetJobTitleSnippet() string {
1420	if x != nil {
1421		return x.JobTitleSnippet
1422	}
1423	return ""
1424}
1425
1426func (x *EmploymentRecord) GetJobDescriptionSnippet() string {
1427	if x != nil {
1428		return x.JobDescriptionSnippet
1429	}
1430	return ""
1431}
1432
1433func (x *EmploymentRecord) GetEmployerNameSnippet() string {
1434	if x != nil {
1435		return x.EmployerNameSnippet
1436	}
1437	return ""
1438}
1439
1440// Resource that represents an education record of a candidate.
1441type EducationRecord struct {
1442	state         protoimpl.MessageState
1443	sizeCache     protoimpl.SizeCache
1444	unknownFields protoimpl.UnknownFields
1445
1446	// The start date of the education.
1447	StartDate *date.Date `protobuf:"bytes,1,opt,name=start_date,json=startDate,proto3" json:"start_date,omitempty"`
1448	// The end date of the education.
1449	EndDate *date.Date `protobuf:"bytes,2,opt,name=end_date,json=endDate,proto3" json:"end_date,omitempty"`
1450	// The expected graduation date if currently pursuing a degree.
1451	ExpectedGraduationDate *date.Date `protobuf:"bytes,3,opt,name=expected_graduation_date,json=expectedGraduationDate,proto3" json:"expected_graduation_date,omitempty"`
1452	// The name of the school or institution.
1453	//
1454	// For example, "Stanford University", "UC Berkeley", and so on.
1455	//
1456	// Number of characters allowed is 250.
1457	SchoolName string `protobuf:"bytes,4,opt,name=school_name,json=schoolName,proto3" json:"school_name,omitempty"`
1458	// The physical address of the education institution.
1459	Address *Address `protobuf:"bytes,5,opt,name=address,proto3" json:"address,omitempty"`
1460	// The degree information. It can be one of
1461	// [degree_description][google.cloud.talent.v4beta1.EducationRecord.degree_description] or
1462	// [structured_degree][google.cloud.talent.v4beta1.EducationRecord.structured_degree].
1463	//
1464	// Types that are assignable to Degree:
1465	//	*EducationRecord_DegreeDescription
1466	//	*EducationRecord_StructuredDegree
1467	Degree isEducationRecord_Degree `protobuf_oneof:"degree"`
1468	// The description of the education.
1469	//
1470	// Number of characters allowed is 100,000.
1471	Description string `protobuf:"bytes,8,opt,name=description,proto3" json:"description,omitempty"`
1472	// If this education is current.
1473	IsCurrent *wrappers.BoolValue `protobuf:"bytes,9,opt,name=is_current,json=isCurrent,proto3" json:"is_current,omitempty"`
1474	// Output only. The school name snippet shows how the [school_name][google.cloud.talent.v4beta1.EducationRecord.school_name] is related to a
1475	// search query in search result. It's empty if the [school_name][google.cloud.talent.v4beta1.EducationRecord.school_name] isn't
1476	// related to the search query.
1477	SchoolNameSnippet string `protobuf:"bytes,10,opt,name=school_name_snippet,json=schoolNameSnippet,proto3" json:"school_name_snippet,omitempty"`
1478	// Output only. The job description snippet shows how the [Degree][google.cloud.talent.v4beta1.Degree] is related to a search
1479	// query in search result. It's empty if the [Degree][google.cloud.talent.v4beta1.Degree] isn't related to the
1480	// search query.
1481	DegreeSnippet string `protobuf:"bytes,11,opt,name=degree_snippet,json=degreeSnippet,proto3" json:"degree_snippet,omitempty"`
1482}
1483
1484func (x *EducationRecord) Reset() {
1485	*x = EducationRecord{}
1486	if protoimpl.UnsafeEnabled {
1487		mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[10]
1488		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1489		ms.StoreMessageInfo(mi)
1490	}
1491}
1492
1493func (x *EducationRecord) String() string {
1494	return protoimpl.X.MessageStringOf(x)
1495}
1496
1497func (*EducationRecord) ProtoMessage() {}
1498
1499func (x *EducationRecord) ProtoReflect() protoreflect.Message {
1500	mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[10]
1501	if protoimpl.UnsafeEnabled && x != nil {
1502		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1503		if ms.LoadMessageInfo() == nil {
1504			ms.StoreMessageInfo(mi)
1505		}
1506		return ms
1507	}
1508	return mi.MessageOf(x)
1509}
1510
1511// Deprecated: Use EducationRecord.ProtoReflect.Descriptor instead.
1512func (*EducationRecord) Descriptor() ([]byte, []int) {
1513	return file_google_cloud_talent_v4beta1_profile_proto_rawDescGZIP(), []int{10}
1514}
1515
1516func (x *EducationRecord) GetStartDate() *date.Date {
1517	if x != nil {
1518		return x.StartDate
1519	}
1520	return nil
1521}
1522
1523func (x *EducationRecord) GetEndDate() *date.Date {
1524	if x != nil {
1525		return x.EndDate
1526	}
1527	return nil
1528}
1529
1530func (x *EducationRecord) GetExpectedGraduationDate() *date.Date {
1531	if x != nil {
1532		return x.ExpectedGraduationDate
1533	}
1534	return nil
1535}
1536
1537func (x *EducationRecord) GetSchoolName() string {
1538	if x != nil {
1539		return x.SchoolName
1540	}
1541	return ""
1542}
1543
1544func (x *EducationRecord) GetAddress() *Address {
1545	if x != nil {
1546		return x.Address
1547	}
1548	return nil
1549}
1550
1551func (m *EducationRecord) GetDegree() isEducationRecord_Degree {
1552	if m != nil {
1553		return m.Degree
1554	}
1555	return nil
1556}
1557
1558func (x *EducationRecord) GetDegreeDescription() string {
1559	if x, ok := x.GetDegree().(*EducationRecord_DegreeDescription); ok {
1560		return x.DegreeDescription
1561	}
1562	return ""
1563}
1564
1565func (x *EducationRecord) GetStructuredDegree() *Degree {
1566	if x, ok := x.GetDegree().(*EducationRecord_StructuredDegree); ok {
1567		return x.StructuredDegree
1568	}
1569	return nil
1570}
1571
1572func (x *EducationRecord) GetDescription() string {
1573	if x != nil {
1574		return x.Description
1575	}
1576	return ""
1577}
1578
1579func (x *EducationRecord) GetIsCurrent() *wrappers.BoolValue {
1580	if x != nil {
1581		return x.IsCurrent
1582	}
1583	return nil
1584}
1585
1586func (x *EducationRecord) GetSchoolNameSnippet() string {
1587	if x != nil {
1588		return x.SchoolNameSnippet
1589	}
1590	return ""
1591}
1592
1593func (x *EducationRecord) GetDegreeSnippet() string {
1594	if x != nil {
1595		return x.DegreeSnippet
1596	}
1597	return ""
1598}
1599
1600type isEducationRecord_Degree interface {
1601	isEducationRecord_Degree()
1602}
1603
1604type EducationRecord_DegreeDescription struct {
1605	// The full description of the degree.
1606	//
1607	// For example, "Master of Science in Computer Science", "B.S in Math".
1608	//
1609	// Number of characters allowed is 100.
1610	DegreeDescription string `protobuf:"bytes,6,opt,name=degree_description,json=degreeDescription,proto3,oneof"`
1611}
1612
1613type EducationRecord_StructuredDegree struct {
1614	// The structured notation of the degree.
1615	StructuredDegree *Degree `protobuf:"bytes,7,opt,name=structured_degree,json=structuredDegree,proto3,oneof"`
1616}
1617
1618func (*EducationRecord_DegreeDescription) isEducationRecord_Degree() {}
1619
1620func (*EducationRecord_StructuredDegree) isEducationRecord_Degree() {}
1621
1622// Resource that represents a degree pursuing or acquired by a candidate.
1623type Degree struct {
1624	state         protoimpl.MessageState
1625	sizeCache     protoimpl.SizeCache
1626	unknownFields protoimpl.UnknownFields
1627
1628	// ISCED degree type.
1629	DegreeType DegreeType `protobuf:"varint,1,opt,name=degree_type,json=degreeType,proto3,enum=google.cloud.talent.v4beta1.DegreeType" json:"degree_type,omitempty"`
1630	// Full Degree name.
1631	//
1632	// For example, "B.S.", "Master of Arts", and so on.
1633	//
1634	// Number of characters allowed is 100.
1635	DegreeName string `protobuf:"bytes,2,opt,name=degree_name,json=degreeName,proto3" json:"degree_name,omitempty"`
1636	// Fields of study for the degree.
1637	//
1638	// For example, "Computer science", "engineering".
1639	//
1640	// Number of characters allowed is 100.
1641	FieldsOfStudy []string `protobuf:"bytes,3,rep,name=fields_of_study,json=fieldsOfStudy,proto3" json:"fields_of_study,omitempty"`
1642}
1643
1644func (x *Degree) Reset() {
1645	*x = Degree{}
1646	if protoimpl.UnsafeEnabled {
1647		mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[11]
1648		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1649		ms.StoreMessageInfo(mi)
1650	}
1651}
1652
1653func (x *Degree) String() string {
1654	return protoimpl.X.MessageStringOf(x)
1655}
1656
1657func (*Degree) ProtoMessage() {}
1658
1659func (x *Degree) ProtoReflect() protoreflect.Message {
1660	mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[11]
1661	if protoimpl.UnsafeEnabled && x != nil {
1662		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1663		if ms.LoadMessageInfo() == nil {
1664			ms.StoreMessageInfo(mi)
1665		}
1666		return ms
1667	}
1668	return mi.MessageOf(x)
1669}
1670
1671// Deprecated: Use Degree.ProtoReflect.Descriptor instead.
1672func (*Degree) Descriptor() ([]byte, []int) {
1673	return file_google_cloud_talent_v4beta1_profile_proto_rawDescGZIP(), []int{11}
1674}
1675
1676func (x *Degree) GetDegreeType() DegreeType {
1677	if x != nil {
1678		return x.DegreeType
1679	}
1680	return DegreeType_DEGREE_TYPE_UNSPECIFIED
1681}
1682
1683func (x *Degree) GetDegreeName() string {
1684	if x != nil {
1685		return x.DegreeName
1686	}
1687	return ""
1688}
1689
1690func (x *Degree) GetFieldsOfStudy() []string {
1691	if x != nil {
1692		return x.FieldsOfStudy
1693	}
1694	return nil
1695}
1696
1697// Resource that represents an individual or collaborative activity participated
1698// in by a candidate, for example, an open-source project, a class assignment,
1699// and so on.
1700type Activity struct {
1701	state         protoimpl.MessageState
1702	sizeCache     protoimpl.SizeCache
1703	unknownFields protoimpl.UnknownFields
1704
1705	// Activity display name.
1706	//
1707	// Number of characters allowed is 100.
1708	DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
1709	// Activity description.
1710	//
1711	// Number of characters allowed is 100,000.
1712	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
1713	// Activity URI.
1714	//
1715	// Number of characters allowed is 4,000.
1716	Uri string `protobuf:"bytes,3,opt,name=uri,proto3" json:"uri,omitempty"`
1717	// The first creation date of the activity.
1718	CreateDate *date.Date `protobuf:"bytes,4,opt,name=create_date,json=createDate,proto3" json:"create_date,omitempty"`
1719	// The last update date of the activity.
1720	UpdateDate *date.Date `protobuf:"bytes,5,opt,name=update_date,json=updateDate,proto3" json:"update_date,omitempty"`
1721	// A list of team members involved in this activity.
1722	//
1723	// Number of characters allowed is 100.
1724	//
1725	// The limitation for max number of team members is 50.
1726	TeamMembers []string `protobuf:"bytes,6,rep,name=team_members,json=teamMembers,proto3" json:"team_members,omitempty"`
1727	// A list of skills used in this activity.
1728	//
1729	// The limitation for max number of skills used is 50.
1730	SkillsUsed []*Skill `protobuf:"bytes,7,rep,name=skills_used,json=skillsUsed,proto3" json:"skills_used,omitempty"`
1731	// Output only. Activity name snippet shows how the [display_name][google.cloud.talent.v4beta1.Activity.display_name] is related to a search
1732	// query. It's empty if the [display_name][google.cloud.talent.v4beta1.Activity.display_name] isn't related to the search
1733	// query.
1734	ActivityNameSnippet string `protobuf:"bytes,8,opt,name=activity_name_snippet,json=activityNameSnippet,proto3" json:"activity_name_snippet,omitempty"`
1735	// Output only. Activity description snippet shows how the
1736	// [description][google.cloud.talent.v4beta1.Activity.description] is related to a search query. It's empty if the
1737	// [description][google.cloud.talent.v4beta1.Activity.description] isn't related to the search query.
1738	ActivityDescriptionSnippet string `protobuf:"bytes,9,opt,name=activity_description_snippet,json=activityDescriptionSnippet,proto3" json:"activity_description_snippet,omitempty"`
1739	// Output only. Skill used snippet shows how the corresponding
1740	// [skills_used][google.cloud.talent.v4beta1.Activity.skills_used] are related to a search query. It's empty if the
1741	// corresponding [skills_used][google.cloud.talent.v4beta1.Activity.skills_used] are not related to the search query.
1742	SkillsUsedSnippet []string `protobuf:"bytes,10,rep,name=skills_used_snippet,json=skillsUsedSnippet,proto3" json:"skills_used_snippet,omitempty"`
1743}
1744
1745func (x *Activity) Reset() {
1746	*x = Activity{}
1747	if protoimpl.UnsafeEnabled {
1748		mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[12]
1749		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1750		ms.StoreMessageInfo(mi)
1751	}
1752}
1753
1754func (x *Activity) String() string {
1755	return protoimpl.X.MessageStringOf(x)
1756}
1757
1758func (*Activity) ProtoMessage() {}
1759
1760func (x *Activity) ProtoReflect() protoreflect.Message {
1761	mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[12]
1762	if protoimpl.UnsafeEnabled && x != nil {
1763		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1764		if ms.LoadMessageInfo() == nil {
1765			ms.StoreMessageInfo(mi)
1766		}
1767		return ms
1768	}
1769	return mi.MessageOf(x)
1770}
1771
1772// Deprecated: Use Activity.ProtoReflect.Descriptor instead.
1773func (*Activity) Descriptor() ([]byte, []int) {
1774	return file_google_cloud_talent_v4beta1_profile_proto_rawDescGZIP(), []int{12}
1775}
1776
1777func (x *Activity) GetDisplayName() string {
1778	if x != nil {
1779		return x.DisplayName
1780	}
1781	return ""
1782}
1783
1784func (x *Activity) GetDescription() string {
1785	if x != nil {
1786		return x.Description
1787	}
1788	return ""
1789}
1790
1791func (x *Activity) GetUri() string {
1792	if x != nil {
1793		return x.Uri
1794	}
1795	return ""
1796}
1797
1798func (x *Activity) GetCreateDate() *date.Date {
1799	if x != nil {
1800		return x.CreateDate
1801	}
1802	return nil
1803}
1804
1805func (x *Activity) GetUpdateDate() *date.Date {
1806	if x != nil {
1807		return x.UpdateDate
1808	}
1809	return nil
1810}
1811
1812func (x *Activity) GetTeamMembers() []string {
1813	if x != nil {
1814		return x.TeamMembers
1815	}
1816	return nil
1817}
1818
1819func (x *Activity) GetSkillsUsed() []*Skill {
1820	if x != nil {
1821		return x.SkillsUsed
1822	}
1823	return nil
1824}
1825
1826func (x *Activity) GetActivityNameSnippet() string {
1827	if x != nil {
1828		return x.ActivityNameSnippet
1829	}
1830	return ""
1831}
1832
1833func (x *Activity) GetActivityDescriptionSnippet() string {
1834	if x != nil {
1835		return x.ActivityDescriptionSnippet
1836	}
1837	return ""
1838}
1839
1840func (x *Activity) GetSkillsUsedSnippet() []string {
1841	if x != nil {
1842		return x.SkillsUsedSnippet
1843	}
1844	return nil
1845}
1846
1847// Resource that represents a publication resource of a candidate.
1848type Publication struct {
1849	state         protoimpl.MessageState
1850	sizeCache     protoimpl.SizeCache
1851	unknownFields protoimpl.UnknownFields
1852
1853	// A list of author names.
1854	//
1855	// Number of characters allowed is 100.
1856	Authors []string `protobuf:"bytes,1,rep,name=authors,proto3" json:"authors,omitempty"`
1857	// The title of the publication.
1858	//
1859	// Number of characters allowed is 100.
1860	Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"`
1861	// The description of the publication.
1862	//
1863	// Number of characters allowed is 100,000.
1864	Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
1865	// The journal name of the publication.
1866	//
1867	// Number of characters allowed is 100.
1868	Journal string `protobuf:"bytes,4,opt,name=journal,proto3" json:"journal,omitempty"`
1869	// Volume number.
1870	//
1871	// Number of characters allowed is 100.
1872	Volume string `protobuf:"bytes,5,opt,name=volume,proto3" json:"volume,omitempty"`
1873	// The publisher of the journal.
1874	//
1875	// Number of characters allowed is 100.
1876	Publisher string `protobuf:"bytes,6,opt,name=publisher,proto3" json:"publisher,omitempty"`
1877	// The publication date.
1878	PublicationDate *date.Date `protobuf:"bytes,7,opt,name=publication_date,json=publicationDate,proto3" json:"publication_date,omitempty"`
1879	// The publication type.
1880	//
1881	// Number of characters allowed is 100.
1882	PublicationType string `protobuf:"bytes,8,opt,name=publication_type,json=publicationType,proto3" json:"publication_type,omitempty"`
1883	// ISBN number.
1884	//
1885	// Number of characters allowed is 100.
1886	Isbn string `protobuf:"bytes,9,opt,name=isbn,proto3" json:"isbn,omitempty"`
1887}
1888
1889func (x *Publication) Reset() {
1890	*x = Publication{}
1891	if protoimpl.UnsafeEnabled {
1892		mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[13]
1893		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1894		ms.StoreMessageInfo(mi)
1895	}
1896}
1897
1898func (x *Publication) String() string {
1899	return protoimpl.X.MessageStringOf(x)
1900}
1901
1902func (*Publication) ProtoMessage() {}
1903
1904func (x *Publication) ProtoReflect() protoreflect.Message {
1905	mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[13]
1906	if protoimpl.UnsafeEnabled && x != nil {
1907		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1908		if ms.LoadMessageInfo() == nil {
1909			ms.StoreMessageInfo(mi)
1910		}
1911		return ms
1912	}
1913	return mi.MessageOf(x)
1914}
1915
1916// Deprecated: Use Publication.ProtoReflect.Descriptor instead.
1917func (*Publication) Descriptor() ([]byte, []int) {
1918	return file_google_cloud_talent_v4beta1_profile_proto_rawDescGZIP(), []int{13}
1919}
1920
1921func (x *Publication) GetAuthors() []string {
1922	if x != nil {
1923		return x.Authors
1924	}
1925	return nil
1926}
1927
1928func (x *Publication) GetTitle() string {
1929	if x != nil {
1930		return x.Title
1931	}
1932	return ""
1933}
1934
1935func (x *Publication) GetDescription() string {
1936	if x != nil {
1937		return x.Description
1938	}
1939	return ""
1940}
1941
1942func (x *Publication) GetJournal() string {
1943	if x != nil {
1944		return x.Journal
1945	}
1946	return ""
1947}
1948
1949func (x *Publication) GetVolume() string {
1950	if x != nil {
1951		return x.Volume
1952	}
1953	return ""
1954}
1955
1956func (x *Publication) GetPublisher() string {
1957	if x != nil {
1958		return x.Publisher
1959	}
1960	return ""
1961}
1962
1963func (x *Publication) GetPublicationDate() *date.Date {
1964	if x != nil {
1965		return x.PublicationDate
1966	}
1967	return nil
1968}
1969
1970func (x *Publication) GetPublicationType() string {
1971	if x != nil {
1972		return x.PublicationType
1973	}
1974	return ""
1975}
1976
1977func (x *Publication) GetIsbn() string {
1978	if x != nil {
1979		return x.Isbn
1980	}
1981	return ""
1982}
1983
1984// Resource that represents the patent acquired by a candidate.
1985type Patent struct {
1986	state         protoimpl.MessageState
1987	sizeCache     protoimpl.SizeCache
1988	unknownFields protoimpl.UnknownFields
1989
1990	// Name of the patent.
1991	//
1992	// Number of characters allowed is 100.
1993	DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
1994	// A list of inventors' names.
1995	//
1996	// Number of characters allowed for each is 100.
1997	Inventors []string `protobuf:"bytes,2,rep,name=inventors,proto3" json:"inventors,omitempty"`
1998	// The status of the patent.
1999	//
2000	// Number of characters allowed is 100.
2001	PatentStatus string `protobuf:"bytes,3,opt,name=patent_status,json=patentStatus,proto3" json:"patent_status,omitempty"`
2002	// The date the last time the status of the patent was checked.
2003	PatentStatusDate *date.Date `protobuf:"bytes,4,opt,name=patent_status_date,json=patentStatusDate,proto3" json:"patent_status_date,omitempty"`
2004	// The date that the patent was filed.
2005	PatentFilingDate *date.Date `protobuf:"bytes,5,opt,name=patent_filing_date,json=patentFilingDate,proto3" json:"patent_filing_date,omitempty"`
2006	// The name of the patent office.
2007	//
2008	// Number of characters allowed is 100.
2009	PatentOffice string `protobuf:"bytes,6,opt,name=patent_office,json=patentOffice,proto3" json:"patent_office,omitempty"`
2010	// The number of the patent.
2011	//
2012	// Number of characters allowed is 100.
2013	PatentNumber string `protobuf:"bytes,7,opt,name=patent_number,json=patentNumber,proto3" json:"patent_number,omitempty"`
2014	// The description of the patent.
2015	//
2016	// Number of characters allowed is 100,000.
2017	PatentDescription string `protobuf:"bytes,8,opt,name=patent_description,json=patentDescription,proto3" json:"patent_description,omitempty"`
2018	// The skills used in this patent.
2019	SkillsUsed []*Skill `protobuf:"bytes,9,rep,name=skills_used,json=skillsUsed,proto3" json:"skills_used,omitempty"`
2020}
2021
2022func (x *Patent) Reset() {
2023	*x = Patent{}
2024	if protoimpl.UnsafeEnabled {
2025		mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[14]
2026		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2027		ms.StoreMessageInfo(mi)
2028	}
2029}
2030
2031func (x *Patent) String() string {
2032	return protoimpl.X.MessageStringOf(x)
2033}
2034
2035func (*Patent) ProtoMessage() {}
2036
2037func (x *Patent) ProtoReflect() protoreflect.Message {
2038	mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[14]
2039	if protoimpl.UnsafeEnabled && x != nil {
2040		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2041		if ms.LoadMessageInfo() == nil {
2042			ms.StoreMessageInfo(mi)
2043		}
2044		return ms
2045	}
2046	return mi.MessageOf(x)
2047}
2048
2049// Deprecated: Use Patent.ProtoReflect.Descriptor instead.
2050func (*Patent) Descriptor() ([]byte, []int) {
2051	return file_google_cloud_talent_v4beta1_profile_proto_rawDescGZIP(), []int{14}
2052}
2053
2054func (x *Patent) GetDisplayName() string {
2055	if x != nil {
2056		return x.DisplayName
2057	}
2058	return ""
2059}
2060
2061func (x *Patent) GetInventors() []string {
2062	if x != nil {
2063		return x.Inventors
2064	}
2065	return nil
2066}
2067
2068func (x *Patent) GetPatentStatus() string {
2069	if x != nil {
2070		return x.PatentStatus
2071	}
2072	return ""
2073}
2074
2075func (x *Patent) GetPatentStatusDate() *date.Date {
2076	if x != nil {
2077		return x.PatentStatusDate
2078	}
2079	return nil
2080}
2081
2082func (x *Patent) GetPatentFilingDate() *date.Date {
2083	if x != nil {
2084		return x.PatentFilingDate
2085	}
2086	return nil
2087}
2088
2089func (x *Patent) GetPatentOffice() string {
2090	if x != nil {
2091		return x.PatentOffice
2092	}
2093	return ""
2094}
2095
2096func (x *Patent) GetPatentNumber() string {
2097	if x != nil {
2098		return x.PatentNumber
2099	}
2100	return ""
2101}
2102
2103func (x *Patent) GetPatentDescription() string {
2104	if x != nil {
2105		return x.PatentDescription
2106	}
2107	return ""
2108}
2109
2110func (x *Patent) GetSkillsUsed() []*Skill {
2111	if x != nil {
2112		return x.SkillsUsed
2113	}
2114	return nil
2115}
2116
2117// Resource that represents a person's structured name.
2118type PersonName_PersonStructuredName struct {
2119	state         protoimpl.MessageState
2120	sizeCache     protoimpl.SizeCache
2121	unknownFields protoimpl.UnknownFields
2122
2123	// Given/first name.
2124	//
2125	// It's derived from [formatted_name][google.cloud.talent.v4beta1.PersonName.formatted_name] if not provided.
2126	//
2127	// Number of characters allowed is 100.
2128	GivenName string `protobuf:"bytes,1,opt,name=given_name,json=givenName,proto3" json:"given_name,omitempty"`
2129	// Preferred given/first name or nickname.
2130	//
2131	// Number of characters allowed is 100.
2132	PreferredName string `protobuf:"bytes,6,opt,name=preferred_name,json=preferredName,proto3" json:"preferred_name,omitempty"`
2133	// Middle initial.
2134	//
2135	// It's derived from [formatted_name][google.cloud.talent.v4beta1.PersonName.formatted_name] if not provided.
2136	//
2137	// Number of characters allowed is 20.
2138	MiddleInitial string `protobuf:"bytes,2,opt,name=middle_initial,json=middleInitial,proto3" json:"middle_initial,omitempty"`
2139	// Family/last name.
2140	//
2141	// It's derived from [formatted_name][google.cloud.talent.v4beta1.PersonName.formatted_name] if not provided.
2142	//
2143	// Number of characters allowed is 100.
2144	FamilyName string `protobuf:"bytes,3,opt,name=family_name,json=familyName,proto3" json:"family_name,omitempty"`
2145	// Suffixes.
2146	//
2147	// Number of characters allowed is 20.
2148	Suffixes []string `protobuf:"bytes,4,rep,name=suffixes,proto3" json:"suffixes,omitempty"`
2149	// Prefixes.
2150	//
2151	// Number of characters allowed is 20.
2152	Prefixes []string `protobuf:"bytes,5,rep,name=prefixes,proto3" json:"prefixes,omitempty"`
2153}
2154
2155func (x *PersonName_PersonStructuredName) Reset() {
2156	*x = PersonName_PersonStructuredName{}
2157	if protoimpl.UnsafeEnabled {
2158		mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[16]
2159		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2160		ms.StoreMessageInfo(mi)
2161	}
2162}
2163
2164func (x *PersonName_PersonStructuredName) String() string {
2165	return protoimpl.X.MessageStringOf(x)
2166}
2167
2168func (*PersonName_PersonStructuredName) ProtoMessage() {}
2169
2170func (x *PersonName_PersonStructuredName) ProtoReflect() protoreflect.Message {
2171	mi := &file_google_cloud_talent_v4beta1_profile_proto_msgTypes[16]
2172	if protoimpl.UnsafeEnabled && x != nil {
2173		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2174		if ms.LoadMessageInfo() == nil {
2175			ms.StoreMessageInfo(mi)
2176		}
2177		return ms
2178	}
2179	return mi.MessageOf(x)
2180}
2181
2182// Deprecated: Use PersonName_PersonStructuredName.ProtoReflect.Descriptor instead.
2183func (*PersonName_PersonStructuredName) Descriptor() ([]byte, []int) {
2184	return file_google_cloud_talent_v4beta1_profile_proto_rawDescGZIP(), []int{3, 0}
2185}
2186
2187func (x *PersonName_PersonStructuredName) GetGivenName() string {
2188	if x != nil {
2189		return x.GivenName
2190	}
2191	return ""
2192}
2193
2194func (x *PersonName_PersonStructuredName) GetPreferredName() string {
2195	if x != nil {
2196		return x.PreferredName
2197	}
2198	return ""
2199}
2200
2201func (x *PersonName_PersonStructuredName) GetMiddleInitial() string {
2202	if x != nil {
2203		return x.MiddleInitial
2204	}
2205	return ""
2206}
2207
2208func (x *PersonName_PersonStructuredName) GetFamilyName() string {
2209	if x != nil {
2210		return x.FamilyName
2211	}
2212	return ""
2213}
2214
2215func (x *PersonName_PersonStructuredName) GetSuffixes() []string {
2216	if x != nil {
2217		return x.Suffixes
2218	}
2219	return nil
2220}
2221
2222func (x *PersonName_PersonStructuredName) GetPrefixes() []string {
2223	if x != nil {
2224		return x.Prefixes
2225	}
2226	return nil
2227}
2228
2229var File_google_cloud_talent_v4beta1_profile_proto protoreflect.FileDescriptor
2230
2231var file_google_cloud_talent_v4beta1_profile_proto_rawDesc = []byte{
2232	0x0a, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x74,
2233	0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2f, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x72,
2234	0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1b, 0x67, 0x6f, 0x6f,
2235	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74,
2236	0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2237	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76,
2238	0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2239	0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70,
2240	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f,
2241	0x75, 0x64, 0x2f, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2f, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61,
2242	0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e,
2243	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f,
2244	0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f,
2245	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f,
2246	0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
2247	0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
2248	0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
2249	0x16, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x64, 0x61, 0x74,
2250	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
2251	0x74, 0x79, 0x70, 0x65, 0x2f, 0x70, 0x6f, 0x73, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72,
2252	0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2253	0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
2254	0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa6, 0x11, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x66,
2255	0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
2256	0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72,
2257	0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78,
2258	0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72,
2259	0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
2260	0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75,
2261	0x72, 0x69, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x05,
2262	0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x39, 0x0a,
2263	0x0a, 0x69, 0x73, 0x5f, 0x68, 0x69, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
2264	0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
2265	0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x69,
2266	0x73, 0x48, 0x69, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61,
2267	0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
2268	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
2269	0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74,
2270	0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f,
2271	0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
2272	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
2273	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69,
2274	0x6d, 0x65, 0x12, 0x4e, 0x0a, 0x15, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f,
2275	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x43, 0x20, 0x01, 0x28,
2276	0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
2277	0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x13, 0x63,
2278	0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69,
2279	0x6d, 0x65, 0x12, 0x48, 0x0a, 0x12, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x5f, 0x75, 0x70, 0x64,
2280	0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x44, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
2281	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
2282	0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x10, 0x72, 0x65, 0x73, 0x75,
2283	0x6d, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x06,
2284	0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x18, 0x35, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67,
2285	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65,
2286	0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6d,
2287	0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x4a, 0x0a, 0x0c, 0x70, 0x65, 0x72,
2288	0x73, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32,
2289	0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74,
2290	0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x65,
2291	0x72, 0x73, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e,
2292	0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
2293	0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2294	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76,
2295	0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x09,
2296	0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x4b, 0x0a, 0x0f, 0x65, 0x6d, 0x61,
2297	0x69, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03,
2298	0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
2299	0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31,
2300	0x2e, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x0e, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x64, 0x64,
2301	0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x47, 0x0a, 0x0d, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f,
2302	0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e,
2303	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c,
2304	0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x68, 0x6f, 0x6e,
2305	0x65, 0x52, 0x0c, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12,
2306	0x4d, 0x0a, 0x0d, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x72, 0x69, 0x73,
2307	0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2308	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62,
2309	0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x72, 0x69,
2310	0x52, 0x0c, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x72, 0x69, 0x73, 0x12, 0x6a,
2311	0x0a, 0x17, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6e,
2312	0x74, 0x61, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32,
2313	0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74,
2314	0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x64,
2315	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x49,
2316	0x6e, 0x66, 0x6f, 0x52, 0x15, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43,
2317	0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5c, 0x0a, 0x12, 0x65, 0x6d,
2318	0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73,
2319	0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2320	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62,
2321	0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52,
2322	0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x11, 0x65, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e,
2323	0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x59, 0x0a, 0x11, 0x65, 0x64, 0x75, 0x63,
2324	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x12, 0x20,
2325	0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
2326	0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61,
2327	0x31, 0x2e, 0x45, 0x64, 0x75, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72,
2328	0x64, 0x52, 0x10, 0x65, 0x64, 0x75, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x63, 0x6f,
2329	0x72, 0x64, 0x73, 0x12, 0x3a, 0x0a, 0x06, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x18, 0x13, 0x20,
2330	0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
2331	0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61,
2332	0x31, 0x2e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x52, 0x06, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x12,
2333	0x45, 0x0a, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x14, 0x20,
2334	0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
2335	0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61,
2336	0x31, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69,
2337	0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x4c, 0x0a, 0x0c, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63,
2338	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67,
2339	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65,
2340	0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69,
2341	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74,
2342	0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3d, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18,
2343	0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
2344	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65,
2345	0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x70, 0x61, 0x74, 0x65,
2346	0x6e, 0x74, 0x73, 0x12, 0x52, 0x0a, 0x0e, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61,
2347	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f,
2348	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e,
2349	0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66,
2350	0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69,
2351	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x69,
2352	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x2f, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0,
2353	0x41, 0x03, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
2354	0x12, 0x25, 0x0a, 0x0b, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18,
2355	0x30, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x61, 0x73, 0x73, 0x69,
2356	0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x67, 0x0a, 0x11, 0x63, 0x75, 0x73, 0x74, 0x6f,
2357	0x6d, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x1a, 0x20, 0x03,
2358	0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
2359	0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31,
2360	0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41,
2361	0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10,
2362	0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73,
2363	0x12, 0x21, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x18, 0x1b, 0x20,
2364	0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73,
2365	0x73, 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x0f, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x73,
2366	0x6e, 0x69, 0x70, 0x70, 0x65, 0x74, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
2367	0x03, 0x52, 0x0e, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x53, 0x6e, 0x69, 0x70, 0x70, 0x65,
2368	0x74, 0x12, 0x67, 0x0a, 0x14, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74,
2369	0x79, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x18, 0x46, 0x20, 0x03, 0x28, 0x0b, 0x32,
2370	0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74,
2371	0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x76,
2372	0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c,
2373	0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x13, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c,
2374	0x69, 0x74, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, 0x12, 0x57, 0x0a, 0x11, 0x64, 0x65,
2375	0x72, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18,
2376	0x40, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
2377	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65,
2378	0x74, 0x61, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41,
2379	0x03, 0x52, 0x10, 0x64, 0x65, 0x72, 0x69, 0x76, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73,
2380	0x73, 0x65, 0x73, 0x1a, 0x71, 0x0a, 0x15, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x74, 0x74,
2381	0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
2382	0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x42,
2383	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e,
2384	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c,
2385	0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74,
2386	0x6f, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c,
2387	0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x58, 0xea, 0x41, 0x55, 0x0a, 0x1b, 0x6a, 0x6f, 0x62,
2388	0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
2389	0x2f, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x36, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
2390	0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x74, 0x65, 0x6e,
2391	0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x7d, 0x2f, 0x70, 0x72,
2392	0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x7d,
2393	0x22, 0xea, 0x01, 0x0a, 0x12, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74,
2394	0x79, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x12, 0x47, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18,
2395	0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
2396	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65,
2397	0x74, 0x61, 0x31, 0x2e, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79,
2398	0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65,
2399	0x12, 0x44, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f,
2400	0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
2401	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
2402	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61,
2403	0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x45, 0x0a, 0x10, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72,
2404	0x5f, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
2405	0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
2406	0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x66, 0x69,
2407	0x6c, 0x74, 0x65, 0x72, 0x53, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x64, 0x22, 0xd3, 0x01,
2408	0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x74, 0x72, 0x75,
2409	0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x18, 0x01, 0x20,
2410	0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x52,
2411	0x65, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x4f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x5f,
2412	0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f,
2413	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74,
2414	0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x2e,
2415	0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x75,
2416	0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x4b, 0x0a, 0x0a, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65,
2417	0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x52, 0x45, 0x53, 0x55, 0x4d, 0x45, 0x5f, 0x54,
2418	0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10,
2419	0x00, 0x12, 0x09, 0x0a, 0x05, 0x48, 0x52, 0x58, 0x4d, 0x4c, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11,
2420	0x4f, 0x54, 0x48, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4d, 0x45, 0x5f, 0x54, 0x59, 0x50,
2421	0x45, 0x10, 0x02, 0x22, 0xb3, 0x03, 0x0a, 0x0a, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4e, 0x61,
2422	0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x64, 0x5f,
2423	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x66, 0x6f,
2424	0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x67, 0x0a, 0x0f, 0x73,
2425	0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02,
2426	0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
2427	0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74,
2428	0x61, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x2e, 0x50, 0x65,
2429	0x72, 0x73, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x4e, 0x61,
2430	0x6d, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64,
2431	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65,
2432	0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72,
2433	0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0xdc, 0x01, 0x0a, 0x14,
2434	0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64,
2435	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x5f, 0x6e, 0x61,
2436	0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x4e,
2437	0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64,
2438	0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x65,
2439	0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x69,
2440	0x64, 0x64, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01,
2441	0x28, 0x09, 0x52, 0x0d, 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61,
2442	0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
2443	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x4e, 0x61,
2444	0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x65, 0x73, 0x18, 0x04,
2445	0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x65, 0x73, 0x12, 0x1a,
2446	0x0a, 0x08, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09,
2447	0x52, 0x08, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x70, 0x65,
2448	0x72, 0x73, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x91, 0x02, 0x0a, 0x07, 0x41, 0x64,
2449	0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x43, 0x0a, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01,
2450	0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
2451	0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74,
2452	0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x55, 0x73,
2453	0x61, 0x67, 0x65, 0x52, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x12, 0x33, 0x0a, 0x14, 0x75, 0x6e,
2454	0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65,
2455	0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x13, 0x75, 0x6e, 0x73, 0x74,
2456	0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12,
2457	0x4b, 0x0a, 0x12, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x64,
2458	0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
2459	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x61, 0x6c,
2460	0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x11, 0x73, 0x74, 0x72, 0x75, 0x63,
2461	0x74, 0x75, 0x72, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x34, 0x0a, 0x07,
2462	0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
2463	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
2464	0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65,
2465	0x6e, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x71, 0x0a,
2466	0x05, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x43, 0x0a, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18,
2467	0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
2468	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65,
2469	0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x55,
2470	0x73, 0x61, 0x67, 0x65, 0x52, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65,
2471	0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01,
2472	0x28, 0x09, 0x52, 0x0c, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
2473	0x22, 0xf3, 0x02, 0x0a, 0x05, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x43, 0x0a, 0x05, 0x75, 0x73,
2474	0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2475	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e,
2476	0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x49,
2477	0x6e, 0x66, 0x6f, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x12,
2478	0x40, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e,
2479	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c,
2480	0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x68, 0x6f, 0x6e,
2481	0x65, 0x2e, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70,
2482	0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28,
2483	0x09, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x77, 0x68, 0x65,
2484	0x6e, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
2485	0x09, 0x52, 0x0d, 0x77, 0x68, 0x65, 0x6e, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65,
2486	0x22, 0xa3, 0x01, 0x0a, 0x09, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a,
2487	0x0a, 0x16, 0x50, 0x48, 0x4f, 0x4e, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53,
2488	0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x4c, 0x41,
2489	0x4e, 0x44, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x4f, 0x42, 0x49,
2490	0x4c, 0x45, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x46, 0x41, 0x58, 0x10, 0x03, 0x12, 0x09, 0x0a,
2491	0x05, 0x50, 0x41, 0x47, 0x45, 0x52, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x54, 0x59, 0x5f,
2492	0x4f, 0x52, 0x5f, 0x54, 0x44, 0x44, 0x10, 0x05, 0x12, 0x0d, 0x0a, 0x09, 0x56, 0x4f, 0x49, 0x43,
2493	0x45, 0x4d, 0x41, 0x49, 0x4c, 0x10, 0x06, 0x12, 0x0b, 0x0a, 0x07, 0x56, 0x49, 0x52, 0x54, 0x55,
2494	0x41, 0x4c, 0x10, 0x07, 0x12, 0x08, 0x0a, 0x04, 0x56, 0x4f, 0x49, 0x50, 0x10, 0x08, 0x12, 0x16,
2495	0x0a, 0x12, 0x4d, 0x4f, 0x42, 0x49, 0x4c, 0x45, 0x5f, 0x4f, 0x52, 0x5f, 0x4c, 0x41, 0x4e, 0x44,
2496	0x4c, 0x49, 0x4e, 0x45, 0x10, 0x09, 0x22, 0x1f, 0x0a, 0x0b, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e,
2497	0x61, 0x6c, 0x55, 0x72, 0x69, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01,
2498	0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x22, 0x8f, 0x01, 0x0a, 0x15, 0x41, 0x64, 0x64, 0x69,
2499	0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66,
2500	0x6f, 0x12, 0x43, 0x0a, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e,
2501	0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
2502	0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43,
2503	0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52,
2504	0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02,
2505	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f,
2506	0x6e, 0x74, 0x61, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
2507	0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x49, 0x64, 0x22, 0xab, 0x05, 0x0a, 0x10, 0x45, 0x6d,
2508	0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x30,
2509	0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01,
2510	0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65,
2511	0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65,
2512	0x12, 0x2c, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01,
2513	0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65,
2514	0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x23,
2515	0x0a, 0x0d, 0x65, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
2516	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x72, 0x4e,
2517	0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x69, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f,
2518	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x69, 0x76, 0x69,
2519	0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72,
2520	0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2521	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e,
2522	0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52,
2523	0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6a, 0x6f, 0x62, 0x5f,
2524	0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6a, 0x6f, 0x62,
2525	0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x6a, 0x6f, 0x62, 0x5f, 0x64, 0x65, 0x73,
2526	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e,
2527	0x6a, 0x6f, 0x62, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f,
2528	0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x73, 0x75, 0x70, 0x65, 0x72, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x18,
2529	0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
2530	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75,
2531	0x65, 0x52, 0x0c, 0x69, 0x73, 0x53, 0x75, 0x70, 0x65, 0x72, 0x76, 0x69, 0x73, 0x6f, 0x72, 0x12,
2532	0x44, 0x0a, 0x10, 0x69, 0x73, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x65, 0x6d, 0x70, 0x6c, 0x6f,
2533	0x79, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2534	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c,
2535	0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x69, 0x73, 0x53, 0x65, 0x6c, 0x66, 0x45, 0x6d, 0x70,
2536	0x6c, 0x6f, 0x79, 0x65, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x63, 0x75, 0x72, 0x72,
2537	0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2538	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c,
2539	0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x69, 0x73, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74,
2540	0x12, 0x2f, 0x0a, 0x11, 0x6a, 0x6f, 0x62, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x5f, 0x73, 0x6e,
2541	0x69, 0x70, 0x70, 0x65, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03,
2542	0x52, 0x0f, 0x6a, 0x6f, 0x62, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x53, 0x6e, 0x69, 0x70, 0x70, 0x65,
2543	0x74, 0x12, 0x3b, 0x0a, 0x17, 0x6a, 0x6f, 0x62, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
2544	0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x6e, 0x69, 0x70, 0x70, 0x65, 0x74, 0x18, 0x0c, 0x20, 0x01,
2545	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x15, 0x6a, 0x6f, 0x62, 0x44, 0x65, 0x73, 0x63,
2546	0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6e, 0x69, 0x70, 0x70, 0x65, 0x74, 0x12, 0x37,
2547	0x0a, 0x15, 0x65, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f,
2548	0x73, 0x6e, 0x69, 0x70, 0x70, 0x65, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
2549	0x41, 0x03, 0x52, 0x13, 0x65, 0x6d, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65,
2550	0x53, 0x6e, 0x69, 0x70, 0x70, 0x65, 0x74, 0x22, 0xec, 0x04, 0x0a, 0x0f, 0x45, 0x64, 0x75, 0x63,
2551	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x30, 0x0a, 0x0a, 0x73,
2552	0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
2553	0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x61,
2554	0x74, 0x65, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x2c, 0x0a,
2555	0x08, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
2556	0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x61,
2557	0x74, 0x65, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x4b, 0x0a, 0x18, 0x65,
2558	0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x67, 0x72, 0x61, 0x64, 0x75, 0x61, 0x74, 0x69,
2559	0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e,
2560	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65,
2561	0x52, 0x16, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x47, 0x72, 0x61, 0x64, 0x75, 0x61,
2562	0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x6f,
2563	0x6f, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73,
2564	0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x07, 0x61, 0x64, 0x64,
2565	0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f,
2566	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74,
2567	0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
2568	0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2f, 0x0a, 0x12, 0x64, 0x65, 0x67,
2569	0x72, 0x65, 0x65, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18,
2570	0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x44,
2571	0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x52, 0x0a, 0x11, 0x73, 0x74,
2572	0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x18,
2573	0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
2574	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65,
2575	0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x67, 0x72, 0x65, 0x65, 0x48, 0x00, 0x52, 0x10, 0x73, 0x74,
2576	0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x64, 0x44, 0x65, 0x67, 0x72, 0x65, 0x65, 0x12, 0x20,
2577	0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20,
2578	0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
2579	0x12, 0x39, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x09,
2580	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
2581	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65,
2582	0x52, 0x09, 0x69, 0x73, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x33, 0x0a, 0x13, 0x73,
2583	0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x6e, 0x69, 0x70, 0x70,
2584	0x65, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x11, 0x73,
2585	0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x6e, 0x69, 0x70, 0x70, 0x65, 0x74,
2586	0x12, 0x2a, 0x0a, 0x0e, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x5f, 0x73, 0x6e, 0x69, 0x70, 0x70,
2587	0x65, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d, 0x64,
2588	0x65, 0x67, 0x72, 0x65, 0x65, 0x53, 0x6e, 0x69, 0x70, 0x70, 0x65, 0x74, 0x42, 0x08, 0x0a, 0x06,
2589	0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x22, 0x9b, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x67, 0x72, 0x65,
2590	0x65, 0x12, 0x48, 0x0a, 0x0b, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65,
2591	0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2592	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62,
2593	0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x67, 0x72, 0x65, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52,
2594	0x0a, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x64,
2595	0x65, 0x67, 0x72, 0x65, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
2596	0x52, 0x0a, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f,
2597	0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x5f, 0x6f, 0x66, 0x5f, 0x73, 0x74, 0x75, 0x64, 0x79, 0x18,
2598	0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x4f, 0x66, 0x53,
2599	0x74, 0x75, 0x64, 0x79, 0x22, 0xe6, 0x03, 0x0a, 0x08, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
2600	0x79, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d,
2601	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79,
2602	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
2603	0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72,
2604	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20,
2605	0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x32, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61,
2606	0x74, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e,
2607	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65,
2608	0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x32, 0x0a, 0x0b,
2609	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
2610	0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e,
2611	0x44, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x65,
2612	0x12, 0x21, 0x0a, 0x0c, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73,
2613	0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x6d, 0x62,
2614	0x65, 0x72, 0x73, 0x12, 0x43, 0x0a, 0x0b, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x5f, 0x75, 0x73,
2615	0x65, 0x64, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2616	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76,
2617	0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x52, 0x0a, 0x73, 0x6b,
2618	0x69, 0x6c, 0x6c, 0x73, 0x55, 0x73, 0x65, 0x64, 0x12, 0x37, 0x0a, 0x15, 0x61, 0x63, 0x74, 0x69,
2619	0x76, 0x69, 0x74, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x6e, 0x69, 0x70, 0x70, 0x65,
2620	0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x13, 0x61, 0x63,
2621	0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x6e, 0x69, 0x70, 0x70, 0x65,
2622	0x74, 0x12, 0x45, 0x0a, 0x1c, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x65,
2623	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x6e, 0x69, 0x70, 0x70, 0x65,
2624	0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x1a, 0x61, 0x63,
2625	0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
2626	0x6e, 0x53, 0x6e, 0x69, 0x70, 0x70, 0x65, 0x74, 0x12, 0x33, 0x0a, 0x13, 0x73, 0x6b, 0x69, 0x6c,
2627	0x6c, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x73, 0x6e, 0x69, 0x70, 0x70, 0x65, 0x74, 0x18,
2628	0x0a, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x11, 0x73, 0x6b, 0x69, 0x6c,
2629	0x6c, 0x73, 0x55, 0x73, 0x65, 0x64, 0x53, 0x6e, 0x69, 0x70, 0x70, 0x65, 0x74, 0x22, 0xac, 0x02,
2630	0x0a, 0x0b, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a,
2631	0x07, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07,
2632	0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65,
2633	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x20, 0x0a,
2634	0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01,
2635	0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12,
2636	0x18, 0x0a, 0x07, 0x6a, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
2637	0x52, 0x07, 0x6a, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x6f, 0x6c,
2638	0x75, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d,
2639	0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x18, 0x06,
2640	0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x12,
2641	0x3c, 0x0a, 0x10, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64,
2642	0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2643	0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x0f, 0x70, 0x75,
2644	0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x29, 0x0a,
2645	0x10, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70,
2646	0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61,
2647	0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x62, 0x6e,
2648	0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x73, 0x62, 0x6e, 0x22, 0xae, 0x03, 0x0a,
2649	0x06, 0x50, 0x61, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c,
2650	0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64,
2651	0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e,
2652	0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x69,
2653	0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x61, 0x74, 0x65,
2654	0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
2655	0x0c, 0x70, 0x61, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3f, 0x0a,
2656	0x12, 0x70, 0x61, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x64,
2657	0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2658	0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x10, 0x70, 0x61,
2659	0x74, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3f,
2660	0x0a, 0x12, 0x70, 0x61, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x5f,
2661	0x64, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f,
2662	0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x10, 0x70,
2663	0x61, 0x74, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x65, 0x12,
2664	0x23, 0x0a, 0x0d, 0x70, 0x61, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x65,
2665	0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x61, 0x74, 0x65, 0x6e, 0x74, 0x4f, 0x66,
2666	0x66, 0x69, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x61, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6e,
2667	0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x61, 0x74,
2668	0x65, 0x6e, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x61, 0x74,
2669	0x65, 0x6e, 0x74, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18,
2670	0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x70, 0x61, 0x74, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x73,
2671	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x0b, 0x73, 0x6b, 0x69, 0x6c,
2672	0x6c, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e,
2673	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c,
2674	0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x6b, 0x69, 0x6c,
2675	0x6c, 0x52, 0x0a, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x73, 0x55, 0x73, 0x65, 0x64, 0x42, 0x82, 0x01,
2676	0x0a, 0x1f, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
2677	0x75, 0x64, 0x2e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x34, 0x62, 0x65, 0x74, 0x61,
2678	0x31, 0x42, 0x14, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72,
2679	0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2680	0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e,
2681	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
2682	0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x2f, 0x76, 0x34,
2683	0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0xa2, 0x02, 0x03, 0x43,
2684	0x54, 0x53, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
2685}
2686
2687var (
2688	file_google_cloud_talent_v4beta1_profile_proto_rawDescOnce sync.Once
2689	file_google_cloud_talent_v4beta1_profile_proto_rawDescData = file_google_cloud_talent_v4beta1_profile_proto_rawDesc
2690)
2691
2692func file_google_cloud_talent_v4beta1_profile_proto_rawDescGZIP() []byte {
2693	file_google_cloud_talent_v4beta1_profile_proto_rawDescOnce.Do(func() {
2694		file_google_cloud_talent_v4beta1_profile_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_talent_v4beta1_profile_proto_rawDescData)
2695	})
2696	return file_google_cloud_talent_v4beta1_profile_proto_rawDescData
2697}
2698
2699var file_google_cloud_talent_v4beta1_profile_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
2700var file_google_cloud_talent_v4beta1_profile_proto_msgTypes = make([]protoimpl.MessageInfo, 17)
2701var file_google_cloud_talent_v4beta1_profile_proto_goTypes = []interface{}{
2702	(Resume_ResumeType)(0),                  // 0: google.cloud.talent.v4beta1.Resume.ResumeType
2703	(Phone_PhoneType)(0),                    // 1: google.cloud.talent.v4beta1.Phone.PhoneType
2704	(*Profile)(nil),                         // 2: google.cloud.talent.v4beta1.Profile
2705	(*AvailabilitySignal)(nil),              // 3: google.cloud.talent.v4beta1.AvailabilitySignal
2706	(*Resume)(nil),                          // 4: google.cloud.talent.v4beta1.Resume
2707	(*PersonName)(nil),                      // 5: google.cloud.talent.v4beta1.PersonName
2708	(*Address)(nil),                         // 6: google.cloud.talent.v4beta1.Address
2709	(*Email)(nil),                           // 7: google.cloud.talent.v4beta1.Email
2710	(*Phone)(nil),                           // 8: google.cloud.talent.v4beta1.Phone
2711	(*PersonalUri)(nil),                     // 9: google.cloud.talent.v4beta1.PersonalUri
2712	(*AdditionalContactInfo)(nil),           // 10: google.cloud.talent.v4beta1.AdditionalContactInfo
2713	(*EmploymentRecord)(nil),                // 11: google.cloud.talent.v4beta1.EmploymentRecord
2714	(*EducationRecord)(nil),                 // 12: google.cloud.talent.v4beta1.EducationRecord
2715	(*Degree)(nil),                          // 13: google.cloud.talent.v4beta1.Degree
2716	(*Activity)(nil),                        // 14: google.cloud.talent.v4beta1.Activity
2717	(*Publication)(nil),                     // 15: google.cloud.talent.v4beta1.Publication
2718	(*Patent)(nil),                          // 16: google.cloud.talent.v4beta1.Patent
2719	nil,                                     // 17: google.cloud.talent.v4beta1.Profile.CustomAttributesEntry
2720	(*PersonName_PersonStructuredName)(nil), // 18: google.cloud.talent.v4beta1.PersonName.PersonStructuredName
2721	(*wrappers.BoolValue)(nil),              // 19: google.protobuf.BoolValue
2722	(*timestamp.Timestamp)(nil),             // 20: google.protobuf.Timestamp
2723	(*Skill)(nil),                           // 21: google.cloud.talent.v4beta1.Skill
2724	(*Certification)(nil),                   // 22: google.cloud.talent.v4beta1.Certification
2725	(*Location)(nil),                        // 23: google.cloud.talent.v4beta1.Location
2726	(AvailabilitySignalType)(0),             // 24: google.cloud.talent.v4beta1.AvailabilitySignalType
2727	(ContactInfoUsage)(0),                   // 25: google.cloud.talent.v4beta1.ContactInfoUsage
2728	(*postaladdress.PostalAddress)(nil),     // 26: google.type.PostalAddress
2729	(*date.Date)(nil),                       // 27: google.type.Date
2730	(DegreeType)(0),                         // 28: google.cloud.talent.v4beta1.DegreeType
2731	(*CustomAttribute)(nil),                 // 29: google.cloud.talent.v4beta1.CustomAttribute
2732}
2733var file_google_cloud_talent_v4beta1_profile_proto_depIdxs = []int32{
2734	19, // 0: google.cloud.talent.v4beta1.Profile.is_hirable:type_name -> google.protobuf.BoolValue
2735	20, // 1: google.cloud.talent.v4beta1.Profile.create_time:type_name -> google.protobuf.Timestamp
2736	20, // 2: google.cloud.talent.v4beta1.Profile.update_time:type_name -> google.protobuf.Timestamp
2737	20, // 3: google.cloud.talent.v4beta1.Profile.candidate_update_time:type_name -> google.protobuf.Timestamp
2738	20, // 4: google.cloud.talent.v4beta1.Profile.resume_update_time:type_name -> google.protobuf.Timestamp
2739	4,  // 5: google.cloud.talent.v4beta1.Profile.resume:type_name -> google.cloud.talent.v4beta1.Resume
2740	5,  // 6: google.cloud.talent.v4beta1.Profile.person_names:type_name -> google.cloud.talent.v4beta1.PersonName
2741	6,  // 7: google.cloud.talent.v4beta1.Profile.addresses:type_name -> google.cloud.talent.v4beta1.Address
2742	7,  // 8: google.cloud.talent.v4beta1.Profile.email_addresses:type_name -> google.cloud.talent.v4beta1.Email
2743	8,  // 9: google.cloud.talent.v4beta1.Profile.phone_numbers:type_name -> google.cloud.talent.v4beta1.Phone
2744	9,  // 10: google.cloud.talent.v4beta1.Profile.personal_uris:type_name -> google.cloud.talent.v4beta1.PersonalUri
2745	10, // 11: google.cloud.talent.v4beta1.Profile.additional_contact_info:type_name -> google.cloud.talent.v4beta1.AdditionalContactInfo
2746	11, // 12: google.cloud.talent.v4beta1.Profile.employment_records:type_name -> google.cloud.talent.v4beta1.EmploymentRecord
2747	12, // 13: google.cloud.talent.v4beta1.Profile.education_records:type_name -> google.cloud.talent.v4beta1.EducationRecord
2748	21, // 14: google.cloud.talent.v4beta1.Profile.skills:type_name -> google.cloud.talent.v4beta1.Skill
2749	14, // 15: google.cloud.talent.v4beta1.Profile.activities:type_name -> google.cloud.talent.v4beta1.Activity
2750	15, // 16: google.cloud.talent.v4beta1.Profile.publications:type_name -> google.cloud.talent.v4beta1.Publication
2751	16, // 17: google.cloud.talent.v4beta1.Profile.patents:type_name -> google.cloud.talent.v4beta1.Patent
2752	22, // 18: google.cloud.talent.v4beta1.Profile.certifications:type_name -> google.cloud.talent.v4beta1.Certification
2753	17, // 19: google.cloud.talent.v4beta1.Profile.custom_attributes:type_name -> google.cloud.talent.v4beta1.Profile.CustomAttributesEntry
2754	3,  // 20: google.cloud.talent.v4beta1.Profile.availability_signals:type_name -> google.cloud.talent.v4beta1.AvailabilitySignal
2755	23, // 21: google.cloud.talent.v4beta1.Profile.derived_addresses:type_name -> google.cloud.talent.v4beta1.Location
2756	24, // 22: google.cloud.talent.v4beta1.AvailabilitySignal.type:type_name -> google.cloud.talent.v4beta1.AvailabilitySignalType
2757	20, // 23: google.cloud.talent.v4beta1.AvailabilitySignal.last_update_time:type_name -> google.protobuf.Timestamp
2758	19, // 24: google.cloud.talent.v4beta1.AvailabilitySignal.filter_satisfied:type_name -> google.protobuf.BoolValue
2759	0,  // 25: google.cloud.talent.v4beta1.Resume.resume_type:type_name -> google.cloud.talent.v4beta1.Resume.ResumeType
2760	18, // 26: google.cloud.talent.v4beta1.PersonName.structured_name:type_name -> google.cloud.talent.v4beta1.PersonName.PersonStructuredName
2761	25, // 27: google.cloud.talent.v4beta1.Address.usage:type_name -> google.cloud.talent.v4beta1.ContactInfoUsage
2762	26, // 28: google.cloud.talent.v4beta1.Address.structured_address:type_name -> google.type.PostalAddress
2763	19, // 29: google.cloud.talent.v4beta1.Address.current:type_name -> google.protobuf.BoolValue
2764	25, // 30: google.cloud.talent.v4beta1.Email.usage:type_name -> google.cloud.talent.v4beta1.ContactInfoUsage
2765	25, // 31: google.cloud.talent.v4beta1.Phone.usage:type_name -> google.cloud.talent.v4beta1.ContactInfoUsage
2766	1,  // 32: google.cloud.talent.v4beta1.Phone.type:type_name -> google.cloud.talent.v4beta1.Phone.PhoneType
2767	25, // 33: google.cloud.talent.v4beta1.AdditionalContactInfo.usage:type_name -> google.cloud.talent.v4beta1.ContactInfoUsage
2768	27, // 34: google.cloud.talent.v4beta1.EmploymentRecord.start_date:type_name -> google.type.Date
2769	27, // 35: google.cloud.talent.v4beta1.EmploymentRecord.end_date:type_name -> google.type.Date
2770	6,  // 36: google.cloud.talent.v4beta1.EmploymentRecord.address:type_name -> google.cloud.talent.v4beta1.Address
2771	19, // 37: google.cloud.talent.v4beta1.EmploymentRecord.is_supervisor:type_name -> google.protobuf.BoolValue
2772	19, // 38: google.cloud.talent.v4beta1.EmploymentRecord.is_self_employed:type_name -> google.protobuf.BoolValue
2773	19, // 39: google.cloud.talent.v4beta1.EmploymentRecord.is_current:type_name -> google.protobuf.BoolValue
2774	27, // 40: google.cloud.talent.v4beta1.EducationRecord.start_date:type_name -> google.type.Date
2775	27, // 41: google.cloud.talent.v4beta1.EducationRecord.end_date:type_name -> google.type.Date
2776	27, // 42: google.cloud.talent.v4beta1.EducationRecord.expected_graduation_date:type_name -> google.type.Date
2777	6,  // 43: google.cloud.talent.v4beta1.EducationRecord.address:type_name -> google.cloud.talent.v4beta1.Address
2778	13, // 44: google.cloud.talent.v4beta1.EducationRecord.structured_degree:type_name -> google.cloud.talent.v4beta1.Degree
2779	19, // 45: google.cloud.talent.v4beta1.EducationRecord.is_current:type_name -> google.protobuf.BoolValue
2780	28, // 46: google.cloud.talent.v4beta1.Degree.degree_type:type_name -> google.cloud.talent.v4beta1.DegreeType
2781	27, // 47: google.cloud.talent.v4beta1.Activity.create_date:type_name -> google.type.Date
2782	27, // 48: google.cloud.talent.v4beta1.Activity.update_date:type_name -> google.type.Date
2783	21, // 49: google.cloud.talent.v4beta1.Activity.skills_used:type_name -> google.cloud.talent.v4beta1.Skill
2784	27, // 50: google.cloud.talent.v4beta1.Publication.publication_date:type_name -> google.type.Date
2785	27, // 51: google.cloud.talent.v4beta1.Patent.patent_status_date:type_name -> google.type.Date
2786	27, // 52: google.cloud.talent.v4beta1.Patent.patent_filing_date:type_name -> google.type.Date
2787	21, // 53: google.cloud.talent.v4beta1.Patent.skills_used:type_name -> google.cloud.talent.v4beta1.Skill
2788	29, // 54: google.cloud.talent.v4beta1.Profile.CustomAttributesEntry.value:type_name -> google.cloud.talent.v4beta1.CustomAttribute
2789	55, // [55:55] is the sub-list for method output_type
2790	55, // [55:55] is the sub-list for method input_type
2791	55, // [55:55] is the sub-list for extension type_name
2792	55, // [55:55] is the sub-list for extension extendee
2793	0,  // [0:55] is the sub-list for field type_name
2794}
2795
2796func init() { file_google_cloud_talent_v4beta1_profile_proto_init() }
2797func file_google_cloud_talent_v4beta1_profile_proto_init() {
2798	if File_google_cloud_talent_v4beta1_profile_proto != nil {
2799		return
2800	}
2801	file_google_cloud_talent_v4beta1_common_proto_init()
2802	if !protoimpl.UnsafeEnabled {
2803		file_google_cloud_talent_v4beta1_profile_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
2804			switch v := v.(*Profile); i {
2805			case 0:
2806				return &v.state
2807			case 1:
2808				return &v.sizeCache
2809			case 2:
2810				return &v.unknownFields
2811			default:
2812				return nil
2813			}
2814		}
2815		file_google_cloud_talent_v4beta1_profile_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
2816			switch v := v.(*AvailabilitySignal); i {
2817			case 0:
2818				return &v.state
2819			case 1:
2820				return &v.sizeCache
2821			case 2:
2822				return &v.unknownFields
2823			default:
2824				return nil
2825			}
2826		}
2827		file_google_cloud_talent_v4beta1_profile_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
2828			switch v := v.(*Resume); i {
2829			case 0:
2830				return &v.state
2831			case 1:
2832				return &v.sizeCache
2833			case 2:
2834				return &v.unknownFields
2835			default:
2836				return nil
2837			}
2838		}
2839		file_google_cloud_talent_v4beta1_profile_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
2840			switch v := v.(*PersonName); i {
2841			case 0:
2842				return &v.state
2843			case 1:
2844				return &v.sizeCache
2845			case 2:
2846				return &v.unknownFields
2847			default:
2848				return nil
2849			}
2850		}
2851		file_google_cloud_talent_v4beta1_profile_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
2852			switch v := v.(*Address); i {
2853			case 0:
2854				return &v.state
2855			case 1:
2856				return &v.sizeCache
2857			case 2:
2858				return &v.unknownFields
2859			default:
2860				return nil
2861			}
2862		}
2863		file_google_cloud_talent_v4beta1_profile_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
2864			switch v := v.(*Email); i {
2865			case 0:
2866				return &v.state
2867			case 1:
2868				return &v.sizeCache
2869			case 2:
2870				return &v.unknownFields
2871			default:
2872				return nil
2873			}
2874		}
2875		file_google_cloud_talent_v4beta1_profile_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
2876			switch v := v.(*Phone); i {
2877			case 0:
2878				return &v.state
2879			case 1:
2880				return &v.sizeCache
2881			case 2:
2882				return &v.unknownFields
2883			default:
2884				return nil
2885			}
2886		}
2887		file_google_cloud_talent_v4beta1_profile_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
2888			switch v := v.(*PersonalUri); i {
2889			case 0:
2890				return &v.state
2891			case 1:
2892				return &v.sizeCache
2893			case 2:
2894				return &v.unknownFields
2895			default:
2896				return nil
2897			}
2898		}
2899		file_google_cloud_talent_v4beta1_profile_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
2900			switch v := v.(*AdditionalContactInfo); i {
2901			case 0:
2902				return &v.state
2903			case 1:
2904				return &v.sizeCache
2905			case 2:
2906				return &v.unknownFields
2907			default:
2908				return nil
2909			}
2910		}
2911		file_google_cloud_talent_v4beta1_profile_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
2912			switch v := v.(*EmploymentRecord); i {
2913			case 0:
2914				return &v.state
2915			case 1:
2916				return &v.sizeCache
2917			case 2:
2918				return &v.unknownFields
2919			default:
2920				return nil
2921			}
2922		}
2923		file_google_cloud_talent_v4beta1_profile_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
2924			switch v := v.(*EducationRecord); i {
2925			case 0:
2926				return &v.state
2927			case 1:
2928				return &v.sizeCache
2929			case 2:
2930				return &v.unknownFields
2931			default:
2932				return nil
2933			}
2934		}
2935		file_google_cloud_talent_v4beta1_profile_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
2936			switch v := v.(*Degree); i {
2937			case 0:
2938				return &v.state
2939			case 1:
2940				return &v.sizeCache
2941			case 2:
2942				return &v.unknownFields
2943			default:
2944				return nil
2945			}
2946		}
2947		file_google_cloud_talent_v4beta1_profile_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
2948			switch v := v.(*Activity); i {
2949			case 0:
2950				return &v.state
2951			case 1:
2952				return &v.sizeCache
2953			case 2:
2954				return &v.unknownFields
2955			default:
2956				return nil
2957			}
2958		}
2959		file_google_cloud_talent_v4beta1_profile_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
2960			switch v := v.(*Publication); i {
2961			case 0:
2962				return &v.state
2963			case 1:
2964				return &v.sizeCache
2965			case 2:
2966				return &v.unknownFields
2967			default:
2968				return nil
2969			}
2970		}
2971		file_google_cloud_talent_v4beta1_profile_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
2972			switch v := v.(*Patent); i {
2973			case 0:
2974				return &v.state
2975			case 1:
2976				return &v.sizeCache
2977			case 2:
2978				return &v.unknownFields
2979			default:
2980				return nil
2981			}
2982		}
2983		file_google_cloud_talent_v4beta1_profile_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
2984			switch v := v.(*PersonName_PersonStructuredName); i {
2985			case 0:
2986				return &v.state
2987			case 1:
2988				return &v.sizeCache
2989			case 2:
2990				return &v.unknownFields
2991			default:
2992				return nil
2993			}
2994		}
2995	}
2996	file_google_cloud_talent_v4beta1_profile_proto_msgTypes[3].OneofWrappers = []interface{}{
2997		(*PersonName_FormattedName)(nil),
2998		(*PersonName_StructuredName)(nil),
2999	}
3000	file_google_cloud_talent_v4beta1_profile_proto_msgTypes[4].OneofWrappers = []interface{}{
3001		(*Address_UnstructuredAddress)(nil),
3002		(*Address_StructuredAddress)(nil),
3003	}
3004	file_google_cloud_talent_v4beta1_profile_proto_msgTypes[10].OneofWrappers = []interface{}{
3005		(*EducationRecord_DegreeDescription)(nil),
3006		(*EducationRecord_StructuredDegree)(nil),
3007	}
3008	type x struct{}
3009	out := protoimpl.TypeBuilder{
3010		File: protoimpl.DescBuilder{
3011			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
3012			RawDescriptor: file_google_cloud_talent_v4beta1_profile_proto_rawDesc,
3013			NumEnums:      2,
3014			NumMessages:   17,
3015			NumExtensions: 0,
3016			NumServices:   0,
3017		},
3018		GoTypes:           file_google_cloud_talent_v4beta1_profile_proto_goTypes,
3019		DependencyIndexes: file_google_cloud_talent_v4beta1_profile_proto_depIdxs,
3020		EnumInfos:         file_google_cloud_talent_v4beta1_profile_proto_enumTypes,
3021		MessageInfos:      file_google_cloud_talent_v4beta1_profile_proto_msgTypes,
3022	}.Build()
3023	File_google_cloud_talent_v4beta1_profile_proto = out.File
3024	file_google_cloud_talent_v4beta1_profile_proto_rawDesc = nil
3025	file_google_cloud_talent_v4beta1_profile_proto_goTypes = nil
3026	file_google_cloud_talent_v4beta1_profile_proto_depIdxs = nil
3027}
3028