Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 
 

2086 Zeilen
82 KiB

  1. // Code generated by protoc-gen-go. DO NOT EDIT.
  2. // source: google/cloud/talent/v4beta1/filters.proto
  3. package talent // import "google.golang.org/genproto/googleapis/cloud/talent/v4beta1"
  4. import proto "github.com/golang/protobuf/proto"
  5. import fmt "fmt"
  6. import math "math"
  7. import duration "github.com/golang/protobuf/ptypes/duration"
  8. import timestamp "github.com/golang/protobuf/ptypes/timestamp"
  9. import wrappers "github.com/golang/protobuf/ptypes/wrappers"
  10. import _ "google.golang.org/genproto/googleapis/api/annotations"
  11. import date "google.golang.org/genproto/googleapis/type/date"
  12. import latlng "google.golang.org/genproto/googleapis/type/latlng"
  13. import timeofday "google.golang.org/genproto/googleapis/type/timeofday"
  14. // Reference imports to suppress errors if they are not otherwise used.
  15. var _ = proto.Marshal
  16. var _ = fmt.Errorf
  17. var _ = math.Inf
  18. // This is a compile-time assertion to ensure that this generated file
  19. // is compatible with the proto package it is being compiled against.
  20. // A compilation error at this line likely means your copy of the
  21. // proto package needs to be updated.
  22. const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
  23. // Specify whether including telecommute jobs.
  24. type LocationFilter_TelecommutePreference int32
  25. const (
  26. // Default value if the telecommute preference isn't specified.
  27. LocationFilter_TELECOMMUTE_PREFERENCE_UNSPECIFIED LocationFilter_TelecommutePreference = 0
  28. // Exclude telecommute jobs.
  29. LocationFilter_TELECOMMUTE_EXCLUDED LocationFilter_TelecommutePreference = 1
  30. // Allow telecommute jobs.
  31. LocationFilter_TELECOMMUTE_ALLOWED LocationFilter_TelecommutePreference = 2
  32. )
  33. var LocationFilter_TelecommutePreference_name = map[int32]string{
  34. 0: "TELECOMMUTE_PREFERENCE_UNSPECIFIED",
  35. 1: "TELECOMMUTE_EXCLUDED",
  36. 2: "TELECOMMUTE_ALLOWED",
  37. }
  38. var LocationFilter_TelecommutePreference_value = map[string]int32{
  39. "TELECOMMUTE_PREFERENCE_UNSPECIFIED": 0,
  40. "TELECOMMUTE_EXCLUDED": 1,
  41. "TELECOMMUTE_ALLOWED": 2,
  42. }
  43. func (x LocationFilter_TelecommutePreference) String() string {
  44. return proto.EnumName(LocationFilter_TelecommutePreference_name, int32(x))
  45. }
  46. func (LocationFilter_TelecommutePreference) EnumDescriptor() ([]byte, []int) {
  47. return fileDescriptor_filters_9504d8acbf3fff11, []int{2, 0}
  48. }
  49. // Specify the type of filtering.
  50. type CompensationFilter_FilterType int32
  51. const (
  52. // Filter type unspecified. Position holder, INVALID, should never be used.
  53. CompensationFilter_FILTER_TYPE_UNSPECIFIED CompensationFilter_FilterType = 0
  54. // Filter by `base compensation entry's` unit. A job is a match if and
  55. // only if the job contains a base CompensationEntry and the base
  56. // CompensationEntry's unit matches provided
  57. // [units][google.cloud.talent.v4beta1.CompensationFilter.units]. Populate
  58. // one or more
  59. // [units][google.cloud.talent.v4beta1.CompensationFilter.units].
  60. //
  61. // See
  62. // [CompensationInfo.CompensationEntry][google.cloud.talent.v4beta1.CompensationInfo.CompensationEntry]
  63. // for definition of base compensation entry.
  64. CompensationFilter_UNIT_ONLY CompensationFilter_FilterType = 1
  65. // Filter by `base compensation entry's` unit and amount / range. A job
  66. // is a match if and only if the job contains a base CompensationEntry, and
  67. // the base entry's unit matches provided [compensation_units][] and amount
  68. // or range overlaps with provided [compensation_range][].
  69. //
  70. // See
  71. // [CompensationInfo.CompensationEntry][google.cloud.talent.v4beta1.CompensationInfo.CompensationEntry]
  72. // for definition of base compensation entry.
  73. //
  74. // Set exactly one
  75. // [units][google.cloud.talent.v4beta1.CompensationFilter.units] and
  76. // populate [range][google.cloud.talent.v4beta1.CompensationFilter.range].
  77. CompensationFilter_UNIT_AND_AMOUNT CompensationFilter_FilterType = 2
  78. // Filter by annualized base compensation amount and `base compensation
  79. // entry's` unit. Populate
  80. // [range][google.cloud.talent.v4beta1.CompensationFilter.range] and zero or
  81. // more [units][google.cloud.talent.v4beta1.CompensationFilter.units].
  82. CompensationFilter_ANNUALIZED_BASE_AMOUNT CompensationFilter_FilterType = 3
  83. // Filter by annualized total compensation amount and `base compensation
  84. // entry's` unit . Populate
  85. // [range][google.cloud.talent.v4beta1.CompensationFilter.range] and zero or
  86. // more [units][google.cloud.talent.v4beta1.CompensationFilter.units].
  87. CompensationFilter_ANNUALIZED_TOTAL_AMOUNT CompensationFilter_FilterType = 4
  88. )
  89. var CompensationFilter_FilterType_name = map[int32]string{
  90. 0: "FILTER_TYPE_UNSPECIFIED",
  91. 1: "UNIT_ONLY",
  92. 2: "UNIT_AND_AMOUNT",
  93. 3: "ANNUALIZED_BASE_AMOUNT",
  94. 4: "ANNUALIZED_TOTAL_AMOUNT",
  95. }
  96. var CompensationFilter_FilterType_value = map[string]int32{
  97. "FILTER_TYPE_UNSPECIFIED": 0,
  98. "UNIT_ONLY": 1,
  99. "UNIT_AND_AMOUNT": 2,
  100. "ANNUALIZED_BASE_AMOUNT": 3,
  101. "ANNUALIZED_TOTAL_AMOUNT": 4,
  102. }
  103. func (x CompensationFilter_FilterType) String() string {
  104. return proto.EnumName(CompensationFilter_FilterType_name, int32(x))
  105. }
  106. func (CompensationFilter_FilterType) EnumDescriptor() ([]byte, []int) {
  107. return fileDescriptor_filters_9504d8acbf3fff11, []int{3, 0}
  108. }
  109. // The traffic density to use when calculating commute time.
  110. type CommuteFilter_RoadTraffic int32
  111. const (
  112. // Road traffic situation isn't specified.
  113. CommuteFilter_ROAD_TRAFFIC_UNSPECIFIED CommuteFilter_RoadTraffic = 0
  114. // Optimal commute time without considering any traffic impact.
  115. CommuteFilter_TRAFFIC_FREE CommuteFilter_RoadTraffic = 1
  116. // Commute time calculation takes in account the peak traffic impact.
  117. CommuteFilter_BUSY_HOUR CommuteFilter_RoadTraffic = 2
  118. )
  119. var CommuteFilter_RoadTraffic_name = map[int32]string{
  120. 0: "ROAD_TRAFFIC_UNSPECIFIED",
  121. 1: "TRAFFIC_FREE",
  122. 2: "BUSY_HOUR",
  123. }
  124. var CommuteFilter_RoadTraffic_value = map[string]int32{
  125. "ROAD_TRAFFIC_UNSPECIFIED": 0,
  126. "TRAFFIC_FREE": 1,
  127. "BUSY_HOUR": 2,
  128. }
  129. func (x CommuteFilter_RoadTraffic) String() string {
  130. return proto.EnumName(CommuteFilter_RoadTraffic_name, int32(x))
  131. }
  132. func (CommuteFilter_RoadTraffic) EnumDescriptor() ([]byte, []int) {
  133. return fileDescriptor_filters_9504d8acbf3fff11, []int{4, 0}
  134. }
  135. // Enum indicating which set of
  136. // [Profile.employment_records][google.cloud.talent.v4beta1.Profile.employment_records]
  137. // to search against.
  138. type EmployerFilter_EmployerFilterMode int32
  139. const (
  140. // Default value.
  141. EmployerFilter_EMPLOYER_FILTER_MODE_UNSPECIFIED EmployerFilter_EmployerFilterMode = 0
  142. // Apply to all employers in
  143. // [Profile.employment_records][google.cloud.talent.v4beta1.Profile.employment_records].
  144. EmployerFilter_ALL_EMPLOYMENT_RECORDS EmployerFilter_EmployerFilterMode = 1
  145. // Apply only to current employer in
  146. // [Profile.employment_records][google.cloud.talent.v4beta1.Profile.employment_records].
  147. EmployerFilter_CURRENT_EMPLOYMENT_RECORDS_ONLY EmployerFilter_EmployerFilterMode = 2
  148. // Apply only to past (not current) employers in
  149. // [Profile.employment_records][google.cloud.talent.v4beta1.Profile.employment_records].
  150. EmployerFilter_PAST_EMPLOYMENT_RECORDS_ONLY EmployerFilter_EmployerFilterMode = 3
  151. )
  152. var EmployerFilter_EmployerFilterMode_name = map[int32]string{
  153. 0: "EMPLOYER_FILTER_MODE_UNSPECIFIED",
  154. 1: "ALL_EMPLOYMENT_RECORDS",
  155. 2: "CURRENT_EMPLOYMENT_RECORDS_ONLY",
  156. 3: "PAST_EMPLOYMENT_RECORDS_ONLY",
  157. }
  158. var EmployerFilter_EmployerFilterMode_value = map[string]int32{
  159. "EMPLOYER_FILTER_MODE_UNSPECIFIED": 0,
  160. "ALL_EMPLOYMENT_RECORDS": 1,
  161. "CURRENT_EMPLOYMENT_RECORDS_ONLY": 2,
  162. "PAST_EMPLOYMENT_RECORDS_ONLY": 3,
  163. }
  164. func (x EmployerFilter_EmployerFilterMode) String() string {
  165. return proto.EnumName(EmployerFilter_EmployerFilterMode_name, int32(x))
  166. }
  167. func (EmployerFilter_EmployerFilterMode) EnumDescriptor() ([]byte, []int) {
  168. return fileDescriptor_filters_9504d8acbf3fff11, []int{7, 0}
  169. }
  170. // Time fields can be used in TimeFilter.
  171. type TimeFilter_TimeField int32
  172. const (
  173. // Default value.
  174. TimeFilter_TIME_FIELD_UNSPECIFIED TimeFilter_TimeField = 0
  175. // Earliest profile create time.
  176. TimeFilter_CREATE_TIME TimeFilter_TimeField = 1
  177. // Latest profile update time.
  178. TimeFilter_UPDATE_TIME TimeFilter_TimeField = 2
  179. )
  180. var TimeFilter_TimeField_name = map[int32]string{
  181. 0: "TIME_FIELD_UNSPECIFIED",
  182. 1: "CREATE_TIME",
  183. 2: "UPDATE_TIME",
  184. }
  185. var TimeFilter_TimeField_value = map[string]int32{
  186. "TIME_FIELD_UNSPECIFIED": 0,
  187. "CREATE_TIME": 1,
  188. "UPDATE_TIME": 2,
  189. }
  190. func (x TimeFilter_TimeField) String() string {
  191. return proto.EnumName(TimeFilter_TimeField_name, int32(x))
  192. }
  193. func (TimeFilter_TimeField) EnumDescriptor() ([]byte, []int) {
  194. return fileDescriptor_filters_9504d8acbf3fff11, []int{15, 0}
  195. }
  196. // Input only.
  197. //
  198. // The query required to perform a search query.
  199. type JobQuery struct {
  200. // Optional.
  201. //
  202. // The query string that matches against the job title, description, and
  203. // location fields.
  204. //
  205. // The maximum number of allowed characters is 255.
  206. Query string `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"`
  207. // Optional.
  208. //
  209. // This filter specifies the company entities to search against.
  210. //
  211. // If a value isn't specified, jobs are searched for against all
  212. // companies.
  213. //
  214. // If multiple values are specified, jobs are searched against the
  215. // companies specified.
  216. //
  217. // The format is "projects/{project_id}/companies/{company_id}", for example,
  218. // "projects/api-test-project/companies/foo".
  219. //
  220. // At most 20 company filters are allowed.
  221. CompanyNames []string `protobuf:"bytes,2,rep,name=company_names,json=companyNames,proto3" json:"company_names,omitempty"`
  222. // Optional.
  223. //
  224. // The location filter specifies geo-regions containing the jobs to
  225. // search against. See
  226. // [LocationFilter][google.cloud.talent.v4beta1.LocationFilter] for more
  227. // information.
  228. //
  229. // If a location value isn't specified, jobs fitting the other search
  230. // criteria are retrieved regardless of where they're located.
  231. //
  232. // If multiple values are specified, jobs are retrieved from any of the
  233. // specified locations. If different values are specified for the
  234. // [LocationFilter.distance_in_miles][google.cloud.talent.v4beta1.LocationFilter.distance_in_miles]
  235. // parameter, the maximum provided distance is used for all locations.
  236. //
  237. // At most 5 location filters are allowed.
  238. LocationFilters []*LocationFilter `protobuf:"bytes,3,rep,name=location_filters,json=locationFilters,proto3" json:"location_filters,omitempty"`
  239. // Optional.
  240. //
  241. // The category filter specifies the categories of jobs to search against.
  242. // See [Category][] for more information.
  243. //
  244. // If a value isn't specified, jobs from any category are searched against.
  245. //
  246. // If multiple values are specified, jobs from any of the specified
  247. // categories are searched against.
  248. JobCategories []JobCategory `protobuf:"varint,4,rep,packed,name=job_categories,json=jobCategories,proto3,enum=google.cloud.talent.v4beta1.JobCategory" json:"job_categories,omitempty"`
  249. // Optional.
  250. //
  251. // Allows filtering jobs by commute time with different travel methods (for
  252. // example, driving or public transit). Note: This only works with [COMMUTE
  253. // MODE][Mode#COMMUTE]. When specified, [JobQuery.location_filters] is
  254. // ignored.
  255. //
  256. // Currently we don't support sorting by commute time.
  257. CommuteFilter *CommuteFilter `protobuf:"bytes,5,opt,name=commute_filter,json=commuteFilter,proto3" json:"commute_filter,omitempty"`
  258. // Optional.
  259. //
  260. // This filter specifies the exact [company display
  261. // name][Company.display_name] of the jobs to search against.
  262. //
  263. // If a value isn't specified, jobs within the search results are
  264. // associated with any company.
  265. //
  266. // If multiple values are specified, jobs within the search results may be
  267. // associated with any of the specified companies.
  268. //
  269. // At most 20 company display name filters are allowed.
  270. CompanyDisplayNames []string `protobuf:"bytes,6,rep,name=company_display_names,json=companyDisplayNames,proto3" json:"company_display_names,omitempty"`
  271. // Optional.
  272. //
  273. // This search filter is applied only to
  274. // [Job.compensation_info][google.cloud.talent.v4beta1.Job.compensation_info].
  275. // For example, if the filter is specified as "Hourly job with per-hour
  276. // compensation > $15", only jobs meeting these criteria are searched. If a
  277. // filter isn't defined, all open jobs are searched.
  278. CompensationFilter *CompensationFilter `protobuf:"bytes,7,opt,name=compensation_filter,json=compensationFilter,proto3" json:"compensation_filter,omitempty"`
  279. // Optional.
  280. //
  281. // This filter specifies a structured syntax to match against the
  282. // [Job.custom_attributes][google.cloud.talent.v4beta1.Job.custom_attributes]
  283. // marked as `filterable`.
  284. //
  285. // The syntax for this expression is a subset of SQL syntax.
  286. //
  287. // Supported operators are: `=`, `!=`, `<`, `<=`, `>`, and `>=` where the
  288. // left of the operator is a custom field key and the right of the operator
  289. // is a number or a quoted string. You must escape backslash (\\) and
  290. // quote (\") characters.
  291. //
  292. // Supported functions are `LOWER([field_name])` to
  293. // perform a case insensitive match and `EMPTY([field_name])` to filter on the
  294. // existence of a key.
  295. //
  296. // Boolean expressions (AND/OR/NOT) are supported up to 3 levels of
  297. // nesting (for example, "((A AND B AND C) OR NOT D) AND E"), a maximum of 100
  298. // comparisons or functions are allowed in the expression. The expression
  299. // must be < 3000 bytes in length.
  300. //
  301. // Sample Query:
  302. // `(LOWER(driving_license)="class \"a\"" OR EMPTY(driving_license)) AND
  303. // driving_years > 10`
  304. CustomAttributeFilter string `protobuf:"bytes,8,opt,name=custom_attribute_filter,json=customAttributeFilter,proto3" json:"custom_attribute_filter,omitempty"`
  305. // Optional.
  306. //
  307. // This flag controls the spell-check feature. If false, the
  308. // service attempts to correct a misspelled query,
  309. // for example, "enginee" is corrected to "engineer".
  310. //
  311. // Defaults to false: a spell check is performed.
  312. DisableSpellCheck bool `protobuf:"varint,9,opt,name=disable_spell_check,json=disableSpellCheck,proto3" json:"disable_spell_check,omitempty"`
  313. // Optional.
  314. //
  315. // The employment type filter specifies the employment type of jobs to
  316. // search against, such as
  317. // [EmploymentType.FULL_TIME][google.cloud.talent.v4beta1.EmploymentType.FULL_TIME].
  318. //
  319. // If a value isn't specified, jobs in the search results includes any
  320. // employment type.
  321. //
  322. // If multiple values are specified, jobs in the search results include
  323. // any of the specified employment types.
  324. EmploymentTypes []EmploymentType `protobuf:"varint,10,rep,packed,name=employment_types,json=employmentTypes,proto3,enum=google.cloud.talent.v4beta1.EmploymentType" json:"employment_types,omitempty"`
  325. // Optional.
  326. //
  327. // This filter specifies the locale of jobs to search against,
  328. // for example, "en-US".
  329. //
  330. // If a value isn't specified, the search results can contain jobs in any
  331. // locale.
  332. //
  333. //
  334. // Language codes should be in BCP-47 format, such as "en-US" or "sr-Latn".
  335. // For more information, see
  336. // [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
  337. //
  338. // At most 10 language code filters are allowed.
  339. LanguageCodes []string `protobuf:"bytes,11,rep,name=language_codes,json=languageCodes,proto3" json:"language_codes,omitempty"`
  340. // Optional.
  341. //
  342. // Jobs published within a range specified by this filter are searched
  343. // against.
  344. PublishTimeRange *TimestampRange `protobuf:"bytes,12,opt,name=publish_time_range,json=publishTimeRange,proto3" json:"publish_time_range,omitempty"`
  345. // Optional.
  346. //
  347. // This filter specifies a list of job names to be excluded during search.
  348. //
  349. // At most 200 excluded job names are allowed.
  350. ExcludedJobs []string `protobuf:"bytes,13,rep,name=excluded_jobs,json=excludedJobs,proto3" json:"excluded_jobs,omitempty"`
  351. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  352. XXX_unrecognized []byte `json:"-"`
  353. XXX_sizecache int32 `json:"-"`
  354. }
  355. func (m *JobQuery) Reset() { *m = JobQuery{} }
  356. func (m *JobQuery) String() string { return proto.CompactTextString(m) }
  357. func (*JobQuery) ProtoMessage() {}
  358. func (*JobQuery) Descriptor() ([]byte, []int) {
  359. return fileDescriptor_filters_9504d8acbf3fff11, []int{0}
  360. }
  361. func (m *JobQuery) XXX_Unmarshal(b []byte) error {
  362. return xxx_messageInfo_JobQuery.Unmarshal(m, b)
  363. }
  364. func (m *JobQuery) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  365. return xxx_messageInfo_JobQuery.Marshal(b, m, deterministic)
  366. }
  367. func (dst *JobQuery) XXX_Merge(src proto.Message) {
  368. xxx_messageInfo_JobQuery.Merge(dst, src)
  369. }
  370. func (m *JobQuery) XXX_Size() int {
  371. return xxx_messageInfo_JobQuery.Size(m)
  372. }
  373. func (m *JobQuery) XXX_DiscardUnknown() {
  374. xxx_messageInfo_JobQuery.DiscardUnknown(m)
  375. }
  376. var xxx_messageInfo_JobQuery proto.InternalMessageInfo
  377. func (m *JobQuery) GetQuery() string {
  378. if m != nil {
  379. return m.Query
  380. }
  381. return ""
  382. }
  383. func (m *JobQuery) GetCompanyNames() []string {
  384. if m != nil {
  385. return m.CompanyNames
  386. }
  387. return nil
  388. }
  389. func (m *JobQuery) GetLocationFilters() []*LocationFilter {
  390. if m != nil {
  391. return m.LocationFilters
  392. }
  393. return nil
  394. }
  395. func (m *JobQuery) GetJobCategories() []JobCategory {
  396. if m != nil {
  397. return m.JobCategories
  398. }
  399. return nil
  400. }
  401. func (m *JobQuery) GetCommuteFilter() *CommuteFilter {
  402. if m != nil {
  403. return m.CommuteFilter
  404. }
  405. return nil
  406. }
  407. func (m *JobQuery) GetCompanyDisplayNames() []string {
  408. if m != nil {
  409. return m.CompanyDisplayNames
  410. }
  411. return nil
  412. }
  413. func (m *JobQuery) GetCompensationFilter() *CompensationFilter {
  414. if m != nil {
  415. return m.CompensationFilter
  416. }
  417. return nil
  418. }
  419. func (m *JobQuery) GetCustomAttributeFilter() string {
  420. if m != nil {
  421. return m.CustomAttributeFilter
  422. }
  423. return ""
  424. }
  425. func (m *JobQuery) GetDisableSpellCheck() bool {
  426. if m != nil {
  427. return m.DisableSpellCheck
  428. }
  429. return false
  430. }
  431. func (m *JobQuery) GetEmploymentTypes() []EmploymentType {
  432. if m != nil {
  433. return m.EmploymentTypes
  434. }
  435. return nil
  436. }
  437. func (m *JobQuery) GetLanguageCodes() []string {
  438. if m != nil {
  439. return m.LanguageCodes
  440. }
  441. return nil
  442. }
  443. func (m *JobQuery) GetPublishTimeRange() *TimestampRange {
  444. if m != nil {
  445. return m.PublishTimeRange
  446. }
  447. return nil
  448. }
  449. func (m *JobQuery) GetExcludedJobs() []string {
  450. if m != nil {
  451. return m.ExcludedJobs
  452. }
  453. return nil
  454. }
  455. // Filters to apply when performing the search query.
  456. type ProfileQuery struct {
  457. // Optional.
  458. //
  459. // Keywords to match any text fields of profiles.
  460. //
  461. // For example, "software engineer in Palo Alto".
  462. Query string `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"`
  463. // Optional.
  464. //
  465. // The location filter specifies geo-regions containing the profiles to
  466. // search against.
  467. //
  468. // If a location filter isn't specified, profiles fitting the other search
  469. // criteria are retrieved regardless of where they're located.
  470. //
  471. // If
  472. // [LocationFilter.negated][google.cloud.talent.v4beta1.LocationFilter.negated]
  473. // is specified, the result doesn't contain profiles from that location.
  474. //
  475. // For example, search for profiles with addresses in "New York City".
  476. LocationFilters []*LocationFilter `protobuf:"bytes,2,rep,name=location_filters,json=locationFilters,proto3" json:"location_filters,omitempty"`
  477. // Optional.
  478. //
  479. // Job title filter specifies job titles of profiles to match on.
  480. //
  481. // If a job title isn't specified, profiles with any titles are retrieved.
  482. //
  483. // If multiple values are specified, profiles are retrieved with any of the
  484. // specified job titles.
  485. //
  486. // If
  487. // [JobTitleFilter.negated][google.cloud.talent.v4beta1.JobTitleFilter.negated]
  488. // is specified, the result won't contain profiles with the job titles.
  489. //
  490. // For example, search for profiles with a job title "Product Manager".
  491. JobTitleFilters []*JobTitleFilter `protobuf:"bytes,3,rep,name=job_title_filters,json=jobTitleFilters,proto3" json:"job_title_filters,omitempty"`
  492. // Optional.
  493. //
  494. // Employer filter specifies employers of profiles to match on.
  495. //
  496. // If an employer filter isn't specified, profiles with any employers are
  497. // retrieved.
  498. //
  499. // If multiple employer filters are specified, profiles with any matching
  500. // employers are retrieved.
  501. //
  502. // If
  503. // [EmployerFilter.negated][google.cloud.talent.v4beta1.EmployerFilter.negated]
  504. // is specified, the result won't contain profiles that match the employers.
  505. //
  506. // For example, search for profiles that have working experience at "Google
  507. // LLC".
  508. EmployerFilters []*EmployerFilter `protobuf:"bytes,4,rep,name=employer_filters,json=employerFilters,proto3" json:"employer_filters,omitempty"`
  509. // Optional.
  510. //
  511. // Education filter specifies education of profiles to match on.
  512. //
  513. // If an education filter isn't specified, profiles with any education are
  514. // retrieved.
  515. //
  516. // If multiple education filters are specified, profiles that match any
  517. // education filters are retrieved.
  518. //
  519. // If
  520. // [EducationFilter.negated][google.cloud.talent.v4beta1.EducationFilter.negated]
  521. // is specified, the result won't contain profiles that match the educations.
  522. //
  523. // For example, search for profiles with a master degree.
  524. EducationFilters []*EducationFilter `protobuf:"bytes,5,rep,name=education_filters,json=educationFilters,proto3" json:"education_filters,omitempty"`
  525. // Optional.
  526. //
  527. // Skill filter specifies skill of profiles to match on.
  528. //
  529. // If a skill filter isn't specified, profiles with any skills are retrieved.
  530. //
  531. // If multiple skill filters are specified, profiles that match any skill
  532. // filters are retrieved.
  533. //
  534. // If [SkillFilter.negated][google.cloud.talent.v4beta1.SkillFilter.negated]
  535. // is specified, the result won't contain profiles that match the skills.
  536. //
  537. // For example, search for profiles that have "Java" and "Python" in skill
  538. // list.
  539. SkillFilters []*SkillFilter `protobuf:"bytes,6,rep,name=skill_filters,json=skillFilters,proto3" json:"skill_filters,omitempty"`
  540. // Optional.
  541. //
  542. // Work experience filter specifies the total working experience of profiles
  543. // to match on.
  544. //
  545. // If a work experience filter isn't specified, profiles with any
  546. // professional experience are retrieved.
  547. //
  548. // If multiple work experience filters are specified, profiles that match any
  549. // work experience filters are retrieved.
  550. //
  551. // For example, search for profiles with 10 years of work experience.
  552. WorkExperienceFilter []*WorkExperienceFilter `protobuf:"bytes,7,rep,name=work_experience_filter,json=workExperienceFilter,proto3" json:"work_experience_filter,omitempty"`
  553. // Optional.
  554. //
  555. // Time filter specifies the create/update timestamp of the profiles to match
  556. // on.
  557. //
  558. // For example, search for profiles created since "2018-1-1".
  559. TimeFilters []*TimeFilter `protobuf:"bytes,8,rep,name=time_filters,json=timeFilters,proto3" json:"time_filters,omitempty"`
  560. // Optional.
  561. //
  562. // The hirable filter specifies the profile's hirable status to match on.
  563. HirableFilter *wrappers.BoolValue `protobuf:"bytes,9,opt,name=hirable_filter,json=hirableFilter,proto3" json:"hirable_filter,omitempty"`
  564. // Optional.
  565. //
  566. // The application date filters specify application date ranges to match on.
  567. ApplicationDateFilters []*ApplicationDateFilter `protobuf:"bytes,10,rep,name=application_date_filters,json=applicationDateFilters,proto3" json:"application_date_filters,omitempty"`
  568. // Optional.
  569. //
  570. // The application outcome reason filters specify the reasons for outcome of
  571. // the job application.
  572. ApplicationOutcomeReasonFilters []*ApplicationOutcomeReasonFilter `protobuf:"bytes,11,rep,name=application_outcome_reason_filters,json=applicationOutcomeReasonFilters,proto3" json:"application_outcome_reason_filters,omitempty"`
  573. // Optional.
  574. //
  575. // The application last stage filters specify the last stage of job
  576. // application.
  577. ApplicationLastStageFilters []*ApplicationLastStageFilter `protobuf:"bytes,12,rep,name=application_last_stage_filters,json=applicationLastStageFilters,proto3" json:"application_last_stage_filters,omitempty"`
  578. // Optional.
  579. //
  580. // The application job filters specify the job applied for in the application.
  581. ApplicationJobFilters []*ApplicationJobFilter `protobuf:"bytes,13,rep,name=application_job_filters,json=applicationJobFilters,proto3" json:"application_job_filters,omitempty"`
  582. // Optional.
  583. //
  584. // The application status filters specify the status of job application.
  585. ApplicationStatusFilters []*ApplicationStatusFilter `protobuf:"bytes,14,rep,name=application_status_filters,json=applicationStatusFilters,proto3" json:"application_status_filters,omitempty"`
  586. // Optional.
  587. //
  588. // This filter specifies a structured syntax to match against the
  589. // [Profile.custom_attributes][google.cloud.talent.v4beta1.Profile.custom_attributes]
  590. // that are marked as `filterable`.
  591. //
  592. // The syntax for this expression is a subset of Google SQL syntax.
  593. //
  594. // Supported operators are: =, != where the left of the operator is a custom
  595. // field key and the right of the operator is a string (surrounded by quotes)
  596. // value.
  597. //
  598. // Supported functions are LOWER(<field_name>) to
  599. // perform case insensitive match and EMPTY(<field_name>) to filter on the
  600. // existence of a key.
  601. //
  602. // Boolean expressions (AND/OR/NOT) are supported up to 3 levels of
  603. // nesting (for example "((A AND B AND C) OR NOT D) AND E"), and there can be
  604. // a maximum of 50 comparisons/functions in the expression. The expression
  605. // must be < 2000 characters in length.
  606. //
  607. // Sample Query:
  608. // (key1 = "TEST" OR LOWER(key1)="test" OR NOT EMPTY(key1))
  609. CustomFieldFilter string `protobuf:"bytes,15,opt,name=custom_field_filter,json=customFieldFilter,proto3" json:"custom_field_filter,omitempty"`
  610. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  611. XXX_unrecognized []byte `json:"-"`
  612. XXX_sizecache int32 `json:"-"`
  613. }
  614. func (m *ProfileQuery) Reset() { *m = ProfileQuery{} }
  615. func (m *ProfileQuery) String() string { return proto.CompactTextString(m) }
  616. func (*ProfileQuery) ProtoMessage() {}
  617. func (*ProfileQuery) Descriptor() ([]byte, []int) {
  618. return fileDescriptor_filters_9504d8acbf3fff11, []int{1}
  619. }
  620. func (m *ProfileQuery) XXX_Unmarshal(b []byte) error {
  621. return xxx_messageInfo_ProfileQuery.Unmarshal(m, b)
  622. }
  623. func (m *ProfileQuery) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  624. return xxx_messageInfo_ProfileQuery.Marshal(b, m, deterministic)
  625. }
  626. func (dst *ProfileQuery) XXX_Merge(src proto.Message) {
  627. xxx_messageInfo_ProfileQuery.Merge(dst, src)
  628. }
  629. func (m *ProfileQuery) XXX_Size() int {
  630. return xxx_messageInfo_ProfileQuery.Size(m)
  631. }
  632. func (m *ProfileQuery) XXX_DiscardUnknown() {
  633. xxx_messageInfo_ProfileQuery.DiscardUnknown(m)
  634. }
  635. var xxx_messageInfo_ProfileQuery proto.InternalMessageInfo
  636. func (m *ProfileQuery) GetQuery() string {
  637. if m != nil {
  638. return m.Query
  639. }
  640. return ""
  641. }
  642. func (m *ProfileQuery) GetLocationFilters() []*LocationFilter {
  643. if m != nil {
  644. return m.LocationFilters
  645. }
  646. return nil
  647. }
  648. func (m *ProfileQuery) GetJobTitleFilters() []*JobTitleFilter {
  649. if m != nil {
  650. return m.JobTitleFilters
  651. }
  652. return nil
  653. }
  654. func (m *ProfileQuery) GetEmployerFilters() []*EmployerFilter {
  655. if m != nil {
  656. return m.EmployerFilters
  657. }
  658. return nil
  659. }
  660. func (m *ProfileQuery) GetEducationFilters() []*EducationFilter {
  661. if m != nil {
  662. return m.EducationFilters
  663. }
  664. return nil
  665. }
  666. func (m *ProfileQuery) GetSkillFilters() []*SkillFilter {
  667. if m != nil {
  668. return m.SkillFilters
  669. }
  670. return nil
  671. }
  672. func (m *ProfileQuery) GetWorkExperienceFilter() []*WorkExperienceFilter {
  673. if m != nil {
  674. return m.WorkExperienceFilter
  675. }
  676. return nil
  677. }
  678. func (m *ProfileQuery) GetTimeFilters() []*TimeFilter {
  679. if m != nil {
  680. return m.TimeFilters
  681. }
  682. return nil
  683. }
  684. func (m *ProfileQuery) GetHirableFilter() *wrappers.BoolValue {
  685. if m != nil {
  686. return m.HirableFilter
  687. }
  688. return nil
  689. }
  690. func (m *ProfileQuery) GetApplicationDateFilters() []*ApplicationDateFilter {
  691. if m != nil {
  692. return m.ApplicationDateFilters
  693. }
  694. return nil
  695. }
  696. func (m *ProfileQuery) GetApplicationOutcomeReasonFilters() []*ApplicationOutcomeReasonFilter {
  697. if m != nil {
  698. return m.ApplicationOutcomeReasonFilters
  699. }
  700. return nil
  701. }
  702. func (m *ProfileQuery) GetApplicationLastStageFilters() []*ApplicationLastStageFilter {
  703. if m != nil {
  704. return m.ApplicationLastStageFilters
  705. }
  706. return nil
  707. }
  708. func (m *ProfileQuery) GetApplicationJobFilters() []*ApplicationJobFilter {
  709. if m != nil {
  710. return m.ApplicationJobFilters
  711. }
  712. return nil
  713. }
  714. func (m *ProfileQuery) GetApplicationStatusFilters() []*ApplicationStatusFilter {
  715. if m != nil {
  716. return m.ApplicationStatusFilters
  717. }
  718. return nil
  719. }
  720. func (m *ProfileQuery) GetCustomFieldFilter() string {
  721. if m != nil {
  722. return m.CustomFieldFilter
  723. }
  724. return ""
  725. }
  726. // Input only.
  727. //
  728. // Geographic region of the search.
  729. type LocationFilter struct {
  730. // Optional.
  731. //
  732. // The address name, such as "Mountain View" or "Bay Area".
  733. Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
  734. // Optional.
  735. //
  736. // CLDR region code of the country/region of the address. This is used
  737. // to address ambiguity of the user-input location, for example, "Liverpool"
  738. // against "Liverpool, NY, US" or "Liverpool, UK".
  739. //
  740. // Set this field if all the jobs to search against are from a same region,
  741. // or jobs are world-wide, but the job seeker is from a specific region.
  742. //
  743. // See http://cldr.unicode.org/ and
  744. // http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
  745. // for details. Example: "CH" for Switzerland.
  746. RegionCode string `protobuf:"bytes,2,opt,name=region_code,json=regionCode,proto3" json:"region_code,omitempty"`
  747. // Optional.
  748. //
  749. // The latitude and longitude of the geographic center from which to
  750. // search. This field's ignored if `address` is provided.
  751. LatLng *latlng.LatLng `protobuf:"bytes,3,opt,name=lat_lng,json=latLng,proto3" json:"lat_lng,omitempty"`
  752. // Optional.
  753. //
  754. //
  755. // The distance_in_miles is applied when the location being searched for is
  756. // identified as a city or smaller. When the location being searched for is a
  757. // state or larger, this field is ignored.
  758. DistanceInMiles float64 `protobuf:"fixed64,4,opt,name=distance_in_miles,json=distanceInMiles,proto3" json:"distance_in_miles,omitempty"`
  759. // Optional.
  760. //
  761. // Allows the client to return jobs without a
  762. // set location, specifically, telecommuting jobs (telecomuting is considered
  763. // by the service as a special location.
  764. // [Job.posting_region][google.cloud.talent.v4beta1.Job.posting_region]
  765. // indicates if a job permits telecommuting. If this field is set to
  766. // [TelecommutePreference.TELECOMMUTE_ALLOWED][google.cloud.talent.v4beta1.LocationFilter.TelecommutePreference.TELECOMMUTE_ALLOWED],
  767. // telecommuting jobs are searched, and
  768. // [address][google.cloud.talent.v4beta1.LocationFilter.address] and
  769. // [lat_lng][google.cloud.talent.v4beta1.LocationFilter.lat_lng] are ignored.
  770. // If not set or set to
  771. // [TelecommutePreference.TELECOMMUTE_EXCLUDED][google.cloud.talent.v4beta1.LocationFilter.TelecommutePreference.TELECOMMUTE_EXCLUDED],
  772. // telecommute job are not searched.
  773. //
  774. // This filter can be used by itself to search exclusively for telecommuting
  775. // jobs, or it can be combined with another location
  776. // filter to search for a combination of job locations,
  777. // such as "Mountain View" or "telecommuting" jobs. However, when used in
  778. // combination with other location filters, telecommuting jobs can be
  779. // treated as less relevant than other jobs in the search response.
  780. TelecommutePreference LocationFilter_TelecommutePreference `protobuf:"varint,5,opt,name=telecommute_preference,json=telecommutePreference,proto3,enum=google.cloud.talent.v4beta1.LocationFilter_TelecommutePreference" json:"telecommute_preference,omitempty"`
  781. // Optional.
  782. //
  783. // Whether to apply negation to the filter so profiles matching the filter
  784. // are excluded.
  785. //
  786. // Currently only supported in profile search.
  787. Negated bool `protobuf:"varint,6,opt,name=negated,proto3" json:"negated,omitempty"`
  788. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  789. XXX_unrecognized []byte `json:"-"`
  790. XXX_sizecache int32 `json:"-"`
  791. }
  792. func (m *LocationFilter) Reset() { *m = LocationFilter{} }
  793. func (m *LocationFilter) String() string { return proto.CompactTextString(m) }
  794. func (*LocationFilter) ProtoMessage() {}
  795. func (*LocationFilter) Descriptor() ([]byte, []int) {
  796. return fileDescriptor_filters_9504d8acbf3fff11, []int{2}
  797. }
  798. func (m *LocationFilter) XXX_Unmarshal(b []byte) error {
  799. return xxx_messageInfo_LocationFilter.Unmarshal(m, b)
  800. }
  801. func (m *LocationFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  802. return xxx_messageInfo_LocationFilter.Marshal(b, m, deterministic)
  803. }
  804. func (dst *LocationFilter) XXX_Merge(src proto.Message) {
  805. xxx_messageInfo_LocationFilter.Merge(dst, src)
  806. }
  807. func (m *LocationFilter) XXX_Size() int {
  808. return xxx_messageInfo_LocationFilter.Size(m)
  809. }
  810. func (m *LocationFilter) XXX_DiscardUnknown() {
  811. xxx_messageInfo_LocationFilter.DiscardUnknown(m)
  812. }
  813. var xxx_messageInfo_LocationFilter proto.InternalMessageInfo
  814. func (m *LocationFilter) GetAddress() string {
  815. if m != nil {
  816. return m.Address
  817. }
  818. return ""
  819. }
  820. func (m *LocationFilter) GetRegionCode() string {
  821. if m != nil {
  822. return m.RegionCode
  823. }
  824. return ""
  825. }
  826. func (m *LocationFilter) GetLatLng() *latlng.LatLng {
  827. if m != nil {
  828. return m.LatLng
  829. }
  830. return nil
  831. }
  832. func (m *LocationFilter) GetDistanceInMiles() float64 {
  833. if m != nil {
  834. return m.DistanceInMiles
  835. }
  836. return 0
  837. }
  838. func (m *LocationFilter) GetTelecommutePreference() LocationFilter_TelecommutePreference {
  839. if m != nil {
  840. return m.TelecommutePreference
  841. }
  842. return LocationFilter_TELECOMMUTE_PREFERENCE_UNSPECIFIED
  843. }
  844. func (m *LocationFilter) GetNegated() bool {
  845. if m != nil {
  846. return m.Negated
  847. }
  848. return false
  849. }
  850. // Input only.
  851. //
  852. // Filter on job compensation type and amount.
  853. type CompensationFilter struct {
  854. // Required.
  855. //
  856. // Type of filter.
  857. Type CompensationFilter_FilterType `protobuf:"varint,1,opt,name=type,proto3,enum=google.cloud.talent.v4beta1.CompensationFilter_FilterType" json:"type,omitempty"`
  858. // Required.
  859. //
  860. // Specify desired `base compensation entry's`
  861. // [CompensationInfo.CompensationUnit][google.cloud.talent.v4beta1.CompensationInfo.CompensationUnit].
  862. Units []CompensationInfo_CompensationUnit `protobuf:"varint,2,rep,packed,name=units,proto3,enum=google.cloud.talent.v4beta1.CompensationInfo_CompensationUnit" json:"units,omitempty"`
  863. // Optional.
  864. //
  865. // Compensation range.
  866. Range *CompensationInfo_CompensationRange `protobuf:"bytes,3,opt,name=range,proto3" json:"range,omitempty"`
  867. // Optional.
  868. //
  869. // Whether to include jobs whose compensation range is unspecified.
  870. IncludeJobsWithUnspecifiedCompensationRange bool `protobuf:"varint,4,opt,name=include_jobs_with_unspecified_compensation_range,json=includeJobsWithUnspecifiedCompensationRange,proto3" json:"include_jobs_with_unspecified_compensation_range,omitempty"`
  871. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  872. XXX_unrecognized []byte `json:"-"`
  873. XXX_sizecache int32 `json:"-"`
  874. }
  875. func (m *CompensationFilter) Reset() { *m = CompensationFilter{} }
  876. func (m *CompensationFilter) String() string { return proto.CompactTextString(m) }
  877. func (*CompensationFilter) ProtoMessage() {}
  878. func (*CompensationFilter) Descriptor() ([]byte, []int) {
  879. return fileDescriptor_filters_9504d8acbf3fff11, []int{3}
  880. }
  881. func (m *CompensationFilter) XXX_Unmarshal(b []byte) error {
  882. return xxx_messageInfo_CompensationFilter.Unmarshal(m, b)
  883. }
  884. func (m *CompensationFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  885. return xxx_messageInfo_CompensationFilter.Marshal(b, m, deterministic)
  886. }
  887. func (dst *CompensationFilter) XXX_Merge(src proto.Message) {
  888. xxx_messageInfo_CompensationFilter.Merge(dst, src)
  889. }
  890. func (m *CompensationFilter) XXX_Size() int {
  891. return xxx_messageInfo_CompensationFilter.Size(m)
  892. }
  893. func (m *CompensationFilter) XXX_DiscardUnknown() {
  894. xxx_messageInfo_CompensationFilter.DiscardUnknown(m)
  895. }
  896. var xxx_messageInfo_CompensationFilter proto.InternalMessageInfo
  897. func (m *CompensationFilter) GetType() CompensationFilter_FilterType {
  898. if m != nil {
  899. return m.Type
  900. }
  901. return CompensationFilter_FILTER_TYPE_UNSPECIFIED
  902. }
  903. func (m *CompensationFilter) GetUnits() []CompensationInfo_CompensationUnit {
  904. if m != nil {
  905. return m.Units
  906. }
  907. return nil
  908. }
  909. func (m *CompensationFilter) GetRange() *CompensationInfo_CompensationRange {
  910. if m != nil {
  911. return m.Range
  912. }
  913. return nil
  914. }
  915. func (m *CompensationFilter) GetIncludeJobsWithUnspecifiedCompensationRange() bool {
  916. if m != nil {
  917. return m.IncludeJobsWithUnspecifiedCompensationRange
  918. }
  919. return false
  920. }
  921. // Input only.
  922. //
  923. // Parameters needed for commute search.
  924. type CommuteFilter struct {
  925. // Required.
  926. //
  927. // The method of transportation for which to calculate the commute time.
  928. CommuteMethod CommuteMethod `protobuf:"varint,1,opt,name=commute_method,json=commuteMethod,proto3,enum=google.cloud.talent.v4beta1.CommuteMethod" json:"commute_method,omitempty"`
  929. // Required.
  930. //
  931. // The latitude and longitude of the location from which to calculate the
  932. // commute time.
  933. StartCoordinates *latlng.LatLng `protobuf:"bytes,2,opt,name=start_coordinates,json=startCoordinates,proto3" json:"start_coordinates,omitempty"`
  934. // Required.
  935. //
  936. // The maximum travel time in seconds. The maximum allowed value is `3600s`
  937. // (one hour). Format is `123s`.
  938. TravelDuration *duration.Duration `protobuf:"bytes,3,opt,name=travel_duration,json=travelDuration,proto3" json:"travel_duration,omitempty"`
  939. // Optional.
  940. // If `true`, jobs without street level addresses may also be returned.
  941. // For city level addresses, the city center is used. For state and coarser
  942. // level addresses, text matching is used.
  943. // If this field is set to `false` or isn't specified, only jobs that include
  944. // street level addresses will be returned by commute search.
  945. AllowImpreciseAddresses bool `protobuf:"varint,4,opt,name=allow_imprecise_addresses,json=allowImpreciseAddresses,proto3" json:"allow_imprecise_addresses,omitempty"`
  946. // Optional.
  947. //
  948. // Traffic factor to take into account while searching by commute.
  949. //
  950. // Types that are valid to be assigned to TrafficOption:
  951. // *CommuteFilter_RoadTraffic_
  952. // *CommuteFilter_DepartureTime
  953. TrafficOption isCommuteFilter_TrafficOption `protobuf_oneof:"traffic_option"`
  954. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  955. XXX_unrecognized []byte `json:"-"`
  956. XXX_sizecache int32 `json:"-"`
  957. }
  958. func (m *CommuteFilter) Reset() { *m = CommuteFilter{} }
  959. func (m *CommuteFilter) String() string { return proto.CompactTextString(m) }
  960. func (*CommuteFilter) ProtoMessage() {}
  961. func (*CommuteFilter) Descriptor() ([]byte, []int) {
  962. return fileDescriptor_filters_9504d8acbf3fff11, []int{4}
  963. }
  964. func (m *CommuteFilter) XXX_Unmarshal(b []byte) error {
  965. return xxx_messageInfo_CommuteFilter.Unmarshal(m, b)
  966. }
  967. func (m *CommuteFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  968. return xxx_messageInfo_CommuteFilter.Marshal(b, m, deterministic)
  969. }
  970. func (dst *CommuteFilter) XXX_Merge(src proto.Message) {
  971. xxx_messageInfo_CommuteFilter.Merge(dst, src)
  972. }
  973. func (m *CommuteFilter) XXX_Size() int {
  974. return xxx_messageInfo_CommuteFilter.Size(m)
  975. }
  976. func (m *CommuteFilter) XXX_DiscardUnknown() {
  977. xxx_messageInfo_CommuteFilter.DiscardUnknown(m)
  978. }
  979. var xxx_messageInfo_CommuteFilter proto.InternalMessageInfo
  980. func (m *CommuteFilter) GetCommuteMethod() CommuteMethod {
  981. if m != nil {
  982. return m.CommuteMethod
  983. }
  984. return CommuteMethod_COMMUTE_METHOD_UNSPECIFIED
  985. }
  986. func (m *CommuteFilter) GetStartCoordinates() *latlng.LatLng {
  987. if m != nil {
  988. return m.StartCoordinates
  989. }
  990. return nil
  991. }
  992. func (m *CommuteFilter) GetTravelDuration() *duration.Duration {
  993. if m != nil {
  994. return m.TravelDuration
  995. }
  996. return nil
  997. }
  998. func (m *CommuteFilter) GetAllowImpreciseAddresses() bool {
  999. if m != nil {
  1000. return m.AllowImpreciseAddresses
  1001. }
  1002. return false
  1003. }
  1004. type isCommuteFilter_TrafficOption interface {
  1005. isCommuteFilter_TrafficOption()
  1006. }
  1007. type CommuteFilter_RoadTraffic_ struct {
  1008. RoadTraffic CommuteFilter_RoadTraffic `protobuf:"varint,5,opt,name=road_traffic,json=roadTraffic,proto3,enum=google.cloud.talent.v4beta1.CommuteFilter_RoadTraffic,oneof"`
  1009. }
  1010. type CommuteFilter_DepartureTime struct {
  1011. DepartureTime *timeofday.TimeOfDay `protobuf:"bytes,6,opt,name=departure_time,json=departureTime,proto3,oneof"`
  1012. }
  1013. func (*CommuteFilter_RoadTraffic_) isCommuteFilter_TrafficOption() {}
  1014. func (*CommuteFilter_DepartureTime) isCommuteFilter_TrafficOption() {}
  1015. func (m *CommuteFilter) GetTrafficOption() isCommuteFilter_TrafficOption {
  1016. if m != nil {
  1017. return m.TrafficOption
  1018. }
  1019. return nil
  1020. }
  1021. func (m *CommuteFilter) GetRoadTraffic() CommuteFilter_RoadTraffic {
  1022. if x, ok := m.GetTrafficOption().(*CommuteFilter_RoadTraffic_); ok {
  1023. return x.RoadTraffic
  1024. }
  1025. return CommuteFilter_ROAD_TRAFFIC_UNSPECIFIED
  1026. }
  1027. func (m *CommuteFilter) GetDepartureTime() *timeofday.TimeOfDay {
  1028. if x, ok := m.GetTrafficOption().(*CommuteFilter_DepartureTime); ok {
  1029. return x.DepartureTime
  1030. }
  1031. return nil
  1032. }
  1033. // XXX_OneofFuncs is for the internal use of the proto package.
  1034. func (*CommuteFilter) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
  1035. return _CommuteFilter_OneofMarshaler, _CommuteFilter_OneofUnmarshaler, _CommuteFilter_OneofSizer, []interface{}{
  1036. (*CommuteFilter_RoadTraffic_)(nil),
  1037. (*CommuteFilter_DepartureTime)(nil),
  1038. }
  1039. }
  1040. func _CommuteFilter_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
  1041. m := msg.(*CommuteFilter)
  1042. // traffic_option
  1043. switch x := m.TrafficOption.(type) {
  1044. case *CommuteFilter_RoadTraffic_:
  1045. b.EncodeVarint(5<<3 | proto.WireVarint)
  1046. b.EncodeVarint(uint64(x.RoadTraffic))
  1047. case *CommuteFilter_DepartureTime:
  1048. b.EncodeVarint(6<<3 | proto.WireBytes)
  1049. if err := b.EncodeMessage(x.DepartureTime); err != nil {
  1050. return err
  1051. }
  1052. case nil:
  1053. default:
  1054. return fmt.Errorf("CommuteFilter.TrafficOption has unexpected type %T", x)
  1055. }
  1056. return nil
  1057. }
  1058. func _CommuteFilter_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
  1059. m := msg.(*CommuteFilter)
  1060. switch tag {
  1061. case 5: // traffic_option.road_traffic
  1062. if wire != proto.WireVarint {
  1063. return true, proto.ErrInternalBadWireType
  1064. }
  1065. x, err := b.DecodeVarint()
  1066. m.TrafficOption = &CommuteFilter_RoadTraffic_{CommuteFilter_RoadTraffic(x)}
  1067. return true, err
  1068. case 6: // traffic_option.departure_time
  1069. if wire != proto.WireBytes {
  1070. return true, proto.ErrInternalBadWireType
  1071. }
  1072. msg := new(timeofday.TimeOfDay)
  1073. err := b.DecodeMessage(msg)
  1074. m.TrafficOption = &CommuteFilter_DepartureTime{msg}
  1075. return true, err
  1076. default:
  1077. return false, nil
  1078. }
  1079. }
  1080. func _CommuteFilter_OneofSizer(msg proto.Message) (n int) {
  1081. m := msg.(*CommuteFilter)
  1082. // traffic_option
  1083. switch x := m.TrafficOption.(type) {
  1084. case *CommuteFilter_RoadTraffic_:
  1085. n += 1 // tag and wire
  1086. n += proto.SizeVarint(uint64(x.RoadTraffic))
  1087. case *CommuteFilter_DepartureTime:
  1088. s := proto.Size(x.DepartureTime)
  1089. n += 1 // tag and wire
  1090. n += proto.SizeVarint(uint64(s))
  1091. n += s
  1092. case nil:
  1093. default:
  1094. panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
  1095. }
  1096. return n
  1097. }
  1098. // Input only.
  1099. //
  1100. // Job title of the search.
  1101. type JobTitleFilter struct {
  1102. // Required.
  1103. //
  1104. // The job title, for example, "Software engineer", or "Product manager".
  1105. JobTitle string `protobuf:"bytes,1,opt,name=job_title,json=jobTitle,proto3" json:"job_title,omitempty"`
  1106. // Optional.
  1107. //
  1108. // Whether to apply negation to the filter so profiles matching the filter
  1109. // are excluded.
  1110. Negated bool `protobuf:"varint,2,opt,name=negated,proto3" json:"negated,omitempty"`
  1111. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1112. XXX_unrecognized []byte `json:"-"`
  1113. XXX_sizecache int32 `json:"-"`
  1114. }
  1115. func (m *JobTitleFilter) Reset() { *m = JobTitleFilter{} }
  1116. func (m *JobTitleFilter) String() string { return proto.CompactTextString(m) }
  1117. func (*JobTitleFilter) ProtoMessage() {}
  1118. func (*JobTitleFilter) Descriptor() ([]byte, []int) {
  1119. return fileDescriptor_filters_9504d8acbf3fff11, []int{5}
  1120. }
  1121. func (m *JobTitleFilter) XXX_Unmarshal(b []byte) error {
  1122. return xxx_messageInfo_JobTitleFilter.Unmarshal(m, b)
  1123. }
  1124. func (m *JobTitleFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1125. return xxx_messageInfo_JobTitleFilter.Marshal(b, m, deterministic)
  1126. }
  1127. func (dst *JobTitleFilter) XXX_Merge(src proto.Message) {
  1128. xxx_messageInfo_JobTitleFilter.Merge(dst, src)
  1129. }
  1130. func (m *JobTitleFilter) XXX_Size() int {
  1131. return xxx_messageInfo_JobTitleFilter.Size(m)
  1132. }
  1133. func (m *JobTitleFilter) XXX_DiscardUnknown() {
  1134. xxx_messageInfo_JobTitleFilter.DiscardUnknown(m)
  1135. }
  1136. var xxx_messageInfo_JobTitleFilter proto.InternalMessageInfo
  1137. func (m *JobTitleFilter) GetJobTitle() string {
  1138. if m != nil {
  1139. return m.JobTitle
  1140. }
  1141. return ""
  1142. }
  1143. func (m *JobTitleFilter) GetNegated() bool {
  1144. if m != nil {
  1145. return m.Negated
  1146. }
  1147. return false
  1148. }
  1149. // Input only.
  1150. //
  1151. // Skill filter of the search.
  1152. type SkillFilter struct {
  1153. // Required.
  1154. //
  1155. // The skill name. For example, "java", "j2ee", etc.
  1156. Skill string `protobuf:"bytes,1,opt,name=skill,proto3" json:"skill,omitempty"`
  1157. // Optional.
  1158. //
  1159. // Whether to apply negation to the filter so profiles matching the filter
  1160. // are excluded.
  1161. Negated bool `protobuf:"varint,2,opt,name=negated,proto3" json:"negated,omitempty"`
  1162. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1163. XXX_unrecognized []byte `json:"-"`
  1164. XXX_sizecache int32 `json:"-"`
  1165. }
  1166. func (m *SkillFilter) Reset() { *m = SkillFilter{} }
  1167. func (m *SkillFilter) String() string { return proto.CompactTextString(m) }
  1168. func (*SkillFilter) ProtoMessage() {}
  1169. func (*SkillFilter) Descriptor() ([]byte, []int) {
  1170. return fileDescriptor_filters_9504d8acbf3fff11, []int{6}
  1171. }
  1172. func (m *SkillFilter) XXX_Unmarshal(b []byte) error {
  1173. return xxx_messageInfo_SkillFilter.Unmarshal(m, b)
  1174. }
  1175. func (m *SkillFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1176. return xxx_messageInfo_SkillFilter.Marshal(b, m, deterministic)
  1177. }
  1178. func (dst *SkillFilter) XXX_Merge(src proto.Message) {
  1179. xxx_messageInfo_SkillFilter.Merge(dst, src)
  1180. }
  1181. func (m *SkillFilter) XXX_Size() int {
  1182. return xxx_messageInfo_SkillFilter.Size(m)
  1183. }
  1184. func (m *SkillFilter) XXX_DiscardUnknown() {
  1185. xxx_messageInfo_SkillFilter.DiscardUnknown(m)
  1186. }
  1187. var xxx_messageInfo_SkillFilter proto.InternalMessageInfo
  1188. func (m *SkillFilter) GetSkill() string {
  1189. if m != nil {
  1190. return m.Skill
  1191. }
  1192. return ""
  1193. }
  1194. func (m *SkillFilter) GetNegated() bool {
  1195. if m != nil {
  1196. return m.Negated
  1197. }
  1198. return false
  1199. }
  1200. // Input only.
  1201. //
  1202. // Employer filter of the search.
  1203. type EmployerFilter struct {
  1204. // Required.
  1205. //
  1206. // The name of the employer, for example "Google", "Alphabet".
  1207. Employer string `protobuf:"bytes,1,opt,name=employer,proto3" json:"employer,omitempty"`
  1208. // Optional.
  1209. //
  1210. // Define set of
  1211. // [EmploymentRecord][google.cloud.talent.v4beta1.EmploymentRecord]s to search
  1212. // against.
  1213. //
  1214. // Defaults to
  1215. // [EmployerFilterMode.ALL_EMPLOYMENT_RECORDS][google.cloud.talent.v4beta1.EmployerFilter.EmployerFilterMode.ALL_EMPLOYMENT_RECORDS].
  1216. Mode EmployerFilter_EmployerFilterMode `protobuf:"varint,2,opt,name=mode,proto3,enum=google.cloud.talent.v4beta1.EmployerFilter_EmployerFilterMode" json:"mode,omitempty"`
  1217. // Optional.
  1218. //
  1219. // Whether to apply negation to the filter so profiles matching the filter
  1220. // is excluded.
  1221. Negated bool `protobuf:"varint,3,opt,name=negated,proto3" json:"negated,omitempty"`
  1222. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1223. XXX_unrecognized []byte `json:"-"`
  1224. XXX_sizecache int32 `json:"-"`
  1225. }
  1226. func (m *EmployerFilter) Reset() { *m = EmployerFilter{} }
  1227. func (m *EmployerFilter) String() string { return proto.CompactTextString(m) }
  1228. func (*EmployerFilter) ProtoMessage() {}
  1229. func (*EmployerFilter) Descriptor() ([]byte, []int) {
  1230. return fileDescriptor_filters_9504d8acbf3fff11, []int{7}
  1231. }
  1232. func (m *EmployerFilter) XXX_Unmarshal(b []byte) error {
  1233. return xxx_messageInfo_EmployerFilter.Unmarshal(m, b)
  1234. }
  1235. func (m *EmployerFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1236. return xxx_messageInfo_EmployerFilter.Marshal(b, m, deterministic)
  1237. }
  1238. func (dst *EmployerFilter) XXX_Merge(src proto.Message) {
  1239. xxx_messageInfo_EmployerFilter.Merge(dst, src)
  1240. }
  1241. func (m *EmployerFilter) XXX_Size() int {
  1242. return xxx_messageInfo_EmployerFilter.Size(m)
  1243. }
  1244. func (m *EmployerFilter) XXX_DiscardUnknown() {
  1245. xxx_messageInfo_EmployerFilter.DiscardUnknown(m)
  1246. }
  1247. var xxx_messageInfo_EmployerFilter proto.InternalMessageInfo
  1248. func (m *EmployerFilter) GetEmployer() string {
  1249. if m != nil {
  1250. return m.Employer
  1251. }
  1252. return ""
  1253. }
  1254. func (m *EmployerFilter) GetMode() EmployerFilter_EmployerFilterMode {
  1255. if m != nil {
  1256. return m.Mode
  1257. }
  1258. return EmployerFilter_EMPLOYER_FILTER_MODE_UNSPECIFIED
  1259. }
  1260. func (m *EmployerFilter) GetNegated() bool {
  1261. if m != nil {
  1262. return m.Negated
  1263. }
  1264. return false
  1265. }
  1266. // Input only.
  1267. //
  1268. // Education filter of the search.
  1269. type EducationFilter struct {
  1270. // Optional.
  1271. //
  1272. // The school name. For example "MIT", "University of California, Berkeley".
  1273. School string `protobuf:"bytes,1,opt,name=school,proto3" json:"school,omitempty"`
  1274. // Optional.
  1275. //
  1276. // The field of study. This is to search against value provided in
  1277. // [Degree.fields_of_study][google.cloud.talent.v4beta1.Degree.fields_of_study].
  1278. // For example "Computer Science", "Mathematics".
  1279. FieldOfStudy string `protobuf:"bytes,2,opt,name=field_of_study,json=fieldOfStudy,proto3" json:"field_of_study,omitempty"`
  1280. // Optional.
  1281. //
  1282. // Education degree in ISCED code. Each value in degree covers a specific
  1283. // level of education, without any expansion to upper nor lower levels of
  1284. // education degree.
  1285. DegreeType DegreeType `protobuf:"varint,3,opt,name=degree_type,json=degreeType,proto3,enum=google.cloud.talent.v4beta1.DegreeType" json:"degree_type,omitempty"`
  1286. // Optional.
  1287. //
  1288. // Whether to apply negation to the filter so profiles matching the filter
  1289. // is excluded.
  1290. Negated bool `protobuf:"varint,6,opt,name=negated,proto3" json:"negated,omitempty"`
  1291. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1292. XXX_unrecognized []byte `json:"-"`
  1293. XXX_sizecache int32 `json:"-"`
  1294. }
  1295. func (m *EducationFilter) Reset() { *m = EducationFilter{} }
  1296. func (m *EducationFilter) String() string { return proto.CompactTextString(m) }
  1297. func (*EducationFilter) ProtoMessage() {}
  1298. func (*EducationFilter) Descriptor() ([]byte, []int) {
  1299. return fileDescriptor_filters_9504d8acbf3fff11, []int{8}
  1300. }
  1301. func (m *EducationFilter) XXX_Unmarshal(b []byte) error {
  1302. return xxx_messageInfo_EducationFilter.Unmarshal(m, b)
  1303. }
  1304. func (m *EducationFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1305. return xxx_messageInfo_EducationFilter.Marshal(b, m, deterministic)
  1306. }
  1307. func (dst *EducationFilter) XXX_Merge(src proto.Message) {
  1308. xxx_messageInfo_EducationFilter.Merge(dst, src)
  1309. }
  1310. func (m *EducationFilter) XXX_Size() int {
  1311. return xxx_messageInfo_EducationFilter.Size(m)
  1312. }
  1313. func (m *EducationFilter) XXX_DiscardUnknown() {
  1314. xxx_messageInfo_EducationFilter.DiscardUnknown(m)
  1315. }
  1316. var xxx_messageInfo_EducationFilter proto.InternalMessageInfo
  1317. func (m *EducationFilter) GetSchool() string {
  1318. if m != nil {
  1319. return m.School
  1320. }
  1321. return ""
  1322. }
  1323. func (m *EducationFilter) GetFieldOfStudy() string {
  1324. if m != nil {
  1325. return m.FieldOfStudy
  1326. }
  1327. return ""
  1328. }
  1329. func (m *EducationFilter) GetDegreeType() DegreeType {
  1330. if m != nil {
  1331. return m.DegreeType
  1332. }
  1333. return DegreeType_DEGREE_TYPE_UNSPECIFIED
  1334. }
  1335. func (m *EducationFilter) GetNegated() bool {
  1336. if m != nil {
  1337. return m.Negated
  1338. }
  1339. return false
  1340. }
  1341. // Input only.
  1342. //
  1343. // Work experience filter.
  1344. //
  1345. // This filter is used to search for profiles with working experience length
  1346. // between
  1347. // [min_experience][google.cloud.talent.v4beta1.WorkExperienceFilter.min_experience]
  1348. // and
  1349. // [max_experience][google.cloud.talent.v4beta1.WorkExperienceFilter.max_experience].
  1350. type WorkExperienceFilter struct {
  1351. // Optional.
  1352. //
  1353. // The minimum duration of the work experience (inclusive).
  1354. MinExperience *duration.Duration `protobuf:"bytes,1,opt,name=min_experience,json=minExperience,proto3" json:"min_experience,omitempty"`
  1355. // Optional.
  1356. //
  1357. // The maximum duration of the work experience (exclusive).
  1358. MaxExperience *duration.Duration `protobuf:"bytes,2,opt,name=max_experience,json=maxExperience,proto3" json:"max_experience,omitempty"`
  1359. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1360. XXX_unrecognized []byte `json:"-"`
  1361. XXX_sizecache int32 `json:"-"`
  1362. }
  1363. func (m *WorkExperienceFilter) Reset() { *m = WorkExperienceFilter{} }
  1364. func (m *WorkExperienceFilter) String() string { return proto.CompactTextString(m) }
  1365. func (*WorkExperienceFilter) ProtoMessage() {}
  1366. func (*WorkExperienceFilter) Descriptor() ([]byte, []int) {
  1367. return fileDescriptor_filters_9504d8acbf3fff11, []int{9}
  1368. }
  1369. func (m *WorkExperienceFilter) XXX_Unmarshal(b []byte) error {
  1370. return xxx_messageInfo_WorkExperienceFilter.Unmarshal(m, b)
  1371. }
  1372. func (m *WorkExperienceFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1373. return xxx_messageInfo_WorkExperienceFilter.Marshal(b, m, deterministic)
  1374. }
  1375. func (dst *WorkExperienceFilter) XXX_Merge(src proto.Message) {
  1376. xxx_messageInfo_WorkExperienceFilter.Merge(dst, src)
  1377. }
  1378. func (m *WorkExperienceFilter) XXX_Size() int {
  1379. return xxx_messageInfo_WorkExperienceFilter.Size(m)
  1380. }
  1381. func (m *WorkExperienceFilter) XXX_DiscardUnknown() {
  1382. xxx_messageInfo_WorkExperienceFilter.DiscardUnknown(m)
  1383. }
  1384. var xxx_messageInfo_WorkExperienceFilter proto.InternalMessageInfo
  1385. func (m *WorkExperienceFilter) GetMinExperience() *duration.Duration {
  1386. if m != nil {
  1387. return m.MinExperience
  1388. }
  1389. return nil
  1390. }
  1391. func (m *WorkExperienceFilter) GetMaxExperience() *duration.Duration {
  1392. if m != nil {
  1393. return m.MaxExperience
  1394. }
  1395. return nil
  1396. }
  1397. // Input only.
  1398. //
  1399. // Application Date Range Filter.
  1400. //
  1401. // The API matches profiles with
  1402. // [JobApplication.application_date][google.cloud.talent.v4beta1.JobApplication.application_date]
  1403. // between start date and end date (both boundaries are inclusive). The filter
  1404. // is ignored if both
  1405. // [start_date][google.cloud.talent.v4beta1.ApplicationDateFilter.start_date]
  1406. // and [end_date][google.cloud.talent.v4beta1.ApplicationDateFilter.end_date]
  1407. // are missing.
  1408. type ApplicationDateFilter struct {
  1409. // Optional.
  1410. //
  1411. // Start date. If it's missing, The API matches profiles with application date
  1412. // not after the end date.
  1413. StartDate *date.Date `protobuf:"bytes,1,opt,name=start_date,json=startDate,proto3" json:"start_date,omitempty"`
  1414. // Optional.
  1415. //
  1416. // End date. If it's missing, The API matches profiles with application date
  1417. // not before the start date.
  1418. EndDate *date.Date `protobuf:"bytes,2,opt,name=end_date,json=endDate,proto3" json:"end_date,omitempty"`
  1419. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1420. XXX_unrecognized []byte `json:"-"`
  1421. XXX_sizecache int32 `json:"-"`
  1422. }
  1423. func (m *ApplicationDateFilter) Reset() { *m = ApplicationDateFilter{} }
  1424. func (m *ApplicationDateFilter) String() string { return proto.CompactTextString(m) }
  1425. func (*ApplicationDateFilter) ProtoMessage() {}
  1426. func (*ApplicationDateFilter) Descriptor() ([]byte, []int) {
  1427. return fileDescriptor_filters_9504d8acbf3fff11, []int{10}
  1428. }
  1429. func (m *ApplicationDateFilter) XXX_Unmarshal(b []byte) error {
  1430. return xxx_messageInfo_ApplicationDateFilter.Unmarshal(m, b)
  1431. }
  1432. func (m *ApplicationDateFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1433. return xxx_messageInfo_ApplicationDateFilter.Marshal(b, m, deterministic)
  1434. }
  1435. func (dst *ApplicationDateFilter) XXX_Merge(src proto.Message) {
  1436. xxx_messageInfo_ApplicationDateFilter.Merge(dst, src)
  1437. }
  1438. func (m *ApplicationDateFilter) XXX_Size() int {
  1439. return xxx_messageInfo_ApplicationDateFilter.Size(m)
  1440. }
  1441. func (m *ApplicationDateFilter) XXX_DiscardUnknown() {
  1442. xxx_messageInfo_ApplicationDateFilter.DiscardUnknown(m)
  1443. }
  1444. var xxx_messageInfo_ApplicationDateFilter proto.InternalMessageInfo
  1445. func (m *ApplicationDateFilter) GetStartDate() *date.Date {
  1446. if m != nil {
  1447. return m.StartDate
  1448. }
  1449. return nil
  1450. }
  1451. func (m *ApplicationDateFilter) GetEndDate() *date.Date {
  1452. if m != nil {
  1453. return m.EndDate
  1454. }
  1455. return nil
  1456. }
  1457. // Input only.
  1458. //
  1459. // Outcome Reason Filter.
  1460. type ApplicationOutcomeReasonFilter struct {
  1461. // Required.
  1462. //
  1463. // User entered or selected outcome reason. The API does an exact match on the
  1464. // [JobApplication.outcome_reason][google.cloud.talent.v4beta1.JobApplication.outcome_reason]
  1465. // in profiles.
  1466. OutcomeReason string `protobuf:"bytes,1,opt,name=outcome_reason,json=outcomeReason,proto3" json:"outcome_reason,omitempty"`
  1467. // Optional.
  1468. //
  1469. // If true, The API excludes all candidates with any
  1470. // [JobApplication.outcome_reason][google.cloud.talent.v4beta1.JobApplication.outcome_reason]
  1471. // matching the outcome reason specified in the filter.
  1472. Negated bool `protobuf:"varint,2,opt,name=negated,proto3" json:"negated,omitempty"`
  1473. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1474. XXX_unrecognized []byte `json:"-"`
  1475. XXX_sizecache int32 `json:"-"`
  1476. }
  1477. func (m *ApplicationOutcomeReasonFilter) Reset() { *m = ApplicationOutcomeReasonFilter{} }
  1478. func (m *ApplicationOutcomeReasonFilter) String() string { return proto.CompactTextString(m) }
  1479. func (*ApplicationOutcomeReasonFilter) ProtoMessage() {}
  1480. func (*ApplicationOutcomeReasonFilter) Descriptor() ([]byte, []int) {
  1481. return fileDescriptor_filters_9504d8acbf3fff11, []int{11}
  1482. }
  1483. func (m *ApplicationOutcomeReasonFilter) XXX_Unmarshal(b []byte) error {
  1484. return xxx_messageInfo_ApplicationOutcomeReasonFilter.Unmarshal(m, b)
  1485. }
  1486. func (m *ApplicationOutcomeReasonFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1487. return xxx_messageInfo_ApplicationOutcomeReasonFilter.Marshal(b, m, deterministic)
  1488. }
  1489. func (dst *ApplicationOutcomeReasonFilter) XXX_Merge(src proto.Message) {
  1490. xxx_messageInfo_ApplicationOutcomeReasonFilter.Merge(dst, src)
  1491. }
  1492. func (m *ApplicationOutcomeReasonFilter) XXX_Size() int {
  1493. return xxx_messageInfo_ApplicationOutcomeReasonFilter.Size(m)
  1494. }
  1495. func (m *ApplicationOutcomeReasonFilter) XXX_DiscardUnknown() {
  1496. xxx_messageInfo_ApplicationOutcomeReasonFilter.DiscardUnknown(m)
  1497. }
  1498. var xxx_messageInfo_ApplicationOutcomeReasonFilter proto.InternalMessageInfo
  1499. func (m *ApplicationOutcomeReasonFilter) GetOutcomeReason() string {
  1500. if m != nil {
  1501. return m.OutcomeReason
  1502. }
  1503. return ""
  1504. }
  1505. func (m *ApplicationOutcomeReasonFilter) GetNegated() bool {
  1506. if m != nil {
  1507. return m.Negated
  1508. }
  1509. return false
  1510. }
  1511. // Input only.
  1512. //
  1513. // Filter on Last Stage of Application.
  1514. type ApplicationLastStageFilter struct {
  1515. // Required.
  1516. //
  1517. // User entered or selected last stage the candidate reached in the
  1518. // application. The API does an exact match on the
  1519. // [JobApplication.last_stage][google.cloud.talent.v4beta1.JobApplication.last_stage]
  1520. // in profiles.
  1521. LastStage string `protobuf:"bytes,1,opt,name=last_stage,json=lastStage,proto3" json:"last_stage,omitempty"`
  1522. // Optional.
  1523. // If true, The API excludes all candidates with any
  1524. // [JobApplication.last_stage][google.cloud.talent.v4beta1.JobApplication.last_stage]
  1525. // matching the last stage specified in the filter.
  1526. Negated bool `protobuf:"varint,2,opt,name=negated,proto3" json:"negated,omitempty"`
  1527. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1528. XXX_unrecognized []byte `json:"-"`
  1529. XXX_sizecache int32 `json:"-"`
  1530. }
  1531. func (m *ApplicationLastStageFilter) Reset() { *m = ApplicationLastStageFilter{} }
  1532. func (m *ApplicationLastStageFilter) String() string { return proto.CompactTextString(m) }
  1533. func (*ApplicationLastStageFilter) ProtoMessage() {}
  1534. func (*ApplicationLastStageFilter) Descriptor() ([]byte, []int) {
  1535. return fileDescriptor_filters_9504d8acbf3fff11, []int{12}
  1536. }
  1537. func (m *ApplicationLastStageFilter) XXX_Unmarshal(b []byte) error {
  1538. return xxx_messageInfo_ApplicationLastStageFilter.Unmarshal(m, b)
  1539. }
  1540. func (m *ApplicationLastStageFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1541. return xxx_messageInfo_ApplicationLastStageFilter.Marshal(b, m, deterministic)
  1542. }
  1543. func (dst *ApplicationLastStageFilter) XXX_Merge(src proto.Message) {
  1544. xxx_messageInfo_ApplicationLastStageFilter.Merge(dst, src)
  1545. }
  1546. func (m *ApplicationLastStageFilter) XXX_Size() int {
  1547. return xxx_messageInfo_ApplicationLastStageFilter.Size(m)
  1548. }
  1549. func (m *ApplicationLastStageFilter) XXX_DiscardUnknown() {
  1550. xxx_messageInfo_ApplicationLastStageFilter.DiscardUnknown(m)
  1551. }
  1552. var xxx_messageInfo_ApplicationLastStageFilter proto.InternalMessageInfo
  1553. func (m *ApplicationLastStageFilter) GetLastStage() string {
  1554. if m != nil {
  1555. return m.LastStage
  1556. }
  1557. return ""
  1558. }
  1559. func (m *ApplicationLastStageFilter) GetNegated() bool {
  1560. if m != nil {
  1561. return m.Negated
  1562. }
  1563. return false
  1564. }
  1565. // Input only.
  1566. //
  1567. // Filter on the job information of Application.
  1568. type ApplicationJobFilter struct {
  1569. // Optional.
  1570. //
  1571. // The job resource name in the application. The API does an exact match on
  1572. // the [Job.name][google.cloud.talent.v4beta1.Job.name] of
  1573. // [JobApplication.job][google.cloud.talent.v4beta1.JobApplication.job] in
  1574. // profiles.
  1575. JobName string `protobuf:"bytes,1,opt,name=job_name,json=jobName,proto3" json:"job_name,omitempty"`
  1576. // Optional.
  1577. //
  1578. // The job requisition id in the application. The API does an exact match on
  1579. // the [Job.requisistion_id][] of
  1580. // [JobApplication.job][google.cloud.talent.v4beta1.JobApplication.job] in
  1581. // profiles.
  1582. JobRequisitionId string `protobuf:"bytes,2,opt,name=job_requisition_id,json=jobRequisitionId,proto3" json:"job_requisition_id,omitempty"`
  1583. // Optional.
  1584. //
  1585. // The job title in the application. The API does an exact match on the
  1586. // [Job.title][google.cloud.talent.v4beta1.Job.title] of
  1587. // [JobApplication.job][google.cloud.talent.v4beta1.JobApplication.job] in
  1588. // profiles.
  1589. JobTitle string `protobuf:"bytes,3,opt,name=job_title,json=jobTitle,proto3" json:"job_title,omitempty"`
  1590. // Optional.
  1591. //
  1592. // If true, the API excludes all profiles with any
  1593. // [JobApplication.job][google.cloud.talent.v4beta1.JobApplication.job]
  1594. // matching the filters.
  1595. Negated bool `protobuf:"varint,4,opt,name=negated,proto3" json:"negated,omitempty"`
  1596. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1597. XXX_unrecognized []byte `json:"-"`
  1598. XXX_sizecache int32 `json:"-"`
  1599. }
  1600. func (m *ApplicationJobFilter) Reset() { *m = ApplicationJobFilter{} }
  1601. func (m *ApplicationJobFilter) String() string { return proto.CompactTextString(m) }
  1602. func (*ApplicationJobFilter) ProtoMessage() {}
  1603. func (*ApplicationJobFilter) Descriptor() ([]byte, []int) {
  1604. return fileDescriptor_filters_9504d8acbf3fff11, []int{13}
  1605. }
  1606. func (m *ApplicationJobFilter) XXX_Unmarshal(b []byte) error {
  1607. return xxx_messageInfo_ApplicationJobFilter.Unmarshal(m, b)
  1608. }
  1609. func (m *ApplicationJobFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1610. return xxx_messageInfo_ApplicationJobFilter.Marshal(b, m, deterministic)
  1611. }
  1612. func (dst *ApplicationJobFilter) XXX_Merge(src proto.Message) {
  1613. xxx_messageInfo_ApplicationJobFilter.Merge(dst, src)
  1614. }
  1615. func (m *ApplicationJobFilter) XXX_Size() int {
  1616. return xxx_messageInfo_ApplicationJobFilter.Size(m)
  1617. }
  1618. func (m *ApplicationJobFilter) XXX_DiscardUnknown() {
  1619. xxx_messageInfo_ApplicationJobFilter.DiscardUnknown(m)
  1620. }
  1621. var xxx_messageInfo_ApplicationJobFilter proto.InternalMessageInfo
  1622. func (m *ApplicationJobFilter) GetJobName() string {
  1623. if m != nil {
  1624. return m.JobName
  1625. }
  1626. return ""
  1627. }
  1628. func (m *ApplicationJobFilter) GetJobRequisitionId() string {
  1629. if m != nil {
  1630. return m.JobRequisitionId
  1631. }
  1632. return ""
  1633. }
  1634. func (m *ApplicationJobFilter) GetJobTitle() string {
  1635. if m != nil {
  1636. return m.JobTitle
  1637. }
  1638. return ""
  1639. }
  1640. func (m *ApplicationJobFilter) GetNegated() bool {
  1641. if m != nil {
  1642. return m.Negated
  1643. }
  1644. return false
  1645. }
  1646. // Input only.
  1647. //
  1648. // Filter on status of Application.
  1649. type ApplicationStatusFilter struct {
  1650. // Required.
  1651. //
  1652. // User entered or selected application status. The API does an exact match
  1653. // between the application status specified in this filter and the
  1654. // [JobApplication.status][] in profiles.
  1655. ApplicationStatus JobApplication_ApplicationStatus `protobuf:"varint,1,opt,name=application_status,json=applicationStatus,proto3,enum=google.cloud.talent.v4beta1.JobApplication_ApplicationStatus" json:"application_status,omitempty"`
  1656. // Optional.
  1657. //
  1658. // If true, The API excludes all candidates with any [JobApplication.status][]
  1659. // matching the status specified in the filter.
  1660. Negated bool `protobuf:"varint,2,opt,name=negated,proto3" json:"negated,omitempty"`
  1661. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1662. XXX_unrecognized []byte `json:"-"`
  1663. XXX_sizecache int32 `json:"-"`
  1664. }
  1665. func (m *ApplicationStatusFilter) Reset() { *m = ApplicationStatusFilter{} }
  1666. func (m *ApplicationStatusFilter) String() string { return proto.CompactTextString(m) }
  1667. func (*ApplicationStatusFilter) ProtoMessage() {}
  1668. func (*ApplicationStatusFilter) Descriptor() ([]byte, []int) {
  1669. return fileDescriptor_filters_9504d8acbf3fff11, []int{14}
  1670. }
  1671. func (m *ApplicationStatusFilter) XXX_Unmarshal(b []byte) error {
  1672. return xxx_messageInfo_ApplicationStatusFilter.Unmarshal(m, b)
  1673. }
  1674. func (m *ApplicationStatusFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1675. return xxx_messageInfo_ApplicationStatusFilter.Marshal(b, m, deterministic)
  1676. }
  1677. func (dst *ApplicationStatusFilter) XXX_Merge(src proto.Message) {
  1678. xxx_messageInfo_ApplicationStatusFilter.Merge(dst, src)
  1679. }
  1680. func (m *ApplicationStatusFilter) XXX_Size() int {
  1681. return xxx_messageInfo_ApplicationStatusFilter.Size(m)
  1682. }
  1683. func (m *ApplicationStatusFilter) XXX_DiscardUnknown() {
  1684. xxx_messageInfo_ApplicationStatusFilter.DiscardUnknown(m)
  1685. }
  1686. var xxx_messageInfo_ApplicationStatusFilter proto.InternalMessageInfo
  1687. func (m *ApplicationStatusFilter) GetApplicationStatus() JobApplication_ApplicationStatus {
  1688. if m != nil {
  1689. return m.ApplicationStatus
  1690. }
  1691. return JobApplication_APPLICATION_STATUS_UNSPECIFIED
  1692. }
  1693. func (m *ApplicationStatusFilter) GetNegated() bool {
  1694. if m != nil {
  1695. return m.Negated
  1696. }
  1697. return false
  1698. }
  1699. // Input only.
  1700. //
  1701. // Filter on create timestamp or update timestamp of profiles.
  1702. type TimeFilter struct {
  1703. // Optional.
  1704. //
  1705. // Start timestamp, matching profiles with the start time. If this field
  1706. // missing, The API matches profiles with create / update timestamp before the
  1707. // end timestamp.
  1708. StartTime *timestamp.Timestamp `protobuf:"bytes,1,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
  1709. // Optional.
  1710. //
  1711. // End timestamp, matching profiles with the end time. If this field
  1712. // missing, The API matches profiles with create / update timestamp after the
  1713. // start timestamp.
  1714. EndTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
  1715. // Optional.
  1716. //
  1717. // Specifies which time field to filter profiles.
  1718. //
  1719. // Defaults to
  1720. // [TimeField.CREATE_TIME][google.cloud.talent.v4beta1.TimeFilter.TimeField.CREATE_TIME].
  1721. TimeField TimeFilter_TimeField `protobuf:"varint,3,opt,name=time_field,json=timeField,proto3,enum=google.cloud.talent.v4beta1.TimeFilter_TimeField" json:"time_field,omitempty"`
  1722. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1723. XXX_unrecognized []byte `json:"-"`
  1724. XXX_sizecache int32 `json:"-"`
  1725. }
  1726. func (m *TimeFilter) Reset() { *m = TimeFilter{} }
  1727. func (m *TimeFilter) String() string { return proto.CompactTextString(m) }
  1728. func (*TimeFilter) ProtoMessage() {}
  1729. func (*TimeFilter) Descriptor() ([]byte, []int) {
  1730. return fileDescriptor_filters_9504d8acbf3fff11, []int{15}
  1731. }
  1732. func (m *TimeFilter) XXX_Unmarshal(b []byte) error {
  1733. return xxx_messageInfo_TimeFilter.Unmarshal(m, b)
  1734. }
  1735. func (m *TimeFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1736. return xxx_messageInfo_TimeFilter.Marshal(b, m, deterministic)
  1737. }
  1738. func (dst *TimeFilter) XXX_Merge(src proto.Message) {
  1739. xxx_messageInfo_TimeFilter.Merge(dst, src)
  1740. }
  1741. func (m *TimeFilter) XXX_Size() int {
  1742. return xxx_messageInfo_TimeFilter.Size(m)
  1743. }
  1744. func (m *TimeFilter) XXX_DiscardUnknown() {
  1745. xxx_messageInfo_TimeFilter.DiscardUnknown(m)
  1746. }
  1747. var xxx_messageInfo_TimeFilter proto.InternalMessageInfo
  1748. func (m *TimeFilter) GetStartTime() *timestamp.Timestamp {
  1749. if m != nil {
  1750. return m.StartTime
  1751. }
  1752. return nil
  1753. }
  1754. func (m *TimeFilter) GetEndTime() *timestamp.Timestamp {
  1755. if m != nil {
  1756. return m.EndTime
  1757. }
  1758. return nil
  1759. }
  1760. func (m *TimeFilter) GetTimeField() TimeFilter_TimeField {
  1761. if m != nil {
  1762. return m.TimeField
  1763. }
  1764. return TimeFilter_TIME_FIELD_UNSPECIFIED
  1765. }
  1766. func init() {
  1767. proto.RegisterType((*JobQuery)(nil), "google.cloud.talent.v4beta1.JobQuery")
  1768. proto.RegisterType((*ProfileQuery)(nil), "google.cloud.talent.v4beta1.ProfileQuery")
  1769. proto.RegisterType((*LocationFilter)(nil), "google.cloud.talent.v4beta1.LocationFilter")
  1770. proto.RegisterType((*CompensationFilter)(nil), "google.cloud.talent.v4beta1.CompensationFilter")
  1771. proto.RegisterType((*CommuteFilter)(nil), "google.cloud.talent.v4beta1.CommuteFilter")
  1772. proto.RegisterType((*JobTitleFilter)(nil), "google.cloud.talent.v4beta1.JobTitleFilter")
  1773. proto.RegisterType((*SkillFilter)(nil), "google.cloud.talent.v4beta1.SkillFilter")
  1774. proto.RegisterType((*EmployerFilter)(nil), "google.cloud.talent.v4beta1.EmployerFilter")
  1775. proto.RegisterType((*EducationFilter)(nil), "google.cloud.talent.v4beta1.EducationFilter")
  1776. proto.RegisterType((*WorkExperienceFilter)(nil), "google.cloud.talent.v4beta1.WorkExperienceFilter")
  1777. proto.RegisterType((*ApplicationDateFilter)(nil), "google.cloud.talent.v4beta1.ApplicationDateFilter")
  1778. proto.RegisterType((*ApplicationOutcomeReasonFilter)(nil), "google.cloud.talent.v4beta1.ApplicationOutcomeReasonFilter")
  1779. proto.RegisterType((*ApplicationLastStageFilter)(nil), "google.cloud.talent.v4beta1.ApplicationLastStageFilter")
  1780. proto.RegisterType((*ApplicationJobFilter)(nil), "google.cloud.talent.v4beta1.ApplicationJobFilter")
  1781. proto.RegisterType((*ApplicationStatusFilter)(nil), "google.cloud.talent.v4beta1.ApplicationStatusFilter")
  1782. proto.RegisterType((*TimeFilter)(nil), "google.cloud.talent.v4beta1.TimeFilter")
  1783. proto.RegisterEnum("google.cloud.talent.v4beta1.LocationFilter_TelecommutePreference", LocationFilter_TelecommutePreference_name, LocationFilter_TelecommutePreference_value)
  1784. proto.RegisterEnum("google.cloud.talent.v4beta1.CompensationFilter_FilterType", CompensationFilter_FilterType_name, CompensationFilter_FilterType_value)
  1785. proto.RegisterEnum("google.cloud.talent.v4beta1.CommuteFilter_RoadTraffic", CommuteFilter_RoadTraffic_name, CommuteFilter_RoadTraffic_value)
  1786. proto.RegisterEnum("google.cloud.talent.v4beta1.EmployerFilter_EmployerFilterMode", EmployerFilter_EmployerFilterMode_name, EmployerFilter_EmployerFilterMode_value)
  1787. proto.RegisterEnum("google.cloud.talent.v4beta1.TimeFilter_TimeField", TimeFilter_TimeField_name, TimeFilter_TimeField_value)
  1788. }
  1789. func init() {
  1790. proto.RegisterFile("google/cloud/talent/v4beta1/filters.proto", fileDescriptor_filters_9504d8acbf3fff11)
  1791. }
  1792. var fileDescriptor_filters_9504d8acbf3fff11 = []byte{
  1793. // 2129 bytes of a gzipped FileDescriptorProto
  1794. 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0xcf, 0x73, 0xdb, 0xc6,
  1795. 0xf5, 0x37, 0x48, 0x59, 0x16, 0x1f, 0x7f, 0x88, 0x5a, 0x5b, 0x12, 0x2d, 0xfb, 0x6b, 0x6b, 0x98,
  1796. 0xe4, 0x5b, 0x35, 0xf1, 0x90, 0xb1, 0x9a, 0xa6, 0xd3, 0x64, 0xd2, 0x84, 0x22, 0xa1, 0x9a, 0x1a,
  1797. 0xfe, 0x0a, 0x48, 0xc6, 0x75, 0x7a, 0x40, 0x97, 0xc0, 0x92, 0x82, 0x0c, 0x62, 0x11, 0xec, 0x32,
  1798. 0x92, 0x3a, 0xbd, 0xf4, 0xd2, 0xe9, 0x5f, 0xd0, 0x43, 0x3b, 0x3d, 0x34, 0xf7, 0x9e, 0x7a, 0xeb,
  1799. 0xa1, 0xff, 0x45, 0xff, 0x9f, 0xce, 0x2e, 0x16, 0x24, 0x28, 0x51, 0x90, 0xdc, 0xe9, 0x89, 0x78,
  1800. 0xbf, 0x3e, 0xfb, 0xb0, 0xfb, 0xde, 0xdb, 0x0f, 0x08, 0x3f, 0x9e, 0x50, 0x3a, 0x71, 0x49, 0xd5,
  1801. 0x72, 0xe9, 0xcc, 0xae, 0x72, 0xec, 0x12, 0x8f, 0x57, 0xbf, 0xff, 0x64, 0x44, 0x38, 0x7e, 0x59,
  1802. 0x1d, 0x3b, 0x2e, 0x27, 0x01, 0xab, 0xf8, 0x01, 0xe5, 0x14, 0x3d, 0x09, 0x5d, 0x2b, 0xd2, 0xb5,
  1803. 0x12, 0xba, 0x56, 0x94, 0xeb, 0xde, 0x53, 0x85, 0x83, 0x7d, 0xa7, 0x8a, 0x3d, 0x8f, 0x72, 0xcc,
  1804. 0x1d, 0xea, 0xa9, 0xd0, 0xbd, 0x83, 0xa4, 0x55, 0x2c, 0x3a, 0x9d, 0x52, 0x4f, 0x79, 0x7e, 0x90,
  1805. 0xe4, 0x79, 0x46, 0x47, 0xca, 0x2d, 0x31, 0x6d, 0x3f, 0xa0, 0x63, 0xc7, 0x25, 0xca, 0xf5, 0x99,
  1806. 0x72, 0x95, 0xd2, 0x68, 0x36, 0xae, 0xda, 0xb3, 0x40, 0x26, 0xa7, 0xec, 0xcf, 0xaf, 0xda, 0xb9,
  1807. 0x33, 0x25, 0x8c, 0xe3, 0xa9, 0x7f, 0x13, 0xc0, 0x79, 0x80, 0x7d, 0x7f, 0xbe, 0x2f, 0x7b, 0x3b,
  1808. 0xca, 0xce, 0x2f, 0x7d, 0x52, 0xb5, 0x31, 0x8f, 0x16, 0x2e, 0xc5, 0xf5, 0x2e, 0xe6, 0xae, 0x37,
  1809. 0x51, 0x96, 0x27, 0x71, 0x8b, 0x58, 0x8e, 0x8e, 0x6d, 0x7c, 0x19, 0x1a, 0xcb, 0xff, 0x5a, 0x87,
  1810. 0x8d, 0x13, 0x3a, 0xfa, 0x7a, 0x46, 0x82, 0x4b, 0xf4, 0x08, 0xee, 0x7f, 0x27, 0x1e, 0x4a, 0xda,
  1811. 0xbe, 0x76, 0x90, 0x31, 0x42, 0x01, 0xbd, 0x07, 0x79, 0x8b, 0x4e, 0x7d, 0xec, 0x5d, 0x9a, 0x1e,
  1812. 0x9e, 0x12, 0x56, 0x4a, 0xed, 0xa7, 0x0f, 0x32, 0x46, 0x4e, 0x29, 0x3b, 0x42, 0x87, 0xbe, 0x81,
  1813. 0xa2, 0x4b, 0x2d, 0xf9, 0xa6, 0xa6, 0x3a, 0xc8, 0x52, 0x7a, 0x3f, 0x7d, 0x90, 0x3d, 0xfc, 0xa8,
  1814. 0x92, 0x70, 0x92, 0x95, 0x96, 0x0a, 0x3a, 0x96, 0x31, 0xc6, 0xa6, 0xbb, 0x24, 0x33, 0xd4, 0x85,
  1815. 0xc2, 0x19, 0x1d, 0x99, 0x16, 0xe6, 0x64, 0x42, 0x03, 0x87, 0xb0, 0xd2, 0xda, 0x7e, 0xfa, 0xa0,
  1816. 0x70, 0x78, 0x90, 0x88, 0x7a, 0x42, 0x47, 0xf5, 0x30, 0xe2, 0xd2, 0xc8, 0x9f, 0xcd, 0x05, 0x87,
  1817. 0x30, 0xf4, 0x35, 0x14, 0x44, 0x09, 0xcc, 0x38, 0x51, 0x79, 0x96, 0xee, 0xef, 0x6b, 0x07, 0xd9,
  1818. 0xc3, 0x0f, 0x13, 0x01, 0xeb, 0x61, 0x88, 0xca, 0x32, 0x6f, 0xc5, 0x45, 0x74, 0x08, 0xdb, 0xd1,
  1819. 0x06, 0xd9, 0x0e, 0xf3, 0x5d, 0x1c, 0x6d, 0xd4, 0xba, 0xdc, 0xa8, 0x87, 0xca, 0xd8, 0x08, 0x6d,
  1820. 0xe1, 0x7e, 0xfd, 0x06, 0xa4, 0x9a, 0x78, 0x2c, 0xbe, 0x67, 0xa5, 0x07, 0x32, 0x97, 0xea, 0x6d,
  1821. 0xb9, 0xcc, 0xe3, 0x54, 0x42, 0xc8, 0xba, 0xa6, 0x43, 0x9f, 0xc2, 0xae, 0x35, 0x63, 0x9c, 0x4e,
  1822. 0x4d, 0xcc, 0x79, 0xe0, 0x8c, 0x62, 0x6f, 0xbc, 0x21, 0x8f, 0x77, 0x3b, 0x34, 0xd7, 0x22, 0xab,
  1823. 0x8a, 0xab, 0xc0, 0x43, 0xdb, 0x61, 0x78, 0xe4, 0x12, 0x93, 0xf9, 0xc4, 0x75, 0x4d, 0xeb, 0x94,
  1824. 0x58, 0x6f, 0x4b, 0x99, 0x7d, 0xed, 0x60, 0xc3, 0xd8, 0x52, 0xa6, 0xbe, 0xb0, 0xd4, 0x85, 0x41,
  1825. 0x9c, 0x3c, 0x99, 0xfa, 0x2e, 0xbd, 0x9c, 0x12, 0x8f, 0x9b, 0xa2, 0xc8, 0x58, 0x09, 0xe4, 0x19,
  1826. 0x25, 0x9f, 0xbc, 0x3e, 0x0f, 0x1a, 0x5c, 0xfa, 0xc4, 0xd8, 0x24, 0x4b, 0x32, 0x43, 0x1f, 0x40,
  1827. 0xc1, 0xc5, 0xde, 0x64, 0x86, 0x27, 0xc4, 0xb4, 0xa8, 0x4d, 0x58, 0x29, 0x2b, 0xb7, 0x33, 0x1f,
  1828. 0x69, 0xeb, 0x42, 0x89, 0xde, 0x00, 0xf2, 0x67, 0x23, 0xd7, 0x61, 0xa7, 0xa6, 0xa8, 0x6d, 0x33,
  1829. 0xc0, 0xde, 0x84, 0x94, 0x72, 0x72, 0x1f, 0x93, 0x13, 0x18, 0x44, 0x9d, 0x67, 0x88, 0x10, 0xa3,
  1830. 0xa8, 0x60, 0x84, 0x5a, 0x6a, 0x44, 0xe1, 0x93, 0x0b, 0xcb, 0x9d, 0xd9, 0xc4, 0x36, 0xcf, 0xe8,
  1831. 0x88, 0x95, 0xf2, 0x61, 0xe1, 0x47, 0xca, 0x13, 0x3a, 0x62, 0xe5, 0x7f, 0x03, 0xe4, 0x7a, 0xe1,
  1832. 0x08, 0x48, 0x6a, 0xa2, 0x55, 0xfd, 0x91, 0xfa, 0x1f, 0xf4, 0xc7, 0x6b, 0xd8, 0x12, 0xfd, 0xc1,
  1833. 0x1d, 0xee, 0x92, 0x77, 0x6a, 0xbc, 0x13, 0x3a, 0x1a, 0x88, 0xa0, 0x08, 0xf8, 0x6c, 0x49, 0x66,
  1834. 0x8b, 0x63, 0x25, 0xc1, 0x1c, 0x77, 0xed, 0x0e, 0xb8, 0xba, 0x0a, 0x8a, 0x70, 0xc9, 0x92, 0x2c,
  1835. 0xce, 0x6b, 0x8b, 0xd8, 0xb3, 0x2b, 0x3b, 0x71, 0x5f, 0x02, 0xbf, 0x48, 0x06, 0x8e, 0xa2, 0x14,
  1836. 0x72, 0x91, 0x2c, 0x2b, 0x18, 0x6a, 0x43, 0x9e, 0xbd, 0x75, 0x5c, 0x77, 0x0e, 0xbb, 0x2e, 0x61,
  1837. 0x93, 0x47, 0x45, 0x5f, 0x44, 0x28, 0xc8, 0x1c, 0x5b, 0x08, 0x0c, 0x4d, 0x60, 0xe7, 0x9c, 0x06,
  1838. 0x6f, 0x4d, 0x72, 0xe1, 0x93, 0xc0, 0x21, 0x9e, 0x45, 0x16, 0x5d, 0x2a, 0x70, 0x5f, 0x26, 0xe2,
  1839. 0xbe, 0xa6, 0xc1, 0x5b, 0x7d, 0x1e, 0xa9, 0x16, 0x78, 0x74, 0xbe, 0x42, 0x8b, 0x4e, 0x20, 0x27,
  1840. 0x4b, 0x37, 0x4a, 0x7b, 0x43, 0xc2, 0xff, 0xe8, 0xd6, 0xe2, 0x55, 0xa0, 0x59, 0x3e, 0x7f, 0x66,
  1841. 0xa8, 0x06, 0x85, 0x53, 0x27, 0x90, 0xdd, 0xab, 0x92, 0xcd, 0xc8, 0x56, 0xd8, 0x8b, 0xd0, 0xa2,
  1842. 0x7b, 0xa5, 0x72, 0x44, 0xa9, 0xfb, 0x0d, 0x76, 0x67, 0xc4, 0xc8, 0xab, 0x08, 0x95, 0x8e, 0x0b,
  1843. 0x25, 0xec, 0xfb, 0xae, 0xa3, 0xce, 0x48, 0xdc, 0x31, 0xf3, 0xd4, 0x40, 0xa6, 0x76, 0x98, 0x98,
  1844. 0x5a, 0x6d, 0x11, 0xdc, 0xc0, 0xf3, 0x99, 0xb9, 0x83, 0x57, 0xa9, 0x19, 0xfa, 0xa3, 0x06, 0xe5,
  1845. 0xf8, 0x72, 0x74, 0xc6, 0x2d, 0x2a, 0xfa, 0x98, 0x60, 0x16, 0xab, 0x90, 0xac, 0x5c, 0xf8, 0xf3,
  1846. 0xbb, 0x2e, 0xdc, 0x0d, 0x51, 0x0c, 0x09, 0xa2, 0x32, 0x78, 0x8e, 0x13, 0xed, 0x0c, 0xfd, 0x0e,
  1847. 0x9e, 0xc5, 0x33, 0x71, 0x31, 0xe3, 0x26, 0xe3, 0x62, 0xfe, 0x44, 0x59, 0xe4, 0x64, 0x16, 0x3f,
  1848. 0xbb, 0x6b, 0x16, 0x2d, 0xcc, 0x78, 0x5f, 0x00, 0xa8, 0x0c, 0x9e, 0xe0, 0x1b, 0x6d, 0x0c, 0x39,
  1849. 0xb0, 0x1b, 0x5f, 0x5d, 0x74, 0x75, 0xb4, 0x6c, 0xfe, 0x0e, 0xf5, 0x16, 0x5b, 0xf6, 0x84, 0x8e,
  1850. 0xd4, 0x82, 0xdb, 0x78, 0x85, 0x96, 0xa1, 0x00, 0xf6, 0xe2, 0x4b, 0x31, 0x8e, 0xf9, 0x8c, 0xcd,
  1851. 0x57, 0x2b, 0xc8, 0xd5, 0x3e, 0xb9, 0xeb, 0x6a, 0x7d, 0x19, 0xad, 0x16, 0x8c, 0x57, 0x4e, 0xdc,
  1852. 0xc0, 0xc4, 0xb5, 0xa2, 0xae, 0xa3, 0xb1, 0x43, 0x5c, 0x3b, 0xaa, 0xce, 0x4d, 0x39, 0x24, 0xb7,
  1853. 0x42, 0xd3, 0xb1, 0xb0, 0x84, 0x01, 0xe5, 0xbf, 0xa7, 0xa1, 0xb0, 0x3c, 0xfc, 0x50, 0x09, 0x1e,
  1854. 0x60, 0xdb, 0x0e, 0x08, 0x63, 0x6a, 0xb6, 0x46, 0x22, 0x7a, 0x0e, 0xd9, 0x80, 0x4c, 0xc4, 0xbb,
  1855. 0x88, 0x9b, 0xa2, 0x94, 0x92, 0x56, 0x08, 0x55, 0xe2, 0x9a, 0x40, 0x2f, 0xe0, 0x81, 0x8b, 0xb9,
  1856. 0xe9, 0x7a, 0x93, 0x52, 0x5a, 0xf6, 0xc3, 0xc3, 0xe8, 0xf5, 0xc4, 0x85, 0x55, 0x69, 0x61, 0xde,
  1857. 0xf2, 0x26, 0xc6, 0xba, 0x2b, 0x7f, 0xd1, 0x87, 0x20, 0xee, 0x39, 0x8e, 0x45, 0xcb, 0x3b, 0x9e,
  1858. 0x39, 0x75, 0x5c, 0xc9, 0x3b, 0xb4, 0x03, 0xcd, 0xd8, 0x8c, 0x0c, 0x4d, 0xaf, 0x2d, 0xd4, 0xe8,
  1859. 0x02, 0x76, 0x38, 0x71, 0x49, 0xc4, 0x29, 0xfc, 0x80, 0x8c, 0x49, 0x20, 0x9a, 0x5b, 0xf2, 0x8a,
  1860. 0xc2, 0x61, 0xed, 0x1d, 0xc6, 0x7b, 0x65, 0xb0, 0x40, 0xea, 0xcd, 0x81, 0x8c, 0x6d, 0xbe, 0x4a,
  1861. 0x2d, 0xb6, 0xc3, 0x23, 0x13, 0xcc, 0x89, 0x5d, 0x5a, 0x97, 0x97, 0x73, 0x24, 0x96, 0x03, 0xd8,
  1862. 0x5e, 0x89, 0x84, 0xfe, 0x1f, 0xca, 0x03, 0xbd, 0xa5, 0xd7, 0xbb, 0xed, 0xf6, 0x70, 0xa0, 0x9b,
  1863. 0x3d, 0x43, 0x3f, 0xd6, 0x0d, 0xbd, 0x53, 0xd7, 0xcd, 0x61, 0xa7, 0xdf, 0xd3, 0xeb, 0xcd, 0xe3,
  1864. 0xa6, 0xde, 0x28, 0xde, 0x43, 0x25, 0x78, 0x14, 0xf7, 0xd3, 0x7f, 0x55, 0x6f, 0x0d, 0x1b, 0x7a,
  1865. 0xa3, 0xa8, 0xa1, 0x5d, 0x78, 0x18, 0xb7, 0xd4, 0x5a, 0xad, 0xee, 0x6b, 0xbd, 0x51, 0x4c, 0x95,
  1866. 0x7f, 0xbf, 0x06, 0xe8, 0x3a, 0x33, 0x41, 0x1d, 0x58, 0x13, 0x3b, 0x2c, 0x0f, 0xac, 0x70, 0xf8,
  1867. 0xd9, 0x3b, 0x12, 0x9b, 0x4a, 0xf8, 0x23, 0x09, 0x82, 0xc4, 0x41, 0x03, 0xb8, 0x3f, 0xf3, 0x1c,
  1868. 0x1e, 0x5e, 0x9e, 0x85, 0xc3, 0x5f, 0xdc, 0x19, 0xb0, 0xe9, 0x8d, 0xe9, 0x92, 0x62, 0xe8, 0x39,
  1869. 0xdc, 0x08, 0xc1, 0xd0, 0x10, 0xee, 0x87, 0xbc, 0x21, 0x2c, 0x8e, 0x2f, 0xff, 0x7b, 0xd4, 0x90,
  1870. 0x4b, 0x84, 0x68, 0x88, 0xc0, 0xc7, 0x8e, 0x27, 0xb9, 0x82, 0xe4, 0x0f, 0xe6, 0xb9, 0xc3, 0x4f,
  1871. 0xcd, 0x99, 0xc7, 0x7c, 0x62, 0x39, 0x63, 0x87, 0xd8, 0xe6, 0x12, 0x05, 0x0c, 0x33, 0x58, 0x93,
  1872. 0x47, 0xf9, 0x91, 0x8a, 0x13, 0x14, 0xe3, 0xb5, 0xc3, 0x4f, 0x87, 0x8b, 0xa0, 0x6b, 0xab, 0x95,
  1873. 0xff, 0xa0, 0x01, 0x2c, 0x36, 0x0a, 0x3d, 0x81, 0xdd, 0xe3, 0x66, 0x6b, 0xa0, 0x1b, 0xe6, 0xe0,
  1874. 0x4d, 0xef, 0xea, 0xc9, 0xe6, 0x21, 0x33, 0xec, 0x34, 0x07, 0x66, 0xb7, 0xd3, 0x7a, 0x53, 0xd4,
  1875. 0xd0, 0x43, 0xd8, 0x94, 0x62, 0xad, 0xd3, 0x30, 0x6b, 0xed, 0xee, 0xb0, 0x33, 0x28, 0xa6, 0xd0,
  1876. 0x1e, 0xec, 0xd4, 0x3a, 0x9d, 0x61, 0xad, 0xd5, 0xfc, 0x56, 0x6f, 0x98, 0x47, 0xb5, 0xbe, 0x1e,
  1877. 0xd9, 0xd2, 0x02, 0x3c, 0x66, 0x1b, 0x74, 0x07, 0xb5, 0x56, 0x64, 0x5c, 0x2b, 0xff, 0xb0, 0x06,
  1878. 0xf9, 0x25, 0xa6, 0x1c, 0x67, 0xdb, 0x53, 0xc2, 0x4f, 0xa9, 0xad, 0x0a, 0xe1, 0x4e, 0x6c, 0xbb,
  1879. 0x2d, 0x23, 0xe6, 0x6c, 0x3b, 0x14, 0xd1, 0x57, 0xb0, 0xc5, 0x38, 0x0e, 0xb8, 0x69, 0x51, 0x1a,
  1880. 0xd8, 0x8e, 0x87, 0xb9, 0xfc, 0x24, 0xb9, 0xb1, 0xa9, 0x8b, 0xd2, 0xbb, 0xbe, 0x70, 0x46, 0x47,
  1881. 0xb0, 0xc9, 0x03, 0xfc, 0x3d, 0x71, 0xcd, 0xe8, 0xe3, 0x4c, 0x9d, 0xfb, 0xe3, 0x6b, 0x97, 0x64,
  1882. 0x43, 0x39, 0x18, 0x85, 0x30, 0x22, 0x92, 0xd1, 0x67, 0xf0, 0x18, 0xbb, 0x2e, 0x3d, 0x37, 0x9d,
  1883. 0xa9, 0x1f, 0x10, 0xcb, 0x61, 0xc4, 0x54, 0xc3, 0x48, 0x8d, 0x8a, 0x0d, 0x63, 0x57, 0x3a, 0x34,
  1884. 0x23, 0x7b, 0x2d, 0x32, 0xa3, 0x5f, 0x43, 0x2e, 0xa0, 0xd8, 0x36, 0x79, 0x80, 0xc7, 0x63, 0xc7,
  1885. 0x52, 0x83, 0xe2, 0xd3, 0xbb, 0x7f, 0x80, 0x54, 0x0c, 0x8a, 0xed, 0x41, 0x18, 0xfd, 0xea, 0x9e,
  1886. 0x91, 0x0d, 0x16, 0x22, 0xfa, 0x12, 0x0a, 0x36, 0xf1, 0x71, 0xc0, 0x67, 0x01, 0x91, 0x8c, 0x58,
  1887. 0x0e, 0x87, 0xec, 0xe1, 0xce, 0xd2, 0xde, 0x08, 0xfa, 0xd0, 0x1d, 0x37, 0xf0, 0xe5, 0xab, 0x7b,
  1888. 0x46, 0x7e, 0xee, 0x2f, 0xb4, 0xe5, 0x16, 0x64, 0x63, 0xf0, 0xe8, 0x29, 0x94, 0x8c, 0x6e, 0xad,
  1889. 0x61, 0x0e, 0x8c, 0xda, 0xf1, 0x71, 0xb3, 0x7e, 0xa5, 0x9c, 0x8a, 0x90, 0x8b, 0x0c, 0xc7, 0x86,
  1890. 0xae, 0x17, 0x35, 0x51, 0x60, 0x47, 0xc3, 0xfe, 0x1b, 0xf3, 0x55, 0x77, 0x68, 0x14, 0x53, 0x47,
  1891. 0x45, 0x28, 0xa8, 0xd7, 0x34, 0xa9, 0x2f, 0x76, 0xae, 0xfc, 0x4b, 0x28, 0x2c, 0x73, 0x4f, 0xf4,
  1892. 0x04, 0x32, 0x73, 0x0e, 0xab, 0x26, 0xfb, 0x46, 0x44, 0x47, 0xe3, 0x53, 0x2e, 0xb5, 0x3c, 0xe5,
  1893. 0xbe, 0x80, 0x6c, 0x8c, 0xbc, 0x09, 0xde, 0x2d, 0xe9, 0x5b, 0xc4, 0xbb, 0xa5, 0x90, 0x10, 0xfe,
  1894. 0xcf, 0x14, 0x14, 0x96, 0xc9, 0x2a, 0xda, 0x83, 0x8d, 0x88, 0xae, 0x46, 0x79, 0x44, 0x32, 0x32,
  1895. 0x60, 0x6d, 0x1a, 0xdd, 0x2d, 0xb7, 0xcd, 0x9d, 0x65, 0xd8, 0x2b, 0x62, 0x9b, 0xda, 0xc4, 0x90,
  1896. 0x58, 0xf1, 0xe4, 0xd2, 0xcb, 0xc9, 0xfd, 0x55, 0x03, 0x74, 0x3d, 0x0c, 0xbd, 0x0f, 0xfb, 0x7a,
  1897. 0xbb, 0xd7, 0xea, 0xbe, 0xd1, 0x0d, 0x53, 0xf5, 0x78, 0xbb, 0xdb, 0xb8, 0xda, 0xe3, 0xa2, 0x7f,
  1898. 0x5b, 0x2d, 0x33, 0xf4, 0x6c, 0xeb, 0x9d, 0x81, 0x69, 0xe8, 0xf5, 0xae, 0xd1, 0xe8, 0x17, 0x35,
  1899. 0xf4, 0x1e, 0x3c, 0xaf, 0x0f, 0x0d, 0x43, 0x28, 0xaf, 0xdb, 0xc3, 0xa9, 0x90, 0x42, 0xfb, 0xf0,
  1900. 0xb4, 0x57, 0xeb, 0xdf, 0xec, 0x91, 0x2e, 0xff, 0x43, 0x83, 0xcd, 0x2b, 0x84, 0x1c, 0xed, 0xc0,
  1901. 0x3a, 0xb3, 0x4e, 0x29, 0x8d, 0x4e, 0x40, 0x49, 0xe8, 0x7d, 0x28, 0x84, 0x57, 0x3e, 0x1d, 0x9b,
  1902. 0x8c, 0xcf, 0xec, 0x4b, 0x75, 0x3f, 0xe7, 0xa4, 0xb6, 0x3b, 0xee, 0x0b, 0x1d, 0x7a, 0x05, 0x59,
  1903. 0x9b, 0x4c, 0x02, 0x42, 0xe4, 0x27, 0xa4, 0xdc, 0x8f, 0xc2, 0x2d, 0x1c, 0xb8, 0x21, 0xfd, 0xe5,
  1904. 0xe5, 0x00, 0xf6, 0xfc, 0x39, 0xe1, 0x5e, 0xfc, 0xb3, 0x06, 0x8f, 0x56, 0xf1, 0x72, 0xf4, 0x15,
  1905. 0x14, 0xa6, 0x8e, 0x17, 0x63, 0xfa, 0xf2, 0x15, 0x12, 0x07, 0x42, 0x7e, 0xea, 0x78, 0x0b, 0x1c,
  1906. 0x89, 0x80, 0x2f, 0xe2, 0x08, 0xa9, 0xdb, 0x11, 0xf0, 0xc5, 0x02, 0xa1, 0x7c, 0x0e, 0xdb, 0x2b,
  1907. 0x99, 0x33, 0xfa, 0x18, 0x20, 0x1c, 0x78, 0x82, 0x89, 0xab, 0xc4, 0xb6, 0x96, 0xba, 0x59, 0x38,
  1908. 0x1b, 0x19, 0xe9, 0x24, 0x1e, 0xd1, 0x0b, 0xd8, 0x20, 0x9e, 0x1d, 0xfa, 0xa7, 0x6e, 0xf2, 0x7f,
  1909. 0x40, 0x3c, 0x5b, 0x3c, 0x94, 0x31, 0x3c, 0x4b, 0x66, 0xce, 0xe2, 0x53, 0x7c, 0x99, 0x96, 0xab,
  1910. 0x13, 0xce, 0xd3, 0xb8, 0x73, 0x42, 0xaf, 0x0d, 0x61, 0xef, 0x66, 0x5a, 0x8c, 0xfe, 0x0f, 0x60,
  1911. 0xc1, 0xb5, 0x15, 0x74, 0xc6, 0x8d, 0x9c, 0x12, 0x60, 0xff, 0xa4, 0xc1, 0xa3, 0x55, 0xbc, 0x17,
  1912. 0x3d, 0x06, 0x31, 0x40, 0xe4, 0xbf, 0x30, 0x11, 0x55, 0x3c, 0xa3, 0xa3, 0x0e, 0x9e, 0x8a, 0xbd,
  1913. 0x41, 0xc2, 0x14, 0x90, 0xef, 0x66, 0x0e, 0x73, 0xe4, 0xc5, 0xeb, 0xd8, 0xaa, 0x22, 0x8b, 0x67,
  1914. 0x74, 0x64, 0x2c, 0x0c, 0x4d, 0x7b, 0x79, 0x34, 0xa5, 0x6f, 0x1e, 0x4d, 0x6b, 0xcb, 0x89, 0xfd,
  1915. 0x4d, 0x83, 0xdd, 0x1b, 0x28, 0x32, 0x72, 0x01, 0x5d, 0x27, 0xdf, 0xea, 0x5a, 0xfc, 0xe2, 0xb6,
  1916. 0x4f, 0xf6, 0x18, 0xe8, 0x75, 0x0e, 0x6e, 0x6c, 0x5d, 0x63, 0xdf, 0x09, 0x9b, 0xf7, 0x97, 0x14,
  1917. 0xc0, 0xe2, 0x2b, 0x12, 0xfd, 0x3c, 0xaa, 0x32, 0x79, 0x67, 0x68, 0x37, 0x7c, 0x34, 0x2e, 0xfe,
  1918. 0x33, 0x09, 0xcb, 0x4d, 0xc8, 0xe8, 0xa7, 0x61, 0xb9, 0xc9, 0xc0, 0xd4, 0xad, 0x81, 0xa2, 0xee,
  1919. 0x64, 0x58, 0x0f, 0x40, 0x7d, 0xf6, 0x12, 0xd7, 0x56, 0x0d, 0xff, 0xf2, 0x8e, 0x1f, 0xbd, 0xea,
  1920. 0x91, 0xb8, 0xb6, 0x91, 0xe1, 0xd1, 0x63, 0xb9, 0x09, 0x99, 0xb9, 0x5e, 0x4c, 0xc1, 0x41, 0xb3,
  1921. 0xad, 0x9b, 0xc7, 0x4d, 0xbd, 0xd5, 0xb8, 0x32, 0x21, 0x37, 0x21, 0x5b, 0x37, 0xf4, 0xda, 0x40,
  1922. 0x37, 0x85, 0x4b, 0x51, 0x13, 0x8a, 0x61, 0xaf, 0x31, 0x57, 0xa4, 0x8e, 0x7e, 0x0b, 0xcf, 0x2d,
  1923. 0x3a, 0x4d, 0xca, 0xe6, 0x28, 0xa7, 0x3e, 0x6d, 0x7a, 0xe2, 0x1d, 0x7b, 0xda, 0xb7, 0x35, 0xe5,
  1924. 0x3c, 0xa1, 0x2e, 0xf6, 0x26, 0x15, 0x1a, 0x4c, 0xaa, 0x13, 0xe2, 0xc9, 0x1d, 0xa8, 0x86, 0x26,
  1925. 0xec, 0x3b, 0x6c, 0xe5, 0x9f, 0xc8, 0x9f, 0x87, 0xe2, 0x0f, 0xa9, 0x74, 0x7d, 0xd0, 0x1f, 0xad,
  1926. 0xcb, 0x98, 0x9f, 0xfc, 0x27, 0x00, 0x00, 0xff, 0xff, 0xa9, 0xc8, 0xcf, 0x3a, 0x2e, 0x17, 0x00,
  1927. 0x00,
  1928. }